タグ

haskellに関するstealthinuのブックマーク (6)

  • ScalaプログラマのためのHaskell入門

    4. ●Haskellで手続き的に書くなんて邪道ではないか? ●Haskellの設計者 Simon Peyton Jones の言 ●Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell ●Haskell is the world’s finest imperative programming language 「Haskellは世界最高の手続き型プログラミング言語です」 ●設計者が手続き型言語と言っているので手続き的に書いて全く問題あ りません Haskellに関するよくある誤解

    ScalaプログラマのためのHaskell入門
    stealthinu
    stealthinu 2015/03/05
    これの最初の方だけで、よくわかんなかった部分がだいぶスッキリした。後半はまだわからない内容が多いので後日また参照せねば。
  • 第2章 関数プログラミングのパラダイム―命令プログラミングと何が違うのか | gihyo.jp

    この章では、命令プログラミングと関数プログラミングのパラダイムの違いを理解するために、簡単な計算問題を取り上げます。 命令プログラミングと関数プログラミング 当たり前過ぎて意識されていないかもしれませんが、改めて命令プログラミングのパラダイム(以下「命令型」と略記)を説明すると、次のようになります。 命令を列挙する(典型的には命令である文をセミコロンで区切って並べる) 状態がある(状態とは再代入可能な変数のこと) 再代入を使って状態を変化させる 一方、関数プログラミングのパラダイム(以下「関数型」と略記)は次のようになります。 関数を引数に適用する 状態はない (値を破壊したくなったら)新たな値を作る 状態がないので、変数の値は変わりません。これが関数プログラミングを永続データプログラミングと定義した理由です。しかし、関数型で当に問題が解けるのか疑問だと思います。これから簡単な計算問題を

    第2章 関数プログラミングのパラダイム―命令プログラミングと何が違うのか | gihyo.jp
    stealthinu
    stealthinu 2015/03/04
    写経してるが、こんな簡単なサンプルなのに呪文書いてる気分だ…
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第1章関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる マルチコア環境が身近になった影響からか、勉強熱心なプログラマの間で関数型言語が話題になっているようです。関数型言語が奨励する関数プログラミングでは、これまで命令型言語で習得した、命令プログラミングの再代入を使う技法があまり通用しません。そのため、「⁠関数型言語は難しい」と言って途中で投げ出してしまう人も多いようです。 この特集では、関数プログラミングの習得を一度諦めてしまった人や、これから始める人のために、関数プログラミングのポイントをできるだけわかりやすく説明します。 筆者がわかるようになるまで 実は筆者も長い間、関数プログラミングを習得できませんでした。筆者は、長年Emacs Lispを使って、Mewというメールリーダーを開発して

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
    stealthinu
    stealthinu 2015/03/03
    山本和彦さんの関数プログラミング入門記事!これは期待。
  • 関数型言語のウソとホント - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 追記 こんな記事を読むより、まともな関数型プログラミング言語を使ってまともに関数型プログラミングを学ぶほうが、関数型プログラミングについてよほど正確な理解を得られます。少しでも関数型プログラミングに興味のある人は、まずは真面目なHaskellの教科書やすごいHを読んだり、やさしいHaskell入門を読んだりしながら、実際に関数型プログラミングのコードを書いてみることをお勧めします。 繰り返しますが、この記事はあんまり読む必要はないです。関数型プログラミングを理解するには実際に自分でコードを書いてみるのが一番です。関数型プログラミングあ

    関数型言語のウソとホント - Qiita
    stealthinu
    stealthinu 2015/01/06
    読み物としてもめちゃくちゃおもしろかった。時々入る私見とか特に。『モナドは醜悪な怪物などではなく、Promiseみたいな可愛いふわふわとした感じの何か』とか。モナドたん擬人化とかないのか?w
  • 絶対に理解出来ないモナドチュートリアル - konn-san.com

    世の中には、恐しい数のモナドチュートリアルがあって、それぞれモナドは象だとか、いや接ぎ木だ とか、プログラマブル・コンテナだとか、プログラム可能なセミコロンだとか、色々な説明がなされている。「モナド チュートリアル」で検索すれば、他にも色々に絵解きされた有象無象のモナドが大量に引っ掛かる。そうそう、モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも?なんてのもあったな。 この記事の目的は別に、こうした既存のモナドチュートリアルを「間違ってる!」とか「わかるわけねーよ!」といって貶そうという訳ではない。実際、既に幾多書かれているチュートリアルの中でも、僕の云いたいことと殆んど同じようなことが書かれているものは沢山ある。 では、上の膨大なリストの末尾にまた一つ「わかりやすい比喩」を付け足そうというのか?というとそういう訳でもない。そうそう、モナドは比喩ではないというチュートリアル

    stealthinu
    stealthinu 2014/06/25
    『モナドを使うと副作用の大半を統一的に扱うことができる』『函数合成こそ、函数型プログラミングの本質』なんか自分がまだなにがうれしいのかしっくりきてないカリー化の話とも通じる、のかな?
  • モナドが解らない人へ、図解で絶対わかるモナドのしくみ - セカイノカタチ

    前置き みなさん、モナドって、わかりにくいですよね。 なので、図解することで解りやすく説明できるんじゃないかと、何回かモナドの図解を試みてきたのですが、むしろ複雑さが強調されてしまい残念な感じになってしまいました。 過去の図解 モナドってなんだよ!?全然わからないんで分解して図解してみた(´・ω・`) モナドの分解ふたたび ただ、以前よりモナドを表すメタファのイメージがあって、レゴブロックを組み合わせるようなカタチに例えてうまく説明できるんじゃないか。という予感がしていました。 そして、去年の年末ぐらいに、ついにそのカタチの具体的なアイディアを閃きました。 モナドを解りやすく図解する方法思い付いてるんだけど、絵心が足りなくて表現できない。モナドちゃんとかそう言うことではなく(´・ω・`) 2013-01-18 05:05:22 via ついっぷる for Android 今日、この記事を書

    stealthinu
    stealthinu 2014/06/25
    モナド… すんごい昔、最初にオブジェクト指向の入門書を読んだ時、継承の説明で犬とか人間とか動物の例が出てきてわけわからん、と思った時のことを思い出したわ。
  • 1