3 ms·
Is ATS really suited to being an industrial language? How do its standard library, build tools, and library ecosystem compare to Rust's? Admittedly, if you're
by twic 6y ago
Is ATS really suited to being an industrial language? How do its standard library, build tools, and library ecosystem compare to Rust's?
Admittedly, if you're switching from C, you start with a pretty poor story about all that. But at least that story is widely and thoroughly understood.
ATS has an optional garbage collector. It seems the standard library has two implementations of each container type, one which uses GC, and one which uses linear types, so does not need GC, but is more demanding to use. That is pretty cool! What is the situation with other libraries? Is there a convention of assuming GC can be used, or that it can't, or of supporting both?
- ghostwriter 6y ago> How do its standard library, build tools, and library ecosystem compare to Rust's? as ATS is a frontend to GCC, it means that the standard library can be any battle-tested C standard library. On top of that there can be a formally-verified interface that calls underlying C API. Here's an example - https://bluishcoder.co.nz/2012/08/30/safer-handling-of-c-memory-in-ats.html https://bluishcoder.co.nz/2012/08/30/safer-handling-of-c-mem... There's also a safe Prelude and common data structures, implemented in ATS: http://www.ats-lang.org/Libraries.html http://www.ats-lang.org/Libraries.html > Is there a convention of assuming GC can be used, or that it can't, or of supporting both? afaik there's no officially defined convention, but you can have a look how this switch may look like in practice in this video - https://youtu.be/Xkg_EmERYRE?t=1742 https://youtu.be/Xkg_EmERYRE?t=1742