タグ

programmingとHaskellに関するCherenkovのブックマーク (6)

  • Haskell入門

    Skip to the content. Haskell入門 従来の言語では問題を部分化する方法について概念的な限界がいくつかある。関数型言語はこれらの限界を押し広げるも のである。 なぜ関数プログラミングは重要か 関数プログラミングを習得するには,これまで命令プログラミングで培った技術はいったん忘れ,真っ白な気持ちで臨む必要があります。関数型の山を登るためには,命令型の山を降りなければなりません。 第1章 関数プログラミングは難しくない! Haskellは理解すれば理解するほどきれいに書けることを約束してくれます。信頼してください 常にパターンを探しましょう。単純になるとき、またその時だけそれらを抽象化するのです 辛抱強く抽象化を正しく理解しましょう。もしそれが出来たならすべてのことが魔法のようにつじつまが合うようになるでしょう。 実装そのものが設計図となります … Haskell Ma

  • Post by @anekos

    昨年、ある言語宗教学者にして脳生理学者が、急進的 Haskell教信者の呪術に没頭している時の脳波を計測した。すると「人間らしさ」を司る前頭前野において、α波が優位になりβ波が低下したという。 α 波はリラックスしている時に見られる脳波と言われる。「たくさんの関数をコンビネータ化しようとして,flip と (.) の洪水が、あるいは,対話は不浄な副作用とされるがゆえ,子供が棒切れでウン○をつつくように (>>=) したり (>>) ばかりをする行為が,脳に影響をあたえているのではないか」と研究を行ったエヌ博士は述べている。 エヌ博士はインタビューでさらに衝撃的な事実を明らかにした。「この波形は Lisp脳症の患者のものとよく似ている」というのだ。「Haskellはあまり一般には知られていませんが,専門家の間では「関数型言語」教のなかでも,狂信的な原理主義者がいる危険な一派として知られていま

    Post by @anekos
  • Haskellの講義に関するQ&A - あどけない話

    岡山大学で、関数プログラミングの講義を一コマ担当しました。資料は、函数プログラミングの集いで使った関数プログラミングの道しるべを流用しました。ちゃんと用意しなくて、講義を受けた学生には申し訳ないです。 講義内容に関して質問を頂きました。同じような疑問を持つ人も多いと思いますので、担当教官の許可を得てここに公開します。 永続データプログラミングの意義は分かったが,破壊しないと効率が悪いのではないですか.配列のような構造が世の中には多い気がします.メモリは足りなくなりませんか. 基的に永続と呼ばれているデータは、共有の効率が高く、しかも不要になった部分はすぐに GC に回収されます。また、GHC の GC はすごく優秀であることが知られています。 Haskell では、下位のレイヤーではデータを破壊できて、たとえば固定長のバッファーを使い回すといったことも可能です。ただ、それは普通のプログラ

    Haskellの講義に関するQ&A - あどけない話
  • jQueryは本当にモナドだった - Pixel Pedals of Tomakomai

    タイトルはかなり釣りです:-) まあ、間違えているかもしれないので内容の判断は自己責任で。 さて、元ネタはこちらなのですが、独自のモナド節を唱えていて非常に怪しい。と言うことで、怪しくならないように真面目に解説してみます。 ちなみに、このエントリでは数学のモナドではなくHaskellのMonad、つまりKleisli Tripleとして説明します。 元記事のどこが怪しいのか 元記事では「流れるインタフェース」がbindであるかのように書いていますが、ここが怪しいと感じます。「流れるインタフェース」は単なる関数合成(haskelでいうg . f)であり、クライスリ結合ではないと思います。後述するように、bindが提供するクライスリ結合は、違う型同士をくっつけられるという奇妙な性質を持つ合成です。 元となる圏 DOMエレメントとjQueryオブジェクトのみを含む任意の集合を対象(Object)

    jQueryは本当にモナドだった - Pixel Pedals of Tomakomai
  • jQuery is a Monad

    It’s said that every Haskell programmer writes their own monad tutorial, and with good reason: once you finally understand the definition and capabilities of a monad, you’ll be eager to try and break the mystique surrounding the concept of monads as a whole. To the outsider, monads are an impenetrable barrier to truly understanding Haskell; they’re cursed with a very unfortunate name, have bizarre

    jQuery is a Monad
  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro
  • 1