[GHC] #9497: Silent typed holes

GHC ghc-devs at haskell.org
Fri Nov 21 23:04:59 UTC 2014


#9497: Silent typed holes
-------------------------------------+-------------------------------------
              Reporter:  merijn      |            Owner:  merijn
                  Type:  feature     |           Status:  new
  request                            |        Milestone:  7.10.1
              Priority:  normal      |          Version:  7.8.3
             Component:  Compiler    |         Keywords:  typed holes,
            Resolution:              |  warnings
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:              |       Blocked By:
  None/Unknown                       |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:  Phab:D442   |
-------------------------------------+-------------------------------------

Comment (by Austin Seipp <austin@…>):

 In [changeset:"2cc854b7133e38c7ad1107057931761782d03594/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="2cc854b7133e38c7ad1107057931761782d03594"
 Add -fdefer-typed-holes flag which defers hole errors to runtime.

 Summary:
 As proposed by Richard on Trac. This patch adds a new flag -fdefer-typed-
 holes
 and changes the semantics of the -fno-warn-typed-holes flag.

 To summarise, by default GHC has typed holes enabled and produces a
 compile
 error when it encounters a typed hole.

 When -fdefer-type-errors OR -fdefer-typed-holes is enabled, hole errors
 are
 converted to warnings and result in runtime errors when evaluated.

 The warning flag -fwarn-typed-holes is on by default. Without -fdefer-
 type-errors
 or -fdefer-typed-holes this flag is a no-op, since typed holes are an
 error
 under these conditions. If either of the defer flags are enabled
 (converting
 typed hole errors into warnings) the -fno-warn-typed-holes flag disables
 the
 warnings. This means compilation silently succeeds and evaluating a hole
 will
 produce a runtime error.

 The rationale behind allowing typed holes warnings to be silenced is that
 tools
 like Syntastic for vim highlight warnings and hole warnings may be
 undesirable.

 Signed-off-by: Merijn Verstraaten <merijn at inconsistent.nl>

 Test Plan: validate

 Reviewers: austin, simonpj, thomie

 Reviewed By: simonpj, thomie

 Subscribers: Fuuzetsu, thomie, carter

 Differential Revision: https://phabricator.haskell.org/D442

 GHC Trac Issues: #9497

 Conflicts:
         compiler/main/DynFlags.hs
 }}}

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


More information about the ghc-tickets mailing list