3 ms·
It was enjoyable reading the code. And yes it is Lisp. But without (for example) basic integer/float types and operations. So you can’t do (+ 1 2). And yes you
by deterministic 4y ago
It was enjoyable reading the code. And yes it is Lisp. But without (for example) basic integer/float types and operations. So you can’t do (+ 1 2).
And yes you can of course implement math Peano style by using lists to implement numbers. But it would be impractically slow.
You also can’t directly read/write memory, making low level hardware IO impossible.
Please don’t get me wrong. This is not a criticism of the work at all! I love it! I just want to point out that a lot more code is needed to have a minimum practical Lisp.
So I wonder if anybody has implemented a minimum practical Lisp that basically gives you the operators C gives you? Given that you could in principle implement a Linux like OS.
- smitty1e 4y ago> a lot more code is needed to have a minimum practical Lisp Always with the moving goalposts, boss.
- deterministic 4y agoNot really. The author is comparing the code size of Sectorlisp with full Lisp implementations. So the author either has to claim that Sectorlisp is a full Lisp implementation, which is clearly not the case, or acknowledge that he/she is comparing apples to oranges.
- eggy 4y agoThe footprint diagram on the linked page says Google lists Tiny LISP as the smallest Lisp. Perhaps that is because it implements integers and sectorlisp does not?
- deterministic 4y agoThat makes sense. It is only about 1k of C code and it seems to have everything you need to use it in practice. Including macros. Its interesting that Altair Basic is 10 times smaller than Tiny Lisp. Basic obviously doesn’t have the features (macros etc.) that Tiny Lisp has. But it looks as if it has what is needed to write practical (console) software. It wouldn’t surprise me if Forth would be the champion when it comes to minimum implementations.