Libraries
ATS is feature-rich. It can accommodate low-level C-style
imperative programming as well as high-level ML-style functional
programming. As different programming styles often require different kinds
of library support, it is probably unsurprising that there are several
varieties of libraries in ATS available to meet certain distinct needs of
programmers (such as runtime with or without GC).
In the following presentation, let us use ATSLIB to refer to the root
directory where ATS libraries are stored, which usually coincides with the
ATS home directory.
- ATSLIB/prelude:
contains essential library packages for supporting basic programming
with ATS.
- ATSLIB/libc:
contains library packages that are mostly like API in ATS for their counterparts
in libc.
- ATSLIB/libats:
contains library packages implemented in ATS that often make advanced use
of the type system of ATS.
- ATSLIB/libats/ML:
contains library packages for supporting ML-like functional style of programming with
ATS.
- ATSLIB/libatslex:
contains library packages for supporting atslex.
- ATSLIB/contrib:
contains mostly uncategorized collection of library packages contributed
for the general purpose of supporting programming in ATS. This is also a
place for testing library packages before they are moved into one of the
above libraries.
Primary
Secondary