12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- // http://www.ats-lang.org/
- (* Say Hello! once *)
- val () = print"Hello!\n"
- //
- (* Say Hello! 3 times *)
- val () = 3*delay(print"Hello!")
- val () = print_newline((*void*))
- //
- //
- (* Build a list of 3 *)
- val xs = $list{int}(0, 1, 2)
- //
- val x0 = xs[0] // legal
- val x1 = xs[1] // legal
- val x2 = xs[2] // legal
- val x3 = xs[3] // illegal
- //
- //
- extern
- fun{} f0 (): int
- extern
- fun{} f1 (int): int
- extern
- fun{} repeat_f0f1 (int): int
- //
- implement
- {}(*tmp*)
- repeat_f0f1(n) =
- if n = 0
- then f0()
- else f1(repeat_f0f1(n-1))
- // end of [if]
- //
- fun
- times (
- m:int, n:int
- ) : int = // m*n
- repeat_f0f1 (m) where
- {
- implement f0<> () = 0
- implement f1<> (x) = x + n
- }
- //
- fun
- power (
- m:int, n:int
- ) : int = // m^n
- repeat_f0f1 (n) where
- {
- implement f0<> () = 1
- implement f1<> (x) = m * x
- }
- //
- val () =
- println! ("5*5 = ", times(5,5))
- val () =
- println! ("5^2 = ", power(5,2))
- val () =
- println! ("2^10 = ", power(2,10))
- val () =
- println! ("3^10 = ", power(3,10))
- //
|