関数には,行なうべき計算の過程を指示する文,および計算で使われる値を 格納する変数が含まれる。MATXの関数は,C言語の関数と似ている。 普通は,関数には自分の好きな名前を付けてもよいが,mainは特別な 名前である。コンパイラ(matc)を使って実行可能型ファイルを作成した時, プログラムの実行は関数main()の先頭から始まる。 これは,プログラムにはどこかに関数main()がなければならないことを 意味する。 ただし,インタプリタ(matx)を使ってプログラムを実行する時は, プログラムのどこからでも実行を始めることができ,関数 main()をプログラムの中に作る必要はない。
main()の型は,Integerあるいはvoidである。 関数main()の型が Integerの時,他の関数と同様にその呼び出し側に対して値を返すことができる。 この場合,呼び出し側とは,そのプログラムが実行される環境である。 通常,戻り値が0であれば正常終了,0でない値は異常な,あるいはエラ−の 終了状況を表す。
MATXの関数は,再帰的に使用できる。
つまり,関数は自分自身を直接または間接に呼び出してよい。
そして,関数の局所変数は,その関数が呼び出される毎に新しく作られる。
関数の定義は,入れ子(ネスト)にできない。
また,関数はいくつかのファイルに分けて定義でき,
コンパイルをファイル毎に行なえる。