5

An arisdottle is :: and can be used when running prove to execute Perl tests. The documentation for prove states that:

It is possible to supply arguments to tests. To do so separate them from
prove's own arguments with the arisdottle, '::'. For example

    prove -v t/mytest.t :: --url http://example.com

would run t/mytest.t with the options '--url http://example.com'. When
running multiple tests they will each receive the same arguments.

I'm interested in the origin of this term. It's hard to Google. I asked in #toolchain on irc.perl.org and I have yet to get a concrete answer. For historical reasons, I thought it would be helpful to document the term here.

oalders
  • 5,239
  • 2
  • 23
  • 34
  • 1
    [Andy Armstrong wrote that doc line](https://github.com/Perl-Toolchain-Gang/Test-Harness/commit/062737a4a2ce3d43af18baa2e1626d17040ea21d), he could likely confirm. – Schwern Feb 25 '19 at 19:37
  • 1
    Not knowing any better, I changed the documentation entry for that in July 2013, and then reverted it a few days later after I was schooled. I don't have irc logs covering that time frame but I bet there is something relevant on #toolchain or #perl-qa. I do recall there was an article covering the history, on somewhere like perlmonks or use.perl.org. – Ether Feb 25 '19 at 19:39
  • Thanks for the links! In comments on the first of those commits, Ovid [mentioned](https://github.com/Perl-Toolchain-Gang/Test-Harness/commit/d389ff4ce551a19f6fb8a2cdaaf7fc33bd5dcc27#commitcomment-3579159) that Aristotle suggested it and Andy picked the name as a tribute. – cxw May 06 '20 at 19:45

3 Answers3

2

I worked on Test::Harness and prove.

While I don't remember specifically, it is likely a portmanteau of "dot" and "Aristotle". Aristotle Pagaltzis is a Perl contributor, he contributed to Test::Harness, and is probably the person who came up with the idea. Aristotle is also credited with the Enterprise operator ( )x!!.

Andy Armstrong wrote that doc line and would likely be able to confirm.

Schwern
  • 153,029
  • 25
  • 195
  • 336
1

I'm not convinced this is a piece of standard terminology at all. Every single usage of the word I can find online is either:

  1. A fragment of the documentation for bin/prove, like you found in your post

  2. A fragment of Module::Metadata

  3. A reference to a domain name "arisdottle.net" formerly owned by AMIRI, which has since expired.

  4. Unrelated content, including some misspellings of the name Aristotle.

There doesn't appear to be any wider usage -- and, anecdotally, I've never heard it. There's certainly no language-independent term for the usage of :: as a package separator; PHP, famously, had to invent their own.

  • 1
    While there may not be any wider usage, I worked on that project. It's a very specific thing to Perl. – Schwern Feb 25 '19 at 19:43
  • 1
    It does come up a few times: https://grep.cpan.me/?q=arisdottle A lot of these instances seem to be copy/paste, but it's a word that gets used, even if a wider audience is not aware of it. – oalders Feb 25 '19 at 19:56
  • @oalders Almost all of those look like copies of Module::Metadata, often via cpanm. There's one or two additional usages I missed, but nothing that looks especially significant. –  Feb 25 '19 at 20:21
  • 1
    @duskwuff The question is about the origin of the term, not whether the term is significant. – Schwern Feb 25 '19 at 20:25
  • @duskwuff that's why I said "A lot of these instances seem to be copy/paste" – oalders Feb 25 '19 at 20:40
1

Oh yeah - better late than never - that's was me and, yes, it was a reference to https://metacpan.org/author/ARISTOTLE

hexten
  • 1,169
  • 7
  • 10