Esempio n. 1
0
 public static Symbol Intern(string name)
 {
     Symbol value;
     if (InternedSymbols.TryGetValue(name, out value)) {
         return value;
     }
     value = new Symbol(name);
     InternedSymbols[name] = value;
     return value;
 }
Esempio n. 2
0
 public TaggedType(Symbol tag, object data)
 {
     _tag = tag;
     Data = data;
 }
Esempio n. 3
0
 public SymbolNotFoundException(Symbol s)
     : base(string.Format("Symbol {0} is not defined.", s.Name))
 {
 }
Esempio n. 4
0
 public object ToplevelLookup(Symbol name)
 {
     object value;
     if (!_toplevelEnv.TryGetValue(name, out value)) {
         throw new SymbolNotFoundException(name);
     }
     return value;
 }
Esempio n. 5
0
 public bool ToplevelIsDefined(Symbol name)
 {
     return _toplevelEnv.ContainsKey(name);
 }
Esempio n. 6
0
 public void ToplevelDefine(Symbol name, object value)
 {
     _toplevelEnv[name] = value;
 }