remix logo

Hacker Remix

Misty: A secure distributed actor language

89 points by m90 7 days ago | 38 comments

evomassiny 5 days ago

An interesting project, but it seems to be in its infancy :) I definitely want an actor based language to play with, and something with a strong type system would be perfect. gleam [1] and inko [2] look promising in this regard

[1]https://gleam.run/

[2]https://inko-lang.org/

az09mugen 4 days ago

Another less-known actor based language is pony [0], it is well documented and made some uncommon choices.

[0] https://www.ponylang.io/

linkdd 5 days ago

For the record, Elixir has been slowly introducing a set theoretic gradual type system.

throwawaymaths 5 days ago

fundamentally I think though is that for distributed systems you don't really want actors, you want ~erlang processes. The distinction being around how errors propagate between processes, and various mechanisms to deal with that. The actor model doesn't have any of that in its theoretical basis. Because in a distributed system you fundamentally have unpredictable errors, and generally erlang tries to shoehorn you into a programming style where you're ok with faults, which makes your system more fault tolerant.

The core philosophical problem with gleam is that it is trying to get rid of errors. Ok, well good luck with that.

davexunit 4 days ago

Actor systems can handle unpredictable errors and if you watch a recent talk by Douglas Crockford about actors/Misty there are Erlang-like "let it crash" examples.

__MatrixMan__ 5 days ago

I've been meaning to get to know gleam better, so I'm interested in your comment.

Do you mean that the error handling of an Erlang process is in any way diminished by using gleam? Or is it just that maybe it's unnecessary work to try so hard to prevent errors which you've already put so much into tolerating?

openrisk 5 days ago

Curious if this overlaps at all with the use cases of the spritely project [1]. Another question is whether esoteric languages are strictly needed for these architectures or simply more convenient.

[1] https://spritely.institute/

davexunit 5 days ago

Douglas Crockford has described Misty as vaporware (hence the name), whereas at Spritely we are building and shipping things that can be used. Rather than build an entirely standalone domain specific language, our research and development builds on top of Scheme because it's a multi-paradigm language that is easy to extend to implement new paradigms (such as the actor model) thanks to the powerful macro system. Lexical scope and first-class functions make Scheme amendable to the actor model (Scheme was initially created as an exploration of the actor model) and capability security. For the latter, we are inspired by Jonathan Rees' W7: A security kernel based on the lambda calculus.

http://mumble.net/~jar/pubs/secureos/secureos.html

We are also involved in a cross-organization effort to bring capabilities to everyone (on the network, at least) called OCapN and we are seeking implementers for as many programming languages as possible.

https://ocapn.org/

davexunit 5 days ago

I should clarify that when he calls it vaporware he means that he is interested in propagating the actor model concept rather than any specific language or implementation.

rurban 5 days ago

Still a lot todo.

https://github.com/douglascrockford/Misty There's only the spec and parser yet: https://mistysystem.com/doc/road_ahead.html

Giving that he was at same state a year ago also, I see not much progress

rahkiin 4 days ago

I just ticket the checkboxes on that page and now it is finished.

macintux 5 days ago

A fair bit of discussion from a year ago:

https://lobste.rs/s/r8vitn/misty_programing_language_from_cr...

https://news.ycombinator.com/item?id=38820305

There are a few older discussions on HN, but none with more than single digit comments.

dang 5 days ago

Thanks! Macroexpanded:

Misty Programming Language - https://news.ycombinator.com/item?id=38820305 - Dec 2023 (47 comments)

Creator of JSON Unveils New Programming Language 'Misty' - https://news.ycombinator.com/item?id=38680087 - Dec 2023 (6 comments)

Doug Crockford's new programming language – Misty - https://news.ycombinator.com/item?id=38620026 - Dec 2023 (3 comments)

Misty: Programing Language from the Creator of JSON - https://news.ycombinator.com/item?id=38114122 - Nov 2023 (3 comments)