{-# LANGUAGE DoRec #-} ------------------------------------------------------------------------------- --- $Id: Middle.hs#2 2010/09/30 01:19:49 REDMOND\\satnams $ ------------------------------------------------------------------------------- module Lava.Middle (middle) where import Lava.Netlist import Lava.Combinators ------------------------------------------------------------------------------- -- | Place components in a horizontal middle arrangement middle :: (a -> Out c) -> ((c, d) -> Out e) -> (b -> Out d) -> (a, b) -> Out e middle r s t (a, b) = do rec { (x, (y, z)) <- hpar2 r (hpar2 t s) (a, (b, (x,y))) } return z -------------------------------------------------------------------------------