f[x] has quit [Remote host closed the connection]
<
abu[7]>
Hi user3456, yes, it is the sign bit. It is 1 if the number is negative
<
abu[7]>
It is also the sign bit for bignums BTW
<
abu[7]>
You can inspect such things on the repl:
<
abu[7]>
: (let X 7 (bin (struct (adr 'X) 'N)))
<
abu[7]>
-> "1110010"
<
abu[7]>
: (let X -7 (bin (struct (adr 'X) 'N)))
<
abu[7]>
-> "1111010"
<
user3456>
I see, thank you
<
user3456>
I'm also curious about how allocating cells in the interpreter is done
<
user3456>
I know that bit(0) is reserved for the gc, but apart from that there's no further information in the reference about it
<
abu[7]>
The interpreter maintains a linked list of free cells in the heap
<
user3456>
Is it one list entry per cell or are cell ranges grouped together?
<
abu[7]>
One per cell
<
user3456>
(Trying to implement something similar to picolisp from scratch as programming practice)
<
abu[7]>
Physical allocation is this:
<
abu[7]>
(vi 'llvm~cons)
<
abu[7]>
The global $Avail list
<
abu[7]>
Basically (let P (val $Avail) (setq P (val $Avail)
<
abu[7]>
ie the cells are linked via their CARs (val)
<
abu[7]>
see "### Heap ###" in @doc/structures
<
abu[7]>
Hmm, well, not really. It is the list of heaps
<
abu[7]>
Each heap contains the free and allocated cells
<
user3456>
which file is it in the pil21 git repo? on a windows system rn so I can't run picolisp directly
<
abu[7]>
'llvm~cons is in @src/gc.l
<
abu[7]>
What does it mean you cannot run it directly?
<
user3456>
windows isn't POSIX compatible
<
abu[7]>
So you can't run it at all?
<
user3456>
I have access to a shell on a debian server and picolisp fine there
<
user3456>
it's less convenient though
<
abu[7]>
But then (vi 'llvm~cons) works
<
abu[7]>
: (vi 'llvm~cons)
<
user3456>
yeah that works once I ssh in
<
abu[7]>
I do the same here at this moment
<
abu[7]>
Pil and IRC are remote on a Debian server
<
abu[7]>
Using TMUX
<
user3456>
for me, irc is local (hexchat) but I connect through znc running on the debian host
gahr has quit [Ping timeout: 260 seconds]
<
geri>
somehow i still hadnt quit this emacs session :D
gahr has joined #picolisp
<
geri>
hacking on my keyboard layout B)
rob_w has joined #picolisp
Iacob has quit [Quit: IRCNow and Forever!]
ello has joined #picolisp
ello_ has quit [Ping timeout: 252 seconds]
Iacob has joined #picolisp
beneroth has quit [Read error: Connection reset by peer]
beneroth has joined #picolisp
rob_w has quit [Remote host closed the connection]
f[x] has joined #picolisp
taleon has quit [*.net *.split]
taleon has joined #picolisp
f[x] has quit [Remote host closed the connection]
f[x] has joined #picolisp
f[x] has quit [Remote host closed the connection]
cpli_ has joined #picolisp
z4k4ri4_ has joined #picolisp
cpli has quit [Ping timeout: 246 seconds]
z4k4ri4 has quit [Ping timeout: 246 seconds]
cpli_ is now known as cpli