u - - , a undefined :: a.
, :
{-
{-
class Loopy a
instance Loopy a => Loopy a
x :: Loopy a => a
x = undefined
x ghci, , a, . ; , GHC , .
, , , . .
, , :
Eval (App (Lam (App X X)) (Lam (App X X))) u
instance (Eval s s', Apply s' t u) => Eval (App s t) u
, :
Eval (Lam (App X X)) s'
Apply s' (Lam (App X X)) u
, :
instance Eval (Lam t) (Lam t)
, , :
Apply (Lam (App X X)) (Lam (App X X)) u
instance (Subst s t u, Eval u u') => Apply (Lam s) t u'
, :
Subst (App X X) (Lam (App X X)) u
Eval u u'
instance (Subst s u s', Subst t u t') => Subst (App s t) u (App s' t')
, ,
Subst X (Lam (App X X)) s'
Subst X (Lam (App X X)) t'
Eval (App s' t') u'
, :
instance Subst X u u
, :
Eval (App (Lam (App X X)) (Lam (App X X))) u'
, , ! , . , , . , , ! .