www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - ATS -- unleashing the potential of types!

reply Pablo Ripolles <in-call gmx.net> writes:
Hello all!

I assume many of you already know about ATS...

I'd like to know your thoughts about it!

Some interesting references are:
http://www.ats-lang.org/
http://www.reddit.com/r/programming/comments/72hmw/language_shootout_ats_is_the_new_top_gunslinger/

it is damn fast!
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all

Cheers!
Oct 29 2008
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Pablo Ripolles:
 I'd like to know your thoughts about it!

Its syntax is ugly, long and unreadable. So I don't think people will use it. Bye, bearophile
Oct 29 2008
parent Ary Borenszweig <ary esperanto.org.ar> writes:
bearophile wrote:
 Pablo Ripolles:
 I'd like to know your thoughts about it!

Its syntax is ugly, long and unreadable. So I don't think people will use it.

I thought exactly the same. The syntax highlighting they recommend is pretty awful too, everything's red! For example this: print_string ("space: fall straight"); (in http://www.ats-lang.org/EXAMPLE/MISC/tetrix_dats.html ) is all red, except for the parenthesis and the semicolon. Why not distinguish the strings with another color? Also, method invocations should be black.
Oct 29 2008
prev sibling next sibling parent KennyTM~ <kennytm gmail.com> writes:
Pablo Ripolles wrote:
 Hello all!
 
 I assume many of you already know about ATS...
 
 I'd like to know your thoughts about it!
 
 Some interesting references are:
 http://www.ats-lang.org/
 http://www.reddit.com/r/programming/comments/72hmw/language_shootout_ats_is_the_new_top_gunslinger/
 
 it is damn fast!
 http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all
 
 Cheers!
 
 

fun fib4 {n:nat} (x: int n): [r:int] (FIB (n, r) | int r) = let fun loop {i,j:nat | i+j == n} {r0,r1:int} (pf0: FIB (j, r0), pf1: FIB (j+1, r1) | x: int i, a0: int r0, a1: int r1) : [r:int] (FIB (n, r) | int r) = if x > 0 then loop (pf1, FIB_ind (pf0, pf1) | x-1, a1, a0 + a1) else (pf0 | a0) in loop (FIB_bas_0 (), FIB_bas_1 () | x, 0, 1) end // end of [fib4] No thanks, I'd rather program in assembly. :(
Oct 29 2008
prev sibling parent Sergey Gromov <snake.scaly gmail.com> writes:
Wed, 29 Oct 2008 09:29:12 -0400, Pablo Ripolles wrote:
 I assume many of you already know about ATS...
 
 I'd like to know your thoughts about it!
 
 Some interesting references are:
 http://www.ats-lang.org/
 http://www.reddit.com/r/programming/comments/72hmw/language_shootout_ats_is_the_new_top_gunslinger/
 
 it is damn fast!
 http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all

The syntax is too alien for me. When I see things like these, I just give up: fn iter {n:nat} (n: int n, f: !natLt n -<cloptr1> void): void = let I simply don't get it. It may help you that I tried to learn Haskell several times and didn't manage it, for the same reason, until I found this: http://cs.anu.edu.au/Student/comp1100/haskell/tourofsyntax.html After reading this short document I was finally able to read and understand Haskell programs. Throwing together something like this for ATS could help people like me to comprehend the language with much less effort.
Oct 29 2008