1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
Commit graph

28 commits

Author SHA1 Message Date
Ian Price
05c57a6a66 Update Copyright Headers
* 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
2017-08-28 14:08:31 +01:00
Ian Price
062e413cda Keywords cannot be both keyword and optional
* 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.
2017-08-27 22:23:39 +01:00
Ian Price
56439a88ae Add `guild jslink' to bundle JS programs
* 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.
2017-08-09 16:06:50 +01:00
Ian Price
536d94feb3 Compile Syntax Objects to Javascript
* 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
2017-06-20 22:50:06 +01:00
Ian Price
723fc850f6 Add #:js-inline? and #:js-flatten? debugging options
* 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.
2017-06-15 22:34:39 +01:00
Ian Price
89029a54f4 Explicitly test for undefined arguments to handle false values like 0 2015-06-24 19:57:28 +01:00
Ian Price
88c052214f Handle more identifier characters 2015-06-23 15:46:26 +01:00
Ian Price
a680a4cb9d Change local type representation and remove var type 2015-06-22 16:18:18 +01:00
Ian Price
e9f37e6a31 Change function type representation 2015-06-22 16:18:12 +01:00
Ian Price
a7b2dfa581 Change program type representation 2015-06-22 16:08:20 +01:00
Ian Price
f0537e39ee Rewrite js-il inliner 2015-06-22 16:08:20 +01:00
Ian Price
2e10f55426 Different types for Continuation and Variable identifiers 2015-06-22 16:08:02 +01:00
Ian Price
5827ad4f03 Compile cps $prompt form to javascript 2015-06-18 04:14:43 +01:00
Ian Price
e84f839463 Implement keyword argument parsing 2015-06-18 04:14:43 +01:00
Ian Price
46905ec322 Simplify output Javascript 2015-06-18 04:14:43 +01:00
Ian Price
e9d0f97410 Add more types of constants 2015-06-18 04:14:43 +01:00
Ian Price
941f8fac01 Implement Optional arguments 2015-06-18 04:14:43 +01:00
Ian Price
f83c651f46 Remove superfluous space 2015-06-18 04:14:42 +01:00
Ian Price
44e04eae0a Handle case-lambda via a jump table 2015-06-18 04:14:42 +01:00
Ian Price
41023d5b4c Mangle js identifiers 2015-06-18 04:14:42 +01:00
Ian Price
a4003003e2 Compile string constants 2015-06-18 04:14:42 +01:00
Ian Price
86fabef4ca Compile rest args 2015-06-18 04:14:42 +01:00
Ian Price
f8618a522f conditional->branch 2015-06-18 04:14:42 +01:00
Ian Price
3b32d180b1 Simple inlining of immediate calls 2015-06-18 04:14:42 +01:00
Ian Price
54ce470cf8 separate js-il functions into actual functions and those for continuations 2015-06-18 04:14:42 +01:00
Ian Price
b70b39e478 Remove jscall type 2015-06-18 04:14:41 +01:00
Ian Price
d57dc85fa8 Replace values object with values passed as continuation arguments 2015-06-18 04:14:41 +01:00
Ian Price
ce1cc2706c Temp commit 2015-06-18 04:14:41 +01:00