From 26a36a9cbefdff5597ecd989371514bd2089756b Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 15 May 2008 16:03:50 +0000 Subject: [PATCH] add 'false?' svn: r9849 --- collects/lang/private/beginner-funs.ss | 3 +++ collects/lang/private/teachprims.ss | 6 +++++- collects/scheme/bool.ss | 4 +++- collects/scribblings/reference/booleans.scrbl | 3 +++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/collects/lang/private/beginner-funs.ss b/collects/lang/private/beginner-funs.ss index 0672c0003d..6b3b481bbe 100644 --- a/collects/lang/private/beginner-funs.ss +++ b/collects/lang/private/beginner-funs.ss @@ -185,6 +185,9 @@ (boolean=? (boolean boolean -> boolean) "to determine whether two booleans are equal") + + (false? (any -> boolean) + "to determine whether a value is false") ((beginner-not not) (boolean -> boolean) "to compute the negation of a boolean value")) diff --git a/collects/lang/private/teachprims.ss b/collects/lang/private/teachprims.ss index 8180eb8bf7..9ab9f095af 100644 --- a/collects/lang/private/teachprims.ss +++ b/collects/lang/private/teachprims.ss @@ -116,6 +116,8 @@ namespace. (define (positive-real? v) (and (real? v) (>= v 0))) + (define (false? v) (eq? v #f)) + (define-teach beginner not (lambda (a) (unless (boolean? a) @@ -336,7 +338,9 @@ namespace. (check-last/cycle 'append x) (apply append x))) - (provide beginner-not + (provide + false? + beginner-not beginner-+ beginner-/ beginner-* diff --git a/collects/scheme/bool.ss b/collects/scheme/bool.ss index 456d2ffba1..91a6a156c0 100644 --- a/collects/scheme/bool.ss +++ b/collects/scheme/bool.ss @@ -1,6 +1,6 @@ #lang scheme/base -(provide true false +(provide true false false? boolean=? symbol=?) @@ -15,6 +15,8 @@ (define-constant true #t) (define-constant false #f) +(define (false? v) (eq? v #f)) + (define (boolean=? x y) (unless (and (boolean? x) (boolean? y)) (raise-type-error 'boolean=? "boolean" (if (boolean? x) 1 0) x y)) diff --git a/collects/scribblings/reference/booleans.scrbl b/collects/scribblings/reference/booleans.scrbl index 3371181002..5c32a83a9d 100644 --- a/collects/scribblings/reference/booleans.scrbl +++ b/collects/scribblings/reference/booleans.scrbl @@ -135,3 +135,6 @@ Returns @scheme[(equal? a b)].} Returns @scheme[(equal? a b)].} +@defproc[(false? [v any/c]) boolean?]{ + +Returns @scheme[(not v)].}