Overview
A Fractl model is represented using an extensible data notation with some extensions as supported by the Clojure programming language.
- Fractl source code should be encoded using UTF-8.
- Tokens are separated by whitespace and by the delimiters -
{ } ( ) [ ]
. - The characters
#
and'
are reserved for special purposes as described later in this document.
A Fractl program consists of declarations and data-patterns.
Declarations
A declaration has the following general syntax:
(reserved-word identifier specification)
Reserved-word must be one of component
, entity
, relationship
, event
, record
, attribute
or dataflow
.
Identifier is a keyword that uniquely identifies the new declaration within the model. An identifier
must start with an alphabet and can consist of alpha-numeric characters. The characters .
and /
can be used in an identifier, but they serve a specialized purpose.
Some identifiers automatically generated by the Fractl compiler may also contain the _
character, but this
is not allowed to be used in user-defined identifiers.
The optional specification will be a series of data-patterns made up of map and vector literals.