[Haskell-ELTE] GADT-s kérdés
Dévai Gergely
deva at inf.elte.hu
2010. Ápr. 19., H, 21:11:59 CEST
Sziasztok!
Adott az alábbi kifejezés adattípus GADT-vel:
data Expr a where
Symbol :: String -> Expr a
Application :: Expr (a -> b) -> Expr a -> Expr b
Szeretnék egy ilyen függvényt írni:
kiemel :: Expr a -> Expr b -> (Expr a -> Expr b)
ami az első paraméterének összes előfordulását helyettesíti a második
paraméterében az eredmény lambda függvény formális paraméterével.
Annak kell teljesülnie, hogy '(kiemel x y) x' visszaadja 'y'-t.
GADT nélküli adattípusra meg tudom csinálni. Ha van ötletetek a GADT-s
változatra, megköszönöm!
Gergő
More information about the Haskell
mailing list