4
$\begingroup$

There are a few Mathematica users beside myself that are running it on a Raspberry Pi, and we found out it does not always perform the same as the Desktop version [1][2]. During the testing of the prerelease it became obvious that some of the functions are too complex for the not-very-fast [3][4] Pi. So Wolfram decided to omit them from the Pi release branch. Which functions are omitted is not currently documented, so I'd like to find out this on my own.

$\endgroup$
1
$\begingroup$

We can get the list of all built-in functions with Information:

Information["*"]

However, this function prints its output to a special stream called $Urgent [5]. So to be able to manipulate the output, it needs to be redirected, for example to a text file. I ran this both on a desktop (OS X) version and a Raspberry Pi version of Mathematica V10:

infoFile = OpenWrite["output.txt"]
Block[{$Urgent = infoFile}, Information["*"]]
Close[infoFile]

And then compared the two function lists. The functions included only in the desktop version are:

Complement @@ (StringSplit[Import[#]] & /@ {"output.txt", 
    "pi-output.txt"})
{Absolute,AllowKernelInitialization,Ascending,Associate,CelestialSystem,ConsoleMessage,
CreateDatabase,Decimate,DeclareKnownSymbols,Descending,DisplayWith,DisplayWithRef,
DisplayWithVariable,DrawEdges,DrawFrontFaces,EclipseType,EdgeCapForm,EdgeColor,EdgeDashing,
EdgeJoinForm,EdgeOpacity,EdgeThickness,EmbedCode,EmbeddingObject,ExternalTypeSignature,FailedQ,
FinishDynamic,\[FormalX]$,FrontFaceColor,FrontFaceOpacity,GraphicsColor,GraphicsHighlightColor,
LineColor,LineOpacity,LunarEclipse,MoonPhase,MoonPosition,NewPrimitiveStyle,
RectangleBoxOptions,RefBox,SelectionDebuggerTag,SiderealTime,Slice,SolarEclipse,SunPosition,
Sunrise,Sunset,TemplateBlock,TimeDirection,UpdateDynamicObjects,UpdateDynamicObjectsSynchronous,
$EmbedCodeEnvironments,$InterfaceEnvironment,$SynchronousEvaluation}

The Pi version also has some exclusive functions:

Complement @@ (StringSplit[Import[#]] & /@ 
   {"pi-output.txt", "output.txt"})
{AssociationFormat,AssociationMap,BooleanStrings,CloudAccountData,CountDistinct,CountDistinctBy,
DataForm,DeleteDuplicatesBy,ElidedForms,ExternalBundle,FailureAction,FormTheme,IndexBy,
ItemAspectRatio,ListFormat,MissingBehavior,MissingString,PartBehavior,Pivot,Query,TimeFormat,
URLBuild,URLDecode,URLEncode,URLExecute,URLExistsQ,URLExpand,URLParse,URLQueryDecode,
URLQueryEncode,URLShorten,ValidateQuery,$CloudCreditsAvailable,$HTMLExportRules,$TemplatePath}
$\endgroup$
  • 1
    $\begingroup$ Something is incorrect here... Those functions are not exclusive to the Pi. They're all in my copy of v10. $\endgroup$ – rm -rf Aug 14 '14 at 12:26
  • $\begingroup$ @rm-rf Is this a bug in Information then? $\endgroup$ – shrx Aug 14 '14 at 12:31
  • 2
    $\begingroup$ Any idea where Decimate came from? I totally want to do this in Mathematica. $\endgroup$ – bobthechemist Aug 14 '14 at 12:56
  • 1
    $\begingroup$ @shrx I don't know. I typically use Names for this, not Information. $\endgroup$ – rm -rf Aug 14 '14 at 12:57
  • 1
    $\begingroup$ Names["*"] and Information["*"] give exactly the same list of symbols (after Remove["Global`*"]), so there is no need to parse the output of Information... $\endgroup$ – Alexey Popkov Aug 14 '14 at 15:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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