UNPKG

js-slang

Version:

Javascript-based implementations of Source, written in Typescript

72 lines 2.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stream = exports.misc = exports.list = exports.chapter_library_parser = exports.chapter_4 = exports.chapter_3 = exports.chapter_2 = exports.chapter_1 = void 0; const createContext_1 = require("../createContext"); const types_1 = require("../types"); const list = require("./list"); const misc = require("./misc"); const parser = require("./parser"); const stream = require("./stream"); exports.chapter_1 = { get_time: misc.error_message, error_message: misc.error_message, is_number: misc.is_number, is_string: misc.is_string, is_function: misc.is_function, is_boolean: misc.is_boolean, is_undefined: misc.is_undefined, parse_int: misc.parse_int, char_at: misc.char_at, arity: misc.arity, undefined: undefined, NaN: NaN, Infinity: Infinity }; exports.chapter_2 = { ...exports.chapter_1, pair: list.pair, is_pair: list.is_pair, head: list.head, tail: list.tail, is_null: list.is_null, list: list.list, // defineBuiltin(context, 'draw_data(...xs)', visualiseList, 1) // defineBuiltin(context, 'display_list(val, prepend = undefined)', displayList, 0) is_list: list.is_list }; exports.chapter_3 = { ...exports.chapter_2, set_head: list.set_head, set_tail: list.set_tail, array_length: misc.array_length, is_array: misc.is_array, // Stream library stream: stream.stream }; exports.chapter_4 = { ...exports.chapter_3, parse: (str, chapter) => parser.parse(str, (0, createContext_1.default)(chapter)), tokenize: (str, chapter) => parser.tokenize(str, (0, createContext_1.default)(chapter)), // tslint:disable-next-line:ban-types apply_in_underlying_javascript: (fun, args) => fun.apply(fun, list.list_to_vector(args)) }; exports.chapter_library_parser = { ...exports.chapter_4, is_object: misc.is_object, is_NaN: misc.is_NaN, has_own_property: misc.has_own_property // defineBuiltin(context, 'alert(val)', alert) // tslint:disable-next-line:ban-types // timed: (f: Function: context: Context) => misc.timed(context, f, context.externalContext, externalBuiltIns.rawDisplay), }; exports.default = { [types_1.Chapter.SOURCE_1]: exports.chapter_1, [types_1.Chapter.SOURCE_2]: exports.chapter_2, [types_1.Chapter.SOURCE_3]: exports.chapter_3, [types_1.Chapter.SOURCE_4]: exports.chapter_4, [types_1.Chapter.LIBRARY_PARSER]: exports.chapter_library_parser }; exports.list = require("./list"); exports.misc = require("./misc"); exports.stream = require("./stream"); //# sourceMappingURL=index.js.map