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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:41:29 ]
haskell.org
www.haskell.org/

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

過去ログ
関数型プログラミング言語Haskell
Part1 pc.2ch.net/tech/kako/996/996131288.html
Part2 pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 pc8.2ch.net/test/read.cgi/tech/1149263630/
Part6 pc11.2ch.net/test/read.cgi/tech/1162902266/
Part7 pc11.2ch.net/test/read.cgi/tech/1174211797/
Part8 pc11.2ch.net/test/read.cgi/tech/1193743693/
・2chの仕様により、行頭の半角スペースは表示されません。
 コードをインデントしたいときは、代わりに または全角スペースを使うことができます。


2 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:42:18 ]
関連書籍
・Introduction to Functional Programming Using Haskell
 www.amazon.co.jp/exec/obidos/ASIN/0134843460/
・Haskell: The Craft of Functional Programming
 www.amazon.co.jp/exec/obidos/ASIN/0201342758/
・The Fun of Programming
 www.amazon.co.jp/exec/obidos/ASIN/1403907722/
・The Haskell School of Expression: Learning Functional Programming Through Multimedia
 www.amazon.co.jp/exec/obidos/ASIN/0521644089/
・入門Haskell
 item.rakuten.co.jp/book/1794880/
・ふつうのHaskellプログラミング
 item.rakuten.co.jp/book/4052963/


3 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:42:39 ]
関連スレ
・関数型言語Part IV
 pc8.2ch.net/test/read.cgi/tech/1083649982/
・【数学者】Haskellはクソ言語【オナニー】
 pc8.2ch.net/test/read.cgi/tech/1128011645/
・純粋関数型言語Concurent Clean
 pc8.2ch.net/test/read.cgi/tech/1075629340/
・関数型言語ML(SML, OCaml, etc.), Part 5
 pc11.2ch.net/test/read.cgi/tech/1186292994/
・Lisp Scheme Part21
 pc11.2ch.net/test/read.cgi/tech/1207300697/
・【入門】CommonLispその4【質問よろず】
 pc11.2ch.net/test/read.cgi/tech/1201402366/
・Emacs Lisp 3
 pc11.2ch.net/test/read.cgi/tech/1191875993/


4 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:43:00 ]
・日本語の扱いについて

Haskell98によると、Charは一つのUnicode文字を表す(6.1.2)。
これに従って、比較的新しいHugsやGHC(6.4系を含む)ではCharは32ビット整数になっている。
ただし、どちらも入出力に際しての変換が完全でない。具体的には、
・ソースコード中の文字列リテラル
・System.IOライブラリでの入出力
が問題になる。

1. GHC6.4.2以前
ソースコード・入出力ともLatin-1を仮定する。Latin-1ではバイト値と
コードポイントが一致するので、入力時には外部エンコードの各バイトがそのままCharに
入り、出力時にはCharの下位8ビットのみが出力されるような実装になっている。
このため、あるエンコーディング(Latin-1とは限らない)の入力をgetLineで受け取り、
それをそのままputStrで表示すれば、入力時とおなじエンコードにおいて正しく表示される。
これを利用して、[Char]を、本来のコードポイントの列としてではなく、特定のエンコードの下での
バイト列として使うことができる。ただし文字列リテラルについては、GHCはLatin-1として
不正な文字を受け付けないので、EUC-JPのような例外を除くと、単純にリテラルを使うことはできない。

2. GHC6.6
ソースコードにはUTF-8、入出力にはLatin-1を仮定する。このため、EUC-JPでリテラルを直に
書くことはできない。

(続く)


5 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:43:20 ]
(続き)

3.最近のHugs(非WindowsかつCのwchar_tがUnicodeの環境、というかLinux)
ソースコード・入出力ともロケールのエンコードを利用する。

4.最近のHugs(Windows)
ソースコード・入出力ともLatin-1を仮定する。ただし文字列リテラルにShift-JISを使ってもエラーにならない。

5.最近のHugs(それ以外)
未調査。

・結局どうするか。
規格どおりにCharにUnicodeを入れるか、Charを単なるバイトとして扱うかの二択。

i. CharをUnicodeとして扱う
(3)以外の場合入出力で変換が必要。(2)または(3)以外の場合文字列リテラルでは
明示的なエスケープ(たとえば"\22234")が必要。

