{"size": 1201, "ext": "scrbl", "max_stars_repo_path": "scribblings/curry.scrbl", "max_stars_repo_name": "sabjohnso/curry", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "scribblings/curry.scrbl", "max_issues_repo_name": "sabjohnso/curry", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "scribblings/curry.scrbl", "max_forks_repo_name": "sabjohnso/curry", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 21.0701754386, "max_line_length": 80, "alphanum_fraction": 0.6619483764}
#lang scribble/manual
@require[@for-label["../main.rkt"
                    racket/base]]

@title{Curry}
@author{@author+email["Samuel B. Johnson" "sabjohnso@yahoo.com"]}

@defmodule[curry]

Curry is a library for defining named and unnamed curried functions.

@defform/subs[
  #:id lambda-curried
  (lambda-curried formals body ...+)
  ([formals (id ...)])]{
  Returns a curried function.
}

@defform/subs[
  #:id lambda-curried/contract
  (lambda-curried/contract formals ctc body ...+)
  ([formals (id ...)]
   [ctc contract?])]{
  Returns a curried function with a contract.
}

@defform/subs[
  #:id define-curried
  (define-curried signature body ...)
  ([signature (function-name formals)]
   [function-name id]
   [formals (code:line id ...)])
]{
  Defines a curried function and binds it to the specified name.
}

@defform/subs[
  #:id define-curried/contract
  (define-curried/contract signature ctc body ...)
  ([signature (function-name formals)]
   [function-name id]
   [formals (code:line id ...)]
   [ctc contract?])
]{
}

@defproc[(curried-procedure? [v any/c]) boolean?]{
  Returns @racket[#t] if @racket[v] is a @racket[curried-procedure?]. Otherwise,
  returns @racket[#f].
}






