The operator is $not syntax, it is just a normal function, like any other. When you write
1 :$ [2]
The first problem that the compiler sees is that it :$appears as its own operator (consider + +versus ++, these are different things), but :$it is not defined anywhere.
If you should have written
1 : $ [2]
, , , , 1 + * 2 . . $
f $ x = f x
, , . .