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.
signature.asc
Description: Message signed with OpenPGP using GPGMail
