summaryrefslogtreecommitdiff
path: root/src/lem_interp/interp_lib.lem
blob: 4873149e90e7e3cc312d122888ea6aeb56a69719 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
open import Interp
open import Interp_ast
import Maybe_extra
open import Num

let add (V_tuple [V_lit(L_num x); V_lit(L_num y)]) = V_lit(L_num (x+y)) ;;

let function_map = [
  ("add", add);
  ("add_infix", add);
] ;;

let eval_external name v = (Maybe_extra.fromJust (List.lookup name function_map)) v ;;