<beneroth>
in any case you can just leave the repl using Ctrl + D or entering (bye)
<stack1>
Thank you. One more: are transient symbols interned?
<stack1>
Never mind, I found the answer. THanks again
<beneroth>
:-)
<beneroth>
they are interned, but in a transient scope. per file respectively per (load).
<beneroth>
when speaking of "interned symbols" in picolisp usually the non-transient symbols are meant.
<beneroth>
but yeah, when you use the same string twice within the same transient scope it is the same symbol and only stored once in memory
<stack1>
I've been trying to store values in transient symbols and running into all kinds of issues... Like setq fails while set works.
<stack1>
I have transients in a list; (setq (car *list) 10) fails to set value; (set (car *list) 10) works; (val (car *list)) gets it.
pablo_escoberg has joined #picolisp
<pablo_escoberg>
stack1: setq does not evaluate it's first argument, set does. So using setq you are literally trying to assign to (car *list) rather than that which (car *list) evaluates to, wich is what `set` does.
<pablo_escoberg>
Please lmk if still unclear; I struggled with this kind of thing for some time (and drove these guys nuts int the process ;D)
<stack1>
Perfectly clear!
<pablo_escoberg>
great!
<stack1>
Thank you
pablo_escoberg has quit [Ping timeout: 245 seconds]
<beneroth>
well explained pablo :)
<beneroth>
setq stands for set-quoted kinda, so it's like set but it handles the first argument as if it would be quoted, meaning it doesn't evaluate it
<beneroth>
usually setq is used much more often than set
<aw->
beneroth: +1
<beneroth>
hey aw- :)
<aw->
hi
<aw->
up late beneroth?
<beneroth>
yeah, but not much longer
<aw->
haha ok, get some rest, see you!
<beneroth>
yes :) have a good day!
pablo_escoberg has joined #picolisp
pablo_escoberg has quit [Ping timeout: 245 seconds]