【入門】Common Lisp その4【質問よろず】
レス数が950を超えています。1000を超えると書き込みができなくなります。
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:360102デフォルトの名無しさん
2008/02/28(木) 23:45:08初めの、ランレングス符号化?で nextが使えるのはなぜですか?
call-next-method だとおもい、書き換えたら動いたのでこっちが正しいと思うのですが…。
お願いします。
0103デフォルトの名無しさん
2008/02/29(金) 00:09:12それだと持ってる人しか答えられないから
コードコピペしたほうがいいと思うよ
で、あれは let で局所変数 next に car lst を設定してる
0104デフォルトの名無しさん
2008/02/29(金) 00:14:37(U( )
| |∨T∨
(__)_)
ありがとうございました。letを見てませんでした。
0105デフォルトの名無しさん
2008/02/29(金) 12:45:22まずどうすればいいかさっぱり。
助けてLisper!!
0106105
2008/02/29(金) 13:28:07これつかってみるね!
0107デフォルトの名無しさん
2008/02/29(金) 13:29:290108デフォルトの名無しさん
2008/02/29(金) 22:32:04http://www.gigamonkeys.com/lispbox/
0109デフォルトの名無しさん
2008/03/01(土) 02:57:05Ubuntuを入れて
sudo apt-get install clisp
するだけ
0110デフォルトの名無しさん
2008/03/01(土) 11:03:46ntemacs+slime+clispにするか、
xyzzyにするか
好きな方を選んでください。
0111105
2008/03/01(土) 18:05:03XYZはちょっと・・・
今の一軍エレメンタルヒーローで完成してるんで
0112デフォルトの名無しさん
2008/03/01(土) 19:31:22「エレメンタルヒーロー」って何?
"xyzzy"の名前の由来知ってる?
Wikiを読むとすぐ分かるけど、ちょっと面白いよ。
0113デフォルトの名無しさん
2008/03/01(土) 20:36:09GCL or SBCL + ChezEdit-NT
0114105
2008/03/01(土) 23:17:03俺のふりをするな俺のふりをw
xyzzyの本がジュンク堂池袋支店にあったから
読んでみたけど、
ショートカットキーで動かすのがデフォっぽいから
勉強にはclispがやっぱ一番ベストかなぁ
ていうかLispすごいね。
Lispの本読んだり、家でいじってたときは、
「戻り値を引数にしてさらに、その戻り値を〜」とか
そんなんでプログラミングするとかアホちゃうかっ!!
って思ってたけど、今日帰ってきてJavaっぽい言語である
ActionScript3,0でプログラミングしてたら
「戻り値を引数にしてさらに〜」ってやりたいのに
わざわざ一時的な変数つくって代入してとか
クソめんどく感じた!!
まだマクロとかλとかよくわかんないけど
すげームダが無い言語っていう感じは伝わった!
てか、Lispの書物少なすぎ
0115デフォルトの名無しさん
2008/03/01(土) 23:30:36これって、できない言語の方が珍しくない?
0116デフォルトの名無しさん
2008/03/01(土) 23:32:42SBCLってWINでまともに動くようになったん?
0117105
2008/03/01(土) 23:53:52う、そうかもしれない。
やっぱJavaとかでnewが絡んだりしたら
一時的に変数に入れるのは普通かぁ…
0118デフォルトの名無しさん
2008/03/02(日) 00:56:54>今日帰ってきてJavaっぽい言語である
>ActionScript3,0でプログラミングしてたら
ECMAScript は C の文法をまとった Scheme と言われている様に、
Scheme の次に Scheme っぽい言語の一つだよ。
見た目に惑わされてはいけない。
0119デフォルトの名無しさん
2008/03/02(日) 01:07:19こんなのが望みか?
System.out.println(String.valueOf(new String(new StringBuilder().append('h').append("oge"))).intern());
0120デフォルトの名無しさん
2008/03/02(日) 01:07:280121105
2008/03/02(日) 01:11:02そ、そうなのか!
なるほど、「ハッカーと画家」って本に
Lispは良いプログラマーを育てるって言ってたことが
なんとなくわかった気がする!
って、Schemeなんて言語もあるのか…
色々あるんだなぁ。
ってSchemeはLispの方言の一つってどゆことだ??
んー…
Lispの書物少ないから今度はSchemeあさってみるね!
0122105
2008/03/02(日) 01:12:48>>119
んーそういわれると、どっちが良いんだかわかんなくなってきた…
0123デフォルトの名無しさん
2008/03/02(日) 02:24:42俺もつい最近JavaScripの凄さを知って勉強中。
ほんとSchemeっぽいわ。
function makecounter() {
var number = 0;
var counter = function(cmd) {
if (cmd == "set") {number=arguments[1];return number;}
else if (cmd == "inc") {number++;return number;}
else if (cmd == "dec") {number--;return number;}
else if (cmd == "get") {return number;}
};
return counter;
}
var c0=new makecounter();
var c1=new makecounter();
WScript.Echo(c0("set",0));
WScript.Echo(c0("inc"));
WScript.Echo(c0("inc"));
WScript.Echo(c1("set",10));
WScript.Echo(c1("dec"));;
WScript.Echo(c1("dec"));
WScript.Echo(c0("get"));
>>122
SchemeとLispの大きな違いは名前空間が同一か値と関数で別個になっているってとこかな。
あと念のためJavaScriptとJavaは違うからね。
0124デフォルトの名無しさん
2008/03/02(日) 09:10:22schemeだったら、gaucheが良いよ。
確か近々、gaucheの入門書がでるはず。
0125デフォルトの名無しさん
2008/03/02(日) 10:04:28SBCLはWindowsではまだまだみたい。
学習用、ちょっといじってみるならOK。
なにしろ高速。Lispが遅いなんてこたぁないよ。
0126105
2008/03/02(日) 12:10:55うっ!Unixで動くのか…
UnixってOSだよね?Windowsじゃ動かないかぁ
なんかEclipceで動くプラグイン的なものをみつけたので
それでやってみるね!
0127デフォルトの名無しさん
2008/03/02(日) 13:02:09ほとんどのプラグラムはCとかC++の延長で考えられてると思う。というか関数型っぽい考え方はされていないと言った方がいいか。
JavaScriptはフラナガンの本が出版されてから再評価され始めたんジャマイカ?Schemerにはアルゴリズムを流用できるから使いやすい言語だと思う。
0128デフォルトの名無しさん
2008/03/02(日) 13:46:40クロージャはクラスをネストすれば作れることを多くの人が知っている
0129デフォルトの名無しさん
2008/03/02(日) 13:53:57GaucheはWindowsでも使えるよ。
ただしcygwinというパッケージを入れないとダメだけど。
cygwinなしでも動くようにしている人たちがいたと思うけど
どんな状態なのかは知らない。
0130デフォルトの名無しさん
2008/03/02(日) 13:53:59http://javascript.crockford.com/javascript.html
こんなのもあるしね
http://javascript.crockford.com/little.html
Schemeっぽいのは作った人がこれなんだから、当然なんだけども(泣ける...)
People invoke Scheme when talking about JavaScript. I was originally
drawn to Scheme when Netscape recruited me in early 1995, but there
was less than zero time to use it
https://mail.mozilla.org/pipermail/es4-discuss/2007-November/001527.html
0131デフォルトの名無しさん
2008/03/02(日) 14:30:41日の目を見ていたのはJavaScriptだけじゃなかったんだな
0132デフォルトの名無しさん
2008/03/02(日) 17:05:11Windows、Mac、LinuxでMzSchemeと言う処理系を利用しているそうです。
Windowsなら、DrScheme(MzSchemeのGUI環境)を使って
Arcの処理系を導入できるようですよ。
0133デフォルトの名無しさん
2008/03/02(日) 17:27:380134デフォルトの名無しさん
2008/03/02(日) 17:34:200135デフォルトの名無しさん
2008/03/02(日) 18:06:360136デフォルトの名無しさん
2008/03/02(日) 18:18:43http://www.google.co.jp/search?q=javascript+%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3
0137デフォルトの名無しさん
2008/03/02(日) 18:29:48おまはや
つ http://pc11.2ch.net/test/read.cgi/tech/1202098949/l50
0138デフォルトの名無しさん
2008/03/02(日) 18:59:42世の中「その他」が圧倒的大多数な件w
0139デフォルトの名無しさん
2008/03/03(月) 00:19:38著名なライブラリ(prototype.js, jquery, YUI Ext ...)
ならばそれなりに使ってる、関数返したり、apply 使いまくったりを
クロージャというなら、だけど。
ただ、IE6 で DOM イベントにクロージャ使うとメモリリークするため
(最新パッチなら直ってるのかな) 使う場合気を使ってたりする。
0140デフォルトの名無しさん
2008/03/03(月) 04:28:530141デフォルトの名無しさん
2008/03/03(月) 06:06:03自分以外は馬鹿ばっか、っていう思春期みたいな思考でモノ言ってるようにしか見えん。
0142デフォルトの名無しさん
2008/03/03(月) 07:49:57>関数返したり、apply 使いまくったり
するのはレキシカルスコープありきの話なんだし、別段間違った理解でも
ないのでは?
高階関数の使用のことを「クロージャつかう」、っていうのが駄目ってこと?
まあ、CLじゃないからどうでもいいんだけどwwww
0143デフォルトの名無しさん
2008/03/03(月) 08:10:52きちんと用語を使い分けるべき。
0144デフォルトの名無しさん
2008/03/03(月) 11:57:33あれグローバルコンテクストすらオブジェクトで引き回し可能だから
参照の最適化困難だし。
0145デフォルトの名無しさん
2008/03/03(月) 13:19:15javascriptって名前のせいでclass特化な言語に見られがちだけど実際はプロトタイプ指向の言語なんでどっちかっつーとLispにもっとも近い言語の一つじゃないだろうか?
java,lispと比較したらオプティマイズやJITを行う場合Lispとあんまりアプローチ変えられないよね?
0146デフォルトの名無しさん
2008/03/03(月) 17:41:52全面戦争勃発ニツキ応援求ム
0147デフォルトの名無しさん
2008/03/03(月) 17:46:290148デフォルトの名無しさん
2008/03/03(月) 17:48:05偽善者が政治活動、公明党
ニセ仏教、騙されバカ信者、池田犬作チョン大教祖様、さっさと死ねや
カルトキチガイ・創価騙されバカ信者
カルト・キチガイ・偽善政治活動・公明党
カルト・キチガイ・偽善政治活動・公明党
カルト・キチガイ・偽善政治活動・公明党
0149デフォルトの名無しさん
2008/03/03(月) 18:00:40ここらで燃料投下しとく?
おk?おk?
0150デフォルトの名無しさん
2008/03/03(月) 18:22:25俺が許可する
権限はないが
0151デフォルトの名無しさん
2008/03/03(月) 19:15:26caddrの発音のしかたを教えてください
0152デフォルトの名無しさん
2008/03/03(月) 19:17:390153デフォルトの名無しさん
2008/03/03(月) 19:21:160154デフォルトの名無しさん
2008/03/03(月) 19:22:590155デフォルトの名無しさん
2008/03/03(月) 20:07:340156デフォルトの名無しさん
2008/03/03(月) 20:09:070157デフォルトの名無しさん
2008/03/03(月) 20:43:36なんかCLOSっぽいな。
>>153
キャドゥドゥドゥル
0158デフォルトの名無しさん
2008/03/03(月) 22:19:25ソース
0159デフォルトの名無しさん
2008/03/03(月) 22:26:10JavaScript をサポートする (インテルセンスとかが効くようになる) と書
いてあったので、なんかの展博の時にマイクロソフトの説明員に「もう、
VBScript は、やめるんか?」って聞いてたら、すごく困ってたがしつこく
聞いたら「まあ、そう言うことです。」と言う答えだった。
と言うことで、これからは JavaScript に転向しよう...。
って、ここ JavaScript のスレじゃなかったな、すまん。
0160デフォルトの名無しさん
2008/03/03(月) 22:53:32(atom 'cdr)
t
(atom #'cdr)
t
上はシンボルがATOMで、下は関数がATOMって事で良いんですよね?
0161デフォルトの名無しさん
2008/03/04(火) 00:43:19nil
(functionp #'cdr)
t
ところで、CLの半分の実装を含むCのライブラリがあるという噂を聞いたのですが
どこで手に入りますかね?
0162デフォルトの名無しさん
2008/03/04(火) 00:51:04知らなかった。
#'が関数渡しだって事が思い出せて良かった。
161さんありがとう。
lispってたまに思い出したようにやるんで、いっつも忘れてる。
0163デフォルトの名無しさん
2008/03/04(火) 01:03:48javaの方が新しいから、SteeleはJavaの方が優れていると考えているのかもと私は思う。
Guy Steeleの頭カチ割って中見てみたい。
0164デフォルトの名無しさん
2008/03/04(火) 08:44:540165デフォルトの名無しさん
2008/03/04(火) 16:38:11数値計算とかcommon lispでできるんですか?
どんなコードなのかかなり興味あります
lapackを呼ぶとか?
0166デフォルトの名無しさん
2008/03/04(火) 17:12:46JavaはC++と競合させるためにつくったもので、Lispと競合するものではないって
どっかでいってたよ、GLSが。
どこでいってたんだっけねえ。
0167デフォルトの名無しさん
2008/03/04(火) 17:48:28lispで考えてしまう人は居ても
Javaで行う様な人は居ないと思う。
0168デフォルトの名無しさん
2008/03/04(火) 21:01:29オブジェクト指向はいると思う。
自分はそれです。
Lispは人生で4回は挫折しているから、Lispで考えるってことは無いな。
Lispはある程度覚えても、使わないからすぐ忘れる。再帰とかのアルゴリズムは覚えてるんだけどね。
0169デフォルトの名無しさん
2008/03/04(火) 22:20:48ECLかな?
ttp://ecls.sourceforge.net/
素人なんでどれだけ実装できてるのかわからんのだけど
ちっちゃいしWindowsでも簡単にビルドできたんで
最近これで勉強してます。
LispのコードをCに変換できるのが面白い。
あと.NETシェルで作れるHyperSpecのCHMが便利。
0170デフォルトの名無しさん
2008/03/05(水) 06:09:03これ?
http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg04045.html
0171デフォルトの名無しさん
2008/03/06(木) 13:07:56それだったかもしれない。
でも案外いろんなところで言ってる気もする。
Frotressのインタビュッーでは、Fortressで科学計算コミュニティに
JavaがCコミュニティーに果たしたような効果をもたらしたいっていってた。
0172デフォルトの名無しさん
2008/03/11(火) 23:19:27packageのlockってどのような場合に使用するのでしょうか.
また,
(without-package-lock()
(load "path-to-file")
...
)
とするとロックが無視される?のでしょうか.
0173デフォルトの名無しさん
2008/03/11(火) 23:42:36ご明察。その通りです。
でも、余程の事がない限りパッケージロックを破るよりは、
別にパッケージをつくったりシャドウしたりする方が良いと思われ。
0174デフォルトの名無しさん
2008/03/12(水) 18:07:43>>173
コメントありがとうございます.
Lispの場合プログラムを配布する際にはロックをかけるものなのでしょうか.
0175デフォルトの名無しさん
2008/03/12(水) 20:19:19(carやcdrが再定義されるとこまるetc)には掛かっていますが、
普通のものには殆ど掛かっていないと思われます。
また、パッケージのロック機能自体オプションだったと思うので、
処理系依存です。
0176デフォルトの名無しさん
2008/03/12(水) 21:52:26>>175
> 処理系のCLパッケージのようにc再定義されると困るようなもの
なるほど,そう言うことですか.
toplevelとpackageで混乱してます.
もうちょっと勉強してきます.
ありがとうございました.
0177デフォルトの名無しさん
2008/03/21(金) 10:03:34ライブラリや関数はありますか?
0178デフォルトの名無しさん
2008/03/21(金) 10:18:080180デフォルトの名無しさん
2008/03/21(金) 11:12:050181177
2008/03/21(金) 11:31:12お金が絡むようなWebアプリに適用できるのか(簡単に書けるのか)、
調べているのですが、ratioでも適用できると思いますが、
十進数演算を素直に記述できるような標準的な
ライブラリがあるのかなと思いまして。
0182デフォルトの名無しさん
2008/03/21(金) 12:06:320183デフォルトの名無しさん
2008/03/21(金) 19:03:500184デフォルトの名無しさん
2008/03/21(金) 20:28:330185デフォルトの名無しさん
2008/03/22(土) 10:55:35例えば
(etl オブジェクト インデックス)
(gethash キー オブジェクト)
となっていますが、
他の関数もこのように、てんでんばらばらなのでしょうか?
使っているうちに慣れると思うけど、なんだか美しくないなぁ。
0186185
2008/03/22(土) 11:25:52By an accident of history, the order of arguments to gethash
is the opposite of elt--elt takes the collection first and then
the index while gethash takes the key first and then the collection.
と書いてありますね。
他の関数は大丈夫なのかな?
0187デフォルトの名無しさん
2008/03/22(土) 11:58:26というならともかく、気分で非互換にするわけにもいかなかったんだろう。
まぁ次世代のLispの時には揃うかもね。
あるいは↓のように自分でなんとかするとか。コンパイラががんばれば効率はかわらんはず。
;; c.l.l のスレより転載 http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/40e7f65f415b0cd3/
(proclaim '(inline hashget))
(defun hashget (table key &optional default)
(gethash key table default))
(defun (setf hashget) (value table key &optional default)
(setf (gethash key table default) value))
どうしても許せん、ならSchemeとか…
0188デフォルトの名無しさん
2008/03/22(土) 12:21:450189185
2008/03/22(土) 15:49:42どうもありがとうございます。
リンク参考になりました。
>>188
やはりそうですか。
JavaやRuby等の、比較的最近の言語から見ると
関数名や引数の順番の一貫性の無さが気になってしまいます。
0190デフォルトの名無しさん
2008/03/22(土) 16:20:14自分好みに変えられるのがLisp風。
むしろそこを気にかけてほすい。
気になった箇所を徹底的に自分好みに変更するのも勉強になります。
0191デフォルトの名無しさん
2008/03/22(土) 16:48:46覚えることがそもそも少いから、あまり気にしたことないなぁ。
0192デフォルトの名無しさん
2008/03/22(土) 21:40:12ただの電波ですよね?
0193デフォルトの名無しさん
2008/03/22(土) 21:52:16S式があるおかげでフォーマットに悩まないとかマクロのおかげでコード生成が身近というあたりが利点かもね。
でも、あいまいな仕様でもLispをつかうだけで魔法のようにまともなソースができあがる、なんて話ならありえない。
0194デフォルトの名無しさん
2008/03/22(土) 22:12:380195デフォルトの名無しさん
2008/03/22(土) 22:16:07Leeを思い出したww
0196デフォルトの名無しさん
2008/03/22(土) 22:19:50元ネタがどこだなのかわからんから推測しか言えないが、厳密にかける世界の話だったんじゃないかな?
ファイルフォーマット解析とか状態遷移とかコンパイラとか、仕様を厳密に記述するほうが自力でゴリゴリコーディング
するより楽、という話ではないかな。
0197デフォルトの名無しさん
2008/03/22(土) 22:19:53リスト処理がたくさん出てくるので、Lisp 向き。
と言う時代もあったけど、最近の言語はどれもそれなりに文字列処理や
リスト処理に不自由しなくなってきたので Lisp だからどうと言うこと
は少なくなくって来た。
0198デフォルトの名無しさん
2008/03/22(土) 22:30:05実行時にevalがあるような言語だけじゃないかな?
lispだとマクロが化け物だから可能な領域ってのもあるからそこを前提にされると太刀打ちできない気がする。
0199デフォルトの名無しさん
2008/03/22(土) 22:30:16仕様記述からプログラムが書けるとすれば、その仕様記述は(自然言語とかけはなれた)
曖昧性の無いもののハズで、それは完全にプログラムそのものだろ。
可能ちゃ可能だろうけど、それに何の意味があるんだ?
といつも思う。
0200デフォルトの名無しさん
2008/03/22(土) 22:40:42仕様を定義するほうが、プログラム書くより量的に少ない場合とか、
そうでなくても厳密な仕様をミスなく書き下す手間が自動化できてラッキーとか、
モデルチェッカとかでチェックした仕様をソースにできるとか、
図でプログラム読めない人(←でも業務とかその道のプロ)に漏れや抜けがないかを
チェックしてもらって、そっからミスなくソースができてうれしーとか。
0201デフォルトの名無しさん
2008/03/22(土) 22:54:240202デフォルトの名無しさん
2008/03/22(土) 22:58:56実務でも使ってるよ。単なるちょっとした規模のマクロ、って意味だけど。
0204デフォルトの名無しさん
2008/03/23(日) 00:57:260205デフォルトの名無しさん
2008/03/23(日) 05:57:220206デフォルトの名無しさん
2008/03/23(日) 07:01:23それで想像できるなら正規表現使えば想像できる筈
0207デフォルトの名無しさん
2008/03/23(日) 08:47:240208デフォルトの名無しさん
2008/03/23(日) 09:12:26それをプログラムではなく仕様と呼ぶのは何故なんだぜ?
売り込みに来たヤツがそういってるから?
0209デフォルトの名無しさん
2008/03/23(日) 10:31:37仕様書って文章で書いた奴しか見たことないのかな。
0210デフォルトの名無しさん
2008/03/23(日) 10:37:24だから具体的に書けない。
0211デフォルトの名無しさん
2008/03/23(日) 14:02:39とりあえず、199の時点で皆に膝を叩いて納得して欲しかったんじゃない?
0212デフォルトの名無しさん
2008/03/23(日) 14:34:59>>199
厳密に書かないといけないのは確かだけど、意味がないわけじゃない。
例えば、今時特殊な状況を除けば普通高級言語でプログラム書くけど、これだって
当然曖昧性のないものでなのでアセンブラと同様に厳密に書かないといけない。
だからと言って意味がないわけじゃないだろ?
ループのためだけにラベル名を考えたり、ローカル変数のサイズ計算してスタック
ポインタから引くためのコード書いたりしなくて良くなるだけでも、ずいぶん楽だ
しコードの品質も上がる。
それと同じで、例えば通信やってる人なんかだと仕様書として状態遷移図とか、ス
テータスマトリックスを渡されたり、自分で書いたりする。
今はこれを見て「人手で」コーディングしてるでしょ?
で、仕様変更があったら再度コードを「人手で」修正してるよね。
この部分を自動化するだけでもかなり楽になると思わない?
0213デフォルトの名無しさん
2008/03/23(日) 15:36:06emacsでcommon lisp開発環境作るとしたらslimeだけでいいのでしょうか?
0214デフォルトの名無しさん
2008/03/23(日) 18:14:29> emacsでcommon lisp開発環境作るとしたらslimeだけでいいのでしょうか?
後はマニュアルを引きやすくしとけばいんでね
0215デフォルトの名無しさん
2008/03/23(日) 18:46:24「Common Lispリーダーの標準的なマクロ文字が知りたい」の?だとしたら % って何だろ…
とりあえずHyperSpec見れ
ttp://www.lisp.org/HyperSpec/Body/sec_2-4.html
ttp://www.lisp.org/HyperSpec/FrontMatter/Alphabetical-Non-Alphabetic.html
0216デフォルトの名無しさん
2008/03/23(日) 19:20:00ということは変数名の先頭に%がついてたのは特別な意味はないのですね
0217デフォルトの名無しさん
2008/03/23(日) 19:30:55ないといえばないけど、慣習の一部
http://www.cliki.net/Naming%20conventions
0218デフォルトの名無しさん
2008/03/23(日) 20:26:08GNU Common LispってGCLだったのね。
違いは何だろうと思って探したら
http://okwave.jp/qa3686339.html
がありました。
0219デフォルトの名無しさん
2008/03/24(月) 02:30:50普段何に使ってますか?
1. シェルスクリプト並にナチュラルに普段使いをしている
2. ある程度以上注意深く作るアプリケーションやモジュール作成の時のみに使用
3. 実用性を考えたら負けなものをニヤニヤしながら作ってて楽しい
0220デフォルトの名無しさん
2008/03/24(月) 05:58:56思いついたことをさらっと試すのに使ってる。
Emacs使いでないとわからん感覚かも
0221デフォルトの名無しさん
2008/03/24(月) 08:38:110222デフォルトの名無しさん
2008/03/24(月) 10:20:20cffiを使ってc++のプログラムをlispから呼びたいのですがサンプルのコードの意味が今一つわかりません
http://www.swig.org/Doc1.3/Lisp.html#Lisp_nn6
ここあたりがそうみたいなのですが、これが理解できるようになるための
中級向けテキストはどこかにないのでしょうか?
0223デフォルトの名無しさん
2008/03/24(月) 10:39:41>それ以上の話題
は残念ながら殆ど英語圏にあります。
ffi等は実装依存なので、まず使っている処理系がなにかを書くと適切な返事があるかも。
0224デフォルトの名無しさん
2008/03/24(月) 10:42:44swigを使うのがわからないのか、ffiの使い方自体がわからないのか、どっちなんだよ?
0225デフォルトの名無しさん
2008/03/24(月) 10:59:49lispのサンプルコードで
cl:letと単純にletと書くのにどう違いがあるのか
などの記法が分からずつまづきます
ffiの使い方がわからないですpython.ctypesと似たようなものなのでしょうか?
0226デフォルトの名無しさん
2008/03/24(月) 11:08:01>などの記法が分からずつまづきます
これはCLのパッケージについて入門用のサイトで勉強すれば分かると思うので、
一歩戻ってパッケージについて学ぶことをおすすめしたいところ。
0227デフォルトの名無しさん
2008/03/24(月) 11:16:55ffiは処理系依存だから、まずおまいさんが使ってる処理系のマニュアル嫁。
処理系にできるだけ依存したくないならcffiとかuffi使え。
でもswig使ったことあるならインタフェース書けるだろうし、
理解しなくても使えると思うんだが。
0228デフォルトの名無しさん
2008/03/24(月) 13:35:31愛があればRubyあたりとそう大差ない普段使いができると思ってもらっておk
PerlはCPANが強力過ぎるしPythonはGUIがあるから常用を比べるのはちょっと酷
ニコニコ動画ダウンローダー(ちょっと色々混じってるが)
ttp://read-eval-print.blogspot.com/2007/08/common-lisp.html
ただ、この利用レベルに至るのには時間がかかるのが難点
「別にLispでなくてもいいじゃんね?」という内からの声を無視できる程度には超越しないとイカン
0229デフォルトの名無しさん
2008/03/24(月) 13:37:290230デフォルトの名無しさん
2008/03/24(月) 13:48:57(自分でCL使って関数書きたいとか言わなきゃ)問題なかろ。
0231デフォルトの名無しさん
2008/03/24(月) 15:00:49Lispに愛が芽生えてきますた。
言語への慣れと理解によって大きく違うと思いますが、
Rubyと比べて、生産性は良さはどんなものでしょうか?
0232デフォルトの名無しさん
2008/03/24(月) 20:27:54最初に「光あれ!」とかやってたのは全部Lisp。
一方、Rubyはただのスクリプト言語。
0233デフォルトの名無しさん
2008/03/24(月) 20:32:440234デフォルトの名無しさん
2008/03/25(火) 10:56:09CLOSを知った今、猛烈に感動している。
凄いなCommon Lisp♥
0235デフォルトの名無しさん
2008/03/25(火) 11:01:310236234
2008/03/25(火) 11:19:24>>235
そうですよね。
でも、なんだかとっても凄いぞCommon Lisp。
0237デフォルトの名無しさん
2008/03/25(火) 22:26:50まあ、足し算とか引き算なんかもできないとスゲー困るわけで...
0238デフォルトの名無しさん
2008/03/25(火) 22:41:42ラムダ計算の初歩ですよ。遅いけど。
0239デフォルトの名無しさん
2008/03/26(水) 01:44:370240デフォルトの名無しさん
2008/03/26(水) 01:58:430241デフォルトの名無しさん
2008/03/26(水) 02:20:260242デフォルトの名無しさん
2008/03/26(水) 03:31:13http://common-lisp.net/project/rcl/index.html
0243デフォルトの名無しさん
2008/03/26(水) 15:19:34(defun (setf customer-name) (name account)
(setf (slot-value account 'customer-name) name))
と定義すると、
(setf (customer-name my-account) "hoge")
と書けるのはどうしてですか?
defunを使った関数定義で
(defun (setf 〜) ....)
とdefunの直後に括弧が付く場合、何を意味することになるのでしょうか?
初心者丸出しの頓珍漢な質問だと思いますが、お願いします。
0244デフォルトの名無しさん
2008/03/26(水) 16:54:040245デフォルトの名無しさん
2008/03/26(水) 17:15:34OnLisp の汎変数の説明のところでもいいけど。
0246デフォルトの名無しさん
2008/03/26(水) 18:54:02キャラクタエンコードをutf-8を通す設定にしてslimeコンソールから日本語(に限らずutfで256以上の値を持つ文字)を食わせると
cmucl側からソケットが切断されてしまうのですがこの辺りを解決する情報をお持ちの方はいますでしょうか?
0247デフォルトの名無しさん
2008/03/26(水) 19:41:14そもそもcmuclってutf-8通せたっけ?
0248243
2008/03/26(水) 20:49:02Googleで調べていたのですが、このような機能をなんと呼ぶのかも
分からず、困っていました。
CLtL2 inversionで調べたら、出てきました。
助かりました。どうもありがとうございます。
0249デフォルトの名無しさん
2008/03/27(木) 00:50:24単体で起動すると通りますがslime経由だと通らないのです。
sbclも試したのですが、こちらは主用途のaserveでつかっているhtmlgenの中に日本語テキストがあると出力がそこで打ち切りになってしまいますです。
ex.
aserveへ↓を食わせたときに
(:html (:body "test" :br "test2" :br "多バイトコード" ))
ブラウザでaserveをアクセスしたときに test2<br>までが出力されます(sbclのバグトラックにはレポートあがってました)
この例をcmuclでやるとコンソールから直に打ち込むとOKなのですがslime経由だと"多"が送り込まれた時にsocketがreset by peerになってしまうのです。
lispの学習で自分の手習いを実用コードで行おうというのがおこがましいのかなぁorz
0250デフォルトの名無しさん
2008/03/27(木) 07:42:04windowとunixで
CLISP+emacs+slimeでutf-8でコードを書いていますが、
CLISPだと駄目ですか?
0251デフォルトの名無しさん
2008/03/27(木) 07:59:35うちの .emacs にはこんなことが書いてあるが...
(setq slime-lisp-implementations
'((sbcl ("sbcl") :coding-system euc-jp-unix)
(clisp ("clisp" :coding-system euc-jp-unix))))
(setq slime-net-coding-system 'euc-jp-unix)
0252デフォルトの名無しさん
2008/03/27(木) 09:30:19これ自分も知りたいと思ってた。
自分が確かめた範囲では、下記の通り
*UTF-8で日本語が使えるかどうか*
--そのままでOKなもの
sbcl
clisp
allegro cl
clozure cl
--処理系で日本語は使えるけれど素のSLIMEだと切断されるもの
cmucl
ecl
lispworks
abcl
ちなみに「日本語が使える」ってのは処理系で表示できてる、位の意味で、
厳密には処理系ごとに事情が違ってます。
多分、処理系に応じたswank-〜.lispを修正すれば良いんだと思うけど、
漏れは、挫折して、素でOKなものを使ってます。
0253247
2008/03/27(木) 11:07:58> この例をcmuclでやるとコンソールから直に打ち込むとOKなのですがslime経由だと"多"が送り込まれた時にsocketがreset by peerになってしまうのです。
utf-8 で接続はできて、日本語を送ろうとしたときに接続が切れるの?
0254デフォルトの名無しさん
2008/03/27(木) 11:40:24憶えないといけないこと多いね
classの考え方が他の言語と違ったりするし
0255デフォルトの名無しさん
2008/03/27(木) 11:43:32次に3日でマスタしようとして挫折する予定の言語はなんですか?
0256デフォルトの名無しさん
2008/03/27(木) 11:45:05日本語になって出てきているだけじゃないか?
char-code-limitはいくつ?
0257デフォルトの名無しさん
2008/03/27(木) 11:46:180258デフォルトの名無しさん
2008/03/27(木) 12:51:21あなたは何をやっても駄目そうですね。
0259デフォルトの名無しさん
2008/03/27(木) 14:26:57cmucl 19e
- Preliminary support for external formats. Currently only
iso8859-1 and utf-8 are supported. Utf-8 support is limited
since CMUCL only has 8-bit characters.
0260デフォルトの名無しさん
2008/03/27(木) 14:32:59接続できないように書かれているから、そもそも utf-8 で接続できているのが
おかしいというか勘違いだろう。
0261デフォルトの名無しさん
2008/03/28(金) 03:04:37ガーン、有難うございました orz
そうか、external-formatだけダメってのもあるのか,Release-noteはちゃんと読まないとだめですねぇ
0262デフォルトの名無しさん
2008/03/30(日) 19:57:31(defun visitor (x)
(+ (car x) (visitor (cdr x))))
(visitor y)
スタックオーバーフローで死ぬんですけど・・・。
xyzzyにて。
0263デフォルトの名無しさん
2008/03/30(日) 20:03:43(setq y '(1 2 3 4 5 6 7 8 9 10 11))
(defun visitor (x)
(if (equal x nil) 0
(+ (car x) (visitor (cdr x)))))
(visitor y)
0264デフォルトの名無しさん
2008/03/30(日) 21:14:41(setq x '(1 2 3 (4 5 6 (7 8 9 ) 10 11 )))
(defun visitor (x)
(if (equal x nil) 0
(if (listp (car x)) (+ (visitor (car x)) (visitor (cdr x)))
(+ (car x) (visitor (cdr x))))))
(visitor x)
0265デフォルトの名無しさん
2008/03/30(日) 21:21:22鬱だ。情けない。
0266デフォルトの名無しさん
2008/03/30(日) 21:43:40なんとなく別解を書いてみた
(defun visitor (x) (if (atom x) x (apply #'+ (mapcar #'visitor x))))
0267デフォルトの名無しさん
2008/03/30(日) 22:35:30まさか同じ処理をするとは思えませんでした。
高階関数を使うとそんなにすっきり書けるんですね。
勉強になりました。ありがとうございました。
0268デフォルトの名無しさん
2008/03/31(月) 00:08:43(defun visitor (x) (apply #'+ x))
0269デフォルトの名無しさん
2008/03/31(月) 00:10:090271デフォルトの名無しさん
2008/03/31(月) 14:37:40[x1,x2,x,3...]という記号(変数?)の列を生成したいのですが
defmacroを使うのが正しいやりかたなのでしょうか?
0272デフォルトの名無しさん
2008/04/01(火) 02:24:09rcl(Rとのインターフェイス)が動かなかったので補正してみました.
ひょっとしてバグなのでしょうか?
0273デフォルトの名無しさん
2008/04/01(火) 16:15:05swigのcffiオプションはcはできてもc++はできないみたいなので
Allegro Common Lisp用のものを生成して
swig -allegrocl -c++ example.i
ちょっと書き換えればclispやsbclで動くものになるんだろうか
0274デフォルトの名無しさん
2008/04/02(水) 00:40:550275デフォルトの名無しさん
2008/04/02(水) 08:17:07学生になったらいいんじゃね?
0276デフォルトの名無しさん
2008/04/02(水) 08:43:39ヴァージョンが違うからなのか、そのままのとおりにならないorz
親しんでもらって売ろうという気は無いのかなと思った。
0277デフォルトの名無しさん
2008/04/02(水) 20:43:29ANSI CL 規格の範囲内ならともかく、ACL処理系依存の部分なら
全バージョンで完全な互換性を保つ事を要求するのは酷なのでは…。
0278デフォルトの名無しさん
2008/04/03(木) 00:07:32すごい便利そうなんだけどドキュメントはどこ?
0279デフォルトの名無しさん
2008/04/05(土) 09:07:12少ないデータをかませたらきちんと結果が出てくるんだけど
大量のデータをかませたら
APPLY: too many arguments given to +
[Condition of type SYSTEM::SIMPLE-PROGRAM-ERROR]
と出てくる.
スタックサイズか何かだと思うんだけど...どうやったらうまくapplyしてくれるようになりますかね?
0280デフォルトの名無しさん
2008/04/05(土) 09:37:400281デフォルトの名無しさん
2008/04/05(土) 11:02:520282デフォルトの名無しさん
2008/04/05(土) 11:55:26Clispは引数の数に制限があるの?
0283デフォルトの名無しさん
2008/04/05(土) 20:18:01CALL-ARGUMENTS-LIMIT
ttp://www.lispworks.com/documentation/HyperSpec/Body/v_call_a.htm
0284デフォルトの名無しさん
2008/04/05(土) 20:41:10282じゃないけど、こんな変数あるんだ、勉強になったよ
ちなみに手元で調べた結果(全部 mac os x 上)
clisp: 4096
acl: 16384
sbcl: 536870911
0286デフォルトの名無しさん
2008/04/05(土) 22:42:57ANSI 規格では最低 50 ときまってるので、50 個の引数までなら CALL-ARGUMENTS-LIMIT を意識せずに安心して使える。
0287デフォルトの名無しさん
2008/04/05(土) 23:42:37ある日PCL読んで制限について書いてるのたまたま発見、という流れだったね。
ttp://www.gigamonkeys.com/book/functions.html
ANSI 規格では最低 50 ときまってるけど、 CALL-ARGUMENTS-LIMIT のことは忘れて reduce 使うね。
0288デフォルトの名無しさん
2008/04/06(日) 20:13:57multiple-values-limit >20
call-arguments-limit >50
lambda-parameters-limit >50
下は多分誰も気にしない値。
array-dimension-limit >1024
array-rank-limit >8
char-code-limit >96
array-total-size-limit >1024
0289デフォルトの名無しさん
2008/04/06(日) 22:05:03char-code-limitはUnicodeサポートの目安に使ったりするみたいよhttp://lispuser.net/commonlisp/japanese.html
array-total-size-limitも結構使う。おさまらないやつは分割したりしなきゃいけないから。
0290デフォルトの名無しさん
2008/04/06(日) 22:28:38細かいことを言うようだが、正確にはすべて等号を含む、かな。
0291デフォルトの名無しさん
2008/04/06(日) 22:53:01HyperSpecのぶ厚い仕様はダテじゃないのね、、、失礼しました。
>>290
(´・ω・`)
0292デフォルトの名無しさん
2008/04/08(火) 10:52:123
CL-USER> (+ 2 3)
5
CL-USER> (+ 3 4)
7
CL-USER> (+ * ** ***)
15
こんな事ができるのね。
0293デフォルトの名無しさん
2008/04/08(火) 12:26:03それ、便利だよね。
slimeとかじゃ使えんが。
0295デフォルトの名無しさん
2008/04/08(火) 18:42:54sbcl だとダメだった
0296デフォルトの名無しさん
2008/04/08(火) 18:52:51; SLIME 2008-03-24
CL-USER> (+ 1 2)
3
CL-USER> (+ 3 4)
7
CL-USER> (+ 5 6)
11
CL-USER> (+ * ** ***)
21
CL-USER> (lisp-implementation-type)
"SBCL"
CL-USER> (lisp-implementation-version)
"1.0.15.41"
CL-USER>
0297デフォルトの名無しさん
2008/04/08(火) 19:01:400298デフォルトの名無しさん
2008/04/08(火) 22:38:30ttp://www.lispworks.com/documentation/HyperSpec/Body/25_aa.htm
"*" 辺りしか使ったことないけど。
0299デフォルトの名無しさん
2008/04/08(火) 23:32:330300デフォルトの名無しさん
2008/04/09(水) 00:47:290301デフォルトの名無しさん
2008/04/10(木) 12:13:270302デフォルトの名無しさん
2008/04/10(木) 12:42:040303デフォルトの名無しさん
2008/04/10(木) 16:14:13使えないみたいですね。
0304デフォルトの名無しさん
2008/04/10(木) 16:19:080305デフォルトの名無しさん
2008/04/10(木) 23:34:06オレにはその認識はなかったので、かなり新鮮。
欲しければ実装してやればいいんじゃね。
0306デフォルトの名無しさん
2008/04/11(金) 00:06:120307デフォルトの名無しさん
2008/04/11(金) 06:35:02別に苦労して* + /を実装する必然性も感じられないんだけどw
0308デフォルトの名無しさん
2008/04/11(金) 08:37:14(loop
(setq *** ** ** * * (eval (read)))
(print *)))
*付きREPLってこんな感じ?ほとんど意味無いけどw
0309デフォルトの名無しさん
2008/04/11(金) 09:39:28実際の実装も割とそんな感じですね。
0310デフォルトの名無しさん
2008/04/11(金) 13:26:01さほど苦労ではないから多くの処理系で実装されているのでは?w
0311デフォルトの名無しさん
2008/04/11(金) 15:53:080312デフォルトの名無しさん
2008/04/11(金) 16:31:450313デフォルトの名無しさん
2008/04/12(土) 00:32:41いや、規格できまってるからですw
0314デフォルトの名無しさん
2008/04/12(土) 10:15:47(car
'(#'test . ("arg1" . "arg2"))))
これが,
FUNCALL: #1=#'TEST is not a function name; try using a symbol instead
としてエラーが出るのですが,おそらくクオーティングされてるんだと思います.
これをfuncallでできるようにやるにはどうしたらよいのでしょう?
0315デフォルトの名無しさん
2008/04/12(土) 10:40:55A: cons で対応
(funcall (car (cons #'test '("arg1" . "arg2"))))
B: バッククォートで対応
(funcall (car `(,#'test . ("arg1" . "arg2"))))
0316デフォルトの名無しさん
2008/04/12(土) 11:50:56(setf (symbol-function 'test) #'car)
(funcall (car '(test . ("arg1" . "arg2")))
'(foo bar))
;-> foo
で良いだろうし
testが動的に変化するなら、
(let ((test #'car))
(funcall (car `(,test . ("arg1" . "arg2")))
'(foo bar)))
-> foo
じゃない?
function(#')付けるとややこしくなると思うよ。
もしくは最初のalistの作り方ががそもそも問題で、
(let ((test #'car)
(alist (cons #'car '("arg1" . "arg2"))))
(funcall (car alist)
'(foo bar)))
とか。
なんにしろ、何が実現したいのかで変ってくる例だと思う。
関係ないけど、SchemeとCommon Lispの名前空間の扱いの違いを理解するには良い例かも。
0317デフォルトの名無しさん
2008/04/12(土) 12:08:31(define (test) 100)
((car '(test . 100)))
はSchemeだってエラーでしょう。
元質問は、俺にもかけだしだった頃に似たような経験があるなぁ。
1. #' + シンボルで関数を表現する、という説明を聞く => やってみる '(#'test) うごかNeeeなんで?
2. #'test を「評価」すると関数になるんだよー ' でクォートされたものは評価されない
3. Aha!
0318デフォルトの名無しさん
2008/04/12(土) 13:26:35>>316 >関係ないけど、Sche...
と書いてますし、質問と関係ないことについては、ご指摘の通りですw
quoteを回避するってなら、
(funcall (cadar '(#'car)) '(foo bar baz))
って方法もあるね。
さらに横道に逸れるけどw
0319デフォルトの名無しさん
2008/04/12(土) 13:41:41この関数を定義して、
(defun exclaim (exp)
(append exp (list 'oh 'my)))
CL-USER> (exclaim '(hoge fuga))
(HOGE FUGA OH MY)
CL-USER> (nconc * '(goodness))
(HOGE FUGA OH MY GOODNESS)
CL-USER> (exclaim '(foo bar))
(FOO BAR OH MY GOODNESS) ←どうしてこうなるの???
上記の(list 'oh 'my)は関数が呼ばれるたびに
生成されると思ったのですが、どうして関数内で定義されている
リストが影響されてしまうのでしょうか。
0320デフォルトの名無しさん
2008/04/12(土) 14:40:32CLISP、SBCL
HyperSpec博士の出番だね。
(defun exclaim (exp)
(let ((lst (copy-list '(oh my))))
(append exp lst)))
でも同じ結果になるのかな?
0321319
2008/04/12(土) 15:06:49> (defun exclaim (exp)
> (let ((lst (copy-list '(oh my))))
> (append exp lst)))
この関数で試してみたら、うまく動きました。
ありがとうございます。
もう一度、
(defun exclaim (exp)
(append exp (list 'oh 'my)))
を定義して試してみたら、うまく動きました。
CLisp,Slimeで試していたのですが、
上記の関数は別ファイルに書き、
c-c c-l
でloadfileしていたのですが、保存前の
ファイルをloadfileしていたのだと思います。
すみません。
0322デフォルトの名無しさん
2008/04/15(火) 13:12:560323デフォルトの名無しさん
2008/04/15(火) 15:25:05MLでは無いですが、mixiにはコミュニティがありました。
この前見たときは8名ほどだったような。
日本語で情報交換できるMLがあったら私も知りたいですが、
このスレが一番活発だったりして。
0324デフォルトの名無しさん
2008/04/15(火) 20:58:44ありうるw
いまどきブログで書く人が多いからMLも活発にならないかもしれない。
そういってもcommon lispのブログもあまり見かけない気はするけどw
0325デフォルトの名無しさん
2008/04/15(火) 22:20:110326デフォルトの名無しさん
2008/04/15(火) 22:47:26一晩かけてみんなでカッコを黒板に清書だな
0327デフォルトの名無しさん
2008/04/15(火) 23:21:03僕はとっても楽しみにしてるんで、日常だけでもいいから日記かいてくれないかなぁ。
0328デフォルトの名無しさん
2008/04/16(水) 02:27:49大体がcommon lispnについて書くのやめちゃったね。
対してSchemeはあんまりそういう傾向はないみたいなんだけど。
なんでだろ。Schemeは教材が充実してるから学習日記が書きやすいとか、かな?
0329デフォルトの名無しさん
2008/04/16(水) 02:31:530330デフォルトの名無しさん
2008/04/16(水) 02:52:530331デフォルトの名無しさん
2008/04/16(水) 03:34:410332デフォルトの名無しさん
2008/04/16(水) 05:55:21もう一つも登録者8人中、アクティヴなのは4人ぐらいしかいないみたい。
この現状でさらにもう一つCLersのグループを作ったとしても…
0333332
2008/04/16(水) 06:00:35「はてなにLisp系のグループは2つ」というのは間違いでした。
0334デフォルトの名無しさん
2008/04/16(水) 08:26:52新仕様 Common Lisp The 3rd とかあると盛りあがるんだけど。
0335デフォルトの名無しさん
2008/04/16(水) 08:39:09> 新仕様 Common Lisp The 3rd とかあると盛りあがるんだけど。
その仕様にフジコちゃんは入ってますか?
0336デフォルトの名無しさん
2008/04/16(水) 10:08:270337デフォルトの名無しさん
2008/04/16(水) 10:37:370338デフォルトの名無しさん
2008/04/16(水) 10:41:46俺様から怠惰を盗みやがったぜ
0339デフォルトの名無しさん
2008/04/16(水) 12:40:05別に沢山あっても良いと思うけど、纏まってないといけない理由もないだろうし。
CL専門だったら漏れも登録したいと思うよ。
もしくは逆にテーマを限定してCLOS専門とかねw
0340デフォルトの名無しさん
2008/04/16(水) 13:50:47common lispのグループは便利だった
0341デフォルトの名無しさん
2008/04/16(水) 22:26:260342デフォルトの名無しさん
2008/04/16(水) 22:33:29同意。グーグルが勝手に拾ってくれるから、必要なのは
Webに書くときには単に Lisp ではなく、ちゃんと Common Lisp と綴ることだと思う。
だれか「CLOSプログラマーのためのJava入門」とか書いてくれたら嬉しいんだけど。
0343デフォルトの名無しさん
2008/04/16(水) 22:41:03まあ CLOS の事は書いてないけど
0344デフォルトの名無しさん
2008/04/16(水) 22:50:36宣伝しなきゃですよ。ここへURLを晒すとか。w
0345デフォルトの名無しさん
2008/04/16(水) 23:47:30CLOSとJavaて水と油ですやん。書く奴がいるとは思えない。
「CLOSプログラマーのためのC++入門」ならまだ分かる。
両方generic function萌えなので。
0346デフォルトの名無しさん
2008/04/16(水) 23:57:33generic functionという用語だけ同じでも中身別物じゃんかw
0347デフォルトの名無しさん
2008/04/17(木) 00:16:240348デフォルトの名無しさん
2008/04/17(木) 01:52:09http://www.amazon.co.jp/dp/4810180131
どっかの出版社タノムぜ
0349デフォルトの名無しさん
2008/04/17(木) 01:57:19http://www.fukkan.com/fk/VoteSearch?search=lisp
0350デフォルトの名無しさん
2008/04/17(木) 07:42:11マクロとCLOSってめちゃめちゃ強力な気がするんだけど(まだ勉強中)
0351デフォルトの名無しさん
2008/04/17(木) 07:47:50Lispやる前を思い出してみると、マクロと聞くとCの#defineを想像したり、
大量の括弧をみただけでダメ出ししていたりしませんでしたか?
0352デフォルトの名無しさん
2008/04/17(木) 08:28:55その前にCL自体を流行らせないと。
0353デフォルトの名無しさん
2008/04/17(木) 08:32:15二大「特殊化」言語だよ。
コンパイル時か、実行時か
before/after daemon
大きく違うのはこのくらい。
>>350
Common Lispが流行ってませんので…
けどC++にかなり大きな影響与えてる。
C++の方は特殊化に関する部分だけでも、
まだいろいろと拡張を続けてる。
Generic programmingやaspect oriented programmingの
源流の一つだね。
0354デフォルトの名無しさん
2008/04/17(木) 08:40:09> 大きく違うのはこのくらい。
それに起因して違いがありすぎるだろ。別物じゃねーか。
0355デフォルトの名無しさん
2008/04/17(木) 08:47:26Java:だいたい全てがオブジェクト,Guy Steel Jr が参加
CL:全てがオブジェクト,Guy Steel Jr が参加
同じだ!JavaとCLはほとんど同じだよ!
0356デフォルトの名無しさん
2008/04/17(木) 09:26:250357デフォルトの名無しさん
2008/04/17(木) 09:52:39コンパイルもバイトコードに落ちるようなの。
0358デフォルトの名無しさん
2008/04/17(木) 10:34:44Armed Bear Common Lisp (ABCL) が既にあるけど何か?
0359デフォルトの名無しさん
2008/04/17(木) 10:46:27アンテナ壊れてたよ、ありがと.
週末に試してみる。
0360デフォルトの名無しさん
2008/04/17(木) 13:47:15そうだね、MOP全般ってのも良いかも。
とりあえず、CLOSの情報が増えさえすれば良いんだし。
CL、Gauche、他にどういうのが対象言語かな。
0361デフォルトの名無しさん
2008/04/17(木) 14:09:26common lisp packageで検索してくる人が5人/day
ぐらいのサイトだけど
0362デフォルトの名無しさん
2008/04/17(木) 14:22:22ANSI Common Lispでもパッケージの解説は親切でないかもね。
0363デフォルトの名無しさん
2008/04/17(木) 15:24:33CLtL2の記述を見ても、GLSは新しい仕様があまり好きではないのではないかと思える。
0364デフォルトの名無しさん
2008/04/17(木) 16:10:10仕様について言うなら、とりあえずANSI(HyperSpec)を規準にすれば
良いんだろうけど…。
HyperSpec翻訳されないかなあ。
やっぱり、みんなHyperSpecを一番読むわけでしょう?
有志で、オンラインで翻訳しまくるというのはどうか。
もちろん許可がとれれば、だけど…。
0365デフォルトの名無しさん
2008/04/17(木) 19:21:58とりあえずさっと確認したいときはHyperSpecだね。
じっくり調べるときはCLtL2を開いてGLSの名調子に浸る。w
0366デフォルトの名無しさん
2008/04/17(木) 23:14:17>>364
よく知らないけど、HyperSpecってどこかが権利もってんだよね?
何かまるごとダウンロードしようとして躊躇した記憶がある
0367デフォルトの名無しさん
2008/04/17(木) 23:19:36丸ごとダウンロードは別に問題ないんじゃないの?
圧縮されたファイルで用意されてるし。
むしろ皆でlispworksに押しかける方が無茶な気がするが。
0368デフォルトの名無しさん
2008/04/17(木) 23:29:53つ http://www.lisp.org/HyperSpec/FrontMatter/About-HyperSpec.html#Legal
商用利用しないかぎり複製・再配布は自由。ただし改変は認めない。
みたところ翻訳の可否については明記されていないから、これに関しては
問い合わせてみないとわからないね。
0369デフォルトの名無しさん
2008/04/18(金) 00:06:310370デフォルトの名無しさん
2008/04/18(金) 00:46:46ISLISPってのがあるけど、割と日本が果たした役割は大きかったらしいよ…。
0371デフォルトの名無しさん
2008/04/18(金) 02:14:330372デフォルトの名無しさん
2008/04/18(金) 07:17:00おお、ありがとう。法律用語の読みかたが自信なかったんだよ。
これで遠慮なくHyperSpecを読みこめるよ!
0373デフォルトの名無しさん
2008/04/18(金) 11:31:13ECMA Script の JIS みたいに「引用」だけで済まされる、というオチが見える
0374デフォルトの名無しさん
2008/04/18(金) 12:12:170375デフォルトの名無しさん
2008/04/18(金) 13:06:540376デフォルトの名無しさん
2008/04/18(金) 13:37:38つ JIS X3012
0377デフォルトの名無しさん
2008/04/18(金) 14:23:270378デフォルトの名無しさん
2008/04/18(金) 15:53:430379デフォルトの名無しさん
2008/04/18(金) 21:17:06翻訳が現れることは望ましいけれど、JIS化はあんまりよろしくないと思う。
0380デフォルトの名無しさん
2008/04/18(金) 21:25:120381デフォルトの名無しさん
2008/04/18(金) 21:25:42無料で閲覧できるようになったのは進歩だけど、印刷はもちろん、検索さえできないのがアカンよね。
海外やISOの規格事情も似たようなもんだけどね。
0382デフォルトの名無しさん
2008/04/18(金) 21:33:250383デフォルトの名無しさん
2008/04/18(金) 21:41:250384デフォルトの名無しさん
2008/04/18(金) 23:08:46印刷禁止フラグは簡単に解除できる。
ム板住人ならみんなやってると思ってた。
ただ、ウェブで見られるPDFは文書をビットマップ画像にしたものを貼り付けてあるので、
検索はOCRを使わないと仕方ない。
0385デフォルトの名無しさん
2008/04/18(金) 23:19:040386デフォルトの名無しさん
2008/04/18(金) 23:51:260387デフォルトの名無しさん
2008/04/19(土) 08:27:47検索できないんじゃ紙で売った方がいいよねぇ。
電子化の意味が有体物じゃ無いことだけじゃないか。
0388デフォルトの名無しさん
2008/04/20(日) 19:51:05ANSIの電子化ってどうなんだろうね。
0389デフォルトの名無しさん
2008/04/20(日) 20:03:29金出せばやるだろ。お役所なんてそんなもんだ。
0390デフォルトの名無しさん
2008/04/20(日) 20:08:050391デフォルトの名無しさん
2008/04/21(月) 01:28:050392デフォルトの名無しさん
2008/04/21(月) 02:56:234/1版でマジ切れとか鵜呑みとかの間抜けな人がいるから全部はヤダ
0393デフォルトの名無しさん
2008/04/21(月) 20:51:580394デフォルトの名無しさん
2008/04/21(月) 21:21:100395デフォルトの名無しさん
2008/04/21(月) 22:36:12コンパイルしたときのエラーと
高速化かな
0396デフォルトの名無しさん
2008/04/21(月) 23:13:15それをインタプリタの clisp に期待するのは何故?
0397デフォルトの名無しさん
2008/04/22(火) 00:06:49せっかくオープンソースなんだから、君が書き加えてあげれば喜ばれるかもよ
0398デフォルトの名無しさん
2008/04/22(火) 01:01:34何故か誰も修正しない
0399デフォルトの名無しさん
2008/04/22(火) 07:36:31わずかな努力で割と多くの人の役に立てる(ソフトのユーザ人口によるけど)。
0400デフォルトの名無しさん
2008/04/22(火) 10:08:53binutilからBFD抜き出してライブラリにしてラッパ作った方が早いかな?
0401デフォルトの名無しさん
2008/04/23(水) 16:54:38exampleで
with-open-fileと一緒にdoを使ってるけど
xyzzyの人のサイトではほぼ必ずwhile readline
どっちが推奨なの?
0402デフォルトの名無しさん
2008/04/23(水) 17:29:270403デフォルトの名無しさん
2008/04/23(水) 18:00:26最短時間で(汚く)プログラム組むのに
namespace
分かりやすい名前で defun
map
あたりは使う
すでに組んでしまった汚いコードを無理やり他のプログラムとくっつけるのに
マクロは少し使う
はじめから綺麗に書こうと思わないかぎりclosは使わない?
0404デフォルトの名無しさん
2008/04/23(水) 20:16:30一言で言えば xyzzy は Common Lisp ではない、というだけ
0405デフォルトの名無しさん
2008/04/23(水) 22:29:16細かいこと言うと、関数じゃなくてマクロね
0406デフォルトの名無しさん
2008/04/23(水) 22:54:07for(笑)
0407デフォルトの名無しさん
2008/04/23(水) 22:58:200408デフォルトの名無しさん
2008/04/23(水) 23:20:48whileの方が簡潔にかけるからwhileがいいんじゃない?
CLだとloopとかdoだけど。馴染みのない人にはdoとか嫌われるしね。
whileはemacs経由でxyzzyに導入されたのかしら。
0409デフォルトの名無しさん
2008/04/23(水) 23:35:08割と後づけだし、資料が少ないんだよね。
Paul GrahamとかPeter Norvigとか有名な本書いてる人達が
CLOSをプッシュしてないこともあって自著でも
CLOSの解説とかあんまりしてないし、CLOSは何だか不運に感じるなー。
それと、汚く書くってことなら、CLOSは相当なものを書けるとおもうけどw
0410デフォルトの名無しさん
2008/04/24(木) 00:12:09CLtL2でも他の章はGLSの蘊蓄炸裂なのに、CLOSのとこはANSI原案丸写しという感じで
やる気が感じられないよね。
0411デフォルトの名無しさん
2008/04/24(木) 07:37:48・いろいろ状態を持ってるオブジェクトっぽい何かがある時
・既存のライブラリがclosで出来てる時
・似たようなプログラムが沢山できそうな時
はclos使おうと思うなぁ。
schemeの話だったかもだけど、shiroさんがある規模より大きくなったら
オブジェクト指向を使いたくなる、みたいなこと書いてなかったかな?
0412デフォルトの名無しさん
2008/04/24(木) 08:24:44> ・既存のライブラリがclosで出来てる時
おれはこの時だけ使いたくなるなぁ。
Allegroみたいな商用だとclos使ったライブラリ揃ってるっぽいけど、
普段あんまり見かけないから相対的に出番が少なくなるよね。
0413デフォルトの名無しさん
2008/04/24(木) 09:10:010414デフォルトの名無しさん
2008/04/24(木) 10:12:26CLOSはそのうちの一つのパラダイムな訳だから、
規模云々より単に手法の一つだと思うんだけど…。
小さい規模でも綺麗にまとまってるのも沢山あると思うよ。
身近な例で言えばASDFとかどうだろう。
0415デフォルトの名無しさん
2008/04/24(木) 14:34:26基本関数のスタイルとCLOSのスタイルがちょっと違うからかも。
CLOSセントリックに書き直したLisp方言も面白そう。
0416デフォルトの名無しさん
2008/04/24(木) 14:42:00typecase でディスパッチするよりは defmethod を使うという感じ。
defun をやめて、すべて defmethod を使うというスタイルにはなれないな。
ま、便利なときだけ使えばいいんじゃね?
0417デフォルトの名無しさん
2008/04/24(木) 15:58:330418デフォルトの名無しさん
2008/04/24(木) 19:01:22無名総称関数はANSI仕様から消えちゃったけど、それのこと?
0419デフォルトの名無しさん
2008/04/28(月) 00:15:31>>414
へー、asdfってCLOS使ってるんだね。参考になった。
>>412
おれはこの前AllegroのSAXライブラリ使ったよ。
allegroserve もCLOSの例として面白いかも。
思い付きだけど、
がちがちに仕様が決まっているものを実装するときCLOSを使うといい、
という説はどう?
0420デフォルトの名無しさん
2008/04/29(火) 01:23:58個人的にはガチガチに仕様が決まったようなプロジェクトでも
Lispがバンバン採用されるようになることを祈りたいw
0421デフォルトの名無しさん
2008/04/30(水) 06:12:32finkを導入した所リストの中にsbclが有りそちらで一括管理したいので
サイトから直接ダウンロード&インストールしたsbclをアンインストールする方法を
教えていただけないでしょうか?
よろしくお願いします
0422デフォルトの名無しさん
2008/04/30(水) 07:36:14なので、手動で削除する他ないのかな?
といっても/usr/local/lib/sbclと/usr/local/bin/sbclを削除するだけのような
気もするけど…。
単純にパスの設定を/usr/local/より/sw/の方を前にもってくるとかじゃ駄目なのでしょうか。
0423デフォルトの名無しさん
2008/04/30(水) 08:15:10インストールのログくらい取っておけよと思う。
0424デフォルトの名無しさん
2008/04/30(水) 08:52:30まあ、その辺りがUNIX文化とWin/Mac文化の違いというところでは?
アンインストーラを使わずに
適当に実行ファイルを消したらシステムの整合性が崩れて
面倒ことになる、と思ったのかもしれないし。
0425デフォルトの名無しさん
2008/04/30(水) 17:16:51ありがとうございます。
コマンドラインから検索した所
そのフォルダがヒットしましたので削除したいと思います。
>>423
今後そうしたいと思います。
精進いたします。
>>424
やはりその不安が有ったのです。
今後プログラミングの学習はマスターできるまで
仮想のlinux上でやりたいと思います。
0426421
2008/04/30(水) 17:28:37というディレクトリが有るのですがこれの
man1というディレクトリはシステムのフォルダですか?
それともインストール時に自動的に作成されるものですか?
よろしくお願いします
0427デフォルトの名無しさん
2008/04/30(水) 17:36:26UNIXでもその辺は全部一緒じゃないんだよな。
Mac OS Xの場合、Mac OS Xは/usr/localを使わない。
どのパッケージがどのディレクトリを使っているかは、
/Library/Reciepts/*/Archive.bomをlsbomすれば分かる。
ただし、Mac OS Xの場合、サードパーティの配布は、
pkg形式使ってないことが多いから、
ファイルの追跡は諦めるしかないと思う。
SolarisやLinux(rpm, deb)のバイナリーパッケージは、
そういうの追いかけるの得意なんだけど。
0429デフォルトの名無しさん
2008/04/30(水) 20:13:10Mac OS X はLinuxより遅れている訳でも仮想のLinuxでもないぞ。
ソースをコンパイルしてsbclを入れたんだったら自分の責任っしょ。
まあfinkにせよ何にせよ、がんばって使いこなそうぜ。
0430デフォルトの名無しさん
2008/04/30(水) 20:40:170431デフォルトの名無しさん
2008/04/30(水) 20:45:520432デフォルトの名無しさん
2008/04/30(水) 20:50:58http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E7%AC%A6%E5%8F%B7%E5%8C%96%E6%96%B9%E5%BC%8F
0433デフォルトの名無しさん
2008/04/30(水) 21:41:34気にしなきゃいけないとすれば、それは内部ではない。
0434デフォルトの名無しさん
2008/04/30(水) 22:43:48一応書いとくけど最近の処理系は、external-formatで指定できるので、
使う文字コードに合せてビルド時に文字コードを指定しないと
「日本語が使えない」、ということはない。
内部でどう扱うかビルド時に指定できる処理系は、漏れは知らない。
0435デフォルトの名無しさん
2008/05/01(木) 00:45:10lispは処理系の上で実行する他はないのでしょうか?
例えばCなら実行ファイルが作成できてそこから実行することでちょっとした計算を
行ってもらったりできるのですが
lispはコンパイルするとファイルができてそれを起動した処理系にロードして
関数を実行というステップを踏まなければなりません
そうすると実行までのステップが増えてしまうのですが
lispでも実行ファイルのような形式を作れないものでしょうか?
0436デフォルトの名無しさん
2008/05/01(木) 00:55:380437デフォルトの名無しさん
2008/05/01(木) 01:06:39なぜこのような疑問を持ったのかと思いますと
『ハッカーと画家』などを読んでいて
lispはソフトウェアを書くのに良い言語だなどと書かれているので
(Lisp・・・・インタプリタでしか実行できないと思ってるんだけどな?
いちいちインタプリタを呼び出す訳じゃないよな?)という疑問が浮かんでしまったのです
Lispは美しい言語なのでそれでソフトをかけるととてもうれしいです。
よろしくお願いします
0438デフォルトの名無しさん
2008/05/01(木) 01:07:460439デフォルトの名無しさん
2008/05/01(木) 01:15:39以下の流れが参考になるかもしれない。
http://www.bookshelf.jp/2ch/tech/1181479267.html#662
0440デフォルトの名無しさん
2008/05/01(木) 01:24:36ありがとうございます
実は使用している処理系はclispなんですが
(compile-file "hoge.lsp")
を実行すると
hoge.fasとhoge.libというファイルができhoge.oのような
ファイルが一向にできそうに有りません。
これはclispの独自なのでしょうか?
clispはインタプリタのやじるしの形が気に入って使っているのですが
sbclに移行すべきでしょうか?
よろしくお願いします
0441デフォルトの名無しさん
2008/05/01(木) 01:31:18CLISPは中間言語に落とすコンパイラだからね。
gclとかsbclとかはネイティブに落とすよ。
0442デフォルトの名無しさん
2008/05/01(木) 01:32:41なるほど!!
ありがとうございます!!
このすれの皆さんには夜中にお手数おかけしてしまってすいませんでした
0443デフォルトの名無しさん
2008/05/01(木) 01:43:18今度はhoge.faslというのができたのですが・・・
どうすれば良いのですか?
0444デフォルトの名無しさん
2008/05/01(木) 02:14:19たぶんおまいさんがやりたいのはスクリプトをexeにしたいんだろ?
save-lisp-and-dieってのをぐぐってみな、exeにはなるw
もっと小さいサイズで作りたいならnewlispってのもある
作りかたはnewlispのマニュアルにある
そのぐらいは自分で読んでみような
0445デフォルトの名無しさん
2008/05/01(木) 02:25:24例えば
(defun alladd (x) (if (= 1 x) (+ x (alladd (1- x)))))
とかの関数を作っておいて hoge.lとして保存しておいて
コマンドラインから./hoge 3 などと実行できるようにできれば良いと思うのです
0446デフォルトの名無しさん
2008/05/01(木) 02:38:24大変そうなのでexeはあきらめることにして
faslとはどのように使えるファイルなのでしょうか?
よろしくお願いします
0447デフォルトの名無しさん
2008/05/01(木) 02:46:11コードに必要な関数を書いておきコンパイルすると機械語に変換されて
高速に実行できるようになる
それをインタプリタにロードしてそこで関数を使うなどすることができるということで
良いんでしょうか?
作ったファイルはもし仮にコマンドラインから使いたければ
上部に
#!/hoge/hoge
などと書いて使うということで良いのでしょうか?
0448デフォルトの名無しさん
2008/05/01(木) 03:07:22perl/PHP/ruby/PythonとかJavaとか使ったことある?
0449デフォルトの名無しさん
2008/05/01(木) 03:24:15勘違いしてる奴多いよね。情報処理の教科書にでも書いてあるのかな。
0450デフォルトの名無しさん
2008/05/01(木) 03:26:01たぶんこの質問してきた人はスクリプトをエディタで書いて
それをインタープリタに食わせるってことを知らないんじゃないかと思う。
別に無理してexeにしなくてもスクリプトを実行させるバッチファイルを作って
それをクリックすればいいのにね。
配布とか考えてるならlisp自身もいっしょにつければいいし。
0451デフォルトの名無しさん
2008/05/01(木) 06:02:52それを使ってきて
最終的にLispです
>>449
違うことはわかっているのですが
どうして良いやら
>>450
(load "hoge")
ですか?
0452デフォルトの名無しさん
2008/05/01(木) 06:12:00sbcl hogeですね
ありがとうございます
0453デフォルトの名無しさん
2008/05/01(木) 09:42:28>Lisp はインタープリタ言語という嘘
というより、対話操作ができるものは、コンパイラ言語じゃない、
という理解なんじゃない?
というか、Lispとか曖昧に一括りにまとめて書く方も悪い気がするけどな。
0454デフォルトの名無しさん
2008/05/01(木) 09:46:55ただ、「インタープリター言語」って言葉はおかしいね。
そんな言葉どこに書いてある?
0455デフォルトの名無しさん
2008/05/01(木) 10:03:300456デフォルトの名無しさん
2008/05/01(木) 10:12:350457デフォルトの名無しさん
2008/05/01(木) 12:13:57ダメな教科書にはさくって書いてありそうな気がするけどな
0458デフォルトの名無しさん
2008/05/01(木) 12:51:230459デフォルトの名無しさん
2008/05/01(木) 13:23:19結構いそうだからなぁ。
0460デフォルトの名無しさん
2008/05/01(木) 15:35:420461デフォルトの名無しさん
2008/05/01(木) 16:54:21>>452
他の言語の経験が全然生かされてないwwwwwwwwww
0462デフォルトの名無しさん
2008/05/01(木) 17:33:45自立したEXEを作れないコンパイラ(を持つ)言語ってあるの?ってな。
昔々のBASICでもライブラリモジュールを付けて配布すれば良いだけの
EXEを作れたもんな。
再配布する際は言語処理系ごと再配布して(つまりユーザーに処理系を
インストールして)くれとか、ライブラリ再配布用のライセンスが
処理系の値段とは別立てでバカ高いとか、何だソレはと思ったよ。
(ある商用処理系の場合)
そんな「コンパイラ(を持つ)言語」があるのかと。
もちろん自立したEXEを作れて再配布のライセンスが無料の処理系も
いろいろあるわけだが、全てそうなわけでは無いので混乱したよ。
0463デフォルトの名無しさん
2008/05/01(木) 17:42:08実は中間コードとインタプリタをくっつけただけのもので
ネイティブコードは生成してなかったりすることもあるんだな...
0464デフォルトの名無しさん
2008/05/01(木) 18:09:55後ろにソースくっつけてexeファイルにできる機能つけて
一人でワラタ経験があるはずだ。・・・俺だけではないと思いたいw
0465デフォルトの名無しさん
2008/05/01(木) 20:15:05つまりソースと処理系の本体(インタープリタ)をくっつけた
見かけ上のexeファイルを生成する機能を作ったって事か?
0466デフォルトの名無しさん
2008/05/01(木) 20:25:44明確な境界線があるわけではない。JITみたいに中間言語で持ってても実行時
はネイティブに落とすのも増えてきたしね。
そういう中身の話とは別に、外見上1本のEXEファイルで動かせるという利便性は
なかなか捨てがたいものがある。>>464は良い仕事してるな。w
0467デフォルトの名無しさん
2008/05/01(木) 20:33:41コンパイルする機能があるという事と自立したEXEファイルが作れると
いう機能には全く関係が無い(独立の関係)と言う事になるなw。
0468デフォルトの名無しさん
2008/05/01(木) 20:34:24Lispじゃやってないけど激しく同意。
0469デフォルトの名無しさん
2008/05/01(木) 20:35:51だがどちらもサポートされていない環境が多すぎない?
466の言う通りエンドユーザにとってはとてもありがたいと思うんだ
0470デフォルトの名無しさん
2008/05/01(木) 20:41:20実行モジュールだけを再配布したいとか、ユーテリティか何か作って
どのPCでも動かしたいとか言う時には確かにそうだね。
いちいち、全てのPCにフル処理系をインストールするのはマンドクサイ。
0471デフォルトの名無しさん
2008/05/01(木) 20:42:53CLISP, ECL, GCL, CormanCL, LispWorks, AllegroCL
でしょ?サポートされてない方が数としては少ないんじゃね。
0472デフォルトの名無しさん
2008/05/01(木) 20:45:31ただunix系だとそれでも通るのはshbangがあるからなんだろうとは思う。
win32とかmacの様なコンシューマPCだと単一実行ファイルが作れるかどうかは言語(というかその開発環境)のユーザが増えるかどうかととても関係が深いと思う
0473デフォルトの名無しさん
2008/05/01(木) 20:48:07ACLはすげぇ良くできてて自分一人なら買ってもいいかと思うんだけど
バイナリ配布ライセンスが高いんだよな〜
社内でも配布できないんだぜ。
0474デフォルトの名無しさん
2008/05/01(木) 20:51:15Mac は アプリ名.app というディレクトリに実行ファイルを
ぶち込むだけだから一番簡単じゃないかな
0475デフォルトの名無しさん
2008/05/01(木) 20:57:38ACLは憧れだが、「この製品はすごく良いからタダもしくは俺の言い値でつかわせろ」
じゃあFranzがやっていけねーだろ。
0476デフォルトの名無しさん
2008/05/01(木) 21:04:55しかし、買おうかなと思って問い合わせしても個人客なんか相手に
していない感じで敷居が高く感じる。473じゃないけど。
せっかくFree Express Editionとか配布して試用しやすくしていても
個人プログラマをハナから相手にしていないのはなんだかな。
再配付ライセンスの事を考えに入れなくても手を出しづらい。
0477デフォルトの名無しさん
2008/05/01(木) 22:49:04…でもshiroさんの作ったregexp2とかも使いたいよなー
0478デフォルトの名無しさん
2008/05/01(木) 23:19:01現状windows上でちょいとしたツール創るのにスゴイ便利なのACLだけなんだよね。
Lispworkssの製品版にしかないRADツールがどうかわからないせいでもあるんだけどさ。
サイトライセンス(要するに社内で開発用とそのバイナリだけ使うのの比率による価格体系)とかあればいいんだけど。
webをパッと見た限りじゃ要相談以外なくて、相談の結果だめでしたごめんなさいなんですが.
中小企業にももうちょっと門戸ひらいてよ>>フランツ
0479デフォルトの名無しさん
2008/05/02(金) 00:09:100480デフォルトの名無しさん
2008/05/02(金) 00:11:59中間表現を持たないインタープリタなんて見たことないな。
構文と一対一対応なのか、
それとももっとノイマン型計算機に近いかの違いはあれ。
0481デフォルトの名無しさん
2008/05/02(金) 01:32:180482デフォルトの名無しさん
2008/05/02(金) 01:42:500483デフォルトの名無しさん
2008/05/02(金) 01:49:04俺様言語とかでいくらでもありそうだけどw
0484デフォルトの名無しさん
2008/05/02(金) 02:18:13バッチファイル実行中にソースを書き換えたら即反映されるからな。
Lispよりも動的だぞ。
0485デフォルトの名無しさん
2008/05/02(金) 02:22:000486デフォルトの名無しさん
2008/05/02(金) 02:26:22TinyBASICは中間表現を持たない。
GAME IIIとvtlも持ってない。
8bit手作り機が全盛の時代は割と多かったと思う。(というかそのころ中間表現持ってた言語が表にでてきてないだけなんだけどさ)
0487デフォルトの名無しさん
2008/05/02(金) 02:29:18言語の語彙がバイト表現に落ちる(辞書的な意味ね)は入らないような気がする。
0488デフォルトの名無しさん
2008/05/02(金) 05:33:49東大版TinyBASIC
http://www.pro.or.jp/~fuji/computerbooks/pasocom/tinybasic.ishida.html
> このTiny BASICは、たった4種類の命令しかない中間言語によって動いているのであった。
0489デフォルトの名無しさん
2008/05/02(金) 11:38:58その命令ってのはソース解析のプログラムの実装方法、NBAISCやAPPLE (6,10)K BASICの様に実行時や入力時に中間表現に落としているわけじゃない。
0490デフォルトの名無しさん
2008/05/02(金) 12:07:18石田晴久氏の本(訳書除く)としては有用性がかなり上のほうに来そうな本だな。
今度どこかで見てみよう。藤原氏のページはざっと見たつもりでいたが、
それは見たことなかった。
0491デフォルトの名無しさん
2008/05/02(金) 12:30:08kwsk
0492デフォルトの名無しさん
2008/05/02(金) 13:00:44インタプリタ自体がそういう中間言語(風のもの)で書かれている。
ソースコードは直接解釈していたと思う。
0493デフォルトの名無しさん
2008/05/03(土) 17:44:40JavaScriptでLispのよさが「再発見」されたり、
ArcとかMonaOSのSchemeShellとかLisp系のネタがいくつか出たり、
Rubyで「継続」なんてのが一般的になったりしてきてる。
Java にも「クロージャー」なんてのが取り入れらた。
でも、みんな、何となくものたりなさを感じていないだろうか。
一見新しい技術に感心したり勉強したりしながら、
どことなく足元がおぼつかない、そんな感覚になったりしていないだろうか?
そう、みんなが本当に欲しいのは、標準であり、厳密な仕様書なんだ。
素人の作ったオモチャじゃあなく、学者によって精査された、分厚く、だけど、
学ぶべき価値のある整合性のある仕様書。
そう、みんな最後には Common Lisp に辿りつくんだ。
若者にとってHyperSpecは「古代」の言語仕様の再発見というだけじゃあない。
現代の高速・大容量コンピューター環境でのみなしえる、
新しい誕生、ルネッサンス、その入口なんだ。
「あれ?Common Lisp って思ってたよりとっつきやすいし、
しかもちゃんとした仕様もある。最近勉強会とかIRCとかもあるらしいし」
「HyperSpec って良く考えられる!これは凄い!」
「結局Common Lisp でいいんじゃね?」
今年はこんな年になるような、そんな予感。
0494デフォルトの名無しさん
2008/05/03(土) 17:46:410495デフォルトの名無しさん
2008/05/03(土) 21:37:53今になって、受け入れられるために良かったことだと思いますか?
それとも仕様に混沌をもたらした悪いことだったでしょうか?
0496デフォルトの名無しさん
2008/05/03(土) 22:12:36とっくに天下をとってるだろう
0497デフォルトの名無しさん
2008/05/03(土) 22:18:42天下とは無縁です。
0498デフォルトの名無しさん
2008/05/03(土) 22:21:110499デフォルトの名無しさん
2008/05/03(土) 22:35:140500デフォルトの名無しさん
2008/05/03(土) 22:48:34なんだってー
0501デフォルトの名無しさん
2008/05/03(土) 23:19:05信長と家康か!
0502デフォルトの名無しさん
2008/05/03(土) 23:52:500503デフォルトの名無しさん
2008/05/03(土) 23:56:25斬新な発想だな。
0504デフォルトの名無しさん
2008/05/04(日) 00:00:59すべての始まりに「シェア」の概念は無い。
0505デフォルトの名無しさん
2008/05/04(日) 03:08:58(正確にはemacs lispの吐いたS式を使いたいだけなのですが)
0506デフォルトの名無しさん
2008/05/04(日) 03:18:26君が知りたいのは (read-from-string x) ですか?
それとも (eval (read-from-string x)) ですか?
0507デフォルトの名無しさん
2008/05/04(日) 10:22:510508デフォルトの名無しさん
2008/05/04(日) 11:51:04母なる海はどうみても 機械語/アセンブラ だと思うが。
0509デフォルトの名無しさん
2008/05/04(日) 11:58:100510デフォルトの名無しさん
2008/05/04(日) 12:14:57「あいつはハードがわかっている」
0511デフォルトの名無しさん
2008/05/04(日) 14:56:030512デフォルトの名無しさん
2008/05/04(日) 17:24:10逆をするのは cl-html-parse ?
0513デフォルトの名無しさん
2008/05/04(日) 17:25:51ttp://www-nishio.ist.osaka-u.ac.jp/tresearch/Ubiquitous/#news
LISPマシン
ttp://museum.ipsj.or.jp/computer/work/0015.html
まったりと個人でも入手可能なBGA(ボール・グリッド・アレイ)タイプ
ttp://n.h7a.org/blog/images/takoyaki.jpg
0514デフォルトの名無しさん
2008/05/04(日) 17:31:390515デフォルトの名無しさん
2008/05/04(日) 17:35:06> LISP でプログラム可能な小型コンピュータ
> ttp://www-nishio.ist.osaka-u.ac.jp/tresearch/Ubiquitous/#news
どこにLispが出てくるの?
0516デフォルトの名無しさん
2008/05/04(日) 17:46:49すまん、六角の光るギミックが衝撃的だったもんで、勘違いした。
以下の論文でAhroDが引き合いに出されてる。
ttp://www.google.co.jp/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fwww.wiss.org%2FWISS2006Proceedings%2Fdemos-cready%2FDesign_and_Implement_of_the_LISP.pdf&ei=a3YdSOCoAY6o6wP4s8XgCQ&usg=AFQjCNEjCJyp-HYtH3760EWcMZqEOGcpvw&sig2=h-UFOZ4_mMy3TEgvfzJ8Lg
0517デフォルトの名無しさん
2008/05/05(月) 00:32:02#Lisp_Scheme
utf-8
文字コードは:UTF-8
みんなでLispの話しようぜ!
0518デフォルトの名無しさん
2008/05/05(月) 00:38:01#Lispなら参加するところだったんだが。
Schemeは黒板に書いてろ
0519デフォルトの名無しさん
2008/05/05(月) 00:41:05異文化交流ということで
そう嫌悪せずにぜひ!
ちなみに私自身はschemeよくしらないのでCL派を増やすためにも...
0520デフォルトの名無しさん
2008/05/05(月) 00:55:170521デフォルトの名無しさん
2008/05/05(月) 02:15:38ひげぽん乙
0522デフォルトの名無しさん
2008/05/05(月) 10:01:46#lispはもうfreenode.netにあるみたいよ
0523デフォルトの名無しさん
2008/05/05(月) 10:48:030524デフォルトの名無しさん
2008/05/05(月) 10:58:36common lispのlispで全部書いてある数値計算パッケージのユーザーがあんまりいないなら
gslとかlapackを呼ぶ方がいいんじゃないかと思った
その辺の信頼性はどうなの?
web アプリ関連は使ってる人多くて信頼できそうなんだけど
0525デフォルトの名無しさん
2008/05/05(月) 11:50:22スレ違いだと思いつつ、できたら教えて
0526デフォルトの名無しさん
2008/05/05(月) 12:23:27コピーコンストラクター経由で呼ばれることを考慮してなかった
0527デフォルトの名無しさん
2008/05/05(月) 12:28:220528デフォルトの名無しさん
2008/05/05(月) 12:38:59CLライブラリの信頼性は結局本人の力量次第ってことになっちゃう。
0529デフォルトの名無しさん
2008/05/05(月) 12:41:31しつこくて申し訳ないけど、ズバリライブラリ名教えてくだしあ ><;
事によっては漏れぴんち
0530デフォルトの名無しさん
2008/05/05(月) 14:01:090532デフォルトの名無しさん
2008/05/05(月) 14:18:340533デフォルトの名無しさん
2008/05/05(月) 15:11:08とりあえず>>539にwktk
0534デフォルトの名無しさん
2008/05/05(月) 17:09:28なんか関係あるトラブルに巻き込まれてる人じゃないのか?
ところでsbcl+aserveでhtmlgenで生成されたマルチバイトキャラクタが符号無し8ビット値じゃねぇから出力してあげないって言うエラー落ちする件で対策しってるひといますか?
0535デフォルトの名無しさん
2008/05/05(月) 19:02:54あれ、それ前にもこのスレで質問でたような
結局曖昧なまま終わったけど、どうだったんだっけな
0536デフォルトの名無しさん
2008/05/05(月) 19:24:34分けたファイルは,わざわざパッケージにするほどでもないので
(load "util1.lisp")
0537デフォルトの名無しさん
2008/05/05(月) 19:35:50cmuclで実実行、slime上でははsbclとか言う結果だったような?
0538デフォルトの名無しさん
2008/05/05(月) 20:48:31あー参加したかったなー
おれの場合馴れ合い以前のレベルだから勉強したかったんだけど
0539デフォルトの名無しさん
2008/05/06(火) 07:49:02いや、ずっとやってるみたいよ。
0540デフォルトの名無しさん
2008/05/06(火) 21:30:48うん。今確認した。
0541デフォルトの名無しさん
2008/05/07(水) 01:09:28でも見つけられない…IRCはじめてなので、もう少し調べます。
thx.
0542デフォルトの名無しさん
2008/05/07(水) 03:59:37sbclはインタプリタを持たないそうなのでコードをsbclに渡すと
普通にsbclが起動するだけになってしまいます
よろしくお願いします
0543デフォルトの名無しさん
2008/05/07(水) 08:20:36> sbclはインタプリタを持たないそうなので
持ってないけど repl は持ってるだろ?
info位呼んだらどうだ。
0544デフォルトの名無しさん
2008/05/07(水) 10:33:02ってすればいいんじゃないかしら
何にしろもうちょっと調べた方が良いとは思うけど
よろしくお願いします
0545デフォルトの名無しさん
2008/05/07(水) 11:02:15よろしくお願いします
0546デフォルトの名無しさん
2008/05/07(水) 11:46:38よろしくお願いします。
0547デフォルトの名無しさん
2008/05/07(水) 12:23:57firefoxのchatzillaプラグインをいれて
irc://irc.freenode.net/Lisp_Scheme
をすればよろしです。名前の設定とかは調べてね。
0548デフォルトの名無しさん
2008/05/07(水) 12:26:25sbclでスクリプトを書きたいのかな?
http://d.hatena.ne.jp/khiker/20070102/1167735714
でもよんどけ。
0549デフォルトの名無しさん
2008/05/07(水) 12:54:25マニュアル読めば分かる筈なんだがな
0550デフォルトの名無しさん
2008/05/07(水) 14:12:15いや、でも2chの質問なんか殆んどドキュメントに書かれてるし、
それだとここの存在意義がなくならね?
0551デフォルトの名無しさん
2008/05/07(水) 14:31:350552デフォルトの名無しさん
2008/05/07(水) 16:50:55似た人がwwww
別人ですよ
0553デフォルトの名無しさん
2008/05/07(水) 18:53:070554デフォルトの名無しさん
2008/05/07(水) 19:46:36RPGの世界ではそれが「自力で調べる」ということだし、
街の人は「そのために配置されてる」ものであって、自分とは根本的に次元の違う存在だもんなぁ。
0555デフォルトの名無しさん
2008/05/07(水) 19:55:24街の人側だって嫌ならスルーするんだし。
0556デフォルトの名無しさん
2008/05/07(水) 20:51:30それか、自動回答AIの精度をもっと上げなきゃ。
0557デフォルトの名無しさん
2008/05/07(水) 21:06:24>>542
sbcl.exe --noinform hoge.lisp
>>435
(save-lisp-and-die "hoge.exe" :executable t :toplevel #'hoge)
俺はもうwin版sbclアンインストしたんで間違えてるかもしれんが
たしかこんな感じ
てか>548や>>439のリンク先をよく読めよ
自分で色々試していかないと身に付かないぞ
0558デフォルトの名無しさん
2008/05/07(水) 21:09:100559デフォルトの名無しさん
2008/05/08(木) 00:09:19嫌われた555だけど、漏れは2chでは質問はほとんどしてなくて、
主に回答側にまわってるんだけどw
まあ、質問者がわがままいってるというふうに読むこともできるねえ。
0560デフォルトの名無しさん
2008/05/08(木) 00:10:590561デフォルトの名無しさん
2008/05/08(木) 00:12:352chを見なければ幸せになれる
0562デフォルトの名無しさん
2008/05/08(木) 00:14:54あ、ごめん。555のような人が増えると困るということではなく、
555に書いてある「RPG感覚の人」が増えるのはあまり歓迎できないって言いたかっただけ。
0563デフォルトの名無しさん
2008/05/08(木) 00:21:530564デフォルトの名無しさん
2008/05/08(木) 00:24:170565デフォルトの名無しさん
2008/05/08(木) 00:35:190566デフォルトの名無しさん
2008/05/08(木) 00:36:23lispで出来ているのか?
0567デフォルトの名無しさん
2008/05/08(木) 00:41:340568デフォルトの名無しさん
2008/05/08(木) 00:50:330569デフォルトの名無しさん
2008/05/08(木) 01:08:27プログラムの名前はGrahamだったなか。
0570デフォルトの名無しさん
2008/05/08(木) 01:12:36回答する人は多そうだよここは。
零細言語なんで、一人でも多く使い手を増やそうと思えば、
教える側が丁寧になるのは当然かもしれん。
別にいいんだよRPG感覚でも。
他のことで調べるときは他のスレを活用する事もあるから、
めぐり回るタイプのギブアンドテイクだとしか思ってない。
0571デフォルトの名無しさん
2008/05/13(火) 19:30:06lispの難点って何ですか?
0572デフォルトの名無しさん
2008/05/13(火) 20:00:25未だに人工知能向けの言語だと思ってる人がいること。
未だにインタプリタしか無いと思ってる人がいること。
0573デフォルトの名無しさん
2008/05/13(火) 20:28:17Cで書かれたOSの機能を使いにくいこと。
Lispで書かれたOSが使いにくいこと。
0574デフォルトの名無しさん
2008/05/13(火) 22:11:360575デフォルトの名無しさん
2008/05/13(火) 22:27:42仲間割れしやすく敵を作りやすい事です。
0576デフォルトの名無しさん
2008/05/13(火) 22:35:20どんなに入れこんでも仕事では使う機会がない。
Lispで作ってからCで書き直したり、スクリプト言語に移植したり…
0577デフォルトの名無しさん
2008/05/14(水) 07:04:430578デフォルトの名無しさん
2008/05/14(水) 08:48:42576じゃないけど、
今後他人が保守する可能性があるプログラムに自作GCライブラリや
CPS変換した細々としたローカル関数いっぱいのプログラムを入れていいなら
すぐにでもそうしたい。
0579デフォルトの名無しさん
2008/05/14(水) 10:23:30入れて!
0580デフォルトの名無しさん
2008/05/14(水) 13:31:36Common Lispについて言えば、標準規格がちょっと古いことくらいかなあ。
いまどきの機能(ネットワーク、XML、Unicode、スレッド・・・)をきちんと標準化してほしい。
0581デフォルトの名無しさん
2008/05/14(水) 13:36:100582デフォルトの名無しさん
2008/05/14(水) 15:05:38相手がlisp大丈夫な人だとOKなんだけど orz
0583デフォルトの名無しさん
2008/05/14(水) 17:51:54日本語ならxyzzyのサイトが,かなり丁寧に解説してるし
0584デフォルトの名無しさん
2008/05/14(水) 18:28:57相手がLisperとは限らない
(そうでない人にもLispで書いたコードを使わせたい)から
>582は苦労してるんだろ?
汎用ツールか何かならLispにこだわらないほうが…。
0585デフォルトの名無しさん
2008/05/14(水) 19:05:060586デフォルトの名無しさん
2008/05/14(水) 19:07:50他の言語でも導入先に開発環境と同等のdll、jdk、ライブラリなどが
あるか確認必須なんで、Lispが特にめんどいとは思った事がない。
0587デフォルトの名無しさん
2008/05/14(水) 19:33:01なるほどね、プロっぽい。
0588デフォルトの名無しさん
2008/05/14(水) 20:00:08576だけど、保守や引継ぎを考えるとトランスレートは解決にならない。
0589デフォルトの名無しさん
2008/05/14(水) 20:03:22ちゃんとプログラムを勉強してないからずぶの素人に教えるより抵抗される。
0590デフォルトの名無しさん
2008/05/14(水) 20:10:250591デフォルトの名無しさん
2008/05/14(水) 20:22:26相手が欲しくもないものを押し売りしたり、興味のない人を「わかってない」とレッテル貼りするのはすごくマズいとおもう。
0593デフォルトの名無しさん
2008/05/14(水) 20:25:48・・・・というのが、このスレのスタンスだ。w
0594デフォルトの名無しさん
2008/05/14(水) 20:27:040595デフォルトの名無しさん
2008/05/14(水) 20:32:540597デフォルトの名無しさん
2008/05/14(水) 20:43:39「まぜっかえし(皮肉な物言い)」ではあるが。
0598デフォルトの名無しさん
2008/05/14(水) 20:45:580599デフォルトの名無しさん
2008/05/14(水) 21:01:42ところで、ずぶの素人なんで是非教えてください>>589
0600デフォルトの名無しさん
2008/05/14(水) 22:24:38初めてか?、痛かったらごめんな
0601デフォルトの名無しさん
2008/05/15(木) 11:29:18perl dukeよりも柔軟な処理したいんだから
0602デフォルトの名無しさん
2008/05/15(木) 16:26:52cなら問題なくcffiだけでいけるけどc++とつなぐのに最有力候補な
Verrazano
なstd::cout関連でバグるとか変すぎて本格的に使うのをためらう
0603デフォルトの名無しさん
2008/05/15(木) 18:01:04数値計算でC++のプログラムと連携したいと言うのは
既存の数値計算ライブラリを使いたいって事?
自分でシコシコ書くのならCでもC++でもそう変わらんような
気がするので。
0604デフォルトの名無しさん
2008/05/15(木) 18:29:110605デフォルトの名無しさん
2008/05/16(金) 16:49:22はい、既存の数値計算libraryが使いたいのです
cだけじゃ不十分なんです
いままでublas使ってたからublasとくっつけたい
0606デフォルトの名無しさん
2008/05/16(金) 16:50:170607デフォルトの名無しさん
2008/05/16(金) 16:59:14Common Lispとの連係は、数値計算屋よりプログラミング言語屋の領域かも。
0608デフォルトの名無しさん
2008/05/19(月) 18:33:38行列に対する操作が破壊的にしかできなかったりするので、無理矢理命令型プログラミングのスタイルで書くしかない。
統計解析にLISPを使いたいと思ったけど、結局Rを使っている。
Rとのインターフェースもあるみたいだけど、どうかな・・・
0609sage
2008/05/19(月) 23:44:05定石ってあっるでしょうか。
0610デフォルトの名無しさん
2008/05/20(火) 00:14:59http://www.cliki.net/fare-csv
http://lispuser.net/memo/lisp/2007-06-29-01-12.html
http://lispuser.net/memo/lisp/2007-12-14-00-54.html
0611デフォルトの名無しさん
2008/05/20(火) 09:45:52xlispstatがあるけど、あの作者もいまはRの開発に関わってるからなぁ。
xlispstatの移植も良さそうなんだけどね。
0612デフォルトの名無しさん
2008/05/22(木) 20:31:31うまくなる、有名な(仕事でプログラマがよく使っている)
言語ってありますか?
0613デフォルトの名無しさん
2008/05/22(木) 20:33:460614デフォルトの名無しさん
2008/05/22(木) 20:39:59ありがとうございます。
やっぱり、LispをやることでしかLispのプログラミングは
上達しませんよね。orz
他の言語の影響とか、経験とかってあまり生きないもの
なんでしょうか?
0615デフォルトの名無しさん
2008/05/22(木) 20:44:38というか変なこだわりに走らなければ大抵の経験は役に立つ。スクリプト言語と違うからクソとか思って遠まわりした俺の意見。
0616デフォルトの名無しさん
2008/05/22(木) 21:09:38ありがとうございます。
次はC/C++あたりでもやってみようと思います。
0617デフォルトの名無しさん
2008/05/22(木) 21:42:27そりゃやっぱ Ruby でしょ(にやにや)
0618デフォルトの名無しさん
2008/05/22(木) 22:12:310619デフォルトの名無しさん
2008/05/22(木) 23:35:090620デフォルトの名無しさん
2008/05/23(金) 01:13:330621デフォルトの名無しさん
2008/05/23(金) 02:01:470622デフォルトの名無しさん
2008/05/23(金) 21:39:33話わってわるいんだけど、LISPの勉強したくて
xyzzy?とか導入したんだけど、ナニ?
気づいたら俺はxyzzyのショートカットキーとかの勉強をしてるじゃないか!!!!
いい加減プログラマせろ!!
・・・てなわけで、サクサクLispでプログラメる環境の作り方をサクサク教えて下さい。
0623デフォルトの名無しさん
2008/05/23(金) 22:13:10つ メモ帳
0624デフォルトの名無しさん
2008/05/23(金) 22:16:36M-x lisp-interaction-mode
Ctrl+J
0625デフォルトの名無しさん
2008/05/23(金) 23:35:20lispworksでもやれ。emacs体系なのは同じだが。
0626デフォルトの名無しさん
2008/05/23(金) 23:40:320627デフォルトの名無しさん
2008/05/24(土) 00:16:04ショートカットをある程度覚えたら
ググったりしながらプログラメる環境を自分で整えていけば
Lispも少し覚えられるから一石二鳥だよ。
というかショートカットは覚えるんじゃなくて
自分でやりやすいように変えてく方が楽なんじゃないかな。
0628622
2008/05/24(土) 02:23:23神光臨!!イケタヨ!
ってコレって一行のプログラムしか実行できな・・・って、あれ?
Lispのプログラム全体は()で囲まれるから行とかないのか・・・。
よし、今日からLisp漬けだ。
ありがとう!
0629デフォルトの名無しさん
2008/05/24(土) 14:09:03Ctrl-J するまでは Ctrl-M (要は普通に改行) すればいいだけ。
0630デフォルトの名無しさん
2008/05/24(土) 14:41:550631デフォルトの名無しさん
2008/05/24(土) 19:10:04処理系作ったからといってlispのプログラムが書けるようにはならない不思議
0632デフォルトの名無しさん
2008/05/24(土) 19:11:380633デフォルトの名無しさん
2008/05/24(土) 21:45:28そんなことは普通ありえないだろ。
作った処理系のテストすらできないじゃん。
0634デフォルトの名無しさん
2008/05/24(土) 22:13:31人の書いたプログラムでテストできるさw
0635デフォルトの名無しさん
2008/05/24(土) 22:50:25あほ?
0636デフォルトの名無しさん
2008/05/24(土) 23:06:06単純な話、車を運転できなくても、車は作れるだろ。
普通あり得ないかもしれないがwww
0637デフォルトの名無しさん
2008/05/25(日) 00:13:39LISP系は5個ぐらい作った。
schemeの末尾再帰の原理とか勉強になった。
本に載ってたCのインタプリタ移したのが最初だったけど、
それでCの仕様にも詳しくなったし。コンパイラも作れるようになった。
これは実際作ってみないと判らない話だけどね。
車が作れるなら運転もできる可能性はあるって事。
0638デフォルトの名無しさん
2008/05/25(日) 00:23:06ガンダムを操作することは出来なかった
つまりはそういう事さ
0639デフォルトの名無しさん
2008/05/25(日) 00:38:18つまりはそういう事さ
0640デフォルトの名無しさん
2008/05/25(日) 00:44:40そのCの本って、アスキーのあれですか。
日本での lisp の実装本って2冊くらいしかないですよね。バイナリが雑誌に載ってて必死になって打ち込むっていうのはいくつかありましたが。
0641デフォルトの名無しさん
2008/05/25(日) 00:51:18いや、Software Engineering in Cっていう洋書。
アスキーのって、redaとかmakeとか載ってるやつだよね。
あのシリーズにCの実装は載ってなかったと思うけど。
0642デフォルトの名無しさん
2008/05/25(日) 00:58:35いえ、reda make はパート2 で、パート3 で結構気合の入ったlisp 処理系をcで書いていました。どんなlispかはあんまり思い出せませんが。
0643デフォルトの名無しさん
2008/05/25(日) 01:23:39たしか同時期にKernel Lispとかいう処理系の本があって、
Cへのトランスレーターが含まれてたり当時としては
破格の内容だったんで、そっちばっかり読んでた。
0644デフォルトの名無しさん
2008/05/25(日) 01:55:13萎えて終りだろうけど、lispなら自分で難易度レベルを調節
できるんだし、処理系を作って学べ、ってのはありだと思う。
linuxの「カーネルソース嫁」よりは気が楽でしょ。
quoteの概念とかはマニュアルなんか読むより、
仕組みを考えさせた方が理解が早そうだし。
0645デフォルトの名無しさん
2008/05/25(日) 03:19:55RubyだとかC++みたいな言語処理系を作れ、って言われても
の書き間違いだよね?
Lisp1.x系ならものすごく内部構造が単純だから今時の処理系でメモリ効率とか気にしなければ書きやすいと思うのだけど。
0646デフォルトの名無しさん
2008/05/25(日) 03:23:070647デフォルトの名無しさん
2008/05/25(日) 03:27:273秒で書けるからつまらない
(print (eval (read)))
0648デフォルトの名無しさん
2008/05/25(日) 03:35:040649デフォルトの名無しさん
2008/05/25(日) 03:38:21lisp処理系を作ることでlispの理解を深めるのが目的なんだから、それで良いじゃないか。
0650デフォルトの名無しさん
2008/05/25(日) 03:52:01それじゃ原始関数だけでLispをくみ上げや機械言語近いレベルでの実装のおもしろさ得られないから味気ないような気がする。
0651デフォルトの名無しさん
2008/05/25(日) 04:29:540652デフォルトの名無しさん
2008/05/25(日) 05:48:38http://portal.acm.org/
で粘ったんですが、絞りきれません。なにか追加のキーワードを教えてください。
当時は英語も読めず、C も知らず、そのような世界が存在すること自体が想像できなかったわけで、まあ、うらやましいです。
>>650
Lispマシン?
0653デフォルトの名無しさん
2008/05/25(日) 08:31:49Peter A. Darnell
Philip E. Margolis
ISBN:0-387-96574-2
0654デフォルトの名無しさん
2008/05/25(日) 08:37:50Peter A. Darnell
Philip E. Margolis
ISBN-10: 0387946756
こっちが今の書名?
0655デフォルトの名無しさん
2008/05/25(日) 08:46:15打越 浩幸
ISBN-10: 4871487628
ISBN-10: 4871481689
Lisp処理系の作成 (Cプログラムブック)
小西 弘一 , 清水 剛
ISBN-10: 4871482006
0656デフォルトの名無しさん
2008/05/25(日) 08:52:06Patrick Henry Winston , Berthold Klaus Paul Horn
ISBN-10: 0201083728
18章 Lispで書くLisp
0657デフォルトの名無しさん
2008/05/25(日) 08:55:020658デフォルトの名無しさん
2008/05/25(日) 11:26:54(defun my-cons (d1 d2)
(let* ((b (make-my-list :d d2))
(a (make-my-list :d d1 :p b)))
a))
...
0659デフォルトの名無しさん
2008/05/25(日) 12:03:31(my-list-d a))
(defun my-cdr (list)
(my-list-p a))
0660デフォルトの名無しさん
2008/05/25(日) 12:05:04(defun my-car (list)
(my-list-d list))
(defun my-cdr (list)
(my-list-p list))
0661デフォルトの名無しさん
2008/05/25(日) 13:37:01Lisp: A Portable Implementation
by Sharam Hekmatpour
ISBN: 0135374901
多分これで間違いない。
0662デフォルトの名無しさん
2008/05/25(日) 13:43:49やさしいLISP―すばらしい移植性の実現
出版社: 日本評論社 (1991/09)
ISBN-10: 4535600066
ISBN-13: 978-4535600065
これだ。
絶版になってるけど、図書館行けば見つかるはず。
0663デフォルトの名無しさん
2008/05/25(日) 14:37:38それも基本的には>>653と同じ本。
本の体裁やANSI対応など大幅に変更されてる。
巻末にあったソースが省かれて、付属のFDDに移動
してるので、古本とかで見つけた場合は注意。
ソース自体まるっきり新しくなって、バグも取れてるっぽいので、
きちんとした物が手に入るなら>>654が良い。
0664デフォルトの名無しさん
2008/05/25(日) 19:12:21ここのページにXMLの長所と短所が書かれているんだけど、Listの長所と欠点って何かな?
Listという構造が自然すぎて、長所と欠点があまり出てこないと思うけど、頑張ってみてください。
ご協力お願いします。
長所
1.構造がシンプルである。
短所
1.要素の区別が付き難い。
0665デフォルトの名無しさん
2008/05/25(日) 20:01:17http://www.itscj.ipsj.or.jp/senmon/06sen/sc22.html
0666デフォルトの名無しさん
2008/05/25(日) 20:53:42ここでやれ
http://pc11.2ch.net/test/read.cgi/tech/1140006937/
0668デフォルトの名無しさん
2008/05/25(日) 22:06:38うぜーよ。
0670デフォルトの名無しさん
2008/05/25(日) 22:27:51S式は記法と型がきまってるだけで、XMLみたいに周辺規格が充実してないからね。
Wikipediaあるような標準規格も含めた話だとそもそも比較にならないよう。
0671デフォルトの名無しさん
2008/05/25(日) 23:39:29リストってーか、S式じゃないの?
しかも、長所と欠点とか、用途によって全く違うだろ。
それをいちいち全部挙げていくのか?
自然すぎてとかいうのも意味分からんし。
頑張ってみて下さいとか、妙に偉そうだし。
0672デフォルトの名無しさん
2008/05/25(日) 23:53:19煽りだったら放置すればいいじゃんか。
利点はXMLと大体同じだけど、規格系が整備されてないから相互運用という点では劣る。
お役所仕事のギチギチフォーマットとチラシの裏にかきちらせるお気楽フォーマットみたいな感じかなぁ。
0673デフォルトの名無しさん
2008/05/26(月) 00:51:52S式は手で(エディタで)書く気がする。
XMLは書く気がしない。(ので、作成プログラムを作る)
って感じ。
0674デフォルトの名無しさん
2008/05/26(月) 01:11:15XMLは書く気がしない。(ので、作成プログラムを作る)
0675デフォルトの名無しさん
2008/05/26(月) 01:24:07ちょ、そんなにLispが好きなら煽るなよw
瞬間考え込んでしまったじゃないか。
0676664
2008/05/26(月) 09:34:23長所
1.構造がシンプルである。
2.人間が編集し易い構造。
短所
1.要素の区別が付き難い。
2.規格が整備されていない。
3.規格が整備されていない為、相互運用に手間がかかる。
用途の曖昧さがあり、長所と短所が出しにくかったようですね。
用途を明確にするといっても、XMLデータベースとListデータベースとかイカれた発想しか出てこなかったのでこの辺で終了します。
ありがとうございました。
0677デフォルトの名無しさん
2008/05/26(月) 14:29:09python-on-lispよりもかなり強力だね
0678デフォルトの名無しさん
2008/05/26(月) 16:26:230679デフォルトの名無しさん
2008/05/26(月) 16:33:28extern がeucとutfではだめだった
0680デフォルトの名無しさん
2008/05/26(月) 17:03:36windows版の1.0.13は落ちないけど豆腐になった,#\gだと#\REPLACEMENT_CHARACTORになる
linuxの1.0.11だと#\SQUARE_RITTORUに評価された。
どのバージョンで変になるの?
0681デフォルトの名無しさん
2008/05/26(月) 18:16:16XMLに何らかのプログラム(例えばJavaScript)を埋め込んで、
解釈系プログラムでそのプログラムを実行できるようにすると、
S式+マクロみたいな使い方も一応出来るけど、労力を比べると
Listデータベースに軍配が挙がると思う。
0682デフォルトの名無しさん
2008/05/26(月) 18:18:460683デフォルトの名無しさん
2008/05/26(月) 18:33:370684デフォルトの名無しさん
2008/05/26(月) 18:40:40声の大きい馬鹿が集まって足踏みしてるだけに見える。
実体は、出てきた便利な物に後付で価値をこじつけて
乗っかるだけの、薄っぺらい金儲けの手段でしかない。
そのうちまた違う名前が出てくるんだろうけど、
ネットのこの流れは嫌気が差すね。
0685デフォルトの名無しさん
2008/05/26(月) 18:56:160686デフォルトの名無しさん
2008/05/26(月) 18:58:420687デフォルトの名無しさん
2008/05/26(月) 19:21:100688デフォルトの名無しさん
2008/05/26(月) 20:10:230689デフォルトの名無しさん
2008/05/26(月) 20:19:37何がしたいよ。
0690デフォルトの名無しさん
2008/05/26(月) 20:27:35ぶっきら棒だなw
>>688
入りますがそれが何か?
0691デフォルトの名無しさん
2008/05/26(月) 20:31:08Lisp厨涙目wとかいう結論にしたいのか?
0692デフォルトの名無しさん
2008/05/26(月) 21:39:06ってのがよく分からないんだけど。
read, print, 構造体, マクロ
これだけ考えてもかなり大きな仕様で、
さらにS式対象のライブラリはかなり充実しているんだが…
0693デフォルトの名無しさん
2008/05/26(月) 21:44:220694デフォルトの名無しさん
2008/05/26(月) 21:45:33Wikipediaの記事だとそーゆう方面も含めてるようだったんでね。S式つったら普通は>>692の定義で、比較の
レイヤが違うんじゃないかなーと思ったので、用途とかをはっきりさせてほしかった。
0695デフォルトの名無しさん
2008/05/26(月) 21:49:56というのはあるわな。SXML とか LXML とか。
まあ Lisp 屋にとってはそんなのちょちょいと変換できるから大きな問題ではないわけだが。
0696デフォルトの名無しさん
2008/05/26(月) 21:57:07ListとS式を切り離して質問した私の間違いだったんです。すみません。
デフォルトでUnicodeが使われるとかそういうレベルの解釈だったんです。
0697デフォルトの名無しさん
2008/05/26(月) 21:58:06わざわざ下位のXMLに降りて何かしようなんて酔狂なやつがいないだけ。
0698デフォルトの名無しさん
2008/05/26(月) 22:02:21規格はCLは厳格だろ。GLSなんかみるとわかる。
>>694
規格は用途で左右されると思う?
0699デフォルトの名無しさん
2008/05/26(月) 22:08:22ubuntu7.10に入ってるsbclです
1.0.6でした
0700デフォルトの名無しさん
2008/05/26(月) 22:38:36企業間の取引データをやりとりするような用途ならcXMLを使うことになるケースはある。S式ベースのがくる事は現時点ではない。
あとはちょろっとしたXML文書の変換もXSLT使うな。これも規格と実装が充実してるし、引きつぎもあんまり困らないから。
0701デフォルトの名無しさん
2008/05/26(月) 22:48:22君、規格の意味がおかしいよ
0702デフォルトの名無しさん
2008/05/26(月) 22:55:160703デフォルトの名無しさん
2008/05/26(月) 23:11:300704デフォルトの名無しさん
2008/05/26(月) 23:13:550705デフォルトの名無しさん
2008/05/26(月) 23:18:350706デフォルトの名無しさん
2008/05/26(月) 23:23:46すると、標準的なプロトコルや、XSLT1.0/2.0等を実装するライブラリがあるあたりが便利、と言えばよかったのか。
HTML4.0やCSS2.0,XSLT2.0なんかは規格とよんでいた。XSLTは文書変換のための規格、XPathは属性指定のための規格、みたいにね。
0707デフォルトの名無しさん
2008/05/26(月) 23:45:130708デフォルトの名無しさん
2008/05/27(火) 00:03:56世界の問題じゃなくて>>692の文脈を読めていないことを指摘してるだけ。
世界中の人はもしかしたら全員が君に悪意を抱いているかのもしれませんが。
0709デフォルトの名無しさん
2008/05/27(火) 00:08:20あれで文脈を読めるだろうという予想が狭い世界での経験に基づくものなのでは?
最後の行は余計だろう。質問する人の態度じゃないよ。
0710デフォルトの名無しさん
2008/05/27(火) 00:18:47延々とXMLの話をするのはスレ違いだしそろそろやめて欲しいだけだ。
場違いだし、おかしな論旨が不愉快だね。
0711デフォルトの名無しさん
2008/05/27(火) 00:34:59ここでやれ
http://pc11.2ch.net/test/read.cgi/tech/1140006937/
0712デフォルトの名無しさん
2008/05/27(火) 00:35:340713デフォルトの名無しさん
2008/05/27(火) 00:46:190714デフォルトの名無しさん
2008/05/27(火) 00:48:190715デフォルトの名無しさん
2008/05/27(火) 00:55:31言われて当然だな
0716デフォルトの名無しさん
2008/05/27(火) 06:28:50二十歳ちょっとのボクちゃんの典型みたいな人だな・・・。
0718デフォルトの名無しさん
2008/05/27(火) 10:04:32数字ではなくて、日本語と英語ならみたいな関数ってないんですか?
0719デフォルトの名無しさん
2008/05/27(火) 10:07:520720デフォルトの名無しさん
2008/05/27(火) 10:12:13英語=数字じゃない半角文字、だとおもうんですけど。
0721デフォルトの名無しさん
2008/05/27(火) 10:19:110722デフォルトの名無しさん
2008/05/27(火) 10:22:35全角文字と半角文字を区別できるやつで!
お願いします。
0723デフォルトの名無しさん
2008/05/27(火) 11:14:53standard-char-p あたりかな。
http://www.lisp.org/HyperSpec/Body/fun_standard-char-p.html
0724デフォルトの名無しさん
2008/05/27(火) 11:26:200725デフォルトの名無しさん
2008/05/27(火) 11:39:440726デフォルトの名無しさん
2008/05/28(水) 20:55:440727デフォルトの名無しさん
2008/05/29(木) 10:22:29(+ 1 2)
3
0728デフォルトの名無しさん
2008/05/29(木) 11:04:44出力されるのは単にprint
一連の流れはrepl(read eval print loop)
0730デフォルトの名無しさん
2008/05/29(木) 14:00:32自前のlinuxでコンパイルしたbinaryを~/binに転送しちゃえば大丈夫なのでしょうか?
0731デフォルトの名無しさん
2008/05/29(木) 14:06:460732デフォルトの名無しさん
2008/05/29(木) 17:52:05処理系によってちがうけど、binにバイナリをいれておしまいにはならない。
bin以下に入るのはコアではないからです。どの処理系を入れるにしても
bin とコアを置く場所だけは必要でしょうね。
できればレンタルサーバーが利用しているOSディストリビューションバー
ジョンを聞いたほうがいい。場合によってはlibcのバージョンの違いで動か
ないことがあるので。
0733デフォルトの名無しさん
2008/05/30(金) 17:53:50あるよ。
以上。
↓次どうぞ
0734デフォルトの名無しさん
2008/06/01(日) 10:03:40|
|
└─────────.‐┐
. |
∧_∧. |
( ; ) |
( ̄ ̄ ̄ ̄┴-、. |
| ( *←┼─┘
/ / ∧ \
/ / / U\ \
/ / ( ̄) | |\ ( ̄)
/ ( ノ ( | | \ ノ (
⊂- ┘( ) └--┘ ( )
UUUU UUUU
0735デフォルトの名無しさん
2008/06/02(月) 13:37:05そうゆうなまえのひとがいるんだって。
youtubeでlispを検索した結果をどうぞ
http://www.youtube.com/results?search_query=lisp&search_type=
0736デフォルトの名無しさん
2008/06/02(月) 13:41:40自分はslimeの紹介動画をみてからlisp使うようになったヘタレです。
0737デフォルトの名無しさん
2008/06/02(月) 13:45:45これね
0738デフォルトの名無しさん
2008/06/02(月) 21:20:250739デフォルトの名無しさん
2008/06/05(木) 13:12:20shcemeはあるのにcommon lispはなかった
まあschemeで代用すればいいんだろうけど
0740デフォルトの名無しさん
2008/06/05(木) 13:36:42と
http://www.cliki.net/CL-EMB
が似てるのだけど、どっちが便利なのだろう
webを検索すると出てくるコードの量はrubyが多い
0741367
2008/06/05(木) 22:25:25Lispって人工知能とかで使われたりしてるって
よく本とかに書いてあるのをみるんですが、
何が(どこが)人工知能にむいているんでしょうか?
逆に、他の言語だと何が(どこが)向いていないのでしょうか?
0742デフォルトの名無しさん
2008/06/05(木) 22:36:42あれだけ人を馬鹿にしておいてよく聞けたものだな
0743デフォルトの名無しさん
2008/06/05(木) 22:47:43・本が古い
・著者の知識が古い
・未知の分野への適性が高い事の実例として人工知能を挙げた
のどれかジャマイカ
0744デフォルトの名無しさん
2008/06/05(木) 23:02:59人工知能と言う概念(分野)自体が今や、廃れている。
と言うか昔、人工知能の対象とされた分野は(ある程度、成熟すれば)
それぞれが既存の技法を持った固有の分野となる。
つまり「人工知能」と言う概念自体が幻(見果てぬ夢)なんだよ。
0745デフォルトの名無しさん
2008/06/05(木) 23:13:23記号処理だけで「人工知能」的な事が可能になると言う誤解
(あるいは願望)が蔓延してた頃の話だな。
その後、フレーム問題だ、記号着地問題だ、で記号処理だけでは
全く不十分な事が分かって、今に至る。
0746デフォルトの名無しさん
2008/06/05(木) 23:37:06文字列を処理するだけでも、LISP 圧勝 と言う時代だったわけで。
0747デフォルトの名無しさん
2008/06/05(木) 23:46:41「Lispが人工知能に向いている」と言う文章ひとつで
たっぷり四半世紀(25年)以上昔の匂いがしてくるw。
当時からPrologだのSnobolだの他にもいろいろ有ったからな。
0748デフォルトの名無しさん
2008/06/05(木) 23:50:32Lispはインタープリタ用言語
聞き齧りだけで文章書いてる人によくある間違い
0749デフォルトの名無しさん
2008/06/06(金) 00:52:35> たっぷり四半世紀(25年)以上昔の匂いがしてくるw。
既に半世紀分の匂いがついてるんだが。
Prolog とか Snobol はだいぶ後の話。
0750デフォルトの名無しさん
2008/06/06(金) 01:13:25うん、私がLispを、と言うかその他コンピュータ言語と
言うものの存在を知ったのがその頃なもんでね。
0751デフォルトの名無しさん
2008/06/06(金) 01:18:34和田先生ですか?お疲れです!
0752デフォルトの名無しさん
2008/06/06(金) 01:19:52でもNorvigのAI本を読んだときは良本とは思ったけど感動はしなかった。
やっぱり時代によって評価って変わってくると思う。
0753デフォルトの名無しさん
2008/06/06(金) 05:17:40当時も今も、Lispは文字列処理はあまりしてない。
SNOBOL4は良く使われていたが。今はperlかな。
0754デフォルトの名無しさん
2008/06/06(金) 05:23:30安西祐一郎他「LISPで学ぶ認知心理学」、
"Artificial Intelligence"はマッカーシーの造語、
SHRDLUはLispで書かれていた、
あたりが大きかったと思う。> 人工知能言語
0755デフォルトの名無しさん
2008/06/06(金) 08:59:220756デフォルトの名無しさん
2008/06/06(金) 14:06:530757デフォルトの名無しさん
2008/06/06(金) 14:09:04なんだ、お前の人生の匂いか。次から主語は明確にしてくれ。
0758デフォルトの名無しさん
2008/06/06(金) 21:07:02743の
・未知の分野への適性が高い事の実例として人工知能を挙げた
ってどっかでいってた記憶がある。
Paul Grahamも似たようなこといってるよね。
つまり、AIとかはどうでも良かったりするのかもしれない。
0759デフォルトの名無しさん
2008/06/06(金) 22:54:50> 当時も今も、Lispは文字列処理はあまりしてない。
別に誰も Lisp で文字列処理をガンガンやってるなんて書いてないんだが。
レスする前に、文章をよく読む訓練した方がいいと思うよ。
0761デフォルトの名無しさん
2008/06/07(土) 02:44:45別に誰も、誰かが「Lisp で文字列処理をガンガンやってると書いた」なんて書いてないと思うよ。
0762デフォルトの名無しさん
2008/06/07(土) 02:49:46あまり話が繋がっている様には見えないけど…
0763デフォルトの名無しさん
2008/06/07(土) 02:58:31それが2ch(女性の世間話みたいなもん)。
0764デフォルトの名無しさん
2008/06/07(土) 03:02:080765デフォルトの名無しさん
2008/06/07(土) 08:44:260767741
2008/06/07(土) 11:32:45まとめると、
(1)当時、未知の分野への適性が高い実例として人工知能を挙げた
(2)ただし、肝心の「人工知能」自体は現在でも実現困難である
こんなところでしょうか?
0768デフォルトの名無しさん
2008/06/07(土) 13:54:58夜中に人の自演までしてご苦労さん。
> 別に誰も、誰かが「Lisp で文字列処理をガンガンやってると書いた」
> なんて書いてないと思うよ。
たったら、なんで >>753 へのレスで「Lispは文字列処理はあまりしてない」
なんて書くんだ?
> あまり話が繋がっている様には見えないけど…
自分が理解できないレスはスルーしたら?
文章よく読む訓練しても無駄な奴もいるからさ。(w
0769デフォルトの名無しさん
2008/06/07(土) 14:03:37↓次の話題どぞー
0770デフォルトの名無しさん
2008/06/07(土) 14:47:39Windows厨にはどの処理系がおすすめですか
今はxyzzyでちょろちょろプログラムしてみてます。
0771デフォルトの名無しさん
2008/06/07(土) 15:01:05ACLのExpress版(要登録) できが良すぎて製品版が欲しくなってもしらない。
0772デフォルトの名無しさん
2008/06/07(土) 15:09:21xyzzyで学習してるのもいいと思うよ。ただし、common lisp完全準拠ではない。
準拠を考えるならeclipse+cupsか商用系(acl lispworks)あたりが導入が一番楽じゃないか。
本格的に使うなら、仮想環境でもいいからlinux系を導入してそこで構築する方が楽だよ。
windowsはcommon lispのプログラミングに向いてないよ。
0773デフォルトの名無しさん
2008/06/07(土) 15:21:16emacsからslimeを移植する人は出てくると思うよ。そうすると、clispだろうがsbclだろうが
導入はグッと楽になるだろうな。
xyzzyのライセンスはどうなってるのか知らないけど、あれが日本だけで収まってるのは
もったいないな。ということは思う。
0774770
2008/06/07(土) 16:09:23比較的楽に環境が構築したいというのもあり
お二方おすすめのACLについて、Express版いれてみようかなと思います。
WindowsはLISP向きでないというのは、Win厨にはちとショックですが;
0775デフォルトの名無しさん
2008/06/07(土) 17:00:45先日ソースが公開されましたから、あとは神を待つだけでしょうか。
0776デフォルトの名無しさん
2008/06/07(土) 19:46:34このレスって何なんですか?
metacircular レス?
0777デフォルトの名無しさん
2008/06/07(土) 19:48:25> WindowsはLISP向きでない
なことはないから安心しる
ただ処理系は少ない.UNIXよりは。
0778デフォルトの名無しさん
2008/06/07(土) 19:54:37処理系だけの問題じゃないのよ。ちょっと拡張してパッケージを使おうとするときに
辛いのよ。
0779デフォルトの名無しさん
2008/06/07(土) 20:08:430780デフォルトの名無しさん
2008/06/07(土) 20:24:07禿同。でも業務仕様はどうにもならんね。世界中が一斉にUNIX移行するか、
WindowsがMacみたいにUNIXへ移行するしかないわけで。
0781デフォルトの名無しさん
2008/06/07(土) 20:29:25例えば?
0782デフォルトの名無しさん
2008/06/07(土) 20:45:02具体例はないけど外部ライブラリを呼ぶところかな。ffiがらみのライブラリは特に頭
を痛めると思うよ。対策がされているものは大丈夫だろうけど。グラフィックまわりな
んても商用なら先に揃ってるようだから大丈夫だろうがな。
0783デフォルトの名無しさん
2008/06/07(土) 21:14:22asdf-installでtarにはめられた
0784デフォルトの名無しさん
2008/06/08(日) 04:37:33http://examples.franz.com/id/massar.html
0785デフォルトの名無しさん
2008/06/08(日) 04:48:330786デフォルトの名無しさん
2008/06/08(日) 06:23:48やっぱ学校の勉強とかもできたん?
0787デフォルトの名無しさん
2008/06/08(日) 09:21:220788デフォルトの名無しさん
2008/06/08(日) 11:15:350789786
2008/06/08(日) 13:14:57そっか。
学校の勉強ができなくても、なんとかLispを習得できるんかな?
・・・頑張れば。
今、Paul Grahamの言葉を信じて苦行中(笑)。
なかなか身に付かん。
>>788
たしかに・・・
もう、凡人には踏み込めない領域かも。
仕事以外でプログラムやってるだけで、変人扱いされるよな?
0790デフォルトの名無しさん
2008/06/08(日) 13:32:170791デフォルトの名無しさん
2008/06/08(日) 14:17:37ヲイヲイ、両方使えるだろJK
0792デフォルトの名無しさん
2008/06/08(日) 14:58:00> 仕事以外でプログラムやってるだけで、変人扱いされるよな?
変人扱いされるぐらいに認知度が上がってきたからまだマシ、
以前は「なんかわけわからんことやってる暗い奴等」でひとくく
りだったし。
0793デフォルトの名無しさん
2008/06/08(日) 15:46:53>変人扱いされるぐらいに認知度が上がってきたからまだマシ、
なぜか泣ける。
プログラミングが、せめてパズルと同じくらい市民権を得てくれたら・・・
と切に願う。
0794デフォルトの名無しさん
2008/06/08(日) 16:15:170795デフォルトの名無しさん
2008/06/08(日) 16:31:00名前が同じだけど、どうなんだろうかね・・・。
0796デフォルトの名無しさん
2008/06/08(日) 16:34:420797デフォルトの名無しさん
2008/06/08(日) 17:05:11yahooで調べたけど、微妙に名前が違ったよ。
0798デフォルトの名無しさん
2008/06/08(日) 19:10:23おすすめのCommon Lisp入門の方法を教えてください。
入門書にあたるようなものはAmazonでも見当たらないようですし
(ANSI Common Lispは評価が悪いので心配です)
OnLispはまだ自分には早いようです。
今はインタプリタで関数を作ってみたりしているのですが
いまいち実力がつきません
先輩方のようにLispで本格的なアプリケーション開発を始められるようなレベルになるための
過程をご教授願いたいのですが。
よろしくお願いします。
0799デフォルトの名無しさん
2008/06/08(日) 19:17:53WinstonのLisp(3rd edition)を読む事をおすすめする。
0800デフォルトの名無しさん
2008/06/08(日) 19:26:29ANSI Common Lispは無駄がない良い本だよ。ただ、情報が濃すぎるから
敷居が高くなるところがあるかもしれない。もう一つはloop嫌いがそのまま
反映されているから、実際に作られてるコードをみたときにloopを多く使わ
れるのをみると嫌悪感を持ち兼ねない。その点だけわきまえて、3ヶ月で
12章を終わらすペースでやればよいよ。
おっしゃるようにon LispはANSIで難しいという人には手を出す本ではないよ。
Winstonっていいかときかれるとちょっと古いような気がする。winstonの本の
当時はcarよりfirstを多用してた時期らしいです。和書は図書館で取り寄せでも
すれば借りられるでしょう。
0801デフォルトの名無しさん
2008/06/08(日) 21:01:58絶版で古本にけっこうな値もついてるようだが..
0802デフォルトの名無しさん
2008/06/08(日) 21:10:40運良く古本屋で見かけたら即ゲットだが、プレミア価格なら買わない。
俺の基準だとそんなところ。
0803デフォルトの名無しさん
2008/06/08(日) 21:24:44足りない部分はあるにせよ。そこはPCL読むと丁度よい。
0804デフォルトの名無しさん
2008/06/08(日) 22:47:38どの本読んでもあまりかわらんだろ?
読みやすければ、それでOK
0805デフォルトの名無しさん
2008/06/08(日) 23:09:26>>798以上の経験を持っているように見えない人間がアドバイスしているように
みえるコメントだな。>>798を混乱させるだけじゃないか?
0806デフォルトの名無しさん
2008/06/08(日) 23:18:39ありがとうございます。
ANSI CommnLispを書店でチェックしてみて自分に合うようでしたら
購入してみます。
0807デフォルトの名無しさん
2008/06/08(日) 23:29:430808デフォルトの名無しさん
2008/06/08(日) 23:33:35ANSIとかwinstonは悪くないけどちょっと古いから2,3冊目にどうぞ。
0809デフォルトの名無しさん
2008/06/08(日) 23:35:140810デフォルトの名無しさん
2008/06/09(月) 00:04:10PAIPは1992でANSIは1996だったよ。PCLは2005かな。
0811デフォルトの名無しさん
2008/06/09(月) 00:05:25あれ難しいわw
つか、Lisp自体が難しいんだろうけど、
0812デフォルトの名無しさん
2008/06/09(月) 00:33:57内容が。。。
0813デフォルトの名無しさん
2008/06/09(月) 00:36:27Lispはコード量が少なくて済む分、一行の重みが濃密だからね。
そのかわり、一度臨界点を越えると生産性が高い。
0814デフォルトの名無しさん
2008/06/09(月) 00:37:12まあ、関数型はみんなそういえるかな。
0815デフォルトの名無しさん
2008/06/09(月) 00:44:20可読性はどうですか?
修行が足りないせいか、めちゃくちゃ読みにくいです(涙)。
0816デフォルトの名無しさん
2008/06/09(月) 01:00:36はじめて最初の1〜2ヶ月はバックグラウンド次第ですごく混乱します。
この辺はJava/C++/C組が挫折するところ。これらのグループよりプログラミングバージン
の方が上達が速いかもしれません。
当初のとっつきにくさを乗り越えると、単純な法則のもとでプログラムがかかかれている
のがわかるから、それから理解が深くなってくるよ。
もっとも、自然言語学習と同じでボキャブラリを増やす過程は苦しいかな。
わからんでもいいからとりあえずなれることを重視して続けていけば良い。
感覚的な理解ってのは論理的な理解より時間がかかるんで、そのギャップが多いときは
どうしても辛くなりがちだから。
0817デフォルトの名無しさん
2008/06/09(月) 01:09:03アドバイス、ありがとうございます。
僕は、まさにその通りのバックグランドを持ってて
再帰に少し慣れてきたかなぁ・・・って段階です。
ちょっと不安が解消されました。
ところで、Lispは可読性が低くないという解釈で良いですか?
0818デフォルトの名無しさん
2008/06/09(月) 01:19:26s式の括弧を読んでインデントをサポートしてくれるエディタとペアならそれほど苦痛じゃないよ。
0819デフォルトの名無しさん
2008/06/09(月) 01:30:23インデントの問題はないので、やはりまだ修行が足りないだけですね。
精進します。
ありがとうございます。
0820デフォルトの名無しさん
2008/06/09(月) 02:45:34よほど学びやすいと思うけどな...
Boostのソースとかもう意味不明だし
0821デフォルトの名無しさん
2008/06/09(月) 03:37:400822デフォルトの名無しさん
2008/06/09(月) 09:42:30まじでか。
boost/iterator/*の怒涛のコメント読むだけで知恵熱出そうだが。
0823デフォルトの名無しさん
2008/06/09(月) 12:37:47ブラックボックスとして使いにくいんだよな。
他のテンプレと競合したりする割に、やけにパーツ分割にこだわるし。
思想についていけない。
0824デフォルトの名無しさん
2008/06/09(月) 12:43:140825デフォルトの名無しさん
2008/06/09(月) 14:51:53lisp の自動インデントみたいなもの
0826デフォルトの名無しさん
2008/06/09(月) 17:32:03例えばxが'(1 2 3 4)だとすると
(lsadd x)の様にして>10とかえってくるような関数を作りたいのです。
よろしくお願いします。
0827デフォルトの名無しさん
2008/06/09(月) 17:57:57CommonLispに搭載されている関数はどこで確認できるのでしょうか
0828デフォルトの名無しさん
2008/06/09(月) 18:00:43インデントで、なんとかならんの?
0829デフォルトの名無しさん
2008/06/09(月) 18:10:57(apropos シンボル)でひっかけてみな
あとはHyperSpecをググって
0830デフォルトの名無しさん
2008/06/09(月) 18:38:24式の解析、マクロを生成するマクロでは、インデントのみだと扱いが難しい。
AST(抽象構文木)と同様の構造だから、いろいろ実験できるんじゃないか?
0831デフォルトの名無しさん
2008/06/09(月) 18:39:31ちゃんとインデントつけて綺麗に書けばね。
で、書く時はエディタに助けてもらえばいい。
0832デフォルトの名無しさん
2008/06/09(月) 20:52:13インデントベースのlispと言う物はschemeの規格に既にあるが。
0833デフォルトの名無しさん
2008/06/09(月) 21:06:32それは良く聞くんだけど、実際は書きながらエラーがでない程度に
間違ってしまうこともあるし、
読むときも、しっかりと読んでおかないと、対応関係がインデントと
微妙にずれたコードもすくなからず存在する。
0834デフォルトの名無しさん
2008/06/09(月) 21:08:59> 読むときも、しっかりと読んでおかないと、対応関係がインデントと
> 微妙にずれたコードもすくなからず存在する。
読むときもエディタで一度インデントしなおせばいいんじゃ?
0835デフォルトの名無しさん
2008/06/09(月) 21:58:40これはLispに限らず、C系でも「整形しなきゃ読めねえよ!」なソースは、多かれ少なかれ
自分でインデントいじって読むと思う。
0836デフォルトの名無しさん
2008/06/09(月) 22:08:170837デフォルトの名無しさん
2008/06/09(月) 23:29:14解決できないのでよろしくお願いします。
ある数の約数をリストにして出力してくれる関数はどのように
作れば良いのでしょうか?
0838デフォルトの名無しさん
2008/06/10(火) 00:06:430839デフォルトの名無しさん
2008/06/10(火) 00:12:41すいません
宿題ではなくて作業自動化のために自主作成しているアプリケーションの
一部なのですが・・・・
まだLisp脳になっていないようで考え方がいまいちつかめないのです
0840デフォルトの名無しさん
2008/06/10(火) 01:12:56何にしてもLisp以前の問題
数学勉強し直せ
0841デフォルトの名無しさん
2008/06/10(火) 02:03:39「自分のコードでは遅くて使い物にならない」ならまだしも、
「どのように作ればいいか?」は馬鹿にされても仕方ないんじゃないかな。
お前さん、ある数の約数を得たいとき、どういう風に計算する?
0842デフォルトの名無しさん
2008/06/10(火) 02:19:53初心者さんが最初に感覚を掴めないってのはざらにあるから、バカにしないほうがいいよ。
>>839
感覚が掴めないのはなれるしかないから。最初は大きなものを作ろうとするより、ちいさな
ユーティリティーでいいよ。とかく経験をつんでいけば大丈夫だから。
0843デフォルトの名無しさん
2008/06/10(火) 02:34:130844デフォルトの名無しさん
2008/06/10(火) 03:02:05Cでも何でもいい、まずお前さんが使える言語で書いてみたら?
それをLispに移植すればいいんじゃない
Lispは手続き型言語みたいに書くこともできるんだし
Lispっぽく書くのはその後でもいいと思うよ
0845デフォルトの名無しさん
2008/06/10(火) 03:18:38俺自身は馬鹿にしないけど、>>840とかへのフォローもできない。
約数を求める数学的な知識があって、
Lispの入門書とか、マニュアルとかがあって、
さらにGoogleまで使えるなら、効率が悪かろうが、動かなかろうが、
自分なりの物くらいは作れると思うんだよ。
プログラミング初心者とかなら分かるんだけど、
そんな人間が「Lisp脳になっていない」とか言うか?
関数的な書き方が分からない、とかなら分かるんだけど。
0846デフォルトの名無しさん
2008/06/10(火) 04:39:15PerlとGaucheで書いてみた
sub yakusuu {
my $x=shift;
my @y;
for (my $i=2;$i<$x;$i++) {
if (($x % $i)==0) {push @y,$i}
}
return @y;
}
print yakusuu(100);
sub yakusuu2 {
my $x=shift;
return grep {(($x % $_)==0) ? $_ : 0} (2..$x-1);
}
print yakusuu2(100);
0847デフォルトの名無しさん
2008/06/10(火) 04:39:42(define (yakusuu x)
(let ((y ()))
(do ((i 2 (+ i 1)))
((>= i x))
(if (= (remainder x i) 0) (push! y i)))
(reverse y)
)
)
(print (yakusuu 100))
(use srfi-1)
(define (yakusuu2 x)
(filter (lambda (a) (if (= (remainder x a) 0) a #f)) (iota (- x 2) 2))
)
(print (yakusuu2 100))
どっちも似たような感じになってるのが分かると思う
あんまり変に考えないで気楽にLispに触れるのがいいよ
そのうち馴れるさ
yakusuu2はおまけですw
Lisp脳ってたぶんこんな感じのを想像したんじゃないかな?
0848デフォルトの名無しさん
2008/06/10(火) 04:41:49>>846の239は839な
0849デフォルトの名無しさん
2008/06/10(火) 05:07:31寝よ…
0850デフォルトの名無しさん
2008/06/10(火) 05:25:16わかります
0851デフォルトの名無しさん
2008/06/10(火) 05:45:51SRFI-42マジオススメ。
0852デフォルトの名無しさん
2008/06/10(火) 06:34:36ありがとうございます。
C言語では
#include <stdio.h>
int main(void){
int a,b=1;
printf("start:");
scanf("%d",&a);
while(b<=a){
if(a%b==0){
printf("%d¥n",b);
b=b+1;
}
else{
b=b+1;
}
}
return 0;
}
となりました。
「Lisp脳」という言葉を使ったのは
偉大なLispHackerの皆さんは意外なそして美しいコードで
いつも解決しているので、何か簡潔な方法が有るのではと思い使いました。
0853デフォルトの名無しさん
2008/06/10(火) 07:44:36それは「早すぎる最適化」かもしれない
より良い方法を探すのは、必要に迫られてからでよい
それに、探し出すよりも偶然見つかることのほうが多い
0854デフォルトの名無しさん
2008/06/10(火) 09:41:37(let ((head '()) (tail '()))
(loop for i from 1 to (sqrt n)
if (zerop (mod n i)) do
(push i head)
(push (/ n i) tail))
(nreconc (if (= (car head) (car tail)) (cdr head) head)
tail)))
0855デフォルトの名無しさん
2008/06/10(火) 10:16:09余りを出す関数があると自力でも出来そうです
0856855
2008/06/10(火) 17:35:22皆さん本当にありがとうございました!!
(defun numlist (x)
(let ((nlist '()) (i 1))
(loop (if (> i x) (return (reverse nlist))
(if (= (mod x i) 0)
(progn (push i nlist) (incf i 1))
(incf i 1))))))
0857デフォルトの名無しさん
2008/06/10(火) 18:15:28よかったな。これからもcommon lispをかわいがってやってください。
甘えすぎは非難の元だけど、分からなかったらいつでもおいでね。
0858デフォルトの名無しさん
2008/06/10(火) 21:30:08名作みたいな展開。
0859デフォルトの名無しさん
2008/06/11(水) 07:32:31EclipseでCUSPをいれてちょこちょことやってるんだけど、
GUIとか、もうちょっとDLLを呼び出して、DirectXを操作とかとなると大変?
GUIだとなんか幾つかそれっぽいのが見つかるんだけど(MacOSXとかLinux・Unixが目立つが)
DLLを呼び出すのは無理??
0860入ってしまえば天国なんだね…。
2008/06/11(水) 11:01:38使用者例が少なすぎて発想パターンを断言できないけど、
思考‐発想タイミングから言えば基本的に敷居「だけ」が
高い言語のようだし、初心者を甘やかしても良さそう。
ところで、この言語で言えば印欧語族のロシア語みたいな
性格を見て今、ぐぐってみたんだが…ちょw大当たりww
これは…すごいのはキャラが立ってるLISPだなwww
これが、印欧語族の中では英語的なC言語系だと…
ぐぐってみた…ごめん、もう何も言う事ないwwww
(英語は「敬語」を始め、高度習得が困難です。)
対照的すぐる…(もうちょいがんばれば、あるいは…?
0861デフォルトの名無しさん
2008/06/11(水) 11:15:000862デフォルトの名無しさん
2008/06/11(水) 11:17:59本当にありがとうございました
0863デフォルトの名無しさん
2008/06/11(水) 14:37:430864デフォルトの名無しさん
2008/06/11(水) 16:17:05cffiではdllをよべるみたいだが、詳しくはonjoさんところみてくれ。
http://lispuser.net/memo/lisp/2007-08-08-23-53.html
0865デフォルトの名無しさん
2008/06/11(水) 16:50:56Lispが生き残ってるのはEmacsのおかげ
実用には耐えないが一部ハッカーの趣味で使われている
など否定的な意見のみが見られてイマイチ本気になれません
Lispで作られたアプリケーションを教えていただけないでしょうか
0866デフォルトの名無しさん
2008/06/11(水) 17:04:59アプリは↓この辺ね。
http://wiki.alu.org/Industry_Application
それから独断で単純に割り切って無視しようとするのは、
プログラマとしてはそんな性格だよ。
よいところはどんどん吸収するようにしないと頭が固くなる。
0867デフォルトの名無しさん
2008/06/11(水) 17:19:56emacs
0868デフォルトの名無しさん
2008/06/11(水) 17:38:58ありがとうございます。
自分としては気に入っているのですが
周りがそんな事をいってくるので
ちなみにLispが向いている方面を教えてください
0869デフォルトの名無しさん
2008/06/11(水) 17:56:06用法・用量を守って、正しくご使用下さい。
0870865
2008/06/11(水) 18:19:03>Lispは素晴らしい言語だと思うのですが
これが僕の意見
>Lispが生き残ってるのはEmacsのおかげ
>実用には耐えないが一部ハッカーの趣味で使われている
これが周りの意見
>イマイチ本気になれません
Lispいいよねって周りにいうと
「やめとけよ役に立たない」とかいわれるので・・・
0871デフォルトの名無しさん
2008/06/11(水) 18:27:46お前の人生は何に向いてますか?
>>870
Lispに向いているものをやるもんじゃなくて
解きたい問題をLispで解くもんだ。
フレームワークについての話ならともかく
汎用言語はみんなそんなもんだ。
おまえの人生や周りの事情なんか知らん。
0872865
2008/06/11(水) 18:33:31ありがとうございます。
たとえば望んでいたreplyはLispでMacOSXで動作するGUI動画再生ソフトは
作りづらいとおもうのですが
そんな感じでどちらかというとこんな感じのを作るときには
苦労するよというようなものだったのです
すいませんでした
0873デフォルトの名無しさん
2008/06/11(水) 18:38:080874デフォルトの名無しさん
2008/06/11(水) 18:51:39>MacOSXで動作するGUI
ここ何か意味あるの?
Mac OS X 上の Lisp 環境は他のプラットフォームと遜色ないし、
Cocoa を呼び出すのも他の言語に比べて難しいとは思わないけど。
0875デフォルトの名無しさん
2008/06/11(水) 19:16:43ときどきイルカ状態になるんだ…orz
(特定能力だけ寝てる。脳内血行が偏る珍体質。
血流検査結果見たら昔の級友は爆笑&納得)
吊って来る… ああ、LISPって論理綺麗だな…
0876デフォルトの名無しさん
2008/06/11(水) 19:33:210877デフォルトの名無しさん
2008/06/11(水) 19:44:200878デフォルトの名無しさん
2008/06/11(水) 19:47:34責任転嫁がお上手ですね。
その調子で残りの人生も済むといいね。
0879デフォルトの名無しさん
2008/06/11(水) 19:54:32mcl系をしらべたらいい。最近フリーになったし。また、
closure cl(旧openMCL)はMACのGUIに合わせてるよ。
0881デフォルトの名無しさん
2008/06/11(水) 20:12:00http://pc11.2ch.net/test/read.cgi/tech/1118944895/662-666
眠い時に書きまくるなよ。
0882デフォルトの名無しさん
2008/06/11(水) 21:47:51そのレスも半分寝てるようだな
0883デフォルトの名無しさん
2008/06/11(水) 22:13:57その特異能力を生かして、普通のやつらの斜め上を行ってください。
きみならできる。
0884デフォルトの名無しさん
2008/06/11(水) 22:31:41ナナメかよ!
0885865
2008/06/11(水) 23:15:16なんだか皆さんの雰囲気をみだしてしまったようですいません
なんだか気になるので一応かいておきますが>>865≠>>875ですよ
0886デフォルトの名無しさん
2008/06/12(木) 22:14:13Practical Common Lispの日本語版がとうとうでるみたいだね。原著の
評判はかなりいいので楽しみですね。
今は洋書の値段も上昇ぎみだって時だから、5000円って高価だけど
和書のほうが易くすみそうですね。
個人的には原著を持ってるのでかわないけど、訳が素晴らしければ
おすすめできますよ。でもね。なまえをみてonjoさん(lispuse.netの中
の人)でしょ。それなら予約しても大丈夫だと思う。
0887デフォルトの名無しさん
2008/06/12(木) 22:17:02モニタに向かってPDFで読むの好きじゃないから出たら買わせてもらうよ
0888デフォルトの名無しさん
2008/06/12(木) 23:12:110889デフォルトの名無しさん
2008/06/12(木) 23:23:410890デフォルトの名無しさん
2008/06/12(木) 23:31:580891デフォルトの名無しさん
2008/06/12(木) 23:43:130892デフォルトの名無しさん
2008/06/12(木) 23:49:450893デフォルトの名無しさん
2008/06/13(金) 00:45:050894865
2008/06/13(金) 20:01:450895デフォルトの名無しさん
2008/06/13(金) 20:25:20それともHyperspecの方?
プロダクト探すんだったらclikiとか?
0896デフォルトの名無しさん
2008/06/13(金) 20:58:15回答ありがとうございます。
現状では関数を羽で作っているだけなので
これからCommonLispで本格的にアプリケーションを作るにあたり
利用できるライブラリは利用する方が便利ですし、
ライブラリのソースコードをみて学習することで自分の学習にもなりますので
下さったページで学んでみたいと思います。
ありがとうございました。
0897デフォルトの名無しさん
2008/06/14(土) 13:17:230898デフォルトの名無しさん
2008/06/17(火) 00:25:52値はprintで表示されてしまいますよね.
これをプログラムの中に取り込んで加工したいのですが,その場合
どうすればいいのでしょうか?
0899デフォルトの名無しさん
2008/06/17(火) 02:38:530900デフォルトの名無しさん
2008/06/17(火) 04:14:400901デフォルトの名無しさん
2008/06/17(火) 07:19:49(with-output-to-string (*trace-output*) (time ...))
print した値なら
(with-output-to-string (*standard-output*) (time ...))
でどうだろう。
0902デフォルトの名無しさん
2008/06/19(木) 22:01:53(setf (get 'x 'y) 'z)と属性リストに代入することができるようにする
マクロはどのように実現すれば良いのでしょうか
0903デフォルトの名無しさん
2008/06/19(木) 22:24:32だが、本当にあなたがやりたい事はマクロが必要なのかな?
(defun f (x y z) (setf (get x y) z))
でもいいんじゃないの?
0904デフォルトの名無しさん
2008/06/19(木) 23:11:17>(defmacro newaddres (x y z) `(setf (get ',x ',y) ',z))
ありがとうございます。
',の部分がわからなかったので助かりました。
>(defun newaddres (name title contents) (setf (get name title) contents))
としたのですが
定義した後(newaddres tanaka live yokohama)とするとTANAKA has no value と言うエラーが出てしまいます。
0905デフォルトの名無しさん
2008/06/20(金) 01:23:30(newaddres 'tanaka 'live 'yokohama)
クォートするのが面倒だって?だが、評価を ' で ON/OFF できるっつーことはだ、↓のようにできるってこと。
(setf yokohama-list '(tanaka yamada sato steve))
(dolist (who yokohama-list)
(newaddress who 'live 'yokohama))
そもそもシンボル?評価?意味不明というならまた別途説明するよ。
0906デフォルトの名無しさん
2008/06/20(金) 09:51:270907デフォルトの名無しさん
2008/06/20(金) 15:10:49やめて下さいよ
違う人がレスするのは
0908デフォルトの名無しさん
2008/06/20(金) 15:13:590909デフォルトの名無しさん
2008/06/20(金) 18:31:41巷にはcでlispインタプリタを作ってみたって人は多い。逆に
lispでcインタプリタを作ってみたという人はきいたことがないな。
作る必要もないものね。
0910デフォルトの名無しさん
2008/06/20(金) 21:58:180911デフォルトの名無しさん
2008/06/20(金) 22:00:45c++ならまだしもcのインタプリタなんて教育用途でも微妙だと思ったが。
0912デフォルトの名無しさん
2008/06/20(金) 22:32:10理由は?
# 「性能とかの実用性は度外視して」が前提だが。
0913デフォルトの名無しさん
2008/06/20(金) 22:40:25ttp://wiki.osdev.info/?C%2F%A5%A4%A5%F3%A5%BF%A5%D7%A5%EA%A5%BF
0914デフォルトの名無しさん
2008/06/20(金) 22:59:40(defun two2ten (x)
(let ((n 0) (goukei '()))
(loop (if (< (1- (length x)) n) (return (lsadd goukei))
(progn (push (lsadd (mapcar #'(lambda (a) (* a (expt 2 n))) x)) goukei) (1+ n))))))
と言う関数がどこかが終わらないのか15秒ほど待ってみても答えが出ません。
何処に原因が有るのかおしえていただけませんでしょうか?
lsadd:与えられたリストの全要素の合計を数で返す関数
自作ですがこれは確実に動作します。
xはリスト形式で式に与えています。(1 0 0 1 1 0)の様な形式です。
0915デフォルトの名無しさん
2008/06/20(金) 23:41:06下を見れば分かるかな。その変数 n を出力してみるといいよ。
1+ だけじゃ値は増えてないから。
cl-user(12): (setq x 10)
10
cl-user(13): (1+ x)
11
cl-user(14): x
10
0916デフォルトの名無しさん
2008/06/20(金) 23:59:58ありがとうございます。
忘れてしまっていました。
ありがとうございます。
0917デフォルトの名無しさん
2008/06/21(土) 00:21:570918デフォルトの名無しさん
2008/06/21(土) 07:42:570919デフォルトの名無しさん
2008/06/21(土) 08:10:470920デフォルトの名無しさん
2008/06/21(土) 19:38:23Yahooの提供サービスで良いのでしょうか
YahooIDをお持ちでない先輩がいらっしゃるといけないので
0921920
2008/06/21(土) 19:43:34これについても上と同様の質問についてお答え願います。
0922デフォルトの名無しさん
2008/06/21(土) 22:34:17http://groups.google.co.jp/group/caddr
0923デフォルトの名無しさん
2008/06/21(土) 22:46:51ありがとうございます。
そちらの活発さはどの程度なのでしょうか
ぜひとも参加したく思います。
0924デフォルトの名無しさん
2008/06/21(土) 23:02:58できて時間がないから、さほど活発ではないと思う。
これからのグループでしょ。いろんな方が入ってきて
いろんな質問がでて、それに答える人が増えてきたら
活発になるかと思います。
0926デフォルトの名無しさん
2008/06/22(日) 09:29:12このデンで行くならyahooにcadddrグループができる日も遠くあるまい
ていうか、carグループって何処?
0927デフォルトの名無しさん
2008/06/22(日) 10:11:280928デフォルトの名無しさん
2008/06/22(日) 11:12:090929デフォルトの名無しさん
2008/06/22(日) 13:37:13ネタじゃなくてあるのか?
0930デフォルトの名無しさん
2008/06/22(日) 13:39:40> cadrグループ
> Lispに関する2番目のグループです。
ってあるのだが
0931デフォルトの名無しさん
2008/06/22(日) 13:42:110932デフォルトの名無しさん
2008/06/22(日) 15:33:590933デフォルトの名無しさん
2008/06/28(土) 19:22:29よろしくお願いします。
0934デフォルトの名無しさん
2008/06/28(土) 19:58:06ediをしらべろ。cl-whoとか
0935デフォルトの名無しさん
2008/06/29(日) 14:32:200936デフォルトの名無しさん
2008/06/29(日) 15:15:24どんな用途を想定してるのか教えてくれるともうちょっと何か言えるんだが。
0937デフォルトの名無しさん
2008/06/29(日) 15:47:230938デフォルトの名無しさん
2008/06/29(日) 16:46:16敢えて言うなら人間w
0939935
2008/06/29(日) 23:27:28いや、javaでlispを作りたいなと思って質問しただけです。
普通のパターン
字句解析→プリプロセッサ→構文解析
lispのパターン
字句解析→構文解析→リーダーマクロ
こんな感じでしょうか?javaしかやってない俺には違和感ありまくりです。
括弧は好きなんですけど、CLOSには疑問を感じる。
0940デフォルトの名無しさん
2008/06/29(日) 23:51:000941デフォルトの名無しさん
2008/06/30(月) 00:13:04> 字句解析→プリプロセッサ→構文解析
こっちに違和感ありまくりだよ。
どこで習ったんだ?
0942デフォルトの名無しさん
2008/06/30(月) 00:23:160943デフォルトの名無しさん
2008/06/30(月) 00:30:38詳細は実装依存な部分もあるけど、ほとんどのLispではコンパイルする時、
まずリーダーがテキストを読み取って内部表現を作る。
リーダーはプログラマブルになっていて、その際にマクロが使える。
これがリーダーマクロだが、正直なとこプリプロセッサとは随分違う。リテラルのユーザー拡張みたいなもん。
それをコンパイラがコンパイルするわけだが、その際にマクロを使って構文木を変換する。
これも構文木(S式ベース)の変換なのでやっぱりCの#defineみたいなテキストベースの
プリプロセッサとは名前以外にほとんど共通点はない。
0944デフォルトの名無しさん
2008/06/30(月) 00:47:39リードマクロのマクロと、defmacroのマクロは違うぞ。
前者はコンピュータ一般用語の「マクロ」。
マクロ命令とかマクロアセンブラとかCのマクロなどの。
Lispをもっと勉強しないと処理系作成は無理。
まずLispプログラムをたくさん書いてください。
0945デフォルトの名無しさん
2008/06/30(月) 00:51:59とりあえず、C的なプリプロセッサを搭載したLISP方言を書いてみては
0946デフォルトの名無しさん
2008/06/30(月) 00:56:10ただ、確かにオモチャの評価器を作っただけでモノにした気分にならなければ
でも、CLOSに疑問といいながら処理の理解があいまいとか知識がちぐはぐだな。
一体どんな経緯で入門してきたんだろう。
0947939
2008/06/30(月) 01:03:01理解できました。
マクロを実行する前に構文解析すると大問題ですよね。on Lispもかじっていたのに、おおぼけしました。
すみませんでした。
lispのパターン
構文木作成→リーダーマクロ→構文解析
しかもいろいろ勘違いが多くて、javaのimport文もプリプロセッサではないらしいです。
lispのload-libraryと似たような感じらしいです。
いろいろ勘違いもありましたが、lispにプリプロセッサがいらないという事はよく理解できました。
ありがとうございました。
0948944
2008/06/30(月) 01:04:14すみません。
0949948
2008/06/30(月) 01:19:07948は誤爆です。すみません。
>>944
939です。
>リードマクロのマクロと、defmacroのマクロは違うぞ。
そうなんですか。お恥ずかしい限りです。
javaしかしらない私か、コンピュータ一般用語の「マクロ」を理解するのはしばらく時間がかかりそうです。
0950デフォルトの名無しさん
2008/06/30(月) 01:22:48> 構文木作成→リーダーマクロ→構文解析
全部一緒にやるのがLisp風。
0951デフォルトの名無しさん
2008/06/30(月) 01:23:38まずJavaから頭を離すほうがいいんじゃないか。違う概念を知ってる概念に無理矢理当てはめるのはこの場合理解の妨げになるかも。
リーダーがテキストを読み取る時に使われるのがリーダーマクロ/リードマクロなので、
構文木作成の後というより前だろう。構文木ができた時にはすでに解釈・展開されてる。
0952デフォルトの名無しさん
2008/06/30(月) 01:23:400953デフォルトの名無しさん
2008/06/30(月) 01:26:37式とか構文とか、そもそもC言語とかにとらわれないCとかのプリプロセッサのほうが自由とも言える。
…自由だから嬉しいというものではないけどな。
0954デフォルトの名無しさん
2008/07/01(火) 15:01:010955デフォルトの名無しさん
2008/07/02(水) 08:41:29makeするしか方法ないのでしょうか?
0956デフォルトの名無しさん
2008/07/02(水) 18:05:470957デフォルトの名無しさん
2008/07/02(水) 20:26:06Gaucheとか入ってるサーバー探すほうがはやいかも。
0958デフォルトの名無しさん
2008/07/02(水) 20:51:49それ以外の方法はいくらでもある。ただし、>>957の意見が現実を表してるかな。
どれも細かな問題を抱えるからね。clispはcffi関連のライブラリが扱いづらかったり
cmuclはスクリプトを扱うのに一手間がいる上で日本語に問題があったり、sbclは占
有するメモリが大きかったり。
利用しているサーバーのディストリビューション、バージョンなどがわかれば、それ次第で
仮想環境を構築してそれぞれに合う処理系をビルドするといいですね。
0959デフォルトの名無しさん
2008/07/02(水) 21:29:26cgiとしてなら大抵の言語を使えるんだけど、Lispはそうやって使うもんじゃないよなぁ…
0960デフォルトの名無しさん
2008/07/02(水) 22:16:180961デフォルトの名無しさん
2008/07/02(水) 22:24:03取り合えず頑張ってくれ。ちょっと動かすくらいなら大丈夫だから。
0962デフォルトの名無しさん
2008/07/03(木) 08:15:48そんなのあるのか?>Gaucheとか入ってるサーバー
0963デフォルトの名無しさん
2008/07/03(木) 10:43:120964デフォルトの名無しさん
2008/07/03(木) 20:12:43仮想環境さえつくれればね。そう、virtualboxを導入して、利用しているサーバーのOS
に合わせたものを作ってしまえば良い。
別スレに誤爆したけど、そのコメントを少し
gaucheをxrea
・仮想環境にopenSUSE 10.3/11.0 i386版をインストール
・ディレクトリ /virtual/(xreaのあなたのID)/ を作る。
・そのディレクトリの下に bin lib share ディレクトリを作る。
・gaucheのソースを本家からダウンロード&展開
・gauche-0.8.xxディレクトリに移動
・./configure --prefix=/virtual/(xreaのあなたのID)/
・make
・make install
・/virtual/(xreaのあなたのID)/に移動
・ tar cjvf gauche.tar.bz2 bin lib share
・ gauche.tar.bz2 を xrea に持っていく。
・ sshでxreaにつなぐ
・ そこで tar xjvf gauche.tar.bz2 とする。
おしまい。openSUSEにはyastからautomake autoconf など開発系のパッケージを入れること。
仮想環境で/vurtual/(xrea id)/を作るときにchownでrootから仮想環境のユーザーに変えた
ほうが扱い易い。
0965959
2008/07/04(金) 00:31:15たぶんECLくらいならインストールはそれほど難しくはないと思うけど、
gclとかあたりになると仮想環境作った方がやりやすいかもしんない。
0966デフォルトの名無しさん
2008/07/04(金) 07:44:39実はcmuclは本家からlinux i386のバイナリを取ってきて、xreaのホームディレクトリで
展開すれば動くんですよね。スクリプトとして動作させようとすれば、
http://rpw3.org/hacks/lisp/
の
site-switch-script.lispを使う必要があるって事がめんどいだけなんです。ただし、
日本語の取扱いは期待できない処理系なんですがね。
また、clispはfast cgiに対応したパッケージも提供しているから、一応cgiを想定してい
るようです。4Mの空きメモリさえあれば動くからwebならclispが扱いやすいと考えてい
ますね。
0967デフォルトの名無しさん
2008/07/06(日) 23:50:49x86_64って作れたのか
0968デフォルトの名無しさん
2008/07/10(木) 13:15:52教えて頂けないでしょうか
具体的には
(setq a 'b b 'c c 'd)
この状態で、(s a)を実行後Aを評価するとcやdを返すようなマクロsを定義したい。
aとbを返す版は作れました
a版1:(defmacro s(x) (setq A x))
a版2:(defmacro s(x) `,(setq A x))
b版:(defmacro s(x) `(setq A ,x))
こんな感じのコードを試してみましたがcではなく、bや一部が評価された版が返ってきます
(defmacro s(x) `(setq A ,`,x))
(defmacro s(x) ``(setq A ,,x))
また、a版1とa版2は、実質全く同じものと思っていても良いでしょうか
0969デフォルトの名無しさん
2008/07/10(木) 14:14:44マクロは略記法を作ることしかできない。
まずマクロを使わない場合を考えろ。
場合によるがquoteではなくlambdaで包むのが正しいかもしれない。
(progn
(setq a (lambda () b))
(setq b (lambda () c))
(setq c (lambda () d))
(setq d 'd-value)
(and
(eq b (funcall a))
(eq c (funcall (funcall a)))
(eq d (funcall (funcall (funcall a))))))
0970デフォルトの名無しさん
2008/07/10(木) 14:18:15マクロはもしかすると自分が思っていたようなものとは少し違うのかもしれません
(setq a 'b b 'c c 'd)
;それぞれ、b,c,dが結果として返る
(defmacro s(x) `(setq A ,x))
(defmacro s(x) `(setq A (symbol-value ,x)))
(defmacro s(x) `(setq A (symbol-value (symbol-value ,x))))
(s a)
それと、すみません、xに束縛があったため、968の結果はバグってました。
a版1やa版2はそれぞれ「bが返る」、「xに束縛がないとエラー」、です。
0971デフォルトの名無しさん
2008/07/10(木) 14:24:42おお、レスがついてた、ありがとうございます。
>マクロは略記法を作ることしかできない
なるほど。
lamdaで包む方法なんて思いつきませんでした。
まだ慣れていないのでできるかはわからないですが
これを展開形として、マクロ化できるか、練習として考えてみます。
0972デフォルトの名無しさん
2008/07/10(木) 14:53:22関数そのままに、こんな感じになりました。
(setq a (lambda () b)
b (lambda () c)
c (lambda () d)
d 'dvalue)
(defmacro s1(x) `(funcall ,x))
(defmacro s2(x) `(funcall (s1 ,x)))
(defmacro s3(x) `(funcall (s2 ,x)))
(defun f1(x) (funcall x))
(defun f2(x) (funcall (f1 x)))
(defun f3(x) (funcall (f2 x)))
(s3 a)
(f3 a)
ちょっとした違いというか
マクロ版は、funcallでは呼び出せないんですね
0973デフォルトの名無しさん
2008/07/10(木) 20:54:45WinXPSP3で使っています。
rename-fileを使って連番ファイルを日本語名に一括して変換したいと思ってます。
xyzzyではできていました。
日本語文字列をファイルに出力することはできているので、
元々ファイル名では日本語に対応してないと考えるべきでしょうか?
clisp+emacs+slime+ltkの導入だけで3日かかりました。
ググったり、Webarchivesからサルベージしてもまとまったインストールの解説ってないものですね。
この苦労はLisp始めようしたら必ず通る道なんでしょうか?
それともWinだから?
0974デフォルトの名無しさん
2008/07/10(木) 22:21:57utf8の日本語名なら使えるよ。(ubuntuのclispで確認。)
でもね。。。日本語ファイル名は基本的に避けた方がいいよ。
0975デフォルトの名無しさん
2008/07/10(木) 22:25:00OSによって導入格差はあるよ。
たとえば、
carbonemacsなんて標準でslimeが付いてくるくらいなのでsbclを本家から取ってきてinstall.shを
実行して、すこしslimeようの記述を.emacsにすればおしまいだけどね。
windowsは.emacsの設定からちょっと悩むところがあるかもしれない。インストールログを
公開しておくと後々に自身も含めてみんな助かるよ。
0976973
2008/07/10(木) 23:35:11>>974
xyzzyでutf8のファイル(ファイル名は英語)を作って読み込ませたところ、
これは Invalid multibyte or wide character で読めなかったです。
Clispは2.46を使ってます。
日本語の扱いは難しい…
日本語ファイル名はやめた方がいいかもですね。
でも、もうちょっと色々やってみます。
>>975
うわ格差かぁ…
インストールメモを忘れないうちに書いておきます。
.emacsのslime設定もネットのをコピペして、ディレクトリパスを書き換えだけでは動かず、
エラー部分をコメントアウトしながらslimeが動くようにしてます。
コメントアウトした部分は必要になるかもと思うと消せませんし。
動いてるからいいよねって、手探り状態です。
0977デフォルトの名無しさん
2008/07/10(木) 23:47:58私もWindows環境でCLISP+Emacs+SLIMEを導入するのにかなり手こずりました。(´・ω・`)
CLISPの最近のverではSLIMEがうまく起動せず、古いverをいろいろ試して、
clisp-2.41-win32-with-readline-and-gettext.zip というやつでやっとエラーが出ずにSLIMEが動きました。
0978デフォルトの名無しさん
2008/07/10(木) 23:52:23すればいいんじゃね?でも二バイト目問題で完全サポートは無理っぽい?
http://lispuser.net/commonlisp/clisp.html#sec-14
0979デフォルトの名無しさん
2008/07/11(金) 05:52:22うん。windowsでの大きな違いがパス表現なのね。これが一番凶悪。
日本語にこだわらなければ学習目的ならば商用系が比較的楽なんだけどね。
slimeからaclを使うって方法もあるけど、この情報もあまり整備されてないね。
いずれにしてもwindowerさんたちがlispを始めるときはxyzzy以外はどこかに
帯に短し襷に長しを経験していると思うかな。他から始める人よりヘトヘトに
なってから始めることになる。
本格的にlispを使おうと思うならば、将来的にlinuxへの移行も検討したほうが
何かと楽になりますね。
0980デフォルトの名無しさん
2008/07/11(金) 08:52:260981デフォルトの名無しさん
2008/07/11(金) 09:48:17Linux使いの俺が言うのも何だが、
Linuxをインストールする前に、まずはvmplayerをお勧めします。
あっという間に試せます。
http://itpro.nikkeibp.co.jp/article/COLUMN/20080519/302665/
0982デフォルトの名無しさん
2008/07/11(金) 13:40:180983デフォルトの名無しさん
2008/07/11(金) 23:43:56バージョンの違いって影響しますね。
私はltkがActiveTcl8.5では動かず、ググったりドキュメントを読みながら
ActiveTcl8.4を使うことに行き着いてやっと動かすことができました。
>>978
*pathname-encoding*は既に
#<ENCODING "CP932" :DOS>
と設定されてました。
*terminal-encoding*も同様でした。
UTF-8を試してみたいけど、マニュアルに設定はconfig.lispを書いて、
memory_imageを作りなおせってあるが、せっかく動いてるのに怖くて出来ないorz
そもそもconfig.lispにどう書いたらいいかも分かってませんし。
>>979
ええ、ヘトヘトです。しかもまだ始まってもないような…
でもLISPとEmacsについて調べてたらxyzzyが分かってきて、楽しいです。
>>980
slimeの設定を探してた時、このスレの>>108でlispboxは知ったんですけど、
もう意地になって一つずつインストールしてました。
>>981
LinuxはDebianで一度挫折してます。
メモリ512MBのPCなんで仮装マシンは無理だと考えてました。
その記事によると使えそうですし、vmplayer+ubuntuで遊んでみようかな。
0984デフォルトの名無しさん
2008/07/12(土) 09:33:47lispを触ってみたい入門者のQ&A
初心者の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)
(url http://pc11.2ch.net/test/read.cgi/tech/1201402366/l50 :part 4))
0985デフォルトの名無しさん
2008/07/12(土) 11:50:59ついでにスレタイ【気持ち悪い】から
「Common Lisp質問スレその5」がいいのでは。
ま、ゆっくり立てていってね!!!>>990
0986デフォルトの名無しさん
2008/07/12(土) 12:41:300987デフォルトの名無しさん
2008/07/12(土) 12:44:04レス数が950を超えています。1000を超えると書き込みができなくなります。