diff options
Diffstat (limited to 'src/Interpreter.hs')
-rw-r--r-- | src/Interpreter.hs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Interpreter.hs b/src/Interpreter.hs index abc9800..47514ae 100644 --- a/src/Interpreter.hs +++ b/src/Interpreter.hs @@ -118,6 +118,10 @@ interpret'Rec env = \case -> arrayIndex <$> interpret' env a <*> (unTupRepIdx IxNil IxCons n <$> interpret' env b) EShape _ e | STArr n _ <- typeOf e -> tupRepIdx shUncons n . arrayShape <$> interpret' env e EOp _ op e -> interpretOp op <$> interpret' env e + ECustom _ _ _ _ pr _ _ e1 e2 -> do + e1' <- interpret' env e1 + e2' <- interpret' env e2 + interpret' (Value e2' `SCons` Value e1' `SCons` SNil) pr EWith e1 e2 -> do initval <- interpret' env e1 withAccum (typeOf e1) (typeOf e2) initval $ \accum -> |