|
|
|
|
|
by djedr
1193 days ago
|
|
Hey, just want to say that BLC is a remarkable artifact -- to me it's an art piece in computational minimalism. I actually got so obsessed with it last year that I worked out a variant of lambda calculus[0] in which, with some trickery, a port of the BLC interpreter could be squeezed into 194 bits. Which would be only 2 bits more than the intriguing conjecture from your paper[0] says to be optimal: > We conjecture that any self-interpreter for any binary representation of
lambda calculus must be at least 24 bytes in size, which would make E close to
optimal. I wonder what are the assumptions behind this conjecture. Surely my trickery broke some of them. [0] https://xtao.org/blog/last-intro.html [1] https://tromp.github.io/cl/LC.pdf |
|
Still, I suspect that for most programs, the savings from S-optimization do not quite make up for the (n-1) extra bits needed for every occurrence of variable n. What would for instance be the length of the shortest LAST program for the prime number character sequence, which takes 167 bits in BLC?
> I wonder what are the assumptions behind this conjecture.
I chose 24 bytes because it's a nice round number (3 * 2^3 * 2^3 bits) that sat a seemingly comfortable 14 bit margin below my best effort.
The conjecture assumes a binary input, that must be read bit-by-bit. How long is your LAST self-interpreter with a binary rather than quaternary input?
[1] https://esolangs.org/wiki/Real_Fast_Nora%27s_Hair_Salon_3:_S...