diff options
Diffstat (limited to 'src/compiler/GF/Compile/Compute/Predef.hs')
| -rw-r--r-- | src/compiler/GF/Compile/Compute/Predef.hs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/compiler/GF/Compile/Compute/Predef.hs b/src/compiler/GF/Compile/Compute/Predef.hs index 1647b2a92..e6fd6af7c 100644 --- a/src/compiler/GF/Compile/Compute/Predef.hs +++ b/src/compiler/GF/Compile/Compute/Predef.hs @@ -9,8 +9,9 @@ import Data.Char (isUpper,toLower,toUpper) import GF.Data.Utilities (mapSnd,apBoth) import GF.Compile.Compute.Value -import GF.Infra.Ident (Ident) +import GF.Infra.Ident (Ident,varX) import GF.Grammar.Predef +import PGF.Data(BindType(..)) predefs :: Map.Map Ident ([Value]->Value) predefs = Map.fromList $ mapSnd strictf @@ -40,6 +41,10 @@ predefs = Map.fromList $ mapSnd strictf apISS f vs = case vs of [VInt i, VString s] -> string (f i s) + [VInt i] -> VAbs Explicit (varX 0) $ Bind $ \ v -> + case norm v of + VString s -> string (f i s) + _ -> bug $ "f::Int->Str->Str got "++show (vs++[v]) _ -> bug $ "f::Int->Str->Str got "++show vs apSSB f vs = case vs of |
