アカウント名:
パスワード:
これを機にHaskellに触れてみようと思う。
# 関数型言語はLispとPythonしか触れなかった
Haskell は面白い言語ですよ。私は、C++ や Java がメインな人だったのですが、Haskell の学習は、いろいろカルチャーショックを味わえてエキサイティングな体験でした。木構造のアルゴリズムから攻めると分かりやすいと思います。でも、未だにモナドはよく分からないんですけどね…orz
モナドの分かりにくさは、うまい例がないところにある気がする実際のところ、処理がつながっているものはみんなモナドなのだが
例を示せば理解できるというものではない、のがモナド。関数も取りうる値の列挙に対する可能性の計算としてのリストモナドインスタンス、失敗する可能性のある計算としてのMaybe,Eather,Option,Optional,、将来の計算としてのFuture,Promise,Taskなど、これらの実例をそれぞれプログラムの動作として完璧に理解したとして、またそれはたいして難しいことではないが、それらすべてを包括する抽象的な共通概念モナドを体得するためのもう一段のギャップがある。
そういう意味で「うまい例」はない、と言ってるとしたら同意。
あるいは抽象概念としてのモナドは意識せず、させず、個別の実例だけ理解しておけばいいと言うのは一つのあり得る、ある意味現実的な立場でもある。Scalaは、あるいはhaskellとScalaz以外はほとんどその立場。しかしそれでは、モナドの真の力、合成などの力を得ることはできない、とモヒカン族は思うのだ。モナドトランスフォーマーが使えないのはクソだと。、
> それらすべてを包括する抽象的な共通概念モナドを体得するためのもう一段のギャップがある。
いっそコンピュータから離れて、自然言語も料理も人間のあらゆる意味ある行為にはモナドを見いだせるというところから始めた方がいいかもとは思う
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日本発のオープンソースソフトウェアは42件 -- ある官僚
割とオフトピックだが (スコア:0)
これを機にHaskellに触れてみようと思う。
# 関数型言語はLispとPythonしか触れなかった
Re: (スコア:0)
Haskell は面白い言語ですよ。
私は、C++ や Java がメインな人だったのですが、Haskell の学習は、
いろいろカルチャーショックを味わえてエキサイティングな体験でした。
木構造のアルゴリズムから攻めると分かりやすいと思います。
でも、未だにモナドはよく分からないんですけどね…orz
Re: (スコア:0)
モナドの分かりにくさは、うまい例がないところにある気がする
実際のところ、処理がつながっているものはみんなモナドなのだが
Re: (スコア:0)
例を示せば理解できるというものではない、のがモナド。
関数も取りうる値の列挙に対する可能性の計算としてのリストモナドインスタンス、失敗する可能性のある計算としてのMaybe,Eather,Option,Optional,、将来の計算としてのFuture,Promise,Taskなど、これらの実例をそれぞれプログラムの動作として完璧に理解したとして、またそれはたいして難しいことではないが、それらすべてを包括する抽象的な共通概念モナドを体得するためのもう一段のギャップがある。
そういう意味で「うまい例」はない、と言ってるとしたら同意。
あるいは抽象概念としてのモナドは意識せず、させず、個別の実例だけ理解しておけばいいと言うのは一つのあり得る、ある意味現実的な立場でもある。Scalaは、あるいはhaskellとScalaz以外はほとんどその立場。
しかしそれでは、モナドの真の力、合成などの力を得ることはできない、とモヒカン族は思うのだ。モナドトランスフォーマーが使えないのはクソだと。、
Re:割とオフトピックだが (スコア:0)
> それらすべてを包括する抽象的な共通概念モナドを体得するためのもう一段のギャップがある。
いっそコンピュータから離れて、自然言語も料理も人間のあらゆる意味ある行為にはモナドを見いだせるというところから始めた方がいいかもとは思う