Type Aligned List of Func

Run Settings
LanguageHaskell
Language Version
Run Command
{-# LANGUAGE GADTs, KindSignatures #-} data TAList :: (* -> * -> *) -> * -> * -> * where Nil :: TAList c x x (:::) :: c x y -> TAList c y z -> TAList c x z infixr 5 ::: newtype Func a b = Func { unFunc :: a -> b } foldTAList :: a -> TAList Func a b -> b foldTAList acc Nil = acc foldTAList acc (h ::: t) = foldTAList (unFunc h acc) t half x = fromIntegral x / 2 :: Rational oneThird x = fromRational x / 3 :: Double flow :: TAList Func Int String flow = Func half ::: Func oneThird ::: Func show ::: Nil main = print $ foldTAList 12 flow
Editor Settings
Theme
Key bindings
Full width
Lines