Merge branch 'ht/newline-before-EOF' into maint
[shapes.git] / examples / features / evalorder.shape
blob7a225779f528bc912df923b6ffaa1bc2cfc88aa1
1 /** This file is part of Shapes.
2  **
3  ** Shapes is free software: you can redistribute it and/or modify
4  ** it under the terms of the GNU General Public License as published by
5  ** the Free Software Foundation, either version 3 of the License, or
6  ** any later version.
7  **
8  ** Shapes is distributed in the hope that it will be useful,
9  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
10  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  ** GNU General Public License for more details.
12  **
13  ** You should have received a copy of the GNU General Public License
14  ** along with Shapes.  If not, see <http://www.gnu.org/licenses/>.
15  **
16  ** Copyright 2008 Henrik Tidefelt
17  **/
19 /** The order in which the variable bindings are evaluated can be seen by looking
20  ** in the debug log file.
21  **
22  ** The order in which •stdout is mutated is just as expected; the same as the
23  ** left-to-right order of the non-pure expressions.
24  **/
26 a: [debuglog_before `1´ 1]
27 •stdout << a << "{n}
29 b: [debuglog_before `2´ 2]
30 c: [debuglog_before `3´ 3]
31 d: ![debuglog_before `4´ 4]
32 •stdout << c << "{n}
33 •stdout << b << "{n}
34 •stdout << d << "{n}
36 /** Prevent empty output error. **/
37 [stroke (0cm,0cm)--(1cm,1cm)]