====== 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|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. * [[xml_script|EGOML Script]] — the equivalent XML notation, generated by the GUI or written by hand, and its DTD. * [[basic_data_flow|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|Calculate Functors — Complete Operator Documentation]] — the full expression language available inside a calculator functor: operators, functions, and the shorthand family (''#'', ''##'', ''$'', ''%'', ''%%''). * [[calculate_r_expression|Calculate R Expression]] — embedding R code in a model, including how tables, maps, and values convert between Dinamica and R. * [[calculate_python_expression|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|Table Type]] — the general table format: key and value columns, naming, and type inference. * [[lookup_table_type|Lookup Table Type]] — the single-key, single-value specialization of Table Type, and its own literal syntax and conversions. * [[manipulating_tables_and_lookup_tables|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|Useful Tips for Creating Models]] — practical tips that don't fit neatly under a single functor or language feature.