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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:28:13 ]
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/

・2chの仕様により、行頭の半角スペースは表示されません。
 コードをインデントしたいときは、代わりに または全角スペースを使うことができます。

556 名前:554 mailto:sage [2008/02/24(日) 19:38:46 ]
つまり、ちゃんとした解答集のようなものは無いっちゅう
ことですかorz

そんな難しいものも少なそうなのでいいのかな

557 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 19:51:21 ]
>>556
現状では、ある程度関数型言語でのプログラミングの経験をつんだ人が
Haskellを触るという感じなので、
言語仕様を見たらわりとすぐに使えるという人向きの文書しか出回っていない。
そういう意味では初心者はとっつきにくいかもしれないね。

558 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 20:19:53 ]
また公式が落ちてやがる!!!!!!!!
なめやがって!!
マジ切れそうだ

559 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 20:47:32 ]
すみません、こちらのファイアウォールのせいで公式につながらなかっただけでした・・・
お騒がせしました

560 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:59:49 ]
>>558-559
wwwwwwwww


561 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 01:50:16 ]
wwwwwwwwwww

562 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 01:58:36 ]
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

563 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 02:08:33 ]
www.blue.sky.or.jp/grass/

564 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:06:50 ]
大卒で正社員じゃない奴ってこのスレに多そうだなw
知ってるか?高卒の生涯賃金って高卒の半分なんだぜwww_?
中卒なんてもってのほか
可哀想にお前ら
そんな俺はもう内定貰ってこのスレいますけどねw



565 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:18:49 ]
あいぉ(^ω^
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? 
> 高卒の生涯賃金って高卒の半分なんだぜwww_? > 高卒の生涯賃金って高卒の半分なんだぜwww_? 


566 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:20:52 ]
>高卒の生涯賃金って高卒の半分なんだぜwww_?

再帰的ですねwwwwww

chingin x = chingin x / 2
こんな所でしょうか。

ちなみにスタックオーバーフローしましたが何か。

567 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:22:51 ]
ちなみにこれね
society6.2ch.net/test/read.cgi/gline/1190374317/

568 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:26:57 ]
どうやら釣られてしまったようだ。。。

569 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:43:02 ]
>>566
せっかくHaskellなんだから
chingin = chingin / 2
でいいよ
解は0とNaNと±Infと⊥だな

570 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:39:37 ]
Nan = NanはFalseなんじゃないの?

571 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:33:53 ]
何を言っているのかね

572 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 15:30:47 ]
やってみた。
> 0/0
NaN
> 0/0 == 0/0
False
> 1/0
Infinity
> 1/0 == 1/0
True
> 1/0 == 1/0/2
True


573 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 15:32:37 ]
⊥なんて解で出てくるの?

574 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 17:18:37 ]
>>573
undefined

undefined / 2
は、どっちも同じ結果になる



575 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 14:35:34 ]
関数型言語関連で購読おすすめのブログをいくつか教えてください

576 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 15:44:34 ]
>>575
このスレ的にはここ
ttp://planet.haskell.org/

577 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:06:53 ]
haskellerの皆さんって、元々はSchemeとか使っていたんでしょうか?

自分、関数型はハジメテでちょっと戸惑いがあったんですが、SICPを読んでみたら
何か分かってきました。

Haskellは今のところそういう文脈というか、経緯を知っている人たち向けってこと
なんでしょうかね。

578 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:12:23 ]
俺はC++から入った
他の関数型は、SML入門をちょっとwebで読みあさった経験しかなかった

579 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 23:45:49 ]
Common Lisp -> OCaml -> Haskell

580 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 23:54:20 ]
WebProg -> Haskell

581 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 00:03:12 ]
C++ -> Haskell (あまりのパラダイムの違いに混乱中)

582 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 01:50:01 ]
>>581
C++のconcept(次の標準で入る)とHaskellのtype classは同じ。

自分は
雑多なLisp→Common Lisp→Miranda, CLOS, ML, C++→Haskell, Scheme, C++

583 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 02:00:01 ]
>>577
そうですね。
関数型言語での再利用とオブジェクト指向言語での再利用では
毛色が全く違うので戸惑うでしょうね。

584 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 02:03:51 ]
関数型言語といっても、遅延評価が入るだけでかなり質が変わってきますよ。
LispやMLの方がCプログラマには分かりやすいでしょう。



585 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 02:20:11 ]
>>577
Haskellはそういう知識を得ることが楽しい人向けの言語。
先に知っていても、必要だと思ってそこで勉強しても、どっちでもいいと思う。
まあとにかく世界の広がる言語だと思う、Haskellは。
Schemeも面白い。

