Ejemplo n.º 1
0
        public override void Init()
        {
            base.Init();

            BuiltIns.AddMethod(MtPrint, "print", 1);
            BuiltIns.AddMethod(MtFalse, "false");
            BuiltIns.AddMethod(MtTrue, "true");
            BuiltIns.AddMethod(MtIdentity, "identity", 1);
            BuiltIns.AddMethod(MtSleep, "sleep", 1, 2);
            BuiltIns.AddMethod(MtAdd, "add", 1);
            BuiltIns.AddMethod(MtMult, "mult", 1);
            BuiltIns.AddMethod(MtSubt, "subt", 1);
            BuiltIns.AddMethod(MtDiv, "div", 1);
            BuiltIns.AddMethod(MtZero, "zero", 1);
            BuiltIns.AddMethod(MtCar, "car", 1, 1);
            BuiltIns.AddMethod(MtCdr, "cdr", 1, 1);
            BuiltIns.AddMethod(MtMap, "map", 2, 2);
            BuiltIns.AddMethod(MtStringStreamCreate, "str_stream", 1, 1);
            BuiltIns.AddMethod(MtUriStreamCreate, "uri_stream", 1, 1);
            BuiltIns.AddMethod(MtStreamsClose, "close_stream", 1);
            BuiltIns.AddMethod(MtWait, "wait", 1);
            BuiltIns.AddMethod(MtLength, "length", 1);
            BuiltIns.AddMethod(MtEquals, "equals", 2);
            BuiltIns.AddMethod(MtGreater, "greater", 2);
            BuiltIns.AddMethod(MtSliceUntil, "slice_until", 2);
            BuiltIns.AddMethod(MtSliceFrom, "slice_from", 2);
            BuiltIns.AddMethod(MtCons, "cons", 2);
            BuiltIns.AddMethod(MtAnd, "and", 2);
            BuiltIns.AddMethod(MtNot, "not", 1);

#if !SILVERLIGHT
            // JSON
            BuiltIns.AddMethod(MtJsonParse, "json_parse", 1);

            // HTTP Server
            BuiltIns.AddMethod(MtHttpServerCreate, "http_server", 1);
            BuiltIns.AddMethod(MtHttpServerStart, "http_server_start", 1);
            BuiltIns.AddMethod(MtHttpServerStop, "http_server_stop", 1);
            BuiltIns.AddMethod(MtHttpSetCode, "http_set_code", 2, 2);
            BuiltIns.AddMethod(MtHttpSetContentType, "http_set_content_type", 2, 2);
            BuiltIns.AddMethod(MtHttpStream, "http_stream", 1, 1);
            BuiltIns.AddMethod(MtHttpEnd, "http_end", 1, 1);
#endif
            // TODO

            // Get request/response stream
            // Get/Set request/response header value

            // MORE ...
            // TODO Add insert, append, concat
            // TODO Add object literals
            // TODO Add streams literals?
            // TODO Add map, filter, reduce
            // TODO Add sorting examples
            // TODO Add quote (for lazy evaluation of MtResults)
            // TODO Add flow control instructions (continuations, exceptions, ...)
            // TODO Add signaling, waiting
            // TODO Add compose(f, g)
            // TODO Add curry
        }
 public override void Init()
 {
     base.Init();
     //add built-in methods, special form IIF, import Math and Environment methods
     BuiltIns.AddMethod(BuiltInPrintMethod, "print");
     BuiltIns.AddMethod(BuiltInFormatMethod, "format");
     BuiltIns.AddSpecialForm(SpecialFormsLibrary.Iif, "iif", 3, 3);
     BuiltIns.ImportStaticMembers(typeof(System.Math));
     BuiltIns.ImportStaticMembers(typeof(Environment));
 }