Carl Mäsak
Carl Mäsak
...and we should probably not have the `assert` keyword at all, but instead `PRE` blocks like in #15.
> I know I've used `assert` throughout this issue, under the assumption that it's cute to make `assert condition` mean one thing outside of tests (`if !condition { stopWithAnError() }`)...
@vendethiel Yes. [Looking closer](https://github.com/masak/alma/blob/dd967dd1f142b4e9ab39c0383f8edc89868c6ef9/lib/_007/Object.pm), it happens twice in that branch, at least in that file. Once is for default stringification (recursing over all attributes), and once is for the Q-cloning...
A separate question is: should `infix:` follow suit? (And return `true` for `3 ~~ Real`.) I think it's separate question, and not an obvious one, but I'm leaning towards "yes"....
This seems relevant: [conversions](https://en.wikipedia.org/wiki/Eiffel_(programming_language)#Conversions). Especially "a type may not both conform and convert to another".
Coming back to this one a few years later. I think the archetype for type conversion ought to be [ALGOL 68](https://en.wikipedia.org/wiki/ALGOL_68#Coercions:_casting). Both in terms of its limitless ambition to get...
In fact, any infix starting with a `.` leads to a "Could not parse program" error. Declaring a postfix starting with `.` is fine, though.
> Pretty sure parsing of `postfix:` is messing with the custom operator here. To do: confirm this hypothesis by removing rules from the 007 grammar.
Linking http://www.willdonnelly.net/blog/scheme-syntax-rules/ here.
I notice that I've let this issue get a month old without having a proper OP description. Anyway, tl;dr: I was quite taken with Dylan's pattern macros. What we're doing,...