[表示 : 全て 最新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/

266 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 17:20:16.04 ]
モナドリストって何?
[a] ?
Monad m => m [a] ?
Monad m => [m a] ?

基本はData.List.find (:: (a -> Bool) -> [a] -> Maybe a)と同じで、型に合わせてliftMしたりすればいいと思うよ。
ただ無限リストなので、条件を満たす要素がなかったら計算が終わらない。
これはしょうがない。

267 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 21:56:17.29 ]
>>266
後者です

findでやってみようと思ったんですが
術語が Int -> IO Bool なんです

filterM みたいに findM があればいいと思いますが

filterMしてheadって不格好です
きっとスマートな解決法がある筈です

268 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:03:05.12 ]
ああそれからモナドの性質上
無限のモナドのリストを渡すとフリーズしますよね

最初、遅延評価なのになんで正格評価みたいになってんだと首を傾げたのですが
考えてもみれば、順序を保証するんだからfilterMに無限のモナドのリストを渡すと
そのリストの最後の評価が済むまで次の行けないですよね
困りました

269 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:20:28.35 ]
>=> 地味に便利ワロタ

270 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:54:51.28 ]
[IO a] じゃなくて IO [a] で [a] が無限リストなら
どうもならん、諦めろ

271 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 23:45:26.55 ]
[IO a]で無限です

272 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 00:06:04.51 ]
Data.Listでの実装は
find p = listToMaybe . filter p
だぞ。別に filterM して head も似たようなもんじゃないか?

[IO a]でもIO [a]でも無限リストで要素が無ければ止まらないのは
一緒だと思う。

