package sandboxModel; /*Generated by MPS */ import jetbrains.mps.samples.lambdaCalculus.runtime.Function; import java.util.List; import java.util.ArrayList; public class sim { public sim() { } public static void main(String[] args) { System.out.println((eval())); } public static Object eval() { return (Integer) let_2167053794906818091(new sim.Function_2167053794906818092()); } public static class Function_2167053794906818092 extends Function { private List myOuterVars = new ArrayList(); public Function_2167053794906818092() { myType = "(number->number)"; } public Function_2167053794906818092(List outerVars) { myType = "(number->number)"; myOuterVars.addAll(outerVars); } public Object eval() { int i = 0; int j = 0; Integer x = (Integer) myArgs.get(i++); return x * x; } public int getParamsCount() { return 1; } public Function copy() { return new sim.Function_2167053794906818092(myOuterVars); } } public static Object let_2167053794906818091(Function sq) { return ((Integer) ((Function) sq.copy()).apply((Integer) ((Function) sq.copy()).apply(2))); } }