Submissions should not substantially replicate existing functions and symbols
◼
Both functions of general interest and domain-specific functions can be submitted
◼
While submitting multiple, related functions is encouraged, each submission should stand alone and work independently
Notebook Sections
Title
◼
Function names should be as specific as possible to reflect the functionality and avoid overlap with other names
Seeexamples
◼
Names consisting of a single, common word (Step, Turn) are rarely specific enough to be published
Description
◼
The text below the name should be a brief, stand-alone, plain text description of the function beginning with an imperative verb and without ending punctuation
Code must meet basic standards of readability, completeness, and computational efficiency
◼
Functions should perform only the specified computation, avoiding undocumented or unexpected results
◼
Aside from standard Wolfram Language symbols, all definitions must be included in the submission. No external code sources (GitHub, cloud objects, etc.) should be loaded by the function
◼
Options should be implemented using existing option symbols or string. When a resource function is created, symbols in your definitions are moved to a dedicated context. Therefore, new symbols used for option names will not work with the resource function. Instead, use either existing Wolfram Language option symbols (like
in your definition, be aware that your symbols will not be in the global context when used in a resource function, and thus might exhibit different behavior when they are not matched by
. See the advanced topic on parallel computing below for more information.
Documentation
Usage
◼
Each usage (including the input pattern and text) should form a sentence and end with a period
◼
Symbols and variable names should be templated by highlighting the text and using the “Template Input” button in the Tools menu
◼
Options and their possible values should be specified in the "Details & Options" section. If your function accepts options, they are already implied in the usage.
Seeexamples
Details & Options
◼
To create a hyperlink, select the desired text and choose
Insert
▶
Hyperlink
from the menu. Specify a link destination, which can be a cell, notebook, or URL, and click OK.
Options should be documented using a three-column table with no header row. The first column should be the option name, the second column the default value and the third column a brief description.
Seeexamples
◼
Option names that are already documented as built-in options should be linked to their respective documentation pages using the "Template Input" button.
Seeexamples
◼
Strings should be denoted with straight quotes (") and not curly quotes (“, ”).
Seeexamples
Examples
◼
Basic usage scenarios should be demonstrated using clear, runnable examples with reproducible output
◼
Every input pattern in the documentation should be demonstrated by an example
◼
Within an example section, multiple examples should be separated using the “Insert Delimiter” button in the Tools bar
◼
Each example should start with a text description ending in a colon
◼
Captions should be very brief (typically no more than one sentence)
Author Notes
◼
Use of the section is optional
◼
Content displayed in this section can include background, possible improvements, additional information, implementation details and/or version release notes that are otherwise beyond the scope of the function documentation
Submission Notes
◼
This section can be used to provide information to the reviewers on the Wolfram Function Repository Team
◼
This is especially useful for providing information about what has changed when submitting an update to your function