[GHC] #9596: Create monoidal category framework for arrow desugarer

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: spacekitteh | Owner: Type: task | spacekitteh Priority: normal | Status: new Component: GHC API | Milestone: 7.10.1 Keywords: | Version: Architecture: Unknown/Multiple | Operating System: Difficulty: Project (more | Unknown/Multiple than a week) | Type of failure: Blocked By: | None/Unknown Related Tickets: | Test Case: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- I'm going to put it into a GHC namespace (GHC.Arrows.Experimental, perhaps) and put instances for Arrow and such in there as well. In a later ticket I'll work on the desugarer, converting erverything into SMC combinators rather than Arrow combinators. The basic design is [blog.spacekitteh.moe/posts/new-monoidal-cats.html here] -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: | Owner: spacekitteh spacekitteh | Status: new Type: task | Milestone: 7.10.1 Priority: normal | Version: Component: GHC API | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Project (more Unknown/Multiple | than a week) Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Description changed by spacekitteh: Old description:
I'm going to put it into a GHC namespace (GHC.Arrows.Experimental, perhaps) and put instances for Arrow and such in there as well. In a later ticket I'll work on the desugarer, converting erverything into SMC combinators rather than Arrow combinators.
The basic design is [blog.spacekitteh.moe/posts/new-monoidal-cats.html here]
New description: I'm going to put it into a GHC namespace (GHC.Arrows.Experimental, perhaps) and put instances for Arrow and such in there as well. In a later ticket I'll work on the desugarer, converting erverything into SMC combinators rather than Arrow combinators. The basic design is [http://blog.spacekitteh.moe/posts/new-monoidal- cats.html here] -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: | Owner: spacekitteh spacekitteh | Status: new Type: task | Milestone: 7.10.1 Priority: normal | Version: Component: GHC API | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Project (more Unknown/Multiple | than a week) Type of failure: | Blocked By: None/Unknown | Related Tickets: 7828 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Changes (by spacekitteh): * related: => 7828 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: | Owner: spacekitteh spacekitteh | Status: new Type: task | Milestone: 7.10.1 Priority: normal | Version: Component: GHC API | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Project (more Unknown/Multiple | than a week) Type of failure: | Blocked By: None/Unknown | Related Tickets: #7828 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Changes (by spacekitteh): * related: 7828 => #7828 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: | Owner: spacekitteh spacekitteh | Status: new Type: task | Milestone: 7.10.1 Priority: normal | Version: Component: GHC API | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Project (more Unknown/Multiple | than a week) Type of failure: | Blocked By: None/Unknown | Related Tickets: #7828 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Description changed by spacekitteh: Old description:
I'm going to put it into a GHC namespace (GHC.Arrows.Experimental, perhaps) and put instances for Arrow and such in there as well. In a later ticket I'll work on the desugarer, converting erverything into SMC combinators rather than Arrow combinators.
The basic design is [http://blog.spacekitteh.moe/posts/new-monoidal- cats.html here]
New description: I'm going to put it into a GHC namespace (GHC.Arrows.Experimental, perhaps) and put instances for Arrow and such in there as well. In a later ticket I'll work on the desugarer, converting erverything into SMC combinators rather than Arrow combinators. The basic design is [http://blog.spacekitteh.moe/posts/new-monoidal- cats.html here]. The current Arrow story is such a mess that makes it nearly unusable. Hopefully, by breaking it apart and making it more general, it will result in clearer code in both GHC and end-user code. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: | Owner: spacekitteh spacekitteh | Status: new Type: task | Milestone: 7.10.1 Priority: normal | Version: Component: GHC API | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Project (more Unknown/Multiple | than a week) Type of failure: | Blocked By: None/Unknown | Related Tickets: #7828 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by simonpj): I urge you to document your design on a GHC Trac wiki page, including writing out all the typing and desugaring rules, before staring work on an implementation. No sense in implementing something only to realise the design needs refinement! There is ongoing work in #7828, and you may want to talk to Jan Stolarek and Ross Paterson about it. It would be a pity to have two competing patches! Also it'll make it much easier for me (I find arrows difficult) if the arrows community is speaking with one voice about what they want to do. Of course, none of this is to stand in the way of you doing things in a fork of your own -- GHC is an open source project! It's just that if you want your work to be absorbed into HEAD, then the above things become important. Thanks Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: | Owner: spacekitteh spacekitteh | Status: new Type: task | Milestone: 7.10.1 Priority: normal | Version: Component: GHC API | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Project (more Unknown/Multiple | than a week) Type of failure: | Blocked By: None/Unknown | Related Tickets: #7828 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by jstolarek): Speaking of #7828 I have to admit my work on it has stalled in favour of #6018. Sophie, feel free to take over #7828 if you feel like it. I'll be happy to share what I've learnt and implemented. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: | Owner: spacekitteh spacekitteh | Status: new Type: task | Milestone: 7.10.1 Priority: normal | Version: Component: GHC API | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Project (more Unknown/Multiple | than a week) Type of failure: | Blocked By: None/Unknown | Related Tickets: #7828 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by spacekitteh): Will do, Simon! I'm just throwing together a quick preliminary design to put up there. Ironically, I need injective type families to provide some of the nicer things such as automatic instances for when symmetric categories implement a left or right class; the compiler gets upset at the ID type family for the monoidal category. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9596: Create monoidal category framework for arrow desugarer -------------------------------------+------------------------------------- Reporter: spacekitteh | Owner: spacekitteh Type: task | Status: closed Priority: normal | Milestone: Component: GHC API | Version: Resolution: wontfix | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #7828 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by mpickering): * status: new => closed * resolution: => wontfix Comment: This ticket is a bit nebulous. The link to the blog post is also dead so I will close it unless further information is made available. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9596#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC