Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.99k stars 559 forks source link

'catenation' term in the faq #5088

Closed p5pRT closed 21 years ago

p5pRT commented 22 years ago

Migrated from rt.perl.org#8599 (status was 'resolved')

Searchable as RT8599$

p5pRT commented 22 years ago

From tagunov@motor.ru

This is a bug report for perl from "Anton Tagunov" \tagunov@​motor\.ru\, generated with the help of perlbug 1.33 running under perl v5.6.1.


The term 'catenation' is used in several times in the perl manpages. Looks like it is used to mean 'concatenation'. Is it an abbrevation? My first idea was that it is a kind of typo. Do not attach too much attention to my post\, just letting you know of the impression that a freshman receives from reading the manpages.



Flags​:   category=docs   severity=medium


Site configuration information for perl v5.6.1​:

Configured by anthony at Wed Oct 31 20​:29​:27 2001.

Summary of my perl5 (revision 5 version 6 subversion 1) configuration​:   Platform​:   osname=MSWin32\, osvers=4.0\, archname=MSWin32-x86-multi-thread   uname=''   config_args='undef'   hint=recommended\, useposix=true\, d_sigaction=undef   usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define   useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef   use64bitint=undef use64bitall=undef uselongdouble=undef   Compiler​:   cc='cl'\, ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX'\,   optimize='-O1 -MD -DNDEBUG'\,   cppflags='-DWIN32'   ccversion=''\, gccversion=''\, gccosandvers=''   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8\, byteorder=1234   d_longlong=undef\, longlongsize=8\, d_longdbl=define\, longdblsize=10   ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=4   alignbytes=8\, usemymalloc=n\, prototype=define   Linker and Libraries​:   ld='link'\, ldflags ='-nologo -nodefaultlib -release -libpath​:"C​:\usr\local\lib\CORE" -machine​:x86'   libpth="E​:\apps\vc98\sdk.1\Lib\." "E​:\apps\ibm\db2p\LIB" "C​:\usr\local\lib\CORE"   libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib   perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib   libc=msvcrt.lib\, so=dll\, useshrplib=yes\, libperl=perl56.lib   Dynamic Linking​:   dlsrc=dl_win32.xs\, dlext=dll\, d_dlsymun=undef\, ccdlflags=' '   cccdlflags=' '\, lddlflags='-dll -nologo -nodefaultlib -release -libpath​:"C​:\usr\local\lib\CORE" -machine​:x86'

Locally applied patches​:   ACTIVEPERL_LOCAL_PATCHES_ENTRY


@​INC for perl v5.6.1​:   C​:/usr/local/lib   C​:/usr/local/site/lib   .


Environment for perl v5.6.1​:   HOME=C​:\   LANG (unset)   LANGUAGE (unset)   LC_ALL=EN_US   LD_LIBRARY_PATH (unset)   LOGDIR (unset)   PATH=E​:\apps\ibm\vaj\eab\bin;C​:\usr\local\bin\;e​:\Program Files\ibm\gsk5\lib;E​:\APPS\ROSE\RATION~1\NUTCROOT\bin;E​:\APPS\ROSE\RATION~1\NUTCROOT\bin\x11;E​:\APPS\ROSE\RATION~1\NUTCROOT\mksnt;e​:\java\sun\java131\bin;e​:\apps\vbroker\jre\Bin;e​:\apps\vbroker\Bin;C​:\WINNT\system32;C​:\WINNT;c​:\program files\util;E​:\apps\CacheSys\Bin;C​:\Program Files\rksupport;C​:\WINNT\ton\bin;E​:\apps\rose\common;E​:\apps\rose\Rational Test;E​:\apps\borland\delphi\Bin;E​:\apps\borland\delphi\Projects\Bpl;E​:\apps\ibm\IBM\IMNNQ;E​:\apps\ibm\db2p\BIN;E​:\apps\ibm\db2p\FUNCTION;E​:\apps\ibm\db2p\SAMPLES\REPL;E​:\apps\ibm\db2p\HELP;e​:\apps\ibm\websphere\bin   PERL_BADLANG (unset)   SHELL (unset)

p5pRT commented 22 years ago

From [Unknown Contact. See original ticket]

At 07​:49 +0300 2002-02-20\, Anton Tagunov wrote​:

