diff --git a/src/compiler/GF/Command/Commands.hs b/src/compiler/GF/Command/Commands.hs index 2e989a712..d000b35b0 100644 --- a/src/compiler/GF/Command/Commands.hs +++ b/src/compiler/GF/Command/Commands.hs @@ -43,7 +43,7 @@ instance (Monad m,HasPGF m,Fail.MonadFail m) => TypeCheckArg m where (inferExpr pgf e) Nothing -> fail "Import a grammar before using this command" -pgfCommands :: (HasPGF m, MonadFail m) => Map.Map String (CommandInfo m) +pgfCommands :: (HasPGF m, Fail.MonadFail m) => Map.Map String (CommandInfo m) pgfCommands = Map.fromList [ ("aw", emptyCommandInfo { longname = "align_words", diff --git a/src/compiler/GF/Compile/Compute/Concrete.hs b/src/compiler/GF/Compile/Compute/Concrete.hs index aede6b7aa..834e596e2 100644 --- a/src/compiler/GF/Compile/Compute/Concrete.hs +++ b/src/compiler/GF/Compile/Compute/Concrete.hs @@ -584,11 +584,19 @@ instance Functor ConstValue where instance Applicative ConstValue where pure = Const + (Const f) <*> (Const x) = Const (f x) + NonExist <*> _ = NonExist + _ <*> NonExist = NonExist + RunTime <*> _ = RunTime + _ <*> RunTime = RunTime + +#if MIN_VERSION_base(4,10,0) liftA2 f (Const a) (Const b) = Const (f a b) liftA2 f NonExist _ = NonExist liftA2 f _ NonExist = NonExist liftA2 f RunTime _ = RunTime liftA2 f _ RunTime = RunTime +#endif value2string v = fmap (unwords.snd) (value2string v False []) where