Arrowcase1
Simon Peyton-Jones
simonpj at microsoft.com
Mon Jan 8 07:01:42 EST 2007
| 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
More information about the Cvs-ghc
mailing list