273 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 00:27:44.81 ]
>>272
はい(´・ω・`)

274 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 00:29:59.11 ]
filterM して head ってのはこれ?
これは要素があっても[IO a]が無限リストなら停止しないよ

findM' :: Monad m => (c -> m Bool) -> [m c] -> m c
findM' f = head <=< filterM (join . liftM f)


一方、こっちは要素があれば止まる(無ければ止まらない)

findM :: Monad m => (a -> m Bool) -> [m a] -> m (Maybe a)
findM f [] = return Nothing
findM f (x:xs) = do
  v <- x
  t <- f v
  if t then return $ Just v else findM f xs


テストしてみれば分かる

ms :: [IO Int]
ms = map return [1..]

main = do
  --print =<< findM' (return . (> 10)) ms
  print =<< findM (return . (> 10)) ms



275 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 05:20:09.91 ]
ほんとですね
無限リストでfilterMは危険なのか。

276 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 06:33:35.38 ]
>>274
ありがとうございました

filterMに倣って
findM :: Monad m => (a -> m Bool) -> [a] -> m (Maybe a)
版を作って使ってみましたが、何だかソースが汚れた気がします

Maybeを取扱う為に一々letやcaseを挿入しないとならなくなったせいでしょうね

しょうがないでしょうが

ところで何故標準ライブラリに採択されてないのでしょうか

277 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 06:38:59.61 ]
>>276
無限リストに使うなら、停止するとき返り値は
必ずJust xなんだからfromJustで取り出せば?

278 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 06:46:35.74 ]
join . liftM :: (r -> r) -> r -> r

これ何の使い道あるんですか?

279 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 06:57:09.58 ]
>>277
そうでした。。。

コードが汚くなったのは別の改変のせいでした
勘違いして findM 導入のせいにしてました

280 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 07:10:28.79 ]
>>278
なんの意味もない
liftM使って……て書き込み見たんでliftMから書き始めたからそうなった
今は反省している

281 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 07:26:28.96 ]
Oh...

282 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 10:41:16.52 ]
join . liftM p は p :: a -> m Bool を m a -> m b にするのに必要だけど、(>>= p) でも同じ。

283 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 11:17:28.41 ]
せっかくの話の流れをぶった切って申し訳ないですが、質問します。

正格性フラグの付いたデータ型のことですが、

data X = X !Int
・・・
let x = X a

この場合、x の値が実際に必要になるかどうかに関わらず、
X a の a が評価されるという意味でしょうか。

もうひとつ、

data F = F !(Int -> Int)
・・・
let f = F g

この場合、g が評価されたというのは、どういう状態を指すのでしょうか。
と言うのも、関数ではない値なら弱頭部正規形になるまで評価され、
それがどういった形なのか頭の中にイメージ出来るのですが、
関数の評価という意味がいまひとつイメージ出来ません。

もしかして、g w = if v then 関数1 else 関数2 などと場合分けされていた場合に、
f = F g の時点でこの v まで評価されて関数1か関数2かが決定されるということであり、
単に g w = 2+w などという関数であれば正格性フラグを付ける意味はない、
ということでしょうか。

284 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:11:25.25 ]
>>283
どちらの質問もその考え方であってる。


ただ、わかってるかもしれないけど、

>単に g w = 2+w などという関数であれば正格性フラグを付ける意味はない

束縛された値が正規形なのかとか、リテラルかどうかとか判断する術は一般にないから、
それらを基に正格性フラグ付けることに、意味がある、ないを判断することはできないし、意味もないよ。

重要なのは、値なりデータ構造なりがどこで構築されて、どこで正規化された値が必要になるのか?




285 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:24:42.23 ]
Haskellの道は長く険しい

286 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 05:16:54.30 ]
なら、やめれば?
言語は道具なんだから、習得に時間や労力が必要なら
その言語は道具として劣っているんだよ。

287 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 05:52:35.82 ]
つまり習得に時間がかかる日本語や英語は猿のうなり声より劣っていると

288 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 06:47:05.76 ]
>>283
> この場合、x の値が実際に必要になるかどうかに関わらず、
> X a の a が評価されるという意味でしょうか。
いや、xの値が必要になるまでは評価されない。

> もしかして、g w = if v then 関数1 else 関数2 などと場合分けされていた場合に、
> f = F g の時点でこの v まで評価されて関数1か関数2かが決定されるということであり、
同上。

> 単に g w = 2+w などという関数であれば正格性フラグを付ける意味はない、
> ということでしょうか。
これはそのとおり。

289 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 03:45:27.77 ]
forM [1..9] print
1
2
:
9
[(),(),(),(),(),(),(),(),()]

この最後のゴミを排除するには
>> return ()
をバインドするのが正統ですか?

290 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 03:47:18.16 ]
forM_

291 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 07:28:01.11 ]
あざっす^^

292 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 13:36:55.17 ]
>>286
C++を窓から放り投げるスレじゃないから

293 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 22:21:06.18 ]
もしかして、main の中で一行でも IO がつくコードを書いたら、それ以降は絶対に IO は取れないのでしょうか?

294 名前:283 mailto:sage [2012/05/05(土) 23:04:46.88 ]
お二人とも、ありがとうございます。

・・・結局、data X = X !Int の正規化フラグを付けるのと付けないのとで、
何が変わるのでしょうか?

data X = X !Int
・・・
let x = X a

>>284
> どちらの質問もその考え方であってる。

>>288
> いや、xの値が必要になるまでは評価されない。

どちらが正解なんですか。
それとも、お二方も同じ事を言っているのでしょうか。

a の評価のタイミングはいつなんでしょう?


>>284
> 束縛された値が正規形なのかとか、リテラルかどうかとか判断する術は一般にないから、
> それらを基に正格性フラグ付けることに、意味がある、ないを判断することはできないし、意味もないよ。

たしかに。
いや、ライブラリのソースを読んでいて、正規化フラグ付きの関数を持ったデータ型があって、
どういう意図・狙いでフラグを付けたのかなと思いました。



295 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 02:26:01.72 ]
>>293
main に限らず何かの関数の中で IO を使う関数を利用すれば、その関数の型の出力の部分には絶対に IO が付くという意味なら、 IO は取れない
例外は Debug

もしかして、なにか方法あるのかな?


296 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 06:18:40.65 ]
>>294
trace付けて確認すればいいやん。

import Debug.Trace

data X = X !Int
data Y = Y Int

main = do
 let x = X (trace "X" 1)
 let y = Y (trace "Y" 2)
 print 3
 print $ seq x 4
 print $ seq y 5

297 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 11:10:33.37 ]
UnicodeSyntax きもいわー
Scala でもこういうの流行ってるようだし

298 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 11:19:04.33 ]
さぁその気持ちでAgdaのコードを読もうか

299 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 12:16:00.88 ]
新人が全角スペースを埋め込んでも怒られない時代

300 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 12:17:22.58 ]
>>295
一応、標準ライブラリ内に System.IO.Unsafe.unsafePerformIO :: IO a -> a 関数がある

が、これは Simon Marlow と Simon Peyton-Jones の2人以外使ってはいけない

301 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 15:11:42.01 ]
unsafePerformIO ……それは禁断の果実

302 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:24:51.66 ]
尼のレビュー見てる限りだと、日本語で出てる入門書では
Graham Hutton著・山本和彦訳の「プログラミングHaskell」がいいっぽいけど、実際どうなの?

303 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:27:58.33 ]
実際そう
対抗馬になりそうなのが今月出る「すごいHaskellたのしく学ぼう」

304 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:32:20.78 ]
ゆっくり勉強する時間があるなら、いきなりRWHでいいと思う



305 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 00:22:24.17 ]
プログラミングHaskellは8章以降が魔窟

306 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 00:38:56.55 ]
魔窟ってほどではないけどあそこから難易度がすこーんと上がるのは確か
ゾウさん本にはその辺期待してる

307 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 00:52:04.11 ]
じっくりやるならAlgebra of ProgrammingとかPurely Functional Data Structureみたいな応用の効く(範囲が広すぎて実はあまり役に立たない)内容をですね

308 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 01:06:20.12 ]
ゾウ本だとHadoopと紛らわしいから愛称が欲しいな
寿司本?


309 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 01:12:32.86 ]
スゴイ級

310 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 01:19:18.62 ]
スシボンって書くとセシボンみたいで原題と繋がっていい感じだな
いやなんとなく

311 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 01:22:38.35 ]
難しいことを簡単に書くのは無理。

312 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 03:25:04.44 ]
すごハスは11章からが面白い

313 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 07:14:00.90 ]
すごハスって、基本的にネットで無料で読める原著と内容はほぼ同じ?
それとも、大幅に加筆されてる?

314 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 08:22:56.77 ]
Real World Haskell P.209に、

fnmatch :: (RegexLike Regex source1) => String -> source1 -> Bool

というのがあります。

ここの(RegexLike Regex source1)というクラス制約にある、A B a という形は
どのようなクラス宣言をすれば、このような形になるのでしょうか?



315 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 11:56:14.66 ]
ソース読んでみそ。
ttp://hackage.haskell.org/packages/archive/regex-base/latest/doc/html/src/Text-Regex-Base-RegexLike.html

多変数型クラスを宣言するにはMultiParamTypeClassesというLANGUAGEプラグマが必要。
ttp://www.kotha.net/ghcguide_ja/latest/type-class-extensions.html#idp24691328
また、多変数型クラスを含む型推論のために、多くの場合、関数従属または関連型が使われる。
ttp://www.kotha.net/ghcguide_ja/latest/type-class-extensions.html#functional-dependencies
ttp://www.kotha.net/ghcguide_ja/latest/type-families.html#assoc-decl

316 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 11:57:01.10 ]
ソース読んでみそ。
ttp://hackage.haskell.org/packages/archive/regex-base/latest/doc/html/src/Text-Regex-Base-RegexLike.html

多変数型クラスを宣言するにはMultiParamTypeClassesというLANGUAGEプラグマが必要。
ttp://www.kotha.net/ghcguide_ja/latest/type-class-extensions.html#idp24691328
また、多変数型クラスを含む型推論のために、多くの場合、関数従属または関連型が使われる。
ttp://www.kotha.net/ghcguide_ja/latest/type-class-extensions.html#functional-dependencies
ttp://www.kotha.net/ghcguide_ja/latest/type-families.html#assoc-decl

317 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 11:59:11.96 ]
しまった。ダブりすまん。
ついでに訂正しておくと、多変数型クラスより多引数型クラスのほうが訳語として一般的みたいだ。

318 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 12:45:02.58 ]
>>315
d

何故か、hackage.haskell.orgにつながらなくてソースは見られないのですが、
MultiParamTypeClassesというLANGUAGEプラグマをつければ、class宣言に複数の変数を
取ることができるんですね。

319 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 09:10:35.85 ]
fact 0 = 1
fact n = n * fact (n - 1)
ふと思ったのですが、もし(階乗を知らない人が)負数を突っ込んだら死にますよね。
階乗は例えがアレですけどこういうケースのように、パターンマッチで任意の条件分岐(n < 0とか)できますか?

320 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 09:16:44.54 ]
直接パターンマッチではできない
if-then-else式を使って、やりたいことはできる、と思う

321 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 09:17:54.53 ]
あーあと、正しくない結果の時のエラーはundefinedという関数を呼ぶと、
エラーが起きる値が返るから、それを使えばいい

322 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 09:36:25.12 ]
if-then-elseよかguardの方がよく見る

323 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 09:41:06.61 ]
ありがとうございます。ガードの方が意味的に良さそうですね。

fact :: Int -> Int
fact (n)
  | (n < 0)  = undefined
  | (n == 0) = 1
  | (n >= 1) = n * fact (n - 1)

324 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 10:17:08.88 ]
見やすさではそんな感じかな。こだわる人だとこう書くかも
fact n =
 case n `compare` 0 of
  LT -> undefined
  EQ -> 1
  GT -> n * fact (n - 1)



325 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 10:46:13.79 ]
なるほどcaseならパターンの網羅性もチェックできる訳ですね。

326 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 10:51:34.61 ]
自分の好みではこう。パターンマッチの上から順に、特殊ケース→一般とする。
fact n | n<0 = undefined
fact 0 = 1
fact n = n * fact (n-1)

327 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 10:51:35.52 ]
ドメインを広げ過ぎると、また停止性が保証できない問題は出てくるだろうけども。

328 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 11:11:11.43 ]
tp://www.amazon.co.jp/gp/product/images/4274068854/ref=dp_image_z_0?ie=UTF8&n=465392&s=books

どうしてこうなった…w

329 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 11:53:25.13 ]
マイナスかどうかのチェックは最初だけでいい、とか言い出すとどうかな

330 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 15:47:59.33 ]
factSafe = check (>= 0) fact

check p f n = if p n then f n else undefined

fact 0 = 1
fact n = n * fact (n-1)


331 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 16:13:00.23 ]
わざわざドメイン定義するならMaybeで返そう

332 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 16:36:37.12 ]
check p f n = if p n then return (f n) else Nothing

ドメインて何?

333 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 16:57:47.03 ]
factSafe = 1 : zipWith (*) [1..] factSafe
fact n = factSafe !! n

334 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 17:33:59.09 ]
>>332
定義域
例えば浮動小数点や有理数を渡した時に、
コンパイルエラーも含めて健全な定義になっているかということを言っていると思う。



335 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 17:39:05.80 ]
fact = (map snd (iterate (succ . fst &&& uncurry (*)) (1, 1)) !!)


336 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 17:59:32.33 ]
>>333>>335
初心者の私に解説してplz

337 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 20:24:45.91 ]
>>334
それscanlでできるよ!
fact = (!! n) $ scanl (*) 1 [1..]

あと(!!)使ったらSafeじゃないだろ…

338 名前:337 mailto:sage [2012/05/11(金) 20:25:54.90 ]
すまん
>>333 宛だった。

339 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 20:42:03.98 ]
負数入れたらエラーになるけど停止はするな

340 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 21:31:34.77 ]
意味論の上ではどちらも⊥という扱い

341 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 22:47:56.84 ]
それにしても335は酷いポイントフリー症候群だな…。

342 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 22:59:19.96 ]
ポイントフリーは酷くないが(1,1)がマジックナンバーになってるのが気になる

343 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 23:45:33.49 ]
初心者レベルの質問かもしれませんが、
Haskellの組み込み関数と同等の機能を
練習のために実装してみると、組み込み
のものより桁違いに遅い事があります。
組み込みの方の実装を見るためには
どうしたらいいでしょうか?

344 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 01:17:34.23 ]
hsファイルをそのままインタプリタで実行して遅いなら、hiファイルにした後で実行してみてはどうか




345 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 01:47:10.63 ]
>>343
Hackageのリファレンスからソース落とせる。

baseパッケージなら↓の一番下
hackage.haskell.org/package/base-4.5.0.0

大抵は各関数の横にsourceってリンクが付いててHTML化されたソースを見ることができる。(全てのコードが辿れるとは限らないけど)

ただまぁ、融合変換とか正格性評価とかアンボックス型とか、かなり上級な内容もてんこ盛り。
他の言語でもそうだけど、基本ライブラリほど難しいっていう…。

346 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 03:31:29.92 ]
>>345
有難うございます!
hackage.haskell.org/packages/archive/pkg-list.html
パッケーリスト(↑)には何に使うのか想像もつかないもの(Conduitとか)が
沢山有りますね。
取り敢えず、ヤル気が持続しそうなもの(Animationなど)を見てみます。

347 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 13:41:30.61 ]
だれか顔文字だけで動くソースを書いてくれ。

348 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 13:47:08.27 ]
brainf*ck、Lazy-K亜種にしかならない

349 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 19:38:57.18 ]
みんな >=> は使ってるかい?

350 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 19:40:08.85 ]
くコ:彡

351 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 22:43:14.15 ]
haskell入れようとしたが、重すぎて繋がらない…
ttp://www.haskell.org/


352 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:31:44.86 ]
>>351
今は全く問題なく開くが・・・

まぁ、HaskellPlatform-2011.4.0.0-setup.exe のダウンロードは
確かに遅いと思うけど、繋がらないことはないだろ

haskell.org はたまにクソ重いときあるから、
時間をおいて何度か試してみなよ

353 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:40:54.91 ]
遅ければtorrent使えばいい

354 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:50:09.29 ]
exeファイルを落とせない場合は、セキュリティソフトがexeファイルのダウンロードを邪魔してる可能性あり




355 名前:351 mailto:sage [2012/05/13(日) 01:03:27.63 ]
アドバイスありがとう
ダウンロードどうこうというか、サイトに全く繋がらない状態が続いてる
サイトが落ちてるわけじゃないようなので、時間をおいて再試行してみる

356 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 01:22:13.54 ]
今現在、遅くもなんともありません。

357 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 01:29:11.16 ]
>>355
たしかに繋がらない
www.haskell.org/
↑を開くと、↓になる

Temporary Redirect
The document has moved here.
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch Server at www.haskell.org Port 80

で、hereをクリックすると↓に飛ぶ
こっちはちゃんと見れる
www.haskell.org/haskellwiki/Haskell

ブラウザのセキュリティでリダイレクトを許可するか、haskellwiki を直接開けばいいと思う


358 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 11:58:28.57 ]
hackage.haskell.org/platform/
ここに移動したんじゃねぇの?

359 名前:351 mailto:sage [2012/05/13(日) 20:13:03.61 ]
解決した。ありがとう
しばらくこれで遊ぶわ

360 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 04:49:47.87 ]
>>328
ec2.images-amazon.com/images/I/513ipzNg22L._SS500_.jpg
スシやらタワーについて許可は取ったのだろうか

361 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 07:56:41.29 ]
どう許可が必要なんだ?

362 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 13:27:18.60 ]
オスケル 酢に溶かしたハスケル


363 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 13:34:52.41 ]
あンた、背中がHaskeてllぜ

364 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 14:42:34.01 ]
>>360
原作者にはウケてたらしいぞ



365 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 19:04:09.46 ]
>>364
ほんと?そういう話でもないかと思ってぐぐったんだけど見つからなくて
原書と日本語版のタイトルについての話なら見つかった
groups.google.com/group/haskell-cafe/browse_thread/thread/29274a7b6a4fddd4/45fbde1d2d1d0322

366 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 19:06:45.10 ]
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