xkapastel has joined #picolisp
orivej has joined #picolisp
andyjpb has quit [Ping timeout: 252 seconds]
_whitelogger has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
xkapastel has joined #picolisp
sarna has left #picolisp [#picolisp]
orivej has quit [Ping timeout: 240 seconds]
mtsd has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
<
tankf33der>
sweet pil21 progress:
<
Regenaxer>
Yes, and now also (in ...) and (load ...) work
<
Regenaxer>
Will release later today
<
Regenaxer>
also bin/picolisp file.l works, but still some glitches
mtsd has quit [Ping timeout: 276 seconds]
<
tankf33der>
i must somehow follow glob.l file and add tests for function(s)
<
tankf33der>
i want my own test suite.
<
Regenaxer>
Good, but too early
<
Regenaxer>
It is not only the existence of a functio in glob.l
<
Regenaxer>
but also that most functions are only partially implemented
<
tankf33der>
yea, let it be roadmap.
<
Regenaxer>
The biggest obstacle is that most infrastructure is missing: Error handler, signals, garbage collection, bignums, catch/throw
<
tankf33der>
surprised
xkapastel has joined #picolisp
<
Regenaxer>
Released
<
Regenaxer>
: (load "file.l") or $ bin/picolisp file.l
<
tankf33der>
orgasm.
<
tankf33der>
congratulations.
orivej has joined #picolisp
<
Regenaxer>
aw-: pil2*
<
Regenaxer>
'in' and 'load' work since today :)
<
Regenaxer>
'load' not completely yet
<
Regenaxer>
Oh, you have not seen yet?
<
Regenaxer>
Discussions here since about 2 months
<
Regenaxer>
Next pil
<
Regenaxer>
pil for the 21th century, or release 2021, whatever comes first ;)
<
aw->
no i didn't see
<
Regenaxer>
I will announce in the mailing list early next year
<
Regenaxer>
No hurry
<
aw->
something about llvm?
<
Regenaxer>
aw-, right
<
tankf33der>
hourly fetch.
<
Regenaxer>
The reason for a rewrite is only portability
<
aw->
you're rewriting PicoLisp?
<
Regenaxer>
Trigger was RISC-V (which you alse favor)
<
aw->
yes I remember discussing risc-v with you a while back
<
Regenaxer>
Yes, yet another time
<
Regenaxer>
and I thought porting pil64 to RISC-V
<
Regenaxer>
but RISC-V has no condition flags
<
Regenaxer>
so it is meaningles
<
Regenaxer>
and all this hassle with MacOS and iOS
<
aw->
is this new pil going to be 100% backward compatible?
<
Regenaxer>
So a fresh start might be goid
<
aw->
or will some things break?
<
Regenaxer>
Some very few things break
<
Regenaxer>
2 so far
<
Regenaxer>
(arg) is not supported
<
Regenaxer>
(arg 2) is, but not without count
<
Regenaxer>
and then the env offset for 'eval' and 'run' will not be supported
<
Regenaxer>
I think nobody understood or used them
<
aw->
nothing major
<
aw->
are you rewriting in pilAsm ?
<
Regenaxer>
I hope everything else will be ok
<
Regenaxer>
No, because pilAsm can't map to RISC-V
<
Regenaxer>
so I use LLVM-IR
<
Regenaxer>
LLVM-IR is ported almost everywhere
<
Regenaxer>
and it is highly optimizable
<
Regenaxer>
Perhaps tankf33der can investigate 'opt' later
<
Regenaxer>
ATM pil21 is slower than pil64 (pilAsm)
<
Regenaxer>
So what I do is generate llvm-ir from a kind of MockPil
<
Regenaxer>
then llvm can take care of porting and optimizing
<
aw->
and best part is once you have that for llvm then you can run pil on anything
<
Regenaxer>
well, yes, as long as it is POSIX and 64 bits
<
Regenaxer>
geo must find a backend to verilog ;)
<
Regenaxer>
You can play with it already, using tankf33der's link (or directly from sofwware-lab.de/pil21.tgz)
<
Regenaxer>
It does not need PicoLisp any longer for bootstrapping
<
aw->
how to bootstrap?
<
Regenaxer>
bootstrapping was also a problem
<
Regenaxer>
there is a pre-built base.bc
<
Regenaxer>
I hope it is portable
<
Regenaxer>
it is in the tgz
<
Regenaxer>
I put all system stuff in a .c source
<
Regenaxer>
src/lib.c
<
aw->
ok i'll have a look at it later
<
aw->
looking forward to it
<
Regenaxer>
No hurry, it is all very early
<
Regenaxer>
For me it is a lot of fun too
<
Regenaxer>
despite that llvm-ir is the
*most* ugly language I have ever seen
<
Regenaxer>
well, perhaps brainfuck, but close
<
aw->
ok i will sleep, it's getting late here
<
aw->
i'll have a look at this tomorrow
<
Regenaxer>
Good night! o/
<
beneroth>
<Regenaxer> and then the env offset for 'eval' and 'run' will not be supported
<
beneroth>
I did use it. following how it is used in (tag) in lib/xhtm.l
<
beneroth>
also used run
<
beneroth>
but yeah, its easy to get confused by it.
<
beneroth>
but... I think it is an important functionality.. how to do FEXPRs without being able to evaluate in higher scopes?
andyjpb has joined #picolisp
f8l has quit [Remote host closed the connection]
f8l has joined #picolisp
<
Regenaxer>
I will not use it, it is better to use namespaces in my experience
<
Regenaxer>
The env offset is runtime-inefficient, a bit confusing, and needs tricks to
*exclude* stuff (like locally bound globals)
<
tankf33der>
Regenaxer:
<
tankf33der>
you advertise functions which cant be debuged
DKordic has joined #picolisp
<
tankf33der>
debugging grid function in single-stepping, sooo fun.
<
Regenaxer>
Strange the debug thing
<
Regenaxer>
But yes, you can trace it, but not single-step
<
Regenaxer>
Where is it advertized?
<
Regenaxer>
: (trace 'date) is ok
<
Regenaxer>
Builtin functions can be traced, but not debugged (= single-stepped)
<
tankf33der>
in single step chapter.
<
Regenaxer>
It does not debug a built-in, right?
<
Regenaxer>
'stamp' is an EXPR
<
Regenaxer>
and 'date' is an FSUBR, thus can't be single-stepped
<
tankf33der>
To try it out, let's look at the stamp system function. You may need to have a look at
<
tankf33der>
and so on
<
tankf33der>
just FYI
<
Regenaxer>
yes, I know
<
Regenaxer>
this is correct, no?
<
tankf33der>
why you offer a functions which can be debugged?
<
Regenaxer>
I do not offer
<
Regenaxer>
"to understand this definition"
<
Regenaxer>
You may need to have a
*look*
<
Regenaxer>
Debugged is only stamp
<
tankf33der>
ok. i see
mtsd has joined #picolisp
mtsd has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 240 seconds]