1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00
guile/module/language/tree-il
Mark H Weaver 7a71a45cfd peval: Handle optional argument inits that refer to previous arguments.
Fixes <http://bugs.gnu.org/17634>.
Reported by Josep Portella Florit <jpf@primfilat.com>.

* module/language/tree-il/peval.scm (inlined-application): When inlining
  an application whose operator is a lambda expression with optional
  arguments that rely on default initializers, expand into a series of
  nested let expressions, to ensure that previous arguments are in scope
  when the default initializers are evaluated.

* test-suite/tests/peval.test ("partial evaluation"): Add tests.
2014-09-28 23:51:20 -04:00
..
analyze.scm Handle ~p in 'format' warnings. 2014-08-26 23:41:33 +02:00
canonicalize.scm allow case-lambda expressions with no clauses 2013-03-09 11:16:31 +01:00
compile-glil.scm Fix foreign slot initialization and access 2014-04-27 11:02:35 +02:00
cse.scm allow case-lambda expressions with no clauses 2013-03-09 11:16:31 +01:00
debug.scm allow case-lambda expressions with no clauses 2013-03-09 11:16:31 +01:00
effects.scm allow case-lambda expressions with no clauses 2013-03-09 11:16:31 +01:00
fix-letrec.scm fix-letrec uses effects.scm for effects analysis 2012-07-05 20:40:56 +02:00
inline.scm separate peval and a new canonicalization pass into their own modules 2011-09-28 19:39:39 +02:00
optimize.scm enable cse 2012-04-23 21:52:24 +02:00
peval.scm peval: Handle optional argument inits that refer to previous arguments. 2014-09-28 23:51:20 -04:00
primitives.scm Compile numerical comparisons with more than 2 arguments to VM code. 2014-02-01 01:19:16 -05:00
spec.scm Add 'for-humans?' flag to <language> specifications. 2013-01-27 10:16:40 -05:00