private void DefinePrimitives()
{
foreach (KeyValuePair<string, Primitive> kvp in PrimitiveFactory.Primitives)
{
ScheminAtom symbol = AtomFactory.GetAtom(kvp.Key);
ScheminPrimitive prim = new ScheminPrimitive(kvp.Key);
this.GlobalEnv.AddBinding(symbol, prim);
}
string filename = "ScheminLib\\\\ScheminLib.ss";
string baseDir = AppDomain.CurrentDomain.BaseDirectory;
FileStream fs = File.OpenRead(baseDir + Path.DirectorySeparatorChar + filename);
StreamReader sr = new StreamReader(fs);
string file = sr.ReadToEnd();
var tokens = this.tokenizer.Tokenize(file);
ScheminPair ast = this.parser.Parse(tokens, true).Cons(new ScheminPrimitive("begin"));
this.evaluator.EvaluateInternal(ast);
}