News for hackers. Stuff that matters.
Re:TLA+ Action Properties by hwayne on Wednesday March 31, 2021 @03:13PM (#26651695)
We're seeing more people create DSLs that compile to TLA+. For example, salt lets you write TLA+ specs in Clojure: https://github.com/Viasat/salt
Re:TLA+ Action Properties by elcapitan on Wednesday March 31, 2021 @03:51PM (#26652209)
That's interesting, are there more examples of such languages?
Re:TLA+ Action Properties by hwayne on Wednesday March 31, 2021 @05:42PM (#26653505)
The other one I know about is PGo, which is a bidirectional go-pluscal compiler: https://github.com/UBC-NSS/pgo
Re:TLA+ Action Properties by michael_j_ward on Wednesday March 31, 2021 @05:33PM (#26653443)
wow, that feels extremely more approachable.

Are there downsides to using that?

Re:TLA+ Action Properties by pron on Thursday April 01, 2021 @04:09AM (#26657822)
I haven't used salt, but the thing to understand is that even when the syntax used is Clojure, the semantics is TLA+'s. So, for example, if you use a Clojure function syntax to define a TLA+ operator, that will not behave like a Clojure function, but like a TLA+ operator, which behaves very differently from Clojure functions. So the symbols on the screen might be more familiar, but their meaning will be different from their meaning in Clojure. I think that is more confusing, which would be a downside, but if you find that more approachable -- great, use that.
Re:TLA+ Action Properties by hwayne on Wednesday March 31, 2021 @05:38PM (#26653478)
I've never used salt myself so couldn't tell you. From a skim, it looks like they don't have module instantiation? Depending on what you're doing that could be a limitation.