Back in the olden days, LinkConnect[_LinkObject]
was the way you connected a link, and it was the top-level equivalent of the C MLConnect()
function. Then it was decided that LinkOpen
was insufficiently sugary, and we needed the more convenient functions LinkLaunch
, LinkListen
, and, hmm...what to call that third one...yeah, it was called LinkConnect
. So, LinkActivate
was added as an alias. Subsequently, the MathLink C function MLActivate()
was added; MLConnect()
remains, but the two functions perform exactly the same function.
As it turns out, both definitions could exist side-by-side, since the new expression of LinkConnect had no valid signature involving LinkObject
. The version of LinkConnect
which takes a LinkObject
does not use LinkOpen
; look carefully at the signatures and you'll see that. Instead, it directly calls a C function which calls MLConnect()
.