Re: [ats-lang-users] New to ATS
Unleashing the potentials of types and templates
Status: Beta
Brought to you by:
ats-hwxi
From: Hongwei Xi <hw...@cs...> - 2010-03-14 16:03:28
|
On Sun, 14 Mar 2010, Rouan van Dalen wrote: >>Hi everyone. >> >>I have stumbled onto ATS because I am interrested in non-main stream programming languages and love to try >>out interresting ones. >> >>As I have no experience in ATS and I can't find too many blogs about it, I have a few questions. Good. Let me try to address your questions. Given that I am the principal designer and implementer of ATS, I have to say that I am a bit biased :) >>1. Would you say that ATS is ready for writing applications outside the academic environment? Yes! So far, the largest software written in ATS is ATS/Anairiats, the current compiler for ATS. It consists of more than 90K lines of code. Given that ATS uses native data representation as C, it is straightforward to port C library to ATS. Given that ATS code is compiled to C first, linking with C library code is a no-brainer. I myself even use ATS for scripting, graphics, slide presentation, etc. I see no problem at all writing real applications in ATS. >>2. How expressive is its type-system, compared to say OCaml / Haskell? A great deal more expressive. It is hard to quantify this. The very strength of ATS is in its type system. It may take years of learning for one to truly unleash the power of the types in ATS (it takes a lot of time for one to use C++ effectively, too :)) >>ATS seems like a language where I can write in a functional style (which I really like) and it seems >>that ATS can be used to write fairly efficient code. >> >>I am looking to invest some substantial time into ATS if I can use it for more practical, real-world >>programming. I have never worked in the industry, so I don't really have a clear idea as to what a real-world application looks like. However, I have read a lot of open-source code, and can easily imagine to implement such code in ATS; actually, I can often easily imagine to do a better implementation in ATS by taking advantage of the type system of ATS. >>I am looking for a good, efficient language to write a compiler for my own programming language. >>I am hoping that ATS will be this language. Can anyone advise if ATS is a good language for >>this purpose and if there are any specific features of ATS that would come in handy for writing >>a compiler in ATS. It is hard to say because I don't know what your language is like. In general, writing a compiler in ATS is most like writing a compiler in a language like ocaml. However, you can certainly do more verification by making use of dependent types and linear types in ATS. If you need, I will be happy to point to you some resources for writing a compiler in ATS. If you have further questions, I will be happy to address (to the extent I can). --Hongwei Computer Science Department Boston University 111 Cummington Street Boston, MA 02215 Email: hw...@cs... Url: http://www.cs.bu.edu/~hwxi Tel: +1 617 358 2511 (office) Fax: +1 617 353 6457 (department) |