by Thomas Thomsen | Aug 26, 2019 | Programming, Syntax | 0 Comments
Regarding functions (both in-built and user-defined) in Gekko 3.0, these implement so-called UFCS (Uniform Function Call Syntax). First, some background. In object-oriented languages, a method has the form x.f(a, b), where x is the object, and f() is the method, with... read more
by Thomas Thomsen | Jun 7, 2019 | Programming, Syntax | 0 Comments
Strings are represented with single quotes in Gekko (for instance: ‘this is a string’). Some languages use double quotes, and other languages allow both variants (or use single quotes for characters, and double quotes for strings). The use of single quotes... read more
by Thomas Thomsen | May 10, 2019 | Architecture, Dimensions | 0 Comments
Array-series have not been described in this blog until now. The concept of array-series arose as a consequence of database integration on the one side, and GAMS integration on the other side. When interfacing with a particular Danish online database... read more
by Thomas Thomsen | May 3, 2019 | Architecture, Syntax | 0 Comments
In Gekko, {}-curlies have been used for quite a long time now. The idea is that variable names can be composed by means of the {}-curlies, creating a means of composing names dynamically, in a sense forwarding from a string to a variable name corresponding to that... read more
by Thomas Thomsen | May 3, 2019 | Architecture, Syntax | 0 Comments
As mentioned in the overview post regarding Gekko 3.0, lists were generalized in Gekko 3.0, using primarily Python as the inspiration. In Gekko 2.x, lists could only contain strings, so in that sense, they were quite simple. Gekko 3.0 allows any variable to be an... read more
by Thomas Thomsen | May 2, 2019 | Lags | 0 Comments
In Gekko 2.0/2.2/2.4, and also in some other software packages, series expressions are run in an outer loop. Consider a series expression like y = x1 + x2 + x3. In AREMOS, such an expression is run n times in an outer loop, where n is the number of periods. Imagine... read more
by Thomas Thomsen | May 1, 2019 | Architecture, Data management, History, Syntax | 0 Comments
The official Gekko 3.0 is now released. This is a long post, but the intent is to try to explain what Gekko 3.0 really is about. Which is actually not so easy to boil down exactly: it is perhaps best to think of it as a long-term vision, borne out of the realization... read more
by Thomas Thomsen | Jun 4, 2018 | Architecture, History, Programming, Syntax | 0 Comments
Gekko 3.0 is due to be officially released in the autumn of 2018. Version 3.0 entails a rewrite of large parts of Gekko, and the reader may ask him/herself why this is really necessary? As explained in this blog post, Gekko started out (in 2008) just interpreting... read more
by Thomas Thomsen | Nov 9, 2017 | Architecture, Lags, Programming | 0 Comments
One of the main reasons for the modernization of the parser for Gekko 3.0 was that it was deemed important to handle timeseries as objects in Gekko. Timeseries are already objects in Gekko 2.0/2.2, but they are not always handled as such during calculations. To... read more
by Thomas Thomsen | Nov 9, 2017 | Data management, Frequencies, Programming, Syntax | 0 Comments
To denote a timeseries with a particular frequency, AREMOS uses the dot, for instance x.a is x in its annual version, x.q is quarterly, x.m is monthly, etc. In Gekko 3.0, the dot is already quite busy, since it is used to pick out elements in collections. For... read more
Recent Comments