ii. Charをバイトとして扱う
(3)ではファイルをバイナリモードで開くなどの対策が必要。(1)でEUC-JPを使う場合と(4)
を除き文字列リテラルでは明示的なエスケープ(たとえば"\143\153")が必要。
lengthやisAlphaのような関数、およびwin32パッケージの関数(win32API)が正しく動作しない。


6 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 16:43:41 ]
テンプレはここまで。
前スレが終わってからしばらく建ってなかったので建てました。
行き届かないところがあったらごめんなさい。


7 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 17:05:58 ]
      _
   , '´ λ ヽ   
    !,.イリノ)))〉   
    リ)^ヮ^ノ|  このスレのマスコットキャラ
   ノ⊂)水!つ     
  ((( く/_l〉 リ  はすけるたん    
   `` し'ノ

8 名前:デフォルトの名無しさん [2008/05/17(土) 18:53:58 ]
質問です

Word8からWord32に変換する方法についてなのですが、
Word8からtoInteger・fromInteger関数を経てWord32に変換する以外に、
クレバーな方法はありませんか?

9 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 18:54:51 ]
リアルhaskellたん
www.haskell.org/croppedhaskell.jpg

10 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 19:44:18 ]
>>8
n(n-1)個のcastを用意するのが
2n個のcastを用意するよりクレバーだと思いますか?



11 名前:デフォルトの名無しさん [2008/05/17(土) 20:00:31 ]
そろそろ、テンプレの GHC 6.6 の日本語の取り扱いについて書き改めて欲しい。
1. ソース中の文字列 hello = "こんにちは" :: String は UTF-8
2. これを ghci で表示することは可能:(ただし、環境変数 LANG を UTF-8 にしておくこと、また、ターミナルも UTF-8 で入出力できるようにしておくこと)
Main> print hello
こんにちは
Main>
3. 入出力 IO は Latin-1 だが、package utf8-string (code.haskell.org/utf8-string/) を導入することにより、入出力を UTF-8 にすることができる
4. その他の文字列エンコード(ShiftJIS, JIS, EUC-JP など) は、package iconv (hackage.haskell.org/cgi-bin/hackage-scripts/package/iconv) で UTF-8 な文字列にする
とまあ、こういうことで、日本語表示できるわけだ。iconv package は MacOSX と *BSD では cabal を少しいじらなければいけないことに注意しろよ(iconv.cabal のコメントに書いてある)
よろしくたのむ、な。

12 名前:sage [2008/05/17(土) 20:05:38 ]
>>8
toEnum . fromEnum でよくね

13 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 21:23:49 ]
>>11
>1. ソース中の文字列 hello = "こんにちは" :: String は UTF-8
これどういう意味?Stringになってしまえば文字コード関係なくね?

>2. これを ghci で表示することは可能
*Main> print hello
"\12371\12435\12395\12385\12399"
こうなった

14 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 21:25:11 ]
>>8
fromIntegral :: (Integral a, Num b) => a -> b
fromIntegral = fromInteger . toInteger
という関数がある

15 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 21:41:45 ]
fromIntegralはGHCだといろいろ特殊化されてて効率もいいしな

16 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 08:26:56 ]
新スレ乙です。

上げていただいている関連書籍で、

・Introduction to Functional Programming Using Haskell
・Haskell: The Craft of Functional Programming

は読み終えて、

・The Haskell School of Expression: Learning Functional Programming Through Multimedia

を問題解きつつ進めているところですけど、

・The Fun of Programming

次はこちらがいいんでしょうか。それともネット上の新しい記事とかを
見ていくほうがいいですか?



17 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 09:26:23 ]
>>16
The Haskell Programmer's Guide to the IO Monad ― Don't Panic
stefan-klinger.de/files/monadGuide.pdf
は、Haskellのモナドを理解するのにおすすめ。

18 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 12:25:58 ]
質問です。

100MB程度の音楽データを編集するツールを作ろうと思っているのですが、
音楽データを格納するための型のお勧めは何ですか?

19 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 12:39:36 ]
音楽データって波形データ?

