[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 06/18 14:14 / Filesize : 205 KB / Number-of Response : 798
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

関数型プログラミング言語Haskell Part18



1 名前:デフォルトの名無しさん [2012/03/16(金) 21:54:23.92 ]
haskell.org
ttp://www.haskell.org/

日本語サイト
ttp://www.sampou.org/cgi-bin/haskell.cgi
ttp://www.shido.info/hs/

過去ログ
関数型プログラミング言語Haskell
Part1 ttp://pc.2ch.net/tech/kako/996/996131288.html
Part2 ttp://pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 ttp://pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 ttp://pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 ttp://pc8.2ch.net/test/read.cgi/tech/1149263630/
Part6 ttp://pc11.2ch.net/test/read.cgi/tech/1162902266/
Part7 ttp://pc11.2ch.net/test/read.cgi/tech/1174211797/
Part8 ttp://pc11.2ch.net/test/read.cgi/tech/1193743693/
Part9 ttp://pc11.2ch.net/test/read.cgi/tech/1211010089/
Part10 ttp://pc12.2ch.net/test/read.cgi/tech/1231861873/
Part11 ttp://pc12.2ch.net/test/read.cgi/tech/1252382593/
Part12 ttp://hibari.2ch.net/test/read.cgi/tech/1272536128/
Part13 ttp://hibari.2ch.net/test/read.cgi/tech/1286706874/
Part14 ttp://hibari.2ch.net/test/read.cgi/tech/1299385928/
Part15 ttp://hibari.2ch.net/test/read.cgi/tech/1310199414/
Part16 ttp://toro.2ch.net/test/read.cgi/tech/1317958045/
Part17 ttp://toro.2ch.net/test/read.cgi/tech/1325510368/

41 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 14:56:30.41 ]
Haskell -> C のトランスレータってないですかね?

42 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 14:59:57.29 ]
>>41
GCC がそれをやってくれる

43 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 15:09:00.10 ]
>>41
ghcのコンパイラオプションでCのコード吐けるけど?


44 名前:42 mailto:sage [2012/03/20(火) 15:15:36.89 ]
すまんこ

GCC じゃなくて ghc だ

45 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 16:21:13.11 ]
Perlで書いたコードは二度と見たくない

Haskellでコンパクトに書けたコードはまた見てみたくなる

Haskellは書くときにうんざりする

多言語は書いた後で絶望する

46 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 23:58:58.60 ]
要素数 n のリストが一つ与えられた時、
要素番号の重複を認めない m (0 <= m <= n) 個の要素からなる組み合わせを
全て集めたリストを作るのって、効率よくエレガントにやろうとすると意外に難しいな

とくにエレガントさって、自分でなかなか納得いくものができんよね

comb :: Int -> [a] -> [[a]]

comb 3 [1,2,3,4]
==> [[1, 2, 3], [1, 2, 4], [1, 3, 4], [2,3,4]]

47 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 00:22:47.67 ]
SICPで見たような気がするけど気のせいか

48 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 01:26:20.30 ]
ベタに実装したbinary counting以上簡単にはならないと思う

49 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 01:32:45.19 ]
リストで縛るとどうあがいても遅そうだな。
要素リストは配列にぶち込んどいて、
インデックスの組み合わせ生成して列挙すんのがベターかね。



50 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 02:20:06.92 ]
let comb n xs = if length xs == n then [xs] else concatMap (\i -> comb n $ delete i xs) xs
こういう感じ?

51 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 03:13:40.85 ]
重複を含む配列からの組合せは?

ABBCDDDEFFGGGG
から5個選ぶ時の組合せを全て列挙せよ

みたいな

重複を許したものを吐き出してフィルターかけるのはもちろん駄目

重複が無い配列の時の組合せを応用してできるの?

52 名前:46 mailto:sage [2012/03/21(水) 07:31:22.42 ]
>>51
俺が取り組んだのは、元のリストは要素の対して重複を許し、
そこから選ぶ要素番号に対しては重複を認めないタイプの問題だった

たとえば、元のリスト xs から 3 つ選ぶ場合、
[xs !! 0, xs !! 3, xs !! 8] は許されるけど、
[xs !! 0, xs !! 3, xs !! 3] は認めない

まだ取り組んではいないけど、重複を許した方が多少記述が減るんじゃないかな

53 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 09:34:51.31 ]
AAAAAAAAAAAAAAAAA `comb` 3
だと酷いことになる

重複するリストから組合せ取り出す局面がどれほどあるか判らないけど

