I've been doing some more work with
atspkg and polyglot builds. It is now in
slightly better shape, and it gives us the ability to call ATS code in Haskell
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.next