freenode/lisp - IRC Chatlog
Search
11:21:50
pjb
scopes, closures, multi-line anonymous functions, reader macros, compiler macros, a lot of things.
11:22:34
goats_gallore
would macropy not cover your macro category there https://github.com/lihaoyi/macropy
11:24:03
pjb
There's no read-time in python. You cannot do something like (defparameter *foo* '( #.(+ 1 2) 3)) *foo* #| --> (3 3) |#
11:56:37
zigpaw
global interpreter lock is I think one very serious python limitation also; it is not only about language features I think.
12:01:51
random-nick
yeah, python will never overcome CL because it has tons of unfixable design mistakes
14:17:32
dim
it's funny you mention python2/3, that thing drove me to using Common Lisp and rewriting pgloader, back then a Python 2 software, into CL
15:58:06
_spm
Hi all. Trying to clear up a little fuzzy thinking on my part. I'm trying to store an accessor in a variable so I can later call it, but I'm not sure exactly how to pull this off. Trying to (setf (funcall my-accessor obj) val) gives me "(setf funcall) is undefined". I'm sure there is a way to do this, and am hoping someone can straighten me out.
15:59:53
dim
/Users/dim/dev/yesql/src//tools/bin/sqli book.md build/book.md -- sigreturn returned ; that's still the CCL bugs in OSX Mojave :/
16:07:33
_spm
I tried to get cute and store some comparators and accessors in variable to prevent duplicating code, but the result is pretty messy from a readability standpoint.
16:28:47
dim
uiop from asdf made it easy for this little tool of mine to work with SBCL too, so at least I'm not stucked
17:13:54
jcowan
Where in the CLHS is described the meanings of +, ++, +++, *, **, etc.? I need to cite them.
18:25:44
emaczen
jcowan: If you use emacs, it is pretty nice to install the info pages for GCL (which is just the same as the hypersepc AFAIK) then you can C-s and C-r through the documentation
18:34:31
jcowan
I don't use emacs (I am an `ex` troglodyte, not to be confused with an ex-troglodyte), but I can use the stand-alone info client, more or less.
18:35:11
pjb
_spm: congratulation: you've discovered that accessors are not first class objects in CL. readers and writers are; they are functions. Accessors are informal pairs of functions. not lisp object.
19:08:29
beach
another-user: Imagine that you are the supplier of a library for manipulating geometric figures. You supply the root class geometric-figure and perhaps a few special cases like circle and square.
19:08:53
beach
another-user: There are four operations possible, rotate, scale, move, and bounding-rectangle.
19:09:27
beach
Your clients supply more specific classes like polygon, ellipse, etc. And they write methods on the generic functions representing the operations.
19:10:12
beach
another-user: In version 2, you want to take advantage of the fact that the bounding-rectangle operations is WAY more often used than the others.
19:11:28
beach
another-user: You also add a Boolean slots bounding-rectangle-valid-p, initially set to nil.
19:11:57
beach
another-user: You write :AFTER methods on rotate, scale, move that set the Boolean slot to nil.
19:12:54
beach
another-user: You add an :AROUND method, also with the root class as a specializer. It checks the Boolean slot, and if it is TRUE, it returns the cached value.
19:13:35
beach
If it is NIL, you invoke (CALL-NEXT-METHOD) to compute the bounding rectangle, you store the result and set the Boolean slot to TRUE.
19:14:12
beach
another-user: You can't do that without auxiliary methods unless you also change the interface.
19:15:08
beach
another-user: I am usually not here after 19:00 UTC+1, so I am off to spend time with my (admittedly small) family.
19:51:39
another-user
beach: thank you for great and detailed explanation, it's really nice example!
20:15:21
ecraven
are there typos in the hyperspec? http://clhs.lisp.se/Body/f_getf.htm#getf has ".. or modify of any part, car or cdr ..", which I think contains one too many "of" (.. or modify any part ..)
22:49:42
edgar-rft
All typos in a "standard" doument become the new standard. You're not allowed to use Common Lisp without these typos.
23:07:17
aeth
Common Lisp is dynamically typoed so the standard document doesn't have typos, but objects in the standard document have typos.
23:18:40
no-defun-allowed
compare this to the dependent typos of MLs, where functions can take any typo and produce appropriate typoed results