54 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 15:31:44.99 ]
アナグラム作成装置として使えそうだね。


55 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 16:36:15.52 ]
let mapcon f xs = concatMap (\i -> f $ drop i xs) [0..length xs -1]
let comb n xs ys | length ys == n = [ys] | xs == [] = [] | True = mapcon (\(z:zs) -> comb n zs $ z:ys) xs
もうあんまりエレガントとも思えないけど

56 名前:46 mailto:sage [2012/03/21(水) 23:06:26.29 ]
自分で作ったのは、こんな感じ

tails' :: [a] -> [[a]]
tails' [] = []
tails' [x] = [[x]]
tails' xs = xs : tails' (tail xs)

comb1 :: [a] -> [[a]]
comb1 xs = map (:[]) xs

combN', combN :: ([a] -> [[a]]) -> [a] -> [[a]]
combN' f (x:xs) = map (x:) (f xs)
combN f xs = concatMap (combN' f) (tails' xs)

comb :: [a] -> Int -> [[a]]
comb xs n = (iterate combN comb1 !! (n-1)) xs

使用例
comb [1,2,3,4,5] 3
==>
[ [1,2,3], [1,2,4], [1,2,5], [1,3,4], [1,3,5]
, [1,4,5], [2,3,4], [2,3,5], [2,4,5], [3,4,5] ]

n重ループを分解した感じ
自分で書いたコードだが、なんか自分でムカツク

57 名前:46 mailto:sage [2012/03/21(水) 23:34:59.74 ]
>>56
あれ、一つ前のバージョンをコピペってしまった
tails' は init . tails で、定義しないで直に使ってます

結局こんな感じ

comb1 xs = map (:[]) xs
combN' f (x:xs) = map (x:) (f xs)
combN f xs = concatMap (combN' f) (init $ tails xs)

comb xs n = (iterate combN comb1 !! (n-1)) xs

58 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 01:58:12.62 ]
combination だけはポインタある方が楽だわ


59 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 08:19:30.23 ]
comb 0 _ = [[]]
comb _ [] = []
comb n (x:xs) = map (x :) (comb (n-1) xs) ++ comb n xs
どうしてもってんならlength xsを最初に数えて持ち回せ。



60 名前:46 mailto:sage [2012/03/22(木) 12:40:04.54 ]
>>59
美しいですね

こういうセンスあるコードがスラスラと書けるようになりたい

61 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:49:41.00 ]
(x :)
ストライクウィッチーズのあの人に見えた

62 名前:デフォルトの名無しさん [2012/03/25(日) 04:51:06.13 ]
(;x;)

63 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 09:08:01.99 ]
(:[]) ← 口を開けた顔; データを1つ食べて内容物のリストを返す


64 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:18:09.21 ]
書籍「関数型プログラミングの楽しみ」の練習問題 3.1 を考えてみました

これが非正格関数 h に対しては成り立たないのは、
h が実際にどのような関数なのか定義が分からないことには変換が進まないからでしょうか

例えば xs = Nil とした場合でも、

(h . foldL f e) xs
--> h (foldL f e xs)
--> ・・・ h を何に変換すれば良いのか不明 ・・・

もし h が正格関数なら、ここで

--> h (foldL f e xs)
--> h (let g zs = case zs of Nil -> e; Cons y ys -> f y (g ys) in g xs)
--> h (let g zs = case zs of Nil -> e; Cons y ys -> f y (g ys) in g Nil)
--> h e
--> e'

と変換が進む
もちろんこの場合は foldL f' e' からの逆方向の変換もできて等号が成り立ち、
また xs = Cons y ys の場合も構造的帰納法で等号が成り立つことが証明できる

非正格関数 h に対しては、h から先に評価しなければならず、
例えば極端な話 h = h では一向に簡約が進まなくなるから成り立たない場合もある

という理解で良いでしょうか

65 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 23:14:33.16 ]
hの正格性が必要なのは以下の等式が必要だからでしょう

q (case e of { p1 -> e1; ... pn -> en }) = case e of { p1 -> q e1; ... pn -> q en }


66 名前:64 mailto:sage [2012/03/25(日) 23:21:45.04 ]
すいません、けっこう混乱しています

それは、単に問題文を言い換えただけではないのですか?
結局 >>65 の場合も「なぜ q が非正格関数だとその等式が成り立たないのか」
を説明しないと練習問題 3.1 を説明したことにはならないような気がするのですが

67 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 08:28:16.54 ]
xs := ⊥
で両辺計算してみな

