|
Tutorial on ATS/AnairiatsThis website contains a set of tutorials for people interested in learning ATS/Anairiats. ATS is a functional language that supports a variety of advanced types such as dependent types and linear types, and Anairiats is the current implementation of ATS. ATS/Anairiats can run with or without (systematic) garbage collection (GC), and its performance is comparable to imperative languages like C and C++. We encourage ATS programmers to write tutorials on ATS features, which are rich and often complex, and make them available to the ATS community.
Tutorial Topics (all-topics-in-one-file)This tutorial is written mostly in the style of learn-by-examples. As ATS is first and foremost a functional programming language, knowledge of functional programming should be of great help for learning ATS. In particular, knowledge of Standard ML (SML) or Objective Caml (OCaml) can be a big plus as a considerably large part of the syntax of ATS is adopted from SML. In addition, some solid understanding of C (especially, memory allocation/deallocation in C) can be highly valuable for learning features involving linear types in ATS.The name of the ATS home directory is stored in the environment variable ATSHOME, and we often use $ATSHOME to refer to this name. In the tutorial, if a file FILE is mentioned, then the absolute full name for this file is $ATSHOME/FILE unless specified otherwise.
Primary Tutorial TopicsSecondary Tutorial TopicsThis page is maintained by Hongwei Xi. As always, your comments are welcome. |