From Seo Wiki - Search Engine Optimization and Programming Languages

ATS (Applied Type System) is a programming language whose stated purpose is to support theorem proving in combination with practical programming through the use of advanced type systems. The performance of ATS has been demonstrated to be comparable to that of the C and C++ programming languages.[1]

History

ATS is derived mostly from the ML and Objective Caml programming languages. An earlier language, Dependent ML, by the same author has been incorporated by the language.

Theorem proving

The primary focus of ATS is to support theorem proving in combination with practical programming.[2]

Data representation

According to the author (Hongwei Xi), ATS's efficiency[3] is largely due to the way that data is represented in the language and tail-call optimizations (which are generally important for the efficiency of functional programming languages). Data is stored in a flat or unboxed representation rather than a boxed representation.

datatype / dataviewtype

dataviewtype

A dataviewtype is similar to a datatype, but it is linear. With a dataviewtype, the programmer is allowed to explicitly free (or deallocate) in a safe manner the memory used for storing constructors associated with the dataviewtype.[8]

External links

Manual Draft. Some examples refer to features or routines not present in the release (Anairiats-0.1.6) (e.g.: print overload for strbuf, and using its array examples gives errmsgs like "use of array subscription is not supported".)