Re: [ats-lang-users] Please keep types simple!
Unleashing the potentials of types and templates
Status: Beta
Brought to you by:
ats-hwxi
From: Hongwei Xi <hw...@cs...> - 2011-09-28 19:34:50
|
On Wed, 28 Sep 2011, Raoul Duke wrote: >>hi, >> >>On Wed, Sep 28, 2011 at 9:11 AM, Hongwei Xi <hw...@cs...> >>> dependent types and linear types, though it is completely uncalled for :) >>> I have met a lot people genuinely interested in ATS. Unfortunately, they >>> almost always gave up shortly after trying ATS a bit because they quickly >>> buried themselves in complex types which I myself would have difficulty >>> handling. Here is my sincere advice: >> >>In some ways, this kind of thing is more important to me than ATS >>itself because this strikes me as more general understanding of how to >>use linear and dependent types, so could be used in other language >>settings. >> >>So pretty please do post / blog / publish more of these thoughts! Maybe someone good at programming in C could try to use views and viewtypes to explain various good practices mentioned in numerous C books (e.g., K&R, one by Robert Pike and Kernighan). This could be very helpful to a large body of C programmers out there. Again, let me use the following example I picked up from a book by Richard Feynman: We all know that one can cool down a bowl of hot soup by blowing at it. Once you know that water is made of molecules, you can easily explain this practice as blowing away fast moving water molecules lowers the average speed of molecules in the soup, thus reducing its temperature. This also explains why blowing at a bowl of soup covered with oil or fat is not nearly as effective. With views and viewtypes, you can similarly explain many so-called good programming practices in C. With ATS, you don't even need to follow such practices, sometimes as you know you can rely on the type system of ATS to maintain an invariant that could otherwise be difficult to do in C. For instance, using pointer arithmetic is often discouraged in C but this certainly is not the case in ATS. --Hongwei PS: speaking of soup covered with oil, please be very careful if you order something called "guo qiao mi xian" in a Chinese restaurant; it is a scalding hot (80-90 Celcius?) noodle soup; be sure that you finish the noodle before trying to taste the soup :) 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) |