#include "oop.h"

oop Symbol::Table= new Set(1023);

Symbol::Symbol(char *bytes) : String(bytes) {}

oop Symbol::intern(oop aStringOrSymbol)
{
  oop symbol;
  return (symbol= Table->like(aStringOrSymbol))
    ? symbol
    : (Table->add(aStringOrSymbol->isSymbol()
		  ? aStringOrSymbol
		  : new Symbol(aStringOrSymbol->cString())));
}

