HackerLangs
TopNewTrendsCommentsPastAskShowJobs

Rochus

4,115 karmajoined قبل 8 سنوات
see http://rochus-keller.ch

Submissions

Show HN: A faithful MUMPS 76 anniversary implementation – the original NoSQL DB

github.com
2 points·by Rochus·قبل 5 أيام·1 comments

Running the '80s DECUS Star Trek game on my new MUMPS 76 interpreter

github.com
3 points·by Rochus·قبل 6 أيام·1 comments

Show HN: A statically typed, cross-platform, easily bootstrappable build system

github.com
46 points·by Rochus·قبل 11 يومًا·15 comments

The MUMPS 76 Primer – anniversary edition

github.com
91 points·by Rochus·قبل 13 يومًا·59 comments

Show HN: A faithful MUMPS 76 anniversary implementation – the original NoSQL DB

github.com
3 points·by Rochus·قبل 13 يومًا·1 comments

Show HN: A parser for the ISO 10303 EXPRESS language for its 40th anniversary

github.com
7 points·by Rochus·الشهر الماضي·0 comments

Show HN: Oberon System 3 on Raspi Zero 2 (with ready SD card)

github.com
5 points·by Rochus·قبل شهرين·0 comments

Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)

github.com
245 points·by Rochus·قبل 3 أشهر·114 comments

A nice little RISC-V ESP32-P4 board with USB, HDMI and Ethernet

cnx-software.com
2 points·by Rochus·قبل 5 أشهر·0 comments

Why Rust solves a Problem we no longer have – use AI and Formal Proofs instead

rochuskeller.substack.com
8 points·by Rochus·قبل 6 أشهر·7 comments

comments

Rochus
·قبل 7 ساعات·discuss
Fascinating. Is there a "preview" anywhere?
Rochus
·قبل 17 ساعة·discuss
Sounds like English film and television series music from the seventies (e.g. "All Creatures Great and Small"). It's nice and surprising (in that Suno was able to create it). But not "more beautiful than any song I have ever heard in my life, ever" ;-)
Rochus
·قبل 17 ساعة·discuss
Lisp made the compiler’s internal tree representation directly writable by programmers. That is powerful, but it is not the same as giving programmers the best notation for expressing and maintaining large systems.

