{"size": 875, "ext": "scrbl", "max_stars_repo_path": "elle-doc/scribblings/main.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/main.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/main.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": 26.5151515152, "max_line_length": 210, "alphanum_fraction": 0.7508571429}
#lang scribble/manual

@(require "util.rkt")


@title[#:style '(toc)]{Elle}
@author{Kelly Smith}

@defmodule[elle #:lang]

@nested[#:style 'inset]{
 @bold{WARNING:} The Elle language is currently under development. The language itself is @emph{unstable,} and this manual @emph{may not} accurately reflect the current language syntax, features, and libraries.

  You have been warned.
}

Elle is an intentionally small language which shares much with Racket. Notable features include:

@itemlist[
 @item{Immutable data is emphasized.}
 @item{Pattern matching is used extensively.}
 @item{Effects, like I/O and mutation, are separated from pure functions.}
 @item{Minimal core and small standard library.}
 ]


@table-of-contents[]

@include-section["core-forms.scrbl"]
@include-section["generics.scrbl"]
@include-section["contracts.scrbl"]
@include-section["core-data.scrbl"]
