On Tue, Jan 22, 2008 at 02:09:05PM -0800, Ryan Ingram wrote: > > > On Tue, 2008-01-22 at 11:55 -0500, Michael Speer wrote: > > > > rexn ns pps = let ( ~( xs , rps ) , > > > > ~( ~( nxs ) , > > > > ~( rxs , rrps ) ) ) = ( exn nxs pps , > > > Not one of the lazy marks was required in the current version. > > Pattern bindings via let are always irrefutable; the ~s here are all > redundant.
False; let's irrefutability only applies at the topmost level. Prelude> let (a,b) = undefined in 2 2 Prelude> let (a,(b,c)) = (2,undefined) in a *** Exception: Prelude.undefined Prelude> let (a,~(b,c)) = (2,undefined) in a 2 Stefan
signature.asc
Description: Digital signature
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