68 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 22:04:32.42 ]
64じゃないけど、

foldL f' e' ⊥ = ⊥
foldLは第三引数について正格な性質を持ってる。
ところが、例えばh = const xで非正格な関数とすると
(h . foldL f e) ⊥ = x
だから、h . foldL f e = foldL f' e'の融合則が成り立つには
hは正格関数でないといけない、ってことかな?

69 名前:デフォルトの名無しさん [2012/03/27(火) 03:34:38.13 ]
Haskellを新しく勉強しようと、
まず日本語マニュアルhrefのインストールを下のサイトを参考に
「Haskellのリファレンスマニュアルを検索するツール href」
d.hatena.ne.jp/pcmaster/20090215/p2

$ make
$ mkdir -p /usr/local/share/href
$ export HREF_DATADIR=/usr/local/share/href
$ make bindir=/usr/local/bin install
$ sudo mkhref ref/*
mkhref: HREF_DATADIR: getEnv: does not exist (no environment variable)
このエラーが出て、ここから先に進めません。
こちらの環境はubuntuでghc7.0.3、libghc-network-devのパッケージがインストール済みです。
getEnv関数が手持ちのパッケージでは用意されていないのでしょうか、環境変数の与え方は大丈夫でしょうか
どなたかインストールできない原因分かりましたら教えていただけるとありがたいです



70 名前:デフォルトの名無しさん [2012/03/27(火) 19:41:43.97 ]
漏れもハスケるためにう分津にGHCとか入れて準備万端だぜ


71 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 21:53:06.47 ]
>>69
sudoでmkhref ref/*したときに、
export HREF_DATADIR=/usr/local/share/hrefが効いてないと思う。
それと、ubuntuって/usr/local/share/href が一般ユーザで作れるのかね?
make instalもスーパユーザでやる必要があると思う。

適当にやるならこんな感じか。
$ make
$ sudo bash
# mkdir -p /usr/local/share/href
# export HREF_DATADIR=/usr/local/share/href
# make bindir=/usr/local/bin install
# mkhref ref/*
おわったらスーパユーザを抜けること

使うときもexport HREF_DATADIR=/usr/local/share/hrefが有効になるよう、
~/.profileかどっかに書いておく。

72 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 22:40:37.45 ]
>>71
Haskell とは何の関係もないが、

$ sudo bash
これやるくらいなら
$ su -
でいいと思うんだが


73 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 23:34:13.91 ]
>>72
su - だと、cdしなおさないといけないじゃん。
まあ、suだけにすればいいかもだが、rootのパスワードはなるべく入力したくないな。

74 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 02:38:54.37 ]
sudo -s はどう?

75 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 03:12:56.50 ]
スーパユーザになれれば何でもいいだろw
>>69は良く分かってないみたいだから、suでrootのパスワード入力させとくのが確実
sudoは設定ちゃんとしてないとうまく動いてくれないかもしれない

まあ、でも、sudo mkhref ref/* が一応実行されてるみたいだから、たぶんsudo -sでもsudo bashでもいいかな

76 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 08:12:21.70 ]
sudo -E でしょ

77 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:03:43.68 ]
Control.Exception に bracket 関数があるけど、
これって第1引数のアクション(イニシャライザ)で例外が発生しても、
第2引数のアクション(ファイナライザ)は実行さないよね

bracket 関数と同じ形で、
イニシャライザで例外が発生してもファイナライザが実行される関数は
標準ライブラリで用意されてるの?

それとも自作する必要がある?

同じ形というのは、イニシャライザの戻り値が
ファイナライザやコンピュテーションの引数として利用できるという意味

78 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 08:51:07.11 ]
初期化が終わってないのにファイナライズとな…?

79 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 12:38:05.02 ]
>>78
あぁそうか
言われてみれば設計がおかしいな・・・

見直してみるよ
ありがと



80 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 18:39:21.66 ]
yesodの中の人がcabalの代わりのcabalaって記事出してたけど、
あれエープリルフールなんか?

81 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 18:52:29.02 ]
cabal は実際に改善点が少なくないわけで、
エープリルフールならもっと分かりやすいネタにして欲しいもんだ

82 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 19:15:16.28 ]
yesodくらいは、もうはじめからHaskellプラットフォームに入れておいてほしい

83 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 20:55:29.57 ]
>>82
なんで?

84 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 21:07:15.70 ]
>>83
スタンドアロン環境で使いたいから

85 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 21:11:00.55 ]
yesodにcabalaでゆだやんってよく分かるんだけど、宗教色が強いのは
ちょと苦手かも。CLISPも同じなんだがな。

86 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 21:30:33.12 ]
>>84
なんだよ、それなら Haskell Platform に hmatrix 入れろよとか、
yamapa 入れろよとか、wx や gtk2hs 入れろよとか、iteratee 入れろよとか

そういう単なる「〜だったらいいなぁ」というチラ裏と変わらんじゃん

いや、べつにそういうのがダメとは言わないけど、
もう少し Haskell 全体を考えたり、
もう少し本質的なことから論理的に導き出した要望かと思って期待してた

87 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 21:32:41.92 ]
そう言えば、久々に yampa がバージョンアップしたな

88 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 05:31:58.67 ]
>>87
ホントだ。
でもAnimasの改良取り入れただけかな?
コメントは書いてんのに、ドキュメントのスカスカっぷりは相変わらずゆがみねぇな…。

89 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 12:45:15.77 ]
>>86
「Haskell 全体を考えたいなぁ」もチラ裏と変わらない



90 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/02(月) 18:36:33.86 ]
プログラミングHaskell とかゆー本買って来たぜ
今夜から枕の下に敷いて勉強する
これで漏れも立派なハスケラーだ

91 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 01:13:37.94 ]
「プログラミングHaskell」って教科書としては優れてるとおもうけれど、
自習書としてはどうなんだろう。
新しい構文とかがけっこう説明なしにでてくるよね。
まあ文法は別の本で見ればいいのか。

あと8章が……



92 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 06:28:43.11 ]
>>91
パーサーは難しいけど、モナドと同じで動かしてみないと、どういう働きか実感できない所があるな
ふつケルでも結局Wiki作る時に書かされるから、この本だけの特別ではない
(初心者置いてきぼりにしないように頑張ってる分だけプログラミングHaskellの方が親切ではある)


93 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 18:52:31.15 ]
HaskellWikiを流し読みしてると色々面白そうなプロジェクトを見つけるのだけれど、
ほとんど開発が止まっているように見えるのは何故だろう

94 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 18:58:32.29 ]
他の言語と違って研究の類いも含まれてるからね。
大学の研究ならほとんどが死んでいるプロジェクトで当然。
卒業したら放置なものが多いから。
これには悪い面もあるが、常に新しい風が吹き込む理由にもなってる。
そういうことも理解して使いこなしたほうがよい。
HaskellWikiも単なる道具に過ぎないのだから。


95 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 08:26:36.31 ]
そのまま枯れたものとして扱っていいものもあると思うよ。
常に更新されている方がいいとも限らないのでね。
依存関係でおかしくなってるものを放置されてると困るけどね。

96 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/05(木) 22:47:55.68 ]
みんなHaskellに飽きたんだよ

97 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 23:06:06.65 ]
ghc7.2から[リスト内包表記]をモナドにも使えるようになったんだね
有用な使い道を教えてくれ

98 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 07:53:10.20 ]
対角版リストモナドなんかも内包表記で書ける、とか

99 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 08:50:43.42 ]
論理プログラミングDSLを自作モナドで簡単にかくためのもの



100 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 15:11:00.50 ]
cabal の executable-profiling オプションって何に使うの?

101 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 15:50:48.11 ]
cabal で何かパッケージをインストールすると gcc.exe が起動するけど、
インストール処理が終わった後も gcc.exe のプロセスが消えない

これって、正常じゃないよね

102 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 16:32:35.76 ]
>>101
どうも、インストール処理の途中で強制終了させた場合に、
ghc.exe のプロセスは消えるけど gcc.exe のプロセスが残るみたいだ

理由はよく分かんないけど、まぁいいや
スレ汚してすまん、気にしないことにして自己解決した

103 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 22:45:37.91 ]
gtk パッケージにある Graphics.UI.Gtk.Abstract.Widget.onExpose とかの関数って、
Deprecated のカテゴリに分類されてるんだけど、これって非推奨なんだよね

再描画要求のイベントが来た時に反応したいんだけど、
本当は何使えば良いの?

それとも非推奨じゃなくて、近い将来消える予定だけど、
とりあえず今のところはこれ使っとけって意味?

104 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 13:50:38.88 ]
普通のhaskellにあるdata型フィールドの更新

data Anchor = A{aUrl,aLabel ::String}

href :: Anchor
href = A "hoge.com/" "hoge page"

main = do
print href
print (href {aLabel = "that"})

このコードだけだとAnchor型がprintの引数になるShowクラスのインスタンスではないから、
表示されないのはいいとして、
再代入(実際は再定義)「href{ aLabel = "that"}」
この上のコードでhrefのaLabelフィールドが"that"に変わって、aUrlはそのままになるらしいんだけど
普通にコンパイルエラー、これは可能なの?


105 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 14:22:21.53 ]
href { aLabel = "that" }の型はAnchorだ
aLabelを更新してaLabelの値が返ってくるわけじゃない
Cの構造体とかはこうだけど

レコード更新構文は、既存の値から一部を変更しただけの新しい値を作りたいとき、
A { aUrl = aUrl href, aLabel = "that" }
と書かなきゃいけないところを
更新する必要のあるフィールドだけ書けばいいだけにする、というただの構文糖衣。

106 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 14:44:21.12 ]
>>105
printが可能かではありません、誤解を招いてすいません(原文のままコードを記述したため)

href { aLabel = "that"}は実質、A { aUrl = aUrl href, aLabel = "that" }で
これはhrefを再定義する構文ではなくて、hrefとは別のAnchor型で,hrefのaLabelフィールドだけ変えた値を作っているということですね
hrefの再定義だと思っていたので、
href {aLabel = "that"}を単文でdoの中に入れたときにエラーでん?と思ったのですが納得しました

107 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:13:46.76 ]
なんかコメントあしばらく出てないけど、haskellの皆さんどうしたの?

108 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 21:31:53.54 ]
Windows7 で ghc や ghci を起動させようとすると、
初めの1回だけ、よく 0xc0000142 のエラーが出るよね

あれ何なの?

どちらももう一回トライすれば普通に起動するから、
そのまま使い続けてるけど、なんかマズイかな

109 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 23:26:35.58 ]
wx パッケージが 0.90 にバージョンアップして、
とうとう wxWidgets 2.9 only になった




110 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:01:19.30 ]
>>107
特に質問することが無いんだもん・・・
初心者でも簡単に書けるようになるのは良いけど、スレが盛り上がらないのも確かだな・・・


111 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:10:39.33 ]
>>108
出たこと無い・・・32ビットの頃では何も問題なかったし、今の64ビットでもghci上で(横に)長めの入力すると挙動が怪しくなるくらいかな
それでもrubyのirbよりは安定してるが・・・(すぐ激重になって使い物にならん)


112 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 17:12:23.96 ]
wx が ghc 7.4.1 環境にまともにインストールできるようなったのは喜ばしいし、
styledTextCtrl などのコントロールもちゃんと使えるようになったのはいいんだが、
ghc のリンク処理と、出力された実行ファイルの起動に時間がかかるようになった

特にリンクは時間かかりすぎ
コンパイル自体は普通に速いのに、リンクでフリーズしたかと思った
これは、wxWighets の方のビルド設定で改善できるんだろうか

あと、相変わらず ghci 上では実行できない

まぁ些細な問題だ
あとは wxPack が 2.9 にバージョンアップすれば初心者にも勧められる

113 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:40:32.24 ]
>>112
今 GLCanvas の対応とかどうなってるのか色々試してるけど、
前言撤回、些細な問題ではなかった

このリンクの遅さは異常だ、イライラする

メインウィンドウをひとつ表示するだけのプログラムでも、
オプション無しで ghc を実行して exe ファイルへのリンクするのに 50 秒以上、
その exe ファイルを実行してからウィンドウが表示されるまで 5 秒以上かかる

wxWidgets のビルドオプションをモノリシックと非モノリシックで両方試したけど、
どちらもリンクや起動の時間に対して目に見える影響はなかった

これ、俺だけ?
なにか改善する方法は無いんだろうか

とくに無ければ、少なくともバージョンアップするまでは gtk2hs を使うしかないな

[環境]
Windows7
ghc 7.4.1
wx-0.90

114 名前:デフォルトの名無しさん [2012/04/15(日) 08:47:17.26 ]
副作用論争は、読んでいて面白かったが。今論争はないのか?。

不毛かもしれない宗教論争とはいえ、純粋志向のハスケラをおちょくっているのを見るのは楽しい。

この論争はハスケルには処理系を含めてあらゆるレベルで副作用がない、
という無理な主張から始まったと思う。

言語自体には副作用がない、でも、処理系には副作用があるようにみえる。
でも、それは勘違いだ。ハスケル処理系にもまったく副作用がないのだ。
副作用が発生しているのはハスケル処理系でなく、ハスケル処理系が
生成したDanoMoi処理系だ。

という主張がありましたね。

115 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 09:33:43.50 ]
釣れますか?

116 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 09:34:37.44 ]
頭悪そうw

117 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 10:14:32.40 ]
ごめんなさい

隔離スレ  toro.2ch.net/test/read.cgi/tech/1333801607/
で暴れてた馬鹿がこっちに逃げて来たみたいです
FizzBuzzすら書けない口だけ野郎なんで無視してもらって結構です

118 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 11:13:37.90 ]
>>114
www.kmonos.net/wlog/65.html
> 15:49 06/09/08 DanoMoi と Haskell
>決して「実際にそういう実装/理論になっている」という話ではなく、
>「こういう風に考えとけばわかる気がする」みたいな話なのでよろしくお願いします。
> ・Haskell プログラムには、一切いかなる意味でも副作用は存在しない
> ・Haskell プログラムは、"DanoMoi" というプログラミング言語のプログラムを生成する。
>"DanoMoi" という名前および概念は今私が勝手に考えたので適当ですよ。

プログラムと処理系は同じ意味だと思っているのですか?

119 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 13:41:43.29 ]
スパコンの世界じゃ、OSとハードウェアは同じ意味だしな…



120 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 13:43:34.33 ]
>スパコンの世界じゃ、OSとハードウェアは同じ意味だしな…
ないない。

121 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:04:53.77 ]
>>120
新しく世界一のスパコンを作った = ハードウェアとそれ専用のOSを作った(むしろハードウェアはそのままでOSだけを改良した)

122 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:15:40.44 ]
SISCマシンの設計図はハードウェアの設計図だろうか? ソフトウェアの設計図だろうか?

123 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 15:59:38.46 ]
>>119
アホ丸出しで恥ずかしくないの?

124 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 16:04:00.61 ]
>>123
大学でスパコンの講義受けるとOSとハードは同じだと教わるよ

125 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 16:13:02.27 ]
システムソフトウェアとハードウェアを一緒に開発しているだけの話で「同じ」ではない。

126 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 16:24:20.62 ]
>>125
スパコンは、ファイル管理システムとハードウェアとは不可分
逆に言うと、OSだけを取り出せと言われたら、LSIをペンチでいくつか取り出すことになる

DOS/V機やUNIXを使っていると分かりずらいが、UNIXで言うと、常駐ソフトとカーネルの一部がハードウェアそのものになってる

127 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 17:03:17.98 ]
何というデマ…

128 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 17:08:26.97 ]
通常ならOSで実現されている機能の一部がハードウェア上で実装されているとしても、
それを「OSとハードウェアは同じ意味」とか言っちゃうのは痛い。
さらにスパコンと呼ばれるものがすべからくそういう構成をとってると思い込んでるのも痛い。

129 名前: ◆0uxK91AxII mailto:sage [2012/04/15(日) 18:19:56.27 ]
>>126
誰が教えたの?



130 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:33:14.08 ]
> UNIXで言うと、常駐ソフト

デーモンという言葉すら知らない幼稚園児レベルのド素人は、まずは幼稚園に行けば?

131 名前:デフォルトの名無しさん [2012/04/15(日) 18:36:50.24 ]
だえもんさんなめてんの?

132 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:38:20.84 ]
>>126
ノードやバスのファームウェアも含めてアップデートするんで、ソフトウェアだけで配布されてますが?
使ったことないんじゃないの?

133 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:43:44.98 ]
スレチなやつは全員立ち去れ

134 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 19:25:43.97 ]
>>126, >>128
内容云々より、分かりずらいだのすべからくだの
日本語が気になってしょうがない

135 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:38:41.03 ]
ああ、日曜日だ・・・

136 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 07:13:57.36 ]
月曜日です。
関数型言語使いには無職が多いと聞きます。
皆が働いている時間に勉強や議論ができます。良かったですね!
今日も有意義に過ごしましょう!

137 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 07:23:29.97 ]
働いてるから、という不勉強の言い訳は、頭のおかしい企業以外では通らないよw

138 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 07:23:33.83 ]
みんな賢いからyoung retireして、余生を関数型言語のプログラミングで楽しんでるんだよ。知らなかった?

139 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 07:53:15.45 ]
>>136
今日も一日ドカタ仕事頑張ってね!



140 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 07:54:30.89 ]
匿名掲示板で職業なんてどうでもいいので少しはHaskellの話でもしませんか

141 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 09:22:55.36 ]
Haskellの話なんざHaskell Cafeだの#Haskell等で好きなだけしてろ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef