freenode/#lisp - IRC Chatlog
Search
0:17:34
Kundry_Wag
no-defun-allowed: Lazy evaluation is not equal to normal-order evaluation. See https://sookocheff.com/post/fp/evaluating-lambda-expressions/
0:44:16
krwq
is it possible to define macroexpansion-time dynamic bindings? i.e. https://pastebin.com/0zzG03XD so that (foo) won't do anything but (with-test (foo)) will print "test"
0:46:38
Bike
krwq: no. what you can do is expand to a symbol macrolet, and then in FOO macroexpand it.
0:47:39
Bike
i.e., with-test = `(symbol-macrolet ((secret '((format t "test~%")))) ,@body), (defmacro foo (&environment env) `(progn ,@(macroexpand-1 'secret env)))
0:48:41
Bike
or more directly, (defmacro with-test (&body body) `(macrolet ((foo () (format t "test~%"))) ,@body))
0:51:59
krwq
Bike: and to achieve "by default print nothing" presumably I should just use DEFINE-SYMBOL-MACRO with same symbol which expands to nothing?
1:00:35
Bike
&environment for anything but macroexpansion is pretty undefined. you can also sort of use it to differentiate compilation environments but that's rarely a thing
1:04:40
krwq
ahh, I missed at first that macrolet is defined after expansion - pretty cool way to achieve this Bike
1:16:39
minion
The URL https://gitlab.common-lisp.net/users/sign_in?secret=97efae33 will be valid until 01:30 UTC.
1:19:16
minion
There are multiple help modules. Try ``/msg minion help kind'', where kind is one of: "lookups", "helping others", "adding terms", "aliasing terms", "forgetting", "memos", "avoiding memos", "nicknames", "goodies", "eliza", "advice", "apropos", "acronyms".
1:20:13
jgodbout
Suppose to be an editor for the boston-lisp project, but having a hard time linking an account...
1:21:28
jgodbout
Trying to login through the Github option says account is blocked, while trying to use the google option says email already in use...
2:23:34
seok
When I use (yason:encode x) it just prints the JSON to standard-output but passes lisp object (hash, arrays) to the function without conversion