Mezzano on Librebooted ThinkPads
fitzsim.org
fitzsim.org
Even Rust C++, and C require special compilation without parts of the Stdlib to running in the kernel.
https://github.com/froggey/Mezzano/blob/master/supervisor/x8...
(sys.lap-x86:xor32 :eax :eax)
are assembly language statements.
It is still very far from being useful for daily use or even getting close to the development experience of an Lisp Machine but for an Hobbyist OS, it is already quite impressive. Most OS projects don't even make it to the runs on real hardware step.
Machine learning which is heavily based on arrays or array math in their implementation, hence the popularity of libs to handle them like Pandas and NumPy (inspired by J, by the way. Ask Wes McKinney), has some nice nuggets or implementations of an ELM (Extreme Learning Machine) in J called 'JELM'[3], CNNs in APL[4] with some benchmarks, or getting APL into optimized GPU code via Futhark[5] and apltail[6]. And under some of those covers is Haskell as a treat!
Ah, yes we live in interesting times!
A link to an HN post in 2020 by Andrew:
[0] https://news.ycombinator.com/item?id=24434717
[1] https://github.com/phantomics/april
[3] https://github.com/peportier/jelm
[4] https://dl.acm.org/doi/10.1145/3315454.3329960
[5] https://futhark-lang.org/blog/2016-06-20-futhark-as-an-apl-c...
[6] https://github.com/melsman/apltail/
Milton reference for the pious (with no parentheses;) or proper line breaks, sorry!)
Now Dragon grown, larger then whom the Sun Ingenderd in the Pythian Vale on slime, Huge Python, and his Power no less he seem’d Above the rest still to retain; they all Him follow’d issuing forth to th’ open Field, Where all yet left of that revolted Rout Heav’n-fall’n, in station stood or just array, Sublime with expectation when to see In Triumph issuing forth thir glorious Chief; They saw, but other sight instead, a crowd Of ugly Serpents; horror on them fell, And horrid sympathie; for what they saw, They felt themselvs now changing; down thir arms, Down fell both Spear and Shield, down they as fast, And the dire hiss renew’d, and the dire form Catcht by Contagion, like in punishment, As in thir crime.
At first glance I took that to mean Visual J++
Does anyone know of anything similar to this, but in an image like Pharo/smalltalk has? Would love a fully interactive Common Lisp environment, built in debugger, window system, etc (that's open source)
Anyway, it is a true tragedy that Genera and Interlisp do not have any modern open successor that would coin and improve the great legacy like Smalltalk has in the form of Pharo.
Mezzano is an OS and desktop environment written from scratch in Common Lisp (including a CL compiler). It is a hobbyist project with several contributors but with most of the work done by one prolific programmer.
Keep in mind WebM is only a decade old, it takes time to support a patent-free video format that has readily available implementations, including BSD-licensed software ones. I'm sure Apple will support WebM when they find some money and finally manage to bring iPhones out of beta. Not every small phone producer making it is as big as Debian.
Anyway, if the default browser does not support something it should be easy to install an alternative browser, dumb phones from fifteen years ago had this ability (remember Opera Mobile?) and I hear iPhones are a bit more advanced so I'd expect them to let you do that. What kind of web-capable half-modern device wouldn't anyway.
Apple is holding back on WebM support arguably because it has interests in forcing people to keep using patent-encumbered codecs from the MPEG-LA. They did nothing for pushing an open video format for the web, quite the contrary. They are still fighting against this. Apple is the one deserving to be pointed the finger at. Let's not divert the blame here. I hate Google but we should recognize the rare good things they occasionally do.
Without writing the entire browser from scratch, I don't personally think there's much point to this. I suspect if you traced down the library/runtime requirements for Firefox and reimplemented them in a bare metal runtime, you'd end up with something remarkably complex and not much simpler than Linux + runtime in the end.
This is assuming you want a full browser capable of everything Firefox and Chromium are, which includes things like WebGL. If you cut out components, you can definitely reach a point where a bare metal browser is sensible, the question is how much are you willing to sacrifice from "web standards" and how much work are you willing to do reimplementing a kernel, TCP/IP stack, device drivers, etc...
I cannot imagine a unikernel with all the drivers ready for a reasonable variety of PC hardware, unless it's able to reuse Linux or at least FreeBSD as a source of drivers.
Linux also uses grub as a bootloader, and has never been called slow.
> The resulting GRUB module, mezzano.mod, is largely the KBoot Mezzano loader code, ported to use GRUB facilities for memory allocation, disk access, etc. It’s feature-complete, so I released it to Sourcehut. (I’ve only tested it on Libreboot GRUB, not GRUB loaded by other firmware implementations.)