<immasheepherrder>
New here, been lurking for a week now. Seems like a great community!
<Regenaxer>
Thanks :)
<immasheepherrder>
I'll probably start asking some rookie questions in the near future, if that's OK. :)
<Regenaxer>
Sure, any time! :)
<Regenaxer>
No worries
orivej has quit [Ping timeout: 272 seconds]
alexshendi has quit [Quit: qicr for android: faster and better]
immasheepherrder has quit [Quit: leaving]
immasheepherrder has joined #picolisp
immasheepherrder has quit [Client Quit]
immasheepherrder has joined #picolisp
immasheepherrder has quit [Client Quit]
immasheepherrder has joined #picolisp
<immasheepherrder>
> All other things equal, 64-bit PicoLisp is usually slower than the 32-bit version, due to a poorer memory cache performance (the cells are twice as large size). On the other hand, arithmetics are faster, due to the additional short number type in pil64.
<beneroth>
immasheepherrder, yeah, what is the question? :))
<immasheepherrder>
Hi beneroth!
<immasheepherrder>
As I mainly do CRUD stuff, I guess the PicoLisp version for me would be the "normal" one, then?
<immasheepherrder>
(With "normal" I mean the 32-bit version.)
<beneroth>
no, the normal one is currently pil64
<beneroth>
as nearly all CPU these days are 64bit
<immasheepherrder>
Ah ok, thanks
<beneroth>
the only meaningful use of pil32 these days might be if you want to have it's direct C interopability, but most of that you can get with the (native) function in pil64
<beneroth>
immasheepherrder, actually a new edition of picolisp (vm implementation) was just finished, pil21 which is picolisp implemented in LLVM (a kind of compiler-standard)
<beneroth>
probably this one will become the "primarily" picolisp edition (implementation) soonish
<beneroth>
the main advantage is better compatibility, it runs on current androids and on Apple MacOS (which wasn't supported with pil64 because it has a exotic binary format)
<Regenaxer>
I think this speed argument isn't true anyway on today's machines
<Regenaxer>
Pil64 is in Asm
<beneroth>
immasheepherrder, you can still use the older versions, they don't have any known bugs/issues, but the newer implementations have some more functionality and are actively getting extended, so to say
<Regenaxer>
right
<Regenaxer>
Pil32, Ersatz and Mini are not maintained any more
<beneroth>
immasheepherrder, CRUD stuff is actually kinda the main usage of picolisp
<Regenaxer>
Pil64 will be replaced by Pil21 soon
<Regenaxer>
So, in summary, for a newcomer pil21 is the recomgended way to go :)
<tankf33der>
on envs is mine mirror, on github is Mansur's.
<Regenaxer>
ah, ok
<immasheepherrder>
In case I have suggestions for the docs in the future, where should I post them?
<beneroth>
here
<beneroth>
or mailing list
<beneroth>
or send patch to Regenaxer
<Regenaxer>
yeah
<Regenaxer>
easiest is here perhaps
<beneroth>
immasheepherrder, first errors you will probably get is segfaults - no panic, you mistakenly called a symbol like a function without it's value being a function
<beneroth>
you will not manage to do any more segfaults later
<Regenaxer>
T
<beneroth>
next level of learning picolisp is then being sure about finding a bug but actually using some function wrong, and the reference actually states it cleary (but it's very terse, therefore misreads happen)
<beneroth>
or not knowing about a function. there are many :)
<beneroth>
then it becomes more and more fun, and then you will start to hate programming in another language ;-)
<beneroth>
most code there is either from Regenaxer or tankf33der
<Regenaxer>
It is a useful place to look for programming examples
<immasheepherrder>
Will do!
orivej has joined #picolisp
<immasheepherrder>
I'm reading up on Pilog. One thing I was wondering: how portable is data contained in a Pilog database? Is it easy to extract it to a plain text format (or something like GNU recutils, e.g.), or would that require a lot of custom scripting?
<Regenaxer>
It is fairly easy to write reports
<Regenaxer>
Reports always also generate CSV while displaying the HTML
<Regenaxer>
You find examples in the distro
<Regenaxer>
(app/sales.l and app/inventory.l)
<Regenaxer>
In the easiest case you write a one-liner