- 1 名前:デフォルトの名無しさん mailto:sage [2005/09/30(金) 01:34:05 ]
- C/C++>>>>(越えられない壁)>>>Haskell
- 654 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 16:43:45 ]
- >>638みたいなMythに対しては古くからこういう有名な言葉があるんだが、
"Doing encapsulation right is a commitment not justto abstraction of state, but to eliminate state oriented metaphors from programming." Alan Kay, Early History of Smalltall
- 655 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 16:44:47 ]
- ○Smalltalk
×Smalltall
- 656 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:12:45 ]
- Haskellはオブジェクト指向じゃないけど型クラスを使えるから準オブジェクト指向関数型言語とでも言えるのかな。
「型クラス」と「型構築子クラス」でオブジェクト指向っぽく使えて、副作用がないようにモナドやその一般化のアローが使える。 オブジェクト指向と関数型が共存出来ないと言いながらHaskellを使っている人は分裂気味なんじゃないでしょうかね。
- 657 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:23:03 ]
- いや、Type Class と、オブジェクト指向の「クラス」は別物な訳だが
- 658 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:26:07 ]
- >>657
だから『準』と言っている訳だが
- 659 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:30:37 ]
- 「準」とかで片付けるとかどんだけwwwwwww
ばか
- 660 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:38:26 ]
- で>>659さんは別物のクラスだとどういうことが言えると言いたい訳かな?
ご高説を是非御拝聴いたしましょう。
- 661 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:44:34 ]
- どんだけwwwwwばか
関数型とオブジェクトなんざ共存出来ねんだよ。 無意味、無意味。無駄無駄無駄wwwwww
- 662 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:47:28 ]
- Haskellerはオブジェクト指向もわからないばかということですか。ああそうですか。
- 663 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:49:37 ]
- 残念な展開だね。
- 664 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:57:51 ]
- >>656
arrow使いにくい まるでbrainf*ckみたいに見える 結局は普通に書いたほうがきれいだ
- 665 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:13:14 ]
- 「普通」とかで片付けるとかどんだけwwwwwww
ばか やっぱHaskellerってのは池沼だね。
- 666 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:20:23 ]
- -- A Simple Brainfuck Interpreter
import System.Environment -- Parser data Command = Inc | Dec | Next | Prev | Put | Get | While [Command] deriving (Show, Eq) type Program = [Command] parse :: String -> Program parse s = program where (program, "") = parse1 s parse1 :: String -> (Program, String) parse1 "" = ([], "") parse1 (']':xs) = ([], xs) parse1 ('[':xs) = (While cmds1 : cmds2, rest2) where (cmds1, rest1) = parse1 xs (cmds2, rest2) = parse1 rest1 parse1 (x:xs) = (parse2 x, rest) where (cmds, rest) = parse1 xs parse2 :: Char -> Program parse2 '>' = Next : cmds parse2 '<' = Prev : cmds parse2 '+' = Inc : cmds parse2 '-' = Dec : cmds parse2 '.' = Put : cmds parse2 ',' = Get : cmds parse2 _ = cmds
- 667 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:22:21 ]
- type Tape = ([Char], Int)
tape0 = (['\NUL', '\NUL'..], 0) :: Tape getCell :: Tape -> Char -- Get value of current position getCell (cs, i) = cs !! i setCell :: Tape -> Char -> Tape setCell (cs, i) c = (take i cs ++ (c : drop (i + 1) cs), i) inc, dec, next, prev :: Tape -> Tape inc t = setCell t (succ $ getCell t) dec t = setCell t (pred $ getCell t) next (cs, i) = (cs, i + 1) prev (cs, i) = (cs, i - 1)
- 668 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:23:18 ]
- type Status = (Program, Tape, [Char], [Char])
step :: (Tape -> Tape) -> Status -> Status step f (c:cs, tape, inp, outp) = eval (cs, f tape, inp, outp) eval :: Status -> Status eval (Get : cmds, tape, (i:inp), outp) = eval (cmds, setCell tape i, inp, outp) eval (Get : _, _, "", _) = error "EOF" eval s @ (Put : _, tape, _, _) = (cmds, tape1, inp, getCell tape : outp) where (cmds, tape1, inp, outp) = step id s eval s @ (Inc : _, _, _, _) = step inc s eval s @ (Dec : _, _, _, _) = step dec s eval s @ (Next : _, _, _, _) = step next s eval s @ (Prev : _, _, _, _) = step prev s eval s @ (While cmds : cmds1, tape, inp, outp) = while (getCell tape) where while '\NUL' = step id s while _ = (cmds2, tape2, inp2, outp1 ++ outp2) where (_ , tape1, inp1, outp1) = eval (cmds, tape, inp, outp) (cmds2, tape2, inp2, outp2) = eval (While cmds : cmds1, tape1, inp1, outp1) eval ([], t, i, _) = ([], t, i, "")
- 669 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:24:49 ]
- run :: Program -> [Char] -> [Char]
run cmds inp = outp where (_,_,_, outp) = eval (cmds, tape0, inp, "") main :: IO () main = do cs <- getContents args <- getArgs source <- readFile (head args) putStr $ run (parse source) cs -- brainf*ckなんてたったこれだけ。
- 670 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:35:01 ]
- >>665
お前は日常会話もできなそうだな
- 671 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:35:35 ]
- >>669
それをarrowでどうぞ
- 672 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:45:58 ]
- >>638
状態を持たないステートレスオブジェクトはそのまま純粋関数型言語に取り込めますよね。 「純粋関数型」を標榜するHaskellは状態がないのではなくモナドに閉じ込めています。 ステートフルオブジェクトの状態も同様にモナドに閉じ込める事で「純粋関数型」を 維持したままオブジェクトを利用できると考えますが何か問題があるのでしょうか?
- 673 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:56:27 ]
- >>672
>>664>>671でも書いたがarrowが使いにくいんだよ。brainf*ckみたいだろ。 brainf*ckを書き込んだ池沼にはわからねぇんだろうが
- 674 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:59:06 ]
- >>672
うんうん。Monadiusとかそうだよね。
- 675 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 19:14:19 ]
- >>670
で、「普通」の説明はマダァ?
- 676 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:14:22 ]
- , - ' ´ ̄ `` 、__
__,ィ ヽ. `ヽ. , '⌒Y / 、ヽ ヽ ヽ. / / i /l/|_ハ li l i li ハ . // 〃 /l i|j_,.//‐'/ lTト l、l j N i | {イ l / l li //___ リ_lノ lル' lハ. ソ ___◎_r‐ロユ i| /レ/l l l v'´ ̄ , ´ ̄`イ !| ll,ハ └─‐┐ナ┐┌┘ _ ヘ____ ハ| ll∧ハヽ ト、 '''' r==┐ '''' /l jハ| ll ll /./┌┘└┬┘└┼────┘ロコ┌i 〃 ‖ レ'¨´ヽiへ. _ 、__,ノ ,.イ/|/ ノ ll l| </  ̄L.l ̄ ̄L.lL.! ┌┘| ll ll { ⌒ヽ_/ } ー‐<.__ ′ l| ‖ ‖ ‖ ヽ, /、 〈 |:::::::| `ヽ ‖ ‖ {. ハ ヽ Y`‐┴、::::v l ‖ ‖ |iヽ{ ヽ_ゾノ‐一’::::ヽ. | ‖ ‖ |i:::::`¨´-- :::......:...:.:.::.}| ‖ ‖ |i::::::ヽ._:::_:::::::::::::::::::_ノ | ‖ ‖ |i::::::::::::i___:::::::::::/ | jj::::::::r┴-- `ー‐ '⌒ | 〃:::::::マ二 _,ノ //::::::::::::i ー 一 '´ ̄::. ,','::::::::::::::i::::::::::::::::::::::i::::::ヽ
- 677 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:14:38 ]
- >>675
それは658が一番詳しいから658に聞いてくれ
- 678 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:25:09 ]
- さんざ荒らして説明拒否かよw
- 679 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:28:47 ]
- えっ、だれが荒らし?
- 680 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:34:27 ]
- 池沼の「普通」なんて誰も興味ねえってよw
- 681 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:37:07 ]
- >>679
少なくとも>>676はアラシだろw
- 682 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 21:28:20 ]
- >>677
ぐぐれYO!ばか ttp://d.hatena.ne.jp/r-west/20070720/1184946510 ttp://d.hatena.ne.jp/propella/20070807/p1
- 683 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:10:09 ]
- >>665
普通? 社会通念だよ。
- 684 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:10:54 ]
- 論文じゃあるまいし。
揚げ足取りなんかやってるから単位も危なくなるんだぞ?
- 685 名前:デフォルトの名無しさん [2008/01/05(土) 22:25:42 ]
- >>683-684
せっかくぐぐって終息させてやろうとしてるのに馬鹿だねおまえはw 黙ってれば終わったのに。 晒しage
- 686 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:27:36 ]
- これが関数型使って気取ってる池沼の実態ですwwwwww
ばか
- 687 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:30:06 ]
- 使えもしないのに関数型に憧れてんなYO!
Haskell使いキモスwwwwww
- 688 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:34:13 ]
- スレタイ通りのオナスレageんな
- 689 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:37:08 ]
- クソ言語が普通とか言ってんなよ。所詮、脳内オナニー。
- 690 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:39:26 ]
- 恥ずかしいスレ名をアゲんな、変体どもがぁ。
Haskellはプログラム板の恥だな。
- 691 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:43:34 ]
- スレの削除依頼出せ.キモイんだよお前等
- 692 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:46:01 ]
- まあ、重複スレなのでこちらを削除しても問題ありませんね。
- 693 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:57:22 ]
- ↑さんざん恥をかいたのでスレ削除して欲しい張本人がこう申しておりますw
- 694 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:59:01 ]
- Haskell使ってる人って頭が良いイメージだったけどw
- 695 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:01:32 ]
- なかなか笑わせてもらった
- 696 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:18:12 ]
- 「Haskell」=「Arrow」+「普通」
- 697 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:20:35 ]
- 普通ってwwww
「プログラム」=「データ構造」+「アルゴリズム」 ってWirth先生が言ってたぞ。
- 698 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:21:56 ]
- >>697
先生のゆーとーり世代
- 699 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:21:57 ]
- アローだってデータ構造だろうに。
- 700 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:23:22 ]
- 普通のアルゴリズムなんて定義できんだろ。
- 701 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:24:32 ]
- 普通のどこが気に入らないんだろう
- 702 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:25:43 ]
- アローに付随したアルゴリズムに定石でもあるのか?そんな本見たことねーぞ。
むしろ教えろゴルァ!
- 703 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:28:27 ]
- アローの定石と言えるかわからないけどバード先生の本には載ってる
- 704 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:35:36 ]
- Rahbi & Lapalme にはモナドの説明が無いけど、
Introduction to Functional Programming Using Haskell Richard Bird こっちには載ってるのか。
- 705 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:39:06 ]
- アロー程度がちょちょいと説明できないようじゃHaskell使いこなせてると言えないよね。
- 706 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:40:25 ]
- アローって簡単?
- 707 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:46:49 ]
- >>706
ふ・つ・う wwwww お頭が弱いとアローがbrainf*ckみたいに見えるらしいけど、可換図式みたいで判りやすいよ。 ハッキリ言って簡単。基礎的な数学力があればだけど。圏論ぐらいは出来ないと無理かな。
- 708 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:48:02 ]
- >>707
> ハッキリ言って簡単。基礎的な数学力があればだけど。圏論ぐらいは出来ないと無理かな。 どうやら、arrowでプログラミングしたこともないことがよくわかった。
- 709 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 23:55:34 ]
- アマゾンみたらバードの本にはモナドとかアローについて書いてあるらしい。
でも翻訳はMirandaについてでモナドとか載ってなさげだねぇ。
- 710 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:10:55 ]
- Arrowって、Kleisli 圏とか Premonoidal 圏みたいなもんか。たしかに図を描けばなんてことなさげ。
- 711 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:16:47 ]
- >>708
はいはい。あーarrowはむずかしいいや。brainf*ckみたいにみえるなあw
- 712 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:21:36 ]
- 教訓
・ オブジェクト指向と関数型は共存出来ない。 ・ 「Haskell」=「Arrow」+「普通」 (ただしArrowはbrainf*ckである)
- 713 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:29:02 ]
- >>712
なにそれ?Haskell全否定じゃん。
- 714 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:31:52 ]
- 708は口調ですぐわかるな。アンチなら使わなきゃイイジャン。
- 715 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:51:13 ]
- アローって意味的にはモナドなんかよかよっぽど理解できるだろ。
要するに計算の合成を定義すればいいだけ。 フリーダムすぎて使い方を迷うところはあるけど……圏論の知識とかいるか?
- 716 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:59:29 ]
- >>715
いらない。
- 717 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:00:54 ]
- arrowでプログラミングするのに数学も圏論の知識も微塵も必要ない。
- 718 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:01:02 ]
- >>715
あれば簡単ってことなんじゃないの?おれ圏論知らないけどさw
- 719 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:03:26 ]
- >>715
アローってモナドの一般化したやつじゃん。ほとんど同じだろ。 アローが関数を受け持って、モナドが値を受け持つ箱みたいなイメージ。 違ったっけ?
- 720 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:07:59 ]
- >>717
それは極論だろ。SコンビネータとかBコンビネータとかYコンビネータを適用するとき副作用があるのか分からなくてドキドキする。 数学知ってたらこういうことがさらっと出来ていいんだろうなと思う。
- 721 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:10:19 ]
- Haskellじゃなくてもいいようなプログラムなら数学の知識はいらないとは言えるw
- 722 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:13:48 ]
- 結局、Haskellを何に利用しているかでアローの難易度も違って見えるんだろうね。
- 723 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:21:50 ]
- いらない・無意味・微塵も必要ない
- 724 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:28:42 ]
- 普通
- 725 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 04:40:35 ]
- arrow関連で卒論書きたいんですが、受けはいいでしょうか?
- 726 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 13:30:28 ]
- >>719
値を受け持つ箱と考えるより、monadic function(a->m b)の形式で計算を纏めていく戦略と考えたほうが 理解しやすいかもしれん。monadic valueそのものをモナドだと思ってしまうとよくわからんなるんじゃない?
- 727 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:41:27 ]
- >>717
ならこのスレに来るな。ここはクマーが圏論を説明してくれた偉大なスレだ。
- 728 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:44:29 ]
- >>720
数学の知識がなくてもSコンビネータとかBコンビネータとかYコンビネータが 何を意味しているのかだけ知っていればどきどきすることはありません。
- 729 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:54:07 ]
- >>728
意味が良くわからない。AAで説明してくれ。たのむわ。
- 730 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:07:19 ]
- /-─-,,,_: : : : : : : : :\
/ '''-,,,: : : : : : : :i /、 /: : : : : : : : i ________ r-、 ,,,,,,,,,,、 /: : : : : : : : : :i / L_, , 、 \: : : : : : : : :i / 圏論持ち出したら /●) (●> |: :__,=-、: / < 負けかなと思ってる l イ '- |:/ tbノノ \ ニート(24・男性) l ,`-=-'\ `l ι';/ \ ヽトェ-ェェ-:) -r'  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヾ=-' /
- 731 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:26:09 ]
- >>730
博士課程のニーとですがなにか
- 732 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:39:00 ]
- 数学の知識無しでアローをAAで説明出来んじゃなかったの?
しったかかw クマーktkr
- 733 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:23:29 ]
- スレの流れに
水を差すようで申し訳ないんだが ちょっと質問 >>720 にある「(対称)前モノイダル圏」って よく意味が解らない 対称モノイダル圏の条件を弱めたものらしけど 対称モノイダル圏だとなにか不味い事でもあるのですか
- 734 名前:733 [2008/01/06(日) 17:25:08 ]
- >>720
でなく >>710だた
- 735 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:38:01 ]
- アローなんて簡単だろ
ほれ、これがアローだ →
- 736 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:51:02 ]
- これの事でしょうか?ハァハァ
/⌒ヽ⌒ヽ Y 八 ヽ ( __//. ヽ,, ,) 丶1 八. !/ ζ, 八. j i 丿 、 j | 八 | | ! i 、 | | i し " i '| |ノ ( i i| ( '~ヽ ! ‖ │ i ‖ | ! || | │ | | | | | | | | | | ! | | | | ‖ / ヾ
- 737 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:53:24 ]
- AA職人がいなくなってつまんなくなったね。
- 738 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:54:47 ]
- AA職人というか、コピペで説明してただけだろ?
- 739 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:57:34 ]
- その「説明してただけ」すら出来ないコピペ厨w
- 740 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:58:38 ]
- たしかに1年でレベルが落ちたのは否定できんなw
- 741 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:59:42 ]
- 単にスレが捨てられただけでは?
- 742 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:00:42 ]
- いまどきarrowなんてみんな知ってて、いまさら説明の余地もない。
新しいネタ探して来い
- 743 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:14:58 ]
- >>742
こら!みんなが矢印とかちんぽを無視したからって怒るでないw
- 744 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:17:28 ]
- クマーってもう一年前の話か。上のほう見たら2つもあるね。
- 745 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:19:22 ]
- >>742
↑とアローの説明が出来ないクズが取り乱しております
- 746 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:27:48 ]
- >>728
コンビネータ理論を知っていれば十分で数学の知識を前提としないって?おいおい。 支離滅裂だぞ。
- 747 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:44:24 ]
- >>746
数学の基礎的な知識はそれほど必要ないだろ。 「それだけ」知ってればいいんだから。
- 748 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:55:31 ]
- >>747
基礎の意味が違うでしょ。コンビネータ理論は数学基礎論であって、数学の基礎知識じゃない。 しかも副作用についての知識は、いくつかのコンビネータを知ってるではすまない。 他にも山のようにある関数について、一つ一つ個別に知ってるよりも理屈を知ったほうが当然良い。
- 749 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:51:52 ]
- λλλλλ...
↑アロー・モナド・コンビネータ理論について行けず、肩を落として帰るプログラマの群れ
- 750 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 00:08:05 ]
- 正直arrowとかどうでもいい
それよりhere documentを入れてくれ
- 751 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 00:29:30 ]
- >>750
ttp://cvs.haskell.org/Hugs/pages/users_guide/here-documents.html
- 752 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 20:07:34 ]
- >>733
くわしくはこのページが参考になる。 ttp://d.hatena.ne.jp/m-hiyama-memo/searchdiary?word=*%5B%A5%E2%A5%CA%A5%C9%5D John Power & Edmund Robinsonによれば: * TのKleisli圏C_Tがプレモノイド圏となる ⇔ Tは強度を持つ * TのKleisli圏C_Tがモノイド圏となる ⇔ Tは可換強度を持つ これはKleisli圏のプレモノイド構造と強度が1対1に対応しているということで、モノイド圏では都合が良くない。つまり、 プレモノイド圏となる⇒・・・⇒モナドの作用乗法 というのがwell-definedになるということを狙ってる。たしかにモナドって数学的な基礎知識無しでも使えると確信しましたか?
- 753 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 20:44:58 ]
- 当然だけど、アローについても同様の議論が展開できる訳です。まあ、アローなんかどうでも良いんでしたね。
- 754 名前:デフォルトの名無しさん [2008/01/07(月) 22:52:18 ]
- モノイド圏とモノイダル圏て何が違うの?
|

|