English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

By "sequential independent", I mean the process remains the same no matter how you change the order of its subroutines. Better to be some term frequently used in math or engineering.

share|improve this question

closed as off topic by Lynn, FumbleFingers, Jasper Loy, Kris, Mitch Mar 6 '12 at 15:36

Questions on English Language & Usage Stack Exchange are expected to relate to English language and usage within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

What makes everybody think that English has a term for everything, whether it's just been discovered or not? This is a question for a programming or math SE, not ELU. – John Lawler Mar 2 '12 at 23:07
@John Lawler But doesn't English intersect with math and other technical domains? Yes, the OP would get better answers there, but perhaps OP is too shy to post there. At his own risk... – Theta30 Mar 2 '12 at 23:41
As John Lawler said, this is more a question for programming or math, and the answers will probably be different in both. Such a concept has no relevance (and thus no particular term) in general English usage. – Lynn Mar 2 '12 at 23:41
up vote 0 down vote accepted

I don't know of a term in common use in mathematics or engineering that expresses sequential-independence of elements of a process. The previously-mentioned commutative has some senses relating to morphisms which are too specialized to apply, but its main sense is suggestive of a proper meaning: in "mathematics, of a binary operation, such that the order in which the operands are taken does not affect their image under the operation". But speaking of subroutines as commutative may confuse or mislead some readers.

Consider terms like fully permutable, fully task-parallel, order-free, freely-ordered, barrierless, and barrier-free. Some of these are clumsy or obscure, but the easily-understood and technically correct term freely-ordered may serve. You could also parenthetically define commutative by writing "These subroutines are commutative (that is, are fully permutable and may be freely ordered) ...", and thereafter use commutative in that well-defined sense.

share|improve this answer

Mathematically speaking, It sounds like the process steps are both associative: (a + b) + c = a + (b + c), and commutative: a + b = b + a. So it doesn't matter what order the steps are in, nor how they are grouped.

share|improve this answer
The OP just asked about changing the order of the subroutines. So "commutative" is correct. +1. – user16269 Mar 2 '12 at 23:25

First, we need to correct the title of your question. It is not the program that is sequentially independent, but a certain subset of the set of its subroutines (perhaps the entire set of its subroutines, and you seem to intimate). That correction done, the bottom line is that the best answers you are going to get are not much better than the one you already propose, namely, “sequentially-independent” – that is, it’s going to take a hyphenated term to get the meaning across, and the synonyms offered up to you, “order-free”, “executionally-unrelated” etc., are not going to be much of an improvement over that. But anyway, here’s my take:

The ultimate technical notion here is that of what is called, in Mathematics, a “partially-ordered set” (canonically typified by the relation “is a subset of” on the set of all subsets of a given set), often abbreviated to “POSET”.

The situation described by the OP widely occurs also in ordinary life. That is, we have a major task to accomplish that is comprised of sub-tasks, some of which can be done in any order. A canonical example is the task of getting ready in the morning to go to work. Some things, say, shaving, “must” come before others, such as, say, putting on your shirt and tie, while others, such as brushing your teeth, combing your hair, and shaving, can be done in any order, although, of course, SOME order must be chosen. So, the relevant concept is that two or more of the items of a partially-ordered set may be UNRELATED. Therefore, you could say that the subroutines are "executionally-unrelated". However, the synonyms given by jwpat7 are good, the best of his being “order-free” I would say.

Technical terms, such as “DNA”, “set”, “subset”, etc., are constantly seeping into ordinary language, and this is another case ripe for that, and so it is entirely appropriate that this question appear in this forum, because although the SOURCE may be technical, the OP is wanting to put it to use in an ordinary language (i.e., human-readable documentation) way.

One of the bragging points of English is its huge vocabulary, and so it is perhaps with some poetic justice that its enthusiasts be pestered on a regular basis by requests for “a term for everything, whether it's just been discovered or not”…:)

share|improve this answer

I noticed that you sometimes use Python, so I will use Python-style notation, but with the extra feature of user-definable binary operators.

The words you are looking for are commute (verb), commutative (adjective) and commutativity (noun). You are probably familiar with commutativity as a property of binary operators:

a + b == b + a -- always true, because operator+ commutes
a - b == b - a -- usually false, because operator- is not commutative

so you might it’s strange to talk about commutativity in situations like this:

def enter_building():
  -- no binary operators here!

but that’s just a matter of syntax. The functional language Haskell uses the binary operator => for sequencing. We can do something similar in Python:

def operator=>(fun1, fun2): -- Not valid Python syntax, but I think the meaning is clear
  def f():
  return f 

enter_building = unlock_door => open_door => walk_through_doorway

In this case, it is an error to walk through the doorway before you open the door, so => is not commutative.

share|improve this answer

I think the word you are looking for is asynchronous

share|improve this answer

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