[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
142(1): 2011/10/15(土)12:35 AAS
正直F#がうらやましい
143: 2011/10/15(土)12:37 AAS
これは>>142がH#
144: 2011/10/15(土)13:07 AAS
GHCとMS製コンパイラで別々の言語拡張オプション指定するのやだ!
145(2): 2011/10/15(土)14:33 AAS
変数名スレで訊こうか迷いましたが、こちらで訊きます
リストのそれぞれ隣同士の2要素を使って新たな値のリストを作る関数
f :: (a -> a -> b) -> [a] -> [b]
f g (x1:x2:xs) = g x1 x2 : f g (x2 : xs)
f _ [_] = []
f _ [] = []
このような関数 f は、どのような名前が適当でしょうか
146(1): 2011/10/15(土)14:50 AAS
>>145
f k l = zipWith k l (tail l)
なので zipTailWith とでも名づけるかな
147: 2011/10/15(土)14:54 AAS
zipなんとかAdjacentなんとか
みたいなのを思いついたけどAdjacentっていう単語そのものが冗長だからうんk
148: 2011/10/15(土)16:04 AAS
zipNextTo でええやん
149: 2011/10/15(土)17:19 AAS
>>145
フィボナッチ数列と性質が似てるから、fibZipWithってのは?
150: 2011/10/15(土)18:00 AAS
ありがとうございます
みなさんの意見を参考に、mapA に決定しました (A = Adjacent)
151: 2011/10/15(土)18:01 AAS
まっぱ!
152(1): 2011/10/15(土)18:05 AAS
ところで、なんで皆さん、これに zip の単語を付けようとなさったのでしょう?
私は、[a] を [a] に変換するから map を名前に付けようと思いました
(当然、要素数は1つ減りますが)
153(1): 2011/10/15(土)18:06 AAS
>>152
あ、すいません
[a] を [b] に変換です
154: 2011/10/15(土)18:22 AAS
>>153
>>146に乗っかっただけ
155: 2011/10/15(土)18:27 AAS
セルが半シフトしたリニア・セルラー・オートマトンだよな。
156(1): 2011/10/15(土)18:33 AAS
mapだと単なる写像とか関手って意味しかなくて、そんなものは型みりゃ一目瞭然でそんなのを型と名前で二回も使ってると
頭痛が痛いみたいな違和感が出てきてちょっとDRY的によろしくない感じ
zipだともうちょっと意味が狭くなって [a] `f` [b] -> [a `f` b]的なリストとfの分配法則みたいな意味が出てくるけど
これも型みりゃだいたい入ってる、こちらは入れてもいい気もするけど
だから隣り合ったを示す言葉とか二つ目を一個ずらすみたいな命名ができると余すところ無く名前と型両方に無駄なく意味をこめることができていいかなぁ
とか思った
157(1): 2011/10/15(土)19:01 AAS
Aは haskellerならappricativeを想像するんじゃないかな。
158: 2011/10/15(土)19:04 AAS
perlninja2
メンバ
登録日: 2011-09-30
投稿: 10
E-mail
いまCD-R 700MBとガリガリ君ソーダ味かってきました
Ubuntu入れなおしたほうが早いと思いました
回答ありがとうございました
159: 2011/10/15(土)19:05 AAS
perlninja2
メンバ
登録日: 2011-09-30
投稿: 10
E-mail
Ubuntuを起動するとフリーズしていまいます
ターミナルの画面が真っ白で、ちょっと動かすと元の色にもどります
そしてウインドウを動かしたり ターミナルにコマンド打ち込んだり フォルダ開いたりしようとすると反応がありません
上のメニューバーの再起動とかログアウトはボタン選べるんですが まったく応答がありません
いろいろデスクトップのフォルダを開こうとしても開けないです
どうすればいいんですか?教えてください
直しかた教えてください
昨日まで普通に使えてたのに突然使えなくなりました
再起動したりなんかいも起動しなおしても同じ現象です
160: 2011/10/15(土)19:14 AAS
Perl忍者はHaskellができません。
ですが、ここのスレに来てはいけないというルールはありません。
161: 2011/10/15(土)19:17 AAS
>>157
では、mapAdj や mapN (N = Neighborhood) で
>>156
「名前と型両方に無駄なく意味をこめる」
なるほど、そういう考え方もあるのですね
わたしは、改めてこの関数を使うプログラマの立場に立って考えてみると、
型シグネチャはライブラリ ドキュメントを見ることでしか確認はせず、
普段ソース中でこの関数を使っている時は関数名しか見ないと思いました
そして、ライブラリ ドキュメントはソースに比べてそう頻繁に見るものではない
(自分がそうなので)
だからソースを眺めた時、この関数を使っているところで、
「何がどのような結果になるのか」という情報が仕舞われた頭の抽斗が開けやすくなる、
抽斗の場所がぱっと思い浮かぶようなキーワードがいいなと
ポイントフリーで使っていると余計にそう感じます
というわけで、私はむしろ型シグネチャで分かる意味・ニュアンスも、
積極的に関数名に入れていこうと、皆さんの意見を聞いて思いました
162: 2011/10/15(土)19:18 AAS
掟
163: 2011/10/15(土)20:12 AAS
セルラーオートマトンの文脈では、fがevolverでgがtransducer
164(1): 2011/10/15(土)21:42 AAS
変換って、いろいろな言葉があるよね。
translator
tramsformer
transducer
厳密な使い分けはあるのだろうか?
165: 2011/10/15(土)22:11 AAS
>>164
converter、diverter などもありますね
166(1): 2011/10/15(土)23:12 AAS
内部で非ボックス化タプルを使ってる hs ファイルは
ghci ではロードできないのでしょうか
ghc コマンドでは普通にコンパイルできたのですが、
ghci の :l でロードしようとすると、次のようにメッセージが出ます
Error: bytecode compiler can't handle unboxed tuples.
Possibly due to foreign import/export decls in source.
Workaround: use -fobject-code, or compile this module to .o separately.
これは、ghci でロードしたかったら、hs ファイルではなく
オブジェクト ファイルにコンパイルしとけ、という意味でしょうか
ghci でロードできないのでしたら、一つのソースコードで、
ghc でのコンパイルの場合は非ボックス化タプルを使って、
ghci でロードする場合は普通のタプルに自動的に切り替える
というようなことはできないでしょうか
167(1): 2011/10/16(日)10:45 AAS
>>125
ハスケルたんは悪くない(キリッ
勉強不足の初心者が悪い!
ですか?
168(1): 2011/10/16(日)11:56 AAS
>>166
そういうこと。あるいはghciに-fobject-codeを渡すのでもいい
>というようなことはできないでしょうか
少なくとも今はできない
169: 2011/10/16(日)12:07 AAS
>>167
丁寧に答えてくれた人に 何しょうもない事言ってんねん。どっかいけ
答えてもらって助かったからそれでええんじゃ。
170: 2011/10/16(日)12:20 AAS
初心者はハスケルたんを汚す悪いやつ!
171(2): 2011/10/16(日)12:26 AAS
敷居が高いおかげでドカタが流入してこないから
Haskell界は住みやすくpurityが保たれている
ありがとう>125
上下前次1-新書関写板覧索設栞歴
あと 807 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.014s