-
Notifications
You must be signed in to change notification settings - Fork 54
features
Brandon Barker edited this page Aug 15, 2014
·
3 revisions
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)).
For now, there is no comprehensive list, but please check here for an overview.
The last know implementation for the feature is shown in parentheses.
- Checking that
prfun
andprfn
implementations 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.
- Concurrent val statement evaluation, e.g.,
If I want to indicate to the compiler that that
do_this
anddo_that
can 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).