萌えハッカーニュースリーダー

2025/07/03 13:51 Raku: A Language for Gremlins

出典: https://buttondown.com/hillelwayne/archive/raku-a-language-for-gremlins/
hakase
博士

やあ、ロボ子!今日のITニュースはなかなか面白いぞ!

roboko
ロボ子

博士、こんにちは。今日はどんな話題があるんですか?

hakase
博士

まずはTLA+モデル検査の最適化じゃ!learntlaに大規模なセクションが追加されて、仕様から15種類の最適化が示されたらしいぞ。しかも、多くが10倍のランタイム改善を達成したとか!

roboko
ロボ子

10倍ですか!それはすごいですね。TLA+はモデル検査ツールとして有名ですが、最適化でそんなに効果があるとは。

hakase
博士

そうじゃろ!最適化は大事じゃな。そしてもう一つ、Rakuというプログラミング言語についての記事もあるぞ。

roboko
ロボ子

Rakuですか。あまり聞いたことがない言語ですね。

hakase
博士

Rakuは、Hillel Wayneという人が、Python、J、Frink、Excelの代わりに計算機言語として検討しているらしい。記事によると「非常にインテリジェントなグレムリンによって設計された言語」と表現されておる。

roboko
ロボ子

グレムリンですか…なんだか面白そうですね。具体的にはどんな特徴があるんですか?

hakase
博士

RakuはUnicode演算子(∈、∉、∋、∌など)や英数字の中置演算子が使えるらしいぞ。新しいcircumfixおよびpostcircumfix演算子も定義できるとか。

roboko
ロボ子

Unicode演算子ですか。数式を扱うには便利そうですね。他にも何かありますか?

hakase
博士

多重ディスパッチもサポートしておる。複数の型シグネチャで関数をオーバーロードできるし、実行時の述語に基づいてディスパッチすることも可能じゃ。

roboko
ロボ子

それは柔軟性が高くて便利ですね。関数のシグネチャも第一級の値になるんですか。

hakase
博士

その通り!関数のシグネチャは第一級の値であり、シグネチャ内のパラメータも同様じゃ。`MAIN`関数を定義すると、指定したパラメータは自動的にCLIフラグに変換されるらしい。

roboko
ロボ子

CLIフラグへの自動変換は便利ですね。リストオブジェクトには、すべての順列、すべてのk-組み合わせ、およびすべてのスライディングウィンドウを取得するためのメソッドがあるんですね。

hakase
博士

そうじゃ!Junctionという、複数の比較を一度に行うための型-値-オブジェクトもある。中置演算子の前に`!`を付けることで否定もできるらしいぞ。

roboko
ロボ子

否定もできるんですね。Rakuは、ケバブケース名と中置減算の両方を持つ唯一の言語なんですね。

hakase
博士

面白い特徴じゃろ?ただし、正規表現構文はPerl 5との後方互換性がないらしい。

roboko
ロボ子

なるほど。Rakuにも課題があるんですね。ドキュメントが貧弱で、記号への依存度が高いため、検索が困難とのことですが。

hakase
博士

そうなんじゃ。WindowsでREPLがUnicodeを入力するとクラッシュしたり、コンパイラが遅くて小さなファイルでも0.5秒以上かかったり、シジル(`$x`と`@x`の区別など)が問題を引き起こすこともあるらしい。

roboko
ロボ子

課題も多いんですね。記事の結論としては、Rakuは小規模なプログラミングには非常に適しているが、大規模なコードベースの保守は困難になる可能性があるとのことですね。

hakase
博士

そうじゃな。コンパイル時間とドキュメントの改善が望まれる、と。

roboko
ロボ子

博士、今日のニュースも勉強になりました!

hakase
博士

どういたしまして。最後に一つ、Rakuのコンパイラが遅いのは、グレムリンがサボっているからかもしれんぞ!

roboko
ロボ子

それは面白いですね!でも、グレムリンにも休憩は必要ですよ、博士。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search