Skip to content

Instantly share code, notes, and snippets.

@master-q
Created March 5, 2013 10:45
Show Gist options
  • Save master-q/5089431 to your computer and use it in GitHub Desktop.
Save master-q/5089431 to your computer and use it in GitHub Desktop.
John、関数に型つけないからghcが7.6.2にあがったら難解なエラーが出るじゃないか。。。
make all-am
make[1]: ディレクトリ `/home/kiwamu/src/ajhc' に入ります
/usr/bin/ghc -XBangPatterns -O -hide-all-packages -package base -package syb -package old-time -package pretty -package editline -DUSE_EDITLINE -W -fno-warn-unused-matches -fwarn-type-defaults -i -i./compat/haskell98 -i./drift_processed -i./src -i./src -odir ./src -hidir ./src -I./src -I./src -hide-all-packages -package base -package fgl -package regex-compat -package random -package array -package directory -package bytestring -package binary -package mtl -package containers -package unix -package utf8-string -package zlib -package HsSyck -package filepath -package process -XTypeFamilies -XViewPatterns -XUndecidableInstances -XOverlappingInstances -XRecordWildCards -XRecursiveDo -XTupleSections -XParallelListComp -XGeneralizedNewtypeDeriving -XScopedTypeVariables -XFlexibleInstances -XTypeSynonymInstances -XMultiParamTypeClasses -XDeriveDataTypeable -XNoMonoLocalBinds -XNamedFieldPuns -XForeignFunctionInterface -XUnliftedFFITypes -XImplicitParams -XUnboxedTuples -XStandaloneDeriving -XDeriveFunctor -XDeriveFoldable -XDeriveTraversable -XDeriveGeneric -XFlexibleContexts -XConstrainedClassMethods -XFunctionalDependencies -XMagicHash -XPolymorphicComponents -XExistentialQuantification -XUnicodeSyntax -XPostfixOperators -XPatternGuards -XLiberalTypeSynonyms -XRankNTypes -XTypeOperators -XEmptyDataDecls -XKindSignatures --make src/Main.hs src/StringTable/StringTable_cbits.o src/cbits/md5sum.o src/cbits/lookup3.o -o ajhc
src/Util/Graph.hs:3:14: Warning:
-XDoRec is deprecated: use -XRecursiveDo or pragma {-# LANGUAGE RecursiveDo #-} instead
src/Ho/Build.hs:1:14: Warning:
-XDoRec is deprecated: use -XRecursiveDo or pragma {-# LANGUAGE RecursiveDo #-} instead
src/FrontEnd/Exports.hs:1:14: Warning:
-XDoRec is deprecated: use -XRecursiveDo or pragma {-# LANGUAGE RecursiveDo #-} instead
src/E/PrimOpt.hs:1:14: Warning:
-XDoRec is deprecated: use -XRecursiveDo or pragma {-# LANGUAGE RecursiveDo #-} instead
[138 of 182] Compiling Info.Binary[boot] ( src/Info/Binary.hs-boot, src/Info/Binary.o-boot )
[139 of 182] Compiling E.Show[boot] ( src/E/Show.hs-boot, src/E/Show.o-boot )
[142 of 182] Compiling Grin.DeadCode ( src/Grin/DeadCode.hs, src/Grin/DeadCode.o )
src/Grin/DeadCode.hs:116:19:
Could not deduce (m ~ m1)
from the context (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO
m,
Collection a,
Collection a1,
Fixable a,
Fixable a1,
Elem a1 ~ Atom,
Elem a ~ Atom)
bound by the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:(103,1)-(164,17)
or from (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1)
bound by the inferred type of
f :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1) =>
Exp -> m1 Exp
at src/Grin/DeadCode.hs:116:13-33
`m' is a rigid type variable bound by
the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:103:1
`m1' is a rigid type variable bound by
the inferred type of
f :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1) =>
Exp -> m1 Exp
at src/Grin/DeadCode.hs:116:13
Expected type: m1 b
Actual type: m Lam
In the first argument of `(>>)', namely `g e'
In the expression: g e >> return e
In an equation for `f': f e = g e >> return e
src/Grin/DeadCode.hs:116:19:
Could not deduce (b ~ Lam)
from the context (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO
m,
Collection a,
Collection a1,
Fixable a,
Fixable a1,
Elem a1 ~ Atom,
Elem a ~ Atom)
bound by the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:(103,1)-(164,17)
or from (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1)
bound by the inferred type of
f :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1) =>
Exp -> m1 Exp
at src/Grin/DeadCode.hs:116:13-33
`b' is a rigid type variable bound by
the inferred type of
f :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1) =>
Exp -> m1 Exp
at src/Grin/DeadCode.hs:116:13
Expected type: m1 b
Actual type: m Lam
In the first argument of `(>>)', namely `g e'
In the expression: g e >> return e
In an equation for `f': f e = g e >> return e
src/Grin/DeadCode.hs:135:23:
Could not deduce (m ~ m1)
from the context (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO
m,
Collection a,
Collection a1,
Fixable a,
Fixable a1,
Elem a1 ~ Atom,
Elem a ~ Atom)
bound by the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:(103,1)-(164,17)
or from (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1)
bound by the inferred type of
g :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1) =>
Exp -> m1 ()
at src/Grin/DeadCode.hs:(117,13)-(143,50)
`m' is a rigid type variable bound by
the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:103:1
`m1' is a rigid type variable bound by
the inferred type of
g :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1) =>
Exp -> m1 ()
at src/Grin/DeadCode.hs:117:13
Expected type: (Tag, Lam) -> m1 b
Actual type: (Tag, Lam) -> m Lam
In the first argument of `mapM_', namely `goAgain'
In a stmt of a 'do' block:
mapM_
goAgain
[(name, bod) |
FuncDef {funcDefBody = bod, funcDefName = name} <- defs]
In the expression:
do { mapM_
goAgain
[(name, bod) |
FuncDef {funcDefBody = bod, funcDefName = name} <- defs];
flip mapM_ (map funcDefName defs) $ \ n -> do { ... } }
src/Grin/DeadCode.hs:135:23:
Could not deduce (b ~ Lam)
from the context (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO
m,
Collection a,
Collection a1,
Fixable a,
Fixable a1,
Elem a1 ~ Atom,
Elem a ~ Atom)
bound by the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:(103,1)-(164,17)
or from (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1)
bound by the inferred type of
g :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1) =>
Exp -> m1 ()
at src/Grin/DeadCode.hs:(117,13)-(143,50)
`b' is a rigid type variable bound by
the inferred type of
g :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1) =>
Exp -> m1 ()
at src/Grin/DeadCode.hs:117:13
Expected type: (Tag, Lam) -> m1 b
Actual type: (Tag, Lam) -> m Lam
In the first argument of `mapM_', namely `goAgain'
In a stmt of a 'do' block:
mapM_
goAgain
[(name, bod) |
FuncDef {funcDefBody = bod, funcDefName = name} <- defs]
In the expression:
do { mapM_
goAgain
[(name, bod) |
FuncDef {funcDefBody = bod, funcDefName = name} <- defs];
flip mapM_ (map funcDefName defs) $ \ n -> do { ... } }
src/Grin/DeadCode.hs:144:24:
Could not deduce (m ~ m1)
from the context (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO
m,
Collection a,
Collection a1,
Fixable a,
Fixable a1,
Elem a1 ~ Atom,
Elem a ~ Atom)
bound by the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:(103,1)-(164,17)
or from (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars t [Var])
bound by the inferred type of
h' :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars t [Var]) =>
(t, Exp) -> m1 (Maybe (t, Exp))
at src/Grin/DeadCode.hs:144:13-53
`m' is a rigid type variable bound by
the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:103:1
`m1' is a rigid type variable bound by
the inferred type of
h' :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars t [Var]) =>
(t, Exp) -> m1 (Maybe (t, Exp))
at src/Grin/DeadCode.hs:144:13
Expected type: m1 b
Actual type: m Lam
In the first argument of `(>>)', namely `h (p, e)'
In the expression: h (p, e) >> return (Just (p, e))
In an equation for h': h' (p, e) = h (p, e) >> return (Just (p, e))
src/Grin/DeadCode.hs:144:24:
Could not deduce (b ~ Lam)
from the context (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO
m,
Collection a,
Collection a1,
Fixable a,
Fixable a1,
Elem a1 ~ Atom,
Elem a ~ Atom)
bound by the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:(103,1)-(164,17)
or from (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars t [Var])
bound by the inferred type of
h' :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars t [Var]) =>
(t, Exp) -> m1 (Maybe (t, Exp))
at src/Grin/DeadCode.hs:144:13-53
`b' is a rigid type variable bound by
the inferred type of
h' :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars t [Var]) =>
(t, Exp) -> m1 (Maybe (t, Exp))
at src/Grin/DeadCode.hs:144:13
Expected type: m1 b
Actual type: m Lam
In the first argument of `(>>)', namely `h (p, e)'
In the expression: h (p, e) >> return (Just (p, e))
In an equation for h': h' (p, e) = h (p, e) >> return (Just (p, e))
src/Grin/DeadCode.hs:150:23:
Could not deduce (m ~ m1)
from the context (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO
m,
Collection a,
Collection a1,
Fixable a,
Fixable a1,
Elem a1 ~ Atom,
Elem a ~ Atom)
bound by the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:(103,1)-(164,17)
or from (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars a2 [Var])
bound by the inferred type of
h :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars a2 [Var]) =>
(a2, Exp) -> m1 ()
at src/Grin/DeadCode.hs:(145,13)-(150,25)
`m' is a rigid type variable bound by
the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:103:1
`m1' is a rigid type variable bound by
the inferred type of
h :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars a2 [Var]) =>
(a2, Exp) -> m1 ()
at src/Grin/DeadCode.hs:145:13
Expected type: m1 b
Actual type: m Lam
In the expression: g e
In an equation for `h': h (p, e) = g e
In the expression:
do { usedVars <- newSupply fixer;
flip mapM_ (combineArgs fn as) $ \ (ap, Var v _) -> do { ... };
fn' <- supplyValue usedFuncs fn;
let varValue v
| v < v0 = sValue usedCafs v
| otherwise = sValue usedVars v
f e = g e >> return e
....;
.... }
src/Grin/DeadCode.hs:150:23:
Could not deduce (b ~ Lam)
from the context (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO
m,
Collection a,
Collection a1,
Fixable a,
Fixable a1,
Elem a1 ~ Atom,
Elem a ~ Atom)
bound by the inferred type of
go :: (transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m,
Collection a, Collection a1, Fixable a, Fixable a1, Elem a1 ~ Atom,
Elem a ~ Atom) =>
Fixer
-> Value a
-> Value a1
-> Supply Tag Bool
-> Supply (Tag, Int) Bool
-> Supply Var Bool
-> Bool
-> (Tag, Lam)
-> m Lam
at src/Grin/DeadCode.hs:(103,1)-(164,17)
or from (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars a2 [Var])
bound by the inferred type of
h :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars a2 [Var]) =>
(a2, Exp) -> m1 ()
at src/Grin/DeadCode.hs:(145,13)-(150,25)
`b' is a rigid type variable bound by
the inferred type of
h :: (m Lam ~ m1 b,
transformers-0.3.0.0:Control.Monad.IO.Class.MonadIO m1,
FreeVars a2 [Var]) =>
(a2, Exp) -> m1 ()
at src/Grin/DeadCode.hs:145:13
Expected type: m1 b
Actual type: m Lam
In the expression: g e
In an equation for `h': h (p, e) = g e
In the expression:
do { usedVars <- newSupply fixer;
flip mapM_ (combineArgs fn as) $ \ (ap, Var v _) -> do { ... };
fn' <- supplyValue usedFuncs fn;
let varValue v
| v < v0 = sValue usedCafs v
| otherwise = sValue usedVars v
f e = g e >> return e
....;
.... }
make[1]: *** [ajhc] エラー 1
make[1]: ディレクトリ `/home/kiwamu/src/ajhc' から出ます
make: *** [all] エラー 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment