Dinamica EGO Reference

This wiki documents Dinamica EGO's scripting language, execution model, and the functors most commonly needed when building a model — organized here by topic rather than alphabetically, so each section can be read in order as an introduction to that part of the system.

Language and Execution Model

EGO Script Language — the primary text notation for writing a model: functor calls, constants, containers, the calculator shorthand family, properties, and submodels. Start here for the language itself.

EGOML Script — the equivalent XML notation, generated by the GUI or written by hand, and its DTD.

Basic Data Flow — the execution model underneath both notations: how connections and containers determine execution order, independent of whether the model was written as EGO Script, EGOML, or built visually.

Calculator Functors

Calculate Functors — Complete Operator Documentation — the full expression language available inside a calculator functor: operators, functions, and the shorthand family (#, ##, $, %, %%).

Calculate R Expression — embedding R code in a model, including how tables, maps, and values convert between Dinamica and R.

Calculate Python Expression — embedding Python code in a model, including how tables, maps, and values convert between Dinamica and Python.

Tables and Lookup Tables

Table Type — the general table format: key and value columns, naming, and type inference.

Lookup Table Type — the single-key, single-value specialization of Table Type, and its own literal syntax and conversions.

Manipulating Tables and Lookup Tables — functors and techniques for reading, iterating, restructuring, and computing statistics from tables and lookup tables, from a table with a known shape through to tables with an arbitrary number of columns or keys.

Practical Guidance

Useful Tips for Creating Models — practical tips that don't fit neatly under a single functor or language feature.