Dragon-Warrior has quit [Quit: ERC (IRC client for Emacs 26.1)]
jibanes has quit [Ping timeout: 246 seconds]
jibanes has joined #picolisp
jibanes has quit [Ping timeout: 250 seconds]
jibanes has joined #picolisp
razzy has quit [Ping timeout: 250 seconds]
_whitelogger has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
razzy has joined #picolisp
orivej has joined #picolisp
alexshendi has joined #picolisp
<razzy>
does picolisp have flip-flop expressions? like nested quote eval functions? (setq i (quote (+ 1 (eval (+ 1 2))))) -> ((+ 1 (eval (+ 1 2)))) i want eval to be evaluated
<Regenaxer>
Hi razzy! I don't understand what you ask
<razzy>
Regenaxer: i want to have (eval something) to be evaluated. in elisp i think it is achieved with `( , , )
<Regenaxer>
` is relevant only during read
<razzy>
there is (defun describe-path (edge) `(there is a ,(caddr edge) going ,(cadr edge) from here.))
<Regenaxer>
What do you really want to do?
freemint3 has joined #picolisp
<Regenaxer>
I mean, you can (eval (caddr I)) or so
<Regenaxer>
but *why*?
mtsd has joined #picolisp
freemint2 has quit [Ping timeout: 250 seconds]
<razzy>
i want to make nested expression that part of is evaluated and part is quoted. i like to think that way. now i am just learning. no practical reason
<Regenaxer>
If you talk about backquote expressions in CL, then the above 'fill' is the equivalent
<Regenaxer>
sic
<Regenaxer>
(doc 'fill)
<razzy>
thx
<Regenaxer>
You can of course always control what you want to be evaluated
freemint has quit [Ping timeout: 250 seconds]
<mtsd>
Good evening
<Regenaxer>
See the ^ marker in 'fill'
<Regenaxer>
hi mtsd!
<mtsd>
Hi Regenaxer!
<Regenaxer>
Kids sleeping I presume ;)
<mtsd>
Hope things are well, with Christmas approaching and all?
<mtsd>
haha, yes, kids sleeping :)
<Regenaxer>
Yeah
<mtsd>
Kids sleeping. Dad picolisping :)
<Regenaxer>
:)
<razzy>
i do not get fill and @
<razzy>
i hoped for more straight foward way. i will meditate on it another day
<Regenaxer>
'fill' is straight. It fills a pattern
<Regenaxer>
Like CL fills a form quoted by `
<Regenaxer>
Not same syntax though
<Regenaxer>
I did not want to waste a meta-character on what is a runtime function
<Regenaxer>
` is much more useful if available for read macros
<razzy>
ok. i would grok (quasi-eval something (quasi-quote something) something)
<Regenaxer>
I pil code is data
<Regenaxer>
'fill' takes an expression as data, and substitutes parts of it
<Regenaxer>
that's all
<Regenaxer>
Again, what do you *want*?
<razzy>
generate symbols and functions in automated way
<Regenaxer>
Then start with 'list' and 'cons' until you understand the mechanics
<Regenaxer>
it is the base of all
<Regenaxer>
'fill' is just 'cons' in a more convenient way
<Regenaxer>
a frontend to 'cons'
<razzy>
i think i get list and cons
<Regenaxer>
good
<Regenaxer>
To "generate symbols" you can use 'pack' and 'intern'
<razzy>
intern is helpfull
<Regenaxer>
T
<Regenaxer>
'fill' is btw the counterpiece of 'match', but unfortunately not symmetrical
<razzy>
so, i do not see how fill is helpfull to my quest
<Regenaxer>
I still do not understand your quest :)
<razzy>
i want to mix quoted and evaluated expressions