@akkartik This question may be up your alley: https://twitter.com/wcrichton/status/1275132593638215680
Someone starting on another capability-based OS and language, prototyping on seL4 and C#: https://xoofx.com/blog/2020/03/05/stark-melody-dotnet-sel4/
(I haven't read further.)
A silly scheme for an assembler that never needs to backpatch:
1. The source text can only refer to previously-defined labels.
2. The source for each procedure is backwards: *last* instruction *first*.
3. The calling convention makes it so when you call or tailcall a procedure P, that also makes the address of P available in a register. If it needs to recur, it does an indirect call through that register. Like 'self' in a Smalltalk call.
(Prompted by another scheme in @kragen 's Dercuano.)
I realized I hadn't really talked about this here, but I wrote this prototype calculator that I thin is pretty cool: http://canonical.org/~kragen/sw/dev3/rpn-edit#11_2_3_11_6_220_,_,_,_,_,_1_2_/_+_17_1_8_33_7_340_,_,_,_,_,_1_2_/_+_/
- RPN UI provides instant results
- formula display tells you not just the answer but the question
- URL encoding permits bookmarking, emailing, and otherwise sharing calculations RESTwise
- formula remains structurally editable
- all intermediate results are inspectable
- vector broadcasting operations with automatic plotting
https://mcturra2000.wordpress.com/2020/01/19/a-recursive-descent-parser-in-forthlang-and-a-nod-to-rakulang/ muses about finding a marriage of META II and Forth. I've done a couple things in that direction: https://github.com/darius/sketchbook/tree/master/metatoo/metametoo modified META II to work with a local stack instead of a register, and you could take it further towards Forth. (Only worth reading for other people exploring out from META II.)
https://github.com/darius/parson/blob/master/eg_basic.py is maybe more interesting: a BASIC expressed as a PEG grammar with interleaved actions in a vaguely Forthy style.
Well, I bit the bullet and called them just 'in' and 'out'. The saving grace is that you shouldn't have to write your code in the full-powered setting where they're defined. That is, we're polluting a global namespace, but not *the* global namespace (there isn't one).
In the programming language https://github.com/darius/cant I aimed for a core vocabulary of only ordinary short English words, no abbrevs. It's down to 4 exceptions now: stdin stdout foldl foldr. And I'm feeling stuck: what would you call them?
It may be very silly to insist on, but I like words.
The final Dercuano release is at http://canonical.org/~kragen/dercuano-20191230.tar.gz. I also hacked together an HTML renderer to produce a PDF version for hand computers at http://canonical.org/~kragen/dercuano.20191230.pdf.
The amount of actual new material since the 20191215 release is not that large: notes on Argentine electric bills, berlinite, assembler backpatching, DSP with magic sinewaves, Nomadic Furniture, powder-bed 3-D printing, multi-stage flash distillation, sorting in Prolog, and sulfuric acid.
Also I wrote an HTML renderer.
A 1954 PhD thesis on compilers, translated to English: https://www.itu.dk/people/sestoft/boehmthesis/boehm.pdf
Interesting that Paul Bernays was a supervisor. Bernays did much of the mathematical-logic work we commonly think of as Hilbert's. (It was said where I read this that this was a common pattern in German academics of the day.)
RIP Chuck Peddle https://news.ycombinator.com/item?id=21847718
The first computer I ever programmed was a 6502, a cassette-storage Apple ][ at a summer camp. Later I relied on a Victor 9000 as a larval hacker after quitting college: exciting times working through SICP and more.
Incidentally, the book *Writing interactive compilers and interpreters* by the same guy (Peter J Brown) was rather good, though super dated: about making things like a BASIC for a 70s microcomputer, exploring the design space.
A bunch of old papers on macros for portable software, starting with Strachey's "A general purpose macroprocessor": http://www.ml1.org.uk/papers.html
(Considering that my experience with m4 was unfun, this may be a dead end, but it's at least historically interesting.)
Interesting viewpoint on problems with computing that motivate some of us towards bootstrapping: https://www.cs.kent.ac.uk/people/staff/srk21/research/talks/kell19software-slides.pdf
A mostly-open laptop project I hadn't heard of: https://mntre.com/media/news_md/2019-05-20-reintroducing-reform.html
@kragen I'm setting up bubbleos on Debian to try out uncorp, and the INSTALL instructions fell a little short:
2. needed libjpeg
3. didn't mention needing node
(This is where I am now, node not yet installed just because of a little ugh field around node)
I just posted some ideas for implementation on https://gist.github.com/kragen/6bee5b4529cbde133050e9dc2e0b4b7e, including thoughts on programmable self-reproducing robots, quasimodal multitouch interfaces, cheap cooling vests, the Magic Kazoo, the Egg of the Phoenix, Loyal Objects, graded-index optical systems, Speedy Delivery, autism-assistive hearing aids, Leconscrip, a non-Turing-complete scriptable Wercam GUI, PEG-based DOMification, and a planispheric conformal map app for your phone.
still a meat clown
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!