ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
xkapastel has joined #picolisp
bitmapper has quit [Ping timeout: 250 seconds]
_whitelogger has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
jibanes has quit [Ping timeout: 245 seconds]
jibanes has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
xkapastel has joined #picolisp
orivej has joined #picolisp
<Regenaxer> Nice discussion
razzy has joined #picolisp
<Regenaxer> Perhaps pil21 will solve most portability problems (MacOS, iOS)
<razzy> hm
<razzy> hi
<Regenaxer> Hi razzy
razzy`` has joined #picolisp
razzy has quit [Ping timeout: 240 seconds]
DKordic has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
xkapastel has quit [Quit: Connection closed for inactivity]
xkapastel has joined #picolisp
<beneroth> hi Regenaxer :)
<beneroth> hi razzy
<beneroth> what does pil21 describe? pil64 for LLVM?
* beneroth missed some discussions
mtsd has joined #picolisp
<Regenaxer> Hi beneroth!
<Regenaxer> Yes, discussed here a lot (mainly with tankf33der)
<Nistur> mornin'
<Regenaxer> Hi Nistur
<beneroth> morning Nistur
<Nistur> o/
<mtsd> Hello everyone
<Regenaxer> Hi mtsdi
<Regenaxer> -i
<Regenaxer> tankf33der also already tested a bit
<Regenaxer> But still very very early
<Regenaxer> Doable though
<beneroth> cool
razzy`` has left #picolisp [#picolisp]
andyjpb has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
andyjpb has quit [Ping timeout: 276 seconds]
<Regenaxer> Really cool it would be if it ran also on 32 bits then. Not impossible, but atm there are knknown problems. Task for tankf33der :)
<tankf33der> :)
<beneroth> thank you both, you're my heroes!
<Regenaxer> ;)
bitmapper has joined #picolisp
<Regenaxer> At the moment it is harder for me to write than n pilAsm, but I will get used to it
<Regenaxer> Hi bitmapper!
<bitmapper> hi!
<Regenaxer> I think I would not waste my time with ErsatzLisp
<bitmapper> why?
<Regenaxer> it is very limited
<Regenaxer> crippled
<bitmapper> other than the missing functions, i don't see what's the issue
<Regenaxer> No Plio and thus no DB
<Regenaxer> also because no (fork)
<bitmapper> oh, i'm working on adding that
<Regenaxer> The whole POSIX stuff
<Regenaxer> fork, file control, select() ?
<bitmapper> yeah
<Regenaxer> ok
<Regenaxer> Namespaces are also not complete
<Regenaxer> (still uses the first version)
<bitmapper> hey, it's not like i really have a choice
<bitmapper> macOS
<Regenaxer> Wait for pil21
<Regenaxer> will run on Mac and iOS cause of LLVM
<Regenaxer> BTW, I suspect pil32 will now compile again on Mac
<Regenaxer> The restriction of dynamic arrays seems gone
<bitmapper> it isn't gone
<Regenaxer> oh
<Regenaxer> But I see it in LLVM (clang)
<bitmapper> apple uses their own fork of clang
<bitmapper> that has heavily divirged
<bitmapper> but you can build it with gcc on mac, but they dropped 32bit binary support so it doesn't really matter
<beneroth> oh wow
<Regenaxer> I see
<beneroth> MacOS tooling is always years behind posix/linux
<bitmapper> not really
<bitmapper> it's based on LLVM 9
<Regenaxer> hmm, I do use now such arrays in pil21 in the C library. So it is not portable?
<beneroth> no? even bash used to be very outdated
<bitmapper> they use zsh now
<bitmapper> Regenaxer: someone actually wrote a version of minipicolisp that replaced the dynamic arrays so it would work with clang, i can link it for reference if you want
<Regenaxer> Thanks, but not necessary. I think I know
<Regenaxer> I'm doing similar things now in pil21
<bitmapper> the reason i was talking about ersatz was because i got it building to a native binary with graalvm and it performs much better
<Regenaxer> Though low level LLVM allows more things than C
<Regenaxer> Yeah, cool thing!
<Regenaxer> Still overhead must be heavy
<bitmapper> no
<bitmapper> let me measure
<Regenaxer> as cells are objects
<Regenaxer> not plain pointer pairs
<bitmapper> is there a benchmark?
<Regenaxer> I use the 'bench' function with various things
<Regenaxer> eg (fibo 36)
<Regenaxer> but fibo does only arithmetics
<Regenaxer> needs something which produces cells
<bitmapper> hmm
<bitmapper> the binary tree benchmark?
<Regenaxer> I had one, moment
<bitmapper> it's on the wiki/docs
<Regenaxer> ah
<Regenaxer> I don't remember. There was something with nested mapcar's
<Regenaxer> and reverse's
<Regenaxer> not sure
<bitmapper> the Fannkuch one?
<Regenaxer> yes, thats also fine
<Regenaxer> I think I meant this one: http://ix.io/1ZAU
<Regenaxer> T
<Regenaxer> The above tst takes here 0m0.321s
<bitmapper> interesting
<bitmapper> the jvm version performs better but uses much much more memory
<Regenaxer> really faster?
<bitmapper> yes
<bitmapper> the jvm version gets a time of 3sec
<Regenaxer> So it does no garbage collection perhaps
<bitmapper> vs the native graal version gets a time of 8sec
<beneroth> bbl
<Regenaxer> but 3 or 8 secs is still far away from 0.3
beneroth has quit [Quit: Leaving]
<bitmapper> ahh, no, the 3 seconds was for fannnkuch(10)
<Regenaxer> ah, ok
<bitmapper> i'll test that one
<bitmapper> 0.000 sec
<bitmapper> on native
<bitmapper> *native graalvm
<Regenaxer> Really?
<bitmapper> yes
<bitmapper> ahh i can't think
<bitmapper> no
<bitmapper> just a sec
<bitmapper> did it wrong
<Regenaxer> : (bench (fannkuch 10))
<Regenaxer> 1.655 sec
<bitmapper> 1.4 for tst sec on graal, going to test jvm now
<bitmapper> 0.799 for tst on regular jvm
<Regenaxer> ok
<bitmapper> interesting
<bitmapper> the decrease from 300mb of ram usage to 2mb is nice though
<Regenaxer> right
<bitmapper> let me see if i can find out what's going on
<Regenaxer> anyway cool
<bitmapper> but yeah, good to know you are moving to llvm!
<Regenaxer> I hope it will work out
<Regenaxer> still researching kind of
<Regenaxer> researching not so much llvm any more, but my own mind
<Regenaxer> to get the way of thinking in the new lang
<Regenaxer> Is there any backend LLVM-IR -> JVM?
<bitmapper> yes!
<bitmapper> graalvm has it
<Regenaxer> Cool!
<bitmapper> graalvm also supports writing frontends for it too though
<Regenaxer> Let's try that then later
<Regenaxer> I mean the backend, pil21 is a frontend
andyjpb has joined #picolisp
<bitmapper> i know
<Regenaxer> I have completely left out optimizations for now
<Regenaxer> First want to get it all running
<Regenaxer> At the moment I'm at some bignum primitives
<Regenaxer> 'native' works in a minimal version (only int and string arguments and return values)
<Regenaxer> Coroutines are still open, but I think I know how to to them
andyjpb has quit [Ping timeout: 276 seconds]
<bitmapper> Regenaxer: i ended up making an ubuntu vm with multipass and running picolisp in that
<Regenaxer> A Java VM?
<Regenaxer> Ah, I see, Linux VM for normal picolisp
mtsd has quit [Quit: Leaving]
razzy has joined #picolisp
<razzy> hi
<razzy> pil21 seems interesting
<Regenaxer> Hi razzy
<razzy> tried to compile, stuck on llvm-link. do i have to compile it from Github?
<razzy> i did not found it in debian repositories
<Regenaxer> Did you call 'make'?
<razzy> thx for answer
<Regenaxer> yes, not official yet
<razzy> yup
<razzy> ha ha
<Regenaxer> There is a pre-built pil21/src/main.bc
<Regenaxer> which I hope helps to bootstrap
<Regenaxer> Should work at least on Linux
<Regenaxer> Which system are you on?
<razzy> standard debian
<Regenaxer> ah, ok, then it should build
<Regenaxer> just (cd src; make) ?
<razzy> nope
<Regenaxer> I just do $ (cd src; make) && bin/picolisp
<Regenaxer> Is it a 64-bit Debian?
<razzy> yes 64bit
<Regenaxer> hmm
<Regenaxer> What error message?
bitmapper has quit [Ping timeout: 246 seconds]
<razzy> missing llvm-link command
<razzy> i think i do not have it installed
<Regenaxer> right
<Regenaxer> # apt install llvm clang pkg-config
<razzy> thx
<razzy> i was missing llvm
<razzy> done
<Regenaxer> good
<razzy> all *.l in pil21 are loaded after start? or when compiling
<Regenaxer> They are loaded inside main.l
<Regenaxer> Not all at once
<Regenaxer> but things between
<razzy> yhx
<razzy> thx
<razzy> seems nice
<Regenaxer> great :)
<razzy> picolisp al the way down :]
<razzy> i guess
<razzy> after bootstrapping
<Regenaxer> yes, at least a subset of picolisp
<Regenaxer> and a little glue C
<razzy> i found awesomely bootstrapped lisp if somebody care https://gitlab.com/akihe/mindo/tree/master
<razzy> by awesome i mean easy to use, and understandable
andyjpb has joined #picolisp
<Regenaxer> ok
<razzy> it is proof of concept of sorts. not field-usable
<Regenaxer> pil21 too is just a proof of concept so far
<razzy> what is goal?
<Regenaxer> Replace pil64
<razzy> is structure similiar to pil64? so i can learn from both and look for similiarities?
<Regenaxer> yes, 90% the same
<Regenaxer> some stack structures differ
andyjpb has quit [Ping timeout: 240 seconds]
<razzy> thx
<razzy> afk
<Regenaxer> cu
razzy has quit [Ping timeout: 265 seconds]
bitmapper has joined #picolisp
bitmapper has quit [Remote host closed the connection]
bitmapper has joined #picolisp
bitmapper has quit [Read error: Connection reset by peer]
beneroth has joined #picolisp
DKordic has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
orivej has joined #picolisp
bitmapper has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]