λ> flatten sexpr SList {getList = [SInt 2,SChar 'a',SBool True,SDouble 1.2]} λ> :k IO IO :: * -> * λ> :k IO Int IO Int :: * λ> :k () () :: * λ> :k IO () IO () :: * λ> getChar a 'a' λ> getLine Hello, world! "Hello, world!" λ> putStrLn "Hello, world!" Hello, world! λ> getLine Test "Test" λ> main Проба Въведохте: Проба λ> main Проба Въведохте: Проба λ> main Проба Въведохте: Проба λ> main Моля, въведете палиндром: abba Благодаря! λ> main Моля, въведете палиндром: test test не е палиндром! Моля, въведете палиндром: test test не е палиндром! Моля, въведете палиндром: not not не е палиндром! Моля, въведете палиндром: help help не е палиндром! Моля, въведете палиндром: out out не е палиндром! Моля, въведете палиндром: exit exit не е палиндром! Моля, въведете палиндром: abba Благодаря! λ> print 3 3 λ> print [1,2,3] [1,2,3] λ> [1,2,3] [1,2,3] λ> 3 3 λ> read "1.23" *** Exception: Prelude.read: no parse λ> getInt 10 10 λ> getInt 1.23 *** Exception: Prelude.read: no parse λ> read "10" *** Exception: Prelude.read: no parse λ> findAverage Моля, въведете брой: 5 10 2.0 λ>