public LispFunction(LispList parameters, LispElement body, LispEnvironment funcEnv, LispSymbol funcName) { this.parameters = parameters; this.body = body; this.funcName = funcName; this.funcEnv = (LispEnvironment)funcEnv.Clone(); }
public List <LispElement> parse(Stream stream) { var reader = new StreamReader(stream); var expressions = new List <LispElement>(); while (!reader.EndOfStream) { LispElement expression = parseExpression(reader); expressions.Add(expression); } return(expressions); }
public void Add(LispSymbol symbol, LispElement element) { env[symbol] = element; }
public LispFunction(LispList parameters, LispElement body, LispEnvironment funcEnv) : this(parameters, body, funcEnv, null) { }
public LispMacro(LispList parameters, LispElement body, LispEnvironment funcEnv) { throw new NotImplementedException(); }