cur/scribblings/stdlib/maybe.scrbl
2015-11-10 18:24:38 -05:00

27 lines
755 B
Racket

#lang scribble/manual
@(require
"../defs.rkt"
scribble/eval)
@(define curnel-eval (curnel-sandbox "(require cur/stdlib/bool cur/stdlib/maybe cur/stdlib/sugar)"))
@title{Maybe}
@defmodule[cur/stdlib/maybe]
This library defines the datatype @racket[Maybe] and several forms for using them.
@; TODO: Define a @defdata macro for Cur
@deftogether[(@defthing[Maybe ( (A : Type) Type)]
@defthing[none ( (A : Type) (Maybe A))]
@defthing[some ( (A : Type) (a : A) (Maybe A))])]{
The maybe datatype.
}
@defform[(some/i a)]{
A syntactic form for @racket[some] that attempts to infer the type of the expression @racket[a] to reduce annotation burden.
@examples[#:eval curnel-eval
(some Bool true)
(some/i true)]
}