The term 'catenation' is used in several times in the perl manpages. Looks like it is used to mean 'concatenation'. Is it an abbrevation? My first idea was that it is a kind of typo. Do not attach too much attention to my post\, just letting you know of the impression that a freshman receives from reading the manpages.

They're both in the dictionary at my elbow (Oxford Concise)\, and both mean the same thing. I suppose that 'catenate' appeals more to the traditional 'type no more than you must' UNIX mentality. But http​://www.dictionary.com favours 'concatenate' as a computer science term\, even citing a UNIX man page... -- Dominic Dunlop

p5pRT commented 22 years ago

From @nwc10

On Fri\, Mar 29\, 2002 at 11​:38​:02PM +0200\, Dominic Dunlop wrote​:

At 07​:49 +0300 2002-02-20\, Anton Tagunov wrote​:

The term 'catenation' is used in several times in the perl manpages. Looks like it is used to mean 'concatenation'. Is it an abbrevation? My first idea was that it is a kind of typo. Do not attach too much attention to my post\, just letting you know of the impression that a freshman receives from reading the manpages.

They're both in the dictionary at my elbow (Oxford Concise)\, and both mean the same thing. I suppose that 'catenate' appeals more to the traditional 'type no more than you must' UNIX mentality. But http​://www.dictionary.com favours 'concatenate' as a computer science term\, even citing a UNIX man page...

Consistency is good. Would it be sensible to change references to "catenate" to "concatenate" in the perl manpages.

Aha. It's April 1st. That makes it a good day to recommend that we standardise on -ise spellings. :-)

Nicholas Clark -- Even better than the real thing​: http​://nms-cgi.sourceforge.net/

p5pRT commented 22 years ago

From [Unknown Contact. See original ticket]

On Monday\, 2002-04-01 at 13​:19​:25 +0100\, Nicholas Clark wrote​:

On Fri\, Mar 29\, 2002 at 11​:38​:02PM +0200\, Dominic Dunlop wrote​:

They're both in the dictionary at my elbow (Oxford Concise)\, and both mean the same thing. I suppose that 'catenate' appeals more to the traditional 'type no more than you must' UNIX mentality. But http​://www.dictionary.com favours 'concatenate' as a computer science term\, even citing a UNIX man page...

Consistency is good. Would it be sensible to change references to "catenate" to "concatenate" in the perl manpages.

Aha. It's April 1st. That makes it a good day to recommend that we standardise on -ise spellings. :-)

Catenise? Catenetasize? Concanetasise?

Lupe -- | lupe@​lupe-christoph.de | http​://free.prohosting.com/~lupe | | I have challenged the entire ISO-9000 quality assurance team to a | | Bat-Leth contest on the holodeck. They will not concern us again. | | http​://public.logica.com/~stepneys/joke/klingon.htm |

p5pRT commented 21 years ago

From @cwest

http​://rt.perl.org/rt2/Ticket/Display.html?id=8599

The following patch fixes up this bug and keeps things consitent. Some tests and code examples in documentation made appropriate use of the term 'catenate' and were therefore left alone.

  Casey West

-- Shooting yourself in the foot with IRIX The Terminator shoots you in the foot. A T-Rex bites your other foot.

