freenode/#sicl - IRC Chatlog
Search
3:27:31
beach
But SICL already includes first-class global environments in the form of Clostrum, so that part is done.
3:29:41
beach
Also, as I have already mentioned, a lot of the ideas of CLOSOS can be tested without it running on bare metal. It can very well be a Unix process for quite some time.
3:33:56
beach
But since both Mezzano and Movitz exist, there has got to be some code for doing those things already. I am more interested in the interface between applications.
4:17:45
no-defun-allowed
The design of CLOSOS reminds me of a statement Dan Ingalls made, "An operating system is a collection of things that don't fit into a language. There shouldn't be one." CLOSOS moves a lot of "operating system" components, like process isolation, into language components, like first class global environments (though those two examples are far from equivalent).
4:23:49
no-defun-allowed
So it is natural that you can test a lot of features as if it was just a programming language implementation. Still, I admit I want to see how writing drivers in Common Lisp goes, but having enough of some operating system to be able to debug everything is very convenient.
4:45:49
beach
I suppose most device drivers are written in C. And the problem with that way is that C is not great for capturing commonalities and not great for modularity.
4:45:58
moon-child
no-defun-allowed: re ingalls's comment, that's interesting, and I'm not sure what to think of it. My view has always been that an OS _is_ a programming languaage (or, at least, an implementation of one). Things like process isolation are more implementation details than anything (modulo a few untidy corners like debugging and linux's recent userfaultfd)
4:46:44
no-defun-allowed
It was from his "Design Principles Behind Smalltalk" article <https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html>. Some parts don't make sense in a Common Lisp context, and the industry eventually went for better compilers over special or user-microcodable hardware, but otherwise I find it inspiring.
4:47:09
beach
That's why I keep referring to IOKit. It is written in C++ I think but we could do much better with CLOS.
4:49:49
beach
And I would very much like to see someone design a CLOS-based protocol ("protocol" as in the generalization of an "interface") for device drivers.
4:51:22
moon-child
an interesting project to look at there, if nothing more than for inspiration as to what the protocol in question should contain, is udi