Languages Features Creators CSV Resources Challenges Add Language
GitHub icon

ATS

ATS - Programming language

< >

ATS, aka Applied Type System, is a programming language created in 2013 by Hongwei Xi.

#278on PLDB 10Years Old 576Users
1Books 1Papers 217Repos

Try now: Riju

ATS (Applied Type System) is a programming language designed to unify 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 C and C++ programming languages. Read more on Wikipedia...


Example from Riju:
val _ = print ("Hello, world!\n") implement main0 () = ()
// Hello world in ATS implement main () = begin print ("Hello, world!"); print_newline () end
Example from Linguist:
(* ****** ****** *) // // HX-2013-11 // // Implementing a variant of // the problem of Dining Philosophers // (* ****** ****** *) // #include "share/atspre_define.hats" #include "share/atspre_staload.hats" // (* ****** ****** *) staload "{$LIBATSHWXI}/teaching/mythread/SATS/mythread.sats" (* ****** ****** *) local // #include "{$LIBATSHWXI}/teaching/mythread/DATS/mythread.dats" // in (* in of [local] *) // // HX: it is intentionally left to be empty // end // end of [local] (* ****** ****** *) local // #include "{$LIBATSHWXI}/teaching/mythread/DATS/mythread_posix.dats" // in (* in of [local] *) // // HX: it is intentionally left to be empty // end // end of [local] (* ****** ****** *) (* end of [DiningPhil2_thread.dats] *)
Example from Wikipedia:
#define BUFLEN 10 var !p_buf with pf_buf = @[byte][BUFLEN](0) // pf_buf = @[byte][BUFLEN](0) @ p_buf[14]

Keywords in ATS

abstype abst0ype absprop absview absvtype absviewtype absvt0ype absviewt0ype as and assume begin classdec datasort datatype dataprop dataview datavtype dataviewtype do end extern extype extvar exception fn fnx fun prfn prfun praxi castfn if then else ifcase in infix infixl infixr prefix postfix implmnt implement primplmnt primplement import let local macdef macrodef nonfix symelim symintr overload of op rec sif scase sortdef sta stacst stadef static staload dynload try tkindef typedef propdef viewdef vtypedef viewtypedef prval var prvar when where with withtype withprop withview withvtype withviewtype

Language features

Feature Supported Token Example
Conditionals ✓
Functions ✓
MultiLine Comments ✓ (* *)
(* A comment
*)
Comments ✓
// A comment
Line Comments ✓ //
// A comment
Semantic Indentation X

Books about ATS from ISBNdb

title authors year publisher
Ats (programming Language) Niek Yoan 2012

Publications about ATS from Semantic Scholar

title authors year citations influentialCitations
ATS (AUTOMATIC TRANSFER SWITCH) BERBASIS PROGRAMMABLLE LOGIC CONTROLLER CPM1A AUTOMATIC TRANSFER SWITCH (ATS) BASED ON PROGRAMMABLLE LOGIC CONTROLLER CPM1A Sumardi Sadi and S. Mulyati 2019 3 0
tla.html · ats.html · wren.html

View source

- Build the next great programming language · Search · Day 214 · About · Blog · Acknowledgements · Traffic · Traffic Today · GitHub · feedback@pldb.com