(make-thread :name c ..
287:デフォルトの名無しさん
08/08/06 18:08:10
>>285
できました。
ありがとうございます!!!
やっぱり英語はできないと苦労します・・・・0rz
288:287
08/08/06 18:17:09
あっつ私にも
>>281
と同じ感じの事がおこりました。
250さんとあわせて回答お願いします。
289:デフォルトの名無しさん
08/08/06 22:54:05
回避方法は色々あると思うけど、
URLリンク(lispuser.net)
を参照して専用のイメージを作ってみるというのはどうだろう。
290:デフォルトの名無しさん
08/08/07 11:09:29
clisp はスクリプトを実行するとき(repl を起動しないとき)は .clisprc を読み込まないよ。
URLリンク(clisp.cons.org)
>>289 の言うようにメモリイメージを作っておくのがいいんじゃないかな。
291:287
08/08/07 12:40:36
>>289
参照するのはCLISP 用コアファイルのビルドスクリプトという所でしょうか?
292:287
08/08/07 13:02:23
URLリンク(d.hatena.ne.jp)
を参考にして
clispで基本ファイルをロードした状態でメモリイメージを保存し
ファイルの先頭に
#!/opt/local/bin/clisp -norc -M clispinit.mem
した所無事にスタンドアローンに実行できました。
これでも良いのでしょうか?
293:287
08/08/07 14:21:14
いちおうできましたが
-M で指定する際に
/User/hoge/clispinit.memと絶対ディレクトリで呼び出しているのですが
こうするとそのようなファイルは有りませんとシステムから
opt/local/lib/clisp-2.43/base/lisp.run: operating system error during load of initialization file `/User/hoge/clispinit.mem'
[spvw_memfile.d:927] errno = ENOENT: No such file or directory.
という怪しいエラーが出てしまいます。
よろしくお願いします
294:デフォルトの名無しさん
08/08/07 16:09:28
サイトのリンク集に入れたいのですが
URLリンク(wiki.fdiary.net)はFrontPageと言うサイト名でしょうか?
295:デフォルトの名無しさん
08/08/07 16:11:05
>>294
lisp's wiki
296:デフォルトの名無しさん
08/08/07 16:16:16
素早い返事ありがとうございます。
297:デフォルトの名無しさん
08/08/07 16:22:41
>>293
/User/→/Users/ってヲチじゃないでしょうね。
>>282
> 環境はMacOSX10.5です。
298:293
08/08/07 16:39:08
できました。
恥ずかしい・・・・orz
299:デフォルトの名無しさん
08/08/07 18:00:18
CommonLispにはPerlやRubyのような
www::mechanizeのようなブラウザの動作をエミュレートするような
ライブラリは無いでしょうか
300:デフォルトの名無しさん
08/08/07 18:06:01
URLリンク(www.cliki.net)
301:デフォルトの名無しさん
08/08/07 20:05:32
clnuplotの使い方がわかりません
(clnuplot:write-plot
(clnuplot:make-plot
:lines-points
'((1 2) (2 2.5) (3 3.1) (4 3.4) (5 4.2))
:pointsize 2.0
:linewidth 3.0
:filename "simple-example"
:xlabel "Bin Number"
:ylabel "Dance Partners"
:x-coord #'first
:y-coord #'second
:title "Bin Number versus Dance Partners"
:ymin 0.0)
:pdf)
を実行してみても
*** - FUNCALL: undefined function PATHNAME-NAME+TYPE
The following restarts are available:
USE-VALUE :R1 You may input a value to be used instead of (FDEFINITION 'PATHNAME-NAME+TYPE).
RETRY :R2 Retry
STORE-VALUE :R3 You may input a new value for (FDEFINITION 'PATHNAME-NAME+TYPE).
ABORT :R4 ABORT
と言うエラーが出てしまいます。
clnuplotは参考サイトが極端に少ないのでよろしくお願いします。
302:デフォルトの名無しさん
08/08/07 22:45:22
>>301
clnuplotダウンロードしてみたけど、その関数は別のライブラリで定義されてるみたいだよ。
cl-containers,cl-mathstats,metabang-bind,trivial-shell が全部いると思う(clnuplot.asdより)。
ちゃんと入れてるなら他が原因かも。
303:デフォルトの名無しさん
08/08/07 23:22:28
わざわざダウンロードして頂いたなんてありがとうございます。
入っていますね・・・・・・
ロードするときは(asdf:oos 'asdf:load-op :clnuplot)
だけで良いのでしょうか
304:デフォルトの名無しさん
08/08/07 23:36:59
URLリンク(up2.viploader.net)
305:303
08/08/08 12:44:35
ちょ>>304が書かれてから急に進展しなくなった
306:デフォルトの名無しさん
08/08/08 13:05:03
いやあまりにも教えてちゃんだからw
307:303
08/08/08 13:23:39
すいませんでした。
他の方の環境の方では無事に動作しているようなので私の
システムに何か問題が有るかもしれないのであきらめます。
ありがとうございました。
308:デフォルトの名無しさん
08/08/08 15:57:23
漏れも追試してみたけど、
(asdf-install :clnuplot)
だけでインストールできたよ。
ただ、自分が使ってる環境を調べて、きちんと設定しないと、上手く動かないっぽい。
309:デフォルトの名無しさん
08/08/08 16:08:59
asdf-install:installだった
310:303
08/08/08 16:19:01
>>308-309
有用な情報ありがとうございます。
>自分が使ってる環境を調べて、きちんと設定しないと
これはclnuplotを設定するという事ですか?
それともasdf-installについてという事でしょうか?
よろしくおねがいします。
311:デフォルトの名無しさん
08/08/08 17:02:26
>clnuplotを設定するという事
です。
asdf-installがちゃんと動いていれば、インストールだけは簡単。
あきらめたそうなので無駄な話だったけど。
312:303
08/08/08 17:06:26
いや、あきらめる事でこのスレの皆さんのお目汚しに成らないのなら
とおもったので。
clnuplotを設定するという事ですか、その情報はどこでお知りになりましたか?
もしよろしければお教え願います。
313:デフォルトの名無しさん
08/08/08 17:44:40
次は「どうしてそれを調べようと思いましたか?」かな?
314:303
08/08/08 17:54:21
>>313
いえいえ、スレ汚しに成っているようですね。
やはりあきらめるしかないですね
googleでも全く引っかからないので
ありがとうございました。
315:デフォルトの名無しさん
08/08/08 19:20:12
なんか難しいもののような誤解を与えてしまったようだけど、
clnuplotの設定というのは、呼び出すgnuplotの場所等を
大域変数で持っているので、それを環境に応じて変更しないとね、という
くらいのものです。
その情報はソースに書いてありました。
というか、これは、ドキュメントが少ないので、導入の敷居は高いかも。
316:303
08/08/08 22:11:09
>>315
よくわかりました。
おつきあいいただき本当に感謝しています。
ありがとうございました。
317:デフォルトの名無しさん
08/08/09 00:38:38
わからない五大理由
1 読まない
2 調べない
3 試さない
4 理解力が足りない
5 人を利用することしか頭にない
318:デフォルトの名無しさん
08/08/09 00:57:51
>>317
Lisp に限らず、最悪の場合ソース読めってのは今でも変わってないから、
基本的には賛成なんだが………
とことん初学者の場合、どっから調べていいかわからない場合も多々ある。
Unix で man よめって言われても, 「man って何」くらいは教えてもらわないと、
なすすべがない。 実際、俺も Unix 触り始めたときそんな状況だった。
Lisp 系言語の場合、「man 読め」以前のドキュメントが少なすぎるのも事実
打と思うんだが…
319:デフォルトの名無しさん
08/08/09 01:27:40
6 言われたことは試さず、質問を返す
320:デフォルトの名無しさん
08/08/09 01:57:09
あんまりいじめるな
といいつつ
7 切羽詰まってパニックを起こしてから質問
321:デフォルトの名無しさん
08/08/09 06:36:23
>>317,319,320
,性格の悪いことばかり言わない。なんだか陰気なのよね。雰囲気悪くなるから、
スルーしてくれたら助かる。
322:デフォルトの名無しさん
08/08/09 10:13:03
>>318
そこでコンソールからmanと打ち込んでみるのが好奇心だと思うのよね。
323:デフォルトの名無しさん
08/08/09 13:48:07
>>321
> スルーしてくれたら助かる。
誰が何をスルーしたら誰が助かるんだ?
「こういうの俺が嫌だから黙れ」って方がよっぽどネチネチ感漂ってるけどな。
324:デフォルトの名無しさん
08/08/09 13:51:56
>>321
そんなこと書くより、雰囲気の悪いレスはスルーして、自分が雰囲気の良いレス
をするほうが効果的だと思うよ。お互い、芸風の合わない人はスルーで良かろう。w
325:デフォルトの名無しさん
08/08/09 14:56:42
>>321
スルーしてくれよ。
326:デフォルトの名無しさん
08/08/09 17:57:20
>>316
なんだか嫌味を言う連中もいるようだが、気にせずに気楽に書き込んでください。
一部の連中を懸念してるが、
嫌味っぽくなると初心者さんたちは何も聞けなくなるのではないか?ということだ。
嫌味ったらしい事を言う背景には単なる初心者いじめではなくて、
ストレス発散に使ってる印象もある。common lispの立場をよく考えてもらいたい。
一人でもどんな初心者でも馴染めるように支援していきたいからね。甘えん坊の初心者
だろうが跳ねっ返りだろうが関係ないどちらも大切だ。
LL系のようにほっといても初心者が使いにくる言語なら嫌味を言う連中は勝手に言っとれ
だが、common lispの状況は死活問題だよ。状況を踏まえて欲しいのだ。独学でcommon
lispを学べる人ってそんなにいないでしょ?
一部の連中には自ら首を閉めるようなおろかな事をしないでくれといいたいのだ。
327:デフォルトの名無しさん
08/08/09 17:58:03
>>318
> Unix で man よめって言われても, 「man って何」くらいは教えてもらわないと、
> なすすべがない。 実際、俺も Unix 触り始めたときそんな状況だった。
ググりもしないのに質問とな(AAry
man 読む unix に一致する日本語のページ 約 212,000 件
man 使い方 に一致する日本語のページ 約 1,040,000 件 関連検索: linux man 使い方
328:デフォルトの名無しさん
08/08/09 18:04:10
>>327
SunOS-3.5 って知ってる? 当時 Sun3 にのってた OS のバージョンなんだが
ググる? UUCP でバケツリレーやってるときに google なんかねぇよw
329:デフォルトの名無しさん
08/08/09 18:14:37
まあ、初心者への説教は、Common Lispしらなくてもできるし、
どうしても、書き込みの量が増えるんじゃない?
自転車置場の議論とかそういうのと一緒で。
どっちかっていうとCommon Lispの情報が少しでも増えるような記述がありがたいね。
330:デフォルトの名無しさん
08/08/09 18:15:16
マニュアル読めよ馬鹿が
331:デフォルトの名無しさん
08/08/09 18:58:25
>>330
ハードとかOSのインストールマニュアルは手元にあったが、off-line の man pages は
新幹線で 3時間ほどかかる本社にしか存在していなかった。
言いたいことは分かるんだが、何でもググれじゃ話が進まない場合もあるってことで…
332:デフォルトの名無しさん
08/08/09 21:43:07
>>329
それって、本当に害人だ。<common lispは知らないが説教だけする。
答えが得られる保証はないが、分からないことがあれば気軽に聞いてください。<初心者
333:デフォルトの名無しさん
08/08/09 21:56:52
clnuplotのインストール方法を一から教えてください。
334:デフォルトの名無しさん
08/08/09 22:24:30
>>333
恐らく元質問の人とは別の人だと思うんだけど、
>>311にも書いたとおり、asdf-installさえ動作していれば、
replに
(asdf-install:install :clnuplot)
とタイプするだけでおk
そして、環境によってちょっと設定する必要あり。
335:デフォルトの名無しさん
08/08/09 22:37:56
>>331
だからなに?
そんな時代じゃねーだろ?
336:デフォルトの名無しさん
08/08/09 23:56:07
>>331
こういう年だけ食ってる初心者が一番手に負えないというか害悪だな。
337:デフォルトの名無しさん
08/08/10 01:05:05
「そう言ってるおまえらは初心者のために何かしてるのか」って、
聞かれてるんだと思うんだが?
338:デフォルトの名無しさん
08/08/10 01:18:45
ここって初心者のために何かするためのスレだっけか?
339:デフォルトの名無しさん
08/08/10 01:36:05
>>1にはそれっぽい雰囲気はあるな
340:デフォルトの名無しさん
08/08/10 01:45:28
>>334
それはもう読んだよ。環境によって何をすればいいの?
341:デフォルトの名無しさん
08/08/10 02:03:27
>>337
あのさー
どの世界でも「初心者に厳しく」は常識なんだよ
やさしくするのは入門させるための建前
342:デフォルトの名無しさん
08/08/10 02:14:54
初心者に優しくしても「入門した気になった(でも一人じゃ何もできない)」
って人が増えるだけかも。厳しくしたほうが良い子に育つこともある。
343:デフォルトの名無しさん
08/08/10 02:50:44
>>326みたいなアホからゆとり教育が生まれるんだな。
344:デフォルトの名無しさん
08/08/10 07:34:32
こういうところでゆとり教育のせいにする人って必ずでてくるけど
あれも仕様はそれなりに評価できるし、タコな環境にグダグダの実装でこうなっちゃったんだよなぁ
345:デフォルトの名無しさん
08/08/10 07:40:48
>>344
初期の環境の状況は影響でるね。ubuntuでのcommon llisp環境導入のように
クリック一発ならば大丈夫だが、windowsでのlisp環境はかなり悪いからね。
windowsメインで利用するようなlispハッカーはいないから整備は進まない罠。
macosxへのインストールも難しくはないが、windowsだけはね。だめだね。
346:デフォルトの名無しさん
08/08/10 08:05:38
>>342
私としては方針は決まってるが、無条件に厳しくあたるというのは教える側の思考停止状態
を表している半面、無条件に優しくするのは依存性を高める危険がある。これは極当たり前
の事。そこにはトレードオフがあるし、状況判断ができなければ育つものを枯れさせてしまう
だけだ。
匿名だから分かりにくいが、情けは人の為のあらず。
2ちゃんでこのことわざが意味するところは、違った新しいことを始めたときにアドバイスをもら
う場面に役立つことだと思う。すべての面で自分で調べて、自分で考えて、悩んだ末で教えて
もらうと言う判断を出来てるような自分への厳しい心を持ってる人間はわずかだと思う。それを
踏まえた上で、利用していればいいのではないか。ubuntuではないが助け合いの精神は持っ
ておいた方がいいと思うね。
>>340
僕はそのパッケージを利用したことがないから分からないけど、環境によって何をすればい
い?と聞くならば、あなたの利用している環境をちゃんと書いてみないとより具体的なコメント
は期待出来ない。つまり、どこまで本気に導入を試みてわからないのか聞いてるの
だ。環境が分からないままでいろんな事を想定して、そのすべてを答えるような人がでて
くることは期待できないぞ。
聞き方や聞くタイミングで少々気になったが、導入を本気で試みているより、住民を試してい
るような印象をもったことかな。evilじゃなくて純粋に聞いてるなら気にならないが。
Don't be evil.
347:デフォルトの名無しさん
08/08/10 08:57:03
お前2chは初めてか?力抜けよ
348:デフォルトの名無しさん
08/08/10 12:33:46
「情けは人の為ならず」だね。
>>346はふつーにいい人すぐるが、煽られまくって変な反動が起きませんように。
349:デフォルトの名無しさん
08/08/10 15:40:56
>>346
なげーよw
350:デフォルトの名無しさん
08/08/10 15:51:18
CLtLかよ
351:デフォルトの名無しさん
08/08/10 22:10:16
ecl 0.9l入れてみた。
明らかにメモリ利用効率良くなってておーって思ったんだけど
REPL起動したときのバージョン表示が良く見たら0.9iのままで
なんというかポルナレフ状態
352:デフォルトの名無しさん
08/08/10 23:24:02
うちは、ちゃんと0.9lって表示になってるなあ
353:デフォルトの名無しさん
08/08/11 00:58:17
lispでGUI使ったりした普通のそソフトとととこにつくたことあることきょしぃこと
354:デフォルトの名無しさん
08/08/11 23:55:35
>>351
Windows用(MSVC用)のmakefile中のバージョンが0.9iになってた。
>>353
英語でOK
355:デフォルトの名無しさん
08/08/12 20:08:48
Lispで、秀丸みたいなGUIのエディタとか作れるものでしょうか?
できるとしたらお勧めの処理系とかありますでしょうか?
356:デフォルトの名無しさん
08/08/12 20:41:57
エディタを新しく作るより前に既存のものに貢献してほしいな。
Emacsとか、Windowsならxyzzyとか。
処理系が自分で選べないならまだ自作ははやいと思う。
CLISPでWin32 APIをFFIで呼ぶか、ECLとCで作るか、どっちにしても
秀丸みたいなエディタを作ろうとすると、Cでエディタが作れるくらいの知識が居る。
LispWorksのエディタクラスなら10行くらいでEmacsライクだけど
日本語のサポートはまだ弱いし。
357:デフォルトの名無しさん
08/08/12 20:50:37
>>356
それに関して思い出したので、私も質問させて下さい。
>CLISPでWin32 APIをFFIで呼ぶか、
の所なのですが、私はMacOSX環境なのでWin32を使う事ができないのですが
MacOSX環境でCLISPから呼び出せるものを教えて頂けないでしょうか
358:デフォルトの名無しさん
08/08/12 20:58:47
は?
359:デフォルトの名無しさん
08/08/12 21:06:47
俺は使ったことがないので詳しくは知らないけど、OSXならMcCLIMが使えるんじゃなかったっけ?
Climacsという、CLIM上で実装されたEmacsライクなエディタがあるから、参考になるかもしれない。
URLリンク(common-lisp.net)
360:359
08/08/12 21:09:47
なんか俺のレスも迷走してるな。すみません、無視してください。('A`)
361:357
08/08/12 21:36:21
GUIの説明が出る際に毎回win32 APIとwinodows環境を基本と
したレスばかりなのですが家にはUNIXとMacOSXとLinuxしか無いのでwinodowsは
触った事も有りません。
そのためどのような環境がUNIX系では使えるのかを教えて頂きたかったのです。
362:デフォルトの名無しさん
08/08/12 21:46:49
OpenMCLからCocoaを呼ぶのが良いんじゃないかな
363:デフォルトの名無しさん
08/08/12 21:50:13
煽りっぽいが一応マジレスしておこう。↓を調べてみたらどうだろう。
LTK(Tcl/Tk)、CLX(X)、CL-OPENGL(OpenGL)、CL-SDL(SDL)
あとはGTKとソケットで通信するやつとかはタフだったな。
364:357
08/08/12 22:06:02
>>362-363
ありがとうございます。
煽りでは有りません、マジレスありがとうございます。
調べてみます。その中ではどれがあなたのおすすめですかね?
ブラウザとか作りたいのですが
365:デフォルトの名無しさん
08/08/12 23:26:28
>>364
362-363じゃないけど
WEBブラウザ作るのならCL-OPENGLとCL-SDLは外した方がいい、あとLTKは向かなそう
X11ならCLXを選択するのが良いのかもしれないが化粧をさせたいならGTK経由が好いと思うが自分はさわったことないのでワカリマセン。
Webじゃなくグラフィックスのブラウズとかって意味だったらGLやSDLの方が扱いは簡単かも。
というか>>363が書いてくれたGUI関係のライブラリの元が(文中の括弧内のもの)どんなものなのか調べれば自分で選択できると思う。
366:デフォルトの名無しさん
08/08/13 00:21:47
>>357
とりあえず、使ってるOSのフレームワークのことも知らない位なら、
既存のブラウザコンポーネント使って、独自UIを被せる位にしといた方がいいぞ。
GeckoとかKHTMLとか。MacならWebKitとかなのかな。
あまり知識のない状態で、下手に人気のある物作っちゃうと、
特にブラウザとかはセキュリティホールとかが恐すぎる。
単に知的好奇心を満たすため、とかなら大いに応援するんだけど。
367:357
08/08/13 00:42:13
>>366
一応Cocoa-Rubyなどでばりばり動くブラウザやテキストエディタ、グラフ作成ソフト
などを作った事は有ります。
ですが、Lispでやってみたかったのです。Lispは一番好きな言語ですから。
何しろ調べてやってみる事にします。ありがとうございます。
368:デフォルトの名無しさん
08/08/13 01:08:59
>>367
そういう経験があるなら、使ってる処理系のFFIの仕様とか、
それぞれのツールキットの特徴とか、事前に知らずにはいても、
ある程度、調べて把握することくらいはできそうだけどなー。
とはいえ、そちらの詳しい事情は興味無いからこれ以上詮索はしない。
URLリンク(clisp.cons.org)
URLリンク(www.cliki.net)
URLリンク(www.cliki.net)
369:デフォルトの名無しさん
08/08/14 15:32:33
>>367
どこかわすれたけど、OpenMCL(Clozure CL)でワープロを作って公開しているところ
があるよ。MacでGUIならOpenMCLをお勧めするよ。
GUI関連のサンプルもついているし。
370:250
08/08/17 16:38:13
Allegro Common LispのGUIのプログラミングがまったくわかりません
みなさんはどうやって覚えましたか?
371:デフォルトの名無しさん
08/08/17 16:50:43
覚えてません
372:デフォルトの名無しさん
08/08/17 16:59:02
>>370
なんと言うか'覚えられません'だとLispと言うより
プログラミングについての話に成るような気がする。
やっぱり他の言語と同じようにサンプルコードとかを読みながら
やるのが良いんじゃないかな?
373:370
08/08/17 17:31:57
言葉足らずですいません
Allegro Common LispでのGUIのサンプルコード自体が見つからなくて困っています
374:デフォルトの名無しさん
08/08/17 17:43:52
Graphicsアプリケーションかなあ
URLリンク(www.franz.com)
URLリンク(www.franz.com)
こんなのが見つかったけど・・・多分違うと思う
確かに情報が少ないね。Lisp系は情報が少ないからな・・
375:デフォルトの名無しさん
08/08/17 18:08:45
GUIの開発経験はどれくらいですか?MFCとかGTKあたり使ったことあります?
↓チュートリアルとリファレンスで経験者はなんとかするみたいですが。
URLリンク(jp.franz.com)
GUI開発未経験でイベント駆動型開発未経験とするとちょっと難しく感じるかもしれません。
376:250
08/08/17 19:29:39
レスしてくださった方ありがとうございます。
イベント駆動型はまだ未経験ですがチュートリアルやpdfを参考にしてがんばりたいと思います
377:デフォルトの名無しさん
08/08/17 19:33:25
>>376
Lispあんまり詳しくないけどAllegroのアプリはそんなに面倒じゃなかったよ、例の学習者向けエディションでもちゃんとFormでポイポイつくれちゃうので拍子抜けした。(もちろんロジックは慣れないLispでちょっと苦労したけど)
自分の道具作るのに非常に慣れてきて個人で購入したいんだけど全部franz経由でしか買えないのかなぁ?
ショップ売り無いのだよね?
378:デフォルトの名無しさん
08/08/18 02:29:15
折角DSLが楽に作れる言語仕様なんだから
GUI構築用のDSL作ればいいのに
379:デフォルトの名無しさん
08/08/18 20:58:22
>>377
Freeエディションのヒープ制限がきつすぎてお試しにすらならんので、
安いなら買ってみようかと思ったんだけど、値段の情報を見つけられんかった。
個人には売る気無いのかな
franz経由っていくらでした?
380:デフォルトの名無しさん
08/08/18 21:25:38
>>379
4年前の価格だけど、一応参考までに。
> 717 名前:デフォルトの名無しさん:04/06/29 08:23
> 先日のFranzセミナーでもらった価格表によると…
>
> Windows/Linux/FreeBSD/MacOS X版
> Professional 750,000 (395,000)
> Enterprise 1,400,000 (795,000)
> Platinum 2,000,000 (895,000)
>
> UNIX (Sun, IBM, HP, Compaq)版
> Professional 1,300,000 (520,000)
> Enterprise 2,000,000 (1,040,000)
> Platinum 2,750,000 (1,200,000)
>
> …高い… orz
> 718 名前:717:04/06/29 08:24
> あ、括弧の中はアカデミック価格ね。
381:デフォルトの名無しさん
08/08/18 22:39:25
>>380
ありがとう。
ド、ドル?円だよね。あはh高い...唖然
382:デフォルトの名無しさん
08/08/19 02:06:45
>>380
それなら、放送大学に入って、student editionのほうがいいんじゃないか?
ドル建てで5万円ほどだったから
383:デフォルトの名無しさん
08/08/19 06:45:18
LISPですら自作できない無能にはちょうどいい値段
384:デフォルトの名無しさん
08/08/19 07:26:00
委員会で設計した言語が「まともな言語」で
独自に設計した言語はダメだと思ってるらしい。
だから、自作といっても与えられた仕様を満たすことしか考えられないわけだ。
385:デフォルトの名無しさん
08/08/19 09:29:57
↑マジで何を言いたいのか全然解らん、頭の悪い漏れの為に誰か解説してくれ
386:デフォルトの名無しさん
08/08/19 12:02:33
最も致命的なバグは数学で説明できないのだー
387:デフォルトの名無しさん
08/08/19 14:03:36
では算数で説明してくれ
388:デフォルトの名無しさん
08/08/19 18:28:02
損切りか塩漬けか
389:デフォルトの名無しさん
08/08/19 18:43:39
sbclでいいやん
390:デフォルトの名無しさん
08/08/19 22:20:08
sbclはmacだとthread使えないじゃん
clozure clに落ち着いたけど
比較するとallegroやっぱ爆速だな。貧乏人なのであきらめるしか
391:デフォルトの名無しさん
08/08/20 07:36:41
おれは社会人だから大学院に入りなおして学割でallegro買うぜ
392:デフォルトの名無しさん
08/08/20 16:05:24
貧乏人の味方Linux!!
393:デフォルトの名無しさん
08/08/21 02:14:31
そうかな。Linuxは機械を選ぶからなあ。
値段的コストから見れば貧乏人向けではあるが、
きちんと選ばないと逆に高く付いてしまう。
時給換算的に。
394:デフォルトの名無しさん
08/08/21 09:53:37
俺時給換算で最低時給未満の生産性しか無い人間ですから大丈夫ですよ
395:250
08/08/24 08:58:37
(defparameter *fn* (let ((count 0)) #'(lambda () (setf count (1+ count)))))
これはクロージャの効果で*fn*を呼び出すたびに無名関数内のcountの値が1ずつ増えていくのはわかるのですが
CL-USER> (funcall *fn*)
1
CL-USER> (funcall *fn*)
2
この無名関数の部分を普通の関数に置き換えて、処理自体は外に記述した場合もその関数はクロージャとして働いてくれるのですか?
実践Common Lisp66ページでのことです。Lisp始めたばかりで自分で試してみたくてもうまくいきません
396:デフォルトの名無しさん
08/08/24 09:29:20
クロージャはクロージャ、
クロージャ以外のものはクロージャではない。
397:デフォルトの名無しさん
08/08/24 09:38:40
>>395
こういう意味ならできる、が答かな。
CL-USER> (let ((count 0))
(defun count-up ()
(setf count (1+ count)))
(defun show-count ()
count))
CL-USER> (count-up)
1
CL-USER> (count-up)
2
398:250
08/08/24 12:32:30
CL-USER> (defun cplus () (setf count (1+ count)))
CPLUS
CL-USER> (defparameter *fn1* (let ((count 0)) #'cplus))
*FN1*
CL-USER> (funcall *fn1*)
; Evaluation aborted
すいませんどこがエラーになってしまったのでしょうか…
399:デフォルトの名無しさん
08/08/24 13:39:46
立派な仕様書があるから本なんて買わなくていいし質問に答えなくていい罠
400:デフォルトの名無しさん
08/08/24 14:21:12
(defmacro name (vars form &body body) ...)
てな, form を作りたいんですけど
form の評価結果が, vars で指定された書く変数に代入される
ような, 定型マクロってどっかに転がってませんか?
気持ちとして, やりたいことは
vars が '(a b c) で form が (1 2 3) を返す場合
`(let ,(mapcar #'fun ,vars ,,form) ;form の前の 「,,」 の気持を分かって
==> (let ((a 1) (b 2) (c 3)) ...
と, 展開したい
401:デフォルトの名無しさん
08/08/24 14:30:48
destructuring-bind?
402:デフォルトの名無しさん
08/08/24 14:31:37
>>400
destructuring-bindかな
こんな
(destructuring-bind (a b c) (list 1 2 3)
(+ a b c))
=>6
403:デフォルトの名無しさん
08/08/24 19:03:42
>>398 クロージャ理解の壁だね。やりたい事はわかるが、おしい。もう一歩。
ここで変数のスコープとかの理解が加われば先に勧めるよ。
クロージャは変数をキャプチャするが、それは「クロージャが作成された」環境の変数なんだ。
cplus が作成されたときに参照している count はグローバル環境の count で、let で作った束縛じゃない。
したがって、後から関数の外側で let で束縛を作っても意図した動作にはならない。
この場合は count がスペシャル変数としてグローバル環境に定義されていた場合はまた話が違うんだけどね…。
404:デフォルトの名無しさん
08/08/24 19:32:09
>>402 おぉ! そう言えばそんなもんがあった!ありがと
405:デフォルトの名無しさん
08/08/24 21:27:15
>>398
OK、>>403も指摘しているが、>>250が何かを分かっていないことは分かった。
多分、レキシカルスコープが文字通り、「字面どおりに動作する」、ように作られている、
ってのが分かっていないんだと思う。レキシカルスコープを理解するのが先で、
それを実現するためにクロージャーがある、と思えばいいと思う。
>>399
黒田さん乙。そんなことができる立派なエンジニアが、残念ながら少ない、
ということは無視しないでくれよ。
406:デフォルトの名無しさん
08/08/24 21:40:00
定義された時点でのスコープの定義を取り込むなんて
Cでいえば関数というより構造体みたいなイメージになってしまう
Body内を走査してbody内で見付からなければ環境から参照を取り込むみたいな
ますますよくわからなくなってくるわ
407:デフォルトの名無しさん
08/08/24 22:51:55
>>406
構造体というか、クラスとクロージャがよく似ている。
オブジェクト指向の変な例え話よりも、クロージャを理解するといいよ。
408:デフォルトの名無しさん
08/08/24 23:05:50
クロージャってどうやって勉強したらいいの?
掲示板やBlog以外で見たことないんだけど
情報学科だと常識?
409:デフォルトの名無しさん
08/08/24 23:06:19
はてブのSchemeタグからサルベージ
URLリンク(www.itmedia.co.jp)
shiroさんの書いたクロージャの説明記事。わかりやすいと思う。
410:デフォルトの名無しさん
08/08/24 23:19:30
>>408
簡単でいいんで、LispでLispを実装してみるとすぐ分かるかもね。
「環境」というとわからないけど、所詮はコンピューター上のものだから。
そもそも、ものすごく特殊な処理をしてる訳じゃないし。
411:デフォルトの名無しさん
08/08/24 23:30:05
LispをLispで実装とな!!
そんなのloopマクロをemacs lispで実装できる程度しかlispの経験ない俺には無理だ
hogehoge schemerシリーズ、HtDP、Practical Common lisp、sicp、OnLispを読み通してから頑張ります
412:デフォルトの名無しさん
08/08/25 00:49:36
>>409,410
ありがとうございます。
lispの勉強もしてみます
413:デフォルトの名無しさん
08/08/26 17:47:13
schemeのmatch-lambdaってCommonLispにないのかな?
414:デフォルトの名無しさん
08/08/26 23:20:42
CLiKiのlibrary-listを翻訳しているのですが
asdf-worldのregistries ("worlds")の部分がわかりません。worldsと言うのは
何かの用語でしょうか?
UNIXのmake worldの様に特殊な用法ですか?
よろしくお願いします。
415:デフォルトの名無しさん
08/08/27 06:01:06
"version controllable registries"の名前。
416:デフォルトの名無しさん
08/08/27 10:39:31
>>415
ありがとうございます。
417:デフォルトの名無しさん
08/08/27 17:51:14
使う場面が多かったので作ってみました。
roundの拡張で第二引数に四捨五入する桁を入力すると
その桁で四捨五入してくれます。
修正すべき所・つけるべき機能をご指摘願います。
(defun my-round (x y)
(cond ((<= y 0) (format t "*** - MY-ROUND: The second-paramerter must be more than 0 not ~A~%" y))
((= 1 y) (float (/ (round (* x 10)) 10)))
(t (float (/ (round (* x (expt 10 (1- y)))) (expt 10 (1- y)))))))
エラーメッセージの表示方法がわからなかったので手動で打ち込んだため
横に長いレスに成ってしまい申し訳有りません。
よろしくお願いします。
418:デフォルトの名無しさん
08/08/27 21:20:52
別にyは負数でもよくね?ってことで
(defun my-round2 (x y)
(float (* (round x #1=(expt 10 y)) #1#)))
(my-round2 95.6453 -3)
95.645
(my-round2 95.6453 -2)
95.65
あとCLに限らずroundは四捨五入とは違う(丁度真ん中は近い方の偶数になる)から
注意してね。
(round 2.5)
2
(round 2.6)
3
(round 3.5)
4
419:デフォルトの名無しさん
08/08/27 21:27:23
あと俺が題意を読み間違えてなければ>>417は*と/の位置とか
1-とか色々間違ってね? ということに今更試してみて気付いた。
420:デフォルトの名無しさん
08/08/27 22:05:01
あとroundは多値を返すからそれにあわせて多値を返すようにしてもいいかもね
421:デフォルトの名無しさん
08/08/27 23:02:03
>>419
clispでは正常に動作しているのですが・・
0.876を小数第二位で四捨五入する場合
(*0.876 10)=8.76
(round 8.76) => 9
(float (/ 9 10)) => 0.9
と言う順番という事なのですが
422:417
08/08/27 23:25:56
>>421了解
yは少数第y位だったんだな。
こっちのは正負が逆だ。たとえば100の位にまるめる場合
(my-round2 6543 2)
6500
小数第一位にまるめる場合
(my-round2 7.65 -1)
7.6
423:418
08/08/27 23:27:14
418だったorz
424:デフォルトの名無しさん
08/08/27 23:37:06
>>422-423
roundの問題を解決するため正確な四捨五入をする関数を作っています。
初心者が自力でがんばるチャンスだと思うので、諸先輩がたしばしお待ち頂けませんか?
自力でがんばる精神を鍛えたいので・・・よろしくお願いします。
425:デフォルトの名無しさん
08/08/28 00:26:27
;;小さい方の10の倍数に巻く
(defun role (x)
(let((p 1))
(loop (if (and (<= (expt 10 (1- p)) x) (< x (expt 10 p)))
(return (expt 10 (1- p))) (incf p 1)))))
;;正確な四捨五入の作成
(defun justice-round (x)
(let ((i (mod (* 10 (float (/ (truncate (* x 10)) 10))) (role (* 10 x))))
(l (float (/ (truncate (* x 10)) 10)))
(j (float (truncate (* x 10)))))
(cond ((< x 1) (if (<= 5 j)
(+ 1 (- l (/ j 10)))
(- l (/ j 10))))
((>= x 1) (if (<= 5 i)
(+ 1 (- l (/ i 10)))
(- l (/ i 10)))))))
こんな長い時間でこんな物しかできずすいません。
デバッグに予想外に時間がかかってしまったので。
一応
>(justice-round 0.99)
1.0
>(justice-round 0.33)
0.0
>(justice-round 1.99)
2.0
>(justice-round 1.34)
1.0
と一応正確に小数第一位で四捨五入できています。
426:デフォルトの名無しさん
08/08/28 00:29:29
気になる事があって確認してみたら
またデバッグが必要な事がわかりました。
がんばってきます。僕の事は気にせずお休みください(待ってないとは思いますが...)
夜型なので基本寝ませんので明日の朝には仕上げます。
ありがとうございました。
427:デフォルトの名無しさん
08/08/28 01:26:59
;;小さい方の10の倍数に巻く
(defun role (x)
(let((p 1))
(loop (if (and (<= (expt 10 (1- p)) x) (< x (expt 10 p)))
(return (expt 10 (1- p))) (incf p 1)))))
;;一桁目を取り出す
(defun get-one-figure (x)
(let ((i (truncate x)))
(if (> 0 i)
()
(loop (if (> 10 i) (return i) (setf i (rem i (role i))))))))
;;正確な四捨五入の作成
(defun justice-round (x)
(let ((i (get-one-figure (* 10 x)))
(l (float (/ (truncate (* x 10)) 10)))
(j (truncate (* x 10))))
(cond ((< x 1) (if (<= 5 j)
(+ 1 (- l (/ j 10)))
(- l (/ j 10))))
((>= x 1) (if (<= 5 i)
(+ 1 (- l (/ i 10)))
(- l (/ i 10)))))))
一応正確な四捨五入ができているようです。
数字の一桁目を正確に取り出す事ができていなかったのが問題のようでした。
それでは早速先ほどの望みの桁の四捨五入の関数の実装に使ってみます。
get-one-figureには見るからにwhenを使うべき場面が有るのでそれも修正してみます。
428:デフォルトの名無しさん
08/08/28 02:19:19
;;小さい方の10の倍数に巻く
(defun role (x)
(let((p 1))
(loop (if (and (<= (expt 10 (1- p)) x) (< x (expt 10 p)))
(return (expt 10 (1- p))) (incf p 1)))))
;;一桁目を取り出す
(defun get-one-figure (x)
(when (> x 0)
(if (< x 1)
(float 0)
(let ((i (truncate x)))
(loop (if (> 10 i) (return i) (setf i (rem i (role i)))))))))
;;正確な四捨五入の作成
(defun justice-round (x)
(let ((i (get-one-figure (* 10 x)))
(l (float (/ (truncate (* x 10)) 10)))
(j (truncate (* x 10))))
(cond ((< x 1) (if (<= 5 j)
(+ 1 (- l (/ j 10)))
(- l (/ j 10))))
((>= x 1) (if (<= 5 i)
(+ 1 (- l (/ i 10)))
(- l (/ i 10)))))))
;;望みの桁での四捨五入
(defun my-round (x y)
(cond ((<= y 0) (format t "*** - MY-ROUND: The second-paramerter must be more than 0 not ~A~%" y))
((= y 1) (values (justice-round x) (- x (justice-round x))))
(t (values (/ (justice-round (* x (expt 10 (1- y)))) (expt 10 (1- y))) (- x (/ (justice-round (* x (expt 10 (1- y)))) (expt 10 (1- y))))))))
429:デフォルトの名無しさん
08/08/28 02:21:33
これでおそらく完成です。問題点・改善点有りましたら、ご指摘願います。
作成する過程でvaluesの使い方やroundの問題点などをしれて非常に勉強に成りました。
では失礼します。
430:デフォルトの名無しさん
08/08/28 12:20:43
lisp以前の話だが四捨五入の基本的なアルゴリズム(0.5足してから切り捨て)は
知っておいてくれ。
(defun cut4 (v &optional (d 0))
(let* ((c (expt 10 d))
(a (float (* (floor (+ (/ v c) 0.5)) c))))
(values a (- v a))))
第2引数の意味は>>418と同じ。
(mapcar #'(lambda (d) (cut4 283.745 d)) '(-2 -1 0 1 2))
=> (283.75 283.7 284.0 280.0 300.0)
ついでに統計とか財務計算で四捨五入じゃなくてroundが使われるっていう理由も
知っておくと良いと思う。
431:429
08/08/28 12:29:26
なるほど、簡単にできたんですね・・・
わかりました。Lisp以前の問題なようなのでLispに挑戦するのは
まだ早いようですね、もう少し他の事を知ってからやってみたいと思います。
スレ汚しでした、すいません。
皆さん本当にありがとうございした。
432:デフォルトの名無しさん
08/08/28 13:16:13
SBCL 1.0.17.38を使っています
sbcl.infoの1.2 Extensionsに
*Recursive Event Loop*というノンブロッキングI/Oの機能があると書かれているので
使ってみたいと思うのですが、どうすれば使えるのか判りません。
src/code/serve-event.lispがあり、SB!IMPLというパッケージの中で
serve-eventという関数が定義されているようなのですが、
起動した状態では#'serve-eventはバインドされておらず、
(require 'SB-IMPL)としたり、(require 'serve-event)としたりしても
Don't know how to require ... といわれてしまいます。
どうしたらよいのでしょうか。
433:デフォルトの名無しさん
08/08/28 16:47:17
簡単な関数ならkmrclあたりにはいってたりしない?
434:デフォルトの名無しさん
08/08/28 21:39:54
>>429
lisp以前の話って言い方がアレだったんで補足すると、
プログラムに書き下す前のアルゴリズムを考える段階の話、って意味ね。
考えたアルゴリズムを書き下す為の言語として
Lispは悪くない選択肢だと思うので、どんどんLispでコードを
書くとよいと思うよ。
>>432
SB-IMPL::serve-eventかな。使い方は知らない。
URLリンク(common-lisp.net)
これが元ネタ?
435:429
08/08/28 22:54:23
>>434
ありがとうございます。
いつも書くときに直感で書いてデバッグをするタイプなので
アルゴリズムを考える段階が少ないようですね。
ありがとうございます。気をつけて書いてみたいと思います。
436:デフォルトの名無しさん
08/08/29 12:22:11
ポータブルに持ち運べるLispインタプリタ
はありませんか?仕事柄複数のパソコンを
行き来するので勝手にインストールのも
マナー違反ですしUSBメモリー等に入れて
使える物が欲しいです。MacとWindowsそれぞれについて
お教え下さい。
若しくはC言語等でインタプリタを書き、
その都度コンパイルするのがベストでしょうか?
437:デフォルトの名無しさん
08/08/29 12:40:47
勝手にインストールがマナー違反な環境なら
USB メモリを挿してあれこれするのもマナー違反だな多分
438:デフォルトの名無しさん
08/08/29 13:29:33
>>436
Mac OS Xは/Volume/ボリューム名/にマウントされるから、
./configure --prefix==/Volume/ボリューム名
でコンパイルすればOKでしょう。(ボリューム名はNO NAMEのままでもいい)
Microsoft Windowsは、差し込むごとにドライブ名が変るから、
その方法は使えないし、処理系を選ぶんじゃないだろうか。(良く知りません> Win)
439:デフォルトの名無しさん
08/08/29 17:33:01
>>436
聞かないでいれようとしたりUSBメモリを使おうとするからマナー違反でしょ。
USBメモリもデータ漏洩・ウイルス混入につながるから何も聞かずにやるのは
まずいことだよ。こっそりやるんじゃなくて、単刀直入に利用するPCの管理者
に許可をもらっといたら?
440:デフォルトの名無しさん
08/08/29 20:11:57
わざわざ持ち運ぶんじゃなくて
webから使える様にすればいいんじゃない?
441:429
08/08/29 20:39:38
ポータブルfirefoxと言う物を知ったので、そのような感じで
使える物が有ればと思っていました。ありがとうございました。
442:デフォルトの名無しさん
08/08/30 02:44:12
CLISPのロゴをじぶんで作ってみたのですが公開してしまって良いのでしょうか?
著作権などについて詳しくないのでよろしくお願いします。
443:デフォルトの名無しさん
08/08/30 02:48:01
おまえが作ったものなら、何をしようとおまえの勝手
444:デフォルトの名無しさん
08/08/30 02:57:23
ありがとうございます。
助かりました
445:デフォルトの名無しさん
08/08/30 11:30:10
>>442
"CLISP" 自体が登録商標ということはないので大丈夫。
一般に、登録商標になっているものの文字列が書かれているとかで
なければ大丈夫。
446:デフォルトの名無しさん
08/08/30 16:46:01
登録商標になっているものの文字列が書かれていても、それを自分の作ったものの
商品名にでもしない限り全く何も問題ない。
447:デフォルトの名無しさん
08/08/30 17:29:21
「実践Common Lisp」が出たわりには静かだなぁ。他の流行言語なら祭りになるのに・・・
448:デフォルトの名無しさん
08/08/30 17:31:00
みんな英語で読んでるから
449:デフォルトの名無しさん
08/08/30 23:55:17
>>447
そもそも流行言語じゃないしなwでもああいう良い本が日本語になるのは良いことだ。
英語版で分かってたつもりだけど、相当読み飛ばしてたことに気付いたw
450:デフォルトの名無しさん
08/08/31 19:56:17
>>449
おまえは俺か。日本語だと読むコストが低くていいよな。
脳味噌を英語に使わなくていい分、一週間で全部読めた。
451:デフォルトの名無しさん
08/08/31 23:30:35
面白いところは英語でも読むのに困らないが、退屈になってくるときいてくる
452:デフォルトの名無しさん
08/09/02 00:13:36
HyperSpecって勝手に翻訳していいのでしょうか?
それともどこかに許可を取るべきでしょうか?
453:デフォルトの名無しさん
08/09/02 00:19:21
過去ログをよく探してみた所翻訳は許可を取るべきな様ですね。
e-mailを送り質問してみたいので聞くべき事のリストなど有りましたら
よろしくお願いします。
454:デフォルトの名無しさん
08/09/02 13:02:02
OpenMCLはじめて使ってみたんだがEmacsの括弧対応になれてると
あのシンプルなIDEは使いづらいな
30行ぐらいの複雑な関数書いてるとなんだか分けわからなくなる
やっぱEmacsが一番なのだろうか?
455:デフォルトの名無しさん
08/09/02 15:04:17
シミュレート板のmaximaスレがなくなってしまったのですが
こちらに合流してもいいものなのでしょうか?
456:デフォルトの名無しさん
08/09/02 15:08:01
だめです
457:デフォルトの名無しさん
08/09/02 15:21:33
>>455
相応しい板にスレを建てるほうが良いだろう。
あくまで私見だけど、シミュレート板はあまり相応しいとは思わなかった。
458:デフォルトの名無しさん
08/09/02 16:33:22
>>455
【数式処理システム】 Maxima 【Common Lisp】
スレリンク(math板)
459:デフォルトの名無しさん
08/09/03 08:12:34
>>452
さらっとすげーこと書いてるな。あれすっごく厚いけど一人で全部やる気なの?
460:デフォルトの名無しさん
08/09/03 10:19:45
>>459
あくまで自由時間ぐらいですが、まだ学生なので自由時間がある程度有るので。
一応許可が取れたらwikiでもつくってばりばり翻訳して行きたいのですが
最初は自分でがんばって翻訳して行き、ある程度まとまったら
お知らせしますのでチェックして頂けると有りがたいです。
Introdunctionとかは長いんですよね。
functionとかは一日4ページぐらいはできそうなのですが
それよりも英語的な礼儀に自信が無いのでどのように書けば良いのかがわかりませんね...orz
丁寧なe-mailの文面どなたかお願いできないでしょうか?(いきなりお願いになるのですが)
HyperSpecのKent Pitmanという方に送ってみるのがベストでしょうか?
461:デフォルトの名無しさん
08/09/03 15:55:00
書きたいことをあるていど英語で書いてきたら添削するよ。
462:デフォルトの名無しさん
08/09/03 16:40:31
Hello,my name is hoge(私の名前).
I want to translate HyperSpec to Japanese.
Because HyperSpec is very inportant to develop CommonLisp program.
And Japane also has many developers of CommonLisp.
So Translate HyperSpec to Japanese is very important to Japanese CommonLisp programer.
ええとこの後に丁寧に
HyperSpecを翻訳する許可をいただけないでしょうか?
と言いたいのですが
よろしくお願いします。
他の怪しい点も指摘願います。
463:デフォルトの名無しさん
08/09/03 19:07:11
> inportant
464:デフォルトの名無しさん
08/09/03 19:23:03
>丁寧に
頭にPleaseつければおk
465:デフォルトの名無しさん
08/09/03 19:52:32
>>463
important ですねすいませんでした。
>>464
Pleas give me permission translation HyperSpec to Japanese
で良いでしょうか?
Hello,my name is hoge(私の名前).
I want to translate HyperSpec to Japanese.
Because HyperSpec is very inportant to develop CommonLisp program.
And Japane also has many developers of CommonLisp.
So Translate HyperSpec to Japanese is very important to Japanese CommonLisp programer.
Please give me permission to translation HyperSpec to Japanese.
がまとめでよろしいですか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4062日前に更新/237 KB
担当:undef