Inline Patch ```diff diff -r -u perl-current.orig/Configure perl-current/Configure --- perl-current.orig/Configure Wed May 7 16:36:39 2003 +++ perl-current/Configure Fri May 9 03:18:22 2003 @@ -17229,9 +17229,9 @@ : set the base revision baserev=5.0 -: how do we catenate cpp tokens here? +: how do we concatenate cpp tokens here? echo " " -echo "Checking to see how your cpp does stuff like catenate tokens..." >&4 +echo "Checking to see how your cpp does stuff like concatenate tokens..." >&4 $cat >cpp_stuff.c <<'EOCP' #define RCAT(a,b)a/**/b #define ACAT(a,b)a ## b @@ -17250,7 +17250,7 @@ cpp_stuff=1 else $cat >&4 <fdopen($duperr,"w"); if ($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'VMS') { print `type Io.dup` } -elsif ($^O eq 'MacOS') { system 'Catenate Io.dup' } +elsif ($^O eq 'MacOS') { system 'Concatenate Io.dup' } else { system 'cat Io.dup' } unlink 'Io.dup'; diff -r -u perl-current.orig/lib/File/Spec/Unix.pm perl-current/lib/File/Spec/Unix.pm --- perl-current.orig/lib/File/Spec/Unix.pm Fri Mar 14 11:29:34 2003 +++ perl-current/lib/File/Spec/Unix.pm Fri May 9 03:18:23 2003 @@ -326,7 +326,7 @@ =item catpath() Takes volume, directory and file portions and returns an entire path. Under -Unix, $volume is ignored, and directory and file are catenated. A '/' is +Unix, $volume is ignored, and directory and file are concatenated. A '/' is inserted if needed (though if the directory portion doesn't start with '/' it is not added). On other OSs, $volume is significant. diff -r -u perl-current.orig/lib/File/Spec.pm perl-current/lib/File/Spec.pm --- perl-current.orig/lib/File/Spec.pm Fri Mar 14 09:54:21 2003 +++ perl-current/lib/File/Spec.pm Fri May 9 03:18:23 2003 @@ -207,7 +207,7 @@ =item catpath() Takes volume, directory and file portions and returns an entire path. Under -Unix, $volume is ignored, and directory and file are catenated. A '/' is +Unix, $volume is ignored, and directory and file are concatenated. A '/' is inserted if need be. On other OSs, $volume is significant. $full_path = File::Spec->catpath( $volume, $directory, $file ); diff -r -u perl-current.orig/plan9/config.plan9 perl-current/plan9/config.plan9 --- perl-current.orig/plan9/config.plan9 Wed Apr 23 16:04:17 2003 +++ perl-current/plan9/config.plan9 Fri May 9 03:18:23 2003 @@ -22,7 +22,7 @@ #define _config_h_ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ #define CAT2(a,b)a ## b @@ -1116,7 +1116,7 @@ #endif /* NeXT */ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. @@ -1136,7 +1136,7 @@ #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor catenate tokens?" +# include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: diff -r -u perl-current.orig/plan9/config_h.sample perl-current/plan9/config_h.sample --- perl-current.orig/plan9/config_h.sample Wed Apr 23 16:04:17 2003 +++ perl-current/plan9/config_h.sample Fri May 9 03:18:23 2003 @@ -1067,7 +1067,7 @@ #endif /* NeXT */ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. @@ -1087,7 +1087,7 @@ #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor catenate tokens?" +# include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: ```

Only in perl-current/t: btree1 Only in perl-current/t/lib​: IO

Inline Patch ```diff diff -r -u perl-current.orig/uconfig.h perl-current/uconfig.h --- perl-current.orig/uconfig.h Wed Apr 23 16:04:17 2003 +++ perl-current/uconfig.h Fri May 9 03:18:23 2003 @@ -1476,7 +1476,7 @@ #define OSVERS "" /**/ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. @@ -1496,7 +1496,7 @@ #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor catenate tokens?" +# include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: diff -r -u perl-current.orig/win32/config_H.bc perl-current/win32/config_H.bc --- perl-current.orig/win32/config_H.bc Wed Apr 23 16:04:17 2003 +++ perl-current/win32/config_H.bc Fri May 9 03:18:23 2003 @@ -1482,7 +1482,7 @@ #define OSVERS "4.0" /**/ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. @@ -1502,7 +1502,7 @@ #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor catenate tokens?" +# include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: diff -r -u perl-current.orig/win32/config_H.gc perl-current/win32/config_H.gc --- perl-current.orig/win32/config_H.gc Wed Apr 23 16:04:17 2003 +++ perl-current/win32/config_H.gc Fri May 9 03:18:23 2003 @@ -1482,7 +1482,7 @@ #define OSVERS "4.0" /**/ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. @@ -1502,7 +1502,7 @@ #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor catenate tokens?" +# include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: diff -r -u perl-current.orig/win32/config_H.vc perl-current/win32/config_H.vc --- perl-current.orig/win32/config_H.vc Wed Apr 23 16:04:17 2003 +++ perl-current/win32/config_H.vc Fri May 9 03:18:23 2003 @@ -1482,7 +1482,7 @@ #define OSVERS "4.0" /**/ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. @@ -1502,7 +1502,7 @@ #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor catenate tokens?" +# include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: diff -r -u perl-current.orig/win32/config_H.vc64 perl-current/win32/config_H.vc64 --- perl-current.orig/win32/config_H.vc64 Wed Apr 23 16:04:17 2003 +++ perl-current/win32/config_H.vc64 Fri May 9 03:18:23 2003 @@ -1482,7 +1482,7 @@ #define OSVERS "4.0" /**/ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. @@ -1502,7 +1502,7 @@ #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor catenate tokens?" +# include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: diff -r -u perl-current.orig/wince/config_H.ce perl-current/wince/config_H.ce --- perl-current.orig/wince/config_H.ce Wed Apr 23 16:04:17 2003 +++ perl-current/wince/config_H.ce Fri May 9 03:18:23 2003 @@ -1073,7 +1073,7 @@ #endif /* NeXT */ /* CAT2: - * This macro catenates 2 tokens together. + * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. @@ -1093,7 +1093,7 @@ #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 -# include "Bletch: How does this C preprocessor catenate tokens?" +# include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: ```
p5pRT commented 21 years ago

