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?
Asked
Active
Viewed 634 times
5
4 Answers
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
-
-
True, thanks - I just grabbed some rough-and-ready heuristics. – Patrick Stevens Aug 27 '15 at 07:57
-
1It's a bit weird that WolframLanguageData downloads the whole dataset every time I use it, instead of caching it like some *data functions used to do. – Szabolcs Aug 27 '15 at 08:51
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
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:39Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign!
– Mar 16 '15 at 05:39