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 Answer 1

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$
10
  • 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
    Commented Aug 14, 2014 at 12:26
  • $\begingroup$ @rm-rf Is this a bug in Information then? $\endgroup$
    – shrx
    Commented Aug 14, 2014 at 12:31
  • 2
    $\begingroup$ Any idea where Decimate came from? I totally want to do this in Mathematica. $\endgroup$ Commented Aug 14, 2014 at 12:56
  • 1
    $\begingroup$ @shrx I don't know. I typically use Names for this, not Information. $\endgroup$
    – rm -rf
    Commented Aug 14, 2014 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$ Commented Aug 14, 2014 at 15:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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