orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
casaca has quit [Remote host closed the connection]
casaca has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej_ has quit [Ping timeout: 264 seconds]
_whitelogger has joined #picolisp
<
tankf33der>
btw, pil21 works in range llvm versions 7-10. will try llvm11 soon too.
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
<
tankf33der>
you could update readme, will be questions.
<
Regenaxer>
readme of pil21?
<
tankf33der>
yea, just a sentence.
<
Regenaxer>
It does not exist (?)
<
Regenaxer>
I will have to rewrite most parts of the docs
<
Regenaxer>
First of all ref.html
<
Regenaxer>
ref?.html only where things changed
<
Regenaxer>
README, INSTALL in the end perhaps?
<
tankf33der>
yea, in general no picolisp community so no big problem. i will read them all.
<
tankf33der>
llvm11 will be available as stable update after a month.
<
tankf33der>
ir two
<
tankf33der>
or two
<
Regenaxer>
I'm still stuggling with the 'unify' bug
<
Regenaxer>
tough to debug
<
Regenaxer>
Haha! No! Simple error, wrong global :)
<
Regenaxer>
yes, indeed, that was it
<
Regenaxer>
Released
<
tankf33der>
all passed.
<
tankf33der>
trying port Touretzky exercises on pi21.
<
tankf33der>
ported. all works.
orivej has quit [Ping timeout: 264 seconds]
orivej_ has joined #picolisp
alexshendi has joined #picolisp
<
tankf33der>
ported 4clojure tasks.
<
tankf33der>
question:
<
tankf33der>
if i run bundle manually it passed.
<
tankf33der>
if i run all tasks in pil21-tests it fails.
<
tankf33der>
maybe some bindings or around.
<
Regenaxer>
or debug mode?
<
tankf33der>
how to find why it fails?
<
tankf33der>
find the place where replace Lst -> "Lst"
<
tankf33der>
or something like this.
<
tankf33der>
becuase (pp 'f119) show expected functions.
<
tankf33der>
becuase (pp 'f119) show expected function.
<
Regenaxer>
You know which function?
<
Regenaxer>
then trace all functions in f119 ?
<
tankf33der>
((f119 '((o e e) (o x o) (x x e))))
<
tankf33der>
non-crypto-hashes-OK
<
tankf33der>
net-OK
<
tankf33der>
[hard.l:480] ((2 2) (0 1) (0 2)) -- 'test' failed
<
Regenaxer>
Is the test running with *Dbg on?
<
tankf33der>
but i can run
orivej_ has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
<
tankf33der>
in general function is trivial
<
tankf33der>
(quote
<
tankf33der>
(a1 b1 c1)
<
tankf33der>
maybe i need add simul~ here too ?
<
Regenaxer>
Should give an undefined error if not
<
tankf33der>
just returns NIL
<
Regenaxer>
Better do (symbols '(simul pico))
<
Regenaxer>
'a1' etc
<
Regenaxer>
hmm, no
<
Regenaxer>
the symbols are interened at runtime
<
Regenaxer>
Also, should make not a difference if REPL or script
<
tankf33der>
if i commented frac.l test code, error gone
<
tankf33der>
gorlansky and touretzky uses frac and grid code too, but only 4clojure step in somehow
<
Regenaxer>
no idea
<
Regenaxer>
I would 'trace' and/or 'debug' and see where it differs
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
<
tankf33der>
Regenaxer: found.
<
tankf33der>
if comment (off R) line around XXX code in bottom part fails.
<
tankf33der>
========
<
tankf33der>
created smaller example:
<
tankf33der>
in case 1 value restored
<
tankf33der>
in case 2 value modified.
<
tankf33der>
in both pil21 and pil64.
<
tankf33der>
issue closed i think.
<
Regenaxer>
yeah, (use (R .) .. (accu ' R
<
Regenaxer>
So the value in R gets extended
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
<
tankf33der>
this behaviour lintAll will find, right?
orivej has quit [Ping timeout: 240 seconds]
<
beneroth>
(use (R . )) is one of the few ways to produce an immediate segfault, afaik
<
beneroth>
Reader really doesn't like cons pair without any cdr
<
tankf33der>
but (R .) is circle list
<
beneroth>
one space difference
<
beneroth>
ur right
<
beneroth>
of course :)
<
Regenaxer>
Hi beneroth :)
<
Regenaxer>
yeah, runtime assumes the user won't use circular explicit code
<
beneroth>
what a strange thing, a runtime trusting the user, and vic versa ;-)
<
tankf33der>
all years adventofcode works in pil21 except complex nontrivial coroutines code.
<
beneroth>
tankf33der, nice :)
<
Regenaxer>
ah, yes, coroutines not complete yet
<
tankf33der>
advent code base is last thing i will add to pil21-test repo.
<
tankf33der>
Regenaxer: found this
<
Regenaxer>
Oh, I see! This is also an effect of the non-existant environment offset
<
Regenaxer>
Pat and Prg are in the env now
<
Regenaxer>
So it is not really wrong
<
Regenaxer>
We could change (match "Pat" (run "Prg")) to (match "Pat" (run "Prg" 1))
<
Regenaxer>
then '@' is
*not* in the env
<
Regenaxer>
but "Pat" and "Prg" remain
<
tankf33der>
its ok. np.
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
<
Regenaxer>
With 'opt', misc/bigtest is almost as fast as pil64
<
Regenaxer>
I think for large functions, llvm code can be well optimized
<
Regenaxer>
Bignums are mostly large functions
<
Regenaxer>
But typical interpreter stuff, function call overhead is critical
orivej_ has quit [Ping timeout: 240 seconds]
<
Regenaxer>
That's why I think misc/bench.l and misc/bench2.l is more typical for PicoLisp code
orivej has joined #picolisp
<
Regenaxer>
EXPRR and SUBR function calls, stack handling, map functions and consing / garbage collection
<
Regenaxer>
So I'm afraid pil21 will always be a little slower
<
tankf33der>
i belive this is not issue.
<
tankf33der>
clang-llvm always slower than gcc.
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #picolisp
<
Regenaxer>
ok, but gcc is not used for pil64
<
Regenaxer>
(only the linker)
orivej_ has quit [Ping timeout: 264 seconds]
orivej has joined #picolisp
<
tankf33der>
lets wait for llvm11
orivej has quit [Ping timeout: 264 seconds]
orivej_ has joined #picolisp
orivej_ has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #picolisp
<
Regenaxer>
I think it will not change much. We don't use the llvm generation of the C compiler, as pil generates its own
<
Regenaxer>
only some better optimization of the final step, and there is not much room to optimize I think
<
tankf33der>
amazing i found in my repo all pilog code from all rosettacode tasks combined in one file.
<
tankf33der>
passed in pil21.
<
Regenaxer>
Very good news!
<
tankf33der>
^^^ crypto finished!
<
tankf33der>
whirlpool-OK
<
tankf33der>
twofish-OK
<
tankf33der>
[1-atom-atom.l:670] !? (cdr Lst)
<
tankf33der>
make:
*** [Makefile:2: all] Segmentation fault (core dumped)
<
tankf33der>
and after added to bundle it crashed.
<
tankf33der>
if disable pilog call all passed.
<
tankf33der>
i will debug next week.
<
Regenaxer>
ok, great
<
Regenaxer>
Perhaps another pilog bug
<
tankf33der>
pil21 crash far away from call pilog code.
<
tankf33der>
zip of pil21-tests code is 4.4MB now.
<
tankf33der>
zip of pil21-tests repo files is 4.4MB now.
orivej_ has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #picolisp
orivej_ has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
viaken has quit [Quit: reboot]
viaken has joined #picolisp