From 47ac5627563a31bd248522426ef14d8c71abe299 Mon Sep 17 00:00:00 2001 From: Xie Yuheng Date: Thu, 21 Mar 2024 01:14:08 +0800 Subject: [PATCH] [explicit-substitution] doAp --- docs/langs/explicit-substitution/reduce/doAp.cic | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 docs/langs/explicit-substitution/reduce/doAp.cic diff --git a/docs/langs/explicit-substitution/reduce/doAp.cic b/docs/langs/explicit-substitution/reduce/doAp.cic new file mode 100644 index 00000000..9bf6426b --- /dev/null +++ b/docs/langs/explicit-substitution/reduce/doAp.cic @@ -0,0 +1,12 @@ +import { Exp } from "../exp/index.cic" +import { Mod } from "../mod/Mod.cic" +import { reduce } from "./reduce.cic" + +export function doAp(mod: Mod, target: Exp, arg: Exp): Exp { + match (target) { + case Exp::Fn(name, ret) => + reduce(mod, Exp::Let([new Binding(name, arg)], ret)) + + case _ => Exp::Ap(target, arg) + } +}