タグ

Functionalに関するdrumscoのブックマーク (12)

  • elixir-lang.github.com

    All Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages: current_process = self() # Spawn an Elixir process (not an operating system one!) spawn_link(fn -> send(current_process, {:msg, "hello world"}) end) # Block until the message is received receive do {:msg, contents} -> IO.puts(contents) end Due to their lightweigh

  • Javaから関数型言語へ - プログラマの思索

    ジョエルのWikiはいつ読んでも面白い。 JavaよりもScheme、Haskellなどの関数型言語の習得が何故必要なのか、を説明している。 【元ネタ1】 Javaスクールの危険 - The Joel on Software Translation Project (前略) 関数プログラミングを理解していなければ、GoogleをあれほどスケーラブルにしているアルゴリズムであるMapReduceは発明できない。 MapとReduceという用語はLispと関数プログラミングから来ている。 純関数プログラムは副作用がなく容易に並列化できるということを6.001に相当するプログラミングの授業で聞いて覚えている人には、MapReduceは容易に理解できる。 GoogleMapReduceを発明し、Microsoftが発明しなかったという事実は、Microsoftが基的な検索機能についてキャッチア

    Javaから関数型言語へ - プログラマの思索
  • プログラミング言語Dartの「方向性」はやっぱり正しい

    遅ればせながら(?)、Dartについて考えてみました。そしてソフトウェア開発のこれからを考えた場合、Dartの「方向性」はやっぱり正しいという結論になりました。 Googleは、もう少しちゃんとDartの意義を伝えた方がいいと思います。ほとんどの技術者に「同じような言語がまた一つ増えた」ぐらいにしか認知されていないのではないでしょうか。だから文法や機能不足など、表面的なところばかり批判されて、イマイチな印象になってしまっているように思えます。まだドラフトでバージョン0.04です。今の段階では機能不足や、さまつな仕様の欠点を論じるのではなく、言語のビジョンに注目するほうが正しく評価ができると思います。 なぜDartの方向性が正しいのか、まずその前提から書いていきます。 プログラミングの分野 プログラミング言語は、分野により向き不向きがあります。それをごちゃ混ぜにして議論しても仕方がありません

    プログラミング言語Dartの「方向性」はやっぱり正しい
  • 関数型言語が普及しない理由 - 偏見プログラマの語り!

    えーとですね...。 関数型言語が普及しない理由:俺が分からないから 2011-11-12 13:04:14 via Tween 関数型言語が普及しない理由:「関数型言語が普及しない理由」という記事をみんなが書くから 2011-11-12 13:04:43 via TweetDeck ようし僕も「関数型言語が普及しない理由」という記事を書こうか。 2011-11-12 13:05:22 via Krile2 期待age RT @PG_kura: ようし僕も「関数型言語が普及しない理由」という記事を書こうか。 2011-11-12 13:07:55 via web 犬ェ... 2011-11-12 13:10:18 via Krile2 というわけで稿を書くわけですが(ヤメテ!そんな冷たい目で僕を見ないで!)、関数型言語*1についてはよく知りませんので、決して真に受ける事無く、オブジェクト

  • Clean

    Welcome to the Clean Wiki! the online home of Clean. Clean is a general purpose, state-of-the-art, pure and lazy functional programming language designed for making real-world applications. Some of its most notable language features are uniqueness typing, dynamic typing, and generic functions. Have a look at a quick impression of Clean. The Clean System is available for the Windows, Linux, and Mac

  • IBMのとがった人たち 〜 「IBM Japan Geeks」 勉強会レポート(後編):CodeZine

    「IBM Japan Geeks」(以下、Geeks)は、2007年に社内で開催された「ITLMC RoR(Ruby on Rails)勉強会」に集まった“とがった”人たちによって発足したもの。「主にプログラミング言語を中心とした最新技術動向の情報交換を行うための社内コミュニティ」として、定期的に勉強会を開催しています。 今回は前回に続き、これまでに開催されたGeeks定例会から反響の多かったものを再現していただいた「Scala:宮氏」「Android:小山氏」「Google基盤について:根氏」「オブジェクト指向とカリー化:津田氏」の後半の2編をお送りします。 インフラ面から見たGoogle基盤 3番目のGeekとして登場した根和郎氏は、「The Strength of Google from infrastructure view」(インフラから見たGoogleの強さ)と題した発表

    IBMのとがった人たち 〜 「IBM Japan Geeks」 勉強会レポート(後編):CodeZine
  • Functional Java

    Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development. Functional Java also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. The library is intended for use in production a

  • 純粋関数型言語Concurrent Clean

    純粋遅延関数型言語Concurrent Clean (Pure and lazy functional language : Concurrent Clean) 〜 The most functional language 〜 Concurrent Cleanは、オランダのネイメーヘン大学で開発している、純粋な関数型言語です。 メジャーな関数型言語としては、Lisp、Scheme、ML、Haskell等がありますが、それらに決して劣ることのない環境と言語仕様を持つ言語です。効率性・開発環境・言語仕様どれも最高位ではないかと思うくらいです。言語仕様的には、この中では、Haskellに一番似ているとされています(沿革的にはMirandaと言われる純粋関数型言語の中間言語から出発していますので、Mirandaに似ていると言う方が正確でしょうが)。 ここでは、著作者たるPlasmeijer教授

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 続 GUIで学ぶ関数プログラミングで学ぶGUIアプリケーション

    今日の生産性 : エクセルのセルふたつぶん。 これはつまり、セルを一時間あたり1/4個つくっていたことに相当する 続き。GUIアプリケーションは、絵を見せたり、イベントを貰ったりできるということだった。 もうちょっと抽象化すると、GUIアプリケーションというのは、何かを出したり何かをもらったりできると、いうことかもしれない。 type GUIApplication a = Get a -- 何かをもらう | Show -- 何かを出すっていうか、これって入力と出力じゃね?っていうか、 type GUIApplication a = IO a -- 入出力これでいいんじゃない?って気がしてきた。つまり、GUIアプリケーションっていうのは、IOモナドのことだったのである。あー。 まあいい、まあいいや。 -- dispGraphicは絵を見せるアプリケーションを作る関数 dispGraphic

    続 GUIで学ぶ関数プログラミングで学ぶGUIアプリケーション
  • ■[funcgui] GUIで学ぶ関数プログラミングで学ぶGUIアプリケーショ

    あー、あーうあー。家出る前に牛乳を冷蔵庫にしまったかどうか確認すること。 昼間なんか色々考えたような気がしたんだけど、どうでもよくなった。 ので、そういう仕事辞めたくなった話題(またか)とは全然関係無く、関数型言語はGUIアプリケーションも美しく書けるのではないかというような話。 とにかく、Monadっていうのは、コマンドのことだと理解しておく。 main = putStrLn "nanika"こういうのがあった場合、mainというのは"nanika"を表示するコマンドである、とする。端末に対して、「"nanika"を表示するコマンド」を送ると、端末は、"nanika"を表示する。 あと、前も書いたけど、 main = putStrLn "nanika" >> putStrLn "are"コマンドは繋げてもコマンド。と、いうのが重要。 そこまで頭に入れておいて、まず、GUIアプリケーション

    ■[funcgui] GUIで学ぶ関数プログラミングで学ぶGUIアプリケーショ
  • Rubyで関数プログラミング 【目次】

    このページでは、Rubyを使って、関数プログラミングを行ってみたいと思います。 Rubyは、よくいわれるように命令型言語の発展形たるオブジェクト指向型言語ですので、関数プログラミングを行うのに適した言語ではありません。しかし、全く関数プログラミングの特徴を伝えることができないわけではありません。それに必要ないくつかの機能を備えていると思います。従って、Rubyで関数プログラミングを行うことにより、関数プログラミングへのイントロダクションにしてみたいと思っています。 念の為言っておきますが、私はRubyをよく知りません。しかし、動的束縛のオブジェクト指向言語ということなので、その言語構成は、型システム以外はメジャーな多目的言語(C++,Object Pascal等)とそう変わらないと思います。というか、完全にそういう前提で話をします。 因みに、参考資料は、言語仕様に関するヘルプ、オライ

    drumsco
    drumsco 2005/11/02
    Rubyで関数プログラミング
  • 1