586 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 02:25:30 ]
モナドを学ぶのにオススメの書籍やwebサイトはありますか
一応一通り検索して解説を読んでみたんですがいまいち概念を把握できてないです

使う分には困らないんですが

587 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 11:56:49 ]
>>586
圏論の基礎

588 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 12:12:57 ]
>>586
>>421


589 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 15:05:15 ]
母:順へ げんきですか。いまめーるしてます

順:うるさい死ね メールすんな殺すぞ

母:ごめんね。おかあさんはじめてめーるしたから、ごめんね

順:うるさいくたばれ、メールすんな

母:ちゃんとご飯食べてる? お金送りましょうか?

順:うんありがとう。かあさんこそ体とか大丈夫?

590 名前:577 mailto:sage [2008/03/01(土) 19:22:00 ]
なるほど、やはりLispからの方が多いんでしょうかね。

自分はLisp系知らずにHaskellやろうとして、map、fold、zipWithなどのリスト操作が
最も基本的なものとして扱われているのがピンときませんでした。

色々文書読んだりした後で、SICPを読んでみたら凄い分かってきましたよw。どうも
そういう文脈にある人々向けにドキュメントなどが作成されているなぁと。JavaやC#
とかが、C、C++の文脈を知っている人向けのドキュメントが多いのと同じでしょうかね。

591 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 01:21:53 ]
map, reduceは他の言語でも、
コレクション周辺でサポートされてるよね?
ただgeneric function系じゃないと、
ちょっと趣きが違うから戸惑うのかも知れないが。

592 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 04:50:00 ]
>>590
まず、今までループで処理してたところを全部再帰で考え直してみようよ。
再帰処理の部分を一般化して関数にできないかどうか考えてみようよ。

593 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 04:50:39 ]
SICPってMITの1年生用の教科書でしょ?

594 名前:577 mailto:sage [2008/03/02(日) 08:02:16 ]
>>591
ありますけど、理科系研究の実習用プログラムとかではない限り、あまり
使われないんじゃないかと思います。実際、言語の入門書類でも大きくは
扱われませんよね。

>>592
再起はそんなに戸惑いはありませんでした。どちらかと言えばループが
手続きの部分として扱われるのに対して、関数型ではそういう書き方は
あまりしない(醜いコードとなる)ってことですね。

>>593
そうです。すごい良書だと思います。



595 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 10:43:26 ]
>>594
> 実際、言語の入門書類でも大きくは扱われませんよね。

入門書は年々数が増えていっていると共に、
糞本の割合が増えていっているから、
入門書一般の常識はいまや非常識といっていい状態。
本格的に取り組む入門書は嫌われるから。

関数型言語、特に本場の本は良書が多くてそういう心配はないんだけど。

596 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 10:51:29 ]
古くても良書とされている入門書を店頭にわかりやすく並べている
本屋の数は、日本に人間の指の数ぐらいしか無いんではなかろうか。
他は次々と出る駄本の新刊を並べてるだけ。

597 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 10:53:22 ]
Rubyなんかだとmapやinjectを使うのが当たり前かと思ったけど、そうでもないのか

598 名前:577 mailto:sage [2008/03/02(日) 11:26:03 ]
>>595
自分はSICP読んで、何でもっと早くに手に取らなかったのか、と後悔してます。

>>597
Rubyのそういった機能は関数型由来のものですよね。C言語系列の手続き型
にはあまり登場しないんじゃないかと思います。

599 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:03:41 ]
使えないand/or使いたがらないand/or嫌悪する奴もまたいますな

600 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:34:31 ]
and と or って左結合?

601 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:53:14 ]
THE HITCHHIKER'S GUIDE TO THE HASKELL 「HASKELL の歩き方」
ttp://ha6.seikyou.ne.jp/home/yamanose/haskell/home.html

web上の日本語の入門文書で、言語全体をカバーしてるのは初めてじゃないだろうか

602 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 18:12:31 ]
>>601
なぜに自転車屋のホームページ?w
ラジオ部 って何?w

モナドに関して、あえて説明しないってのは、入門としてはありかもね。

603 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 23:38:42 ]
Parsecを理解できる書籍って

普通のHaskellが妥当かな?

604 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 08:55:56 ]
ひらがなで書かないと書籍名に見えないw



605 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 09:07:55 ]
>>603
www.cs.nott.ac.uk/Department/Staff/gmh/monparsing.ps

606 名前:602 mailto:sage [2008/03/07(金) 13:57:47 ]
よく見ると>>601って、
手続き言語的にHaskellを解説してるように思えるな…。

