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


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

CommonLisp Scheme Part11



1 名前:デフォルトの名無しさん mailto:sage [04/08/02 23:13]
過去スレ
Part1: piza2.2ch.net/tech/kako/987/987169286.html
Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part7: ruku.qp.tc/dat2ch/0311/20/1042167213.html
Part8: pc2.2ch.net/tech/kako/1058/10582/1058263391.html
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/
Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/

関連リンクは>>2-10あたり


433 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:25:59]
>>410=429=430
setjmp/longjmpは、別に「OSの機能」で実現されてるわけじゃないぞ?
ほぼレジスタやスタックの操作だけ。
アセンブラというものが使える状況なら基本的にどのOSでも作れる。


434 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:29:04]
>>433
だからこそOSを含めて継続の保存/復帰を実現するには、OS側のサポートも必要だろってことだよ。
で、そういう実装があるのなら参考のために是非知りたいということ。

435 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:30:55]
>>434
おまえさ、わざと勘違いしてんのか?
つまんねえよ。
話の腰を折るだけのつもりなら消えてくれ。


436 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:35:35]
なんか、OSを含めて継続保存とか意味不明なこと言ってるアフォがいるけど、
いつからOS含めた話になったの?

437 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:37:55]
>>436
>>408に、「実際に OS 側の継続を戻す Scheme 実装系はありますよ。」とあり、
>>410は、その実装系はなんなのかを知りたいという。
ただそれだけの話なんだが、そんなに分かりづらいか?

438 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:38:21]
WindowsプログラマとUNIX BAKA (BAd Knowhow Association)の
間で文化摩擦が発生しています

439 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:42:16]
「OS側の継続」の定義がそれぞれ違うんだろうね。
なんかプロセス間通信とか言ってる馬鹿(=410)が混じってるので
これ以上続けても無駄な気がする。

それでも続けるなら、
ここからは「Windows限定」でどぞ↓


440 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:42:35]
なんでそーなるの?
Windows でも X でも、Scheme 的継続はコールバック跨げないよ。

441 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:44:31]
>>440
だから話をシンプルにするための処置だよ。
おまえた単にWindows嫌いなだけだろ。
以降「Windows限定」でどぞ↓



442 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:46:44]
('A`)

443 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:48:36]
そもそもXなんて誰も使わないしUNIX系は無視してもいいと思う。
「ミミ」自体Windowsって言ってるんだし。

444 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:49:15]
いや〜、やっぱり Scheme は面白いですね。


445 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:50:30]
(gc)

446 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:50:58]
(exit)

447 名前:デフォルトの名無しさん mailto:sage [04/09/24 00:59:15]
UNIX馬鹿の粘着のおかげで横道逸れすぎて話が全然進まなかったな。

448 名前:デフォルトの名無しさん mailto:sage [04/09/24 01:00:04]
なんでもいいからさー、実装出してよ。

449 名前:デフォルトの名無しさん mailto:sage [04/09/24 01:10:55]
程よく荒れてきたようなので、一つ質問。

例えば、
ContA:[S1][S2][O1][O2][A]

で、[A] から抜けて([O2][O1]の事は脇に置いておいて)
[S2]に戻るから、これを「継続」って呼んでいるんだよね?

なのに 6.のように
[A] から抜けた後、[S6]に戻る(?)ものを
「継続」って呼んでも良いとでも思っているの?
それは Scheme でいう「継続」とは全く別のものじゃないの?


450 名前:デフォルトの名無しさん mailto:sage [04/09/24 01:30:40]
ミミタンの作る処理系は独自実装なので
そんなコトはどうでもいいのです。

451 名前:デフォルトの名無しさん mailto:sage [04/09/24 01:32:18]
別に問題ない。
スタックのどこであろうとschemeコードに制御が移ったのなら、それは立派な継続。
コールバック内外へ飛んだ事を「継続を使うユーザー」が知っていればいい。



452 名前:デフォルトの名無しさん mailto:sage [04/09/24 01:32:59]
とりあえず Scheme にやさしい OS をつくろうよ。

