Egison
Egison はユーザーが新しく中置演算子を定義する機能を提供している.中置演算子を宣言するには,infix,または infixl,infixrを使う.infix,infixl,infixrはそれぞれ結合性のない演算子,左結合の演算子,右結合の演算子を定義するのに使う.infix,infixl,infixrは共通して三つの引数をとる.第一引数には,これから定義する中置演算子が関数であるのか,パターンコンストラクタであるのか指定するために,expressionかpatternというキーワードをとる.第二引数には,これから定義する中置演算子の優先度を整数値でとる.第三引数には,これから定義する中置演算子の名前をとる.
中置演算子として使う関数を定義する例として排他的論理和を|^|として定義する。
中置演算子として使うパターンコンストラクタを定義する例
Egisonには微分計算をするための関数d/dがライブラリ関数として実装されている。