Accessing ATS libraries

There are many libraries in the ATS programming language system. For instance, the name ATSLIB/prelude refers to the prelude library in ATS that targets C code generation; the name ATSLIB/libats refers to the libats library in ATS that targets C code generation as well; the name LIBATSCC2JS refers to a library for targeting Javascript (JS) code generation; the name LIBATSCC2PHP refers to a library for targeting PHP code generation; etc.

If a function is implemented as a template, the ATS compiler needs to access the source of the function implementation in order to generate code for each instance call of the function. For instance, the following line can be added to the beginning of a file so as to indicate to the compiler that ATSLIB/prelude needs to be first loaded for compiling the rest of the ATS code in the file:

// #include "share/atspre_staload.hats" //

For accessing the library ATSLIB/libats/ML (which is somewhat an ML-like portion of ATSLIB/libats), the following line can be used:

// #include "share/atspre_staload_libats_ML.hats" //

Various library functions are to be introduced in the sample code presented in this book.