features - githwxi/ATS-Postiats GitHub Wiki
This page lists features present in ATS, either in the current version, or in a prior implementation. Additionally, possible features are listed (please do not add possible future features without discussing the viability with the ATS maintainer(s)).
Current features
For now, there is no comprehensive list, but please check here for an overview.
Prior features
The last know implementation for the feature is shown in parentheses.
- Checking that
prfunandprfnimplementations exist (ATS/Anairiats; see ATS/LF). - Dependent types for floating point values (ATS/Geizella or ATS/Proto?). Too complicated both internally (?) and using in practice.
Possible features
- Concurrent val statement evaluation, e.g.,
If I want to indicate to the compiler that that
do_thisanddo_thatcan be evaluated in parallel, I use the following syntax:
prval (pf1, pf2) = ... // [pf1] and [pf2] are separated
val ... = do_this (pf1 | ...) // do_this is checked to be pure
and ... = do_that (pf2 | ...) // do_that is checked to be pure
Basically, the requirement is that (1) do_this and do_that can
only manipulate resources they own and (2) they do not share
any resources between them. See
here for possible test code.
- Self-hosting compiler in ATS2 (not anytime soon).