1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-01 01:40:21 +02:00
guile/module/language
Andy Wingo 7382f23e58 add1 and sub1 instructions
* libguile/vm-i-scheme.c: Add add1 and sub1 instructions.
* module/language/tree-il/compile-glil.scm: Compile 1+ and 1- to add1
  and sub1.

* module/language/tree-il/primitives.scm (define-primitive-expander):
  Add support for `if' statements in the consequent.
  (+, -): Compile (- x 1), (+ x 1), and (+ 1 x) to 1- or 1+ as
  appropriate.
  (1-): Remove this one. Seems we forgot 1+ before, but we weren't
  compiling it nicely anyway.

* test-suite/tests/tree-il.test ("void"): Fix expected compilation of (+
  (void) 1) to allow for add1.
2009-08-05 11:55:42 +02:00
..
assembly Add 32-bit characters 2009-07-29 06:38:32 -07:00
brainfuck remove lambda wrap hack of brainfuck tree-il compiler 2009-06-24 13:43:20 +02:00
bytecode Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
ecmascript Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
elisp Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
ghil Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
glil increase range of relative jumps by aligning blocks to 8-byte boundaries 2009-07-26 14:01:56 +02:00
objcode remove all mentions of "external" from the compiler and related code 2009-07-23 17:15:17 +02:00
r5rs Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
scheme Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il add1 and sub1 instructions 2009-08-05 11:55:42 +02:00
value Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
assembly.scm Add 32-bit characters 2009-07-29 06:38:32 -07:00
ghil.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
glil.scm remove all mentions of "external" from the compiler and related code 2009-07-23 17:15:17 +02:00
objcode.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il.scm Add tree-il-fold', a purely functional iterator on tree-il'. 2009-07-31 00:49:22 +02:00