Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data SArgs :: ([Hakaru] -> Hakaru -> *) -> [([Hakaru], Hakaru)] -> * where Source #
The arguments to a (
node in the :$
)Term
; that is, a list
of ASTs, where the whole list is indexed by a (type-level) list
of the indices of each element.
End :: SArgs abt '[] | |
(:*) :: !(abt vars a) -> !(SArgs abt args) -> SArgs abt ('(vars, a) ': args) infixr 5 |
Instances
Traversable21 SArgs Source # | |
traverse21 :: Applicative f => (forall (h :: k1) (i :: k2). a h i -> f (b h i)) -> SArgs a j -> f (SArgs b j) Source # | |
Foldable21 SArgs Source # | |
Functor21 SArgs Source # | |
JmEq2 abt => JmEq1 (SArgs abt :: [([Hakaru], Hakaru)] -> *) Source # | |
Eq2 abt => Eq1 (SArgs abt :: [([Hakaru], Hakaru)] -> *) Source # | |
Show2 abt => Show1 (SArgs abt :: [([Hakaru], Hakaru)] -> *) Source # | |
Eq2 abt => Eq (SArgs abt args) Source # | |
Show2 abt => Show (SArgs abt args) Source # | |
type LC (a :: Hakaru) = '('[], a) Source #
Locally closed values (i.e., not binding forms) of a given type. TODO: come up with a better name
getSArgsSing :: forall abt xs m. Applicative m => (forall ys a. abt ys a -> m (Sing a)) -> SArgs abt xs -> m (SArgsSing xs) Source #