4 ms·
I would love to see a modern Operating System built off of SmallTalk. I tried out Pharo recently and I was amazed at its ability to introspect (reflect?) into a
by Decabytes 4y ago
I would love to see a modern Operating System built off of SmallTalk. I tried out Pharo recently and I was amazed at its ability to introspect (reflect?) into any ui element in the running image and see/change the code for that element. I think building an entire Operating System on this concept would be really cool. The level of extensibility we would get combined with the ease of extending the OS would lead to some pretty awesome changes.
To get around some of the common pitfalls of new Oses it could use a rump kernel and leverage the drivers from Netbsd, and it could be developed on an SBC making it easily accessible to people to run on actual hardware
- linguae 4y agoI agree with you. One “what if” possibility that I think about from time to time is an open source community back in the 1990s rallying behind an OS built from Smalltalk or a language environment offering similar capabilities such as Self or Common Lisp. I figure a Pentium or PowerPC personal computer from circa 1994 should have enough power to drive an entire ecosystem of applications around Smalltalk, especially with the compiler and virtual machine innovations the Stanford/Sun researchers working on Self made. The environment’s introspection and metaprogramming capabilities would have resulted in a highly flexible, extensible system, but with a simpler and cleaner design than contemporary Windows and Unix desktops, which have many layers of complexity. Recently I’ve thought about making a Smalltalk- or Common Lisp-based operating system with the features you mentioned, but I ended up changing direction when dealing with the problem of interoperability among different languages. As appealing as Smalltalk and Common Lisp are, many people prefer different languages, and unfortunately different languages have different semantics, making interoperability difficult. I prefer a protocol-based approach to interoperability. I’m right now experimenting with Plan 9, an operating system designed by many of the same people who worked on Unix at Bell Labs, and seeing how I can implement reflection and metaprogramming through Plan 9’s “everything is a file” facilities, and also how I can take advantage of the 9P protocol to enable component-based software design. Some more of my ideas can be found at www.mallowos.com.
- jonjacky 4y agoA recent start on this could be the NopSys/CogNos project, which built a standalone Smalltalk system on x86 a few years ago. There are GitHub repos[1,2,3] and a paper [4] where the authors write "there would certainly be much more work needed before one could consider deploying our system." The project seems to be inactive now. 1. https://github.com/nopsys/nopsys https://github.com/nopsys/nopsys 2. https://github.com/nopsys/CogNOS https://github.com/nopsys/CogNOS 3. https://github.com/nopsys/SmalltalkNOS https://github.com/nopsys/SmalltalkNOS 4. https://charig.github.io/assets/papers/SCDE-DLS.pdf https://charig.github.io/assets/papers/SCDE-DLS.pdf