I couldn’t wait to share this one as it’s one of most interesting papers on PL I’ve read in a long time.
The overall language is strongly-typed, object-capability, parallel, concurrent, and possibly “highly-optimizable.” Like Dijkstra or Paul Karger, she sets her language up in layers ranging from weakest and easy to analyze up to powerful but hard to analyze. You use what you need. Each layer is kept pretty consistent with what’s below vs hodgepodge of stuff you see in languages such as C++. She also does a great job explaining each concept in isolation plus how it ties in to others. Although usually gibberish to me, I even understood (I think…) some of her type system stuff since she expresses it in a form that just looks like programming. The depth of this paper and her ability to explain it to the audience makes her seem awesome to me. Curious what other Lobsters think about that as I could just be overestimating it being out of her sub-field.
@SeanTAllen I’m curious what you think of it since Pony was first thing that came to mind when I looked at its goals. It looks more impressive in design strategy while Pony is more practical for obvious reasons (people are using it! haha).
I have a busy few weeks at work as we prep to open up the source to our product but I’ll take a look when I get a chance.
Aight, sounds good!
@nickpsecurity what goals were you referring to? anything in particular i should be looking at?
The full language is aimed at distributed, secure programming with strong correctness. The layering lets one trade-off expressiveness vs correctness at many levels. It aims for consistency (symmetry) between levels much as possible. Its error handling is more like a database, too.
So, just your general thoughts or impressions on the full language, use of sublanguages, ability go show correctness of one vs othet, or other attributes.
So there is no actual implementation yet?
“A prototype implementation on top of Idris is in (very) early development.”
Looks like answer is no. She seems to be mostly hammering on the design more than implementing it. Probably since she’d have to keep throwing implementations away.