From d31d5ed4540f7ae2b959957582ba35570979ee62 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Fri, 29 Mar 2019 12:57:26 -0400 Subject: [PATCH] DOC: Fill out the reference overview more. --- docsite/site/content/reference/_index.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/docsite/site/content/reference/_index.md b/docsite/site/content/reference/_index.md index 01030c3..7c025a2 100644 --- a/docsite/site/content/reference/_index.md +++ b/docsite/site/content/reference/_index.md @@ -8,14 +8,19 @@ in_search_index = true An Overview ----------- -UCG is a language specialized for generating configurations. It does not have classes, -inheritance, or a full type system. All values are immutable once bound to -a name. A valid UCG file is composed of a series of statements. Statements can be -an expression, introduce named bindings, or create different outputs. All statements -must be terminiated by a semicolon. +UCG is an immutable, expression oriented, functional programming language +specialized for generating configurations. It has limited IO and a form of +forward type inference. + +A valid UCG file is composed of a series of statements. Statements can be an +expression, introduce named bindings, or create different outputs. All +statements must be terminiated by a semicolon. Statements are executed in order. +All expressions in ucg return a value. Expressions can see anything declared in +their enclosing scope up to the point of their execution. + +Scopes in UCG are defined by the ucg file, a function, or a module body. Some words are reserved in UCG and can not be used as a named binding. - * self * assert