>Hi, I'd like to propose an extremely simple extension to ghc's record >disambiguation rules,
I wonder if John is teasing us? Nothing wrt to records is simple (IMHO). John seems to be unaware of the threads on 'Records in Haskell' (ghc-users) or 'Type-Directed Name Resolution' (cafe) that have been storming for the last few months. He refers to a web page ... > ideally it would be combined with the 'update' and 'label-based > pattern-matching' extensions from this page > http://hackage.haskell.org/trac/haskell-prime/wiki/ExistingRecords ... which is several years old, requesting features that have been largely delivered in ghc's -XDIsambiguateRecordFields, -XNamedFieldPuns, and -XRecordWildCards. > my motivation is that I often have record types with multiple constructors > but common fields. Perhaps this is a different requirement to those threads above? Most are dealing with the namespacing problem of common fields in different record types. I think John means common fields under different constructors within the same type(?). > so, my proposal is that when you come across something like > (e::RecType) { blah = foo } > (with an explicit type signature like shown) It's certainly an innovation to go looking for an explicit type sig. within an expression. Does anything else in Haskell do that? > It ... would be a new thing > for patterns which generally don't allow type signatures there. > It sidesteps type checker interactions by only being triggered when an > explicit type annotation is included. > John "Extremely simple"? I don't think so. I've added a suggested approach to approximate what John is asking for to my DORF proposal. http://hackage.haskell.org/trac/ghc/wiki/Records/DeclaredOverloadedRecordFields/PolyRecordPattern -- as a **speculative** **future** development. The ease with which I could do that (both a polymorphic record update _and_ polymorphic record pattern match) suggests my proposal is powerful enough to achieve the limited aims for the namespacing issue, with some headroom. -- But then I would say that, wouldn't I! (By the way, none of the 'Records in Haskell' proposals describe themselves as "extremely simple". http://hackage.haskell.org/trac/ghc/wiki/Records AntC -- View this message in context: http://haskell.1045720.n5.nabble.com/simple-extension-to-ghc-s-record-disambiguation-rules-tp5494549p5497846.html Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com. _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users