読者です 読者をやめる 読者になる 読者になる

テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(nim report) Effect System

NimにはEffect Systemという機構がある. この名前自体がコンパイラ野郎の中では一般的なものなのか, そうなのかは私にはわからない.

が, 以下の質問一発でたぶん私の"What is the Effect System"に対する理解は正しいことがわかった.

23:59:14 akiradeveloper  I understand effect system is propagation of tag in compile time. Am I right?
00:00:23    akiradeveloper  So we can segregate some kind of serious side-effects (like IO) by effect system like Haskell do it with type
00:03:55    Araq    exactly

最近の言語はcompile-timeへのこだわりがあるものが多い. Nimは, その中でも低層を書くために特化されていて, 一言でいうとOSを作るために設計された言語だ. 私はこういう言語を好む. 真のカーネル野郎は, アプリ専用言語は好まない.

私はrust-fuseのコードを読みまくる過程で, 一度は引退したRustが素晴らしい言語(になったのかもしれない)だと反省しつつあるが, Nimの開発者は圧倒的天才(top secret companyで働いている)だと思うので, 崇拝し続ける. しかしRustも素晴らしい. ここはno side (effect)ということで行こう. どちらの言語が成功するかというと, Rustはもうpromisingなレベルだろうと思うが, 私は多数派も好まない.

ところで上の質問は突発的なものではなく, nim-fuseにおいて, 「ある関数が呼べるコンテキストをEffect Systemによって制限出来るか?」という質問に続くものである. 前記質問の答えはYes. 近いうちに簡単なコードで実験してみる必要があるだろう.

広告を非表示にする