5 ms·
to what extent is this Smalltalk all the way down ? Can I replace the drivers with Smalltalk code ?
by Uhuhreally 6y ago
to what extent is this Smalltalk all the way down ? Can I replace the drivers with Smalltalk code ?
- johndoe0815 6y agoNot in the current version, here the drivers are implemented in C/C++ in the circle bare-metal library [1]. In general, I think Smalltalk is not that well suited as a systems programming language since garbage collection might mess with your timing and you would also need to find a way to handle asynchronous events (such as interrupts). Nevertheless, Smalltalk has been used for low-level control of robots, e.g. in NXTalk [2] for the Mindstorms NXT ARM7 platform. However, the VM also relied on C code (the LegOS project) for driver code. [1] https://github.com/organix/pijFORTHos https://github.com/organix/pijFORTHos [2] https://www.hpi.uni-potsdam.de/hirschfeld/projects/nxtalk/index.html https://www.hpi.uni-potsdam.de/hirschfeld/projects/nxtalk/in...
- jonjacky 6y agoThere is an almost all-Smalltalk bare metal system for X86, CogNOS. It runs on top of NopSys, about 3500 lines of C and 600 lines of assembler for booting, accessing device registers, and responding to interrupts. But the file system etc. are in Smalltalk. https://github.com/nopsys/CogNOS https://github.com/nopsys/CogNOS https://charig.github.io/assets/papers/SCDE-DLS.pdf https://charig.github.io/assets/papers/SCDE-DLS.pdf