Everything about ATS (programming language)
Programming language
In computing, ATS 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. 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++. 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 runs. 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. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: ATS (programming language)A 5-minute orientation
- Skim a recent paper: Automatic Programming: Large Language Models and BeyondInfluential work since 2022
- Pick up a classic book: Assembly language from square oneThe most-reprinted book on the subject
- Read the landmark paper: ELIZA—A Computer Program For the Study of Natural Language Communication Between Man and MachineCited 3,812 times
- Go sideways: Standard MLA closely related topic
- Go sideways: Kolmogorov complexityA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
ELIZA—A Computer Program For the Study of Natural Language Communication Between Man and Machine
Natural language programming
Programming language standardisation
Natural Language programming
TWo:Educational Programming Language
Programming Language Translation
Programming Language Translation
Language Laboratory Programming
🆕 Influential since 2022
📚 Books worth reading
Assembly language from square oneJeff Duntemann · 1989
The complete guide to IBM PC AT assembly languageHarley Hahn · 1987
How to reach and teach all children through balanced literacySandra F. Rief, Sandra F., M.A. Rief · 2007
Assembly language programming with the IBM PC ATLeo J. Scanlon · 1986
8087 applications and programming for the IBM PC, XT, and ATRichard Startz · 1985- 📕SYMAPElliott E. Dudnik · 1972
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Standard ML Standard ML (SML) is a general-purpose, high-level, modular, functional programming language with compile-time type checking and type inference. It is…
- Kolmogorov complexity In algorithmic information theory (a subfield of computer science and mathematics), the Kolmogorov complexity of an object, such as a piece of text, is…
- Pointer (computer programming) I do consider assignment statements and pointer variables to be among computer science's "most valuable treasures." — Donald Knuth, Structured Programming…
- Dafny Dafny is an imperative and functional compiled language that compiles to other programming languages, such as C#, Java, JavaScript, Go, and Python. It…
- OCaml OCaml (/oʊˈkæməl/ oh-KAM-əl, formerly Objective Caml) is a general-purpose, high-level, multi-paradigm programming language which extends the Caml dialect…
- Object composition In computer science, object composition and object aggregation are closely related ways to combine objects or data types into more complex ones. In conversation…
- Variable-length array In computer programming, a variable-length array (VLA), also called variable-sized or runtime-sized, is an array data structure whose length is determined…
- Compatibility of C and C++ The C and C++ programming languages are closely related but have many significant differences. C++ began as a fork of an early, pre-standardized C, called…