[GHC] #7962: "ghc -e <invalid expression>" should return non-zero exit status

GHC ghc-devs at haskell.org
Wed Jun 5 08:53:14 CEST 2013


#7962: "ghc -e <invalid expression>" should return non-zero exit status
----------------------------+-----------------------------------------------
Reporter:  timmaxw          |          Owner:                  
    Type:  feature request  |         Status:  new             
Priority:  normal           |      Component:  GHCi            
 Version:  7.6.2            |       Keywords:                  
      Os:  Linux            |   Architecture:  Unknown/Multiple
 Failure:  Other            |      Blockedby:                  
Blocking:                   |        Related:                  
----------------------------+-----------------------------------------------
Changes (by timmaxw):

 * cc: timmaxw@… (added)


Comment:

 GHC exits with status 1 if it encounters errors when compiling:
 {{{
 $ cat >Test.hs
 askfljawioefjaiwojfeoawfe
 $ ghc Test.hs
 [1 of 1] Compiling Main             ( Test.hs, Test.o )

 Test.hs:1:1: Parse error: naked expression at top level
 $ echo $?
 1
 }}}
 It also exits with status 1 if the expression passed to "ghc -e" evaluates
 to bottom:
 {{{
 $ ghc -e "head []"
 <interactive>: Prelude.head: empty list
 $ echo $?
 1
 }}}
 It seems odd that GHC would return 1 in both of those cases, but return 0
 for "ghc -e <invalid expression>". Either the return value in one or both
 of those cases should be changed to 0, or the return value for "ghc -e
 <invalid expression>" should be changed to 1.

 "runghc" behaves like a call to "ghc -e main <some file>". If there is an
 error in the expression "main" (i.e. if "main" is not in scope) it returns
 0:
 {{{
 $ cat >Test2.hs
 foo = 1
 $ runghc Test2.hs

 Test2.hs:1:33:
     Not in scope: `main'
     Perhaps you meant `min' (imported from Prelude)
 $ echo $?
 0
 }}}
 But if there is an error in the text of the program itself, or if the
 program throws an exception when "main" is run, then it returns 1.

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



More information about the ghc-tickets mailing list