An experiment in parentheses-free lisp (in JavaScript)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

31 lines
654 B

;; This file declares the various types used by intrinsic/prelude definitions
;; It is sort of special in that it doesn't care whether there are any associated definitions
;; just that there are type definitions for that particular binding's name
deftype String (List Char)
deftype (List a)
(Empty |
(Cons a (List a)))
deftype Int Intrinsic
deftype Float Intrinsic
deftype Char Intrinsic
deftype Byte Intrinsic
deftype Void Intrinsic
(: :: (a -> (List a) -> (List a)))
(map :: ((a -> b) -> (List a) -> (List b)))
(head :: ((List a) -> a))
(tail :: ((List a) -> (List a)))
(!! :: (Int -> (List a) -> a))
(print :: (String -> (IO Void)))