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.









This page is created with ATS by Hongwei Xi and also maintained by Hongwei Xi. Logo