1. 7

  2. 5

    An exciting work-in-progress is the addition of ATS support to Pure. Quick example from the ATS repo: https://github.com/githwxi/ATS-Postiats/blob/master/doc/EXAMPLE/Pure/fact_dats.pure

    1. 3

      I don’t think you should just throw “ATS” into a comment with no explanation. I even went to the link and still don’t know what ATS is.


      1. 7

        right, my bad. ATS (stands for “applied type system”) is a low-level (as in close to the metal) language, that is roughly a cross between ML and C, with the addition of linear and dependent types. like rust, it can use resource tracking via linear types in place of a garbage collector, also you can augment your code with theorems that prove its correctness, and you can do so on a piecemeal basis. one of the unique selling points is that you can start with a C codebase and gradually migrate it towards ATS, concentrating on the parts that are critical to be proven correct, or have tricky resource management issues.

        the down side is that it is significantly harder to get into than pretty much any other language i’ve seen; thus far i’ve merely been hanging out on the mailing list and keeping up with the development and community rather than writing any code in it. that’s improving all the time, though, and the bdfl, hongwei xi, is very friendly and helpful. the language also has an impressive amount of momentum for what is essentially still a single person project, though it seems to be at some sort of community inflection point right now.