packages feed

multistate-0.1.1: src/Data/HList/HList.hs

{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeFamilies #-}

module Data.HList.HList(
  HList(..)
) where



import Prelude hiding (reverse)

import Types.Data.List ( Cons, Null )



data HList a where
  TCons :: x -> HList xs -> HList (Cons x xs)
  TNull :: HList Null

instance Show (HList Null) where
  show _ = "()"

instance (Show a, Show (HList b)) => Show (HList (Cons a b)) where
  show (TCons x y) = "(" ++ show x ++ "," ++ show y ++ ")"