音楽ツールのことは良く知らないから一般的なことだけ言うと、
Haskellで配列っぽいデータを扱うときに一番空間効率がいいのは非ボックス化配列
(具体的にはUArrayかIOUArrayかSTUArray)で、Cの配列と同じくらいコンパクト
ただし、これは生の配列だから切ったり貼ったりするのには向かない
切り貼りしたいなら、「非ボックス化配列を葉とする木」みたいな構造が必要かも

ところで音楽編集ソフトって全部メモリ上で作業するんだろうか

20 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 22:20:25 ]
>>17
ありがとうございます。文系なので理解できるか不安ですがw。

一通りの基本構文については馴染んできたと思うので、もう少し
アプリ全体の構成などについての解説文書みたいなものって
ありますでしょうか。

或いは、モナドもその一つだと思うのですが、関数型によるプログラミング
テクニックというんでしょうか、そういったものがもう少しまとまっている
本があると嬉しいんですが。



21 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 23:25:58 ]
文系出身のやつって知ったかぶり多いよな。
細かいこと考えないのが吉なのか凶なのか。

22 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 23:34:12 ]
絶対的な真理は無いという事を知ってるからじゃないかな。

23 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 23:37:22 ]
理系は論理を重視するんだよ。
真理?なにそれ食えるの?

24 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 23:40:59 ]
例えば
4 :: Int
は絶対的な真理じゃね?

25 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 23:50:33 ]
論理は文系だろ

26 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:15:42 ]
はい?俺理系なんで良く分かりません。
ささ、次行きましょう

27 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:16:50 ]
>>24
その例のようなことが成り立つ数体系が便利だから、
たまたま人間が採用して「正しい」として使ってるだけとも言える

とはいえ、「数学は人間の存在にかかわらず成立するから
数学はこの世の真理の一つだ」と主張する哲学者もいたような


28 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:19:33 ]
哲学者なんてはったり言うだけのでくの坊だろ 次行くぞ次

29 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:22:38 ]
理系のやつって細かい事考えないんだな。

30 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:27:10 ]
>>27
言葉が足りなかったな

Haskell98における式「4」は、Haskell98における型式「Int」で表される型を持つ

と言えばよかったか
もちろんHaskell98ってのは地球でBC1998年に定義された「あの」Haskell98のことで、
「型」とか「式」とかの術語はHaskell98の仕様に従って解釈するものとしてね



31 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:49:11 ]
真理に「絶対的」なんて付けてるところを見ると
真理の意味が分かってないんだろ

32 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:52:18 ]
真理の意味をお願いします

33 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:53:52 ]
>>32
まことのことわり。
コレは絶対の真理。

34 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:55:36 ]
真理・・・いつもどんな時も変わることのない、正しい物事の筋道。真実の道理。
例:HaskellスレはHaskellを論ずる為に存在している

これでおk?

35 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:55:40 ]
理系の雑談っていつもこんななの?

36 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 00:59:02 ]
>>33-34
そこから >>31 を導出するのは至難だなw

37 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 01:04:01 ]
「真理」は既に絶対的なものだから「絶対的な真理」という表現は「絶対的」が重複しているってことだろ

38 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 01:06:01 ]
>>35
理系に限らず2chの雑談はどこもこんな感じです。

39 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 01:07:30 ]
今日はいつにもましてバカが多いな
春か?春だからなのか?

40 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 01:19:01 ]
>>37
修飾語は強調する為にも使うけど、意味内容の重複は許されないという主張?



41 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 01:25:54 ]
程度の存在しない物に強調もクソもないだろ

42 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 01:31:46 ]
あ、強調って分かり辛かったか。念押しだと考えてみな。

43 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 13:06:15 ]
程度の存在しない物に念押しもクソもないだろ

44 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 13:50:33 ]
まさに自転車置場の議論

45 名前:デフォルトの名無しさん [2008/05/19(月) 18:57:28 ]
+++ってどういう意味なんですか?
+とか++とかもあってよくわからないのですが

46 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 19:25:42 ]
>>30
× haskell4000年の歴史
○ AD

47 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 19:41:15 ]
>>45
解らないなら使うな以上

48 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 19:46:25 ]
>>45
(+) は Integralクラスのインスタンス、つまり数の加法。
(++) は リストの結合。[1, 2, 3] ++ [4, 5, 6] は [1,2,3,4,5,6]。
(+++) は Arrowの合成かなにかに使う。Arrowは俺も良くわかんないし、まあ知らんでもプログラムは書けるから気にするな。

