Ticket #1773 (closed proposal: fixed)

Opened 6 years ago

Last modified 5 years ago

Add Compositor class as superclass of Arrow, in Control.Compositor

Reported by: guest Owned by:
Priority: normal Milestone: Not GHC
Component: libraries/base Version: 6.6.1
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The Compositor class has two members:

class Compositor comp where
  identity :: comp a a
  (>>>) :: comp a b -> comp b c -> comp a c

with the obvious monoid. A number of useful types are Compositors but not Arrows.

Attachments

Compositor.dpatch Download (3.0 KB) - added by guest 6 years ago.
darcs patch to base
Category.dpatch Download (6.1 KB) - added by guest 6 years ago.
updated patch

Change History

Changed 6 years ago by guest

darcs patch to base

Changed 6 years ago by guest

Consensus was to add this under the name Category:

class Category cat where
  id :: cat a a
  (.) :: cat b c -> cat a b -> cat a c

id and (.) would not replace those in the Prelude. Category would become a superclass of the existing Arrow class.

Changed 6 years ago by guest

updated patch

Changed 6 years ago by guest

  • status changed from new to closed
  • resolution set to fixed

Changed 5 years ago by desegnis

Is the question allowed how packages relying on the old Arrow interface should handle the changing situation? Will they be #ifdef'ing on the version of base?

Changed 5 years ago by simonmar

  • architecture changed from Unknown to Unknown/Multiple

Changed 5 years ago by simonmar

  • os changed from Unknown to Unknown/Multiple
Note: See TracTickets for help on using tickets.