Scalaで型クラス?

久しぶりにいくつか記事を書いたけど,

tkhshyt.hatenablog.com

tkhshyt.hatenablog.com

tkhshyt.hatenablog.com

そもそもScalaで型クラスをシミュレートする方法は,Scalaに関する基本的な知識なのだろうか?
(ここで挙げた記事ではまだ型クラスを使っていないが,後々 Bifunctor とか (mono)Functor が出てくる(予定))

続きを読む

Scalaプログラマのためのバナナ,レンズ,封筒,有刺鉄線による関数型プログラミング 〜リストレンズ編〜

前回の記事の続き.

tkhshyt.hatenablog.com

既に記事として書くのが面倒になってきた.
世間の関数型プログラミング言語を使っているプログラマは,Catamorphisms,Anamorphisms,Hylomorphisms,Paramorphisms くらい知っているのでは?(錯乱)

続きを読む

Scalaプログラマのためのバナナ,レンズ,封筒,有刺鉄線による関数型プログラミング 〜続リストバナナ編〜

前回書いた記事の補足.

tkhshyt.hatenablog.com

続きを読む

Scalaプログラマのためのバナナ,レンズ,封筒,有刺鉄線による関数型プログラミング 〜リストバナナ編〜

Functional Programming with Banas, Lenses, Envelopes and Barbed Wire という論文を読んだので,そこで書かれている内容を Scala で実装してみる.

続きを読む

Brainfuckのインタープリタ作ってみた

今日受けていた講義があまりにも暇理解できなかったので,Brainfuckについて調べていた.

続きを読む

素数が無限個存在することの証明

今日の英語の講義で学んだこと.
ユークリッドが,素数が無限個存在することの証明に用いた手法.

自分は,オイラーの証明の方は前にどっかで見たことがあったけど,ユークッドの方の証明は記憶になかった.
証明は,すごい簡単で,高校数学の美しい物語 から引用させてもらうと,

素数が有限個しかないと仮定する。その有限個の素数全体を  p_1,p_2,\dots,p_n とおく。 ここで, p = p_1 p_2 \cdots p_{n} + 1 という数を考えると, p はどの  p_i でも割り切れないので素数となる。しかし, p はどの  p_i よりも大きく,素数全体の集合に入っていないので矛盾

背理法による証明だけど,簡潔でわかりやすい.

高校数学の美しい物語 を見ると,サイダックという人による新しい証明が最近示されたようで,wikipedia を見る限り 2006年のことのようだ.