49 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 19:46:29 ]
>>45 型を見てみろ

50 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 19:49:24 ]
>>48
失敬!(+)はIntegralじゃなくてNumクラスのインスタンスの加法だな。



51 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:03:27 ]
質問です。

「16文字のString型」という定義は型定義の段階でできるのでしょうか?

52 名前:デフォルトの名無しさん [2008/05/19(月) 20:11:35 ]
>>48
ありがとうございます

53 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:14:01 ]
>>51
絶対の真理

54 名前:20 mailto:sage [2008/05/19(月) 22:42:22 ]
「文系」という一言でスレがこんなに伸びるとは思いませんでしたw。
ちなみに自分は理系人間に対しては羨望の眼差しで見ています。

The Fun of Programming って読んだ方いらっしゃいますでしょうか。


55 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 23:25:55 ]
今日先輩にHaskellできると
彼女ができると聞いたのですが
みなさんは彼女いてますか?

56 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 23:39:55 ]
>>55
55人ぐらいいるよ。

57 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 03:13:47 ]
>>16
そんな教科書ばっか読んでなにがしたいの?

>>20
Haskellで書かれたアプリのコード読め。

58 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 22:55:17 ]
Monagiusは勉強になる。

59 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 23:03:23 ]
monadiusはもはや古いぞ。
今はもっと洗練されてる。

60 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 00:08:32 ]
Little Haskeller読んで学習中。日本語版もホスイ



61 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 01:40:02 ]
>>60
それってリトル隙間の姉妹本?

62 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 02:51:30 ]
mod_haskell.soまだー?

63 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 03:51:48 ]
>>62
まってないで作って公開しろ

64 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:00:47 ]
>>59
今って例えばどれ?

65 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 03:04:27 ]
www.geocities.jp/takascience/doc/monadius-kof.pdf
古いというか、力技で作ったって感じ。
>>59はFRPを念頭においてるんだろうけど、
FragのObjectBehaviorなんかが洗練されてるのかは微妙。

66 名前:デフォルトの名無しさん [2008/05/22(木) 19:37:06 ]
質問です。

0〜10までの整数を定義した型というのは宣言できますか?

67 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 01:04:34 ]
>>27
数学基礎論がまるで分からないんだね。

68 名前:初心者修業中 mailto:sage [2008/05/23(金) 02:23:32 ]
>>66
data Hoge = Hoge0|Hoge1|Hoge2|Hoge3|…|Hoge10

これじゃ駄目?

69 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 07:10:08 ]
数学できない奴くるな

70 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 13:34:41 ]
haskell関係の文書(特に論文)を読みたくてhaskell.orgをあさってるんだけど
沢山あるからどれを読もうか迷ってしまう
このスレ的に、コレは読んでおいて損は無い!って奴あったら教えてくらはい
今のとこ読んだのはImperative functional programmingとLazy vs Strictと
Haskell vs. Ada vs. C++ vs. Awk vs. ...



71 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 13:47:07 ]
Tackling the awkward squad

72 名前:デフォルトの名無しさん [2008/05/23(金) 13:49:13 ]
もうここで紹介される論文はすべて読んだんだよなぁ。
2chは時代遅れ情報しか出てこねーな。noobどもしかいねぇ。

73 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 13:53:08 ]
2chの情報に価値がないと思うなら立ち去ればいいじゃないか!

74 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:18:52 ]
>>71
落として読んでみるよー
他にもあったら是非教えてクレクレ
>>72
玄人さん面白かった論文教えて

75 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:36:10 ]
>>69
そんな事を言う奴が来るな!
数学なんぞできんでもプログラムはできる!!

76 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:49:15 ]
最初のうちはな
手続き型にどっぷり浸かった後で関数型言語を触って嵌ってしまったやつは
やつは皆計算機科学の世界に飛び込み二度と帰ってこなくなっちまうものなのさ

「コード書いてるより数式弄くってるほうが楽しいおwwww」
俺の同僚の最後の言葉さ・・・

77 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 16:03:56 ]
だからオブジェクト指向が生き残るのですね

