Mark,

I’m afraid I cannot (yet) appreciate what you’ve accomplished with the 
introduction of macros.
But I am very eager to learn!

Using the bleeding edge repo I’ve noticed that the compiler’s diagnostic 
messages have become less user friendly.
Here is an example:

Method "_add_" is
[
        a : number,
        b : number
|
        a + b
] : number;

Method "_square_" is
[
        a : number,
        b : number
|
        a add b × a add b
] : number;

Method "test m1" is
[
        2 square 3
];

Expression a add b × a add b is ambiguous, and I believe the ‘non-macro’ 
compiler reported exactly that.
But with the macro in, the compiler reports the following:

>>> 18: Method "_square_" is
>>> 19: [
>>> 20:         a : number,
>>> 21:         b : number
>>> 22: |
>>> 23:         a add b × a add b
>>> 24: ] : number;
>>> 25:
>>> 26: ⤷ Method "test m1" is
>>> 27: [
>>>---------------------------------------------------------------------
>>> Expected...
>>>     variable "Method" to have been declared before use
(file="/examples/Tutorial/M1", line=26)

??

cheers,
Robbert.


Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to