<geri>
also fexpressions + dynamic binding, but everything is re-looked up in a hash table cause i couldnt figure out how to do interning actually properly
<abu[7]>
Cool! Important is to have fun
<beneroth>
haha, nice!
<beneroth>
that's why you looked into the structure of pico
<geri>
i wrote it in python cause doing it in a lisp would feel like cheating
<geri>
in cl you can hook into the reader and make it do your bidding, so that's free
<geri>
wanted to do C but i cant figure out types
<beneroth>
the older 32bit version of picolisp was done in C, maybe you want to study it?
<geri>
looked at cell in picolisp repo and its just a struct of itself and my head went dizzy
<geri>
:D
<geri>
yeah, that'4 what im doing
<geri>
im getting closer to understanding the basics, but rn C type system is being a pita
<abu[7]>
on miniPicoLisp
<abu[7]>
or*
<geri>
that may be even better
<abu[7]>
Same C types though
<abu[7]>
There was also ErsatzLisp written in Java
<abu[7]>
perhaps clearer
<abu[7]>
also has a Symbol class iirc
<geri>
sounds like cheating to me! (joke)
<abu[7]>
:)
<geri>
okay, so we have a cell, which has 2 pointers - both to cells
<geri>
i remember you said something about tag bits so i bet that's how you differentiate between types of what's in those cells
<abu[7]>
da
<geri>
now just gotta find an example of dereferencing stuff
<abu[7]>
In C it was all macros
<geri>
isNil, isTxt, etc?
<abu[7]>
Yeah
<geri>
okay
<geri>
i guess i see why you chose to go with only a cell struct now
<geri>
i tried doing strings and numbers - it's fine; but when i tried to do a cons cell then allocating it was a total pain
<abu[7]>
in Python?
<geri>
in C
<geri>
i got an object struct that has a short type and void* data in that case
<abu[7]>
Strings are also painful then
<geri>
if i wanted to initialize a number i had to first wrap it in an object
<geri>
which is fine, but when you want a cons you wrap 2 objects and cons itself
<geri>
xd
<geri>
(also struct of 2 things, almost sounds like a cell!)
<geri>
also i started writing a combinator parser in picolisp for fun too and this function makes me happy
<geri>
(de _digits (S)
<geri>
(case (car S) (`(chop "0123456789") S)))
<geri>
its not much but good use of ` is a sweet thing
<geri>
aighty im gone for a few hours most likely
<beneroth>
:)
<abu[7]>
o/
rob_w_ has quit [Ping timeout: 240 seconds]
rob_w has quit [Quit: Leaving]
<geri>
now that i think about it, representing lambdas as lists is really neat
<geri>
its user-accessible and you dont need to implement new data structures for representation
<geri>
:D
<geri>
weren't lambdas in some earlier lisps always just lists with first element being a symbol "lambda" or smth?
<abu[7]>
Hmm, could well be
<geri>
appanrently pre-standards common lisp implementations did that for interpreters
<geri>
maclisp too apparently
<geri>
cool to know
<geri>
pil starts slowly making more and more sense
<geri>
:D
<abu[7]>
Glad to hear that :)
<geri>
aighty, time to go offline
<geri>
have fun
geri has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
<beneroth>
abu[7], FYI current ref for (db) has a typo, in its description (step) is falsely linked as refF.html#step instead of refS.html#step