[過去ログ] 関数型プログラミング言語Haskell Part7 (1001レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(5): 2007/03/18(日)18:56 AAS
haskell.org
外部リンク:www.haskell.org

日本語サイト
外部リンク[cgi]:www.sampou.org
外部リンク:www.shido.info

過去ログ
関数型プログラミング言語Haskell
Part1 2chスレ:tech
Part2 2chスレ:tech
Part3 2chスレ:tech
省5
51
(9): 2007/04/01(日)05:40 AAS
【注意と警告】

関数型言語コミュニティの一員として、大切なお知らせがあります。
>>46-47 は、現実世界で多数のトラブルを巻き起こしている人物(東京在住44歳)
ですので、きっぱりとスルーするのがよろしいでしょう。

公衆の場でいきなり赤の他人相手に、第三者の失敗例を持ち出して
ベラベラと中傷しだす人物の人間性などというものは、容易に想像がつく事ですし、
また万が一そのような人物と関わったら、多大なトラブルと時間的消耗を蒙る
事は、火を見るより明らかです。

実際これまで現実のビジネスで、多くの人々が彼の言動に迷惑してきました。
その中には、彼と一緒に仕事をしていた一流大学出身の経営者や、エンジニア、
省9
55
(9): 2007/04/01(日)06:34 AAS
HaskellでRSSを引っ張って最新の数件表示するだけのサンプルに挑戦してるけど
かれこれ1ヶ月以上掛かってる。w

XML操作 → HXTでArrowの基礎から挑戦
日付のパース → MissingHを利用
表示 → 今はCGIライブラリで妥協してるけど本当はHAppS使いたい

難しすぎるわ。('A`)
95
(3): 2007/04/01(日)16:33 AAS
>>92
あんたみたいな厨が、言語の価値を殺す。 Lispの轍を踏ませたいの?
103
(4): 46=65 2007/04/01(日)18:11 AAS
>>67
実用性を気にして勝手な拡張をしからLispが廃れたというのは違うと思います。
今Lisp上で研究を進めたいなら、不可欠でない複雑さを切り捨てた
Schemeをテストヘッドにすれば良いはずです。

関数型言語研究の進展に伴いLispが研究の出発点としてふさわしくなくなったから
そこまでの研究成果を取り入れたHaskellが作られたと理解しています。
Haskellが実用言語になろうとなるまいと、その後の新しい研究成果を取り入れて
さらに新しい純関数型言語の標準を決める事はいずれまた必要になると考えます。

実用化に興味がない人がいてもいいとは思いますが、
良い言語であれば実用化を目指す人が現われるのもまた当然の事です。
省4
183
(3): 55 2007/04/02(月)12:48 AAS
AA省
287
(3): 2007/05/02(水)06:39 AAS
>>282は確かに冗長な文章だが、
「長すぎて読む気しない」と書き込んでその反映を確認する時間より>>282を読む時間のほうが長いとか、
この程度のもの読むのに「労力」の存在を意識してしまうとか、そういう低学歴のたぐいは問題外。
367
(4): 2007/05/30(水)21:40 AAS
Haskellには再代入がないっつーけど、
いまだに理解できないオレ、へたれ♂

Javaでいうと常にfinalってことか?

ある関数に引数を渡すと、必ず同じ値が返ってくるとか言うけど、
引数に3を与えても、5を与えても同じ値が返ってくるのか?

我ながら根本的に理解してないようなんだが、
だれか助けて。
ちなみに「ふつける」は半分以上読みました
388
(4): 2007/06/02(土)02:09 AAS
fix f = let x = f x in x

これってどういうこと? x = f x って。
fがたとえば id ならまだいいけど、(+ 1)だったら?
っていうか言語的に、letの機能ってどうなってんの?
395
(3): 2007/06/02(土)15:09 AAS
ありがとう。

つまり、

fix f = let x = f x in x
は、
fix f = f $ f $ f $ f $ f $ f $ f $ ....(略。無限に続く)
のこと。

fix f の値を得ようとすると無限ループ。
ただし、
残りの部分の評価が遅延されることによって、
fix f の値の一部だけは取り出せる(リストの前の方とか)。
省3
410
(3): 2007/06/03(日)20:34 AAS
仕事の補助ツールを書いてみれば良いんじゃないか?
480
(3): 2007/06/11(月)23:26 AAS
・言語の正式名称は「clean」であって「concurrent clean」じゃない
・開発環境は無料
・登録しろって言ってくるけど、しなくてもダウンロードできる
・開発も公開も、企業じゃなくて大学がやっている

おまえらもうちょっと調べてから投稿しろよ。
485
(3): 2007/06/13(水)02:42 AAS
コンビネータで数の計算をやろうとして、以下のような関数を用意した。
ネタ元は 外部リンク[htm]:users.bigpond.net.au

k x y = x
i x = x
t x y = y x
v x y z = z x y

inc = v (k i)
dec = t (k i)
isZero = t k

zero = i
省6
577
(3): 2007/06/28(木)19:35 AAS
なんだかhaskellのコードは俺言語オナニーの一種に思えてしかたがない
とても見やすいとは思えないな
613
(3): 2007/06/30(土)12:57 AAS
よくわからんけど、newStreamとoutputToとやらは、hGetContentsとhPutStrの事か?

せめてSystem.IOモジュールの一覧くらい眺めてみたらどうだ
614
(6): 2007/06/30(土)14:40 AAS
型によって処理を分岐させたいんだがうまくいかん。

import Data.HashTable
import Data.Typeable

hoge a = if typeOf a == typeOf "A"
then do hash <- new (==) hashString
hoge2 hash a
else do hash <- new (==) hashInt
hoge2 hash a
hoge2 hash' b = update hash' b "HOGE"

これだと、次のようなエラーが出る。
省8
630
(5): 2007/07/01(日)08:10 AAS
>>536
>>627
ちょっと前にだけど書いてみた。
外部リンク[pdf]:www.aya.or.jp

Monadを少しは知ってる人向けのArrowの紹介。
今見てみると、もう少し具体例とか使い方とか書いたほうが良かったと思うけどせっかく書いたので。
819
(5): 2007/08/17(金)23:20 AAS
すいません。教えてください。
今、haskellで囲碁のプログラムを組んでいるのですが、
石の塊(連という)の座標の集合を求める関数を書こうとして躓いてしまいました。

C++で書くと以下のようになります。

void getRen(const IgoBoard &board,Point point,Stone stone ,set<Point> & ren)
{
 if(stone == board.getStone(point) && ! ren.include(point))
 {
  ren.insert(point);
  getRen( board , Point(point.x+1,point.y ) , stone , ren );
省9
838
(3): 2007/09/04(火)00:49 AAS
Lisp で Prolog 書いたり、Haskell で Perl 6 書いたり、SML で ECMAScript 書いたりするのは
楽しいんだろうけど、動いたらおしまいなんだよね? 常用出来る様な処理系を書こうとしたら C や
C++ で書き直す事になるでしょ。何かむなしいのう…
885
(3): 2007/09/21(金)12:10 AAS
>>884
確かにそうだ。最悪O(n^2)になるな。
でも、中間リストを作ることが直接の原因ではない。
実際、正確評価ならelts_lt_xとelts_greq_xを作り終えた時点で引数のxsはGCできる。
遅延評価だとこれが上手くいかなくて、逆順にソートされたリストが渡される最悪のケースでO(n^2)になる。
時間的には同じ最悪のケースでも、入力が正順にソートされていた場合はO(n)なんだが。

汚い方法だけど、seqを使って評価順を入れ替えることでO(n)になる。
qsort [] = []
qsort (x:xs) = length elts_lt_x `seq` length elts_greq_x `seq`
  qsort elts_lt_x ++ [x] ++ qsort elts_greq_x
省3
886
(5): 2007/09/21(金)12:47 AAS
プロファイル取って調べてみた。数字はtotal allocにqsortの%allocをかけたもの。左の数字は要素数。

>>881とランダム要素のリスト
800 : 380003.544
1600: 873076.32
2400: 1296538.048
3200: 1816425.728
4000: 2399276.16

>>885とランダム要素のリスト
800 : 400965.324
1600: 1040519.448
省16
888
(3): 2007/09/21(金)13:12 AAS
>>886
total allocは確保したメモリの総量だから、空間効率を計るのには使えない。
+RTS -sstderrをつけてmaximum residencyを見ればO(n)になってるのが分かると思う。
955
(3): 2007/10/28(日)12:22 AAS
関数型初体験してみたが、
ふたつの引数 m n をとって
m * (m+1) * .... * (n-1) * n を返す関数を
再帰的定義を用いて書け

なんて問題を解くのに30分もかかった…
普段とぜんぜん違う思考法を要求されて面白いねこれ
957
(3): 2007/10/28(日)13:41 AAS
とりあえず、ふつうのHaskellは読んで文法とか何となく理解したのですが、
次のステップってどんなのがいいんでしょうか。

自分はWebアプリを実装してみようとか思ったんですけど、基本部品(Http
リクエスト解析とか、DB処理など)使ったものやるよりも、「Write Yourself a
Scheme in 48 Hours」みたいなのを勉強する方がよいのかな?と思ってます。

おすすめのHaskell学習資料なんかがあったら教えてください。
975
(3): 2007/10/28(日)23:34 AAS
そのfoldlはhaskellでどう定義するのかね。
ああ、foldlはCで書かれてるなんて言わないでね。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.250s*