Recently, I started to learn cuis-smalltalk, and no I realize how profound and deep OOP with Smalltalk is compared to CLOS (I'm using Ruby). I learned the great idea of that Smalltalk is a reflective system implemented in itself. I found that Ruby has Rubinius, but when I looked for a Common Lisp implementation written in Lisp, I could not find anything similar. There doesn't seem to be a CL distribution written in CL.
In Common Lisp with the CLOS and slime, you can do all the things that can do with the Smalltalk Development environment.
But I have the question if a Common Lisp implementation of itself could be useful for Common Lisp? Or will not add anything special to language because homoiconicity, macros and MOP can handle it all. Are there technical limitations of why it could not be done?
Example: SBCL
Mostly only large parts of the runtime are implemented in C.
Example: Clozure Common Lisp
The kernel is written in assembler and C.
Example: Mezzano
Mezzano is an OS fully written in its own Common Lisp. It runs on the metal -> means one can boot into it as an operating system.
Neither Smalltalks are completely written in Smalltalk, nor is Rubinius completely written in Ruby
This is no different from Smalltalk implementations like Squeak or Pharo, where most parts are written in Smalltalk, some parts of the Virtual Machine are generated from Smalltalk to C, and some parts of the Virtual Machine are written in C.
Parts of Rubinius are written in C++.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With