I just want to summarize what I've picked up on the list related to this question. ATS is a complex language, and trying to use all the features on a first pass is extremely difficult, even for expert ATS users. Starting with an ML style is perhaps a good first option, but you may want to make it more procedural (C-style) to get performance, and bring in linear types, ATS/LF, and dependent types to guarantee your code is working correctly later on. Of course, procedural style and linear types may be integrated at the same stage I imagine.
I think Hongwei had a tutorial posted on a mailing list a few months ago where he went from ML style, to procedural, to procedural + linear along these lines. There is probably more than one that has at least two of these steps. This doesn't touch on abstract types and templates which will also likely be important parts of projects; the former in particular seems to be important for program design.
As for a REPL interface, I'm also interested in having this, and would be happy to contribute what I can to making it happen. I'm wondering if using CINT as a backend would be viable, but I don't have enough experience to know how the GC might work in this situation.