[...]
> I'm not familiar with graph theory and the possibly specialist technical
> meanings given there to words in common use.
Even though many programmers don't know, they probably use graph algorithms somewhere. Just think about tree structures. The packages dependencies are a graph and the errors comes from algorithms of graph theory. So in this way it is natural to use terms from graph theory.
> However, in everyday English neither of the nouns 'cycle' or 'circle'
> has the meaning 'mutual interdependence' except perhaps as a curious
> extension of the metaphor which works poorly if at all.
+1
Show quoted text 14 lines
> Whereas the adjective 'circular' can carry a meaning of 'interdependent'
> or 'dependent on itself'. So a 'circular argument' is flawed in that it
> refers to itself rather than to an independently established
> proposition. But in English you would not normally refer to such a
> circular argument as a 'circle' and expect people (apart perhaps from
> graph theorists?) to appreciate immediately what you meant.
>
> Dependency (or interdependency) is the more descriptive term, which does
> not rely on a strained metaphor - although 'mutual dependency' is rather
> a mouthful.
I'm sufficiently familiar with graph theory to be confident that its
specialist terminology- edge, vertex and so on- isn't relevant when
software usage is being discussed.
I'm not sure what you mean with "software usage" here, but I guess the audience of Lazarus are software developers, which means they know about algorithms and data structures. So every Lazarus user should know that words like "list", "stack", "tree" do not have their normal meaning.
About "specialist terminology":
You don't have to be a graph theorist to know about edge and vertex. Just ask a 3D programmer.
Show quoted text 5 lines
Let's just stick to industry conventions. There's plenty of precedent
for referring to circular references (i.e. a group of modules/units
which each import the other), and plenty of precedent for referring to a
sequence of build operations which becomes a cycle if part of it is
intentionally repeated.
Just google and read some wikipedia pages to see that there is no clear industry standard for circular, cyclic or cycle.
In both cases the important thing is not so much the adjective
(circular, cyclic) but the combination of adjective plus noun, which
/should/ be used consistently in documentation and error messages.
Yes.
And since this is open source, it should also be consistent with the sources, which means the used structures and algorithms.
I changed it to circular dependencies and endless loops because Google gave more results.
Mattias