A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.racket-lang.org/reference/define-sig-form.html below:

7.7 Extending the Syntax of Signatures

7.7 Extending the Syntax of Signatures🔗ℹ

In the first form, the result of expr must be a transformer procedure that accepts one argument. In the second form, sig-form-id is bound to a transformer procedure whose argument is id and whose body is the bodys. The third form is like the second one, but intro-id is bound to a procedure that is analogous to syntax-local-introduce for the signature-form expansion.

The result of the transformer procedure must be a list of syntax objects, which are substituted for a use of sig-form-id in a define-signature expansion. (The result is a list so that the transformer can produce multiple declarations; define-signature has no splicing begin form.)

Changed in version 8.1.0.7 of package base: Added support for the form with a transformer expr.

(struct/ctc id ([field contract-expr] ...) struct-option ...)

  field   =   id     |   [id #:mutable]           struct-option   =   #:mutable     |   #:omit-constructor     |   #:omit-define-syntaxes     |   #:omit-define-values

For use with

define-signature

. The

struct/ctc

form works similarly to

struct

, but the constructor, predicate, field accessors, and field mutators are contracted appropriately.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4