MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: Re: undocumented function StringQ

  • To: mathgroup at smc.vnet.net
  • Subject: [mg47815] RE: [mg47766] Re: [mg47562] undocumented function StringQ
  • From: "Ingolf Dahl" <ingolf.dahl at telia.com>
  • Date: Tue, 27 Apr 2004 04:48:13 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Ok Andrzej, let us check "Algebraic Rules":
?AlgebraicRules and ??AlgebraicRules gives the same:

"AlgebraicRules

Attributes[AlgebraicRules] = {Protected}

Options[AlgebraicRules] = {InverseFunctions ->
      Automatic, MakeRules -> True, Method -> 1,
     Mode -> Rational, Sort -> False,
     VerifySolutions -> False, WorkingPrecision ->
      Infinity}"

No mentioning of obsoleteness here. A simple usage message "Obsolete!
More...", with a link to the Help system had been appropriate. If we go to
Help, there is nothing in the Master Index. But if I click around (why
should that be needed?) and get to "Built-in Functions > New In version 3.x
> Obsolete in Version 3 > AlgebraicRules", the Help Browser will show me a
page "A.13 Incompatible Changes", with a lot of information about other
things, but nothing visible about AlgebraicRules. However, if I am strong in
my belief that this will give me some information about AlgebraicRules, I
might start scanning approx. one and a half page down, and then I will find
the information I looked for: " AlgebraicRules has been superseded by
PolynomialReduce". No link to PolynomialReduce, BUT PolynomialReduce is
fully documented, thanks for that... If you have tested the computer game
"KingsQuest", you know you have to go around to several places with the help
of an adventure map, collecting small pieces of information, before you can
accomplish your task. That can be quite fun, but is it a good way to design
a help system?

The number of completely obsolate commands is quite low: I can count to 22
in the menus beneath "Built in Functions". Some of them have usage messages,
some of them have not, and only these are then included among the 475 in the
list. Some more obsolete commands might be mentioned in the same place where
"AlgebraicRules" is mentioned, for instance LegendreType, where the usage
message tells that the command is obsolete. No consistency whatsoever.

The sentence earlier in this tread "By that definition, there are hundreds,
probably thousands of undocumented functions and features" (DrBob) was not
completely off the track.

About the time needed to document these 475 cases: One man-year? The easy
first 425 will take approx. one month, but the remaining 50 will take
eleven. Then this work will generate ideas for the improvement of
Mathematica for some more man-years, which will result in 980 new
(undocumented?) features.

But still I love Mathematica...

Ingolf Dahl
Sweden

