protected override Datum eval(Datum arg) { var input = arg.CastObject(); if (!(input is T)) { throw DatumHelpers.error("Expected '{0}' to be of type '{1}'", arg, typeof(T).Name); } return(funcDelegate((T)input).ToAtom()); }
protected override Datum eval(Datum arg) { return new Parser(new Scanner((TextReader) arg.CastObject())).ToAtom(); }
protected override Datum eval(Datum arg) { var parser = (Parser)arg.CastObject(); return parser.parse() ?? eof; }
private static Datum throwMsg(Datum arg) { var msg = (String)arg.CastObject(); throw DatumHelpers.error(msg); }
private static Datum GetStaticMethod(Datum type, Datum method) { return(new StaticMethod((Type)type.CastObject(), method.CastString()).ToStack()); }
private static Datum GetStaticMethod(Datum type, Datum method) { return new StaticMethod((Type) type.CastObject(), method.CastString()).ToStack(); }
protected override Datum eval(Datum arg) { return(new Parser(new Scanner((TextReader)arg.CastObject())).ToAtom()); }
protected override Datum eval(Datum arg) { var parser = (Parser)arg.CastObject(); return(parser.parse() ?? eof); }