{"size": 1337, "ext": "scrbl", "max_stars_repo_path": "elle-doc/scribblings/generics.scrbl", "max_stars_repo_name": "tail-reversion/elle", "max_stars_repo_stars_event_min_datetime": "2021-01-07T04:34:50.000Z", "max_stars_repo_stars_event_max_datetime": "2021-03-08T01:07:58.000Z", "max_issues_repo_path": "elle-doc/scribblings/generics.scrbl", "max_issues_repo_name": "tail-reversion/elle", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "elle-doc/scribblings/generics.scrbl", "max_forks_repo_name": "tail-reversion/elle", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 7, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 24.7592592593, "max_line_length": 109, "alphanum_fraction": 0.6484667165}
#lang scribble/manual

@(require "util.rkt")


@title{Generic Interfaces}


@section{Equality}

@defproc[(=? [v1 any/c] [v2 any/c]) boolean?]{
 Returns @racket[#true], if @racket[v1] is equivalent to @racket[v2]; @racket[#false], otherwise.
}

@defproc[(≠? [v1 any/c] [v2 any/c]) boolean?]{
 Equivalent to @racket[(not (=? v1 v2))].
}


@subsection{Primitive Types}

@itemlist[
 @item{@racket[number?]: @racket[number=?]}
 @item{@racket[char?]: @racket[char=?]}
 @item{@racket[symbol?]: @racket[symbol=?]}
 @item{@racket[text?]: @racket[text=?]}
 ]


@section{Ordering}

@defproc[(ordered? [v any/c]) boolean?]{
 Returns @racket[#true], if @racket[v] implements the generic ordering interface; @racket[#false], otherwise.
}

@defproc[(<? [v1 ordered?] [v2 ordered?]) boolean?]{
 Returns @racket[#true], if @racket[v1] is less than @racket[v2]; @racket[#false], otherwise.
}

@defproc[(>? [v1 ordered?] [v2 ordered?]) boolean?]{
 Returns @racket[#true], if @racket[v1] is greater than @racket[v2]; @racket[#false], otherwise.
}


@section{Primitive Types}

@itemlist[
 @item{@racket[number?]: @racket[number<?], @racket[number>?]}
 @item{@racket[char?]: @racket[char<?], @racket[char>?]}
 @item{@racket[symbol?]: @racket[symbol<?]}
 @item{@racket[keyword?]: @racket[keyword<?]}
 @item{@racket[text?]: @racket[text<?], @racket[text>?]}
 ]
