1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-06 15:40:29 +02:00
guile/module/language/tree-il
Andy Wingo 24bf130fd1 implement #:predicate
will be useful for making e.g. typecase-lambda. Tough to tell though.

* module/ice-9/psyntax.scm (lambda-formals, lambda*-formals): Parse out
  a #:predicate, which goes right before the rest args. The vanilla
  lambda doesn't parse it out of course, but it does return another
  value.
  (chi-lambda-case, lambda*, lambda): Expand and pass the predicate on
  to build-lambda-case.

* module/ice-9/psyntax-pp.scm: Regenerate.

* module/language/tree-il/compile-glil.scm (flatten): Compile a failing
  predicate without an else clause into a call to `error'. Also, fix
  something the compile warnings caught.
2009-10-26 21:20:35 +01:00
..
analyze.scm separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +02:00
compile-glil.scm implement #:predicate 2009-10-26 21:20:35 +01:00
fix-letrec.scm "fix" <let>-bound lambda expressions too 2009-08-12 21:29:08 +02:00
inline.scm separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +02:00
optimize.scm compilation enviroments are always modules; simplifications & refactorings 2009-10-16 15:33:32 +02:00
primitives.scm fix brainfuck for new tree-il, and add tests 2009-10-23 15:10:25 +02:00
spec.scm fix brainfuck for new tree-il, and add tests 2009-10-23 15:10:25 +02:00