Skip to content

GHCi: Pressing Tab after `:break ` produces a lot of nonsense.

Summary

In GHCi, typing :break<blank><Tab> shows a lot of values that are not eligible for breakpoints .

Steps to reproduce

  1. Start GHCi.
  2. Load a simple Main.hs file.
  3. Type :break (Note the blank after :break!).
  4. Press the Tab key.

The generated output:

roland@goms:~/Projekte/ghctest$ ghci Main.hs
GHCi, version 8.8.1: https://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling Main             ( Main.hs, interpreted )
Ok, one module loaded.
*Main> :break 
Display all 513 possibilities? (y or n)
!!                              Prelude.Traversable             Prelude.repeat                  fromRational
$                               Prelude.True                    Prelude.replicate               fst
$!                              Prelude.Word                    Prelude.return                  gcd
&&                              Prelude.^                       Prelude.reverse                 getChar
*                               Prelude.^^                      Prelude.round                   getContents
**                              Prelude.abs                     Prelude.scaleFloat              getLine
                                <many many more lines>

However, using these values for breakpoints produces error messages:

*Main> :break Prelude.repeat
cannot set breakpoint on repeat: module GHC.List is not interpreted
*Main> :break fromRational
cannot set breakpoint on fromRational: module GHC.Real is not interpreted

Expected behavior

Show only values eligible for breakpoints.

Environment

  • GHC version used: 7.10.3 - 8.8.1
Edited by Roland Senn
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information