From @schwern

On Fri\, May 09\, 2003 at 04​:00​:44AM -0400\, Casey West wrote​:

http​://rt.perl.org/rt2/Ticket/Display.html?id=8599

The following patch fixes up this bug and keeps things consitent. Some tests and code examples in documentation made appropriate use of the term 'catenate' and were therefore left alone.

From Webster's Revised Unabridged Dictionary (1913) [web1913]​:

  Catenate \Cat"e*nate\\, v. t. [imp. & p. p. {Catenated}; p. pr. &   vb. n. {Catenating}.] [L. catenatus\, p. p. of catenare\, fr.   catena chain. See {Chain}.]   To connect\, in a series of links or ties; to chain. --E.   Darwin.

From Webster's Revised Unabridged Dictionary (1913) [web1913]​:

  Concatenate \Con*cat"e*nate\ (k[o^]n*k[a^]t"[-e]*n[=a]t)\, v. t.   [imp. & p. p. {Concatenated}; p. pr. & vb. n.   {Concatenating}.] [L. concatenatus\, p. p. of concatenare to   concatenate. See {Catenate}.]   To link together; to unite in a series or chain\, as things   depending on one another.  
  This all things friendly will concatenate. --Dr. H.   More

Why is "concatenate tokens" better than "catenate tokens"?

diff -r -u perl-current.orig/Configure perl-current/Configure --- perl-current.orig/Configure Wed May 7 16​:36​:39 2003 +++ perl-current/Configure Fri May 9 03​:18​:22 2003 @​@​ -17229\,9 +17229\,9 @​@​ : set the base revision baserev=5.0

-​: how do we catenate cpp tokens here? +​: how do we concatenate cpp tokens here? echo " " -echo "Checking to see how your cpp does stuff like catenate tokens..." >&4 +echo "Checking to see how your cpp does stuff like concatenate tokens..." >&4 $cat >cpp_stuff.c \<\<'EOCP' #define RCAT(a\,b)a/**/b #define ACAT(a\,b)a ## b @​@​ -17250\,7 +17250\,7 @​@​ cpp_stuff=1 else $cat >&4 \<\<EOM -Hmm\, I don't seem to be able to catenate tokens with your cpp. You're going +Hmm\, I don't seem to be able to concatenate tokens with your cpp. You're going to have to edit the values of CAT[2-5] in config.h... EOM cpp_stuff="/* Help! How do we handle cpp_stuff? */*/" \

-- Let me check my notes.   http​://www.sluggy.com

p5pRT commented 21 years ago

From @cwest

