Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I made a list of all symbols and functions that can be accessed from Mathematica and any included package that comes with it after standard installation.

I thought I managed to get a list of everything possible. But I just found out I missed this TetGenLink

Needs["TetGenLink`"]

Works and loads many functions.

The strange thing is that I do not see this package anywhere on my V9 installation. (I found all packages by manually looking in each folder under the installation, and checking all files for packages) i.e. under AddOns and SystemFiles etc.. to make sure I do not overlook anything, so I thought I got everything.

Looking at TetGenLink link it says

TetGenLink is a Mathematica application that uses Wolfram LibraryLink to link to TetGen functions

What does this actually mean? What is a Mathematica application?

I went now looked at LibraryLink and it says

Wolfram LibraryLink provides a powerful way to connect external code to Mathematica

So, if I do Needs and I do not have access to the internet, then I can't use these functions?. No. I just did a quick experiment: I shut down my internet connection, closed Mathematica, started it up and did Needs["TetGenLink"]` and it worked! So I am more confused now where is it loading this from.

My question really is: How do I make sure I have a list of all possible symbols/functions that one can reference from a Mathematica session? where else to look to make sure I find other missing functions like the above? It seems I need to find out what other such Mathematica applications are out there and add them to the list.

FYI, the current list I have is here (I need to go update it now to add these new functions). I am not sure now if there are more things like this that I overlooked. I'd like to have everything in the list. Also, if someone sees something I am missing, please let me know.

thanks,

update I found it ! They are in the SystemFiles\\Links\\ folder, and I did not look there since I never thought there are packages there to use. I see that I overlooked many. This means a long night for me to update the list. But good to find these, I never knew about these before. Still if someone think I missed something more, please let me know.

enter image description here

Update 12/4/12

Ok, I just added all those applications, rebuild the tables and uploaded them here

These are the new stats on V9

92     different contexts 
7,919  total symbols (names and functions) in all known packages and contexts
4,153  total functions 
share|improve this question
add comment

1 Answer

up vote 6 down vote accepted

1) About where TetGenLink is located:

FindFile["TetGenLink`"]

2) "external code" in the description of LibraryLink means code on your computer which isn't part of Mathematica. These are called DLLs, Frameworks, or static/shared libraries, depending on your OS and how the external application structures itself.

3) You can't find a complete list. Mathematica is a dynamic language--new symbols can be created at any time. If you were to evaluate all of the symbols in your list, you'd probably find that new symbols appeared as a result of that evaluation.

share|improve this answer
1  
Hi Itai, nice to see you around! +1. –  Leonid Shifrin Dec 4 '12 at 11:35
    
The documentation lists the official standard library that is supported. Mathematica is a dynamically-scoped language. This means, that unlike C or Java where there is a clear distinction between exported and internal functions, the distinction in Mathematica is much fuzzier. Whatever approach you're using is unlikely to produce some sort of complete list. Moreover, without documentation, how will you use the the functions in the list. I think it is better to use the documentation. –  Itai Seggev Dec 7 '12 at 3:26
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.