packages feed

hermit-0.1.8.0: examples/reverse/Reverse.hs

module Main where

import HList
import Data.Function (fix)

unwrap :: ([a] -> [a]) -> ([a] -> H a)
unwrap f = repH . f

wrap :: ([a] -> H a) -> ([a] -> [a])
wrap g = absH . g

rev :: [a] -> [a]
rev []     = []
rev (x:xs) = rev xs ++ [x]

main :: IO ()
main = print $ rev "hello"