freenode/#lisp - IRC Chatlog
Search
18:59:49
pjb
koenig: there are several IRC bots written in CL around. For example botihn. Ask it in #hn
19:02:11
pjb
koenig: another, more sophisticated example would be botil https://gitlab.com/com-informatimago/com-informatimago/tree/master/small-cl-pgms/botil (with several threads).
19:02:27
pjb
koenig: https://gitlab.com/com-informatimago/com-informatimago/blob/master/small-cl-pgms/botil/design/f-botil.png
19:03:31
koenig
Excellent. Thanks! I find when learning something (e.g., CL) it's best to have a high-interest project to work on to focus one's attention.
19:05:40
phoe
Funny, this is the documentation page that is linked from the github repo that this page links to.
19:06:34
shrdlu68
Heh, like the english dictionary defines "entity" using "thing" and then define "thing" using "entity".
19:10:02
shrdlu68
Just realized that is it didn't have some cicular definitions it would be infinite.
19:28:14
phoe
I have a list that always follows the form (FOO BAR BAZ QUUX), basically a list of four values. Can I somehow use this knowledge to shorten the writing of (destructuring-bind (foo bar baz quux) list (make-instance 'fred :foo foo :bar bar :baz baz :quux quux))?
19:34:09
Bike
i'd just write (defun make-fred-from-list (list) (destructuring-bind ...)) and inline it.
19:39:01
tfb
phoe: I think the Real Programmer's approach would be (apply #'make-instance 'fred (mapcan #'list kw-list val-list))
20:18:20
whoman
wow - https://matthias.benkard.de/objective-cl/ - anyone know where i can find this?
20:23:18
pjb
phoe: (defstruct (may (:type list)) foo bar baz quux) (make-instance 'fred :foo (may-foo m) :bar (may-bar m) …)
20:28:45
pjb
whoman: try: ftp://ftp.informatimago.com/users/pjb/clipboard/benkard-de--objective-cl.tar.bz2
20:31:05
pjb
whoman: but it has bitrotten a little. Nowadays we have Objective-C version 2.0 runtimes…
20:34:05
Younder
this one: ftp://ftp.informatimago.com/users/pjb/clipboard/benkard-de--objective-cl.tar.bz2
20:35:31
pjb
com.informatimago.objcl "Objective-CL" is a layer above the Clozure CL Objective-C bridge providing an "Objective-CL" syntax (similar to Objective-C, using brackets and @ and smalltalk-like syntax).
20:35:56
Younder
Just had all kid of hel with a gcc-70 which i wanted for open acc. Should have chrooted it
20:36:11
pjb
Eventually, the Objective-CL syntax should be able to work above the Objective-CL bridge as well as above the Clozure CL Objective-C bridge.
20:53:40
nyef
Shinmera: "Maiden" and "Deeds"? Would I be doing you an unkindness if I suspected a St. Trinians reference here?
21:09:37
osune
I have a question regarding the package internal symbols context and macros: this is in the context of StumpWM. StumpWm exports a macro called add-hook, which adds a hook function to a list. These function are called in the context of which package, if I use add-hook from with in my own package?
21:11:25
osune
Bike: no it does not it uses only external symbols; so no using directive in my package
21:12:10
jasom
osune: for example: (in-package foo) (defmacro macro1 (x) `(a ,x)) (in-package bar) (macroexpand '(foo:macro1 a)) => (foo::a bar::a)
21:13:35
jasom
osune: as soon as a symbol is read, it is interned into the current package. The first "A" was read when macro1's definition was read, the second "A" was read when reading the macroexpand form.
21:14:19
osune
jasom: that clears it up for me. the situation with foo:: was clear to me, but the situation for bar:: not so much. thanks!
21:16:31
osune
so that means I don't have to make my-hook-functions external nor do I have to write my-module::my-hook-function.
21:18:38
jasom
osune: correct. Also note that macros which use only internal symbols and symbols from the CL package are hygienic when used in other packages.
21:20:45
jasom
oh the "used" was "invoked" the "use" was rather loose to mean generate symbols in the expansion
21:21:56
jasom
If it were permitted to flet cl:list, then this following (stupid) macro would be unhygienic: (defmacro listm (&rest args) `(cl:list ,@args))
21:23:16
mfiano
Why does `(loop :for x :in "hello" :collect x)` properly error, but `(loop :for x :on "hello" :collect x)` not? I thought that `ON` requires a cons?
21:24:22
specbot
The for-as-on-list subclause: http://www.lispworks.com/reference/HyperSpec/Body/06_abac.htm