1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 13:30:26 +02:00

Add 'positive?' and 'negative?' as primitives.

* module/language/tree-il/primitives.scm (*interesting-primitive-names*)
  (*effect-free-primitives*): Add 'positive?' and 'negative?'.
  (*primitive-expand-table*): Add primitive expanders for 'positive?'
  and 'negative?'.
This commit is contained in:
Mark H Weaver 2014-01-28 16:54:10 -05:00
parent a7a4ba6a2d
commit ca5e0414e9

View file

@ -45,7 +45,7 @@
values values
eq? eqv? equal? eq? eqv? equal?
memq memv memq memv
= < > <= >= zero? = < > <= >= zero? positive? negative?
+ * - / 1- 1+ quotient remainder modulo + * - / 1- 1+ quotient remainder modulo
ash logand logior logxor lognot ash logand logior logxor lognot
not not
@ -150,7 +150,7 @@
(define *effect-free-primitives* (define *effect-free-primitives*
`(values `(values
eq? eqv? equal? eq? eqv? equal?
= < > <= >= zero? = < > <= >= zero? positive? negative?
ash logand logior logxor lognot ash logand logior logxor lognot
+ * - / 1- 1+ quotient remainder modulo + * - / 1- 1+ quotient remainder modulo
not not
@ -331,6 +331,12 @@
(define-primitive-expander zero? (x) (define-primitive-expander zero? (x)
(= x 0)) (= x 0))
(define-primitive-expander positive? (x)
(> x 0))
(define-primitive-expander negative? (x)
(< x 0))
;; FIXME: All the code that uses `const?' is redundant with `peval'. ;; FIXME: All the code that uses `const?' is redundant with `peval'.
(define-primitive-expander + (define-primitive-expander +