アカウント名:
パスワード:
何がいいかでソースコードを語って欲しい。
# 昔、ボツの杜というのがあってな
じゃあ、最高なコード、サイコード・マニアを開催しようぜ。
まずは冪集合 powerset を求めるこの Haskell コード。初めて見たとき驚愕した。
powerset :: [a] -> [[a]]powerset xs = filterM (\x -> [True, False]) xs
( http://learnyouahaskell.com/for-a-few-monads-more#useful-monadic-functions [learnyouahaskell.com] )
これだけ。filterM は標準ライブラリ関数。使うとこうなる。
ghci> powerset [1,2,3][[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]
その例は強力なリストモナドをしょぼく使っているのでサイコーとは思わないfilterMの引数がconstじゃろ
じゃあちょっとリファクタリングして
powerset = filterM $ const [True, False]
でどうかな。
かっこいいリストモナドのサンプルも頼む。
ナイスなコードだとは思うんだけど、リストの要素の値を捨てていて勿体ないのでサイコーとは言えないかなと思った次第
以前どこかでリストモナドとcyclic programmingを組み合わせたコードを見たことはあるが、なんにせよ俺の手には余る
circular programmingの間違い
あと、どうも役目をいろいろ負わせすぎな気がしてHaskellのリストが好きになれんのだな俺は有限列と無限列と配列と集合は別々に考えたい
すみません、もう少しメジャーな言語でお願いします。
サイコなコードなら、日々の業務で存分に書いてますよ。
「Cryptic で短いコード読み解いた俺サイコー、えっキミには判らないの?」というウンコにわか Haskeller には辟易しています。
べつに Cryptic じゃないよ!たった 10 トークン程度の短いコード読みといても何の自慢にもならないよ!Haskell いじり始めてからもう 5 年くらいだし、にわかでもないよ!ひとつも的を射てないよ……。
しかも絶滅危惧種の Haskeller に辟易するくらいの数で囲まれる環境って羨ましい限りだよ!
いえいえAPLやJほどでは
とはいえ俺はcrypticなコードが書けてしまうのは言語の良くない特性だと思っているのだが、大半のHaskellerは同意してくれんだろうなマクロやメタプログラミングも嫌いだし、オブジェクト指向もモナドも遅延評価もユニフィケーションも、つまり制御を抽象化するものすべてが嫌いなので、世の中の人間のほとんどが敵か
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
何がだめかじゃなくて (スコア:0)
何がいいかでソースコードを語って欲しい。
# 昔、ボツの杜というのがあってな
サイコード・マニア (スコア:0)
じゃあ、最高なコード、サイコード・マニアを開催しようぜ。
まずは冪集合 powerset を求めるこの Haskell コード。初めて見たとき驚愕した。
powerset :: [a] -> [[a]]
powerset xs = filterM (\x -> [True, False]) xs
( http://learnyouahaskell.com/for-a-few-monads-more#useful-monadic-functions [learnyouahaskell.com] )
これだけ。filterM は標準ライブラリ関数。使うとこうなる。
ghci> powerset [1,2,3]
[[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]
Re: (スコア:0)
その例は強力なリストモナドをしょぼく使っているのでサイコーとは思わない
filterMの引数がconstじゃろ
Re: (スコア:0)
じゃあちょっとリファクタリングして
powerset = filterM $ const [True, False]
でどうかな。
かっこいいリストモナドのサンプルも頼む。
Re: (スコア:0)
ナイスなコードだとは思うんだけど、リストの要素の値を捨てていて勿体ないのでサイコーとは言えないかなと思った次第
以前どこかでリストモナドとcyclic programmingを組み合わせたコードを見たことはあるが、なんにせよ俺の手には余る
Re: (スコア:0)
circular programmingの間違い
あと、どうも役目をいろいろ負わせすぎな気がしてHaskellのリストが好きになれんのだな
俺は有限列と無限列と配列と集合は別々に考えたい
Re: (スコア:0)
すみません、もう少しメジャーな言語でお願いします。
Re: (スコア:0)
サイコなコードなら、日々の業務で存分に書いてますよ。
Re: (スコア:0)
「Cryptic で短いコード読み解いた俺サイコー、えっキミには判らないの?」というウンコにわか Haskeller には辟易しています。
Re: (スコア:0)
べつに Cryptic じゃないよ!
たった 10 トークン程度の短いコード読みといても何の自慢にもならないよ!
Haskell いじり始めてからもう 5 年くらいだし、にわかでもないよ!
ひとつも的を射てないよ……。
しかも絶滅危惧種の Haskeller に辟易するくらいの数で囲まれる環境って羨ましい限りだよ!
Re: (スコア:0)
いえいえAPLやJほどでは
とはいえ俺はcrypticなコードが書けてしまうのは言語の良くない特性だと思っているのだが、大半のHaskellerは同意してくれんだろうな
マクロやメタプログラミングも嫌いだし、オブジェクト指向もモナドも遅延評価もユニフィケーションも、つまり制御を抽象化するものすべてが嫌いなので、世の中の人間のほとんどが敵か