>-----Original Message-----
>From: Andrzej Kozlowski [mailto:akoz at mimuw.edu.pl]
To: mathgroup at smc.vnet.net
>Sent: Monday, April 26, 2004 08:41
>To: mathgroup at smc.vnet.net
>Subject: [mg47815] [mg47766] Re: [mg47750] RE: [mg47734] Re: [mg47562]
>undocumented function StringQ
>
>
>At least some of them used to be documented and, when they were
>declared obsolete, the documentation was deliberately removed.  Such
>is, for example, AlgebraicRules, whose documentation was removed in
>version 3. There are also, I think, other functions that are
>intentionally left undocumented  because they may be changed in future
>versions.
>
>Andrzej Kozlowski
>Chiba, Japan
>http://www.mimuw.edu.pl/~akoz/
>
>
>
>
>On 25 Apr 2004, at 18:13, DrBob wrote:
>
>> Fascinating!
>>
>> So it's easy to identify at least 475 poorly documented or undocumented
>> symbols; I wonder how long it would take someone to document them?
>>
>> DrBob
>>
>> www.eclecticdreams.net
>>
>>
>> -----Original Message-----
>> From: Ingolf Dahl [mailto:ingolf.dahl at telia.com]
To: mathgroup at smc.vnet.net
>> To: mathgroup at smc.vnet.net
>> Subject: [mg47815] [mg47766] [mg47750] [mg47734] Re: [mg47562]
>undocumented function
>> StringQ
>>
>>
>> Subject: [mg47815] [mg47766] [mg47750] [mg47734] Re: [mg47562]
>undocumented function:
>> StringQ
>>
>>
>>
>> One historical detail concerning StringQ:
>>
>> In my Mathematica 3 Bible I cannot find StringQ documented. In July
>> 1998,
>> Ted Ersek sent a list of undocumented 3.0 Features to MathGroup
>> [mg13427].
>> StringQ was not included.
>>
>> In August 1998 [mg13652], Robert Villegas submitted another list of
>> undocumented commands as reply to Ted Ersek. StringQ was not included
>> here
>> either. Robert Villegas even submitted a routine to obtain such a list:
>>
>> Block[{$Urgent = {}},
>>
>>           Select[Names["System`*"],
>>
>>             (Information[#]; Not @ StringQ[
>>
>>               MessageName @@ Append[ToHeldExpression[#], "usage"]
>>
>>             ])&
>>
>>           ]
>>
>>         ]
>>
>>
>>
>> Now to the point: "StringQ" is used in this routine!
>>
>> This StringQ case is peculiar. There has been one explicit complaint
>> before,
>> from J. Leko in Sept. 2000 in message [mg25454]. Why have there not
>> been
>> more complaints, and why has not Wolfram corrected the documentation?
>> Maybe
>> it is so that Mathematica now has improved SO much that the users can
>> afford
>> to complain about small blemishes. And the guys at Wolfram have had
>> other
>> priorities (to accomplish this improvement), with some documentation
>> lag as
>> effect.
>>
>> For the curious: What happens if we use the Villegas routine in
>> Mathematica
>> 5.0.1? The result is here (converted to InputForm!):
>>
>> {"ActiveItem", "AddOnHelpPath",
>>
>>   "AdjustmentBoxOptions", "After", "AlgebraicRules",
>>
>>   "Alias", "AlignmentMarker", "AllowInlineCells",
>>
>>   "AllowScriptLevelChange", "AnimationCycleOffset",
>>
>>   "AnimationCycleRepetitions", "AutoEvaluateEvents",
>>
>>   "AutoGeneratedPackage", "AutoIndentSpacings",
>>
>>   "AutoloadPath", "AutoOpenNotebooks",
>>
>>   "AutoOpenPalettes", "AutoScroll",
>>
>>   "AutoStyleOptions", "Axis",
>>
>>   "BackgroundTasksSettings", "Backsubstitution",
>>
>>   "Backward", "Before", "BeginDialogPacket",
>>
>>   "BeginFrontEndInteractionPacket", "BezoutMatrix",
>>
>>   "BinaryGet", "Bounds", "Box", "BoxBaselineShift",
>>
>>   "BoxData", "BoxDimensions", "BoxForm",
>>
>>   "BoxFormFormatTypes", "BoxFrame", "BoxMargins",
>>
>>   "BoxRegion", "Buchberger", "Button",
>>
>>   "ButtonBoxOptions", "ButtonCell", "ButtonContents",
>>
>>   "ButtonStyleMenuListing", "CallPacket",
>>
>>   "CellBoundingBox", "CellBracketOptions",
>>
>>   "CellContents", "CellElementsBoundingBox",
>>
>>   "CellElementSpacings", "CellFrameColor",
>>
>>   "CellFrameLabelMargins", "CellFrameLabels",
>>
>>   "CellGroup", "CellGroupingRules",
>>
>>   "CellHorizontalScrolling", "CellLabelMargins",
>>
>>   "CellLabelPositioning", "CellObject",
>>
>>   "CellPasswords", "CellSize", "CellStyle",
>>
>>   "CharacterEncodingsPath", "ClipboardNotebook",
>>
>>   "Closed", "ClosingAutoSave",
>>
>>   "ColorSelectorSettings", "Column",
>>
>>   "CommonDefaultFormatTypes", "CompileOptimizations",
>>
>>   "CompletionsListPacket", "Compose",
>>
>>   "ConfigurationPath", "ConsoleMessage",
>>
>>   "ConsoleMessagePacket", "ConsolePrint",
>>
>>   "ConstrainedMax", "ConstrainedMin",
>>
>>   "ContentsBoundingBox", "Continuation",
>>
>>   "ContourSmoothing", "ConvertToBitmapPacket",
>>
>>   "ConvertToPostScript", "CounterAssignments",
>>
>>   "CounterBox", "CounterBoxOptions",
>>
>>   "CounterEvaluator", "CounterFunction",
>>
>>   "CounterIncrements", "CounterStyle",
>>
>>   "CounterStyleMenuListing", "CreatePalettePacket",
>>
>>   "Cubics", "CurrentlySpeakingPacket",
>>
>>   "DefaultFontProperties", "DefaultFormatType",
>>
>>   "DefaultFormatTypeForStyle",
>>
>>   "DefaultInlineFormatType",
>>
>>   "DefaultInputFormatType", "DefaultNaturalLanguage",
>>
>>   "DefaultNewInlineCellStyle", "DefaultNotebook",
>>
>>   "DefaultOutputFormatType",
>>
>>   "DefaultStyleDefinitions", "DefaultTextFormatType",
>>
>>   "DefaultTextInlineFormatType", "DefineExternal",
>>
>>   "DelimiterMatching", "DependentVariables",
>>
>>   "DiacriticalPositioning", "DialogIndent",
>>
>>   "DisableConsolePrintPacket", "DisplayAnimation",
>>
>>   "DisplayEndPacket", "DisplayFlushImagePacket",
>>
>>   "DisplayPacket", "DisplayRules",
>>
>>   "DisplaySetSizePacket", "Down", "DrawHighlighted",
>>
>>   "DualLinearProgramming", "EditButtonSettings",
>>
>>   "EditCellTagsSettings", "Empty",
>>
>>   "EnableConsolePrintPacket", "EndDialogPacket",
>>
>>   "EndFrontEndInteractionPacket", "Enter",
>>
>>   "EnterExpressionPacket", "EnterTextPacket",
>>
>>   "ErrorBoxOptions", "ErrorNorm", "ErrorPacket",
>>
>>   "ErrorsDialogSettings", "EvaluatePacket",
>>
>>   "EvaluationCell", "EvaluationCompletionAction",
>>
>>   "EvaluatorNames", "EventEvaluator", "ExactNumberQ",
>>
>>   "ExponentPosition", "ExportAutoReplacements",
>>
>>   "ExportPacket", "ExpressionPacket", "ExternalCall",
>>
>>   "ExternalDataCharacterEncoding", "FactorComplete",
>>
>>   "Fail", "FEDisableConsolePrintPacket",
>>
>>   "FEEnableConsolePrintPacket", "File", "FileBrowse",
>>
>>   "FileFormat", "FileName", "FileNameDialogSettings",
>>
>>   "FindSettings", "FitAll", "FlushPrintOutputPacket",
>>
>>   "Font", "FontProperties", "FontReencoding",
>>
>>   "FontVariations", "FormatRules",
>>
>>   "FormatTypeAutoConvert", "FormBoxOptions",
>>
>>   "Forward", "ForwardBackward", "FractionBoxOptions",
>>
>>   "FractionLine", "FrameBoxOptions",
>>
>>   "FrontEndObject", "FrontEndStackSize",
>>
>>   "FrontEndToken", "FrontEndTokenExecute",
>>
>>   "FrontEndVersion", "GenerateBitmapCaches",
>>
>>   "GetBoundingBoxSizePacket", "GetFileName",
>>
>>   "GetFrontEndOptionsDataPacket",
>>
>>   "GetLinebreakInformationPacket", "GetMenusPacket",
>>
>>   "GetPageBreakInformationPacket",
>>
>>   "GlobalPreferences", "GlobalSession",
>>
>>   "GraphicsData", "GraphicsGrouping", "Grid",
>>
>>   "GridBoxOptions", "GridCreationSettings",
>>
>>   "GridFrame", "GridFrameMargins", "Hash",
>>
>>   "HelpBrowserLookup", "HelpBrowserNotebook",
>>
>>   "HelpBrowserSettings", "Hessian", "Horizontal",
>>
>>   "HorizontalScrollPosition",
>>
>>   "HyperlinkCreationSettings", "HyphenationOptions",
>>
>>   "ImageCache", "ImageCacheValid", "ImageOffset",
>>
>>   "ImageRangeCache", "ImageRegion",
>>
>>   "ImportAutoReplacements", "IncludeFileExtension",
>>
>>   "Indent", "IndentingNewlineSpacings",
>>
>>   "IndentMaxFraction", "IndexCreationOptions",
>>
>>   "InexactNumberQ", "Inherited",
>>
>>   "InitializationCellEvaluation",
>>
>>   "InitializationCellWarning",
>>
>>   "InlineCounterAssignments",
>>
>>   "InlineCounterIncrements", "InlineRules",
>>
>>   "InputAutoFormat", "InputGrouping",
>>
>>   "InputNamePacket", "InputPacket", "InputSettings",
>>
>>   "InputStringPacket", "InputToInputForm",
>>
>>   "InputToStandardForm", "InsertionPointObject",
>>
>>   "Interactive", "Interlaced",
>>
>>   "InterpolationPrecision",
>>
>>   "InterpretationBoxOptions", "InterruptSettings",
>>
>>   "Language", "Larger", "LayoutInformation",
>>
>>   "LimitsPositioningTokens", "LineBreak",
>>
>>   "LinebreakAdjustments", "LineBreakWithin",
>>
>>   "LineWrapParts", "LinkActivate", "LinkConnectedQ",
>>
>>   "LinkOptions", "LiteralSearch",
>>
>>   "LUBackSubstitution", "MacintoshSystemPageSetup",
>>
>>   "Manual", "MathematicaNotation", "MathMLText",
>>
>>   "MaxStepFraction", "MaxSteps", "MenuPacket",
>>
>>   "MessageOptions", "MessagePacket",
>>
>>   "MessagesNotebook", "MethodOptions",
>>
>>   "MousePointerNote", "MultilaunchWarning",
>>
>>   "NeedCurrentFrontEndPackagePacket",
>>
>>   "NeedCurrentFrontEndSymbolsPacket",
>>
>>   "NestedScriptRules", "Next", "NormalGrouping",
>>
>>   "Normalized", "NormalSelection", "NormFunction",
>>
>>   "NotebookConvert", "NotebookConvertSettings",
>>
>>   "NotebookCreateReturnObject", "NotebookDefault",
>>
>>   "NotebookDirectory", "NotebookFindReturnObject",
>>
>>   "NotebookGetLayoutInformationPacket",
>>
>>   "NotebookGetMisspellingsPacket",
>>
>>   "NotebookInformation", "NotebookOpenReturnObject",
>>
>>   "NotebookPath", "NotebookPutReturnObject",
>>
>>   "NotebookResetGeneratedCells", "NotebookSaveAs",
>>
>>   "NotebookSetupLayoutInformationPacket",
>>
>>   "NotebooksMenu", "NotElement", "OLEData", "Open",
>>
>>   "OpenFunctionInspectorPacket",
>>
>>   "OpenSpecialOptions", "OptimizationLevel",
>>
>>   "OptionInspectorSettings", "OptionsPacket",
>>
>>   "OptionValueBox", "OptionValueBoxOptions",
>>
>>   "OutputAutoOverwrite", "OutputFormData",
>>
>>   "OutputGrouping", "OutputNamePacket",
>>
>>   "OutputToOutputForm", "OutputToStandardForm",
>>
>>   "Over", "Overscript", "OverscriptBoxOptions",
>>
>>   "PageFooterLines", "PageFooters",
>>
>>   "PageHeaderLines", "PageHeaders", "PageHeight",
>>
>>   "PalettePath", "PaperWidth", "ParentConnect",
>>
>>   "PasteBoxFormInlineCells", "PeriodicInterpolation",
>>
>>   "Placeholder", "PolynomialForm", "PowerModList",
>>
>>   "Precedence", "PreferencesPath",
>>
>>   "PreserveStyleSheet", "Previous",
>>
>>   "PrimaryPlaceholder", "PrintAction", "PrintForm",
>>
>>   "PrintingCopies", "PrintingOptions",
>>
>>   "PrintingPageRange", "PrintingStartingPageNumber",
>>
>>   "PrintPrecision", "PrivateCellOptions",
>>
>>   "PrivateEvaluationOptions", "PrivateFontOptions",
>>
>>   "PrivateNotebookOptions", "PrivatePaths",
>>
>>   "Quartics", "RadicalBoxOptions", "RandomSeed",
>>
>>   "RawData", "Release", "RenderingOptions",
>>
>>   "ResetMenusPacket", "ResumePacket",
>>
>>   "ReturnExpressionPacket", "ReturnPacket",
>>
>>   "ReturnTextPacket", "Row", "RulerUnits",
>>
>>   "Saveable", "SaveAutoDelete", "ScreenRectangle",
>>
>>   "ScriptLevel", "ScriptRules", "ScrollingOptions",
>>
>>   "ScrollPosition", "SectionGrouping", "Selection",
>>
>>   "SelectionCell", "SelectionCellCreateCell",
>>
>>   "SelectionCellDefaultStyle",
>>
>>   "SelectionCellParentStyle",
>>
>>   "SelectionDuplicateCell", "SelectionSetStyle",
>>
>>   "SelectionStrategy", "SendFontInformationToKernel",
>>
>>   "SetBoxFormNamesPacket", "SetEvaluationNotebook",
>>
>>   "SetFileLoadingContext", "SetNotebookStatusLine",
>>
>>   "SetOptionsPacket", "SetSpeechParametersPacket",
>>
>>   "SetValue", "ShowClosedCellArea", "ShowContents",
>>
>>   "ShowGroupOpenCloseIcon", "ShowShortBoxForm",
>>
>>   "ShrinkWrapBoundingBox", "SingularValues",
>>
>>   "Smaller", "SoundAndGraphics", "Space",
>>
>>   "SpanLineThickness", "SpanningCharacters",
>>
>>   "SpanSymmetric", "Sparse", "SpeakTextPacket",
>>
>>   "SpellingDictionaries", "SpellingDictionariesPath",
>>
>>   "SpellingOptions", "SpellingSuggestionsPacket",
>>
>>   "Spherical", "SqrtBoxOptions", "StartupSound",
>>
>>   "StringBreak", "StyleBoxAutoDelete",
>>
>>   "StyleBoxOptions", "StyleData", "StyleMenuListing",
>>
>>   "StyleNameDialogSettings", "StyleSheetPath",
>>
>>   "Subscript", "SubscriptBoxOptions", "Subscripted",
>>
>>   "Subsuperscript", "SubsuperscriptBoxOptions",
>>
>>   "SugarCube", "Superscript",
>>
>>   "SuperscriptBoxOptions", "SuspendPacket",
>>
>>   "SylvesterMatrix", "Syntax", "SyntaxForm",
>>
>>   "SyntaxPacket", "SystemException",
>>
>>   "SystemHelpPath", "SystemStub", "Tab",
>>
>>   "TabFilling", "TabSpacings", "TagBoxOptions",
>>
>>   "TaggingRules", "TagStyle", "TemporaryVariable",
>>
>>   "TensorQ", "TensorRank", "TextBoundingBox",
>>
>>   "TextData", "TextForm", "TextLine", "TextPacket",
>>
>>   "TextParagraph", "TitleGrouping", "Toggle",
>>
>>   "ToggleFalse", "Top", "TotalHeight",
>>
>>   "TraditionalFunctionNotation",
>>
>>   "TraditionalNotation", "TraditionalOrder",
>>
>>   "TransparentColor", "UnAlias", "Underoverscript",
>>
>>   "UnderoverscriptBoxOptions", "Underscript",
>>
>>   "UnderscriptBoxOptions",
>>
>>   "UndocumentedTestFEParserPacket",
>>
>>   "UndocumentedTestGetSelectionPacket", "Up", "URL",
>>
>>   "Value", "ValueBox", "ValueBoxOptions", "Verbose",
>>
>>   "VerboseConvertToPostScriptPacket", "Version",
>>
>>   "VersionNumber", "Vertical",
>>
>>   "ViewPointSelectorSettings", "VisibleCell",
>>
>>   "WindowFrameElements", "WindowWidth",
>>
>>   "ZeroWidthTimes", "$", "$AddOnsDirectory",
>>
>>   "$AnimationDisplayFunction", "$AnimationFunction",
>>
>>   "$InterfaceEnvironment", "$LaunchDirectory",
>>
>>   "$LicenseID", "$Off", "$PreferencesDirectory",
>>
>>   "$PSDirectDisplay", "$RasterFunction",
>>
>>   "$RootDirectory", "$SoundDisplay", "$TopDirectory",
>>
>>   "$TraceOff", "$TraceOn", "$UserAddOnsDirectory"}
>>
>>
>>
>> The length has increased from 205 to 475 items. But StringQ is still
>> not in
>> the list, and many of the items in the list, such as "After" and
>> "WindowWidth" are documented in some way. So Villegas routine is not
>> really
>> fully adequate, since it does not relate to the Help Master Index. Can
>> the
>> routine be improved? How many different sets of indices can be found
>> (Help
>> Master Index, Information, Names["System`*"] etc)? It seems reasonable
>> that
>> the entries that are given by Names["System`*"] and Information should
>> agree, and that they should be a subset of the entries under the Help
>> Master
>> Index, but that does not seem to be the case. Just as a check, I do
>> not find
>> the following entries from the above list under "A" or "B" in the Help
>> Master Index:
>>
>>
>>
>> {"ActiveItem", "After" ("After" is documented in the help under
>> "SelectionMove", but it
>>
>> is not indexed), "AllowScriptLevelChange", "AutoEvaluateEvents",
>> "AutoIndentSpacings",
>>
>> "AutoScroll", "Backsubstitution" ("Back substitution" exists),
>> "Backward",
>> "Before",
>>
>> "BeginDialogPacket", "BeginFrontEndInteractionPacket", "BezoutMatrix",
>> "BinaryGet",
>>
>> "Bounds" (F1 under Windows takes you to "TravelingSalesmanBounds"!),
>>
>> "BoxDimensions", "BoxForm", "BoxRegion", "Buchberger" (F1 takes you to
>>
>> "Buchberger algorithm"), "Button"}
>>
>>
>>
>> "Box" is included, but if I highlight Box and press F1, I get to
>> "Boxed"!
>>
>>
>>
>> There seems to be a need of a check of all the items given by
>> Names["System`*"]. Maybe this
>>
>> could be a task for some existing or new employee at Wolfram?
>>
>>
>>
>> Ingolf Dahl
>>
>> Sweden
>>
>>
>>
>>
>>
>>
>


  • Prev by Date: RE: Re: bug in IntegerPart ?
  • Next by Date: RE: i don't understand mapping function over a long list
  • Previous by thread: Re: undocumented function StringQ
  • Next by thread: Parametric Plot