I can't actually cheok right now,but```convert (Var mv) = dov <- mvreturn $ Var v```is the "do notation" which should work.(and similarly for the other expression)On Thu, Nov 25, 2021, 19:13 mike h <mike_k_houghton@yahoo.co.uk> wrote:Hi,
This isn’t homework! I’ve been staring at this for several hours - and that usually works.
I also tried typed holes to no avail. I thinks it is quite simple really but I’ve gone past seeing it!
I have
data Expr a = Var a | Add (Expr a) (Expr a)
and would like to write
convert :: Expr (Maybe a) -> Maybe (Expr a)
which returns Nothing if there is an occurrence of Nothing inside the
input expression e, otherwise it returns Just e', where e'
is a new expression where the internal values of type a are not wrapped in Just.
You should use the functionality of the Maybe monad to implement
the convert function.
Thanks
Mike
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners