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


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

Lisp Scheme Part25



1 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 23:16:33 ]
※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※

Part24: ttp://pc11.2ch.net/test/read.cgi/tech/1224939205/
Part23: ttp://pc11.2ch.net/test/read.cgi/tech/1215875388/
Part22: ttp://pc11.2ch.net/test/read.cgi/tech/1211381920/
Part21: ttp://pc11.2ch.net/test/read.cgi/tech/1207300697/
Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/
Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/
Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/
Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part09: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part08: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part07: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part06: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part05: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part04: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part03: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part02: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part01: ttp://piza2.2ch.net/tech/kako/987/987169286.html


672 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 22:52:45 ]
SGIが倒産したらしい

673 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 22:58:17 ]
そうか、そうか

674 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 23:00:18 ]
lisp系は自作に限るよ

675 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 03:41:44 ]
LispスレでSGIといったら創価じゃなくて
シリコン・グラフィックの方だろJK

676 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 03:47:31 ]
2度目の倒産なんだって?
なんかLispに関して大きいことやってたっけ?
OpenGLぐらいしかシランわ。

677 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 07:44:57 ]
ずっと自作のSchemeモドキを使っています。モドキというのは、あまり
使わない機能を削って代わりに部分継続やソフトタイピングを入れたり
してるためです。それなりに高速でデバッグ機能も充実していると思って
いますが、RnRSやSRFIの類は全く考慮せず作っているので公開していま
せん。ドキュメント書くのもめんどくさいし(論文は書いたけど)。

678 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 09:10:38 ]
>>672
エイプリルフールだと思ってた…

679 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 14:18:51 ]
勘違いしたかも。
SGI(非創価)ってLisperが作った会社だと思ってました。

680 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 14:20:30 ]
lispでモナディウスなみの速度は出せるのだろうか



681 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 16:33:15 ]
>>679
ジムクラーク? Lisper ではないね。専門は CG らしい。
ワークステーション屋で Lisper が作った会社ってあったっけ?
Sun のビルジョイはハッカーだけど Lisper じゃないし。

682 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 16:58:18 ]
昔、N-Worldって、SGI (Indy?)向けの3D CG作成アプリなかった?
Lispマシンから移植されたものだったと思う。Lispで動いていたはず。
プロトタイピング強いから、いろいろな分野の初期大型アプリで使われてるね。
数式処理、ウィンドウシステム、プログラミング可能エディタなど。
CG関係も昔はもっと多かった。

683 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 18:25:17 ]
sgiといえば、インディゴだな。doomでネット対戦に使わせてもらったよ。

684 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 19:27:02 ]
sigは破産申請したらしいね

685 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 20:34:16 ]
CGはもうからないのか

686 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 23:50:42 ]
>>682
ニチメンなんとか、ってやつのことかな。Shiroさんが詳しそう

687 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 00:37:30 ]
前回の破産でCG方面からサーバー屋に商売変えしてたんじゃなかったっけ?

688 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 00:39:09 ]
なんかMIPSの灯がどんどん消えてく気がするなぁ…

689 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 01:43:52 ]
/.Jによると、どこだかに買収されるんで、それに必要な手続きなんだと。


690 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 01:57:27 ]
>>681
そうゆう名前で呼ばれてかかどうかはおいといて、MIT 由来の
LISP マシンってワークステーション以外のなのものでもないが…




691 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 02:28:13 ]
>>685
技術の発展とともに、作業端末は高価なUNIXワークステーションではなく
安価なWindowsマシンが優位になり、未開の領域に強く柔軟なLispから
高速で大規模なプログラムに強い? C++に置き換わったとかじゃないの。

692 名前:681 mailto:sage [2009/04/03(金) 09:54:17 ]
>>690
あーそうね。シンボリクスとかがそうか。
Unixワークステーション屋で、と言うべきだったかな。

693 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 11:16:16 ]
carやcdrがちゃんと理解できん・・・
アセンブラの方が簡単かも。

694 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:14:13 ]
そんなに難しいかな?

単方向リンクリストの、先頭を取り出すか、それ以外を取り出すか、
だけなんだが。

695 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:16:17 ]
括弧とドットの表記法でつまづくか、ポインタでつまづくかのどっちかですよねー

696 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:42:44 ]
carは左って覚えれば良いと思うよ

697 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:48:44 ]
>>693
コンスは単なる2つのポインタの対
Lispよりも低レベルではcarとcdrは可換で線形リストとは何の関係もない
線形リストに利用しているのはLispより高レベルだけの話
アセンブラ的に考えればこう

698 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 13:05:28 ]
まずボックス表記を手で書いて
それからいろんな構造をconsだけで組み立てる
ドット対→線形単リスト→2分木みたいに徐々に複雑にしていくといい

699 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 13:14:01 ]
Common Lisp: A Gentle Introduction to Symbolic Computation 付録の sdraw 使うと図示してくれる

CL-USER> (sdraw '(1 2 3 (4 5)))

[*|*]--->[*|*]--->[*|*]--->[*|*]--->NIL
|      |      |      |
v     v     v     v
1     2     3     [*|*]--->[*|*]--->NIL
                  |     |
                  v     v
                  4     5

www.cs.cmu.edu/~dst/Lisp/sdraw/

700 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 13:17:57 ]
ちゃんと理解できないったって(と)の対応はわかりますよね?
Lispのリスト記法はドット記法の構文糖
任意のリスト記法はドット記法で表せる(逆は偽)
ドット記法の基本は( A . B )でホワイトスペース+ドット+ホワイトスペースがcarとcdrの間の仕切り
(開き/閉じ括弧の周りはホワイトスペースの省略可)
そしてドット記法を(A B C)みたいなに直すのは
ドット+開き括弧を見つけたら、それと、それに対応する閉じ括弧を消しゴムで消すだけ



701 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 13:22:22 ]
( A . B ) ≡ [ A | B ]

702 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 14:15:16 ]
(cons 'a 'b) => (a . b)
(cons 'a (cons 'b '())) => (a b)
'(a . (b . (c . ()))) => (a b c)

703 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 14:22:09 ]
'とかquoteが絡んでくると解りづらくなるから
任意のアルファベット1文字のシンボルと空リストは自己評価的という設定にしよう
(cons A B) => (A . B) ;; [ A | B ]
(cons A ()) => (A . ()) ≡ (A) ;; [ A | NIL ]
(cons (cons A B) ()) => ((A . B) . ()) ≡ ((A . B)) ;; [ [ A | B ] | NIL ]
(cons () (cons A ())) => (() . (A . ())) ≡ (() A) ;; [ NIL | [ A | NIL ] ]
(cons A (cons B C)) => (A . (B . C)) ≡ (A B . C) ;; [ A | [ B | C ] ]

704 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 14:24:40 ]
lispのリストはヘテロジニアスリストでさらにペアにもなるから難しいよな
ML系みたいにリストは空か値とリストを持つコンスって定義だとまだわかりやすいのに

705 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:27:28 ]
分かりにくくないだろw

706 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:48:41 ]
ふと思ったんですけど
効率の為にlistではなくvectorを使っているアルゴリズムって
静的にコンパイル+破壊的代入なしって条件なら
プログラマにはlistとして見せつつ
内部的にはvectorとして処理できませんかね?
たとえば(list 1 2 3 4 5)は
表面的にはコンスによる線形リストなんだけど内部的には#(1 2 3 4 5)であるオブジェクトを返すとか。
書き換えられない事が解っているn要素の線形リストは2ワードのセルをn個アロケートするより
nワード+αのベクタで記憶するほうがよさそう。
Haskellが文字列をリストとして実装してるのはそんな理由だったりするのでしょうか?

707 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:50:16 ]
それは「cdr coding」と呼ばれるもので散々実験済み。

708 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:52:55 ]
書き込んでから気づいたけど、
部分リストを複数オブジェクトで共有している場合
先頭部分の参照がはずれてもGCで回収できなくて逆に効率が悪くなりますね。
ベクタの最初の方だけGCできる方法を取れば別ですけど
そうするとベクタの情報が増えて結局コンスと大差なくなるかも

709 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 16:14:39 ]
>>707
おや、そうでしたか。不勉強でした。
見た所、線形リストを少しでも効率よく処理する為の物の様で
ベクタを置き換えるには至らなかったようですね。

710 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 16:35:18 ]
vector的利用がはっきりしているところでは、
vectorを使えばいいしね。
listで構造体を模倣してprototypingしても、
accessor使っておけば簡単に移行できるし。



711 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 17:59:01 ]
evalと大域変数でhashを模倣する初心者を見てニヤニヤするんですよねー

712 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:02:44 ]
それは君だけ。

713 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 22:15:13 ]
やべえ、サボってたらSeasoned Schemerわかんねえw
また後戻りか…英語もやってないし… λ.......






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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