archives

Linear & Dependent types of ATS applied to the Cairo graphics library

I'm on the ATS mailing list, as I suspect other LtUers are, and saw this:

I find that cairo is a package for which it is fairly easy to put an
API in ATS. So if you have in mind a package for which you would like
to add an API in ATS, it may help if you take a look to see how cairo
is handled
. The rule of thumb here is to use linear types as much as
possible to track resource usage statically; dependent types can always
take the back seat :)

It seems like ATS is a pretty pragmatic / practical implementation of advanced type systems, from what little I've heard about systems which support such things. There's a paper about using ATS to implement Linux device drivers, for example.

(If only ATS could talk to C++, or if only Felix was done, or if only C++ cough cough was different. :-)