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
aw- has joined #picolisp
brandelune has joined #picolisp
brandelune has quit [Quit: This computer has gone to sleep]
razzy has quit [Ping timeout: 258 seconds]
peterhil has quit [Ping timeout: 252 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 258 seconds]
razzy has joined #picolisp
<tankf33der> razzy: llvm-ir is well optimized by a special tool called 'opt' with argument '-O3'
<tankf33der> check src/Makefile
peterhil has joined #picolisp
razzy has quit [Ping timeout: 265 seconds]
razzy has joined #picolisp
peterhil has quit [Ping timeout: 252 seconds]
razzy has quit [Ping timeout: 258 seconds]
razzy has joined #picolisp
<razzy> tankf33der: as i read, llvm has many libraries and infinite possibilities for optimization. my question is, if it is good as it is. i understand, that perfect optimization depends on code you run in ipl
<razzy> *pil
<razzy> good morning to all ;], btw.
brandelune has joined #picolisp
<tankf33der> razzy: i belive you will not find any *working* and active develope optimizers.
<tankf33der> opt -O3 is enough.
<Regenaxer> Hi razzy, tankf33der!
<Regenaxer> There are two places to optimize: PilSrc -> LLVM-IR and LLVM-IR -> machine assembly
<Regenaxer> For PilSrc -> LLVM-IR I tried my best
<Regenaxer> and for backend llvm opt should be the best we can do
<razzy> thank you for answers Regenaxer tankf33der
<Regenaxer> And for optimizing Lisp level code, a simple rule is to choose the smallest version. Use 'size" to measure it.
<Regenaxer> And then of course measure with 'bench' overall speed
brandelune has quit [Quit: This computer has gone to sleep]
razzy has quit [Ping timeout: 244 seconds]
brandelune has joined #picolisp
razzy has joined #picolisp
razzy has quit [Quit: leaving]
razzy has joined #picolisp
<razzy> I propably asked it before. only way to store graph is in pil database yes? for example AST(abstract syntax tree)
<Regenaxer> Why only in DB? The natural Lisp way is in s-expressions
<Regenaxer> DB is just for persistence
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 258 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 265 seconds]
razzy has joined #picolisp
peterhil has joined #picolisp
razzy has quit [Ping timeout: 265 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
<razzy> Regenaxer: I think s-expression naturally express kind of one way tree like AST. if i have general graph, i am not sure if it works.
<Regenaxer> You can build any structure
<Regenaxer> see e.g. doubly linked lists in rosettacode
<Regenaxer> Or you make objects with properties
<razzy> i know, but searching in big data can be trouble
<Regenaxer> the DB is also *only* objects with properties
<razzy> doubly linked list seem broken last time
<Regenaxer> just made persistent
<razzy> ok, worst case, i build something. thank you :]
aw- has quit [Ping timeout: 264 seconds]
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
razzy has quit [Quit: leaving]
brandelune has quit [Quit: This computer has gone to sleep]
seteeri has joined #picolisp
<seteeri> hello
<Regenaxer> Cheers seteeri!
<seteeri> it has been a while. hopefully all is well!
<Regenaxer> yes :)
<seteeri> finally moved back to the US so I can get back into programming again
<seteeri> so I encountered a stack overflow with the code from here: https://rosettacode.org/wiki/Doubly-linked_list/Definition#PicoLisp
<Regenaxer> Where have you been?
<seteeri> I was in the UK
<Regenaxer> ok
peterhil has quit [Ping timeout: 244 seconds]
<beneroth> cheers seteeri
peterhil has joined #picolisp
<seteeri> hello beneroth!
aw- has joined #picolisp
brandelune has joined #picolisp
brandelune has quit [Client Quit]