こういう入門書でHaskellを学ぶ人が多くなると、
オブジェクト指向の時みたいに混乱しそう…。

初心者のオレでも?なコードがある…。


607 名前:606 mailto:sage [2008/03/07(金) 15:35:46 ]
あぁ!「?なコード」は
>>601 でなくて、>>601 で参照してる↓だった
関数型プログラミング言語 Haskell 早巡り
ha6.seikyou.ne.jp/home/yamanose/haskell/INTROHUG.HTML



608 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 17:08:28 ]
最近のライブラリはほとんどarrowベースになってるんだなぁ・・・

609 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 21:39:33 ]
>>608
自分、Craft読み終えたばかりでモナドも入り口しか知らない…

道は遠いなぁ

610 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 18:58:13 ]
ghcに-prof -auto-allを付けると最適化が弱まるのはいやがらせか?
フルに最適化の掛かったコードのプロファイルを取るにはどうすればいいんだ

611 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 19:14:50 ]
>>610
最適化ありとなしなら違うだろうけどそれぐらいなら大差つきそうな感じもしないし
だいたいでいいんじゃない?

612 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 19:55:01 ]
>>611
いや、一番内側のループにGHC.IOBase.>>の呼び出しやらunboxing/reboxingやらが残るんだ
もともと最適化で余計なものが全部消えることに期待しているソースなので、影響が大きい
実際、プロファイル版だと通常版の7倍くらい時間が掛かる
もちろんプロファイルのオーバーヘッドもあるだろうけど、別のソースだと3倍くらいで済むので、
最適化がうまく効かないことの要因が大きいと思う

613 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 13:44:15 ]
wxHaskell 0.10.3 rc1が出てた。

614 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 16:47:24 ]
wxHaskellをスタティックリンクする方法ありませんか?



615 名前:デフォルトの名無しさん [2008/03/18(火) 09:56:50 ]
Gtk2Hsと比べてどうなの?

616 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:37:58 ]
ghc test.hs -o test
とやった時に生成される
test.hi
test.o
test.manifest
この3つのファイルを生成させなくする方法ってないですか?

617 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:52:22 ]
>>616
manifestファイルの生成は-fno-gen-manifestで抑止できる
ただし多少の副作用がある。詳しくはマニュアル参照
oとhiの生成を止めるのは多分無理。これなしじゃ分割コンパイルできないし
ファイルが残るのが嫌なら、ghcを実行した後にoとhiを削除するスクリプトでも組めばいい

618 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 22:10:49 ]
>>617
ありがとうございます
スクリプト書いて我慢することにします。

619 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:13:49 ]
Introduction to Functional Programming Using Haskell
¥ 11,554 (税込)

ペーパーバックでこれって…。何でこんな高いの?

620 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:11:09 ]
Bird大先生の書いた素晴らしい本なのでその価値はあります。
文章はもちろんコードが素晴らしいです。

621 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:19:32 ]
>>619
需要と供給の関係じゃない?

622 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:33:24 ]
>>621
Craftとかと比べるとあんまり売れ筋じゃないってこと?

623 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:47:52 ]
>>619-620
「関数プログラミング(using Miranda)」はもっと安いYO!i

624 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:32:20 ]
正直コードのぱっと見はSASL系のMirandaの方が好きだった。比Haskell



625 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:54:32 ]
>>619
円高なんだから.comの書店から輸入すれば安いYO!

626 名前:デフォルトの名無しさん [2008/03/20(木) 13:46:58 ]
>>624
どの辺が違うの?

627 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 13:48:34 ]
>>624
Mirandaスレ逝けYO!

628 名前:619 mailto:sage [2008/03/20(木) 13:57:36 ]
っていうか、もう買っちゃったんだけどw

ついさっき届いたんだが・・・チョっw、Craftとかよりも紙が安っぽいwww

これ、11,554円か・・・。頑張って自分のモノにしないとなw

629 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 14:32:26 ]
1966年にP.J.LandinがISWIMという言語を作ったのがその起源で、SASL, Mirandaという後継言語を経て、HaskellとCleanが生まれました。
これらは、全て「遅延評価」を評価戦略におくプログラミング言語であり、「純粋関数型言語」と呼ばれるグループです。

SASL系のMiranda???イミフ。

630 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 19:31:56 ]
1954年にJ.BackusがFORTRANという言語を作ったのがその起源で, Algol, Cという後継言語を経て、C++とJavaが生まれました。
これらは、全て「副作用による状態の更新」を実行の基礎とするプログラミング言語であり、「手続き型言語」と呼ばれるグループです。

Algol系のC???イミフ。

