339 返信:153[sage] 投稿日:2012/08/16(木) 22:16:29.83
>>314
>関数型言語でなければならないという観点は間違ってる気がする
ああ、これについては同感だね
現状のどの関数型言語も文字列、パターン、ハッシュの操作に難があるから、
現行LLであるPerl/Python/Rubyを置き換えるには無理があると思う
ただし、関数型言語にも良い特性がある訳で、実際に(LLを含む)多くの言語に影響を与えている
だから自分は「LLにおける関数型プログラミング」に注目している
LLにおける関数型プログラミング
■ このスレッドは過去ログ倉庫に格納されています
2012/08/16(木) 22:17:50.32
102デフォルトの名無しさん
2013/06/23(日) 08:23:29.20 2ちゃんはもうすっかり人居なくなったな
103デフォルトの名無しさん
2013/06/23(日) 09:13:04.69 >>102
みんなどこに行ったん?
みんなどこに行ったん?
104デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN 大規模規制で半減したつうし、前プロバイダで規制やればあっさり消滅すんでねぇの?w
105デフォルトの名無しさん
2013/09/24(火) 02:46:24.05 rubyでcurry化は簡単便利
f=->x,y{2*x + 3*y}.curry
g=f[3]
puts g[4] #=>18
f=->x,y{2*x + 3*y}.curry
g=f[3]
puts g[4] #=>18
106デフォルトの名無しさん
2013/09/24(火) 09:11:08.81 そのくらいデフォでやれよ
その程度で簡単便利とか超わらえるわ
その程度で簡単便利とか超わらえるわ
107デフォルトの名無しさん
2013/10/28(月) 19:56:35.40 それで自己参照できるん?
108デフォルトの名無しさん
2014/01/16(木) 13:47:04.51 ゴミ
109デフォルトの名無しさん
2014/01/20(月) 01:07:25.2811028
2014/12/09(火) 23:38:42.78ID:7jn1Y2FE Swift スレで関数型プログラミングについてレスしたけど、
こちらのスレとも関連するのでメモとしてカキコしとく
http://peace.2ch.net/test/read.cgi/tech/1415860741/153
--
Swift や Ruby を含む多くの言語では常識であるけど Python では異なるものとして、
関数型言語に由来した(無名関数やラムダ式とも呼ばれる)クロージャがある
たとえば "The Swift Programming Language" の "Closure" の章にある map メソッドを使った
サンプルコードは、Ruby でも同じスタイルの良く似たコードで書き直せる:
http://ideone.com/TsGD6B
これは Ruby だけでなく、JavaScript でも同じ
Swift や Ruby と比べて構文が簡潔な JavaScript ではいくらか冗長にはなるけれど、
何の苦もなく Swift と同じスタイルで書き直せる:
http://ideone.com/74oNVU
同様に、「あるテーブルから特定の行だけを抽出し、加工して、集計する処理」は、
Swift だと table.filter { .... }.map { .... }.reduce { .... } とメソッドを連結(チェイン)させた式で書ける
これは Ruby なら table.select { .... }.map { .... }.inject { .... } と書き直せる
ここで、クロージャ内の ..... の部分には、上記のサンプルのように「任意の文(statements)が書ける」
もしかすると、いやこんなの高階関数のプログラミングを知っている人なら当たり前だろ、と感じるかもしれない
ところが Python だけはクロージャの本体に(任意の文ではなく)「式(expression)しか書けない」:
http://ideone.com/tDaDkL # --> Syntax Error になってしまう
だから、他の言語のクロージャに相当するコードを(名前のある)関数としてわざわざ宣言しなければならない:
http://ideone.com/R7twCQ
結果として、Python は手続き型プログラミングであれば簡潔で可読性に優れたコードが書けるスクリプト言語だけれど、
関数型プログラミングには適さず、こうした関数型プログラミングは推奨されていないらしい(これを "酸っぱい葡萄" と言ふ)
http://peace.2ch.net/test/read.cgi/tech/1345123070/70-71
これが Swift や Ruby 等と比較すると、関数型プログラミングで Python が劣る典型的な一例になる
こちらのスレとも関連するのでメモとしてカキコしとく
http://peace.2ch.net/test/read.cgi/tech/1415860741/153
--
Swift や Ruby を含む多くの言語では常識であるけど Python では異なるものとして、
関数型言語に由来した(無名関数やラムダ式とも呼ばれる)クロージャがある
たとえば "The Swift Programming Language" の "Closure" の章にある map メソッドを使った
サンプルコードは、Ruby でも同じスタイルの良く似たコードで書き直せる:
http://ideone.com/TsGD6B
これは Ruby だけでなく、JavaScript でも同じ
Swift や Ruby と比べて構文が簡潔な JavaScript ではいくらか冗長にはなるけれど、
何の苦もなく Swift と同じスタイルで書き直せる:
http://ideone.com/74oNVU
同様に、「あるテーブルから特定の行だけを抽出し、加工して、集計する処理」は、
Swift だと table.filter { .... }.map { .... }.reduce { .... } とメソッドを連結(チェイン)させた式で書ける
これは Ruby なら table.select { .... }.map { .... }.inject { .... } と書き直せる
ここで、クロージャ内の ..... の部分には、上記のサンプルのように「任意の文(statements)が書ける」
もしかすると、いやこんなの高階関数のプログラミングを知っている人なら当たり前だろ、と感じるかもしれない
ところが Python だけはクロージャの本体に(任意の文ではなく)「式(expression)しか書けない」:
http://ideone.com/tDaDkL # --> Syntax Error になってしまう
だから、他の言語のクロージャに相当するコードを(名前のある)関数としてわざわざ宣言しなければならない:
http://ideone.com/R7twCQ
結果として、Python は手続き型プログラミングであれば簡潔で可読性に優れたコードが書けるスクリプト言語だけれど、
関数型プログラミングには適さず、こうした関数型プログラミングは推奨されていないらしい(これを "酸っぱい葡萄" と言ふ)
http://peace.2ch.net/test/read.cgi/tech/1345123070/70-71
これが Swift や Ruby 等と比較すると、関数型プログラミングで Python が劣る典型的な一例になる
111デフォルトの名無しさん
2014/12/10(水) 03:20:00.54ID:lFxVBhH5 そう思うなら脱アルゴリズムしたらいいんじゃない?
まあ頑張れ。
無駄な努力だと思うがな。
まあ頑張れ。
無駄な努力だと思うがな。
112デフォルトの名無しさん
2014/12/10(水) 07:41:04.02ID:8efWXp1v 無名関数とクロージャの区別すらつかない
馬鹿(>>110)がいるスレはここですか?
馬鹿(>>110)がいるスレはここですか?
113デフォルトの名無しさん
2014/12/10(水) 09:24:15.87ID:GPUWLQKM >>110
関数型言語全部敵に回して何が楽しいのか、さっぱり分からん。
関数型言語全部敵に回して何が楽しいのか、さっぱり分からん。
114デフォルトの名無しさん
2014/12/10(水) 18:52:40.21ID:naCNbx5k 関数をステートメントで書けるから関数プログラミングに適してると言いたいのかこの初心者は
115デフォルトの名無しさん
2014/12/11(木) 04:18:01.16ID:fpObf9hC 馬鹿はクロージャスレでも散々に叩かれてたのに、頑なにオレオレ定義を振りかざしてたからな
しまいにゃ「真のクロージャ」だのよく分からないことを言い出す始末
しまいにゃ「真のクロージャ」だのよく分からないことを言い出す始末
116デフォルトの名無しさん
2014/12/15(月) 12:38:25.66ID:ZETjn4CW なにこれ、脱アルゴリズム君なの?
彼についてなら専用スレあるからそっちで。
彼についてなら専用スレあるからそっちで。
117デフォルトの名無しさん
2014/12/23(火) 18:15:43.45ID:ATuB6kuL 関数型には car/cdr は必須ですかね?haskell をみていてもそんな感じだけど
118デフォルトの名無しさん
2014/12/23(火) 18:49:48.75ID:pWRQK/2A むしろcar・cdrのような部分関数(空リストに対して定まらない)はなんだかんだ面倒。
使いやすいパターンマッチを導入して、car・cdrみたいなのは廃止、ってのが良い、と
いうのがほぼ確定した見解だと思う。
使いやすいパターンマッチを導入して、car・cdrみたいなのは廃止、ってのが良い、と
いうのがほぼ確定した見解だと思う。
119デフォルトの名無しさん
2014/12/24(水) 21:17:05.57ID:+1mcRXwz map/reduce 等で car/cdr を隠すってこと?
120デフォルトの名無しさん
2014/12/24(水) 21:30:06.24ID:kKJ427gL パターンマッチって書いてあるじゃない
12128
2016/06/02(木) 21:56:19.82ID:khWGy11Q ・関数型プログラミングにおけるクイックソート・アルゴリズムの実装
http://www.h6.dion.ne.jp/~machan/misc/qsort-in-fp.html
http://www.h6.dion.ne.jp/~machan/misc/qsort-in-fp.html
122デフォルトの名無しさん
2017/02/09(木) 13:52:49.36ID:Lyr2GEHi LLってなーに?
123デフォルトの名無しさん
2017/02/10(金) 23:52:57.41ID:5MVdS2z+ Lonely Lovely
孤独を愛する、孤高のプログラマのことさ
孤独を愛する、孤高のプログラマのことさ
124デフォルトの名無しさん
2017/04/15(土) 18:58:59.13ID:RhESs+iK Lovely Lolita 幼女好きのことさ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市早苗総理「金利上昇よりも日本の成長が大事」 [Hitzeschleier★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダーを照射を批判、同事案で中国を批判するのは初めて [お断り★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★2 [Hitzeschleier★]
- 【高市首相】「民主党が提出したから」 議員定数「1割」削減の理由 [ぐれ★]
- 【野球】止まらぬ野球人口減少に危機感 ラミレス氏「野球人口は激減、人気自体も下がっている」「もっと野球ができる環境を整えるべき」 [冬月記者★]
- 【悲報】低収入男性の未婚率、低収入女性に比べて60パーセントも高いことが判明wwwww小野田紀美助けて! [856698234]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」★2 [931948549]
- JR東海「リニア工事で水が枯れるのは一瞬だし回復させる手立てないわこれ」 [744361492]
- 【正論】高市さん「『企業献金について与野党で協議する』という答弁は石破個人のものであり、もはや無効」特定野党を完全論破 [519511584]
- 【悲報】たけガイ、「中卒」という言葉を覚えてしまう🏡
- 自作pc時期が悪いおじさん、絶命 [329329848]
