【入門】Common Lisp その4【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/01/27(日) 11:52:46初心者のQ&A
本スレでは恥ずかしくて聞けない人のQ&A
本スレは高度すぎて割り込めない人のQ&A
linuxでなくてwindowsでやりたいんですが・・・Q&A
lispを使用してC#やJAVAの代替にするための方法(おまけ)
ま、ゆっくりたりましょう。
「いいものの本質は、いかなる時代においても変わらない」byパワーズ
(list
(url http://pc8.2ch.net/test/read.cgi/tech/1101386936/l50 :part 1)
(url http://pc11.2ch.net/test/read.so/tech/1140012484/l50 :part 2)
(url http://pc11.2ch.net/test/read.so/tech/1181479267/l50 :part 3))
0002デフォルトの名無しさん
2008/01/27(日) 11:53:20(SBCL: http://sbcl.sourceforge.net/
:プラットフォーム UNIX, Linux, Mac, Windows(移植中)
:開発 活発
:日本語 使える(UCS4, UTF8, EUC)
:特徴 一番お勧めのコンパイラ。)
(CLISP: http://clisp.cons.org/
:プラットフォーム UNIX, Linux, Mac, Windows
:開発 そこそこ活発
:日本語 使える
:特徴 バーチャルマシン。遅いがフットプリントが小さい。)
(CMUCL: http://www.cons.org/cmucl/
:プラットフォーム UNIX, Linux, Mac
:開発 そこそこ活発
:日本語 使えない(回避法有り)
:特徴 高速コンパイラ。SBCL の元になった。)
(OpenMCL: http://openmcl.clozure.com/index.html
:プラットフォーム PPC-Linux, Mac, x86-Linux と FreeBSD に移植中
:開発 そこそこ活発
:日本語 使えない (pre ver 1.1なら多少扱える。)
:特徴 元々商用のコンパイラ。ネイティブスレッドが使える。))
0003デフォルトの名無しさん
2008/01/27(日) 11:54:07(Allegro: http://jp.franz.com/index.html
:プラットフォーム Windows ,Mac OS X , Freeを含む各種UNIX
:開発 ほとんど本陣
:日本語 使える(内部UTF16,外部 プラットフォーム毎)
:特徴 お高いがもっとも頼れる。申し込みが必要だがFree Express Editionあり )
(LispWorkss: http://www.lispworks.com/downloads/index.html
:プラットフォーム Windows ,Mac OS X
:開発 半年にいっぺんくらいアップデート
:日本語 使えるみたい(完全に対応しているかはちとわかりかねまする)
:特徴 IDEベースです、フリー版はconsセルの上限が来るとダイアログがでてしまいます、SDLとかで遊ぶとすぐに引っかかります ))
((その他)
(ABCL: http://armedbear-j.sourceforge.net/
:特徴 JavaVM 上で動く。JavaVM のバイトコードを生成。)
(GCL: http://www.gnu.org/software/gcl/
:特徴 日本発 Kyoto Common Lisp の直系。)
(ECL: http://ecls.sourceforge.net/
:特徴 Lisp->C コンパイラ。組み込み可能らしい。こちらもKCLの系譜))
0004デフォルトの名無しさん
2008/01/27(日) 11:55:05http://www.lisp.org/HyperSpec/FrontMatter/index.html
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/cltl2.html
http://lispdoc.com/
日本語のチュートリアル
ttp://web.sfc.keio.ac.jp/~t02064si/lisp2005/
ttp://www.h7.dion.ne.jp/~matsu/feature/common-lisp/index.html
ttp://www.geocities.jp/m_hiroi/xyzzy_lisp.html
ttp://home.soka.ac.jp/~unemi/LispProlog/
ttp://www.haun.org/kent/lisp1/
ttp://wisdom.sakura.ne.jp/programming/lisp/index.html
ttp://www-kasm.nii.ac.jp/~takeda/lectures03/titech/ai1/Text/CL.txt
0005デフォルトの名無しさん
2008/01/27(日) 11:55:48(和文)
ttp://www.geocities.co.jp/SiliconValley-SanJose/7474/index.html
ttp://www.geocities.co.jp/SiliconValley-Cupertino/2478/root-sect-2.html
ttp://lispuser.net
(英文)
http://wiki.alu.org:80/
http://www.cl-user.net
http://www.common-lisp.net
http://planet.lisp.org/
http://groups.google.co.jp/group/comp.lang.lisp
http://www.cliki.net/index
http://cl-cookbook.sourceforge.net/
http://www.gigamonkeys.com/book/
( http://www.apress.com/free/ よりpdf版が入手可能)
http://www.psg.com/~dlamkins/sl/cover.html
http://www.cs.cmu.edu/~dst/LispBook/index.html
その他の情報
http://ja.wikipedia.org/wiki/Common_Lisp
0006デフォルトの名無しさん
2008/01/27(日) 11:56:09(POPLOG: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
Lisp, Prolog, ML のコンパイラ)
(WCL: http://wcl.kontiki.com/
Shared Library として使える Lisp)
(Movitz: http://common-lisp.net/project/movitz/movitz.html
フルスクラッチの Lisp OS)
(CADR LispM: http://www.heeltoe.com/retro/mit/mit_cadr_lmss.html
MIT で使われていた LispM のソースを公開したもの))
((その他のリンク
(Meme channels: http://meme.b9.com/start.html
Lisp の IRC Log)
(Paul Graham の ANSI Common Lisp:
http://www.pearsoned.co.jp/hed/search/onlinecatalog.html?id=276
Common Lisp の 参考書を探しているならこれ一択))
0007デフォルトの名無しさん
2008/01/27(日) 12:22:060008デフォルトの名無しさん
2008/01/27(日) 14:00:58"文字列" ってかえってくるやん?
これって形式的には何になるんですか?
変数にうまくはいってこないんだよね
0009デフォルトの名無しさん
2008/01/27(日) 17:11:58On Lisp邦訳 web版
ttp://user.ecc.u-tokyo.ac.jp/~tt076524/#lisp_onlisp
0010デフォルトの名無しさん
2008/01/27(日) 17:13:020011デフォルトの名無しさん
2008/01/27(日) 18:47:570012デフォルトの名無しさん
2008/01/27(日) 18:59:33http://jp.franz.com/index.html
free downloadから登録して使えるらしい
http://www.lispworks.com/downloads/index.html
IDEがついているらしい
0013デフォルトの名無しさん
2008/01/27(日) 19:04:25しくしく、それ一応テンプレにいれてあるのでございます、ショボーン
0014デフォルトの名無しさん
2008/01/27(日) 21:14:160015デフォルトの名無しさん
2008/01/27(日) 23:01:10なんか重いな
0016デフォルトの名無しさん
2008/01/30(水) 05:45:39簡単な木の関係がある時、これを(A B C)と書くのか、(A(B C))と
書くのか、どちらでしょうか。
0017デフォルトの名無しさん
2008/01/30(水) 06:11:51そのリストをどう利用するのかにもよるけど
(A B C)はお勧めできない
どっかにヒープソートとかのソースが落ちてたら
そういうソースを参考にするといい
0018デフォルトの名無しさん
2008/01/30(水) 16:39:33メモリの使用状況(どのくらいメモリを食っているか)を確認したいのですが、
room関数の見方がいまいちよくわかりません。
1134/1259 30.3% CONS RATIO COMPLEX STRUCTURE
25/28 8.4% FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE SPICE
93/404 82.9% SYMBOL STREAM
1/2 20.5% PACKAGE
96/373 46.7% ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME CCLOSURE CLOSURE
27/32 66.6% STRING
294/325 1.8% CFUN BIGNUM LONG-FLOAT
11/115 84.1% SFUN GFUN VFUN AFUN CFDATA
104/512 contiguous (459 blocks)
13107 hole
5242 0.0% relocatable
1681 pages for cells
20134 total pages
101431 pages available
9507 pages in heap but not gc'd + pages needed for gc marking
131072 maximum pages
(room)を実行すると、このように出るのですが、
どの部分を見れば、メモリの使用状況が分かるのでしょうか?
0019デフォルトの名無しさん
2008/01/30(水) 17:36:31さてあなたのPCのメモリはいくつでしょう
0020デフォルトの名無しさん
2008/01/30(水) 19:57:05roomで出てくる数値は、PCのメモリとは関係ないみたいなんです。
2GのPCでやっても、1GのPCでやっても同じ結果が出てきます。
GCLを起動した直後のroomの数値と、
メモリを大量に食う関数を実行した後のroomの数値を比べて、
どこを見れば、メモリの使用量がわかるのでしょうか?
pageという単位が、2,048バイトなのはわかったんです。
pages for cellsのとこを比べればいいのかな?
0021デフォルトの名無しさん
2008/01/31(木) 18:31:150022デフォルトの名無しさん
2008/02/04(月) 19:54:37乙
疑問なんだが、パワーズって誰だ???
0023デフォルトの名無しさん
2008/02/05(火) 00:01:31前スレのコピペなんで俺に聞かないでくれ。
>>前スレの1の中の人解説よろ
0024デフォルトの名無しさん
2008/02/06(水) 22:53:080025デフォルトの名無しさん
2008/02/07(木) 19:24:21具体的にlispマクロ最強を実感できる例を教えていただけないでしょうか。
0026デフォルトの名無しさん
2008/02/07(木) 20:16:58だと君に吹き込んだ奴にきくのが一番じゃないの。
0027デフォルトの名無しさん
2008/02/07(木) 20:18:03だと → 最強だと
0028デフォルトの名無しさん
2008/02/07(木) 20:20:18じゅうぶん「ほかの言語では真似できない」ことをやってるから、それを眺めるといいよ。
0029デフォルトの名無しさん
2008/02/07(木) 20:26:53よくわかってないみたいです。
0030デフォルトの名無しさん
2008/02/07(木) 20:29:18おっとすいません。リロードしてませんでした。
検索してみます。
0031デフォルトの名無しさん
2008/02/08(金) 15:42:220032デフォルトの名無しさん
2008/02/08(金) 15:59:420033デフォルトの名無しさん
2008/02/08(金) 22:44:340034デフォルトの名無しさん
2008/02/09(土) 00:23:560035デフォルトの名無しさん
2008/02/09(土) 15:06:230036デフォルトの名無しさん
2008/02/15(金) 10:45:49継続を明示的に扱えるCommonLisp実装系ってないのですか?
(ひょっとして明示的に扱ったらANSI仕様違反?)
マクロの実装はOn Lispに書いてあったけど,色々不便だからなぁ
0037デフォルトの名無しさん
2008/02/16(土) 09:54:17cl-contとか色々あるけど、多分36は「色々不便だからなぁ」っていうと思うよ。
0038デフォルトの名無しさん
2008/02/16(土) 10:22:25離脱者多数?
0039デフォルトの名無しさん
2008/02/16(土) 17:28:10一旦乗り替えてみればいいじゃない。Scheme もやっといたほうがいいと思うよ。
別にどれか一個を選ばなきゃいけないってわけでもないし。
0040デフォルトの名無しさん
2008/02/16(土) 19:32:37男は黙って compile & disassemble、速さこそ正義。
0041デフォルトの名無しさん
2008/02/16(土) 20:59:290042デフォルトの名無しさん
2008/02/16(土) 22:48:290043デフォルトの名無しさん
2008/02/16(土) 23:12:43Javaの世界でも継続〜ってなフレームワークがあるくらいだし。
まぁ、一度はSchemeをやっとくべきだと思う。
0044デフォルトの名無しさん
2008/02/16(土) 23:18:50その逆はかなり多そうだけど…
0045デフォルトの名無しさん
2008/02/16(土) 23:38:22そうだね、漏れもそう思う。
全部が全部、Gaucheの影響とは思わないけど、
そういう点では、Gaucheって偉大だなと思う。コミュニティも活発だし。
まあ偉大な大黒柱があってのこととも思うけど。
CL界隈ってコミュニティっていったらxyzzy方面くらい?
0046デフォルトの名無しさん
2008/02/16(土) 23:47:50活性化のためにもIRCチャンネルでも作らないか?
0047デフォルトの名無しさん
2008/02/16(土) 23:57:34貴様らはすぐにプログラミングとは別の話題ばかりで盛り上がる
そんなことよりcommonlispで何が出来るんだ?
0048デフォルトの名無しさん
2008/02/17(日) 00:22:40私はもうジジイなのでメーリングリストとか時間差をカバーできるのがいいなぁ。リアルタイムはキツイ。
>>47
とりあえず私の必要とするプログラミングのタスク一般、数値計算、データ分類は普通にできてるね。
でも煽るならもっと最近流行の言語で煽ったほうが喰いつきがいいと思うよ。
0049デフォルトの名無しさん
2008/02/17(日) 01:00:02そしてschemeが遅いわけでもない
Cより速い実装ってかなったっけ?
0050デフォルトの名無しさん
2008/02/17(日) 01:07:25stalin
0051デフォルトの名無しさん
2008/02/17(日) 01:12:410052デフォルトの名無しさん
2008/02/17(日) 02:03:350053デフォルトの名無しさん
2008/02/17(日) 10:13:360054デフォルトの名無しさん
2008/02/17(日) 11:38:36一応過去ログも追えるみたいだけど。
0055デフォルトの名無しさん
2008/02/17(日) 16:22:13流行ってないのか?
流行って?
オッパイソンの事?
0056デフォルトの名無しさん
2008/02/19(火) 16:02:52どんな風に書けばいいのですか?
0057デフォルトの名無しさん
2008/02/19(火) 19:57:330058デフォルトの名無しさん
2008/02/20(水) 12:06:000059デフォルトの名無しさん
2008/02/20(水) 12:41:50クロージャから外の環境へのアクセスにfinal縛りがあるから、
ちょっと不自由だけど。
0060デフォルトの名無しさん
2008/02/23(土) 08:24:430061デフォルトの名無しさん
2008/02/23(土) 09:32:27FFIでDLL経由ならいけると思うよ
0062デフォルトの名無しさん
2008/02/23(土) 21:02:210063デフォルトの名無しさん
2008/02/23(土) 21:06:33もちろんできるよ
006462
2008/02/23(土) 21:14:10うーそーだー
どこにもやり方書いてなかったぞ〜〜〜
0065デフォルトの名無しさん
2008/02/23(土) 21:36:020066デフォルトの名無しさん
2008/02/24(日) 00:55:41もっと簡単にやりたければLWかACL買えばいい。
それ以外ならLTKかSDLでやる。
0067デフォルトの名無しさん
2008/02/25(月) 11:49:120068デフォルトの名無しさん
2008/02/25(月) 17:00:13FFIでラッパーライブラリつくれば何でもできる
0069デフォルトの名無しさん
2008/02/26(火) 00:34:49そりは実質、ハードウェアよりの処理はほとんどの場合に
C(/C++)でやってるのではw?
まあ、そういう低レベルの処理は高級アセンブラであるところの
Cで行うのが正解だけど。
0070デフォルトの名無しさん
2008/02/26(火) 00:47:360071デフォルトの名無しさん
2008/02/26(火) 07:31:03おれはヘタレだから試したことないけど…
0072デフォルトの名無しさん
2008/02/26(火) 22:08:46MovitzはしらんがMonaOSは無理じゃね?
だってシステムコールとしてScheme使ってるわけじゃないだろ
ただシェルがSchemeというだけでしょ.
やっぱりLispのVM上でOSを書かないとだめじゃないか?
0073デフォルトの名無しさん
2008/02/26(火) 23:15:37システムコールをサポートしたScheme処理系があれば同じ事だろ。
Cだってシステムコールのサポートは言語じゃなくて実装の領分じゃん。
0074デフォルトの名無しさん
2008/02/26(火) 23:38:42人によって感じ方が違うもんだな。
俺の感覚では「ハードウェアよりの処理」とはDLLやデバイス
ドライバでハードウェアを直叩きする事だとつい考えてしまう。
で、Lispでそんな物を書いた例と言うのはあるのだろうか?
0075デフォルトの名無しさん
2008/02/26(火) 23:43:12ガーベージコレクタで処理が中断されることがある言語で、
タイミングにシビアなハードを直接制御するのは一般には
難しいだろ。
0076デフォルトの名無しさん
2008/02/26(火) 23:50:16「〜なの?」「〜だめじゃん」とかではじまって解答されたらそこでおわりって質問多いよね。
まぁ荒しの一種なんだろうけどさ…。
0077デフォルトの名無しさん
2008/02/27(水) 00:12:07それ以外の状況でLispと言う選択肢が有ることはもっと異例だしな。
0078デフォルトの名無しさん
2008/02/27(水) 01:17:12処理(DLL、デバドラ等)をある言語で記述したいと言う話とある言語で
記述したアプリケーションのレベルからハードウェアを直叩きしたい
と言う話は全然別問題だと思うが。
実際Cではアプリやらデバイスドライバやらもろもろ書かれているわけだし。
Lispがそういう(低レベル)処理に向いているとはあまり思わないけど。
0079デフォルトの名無しさん
2008/02/27(水) 01:57:33俺たちは高級言語を使ってるんじゃなかったのか?
下の方を触りたいなら、用途に適した言語使えばええがな(´・ω・`)
0080デフォルトの名無しさん
2008/02/27(水) 08:41:18言いたいだけちゃうんか? な人が湧いたと聞いてry
0081デフォルトの名無しさん
2008/02/27(水) 10:50:570082デフォルトの名無しさん
2008/02/27(水) 11:01:210083デフォルトの名無しさん
2008/02/27(水) 13:54:200084デフォルトの名無しさん
2008/02/27(水) 13:55:21マクロ使えばなw
0085デフォルトの名無しさん
2008/02/27(水) 15:14:170086デフォルトの名無しさん
2008/02/27(水) 15:30:30あります
たとえばLispでJavaを実装すればマルチスレッデできます
0087デフォルトの名無しさん
2008/02/27(水) 16:17:08かなり無理があると思うけど・・・。
何か自分の質問が間違っている気がしてきた。
0088デフォルトの名無しさん
2008/02/27(水) 17:09:31商用のLisp処理系なら大抵できると思う。
AllegroとかCormanとか。
Freeの処理系は良く知らないけど。
0089デフォルトの名無しさん
2008/02/27(水) 17:10:32On Lisp読んだ?
あそこに少ないコードで言語実装する例が示されている
JavaでLispを実装するのは有名な話だね
LispでもJava実装簡単モーマンタイです鯛
0090デフォルトの名無しさん
2008/02/27(水) 17:16:16でも>85は「マルチスレッド処理可能なLisp処理系」が欲しいんだろ?
例え中身はLispで実装されてるとしても
「マルチスレッド処理可能なJava処理系」が欲しいんじゃなくて。
自分で「マルチスレッドに対応してないLisp処理系」を使って
「マルチスレッドに対応しているLisp処理系」を実装しろってか?
それはそれで偉い大変な話のような。
0091デフォルトの名無しさん
2008/02/27(水) 18:23:25最近調べたけど、大抵の処理系には付いてた。
対応してない処理系でも、user-levelなスレッドの実装もあるみたいだから、
Common Lispな処理系ならそういうのを使えると思う。
0093デフォルトの名無しさん
2008/02/27(水) 18:33:54何でそういう話になるんだ。ちゃんと読んでくれ。
例えば、SBCL辺りはネイティブスレッドだよ。
ただ、pthreadをベースにしているようなので、
Windowsではまだ対応してないようだ。
xyzzyってことは、Windowsユーザでしょ?
0094デフォルトの名無しさん
2008/02/27(水) 20:00:13ネイティブスレッドを使いたいなら SBCL か OpenMCL しかない
0095デフォルトの名無しさん
2008/02/27(水) 20:47:080096デフォルトの名無しさん
2008/02/27(水) 20:54:460097デフォルトの名無しさん
2008/02/27(水) 23:03:08> 下の方を触りたいなら、
(*´Д`)ハァハァ
0098デフォルトの名無しさん
2008/02/28(木) 15:26:18ちょっと待て
xyzzyよりXYZドラゴンキャノンのほうがいいと思うが
0099デフォルトの名無しさん
2008/02/28(木) 15:27:21ハハハ、こやつめ。
0100デフォルトの名無しさん
2008/02/28(木) 20:55:32マジレスするとzyってのはドラゴンキャノンの略です。
0101デフォルトの名無しさん
2008/02/28(木) 21:12:36■ このスレッドは過去ログ倉庫に格納されています