These ``S-Plus'' routines are infact interfaces to stand alone code, developed to do heavy-weight scientific computing; linear algebra, optimization etc.
There are propretiary software suites available for these tasks - two popular ones being IMSL and NAG. However, if you want to put these routines in your code and re-distribute it, then you should check the license carefully.
The alternative is to obtain free routines, just like those built into S-Plus. The place to go is NETLIB. It's like STATLIB but for mathematical software. NETLIB is the ``mother-load''.
One of the key features of a decent environment is that it should be extensible. S-Plus allows you to import your own source. The commands to do this are .C and . Fortran.
There are 2 main reasonsfor wanting to do this.
1. Sloth - why re-invent the wheel, especially if someone has made a better one than you can.
2. Speed - S-Plus is interpreted, it's very slow. It's great for fast proto-typing but a disaster for really memory hogging, large jobs. Linking to compiled code outside S-Plus can speed up execution 100 times.
We'll have a look at some examples of bringing code into S-Plus.