Jeremy Wall fa96c7c0ef FEATURE: UCG Parameterized Modules
closes #10

Squashed commit of the following:

commit 3101c2bb9a385ed9e84481d36906a3e3ce93e571
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date:   Wed Nov 21 20:10:31 2018 -0600

    FEATURE: Module evaluation

    * handle evaluating the module definition.
    * Handle performing a module instantiation via the copy syntax.

commit 4ca863896b416e39f0c8eacc53384b9c514f6f14
Author: Jeremy Wall <jeremy@marzhillstudios.com>
Date:   Tue Nov 20 18:38:19 2018 -0600

    FEATURE: Add module parsing expression parsing to ucg.

    changes toward issue #10
2018-11-23 12:51:13 -06:00

36 lines
736 B
Markdown

+++
title = "The UCG Language Reference"
slug = "reference"
weight = 2
sort_by = "weight"
in_search_index = true
+++
An Overview
-----------
UCG is a language specialized for generating configurations. It does not have classes,
inheritance, closures, 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.
Some words are reserved in ucg and can not be used as a named binding.
* self
* assert
* true
* false
* let
* import
* as
* select
* macro
* module
* env
* map
* filter
* NULL
* out
Next: <a href="types">Types</a>