[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