こちらがZ言語のHello Worldです。
console.log("Hello World")
Z言語はJavaScriptに変換(トランスパイル)して動かす、比較的新しいプログラミング言語です。
静的型付け、パターンマッチングなど、Haskellなどの関数型言語の影響を受けており、Web開発(フロントエンド/バックエンド)での利用が想定されています。
特に演算子のオーバーロードに関する仕様が面白かったので紹介します。
Z言語の演算子は単なる関数として扱われ、カスタム定義が可能です。
例えば、以下のような式を考えます。
x + y
もし、xオブジェクトに+演算子が定義されていた場合は、上記の式は x.+(y) と等価になります。
ここまでは他の言語にもよくありますが、Z言語には右オーバーロードと言う機能もあります。
yオブジェクトの側に r+ というメソッドを定義すると、 上記の式は y.r+(x) と等価になり、yオブジェクト側のメソッドを呼び出せます。
このように柔軟な形でメソッドのオーバーロードができます。