4 ms·
Seems like a neat idea. I've always wanted a tiny LispOS or SmalltalkOS that I could carry around and use on a Pi. I just wish it would also have the modern nec
by 7thaccount 6y ago
Seems like a neat idea. I've always wanted a tiny LispOS or SmalltalkOS that I could carry around and use on a Pi. I just wish it would also have the modern necessities like web browser...etc.
- johndoe0815 6y agoOne of the inspirations for my "crosstalk" Smalltalk system was Lukas Hartmann's Lisp-based "Interim OS" bare-metal system for the Raspberry (http://interim-os.com/ http://interim-os.com/), so you might want to give this a try. I think Interim only runs on the Raspberry Pi 2 at the moment; porting Interim OS to use the circle library (which I use for crosstalk) should also be feasible and would help to support other Raspberry versions. Lukas is also the creator of the MNT Reform open source notebook (using a Freescale i.MX8 quadcore ARM Cortex-A53) - see https://www.crowdsupply.com/mnt/reform https://www.crowdsupply.com/mnt/reform for the currently running crowdfunding campaign. Modern web browsing is, of course, more complex than the whole rest of the Smalltalk system...
- skissane 6y agoI really like language-based operating systems. It is cool you did this. My ideal though would be – it is all written in the language (Smalltalk/Lisp/whatever), with no use of other languages such as C/C++ (except possibly assembler, in which case my ideal is it comes with an assembler written in the language); and it is fully self-hosting in terms of the build process. Of course, I realise my ideal is a lot more work than what you've done, and none of us has infinite time in which to tinker with things... (I myself have some toy programming language interpreters I wrote, some in C, some in Java – I keep on thinking "oh, I should get rid of the C/Java, make it generate native code and then rewrite its core in itself" – but that's a lot of work and I've never had time for that.)
- johndoe0815 6y agoGreat that you like it - thanks! Some of the work of Stephen R. Kell at Kent University also covers language-based OSes and how some of their ideas might be adapted in Unix (see [1] and [2]). The Smalltalk-80 VM is specified in Smalltalk itself (in the "Blue Book" [3]) and the Squeak VM (a Smalltalk derivative) was written in a subset of Squeak itself [4]. The great thing is that it's a lot of fun to build this (at least for me) because it's actually possible to understand the whole system. I hope my students will have fun working on topics like these, too. [1] Unix, Plan 9 and the Lurking Smalltalk. In L. de Mol and G. Primiero (eds), Reflections on Programming Systems, Philosophical Studies Series, Springer - https://www.cs.kent.ac.uk/people/staff/srk21/research/papers/kell19unix-personal.pdf https://www.cs.kent.ac.uk/people/staff/srk21/research/papers... [2] The operating system: should there be one?. In Proceedings of the 7th Workshop on Programming Languages and Operating Systems, ACM, November 2013 - https://www.cs.kent.ac.uk/people/staff/srk21/research/papers/kell13operating.pdf https://www.cs.kent.ac.uk/people/staff/srk21/research/papers... [3] Adele Goldberg and David Robson, Smalltalk-80: The Language and its Implementation, ISBN 0-201-11371-6 - http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.... [4] Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay. “Back to The Future: The Story of Squeak, A Practical Smalltalk Written in Itself.” In Proceedings of the 12th ACM SIGPLAN Conference on Object-Oriented Programming (OOPSLA) 1997, 318–26, 1997 - http://files.squeak.org/docs/OOPSLA.Squeak.html http://files.squeak.org/docs/OOPSLA.Squeak.html
- scroot 6y agoI'm a backer of that project and was looking forward to doing bare-metal experiments once the RISC-V alternate SOC comes out (I have implemented some of the RISC-V ISA in Squeak). Are you also a backer? It would be dope to get this working on the ARM cortex
- johndoe0815 6y agoI have already spent some money on the Pinebook Pro, so I hope that my next notebook after this will also be RISC V-based... But the MNT reform (and the Purism Librem 5, which uses a similar SoC) is a great project and an interesting platform for bare-metal projects, since the CPU documentation is open and pretty good (I think the old Motorola heritage of Freescale shows here...) and there is also open source GPU support in the Etnaviv project [1]. So many possible projects, so little time :-). [1] https://github.com/etnaviv https://github.com/etnaviv
- throwqqq 6y agoThats a problem with modern necessities though. The web has become this bloated mess of which there is basically one canonical implementation in Chrome and one second class one in Firefox. That you need js to set up css for a basic text web page is an embarrassment. If we redid things from the bottom up a lot more people would see why having standards like http3 are a bad idea.
- infinite8s 6y agoI've been eyeing the new PinePhone as a potential candidate for a reimagining of Dynabook using Smalltalk-78 (which was built for the Notetaker) in a portable form factor.
- jecel 6y agoIt is interesting that you prefer Smalltalk-78 to -80. I also see that forks of Little Smalltalk 3 (which doesn't have metaclasses) are far more common that of LST 4 (which has them).
- johndoe0815 6y agoThe PinePhone is a very interesting platform. Unfortunately, the circle library I'm using only supports Raspberry Pis so far, so porting crosstalk to the Allwinner A64 in the PinePhone (even though the processor cores are the same as in a Raspberry Pi 3) is quite an effort. Considering the large number of Allwinner-based systems out there (by Pine64, Olimex and many others), it might still be worth to spend some time on a port of circle. I can imagine this would make a nice project for Google's Summer of Code. Smalltalk-78 shouldn't be significantly different to Smalltalk-80, so a bare metal version of it sounds feasible. There's already a project to run Smalltalk-78 in a JavaScript-based VM [1]. [1] https://www.freudenbergs.de/bert/publications/Ingalls-2014-Smalltalk78.pdf https://www.freudenbergs.de/bert/publications/Ingalls-2014-S...