I think it could be a good idea to consider and decide upon some principles for the syntax before considering concrete keyword alternatives. I think it should be considered in this order:
- What “kind of word” should be used and how should the constructs be read in real-world language?
- Should the same keyword be used for definitions and parameters?
- Based on this, which word has the best connotations of “something that is applied implicitly”?
Some comments on the first point:
Some of the previous debate has included the question whether it should be a noun, adjective, or verb. Let’s investigate by example:
given Foo
To me, this is read as “a given instance of Foo”. As “an instance of X” could be shortened to “an X” we could read it simply as “a given Foo”. So given
is here a modifier and thus an adjective. We might even say that it modifies the type Foo
from a normal type to a given type.
(The verb variant, give Foo
, would have a completely different meaning: the difference would be akin to the difference between imperative and declarative.)
But what does “given” mean? So far, that does not matter. If we decide that it should be a modifier, any adjective would do. It could be a word that has some of the “implicit” connotations: magic, enchanted, implied, auto, default, given, provided… or not: red, big, innocent, beautiful, strange. Yes, we could exchange given
with beautiful
and it would work just the same.
On the other hand:
witness of Foo
has a slightly more complicated meaning. As a noun, it does not modify Foo, it is a thing in itself, which has semantic relationship to that which it it is a thing of
. Thus we cannot replace it with any other noun, and the meaning of the word must be considered immediately. Previous proposed alternatives of this kind have included representative (repr) and instance (and probably others I don’t remember). We could generalize it to thing of Foo
(which probably wouldn’t work that well in itself).
Actually, we could unify the two variants by saying that the general form is:
special instance of Foo
In the “given” variant, we leave out “instance of” and shorten it to special Foo
and then exchange “special” with whatever adjective we like.
In the “witness of” variant, we exchange “special instance” with a word that has similar connotations to “special instance”.