[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
357: [age] 2011/11/04(金)10:35 AAS
>>354
schwa音だから、母音はどうでもいい。
358: 2011/11/04(金)12:32 AAS
>>356
もっと Haskell の何かを表した、言い得てみょんな当て字があるといいんだけどなぁ
bookkeeping -> 簿記
function -> 函数
みたいに
359: 2011/11/04(金)12:50 AAS
そういうのはたまたま運のいい語でないとむりぽ
治具とjigとか
360: 2011/11/04(金)13:01 AAS
削切 はつきる
361: 2011/11/04(金)13:01 AAS
荒井熊
362: 2011/11/04(金)13:33 AAS
'アスクル
363: 2011/11/04(金)17:15 AAS
あなたは運についてしってますか???」
364: 2011/11/04(金)17:15 AAS
来未の運理論でぐぐってね ひゅひゅ
365(1): 2011/11/04(金)23:08 AAS
値を部分的に更新しながら使い回す場合、
必ずミュータブルな操作を持つデータ型を使わないといけないのか、
それともIOモナドやSTモナドの中に入れてしまうだけでいいのでしょうか。
例えば配列でMArrayを使わずに、
IORef (Array Int Int)みたいなデータ型を用意して、
IOモナドの中でmodifyIORef x (// y)としても、配列を新しく作り直さずにxを更新できたことにはなるんでしょうか?
366: 2011/11/05(土)10:51 AAS
>>365
IORefはポインタ
writeIORefで破壊的に更新できるのはポインタ部分だけで、
中身を破壊できる訳ではない
modifyIORef x (//y)とすると、新しい配列(を作るサンク)が作られた上で、
xがそれを指すように更新される
367: 2011/11/05(土)16:31 AAS
ありがとうございます。
やっぱり駄目かー。
368(1): 2011/11/05(土)18:33 AAS
外部リンク:blog.higher-order.net
新しい実体といっても、後ろに追加する以外でも、メモリ上で共有される実装であれば、
参照は遅いけど、更新が軽いという場合があるよ。
369: 2011/11/05(土)19:05 AAS
外部リンク:itpro.nikkeibp.co.jp
>LinuxやMac OS XなどのUnix環境では,ロケール(locale)の設定を見て自動的に適切な文字コードに変換してくれます。ロケールは,言語や時刻など,使用しているOSのローカルな設定を決めるためのものです。
>Prelude System.IO> putStrLn "テスト"
>テスト
>一方,Windowsでは,UTF(UCS Transformation Format)とHaskellプログラム内部の文字コードとの間で変換を行うことはできますが,技術的な問題からShift_JIS(Microsoftコード・ページ932)のような2バイト文字ではまだ文字コードの変換ができません
LinuxやMacはiconvとか無しでも日本語扱えるようになったのに、Windowsだけなんて・・・orz
370: [―{}@{}@{}-] 2011/11/05(土)20:02 AAS
>>368
HaskellのArrayはpersistentじゃない
371: 2011/11/05(土)20:17 AAS
要は素直にmutableなコンテナ使っておけばいいんだろ?
372: 2011/11/05(土)20:57 AAS
画像ファイルを読み込んで、いくつかフィルタを施して、結果を保存する場合、
フィルタリングするイメージデータを格納するコンテナには何が適切なの?
373(1): 2011/11/05(土)21:03 AAS
CArray
374: 2011/11/05(土)21:11 AAS
>>373
ありがと、調べてみる
375: 2011/11/05(土)21:24 AAS
[Word8]
376: 2011/11/06(日)01:25 AAS
外部リンク:repa.ouroborus.net これも使えそうと思ってブックマークしてる。
377(1): 2011/11/06(日)02:49 AAS
Haskellの変数の有効範囲って何か具体的に決まっているのかな?
Haskel Reportを読んでもはっきりと書かれていないような。
以下のように関数(>>?)を定義してvalue1, value2を求めると
value1は普通に求められるが、value2は\s -> s + aのところで
aが未定義ですとか言われる。
括弧があると変数の有効範囲が変わるのかな?
(>>?) :: a -> (a -> b) -> b
v >>? f = f v
value1 = (1, 2) >>? \(a, b) -> b >>? \s -> s + a
value2 = (1, 2) >>? (\(a, b) -> b) >>? \s -> s + a
378(1): 2011/11/06(日)05:53 AAS
>>377
関数の仮引数の有効範囲はその関数本体というのが基本原則。
> value1 = (1, 2) >>? \(a, b) -> b >>? \s -> s + a
は
value1 = (1, 2) >>? (\(a, b) -> b >>? \s -> s + a)
と解釈されるのでs + aは\(a,b) -> ...の関数本体内に含まれるが
> value2 = (1, 2) >>? (\(a, b) -> b) >>? \s -> s + a
はかっこがあるため含まれない。
379: 2011/11/06(日)13:47 AAS
>>378 ありがとう。
メタルールか。なんとなく理解した。
380(1): 2011/11/06(日)16:49 AAS
スコープが見て分かるように()つけまくってるとlisp化してしまうという罠
381: 2011/11/06(日)18:32 AAS
>>380
そのための$です
意外とLisp化食い止められてない気がするけど…
382(1): 2011/11/06(日)18:33 AAS
そう?
少なくとも )))) はだいぶ消えると思うけど。
383: 2011/11/06(日)19:07 AAS
最近は()が多少増えても別にいいかなと思うようになってきた。
384: 2011/11/06(日)20:02 AAS
>>382
逆に言えば、そこにしか効果ないんよ
385(1): 2011/11/06(日)20:50 AAS
いいじゃん
HaskellはLispの飼い猫なんだし
386: 2011/11/06(日)20:56 AAS
昔、BASICしか知らないガキだったころ、Lispのコードを見てびびったのって
)))) って何これ、ってことだったので、それが緩和されるというのは俺にとっては
大きいw
上下前次1-新書関写板覧索設栞歴
あと 592 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.030s