コード例 #1
0
ファイル: Reader.cs プロジェクト: 1tgr/FirstClassLisp
 public static Environment AddTo(Environment env)
 {
     env = env.Extend("read", Read.Instance);
     env = env.Extend("open-input-string", OpenInputString.Instance);
     env = env.Extend("eof-object?", IsEof.Instance);
     env = env.Extend("open-input-stream", OpenInputStream.Instance);
     return env;
 }
コード例 #2
0
 public static Environment AddTo(Environment env)
 {
     env = env.Extend("read", Read.Instance);
     env = env.Extend("open-input-string", OpenInputString.Instance);
     env = env.Extend("eof-object?", IsEof.Instance);
     env = env.Extend("open-input-stream", OpenInputStream.Instance);
     return(env);
 }
コード例 #3
0
 public static Environment AddTo(Environment env)
 {
     // Invoke a given instance method on an object
     env = env.Extend("make-instance-method", new MakeInstanceMethod().ToStack());
     env = env.Extend("new", new New().ToStack());
     // Bring all static symbols from a particular assembly into the current environment.
     env = env.Extend("ref", new Ref());
     env = env.Extend("atom", new WrapAtom().ToStack());
     // Define "." as a macro to invoke a given method
     ResourceLoader.ExecuteResource(env, "LispEngine.ReflectionBinding.ReflectionBuiltins.lisp");
     return(env);
 }
コード例 #4
0
 public static Environment AddTo(Environment env)
 {
     // Invoke a given instance method on an object
     env = env.Extend("make-instance-method", new MakeInstanceMethod().ToStack());
     env = env.Extend("new", new New().ToStack());
     // Bring all static symbols from a particular assembly into the current environment.
     env = env.Extend("ref", new Ref());
     env = env.Extend("atom", new WrapAtom().ToStack());
     // Define "." as a macro to invoke a given method
     ResourceLoader.ExecuteResource(env, "LispEngine.ReflectionBinding.ReflectionBuiltins.lisp");
     return env;
 }
コード例 #5
0
ファイル: Builtins.cs プロジェクト: 1tgr/FirstClassLisp
 public static Environment AddTo(Environment env)
 {
     env = Arithmetic.Extend(env).ToMutable();
     env = env.Extend("append", Append.Instance);
     env = SymbolFunctions.Extend(env);
     ResourceLoader.ExecuteResource(env, "LispEngine.Bootstrap.Builtins.lisp");
     env = Reader.AddTo(env);
     return env;
 }
コード例 #6
0
 public static Environment AddTo(Environment env)
 {
     env = Arithmetic.Extend(env).ToMutable();
     env = env.Extend("append", Append.Instance);
     env = SymbolFunctions.Extend(env);
     ResourceLoader.ExecuteResource(env, "LispEngine.Bootstrap.Builtins.lisp");
     env = Reader.AddTo(env);
     return(env);
 }
コード例 #7
0
 public static Environment AddTo(Environment env)
 {
     env = env
           .Extend("log", Log.Instance)
           .Extend("lambda", Lambda.Instance)
           .Extend("cons", Cons.Instance)
           .Extend("apply", Apply.Instance)
           .Extend("eq?", Eq.Instance)
           .Extend("macro", Macro.Instance)
           .Extend("quote", Quote.Instance)
           .Extend("define", Define.Instance)
           .Extend("set!", Set.Instance)
           .Extend("begin", Begin.Instance)
           .Extend("call/cc", CallCC.Instance)
           .Extend("eval", Eval.Instance)
           .Extend("env", Env.Instance);
     return(env);
 }
コード例 #8
0
ファイル: CoreForms.cs プロジェクト: 1tgr/FirstClassLisp
 public static Environment AddTo(Environment env)
 {
     env = env
         .Extend("log", Log.Instance)
         .Extend("lambda", Lambda.Instance)
         .Extend("cons", Cons.Instance)
         .Extend("apply", Apply.Instance)
         .Extend("eq?", Eq.Instance)
         .Extend("macro", Macro.Instance)
         .Extend("quote", Quote.Instance)
         .Extend("define", Define.Instance)
         .Extend("set!", Set.Instance)
         .Extend("begin", Begin.Instance)
         .Extend("call/cc", CallCC.Instance)
         .Extend("eval", Eval.Instance)
         .Extend("env", Env.Instance);
     return env;
 }
コード例 #9
0
 public static Environment Extend(Environment env)
 {
     env = env.Extend("symbol->string", new SymbolToString().ToStack());
     env = env.Extend("string->symbol", new StringToSymbol().ToStack());
     return env;
 }
コード例 #10
0
 public static Environment Extend(Environment env)
 {
     env = env.Extend("symbol->string", new SymbolToString().ToStack());
     env = env.Extend("string->symbol", new StringToSymbol().ToStack());
     return(env);
 }