4 ms·
could be something like this (with some sugar)? data Cons a b = Nil | ConsCell a b cons = ConsCell car Nil = error car (ConsCell a b) = a
by gosub 11y ago
could be something like this (with some sugar)?
data Cons a b = Nil | ConsCell a b
cons = ConsCell
car Nil = error
car (ConsCell a b) = a
cdr Nil = error
cdr (ConsCell a b) = b
mylist = cons 'a' $ cons True $ cons "hello" Nil
mylist :: Cons Char (Cons Bool (Cons [Char] (Cons a b)))