On this page:
define-singleton-type
7.3

16 Singletons

 (require rebellion/singleton) package: rebellion

syntax

(define-singleton-type id singleton-option ...)

 
singleton-option = #:name name
  | #:predicate-name predicate-name
  | #:descriptor-name descriptor-name
  | #:type-representation-name type-representation-name
  | #:inspector inspector
  | #:property-maker property-maker
 
  inspector : inspector?
  property-maker : 
(-> uninitialized-singleton-descriptor?
    (listof (cons/c struct-type-property? any/c)))
Defines a singleton type and binds the following identifiers:

Examples:
> (define-singleton-type infinity)
> infinity

#<infinity>

> (infinity? infinity)

#t

> descriptor:infinity

#<initialized-singleton-descriptor:infinity>

> type:infinity

(singleton-type 'infinity 'infinity?)