| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
DDC.Source.Tetra.Transform.Expand
Description
Look at type signatures and add quantifiers to bind any free type variables.
Given
mapS (f : a -> S e b) (xx : List a) : S e (List b)
= box case xx of
Nil -> Nil
Cons x xs -> Cons (run f x) (run mapS f xs)
We get:
mapS [a e b : ?] (f : a -> S e b) (xx : List a) : S e (List b)
= /(a e b : ?). box case xx of
Nil -> Nil
Cons x xs -> Cons (run f x) (run mapS f xs)