
#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): Ah, after reporting those problems, I thought to myself... "let's try re- running `./boot` and `./configure` after moving the definitions of `mkRational`, `mkRationalWithExponentBase`, `FractionalExponentBase` and `rationalFromFractionalLit` to `GHC.Real` again to see if it actually bootstraps the files like I thought it might, and it seems it did (I obviously still have a lot to learn ;-)). Still, got many other compiler errors, but it at least it seems to be doing the right thing. I'm still fairly unsure about how exactly I can extract all the pieces I need to to put these functions into `GHC.Real` (or somewhere available)... Here are the errors (which make sense): {{{ libraries/base/GHC/Real.hs:832:13: error: Not in scope: type constructor or class ‘Data’ | 832 | deriving (Data, Show) | ^^^^ libraries/base/GHC/Real.hs:841:30: error: Not in scope: type constructor or class ‘FractionalLit’ Perhaps you meant ‘Fractional’ (line 194) | 841 | rationalFromFractionalLit :: FractionalLit -> Rational | ^^^^^^^^^^^^^ libraries/base/GHC/Real.hs:842:28: error: Not in scope: data constructor ‘FL’ Perhaps you meant ‘F#’ (imported from GHC.Base) | 842 | rationalFromFractionalLit (FL _ _ i e expBase) = | ^^ libraries/base/GHC/Real.hs:844:28: error: Not in scope: data constructor ‘THFL’ | 844 | rationalFromFractionalLit (THFL _ _ r) = r | ^^^^ make[1]: *** [libraries/base/dist-install/build/GHC/Real.o] Error 1 make: *** [all] Error 2 }}} So, I'll keep pottering along and see if I can't make it compile. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15646#comment:68 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler