Shells that implement advanced objects and error handling cannot sink this low, and thus the embedded realm is not accessible to them.
Shells that implement advanced objects and error handling cannot sink this low, and thus the embedded realm is not accessible to them.
20 years later we had 64 KB to fit an whole OS and applications on home computers.
Lisp Machines required a 80M disk with at least 512k of memory.
Neither Smalltalk nor Lisp fit in 64k in 1980 (~20 years later). Even the IBM 7094 which ran a very tiny Lisp (1.5) had around 32k 36bit words.
Also where did I on my comment mentioned Lisp Machines?
You are purposefully confusing multiple decades of computing. Smalltalk was much later, and required quite large machines, so did Lisp when it became popular on machines like the PDP-10 and ITS which had much more memory, just running Macsyma was a PITA.
Also now we are getting MMU and page loading into the argument?
Here he goes again with another application I didn't mention at all.
Your claim that Lisp and Smalltalk didn’t have the luxury of 80k when they got invented, when intact they did. Much of the programs that ranusing Lisp specifically was VERY memory hungry.
Now your just arguing for the sake of arguing and just being antagonizing. Have fun.
Then, in 1983, there was a version of Lisp for ZX Spectrum (which had 48k of RAM and no floppy).
There was also Rosetta Smalltalk:
> ROSETTA SMALLTALK now runs on the Exidy Sorcerer computer! It requires 48K of memory, a disk, and CP/M.
First version of Unix had a 512k disk pack, and no shell -- that 80k binary for shell would have been a dream.
"20 years later we had 64 KB to fit an whole OS and applications on home computers." is quite the claim when we are talking about Unix, Lisp or Smalltalk and comparing them to CP/M with DOS which .. does nothing in comparison, and ignoring literally all other aspects of a computer system.
advanced objects and error handling do not require tens of kilobytes of machine code. a lot of why the bourne shell is so error-prone is just design errors, many of them corrected in es and rc
https://en.wikipedia.org/wiki/Rc_(Unix_shell)
https://wryun.github.io/es-shell/
They are alternative shells, both from the 90's I believe. POSIX was good in some ways, but bad in that it froze a defective shell design
It has been acknowledged as defective for >30 years
https://www.oilshell.org/blog/2019/01/18.html#slogans-to-exp...
---
es shell is heavily influenced by Lisp. And actually I just wrote a comment that said my project YSH has garbage collection, but the es shell paper has a nice section on garbage collection (which is required for Lisp-y data structures)
And I took some influence from it
Trivia: one of the authors of es shell, Paul Haahr, went on to be a key engineer in the creation of Google
"A lot of effort was made to keep ksh88 small. In fact the size you report on Solaris is without stripping the symbol table. The size that I am getting for ksh88i on Solaris is 160K and the size on NetBSD on intel is 135K.
"ksh88 was able to compile on machines that only allowed 64K text. There were many compromises to this approach. I gave up on size minimization with ksh93."