1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 05:20:16 +02:00
guile/module/language
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
..
assembly assembly/disassembly support for br-if-nargs-* 2009-10-25 13:12:27 +01:00
brainfuck separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +02:00
bytecode language-readers receive environment as an arg 2009-10-16 13:39:24 +02:00
ecmascript separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +02:00
glil arities can have noncontiguous starts and ends 2009-10-25 13:12:27 +01:00
objcode compilation enviroments are always modules; simplifications & refactorings 2009-10-16 15:33:32 +02:00
scheme compilation enviroments are always modules; simplifications & refactorings 2009-10-16 15:33:32 +02:00
tree-il implement #:predicate 2009-10-26 21:20:35 +01:00
value Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
assembly.scm de-nargs struct scm_objcode; procedure-property refactor 2009-10-23 14:51:19 +02:00
glil.scm more work towards compiling and interpreting keyword args 2009-10-23 15:20:22 +02:00
objcode.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il.scm separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +02:00