The Sym Programming Language
The Sym programming language is designed first and foremost for manipulating expressions. Because it's designed to manipulate expressions, the code in the Sym language is built from Sym expressions rather than text.
The code in Sym is made up of functions (which are themselves objects in the Sym application). A function is just an object definition that contain a code section. See Objects for more details about object definitions. For example, this object definition defines the function MyCommute. This function has a single clause that commutes the two parameters of an Add object (note that an Add object can have zero or more parameters, this particular example will only commute a two parameter instance of the Add object).
Not all object definitions are necessarily functions. This object is a function because of the addition of code. The code in a function consists of one or more clauses. See Functions for more details.
One way a function can be executed is by applying a command to a highlighted expression. See Commands for more details.
Functions can be also be executed and tested by creating unit tests. See Unit Testing for more information.
There are a number of predefined objects that are commonly used in code. See Objects Used in Code for a list of these objects.