Opened 3 years ago

Closed 3 years ago

#4868 closed proposal (wontfix)

deepseq should not depend on containers

Reported by: tibbe Owned by:
Priority: normal Milestone: Not GHC
Component: libraries (other) Version: 7.0.1
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Difficulty:
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The deepseq package depends on the containers package. This forces all packages that want to depend on deepseq in order to provide a NFData instance for exported types, to also depend on containers.

Proposal, have containers depend on deepseq, not the other way around, and define the NFData instances for the types in the containers package, in the containers package.

Change History (7)

comment:1 Changed 3 years ago by tibbe

Discussion deadline: 2 weeks.

comment:2 Changed 3 years ago by igloo

  • Milestone set to Not GHC

comment:3 Changed 3 years ago by simonmar

This would entail making deepseq a boot-package in GHC. It's not a show-stopper, I just thought I should point it out.

comment:4 Changed 3 years ago by tibbe

Supported by Henning Thielemann, Milan Straka, Malcolm Wallace, Iavor Diatchki, and Daniel Peebles. Christian Maeder suggested using packages containing only orphaned instances instead. Ian Lynagh raised some concerns about adding another boot package.

Henning Thielemann pointed out that the array package should also be included in the proposal.

Should you wish to see the whole thread, it begins with http://www.haskell.org/pipermail/libraries/2010-December/015421.html

comment:5 Changed 3 years ago by tibbe

Christian Maeder has clarified that he's neither for or against the proposal.

comment:6 Changed 3 years ago by tibbe

Ian Lynagh has clarified that he's against the proposal.

comment:7 Changed 3 years ago by tibbe

  • Resolution set to wontfix
  • Status changed from new to closed

Since consensus wasn't reached and I don't have time to pursue it I'm closing this ticket.

Note: See TracTickets for help on using tickets.