
Just x <- y is a construction similar to let Just x = y which is the same as x = case y of Just z -> z Nothing -> error "pattern match failed" Some matches are mapped to errors but not explicitly. Just x = y avoid some boilerplate at the cost of hiding the non exhaustive matches that may raise unexpected errors. Just x <- y is the same as z <- y let x = case z of ... On Tue, 2017-01-17 at 17:34 +0000, PICCA Frederic-Emmanuel wrote:
Just gamma <- get_position' (h5gamma d) 0 Just delta <- get_position' (h5delta d) idx Just wavelength <- get_position' (h5wavelength d) 0
is asking for a trouble down the road. Use a case to pattern match on nothing, (or `maybe`, or LambdaCase if you are into extensions).
I tought that was the purpose of the Monad to avoid writting these boillerplate ?
What I am missing ?
Cheers
Frederic _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners