| 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. | > Hmm. Would it be possible to desugar in the ordinary way first, and | > only *then* run over the result doing the proc-isng stuff? Then you | > would not have to deal with nested patterns etc. | | Desugar Core? Hmm. Binding sites might be a bit easier to find, | but we'd also need to expand the Core language, not just with proc, | but with an arrow type system. That would make it hard to share the | desugaring too, I imagine. I was wondering about an encoding of arrow stuff into Core using pseudo-function application of (-<). Probably doesn't work. Definitely don't want to extend Core! S _______________________________________________ Cvs-ghc mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/cvs-ghc