78 名前:デフォルトの名無しさん [2008/05/23(金) 18:02:35 ]
最近、自作のソースをarrowで設計段階からやり直そうとしているんだけど、
いまいちメリットが無いんだよなぁ。
前のコードの方が短かったし、arrowにしたせいで複雑になってしまうことも多々ある。
arrowのメリットを具体的に教えてくださいよ。
論文読んでみてもarrowのうまみが伝わってこないんだよね。

79 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 18:31:30 ]
難読化

80 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:12:20 ]
どんなものが分かりやすいかなんて人それぞれだし
arrowを使ったほうが分かりやすいって感じる人も少しはいるでしょうから
そういう人が勝手に使ってればそれでいいんでしょう



81 名前:36 ◆K0BqlCB3.k [2008/05/23(金) 19:20:21 ]
arrowを使ったプログラミングでは設計段階で図式化しやすいところにうまみがあるのかな?

82 名前:36 ◆K0BqlCB3.k mailto:sage [2008/05/23(金) 19:21:01 ]
ミスってコテハンつけちゃったぜ

83 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:39:51 ]
>>82
warrockに帰れwww

84 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:58:07 ]
>>78
(モナドと比較した場合)arrowの旨みって、モナドではないがarrowである型があるっていう一点じゃないの?
そういう型を扱うときはarrowの枠組みが便利というだけ

85 名前:36 ◆K0BqlCB3.k mailto:sage [2008/05/23(金) 20:07:01 ]
っていうかさ、俺は(\x -> (x, x))とかして処理を分けるのをいちいち書くのがめんどくさいときにarrow使うぜ

86 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:12:53 ]
>>85
確かにそれは慣れれば便利かもな
でも、Arrow (->)という特定のインスタンスを使ってるだけなら、
>>78が言ってるようなArrowの旨味とは別の話な気がする

87 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:35:21 ]
>>71
ちょwwBeautiful Codeって本みながら、たまたまスレ覗いたら、
本の中でソレ紹介されてたぞww

88 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:10:42 ]
arrowって今のところ
解析関係かデバッグ関係
形式証明以外使えそうな分野
無い


89 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 04:49:01 ]
分かってねーな

90 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 04:59:31 ]
分かってねーなじゃわからないっす。



91 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:25:11 ]
>>76
関数型が好きな理由は、所謂プログラミングの面白さがあるからではないな。

92 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:01:55 ]
do { ... } は「アクションっていう値」という認識でいいの?

93 名前:初心者修業中 mailto:sage [2008/05/25(日) 00:18:03 ]
>>92
do構文はbind演算子で結合された式を
手続型言語っぽく見せる糖衣構文と認識してますが。

94 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 01:33:41 ]
>>92
do{...}が値を持つ単なる式であるか、という質問ならそのとおり
>>93が言うようにdo式は構文糖で、bind演算子(>>=)の略記
do式の値が(広い意味で)アクションか、という質問ならそのとおり
具体的には、IOモナドに関するdo式なら値はIOアクション、リストモナドならリスト、という具合

95 名前:92 mailto:sage [2008/05/25(日) 01:35:15 ]
>>94
そういう意図の質問でした。ありがとう。

96 名前:初心者修業中 mailto:sage [2008/05/25(日) 02:31:03 ]
>>94

>(広い意味で)アクション
の意味がわかりません。

Maybeも(広い意味で)アクションなのでしょうか?


97 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 03:08:50 ]
>>96
そういうつもりで書いた
一般的でない用語法だったらすまん

98 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 03:28:30 ]
Just x : なにもしないでxを返すアクション
Nothing : 計算を即座に終了させるアクション

99 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 07:33:24 ]
f x: xにfを適用するアクション
1 + 2: 1と2を加えるアクション

100 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 09:42:48 ]
理系の方々に伺いたいんですけど、Haskellは数学で蓄積された
知識をダイレクトにコード化が可能だと感じますか?

Cなんかだと似ても似つかないものにしないといけませんよね。
数学的なモデルのシュミレーションなんかを記述する際に、
正しく書くのは結構大変じゃないかと思ってしまいます。

そういう点で、Haskellはそのままとは言いませんが書きやすいの
かなぁと。だけど、僕の知人で理系の人たちはC言語使う場合が
多いようです。最大の理由はスピードだそうですが、手間を考えると
早い計算機使ってHaskellで書いた方がいい、という考えの人も
いるんでしょうか。








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

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

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