alexshendi has quit [Read error: Connection reset by peer]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
rob_w has joined #picolisp
mtsd has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej_ has joined #picolisp
rob_w has quit [Quit: Leaving]
rob_w has joined #picolisp
aw- has quit [Ping timeout: 272 seconds]
<Regenaxer>
tankf33der: '|' and 'x|' fixed
<tankf33der>
ok
<Regenaxer>
BTW, how did you find the bugs? 'bigtest'?
<tankf33der>
i have my own based on yours
<Regenaxer>
very good
orivej has joined #picolisp
orivej_ has quit [Ping timeout: 272 seconds]
<tankf33der>
works
<tankf33der>
>> left
<Regenaxer>
yes
<Regenaxer>
searching
<Regenaxer>
It reduces to (>> 45 142545485638582308348707664611498124937386859731)
<Regenaxer>
reduces to (>> 1 142545485638582308348707664611498124937386859731)
<Regenaxer>
which is 'shru'
<tankf33der>
rest is working on real random big numbers, big is 10k-20k digits.
<Regenaxer>
great
<tankf33der>
your bigtest too optimistic, thats why it worked 32 hours without problem
<Regenaxer>
Not 32 hours, just 4
<Regenaxer>
always 4 in parallel :)
<Regenaxer>
I test certain patterns which I believed to be critical
<Regenaxer>
So I miss other patterns
aw- has joined #picolisp
<Regenaxer>
I hope you test a lot more! :)
<Regenaxer>
Found
Seteeri has joined #picolisp
<Seteeri>
Hello
<Regenaxer>
Hi Seteeri
<Seteeri>
I was wondering why is there not a function to set the car like con? I'm looking for a function similar to con
<Regenaxer>
There is one, 'set'
<Seteeri>
mmm let me try it
<Regenaxer>
In PicoLisp the CAR of a cell and the VAL of a symbol are both called 'var' in the docs
<Regenaxer>
applies to all functions documented with 'var' arguments
<Seteeri>
yup! That's the function I was looking for - totally missed it!
<Regenaxer>
:)
<beneroth>
hi all :-)
<Regenaxer>
Hi beneroth
<Seteeri>
hello
<DKordic>
Greetings everyone.
<DKordic>
How to set the CAR and CDR of a num?
<Regenaxer>
Hi DKordic
<DKordic>
o/ Regenaxer
<Regenaxer>
With arithmetics :)
<DKordic>
Ricght :) . How to Destructively Update "num"?
<Regenaxer>
There is no Lisp-level function
<DKordic>
Why?
<Regenaxer>
You can write it with 'native'
<Regenaxer>
In any case very hard to use
<Regenaxer>
Numbers are encoded in a not very intuitive format
<Regenaxer>
I think even with 'adr' it is not possible
<Regenaxer>
cause 'adr' adresses symbols or cells
<DKordic>
T
<Regenaxer>
ie multiples of 8 in the pointer value
<Regenaxer>
bignums need an offset of 4
<DKordic>
VM Pages on AMD64 are 4 Ki B# and 4 Mi B# . Wouldn't it be cute to make allocation unit a VM Page of the platform?
<Regenaxer>
Ah! There is a way
<Regenaxer>
'byte'
<Regenaxer>
PilOS manipulates these tables
<Regenaxer>
I forgot the details
<Regenaxer>
Allocating is not the bottleneck
<Regenaxer>
and cells are accessed not sequentially often
<Regenaxer>
so the heap size does not matter much I believe
<DKordic>
Yes, but what is the reason for the choice of 1 Mi B# ?
<beneroth>
but but but everyone else optimizes for it!11 how to allocate chunks of memory only as 4KiB or 4MiB!!! and they consume a lot of RAM, wonder why...
<Regenaxer>
Just more human-readable
<DKordic>
Ah!
<Regenaxer>
(human-readable in the result of 'heap' only)
<Regenaxer>
Initial PicoLisp used 32 KiB heyps
<Regenaxer>
heaps
<Regenaxer>
it was the max allocation size in the Resource Manager on Mac+ ;)
<DKordic>
Same as today. Upper half of VM Address Space is reserved for Kernel.
<Regenaxer>
But to your question: With a combination of 'adr' and 'byte' you can modify a number
<DKordic>
So We have _just_ 17 2* b# wasted of 64 2* b# per CELL :) .
<Regenaxer>
?
<DKordic>
We have 34 unused bits per cons CELL.
<Regenaxer>
We waste 64 bits per MiB in a heap
<Regenaxer>
In the cell no bits are wasted
<DKordic>
16 Most Significant bits are reserved on AMD64.
<DKordic>
For Pointers.
<Regenaxer>
ok, physically
<Regenaxer>
But pil does not care about AMD
<DKordic>
Yes, Virtual Memory.
<Regenaxer>
Future architectures will use all
<Regenaxer>
first pil ran on 68000
<Regenaxer>
it used only 24 bits of 32
<Regenaxer>
so the upper 8 bits were free
<Regenaxer>
but it would have been stupid to use them
<Regenaxer>
Soon architectures (also 68 k) used the full address space
<Regenaxer>
Same will be with 64 bit machines
<Regenaxer>
I meant: first pil ran on 68008
<DKordic>
Sinclair QL?
<Regenaxer>
No, custom machine
<Regenaxer>
OK, first was Mac
<Regenaxer>
so it was an 68000
<Regenaxer>
but I think 68000 could also adress only 24 bits
<Regenaxer>
*address
<Regenaxer>
That was unbelievably huge at that time
* beneroth
didn't know amd64 architecture has reserved bits...
<DKordic>
beneroth: 16 MSb:s must be Sign-Extend:ed on Memory Acess Operations.
<beneroth>
naturally
<DKordic>
For __Binary__ ""Forward-Compatibility"".
<beneroth>
yeah those plans always works well when the USB crystal ball worked and the future was correctly foreseen
<DKordic>
What kind of Brain-Damaged High-Level language or compiler needs that!?
<beneroth>
maybe it is to have the ability to create demand (for software changes, support)
<beneroth>
like BigCorp (e.g. Siemens) not fixing bugs in their core product, because they generate customizing revenue
<DKordic>
Yeah, ""Self-Licking Ice-Cream Cone"".
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #picolisp
orivej has quit [Quit: No Ping reply in 180 seconds.]
mtsd has quit [Quit: Leaving]
orivej has joined #picolisp
<tankf33der>
Regenaxer: >> fix already released, right ?
<Regenaxer>
yep
<tankf33der>
cant reproduced, all passed.
<Regenaxer>
great!
<Regenaxer>
Can you let run the tests a little more?
<tankf33der>
sure.
<Regenaxer>
Bignums are hard to get right
<Regenaxer>
:)
<beneroth>
Bignums, big problems
<beneroth>
Smallnums, off by one.
<Regenaxer>
hehe, indeed
<beneroth>
:)
<Regenaxer>
:)
<tankf33der>
running 100K loop
<tankf33der>
5k-10k digits every num
<Regenaxer>
ok
<beneroth>
nice!
rob_w_ has joined #picolisp
rob_w has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Read error: Connection reset by peer]
orivej has joined #picolisp
<tankf33der>
Regenaxer: all passed.
_whitelogger has joined #picolisp
<Regenaxer>
Glad to hear!
<Regenaxer>
Thx!!
orivej has quit [Quit: No Ping reply in 210 seconds.]
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 264 seconds]
orivej has joined #picolisp
Seteeri has quit [Ping timeout: 272 seconds]
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
rob_w_ has quit [Read error: Connection reset by peer]