ゲノム医学センター統計遺伝学分野のWiki講義・スライド医学生物学と数学とプログラミングの三重学習を狙う学習ツール駆け足で読む○○シリーズぱらぱらめくるシリーズカシオの計算機オンライン整数列大辞典2017-05-01私のためのHaskell再入門HaskellHaskell環境の準備StackというHaskellのコンパイル制御ツールを使って、特定のパッケージを使う環境を整えると、『その環境のための』ghciまで入る。特定のパッケージを使うわけではなく、ローカルでHaskellの何かを始めようとするときにもStackを使うと、ghciまで入る。しての特徴が強く、そのことを前面に押し出している。すべてが関数、とも言う。関数と引数にしたり返り値にしたりする。関数をリストの要素にもする(リストというのも関数なので、これは、リストという関数と、それ以外の関数のドッキング、という意味で関数型言語の特徴となる)型がガッチリしているとともに、型の特徴をピースに分けて、そのピースのいくつかだけを持つ、とかそういう仕組みも提供することで、型のコントロールをしやすくしている。それを実現するために、型には多重定義がなされ、型を取る関数には、複数の型に対応ができるようにしてあり、そのような関数を多相的と言う。代数では個々の変数の値が決まらなくても、式変形できるが、関数を組み合わせたHaskellのプログラムも関数が構築した世界を代数式変形するようにして持っている。具体的な値が欲しくなったときだけ、計算する。その計算は最後に行う。プログラムは関数で書かれるが、そのうちの一部はモナドと呼ばれるものである。Haskellではその役どころが強調されている。プログラムは処理の集まりであって、何をどうして、次にどうする、というようにも説明できるが、その処理を関数と見て、その関数が値(値を表す変数)をやりとりする世界というものがある。この世界を「自己関手の圏〜関手が圏をなし、その関手は「圏→同じ圏」に定まった関手」であると言う(関数プログラミングでや「圏→同じ圏」がふつう)。この世界には、色々な自己関手があるけれど、その中に、「モノイド(っぽい)」ものもあって、それがモナドだ、ということらしい。(1)はてなブログをはじめよう!ryamadaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。