Rasterific-0.7(.1) claim being compatible with base-4.7 and base-4.6; GHC 7.8 however disagrees:
Configuring component lib from Rasterific-0.7
Preprocessing library Rasterific-0.7...
[ 1 of 28] Compiling Graphics.Rasterific.QuadraticFormula ( src/Graphics/Rasterific/QuadraticFormula.hs, /tmp/matrix-worker/1479656043/dist-newstyle/build/x86_64-linux/ghc-7.8.4/Rasterific-0.7/build/Graphics/Rasterific/QuadraticFormula.o )
[ 2 of 28] Compiling Graphics.Rasterific.MiniLens ( src/Graphics/Rasterific/MiniLens.hs, /tmp/matrix-worker/1479656043/dist-newstyle/build/x86_64-linux/ghc-7.8.4/Rasterific-0.7/build/Graphics/Rasterific/MiniLens.o )
[ 3 of 28] Compiling Graphics.Rasterific.Linear ( src/Graphics/Rasterific/Linear.hs, /tmp/matrix-worker/1479656043/dist-newstyle/build/x86_64-linux/ghc-7.8.4/Rasterific-0.7/build/Graphics/Rasterific/Linear.o )
[ 4 of 28] Compiling Graphics.Rasterific.Operators ( src/Graphics/Rasterific/Operators.hs, /tmp/matrix-worker/1479656043/dist-newstyle/build/x86_64-linux/ghc-7.8.4/Rasterific-0.7/build/Graphics/Rasterific/Operators.o )
[ 5 of 28] Compiling Graphics.Rasterific.Types ( src/Graphics/Rasterific/Types.hs, /tmp/matrix-worker/1479656043/dist-newstyle/build/x86_64-linux/ghc-7.8.4/Rasterific-0.7/build/Graphics/Rasterific/Types.o )
src/Graphics/Rasterific/Types.hs:263:36:
Could not deduce (Functor m) arising from a use of ‘<$>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m => (Point -> m Point) -> Line -> m Line
at src/Graphics/Rasterific/Types.hs:263:5-14
Possible fix:
add (Functor m) to the context of
the type signature for
transformM :: Monad m => (Point -> m Point) -> Line -> m Line
In the first argument of ‘(<*>)’, namely ‘Line <$> f a’
In the expression: Line <$> f a <*> f b
In an equation for ‘transformM’:
transformM f (Line a b) = Line <$> f a <*> f b
src/Graphics/Rasterific/Types.hs:263:44:
Could not deduce (Control.Applicative.Applicative m)
arising from a use of ‘<*>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m => (Point -> m Point) -> Line -> m Line
at src/Graphics/Rasterific/Types.hs:263:5-14
Possible fix:
add (Control.Applicative.Applicative m) to the context of
the type signature for
transformM :: Monad m => (Point -> m Point) -> Line -> m Line
In the expression: Line <$> f a <*> f b
In an equation for ‘transformM’:
transformM f (Line a b) = Line <$> f a <*> f b
In the instance declaration for ‘Transformable Line’
src/Graphics/Rasterific/Types.hs:298:42:
Could not deduce (Functor m) arising from a use of ‘<$>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m => (Point -> m Point) -> Bezier -> m Bezier
at src/Graphics/Rasterific/Types.hs:298:5-14
Possible fix:
add (Functor m) to the context of
the type signature for
transformM :: Monad m => (Point -> m Point) -> Bezier -> m Bezier
In the first argument of ‘(<*>)’, namely ‘Bezier <$> f a’
In the first argument of ‘(<*>)’, namely ‘Bezier <$> f a <*> f b’
In the expression: Bezier <$> f a <*> f b <*> f c
src/Graphics/Rasterific/Types.hs:298:58:
Could not deduce (Control.Applicative.Applicative m)
arising from a use of ‘<*>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m => (Point -> m Point) -> Bezier -> m Bezier
at src/Graphics/Rasterific/Types.hs:298:5-14
Possible fix:
add (Control.Applicative.Applicative m) to the context of
the type signature for
transformM :: Monad m => (Point -> m Point) -> Bezier -> m Bezier
In the expression: Bezier <$> f a <*> f b <*> f c
In an equation for ‘transformM’:
transformM f (Bezier a b c) = Bezier <$> f a <*> f b <*> f c
In the instance declaration for ‘Transformable Bezier’
src/Graphics/Rasterific/Types.hs:337:20:
Could not deduce (Functor m) arising from a use of ‘<$>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m =>
(Point -> m Point) -> CubicBezier -> m CubicBezier
at src/Graphics/Rasterific/Types.hs:336:5-14
Possible fix:
add (Functor m) to the context of
the type signature for
transformM :: Monad m =>
(Point -> m Point) -> CubicBezier -> m CubicBezier
In the first argument of ‘(<*>)’, namely ‘CubicBezier <$> f a’
In the first argument of ‘(<*>)’, namely
‘CubicBezier <$> f a <*> f b’
In the first argument of ‘(<*>)’, namely
‘CubicBezier <$> f a <*> f b <*> f c’
src/Graphics/Rasterific/Types.hs:337:44:
Could not deduce (Control.Applicative.Applicative m)
arising from a use of ‘<*>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m =>
(Point -> m Point) -> CubicBezier -> m CubicBezier
at src/Graphics/Rasterific/Types.hs:336:5-14
Possible fix:
add (Control.Applicative.Applicative m) to the context of
the type signature for
transformM :: Monad m =>
(Point -> m Point) -> CubicBezier -> m CubicBezier
In the expression: CubicBezier <$> f a <*> f b <*> f c <*> f d
In an equation for ‘transformM’:
transformM f (CubicBezier a b c d)
= CubicBezier <$> f a <*> f b <*> f c <*> f d
In the instance declaration for ‘Transformable CubicBezier’
src/Graphics/Rasterific/Types.hs:432:42:
Could not deduce (Functor m) arising from a use of ‘<$>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m =>
(Point -> m Point) -> Primitive -> m Primitive
at src/Graphics/Rasterific/Types.hs:432:5-14
Possible fix:
add (Functor m) to the context of
the type signature for
transformM :: Monad m =>
(Point -> m Point) -> Primitive -> m Primitive
In the expression: LinePrim <$> transformM f l
In an equation for ‘transformM’:
transformM f (LinePrim l) = LinePrim <$> transformM f l
In the instance declaration for ‘Transformable Primitive’
src/Graphics/Rasterific/Types.hs:446:20:
Could not deduce (f ~ [])
from the context (Traversable f, Transformable a)
bound by the instance declaration
at src/Graphics/Rasterific/Types.hs:(443,31)-(444,28)
‘f’ is a rigid type variable bound by
the instance declaration at src/Graphics/Rasterific/Types.hs:443:31
Expected type: f a -> m (f a)
Actual type: [a] -> m [a]
Relevant bindings include
transformM :: (Point -> m Point) -> f a -> m (f a)
(bound at src/Graphics/Rasterific/Types.hs:446:5)
In the expression: mapM (transformM f)
In an equation for ‘transformM’: transformM f = mapM (transformM f)
src/Graphics/Rasterific/Types.hs:493:14:
Could not deduce (Functor m) arising from a use of ‘<$>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m => (Point -> m Point) -> Path -> m Path
at src/Graphics/Rasterific/Types.hs:492:5-14
Possible fix:
add (Functor m) to the context of
the type signature for
transformM :: Monad m => (Point -> m Point) -> Path -> m Path
In the first argument of ‘(<*>)’, namely ‘Path <$> f orig’
In the first argument of ‘(<*>)’, namely
‘Path <$> f orig <*> pure close’
In the expression:
Path <$> f orig <*> pure close <*> transformM f rest
src/Graphics/Rasterific/Types.hs:493:40:
Could not deduce (Control.Applicative.Applicative m)
arising from a use of ‘<*>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m => (Point -> m Point) -> Path -> m Path
at src/Graphics/Rasterific/Types.hs:492:5-14
Possible fix:
add (Control.Applicative.Applicative m) to the context of
the type signature for
transformM :: Monad m => (Point -> m Point) -> Path -> m Path
In the expression:
Path <$> f orig <*> pure close <*> transformM f rest
In an equation for ‘transformM’:
transformM f (Path orig close rest)
= Path <$> f orig <*> pure close <*> transformM f rest
In the instance declaration for ‘Transformable Path’
src/Graphics/Rasterific/Types.hs:520:46:
Could not deduce (Functor m) arising from a use of ‘<$>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m =>
(Point -> m Point) -> PathCommand -> m PathCommand
at src/Graphics/Rasterific/Types.hs:520:5-14
Possible fix:
add (Functor m) to the context of
the type signature for
transformM :: Monad m =>
(Point -> m Point) -> PathCommand -> m PathCommand
In the expression: PathLineTo <$> f p
In an equation for ‘transformM’:
transformM f (PathLineTo p) = PathLineTo <$> f p
In the instance declaration for ‘Transformable PathCommand’
src/Graphics/Rasterific/Types.hs:522:45:
Could not deduce (Control.Applicative.Applicative m)
arising from a use of ‘<*>’
from the context (Monad m)
bound by the type signature for
transformM :: Monad m =>
(Point -> m Point) -> PathCommand -> m PathCommand
at src/Graphics/Rasterific/Types.hs:520:5-14
Possible fix:
add (Control.Applicative.Applicative m) to the context of
the type signature for
transformM :: Monad m =>
(Point -> m Point) -> PathCommand -> m PathCommand
In the expression: PathQuadraticBezierCurveTo <$> f p1 <*> f p2
In an equation for ‘transformM’:
transformM f (PathQuadraticBezierCurveTo p1 p2)
= PathQuadraticBezierCurveTo <$> f p1 <*> f p2
In the instance declaration for ‘Transformable PathCommand’
Rasterific-0.7(.1)
claim being compatible withbase-4.7
andbase-4.6
; GHC 7.8 however disagrees: