[BBP Part 1] Export `Traversable()` and `Foldable()` from Prelude
ClosedPublic

Authored by hvr on Sep 13 2014, 8:40 AM.

Details

Summary

This exposes *only* the type-classes w/o any of their methods.
This is the very first step for implementing BPP (see Trac #9586), which
already requires breaking up several import-cycles leading back to Prelude.

Ideally, importing Prelude should be avoided in most base modules,
as Prelude does not define any entities, but rather re-exports
existing ones.

Test Plan

validate passes

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Lint Skipped
Unit
Unit Tests Skipped
hvr updated this revision to Diff 536.Sep 13 2014, 8:40 AM
hvr retitled this revision from to Export `Traversable()` and `Foldable()` from Prelude.
hvr updated this object.
hvr edited the test plan for this revision. (Show Details)
hvr added a reviewer: ekmett.
hvr updated the Trac tickets for this revision.
hvr added a comment.EditedSep 13 2014, 9:16 AM

Ok, the ghc-api failures seem to be some local phenomenon in my build-environment, as the Harbormaster build B821 only complained about the following 3 failures:

perf/compiler  T1969 [stat too good] (normal)
perf/compiler  T3064 [stat too good] (normal)
perf/compiler  T6048 [stat too good] (optasm)
hvr updated this revision to Diff 541.Sep 14 2014, 8:43 AM
hvr edited edge metadata.

Rebased to HEAD and updated perf-numbers

Here's the value deviation I compensated for:

=====> T3064(normal) 43 of 57 [0, 0, 0] 
  Expected    T3064(normal) max_bytes_used: 24357392 +/-20%
  Lower bound T3064(normal) max_bytes_used: 19485913 
  Upper bound T3064(normal) max_bytes_used: 29228871 
  Actual      T3064(normal) max_bytes_used: 16053888 
  Deviation   T3064(normal) max_bytes_used:    -34.1 %
*** unexpected failure for T3064(normal)

=====> T6048(optasm) 53 of 57 [0, 1, 0] 
  Expected    T3064(normal) bytes allocated: 407416464 +/-5%
  Lower bound T3064(normal) bytes allocated: 387045640 
  Upper bound T3064(normal) bytes allocated: 427787288 
  Actual      T3064(normal) bytes allocated: 385145080 
  Deviation   T3064(normal) bytes allocated:      -5.5 %

  Expected    T6048(optasm) bytes allocated: 108354472 +/-12%
  Lower bound T6048(optasm) bytes allocated:  95351935 
  Upper bound T6048(optasm) bytes allocated: 121357009 
  Actual      T6048(optasm) bytes allocated:  88186056 
  Deviation   T6048(optasm) bytes allocated:     -18.6 %
*** unexpected failure for T6048(optasm)
hvr retitled this revision from Export `Traversable()` and `Foldable()` from Prelude to [BPP Part 1] Export `Traversable()` and `Foldable()` from Prelude.Sep 14 2014, 8:47 AM
hvr edited the test plan for this revision. (Show Details)
hvr retitled this revision from [BPP Part 1] Export `Traversable()` and `Foldable()` from Prelude to [BBP Part 1] Export `Traversable()` and `Foldable()` from Prelude.
ekmett accepted this revision.Sep 14 2014, 2:26 PM
ekmett edited edge metadata.

So far so good.

What are we missing to incorporate this?

austin accepted this revision.Sep 14 2014, 8:26 PM
austin edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Sep 14 2014, 8:26 PM
hvr closed this revision.Sep 15 2014, 1:38 AM
hvr updated this revision to Diff 543.

Closed by commit rGHCc0fa383d9109 (authored by @hvr).