It's a lexer issue in the expression parser. Negation expects the next character to be a number: SyntaxError: Expected [0-9] but "f" found. You get similar results if you attempt double negation: [[--1]] SyntaxError: Expected [0-9] but "-" found. Or a negating parenthetical expression: [[ -(3) ]] SyntaxError: Expected [0-9] but "(" found.