453 名前:デフォルトの名無しさん mailto:sage [04/09/24 01:45:21]
頭固い人多いね
ま、一人が粘着してるだけかもしらんけど・・

>>449
>「継続」って呼んでも良いとでも思っているの?
>「継続」って呼んでも良いとでも思っているの?
>「継続」って呼んでも良いとでも思っているの?

もうね、君に理解は無理だよ

454 名前:デフォルトの名無しさん mailto:sage [04/09/24 01:55:24]
>>453
>もうね、君に理解は無理だよ
いや、それはすなわち規格で規定された動作が
出来なくなってしまうという事を意味すると思ったのだが・・・

ま、確かに俺には理解不能だな。


455 名前:デフォルトの名無しさん mailto:sage [04/09/24 02:26:12]
>>454
ミミが定義した偽継続だからそれでいいんだろ。scheme的継続だと思ってはいけない。

456 名前:デフォルトの名無しさん mailto:sage [04/09/24 02:37:43]
規格に通らなくなるってわけでもなさそうだけど。
規定された動作って、どの辺の事?>454

457 名前:デフォルトの名無しさん mailto:sage [04/09/24 02:59:31]
実装の話もいいけど、
使う側の話もしようぜ?

458 名前:デフォルトの名無しさん mailto:sage [04/09/24 04:27:16]
ヒント。partial continuaionについて調べよ。


459 名前:デフォルトの名無しさん mailto:sage [04/09/24 08:17:03]
事の発端となった香具師の要件が明確でないのに本人はうやむやにしたまま消えちゃうし、
まるでそれと入れ替わるかのようにいつもは議論になっても出てこないような類のレベルの低い煽りのみを繰り返す香具師が出てくるし、
そんな状態で外野が言い合ってたって全く意味が無く、時間の無駄以外の何者でもないと思う。

460 名前:デフォルトの名無しさん mailto:sage [04/09/24 09:25:41]
ミミは夜行性だから夜まで待て

461 名前:デフォルトの名無しさん mailto:sage [04/09/24 13:45:00]
話を蒸し返すようで悪いが,「プロセス間通信云々」→「Windows素人は黙ってろ」
の流れの意味が分からない.誰か説明キボン.
例えば,Windowsのウィンドウプロシージャが呼び出される過程は,
・OSからウィンドウの属しているスレッドのメッセージキューに
 メッセージが送られる.(ここでプロセス間通信)
・ウィンドウの属しているスレッドにて,キューからメッセージ取り出し.
・取り出したメッセージを引数にコールバックプロシージャを呼び出す.
こんな感じじゃないの?
明らかにプロセス間通信は絡んでると思うんだけど.



462 名前:デフォルトの名無しさん mailto:sage [04/09/24 15:50:49]
www.double.co.nz/scheme/partial-continuations/partial-continuations.html

