Pavel

Concerning "Another one", the problem is that with BangPatterns enabled, GHC 
understands
          vs ! i = ...
to mean
          vs (!i) = ...
with a bang-pattern, thus defining vs rather than (!).  Reason: the common case 
 of saying
          f !x !y = e
is so convenient that we didn't want to require parens.  But the cost is that 
you can't define (!) in an infix way.  So that's that one.

For the profiling thing, is this the same as 
http://hackage.haskell.org/trac/ghc/ticket/4462?  What happens if you say 
-dcore-lint?    We should look at #4462.

Simon

From: [email protected] 
[mailto:[email protected]] On Behalf Of Pavel Perikov
Sent: 01 February 2011 15:01
To: GHC users
Subject: Trying to build Agda 2.2.9 with ghc-7.1.20110131

If anyone interested...

Agda-2.2.9 compiled perfectly with 7.0.1 release but with 7.1.20110131 the 
compiler had a few problems including "impossible happened" when building 
profiling library.

Another one was in src/full/Agda/TypeChecking/Positivity.hs @ 260:
instance ComputeOccurrences Term where
  occurrences vars v = case v of
    Var i args ->
      maybe Map.empty here (vars ! fromIntegral i)
  ..........................
    where
         vs ! i
         | i < length vs = vs !! i
         | otherwise     = error $ show vs ++ " ! " ++ show i ++ "  (" ++ show 
v ++ ")"

Compiler complained about ! in "vars ! fromIntegral" suggesting Map.!

after i changed the code to

    where
         (!) vs  i
         | i < length vs = vs !! i
         | otherwise     = error $ show vs ++ " ! " ++ show i ++ "  (" ++ show 
v ++ ")"

everything proceeded as expected.

I also had to give -XFlexibleInstances and -XBangPatterns that was not required 
previously.
Agda can be got from
darcs get http://code.haskell.org/Agda/

pavel.
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to