Daily Thought - 2024-05-04
< back to listYesterday, I said that I only want to provide postfix operator in Caterpillar.
I'd like to explain why I like them, starting with simple math operations. If we
want to add two numbers, we'd typically write this with an infix operator:
1 + 2
. In postfix, this would be 1 2 +
.
This might look unfamiliar, but it's extremely simple to work with: Just start
at the left. There's one value (1
), then there's another (2
), and then we
add those (+
). If we want to multiply the result by 3
, we can write this as
1 2 + 3 *
(infix: (1 + 2) * 3
). Multiplying first is easy too: 2 3 * 1 +
(infix: 1 + 2 * 3
).
This exposes a neat thing about postfix operators: You never need parentheses,
nor is there any operator precedence. It always goes left to right. 1
and 2
added is 3
. 3
and 3
multiplied is 9
. Or in the second example, 2
and
3
multiplied is 6
. 6
and 1
added is 7
.