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

736 B

+++ 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: Types