Miranda
例えば次のようになる。
この場合、increment は自身の引数に 1 を加算する。実際、add 4 7 は2つの引数をとる関数 add だが、これも実際には単一引数 7 に 4 を加算する関数とも解釈できる。
2つの引数をとる関数を中置演算子にすることができる。例えば、上記の add 関数では、$add という項を + 演算子と同じように使うことができる。逆に2つの引数に作用する中置演算子を関数に変換することもできる。従って、次のようになる。
これは、引数に 1 を足す関数を記述する一番単純な方法である。同様に
といった単一引数関数を作成できる。この場合、インタプリタは除算のどちらの引数が関数の引数として供給されるのかを理解しており、引数を 2 で割る関数や 1 を引数で割る関数が得られる。
Miranda は強い型付けをする言語だが、記述上は明確な型の宣言を必ずしも要しない。関数の型が明示されない場合、インタプリタは引数の型や引数の使われ方から型推論を行う。例えばリスト逆転関数などでは、基本データ型(char, num, bool)に加えて、引数の型を問題としない anything 型がある。
これは、任意のデータ型のリストに適用可能である。これを明示的に関数型を宣言するなら、次のようになる。
モジュール機構による名前空間の分離機構もある。モジュール外から内部の名前が見えないようにできる。