Exemple #1
0
        static void Main(string[] args)
        {
            PlasticContext context = Plastic.SetupCoreSymbols().Result;

            var userContext = new PlasticContextImpl(context);

            while (true)
            {
                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.Write("user> ");
                Console.ForegroundColor = ConsoleColor.Gray;
                var input = Console.ReadLine();
                try
                {
                    var res = Plastic.Run(input, userContext).Result;
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("{0}", res);
                    Console.ForegroundColor = ConsoleColor.DarkGray;
                    Console.WriteLine("{0}", res?.GetType().Name ?? "null");
                }
                catch (Exception x)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine(x.Message);
                }
            }
        }
 public async Task<object> Eval(PlasticContext context)
 {
     var items = new object[Items.Length];
     for (int i = 0; i < Items.Length; i++)
     {
         items[i] = await Items[i].Eval(context);
     }
     return items;
 }
Exemple #3
0
        public async Task <object> Eval(PlasticContext context)
        {
            var items = new object[Items.Length];

            for (int i = 0; i < Items.Length; i++)
            {
                items[i] = await Items[i].Eval(context);
            }
            return(items);
        }
Exemple #4
0
        public Task <object> Eval(PlasticContext context)
        {
            Task <object> result = null;

            foreach (var statement in _statements)
            {
                result = statement.Eval(context);
            }
            return(result);
        }
 public async Task<object> Eval(PlasticContext context)
 {
     var items = new object[Items.Length];
     for (int i = 0; i < Items.Length; i++)
     {
         var v = await Items[i].Eval(context);
         items[i] = v;
     }
   
     var res = new TupleInstance(items);
     return res;
 }
Exemple #6
0
        public async Task <object> Eval(PlasticContext context)
        {
            var items = new object[Items.Length];

            for (int i = 0; i < Items.Length; i++)
            {
                var v = await Items[i].Eval(context);
                items[i] = v;
            }

            var res = new TupleInstance(items);

            return(res);
        }
 public Task<object> Eval(PlasticContext context)
 {
     return context.QuotedString(this);
 }
Exemple #8
0
 public Task<object> Eval(PlasticContext context)
 {
     return context.Invoke(Head, Args);
 }
Exemple #9
0
 public Task <object> Eval(PlasticContext context)
 {
     return(context.Invoke(Head, Args));
 }
Exemple #10
0
 public Task <object> Eval(PlasticContext context)
 {
     return(Task.FromResult(context[Value]));
 }
Exemple #11
0
 public PlasticObject(PlasticContext context)
 {
     Context = context;
 }
Exemple #12
0
 public Task<object> Eval(PlasticContext context)
 {
     return Task.FromResult(context[Value]);
 }
 public Task<object> Eval(PlasticContext context)
 {
     return context.Number(this);
 }
 public PlasticObject(PlasticContext context)
 {
     Context = context;
 }
Exemple #15
0
 public Task <object> Eval(PlasticContext context)
 {
     return(context.Number(this));
 }
Exemple #16
0
 public Task <object> Eval(PlasticContext context)
 {
     return(context.QuotedString(this));
 }