1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-12 14:50:19 +02:00
guile/module
Ludovic Courtès 11671bbacb Add a partial evaluator for use in the compiler.
Thanks to William R. Cook for his excellent tutorial,
<http://softlang.uni-koblenz.de/dsl11/>.

* module/language/tree-il/optimize.scm (optimize!): Call `peval' unless
  the #:partial-eval? option asks otherwise.
  (peval): New procedure.

* module/language/tree-il/inline.scm: Add comment.

* module/language/tree-il/primitives.scm (*primitive-constructors*): New
  variable.
  (*effect-free-primitives*): Use it.
  (constructor-primitive?): New primitive.

* test-suite/tests/tree-il.test (assert-tree-il->glil): Extend to
  support `with-partial-evaluation', `without-partial-evaluation', and
  `with-options'.
  (peval): New binding.
  (pass-if-peval): New macro.
  ("lexical refs"): Run tests without partial evaluation.
  ("letrec"): Likewise.
  ("the or hack"): Likewise.
  ("conditional"): Likewise, for some tests.
  ("sequence"): Adjust to new generated code.
  ("partial evaluation"): New test prefix.
2011-09-09 00:05:34 +02:00
..
ice-9 Update (ice-9 match) from Chibi-Scheme. 2011-09-03 22:18:02 +02:00
language Add a partial evaluator for use in the compiler. 2011-09-09 00:05:34 +02:00
oop fix some cache consistency issues with goops and extended generics 2011-09-02 13:17:19 +02:00
rnrs fix r6rs `map' 2011-08-17 23:24:20 +02:00
scripts better guild help FOO 2011-08-19 12:32:01 +02:00
srfi fix srfi-67 compilation 2011-09-02 19:49:26 +02:00
sxml more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
system more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
texinfo module-stexi-documentation #:docs-resolver keyword arg 2011-08-23 18:00:02 +02:00
web more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
Makefile.am add (scripts help) 2011-07-23 18:24:16 +02:00
rnrs.scm Enhance transcoder-related functionality of `(rnrs io ports)' 2011-03-13 23:14:43 +01:00
statprof.scm add gcprof 2011-05-05 11:43:12 +02:00
texinfo.scm more define-syntax-rule usage 2011-09-02 11:36:14 +02:00