[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
254
(2): デフォルトの名無しさん [sage] 2011/10/23(日) 07:27:28.91 AAS
>>251
251(1): デフォルトの名無しさん [sage] 2011/10/23(日) 01:42:08.77 AAS
こんなの関数的な要素は全く無いだろ
mainの最後を[2..100]と変えたらおかしくなることからして関数的でないことが分かる

それに関数的かどうかとは別に、プログラムとしても洗練されてない
fizzとbuzzの空文字列や関数fに数値を渡す設計はどうにかならなかったのかと思うし
fの中で文字列の比較をしてるのも酷い

Bird先生?難しい本を薦める前に添削してやれよと…
洗練されたコード早く
255: デフォルトの名無しさん [sage] 2011/10/23(日) 07:46:21.09 AAS
>>254
>>252
252(3): デフォルトの名無しさん [sage] 2011/10/23(日) 04:25:14.59 AAS
BackusのFPはポイントフリースタイルのイメージだね。

Bird先生は別に要素レベルの演算までリストでやれと言ってるわけではないと思う。

lift n = (n,"")
fizz (n,s) = (n,s ++ if n `mod` 3 == 0 then "fizz" else "")
buzz (n,s) = (n,s ++ if n `mod` 5 == 0 then "buzz" else "")

fizzbuzz xs = map (buzz . fizz . lift) xs

くらいでも関数的と言っていいんじゃないか。

256: デフォルトの名無しさん [sage] 2011/10/23(日) 08:15:42.99 AAS
>>254
それはBird先生の本を薦めていた人たちに言ってくれよ
俺は剰余を使ったつまらないのしか書けないから

しかし>>252も何がしたいのかよく分からないなw
257: デフォルトの名無しさん [sage] 2011/10/23(日) 08:32:01.87 AAS
えー、>>252はないわ
258
(1): デフォルトの名無しさん [sage] 2011/10/23(日) 08:49:31.00 AAS
>>220
220(1): デフォルトの名無しさん [sage] 2011/10/22(土) 17:20:56.32 AAS
filter 関数とか、いいかげん型クラスの関数にして、
ライブラリの構造を整理してほしいな
つListLike
259: デフォルトの名無しさん [sage] 2011/10/23(日) 11:08:00.97 AAS
>>258
うん
そういうのを使って「標準ライブラリ」を大掃除して整理してほしいんだよ
そうすれば、外部ライブラリもそれに倣う
260: デフォルトの名無しさん [sage] 2011/10/23(日) 11:19:24.02 AAS
それは結構前から言われてるけどいまだに実現して無いよな(例 外部リンク:blog.ezyang.com
そんだけ肥大化して硬直化してるんだろうな
少なくともfold/buid書き換えがstream fusion(笑)に変わるよか後で
Cabalのdependency hellが解決されるのと同じくらい(見込みが無い)ように思える
261
(1): デフォルトの名無しさん [sage] 2011/10/23(日) 11:37:11.82 AAS
標準Cライブラリですら比較的に一貫しててすっきりしてるのに

今ある標準ライブラリはもう手を付けず deprecated にして、
真標準ライブラリを新たに作ればいいのにな

それか、標準ライブラリにバージョンを付けるとか
262: デフォルトの名無しさん [sage] 2011/10/23(日) 11:40:25.87 AAS
普通のライブラリは(いちおう)バージョンで管理できていて、インターフェースとかバリバリ変わっても(いちおう)整合性が保てているのに、
Preludeはそういう鈍重な憂き目にあうのは、つまり、Prelude自動読み込みというアイデアがアウトだったのでは
263: デフォルトの名無しさん [sage] 2011/10/23(日) 11:47:36.18 AAS
なるほど、Monad の return に勝るとも劣らない汚点に思えてきた

仕様が 2010 に変わる時にいっしょに整理しておくべきだったよな
264: デフォルトの名無しさん [sage] 2011/10/23(日) 11:51:42.42 AAS
ラノベ読んでたら、よくわかる現代魔法でHaskellのコード出てきた
265: デフォルトの名無しさん [sage] 2011/10/23(日) 12:12:23.80 AAS
2巻以降には出てこないけどなw
266: デフォルトの名無しさん [sage] 2011/10/23(日) 18:53:15.42 AAS
実際使うだけの場合、名前の由来がわかりづらいとは思うが、
returnは別に汚点じゃない。
267: デフォルトの名無しさん [sage] 2011/10/23(日) 20:06:09.98 AAS
failさん・・
268
(1): デフォルトの名無しさん [sage] 2011/10/23(日) 23:05:12.84 AAS
>>261
Haskell版Boostをご所望か?
269
(1): デフォルトの名無しさん [sage] 2011/10/23(日) 23:26:21.32 AAS
>>268
ごめん、Boost とどう繋がるのか全く分からん
270
(1): デフォルトの名無しさん [sage] 2011/10/24(月) 00:21:47.40 AAS
>>269
うん。酔っぱらってた。
271: デフォルトの名無しさん [sage] 2011/10/24(月) 00:47:01.62 AAS
>>270がかわいい
272
(1): デフォルトの名無しさん [sage] 2011/10/25(火) 00:39:21.95 AAS
GHCi, version 7.0.3 で
Prelude> let a = reverse
で、:t a と :t reverse が互いに同様なのに、
Prelude> import List
Prelude List> let b = group
で、:t b と :t group が互いに違うのは何でだろ?
エロイ人教えて。
273: デフォルトの名無しさん [sage] 2011/10/25(火) 03:15:22.56 AAS
>>272
たぶん、単相性制限とGHCiにおける型のデフォルト化の拡張の結果。

単相性制限
外部リンク[html]:www.sampou.org

GHCiにおける型のデフォルト化の拡張
外部リンク[html]:www.kotha.net
274: デフォルトの名無しさん [sage] 2011/10/25(火) 11:19:01.55 AAS
関数型言語の原点「=ったら=なの!」からどんどん外れて
言語仕様が焼け太りしてきたな♪
275: デフォルトの名無しさん [sage] 2011/10/25(火) 11:25:06.28 AAS
heterogeneous equalityが原点とな?
276
(1): デフォルトの名無しさん [sage] 2011/10/25(火) 22:45:52.30 AAS
もう忍者はいないよ
死んだ
277: デフォルトの名無しさん [sage] 2011/10/25(火) 22:47:07.73 AAS
死んだ
一つの生命が途絶えた
Perl忍者

Perl忍者の意志を継ぐものが現れるよ
新生
そう感じる
278: デフォルトの名無しさん [sage] 2011/10/25(火) 23:04:45.72 AAS
>>276
ファンだったのに、、、
1-
あと 700 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s