なんか考えてることとか

変な人が主にプログラミング関連で考えていることをまとめる。

Rust

Rustにおいてbreakやreturnを含む式はどの型であっても良い

2022/8/27 演習問題の(3)で提示されているコードが間違っていたので修正 Rustaceanなら周知の事実であるが、Rustは基本式指向の言語である。そのため、すべてのブロックは式として扱われる。そしてとにかく型に厳しいことでも知られる(型に厳しいと言うより…

「型システム入門」第4章の実装をRustでやってみた

型システム入門 プログラミング言語と型の理論作者:BenjaminC.Pierce,住井英二郎オーム社Amazon「型システム入門 −プログラミング言語と型の理論−」(以下TaPL)は、型システムを理解するうえで必要な基礎知識を学ぶことができる、文字通り…

Rustのクロージャは厳密にはクロージャではない

前々から思っていたのだが、Rustのクロージャという「名前」には違和感があった。なぜなら、クロージャと言うのは本来ただの関数のことを示すわけではないからだ。だがクロージャについて調べてみて、改めて「Rustのクロージャは厳密にはクロージャではない…

「Rustのトレイトは『高カインド多相のない型クラス』である」のブコメ返信とか

これは「Rustのトレイトは『高カインド多相のない型クラス』である」のブコメに対する返信をする記事です。気になったコメントがあれば随時追加していきます。 opaupafz2.hatenablog.com

Rustのトレイトは「高カインド多相のない型クラス」である

Rustのトレイト(以降Rustトレイトとつなげて呼ぶことにする)は一体何なのか、様々な他言語の概念を通して調べていたが、やっと(「やはり」でもあるのだが)結論が出たので書いていこうと思う。 また、Rustトレイトはインターフェースなのか、MixInなのか…

Rustがオブジェクト指向型言語ではないのとその理由

2021/06/12 「Rustにはメッセージングという概念がない」「Rustはオブジェクト指向型言語ではない」で説明不足な点を追記 Simulaベースのオブジェクト指向型言語としてRubyを入れていた→除外 2021/06/15 「追伸」追加 ja.wikipedia.org Rustはマルチパラダイ…

【補足】RustのトレイトはMixinか?など。

Rustのトレイトはトレイトではないの続編的な物。というか補足。

Rustのトレイトはトレイトではない

2022/02/12 以下の記事にて書き直しました。「Rustのトレイトはトレイトではない」項をご覧ください。 opaupafz2.hatenablog.comプログラミング言語「Rust」に登場する「トレイト(Traits)」は、実はSchärli氏らが提唱しているトレイトではないという話。こ…