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. – coleopterist Mar 8 '13 at 14:51
  • 1
    if we are talking about neologism then let me throw in a few suggestions: multifix or ambigfix – camelbrush Mar 8 '13 at 15:37
  • 1
    @camelbrush - "ambigfix" is a little uncouth to pronounce. Simply "ambifix" is good. How about "mixity" instead of "fixity"? Perhaps "mixfix". – Aadit M Shah Mar 8 '13 at 15:44
  • 2
    Fix it! youtu.be/yo3uxqwTxk0 – Kristina Lopez Mar 8 '13 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. – Cerberus_Reinstate_Monica Mar 8 '13 at 21:17
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 '13 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. =) – Aadit M Shah Mar 8 '13 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. – Aadit M Shah Mar 8 '13 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. – Canis Lupus Mar 9 '13 at 1:29

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