summaryrefslogtreecommitdiff
path: root/src/Interpreter.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Interpreter.hs')
-rw-r--r--src/Interpreter.hs4
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 ->