631 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 19:39:51 ]
wxHaskell 0.10.3 が出たみたい。
sourceforge.net/project/showfiles.php?group_id=73133

632 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:22:00 ]
遅延評価よりもしっくりくる言葉はないものだろうか
直訳で不精評価とか?

633 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:37:01 ]
>>632


634 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:45:23 ]
SASL系のMirandaって何?Haskellは何系なの?クワシク。



635 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 00:00:20 ]
HaskellはMiranda系です

636 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 00:20:12 ]
>>630 なにが意味不なのかわかんね

637 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 00:53:22 ]
英語が難しくてよく理解できないのでつがw

638 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 10:58:06 ]
>>629 なにが意味不なのかわかんね

639 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 11:43:24 ]
Point-free styleで
\a b -> a*b + a/b
を書くにはどうすればいいですか?
一般に,同一の引数を複数回使うような関数はどう定義すればいいですか?
さらに例えば2引数a, bを取って,それらを複数回使い,
その場所が構文木の深さで並べたとき交互に入り混じるような関数はどう定義すればいいですか?
\a b -> a + exp(b + exp a)
みたいな.
* idとかを使って形式的に同じ深さにする(例えば snd(id b, id a) + exp(id b + exp a) とする)
* 2変数関数に同じ引数を与えるようなapplyをあらかじめ定義しておく
(そう言えばSコンビネータは S f g x => f x (g x) でxが2回出てくるなぁ...)
が鍵かなーと思ってますが,一般にはどうすればいいのか.

640 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:18:34 ]
Control.MonadとControl.Monad.Instancesをインポートするとこの二つが使える
ap :: (a -> b -> c) -> (a -> b) -> a -> c
liftM2 (.) :: (a -> b -> c) -> (a -> d -> b) -> a -> d -> c
どっちも便利

641 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:51:22 ]
s = \ x y z -> x z (y z)
k = \ x y -> x
i = \ x -> x
-- f = \ a b -> a * b + a / b
f = ((s ((s (k s)) ((s ((s (k s)) ((s (k k)) (k (+))))) ((s ((s (k s)) ((s ((s (k s)) ((s (k k)) (k (*))))) ((s (k k)) i)))) (k i))))) ((s ((s (k s)) ((s ((s (k s)) ((s (k k)) (k (/))))) ((s (k k)) i)))) (k i)))

642 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:37:06 ]
返り値がユニットって他の言語で言うvoidの事ですか?

643 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:43:08 ]
他の言語ってどの言語だよw

644 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:46:42 ]
例えばcやJavaです



645 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:59:03 ]
>>634
> SASL系のMirandaって何?

Turner大先生の作った言語がSASL→KRC→Miranda
en.wikipedia.org/wiki/Miranda_%28programming_language%29

Mirandaは売り物じゃなければもっと普及したと思う。

646 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 19:45:21 ]
>>642
全く違います。
Unitは値ですがvoidは値ではありません。

647 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:22:47 ]
全く違いますか・・・
勉強しなおしますい

648 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:26:41 ]
void 式は存在するし、C++ だと return 文にも渡せるが、
void 式を入れる変数が存在しない点が Unit とは大きく違う点か。

649 名前:デフォルトの名無しさん [2008/03/23(日) 21:46:56 ]
TAPLにはunitとCやJavaのvoidの使われ方は近いと書いてあるね。

650 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:57:00 ]
使われ方は近いっていうのと概念が近いってのを混同せぬよう。

651 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:36:57 ]
voidは引数として渡せないしな。

652 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:51:43 ]
データ構造にも入れられない

653 名前:639 mailto:sage [2008/03/24(月) 00:09:11 ]
>>640
Control.Monad.Instances って関係あるんですか?
つーか Control.Monad の ap や liftMn は (Monad m) => ... m a -> ... な感じでモナド専用なのでは?

>>641
トランスレータ乙w
Wikipediaに載ってる変換アルゴリズムには
> In general, the T[ ] construction may expand a lambda term of length n to a combinatorial term of length Θ(3n).
とありますが.
まぁSKIがあれば不可能な訳ではない,と...

R. Bird先生とかの論文で習うしかないのかなー

654 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 00:11:01 ]
日本語でおk



655 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 00:19:18 ]
instance Monad ((->) r) -- Defined in Control.Monad.Instances

656 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 01:13:02 ]
lambdabotのplというプラグインが自動でポイントフリー変換をしてくれる
\a b -> a*b + a/b
を入れたら
ap (ap . ((+) .) . (*)) (/)
が返ってきた

\a b -> a + f (b + g a)
だと、
ap ((.) . (+)) ((f .) . (+) . g)






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

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

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