freenode/lisp - IRC Chatlog
Search
7:59:26
beach
Hmm, what if the list contains (say) symbols? Wouldn't the GC have to modify the list of those symbols move?
8:51:09
Posterdati
Please is there any sufficient "well done" documentation for cl prometheus??? Thanks!
9:13:14
pjb
beach: functions that are called in the same compilation-unit and that are not declared not-inline don't have to go thru indirections.
9:14:05
White_Flame
hence why it tends to be much safer to have SLIME recompile an entire buffer than doing piecemeal evaluations
9:15:10
pjb
Well, I would like the implementation to optimize only with some optimization level (like speed>1 and debug=0).
9:15:44
pjb
Also, compilation-units may encompass multiple files (but I don't think ASDF let you specify that).
14:45:26
Xach_
rk[ghost]: there is no coercion. parse-integer returns an integer given a proper string.
14:51:52
rk[ghost]
Xach_: aye, the friction comes from how bash does stuff and how lisp wants to do stuff
15:04:19
_death
no need to be hung up on terms like "DSL", which tend to be used by nonlispers anyway, as lispers take it for granted and in a much more pervasive way
15:09:38
White_Flame
DSLs are never general purpose (that would violate the D-S part), so Lisp itself isn't a DSL
15:27:32
krwq
has anyone tried runnin any lisp on raspberry pi or arduino? does it make sense or is it better to go with C?
15:30:34
beach
What are the characteristics of one of those things? Like size of memory, word size, etc.
15:34:06
krwq
arduino seems to be running on ATMega328 and for some reason somone has chosen 16MHz quartz; for memory we are talking kilobytes unless you add some external memory, word size - need to check the spec, likely 16 or 8bit
15:41:19
_death
there are several models.. for example arduino yún has an additional 32-bit processor and 64M ram, running linux
15:52:48
krwq
_death: thanks, looking at this, so far it looks like it is being interpreted so that might be too slow
16:05:44
rumbler31
I think I've forgotten this several times. and I keep missing the relevant part in the hyperspec
16:06:16
rumbler31
if I have a loop form, do the termination test cases happen before or after variable initialization clauses
16:11:43
beach
... so for instance, you can say (loop for x in '((a) (b) c) while (consp x) while (symbolp (car x)) do ...)
16:12:06
beach
but (loop for x in '((a) (b) c) while (symbolp (car x)) while (consp x) do ...) will signal an error.
16:25:33
rumbler31
I was looping through a list by threes, and had a do set up to set the list to the cdddr of the list, then do an until null check, which seemed to end loop iteration before the collect clause
16:26:34
rumbler31
so (loop for a = (first list)... do (setf list (cdddr list)) ... until (null list) collect ((myfunc a b c) a b c)
16:28:01
beach
That seems consistent with the clause order, no? The termination test happens before the COLLECT.
16:31:36
rumbler31
yes: the behavior is explained by the order but I'd been under the impression that order of clauses didn't (out of pure ignorance)
16:32:17
rumbler31
i forgot to add the termination check until later and just put it somewhere in the loop
16:33:28
rumbler31
Its odd to say that I was in a hurry writing proof of concept code, but scotch didn't help lol
16:33:51
krwq
i used to overengineer with loop a lot but this is super powerful thing and covers most of the cases you can ever think of
18:29:57
rmrenner
I just hit another snag with parenscript. The docs say that random is a reserved word and shouldn't be used to name things. Fine, except it turns out that p5.js defines a function called "random" with different semantics than the one provided by parenscript
18:33:11
rmrenner
Is there a way to get parenscript to treat (random 1 2) as just another function? As-is, it throws a fit because the version it defines only takes one argument
18:42:05
vtomole
How does asdf load files? I'm calling a function that is defined in a different file and lisp is not able to find it even though i used a "depends-on" tag.
18:44:21
rmrenner
parenscript's default behavior is that (random) => "Math.random();" and (random 6) => "Math.floor(6 * Math.random());"
18:44:55
White_Flame
:serial t is IMO the simplest way to list your files, instead of individual dependencies
18:45:46
rmrenner
So I'd like to be able to type (random 1 2) and get "random(1 2);" --the "random" defined by p5.js behaves differently
18:47:21
White_Flame
can you make a little stump function in js, var p5random = (x,y) => random(x,y); ?
18:49:16
sausages
in SBCL, if a foreign function causes an exception, what are my options in finding out the actual name of that problem function and the .dll it came from? SBCL's debugger just prints them as nebulous hexadecimal pointers in the backtrace
18:50:03
vtomole
White_Flame: The function that is called in braiding.lisp is defined in qgame.lisp: http://paste.lisp.org/display/349435
18:50:53
rmrenner
Nice, ((@ document random) 1 2) seems to work. And the way it was phrased made me realize that (ps (funcall random 1 2)) => "random(1, 2)"
18:51:10
White_Flame
other than that, did you forget an in-package on top of your files or something?
19:01:08
White_Flame
and then you ask questions about those tools, which distract from your actual problem
19:05:19
rmrenner
woo ok so now I have a nice solution to calling p5.js's version of random: (defmacro rnd (&rest args) `(funcall random ,@args))
19:06:18
_death
but I believe the converse is true, you can have multiple initargs for a single slot..
19:07:36
aeth
drmeister: The implementation of quaternions varies greatly, though. e.g. I use multiple return values most of the time.
19:09:34
specbot
Rules for Initialization Arguments: http://www.lispworks.com/reference/HyperSpec/Body/07_ad.htm
19:12:12
vtomole
drmeister: You've done some work on Jupyter notebook. Have you ever run into a situation where you needed to call python from lisp? A python cffi of some sort?