((Common Lisp) (Sche ..
[2ch|▼Menu]
596:デフォルトの名無しさん
06/12/14 02:45:25
>>595
「変数とは何か」くらい自明なものとみなされてる,とか

597:デフォルトの名無しさん
06/12/14 04:08:24
小さい処理系のソースを見りゃ良いんじゃないか。


598:デフォルトの名無しさん
06/12/14 04:45:33
>>594
まあ、comp.lang.schemeあたりを見てると変なケースについてこれは
どうなんだって議論が時々出るから、完璧じゃないな。
継続については7.2章もあるし、かなり良く理解されていると思う。
但し、dynamic-windのbefore/after thunkの継続が未定義になってる
のは欠点。(R6RS案では明確になってたはず)
マクロについても、特にマクロを生成するマクロについて曖昧な点が
あったような気がする。

>>596
「変数とは何か」は7.2章に書いてあるのでだめかな。

だがR5RSに突っ込むならもっとでかい穴がある。マクロで生成される
internal defineとか、トップレベルのセマンティクスとか。






599:デフォルトの名無しさん
06/12/15 04:28:38
SBCL を最初に知ったのはこのスレだったのでご報告。
「お前のパッチ多過ぎ、自分でコミットしろ」と言われて developer になる
ことになりました。このスレがなければ SBCL と出会えなかったかもしれない。
感謝。

600:デフォルトの名無しさん
06/12/15 04:36:53
!素敵

601:デフォルトの名無しさん
06/12/15 07:50:54
>>598 おめでとー。SBCL にはお世話になってます。今後ともがんばってください。

602:デフォルトの名無しさん
06/12/15 08:06:32
599すげえ。
めでたいのでage

603:デフォルトの名無しさん
06/12/15 15:31:01
すげー。sbcl とλ の未来のためにがんがってくれ!
おれもclで何か作ってみようかなぁ

604:デフォルトの名無しさん
06/12/16 02:05:34
乙!

605:デフォルトの名無しさん
06/12/16 10:18:38
リーダーマクロなるものがあるそうで使ってみたいと思っています。
どうすれば使えるんでしょうか。
scheme、CommonLisp問わず、
ごぞんじ処理系について教えてください。

606:デフォルトの名無しさん
06/12/16 13:10:12
Common Lispならもれなく付いてくる。使い方はCLtL2でも読むよろし。

607:デフォルトの名無しさん
06/12/16 20:29:18
>>474 の黒田のScheme叩きにShiro氏がなんか書いてるね

Scheme:マクロ:CommonLispとの比較
URLリンク(practical-scheme.net)

608:デフォルトの名無しさん
06/12/16 20:32:31
こっちが誘導先かな

「Schemeについてどう思うか」についてどう思うか?
URLリンク(practical-scheme.net)

609:デフォルトの名無しさん
06/12/16 22:03:58
マクロについてはCommon Lisp流のほうが好きだな。
Schemeのマクロはある意味美しいのだが、書き方で悩んで仕事がはかどらない。
(もちろん俺の能力の問題だけど)

610:デフォルトの名無しさん
06/12/16 22:50:55
>>607
前にこのスレで騒いでた本人 == WiLiKi に突撃した本人 == 607 の気配がする…
なんつーか、自分の使ってる言語を批判されたくらいでそんなに癇に触るなら
Scheme はやめといたほうがいいよ。たぶん Haskell とかのほうが向いてると思うよ。

611:デフォルトの名無しさん
06/12/16 23:08:13
「気配がする」なんていう「神のお告げ」レベルの根拠で
そこまで上から説教できる精神構造って・・・

612:デフォルトの名無しさん
06/12/16 23:42:51
煽り体制が低い奴は Scheme やめといたほうがいいってのは同意だな。
あの程度の煽りでガタガタいってると comp.lang.scheme とかのフレームは読めないぞ。


613:デフォルトの名無しさん
06/12/16 23:56:15
Schemeはおもちゃ

614:デフォルトの名無しさん
06/12/17 00:10:20
ガタガタ

615:デフォルトの名無しさん
06/12/17 00:32:37
Schemeはオモチャ

616:デフォルトの名無しさん
06/12/17 01:28:55
>>610
まったくの別人だよw
言語フェチなので基本的にどれかを特定に愛しているというわけでもなかったり
って Lisp かじる人ってだいたい同じようなものだと思ったり

617:デフォルトの名無しさん
06/12/18 02:46:02
XS-Lisp・・・・なくなったのか・・・?

618:デフォルトの名無しさん
06/12/18 03:02:47
黒田氏の発言に ruby のまつもとゆきひろ氏も反応
URLリンク(www.rubyist.net)

お騒がせだなw

619:デフォルトの名無しさん
06/12/18 03:10:49
やっぱりあの人は「Lispを知らない」と思う

620:デフォルトの名無しさん
06/12/18 04:39:48
「Lispをものにした」ことはありそうだ

621:デフォルトの名無しさん
06/12/18 05:45:04
ちょwルビーの中の人、釣り耐性ヒクスwwwww

622:デフォルトの名無しさん
06/12/18 06:32:44
そりゃまぁ「釣り」ってことにしておけば
どんな耳に痛いこと言われても反応自体を小馬鹿にできて便利だが、
たぶん黒田は本気だぞw

623:デフォルトの名無しさん
06/12/18 06:32:53
しかし、そうじゃなきゃ鋭いことはできないでしょう。

624:デフォルトの名無しさん
06/12/18 07:54:15
>>620
つうか、この Matz の発言はひでぇな。
「中途半端な真似で良いとこどりとか言われて不愉快」
つー記事に対して、「劣った人々」とかいかにもな用語持ち出してきやがって。
「言語仕様?ソース読め」な連中に Lisp は選民思想とか言われるのは Matz 影響だな…

625:デフォルトの名無しさん
06/12/18 08:58:20
>624 とりあえず、黒田乙。と言っとけばいいのかな?

626:デフォルトの名無しさん
06/12/18 09:03:13
この前nil_to_sの仕様で議論してたけどあれは酷かった

627:デフォルトの名無しさん
06/12/18 09:07:54
>>624
> 「劣った人々」とかいかにもな用語持ち出してきやがって。
黒田が持ち出した文章を、Matzが「訳した」だけなんだけど。
しかも黒田はその元文を「次の言葉で言い付くされている」とまで言ってるから、
黒田の発言のどうでもいい部分の揚げ足を取ったというわけでもない。

628:デフォルトの名無しさん
06/12/18 21:11:59
とうとう perl の小飼弾氏にまで波及www
URLリンク(blog.livedoor.jp)

黒田氏は良い餌撒いたなw
しかし Lisper にとっては迷惑甚だしいがw

629:デフォルトの名無しさん
06/12/18 21:23:06
弾はプログラム下手だからw

630:デフォルトの名無しさん
06/12/18 21:23:44
Perl、Ruby、Scheme の三者の発言を見てきたわけだが
Shiro 氏の話が誹謗中傷にならずちゃんと分析して具体的なタメになる話になっている
冷静さの差かなぁ
マクロに付いての話題にちゃんと繋げているし
Ruby や perl も同じように言語の特徴や分析で戦って欲しかった

631:デフォルトの名無しさん
06/12/18 21:35:43
コメント欄見る限りMatzはスルー力が足らないように思われます

632:デフォルトの名無しさん
06/12/18 21:36:29
webを回っていた、Lispというものを知りました。

Lispの存在意義についてお聞きします。
Lispは現在どんな使い道があるのですか?
また、Lispで作られた実用的なソフトをほとんどみたことがないのですが、
どんなものがありますか?

Script Languages
URLリンク(cl-www.msi.co.jp)

>彼等が鬼の首とったように言うことの1つに Lisp はマイナーだから云々、というのがあります。
>しかし ANSI (XJ13) から正式に The Standard が出てる以上にプログラミング言語のメジャー性を裏付けるものってあるんでしょうか?

とありますが、では何故、Windowsで、まともな処理系がないのでしょうか?
Lispで作られた、実用ソフトもほとんど見たことがありません。
(xyzzyくらいです、しかも組み込みですし)

webアプリ開発でも使われているのが、ほとんどみたことがありません。

メジャーというからには、相当数ユーザー人口がいると思うのですが、どれくらいいるのでしょうか?

633:デフォルトの名無しさん
06/12/18 21:36:31
KURODA の実績って本田技研でデータベースのアーキテクチャ設計したくらいか?
ホンダは独創を好む社風だから説き伏せられていいカモにされたんだろうな。
数理システムが潰れたら本田技研のデータベースどうなるんだか。

634:デフォルトの名無しさん
06/12/18 21:36:58
> webを回っていた、Lispというものを知りました
webを回っていたら、Lispというものを知りました


635:デフォルトの名無しさん
06/12/18 21:42:09
黒田のせいで変なの来たぞw
なんでこいつらみんな同じ事言うんだろうな

636:デフォルトの名無しさん
06/12/18 21:46:12
同じ人だからだよ

637:デフォルトの名無しさん
06/12/18 21:46:40
>>632
半年ロムれ

638:デフォルトの名無しさん
06/12/18 22:13:04
クロちゃんはどの程度のlisp hackerなんだよ
Guy Lewis Steele Jr.とファーストネームで呼び合えるくらいなのか?

639:デフォルトの名無しさん
06/12/18 22:23:53
ハカーっぷりはともかく、政治力はあるねえ。ALUの役員やってたりするし。

640:デフォルトの名無しさん
06/12/18 23:50:11
黒田頑張っても毒吐いてもPaul Grahamには慣れないだろうな
そう言えばYコンビネータとかどうなったんだろ

641:デフォルトの名無しさん
06/12/18 23:54:20
そこで湯浅太一先生に期待ですよ

642:デフォルトの名無しさん
06/12/19 00:09:57
gavino といいおかしな人の行動は世界共通なのかなー

643:デフォルトの名無しさん
06/12/19 00:30:03
スレ伸びすぎワロタ

644:デフォルトの名無しさん
06/12/19 00:42:26
あのミロのサルまねみたいなタイトル画像ダサ。


645:デフォルトの名無しさん
06/12/19 00:43:00
他の Lisp Hacker からの反論も欲しいなあ。
あんなのが Lisp User の共通認識だと思われちゃうと、ますます新人が入って
こなくなっちゃうよ。(黒田氏的にはむしろ望ましいのかもしれんが)

646:デフォルトの名無しさん
06/12/19 00:55:12
まともな奴ならあれが共通認識だとは思わないでしょ。

647:デフォルトの名無しさん
06/12/19 00:58:51
>646
世の中というのを甘く見てはいかんよ。
でも黒田さんもたぶん、そういうことは想定していないんだろうね。単に
(Common) Lisp はすごいんだぞ、というアピールくらいのつもりなんじゃない
かなぁ。



648:デフォルトの名無しさん
06/12/19 01:00:09
過激なこと言って注目を集めて Franz の Lisp を売ろうという
営業手法なのかもしれんね。あれだけ言えば、とりあえず Lisp
ってどんなもんか見てみるかって気になるやつがいるかもしれん。
トラブルを起こして注目を集めるという和泉モトヤ的?手法?

649:デフォルトの名無しさん
06/12/19 01:11:11
このスレってこんな話題ばっかやね

650:デフォルトの名無しさん
06/12/19 01:42:07
>>647
いやいや、クロちゃんのシロちゃんに対するアンビバレンツを見よ。
彼は Lisp をアピールしつつも、使ってほしくないとも思ってるんだよ。

651:デフォルトの名無しさん
06/12/19 02:16:13
>>648
>トラブルを起こして注目を集めるという和泉モトヤ的?手法?
ホンダの営業がよく使う手だ

652:デフォルトの名無しさん
06/12/19 02:20:36
どうでもいいが「シロクロはっきりさせる」と言う言葉がうかんだ。
つかなんでいつもフレームになるんだろう。

頭がよくてもコモンセンスない人大杉


653:デフォルトの名無しさん
06/12/19 02:54:09
フレームはレクリエーションだから。温泉宿での卓球みたいなもの。

654:デフォルトの名無しさん
06/12/19 03:13:09
そんなことより SBCL すごいことになってるぞ
URLリンク(www.technorati.jp)

655:デフォルトの名無しさん
06/12/19 06:12:47
確かにすごいことになってるな。

656:デフォルトの名無しさん
06/12/19 06:20:58
もう荒しはやめろ

657:デフォルトの名無しさん
06/12/19 13:03:41
lisp嫌いな人って、どこら辺が嫌なんだろ。
前置記法や括弧が多い以外になんか聞いたこと有る?


658:デフォルトの名無しさん
06/12/19 13:29:21
>>657
個人的にはFORTHとかの変り種とか見てきたせいか前置記法とかは気になったこと一度も無い。
でも初めてlispを知ったときは括弧の対応をどうやってすばやく把握するのか非常に迷った事がある
特にcond周りとかで迷子になったせいで括弧の多さは辟易したが、プリティプリントや構文サポートつきのエディタの存在をしってからは気にならなくなった。
実際嫌いな人何人か見てきても見た目の括弧の多さに引いてしまい、結局のところ食わず嫌いで終わってる気がする。


659:デフォルトの名無しさん
06/12/19 15:00:07
自分は多少かじってる程度だけど、むしろずらずらと連続する括弧に快感をおぼえる。
でも、括弧をどう並べたら素晴らしいかは迷うな。
日によっても美しいと感じる並べ方が変わる。
うはw変態ww

660:デフォルトの名無しさん
06/12/19 15:27:09
Lispに触れる前は、ワサワサと連続する閉じ括弧に「なんだこりゃ」とのけぞったけど、
いざ触ってみたら、閉じ括弧は人間(プログラマ)が意識せにゃならん要素ではなかった。

コードいじってて、閉じ括弧幾つ書けばいいんだっけ? と思ったら
とりあえずダダダダっと大量に連続させて、開き括弧にカーソル当てて
エディタ様に「切れ目」を選んでもらい、そこで改行&行ごと削除。
ちょっと画用紙で工作してるときのフィーリングに似てるなと思ったりw

661:デフォルトの名無しさん
06/12/19 16:35:32
いくつかスレも立ってるが、括弧のないLISPを作る試みはすべて失敗した。

662:デフォルトの名無しさん
06/12/19 19:03:35
LISPがウケないのはカッコじゃなくて前置記法だっつうの。


663:デフォルトの名無しさん
06/12/19 19:42:10
俺の実体験から言うと括弧でしたよ。
一々括弧の対応を追わずにインデントだけで読める事に気付くまでは大変だった。

664:デフォルトの名無しさん
06/12/19 20:28:42
>>662
そんなこと言いつつ、アセンブリ言語は好きだったりしないか?

665:デフォルトの名無しさん
06/12/19 20:29:47
俺は、前置記法だな。
なんつーか、オブジェクト指向言語を使った後で使った後に、
C言語を使ったもどかしさと同じものを感じる

666:デフォルトの名無しさん
06/12/19 20:35:06
あれこれ使ってると、無意識に (x + y) とか書いてて処理系に怒らることある

667:デフォルトの名無しさん
06/12/19 21:32:49
>>666
CとSchemeの間は自動的に頭が切り替わるんだけど、
JavaScript付近の微妙なとこだと俺もそういうことがある。

668:デフォルトの名無しさん
06/12/19 22:24:49
もりあがってんな

669:デフォルトの名無しさん
06/12/19 22:42:50
オレの場合は再帰
とくに末尾再帰を考えると頭が痛くなったな
あとはやっぱりlambdaかな
高階関数とか関数型言語のエッセンスもC/C++から来た人間には辛い
括弧よりこっちの方jが壁になるんじゃないだろうか
スクリプト言語からなら壁は薄いのかも知れないけど

670:デフォルトの名無しさん
06/12/19 22:53:44
末尾再帰はだるかった
高階関数はC使いでも
関数ポインタばりばり使う変態なら結構いけるんじゃね?
とかおもった。

671:デフォルトの名無しさん
06/12/19 22:58:25
高階関数は他の言語でも結構使ってるよ。
制御構造とか作れて便利

672:デフォルトの名無しさん
06/12/19 23:01:57
再帰も高階も使いたくないなら使わなきゃいいだけなんだけどね。
使いたい状況のときに使えるのが利点なわけで、それが壁になるというのは
本末転倒の状況と言えるだろう。

673:デフォルトの名無しさん
06/12/19 23:05:05
ループマクロの書き方がわかってんなら再帰する必要もないだろ。

674:デフォルトの名無しさん
06/12/19 23:08:47
Common Lisp のLOOPマクロのすべての書き方を覚えるほうが百万倍大変だよな。w

675:デフォルトの名無しさん
06/12/19 23:41:41
>>670
関数ポインタと高階関数は違うからなぁ
レキシカルスコープで環境まで渡せるのがCommonLispやSchemeの高階関数だし
関数を作って返すことも出来ない

>>672
理解出来ていないで使えないのと使わないのでは違うんじゃ
理解していないと使う状況も利点も見えてこないと思う

>>673
ループマクロで再帰を代替えできるってのも違うような

どちらにしろC/C++からは結構なパラダイムシフトを強いられる言語ではあるような気がする

676:デフォルトの名無しさん
06/12/20 01:07:06
>>661
Skillしらん?

677:デフォルトの名無しさん
06/12/20 01:11:21
「すべて失敗した」うちの一つだと思われ

678:デフォルトの名無しさん
06/12/20 01:21:53
emacs lispの次くらいに世界で広く使われている(と思われる)
lispで書かれた極めて実用的なdesign fare workなんだけど。
URLリンク(www.google.co.jp)
数年前の4.3で10Mstep以上だと聞いた記憶がある

679:デフォルトの名無しさん
06/12/20 01:23:09
初めて聞いた

680:デフォルトの名無しさん
06/12/20 01:35:45
分野的に縁がなければ知らないのも無理がないか…
Syntaxはこんな感じで
URLリンク(www.ee.vt.edu)
とても書きやすい。これは(let 使ってるからまだlispの()syntaxの片鱗が見えるけど

681:デフォルトの名無しさん
06/12/20 01:37:49
そういやPythonもLogoも中身はLispみたいなもんだったw

682:デフォルトの名無しさん
06/12/20 01:46:49
>>661
Guido LispやMatz Lispはまだ失敗してないぞ

683:デフォルトの名無しさん
06/12/20 01:47:29
ケイデンスが開発したのか。EDA業界ではメジャーなのかな。
Lispに慣れてるせいか、Lispより読みやすいとか書きやすいとかは正直感じないなぁ。
括弧に抵抗ある人にとっては、こういうほうが良いんだろうけど、マクロとかの話を始めると
結局二重言語になってしまって却ってわかりにくいんじゃないだろうか。

684:デフォルトの名無しさん
06/12/20 02:06:34
The following example illustrates a custom syntax for a special way to build a list from an
original list by applying a filter and a transformation. To build a list of the squares of the odd
integers in the list
 ( 0 1 2 3 4 5 6 7 8 9 )
you write
trForeach(
 ?element x
 ?list ’( 0 1 2 3 4 5 6 7 8 9 )
 ?suchThat oddp(x)
 ?collect x*x
) => ( 1 9 25 49 81 )

instead of the more complicated

foreach( mapcar x
  setof(x ’(0 1 2 3 4 5 6 7 8 9) oddp(x))
  x * x
 ) => ( 1 9 25 49 81 )

Implementing an easy-to-maintain macro requires knowledge of how to build SKILL
expressions dynamically using the backquote (‘),
comma (,), and comma-at (,@) operators.
The definition for trForeach follows.

defmacro( trForeach ( @key element list suchThat collect )
 ‘foreach( mapcar ,element
  setof( ,element ,list ,suchThat )
     ,collect
 )
)

685:デフォルトの名無しさん
06/12/20 02:07:58
>>682
まだ失敗してないけど、成功するとは思えません。
いや、マジな話店頭で気軽に買える処理系がそのまま仕事で使えるようにならないと普及せんだろ?


686:デフォルトの名無しさん
06/12/20 02:15:38
>>685
2行目には賛成するが、3行目には賛成できない。

687:デフォルトの名無しさん
06/12/20 02:20:13
(defun fibo (n)
 ( cond
  (( or (equal n 1) (equal n 2) ) 1 )
   (t (plus ( fibo (difference n 1) )
         (fibo (difference n 2 ) ) ) )
  )
)

↓こんな感じ。

procedure( fibo(n)
  if ( (n == 1 || n ==2 ) then
     1
  else fibo(n-1)+ fibo(n-2)
 )
)

どっちで書いてloadしても良いんだけどさ。

688:デフォルトの名無しさん
06/12/20 02:21:45
言いたかったのは失敗だなんてのは
悪いけど、井の中の(ry

689:デフォルトの名無しさん
06/12/20 02:28:42
問題はCadenceが言語syntaxに知財持っていると
openな似たsyntaxの処理系訴訟されかねないって点かな
Cadenceは権利にメチャこだわる(うるさい)会社だから

690:デフォルトの名無しさん
06/12/20 02:43:36
Ruby はもうキャズム越えただろ
店頭販売の処理系じゃないとってw
その理論だと perl や PHP などの web 系の仕事は成功とは言われない訳だな
Java も処理系は売ってないな
JavaScript も Ajax などのブラウザクライアント言語として成功しているように思えるがこれも成功じゃないのかw
なにが基準で成功なんだwwww

691:デフォルトの名無しさん
06/12/20 02:49:26
>>687
こういうのもLispで自己記述できるんですか?

692:デフォルトの名無しさん
06/12/20 02:49:42
外したよ。自分で気が付かないと。

693:デフォルトの名無しさん
06/12/20 02:52:13
Lispで自己記述できるかどうかは知らない。
pretty printするとS式「でも」表示できるから中身は全くのlisp。

694:デフォルトの名無しさん
06/12/20 02:58:54
そういうreaderをLispで書くのはさほど難しくはないだろうね。
ただ、言語を普及させるってのは別の意味の労力が必要だからなぁ・・・

695:デフォルトの名無しさん
06/12/20 03:01:17
俺はそう言うopen のreader(あれは単なるreaderではなさそうなんだが)
喉から手が出るほど欲しいんだよ
生産性が桁違いなんだ
自分で作っている時間が無くて残念

696:デフォルトの名無しさん
06/12/20 03:04:40
普通は
(defun fibo (n)
 (if (or (= n 1) (= n 2)) 1)
   (+ (fibo (- n 1))
     (fibo (- n 2)))))
って書くから、少なくともタイピング労力的には大差ない気がしちゃうのは
俺がLisp贔屓だからだろうか。w

697:デフォルトの名無しさん
06/12/20 03:05:53
たぶんね。もう少しややこしいcodeだとありがたみが分かる

698:デフォルトの名無しさん
06/12/20 03:06:51
>>696
あ、ちょっと間違えてるな。w
まぁ気分だけ汲み取ってくれ。

699:デフォルトの名無しさん
06/12/20 03:09:42
結局、Lispに慣れてないとなかなかそういう物はつれない。
だけど、Lispに慣れちゃうと特に必要性を感じない。
というわけで、あまり作られないんじゃないかと思う今日このごろ。
Pythonくらいに明確にLispとは違う言語にしちゃうなら話は違うだろうけど。

700:デフォルトの名無しさん
06/12/20 03:11:26
多分
・lispのcodeの一見難解さが(頭の体操みたいで)好き
・lispの柔軟さが好きだけどパット見た目のcode分かりやすさも重視したい俺
好みの違いの希ガス

701:デフォルトの名無しさん
06/12/20 03:14:39
いくら何でも寝ます
最近はHaskellがお気に入りだったりするw
ノシ

702:デフォルトの名無しさん
06/12/20 03:55:24
言語自体が S 式じゃなくても
言語の木構造をファーストクラスオブジェクトとして扱える
上記に伴い、文字列・ファイルストリームから評価前の木構造を取り出せる
くらいできるとずいぶん使い勝手がいいと思うんだけどなあ。
世の動的言語デザイナーは、なぜ read と eval を分離しようとしないんだろうか。

703:デフォルトの名無しさん
06/12/20 04:03:34
オブジェクトを忘れょぅょ
関数プログラミングが完全に包含しているんだから

704:デフォルトの名無しさん
06/12/20 10:32:05
閑散
黒田
盛盛


705:デフォルトの名無しさん
06/12/20 12:55:35
>702
禿同

706:デフォルトの名無しさん
06/12/20 13:08:18
結論としては、黒田マンセーということで。

707:デフォルトの名無しさん
06/12/20 21:19:56
>>702
>世の動的言語デザイナーは、なぜ read と eval を分離しようとしないんだろうか。

言語デザイナーと言語実装者が分離してないからじゃないかな。
「正しい事」より実装が簡単な事の方が重要なのです。

708:デフォルトの名無しさん
06/12/20 21:36:15
共産主義と資本主義みたいなもんか


709:デフォルトの名無しさん
06/12/20 22:02:09
>>702
C♯は標準ライブラリを使ってソースをパースしてツリーとして使えるようになってるよ。
あとはHaskellとか。

710:デフォルトの名無しさん
06/12/20 22:07:39
>>709
C#のそれは違うのだが
どう違うのか説明が難しい

711:デフォルトの名無しさん
06/12/20 23:02:11
Pythonにもあるが、ツリーが奇々怪々で使えない

712:デフォルトの名無しさん
06/12/21 10:52:10
>710
kwsk

713:デフォルトの名無しさん
06/12/21 13:23:45
LCG あたりの話かな

714:デフォルトの名無しさん
06/12/21 15:19:52
抽象構文木がS式として手軽に扱えるようになってるだけじゃなくて、
quote(やquasiquote)があるのがLispの強い所でしょう。

715:デフォルトの名無しさん
06/12/21 15:34:49
グワシ

716:デフォルトの名無しさん
06/12/21 16:39:55
>>702
そうするとCLのシンボルがどこにinternされるか問題みたいなのが
出てきて、今度はそれと戦わないといけなくなる可能性があるからなあ。
Schemeみたいにパッケージ?何それ?なら話は簡単だけど。
全て文字列でやる?

717:デフォルトの名無しさん
06/12/23 23:56:21
OCamlのCamlp4にはquotationもantiquotationもあるよ

718:デフォルトの名無しさん
06/12/29 21:32:53
scheme で,階乗を末尾再帰で書こうと思って

(define (fact n)
(letrec (((fact-sub a n)
(if (= n 0) a
(fact-sub (* a n) (- n 1)))))
(fact-sub 1 n)))

こんなふうにしたらうまくいきません.なんで?

719:デフォルトの名無しさん
06/12/29 21:35:52
letrec は labels じゃないから

720:デフォルトの名無しさん
06/12/29 21:46:54
>>718
おまいさんがやりたいのはこういうことけ?

(define (fact n)
(let fact-sub
((a 1)
(n n))
(if (= n 0) a
(fact-sub (* a n) (- n 1)))))

721:718
06/12/29 22:14:29
letrec では関数は定義できないってことでしょうか?
で,そういう場合には名前つきletを使うと.
なるほどありがとうございます.


722:デフォルトの名無しさん
06/12/29 22:17:24
>>721
letrecでやりたけりゃこうなる。

(define (fact n)
(letrec ((fact-sub (lambda(a n)
(if (= n 0) a
(fact-sub (* a n) (- n 1))))))
(fact-sub 1 n)))

723:718
06/12/29 22:22:01
>>722
lambda を使うと letrec で定義できるのに,
使わなかったら定義できないのはどうしてでしょうか?


724:デフォルトの名無しさん
06/12/29 22:23:01
>>723
どうして定義できると思うんだ?

725:デフォルトの名無しさん
06/12/29 22:29:53
(define f (lambda (...) ...))

(define (f ...) ...)
と書けるのと同様の syntax sugar が letrec にも欲しいってことか?

726:デフォルトの名無しさん
06/12/29 22:36:53
>>725
そうだとしたらそういうマクロを定義すりゃいいだけのこったな。
欲しけりゃ作る。それがLisp系言語の宿命ってもんだ。

(define-syntax letrecf
(syntax-rules ()
((_ (((f args ...) b ...) ...)
body ...)
(letrec ((f (lambda(args ...) b ...)) ...)
body ...))))

(define (fact n)
(letrecf (((fact-sub a n)
(if (= n 0) a
(fact-sub (* a n) (- n 1)))))
(fact-sub 1 n)))

727:718
06/12/29 22:39:37
>>725
まさにそのとおりです.
OCaml や Haskell だと両者の区別がなかったので,
scheme でもそうに違いないと早とちりしていました.

728:デフォルトの名無しさん
06/12/29 23:01:25
>>726
それってletrecと同じように関数以外の定義も受け付けるようにできね?
俺には無理だが。

729:デフォルトの名無しさん
06/12/30 01:57:11
>>728
(define-syntax letrecf
(syntax-rules ()
((_ ((f b) ...)
body ...)
(let () (define f b) ... body ... ))))

730:デフォルトの名無しさん
06/12/30 12:19:22
funcall がウザい
#' がウザい
ただソレだけの理由で CL を避けて Scheme を選んでいます

731:黒田
06/12/30 12:54:19
ソースはどこに書いてるんですか?黒板?w

732:デフォルトの名無しさん
06/12/30 17:02:17
黒田節炸裂!

733:デフォルトの名無しさん
06/12/30 19:31:56
酒は飲め飲め?

734:デフォルトの名無しさん
07/01/01 05:50:16
俺としては、ローカル変数名と関数名が重なってしまうSchemeは使いたくない

735:デフォルトの名無しさん
07/01/01 08:34:17
誰か「対話によるCommon Lisp入門」という本
3000円で譲っていただけないでしょうか?

736:デフォルトの名無しさん
07/01/01 12:21:23
でた、関数名と関数名に似たような名前付けちゃう人。

737:デフォルトの名無しさん
07/01/01 12:33:59
>734
ローカル変数を使うときに
いちいち関数名とダブってるか気にするのって面倒だよな

とうわけで俺はpythonも嫌い

738:デフォルトの名無しさん
07/01/01 18:49:09
関数内で使う予定のない関数とダブるかなんてあんま気にしない。

739:デフォルトの名無しさん
07/01/01 19:21:16
全角英数字使う人の好き嫌いなんてどうでm(ry

740:デフォルトの名無しさん
07/01/01 19:29:20
>>738
でた、関数名と関数名に似たような名前付けちゃう人。


741:718
07/01/02 04:04:45
関数定義で,使わない仮引数(Haskell の _ みたいな)はどう書くの?


742:デフォルトの名無しさん
07/01/02 04:40:06
_ でも ~ でも好きな名前つけとけばいいじゃない

743:デフォルトの名無しさん
07/01/02 23:03:27
図形言語のフレームって円に出来る?
友達が円に出来るって言い張ってるんだけど

744:デフォルトの名無しさん
07/01/02 23:20:27
>>743
そう作ればそうできるよ

745:デフォルトの名無しさん
07/01/03 02:50:19
>>743
夢は きっと 叶う

746:デフォルトの名無しさん
07/01/07 23:23:22
lambda age

747:デフォルトの名無しさん
07/01/08 12:45:33
>>737
Python使い始めの頃lenって変数を使ってハマったことがあるw

748:デフォルトの名無しさん
07/01/15 04:22:11
(M (+ 1 2))=>"(+ 1 2)=3"
みたいなマクロってどう作りますか?

749:デフォルトの名無しさん
07/01/15 05:31:36
まず、式とその値を受け取って "式=値"という文字列を返す関数を作ってみ。

750:デフォルトの名無しさん
07/01/15 09:38:49
constant foldingでぐぐれ

751:デフォルトの名無しさん
07/01/15 21:00:11
>>748
schemeで書くとこんなカンジかなぁ。
CLは知らん。

(define (s->string s)
(let ((port (open-output-string)))
(write s port)
(get-output-string port)))

(define-syntax M
(syntax-rules ()
((_ s)
(string-append
(s->string 's)
"="
(s->string s)))))

752:デフォルトの名無しさん
07/01/18 01:32:24
CL ならこうかな。
(defmacro M (expr) `(format nil "~S=~A" ',expr ,expr))


753:デフォルトの名無しさん
07/01/18 02:22:33
CL すげぇ

754:718
07/01/18 03:01:47
schemeでもこうできるじゃん

(define-syntax M
(syntax-rules ()
((M expr)
(format #f "~S = ~A" 'expr expr))))

755:デフォルトの名無しさん
07/01/18 07:14:15
format って Schemer 的にどうなの?初期のハッカーの伝統を受けついでて
冗談みたいな機能がついてるけど、それってミニマリスト的には許せないよーな

756:デフォルトの名無しさん
07/01/18 09:04:50
俺はこだわらないが

757:デフォルトの名無しさん
07/01/18 12:33:08
ミニマリストは純LISPっしょ

758:デフォルトの名無しさん
07/01/18 13:17:11
>>755
> 冗談みたいな機能
kwsk

759:黒田
07/01/18 13:45:08
黒板に書ければなんだっていいのでは? :-)

760:デフォルトの名無しさん
07/01/18 14:46:36
>>758
スキームは知らんけど、コモンリスプだとこんなんとか
(format nil "~R" 12345)
=> "twelve thousand, three hundred and forty-five"
(format nil "~:r" 12345)
=> "twelve thousand, three hundred forty-fifth"
(format nil "~@r" 1234)
=> "MCCXXXIV"

761:デフォルトの名無しさん
07/01/18 16:51:19
>>760
サンクス。それは確かに冗談みたいだ。
少なくともSRFI48には入ってないな。

762:デフォルトの名無しさん
07/01/19 12:13:50
試してみたいがこれ試すためだけに
処理系入れるのもなぁ……
SRFI何やってんの

763:デフォルトの名無しさん
07/01/20 02:20:17
CLtL*のtexiファイルってないですか?


764:デフォルトの名無しさん
07/01/22 14:16:48
RnRSのversion5.92が出たけど、R5RSと比べると結構ページ数が増えてるね。
URLリンク(www.r6rs.org)

765:デフォルトの名無しさん
07/01/22 18:32:20
いまだにオブジェクトシステムもネットワーキングライブラリも入ってない件

766:デフォルトの名無しさん
07/01/22 19:47:34
↓ここで黒田が一言

767:デフォルトの名無しさん
07/01/22 20:05:24
どーんまいん

768:デフォルトの名無しさん
07/01/25 11:04:33
なんか()がatomかcellかで論争があったって話を聞いたんですが、
どんな論争だったんでしょうか。

769:デフォルトの名無しさん
07/01/25 11:20:25
知りません

770:デフォルトの名無しさん
07/01/25 11:59:13
知らない馬鹿は無理して会話に入ってこないで
黒板にSchemeコードでも書いてて下さい。

771:デフォルトの名無しさん
07/01/25 12:44:38
黒田にSchemeコードと空目した。


772:デフォルトの名無しさん
07/01/26 01:16:42
あまりネにもたないほうがいいとおもわれ…

773:デフォルトの名無しさん
07/01/26 02:00:44
からかうなら ILC がチャンス
Scheme 屋が周りにいるとこで「黒田さーん、Scheme が使いものにならない
理由をもう少し詳しく教えてください」とでかい声で英語で聞けばよろし

774:デフォルトの名無しさん
07/01/27 00:30:00
URLリンク(onecare.live.com)

> ウイルス、ワーム、トロイの木馬、ハッカー、フィッシング詐欺、
> およびその他の脅威からコンピュータを保護します。

ポール・グレアムさん
マイクロソフトに言わせるとハッカーはウイスルやワームと同じものらしいです

775:デフォルトの名無しさん
07/01/27 21:55:26
>774
マイクロソフト自身がスパイウェア作ってるのにな

776:デフォルトの名無しさん
07/01/29 00:47:58
なにこの香ばしい展開

777:デフォルトの名無しさん
07/01/29 08:37:28
オープンソーススクリプト言語の糞信者どもが
神聖なLispスレをオナニーで荒らしているのです。

778:デフォルトの名無しさん
07/01/29 12:23:21
ジハード!ジハード!

779:黒田
07/01/29 12:45:17
Lispが負けそうになったら
自分が出て行ってPとかRをやっつける

780:デフォルトの名無しさん
07/01/29 13:30:30
どのスレへ行っても言語勝負厨はうざいな

781:デフォルトの名無しさん
07/01/29 13:52:37
宗教戦争ネタの宿命ですな。



782:デフォルトの名無しさん
07/01/30 15:09:48
どなたか途中まででいいんでよろしくお願いします。
次に示すScheme プログラムについて以下の問に答えよ。
(define (subtree? t1 t2)
(cond ((atom? t1) (eq? t1 t2))
(#t (cond ((atom? t2) #f)
(#t (or (and (subtree? (car t1) (car t2))
(subtree? (cdr t1) (cdr t2)))
(or (subtree? t1 (car t2))
(subtree? t1 (cdr t2)))))))))
関数subtree?は二つのS 式(S 表現) t1, t2 を入力とし、真偽値(#t あるいは
#f) を返す関数である。
関数subtree?が真(#t) を返すための必要十分条件は何であるか答えよ。また、
関数subtree?が実際そのような関数であることをS 式に関する帰納法を用い
た議論によって示せ。

783:デフォルトの名無しさん
07/01/30 15:11:21
また宿題かよw

784:デフォルトの名無しさん
07/01/30 15:36:23
途中まででいいのか。
必要十分条件は(ry

785:デフォルトの名無しさん
07/01/30 15:56:26
この続きはまた来週!

786:デフォルトの名無しさん
07/01/30 16:08:02
ご愛読ありがとうございました

787:デフォルトの名無しさん
07/01/30 16:09:59
>>784 先生の次回作にご期待ください

788:デフォルトの名無しさん
07/01/30 19:52:23
んじゃ宿題と関係のないところで。
>>782 のような関数だと、普通はeq?じゃなくてeqv?を使うんじゃないのかね。
eq?はオブジェクトのidentityを調べる以外に使わないでしょ。

789:デフォルトの名無しさん
07/01/30 20:44:05
>>788
(atom? t1)なんだから無問題

790:デフォルトの名無しさん
07/01/30 21:00:41
>>789
(eq? 1.0 1.0)

791:デフォルトの名無しさん
07/01/30 23:20:25
LispとPostScriptさえあれば私はハッピーになれる
URLリンク(rikunabi-next.yahoo.co.jp)
HHKの記事ですが。

792:デフォルトの名無しさん
07/01/30 23:41:23
結局要領のいいLISPの独り勝ちです。


793:デフォルトの名無しさん
07/01/30 23:44:20
forthじゃないところが泣ける……

794:デフォルトの名無しさん
07/01/31 00:24:00
forthは括弧が無いのが失敗だったな。w
括弧でわかりやすくして、逆さから読めばそのままLispになる。

795:デフォルトの名無しさん
07/01/31 01:47:08
カッコも良いけどconcatenativeじゃ無くなるからな……

796:デフォルトの名無しさん
07/01/31 08:02:53
LISP好きだけど括弧ウザイ一派です。
どうにかして括弧をなくせないか色々考えておりますが、現在の所、
予約語を言語内の特別なマクロで定義し、その予約語について
ぶら下がる語数やキーワードで判断するという手法でなんとかしよう
と思っております。予約語はreadにより振り分けられS式に変換される
としましょう。ifならば if <test-part> <then-part> <else-part>という風に。
しかしこれではelseを省略できませんので、thenやelse等のキーワードを
付ける事とします。すなわち、
if <test-part> then <then-part> else <else-part>となります。
お察しの通り、これではC言語同様にぶら下がりelseが処理できません。
でもそれで良いのです。なぜならば、C言語が現状一般的であり、
読みやすいとされる言語だからです。C言語に近い事こそが正義なのです。
そうなるとthenというキーワードも冗長に見えます。
if <test-part> <then-part> else <else-part>
なお、LISPではC言語と違い、test-partの中にもifが書けてしまいますが
これをLISPの利点としてしまうには早計です。C言語では式と文で
区別されているため、if文の代わりに条件演算子を使わなければ
書けないという仕様になっています。なぜこんな仕様にしたのでしょうか?
考えたことあるでしょうか。


797:デフォルトの名無しさん
07/01/31 08:03:40
(中略)
と、こういった事は皆さんLISPを使っていれば一度は思う所でしょう。
文法を自在に定義できるLISPは一見万能に思える言語ですが、
問題もあります。最初に、予約語はreadにより振り分けられS式に
云々と書きましたが、そうするとS式に変換した段階でソースコードとは
異なる状態で保持される事になります。これはLISPマクロと同様に
デバッガで追う事が非常に困難になる事を示しています。デバッガで
ソースコードと同期を取るには、とにかくread時に抽出したトークン列の
位置を正確に記していくしかありません。そうしても、1行に何十にも
重なったマクロでは追う事がほぼ不可能になってきます。今では
C++のテンプレートでも同様の問題として認知されていますが、
テストケースを作るといった消極的策しかいまだ解決の糸口は見えません。
こういた問題を孕んでいる以上、予約語をマクロで置き換えていくなぞ
愚行と言えるでしょう。ハードコーティング最高!と結論付けて
終わりの言葉とします。

798:デフォルトの名無しさん
07/01/31 09:33:59
Lisp:S式の理由
URLリンク(www.shiro.dreamhost.com)

括弧の理由 (1) -- Emacs による S 式編集支援
URLリンク(lispuser.net)

まぁ結局S式に落ち着くと

799:デフォルトの名無しさん
07/01/31 12:06:56
はてなブックマークで、目を疑うような記事が。

魔法言語 リリカル☆Lisp
URLリンク(lyrical.bugyo.tk)
大反響...。
URLリンク(b.hatena.ne.jp)


800:デフォルトの名無しさん
07/01/31 18:43:14
ちゅるやさんの人?
ぱちもん?

801:デフォルトの名無しさん
07/02/01 02:08:38
>LispとはLISt Processingの略で名前通りリストの処理を得意とします。 このことから人工知能の開発に多く用いられています。

802:デフォルトの名無しさん
07/02/01 02:18:30
LispがAIに使われていたのは記号処理が容易だったからなのだが……

803:デフォルトの名無しさん
07/02/01 02:24:29
リスト処理 ⊂ 記号処理

804:デフォルトの名無しさん
07/02/01 02:29:15
>>801
> リストの処理を得意とします。 このことから人工知能の開発に多く用いられています。

「このことから」で済むくらいリスト処理と人工知能の関連が
自明な相手が想定読者なのだろうか?

805:デフォルトの名無しさん
07/02/01 02:37:02
正直キモイ。ただただキモイ。

806:デフォルトの名無しさん
07/02/01 13:09:02
いいじゃん、これがLISPの門戸に人を集めるきっかけになるなら。
頂の高さは、裾野の広さ(とゴミの多さ)で支えられるものだと思うよ。

807:デフォルトの名無しさん
07/02/01 13:34:43
Lispeは非Lisperからキモがられてるし、
今さらそんな生理的嫌悪がなんだって話だ。

808:デフォルトの名無しさん
07/02/01 13:39:20
アニオタ氏ね

809:デフォルトの名無しさん
07/02/01 14:14:57
メンバーは大学4年生か
卒論控えてるというのに余裕だな...

810:デフォルトの名無しさん
07/02/01 15:30:12
>>809
世の中なめてるだけだと思う。


811:デフォルトの名無しさん
07/02/01 19:46:52
アニオタ氏ね

812:デフォルトの名無しさん
07/02/01 23:04:24
なんか頭悪そうなのが来ちゃったな

813:デフォルトの名無しさん
07/02/02 00:58:36
アニオタ氏ね

814:デフォルトの名無しさん
07/02/02 01:18:33
バベル案内
URLリンク(www.aoky.net)

815:デフォルトの名無しさん
07/02/02 01:50:27
なにこの陰険文章……。なんで Ruby 信者は他の言語を貶すわけ?

> RubyはPerlのいい部分をすべて盗んだ。

スティーブ ! CPAN ! CPAN !

816:デフォルトの名無しさん
07/02/02 01:51:24
RubyもPerlもスレ違い。他所でやれ。

817:デフォルトの名無しさん
07/02/02 03:10:36
初期のAmazonはCとLispしかリポジトリに入れなかったってので張ったんだけどなw
ちょっとポール・グレアムの話と被ったんで

818:デフォルトの名無しさん
07/02/02 13:33:15
>>817
いや、すんごく面白かったよ。自分の中では数ヶ月に一度ぐらいのヒット。

819:デフォルトの名無しさん
07/02/02 18:07:14
どっかおかしくなってるんだよ

820:デフォルトの名無しさん
07/02/03 16:45:36
>>814
その皆に愛されたmailmanとか言う
elispプログラムを見てみたいな。
Lispの生産性の良い例になってるかも


821:デフォルトの名無しさん
07/02/04 01:29:10
>820
こいつは違うんかいのう
URLリンク(www.gnu.org)

822:デフォルトの名無しさん
07/02/04 01:38:37
>Mailman is written in the Python programming language, with a little bit of C code for security.


823:デフォルトの名無しさん
07/02/04 01:41:33
PythonはLisp

824:デフォルトの名無しさん
07/02/04 13:25:45
ほんとだ
よく読まんかったorz

825:デフォルトの名無しさん
07/02/04 15:19:11
URLリンク(www.cbook24.com)

826:デフォルトの名無しさん
07/02/04 16:51:37
>>825
うおっ 出るのか!
全部印刷しなくて良かったぁw

827:デフォルトの名無しさん
07/02/04 16:54:12
漏れも買う

828:デフォルトの名無しさん
07/02/04 17:24:24
おれも、おれも。

829:デフォルトの名無しさん
07/02/04 19:02:23
じゃあ俺は印刷で。

830:デフォルトの名無しさん
07/02/04 19:39:54
>>823
お前は俺

831:デフォルトの名無しさん
07/02/04 19:41:26
俺も一冊買わせてもらうぜ野田くん

832:デフォルトの名無しさん
07/02/04 20:29:08
印刷して読んでるとこだけど本も買うよ

833:デフォルトの名無しさん
07/02/04 22:07:46
ウェブで全部読んだけど買う。

834:デフォルトの名無しさん
07/02/04 22:12:23
>>825
古い本だけど待ちわびてた。
この本で日本のCommonLisp熱が盛り上がるといいな。

835:デフォルトの名無しさん
07/02/04 22:51:59
やっぱり本だと移動中にちょこちょこ見れるからね

それにしてもSICP難しすぎるw
挫折しそうw

836:デフォルトの名無しさん
07/02/04 23:16:43
移動中に見るなら、本をバラすよりも必要な分だけ印刷する方が楽じゃない?

837:デフォルトの名無しさん
07/02/05 03:04:51
別にバラさなくてもいいと思うんだけど
毎回印刷したの止めるのも面倒だし
関連項目を読み直す場合もあるから必要な部分だけ印刷ってのは
このての本では逆に向いていないんじゃないかなぁ

838:デフォルトの名無しさん
07/02/05 03:52:16
一人3冊な

839:デフォルトの名無しさん
07/02/05 07:28:42
ちょw図書館の購入申請で勘弁してくれw

840:デフォルトの名無しさん
07/02/05 18:58:13
すごい!やっとぉ!
日本語完成したときも感動したけど
本になるとはお疲れ様です

841:デフォルトの名無しさん
07/02/05 21:25:07
こんなのあったのね
URLリンク(clemens.endorphin.org)

842:デフォルトの名無しさん
07/02/05 21:38:57
>>839
多くの人に読めるようになると考えればむしろ無問題。

843:デフォルトの名無しさん
07/02/06 15:38:02
質問があるのですが、
次のような関数を実行するとgaucheとdrschemeで結果が異なります。
readの評価タイミングは環境依存ということでしょうか?

(define (hello) (display "Hello ") (display (read)))

gauche:
gosh> (hello)
scheme <- 入力してから
Hello scheme#<undef> <- (display "Hello ")が後から実行

drscheme:
> (hello)
Hello scheme <- (display "Hello ")が先に実行される
scheme

ずっとdrschemeのように関数の前から順番に実行されるものだと思っていました。

844:デフォルトの名無しさん
07/02/06 15:56:23
順番に実行されてるけど、出力がバッファリングされてるだけ。
(display "Hello")の直後に出力されることを保証したいならgaucheなら(flush)とか入れてみれば。
他の処理系は知らね。

845:デフォルトの名無しさん
07/02/06 15:58:37
実行順序は変わっていない。
readによって出力がflushされるかどうかの違い。

846:デフォルトの名無しさん
07/02/06 16:14:53
>>844, 845
上手くいきました!ありがとうございました。

847:デフォルトの名無しさん
07/02/06 20:36:07
URLリンク(lyrical.bugyo.tk)
の体験版が出ていた。

処理系としてはSchemeのサブセットか。

1行入力して、1行出力なので、displayとかの副作用のある関数は使えない。
defmacro, define-syntax もなかった。
スタックは200であふれたが、末尾再帰の最適化をしてくれるようだ。
しかし当然だがすんごく遅い。

しかしタイトルバックにλ山が描いてあるので、個人的にはそれだけでOK。


848:デフォルトの名無しさん
07/02/06 23:38:06
「魔法言語 リリカル☆Lisp」ってなあ…、このエロゲ風の雰囲気は何とか
ならんのか。会社でいじってて、つい夢中になってしまって、気づいたら人から
変な目で見られてたよ…。
まあ、この雰囲気が売りなんだろうけど。


849:デフォルトの名無しさん
07/02/06 23:47:56
アレゲな機能が搭載されてないのがガッカリ。

850:デフォルトの名無しさん
07/02/07 00:38:52
機能一覧
URLリンク(lyrical.bugyo.tk)

letrecがないのはヘタレな自分にはつらいな。

851:デフォルトの名無しさん
07/02/07 00:49:11
NScripter上で動くのか。
昔同じこと考えたが、死ぬほど遅そうだから実装までしなかったよ。

dyb の psyntax は動かないだろうな。

852:デフォルトの名無しさん
07/02/07 20:45:02
お勉強パートは評価するときに

 すたーらいとぶれいかー☆

とか言って欲しいよね

853:デフォルトの名無しさん
07/02/07 21:31:52
>>652
そういうのは分からんなあ。
すまんが私にはエロゲ教養がないのだ。

REPLのプリント時にビープ音などで通知してくれたら、ありがたいだろうとは
思う。今 taraiを回しているんだけど、ほんのちょっとなのにものすごく時間
がかかるから。

(define (tarai x y z) (if (<= x y) y (tarai (tarai (- x 1) y z) (tarai (- y 1) z x) (tarai (- z 1) x y))))

(tarai 8 4 0) => 実行中…。

おー、やっと終わった。何分かかったんだ、これ。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5399日前に更新/211 KB
担当:undef