Re: Arrowcase1

Ross Paterson <[email protected]> Sun, 14 Jan 2007 01:06:11 +0000
Newsgroups gmane.comp.lang.haskell.cvs.all
Message-ID <20070114010611.GA13980__32078.9078985856$1168736783$gmane$org@soi.city.ac.uk>
On Mon, Jan 08, 2007 at 12:01:42PM +0000, Simon Peyton-Jones wrote:
> | In the comment under collectPatsBinders, ignoring dictionary binders in
> | ConPatOut is justified in terms of lazy patterns.  Presumably there is
> | more to this story, because if such dictionaries are guaranteed to be
> | unused it would be safe for arrows too.
> 
> They are only unused in lazy patterns, but not for strict ones.  Indeed,
> they should be *empty* for lazy patterns; so I guess it'd be safe to
> gather the dict bindings too, if that makes it easier for you.

Changing the ConPatOut line to also collect the pat_binds fixes arrowcase1
(and presumably anywhere else I handle patterns), but I don't know if
it will break anything elsewhere.