It was Friday\, May 09\, 2003 when Michael G Schwern took the soap box\, saying​: : On Fri\, May 09\, 2003 at 04​:00​:44AM -0400\, Casey West wrote​: : > http​://rt.perl.org/rt2/Ticket/Display.html?id=8599 : > : > The following patch fixes up this bug and keeps things consitent. : > Some tests and code examples in documentation made appropriate use of : > the term 'catenate' and were therefore left alone. : : From Webster's Revised Unabridged Dictionary (1913) [web1913]​: : : Catenate \Cat"e*nate\\, v. t. [imp. & p. p. {Catenated}; p. pr. & : vb. n. {Catenating}.] [L. catenatus\, p. p. of catenare\, fr. : catena chain. See {Chain}.] : To connect\, in a series of links or ties; to chain. --E. : Darwin. : : From Webster's Revised Unabridged Dictionary (1913) [web1913]​: : : Concatenate \Con*cat"e*nate\ (k[o^]n*k[a^]t"[-e]*n[=a]t)\, v. t. : [imp. & p. p. {Concatenated}; p. pr. & vb. n. : {Concatenating}.] [L. concatenatus\, p. p. of concatenare to : concatenate. See {Catenate}.] : To link together; to unite in a series or chain\, as things : depending on one another. :
: This all things friendly will concatenate. --Dr. H. : More : : Why is "concatenate tokens" better than "catenate tokens"?

I was following the dictionary definitions provided by Dominic Dunlop earlier in this thread​:

  They're both in the dictionary at my elbow (Oxford Concise)\, and   both mean the same thing. I suppose that 'catenate' appeals more to   the traditional 'type no more than you must' UNIX mentality. But   http​://www.dictionary.com favours 'concatenate' as a computer   science term\, even citing a UNIX man page...

Given concatenate in his Oxford Concise\, and my overwhelming need for consistency\, it just seemed right.

  Casey West

-- I'd rather listen to Newton than to Mundie. He may have been dead for almost three hundred years\, but despite that he stinks up the room less. -- Linus Torvalds

p5pRT commented 21 years ago

From @schwern

On Fri\, May 09\, 2003 at 03​:16​:28PM -0400\, Casey West wrote​:

Given concatenate in his Oxford Concise\, and my overwhelming need for consistency\, it just seemed right.

"Consistency? I'm sorry\, Sir\, but you obviously chose the wrong door."   -- Jarkko Hietaniemi in \20020308030309\.A21378@&#8203;alpha\.hut\.fi

;)

-- Cheating is often more efficient.   - Seven of Nine

p5pRT commented 21 years ago

From tagunov@motor.ru

Hello Michael\, Casey and everybody!

CW> : Why is "concatenate tokens" better than "catenate tokens"?

If I'm allowed to comment again..

As a non-native speaker of English   - have met "concatenation" in "every" book on Computer Science.   - have never met "catenation" there..

A funny test​: if we ask Google​:   concatenation -> approx 297'000 pages   catenation -> approx 8'870 pages

  concatenate -> approx 146'000 pages   catenate -> approx 8'300 pages

So I was very glad Casey is doing the change - much easier for non-natives :-)

= Anton

p5pRT commented 21 years ago

From tchrist@chthon.perl.com

Hello Michael\, Casey and everybody!

CW> : Why is "concatenate tokens" better than "catenate tokens"?

If I'm allowed to comment again..

As a non-native speaker of English - have met "concatenation" in "every" book on Computer Science. - have never met "catenation" there..

A funny test​: if we ask Google​: concatenation -> approx 297'000 pages catenation -> approx 8'870 pages

concatenate -> approx 146'000 pages catenate -> approx 8'300 pages

So I was very glad Casey is doing the change - much easier for non-natives :-)

For those who wonder how this sneaked into the doc tree\, you may go ahead and blame me for it. I think I once took a liking to the dubious notion of "." being "catenate" and ".=" being *con*catenate.

Sometimes\, I think\, I just go making up my own language. Sometimes is works\, but sometimes it doesn't stick. Maybe I was also trying to get people to use a shorter word instead of a longer one; I no longer recall clearly.

There is very\, *very* low incidence of the shorter version. The Camel has just one​:

  955stdlibs.pod​:catenates together each path component using the specified platform's

