
5 Aug
2010
5 Aug
'10
4:14 p.m.
input, output and verbose are bindings introduced by pattern matching within the let clause. The Options datatype has field labels optVerbose, optInput and optOutput: data Options = Options { optVerbose :: Bool , optInput :: IO String , optOutput :: String -> IO () } Pattern matching can elide field labels, this let binding is equivalent: let (Options verbose input output) = opts