The tiny self-interpreter is a fine pedagogical artifact, but calling it software’s Maxwell equations oversells it. S-expressions are a convenient printable AST: lists whose meaning is supplied largely by the head symbol and argument positions. Excellent for macros and language experimentation; not necessarily a good human-level notation for large programs. A decent surface syntax provides useful "molecular" structure rather than exposing the "atoms".
Rochus
·أول أمس·discuss
previous post: https://news.ycombinator.com/item?id=48833164
Rochus
·أول أمس·discuss
That's a really cool project. Alex already managed to compile the Lisa sources published by the CHM in 2025 using the original Lisa tools run on Ray Arachelian's emulator (see https://github.com/alexthecat123/LisaSourceCompilation).
Rochus
·أول أمس·discuss
There seem to be a growing number of Rust based microkernel systems (Redox, Robigalia, Tock, Xous, etc.). Anyone knows what's the core benefit of LiberSystem in comparison? The contact address is funny:

LiberSoft

Liberty Street 1

Liberty City

LL-00001 Liberland

ID: LLC230002
Rochus
·قبل 4 أيام·discuss
I wouldn't worry about that. Tiobe simply measures how many search queries are made for some terms supposed to represent a programming language, and even that process is still inaccurate (e.g. because of ambiguity with other uses of the same terms). The result says nothing about how widely the language in question is actually used. There is no reason to assume a correlation between effective prevalence and the number of searches. Experienced developers are unlikely to enter the terms used by Tiobe into a search engine, and since most people are now working with LLMs, this measurement method is obsolete even more.
Rochus
·قبل 4 أيام·discuss
> RIP Object Pascal

Why? It's still there and gets even regular maintenance.
Rochus
·قبل 5 أيام·discuss
I’ve been working on a project to celebrate the anniversary of MUMPS and its first standard.

For those unfamiliar, MUMPS is an imperative language famously born at Mass General Hospital in 1966. Its defining characteristic is that the language and the database are deeply integrated. There is no impedance mismatch: hierarchical, persistent sparse arrays (called globals) are a first-class part of the language syntax, acting as an early NoSQL database decades before the term existed.

Implementing this was a lot of fun, but the lexer was a real challenge. MUMPS has highly unusual whitespace semantics, and nearly all commands can be abbreviated to one or two characters. This is probably the most complex lexer in my collection. The parser was originally generated using my EbnfStudio.

There are pre-compiled versions and a MUMPS 76 Primer with modern terminology in case you want to play with it.
Rochus
·قبل 6 أيام·discuss
To celebrate its 50th anniversary, I built a faithful implementation of the 1976 MUMPS standard.

For those unfamiliar, MUMPS was born at Mass General Hospital in 1966 and ran heavily on PDP-8s and PDP-11s. It was incredibly far ahead of its time: it had a built-in hierarchical database decades before we called it 'NoSQL', allowing hospitals to do concurrent, multi-user data storage on machines with just 8K of memory.

I wanted to build an interpreter just for the original 1976 standard to preserve how it felt and worked. It includes the database, a REPL, and it's capable of running historical software from the era (like the original STARTREK application shown in the screenshot: https://github.com/rochus-keller/MUMPS/blob/main/docs/imgs/m...).

If you want to play with it, I've provided pre-compiled binaries for Windows, Mac, and Linux, along with a modern Primer to help you learn the syntax.

See https://github.com/rochus-keller/MUMPS/blob/main/Readme.md#h... and https://github.com/rochus-keller/MUMPS/blob/main/docs/MUMPS_....
Rochus
·قبل 7 أيام·discuss
> minikotlin is written from scratch in C and emits WebAssembly GC bytecode by hand — no JVM, no LLVM, no Binaryen, no Gradle

That's amazing. What an achievement! I would like to learn more about it, particularly have a look at the source code, but I didn't find a link. Any ideas?
Rochus
·قبل 7 أيام·discuss
I find it strange that they deleted the article. The topic is relevant and of sufficient interest. I think there is a deeper bureaucratic pattern behind it. In every once-useful organization, there comes a point where the rules stop being instruments and become relics: nobody asks whether they still serve the original purpose, because the bureaucracy now exists mainly to defend its own procedures. That is basically Parkinson territory, and also the classic drift into cargo cult administration.

The result is predictable: genuinely useful things get removed, while irrelevant but procedurally compliant nonsense survives. Lenz’s “die Freuden der Pflicht” comes to mind, the self-satisfied worship of duty detached from reason or outcome. And in modern internet terms, that is just another form of enshittification: the institution keeps its forms, its process, and its moral self-image, while the actual value quietly rots away.

That said, with the advent of systems like Perplexity I barely ever go to Wikipedia anymore. And nowadays I spend more money to archive.org than Wikipedia.
Rochus
·قبل 7 أيام·discuss
I recently added a Ninja backend and a users guide and thought this might be helpful for a lot of people. It was pretty stable over the years. I have a few features on my todo list which I will implement as needed, and I recently completed my LeanDoc document language and migrated most of my specifications, which sparked further activities.
Rochus
·قبل 7 أيام·discuss
I use it instead of qmake and cmake for all my projects since four years. It is most beneficial when used with large, standalone systems that must be built from the ground up for different platforms, and where it is a good idea to possibly even integrate the build system directly.
Rochus
·قبل 7 أيام·discuss
Static typing is important when you have a large project. I spent much time with the Chromium source tree and its GN build system which is dynamically typed (like most build systems) and thus you have to actually run it (with every possible combination of parameters) to fully understand it and find bugs. I was looking for a build system for my LeanQt and LeanCreator projects (> 1 MSLOC) and eventually built my own, which was quite a natural thing given my experience with the implementation of statically typed languages.
Rochus
·قبل 8 أيام·discuss
25 gbit internet?

I'm in central Switzerland and I have 15 Mbps internet (just measured with https://www.speedtest.ch/, the cables to the nearest exchange can't handle any more traffic), and I don't know why I would need more.
Rochus
·قبل 11 يومًا·discuss
> I think the actor model comes closest to Kay's objects.

It's rather the other way round. There is no pre-Hewitt implemented semantics matching Kay's later 2001 claims; Smalltalk-72 was a synchronous token-stream interpreter rather than a system of independently active message-driven agents; FLEX shows processes, scheduling and quasi-parallel control, not objects, not messaging, not actor-style autonomous entities.
Rochus
·قبل 11 يومًا·discuss
“I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python" and "Ruby's class library is an object-oriented reorganization of Perl functionality--plus some Smalltalk and Lisp stuff" (see "An Interview with the Creator of Ruby", 2001, https://web.archive.org/web/20041220041220/http://www.linuxd...).
Rochus
·قبل 11 يومًا·discuss
The IEEE milestone about OOP is also worth reading: https://ethw.org/Milestones:Object-Oriented_Programming,_196...
Rochus
·قبل 11 يومًا·discuss
Cool; though a few facts on your landing page might need some reconsideration. See e.g. https://news.ycombinator.com/item?id=36879311.

> something like a small computer of its own

Which corresponds pretty well with the Simula I concept, published 1966 in the Communications of the ACM. A Simula event notice (time, process) in the sequencing set is just a message step(process, time) in a priority mailbox; the two are the same mathematical object, making Simula's discrete-event active processes and Kay's message-passing active objects trivially isomorphic.