and the general Perl documentation source tree likewise only a few​:

  % tcgrep '\bcatenat' pod lib   pod/perlhack.pod​:Line 10 does the actual catenation​: the C\ macro moves a chunk of   pod/perlop.pod​:C\<.> catenation operations. Thus\, C\<"$foo XXX '@​arr'"> becomes​:   pod/perlop.pod​:described above\, and possibly after evaluation if catenation\,   pod/perlrequick.pod​: $x = "Housecat catenates house and cat";   pod/perlrequick.pod​: $x =~ /\bcat/; # matches cat in 'catenates'   pod/perlretut.pod​: $x = "Housecat catenates house and cat";   pod/perlretut.pod​: $x =~ /\bcat/; # matches cat in 'catenates'   lib/Config.pod​:This variable contains an identification of the catenation mechanism   lib/File/Spec/Unix.pm​:Unix\, $volume is ignored\, and directory and file are catenated. A '/' is   lib/File/Spec.pm​:Unix\, $volume is ignored\, and directory and file are catenated. A '/' is   lib/overload.pm​:overloaded catenation operator\, otherwise absurd results will result.   lib/overload.pm​:C\<"[$meth $a $b]"> is a catenation of some strings and components $a   lib/overload.pm​:and $b. If these components use overloading\, the catenation operator

I have no defence\, apart from the Unix con^Wcat command.​:-) That is\, it *is* the cat command\, not the concat command\, so this is hardly without precedent. More venerable versions of the Unix documentation listed cat(1) as

  cat - catenate and print

from

  http​://minnie.tuhs.org/UnixTree/V7/usr/man/man1/cat.1.html   http​://www.perl.com/language/ppt/v7/cat.1

More recent Unix cat(1) manpages generally make out to be that something more like​:

  cat - concatenate and print files

Nevertheless\, the word "catenate" does still crop up still from time to time and place to place. For example\, GNU tar has these options​:

  -A\, --catenate append tar files to an archive   --concatenate same as -A

