<confucian-refact>
no way there is a picolisp operating system... you are shitting me
<geri>
ikr
<geri>
on it every program would be compiled down to a lisp
<geri>
doesnt it sound sweet?
<confucian-refact>
A special bonus is the support of the "Penti" chorded keyboard. You operate it with a single hand, by typing chords and arpeggios on five keys on the numeric keypad ('0', '7', '8', '9', and '+'). A reference table is in https://software-lab.de/penti.html.
<confucian-refact>
wild
<geri>
theres another one you can operate with a single finger
pablo_escoberg has joined #picolisp
<confucian-refact>
pablo_escoberg: haha
<confucian-refact>
nice name
<pablo_escoberg>
Glad you like it :)
<geri>
what's the reference?
<pablo_escoberg>
geri do you mean the name?
<geri>
ye
<pablo_escoberg>
Pablo Escobar was possibly the world biggest drug lord at one time. I went through some crap with the DEA, where they treated me like I was him. I'm Jewish, so I Yiddish-ized the name for my handle.
<geri>
:D
<geri>
self irony is a great thing to have
<pablo_escoberg>
indeed. And I've gotten a ton of mileage out of that handle. I even registered pabloescoberg.com in case I ever want it for anything.
<geri>
haha
<geri>
amazing
<pablo_escoberg>
thanks :)
abu[7] has left #picolisp [#picolisp]
abu[7] has joined #picolisp
<geri>
wb abu[7]
<abu[7]>
Hi :)
<geri>
there was a question from confucian-refact about running picolisp in l1 cache
<abu[7]>
Yes, I see
<abu[7]>
Not sure, I think we don't have to worry
<abu[7]>
CPU's take care to optimize cache usage
<abu[7]>
The interpreter binary is about 1 MiB, but most of it is not executing most of the time
<abu[7]>
Ah, no
<abu[7]>
just 348K
<geri>
enough for the interpreter and a program :)
<abu[7]>
T
<abu[7]>
but the program allocates more heap usually
<abu[7]>
Initially the heap is 1 MiB
<abu[7]>
~/pil21 bin/picolisp
<abu[7]>
: (heap)
<abu[7]>
-> 1
<geri>
pil is 2
<abu[7]>
T
<abu[7]>
libs
<geri>
do you update the release tarball often?
<abu[7]>
Rather yes, You see that in @doc/ChangeLog
<abu[7]>
Each date is a release
<geri>
i gotta update my package; im still on basically the first version i installed after going to 21
<geri>
24.4.5
<abu[7]>
Good :)
<abu[7]>
You see in ChangeLog ifaa
<abu[7]>
nathing is relevant for you
<geri>
aighty
<abu[7]>
(I cannot write well on my mobile with the cat on my lap ;)
<geri>
lapwarmer
<abu[7]>
T☺
<geri>
do you run your irc client on the same interpreter you edit stuff with or another tmux window?
<abu[7]>
It is a separate server
<abu[7]>
in fact picolisp.com
<abu[7]>
(cause it it always up)
<geri>
*confused cat noises*
<geri>
you run tmux on picolisp.com and connect via the phone?
<abu[7]>
yes
<geri>
amazing
<abu[7]>
ssh
<geri>
almost a bouncer
<geri>
wait, so when it says you dis/reconnected, thats problems with the network on the website?
<abu[7]>
No network problem. I hit ^C by accident
<abu[7]>
Evil cat!
<geri>
:D
<abu[7]>
It was ^D, not ^C, but anyway ;)
<geri>
i use an emacs irc client
<geri>
i wonder how comparable they are performance/stability-wise
<abu[7]>
Performance is not critical
<abu[7]>
for irc
<geri>
its just a curiousity
<geri>
emacs is byte/natively compiled now...
<abu[7]>
ok
<geri>
have you ever had performance problems with pil?
<beneroth>
I only ever had performance problems with pil when I programmed something stupid :)
<abu[7]>
Never a real problem I think
<geri>
aighty
<abu[7]>
Never had a show stopper :)
<geri>
mhmm
<geri>
i mean, most of my stuff isnt performance critical
<beneroth>
I'd guess pil isn't so cache-friendly because of the fragmented memory model. Then again it is so small that it's again well.
<geri>
i just like optimizing
<beneroth>
pil is definitely not made for number crunching. but that's not the intention.
<abu[7]>
Yep
<geri>
oh right - how does pil have a small memory footprint if its pointers upon pointers upon pointers?
<geri>
cause apparently pointers are relatively large on their own
<abu[7]>
Good question
<beneroth>
well they're cpu architecture size. so 64bit
<abu[7]>
Probably a lot of reuse and sharing
<beneroth>
yeah
<geri>
when the author says "Probably" its very inspiring :D
<abu[7]>
:D
<beneroth>
he is a scientist. he doesn't say anything for sure unless he is absolutely sure ;)
<beneroth>
politicians hate this trick
<abu[7]>
haha
<geri>
thats fair, but if you wrote it you should know about degree of reuse, no?
<geri>
that's the joke
<beneroth>
well geri if you name all your variables the same then the name gets reused and not many times allocated, if you use every variable different, you need more space.
<geri>
hm
<abu[7]>
In pil code is generally small
<abu[7]>
number of cells
<beneroth>
I like the equivalence of source and running program
<abu[7]>
"succinctness"
<beneroth>
if your source is smaller, then the programs binary representation in memory will also be smaller.
<beneroth>
better code, better runtime behavior
<geri>
eh, that depends
<abu[7]>
So we are back to cache
<geri>
if you use libraries its not guaranteed - theres way more code in the background
<beneroth>
generally untrue in picolisps cache xD
<beneroth>
s/cache/case
<geri>
cries in not many libs
<geri>
still has a json parser, which is amazing
<geri>
to have
<beneroth>
even multiple ones xD
<beneroth>
damn lisp curse
<abu[7]>
T
<geri>
oh yeah?
<geri>
im gonna roll my own
<geri>
uwu
<beneroth>
same here. I should publish it.
<abu[7]>
aw- made a more general one
<beneroth>
mine is more general than the one from aw- I believe.
<abu[7]>
oh, good
<beneroth>
but abu[7]s or aw- is kinda more optimized if you just need the functionality they provide, I think
<beneroth>
currently working on a JSON inspector/explorer, interactive repl too which lets you explore a big JSON file to understand its structure
<geri>
generally speaking, parsing json means you gotta have at least enough RAM to hold the whole source in, right?
<geri>
maybe whole representation too but thats questionable
<beneroth>
not the whole source. you can read it in stream
<beneroth>
your representation can be smaller then the text version
<abu[7]>
Same with xm.l
<beneroth>
e.g. when handling numbers as picolisp 'num instead of strings
<geri>
thats an amazing name abu[7]
<abu[7]>
l
<abu[7]>
l
<abu[7]>
l
<abu[7]>
l
<abu[7]>
l
<abu[7]>
l
<abu[7]>
l
<abu[7]>
l
<abu[7]>
l
<abu[7]>
l
<beneroth>
cat?
<abu[7]>
oops
<geri>
cat attack!
<abu[7]>
No, touching repeat keg
<abu[7]>
key
<beneroth>
In Bavaria, kegs are important :P
<abu[7]>
But yes, I still cannot rest my phone
<abu[7]>
ot th lap
<beneroth>
can you not rest it on the cat?
<abu[7]>
It is sleeping
<abu[7]>
Not allowed to disturb
<abu[7]>
Cat is always the boss
<beneroth>
use -quiet
<abu[7]>
Good :)
<beneroth>
:)
<geri>
:D
<geri>
aight i gotta undistract myself from japanese learning
<geri>
laters
<abu[7]>
cu o/
geri has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
abu[7] has left #picolisp [#picolisp]
abu[7] has joined #picolisp
<abu[7]>
brb
abu[7] has left #picolisp [#picolisp]
abu[7] has joined #picolisp
confucian-refact has quit [Ping timeout: 264 seconds]