ATS is known for its sophisticated type system, but it also has a template system that has been the focus of recent work. Rather than going into technical details or comparing templates to other forms of generic programming, I wanted to give an example.
Suppose we want to count the number of lines in a file. Rust has a crate that would seem to help us, namely, bytecount.
Here I'd like to show an example of runtime complexity, arising from a practical problem.
A question in compiler design is: what optimizations should a given compiler perform? Optimizations for functional languages in particular are not well-known; it is not obvious which optimizations will provide the greatest speedup on user code.prev | next