Method names.
Haskell: intercalate
Some obscure C lib: aic2 (since "array insert concat" was already used in some niche lib when someone nobody cares about needed it for his adventuer gaems. Get namespaces, kids.).
ENTERPRISE: insertBetweenElementsAndConcatenate
Lisp: insert + keyword arguments which support a variety of options. (it doesn't actually exist as part of standard CL, but it's not hard to write it).
The reason you prefer ENTERPRISE NAMING STANDARDS is because your vocabulary is insufficient to understand Haskell's terminology? I don't think the problem is with Haskell there.
* The insertion of a leap day, week or month into some calendar years to make the calendar follow the seasons.
* Chemistry, where intercalation is the insertion of a molecule (or group) between two other molecules (or groups). For example, 2,4 dichlorophenoxyacetic acid or 2-(2,4 dichlorophenoxy-)propionic acid intercalates between layers of clays.
* In literature, a technique used to insert one narrative inside another, implying simultaneity. It is also called a "hybrid story" and is used often in the Gospel of Mark, for example in the narrative of the daughter of Jairus.
* University administration, where intercalation is the period when a student is officially suspended from studying for an academic degree.
* By very broad metaphor, intercalation is also used to describe the insertion of a (usually pithy) comment about an email or Usenet message into some structural part (like a signature) where message content would not normally go.
* In biology:
o Intercalation can refer to how certain drugs and mutagen bind to DNA. This type of intercalation was discovered by Leonard Lerman.
o Intercalated duct of exocrine glands
o Intercalated disc of cardiac muscle
o Intercalated cells of the collecting duct
o Intercalated cells of the amygdala
>>11
Most of them are great descriptions for what the function does.
Name:
Anonymous2010-04-07 10:19
Method names should be self documenting
Self descripting method names cannot be self documenting. Method names only tell you that one method is different to another method. To figure out how to use it, you need to refer to the API reference.
>>13
So what you are saying, is that you are unable to see the common pattern? You probably should be using a language like Haskell then, perhaps you'd prefer something like Pascal where you need to describe everything and each of its variants in great detail.
Name:
Anonymous2010-04-07 10:27
At least function types are fairly self-documenting. If you know that intercalcate :: [a]->[[a]]->[a], and that it's called "intercalcate", you should what arguments to pass it and have a decent idea of what it does.
Of course, the source is well documented too: -- | 'intercalate' @xs xss@ is equivalent to @('concat' ('intersperse' xs xss))@.
-- It inserts the list @xs@ in between the lists in @xss@ and concatenates the
-- result.
intercalate :: [a] -> [[a]] -> [a]
intercalate xs xss = concat (intersperse xs xss)
Name:
Anonymous2010-04-07 10:45
>>14
how do you know how to use the sort method? Do you have to look it up? no you dont
>>19
I know, but I'll take any chance to use a ridiculous emoticon.
Name:
Anonymous2010-04-07 11:31
>>17
That's one example. Now show me how to use all the methods in any particular API based upon the method identifier together with the function signatures.
>>27
It's mistyped, the method should be CheckAgainIfFileExistsAndDeleteItIfItIsStillNotPresentButPromptTheUserAtLeastTwiceRegardless(NULL, NULL, NULL, NULL);
There's also a version with AndRevertToClassicThemeForDialogues, but it is very non-portable.