ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: | Check also for more information
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> o/
<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
<tankf33der> ha
<tankf33der> afk
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-> ?
<Regenaxer> aw-: pil2*
<Regenaxer> pil21
<Regenaxer> 'in' and 'load' work since today :)
<Regenaxer> 'load' not completely yet
<aw-> wht is that
<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-> oh
<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> yea
<Regenaxer> h
<Regenaxer> and I thought porting pil64 to RISC-V
<Regenaxer> but RISC-V has no condition flags
<Regenaxer> so it is meaningles
<aw-> ok
<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
<aw-> hmmmm
<Regenaxer> and then the env offset for 'eval' and 'run' will not be supported
<Regenaxer> I think nobody understood or used them
<aw-> i see
<aw-> nothing major
<Regenaxer> yes
<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)
<aw-> i see
<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-> yes
<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
<Regenaxer> It does not need PicoLisp any longer for bootstrapping
<aw-> ok thanks
<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> :)
<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
<Regenaxer> ;)
<aw-> wow
<aw-> ok i will sleep, it's getting late here
<aw-> i'll have a look at this tomorrow
<aw-> thanks!
<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?
<beneroth> bbl
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
<tankf33der> :)
DKordic has joined #picolisp
<Regenaxer> ret
<tankf33der> debugging grid function in single-stepping, sooo fun.
<Regenaxer> Strange the debug thing
<tankf33der> yea
<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
<tankf33der> afk.
<Regenaxer> cu
mtsd has joined #picolisp
mtsd has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 240 seconds]