From 94dbcb12dc5bb33f78f749f4277d1a9e9f17af4b Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Wed, 7 Sep 2016 10:57:10 -0400 Subject: [PATCH] Make `sql-null?` a struct predicate. (#1450) This allows Typed Racket to know that it's pure and safe to use as an opaque value. --- racket/collects/db/private/generic/sql-data.rkt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/racket/collects/db/private/generic/sql-data.rkt b/racket/collects/db/private/generic/sql-data.rkt index 08d4b75060..54deac771f 100644 --- a/racket/collects/db/private/generic/sql-data.rkt +++ b/racket/collects/db/private/generic/sql-data.rkt @@ -10,7 +10,7 @@ ;; NULL -(define sql-null +(define-values (sql-null sql-null?) (let () (struct sql-null () ;; must deserialize to singleton, so can't just use serializable-struct @@ -20,10 +20,7 @@ #f (or (current-load-relative-directory) (current-directory)))) - (sql-null))) - -(define (sql-null? x) - (eq? x sql-null)) + (values (sql-null) sql-null?))) (define (sql-null->false x) (if (eq? x sql-null)