タグ

関数型言語に関するkomlowのブックマーク (22)

  • 関数型言語のウソとホント - Qiita

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

    関数型言語のウソとホント - Qiita
  • 純粋関数型アルゴリズム入門

    Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015CODE BLUE

    純粋関数型アルゴリズム入門
  • 関数プログラミングが教えてくれる規律

    IIJ技術者はセミナーや講演会等において、IIJの持つ技術力や独自研究開発、最新の技術動向について広く発信し、インターネットの発展に尽力しています。

    関数プログラミングが教えてくれる規律
  • Functional JavaScript

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Functional JavaScript
  • Haskell Day2012 - 参照透過性とは何だったのか

    3. 自己紹介 • @ruicc • Ruichi Kousuke • 好きな作曲家:A. Bruckner • 好きなバイオリニスト:Hilary Hahn • 好きな言語:Haskell • 爆発すればいい言語:PHP

    Haskell Day2012 - 参照透過性とは何だったのか
  • 命令プログラミングから関数プログラミングへ

    3. 関数プログラミングの関数 数学でいうところの関数 f(x) = x + 1 だから Scala では •関数定義に = (イコール) を使用 •関数内で最後に評価された値が返る def f(x: Int) {x + 1} Which is def f(x: Int) = return x + 1 better? def f(x: Int) = x + 1 ※注: 上の 2つは正しいコードではありません。

    命令プログラミングから関数プログラミングへ
  • LLerのための関数指向入門

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    LLerのための関数指向入門
  • 関数型言語を採用するプロジェクトが増加、果たして本当に開発効率は高いのか? | スラド デベロッパー

    ソフトウェア開発に Scala や Haskell、Erlang といった関数型言語を採用する企業が増えているそうだ (ITpro の記事より) 。 関数型プログラミング言語には「迅速に開発できる、バグを抑えやすい、アプリケーションの性能を向上させやすい」といった特徴があるとし、これらは新規のサービス開発に向いているという。「言語選定が競争力に直結」といった意見も記事には掲載されている。 これだけだといいことずくめのようにも聞こえるが、関数型言語は習得しにくく、ライブラリなども C/C++Java と比べるとまだ少ない。使いこなせるプログラマも少なく、関数型言語で大規模システムの設計を行えるエンジニアはまだ少ないのではないだろうか。関数型言語を使える人材はある程度スキルの高い人であり、そのために生産性が高いのではという疑問もある。今後日で関数型言語の採用は進んでいくのだろうか?

  • 関数型言語を独学で勉強している学生です への答 - camlspotter’s blog

    http://oshiete.goo.ne.jp/qa/7896221.html にこういうのがあった: 情報系の大学3年生です。 僕は関数型言語に興味がありhaskellやlispを勉強しています。 ... 昨今のIT企業は新卒採用の際、学生時代に作ったプログラムを評価し採用の是非を決めると思います。 もし関数型言語で何か作っても評価されるのでしょうか。 僕ができることといえば、やサイトに載ってあるサンプルを少し改良するぐらいです。 そんな作品を企業側が積極的に評価し、採用してくれるでしょうか。 ... 自分で考えるべきことでしょうが、調べるばかりで頭が混乱して日常生活に支障がでてきてます。 全文はリンク先を見て。 答えようと思ったが、ログインとかユーザ登録とか実にアホラシイのでここに書いておく。 関数型言語は実用的かどうかについて 関数型言語を実用に使っている人は、実用的だと思って使

    関数型言語を独学で勉強している学生です への答 - camlspotter’s blog
  • モナド (プログラミング) - Wikipedia

    関数型プログラミングにおいて、モナドはプログラムを構造化するための汎用的な抽象概念である。対応したプログラム言語では、ボイラープレート的なコードでもモナドを使って除去することが可能となる。これはモナドが、特定の形をした計算を表すデータ型と、それに関する生成と合成の2つの手続きを提供することによって実現されている。生成は任意の基型の値をモナドに包んでモナド値を生成する手続きであり、合成はモナド値を返す関数(モナド関数)たちを合成する手続きである。[1] 広い範囲の問題をモナドを使うことで単純化できる。例えば、Maybeモナドを使えば未定義値への対処が簡単になり、Listモナドを使えばリストに入った値を柔軟に扱うことができる。複雑に組み合わさった関数は、モナドを使えば、補助データの管理や制御構造や副作用を除去した簡単なパイプライン構造に置き換えることができる[1][2]。 モナドの概念や用語

  • 関数型プログラミングは本当に難しいのか

    2012年9月初頭、東京・某所で開催された「函数プログラミングの集い 2012」というイベントに参加した。 このイベント、文字通り、「Haskell」や「Scala」「OCaml」「F#」「Erlang」といった関数型プログラミング言語に関するイベントなのだが、その午前中の講演を聞いて、筆者は少々面らった。 関数型プログラミング言語などの研究者である電気通信大学 准教授の中野圭介氏による講演だったのだが、同氏は講演が始まるや否や「これから『爆弾』を投下します」と前置きし、こう述べたのだ。 「『関数型言語』を使ってはいけない」と。 関数型プログラミングに関するイベントで、いきなり「使うな」という発言は、確かに衝撃的である。筆者だけかもしれないが、この発言の後、一瞬、会場が凍り付いたようにも見えた。一体、どういうことか。 実はこの発言、「使うな」という部分に重点があるのではなく、「関数型言語

    関数型プログラミングは本当に難しいのか
  • Functional programming in sh

    Warning: this code is horribly broken outside of use in Zsh. As such, all occurences of “sh” are referring to POSIX shells ie bash and /bin/sh, (which is usually symlinked to bash, minus some bash-only features). I find myself trying to do things I can do in GHCi more each passing day in my innocent /bin/sh. I find myself seeking a good balance between the numerous layers of hacks that compose she

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

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

    本物のプログラマはHaskellを使う:ITpro
  • 関数型プログラミングの世界

    関数型プログラミングで重要となる高階関数と遅延評価について紹介。時間の関係で、遅延評価については Why Functional Programming Matters とその関連 URL の紹介しかしていない。

    関数型プログラミングの世界
  • 関数型言語が今どう産業で使われているか - camlspotter’s blog

    良心が咎めないことも無いので… 各関数型言語(らしきもの)のホームページには大体、ウチの言語はこの会社で使われているよ!だから君も使わなきゃ駄目駄目!というお手盛りのページがあります。それをペペッとググリましたので列挙しておきます: Scala: http://www.scala-lang.org/node/1658 Clojure: http://dev.clojure.org/display/community/Clojure+Success+Stories Haskell: http://www.haskell.org/haskellwiki/Haskell_in_industry F#: http://msdn.microsoft.com/en-us/vstudio/gg634701#Who_Uses_F_sharp OCaml http://cufp.org/archive/20

    関数型言語が今どう産業で使われているか - camlspotter’s blog
  • はじめての圏論 その第1歩:しりとりの圏 - 檜山正幸のキマイラ飼育記

    全体目次: 第1歩:しりとりの圏 (このエントリー) 第2歩:行列の圏 第3歩:極端な圏達 第4歩:部分圏 第5歩:変換キューの圏 第6歩:有限変換キューと半圏 第7歩:アミダの圏 第8歩:順序集合の埋め込み表現 第9歩:基に戻って、圏論感覚を養うハナシとか 付録/番外など: 中間付録A:絵を描いてみた 番外:同期/非同期の結合 中間付録B:アミダとブレイド 番外:米田の補題に向けてのオシャベリ 一部のプログラミング言語の背景として、圏論(カテゴリー論)が使われたりするせいか、以前に比べれば多少は圏論に興味を持つ人が増えたような気がしなくもないような。でも、安直な入門的文書はあまり見かけないですね。もちろん、シッカリした教科書や論説はあるんですが、どうもシッカリし過ぎているような。例えば、圏の例として「コンパクト・ハウスドルフ空間と連続写像の圏」とか言われてもねぇ(この例はいい例なんです

    はじめての圏論 その第1歩:しりとりの圏 - 檜山正幸のキマイラ飼育記
  • コードウォッチ:関数型プログラミングの自惚れ問題

    僕は関数型プログラミングが好きだ。次の10年にかけてコードの革命を起こしていくだろうと考えている:言語はより関数型の機能を採用していくだろうし、開発者はより関数型の技術を導入していくだろうし、いくつかの点では、関数型プログラミングの原則はコードを組み立てていく上で「自然で」もっとも明確なやり方だとみんな考えるようになっていくだろう。 だけど、僕はもうこのシナリオを気にしちゃいない。関数型プログラミングは、ワクワクするものを学ぶことに興味があると言っている主流のプログラマにとって明白な、大きな問題を抱えている:関数型プログラマーは自惚れ野郎どもだってことだ。 モナドって何?「モナドは自己函手の圏における単なるモノイドに過ぎないよ!(キリッ ヒャッハー、そんな単語も何一つ分かってないとか、君、おバカな主流プログラマーってやつじゃないかい?m9(^Д^)」 実用的なシステムを構築するのに役に立

    コードウォッチ:関数型プログラミングの自惚れ問題
  • ホントはこわくない関数型言語 〜関数型言語の学び方〜 - Kirikuzu Blog

    ホントはこわくない関数型言語 〜関数型言語の学び方〜 関数型言語が気になるけど難しそう。そんなふうに思ってる人は多いと思います。 ここでは初心者に毛が生えた程度の自分が感じる関数型言語を使うメリットを説明したいと思います。 関数型言語の嬉しいポイント ぬるぽがなくなる 「意識してれば」という条件付きですが、null参照が発生することはなくなります。 通常「値がない」ことを表現するためにnullを使用することが多いと思いますが、注意深くコーディングしないとすぐにnull参照してしまいます。 そもそも「値がない」ことを示すのにnullを便宜的に代用しているのが問題なのです。 ならば「値がない」ことを特別な方法によって表現できればより「値がない」ことを意識してプログラミングできると思いませんか。 関数型言語はoption型とパターンマッチによってこの問題を解決します。 パターンマッチ パターンマ

  • IBM Developer

    IBM Developer
  • 関数型言語の技術マップ

    要求開発アライアンスの定例会で『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』というタイトルでセッションを行うことになりました。 セッション時間が50分なので、かなり俯瞰した形での全体像の説明になりそうですが、関連する要素技術の数が多いのと、内容が込み入っているので、ブログで補足説明をすることにしました。 今回はその第一弾です。 「関数型言語の関連技術」として用意した以下の図を説明します。関数型プログラミング言語レベルの説明はScalaを対象にします。 Disclaimer2008年にScalaをはじめて足掛け4年、関数型プログラミングとは、どうも数学を使ってプログラミングしていくことらしい、ということが分かってきました。 ScalaをBetter Javaとして使うのであれば、そこまで頑張らなくてもよいのですが、関数型言

    関数型言語の技術マップ