If the lexer doesn't like it there's nothing you can do unless Nim can be changed to allow it. There are other things the lexer doesn't like outside of where they belong, such as open block statements that have commas, objects, enums, concepts, object case field: Type syntax, postfix * for exporting... In this specific case I don't think you need this syntax. a: T = x should probably not differ from a = T(x), which the lexer is fine with.
- DSLs and macros: custom function signature vitreo12
- Re: DSLs and macros: custom function signature Hlaaftana
