関数型言語勉強会 大阪に行ってLTとかしてきました #fpstudy
posaunehm
2012-05-22
...数 関数型プログラミングの必要条件 第一級関数を扱えること 関数を第一級オブジェクトを扱うことができる関数 有るプログラミング言語において、生成、代入、演算、受け渡しといった記法操作を出来る対象 例:高階関数 ラムダ計算 なぜラムダ計算? 引数に何を入れていいかが自明になる 参照透過性が常に保たれること 保たれてるのは純粋関数型言語 文脈によらず式の値は変数や関数によって定まる 同じ引数を渡...
何故、関数型言語Haskellを学んでいるのか #fpstudy
its_out_of_tune
2012-05-20
...をその延長として身につけて行ったって良いと思います。 「グローバル変数は極力避けるようにしよう」「関数(メソッド)はなるべく小さく書くようにしよう」なんていうのは昔からずっと言われ続けている事ですし、高階関数やクロージャを使える非関数型言語も沢山あります。 では、何故自分はHaskellを好んで選択し、習得しようとしているのか・・・ 上記の質問への答えというワケではありませんが、これを切っ掛...
Clojureで文字列を整数にする
jdg
2012-05-17
...、数値を文字列にする関数は、ClojureDocsを見る限り見当たりません。 ググってみると、JavaのInteger/parseIntで変換すると書いてあるものがほとんどで、何か負けた気がしました。高階関数にそのまま渡すこともできませんし。 4Clojureの回答で見つけた例 数値の各桁に対してゴニョゴニョする問題の回答例を見てみると、str関数を使う例が案の定ほとんどだったのですが、文字...
最長重複文字列問題 in Clojure
deve68
2012-05-11
Clojure を学ぶ Groovy と Scala は Java の文化圏から生まれたものだが、Clojure は Lisp の文化圏から Java に入ってきたものだ。 関数の呼び出しが (関数名 引数1 引数2 ...) と前置記法で書いたリストであるところは Lisp だが、他の Lisp 系言語に比べると Groovy よりである。 今回は関数プログラミングのスタイルなので無名関数の書き...
Rとデータマイニング入門
hiroppon
2012-05-09
...響を受けてる為か関数型言語使いには優しい(^^; (無限があったり個人的にはHaskellっぽいかなと。。) R言語の特徴データマイニングに利用されるOSS言語関連するアルゴリズム実装が豊富動的型付け高階関数無限OKベクトル(行列)処理に特化行列計算は意外と速い説明変数が多くても大丈夫(複雑なモデルでもOK)そこそこのデータ規模で威力を発揮TBクラスのデータは扱い切れない などなど、、 TI...
@ITのScalaの記事を写経していた。
dproject21
2012-05-05
...だけでだいぶ時間がかかるのに、なんだこのお手軽さは。 写経してみる。 第3回くらいまでは結構余裕でした。基本的な文法は何らかのプログラム言語の経験があれば大丈夫ですね。 わけが分からなくなってきたのは高階関数とかのあたりから。写経してても「なんでこのコードがこうなるんだ?」という感じで、頭で追えない感覚。 慣れると.NETには戻れないな と感じてます。よく「新しいパラダイムの言語を学べ」と言...
ダイナミックルーティングとHaskell
blackcloister
2012-05-05
Haskellの言語仕様はお得です。 たとえば年毎に異なるキャンペーンサイトに飛ばすようなことを、シンプルなウェブサイトで実現したいとします。 例: yourwebsite.com/2012 -> 2012年新卒採用へ飛ぶ yourwebsite.com/2011 -> 2011年新卒採用へ飛ぶ このような仕組みを、リクエストを次のような形 yourwebsite.com/Int とし...
Programing in Haskell / Chapter.7 Higher-Order Functions
yokotaso
2012-05-04
高階関数 Programing in Haskell(http://www.amazon.co.jp/dp/0521692695) P.61-73 関数を返す関数は、Curry化として、引数に関数を渡そう!というのが、高階関数。(今、冷静になって考えたら、引数を条件分岐に使って、違う処理を返す関数を返すこともできますよね。これはCurry化なのか?)関数の合成($と.)-- f . g は引数に関...
(apply for-each ...)は面倒くさい
irasa_tak
2012-05-02
(apply for-each ...)は高階関数が引数に高階関数を取っているので、どのように評価されるのか理解するが難しい。 例えば(apply for-each print ') |||scheme| (for-each print '(1 2 3))と同じ意味。 applyは一番後ろの引数の括弧を一番手前にまで持ってくる、というイメージを持てばわかりやすいかも。
Ruby応用 | 高階関数
tbpg
2012-04-26
パンくず Ruby応用 高階関数 概要 高階関数について 高階関数とは 関数を引数にしたり、あるいは関数を戻り値とするような関数 サンプル# 関数を返す関数 def get_method(method_name) method =|| set_method test ||<
2012-04-26
ash1taka
2012-04-26
...39;() > (define (double func) (lambda (x) (func (func x))))これを使って ((double add1) 0) #2 ってできたりする。 高階関数を使って、関数を返す関数を作ったわけですね。 いやー、それにしてもscheme面白いね・ω・
Scalaの標準(コレクション)APIを読もう:車輪を再発明する前に
kmizushima
2012-04-24
...える場合にheadをそのまま使うと例外がthrowされて、try-catch使うはめになってウザい(それ以前に正常系で空である可能性があるのなら、headを使うべきではないですが)のでやめましょう。 高階関数を使わなくて同じ目的を達成できるならそのメソッドを使おう 関数型プログラミングでは、ループより再帰、再帰より高階関数が推奨されますが、そもそ高階関数すら必要無い場合があります。たとえば、...
HaskellとOOPと存在型
mizon9
2012-04-14
...もちろんHaskellにもできる。実のところ、今一番好きなのはHaskellであり、オブジェクト指向言語への情熱はもはやなくなってしまった。Haskellならどうするのか考えたい。 方法は2つある。 高階関数 まずは高階関数だ。関数が値であるHaskellでは同じシグネチャの関数であれば任意に入れ換えることができ、インタフェースと見なすことができる。 代表的な例として、WAIのMiddleW...
関数型言語を採用する時の壁
kaoskfos
2012-04-12
副作用のない処理、パターンマッチ、ケースクラス、ファーストクラス関数、高階関数、クロージャ、カリー化、関数部分適用、末尾再帰、アクター、並列処理、型推論.. それぞれが関連しあって簡潔なコードが書けて、副作用によるバグも減少できるメリットがあるのですが、現場では、なかなか関数型言語へ移行できない壁があったりします。 ネックになるところは C/C++、java で長年開発しているプログラマにとって馴...
ContainerのC++のSTLのalgorithm系メソッドについて
ijuhs
2012-04-06
...ifが後置するものがある関数は常に_ifの方を呼ぶ Giraffe+ 0.6.22.1208 から、Object.invokeに引数を渡した場合に==を呼ぶようになり、これにより、普通のオブジェクトを高階関数にpredicateとして渡せるようになりました。 例えばString.trimでは、'1234321'.trim(\1) //23432 |||| s:: ...
なぜ coffee-script が盛り上がるか
mizchi
2012-04-03
...関数型言語への意識を呼び覚ましました。そもそも今までが関数型もどきの言語ポテンシャルだったくせに関数オブジェクトが文字数的な問題で使いにくかったのです。 テンプレートエンジンのCoffeekupでは、高階関数の入れ子によってDOMを表現するなんてこともやってます。 doctype 5 html -> head -> meta charset: 'utf-8' ti...







ympbyc
neuecc