Update (2/20/2017): Added a section on how to use ATS with Docker as well as support for install ATS packages using NPM (tutorial coming in a future installment of this series)! Introduction Welcome to a new series of tutorials that I plan on writing over the course of the next several months called “The Joy of ATS.” For starters, you may not be familiar with ATS, as I wasn’t until a few months ago.
Update (2/14/2017): This tutorial is now out dated! Please see the updated one here! What is ATS? From the ATS2 website, ats-lang.org: ATS is a statically typed programming language that unifies implementation with formal specification. It is equipped with a highly expressive type system rooted in the framework Applied Type System, which gives the language its name. In particular, both dependent types and linear types are available in ATS.
When someone scans your items at the supermarket or brings your food at a restaurant, it is an easy assumption that those people are simply doing their jobs; it’s rare to find someone who is passionate about scanning groceries or low-level work in the food service industry. When it comes to the job of camp counseling, most would probably assume the same thing: it’s just the means to a paycheck. For some that may be true, but for many, myself included, the paycheck is not the ends, rather, it is merely a way to justify spending two months at camp to those who “don’t get camp.