freenode/#lisp - IRC Chatlog
Search
19:38:56
minion
The URL https://gitlab.common-lisp.net/users/sign_in?secret=b90223d1 will be valid until 19:45 UTC.
20:25:13
MrMc
edgar-rft:I have created a library binding for the bladeRF SDR and would like to demodulate FM signals
20:46:10
Kundry_Wag
Hi. Is there any lisp (or known programming language from other family) that uses normal-order evaluation? Just curious.
20:46:48
edgar-rft
MrMc: Real-time DSP is done rather seldom in Common Lisp. Soundcard audio output is manageable, but do you want the demodulation in Common Lisp or can you use the DSP hardware on the bladeRF fo that?
20:52:33
edgar-rft
Kundry_Wag: with Common Lisp macros you can implement any evaluation model you want.
20:54:59
Kundry_Wag
edgar-rft: Yeah, sure. I was just wondering if normal-order by default would be so impractical (mainly because of evaluation side effects more than once) that it's not present in any mainstream programming language
22:57:00
no-defun-allowed
then lazy racket might be less of a headache and also still off-topic but less so by an arbitrary measure
23:10:47
LdBeth
Which proper strict analysis (i.e. converting as much as possible to applicative order) the performance can be quite impressive
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