Advertisement
gatoatigrado3

Untitled

Mar 11th, 2012
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.46 KB | None | 0 0
  1. class (Applicative 𝔪, Monad 𝔪) => DefaultParam 𝔪 α where
  2. def_param :: (𝔪 α, α -> 𝔪 ())
  3. return_typ_assign :: α -> α -> 𝔪 ()
  4. return_typ_assign =
  5. error "define either def_return_typ or return_typ_assign"
  6.  
  7. instance (HzMonadBase 𝔪, ExprConstr (ExprTyp 𝔪) α) =>
  8. DefaultParam 𝔪 (ExprT (ExprTyp 𝔪 α)) where
  9.  
  10. def_param = (var "param" bottom, \x -> var "arg" x >> return ())
  11. return_typ_assign = assign
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement