From 960fc831fc90858e3786b200b8a998cab13101c4 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Wed, 22 Jul 2015 13:33:52 -0400 Subject: [PATCH] Provide `promise/name?`. --- pkgs/racket-doc/scribblings/reference/promise.scrbl | 6 ++++++ racket/collects/racket/promise.rkt | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-doc/scribblings/reference/promise.scrbl b/pkgs/racket-doc/scribblings/reference/promise.scrbl index 527efc4326..6764e105c7 100644 --- a/pkgs/racket-doc/scribblings/reference/promise.scrbl +++ b/pkgs/racket-doc/scribblings/reference/promise.scrbl @@ -80,6 +80,12 @@ If a @racket[delay/name] promise forces itself, no exception is raised, the promise is never considered ``running'' or ``forced'' in the sense of @racket[promise-running?] and @racket[promise-forced?].} +@defproc[(promise/name? [promise any/c]) boolean?]{ + +Returns @racket[#t] if @racket[promise] is a promise created with @racket[delay/name]. +@history[#:added "6.2.900.5"] +} + @defform[(delay/strict body ...+)]{ Creates a ``strict'' promise: it is evaluated immediately, and the diff --git a/racket/collects/racket/promise.rkt b/racket/collects/racket/promise.rkt index 8d807d366d..84f2910984 100644 --- a/racket/collects/racket/promise.rkt +++ b/racket/collects/racket/promise.rkt @@ -7,7 +7,7 @@ (define-struct (promise/name promise) () #:property prop:force (λ(p) ((pref p)))) -(provide (rename-out [delay/name* delay/name])) +(provide (rename-out [delay/name* delay/name]) promise/name?) (define delay/name make-promise/name) (define-syntax (delay/name* stx) (make-delayer stx #'delay/name '()))