4 ms·
What are the big differences between Lisp and Smalltalk contra Unix? Unix is also a "dynamic" environment. You can compile and load in new code at runtime. You
by mbrock 11y ago
What are the big differences between Lisp and Smalltalk contra Unix?
Unix is also a "dynamic" environment. You can compile and load in new code at runtime. You can inspect running processes. You have access to lots of system parameters via the file system API. And so on.
The C language might be the biggest part of the answer.
Even GNU had a vision of using C as a bootstrapping language for a Lisp environment. That's sort of the reality for heavy Emacs users... but mostly the idea has been abandoned, I guess.
- pjmlp 11y ago> What are the big differences between Lisp and Smalltalk contra Unix? Graphically based, the REPL uses the whole OS, developer culture embraced the debugger. > Unix is also a "dynamic" environment. You can compile and load in new code at runtime. You can inspect running processes. You have access to lots of system parameters via the file system API. And so on. It just looks similar in the surface, but when one used such a system it is quite poor. My experience boils down to Oberon, which was Niklaus Wirth version of Mesa/Cedar. Smaltalk Works, which allowed me to have a glipse of the original Smalltalk. The way Powershell, .NET, COM and DLLs work together on Windows (even though it is still lacking). My own research into Xerox PARC systems, as I keep hunting those papers. So with all of this, what do I mean by only being similar on the surface? Yes, UNIX CLI experience provides a way to work interactively, pipe data between programs, have them communicate between them (if one makes use of IPC) and a few other things. Note that not all UNIX have something like /proc. However it is all text based, even the UI. The Xerox PARC systems were graphical, the REPL was graphical and could use inline data, think IPython/Playgrounds. The OS and the REPL being the same language meant that the whole OS was available in the REPL. Since one was running as root on those workstations, you could literal control everything from the REPL. Like find window X, select text, convert to bold, for example. Having the same language also meant accessing any OS library was just an import away, no extra steps required. Imagine having a graphical CLI, where you can write e.g. soname.func(a, b) without extra effort and doing FP data manipulation. Actually there is a Xerox PARC paper where they research UNIX as dynamic programming environment. https://archive.org/details/bitsavers_xeroxparctXNeedsATrueIntegratedEnvironment_1363391 https://archive.org/details/bitsavers_xeroxparctXNeedsATrueI...