Haskell Datatype

Run Settings
LanguageHaskell
Language Version
Run Command
data IList = INil | ICons Int IList deriving Show list_len :: IList -> Int list_len INil = 0 list_len (ICons _ l) = 1 + list_len l list_get :: IList -> Int -> Int list_get (ICons d _) 0 = d list_get (ICons _ l) n = list_get l (n - 1) list_reverse :: IList -> IList list_reverse l = list_reverse_do l INil where list_reverse_do INil l = l list_reverse_do (ICons a l) b = list_reverse_do l (ICons a b) main = print $ list_reverse $ ICons 10 (ICons 11 (ICons 12 INil))
Editor Settings
Theme
Key bindings
Full width
Lines