[GHC] #10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: new Priority: normal | Milestone: Component: Core | Version: 7.10.1 Libraries | Operating System: Unknown/Multiple Keywords: | Type of failure: None/Unknown Architecture: | Blocked By: Unknown/Multiple | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: new Priority: normal | Milestone: Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by ekmett): This would also necessitate a change to the MINIMAL pragma, I suppose. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: new Priority: normal | Milestone: Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by ekmett): No objection here, BTW. This makes `Arrow`'s internals far more symmetrical. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: new Priority: normal | Milestone: Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by simonpj): I suggest that * You add a description to the ticket that explains what you are doing, and why it is a good thing. Perhaps add comments in the code to explain subtleties? * Pursue it through the core libraries committee (Edward clearly has it on his radar, which is good). Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: patch Priority: normal | Milestone: 7.12.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by thomie): * status: new => patch * milestone: => 7.12.1 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: patch Priority: normal | Milestone: 7.12.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Description changed by strake888: Old description: New description: Add default definitions of `first`, `second` in terms of `(***)` to let one define an `Arrow` instance in terms of `(***)` rather than `first`, which is sometimes more elegant. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: patch Priority: normal | Milestone: 7.12.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by strake888): Replying to [comment:3 simonpj]:
Perhaps add comments in the code to explain subtleties?
I'm not sure what is subtle here; you mean any subtleties in particular? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: infoneeded Priority: normal | Milestone: 7.12.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by bgamari): * status: patch => infoneeded Comment: Yes, I think it would be best to put together a formal proposal and send it through the core libraries committee. It needn't be much effort and it sounds like it shouldn't be terribly controversial but I would like to make sure that this goes through the correct channels. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: infoneeded Priority: normal | Milestone: 7.12.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Description changed by strake888: Old description:
Add default definitions of `first`, `second` in terms of `(***)` to let one define an `Arrow` instance in terms of `(***)` rather than `first`, which is sometimes more elegant.
New description: Add default definitions of `first`, `second` in terms of `(***)` to let one define an `Arrow` instance in terms of `(***)` rather than `first`, which is sometimes more elegant or convenient. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: infoneeded Priority: normal | Milestone: 7.12.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by strake888): Replying to [comment:7 bgamari]:
Yes, I think it would be best to put together a formal proposal and send it through the core libraries committee.
Done. (I wasn't sure earlier whether to do so as the core-libraries- committee chair had already seen this ticket.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: patch Priority: normal | Milestone: 8.0.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by strake888): * status: infoneeded => patch Comment: I sent a proposal to libraries@haskell.org and no one complained so I'm setting the status back to patch ☺ -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: ekmett Type: bug | Status: patch Priority: normal | Milestone: 8.0.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by simonpj): Edward, can we have your ok? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: Type: bug | Status: patch Priority: normal | Milestone: 8.0.1 Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by ekmett): * cc: ekmett (added) Comment: Granted. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:14 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance
-------------------------------------+-------------------------------------
Reporter: strake888 | Owner:
Type: bug | Status: patch
Priority: normal | Milestone: 8.0.1
Component: Core Libraries | Version: 7.10.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
-------------------------------------+-------------------------------------
Comment (by Austin Seipp

#10216: Allow arr ∧ (first ∨ (***)) as minimal definition of Arrow instance -------------------------------------+------------------------------------- Reporter: strake888 | Owner: Type: bug | Status: closed Priority: normal | Milestone: 8.0.1 Component: Core Libraries | Version: 7.10.1 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by thoughtpolice): * status: patch => closed * resolution: => fixed Comment: Thanks, merged! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10216#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC