5

I would like to have a simple way to get summary information about all the many commands built into Mathematica. How could I do this? Is there a site I may refer to?

J. M.'s missing motivation
  • 124,525
  • 11
  • 401
  • 574
wally
  • 417
  • 2
  • 9
  • According to the Wolfram Research site Mathematica currently has more than 5000 built-in functions (which is probably what you mean by "commands"). What would you do with a list of 5000 function names if you had one? In desperation you could evaluate Information["*"].This will give you information on the most readily available functions, but also lists symbols that are not functions. – m_goldberg Mar 16 '15 at 04:39
  • 5
    Listing of all symbols and functions as of V9 is here V10 listing has not been updated due to some problems with the current script running on V10. Alphabetical listing of all commands/symbols is here and with description is here – Nasser Mar 16 '15 at 04:48
  • Welcome to Mathematica.SE! I suggest the following:
    1. As you receive help, try to give it too, by answering questions in your area of expertise.
    2. Read the [faq]!
    3. When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge.

    Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign!

    –  Mar 16 '15 at 05:39
  • I would like to draw your attention to one more Post: Where to see all Mathematica units (duplicate) –  Mar 16 '15 at 07:46

4 Answers4

6

In 10.2 there is WolframLanguageData.

As a sample, to get a list (sorted by common-ness) of symbols which do not begin with $, are not *Box or *Data functions, are not solely options to other functions, and having got rid of some of the display-only things like AngleBracket:

dat = WolframLanguageData[
 All,
 {"CanonicalName", "Frequencies", "PlaintextUsage"}];

pruned = Cases[dat, Except[{_, _Missing, _}]];

firstWordInUsage[s_String] := 
 If[StringContainsQ[s, "]"], 
  ReadList[StringToStream@
   StringTake[s, StringPosition[s, "]"][[1, 1]] + 2 ;;], 
   Word][[1]],
  ReadList[StringToStream@s, Word][[2]]]

pruned2 = 
 Cases[pruned, 
  Except@{_, _, _String?({"displays"}~MemberQ~
     firstWordInUsage[#] &)}];

pruned3 = 
 Cases[pruned2, 
  Except@{_, _, _String?(ReadList[StringToStream[#], 
       Word][[2 ;; 4]] == {"is", "an", "option"} &)}];

pruned4 = 
 Select[pruned3, 
  Not@StringEndsQ[#[[1]], "Box"] && 
  Not@StringEndsQ[#[[1]], "Data"] &];

pruned5 = Select[pruned4, Not@StringStartsQ[#[[1]], "$"] &];

final = MapAt["All" /. # &, pruned5, {All, 2}][[All, 1 ;; 2]];

First /@ SortBy[final, -# &@*Last]

You may access the plaintext usage with EntityValue[#, "PlaintextUsage"]& applied to the appropriate Entity object.

Patrick Stevens
  • 6,107
  • 1
  • 16
  • 42
4

If you want a list of all built-in commands, just type:

Names["System`*"]

If you want all the information of them:

Information/@Names["System`*"]
alephalpha
  • 1,293
  • 8
  • 17
  • Not every System symbol has an information message. To limit it one may choose to use something like my answer below. +1 – Mr.Wizard Mar 16 '15 at 05:28
4

The official list of defined Symbols is here:

You can find the usage message for all System` Symbols that have one with:

msg = MakeExpression@# /. _[x_] :> MessageName[x, "usage"] &;

Cases[msg /@ Names["System`*"], _String]

Warning: it is slow.

Mr.Wizard
  • 271,378
  • 34
  • 587
  • 1,371
1
Flatten @ Names[#] & /@ (StringJoin[#, "*"] & /@ CharacterRange["A", "Z"])
David G. Stork
  • 41,180
  • 3
  • 34
  • 96