import java.util.List;

public class Fun extends Node {
	public Name name;
	public List<Name> params;
	public Node body;

	public Fun(Name name, List<Name> params, Node body) {
		super();
		this.name = name;
		this.params = params;
		this.body = body;
	}

	@Override
	public Value interp(Scope s) {
		// Closure closure = new Closure(this, s);
		// Binder.define(name, closure, s);
		return s.lookup(name.id);
		// return closure;
	}

	@Override
	public Value typecheck(Scope s) {
		return new FunType(this, s);
	}

	@Override
	public String toString() {
		return name + "(" + U.join(", ", params) + ") " + body;
	}

}

@@ -1,27 +1,4 @@
-import java.util.List;%0A
 %0Apub
@@ -53,26 +53,25 @@
 %09public 
-List%3CName%3E
+Parameter
  params;
@@ -118,18 +118,17 @@
 me, 
-List%3CName%3E
+Parameter
  par

add params