[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
関数型プログラミング言語Haskell Part16 http://echo.5ch.net/test/read.cgi/tech/1317958045/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
362: デフォルトの名無しさん [sage] 2011/11/04(金) 13:33:58.20 'アスクル http://echo.5ch.net/test/read.cgi/tech/1317958045/362
363: デフォルトの名無しさん [sage] 2011/11/04(金) 17:15:28.22 あなたは運についてしってますか???」 http://echo.5ch.net/test/read.cgi/tech/1317958045/363
364: デフォルトの名無しさん [sage] 2011/11/04(金) 17:15:46.20 来未の運理論でぐぐってね ひゅひゅ http://echo.5ch.net/test/read.cgi/tech/1317958045/364
365: デフォルトの名無しさん [sage] 2011/11/04(金) 23:08:47.74 値を部分的に更新しながら使い回す場合、 必ずミュータブルな操作を持つデータ型を使わないといけないのか、 それともIOモナドやSTモナドの中に入れてしまうだけでいいのでしょうか。 例えば配列でMArrayを使わずに、 IORef (Array Int Int)みたいなデータ型を用意して、 IOモナドの中でmodifyIORef x (// y)としても、配列を新しく作り直さずにxを更新できたことにはなるんでしょうか? http://echo.5ch.net/test/read.cgi/tech/1317958045/365
366: デフォルトの名無しさん [sage] 2011/11/05(土) 10:51:35.93 >>365 IORefはポインタ writeIORefで破壊的に更新できるのはポインタ部分だけで、 中身を破壊できる訳ではない modifyIORef x (//y)とすると、新しい配列(を作るサンク)が作られた上で、 xがそれを指すように更新される http://echo.5ch.net/test/read.cgi/tech/1317958045/366
367: デフォルトの名無しさん [sage] 2011/11/05(土) 16:31:37.95 ありがとうございます。 やっぱり駄目かー。 http://echo.5ch.net/test/read.cgi/tech/1317958045/367
368: デフォルトの名無しさん [sage] 2011/11/05(土) 18:33:22.15 http://blog.higher-order.net/2009/09/08/understanding-clojures-persistenthashmap-deftwice/ 新しい実体といっても、後ろに追加する以外でも、メモリ上で共有される実装であれば、 参照は遅いけど、更新が軽いという場合があるよ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/368
369: デフォルトの名無しさん [sage] 2011/11/05(土) 19:05:50.19 http://itpro.nikkeibp.co.jp/article/COLUMN/20100406/346695/?P=5 >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 http://echo.5ch.net/test/read.cgi/tech/1317958045/369
370: [―{}@{}@{}-] デフォルトの名無しさん [sage] 2011/11/05(土) 20:02:11.39 >>368 HaskellのArrayはpersistentじゃない http://echo.5ch.net/test/read.cgi/tech/1317958045/370
371: デフォルトの名無しさん [] 2011/11/05(土) 20:17:35.88 要は素直にmutableなコンテナ使っておけばいいんだろ? http://echo.5ch.net/test/read.cgi/tech/1317958045/371
372: デフォルトの名無しさん [sage] 2011/11/05(土) 20:57:00.85 画像ファイルを読み込んで、いくつかフィルタを施して、結果を保存する場合、 フィルタリングするイメージデータを格納するコンテナには何が適切なの? http://echo.5ch.net/test/read.cgi/tech/1317958045/372
373: デフォルトの名無しさん [sage] 2011/11/05(土) 21:03:14.21 CArray http://echo.5ch.net/test/read.cgi/tech/1317958045/373
374: デフォルトの名無しさん [sage] 2011/11/05(土) 21:11:15.45 >>373 ありがと、調べてみる http://echo.5ch.net/test/read.cgi/tech/1317958045/374
375: デフォルトの名無しさん [sage] 2011/11/05(土) 21:24:41.49 [Word8] http://echo.5ch.net/test/read.cgi/tech/1317958045/375
376: デフォルトの名無しさん [sage] 2011/11/06(日) 01:25:51.61 http://repa.ouroborus.net/ これも使えそうと思ってブックマークしてる。 http://echo.5ch.net/test/read.cgi/tech/1317958045/376
377: デフォルトの名無しさん [sage] 2011/11/06(日) 02:49:06.58 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 http://echo.5ch.net/test/read.cgi/tech/1317958045/377
378: デフォルトの名無しさん [sage] 2011/11/06(日) 05:53:55.40 >>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 はかっこがあるため含まれない。 http://echo.5ch.net/test/read.cgi/tech/1317958045/378
379: デフォルトの名無しさん [sage] 2011/11/06(日) 13:47:42.37 >>378 ありがとう。 メタルールか。なんとなく理解した。 http://echo.5ch.net/test/read.cgi/tech/1317958045/379
380: デフォルトの名無しさん [sage] 2011/11/06(日) 16:49:56.15 スコープが見て分かるように()つけまくってるとlisp化してしまうという罠 http://echo.5ch.net/test/read.cgi/tech/1317958045/380
381: デフォルトの名無しさん [sage] 2011/11/06(日) 18:32:21.28 >>380 そのための$です 意外とLisp化食い止められてない気がするけど… http://echo.5ch.net/test/read.cgi/tech/1317958045/381
382: デフォルトの名無しさん [sage] 2011/11/06(日) 18:33:01.25 そう? 少なくとも )))) はだいぶ消えると思うけど。 http://echo.5ch.net/test/read.cgi/tech/1317958045/382
383: デフォルトの名無しさん [sage] 2011/11/06(日) 19:07:40.41 最近は()が多少増えても別にいいかなと思うようになってきた。 http://echo.5ch.net/test/read.cgi/tech/1317958045/383
384: デフォルトの名無しさん [sage] 2011/11/06(日) 20:02:50.82 >>382 逆に言えば、そこにしか効果ないんよ http://echo.5ch.net/test/read.cgi/tech/1317958045/384
385: デフォルトの名無しさん [sage] 2011/11/06(日) 20:50:27.44 いいじゃん HaskellはLispの飼い猫なんだし http://echo.5ch.net/test/read.cgi/tech/1317958045/385
386: デフォルトの名無しさん [sage] 2011/11/06(日) 20:56:34.75 昔、BASICしか知らないガキだったころ、Lispのコードを見てびびったのって )))) って何これ、ってことだったので、それが緩和されるというのは俺にとっては 大きいw http://echo.5ch.net/test/read.cgi/tech/1317958045/386
387: デフォルトの名無しさん [sage] 2011/11/06(日) 22:02:11.57 >>385 飼い猫ちゃう Haskellは汎用関数型決戦兵器や Lispは・・・深海型やな http://echo.5ch.net/test/read.cgi/tech/1317958045/387
388: デフォルトの名無しさん [sage] 2011/11/06(日) 22:02:17.97 確かにBASICerにとって$は友達だもんな http://echo.5ch.net/test/read.cgi/tech/1317958045/388
389: デフォルトの名無しさん [sage] 2011/11/07(月) 00:04:02.33 っつーかお前らよく結合順序とか読みきれるな 俺どんな言語で書いても表見ないと安心できない そのうち面倒くさくなってきてlisp化しちゃう http://echo.5ch.net/test/read.cgi/tech/1317958045/389
390: デフォルトの名無しさん [sage] 2011/11/07(月) 00:16:22.77 >>389 算数・数学の結合順序とほとんど同じだろ? 覚えるって程のことかいな。 微妙に分からんところは()で明示すればいいし。 http://echo.5ch.net/test/read.cgi/tech/1317958045/390
391: デフォルトの名無しさん [sage] 2011/11/07(月) 00:29:24.10 >>389 最初はそんなんだったけど慣れた。 でもちょっと不安な所は、()だらけ。 http://echo.5ch.net/test/read.cgi/tech/1317958045/391
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 587 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s