463 名前:デフォルトの名無しさん mailto:sage [04/09/24 16:23:22]
>>461
必死に慣れない参考書読んで調べたんだろうけどさ、基本的なことを
まるで理解してないな。
おまえが調べた内容は、OS側でブラックボックス化してる部分を
ただほじくりかえしただけ。つまり大ハズレもいいとこ。
これはね、まず恥ずかしいことなんだと認識してくれよ?
悦に浸るどころじゃないよ?(w
なんのためにスレッド毎にメッセージキューがあるのかをまずよく考えてね?
Windowsの開発者はメッセージキューの知識だけでプログラミングできるだろ。
あえて「プロセス間通信」を意識して扱う必要なんてないんだよ。
別にOSを作るわけじゃないんだから。
つーかプログラム書いた事もなさそうだし、どっか他行って勉強してきて。
もうね、ここで続けられると邪魔だから消えろ。

464 名前:デフォルトの名無しさん mailto:sage [04/09/24 17:38:49]
全然素人なんだけど、WindowsってOSの使用するスタック領域と
アプリケーションプロセスの使用するスタック領域は連続しているの?
連続しているからスタックを保存すれば継続が補足できると言う前提で
議論しているみたいだけど、OS側に制御が渡った瞬間、別のプロセス空間の
スタック領域にスイッチする場合、どう考えてもOS側の継続を制御するのは
無理のように思えるけど。。


465 名前:デフォルトの名無しさん [04/09/24 17:59:39]
>>464=461
全部間違ってる
もう引退時じゃね?
LISPには柔軟な頭が必要なのよ

466 名前:デフォルトの名無しさん mailto:sage [04/09/24 18:06:09]
> ・OSからウィンドウの属しているスレッドのメッセージキューに
>  メッセージが送られる.(ここでプロセス間通信)

PostMessage,SendMessageは
・他プロセスの場合は最初に該当するスレッドの保有するメッセージキュー領域を
メモリマップドファイルを使って共有し、データ書き込み。
・同一プロセス、他スレッドの場合は受信スレッドのメッセージキューに直接書き込み。
・同一スレッドなら、コールバックの直接呼出し。
こんな感じか?

467 名前:464 mailto:sage [04/09/24 18:11:17]
一応いっておくけど、461とは別人です。
>>425みてもわかるように、OS側の継続がアプリケーションと
同じスタックに乗っている前提で話してるよね?
違うのかな?


468 名前:デフォルトの名無しさん mailto:sage [04/09/24 18:11:50]
>>463
反応するのも馬鹿らしいが,
メッセージキューってのは立派なプロセス/スレッド間通信の一種.
あと,この部分は別にブラックボックスにはなってない.むしろ基礎の基礎.

>>464
> OS側の継続を制御するのは無理
これは正しい.
> スタックを保存すれば継続が補足できると言う前提で議論している
こっちは×.最終的にスタックを元の状態に戻してやれば
Schemeインタプリタ側では好き勝手にいじってもいいよねー,って話.
たぶん.

469 名前:464 mailto:sage [04/09/24 18:15:44]
>>468
コールバックは常に同一プロセス内から直接呼び出されるのなら、
スタックコピーで制御は戻りそうなんだけど、私が疑問に思ったのは、
コールバックを渡すOS側は同じプロセス空間で動いてないような気が
するんだけど。あてずっぽうですが。


470 名前:デフォルトの名無しさん mailto:sage [04/09/24 18:16:57]
>>458
www.google.co.jp/search?hl=ja&ie=UTF-8&q=R5RS+partial+continuaion&lr=
R5RS partial continuaionに該当するページが見つかりませんでした。
www.google.co.jp/search?hl=ja&ie=UTF-8&q=scheme+partial+continuaion&lr=
scheme partial continuaionに該当するページが見つかりませんでした。


>>462
規格とは関係ないみたいよ?
もちろん部分継続も問題ないし。
いったい何を危惧してるのかね。
ちゃんと継続を理解してる人って少ないの?


471 名前:デフォルトの名無しさん mailto:sage [04/09/24 18:19:46]
>>464
スレ違いな質問繰り返してんじゃねーよ
デバッガ使って自分で確かめろ
ミミよりウザイ



472 名前:464 mailto:sage [04/09/24 18:20:40]
Schemeインタプリタ自体は同一プロセス内で動いてるから、
スタックコピーで継続が戻るのは当たり前だと思うけど、
Schemeインタプリタとは異なるプロセスの継続も補足できるの?


473 名前:デフォルトの名無しさん mailto:sage [04/09/24 18:21:27]
>>469
メッセージキューにメッセージを置くのはOS側(もちろん違うプロセス空間で動いてる)だけど,
メッセージを取り出すのは自分なので問題ない.というか,別に違うプロセス空間から
呼び出されても問題ないと思うけど.

>>470
ミミがやりたいのは部分継続じゃないの? ってことだと思う.

474 名前:464 mailto:sage [04/09/24 18:24:37]
>>473
ああ、ここでコールバックって言ってるのは、あくまでも
イベントキューから自分で読み出して関数を呼ぶイベント駆動
プログラミングのことなんだね。
違うものを想像してたよ。


475 名前:デフォルトの名無しさん mailto:sage [04/09/24 18:25:26]
>Schemeインタプリタとは異なるプロセスの継続も補足できるの?
で き ま せ ん

なあ、その電波な質問はどっからやってくるんだ?


476 名前:464 mailto:sage [04/09/24 18:26:20]
>>475
言葉のすれ違いと思ってくんなまし。


477 名前:デフォルトの名無しさん mailto:sage [04/09/24 18:26:43]
つーか試しもしないで質問ばかりする464は不要な人材

478 名前:ミミ mailto:sage [04/09/24 18:46:38]
こんにちは。
昨日は遅くまでありがとうございます。
細かい議論はあるかもしれませんが、
おおまかなアイデアは理解していただけたようですね。

私は部分継続を行いたいのではなくて、
コールバックの検問所を作りたいということです。
図にまとめてみました。

479 名前:ミミ mailto:sage [04/09/24 18:47:08]
■従来のコールバックの実装

┌──┐
│ │ ┌────┐
│ │ ┌┘ │
│ CbA├─┘ │
OS │ ├─┐ ContA │
側 │ │ └┐ │
│ │ └────┘
│ │ ┌────┐
│ │ ┌┘ │
│ CbB├─┘ │
│ ├─┐ o--─────ここから ContA を呼ぶと
│ │ └┐ │ CbA から出て行ってしまう。
└──┘ └────┘ これは破綻する。


480 名前:ミミ mailto:sage [04/09/24 18:47:28]
■検問所式コールバックの実装

┌──┐
│ │
│ │ CbA ┌─────┐
│ │ ┌─┘ │
│ ├──┼─┐ ContA │
OS │ │ │ └─────┘
側 │ ⇔ │
│ │ │ ┌─────┐
│ ├──┼─┘ │
│ │ └─┐ o--───── ここから ContA を呼んでも
│ │ CbB └─────┘ OS 側に正しく戻ってくれる。
│ │
└──┘


コールバックは必ず検問所(⇔)を通して呼び出されるし、
検問所を通して戻る。検問所を通して戻るときは、
必要があればスタックの回復を行ってくれる。
したがって、Scheme 側では継続とコールバックの関係を
気にしなくてよい。

481 名前:ミミ mailto:sage [04/09/24 18:49:37]
■従来のコールバックの実装

┌──┐
│ │ ┌────┐
│ │ ┌┘ │
│ CbA├─┘ │
OS │ ├─┐ ContA │
側 │ │ └┐ │
│ │ └────┘
│ │ ┌────┐
│ │ ┌┘ │
│ CbB├─┘ │
│ ├─┐ o--─────ここから ContA を呼ぶと
│ │ └┐ │ CbA から出て行ってしまう。
└──┘ └────┘ これは破綻する。




482 名前:ミミ mailto:sage [04/09/24 18:50:32]
あれれ、うまく表示されませんねぇ。。。

483 名前:ミミ mailto:sage [04/09/24 18:54:26]
■従来のコールバックの実装

┌──┐
│ │ ┌────┐
│ │ ┌┘ │
│ CbA├─┘ │
OS │ ├─┐ ContA │
側 │ │ └┐ │
│ │ └────┘
│ │ ┌────┐
│ │ ┌┘ │
│ CbB├─┘ │
│ ├─┐ o--─────ここから ContA を呼ぶと
│ │ └┐ │ CbA から出て行ってしまう。
└──┘ └────┘ これは破綻する。


484 名前:デフォルトの名無しさん mailto:sage [04/09/24 18:55:39]
もういいよ・・・
なんとなくわかったから

書き込みの練習は専用板があるからそっちでやってくれ
aa5.2ch.net/aasaloon/

485 名前:デフォルトの名無しさん mailto:sage [04/09/24 19:18:16]
だから、具体的にどういう場面で使いたいのよ?
それは継続でなければならないのか?

486 名前:デフォルトの名無しさん mailto:sage [04/09/24 19:20:13]
UNIXっぽくない用途だって。

487 名前:ミミ mailto:sage [04/09/24 19:31:23]
>>485
> だから、具体的にどういう場面で使いたいのよ?

今のところ、特に使い道というものは考えていないです。

コールバック ベースの Scheme コードを書く場合、
Gauche のように継続に何らかを制限をつけるという方法もありますが、
検問所方式で常に安全を確保するという方法もあるのでは、
というだけです。

もう少しアイデアを膨らませたら、何か面白いことができるかもしれません。
Scheme 実装を書きながら、おいおい考えたいと思っています。


488 名前:デフォルトの名無しさん mailto:sage [04/09/24 19:35:08]
案の定何も考えてないのに非現実的なものを想定して時間を無駄にしてただけかよ
アホくさ

489 名前:ミミ mailto:sage [04/09/24 19:37:58]
>>448
そんなことはありませんよ。
どんな小さなアイデアも、大きな発明に結びつく可能性があるって、
どこかの発明家が言っていましたよ。

Windows 専用 Scheme で実現したい機能とかありましたら、
みなさんのご意見もお聞きしたいです。
面白そうだったら実装したいと思います。

490 名前:デフォルトの名無しさん mailto:sage [04/09/24 19:52:13]
RS232Cに継続ベースで送受信

491 名前:ミミ mailto:sage [04/09/24 19:57:05]
> RS232Cに継続ベースで送受信

ええ?これはどういうことですか?



492 名前:デフォルトの名無しさん mailto:sage [04/09/24 19:58:21]
なぜかここって学習能力のないUNIX知障が常駐してるね。
何故?
ここには何もありませんよ〜?

493 名前:デフォルトの名無しさん mailto:sage [04/09/24 20:03:36]
「知障」だの「全部間違ってる」だの言うだけで具体的なことを
何一つ言えない威勢のいいやつが一人居るなw

おれ? まあ、おれもそうかな・・・

494 名前:デフォルトの名無しさん mailto:sage [04/09/24 20:09:03]
>>489
そういうのは、まずできることをやってから言うもんだよ。
技術的知識やノウハウがなきゃ、せっかくのアイデアもその価値を正しく見極めることができず、
多大な時間とコストをかけて実装したのに実はもっと簡単でいい解法があった、なんてことになりかねない。
そうでなくても、モノが無いのに口先だけの人が好かれやすいとは思えないし。

495 名前:デフォルトの名無しさん mailto:sage [04/09/24 21:00:54]
>>494 いいじゃん。いずれ実装が出れば白黒はっきりつくんだしさ。
実装がなきゃ評価できないってんなら黙ってればいい。
漏れは、>>480 で言っているのが部分継続とどう違うのか
よくわからないんで、これ以上はコードで説明してもらいたい
(仮想OSを使ったSchemeコードで構わない) と思うけど。

コールバックで捕まえる継続は、検問所までの部分継続だと
するだけでちゃんと動くんじゃないの、ってことね。



496 名前:デフォルトの名無しさん mailto:sage [04/09/24 21:18:25]
>>480
www.ipsj.or.jp/members/Trans/Jpn/03/2001/4211/article004.html
これがズバリかな?
個人的には,
> Scheme 側では継続とコールバックの関係を気にしなくてよい
とは思えない.
完全な継続とコールバックまでの部分継続が暗黙のうちに
すり替えられるのはこわい…というか,常に意識していなければ危険だと思う.
call/ccとは別の名前で実装するんなら問題ないかな?

>>495
コールバック時に暗黙に行うって所がポイントなんじゃない?
俺は上述のようにデメリットが大きいと思うけどね.

497 名前:デフォルトの名無しさん mailto:sage [04/09/24 22:44:16]
キャッチコピーとしては魅力を感じます

498 名前:デフォルトの名無しさん [04/09/24 22:53:39]
cygwin で gauche-gl のインストールに成功した人
いませんか?
glut

499 名前:デフォルトの名無しさん [04/09/24 22:56:29]
glut 関連の関数が解決できずにmake が失敗します

500 名前:デフォルトの名無しさん mailto:sage [04/09/24 23:09:41]
そういや昔glutのインターフェースが無茶苦茶いいかげんな事に
気付いて使う気なくしたんだった。

501 名前:デフォルトの名無しさん [04/09/24 23:20:57]
ここを見る限りだと成功している人がいるみたいなんだけど・・・
やり方がわからん
ttp://www.kauda.jp/~oda/diary200404.html



502 名前:デフォルトの名無しさん mailto:sage [04/09/25 05:41:27]
>>499
うちでも普通に入ったけど。
glutはインストールしてある?
標準以外の場所に入ってたら、configureに--with-glut
オプションが必要かも。

503 名前:デフォルトの名無しさん [04/09/25 09:13:43]
>>498
成功してます
$ ln -s /usr/include/GL /usr/include/GLUT
$ ./confiugre --without-x
でいけるはず.


504 名前:498 [04/09/25 11:28:34]
最近のcygwinはGLUTが最初から入っていると
いうことなのでGLUT.hを検索すると色々なディレクトリに
入っていてどこがどこやら・・・
見つかったディレクトリは

c:/cygwin/usr/include/FL
c:/cygwin/usr/include/mingw/GL
c:/cygwin/usr/X11R6/include/GL

GLUTはcygwinのsetup.exeからダウンロードした時点では
まだインストールされていない?のでしょうか

505 名前:デフォルトの名無しさん mailto:sage [04/09/25 12:43:57]
>>504
OpenGLパッケージをインストールすれば入ってくるが。

506 名前:デフォルトの名無しさん mailto:sage [04/09/25 18:22:47]
こういう話はうまくいったバージョン書いてくれないとダメなんじゃない?
まあcygwinて適当なftpから適当なバージョンのアーカイブ引っ張ってくるから
うまくいく組み合わせの特定ってかなり難しいとは思うけどね。
つまりcygwinで同一環境にするにはインストールログが必要なわけ。
こんなシステムだからcygwinは不安定って言われるのさ。


507 名前:デフォルトの名無しさん mailto:sage [04/09/25 18:53:06]
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ
  |   X_入__ノ   ミ   そんなエサで俺様がクマ――!!
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
    〈         __ノ  ====
    \ \_    \
     \___)     \   ======   (´⌒
        \   ___ \__  (´⌒;;(´⌒;;
          \___)___)(´;;⌒  (´⌒;;  ズザザザ
                       (´⌒; (´⌒;;;

508 名前:498 mailto:sage [04/09/25 20:28:31]
>>506
色々試行錯誤したんですが、上手くいきませんでした
OpenGLのバージョンを落とさないといけないっぽいことは
わかったのですが・・・
力尽きました

509 名前:デフォルトの名無しさん mailto:sage [04/09/25 23:57:34]
なんかcygwinのgaucheって不安定じゃない?
何かすぐにフリーズする

510 名前:デフォルトの名無しさん mailto:sage [04/09/26 00:36:44]
coLinuxを使えば?

511 名前:デフォルトの名無しさん mailto:sage [04/09/26 01:14:43]
それって解決になってない気が。
それよりVC++やMingwで動かす話があったはずだけど。



512 名前:デフォルトの名無しさん mailto:sage [04/09/26 03:55:19]
>>511
gauche-gl の話しでしょ?
もしかして VC++で使えるって話し?

513 名前:デフォルトの名無しさん mailto:sage [04/09/26 04:26:56]
511ではないが、cygwinではなくてMingwで動かす話がある。
あまりうまくいっていないようなので、やるなら自分でやった方がよいかも。

514 名前:デフォルトの名無しさん [04/09/26 05:20:39]
("root"
("usr" "aaa.txt" "bbb.txt"
("bin" "perl" "ruby" "gosh")
))

ディレクトリ構造をS式で表したいのですが、上のように
「リストの最初にディレクトリ名をおく」というのを考え
ました。もっといい方法ってありますか?

515 名前:デフォルトの名無しさん mailto:sage [04/09/26 05:29:30]
carはディレクトリ名、cdrはそのディレクトリの要素、でどう?
cdrは、listだったときはディレクトリ、atomだったらファイル名。

("etc" ; /etc/
 "fstab" ; /etc/fstab
 "passwd" ; /etc/passwd
 ("namadb" ; /etc/namedb/
  "named.conf" ; /etc/namedb/named.conf
  "named.root")) ; /etc/namedb/named.root

とか

516 名前:515 mailto:sage [04/09/26 05:31:02]
あ、よくみたら同じことやってる、おれってばか(;´Д`)
もう寝ます…

517 名前:ミミ mailto:sage [04/09/26 06:07:28]
>>514
UNIX だけならそれでいいと思う。
Win だとドライブ名がないとだめだね。

("/" "C:" "WinNT" . "Notepad.exe")

絶対パスと相対パスはどう区別するのかな。

518 名前:ミミ mailto:sage [04/09/26 06:09:13]
あ、勘違い。
パスを表すんじゃなくって、
ディレクトリ構造を表すんですね。

519 名前:デフォルトの名無しさん [04/09/26 06:32:49]
>>515 >>517
ありがとう。絶対パスなので、上の方法で扱ってみます。

次は要素を探索して、その絶対パスを返す手続きです。でも
gaucheのfindあたりでいけそうですね。調べてみます。


520 名前:デフォルトの名無しさん [04/09/26 21:55:24]
PLTSchemeで.net を使えるそうなのですが・・・
www.rivendell.ws/dot-scheme/
これって使うプロジェクトの直下において
使えばよろしいの?
というかmzSchme,PLT Scheme DrScheme って
なんで名前が3つあるんですかね?関係性が
わからないんですけど・・・

521 名前:ミミ mailto:sage [04/09/26 23:29:19]
>>529
> mzSchme,PLT Scheme DrScheme って
MzScheme は Scheme 実装のコア部分
DrScheme は統合開発環境
PLT Scheme は全体の総称かな。たぶん。



522 名前:デフォルトの名無しさん mailto:sage [04/09/26 23:32:42]
>>521
お前のキーボードにテンキーついてないだろ

HHKだから俺のにもついてないけどさ

523 名前:ミミ mailto:sage [04/09/26 23:38:14]
え、なんか鋭いですね。。。
探偵さんですか。。。

524 名前:デフォルトの名無しさん mailto:sage [04/09/27 00:21:38]
>>521
そういうことですか、サンクス。

>>522
え、なんでそうなるの?

525 名前:デフォルトの名無しさん mailto:sage [04/09/27 00:26:56]
ふつーは数字入力でわざわざテンキーまで手をのばしたりしないよ。

526 名前:デフォルトの名無しさん mailto:sage [04/09/28 10:43:06]
ふつーはレス番号を直接入力したりしないよ。


527 名前:デフォルトの名無しさん mailto:sage [04/09/28 11:15:44]
ふつーの人は2ちゃんねるなんてやらないよ

528 名前:デフォルトの名無しさん mailto:sage [04/09/28 20:13:20]
ふつーのひとはLispなんてやらないよ。

529 名前:デフォルトの名無しさん mailto:sage [04/09/28 20:59:04]
普通のやつらの上を行け

530 名前:デフォルトの名無しさん mailto:sage [04/09/28 22:39:02]
そんな実力はありません

531 名前:デフォルトの名無しさん mailto:'sage' [04/09/29 04:52:42]
(ノーマル? 普通のやつ) ; => #t
(ノーマル? (上 普通のやつ)) ; => #f
(ノーマル? (下 普通のやつ)) ; => #f
(アブノーマル? 普通のやつ) ; => #f
(アブノーマル? (上 普通のやつ)) ; => #t
(アブノーマル? (下 普通のやつ)) ; => #t

(equal? (上 普通のやつ) (下 普通のやつ)) ; => ?




532 名前:デフォルトの名無しさん mailto:sage [04/09/29 04:55:37]
(ノーマル? 普通のやつ) ; => #t
(ノーマル? (上 普通のやつ)) ; => #f
(ノーマル? (下 普通のやつ)) ; => #f
(アブノーマル? 普通のやつ) ; => #f
(アブノーマル? (上 普通のやつ)) ; => #t
(アブノーマル? (下 普通のやつ)) ; => #t

(equal? (上 普通のやつ) (下 普通のやつ)) ; => ?



533 名前:デフォルトの名無しさん mailto:sage [04/09/29 07:15:56]
だが気を付けたまえ






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

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

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