freenode/#lisp - IRC Chatlog
Search
17:59:24
scottj
My bad, it was loaded, I was looking for a package like xlib/composite since the gl extension has xlib/gl but composite's in the xlib package itself.
18:39:29
puchacz
can I do the same for output? for example, when I evaluate (log 7), I get 1.9459101F0
18:40:16
puchacz
I know I can evaluate (log 7.0) to get double float, but I would like to get it from integer as well
18:41:28
Bike
and in CL all irrational mathematical functions are defined to return either rationals or single floats if given rationals
18:42:46
puchacz
I guess I need to make sure I don't use integers or rationals as inputs because I want double floats on output of all mathematical functions
18:44:11
jackdaniel
if you ensure that all inputs are double floats declaring them so may boost your performance
18:52:41
puchacz
I am writing a single argument function for that so it is easily composable in mapcar and the likes
19:02:22
jackdaniel
don't forget to make it a method, so others may specilize to do the right thing™
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