RE: Arrowcase1
Simon Peyton-Jones <[email protected]> Mon, 8 Jan 2007 12:01:42 +0000
| Newsgroups | gmane.comp.lang.haskell.cvs.all |
|---|---|
| Message-ID | <DCA83D5F3861C941808187D4D3878750015349D6D9__37231.0548824773$1168257715$gmane$org@EA-EXMSG-C312.europe.corp.microsoft.com> |
| 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