ATS (programming language)

ATS
Paradigmsmulti-paradigm: functional, imperative, object-oriented, concurrent, modular
FamilyML: Caml: OCaml: Dependent ML
Designed byHongwei Xi
DeveloperBoston University
First appeared2006 (2006)
Stable release
ATS2-0.4.2[1] / November 14, 2020 (2020-11-14)
Typing disciplinestatic, dependent
LicenseGPLv3
Filename extensions.sats, .dats, .hats
Websitewww.ats-lang.org
Influenced by
Dependent ML, ML, OCaml, C++

In computing, ATS (Applied Type System) is a multi-paradigm, general-purpose, high-level, functional programming language. It is a dialect of the programming language ML, designed by Hongwei Xi to unify computer programming with formal specification. ATS has support for combining theorem proving with practical programming through the use of advanced type systems.[2] A past version of The Computer Language Benchmarks Game has demonstrated that the performance of ATS is comparable to that of the languages C and C++.[3] By using theorem proving and strict type checking, the compiler can detect and prove that its implemented functions are not susceptible to bugs such as division by zero, memory leaks, buffer overflow, and other forms of memory corruption by verifying pointer arithmetic and reference counting before the program compiles. Also, by using the integrated theorem-proving system of ATS (ATS/LF), the programmer may make use of static constructs that are intertwined with the operative code to prove that a function conforms to its specification.

ATS consists of a static component and a dynamic component. The static component is used for handling types, whereas the dynamic component is used for programs. While ATS primarily relies on a call-by-value functional language at its core, it possesses the ability to accommodate diverse programming paradigms, such as functional, imperative, object-oriented, concurrent, and modular.

  1. ^ Xi, Hongwei (14 November 2020). "[ats-lang-users] ATS2-0.4.2 released". ats-lang-users. Retrieved 17 November 2020.
  2. ^ "Combining Programming with Theorem Proving" (PDF). Archived from the original (PDF) on 2014-11-29. Retrieved 2014-11-18.
  3. ^ ATS benchmarks | Computer Language Benchmarks Game (web archive)

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by razib.in