Scalaで型クラス?

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

tkhshyt.hatenablog.com

tkhshyt.hatenablog.com

tkhshyt.hatenablog.com

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

続きを読む

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

前回の記事の続き.

tkhshyt.hatenablog.com

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

続きを読む

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

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

続きを読む

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

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

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

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

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

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