GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing amulet.works — Amulet ML A darn rootin' tootin' languageAmulet is a simple, modern programming language based on the long tradition of the ML family, bringing improvements from the cutting-edge of programming language research. Amulet's type system supports many advanced features, including but not limited to:
Simple syntaxlet map f = function (* 1 *) | [] -> [] | Cons (x, xs) -> Cons (f x, map f xs) (* 2 *) let filter p xs = [ x | with x <- xs, p x ] (* 3 *)
Powerful typestype vect 'n 'a = (* 1 *) | Nil : vect Z 'a (* 2 *) | Cons : forall 'a. 'a * vect 'n 'a -> vect (S 'n) 'a (* 3 *) let rec map (f : 'a -> 'b) (xs : vect 'n 'a) : vect 'n 'b = match xs with | Nil -> Nil | Cons (x, xs) -> Cons (f x, map f xs)
Type-level computationtype function 'n :+ 'k begin (* 1 *) Z :+ 'n = 'n (* 2 *) (S 'n) :+ 'k = S ('n :+ 'k) (* 3 *) end let rec append (xs : vect 'n 'a) (ys : vect 'k 'a) : vect ('n :+ 'k) 'b = match xs with | Nil -> ys | Cons (x, xs) -> Cons (x, append xs ys)
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |