タグ

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

  • PythonプログラマのためのErlang入門 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 例によって翻訳です。Erlang for Python Programmersという英文記事の翻訳です。 Pythonを使っている人が関数型言語の考え方を学ぶのによい記事になってます。 Pythonはコードが分かりやすいので,Pythonistaだけでなく,RubyPerlPHPそしてJavaのような命令型言語を使っている人にとっても有益な記事だと思います:-)。 初めに ここ数年,Erlangへの注目が高まっている。Erlangのプログラミングモデルはプロセス間でメッセージをやりとりするだけで実行する並行プロセスに根ざしている。それぞれのプロセスはとてもシンプルな関数型言語で作ら

  • Charming Python: Functional programming in Python, Part 3

    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.

    Charming Python: Functional programming in Python, Part 3
  • On the Relationship Between Python and Lisp

    PythonとLispの関係について Paul Prescod 日語訳:Shiro Kawai (shiro @ acm.org) これは、 Paul Prescod:On the Relationship Between Python and Lisp を、原著者の許可を得て翻訳・公開するものです。 2002/06/02 翻訳公開 Lispは時代のはるか先を行っていた。 Lispは最初の高級言語だったから、それ以降に現れた良いものは全てLispの再発明だ、 と信じたくなる人々がいる。 JavaはLispだ。XMLもLispだ(違うのだが)。 そして今度は、PythonはLispだそうだ。 有名なLispエキスパートである Paul Grahamが提示した話はこうだ。 彼が議論に選んだ3つの言語、JavaPerlPythonのうち、 PythonPerlより(ポピュラーではないにせ

    On the Relationship Between Python and Lisp
  • Ruby の map reduce - ひがきの日記

    世の中 map reduce 大流行。 Ruby では map は頻繁に使うけど reduce って使ったことない。 と思って調べたら reduce って inject のことか。なーんだ。 そう言えば map も collect って名前持ってたね。 Ruby 的な名前 一般的な名前 collect map inject reduce rubyist には map 派と collect 派がいるらしいが、reduce 派というのは聞いたことないなぁ。 昔 matz さんが「Enumerable は -ect って名前のメソッドで揃えてある」って言ってたような気がする。*1 (0..9).to_a # => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # -ect (0..9).collect{|i|i*2} # => [0, 2, 4, 6, 8, 10, 12, 14

    Ruby の map reduce - ひがきの日記
    Leigh
    Leigh 2009/10/15
    こんな使い方知らんかったですよ。
  • Pythonの技法:関数型言語スタイル「関数の部分適用」 - builder by ZDNet Japan

    Pythonはその起源からすると関数型言語ではない。しかし、functoolsライブラリを利用することで、関数型言語のスタイルでプログラムを記述できるようになる。関数型のコードを記述するために重要なツールの一つとして、functoolsモジュールでも利用可能な「関数の部分適用」がある。 部分適用とは、ある関数への複数の入力のうち一つを定数値にバインドし、残りの入力のみを受け取る新しい関数を作成することである。バインドされた入力は、新しく作成された関数が呼び出される際にはいつも同じ値になる。以下に、functoolsモジュールを用いた部分関数の簡単な使用例を紹介しよう。なお、この例ではoperatorモジュールのadd関数も使用している。このadd関数は「+」演算子と同様の働きをするものの、関数であるためオブジェクトとしても扱うことが可能だ。 >>> from functools impor

  • Pythonの"関数型"の機能の起源

    原文:http://python-history.blogspot.com/2009/04/origins-of-pythons-functional-features.html 原文投稿者:Guido van Rossum 私はPythonが関数型言語から強く影響を受けたことがあるとは一度も考えたことはなかったが、そのように言ったり思ったりする人はいるようである。私がそれまでに慣れ親しんできた言語は、C言語やAlgol 68のような命令的な言語である。Pythonの関数はファーストクラスオブジェクトとして作成されているが、Pythonを関数型のプログラミング言語として見たことはない。しかし、以前から、リストと関数を使用して、もっと多くのことをしてみたいと思うユーザがいたことは確かである。 リストに対して行う一般的な操作としては、リストのそれぞれの要素に対して関数を適用し、新しい配列を作成

  • https://www.unixuser.org/~euske/doc/python/python-lisp-j.html

  • 「クロージャの定義」 - hidemonのブログ

    Java7のクロージャの提案者の一人,Neal Gafterのブログが大変参考になるので,ちょっと野良翻訳してみよう. クロージャの定義 Java 言語にクロージャを追加しようという我々の提案に関して混乱があるようだ.そもそも,Javaにはすでに無名インナークラスという形で,クロージャがあるのではないか? すでにあるものをなぜまた追加しようというのか? 一部の人々には,我々の提案には,クロージャとは関係ないものが含まれているように思われているようだ.例えば,control invocation 構文,null型,Unreachable, 型パラメータ付きthrows,関数インターフェイス型,「非ローカル」な returnなどがそうだ.Javapolisでの講演で,なぜこれらの機能が提案に含まれているのかを,これまで不可能だったことを可能にするための実用的な観点から説明したつもりだ.しかし,

    「クロージャの定義」 - hidemonのブログ
  • なぜ関数プログラミングは重要か

    John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. rjmh@cs.chalmers.se この日語訳は原著者の承諾を得て山下がここに公開するものです。 この訳文についての、御指摘などは山下伸夫(nobsun .at. sampou.org)までおねがい いたします。 翻訳最終更新日 : 2011-09-17 原文 "Why Functional Programming Matters" 日語訳PostScript この論文は1984年以来何年ものあいだChalmers大学のメモとして回覧された。 1989年と1990年に幾分か改訂をしたのが[Hug89]と [Hug90]である。この版はもとのChalmer大学のメモ のnroff原稿をもとに

  • 人力検索 - 関数型言語(プログラミング言語Scheme, Haskellなど)を勉強しようと思っています。 関数型言語の勉強方法

    関数型言語(プログラミング言語Scheme, Haskellなど)を勉強しようと思っています。 初心者にも関数型言語のメリットや考えかたがスラスラ分かる勉強の材料を教えてください。 言語の習得よりも、関数型言語の考え方の習得に重きを置いています。 例えば - このを読め - このサイトを読め のように、入門から実用レベルまできちんと筋の通ったものをお願いします。 ちなみに 以前Schemeを勉強しましたが末尾再起辺りでなんとなくうやむやになってしまいました。 あと「計算機プログラムの構造と解釈」は僕には難しすぎでした。

  • 1