Documentation


Introduction to Programming in ATS

This book starts from the core of ATS, a statically typed call-by-value functional programming language, and introduces the reader to dependent types, linear types and the paradigm of programming with theorem-proving. It assumes no familiarity of the reader with functional programming.
Links: html code


A Tutorial on Programming Features in ATS

The primary purpose of the tutorial is to bring deep insights into a rich set of programming features in ATS and also demonstrate through concrete examples that these features can be made of effective use in the construction of high-quality programs. For someone familiar with both ML and C, it is possible to learn programming in ATS by simply studying the tutorial. However, a coherent and systematic view of ATS is diffcult to be gained from the tutorial alone.
Links: html code


ATS for Programming in the UNIX Environment

This tutorial primarily covers issues on or related to using ATS for programming in the UNIX environment. It is an attempt to demonstrate concretely how ATS can be used to do systems programming as is presented in the famous book by Richard Stevens and Steve Rago on Advanced Programming in the UNIX Environment (APUE).
Links: html

ATS/GTK Tutorial

This tutorial focuses on employing types in ATS to facilitate safe and reliable programming with GTK+, a comprehensive package for creating graphical user interfaces. While there are already many on-line tutorials on using GTK+, the current one focuses on employing types in ATS to facilitate safe and reliable programming with GTK+. In particular, it is demonstrated concretely here that linear types can be used effectively to prevent resources (e.g., various GTK objects) from being leaked due to programming errors. The reader of the tutorial is assumed to have already acquired certain level of familiarity with both ATS and GTK.
Links: html


ATS/Cairo Tutorial

This tutorial focuses on employing types in ATS to facilitate safe and reliable programming with cairo, a comprehensive drawing package supporting 2D graphics, through the API for cairo in ATS. In particular, it is demonstrated concretely that linear types can be used highly effectively to prevent resources (such as contexts created for drawing) from being leaked due to inadvertent programming errors. The reader of the tutorial is assumed to have already acquired certain level of familiarity with ATS.
Links: html

This page is created with ATS by Hongwei Xi and also maintained by Hongwei Xi. SourceForge.net Logo