|
From: | Juergen Sauermann |
Subject: | [Bug-apl] Macros |
Date: | Sat, 11 Jun 2016 16:50:58 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
Hi, as of SVN 740 I have started to use a new internal concept in GNU APL: macros. A macro is simply a defined function that is used by the interpreter itself. Currently a macro is called when a primitive operator is called with a defined function as function argument (therefore the performance impact should be minor). This case (primitive operator with defined functions) had caused numerous problems in the past. As of SVN 740, the operators ¨ ∘.f g.f and ⍣ have been changed (and simplified considerably) to use macros. The others will follow as time allows. In the long run EOC handlers will hopefully either become simpler (no more EOC_args) or disappear completely. An incompatibility caused by this change is that some EOC handlers have disappeared and therefore old workspaces that were )SAVEd with a non-empty )SI stack and having pending built-in operators with defined functions on the )SI stack can no longer be )LOADed. Please perform a )LOAD )SIC )SAVE sequence if you have such workspaces before updating to SVN 740 or later. /// Jürgen |
[Prev in Thread] | Current Thread | [Next in Thread] |