Re: [GHC] #7495: generalizing overloaded list syntax to Sized Lists, HLists, HRecords, etc

#7495: generalizing overloaded list syntax to Sized Lists, HLists, HRecords, etc -------------------------------------+------------------------------------- Reporter: nwf | Owner: carter Type: feature request | Status: new Priority: normal | Milestone: 7.12.1 Component: Compiler | Version: 7.6.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #9883 | Blocking: 9883 | Differential Revisions: -------------------------------------+------------------------------------- Comment (by carter): hrm, thats an intersting take the analogous design I was playing with was {{{#!hs class HetCons (f:: k -> * ) (f':: m -> * ) (h :: * ) (tl:: k) (res :: m) | f-> f', f'-> f ,f h tl -> res , f h res -> tl, f res tl -> h , f' res -> h , f tl res -> h , f' tl res -> h where hcons :: h -> f tl -> f' res class HetNil nil where -- (f:: k -> * ) (a :: k) where hnil :: nil }}} i have a few example instances in https://github.com/cartazio/HetList/blob/master/HetList.hs, and type inference would work out pretty nicely. one idea that i dont think we've articulated or explored properly is understanding how to use pattern synonym machinery to overload pattern matching list syntax or something! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7495#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC