{"size": 623, "ext": "scrbl", "max_stars_repo_path": "rosette/guide/scribble/forms/forms.scrbl", "max_stars_repo_name": "lukenels/rosette", "max_stars_repo_stars_event_min_datetime": "2015-01-06T08:42:46.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-31T01:49:34.000Z", "max_issues_repo_path": "rosette/guide/scribble/forms/forms.scrbl", "max_issues_repo_name": "lukenels/rosette", "max_issues_repo_issues_event_min_datetime": "2015-10-13T17:42:20.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-30T17:19:53.000Z", "max_forks_repo_path": "rosette/guide/scribble/forms/forms.scrbl", "max_forks_repo_name": "lukenels/rosette", "max_forks_repo_forks_event_min_datetime": "2015-02-12T06:58:13.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-12T21:36:46.000Z"}
{"max_stars_count": 576, "max_issues_count": 188, "max_forks_count": 78, "avg_line_length": 44.5, "max_line_length": 399, "alphanum_fraction": 0.7544141252}
#lang scribble/manual

@(require (for-label racket))


@title[#:tag "ch:syntactic-forms" #:style 'toc]{Syntactic Forms}

The core of the Rosette language (@racketmodname[rosette/safe]) consists of two kinds of syntax forms: a set of basic  forms @deftech[#:key "lifted constructs"]{lifted} from Racket, and a set of forms for @seclink["ch:essentials"]{solver-aided programming}.  We use the term ``lifted'' to refer to parts of the Racket language that can be used with symbolic values and other solver-aided constructs.

@[table-of-contents]
@include-section["racket-forms.scrbl"]
@include-section["rosette-forms.scrbl"]

