Age | Commit message (Collapse) | Author | Files | Lines |
|
* module/Makefile.am:
* module/language/cps/compile-js.scm:
* module/language/cps/spec.scm:
* module/language/javascript.scm:
* module/language/javascript/spec.scm:
* module/language/js-il.scm:
* module/language/js-il/compile-javascript.scm:
* module/language/js-il/inlining.scm:
* module/language/js-il/runtime.js: Update copyright headers
|
|
* module/language/js-il/compile-javascript.scm
(compile-jump-table, bind-opt-kw-args): Keywords should not be
parsed as optional arguments when both are present.
|
|
* module/language/js-il/runtime.js(variable-bound?): Implement builtin
|
|
* module/language/js-il/runtime.js(pop-fluid): Fix primitive.
|
|
* module/language/js-il/runtime.js(make-fluid): Supply default argument
|
|
* module/language/js-il/runtime.js(*features*): Stop stubbing
|
|
* module/language/js-il/runtime.js
(cons, memq, member, delete!): Implement builtins
|
|
* module/language/js-il/runtime.js:
(scheme.Hook): new constructor
(make-hook, run-hook): Implement builtins.
|
|
* module/language/js-il/runtime.js:
(scm_module_variable): Look in imports if not in obarray.
(module_imported_variable): New procedure.
(scm_module_index_obarray, scm_module_index_uses,
scm_module_index_import_obarray): New variables.
|
|
* module/language/js-il/runtime.js:
(scm_public_variable, scm_module_public_interface,
module_public_interface_var, scm_post_boot_init_modules):
Implement Public Variable Lookup
(scm_private_lookup, scm_private_variable): Implement Private Lookup
|
|
* module/language/js-il/runtime.js:
(scheme.HashTable): Change object interface.
(cached-module-box): Update primitive.
(scm_module_ensure_local_variable, def_guile_val): Update helpers
(scm_hash): Remove helper.
(make-weak-key-hash-table, hash-clear!, hashq-remove! hashq-ref,
hashq-set!, hash-for-each): Update builtins.
(make-weak-value-hash-table, hash-map->list): New builtins.
|
|
* module/language/js-il/runtime.js
(scm_hash, scheme.HashTable): moved for bootstrapping purposes.
(define!, cached-toplevel-box, cached-module-box, current-module,
resolve): Reimplement primitives.
(define!, module-local-variable, module-variable,
%get-pre-modules-obarray, set-current-module): Reimplement builtin
procedures.
(make-undefined-variable): New builtin procedure.
(scm_pre_modules_obarray, the_root_module, scm_public_lookup,
scm_public_variable, scm_private_lookup, scm_current_module,
scm_lookup, scm_module_ensure_local_variable, scm_module_variable,
scm_module_define, module_system_is_booted,
module_make_local_var_x_var, the_module, k_ensure,
resolve_module_var, scm_post_boot_init_modules): New helper
variables and procedures, designed to resemble C versions.
(scheme.call): New helper procedure
(def_guile0, def_guile_val): Reimplement helper procedure.
|
|
* module/language/js-il/runtime.js (u64-=, u64->scm): New primitives.
|
|
* module/language/js-il/runtime.js (equal?): Remove primitive.
Implement as builtin procedure. This version Only handles pairs.
|
|
* module/language/js-il/runtime.js (primitive-load-path): modules
should be passed the current continuation.
|
|
* module/Makefile.am (SOURCES): Install runtime.js and jslink.scm
* module/language/js-il/compile-javascript.scm (compile-exp):
Compilation units take a continuation to facilitate linking.
* module/scripts/jslink.scm: New script.
|
|
* module/language/js-il/runtime.js(unwind): Unwind prompts.
|
|
* module/language/js-il/runtime.js (struct-set!): Don't return a value.
|
|
* module/language/js-il/runtime.js (scheme.Struct): When certain flags
are set, child structs should be marked as applicable.
|
|
* module/language/js-il/runtime.js
(scm->u64): New primitive
(integer?, char=?, make-fluid, read-hash-extend, make-hook,
simple-format, scm-error): Implement built-ins.
(syntax-session-id, macroexpand, %exception-handler,
print-exception, *features*, %load-hook, current-reader): Stubbed
variables.
|
|
* module/language/js-il/runtime.js
(variable?): New Primitive.
(primitive-load-path, module-local-variable, module-variable,
%get-pre-modules-obarray, set-current-module): Implement built-ins.
|
|
* module/language/js-il/runtime.js
(procedure?, set-procedure-property!, make-procedure-with-setter): Implement.
|
|
* module/language/js-il/runtime.js
(scheme.HashTable): New Constructor.
(make-hash-table, hash-clear!, hashq-remove!, hashq-ref, hashq-set!,
hash-for-each): Implement built-ins.
|
|
* module/language/js-il/runtime.js (scm_struct_init): skip 'h' fields.
|
|
* module/language/js-il/runtime.js (define!): Ignore argument.
|
|
* module/language/js-il/runtime.js
(struct?): New primitive.
(<applicable-struct-vtable>, record-type-vtable,
set-struct-vtable-name!, make-struct): Implement built-ins.
|
|
* module/language/js-il/runtime.js
(string-append): Extend to more than 2 arguments.
(string-join): New procedure.
|
|
* module/language/js-il/runtime.js
(symbol->string, gensym): New procedures.
|
|
* module/language/js-il/runtime.js
(syntax?, make-syntax, syntax-expression, syntax-wrap,
syntax-module): New procedures.
|
|
* module/language/js-il/runtime.js
(make-list, length, list?, reverse, append, memq, member, delete!):
New procedures
|
|
* module/language/js-il/runtime.js
(make-vector/immediate, vector-set!/immediate,
vector-ref/immediate): New Primitives.
|
|
* module/language/js-il/runtime.js:
(scheme.Struct): new type.
(allocate-struct/immediate, struct-vtable, struct-set!, struct-ref,
struct-set!/immediate, struct-ref/immediate): Implement primitives.
(def_guile_val): New helper.
(string=?, string-append): Implement string functions.
(standard-vtable-fields, <standard-vtable>, vtable-index-layout,
vtable-index-printer, vtable-offset-user, make-struct/no-tail,
make-vtable, struct-vtable?): Implement struct functions.
|
|
* module/language/js-il/runtime.js
(wind, unwind): Implement.
(callcc): Wind when invoking continuation.
|
|
* module/language/js-il/runtime.js
(scheme.Macro): Add type.
(make-syntax-transformer): Add guile procedure.
|
|
* module/language/js-il/runtime.js (scheme): Add module_cache field.
(scheme.primitives) Add cached-module-box primitive.
(def_guile0) Convenience for adding to (guile) module cache.
|
|
* module/language/js-il/inlining.scm (no-values-primitives):
Add primitives
|
|
* module/language/js-il/compile-javascript.scm (compile-const):
Handle the new syntax object struct.
* module/language/js-il/runtime.js(scheme.Syntax): Add Syntax Object type
|
|
* module/language/js-il/runtime.js(add/immediate, sub/immediate,
load-u64, u64-=-scm, handle-interrupts): Add primitives.
|
|
* module/language/js-il/inlining.scm(inline-single-calls): Factor into
another function inline-clause, so that count-calls is only called on
the clause.
|
|
* module/language/js-il/compile-javascript.scm (compile-javascript):
Check for #:js-inline? and #:js-flatten?, and turn off
inline-single-calls and flatten-blocks respectively.
|
|
* module/language/js-il/inlining.scm (no-values-primitives): Update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|