{"size": 808, "ext": "scrbl", "max_stars_repo_path": "elle-doc/scribblings/core-forms/procedure.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/core-forms/procedure.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/core-forms/procedure.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": 31.0769230769, "max_line_length": 98, "alphanum_fraction": 0.5742574257}
#lang scribble/manual

@(require "../util.rkt")


@title{Procedures}

@defform*[#:literals (⇒)
          ({λ args ⇒ expr}
           {λ args ⇒ λ args ⇒ ... ... ... expr})]{
 The first form creates an anonymous procedure that is closed over its lexical environment.

 The second form is syntactic sugar for nested @racket[λ] forms, yielding a, “curried @racket[λ]”.
}

@defform/subs[#:link-target? #f #:id application
              (proc-expr arg ... maybe-rest)
              ([arg expr
                (code:line #:<kw> expr)]
               [maybe-rest (code:line)
                (code:line rest-expr #,ellipsis)])
              #:contracts ([proc-expr procedure?]
                           [rest-expr list?])]{
 As a standalone expression, a parenthesized form always refers to procedure application.
}
