[GHC] #13467: ghc: panic! (the 'impossible' happened), initTc: unsolved constraints

GHC ghc-devs at haskell.org
Wed Mar 22 14:47:59 UTC 2017


#13467: ghc: panic! (the 'impossible' happened), initTc: unsolved constraints
---------------------------------+----------------------------------------
        Reporter:  jhjonsson     |                Owner:  (none)
            Type:  bug           |               Status:  new
        Priority:  normal        |            Milestone:
       Component:  Compiler      |              Version:  8.0.2
      Resolution:                |             Keywords:
Operating System:  MacOS X       |         Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown  |            Test Case:
      Blocked By:                |             Blocking:
 Related Tickets:                |  Differential Rev(s):
       Wiki Page:                |
---------------------------------+----------------------------------------
Description changed by RyanGlScott:

Old description:

> NB! I'm no expert on the compiler and have not used GHC/GHCi very much. I
> have istaller the Haskell Platform and then run GHCi from within Aquamacs
> (emacs) using tthe Haskell mode already available there. I should say
> that everything worked fine and I could both load and run code. But then
> this happend when I started with the type Char and the functions ord and
> chr, so maybe the error has to do with them(?) Please change the subject
> to something relevant; I really have no clue what has happened here. Just
> like to help. /Håkan
> ---
> This is the error message:
>
> "GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
> Prelude> :load "/Users/hj/Downloads/d7012e-vt17/test.hs"
> [1 of 1] Compiling Main             ( /Users/hj/Downloads/d7012e-
> vt17/test.hs, interpreted )
> ghc: panic! (the 'impossible' happened)
>   (GHC version 8.0.2 for x86_64-apple-darwin):
>         initTc: unsolved constraints
>   WC {wc_insol = [W] –_a2n2 :: t_a2n1[tau:1] (CHoleCan: –)}
>
> Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
>
> > "
>
> ---
>
> This is my Haskell code (putting together examples for a first lecture on
> declarative languages/functional languages):
>

> module Main (main) where
> import Data.Char (ord,chr)
>
> square :: Int -> Int
> square n = n * n
>
> primes :: [Int]
> primes = filterPrime [2..]
>   where
>     filterPrime (p:xs) =
>        p : filterPrime [x | x <- xs, x `mod` p /= 0]
>
> -- take :: Int -> [a] -> [a]
>
> double :: Int -> Int
> double n = 2*n
>
> dubSq1 :: Int -> Int
> dubSq1 n = double (square n)
>
> dubSq2 :: Int -> Int
> dubSq2 = double . square
>
> -- Bool
>
> nAnd :: Bool -> Bool -> Bool
> nAnd x y = not (x && y)
>
> nAnd2 :: Bool -> Bool -> Bool
> nAnd2 True True = False
> nAnd2 False False = False
> nAnd2 x y = True
>
> -- if, the, else
>
> max2 :: Int -> Int -> Int
> max2 x y =
>   if x >= y then x else y
>
> -- Int
>
> max3 :: Int -> Int -> Int -> Int
> max3 a b c = max2 (max2 a b) c
>
> f :: Int -> Int
> f 1 = 0
> f n = if  n `mod` 2 == 0 then n `div` 2 else 3*n + 1
>

>
> isDigit :: Char -> Bool
> isDigit ch = ('0' <= ch) && (ch <= '9')
>
> isLower :: Char -> Bool
> isLower ch = ('a' <= ch) && (ch <= 'z') -- no åäö in ASCII
>
> offset :: Int
> offset = ord 'A' – ord 'a'
>
> toUpper :: Char -> Char
> toUpper ch = chr (ord ch + offset)
>

>

>

>

> f' 1 = 0
> f' n
>   | n `mod` 2 == 0 = n `div` 2
>   | otherwise = 3*n + 1
>
> life_length x
>   | x == 1 = 0
>   | otherwise = 1 + life_length(f' x)

New description:

 NB! I'm no expert on the compiler and have not used GHC/GHCi very much. I
 have istaller the Haskell Platform and then run GHCi from within Aquamacs
 (emacs) using tthe Haskell mode already available there. I should say that
 everything worked fine and I could both load and run code. But then this
 happend when I started with the type Char and the functions ord and chr,
 so maybe the error has to do with them(?) Please change the subject to
 something relevant; I really have no clue what has happened here. Just
 like to help. /Håkan
 ---
 This is the error message:

 {{{
 GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
 Prelude> :load "/Users/hj/Downloads/d7012e-vt17/test.hs"
 [1 of 1] Compiling Main             ( /Users/hj/Downloads/d7012e-
 vt17/test.hs, interpreted )
 ghc: panic! (the 'impossible' happened)
   (GHC version 8.0.2 for x86_64-apple-darwin):
         initTc: unsolved constraints
   WC {wc_insol = [W] –_a2n2 :: t_a2n1[tau:1] (CHoleCan: –)}

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

 >
 }}}

 ---

 This is my Haskell code (putting together examples for a first lecture on
 declarative languages/functional languages):

 {{{#!hs
 module Main (main) where
 import Data.Char (ord,chr)

 square :: Int -> Int
 square n = n * n

 primes :: [Int]
 primes = filterPrime [2..]
   where
     filterPrime (p:xs) =
        p : filterPrime [x | x <- xs, x `mod` p /= 0]

 -- take :: Int -> [a] -> [a]

 double :: Int -> Int
 double n = 2*n

 dubSq1 :: Int -> Int
 dubSq1 n = double (square n)

 dubSq2 :: Int -> Int
 dubSq2 = double . square

 -- Bool

 nAnd :: Bool -> Bool -> Bool
 nAnd x y = not (x && y)

 nAnd2 :: Bool -> Bool -> Bool
 nAnd2 True True = False
 nAnd2 False False = False
 nAnd2 x y = True

 -- if, the, else

 max2 :: Int -> Int -> Int
 max2 x y =
   if x >= y then x else y

 -- Int

 max3 :: Int -> Int -> Int -> Int
 max3 a b c = max2 (max2 a b) c

 f :: Int -> Int
 f 1 = 0
 f n = if  n `mod` 2 == 0 then n `div` 2 else 3*n + 1



 isDigit :: Char -> Bool
 isDigit ch = ('0' <= ch) && (ch <= '9')

 isLower :: Char -> Bool
 isLower ch = ('a' <= ch) && (ch <= 'z') -- no åäö in ASCII

 offset :: Int
 offset = ord 'A' – ord 'a'

 toUpper :: Char -> Char
 toUpper ch = chr (ord ch + offset)








 f' 1 = 0
 f' n
   | n `mod` 2 == 0 = n `div` 2
   | otherwise = 3*n + 1

 life_length x
   | x == 1 = 0
   | otherwise = 1 + life_length(f' x)
 }}}

--

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


More information about the ghc-tickets mailing list