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 ;;