[GHC] #15646: ghci takes super long time to find the type of large fractional number

GHC ghc-devs at haskell.org
Tue Jan 1 06:48:06 UTC 2019


#15646: ghci takes super long time to find the type of large fractional number
-------------------------------------+-------------------------------------
        Reporter:  Johannkokos       |                Owner:
                                     |  JulianLeviston
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  GHCi              |              Version:  8.4.3
      Resolution:                    |             Keywords:  newcomer
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #5692             |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by JulianLeviston):

 moving the functions and types relating to `FractionalLit` causes a bunch
 of errors after running `./boot && ./configure && make -j4` ... I'll paste
 them below.

 It seems like the `GHC.Real` that's imported into `BasicTypes` is not the
 one that I've added things to in `libraries/base/GHC/Real.hs` however
 after talking to bgamari the other day he seemed to be sugesting that this
 was the only one that gets bootstrapped, so I'm pretty confused. All I did
 was change the import to `import GHC.Real hiding (infinity)` and I would
 have thought it'd import everything needed. Obviously something's wrong
 with my assumption there somewhere, because `FractionalLit` is
 *definitely* at the bottom of the `GHC.Real` module, and AFAICS it's
 exporting everything (no explicit exports)

 Can anyone give me some direction about how I can understand enough to
 learn how to understand what's wrong here, and how to fix it?


 {{{
 compiler/basicTypes/BasicTypes.hs:100:26: error:
     Not in scope: type constructor or class ‘FractionalLit’
     Perhaps you meant ‘Fractional’ (imported from GHC.Real)
     |
 100 |         IntegralLit(..), FractionalLit(..),
 FractionalExponentBase(..),
     |                          ^^^^^^^^^^^^^^^^^

 compiler/basicTypes/BasicTypes.hs:100:45: error:
     Not in scope: type constructor or class ‘FractionalExponentBase’
     |
 100 |         IntegralLit(..), FractionalLit(..),
 FractionalExponentBase(..),
     |
 ^^^^^^^^^^^^^^^^^^^^^^^^^^

 compiler/basicTypes/BasicTypes.hs:101:28: error:
     Not in scope: ‘negateFractionalLit’
     |
 101 |         negateIntegralLit, negateFractionalLit,
     |                            ^^^^^^^^^^^^^^^^^^^

 compiler/basicTypes/BasicTypes.hs:102:24: error:
     Not in scope: ‘mkFractionalLit’
     |
 102 |         mkIntegralLit, mkFractionalLit, mkTHFractionalLit,
 rationalFromFractionalLit,
     |                        ^^^^^^^^^^^^^^^

 compiler/basicTypes/BasicTypes.hs:102:41: error:
     Not in scope: ‘mkTHFractionalLit’
     |
 102 |         mkIntegralLit, mkFractionalLit, mkTHFractionalLit,
 rationalFromFractionalLit,
     |                                         ^^^^^^^^^^^^^^^^^

 compiler/basicTypes/BasicTypes.hs:102:60: error:
     Not in scope: ‘rationalFromFractionalLit’
     |
 102 |         mkIntegralLit, mkFractionalLit, mkTHFractionalLit,
 rationalFromFractionalLit,
     |
 ^^^^^^^^^^^^^^^^^^^^^^^^^

 compiler/basicTypes/BasicTypes.hs:103:9: error:
     Not in scope: ‘integralFractionalLit’
     |
 103 |         integralFractionalLit,
     |         ^^^^^^^^^^^^^^^^^^^^^
 <<ghc: 241948240 bytes, 67 GCs, 9308388/20905880 avg/max bytes residency
 (5 samples), 60M in use, 0.001 INIT (0.004 elapsed), 0.185 MUT (0.215
 elapsed), 0.177 GC (0.194 elapsed) :ghc>>
 make[1]: *** [compiler/stage1/build/BasicTypes.o] Error 1
 make[1]: *** Waiting for unfinished jobs....
 make: *** [all] Error 2
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15646#comment:77>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list