My failed innovation (don't tell me how silly it was\, please; the playing out of history suffices for that) was trying to get people to use either a shorter name for both\, or FOO for the regular operator and conFOO for the assignment version. I think I also got tired of having to say a word of five syllables all the time (the version with con-). Maybe I should have just pushed for "string" as a verb. :-)

Observe where the two words came from. In Latin (and to some extent\, English\, too)\, a "catena" was a chain. The OED (henceforth referred to simply as "the Dictionary" :-) presents this entry for "catenate"​:

  Etymology​: f. L. catenat- ppl. stem of catenare (f. catena chain); see   -ate[3].

  1 trans. To connect like the links of a chain\, to link\, to string together;   to form into a catena or series. Hence 'catenated ppl. a.

  1623 Cockeram\, - Catennate\, to chaine.

  1656 Blount Glossogr.\, - Catenate\, to link\, chain or tie.

  1794-6 E. Darwin Zoon. (1801) I. 112 - If this activity be   catenated with the diurnal circle of actions.

  A. 1876 J. H. Newman Hist. Sk. II. v. v. 477 - He fused   those catenated passages into one homogeneous comment.

  1876 Maudsley Phys. Mind v. 308 - A transference of energy   from one to another of the catenated cells.

  2 fig. (humorously.) To bind as with a chain.

  178. Mock Ode in Boswell Johnson (1816) IV. 428 - This gigantic   frame..catenated by thy charms\, A captive in thy ambient arms.

Which is followed by the entry for "catenation"​:

  Etymology​: ad. L. catenation-em\, f. catenare; see prec.

  1 A linking into a chain; connexion like that between the links of a   chain; arrangement in a connected series; connected succession.

  1641 R. Brooke Eng. Episc. i. v. 21 - A perfect and universall   catenation of all essentials and circumstantials.

  1646 Sir T. Browne Pseud. Ep. 240.

  1654 Palæmon Friendship 24 - So by this Catenation of Vices some   one link of the chain would be found confessedly too heavy.

  1838 Blackw. Mag. XLIV. 234 - In the catenation of the   objects..constituting that universe.

  1876 Maudsley Phys. Mind iii. 164 - An association or catenation of   movements.

So it's hardly a new word by most measuring sticks.

Here\, for the record\, are the Dictionary entries for the related terms.

The first is for the adjectival form of "concatenate"​:

  Etymology​: ad. L. concatenat-us\, pa. pple. of concatenare​: see next\,   and -ate[2].

  Chained together (obs.); linked together; concatenated. In Entom.\, etc.   said of rows of processes connected by ridges\, or the like.

  1471 Ripley Comp. Alch. ii. v. in Ashm. (1652) 136 - The Elements   be so concatenat.

  1678 Cudworth Intell. Syst. 652 - Thus are all the genuine   attributes of the Deity..inseparably concatenate.

  1871 M. Cooke Fungi (1874) 131 - Sporidia..attached together in   fours in a concatenate or beaded manner.

  Hence con'catenateness\, `the being linked together' (Bailey 1730-6).

And the second for the same word is for the transitive verb form of "concatenate"​:

  Etymology​: f. L. concatenat-\, ppl. stem of concatenare to link   together\, f. con- + catenare to chain\, f. catena chain​: see -ate[3].

  trans. To chain together (obs.); to connect like the links of a chain\,   to link together. fig.

  1598 Barckley Felic. Man (1631) 366 marg.\, - Three bodily worlds   concatinated.

  1622 Malynes Anc. Law-Merch. 356 - The said Modells to containe on   the one side\, the world concatenated together vnder a Crowne   Imperiall.

  1631 Heywood Lond. Jus Hon. Wks. 1874 IV. 277 - A Chaine wherein   all cheife Vertues and Graces are concatinated and link't together.

  1751 Johnson Rambler No. 151 P7 - Propositions are..concatenated   into arguments.

  1811 Pinkerton Petral. II. 5 - A theory is useful to concatenate   facts.

  1872 Minto Eng. Lit. 248 - Closely concatenating his thoughts.

Meanwhile\, the entry on the noun "concatenation" is longer.

  Etymology​: ad. L. concatenation-em\, n. of action f. concatena-re​:   see prec. and -ation; cf. Fr. concaténation.

  The action of concatenating\, or the condition or relation of   being concatenated.

  1 Union by chaining or linking together; concatenated condition.

  1603 Holland Plutarch's Mor. 162 - The concatenation and   coherence of these matters handled by Plutarch.

  1605 Bacon Adv. Learn. i. iv. 22 - That correspondence or   concatenation\, which is betweene the superiour globe and   the inferiour.

  A. 1688 Villiers (Dk. Buckhm.) Milit. Couple Wks. (1775)   129 - The most affectionate couple..since the concatenation   of Adam and Eve in Paradise.

  1730 A. Gordon Maffei's Amphith. 213 - The demolishing the   Coliseum\, by reason of the Concatenation of the Stones and   Iron Bracers\, became a tough piece of Work.

  b An instance of chaining or linking together.

  1657 S. Purchas Pol. Flying-Ins. i. i. 2 - So many..joints\,   connexions\, and concatenations.. in so small a fabrick.

  2 esp. Union in a series or chain\, of which the things united   form as it were links.

  1614 T. Adams Devil's Banquet 296 - Hee..hath power to adde   plagues with an euerlasting concatenation.

  1678 Norris Misc. (1699) 372 - Those Dispensations\, which   separately taken\, appear harsh\,..in concatenation..conspire   to the Beauty and Interest of the whole.

  1761 Brit. Mag. II. 131 - To imagine him so careless about   the concatination of events.

  1841-71 T. R. Jones Anim. Kingd. (ed. 4) 532 - Their   separation from the chain is always to be ascribed to   accidental violence..concatenation is so essential to the   existence of the animals that they soon perish if separated   from the rest.

  1867 Lewes Hist. Philos. II. 218 - The necessary concatenation   of ideas which should reproduce the concatenation of objects   is destroyed.

  3 quasi-concr. A concatenated series or system\, an interdependent   or unbroken sequence\, a `chain'​: a material.

  1726 Dart Canterb. Cathedr. 8 - A Wall or Concatination of   marble Slabs..surrounding the Choir.

  1849 Ruskin Sev. Lamps iv. Sect.4. 98 - This vile concatenation   of straight lines.

  1874 Micklethwaite Mod. Par. Churches 72 - [Organ-pipes]   mere concatenations of zinc chimney-cans.

  b non-material.

  1622-62 Heylin Cosmogr. iii. (1682) 30 - A long concatenation   of felicity.

  1656 Hobbes Liberty\, Necess.\, & Ch. (1841) 105 - Nor doth   the concourse of all causes make one simple chain or   concatenation.

  1753 Johnson in Adventurer No. 107 P3 - Taking in the whole   concatenation of causes and effects.

  1880 Vern. Lee Stud. Italy vi. ii. 262 - A concatenation   of bungles and contradictions.

And finally\, the word "catena" isn't restricted to Vatican use.

  Etymology​: L. catena chain.

  A chain\, a connected series​:

  a (More fully catena patrum)​: A string or series of extracts   from the writings of the fathers\, forming a commentary on some   portion of Scripture; also\, a chronological series of extracts   to prove the existence of a continuous tradition on some point   of doctrine. Also transf.

  1644 Milton Areop. (Arb.) 64 - For a parochiall Minister..to   finish his circuit in..a Harmony and a Catena.

  1684 T. Burnet Th. Earth I. 261 - The ancient glosses and   catenæ upon scripture.

  1858 R. Vaughan Ess. & Rev. I. 29 - The authorship of many\,   though assigned in the catenæ to Origen\, is..open to question.

  1862 Maurice Mor. & Met. Philos. IV. 192 - A catena of   opinions in favour of an ecclesiastical system.

  1882-3 Schaff Relig. Encycl. I. 419 - The true catena   consists merely of extracts from a..number of exegetes.

  b generally. `Chain\, string.'

  1862 Sat. Rev. 15 Mar. 303 - The Mausoleum is mentioned as   existing by a catena of writers reaching down to the 12th   century of the Christian era.

  1868 Pall Mall G. 23 July 4 - Carried down in an unbroken   catena of conscious observance.

  1883 Spectator 6 Oct. 1274 - His speech is but a catena of   Tory platitudes writ large.

  1884 F. Harrison in 19th. Cent. Mar. 494 - One long catena   of difficulty.

  c In full soil catena (see quots.).

  1935 G. Milne in Soil Research IV. 194\, - I propose the   word catena (Latin\, = a chain). This term will help to   indicate that the soils so grouped are linked by their   topographic relationship.

  1935 G. Milne in Soil Research\, IV. 194\, - The Uganda soils   might be spoken of as the Bukalasa catena.

  1954 W. D. Thornbury Princ. Geomorphology iv. 78 - A soil   catena consists of a group of soils within a particular   soil region which developed from similar parent material   but differ in the characteristics of their profiles because   of the varying topographic and drainage conditions under   which they formed.

There\, now wasn't that educative? :-)

--tom

p5pRT commented 21 years ago

From @jhi

Thanks\, concatenate-ated-- except for the dup.t change.

-- Jarkko Hietaniemi \jhi@&#8203;iki\.fi http​://www.iki.fi/jhi/ "There is this special biologist word we use for 'stable'. It is 'dead'." -- Jack Cohen

p5pRT commented 21 years ago

@cwest - Status changed from 'open' to 'resolved'

p5pRT commented 21 years ago

From @abigail

On Fri\, May 09\, 2003 at 12​:03​:29PM -0700\, Michael G Schwern wrote​:

On Fri\, May 09\, 2003 at 04​:00​:44AM -0400\, Casey West wrote​:

http​://rt.perl.org/rt2/Ticket/Display.html?id=8599

The following patch fixes up this bug and keeps things consitent. Some tests and code examples in documentation made appropriate use of the term 'catenate' and were therefore left alone.

From Webster's Revised Unabridged Dictionary (1913) [web1913]​:

Catenate \Cat"e*nate\\, v. t. [imp. & p. p. {Catenated}; p. pr. & vb. n. {Catenating}.] [L. catenatus\, p. p. of catenare\, fr. catena chain. See {Chain}.] To connect\, in a series of links or ties; to chain. --E. Darwin.

From Webster's Revised Unabridged Dictionary (1913) [web1913]​:

Concatenate \Con*cat"e*nate\ (k[o^]n*k[a^]t"[-e]*n[=a]t)\, v. t. [imp. & p. p. {Concatenated}; p. pr. & vb. n. {Concatenating}.] [L. concatenatus\, p. p. of concatenare to concatenate. See {Catenate}.] To link together; to unite in a series or chain\, as things depending on one another.

       This all things friendly will concatenate\. \-\-Dr\. H\.
                                                More

Why is "concatenate tokens" better than "catenate tokens"?

Non-native English speakers. I pointed a similar issue out while reviewing a chapter of the cookbook\, and Tom replied with​:

  "Google overwhelmingly agrees with you\, giving 146k​:8k".

Catenate is much rarer than concatenate\, and hence less comprihandable for people not masting English very well.

Abigail

p5pRT commented 21 years ago

@cwest - Status changed from 'open' to 'resolved'