タグ

Haskellとfunctionalに関するNyohoのブックマーク (10)

  • 関数型プログラミングのお勉強リンク - Qiita

    はじめに これは自分用の関数型プログラミングお勉強ノートです。 Atom や CoffeeScript に少し退屈してきたので別のお勉強をすることにした。 関数型プログラミングを学ぶことにした。 時々、Qiita の記事とかは読んでいたが、ガーッと調べてやりだしたのは半月程前の 2016年の6月の初旬から。 しばらく続けてみようと思う。 調べ物がどんどん拡散して行くので整理の意味でここに dump しておく。 自分が使う用。 自分が読んで良かった or 良さそう、なリンクに絞ってある。 リンク集としては既にとても豊富で、簡単に消化し尽くせないので自分用としてはこれで十分だ。 ちゃんと消化していくには相応の時間がかかるだろう。 同じように関数型プログラミングを初歩から学ぼうとしている人の参考になるかもしない。 俺のプログラミング勉強法は、これまでの経験上、以下の様なパターンがある。 今は 1

    関数型プログラミングのお勉強リンク - Qiita
  • Ladder of Functional Programming 〜関数型プログラミングのレベル分け〜 - Qiita

    LambdaConfがツイートにて関数型プログラミングのレベル分けを発表していました。今後LambdaConfから発信される発表にはこのレベルが表記され, 自分のレベルにあったコンテンツが探しやすくなるようです。このレベル分けはプログラマの優劣を付けるようなものではなく, 広く深い関数型プログラミングの世界で自分が今どのレベルにいるのかを適切に理解し次にどこに向かうべきなのかを知るのにたいへん役に立つものだと思います。 表を眺めてみると関数型プログラミングというよりかはHaskellのレベル分けのような印象も受けますが、広く知られるべきだと思ったので翻訳してみました。僕が未熟でトンチンカンな訳をしている箇所もあると思うので、何か見つけた場合は遠慮なくコメントや編集リクエストをお願いします LambdaConf Ladder of Functional Programming (LOFP)

    Ladder of Functional Programming 〜関数型プログラミングのレベル分け〜 - Qiita
  • [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

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

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
  • 関数型言語のウソとホント - Qiita

    追記 こんな記事を読むより、まともな関数型プログラミング言語を使ってまともに関数型プログラミングを学ぶほうが、関数型プログラミングについてよほど正確な理解を得られます。少しでも関数型プログラミングに興味のある人は、まずは真面目なHaskellの教科書やすごいHを読んだり、やさしいHaskell入門を読んだりしながら、実際に関数型プログラミングのコードを書いてみることをお勧めします。 繰り返しますが、この記事はあんまり読む必要はないです。関数型プログラミングを理解するには実際に自分でコードを書いてみるのが一番です。関数型プログラミングあるいは関数型プログラミング言語を理解するもっとも確実な方法は、Haskellをあなたのマシンにインストールして何かまとまったアプリケーションを書いてみることです。Haskellでアプリケーションが書けたら、自分は関数型プログラミングを理解しているし使えると胸

    関数型言語のウソとホント - Qiita
  • USトップ大学でも関数型プログラミングが余り教えられていない現実 | POSTD

    数カ月前、私たちは一部の言語が他の言語に比べて受け入れられやすい理由を調べた SocioPLT リサーチプログラムについて 投稿 しました。その 調査 の一環として、2000年から2010年の期間内にSourceForgeのプロジェクトで使用された言語を調べて頻度別にランク分けしたのですが、この結果で興味深かったのは、上位20の言語の中に関数型言語が1つもなかったということです。 教育機関のプログラミング言語研究者は関数型言語を好む傾向にあるため、この事実を残念なことと思うでしょう。しかしながら、このような事態に陥った原因の一部は、私たち学術研究者自身にあるのかもしれません。関数型言語が“現実の世界”で受け入れられるためには、大学などの機関がそれを教えなければならないからです。この投稿を通じて、そうした教育プログラムを持つ大学がほとんどないことが分かるでしょう。プログラミングの教育課程にお

    USトップ大学でも関数型プログラミングが余り教えられていない現実 | POSTD
  • 関数型プログラミングとオブジェクト指向の抜き差し可能な関係について整理して考える - モナドとわたしとコモナド

    Googleで適当に検索すると とズラリと出てくる。 オブジェクト指向 v.s. 関数型プログラミング 関数型とオブジェクト指向という一見相反するプログラミングパラダイムの併用について理解した プログラマが知るべき97のこと/関数型プログラミングを学ぶことの重要性 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 関数型プログラミングとオブジェクト指向の抜き差しならない関係について整理して考える とそれなりに参考になりそうな情報はあるものの、無駄に複雑化されたオブジェクト指向をストローマンにするような記事ばかり(それだけ今までのオブジェクト指向にみんなうんざりさせられているのだろう)で、そろそろきちんと自分自身「関数型プログラミングとオブジェクト指向の切り離され方」についてはっきりさせておきたい、と考え、概念整理した結論を書きます。 まず端的な結論 結論を

    関数型プログラミングとオブジェクト指向の抜き差し可能な関係について整理して考える - モナドとわたしとコモナド
  • RubyにHaskellよりも強力なパターンマッチを実装した - Qiita

    require 'egison' include Egison match_all(object) do with(pattern) do ... end end match(object) do with(pattern) do ... end with(pattern) do ... end ... end パターンマッチに成功すると、withに渡されたブロックが実行され、その結果が返されます。 このライブラリのパターンマッチでは、パターンマッチの結果が複数あるということがあります。 match_all構文はそのすべてのパターンマッチの結果それぞれについてwithに渡されたブロックを実行し、すべての結果をまとめた配列を返します。 match_all構文は1つのwith節を取ります。 一方、matchは複数のwith節を取ります。 先頭のwith節のパターンから順番にパターンマッチに成功

    RubyにHaskellよりも強力なパターンマッチを実装した - Qiita
  • 関数型言語を学ぶことは実務でどう役に立ったか - Rejasupoem

    関数型LT大会で「実社会の問題を解決する関数型言語」というタイトルで発表しました。 というのも、会社で「すごいHaskellたのしく学ぼう!」の輪読会をしていて、最初こそ10人以上の人が参加していたのだけど、章が進むごとにどんどん人が離脱していって、主催者としてはなんとか完走したいという思いがあったので、調べたのですが、 ヒアリングから、この二つの線がクロスしたときに、人は離脱するという知見が得られました。 ということで、Haskellに対して実用性を見出したいと思いながら半年を過ごしたのですが、実用的 = 仕事で使うということであれば、今の現場でHaskellに移行するのは現実的ではありません。 でも、Haskellには関数型言語のエッセンスが詰まっていて学びが多かったと思っていて、直接的には使っていないけど、概念として役立つことがあると思ったので、それを伝えるために今回文章に起こしまし

  • オブジェクト指向 v.s. 関数型プログラミング

    近年、関数型プログラミングの重要性はいろんなところで叫ばれています。 Javaの最新バージョンに関数型プログラミングに関する新機能が加わりました。 Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています。 プログラミングの教科書の大手、オライリー社から、Javascriptで関数型プログラミングを行うための解説書が発行されました。 関数型プログラミングへの注目度は高まってきています。 おそらく、みなさんは既にオブジェクト指向が何か、を知っています。 でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います。 実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、 関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。 この記事を読む方の中で、「関

    オブジェクト指向 v.s. 関数型プログラミング
    Nyoho
    Nyoho 2014/04/10
    楽しい文章だった。最後の「おしっこ漏れそう」とは「オブジェクトしっこ」を表しているですね。わかりましたよ。
  • 1