タグ

functionalに関するtaninswのブックマーク (19)

  • Functional data structures in JavaScript with Mori

    I have a long-standing desire for a JavaScript library that provides good implementations of functional data structures. Recently I found Mori, and I think that it may be just the library that I have been looking for. Mori packages data structures from the Clojure standard library for use in JavaScript code. Table of ContentsFunctional data structuresA functional data structure (also called a pers

  • Rubyで関数合成とかしたいので lambda_driver.gem というのを作った - ( ꒪⌓꒪) ゆるよろ日記


    LambdaDriver by yuroyoro RubyProclambdalambda_driver.gem gem Ruby(2) -  Proc#compose - ( )  Ruby(3) - (Proc#curry, Proc#flip) - ( )   require 'lambda_driver' # [:foo, :bar, :baz].map{|s| s.to_s }.map{|s| s.upcase } # [:foo, :bar, :baz].map(&:to_s).map(&:upcase) [:foo, :bar, :baz].map(
    Rubyで関数合成とかしたいので lambda_driver.gem というのを作った - ( ꒪⌓꒪) ゆるよろ日記
  • FRPの話 - maoeのブログ

    Haskell Advent Calender 2012で久々にブログを書くということで、ついでにはてなダイアリーからはてなブログに移行してみた。記事やコメントはもちろんのこと、はてブも移行でき、なおかつundoもできるという素晴らしい仕様なので、安心して移行することができた。 さて、今回はFunctional Reactive Programming(FRP)の話。FRPとは、時間やシステム外部からの入力に対して応答するプログラムを関数的に表現する方法とでも言えばよいだろうか。 FRPというとまだ定番の実装もなく、実用にはほど遠いと考える人もいるかもしれない。実際、FRPの実装に関してはまだいろいろ研究・改良の余地があるとは思うものの、以前のように簡単にメモリリークするようなことも無く、最近では試してなるほど便利そうと思える段階にまでは洗練されてきていると思う。 FRPが登場してからの1

    FRPの話 - maoeのブログ
    taninsw
    taninsw 2012/12/29
    "iterateeは、大まかに言えばEventのみ扱う一階FRP"
  • Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標

    OOAD + OFPについて現時点での考えをまとめてみました。 PPTX→PPT出力の関係で、当日は非表示にしているスライドも入っています。Read less

    Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
  • Rubyで関数型プログラミング - 貳佰伍拾陸夜日記

    Rubyでの快適関数型プログラミングライフを追求するあまり, 使えるのか使えないのかよくわからないものを作ってしまったという話. Rubyに不慣れな人や関数型プログラミングに不慣れな人に対して酷なのはまだわかるとしても, C++(というかboostでの関数型プログラミング)に不慣れな人も全力で置いてきぼりにする誰得記事になってしまった...... 経緯 そもそもRubyはだいぶLispっぽくて, ブロックとイテレータを使うだけで関数型プログラミングになってしまう. たとえばこんな感じで: %w|1 2 3 4 5|.map{|x| x.to_i} %w|1 2 3 4 5|は'1'から'5'までの文字列からなる配列で, その配列のメソッドArray#map*1に対して, 受け取った引数を整数化するブロックを渡してやると, 1から5までの整数からなる配列が得られる. たとえば関数型プログラミ

    Rubyで関数型プログラミング - 貳佰伍拾陸夜日記
  • Managing parallelism: embrace diversity, but control side effects | SkillsCast

  • 2010-12-26

    リアクティブプログラミングは、「時間とともに変化する値」=「振る舞い」同士の関係性を記述することでプログラミングを行うパラダイムです。 GUIなどのようにインタラクティブなシステムや、シミュレーションやアニメーションのようにダイナミックに状態が変化するようなシステムを宣言的に記述することができます。 これらの「変化する状態」や「外部とのやりとり」が支配的なシステムは、純粋関数型言語が、その強みを発揮しにくい部分でもあります。 稿では、リアクティブプログラミングが副作用を含む系を宣言的に記述することを可能にし、状態の管理という厄介な問題からプログラマを開放する可能性があることを示したいと思います。 (割と独自研究に基づく解釈ばかりなのでその点ご了承ください。あと例としてでてくるコードは、Pythonベースの擬似コードで具体的なライブラリに基づくものではありません。) Why Reactiv

    2010-12-26
  • 関数型言語で工数削減できる理由、前編 - えちょ記


       IF IFCJavaswitch-case
    関数型言語で工数削減できる理由、前編 - えちょ記
  • 関数型言語でのデザイン手法

    Takashi Miyamoto @tmiya_ オブジェクト指向はOOPの他にOOA,OODなど上流工程向けの方法論があるのだが、関数型言語についてもFPの他にFA,FDがあるのだろうか?誰か適切な論文/教科書とか知りませんか? 2010-05-30 09:26:38 Ikegami Daisuke @ikegami__ 探してみます。でも強い型付けか、弱い型付けかで、まるっきり異なるでしょう RT @tmiya_: オブジェクト指向はOOPの他にOOA,OODなど上流工程向けの方法論があるのだが、関数型言語についてもFPの他にFA,FDがあるのだろうか?誰か適切な論文/教科書とか知りませんか? 2010-05-30 09:30:40 Ikegami Daisuke @ikegami__ @tmiya_ 個人的な感想ですが、強い型付けのプログラミング言語で開発を行う場合、実装の前に、全体

    関数型言語でのデザイン手法
  • 再帰 - アンサイクロペディア

    再帰 出典: へっぽこ実験ウィキ『八百科事典(アンサイクロペディア)』 (再帰から転送) 転送ページ ナビゲーションに移動 検索に移動 転送先: 再帰 「https://ja.uncyclopedia.info/index.php?title=再帰&oldid=1572376」から取得 カテゴリ: プログラミング無限ループ秀逸な記事自己言及的なページ半保護されたページ 案内メニュー 検索 MediaWiki spam blocked by CleanTalk.

  • Purely Functional Retrogames, Part 1

    programming in the twenty-first centuryIt's not about technology for its own sake. It's about being able to implement your ideas. When I started looking into functional languages in 1998, I had just come off a series of projects writing video games for underpowered hardware: Super Nintendo, SEGA Saturn, early PowerPC-based Macintoshes without any graphics acceleration. My benchmark for usefulness

  • FAQ for comp.lang.functional

    Frequently Asked Questions for comp.lang.functional Edited by Graham Hutton, University of Nottingham Version of November 2002 (This document is no longer being updated) 1. This document 2. General topics 2.1. Functional languages 2.2. History and motivation 2.3. Textbooks 2.4. Journals and conferences 2.5. Schools and workshops 2.6. Education 3. Technical topics 3.1. Purity 3.2. Currying 3.3. Mon

  • 檜山正幸のキマイラ飼育記 - JavaScriptで学ぶ・プログラマのためのラムダ計算


    JavaScript!  調 []JavaScript [/]   JavaScript    β --  β  JavaScript JavaScriptJavaScriptJavaScr
    檜山正幸のキマイラ飼育記 - JavaScriptで学ぶ・プログラマのためのラムダ計算
  • MSの新言語「F#」は関数型プログラミングがベース


    MicrosoftF#Functional ProgrammingF F#FMicrosoft Research10Object-Oriented Programming, Systems, Languages and Applications 2007MicrosoftF#Microsoft
    MSの新言語「F#」は関数型プログラミングがベース
  • Matzにっき(2007-05-08)

    << 2007/05/ 1 1. [Ruby] ITmedia エンタープライズ:刑務作業でRuby、世界初の受刑者によるソフトウェア開発 2. [Ruby] MS、「Silverlight」を複数プラットフォーム対応へ - CNET Japan 3. お客様 4. [Ruby] Calling Erlang from Ruby (Teaser) 2 1. [言語] random-state.net / Method Cache Hacking (May 1st 2007) 2. ICFP Programming Contest 2007 3. 「働く」って何だっけ?日の労働観を再考せよ (新日的経営の姿):NBonline(日経ビジネス オンライン) 3 1. [原稿] 日経Linux 2007年7月号 2. [言語] The World of Hello World 3. [言語]

  • ホワット・ア・ワンダフル・ワールド 人間が情報を与えるか,機械が推論して情報を増やすかという違い


    GC    lethevert is a programmer 
  • 関数プログラミング - HaHaHa!

    Matzにっき(2007-04-12) 現実世界に「状態」があるのに,プログラミング言語がそれを表現できない(ということは,間接的に表現しなければならない)というのは,私の脳内モデルとプログラムの距離が遠くなって大変つらい. 『私の脳内モデルとプログラムの距離が遠くなって大変つらい.』という部分は理解できる. 『現実世界に「状態」があるのに』というのは,『私の現実世界の脳内モデルに「状態」があるのに』と同じ意味なら,これも理解できるのでこのセンテンスは理解できる.現実世界に「状態」があるわけではなく,現実世界の脳内モデルに「状態」があるのだと思います. 現実世界から副作用のない関数モデルへのマップが脳内でできる(関数脳)状態の人には関数型言語が最適なのだと思う. これはマップができるかどうかではなくて,現実世界の脳内モデルとして関数モデルを持っているなら関数型言語が最適なんだと思う. 実際

    関数プログラミング - HaHaHa!
  • J - 関数型言語はC言語よりも高速


    23  C http://d.hatena.ne.jp/w_o/20050924#p2 C  struct stack { char *buf; int pos; }; void push( struct stack *stk, char v ) { stk->buf[stk->pos] = v; ++stk->pos; } void pop( struct stack *stk ) { --stk->pos; }; void nop( struct stack *s
    J - 関数型言語はC言語よりも高速
  • IBM JavaScriptを作成するための関数型プログラミングの使用 - Japan

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM JavaScriptを作成するための関数型プログラミングの使用 - Japan
  • 1