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