1

Traditionally mathematical operators are either prefix, postfix or infix. All the three forms of notation are equivalent and can be converted from one to another.

Formal systems such as programming languages usually enforce a certain fixity. Most languages are infix, LISP and its derivatives are prefix and concatenative languages are usually postfix.

If a formal system allows an operator to be used as either prefix, postfix or infix depending upon its position relative to its operands, how would you describe its fixity?

I was thinking along the lines of "unfix" or "nofix", but I'm not sure which one would be appropriate. I believe "nofix" is more accurate. Unfortunately there's no such word. On the other hand "unfix" means "to unfasten" or "loosen". Clearly not very accurate.

9
  • 6
    Try affix. This question might be a better fit for programmersSE. Mar 8, 2013 at 14:51
  • 1
    if we are talking about neologism then let me throw in a few suggestions: multifix or ambigfix
    – camelbrush
    Mar 8, 2013 at 15:37
  • 1
    @camelbrush - "ambigfix" is a little uncouth to pronounce. Simply "ambifix" is good. How about "mixity" instead of "fixity"? Perhaps "mixfix". Mar 8, 2013 at 15:44
  • 2
    Fix it! youtu.be/yo3uxqwTxk0 Mar 8, 2013 at 18:56
  • 1
    An unspecified element that is attached to another is called an affix. An affix that can be attached in two ways would probably be an ambifix or anfix. Multiple ways multifix. In any or all ways, omnifix. Mar 8, 2013 at 21:17

4 Answers 4

5

The operator you describe is free-floating. You may call it a fix-free operator, in case you think there is a case for mixing up with floating-point.

In either case, it would be a neologism and you are better off explaining the terminology in detail before use.

5

Shyam's suggestion of free-floating (in sense “ Capable of free movement; not bound”) seems good, but also consider movable (“Capable of being moved, lifted, carried, drawn, turned, or conveyed, or in any way made to change place or posture; susceptible of motion; not fixed or stationary”) and unfixed (“Not fixated or fixed; moving or changing freely”). For informal use consider footloose (“Tending to travel or do as one pleases”) or loose itself (with the sense “not fixed in place tightly or firmly” rather than “indiscreet” or “free from moral restraint”).

1
  • 3
    I like unfixed.
    – Jon Purdy
    Mar 8, 2013 at 20:43
2

I am assuming that by "no fixity" and your explanation that you mean it has no single defined fixity, but rather it has several defined fixity functions.

Therefore, remaining consistent with the latin derivation of the existing words, I propose plurifix. Plura is latin for many or several. (You could also use polyfix, if your not averse to using a Latin-Greek hybrid. Poly- means many in Greek.)

You might also consider omnifix, where omnis is latin for every or all. Use this as an alternative if there are no exceptions. (And panfix might be the LG hybrid.)

1

Technically speaking, an operator is defined by its fixation; the combination of the symbol and its position relative to the code object(s) being operated on determine the exact operation that must be performed.

The & operator in C/C++ is an example. In prefix position, it is the "reference" operator; as a prefix to a variable identifier, it returns the memory address at which that variable's value is stored. In infix position, it's the "bitwise AND" operator; between two variables of integer type (byte/short/int/long and unsigned variants) it returns an integer representing the "and" join of each of the corresponding bits of the two numbers. It has no postfix significance in those languages.

There is no operator I know of in any one strict syntactical language that does the same thing in pre-, post- and in-fix positions; the closest you'd get is the increment/decrement operators (++ and --) and even there their meanings are subtly different in prefix vs postfix (the operation of incrementing is the same; what is returned as the result of the expression is quite different). As such I would say that the question is moot.

3
  • Technically speaking in a strongly typed static programming language with lazy evaluation it's perfectly probable for the compiler to figure out whether an ampersand refers to the the address of operator or the bitwise AND operator depending upon the types of the operands irrespective of its fixity. For example if x was an integer then x & "abc" would be evaluated as &x "abc", x & 2 would be evaluated as a bitwise AND, and (x &) 2 would be evaluated as &x 2. Fixity of the operand can be made available as an implicit argument to the operator and so pre/post ++ and -- is possible. =) Mar 8, 2013 at 20:53
  • 1
    That being said the question really isn't about whether such a formal system can be implemented. The question is how one would describe such a formal system, which is irrespective of whether it exists. In that domain the question is perfectly valid and certainly not moot. Mar 8, 2013 at 20:58
  • I think the question should be referring to the symbol rather than the operator. The operator type and its function are different for each position (prefix unary, postfix unary, or infix binary) of the symbol. Mar 9, 2013 at 1:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.