hermit-0.5.0.0: examples/last/Last.hs
{-# LANGUAGE CPP #-}
module Main where
#if __GLASGOW_HASKELL__ < 708
import Data.Function (fix)
#endif
import Prelude hiding (last)
-------------------------------------------------
unwrap :: ([a] -> a) -> a -> [a] -> a
unwrap f a as = f (a:as)
wrap :: (a -> [a] -> a) -> [a] -> a
wrap f [] = undefined
wrap f (a:as) = f a as
last :: [a] -> a
last [] = undefined
last [a] = a
last (_:a:as) = last (a:as)
main :: IO ()
main = print (last "hello")
-------------------------------------------------