beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
seninha has joined #picolisp
alexshe62 has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
chexum_ has joined #picolisp
chexum has quit [Ping timeout: 246 seconds]
seninha has quit [Remote host closed the connection]
pablo_escoberg has joined #picolisp
<pablo_escoberg> Before I go on a wild goose chase:  Is it possible to nest `make` processes?  IOW, is it possible to `make` a list inside another list being `made`?
<aw-> pablo_escoberg: yes it is but it's not necessary
<aw-> you can use (link) inside the list
<pablo_escoberg> aw-well, I have while loops outer and inner, so I can just `(make (link (link ....) )) ??
<pablo_escoberg> sorry, ignore the `
<aw-> : (make (link 1 2 3 ) (link 4 5 6) (link (list 7 8 9)))
<aw-> -> (1 2 3 4 5 6 (7 8 9))
<pablo_escoberg> aha!  OK, TY.
<aw-> sorry i wrote (link) i meant (list)
<pablo_escoberg> gotcha.  thanks again.
<aw-> anyways, you know what i mean ;)
<aw-> you can use (make) again though
<aw-> like this perhaps:
<aw-> (make (link 1 2 3 ) (link 4 5 6) (link (make (link 7 8 9) (link 10 11 12))) (link 13 14 15))
<aw-> but it's probably **very** inefficient
<pablo_escoberg> Well, I'll avoid it then :).  `list` works as stated and I assume it's a great deal more efficient.
<aw-> probably, abu[7] can confirm when he wakes up :)
<abu[7]> Good morni
<abu[7]> ng aw-, pablo_escoberg
<abu[7]> Yes, correct I think
<abu[7]> Of course you can nest 'make' to any depth
<abu[7]> also across nested function calls
<abu[7]> (make (link ...) (link ... (make ...) ...) ...)
<abu[7]> It is very efficient, because 'make' keeps pointers to the first and last cells, so appending in front (yoke) and at the end (link, chain) is very fast independent of the list length
<aw-> abu[7]: hi, still efficient even with nesting?
<abu[7]> Yes, no difference
<abu[7]> Each (make ...) call creates its own stack frame
<abu[7]> this works also across coroutine calls
<abu[7]> i.e. each coroutine may be working on its own 'make' in parallel
<abu[7]> Efficiency is not an issue here. 'link' is basically just a 'cons' concatenated to the end-of-list-pointer
<abu[7]> : (vi 'link)
<abu[7]> (set $Make (ofs (set (val $Make) (cons Y $Nil)) 1))
<abu[7]> To the original question of pablo_escoberg: (make (link (link ..))) might be useful to link an item *twice*
<abu[7]> : (make (link (link 7)))
<abu[7]> -> (7 7)
<abu[7]> Same as (make (link 7 7))
<abu[7]> but useful if not a constant value
<abu[7]> (make (link (link (foo))))
<abu[7]> So the result of (foo) is linked twice, avoids the need to keep the result in a variable
<abu[7]> (link (link )) works because the return value of 'link' is the last linked value
alexshendi has joined #picolisp
alexshe62 has quit [Read error: Connection reset by peer]
alexshendi has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
<pablo_escoberg> thanks for the clarification.
alexshe47 has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
pablo_escoberg has quit [Quit: Client closed]
alexshe47 is now known as alexshendi
alexshendi has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
razzy has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
<razzy> abu[7]: I am able to run simpler examples of pil http on remote server. I am unable to run both ERP examples (yours and Mias) on the same machine on two different pil versions. I am getting first page and than waiting for programmer input in console. I will walk my way through easier examples now. I will get back to ERP-example around tuesday :)
alexshendi has joined #picolisp
<abu[7]> razzy: What exactly goes wrong?
<abu[7]> "waiting for programmer input in console" loouns like the startup is wrong (does not depend on pil version)
<abu[7]> The REPL waits for input if started with -go +
<abu[7]> So perhaps you connect to the same process twice?
<razzy> abu[7]: I started with -'go 4040' whatever that means. port 8080. as recommended
<abu[7]> ok
<razzy> abu[7]: weird thing is, it is saying I am already login as admin
<abu[7]> you start both versions at the same time?
<razzy> abu no
<abu[7]> The current demoApp with current pil21 should work
<abu[7]> $ ./pil app/main.l -ap~main -go +
<abu[7]> or
<abu[7]> $ ./pil app/main.l -ap~main -go -wait
<abu[7]> (The second gives no REPL)
<razzy> abu[7]: is it working in your setting?
<abu[7]> yes
<razzy> I will reinstall than :] abu[7] btw, when bug, console saying: 14432 = 57655 25483529120409143~
<abu[7]> This is correct. Logging.
alexshe24 has joined #picolisp
Guest12 has joined #picolisp
alexshendi has quit [Ping timeout: 248 seconds]
Guest12 has quit [Client Quit]
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
seninha has joined #picolisp
alexshe24 has quit [Ping timeout: 245 seconds]
seninha has quit [Remote host closed the connection]
seninha has joined #picolisp
razzy has quit [Quit: leaving]
seninha has quit [Quit: Leaving]
pablo_escoberg has joined #picolisp
<pablo_escoberg> Different topic:  Is it possible to access a symbol's properties without get/put?  I tried `car` but that gives me the value (this surprised me).  I also tried something that left me with another question:  (cdr 'a) gives an error, but (cdr (quote a)) gives NIL.  I thought the two were equivalent.
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
seninha has joined #picolisp
pablo_escoberg has quit [Quit: Client closed]
aw- has quit [Quit: Leaving.]
aw- has joined #picolisp