As astute followers of this blog will know, I have been working on several ATS packages for Haskell; here I would like to present the fruits of these labors: the ability to use Haskell's Dhall library in ATS.
As many of you will know, Haskell is a non-strict language, with non-strictness implemented via the more familiar laziness. Laziness has come to define Haskell, and here I would like give an expansive view of why.
ATS is an incredibly apt systems programming language; as it compiles to C it enjoys all the versatility that C does. In particular, this means that we get some flexibility from the ability to import from high-level languages as well as export to them.
I wanted to give a small demonstration of ATS, partly to document a little bit of how to use atspkg, partly to show how to (safely) beat C's performance in ATS, and partly an example of how to parse command-line arguments in ATS.
You may have seen the Some Were Meant for C polemic; I do not agree with it completely but I encourage you to read it if you have not. Here, I give some comments on ATS and Rust in light of it.next