cvs commit: hugs98/src static.c

erkok@glass.cse.ogi.edu erkok@glass.cse.ogi.edu
Thu, 24 Oct 2002 23:34:07 -0700


erkok       2002/10/24 23:34:06 PDT

  Modified files:
    src                  static.c 
  Log:
  make sure implicit-parameters are not allowed in let-generators of
  the mdo-notation too (just like those of the do-notation).
  
  otherwise, we were getting the amusing error message:
  
     Control.Monad.Fix> mdo {let {?x = 2};print ?x}
     ERROR - Type error in application
     *** Expression     : ( $0
     *** Term           : (
     *** Type           : ()
     *** Does not match : a -> b
  
  now we get:
  
     Control.Monad.Fix> mdo {let {?x = 2};print ?x}
     ERROR - Currently illegal to bind implicit parameters in the recursive do-notation
  
  Jeff: I guess this also shows that just "not-checking" for the existence of implicit
  parameters is not sufficient to have them supported everywhere.. (plain old "do"
  also has similar problems.)
  
  Revision  Changes    Path
  1.114     +10 -3     hugs98/src/static.c