[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 05/20 11:23 / Filesize : 19 KB / Number-of Response : 60
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Perl,PHP】LLバトルロワイヤル21【Ruby,Python】



1 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 22:29:34.63 ]
最強のLL=軽量プログラム言語は、どれよ?

エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!

■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。

現在の水準では
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)

前スレ
【Perl,PHP】LLバトルロワイヤル20【Ruby,Python】
toro.2ch.net/test/read.cgi/tech/1326341657/

39 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 01:36:33.12 ]
->の右側に引数を書くのは何かの冗談なんだよね?
HaskellやMLと意味も無く違っててキモイ

40 名前:8 mailto:sage [2012/02/28(火) 16:01:08.16 ]
>>39
2点、反論する
まずHaskellやMLの中置演算子 -> は、型式の中だけで定義されている
つまり「値の式」と(「型の式」である)型式をごっちゃにした指摘 >>29 はトンチンカンと言える
実際、Standard MLの「値の式」では前置のラムダ構文 fn が使われるし、
Haskellにいたっては、¥記号(バックスラッシュ)というRubyと同様な記号が使われている
【Standard ML(SML/NJ)での実行例】
 - (fn x => x + 1) : int -> int;  (* コロンの左辺が「値の式」、右辺が型式 *)
 > val it = fn : int -> int

次に、すでに>>35で書いたけど、短縮記号の右矢印がキモイ(=不慣れなので読みづらい)のであれば、
Ruby 1.8 の(冗長だけど初心者には優しい)lambda記法を使う事もできる(要は、「慣れ」の問題)
 t = lambda { |f, x| f[f[x]] }.curry
 x = t[t][t][t][lambda { |x| x + 1 }][0]
結果としてRubyでは、>>8,23,35 そして上記コードという、
プログラマの慣れ/熟練度/用途等に応じた4通りの表現の使い分けが可能になる

41 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 17:43:41.36 ]
>>40
> まずHaskellやMLの中置演算子 -> は、型式の中だけで定義されている
> つまり「値の式」と(「型の式」である)型式をごっちゃにした指摘 >>29 はトンチンカンと言える

何言ってんだお前?アホなの?

Haskell のラムダ:   \x -> x
OCaml のラムダ:    fun x -> x

42 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 00:50:16.18 ]
【消しゴム】MONOを使ってみるスレ4【じゃない】
toro.2ch.net/test/read.cgi/tech/1329023778/

43 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 04:39:19.32 ]
おまえらruby信者とpython信者の争いは、10年も前にperlが踏襲した道だ

44 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 04:49:47.26 ]
こうした議論みてると演算子の優先順位とリテラルが
開発効率の邪魔をしているようにさえ思えてくるので、
さっさと人類は言語設計のほとぼりに冷めて、
schemeに統一されちまえとさえ思えてくる

てか、それ他の実装でも動くの?

45 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 08:01:27.20 ]
lambdaだ、Yコンビネータだいうヤツらをプロジェクトに
寄せ付けないためだけであっても、tclを利用する十分な理由になる

46 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 08:48:40.69 ]
Tcl8.5にあるapplyはlambdaみたいなもんだろ

47 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 17:53:55.18 ]
Shemeよくわからんけど
ネットで調べながら書いてみた

(define (t f) (lambda (x) (f (f x))))
(((((t t) t) t) (lambda (x) (+ x 1))) 0)




48 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 17:54:54.13 ]
Schemeのスペル間違えた


49 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 22:51:17.74 ]
2→4→16→次は何?
であの数になるってやつだな
この前それがどう展開されていくか考えてた

50 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 17:59:57.93 ]
Perl5ではこうだろうか?
$t = sub{my $f = shift; sub{my $x = shift; $f->($f->($x))}};
$t->($t)($t)($t)(sub{my $x = shift; $x + 1})(0);


51 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 00:41:55.32 ]
$$$$$$$$$$$$$$$$$$$$$$$

52 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 19:12:09.59 ]
例によってちょろっとネットでマニュアルとか調べただけで
Common Lisp版を書いてみた
あってるのだろうか?いちおう65536になるけど
なんかtが組み込みの真値らしいのでaで

(let ((a (lambda (f) (lambda (x) (funcall f (funcall f x))))))
(funcall (funcall (funcall (funcall (funcall a a) a) a) (lambda (x) (+ x 1))) 0))

対応括弧の表示をしてくれるエディタじゃないと大変なのが
よくわかった


53 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 21:24:26.60 ]
letの代わりにlabelsを使ってみたけれど、あまり変わらなかった。
(labels ((a (f)
         (lambda (x)
         (funcall f (funcall f x)))))
  (funcall (funcall (funcall (funcall (a #'a) #'a) #'a)
                    (lambda (x)
                      (+ x 1))) 0))

こういうときはSchemeとCommon Lispの関数・変数の名前空間の違いが強調されるなあ。

54 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 21:48:43.06 ]
糞スレ

55 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 00:02:10.33 ]
これで勝つる(´・ω・`)

PHP 5.4 がついにリリース ― Web を高速に!
japan.internet.com/webtech/20120302/2.html

56 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 01:38:26.90 ]
January 9, 2012: Extensibility support using Guile
www.gnu.org/software/gdb/

57 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 18:43:09.18 ]
Luaで書いてみた
t = function(f) return function(x) return f(f(x)) end end
t(t)(t)(t)(function(x) return x+1 end)(0)




58 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 22:37:00.46 ]
schemeが一番分かりやすい。rubyが一番糞。

59 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 08:09:59.27 ]
いまだにこんな>>28うんこパーサ使ってるRubyって...






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<19KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef