I am answering some questions posted here:
https://groups.google.com/forum/?fromgroups=#!topic/ats-lang-users/yg50Xr6ECAc
I have been stressing that there is no semantic gap between ATS and C.
What I mean essentially is that one can visualize a C program one wants to
write and then write it in ATS. This is very important for low-level
programming.
Of course, we can compile pretty much any programming languages into C. For
instance, we can compile ML into C. However, it is in general difficult to
write a C program in ML because of the great semantic gap between these two
languages.
So simply compiling to C is probably not enough for low-level programming.
We need precision. We need to be able to generate the kind of C programs
that require minimal run-time support (which is present primarily for
bridging semantic gap).
–Hongwei