(make-thread :name common-lisp :part 5) at TECH
(make-thread :name common-lisp :part 5) - 暇つぶし2ch1:デフォルトの名無しさん
08/07/12 12:43:33



lispを触ってみたい入門者のQ&A
初心者のQ&A
本スレでは恥ずかしくて聞けない人のQ&A
本スレは高度すぎて割り込めない人のQ&A
linuxでなくてwindowsでやりたいんですが・・・Q&A
lispを使用してC#やJAVAの代替にするための方法(おまけ)

ま、ゆっくりたりましょう。

「いいものの本質は、いかなる時代においても変わらない」byパワーズ

(list
(url スレリンク(tech板)l50 :part 1)
(url URLリンク(pc11.2ch.net) :part 2)
(url URLリンク(pc11.2ch.net) :part 3)
(url スレリンク(tech板)l50 :part 4))

2:デフォルトの名無しさん
08/07/12 12:45:26
((お勧めの Common Lisp 処理系)
(SBCL: URLリンク(sbcl.sourceforge.net)
:プラットフォーム UNIX, Linux, Mac, Windows(移植中)
:開発 活発
:日本語 使える(UCS4, UTF8, EUC)
:特徴 一番お勧めのコンパイラ。)

(CLISP: URLリンク(clisp.cons.org)
:プラットフォーム UNIX, Linux, Mac, Windows
:開発 そこそこ活発
:日本語 使える
:特徴 バーチャルマシン。遅いがフットプリントが小さい。)

(CMUCL: URLリンク(www.cons.org)
:プラットフォーム UNIX, Linux, Mac
:開発 そこそこ活発
:日本語 使えない(回避法有り)
:特徴 高速コンパイラ。SBCL の元になった。)

(Clozure CL: URLリンク(openmcl.clozure.com)
:プラットフォーム PPC-Linux, Mac, x86_64-Linux と x86_64-FreeBSD に移植中
:開発 そこそこ活発
:日本語 使えない (pre ver 1.1なら多少扱える。)
:特徴 元々商用のコンパイラ。ネイティブスレッドが使える。))

3:デフォルトの名無しさん
08/07/12 12:46:04
((商用CL) ;;誰か補間よろ
(Allegro: URLリンク(jp.franz.com)
:プラットフォーム Windows ,Mac OS X , Freeを含む各種UNIX
:開発 ほとんど本陣
:日本語 使える(内部UTF16,外部 プラットフォーム毎)
:特徴 お高いがもっとも頼れる。申し込みが必要だがFree Express Editionあり )
(LispWorkss: URLリンク(www.lispworks.com)
:プラットフォーム Windows ,Mac OS X
:開発 半年にいっぺんくらいアップデート
:日本語 使えるみたい(完全に対応しているかはちとわかりかねまする)
:特徴 IDEベースです、フリー版はconsセルの上限が来るとダイアログがでてしまいます、SDLとかで遊ぶとすぐに引っかかります ))

((その他)
(ABCL: URLリンク(armedbear-j.sourceforge.net)
:特徴 JavaVM 上で動く。JavaVM のバイトコードを生成。)

(GCL: URLリンク(www.gnu.org)
:特徴 日本発 Kyoto Common Lisp の直系。)

(ECL: URLリンク(ecls.sourceforge.net)
:特徴 Lisp->C コンパイラ。組み込み可能らしい。こちらもKCLの系譜))

4:デフォルトの名無しさん
08/07/12 12:47:33
ANSI Commn Lisp 仕様関係
URLリンク(www.lisp.org)
URLリンク(www.cs.cmu.edu)
URLリンク(lispdoc.com)

日本語のチュートリアル
URLリンク(web.sfc.keio.ac.jp)
URLリンク(www.h7.dion.ne.jp)
URLリンク(www.geocities.jp)
URLリンク(home.soka.ac.jp)
URLリンク(www.haun.org)
URLリンク(wisdom.sakura.ne.jp)
URLリンク(www-kasm.nii.ac.jp)

5:デフォルトの名無しさん
08/07/12 12:57:16
進んだ話題が欲しい人に...
(和文)
URLリンク(www.geocities.co.jp)
URLリンク(www.geocities.co.jp)
URLリンク(lispuser.net)<)
URLリンク(www.cl-user.net)<)
URLリンク(planet.lisp.org)
URLリンク(groups.google.co.jp)
URLリンク(www.cliki.net)
URLリンク(cl-cookbook.sourceforge.net)
URLリンク(www.gigamonkeys.com)
( URLリンク(www.apress.com) よりpdf版が入手可能)
URLリンク(www.psg.com)
URLリンク(www.cs.cmu.edu)

その他の情報
URLリンク(ja.wikipedia.org)

6:デフォルトの名無しさん
08/07/12 12:59:00
((おまけの処理系
(POPLOG: URLリンク(www.cs.bham.ac.uk)
Lisp, Prolog, ML のコンパイラ)
(WCL: URLリンク(wcl.kontiki.com)
Shared Library として使える Lisp)
(Movitz: URLリンク(common-lisp.net)
フルスクラッチの Lisp OS)
(CADR LispM: URLリンク(www.heeltoe.com)
MIT で使われていた LispM のソースを公開したもの))

((その他のリンク
(lush: URLリンク(lush.sourceforge.net)
Lisp Universal Shell)
(Meme channels: URLリンク(meme.b9.com)
Lisp の IRC Log)
(Paul Graham の ANSI Common Lisp:
URLリンク(www.pearsoned.co.jp)
Common Lisp の 参考書を探しているならこれ一択))

7:デフォルトの名無しさん
08/07/12 17:17:57
テンプレ置き場
URLリンク(wiki.fdiary.net)

8:デフォルトの名無しさん
08/07/12 17:29:44
URLリンク(wiki.fdiary.net) ここはテンプレ置き場に急遽wikiを作った。
自由に編集してください。

id:guest password:cl

です。ブログを持っていないけどインストールログをメモして起きたいと
いう用途に使っていただいてもOKです。lispに関するものでしたら、ご自由に
ページを作成してください。

9:デフォルトの名無しさん
08/07/12 22:29:14
>>1
The variable COMMON-LISP is unbound.

10:デフォルトの名無しさん
08/07/12 22:37:13
>>9
失敗したが、そこはマクロを被したということでごまかしておく (^^〃)

11:デフォルトの名無しさん
08/07/14 09:00:54
>>10
どういうマクロ?

12:デフォルトの名無しさん
08/07/14 12:11:26
>>11
(defmacro make-thread (&key name part)
`(make-thread# :name ',name :part ,part))

13:デフォルトの名無しさん
08/07/15 12:14:59
整数のリストを渡すと任意の個数で合計が任意の数になるリストを
返してくれる関数を作りたいのですが、これを作成するには
OnLispの非決定性を導入するしか無いのでしょうか?
そこまでの力量が有る自信が無いので他に方法が有ればご教授願います。

14:デフォルトの名無しさん
08/07/15 14:39:06
は?

15:デフォルトの名無しさん
08/07/15 14:43:48
ナップザック問題でもやりたいのだろうとエスパー

16:デフォルトの名無しさん
08/07/15 14:46:21
どうでもいいが実践Common Lispはまだ発売せんのか?

17:デフォルトの名無しさん
08/07/15 15:32:57
>>14-15
すいません。
わかりづらい書き方をしてしまいました。
(numlist '(1 2 3 4 5) 2 7)
の様にすると
(3 4)または(2 5)と返してくれるような関数が作りたいのですが
どのようにすれば良いのかと思いまして。

18:デフォルトの名無しさん
08/07/15 16:28:13
漏れも、実践Common Lispの発売を待ち望んでいるが
クオリティを下げるくらいなら、若干の延期でも構わん。
ただ、延期のアナウンスだけはしてほしいな。

19:デフォルトの名無しさん
08/07/15 16:46:15
>>15
7/27(sun)にケテーイ

20:デフォルトの名無しさん
08/07/15 16:47:07
ずれたw
>>15>>16へのレス

21:デフォルトの名無しさん
08/07/15 16:54:06
>>19
どこで知った?

22:デフォルトの名無しさん
08/07/15 17:12:28
Amazonだと26日になってるね。

23:デフォルトの名無しさん
08/07/15 17:27:33
>>17
エスパるけど、
(namelist list size total)かな?

24:デフォルトの名無しさん
08/07/15 17:51:51
>>17
決して綺麗じゃないが
(defun @numlist@ (list size total return)
(if (eql size 1)
(let ((found (list (find total list))))
(and (car found) (append return found)))
(loop for ( i . j ) on list do
(let ((answer (@numlist@ j
(1- size)
(- total i)
(append return (list i)))))
(if answer (return answer))))))

(defun numlist (list size total)
(@numlist@ list size total nil))

25:デフォルトの名無しさん
08/07/15 18:29:10
似たようなのがいくつか本スレ辺りの過去ログにあったような気がする

26:デフォルトの名無しさん
08/07/15 19:02:27
>>23-24
ありがとうございます。有難いです。
OnLispを読んでいるのですが、そこの非決定性の章で
簡単に実装していたので非決定性を実装しなければ成らないかと
思っていたのですが、継続などにも自信が無いので何か方法がないかと 
思っていたのです。
ありがとうございました。
精進したいと思います。

27:デフォルトの名無しさん
08/07/15 23:22:39
そういえば実践common lispは2冊別々のがでるの?
たしか翻訳している人が二人いたよね。

28:デフォルトの名無しさん
08/07/15 23:39:06
共訳では?

29:デフォルトの名無しさん
08/07/15 23:40:40
おちつけ。まだ慌てるような時間じゃない。On Lispは一年以上待ったんだぜ。

30:デフォルトの名無しさん
08/07/16 13:43:31
>>27
Amazonで確かめれば分かるよ。


31:デフォルトの名無しさん
08/07/16 17:01:00
clisp処理系でfastcgiを使いたいんだが*feature*してもfastcgiが出てこない
この場合どうやってインストールすればいいのか誰か教えてください

32:デフォルトの名無しさん
08/07/16 19:06:19
>>25-26
このへんでSchemeで非決定性をやってるね。
スレリンク(tech板:1-110番)

Common Lispに直すのを簡単な練習問題と思ってやってみれば?
典型的な失敗例もあるしw

33:デフォルトの名無しさん
08/07/16 20:11:54
CommonLispでその言葉に何かが設定されているかどうか
を判断する関数は無いでしょうか?
>x としたときに何か値が返るか(nilも含む)

>x
*** - EVAL: variable AOIMONO has no value
と表示されてしまうかどうかを判断できるような関数は無いでしょうか?
よろしくお願いします。


34:33
08/07/16 20:12:41
AOIMONOは間違いです
*** - EVAL: variable X has no value
です
よろしくお願いします。

35:デフォルトの名無しさん
08/07/16 20:14:14
つ boundp

36:デフォルトの名無しさん
08/07/16 21:08:59
>>33
> CommonLispでその言葉に何かが設定されているかどうか
言葉→シンボル、設定→束縛、ね。
この辺の用語は、検索して何かを調べるときに結構大事だから、ちゃんと覚えておいたほうがいい。

37:デフォルトの名無しさん
08/07/16 22:53:39
slimeをインストールしようとしたら
1]> ;; Loading file /usr/share/common-lisp/source/slime/swank-loader.lisp ...
*** - READ from #<INPUT BUFFERED FILE-STREAM CHARACTER #P"/usr/share/common-lisp/source/slime/swank-loader.lisp" @134>: there is no package with name "CLC"
The following restarts are available:
ABORT :R1 Abort main loop
となってとまってしまいました.clispのversionは2.46です.
最新バージョンを自分でコンパイルして入れたらこうなってしまいました
どなたか助言を...

38:デフォルトの名無しさん
08/07/16 23:04:16
俺もUbuntuでSBCLの最新版を自分で入れてみたら同じエラー出たんで元に戻したよ。
素人なんで自重してパッケージになってるのを使う事にした。


39:37
08/07/16 23:12:50
すみません,自己解決しました.
なんかいじってたら動きましたw

40:38
08/07/16 23:41:30
ちょwwなにいじったか教えて!!

41:デフォルトの名無しさん
08/07/17 00:59:40
format 中で ")" を表示させたい場合どうすれば良いのでしょうか
よろしくお願いします

42:デフォルトの名無しさん
08/07/17 01:01:05
CL-USER> (format t ")")
)
NIL
CL-USER> (format t "\")\"")
")"
NIL


43:デフォルトの名無しさん
08/07/17 04:17:29
>>31
あなたのブログを発見してしまった。藁
漏れもclispのffiコンパイルの不具合はあってこまっとる。

44:デフォルトの名無しさん
08/07/17 14:12:32
CommonLispでは真の乱数を返す事はできないでしょうか
(random x)だと答えが疑似乱数なのでxの値が同じだと
同じ順番で回答がかえってきてしまいます。
これを完全にばらつきが有るようにするにはどうすれば良いのでしょうか
一つ思いついたのですが
(random ((car (multiple-value-list (get-decoded-time))))

とすれば秒を基本としているのである程度ばらつきが有ると思ったのですが
どうでしょうか?
よろしくお願いします。

45:デフォルトの名無しさん
08/07/17 17:09:40
どの言語でも真の乱数は返せないよ。返せるのは疑似乱数だけ。

(loop repeat (get-internal-run-time) do
(setf *random-state* (make-random-state t)))



46:デフォルトの名無しさん
08/07/17 17:50:36
/dev/(u)randomとかがある環境ならそれ開いて読み込めば。

47:デフォルトの名無しさん
08/07/17 19:46:11
ひさしぶりにLisp以外の(サンプル)プログラムを読んで、
Lispってわかりにくいな、と感じたのですが、
慣れれば他の言語と同じくらい読めますか?

48:デフォルトの名無しさん
08/07/17 21:35:01
>>47
僕は簡単に読めていますよ。
むしろJavaとかの方がごちゃごちゃしていて読みづらいと感じました。
ですが確かに適切なインデントのできていないソースコードは大変です。
ですが、それは他の言語も同様だと思います。


すいません
(setq x (read))
としてxにkotobaなどを代入したときに
xを使ってkotobaに値を代入する事はできないでしょうか

xに言葉を代入→代入された言葉に値を代入と言う作業をしたいのです。
(format t "言葉:")
(setq x (read)) ;;これでxに言葉が代入される。(例えばringo)
その後ringoにリストを代入したい場合
(setq x(ringoに置き換え) '(a b c))
とやってringo='(a b c)と成るようにできないでしょうか


49:デフォルトの名無しさん
08/07/17 22:00:32
(eval `(setq ,x '(a b c)))


50:デフォルトの名無しさん
08/07/17 22:06:46
(setq x 'ringo)
(setf (symbol-value x) '(a b c))

51:デフォルトの名無しさん
08/07/17 22:30:25
(setq x 'ringo)
(set x '(a b c))

52:48
08/07/17 23:46:08
>>49-51
ありがとうございます
参考にして
(defun make-group (x y)
(if (boundp x)
(setq x (append x y))
(progn (setq x nil) (setq x (append x y)))))

(format t "何か知りたいな:")
(setq kotoba (read))
(format t "それは何?:")
(setq group (read))
(eval `(make-group ,group '(,kotoba)))
とやってみたのですが
*** - EVAL: variable KUDAMONO has no value (group にはkudamonoを入れました)

と成ってしまいます。
どのようにすれば良いか教えて頂けないでしょうかよろしくお願いします。
行いたい処理はgroupに何か束縛されていればkotobaをリストに追加
束縛されていなければ普通に代入としたいのでmake-groupと言う関数を作ってみました。
よろしくお願いします。



53:デフォルトの名無しさん
08/07/18 00:08:00
何言ってるかわかんねえ。
仕様をもっと分かりやすく書いて。

54:デフォルトの名無しさん
08/07/18 00:19:38
>>48
君はJavaの方が向いている。
無理しなくておけ。


55:デフォルトの名無しさん
08/07/18 00:57:31
(setq table (make-hash-table))
(defun make-group (&aux kotoba group)
(format t "何か知りたいな:")
(force-output)
(setq kotoba (read))
(format t "それは何?:")
(force-output)
(setq group (read))
(let ((l (gethash group table)))
(setf (gethash group table) (cons kotoba l))))

> (make-group)
何か知りたいな:ringo
それは何?:kudamono
(ringo)
> (gethash 'kudamono table)
(ringo)
t

56:デフォルトの名無しさん
08/07/18 02:10:49
(defun make-group (x y)
(cond ((boundp x) (set x (append (eval x) y)))
(t (set x y))))
(format t "何か知りたいな:")
(setq kotoba (read))
(format t "それは何?:")
(setq group (read))
(make-group group (list kotoba))
(format t "group=~s~%" group)
(format t "evalgroup=~s~%" (eval group))
たぶんこんな感じのことがしたいのだと予想
どうでもいいけど関数(サブルーチン)の中で破壊的に書き換えするのは趣味じゃないなぁ
関数は値だけを返してメインでその値を使って代入なりなんなりする方がいいと思う

57:デフォルトの名無しさん
08/07/18 12:14:51
>>56
それならハッシュテーブルを複製してから書き換えれば元のデータが残る。
関数プログラミングはアロケーションが増える覚悟でやらないと。

58:52
08/07/18 17:27:56
すいません
まだ慣れていないものでどのように書けば
良いのか解らないもので
言葉を入力して貰いその言葉がどのような
集合に属するのか入力してもらい
集合が出来ていなかったら新たに作り
入力してもらった言葉を入れて
集合が出来ていたらリストの先頭に追加する
という処理をしたかったのです
Lispに慣れていないので、手続き型言語脳で
プログラムを書いてしまうのですが
どのようにするのがベストでしょうか?
よろしくお願いします。

59:デフォルトの名無しさん
08/07/18 18:46:40
何がしたいのかより、なぜやりたいのかを教えてもらった方がエスパーしやすいかもしらんね

60:デフォルトの名無しさん
08/07/18 19:31:24
>>52
メインでgroupdataって変数を作ってそこにgroupとkotobaの連想リストをつっこんでみた
(defun make-group1 (x y)
(setq groupdata (acons x (cons y (cdr (assoc x groupdata))) groupdata))
)
(setq groupdata nil)
(make-group1 group kotoba)
でもこれだとgroupdataを別の名前にしたらサブルーチンも書き直さなきゃならいよね
て訳で変数の書き換えはメインにまかすようにすると
(defun make-group2 (gd x y)
(acons x (cons y (cdr (assoc x gd))) gd)
)
(setq groupdata nil)
(setq groupdata (make-group2 groupdata group kotoba))
メインでいちいちsetq書くのが面倒くさいならマクロ使って
(defmacro make-group3 (gd x y)
`(setq ,gd (acons ,x (cons ,y (cdr (assoc ,x ,gd))) ,gd))
)
(setq groupdata nil)
(make-group3 groupdata group kotoba)
関数の中からめたらやったらグローバル変数をいじるのはあんまりしない方がいいと俺は思うんだ
いや別に駄目とは言わないけど、他に変な影響を与えたくないからね

61:デフォルトの名無しさん
08/07/18 20:34:32
>(acons x (cons y (cdr (assoc x groupdata))) groupdata)

間違いではないが、なんかすごいことになってるな

62:デフォルトの名無しさん
08/07/18 21:01:27
ていうかメモリリークじゃね?

63:52
08/07/18 21:04:30
ありがとうございます。
Lispを始めてみたところで
人工知能のための言語と噂されたこともある
言語なのだから人工無能を作れるのではないだろうか
と思って人工無能をつくろうとしてました。
そのために言葉のデータベースを作るための関数を作ろうとしてました

64:デフォルトの名無しさん
08/07/18 22:15:49
>>62
aconsされる側のgdにremove-ifでも使って前のデータから古いキーのやつを消せばいいけど
面倒くさいんで手抜きしてましたw
(defun removedata (key data)
(remove-if #'(lambda (x) (equal (car x) key)) data)
)
気になるならこれでもつっこんどいてw
(defun make-group2 (gd x y)
(acons x (cons y (cdr (assoc x gd))) (removedata x gd))
)
こんな感じで

65:デフォルトの名無しさん
08/07/18 23:14:27
>>64
手抜きは悪いことじゃないよ。ハッカーは怠惰だというしね。

でも手抜きするなら破壊的でいいじゃんって思った。好みの問題かな。

66:デフォルトの名無しさん
08/07/19 09:22:03
>>63なるほどね。シンボル(あなたは「シンボル」で「言葉」を表現
する事に決めたわけだけど、他人にLISPで話すときは共通の語彙を使おう)
をデータベースがわりにするというとこんなんでだろうだろう?
(defun message-read (message)
(format t "~A" message)
(finish-output)
(read))
(defun select-item (symbol)
(let* ((lst (symbol-value symbol))
(n (random (length lst))))
(nth n lst)))
(defun input-database ()
(let* ((symbol (message-read "何か知りたいな:"))
(what (message-read "それは何?:")))
(unless (boundp symbol)
(setf (symbol-value symbol) nil))
(pushnew what (symbol-value symbol))))
(defun query-database ()
(let ((symbol (message-read "何がしりたい:")))
(if (boundp symbol)
(format t "~Aは~Aのことだよ~%" symbol (select-item symbol))
(format t "~Aは知りません~%" symbol))))

67:デフォルトの名無しさん
08/07/19 09:27:54
自分用のライブラリを作りたいのですが、
cc -Llibdir -llibname や
emacs lisp の load-path みたいに、
他の directory に置いたライブラリをロードする、
良くやる手を教えてください。

68:デフォルトの名無しさん
08/07/19 09:58:40
こんなかんじ。
0) asdf.lisp をロード (SBCLみたいに標準でついてくるものもある)
1) asdf:*central-registry* に .asd を集めるディレクトリを設定する (~/lisp/asd)
2) 好みのディレクトリにライブラリ名のディレクトリをつくって溜めていく。(例えば、~/lisp/lib/ライブラリ名)
3) あとは、~/lisp/lib/ライブラリ名/ライブラリ名.asd を ~/lisp/asd/ライブラリ名.asd にシンボリックリンクする
あとは (asdf:oos 'load-op ライブラリ名) でロードしてます。

頻繁につかう、かつ、更新が頻繁じゃないライブラリはイメージに取り込んでしまいます。

69:デフォルトの名無しさん
08/07/19 10:18:12
テンプレwikiからのお知らせ
よくありそうな質問をwikiでまとめておこうと思うので
よくありそうな質問と(回答ができそうな人は回答を)
書いてくれませんか?質問と回答のフォーマットは
一応決めてあります。

URLリンク(wiki.fdiary.net) (id:guest pass:cl)

70:67
08/07/19 12:49:13
>>68 とっても助かりました。

>>68 ログインして Edit までしたのですが、FAQ のページにどうやって追加していいのか。と言うか、書き込む勇気が、、、

71:67
08/07/19 12:50:05
あ、2つ目の >>68>>69 です。

72:デフォルトの名無しさん
08/07/19 17:18:30
>>70
気楽に追加してください。

fdiaryはmatz lispで作られたサイトなんですが、時々書き込めなかったり
重くて読み込めなかったりします。matz lispにはもう少し頑張ってほしい。

73:デフォルトの名無しさん
08/07/19 17:23:24
(make-thread :name |Common Lisp| :part 5)
の方が良かったんじゃないか?
難民が出ているみたいだが。

74:デフォルトの名無しさん
08/07/19 17:27:49
俺も唐突にスレッド名が変わって混乱した覚えがある

75:デフォルトの名無しさん
08/07/19 17:47:25
スレタイといえば入門がなくなっちゃった。初心者が気後れしないかな。
(make-thread :name "Common Lisp" :part 5 :入門 :ok)

76:デフォルトの名無しさん
08/07/19 17:57:06
正直気持ち悪い
こんなとこでオナニーすんなよ

77:75
08/07/19 18:05:24
気分を害したならすまなかった。そこまで入門を嫌う人がいるとは想像できんかったな。俺が浅はかだった。

78:デフォルトの名無しさん
08/07/19 18:07:35
>>77
つまんないやつは相手にする必要はないよ。

>>73 >>75
スレタイは行きすぎたかも。次スレのときにいい名前になればいいね。

79:デフォルトの名無しさん
08/07/19 18:11:28
検索しにくくて難民がでるってのはマズイな。スレタイは元の形式がいいのかも。
いきなりS式ってもの入門者を拒絶してる(むしろS式が気持ち悪いと言われてる?)ように見えるのかもしれん。

80:デフォルトの名無しさん
08/07/19 18:45:15
>>79
find.2ch.netの検索は引っかかるよ。

81:デフォルトの名無しさん
08/07/19 18:53:22
かちゅーしゃでlispで検索すると一瞬わからないスレタイ

82:デフォルトの名無しさん
08/07/19 19:34:54
俺が初心者だからフィルタかかってるのかもしれんが
>>76は入門という語を嫌ってるんじゃなく
(make...ってスレタイのほうを嫌ってるんじゃないか?

俺みたいなのには入門ついてるスレもあったほうが嬉しいが
スレタイで不必要にわかりにくくする必要はないと思う


83:デフォルトの名無しさん
08/07/19 20:24:30
Lispが小文字で始まってる上にハイフンで繋がってるから検索に引っかからない。
マジで>>75ぐらいで留めてくれ。探せない。今回はScheme Lispスレから辿れたけど。

84:デフォルトの名無しさん
08/07/19 20:37:59
>>81
検索するツールをLispで書けばいいと思うよ。

85:デフォルトの名無しさん
08/07/19 20:48:20
OpenJaneで見てるんだが
タブ表示がこんな感じになっちゃってる

Debian GNU... | Lisp Schem... | (make-thre... |

以前のスレタイに戻して欲しいに一票

86:デフォルトの名無しさん
08/07/19 21:28:43
戻すも戻さないも スレ作りを他人任せにしたつけだよ。
これを機会に、これまでのほうがよいと思うなら積極的に
スレ作りに協力して欲しい。

87:デフォルトの名無しさん
08/07/19 21:51:18
>>85の一票もスレ作りへの積極的な協力ですよ

88:デフォルトの名無しさん
08/07/19 23:10:56
>>87
それは違うな。他人任せを積極的とは言わない。

89:デフォルトの名無しさん
08/07/19 23:14:38
いったいどういう協力をしてほしいんだ?
金か?w

90:デフォルトの名無しさん
08/07/19 23:16:05
スレタイ付けの自由らしいぞw

91:デフォルトの名無しさん
08/07/19 23:22:48
そう思うならば、950越えたあたりになったら
作って、スレにアナウンスする。
これが積極的なスレへの協力だろ?

92:デフォルトの名無しさん
08/07/19 23:28:04
それは協力というよりスレ立てそのものだな

93:デフォルトの名無しさん
08/07/19 23:37:05
しかしウンコなスレタイだよな。

94:デフォルトの名無しさん
08/07/19 23:41:33
例えば(setq common-lisp "Common Lisp")されてるのか、
それともmake-threadは関数でないのか? とか微妙


95:デフォルトの名無しさん
08/07/20 01:58:39
ていうかそういう思考をスレタイに持ち込むのがウンコだと思う。

スレタイとしての「使い勝手」の悪さと引き替えには遊ばないで欲しい。

96:デフォルトの名無しさん
08/07/20 02:00:59
本人は面白いと思ってやってるんですよ

97:デフォルトの名無しさん
08/07/20 03:36:49
CL-USER> (get '>>1 'life)
0


98:デフォルトの名無しさん
08/07/20 04:16:00
>>91が言ってるのは、スレ立てしろとかじゃないし、いくらセンスが悪くても>>1乙だろってことだよ。
スレタイを良くしたいならもう少しアクティブな住人が多くないと>>1もみんなの意向がわからないし。

99:デフォルトの名無しさん
08/07/20 06:39:48
>>91をどう解釈してもスレ建てを積極的にしろになる件

んな事したら不毛なスレ建て合戦になるだろうが。


100:デフォルトの名無しさん
08/07/20 11:49:07
俺が初めてスレ立てた時はこんな感じだった。懐かしい

スレタイ変更→次スレで元に戻らず→数ヵ月後俺が地味なスレタイに戻す→大混乱

101:デフォルトの名無しさん
08/07/20 12:19:19
スレタイで遊んでも構わないが、このスレのはセンスがない。
俺の使っているエディタにはインテリセンスがない。

102:デフォルトの名無しさん
08/07/20 12:32:20
>>101
うまいこと言ったつもりか?w

103:デフォルトの名無しさん
08/07/20 13:05:37
センスでうちわ揉めすんな

104:デフォルトの名無しさん
08/07/20 13:08:19
>>103
これはうまい

105:デフォルトの名無しさん
08/07/20 13:08:59
>>103-104
なんというあからさまな自作自演


106:デフォルトの名無しさん
08/07/20 13:28:50
>>104-105
お前それは急ぎすぎだ

107:デフォルトの名無しさん
08/07/20 15:46:13
どーでもいいからLispの話しようぜ。
でもおれは最近Lisp使えてないけど…
泥粘土で遊びながら考えたいよ。

108:デフォルトの名無しさん
08/07/20 16:37:11
>>73以降、Lispの話が出ていない orz

109:デフォルトの名無しさん
08/07/20 17:39:22
>>94あたりは(Lispの話題として)ぎりぎり合格だと思う

110:デフォルトの名無しさん
08/07/21 02:42:50
いま検索してて引っ掛ったんだけど
地獄Lispってサイトってなに?
地獄Schemeってサイトも有るんだけど・・
なんか恐い感じで開けていない

111:デフォルトの名無しさん
08/07/21 03:15:25
>>110
こっちのスレに作者の人がいるから、直接聞いてみるのがいいと思う。

【魔法】リリカル☆Lisp【言語】
スレリンク(tech板)

112:デフォルトの名無しさん
08/07/21 10:13:41
>>110
URLリンク(ja.wikipedia.org)
これにひっかけた名前

113:デフォルトの名無しさん
08/07/21 13:20:32
普通にLisp系のサイトだったんですね。
良かったです。
ありがとうございました。

114:デフォルトの名無しさん
08/07/21 15:53:03
テンプレWikiへの添付ファイルはできないですか?

とりあえず、テンプレWikiに入門スレの自分の持っている過去ログへの
リンクを貼りました。
たぶん1~3スレは不完全なので、訂正できる方はお願いします。
Janeのログを上げてもらえれば、私が差し替えます。

115:デフォルトの名無しさん
08/07/21 23:14:07
>>114
できるよ。エディットの下にattemptがあるので

116:デフォルトの名無しさん
08/07/21 23:41:40
>>115
そこでエラーが出て添付出来なかったんです。
使い方がマズかったかな。
また試してみます。

117:デフォルトの名無しさん
08/07/22 00:20:32
>>116
確認しました。fdiaryの管理人にお願いしておきました。しばらくすれば使えるようになる
と思います。URLリンク(wiki.fdiary.net) で確認してみてください。

118:デフォルトの名無しさん
08/07/22 00:52:55
>>117
確認ありがとうございます。

119:デフォルトの名無しさん
08/07/22 01:21:24
clisp処理系ってプロファイラないのですか?

120:デフォルトの名無しさん
08/07/22 20:02:53
すいません。
CommonLispでプログラミングをしている中で、
作ったプログラムは関数を定義したファイルを作成しておいて
毎回それをインタプリタにロードして関数を使うのが王道なのでしょうか?
私はプログラミングのときには、
関数をファイルの先頭の方で定義しておいて
後半でUIの部分つまり
(format t "x:")
(setq x (read))・・・・
などとして
ファイルの一行目に#!・・・(インタプリタの場所)
を書き込んで使っています。(つまりユーザーはインタプリタを目にしないで良いようになっている)
これは不純な方法でしょうか?
すこし自分のプログラミングスタイルに疑問を感じてきたのでよろしくお願いします。

121:デフォルトの名無しさん
08/07/22 20:51:43
それで済めば、それでいいのと違う?
ライブラリとして管理したければ、別ファイルにして読み込めばいい。
必要になってからでも遅くない。

122:デフォルトの名無しさん
08/07/22 21:10:37
ありがとうございます。

123:デフォルトの名無しさん
08/07/22 22:30:08
>>119GNU CLISPのこと?それともCommon Lisp一般のはなし?処理系によっては標準で備えてるものもあるし、
別途もってこないとダメなものもある。単純な比較なら標準のTIMEマクロでも結構便利だよ。


124:デフォルトの名無しさん
08/07/22 22:52:20
CLISP なんて略語で Common LISP 一般を指すことは少ないと思う

125:デフォルトの名無しさん
08/07/23 00:01:53
>>120
イメージ生成後にそれを起動する手順なら処理系依存としか言えない。
ポーティング先の都合ってのもあるから。


126:デフォルトの名無しさん
08/07/23 23:27:51
wikiの過去ログですが、 bcvrf.yahoo.comが見つかりませんということで開けませんでした。
共有設定がなされてるでしょうか?よろしければご確認を。
URLリンク(help.yahoo.co.jp)
URLリンク(help.yahoo.co.jp)


127:デフォルトの名無しさん
08/07/24 01:49:59
>>126
報告どもです。
Lisp schemスレはまとめて同じフォルダに入れてるんで、
共有設定のミスではないです。
ミスなら全部見れなくなるはずです。
たぶん、時間かアクセス数でURLが変わるんだと…
ファイル置き場変えながら、直しておきます。

128:デフォルトの名無しさん
08/07/24 17:39:47
Common Lisp入門を参考に、プログラムを書きました。
問題点、改善案など、何かアドバイスをもらえないでしょうか?
動作確認はxyzzyとclispで行いました。
●実現したいこと
ファイルから特定の行を抽出し、その行のみ新たにファイルへ書き出す。
動作確認がしやすいように、行の位置は変えないようにする。
●自分でおかしいと思ってる点
・1行ずつ読み込んでる力ワザ
・progn 使いすぎ?
・引数に nil が使われないように'(10000)を lst にバインドしている所
・行の指定が昇順でなければならない所

(progn
(setq str1 (open "in.txt"))
(setq str2 (open "out.txt" :direction :output))
(setq eos (cons nil nil))
(setq lst '(10 30 400)) ;取り出したい行をリストで指定、必ず昇順
(defun kakikaki (x)
 (setq str0 (read-line str1 nil eos))
 (cond ((eq str0 eos) (princ "STOP"))
     ((< x (car lst)) (progn (format str2 "~%" )
                   (kakikaki (+ 1 x))))
    ((not (eq str0 eos)) (progn (format str2 "~a~%" str0)
                   (setq lst (cdr lst))
                   (and (not lst) (setq lst (list 10000)))
                   (kakikaki (+ 1 x))))
     (t "END")))
(kakikaki 1)
(close str1)
(close str2)
)
よろしくお願いします。

129:デフォルトの名無しさん
08/07/24 17:58:17
>>128
行数はsort関数を使えば自由に入力できるように成ると思う。


130:デフォルトの名無しさん
08/07/24 18:03:53
おれがまずおかしいと思った点
・名前が異常 str0 str1 kakikaki・・ アホか
・破綻したロジック
>・引数に nil が使われないように'(10000)を lst にバインドしている
意味不明。10000行目は必ず出力するってことか?

131:129
08/07/24 18:05:48
>>128
最初と最後を結んでるprognは何のため?
ファイルは基本上から処理していくと思うからいらないような気がする。

132:デフォルトの名無しさん
08/07/24 19:12:06
prognん中にdefun入れて良かったんだっけか

133:デフォルトの名無しさん
08/07/24 19:23:40
釣りなのか本気なのか判断に迷う

134:128
08/07/24 21:00:52
>>129
ありがとうございます。
sort関数で昇順に並べ変えられそうです。

>>130
>名前が異常 str0 str1 kakikaki・・ アホか
これはプログラミングのマナーに反しているということでしょうか?
良かったら、マナーに則った命名を教えてください。
>>破綻したロジック
>>・引数に nil が使われないように'(10000)を lst にバインドしている
>意味不明。10000行目は必ず出力するってことか?
関数に nil を渡さないようにしたいのですが、上手いやり方が分かりませんでした。
そこでこのプログラムを使うつもりのファイルにはありえない行数を使い、
ファイルの終端まで入力を続けるようにしました。

>>131
>最初と最後を結んでるprognは何のため?
xyzzy の lisp-interaction-mode で Ctr-J 一回で動作させるには?
と、考えて書きました。どうもかなりマズイんですね。

>>132
>prognん中にdefun入れて良かったんだっけか
良いかどうか、考えずにやってしまいました。

>>133
>釣りなのか本気なのか判断に迷う
本気です。
初心者対象のスレだと >>1 にあったので、投稿しました。
プログラム経験は fortran で数値計算の入門を経験した程度です。
他に相応しいスレがあれば誘導をお願いします。

135:デフォルトの名無しさん
08/07/24 22:01:25
>>134
まあ焦らないことだな
URLリンク(www.geocities.jp)

基本を頭に入れないうちに強引に書くことができなくもないが
そういうのは発想が根本から違うので直す気にもならない

質問したければ別に構わないが
なんでも掲示板に聞きに来るのはかえって効率が悪い

136:129
08/07/24 22:08:47
>>134
がんばれ
>>最初と最後を結んでるprognは何のため?
>xyzzy の lisp-interaction-mode で Ctr-J 一回で動作させるには?
>と、考えて書きました。どうもかなりマズイんですね。

なるほどそれならわかった。
windowsでは一行目に#!~ってやつはできないんだっけ。

>>All
UNIXの一行目に#!~ってやつはなんと言う名前でしたっけ。
毎回こう書くのは大変なので技術名を教えてください。

137:デフォルトの名無しさん
08/07/24 22:26:05
>>132
初心者では普通はしないが、マクロでまとめてマクロや関数を作るときは
ないことはない。

>>136
わすれた。それだけは検索で引っ掛けようにも簡単に引っ掛けられないね。

>>134
フォートラン的なlispはつくれるけど、(グリーンブラット的とも言う。)
lisp的に見えないのが弱点かな。もう少ししたらいい参考書が発売になるし
手に入れてみたらいいよ。

138:デフォルトの名無しさん
08/07/24 22:35:21
たしかシェバングだっけ?
>>134
焦らず頑張れ

139:デフォルトの名無しさん
08/07/24 22:39:13
shebang というらしい
URLリンク(en.wikipedia.org)(Unix)
が、「一行目に#!~ってやつ」のほうが通じやすいと思う。w

140:129
08/07/24 22:44:59
>>137-139
ありがとうございます。
通じるのはUNIX板だけかもしれないですね。
ググっても0件だったので検索に引っかからなかったので困ってました。
ありがとうございます。

141:128
08/07/25 00:24:41
>>136
>>138
励ましが嬉しかったです。
作ってみたい気持ちが先走り過ぎてました。

sort関数は凄いです。
おかげで昇順に並べ替えられるように直せました。ありがとうございました。
sort は偶数や奇数でも並べ替えできるようで、調べるうちにどんどん使ってみたくなります。
Common Lisp入門に載ってない、この関数を知れたことが大収穫です。

>>135
> 質問したければ別に構わないが
> なんでも掲示板に聞きに来るのはかえって効率が悪い
ずっと本を読みながら試行錯誤していて、とりあえず動作したところで途方にくれてしまい、
思わず勢いで書き込んでしまいした。
動作するけど、何かが違う感がぬぐえなかったです。
ご指摘の通りまるで基本ができていません。反省します。

>>137
>lisp的に見えないのが弱点かな。もう少ししたらいい参考書が発売になるし
>手に入れてみたらいいよ。
発売する頃には、いい参考書のその良さがわかるようになっていたいです。

僕の書き込みに時間を割いてくださった方々、ありがとうございました。

142:デフォルトの名無しさん
08/07/25 01:17:01
>>128Common Lisp入門って書籍?俺はこの場合だとNILは別に困らないなぁ。
一人で悩むよりはどんどん相談したほうがいいと思う派。どーせ最近はネタもないし。
こんなんなった。open は with-open つかえば安心確実。loop 使えば(ANSI CLなんできっとxyzzyでは動かないけど)
ループ毎に i を 1 ずつ増やし、line 一行呼んでソート済みの lst の先頭と行番号を比較して~。

(defun kakikaki (lst &key (input "in.txt") (output "out.txt")
&aux (lst (sort lst #'<)))
(with-open-file (in input :direction :input)
(with-open-file (out output :direction :output :if-exists :supersede)
(loop for i from 1 by 1
for line = (read-line in nil :eof)
until (eql line :eof)
do (cond ((eql i (car lst))
(write-line line out)
(setf lst (cdr lst)))
(t
(write-line "" out)))))))

143:デフォルトの名無しさん
08/07/25 01:49:18
こんなん見つけた

URLリンク(cadr.g.hatena.ne.jp)

144:デフォルトの名無しさん
08/07/25 04:08:11
>>143
うはぁ、時々伺うサイトで速攻取り上げられているとは。

145:128
08/07/25 07:05:14
>>142
> >>128Common Lisp入門って書籍?
はい、岩波から出ている本です。
> こんなんなった。open は with-open つかえば安心確実。
わざわざ、書いていただいてありがとうございます。
僕の知識不足に配慮してもらってるようで、助かります。
CLISP で動作できました。
キーワードの使い方など、知識と理解があると出来ることが広がるんだと思えてモチベーションが上がります。
> ループ毎に i を 1 ずつ増やし、line 一行呼んでソート済みの lst の先頭と行番号を比較して~。
loop に関する記述が手元の本に少ないので、これから検索しながらこのプログラムを読み込んでいきます。
だんだん楽しくなってきました。


でも・・・・・・
比べて振り返ってみると、今更自分のプログラムの幼稚さがよく分かる (´・ω・`)
得るものが大きかったんで後悔はないが……  恥ずかしぃ orz OTZ
>>128 はなかったことに…… 見た人の ( ゚д゚)ポカーン が目に浮かぶよぅ~
専ブラ使ってる人はあぼーんしてくれーヽ(`Д´)ノ

あと3日でdat落ちしてくれないかな、このスレ(´・∀・`)

146:デフォルトの名無しさん
08/07/25 08:27:14
>>145
元コードの主旨に従った物を書いてみた。
xyzzy は使ったことないんで通るかどうかは不明だが…

(defun kakikaki (lines &key (in-file "in.txt") (out-file "out.txt"))
(with-open-file (is in-file)
(with-open-file (os out-file :direction :output :if-exists :supersede)
(labels ((rec (count lines)
(let ((l (read-line is nil :eos)))
(cond ((eq l :eos) "END")
((eql (car lines) count)
(write-line l os) (rec (1+ count) (cdr lines)))
(t (write-line "" os) (rec (1+ count) lines))))))
(rec 1 (sort lines #'<))))))
(kakikaki '(10 30 400) :in-file "in.txt" :out-file "out.txt")

loop 極めるのは結構大変なんで時間かけて覚えた方がいいと思う。


147:デフォルトの名無しさん
08/07/25 08:33:35
>>145
入門者にいきなりエレガントなコード書かれたら、
この道のプロの人たちは失業の危機じゃないか?

自分のコードの拙さを気にする奴は伸びる。
地道に頑張れ。

148:デフォルトの名無しさん
08/07/25 09:48:28
読む価値のあるコードを書く凄いプログラマが登場したら楽しいじゃないか。

149:デフォルトの名無しさん
08/07/25 10:32:01
こういう良い志を持ったプログラマ希望の人が
増えますように・・・・・
Lispプログラマに幸あれ

150:デフォルトの名無しさん
08/07/25 13:17:58
>>147
プロにはエレガントでないコードの需要が山のようにあるので失業しませんよw

151:デフォルトの名無しさん
08/07/25 18:12:53
>>150
んまぁ。。
最適化をやりだすとかなり泥臭いコードに変わるから、どろどろした速いコードは多いと思うよ。
マクロを使わなければ…

152:デフォルトの名無しさん
08/07/25 20:03:01
「エレガントでないコードの[後始末]という需要」だったらかなりイヤゲ

153:128
08/07/25 22:24:55
>>146
> >>145
> 元コードの主旨に従った物を書いてみた。
これはすごく参考になります。
自分で作っていて、関数定義の中で with-open 使った上で再帰すると、 close せずに再びファイルを open しようとしてエラーになるだろうし、lambda式では関数に名前を付けらず再帰できないし、と悩んでた部分が解決されてる!!
局所関数と局所変数をあわせて使うんですね。
自分の分かってなさもよく分かってくる…
それでも視界が広がった感じがあります。
> xyzzy は使ったことないんで通るかどうかは不明だが…
xyzzy では write-line が定義されてないので、そこを format で書き換えるだけで動きました。
ありがとうございました。

>>147
はい、地道にやっていきます。
ここ数時間で本に貼った付箋の数が、今までの5倍以上になって充実した時間が過ごせてます。
こんなに興味をもってプログラムを読めるとは、思わなかったです。

154:デフォルトの名無しさん
08/07/25 23:47:14
ふっふっふっふ。。。大量に平積みだよ。
URLリンク(raido.sakura.ne.jp)

155:デフォルトの名無しさん
08/07/26 00:40:42
>>154
AMOP 誰か、訳さんかのぉ
OO 系の LL user には福音のはずなんじゃが…


156:デフォルトの名無しさん
08/07/26 00:45:50
発送通知まだ来ない(´・ω・`)

157:デフォルトの名無しさん
08/07/26 01:28:40
>>153
> 関数定義の中で with-open 使った上で再帰すると
ここがそもそも勘違いのもとだと思う. 先にファイルって言う実体があるわけだ.

stream の実体はファイルでもいいし文字列でもいし ...中略... でもいい
何かの stream から読んで、その他の stream に出力する. で, 読み書き対象は?
と, 考えた結果が >>146 だと思う.

ちなみに >>146 の with-open-file は, 入出力をファイルに割り当てる操作.
(with-open-file (is ... ==> (with-input-from-string (is ...
(with-open-file (os ... ==> (let ((os *standard-output*)) ...
でも動作したりしないかい?


158:デフォルトの名無しさん
08/07/26 01:57:30
common lisp のシンボル早見表だって。
URLリンク(clqr.berlios.de)


159:デフォルトの名無しさん
08/07/26 05:41:24
>>158
GFDL だね。訳しても問題はおこらないかも。

160:デフォルトの名無しさん
08/07/26 05:52:31
まぎらわしいからその終助詞「かも」はやめなさい。
>>158
よく出来てるねえ。

161:デフォルトの名無しさん
08/07/26 07:25:34
ブルータス、お前かも

162:デフォルトの名無しさん
08/07/26 11:08:56
人気の高い「モカ」の使用休止が 相次いでいる。輸入の98%以上を頼っているエチオピア産から基準値以上の残留 農薬が 検出され、
厚生労働省が事実上、輸入にストップをかけている為。これに伴い、ヤミ業者による「カモ」の代替使用が急増し社会問題となっている。

URLリンク(headlines.yahoo.co.jp)

163:デフォルトの名無しさん
08/07/26 12:07:37
>>158
美しい!

164:デフォルトの名無しさん
08/07/26 12:13:17
>>128
CommonLispをもっと勉強するとさらにいろいろ発見があるよ。
たぶんまだ普通の言語みたいに行単位で Lisp 関数を書いている頃だとおもうが、
そのうち、ふっと行じゃなくてS式としてとらえられるようになる。
それからがまた楽しいのだよ。

165:デフォルトの名無しさん
08/07/26 17:02:14
pythonのimportに相当するのはasdfだと思っていいのでしょうか?

(require 'hoge)
で呼び出すように変更する手間がめんどい

166:デフォルトの名無しさん
08/07/26 19:56:36
>>154
買ってきた、せっかく大型書店へ行ったので他にもかったら3万ほど消えてしまった。


167:デフォルトの名無しさん
08/07/26 22:40:02
>>154
嬉々として、平積みされてる実践Common Lispを撮影している、
おまいを想像してワロタ。
同士ダナ!

>>158
これは3000円以上の価値があるな。
オレにとってはだが。
めっちゃ、ありがとう!!!

168:デフォルトの名無しさん
08/07/26 23:22:38
ちょっと奥さん、実践CLの正誤表ができましたわよ!
URLリンク(pcl.lispuser.net)

169:デフォルトの名無しさん
08/07/27 07:05:47
>>165
んだ

170:デフォルトの名無しさん
08/07/27 14:15:06
で、実践Common Lispって買う価値あったの?

171:デフォルトの名無しさん
08/07/27 14:21:41
人による

172:デフォルトの名無しさん
08/07/27 14:42:51
まだ序盤の三章まできたところですがポールグレアムANSIコモンリスプより例が平易だと思いました。達人のひとには物足りないのかもしれません。

173:デフォルトの名無しさん
08/07/27 16:27:50
おもしろさはNorvigほどじゃないYO!

174:デフォルトの名無しさん
08/07/27 16:29:02
原文は読めるんだからちょっと高いかな
そのぐらいの値段にならざるを得ないのは分かるが

175:デフォルトの名無しさん
08/07/27 16:42:22
英語すらすら読めない俺歓喜!
英語読めばいいとか言ってるムカつく野郎に追いつける。
日本語\(^o^)/

で、いつ届くんだAmazon

176:デフォルトの名無しさん
08/07/27 17:01:07
とっくにbk1から発送済なのにメール便でいつ届くか判らん俺、涙目

177:デフォルトの名無しさん
08/07/27 17:11:20
落ち着け まだ慌てるような時間じゃあない

178:デフォルトの名無しさん
08/07/27 17:14:17
例はともかく能書きが鬱陶しいのな
wktkしてるおまいらも読み飛ばすと思うけど

179:デフォルトの名無しさん
08/07/27 18:07:55
柿の種のピーナツみたいでああいうの実に好きなんだが

180:デフォルトの名無しさん
08/07/27 18:26:04
178はピーナッツ嫌い。でピーナッツが多いからダメといっとるんだろう。
C言語撃退塾とか読ませたら許せなくてマジギレするタイプとみた。

181:デフォルトの名無しさん
08/07/27 18:56:42
鬱陶しいブログ書いてるのはお前らか
キー!!

182:デフォルトの名無しさん
08/07/27 19:10:59
ごめん、ちょっとマジで意味わからん。ブログなんて持ってないけど……

183:デフォルトの名無しさん
08/07/27 19:34:17
>>181
オレオレ

184:175
08/07/27 22:09:27
能書きが欝陶しいのか…。なんか萎えたのでキャンセルした。
なんかオススメある? >>178

185:デフォルトの名無しさん
08/07/27 22:14:09
読み飛ばせばいいじゃん・・・

186:デフォルトの名無しさん
08/07/27 22:16:05
翻訳ものはたいていそんな感じでしょ
中はイイこと言ってるのに前置きに大演説が入るの

187:デフォルトの名無しさん
08/07/27 22:25:49
夏だなぁ。。。
おまえら、そんなことばかり言ってたら良書が出てきても日本語
を作ってくれる人がいなくなるぞ。
彼らの努力で出版までたどり着けて日本語で読めるってことのあ
りがたさをなぜ理解できない?

188:デフォルトの名無しさん
08/07/27 22:41:00
夏だなあ
誰も日本語にケチはつけていない

189:デフォルトの名無しさん
08/07/27 22:44:39
>>184
そんなわがままな子には何も勧められません

190:175
08/07/27 23:08:24
ちょっと勉強してみようと思ったのに週末オワタ\(^o^)/
なんなんだよー。ワクテカしてる人を見ると嫌がらせしたくなる人だったのか?

191:デフォルトの名無しさん
08/07/27 23:19:26
そんなにブレてどうすんの
中身が悪いとかいう話は出てないのに・・・

192:デフォルトの名無しさん
08/07/27 23:19:31
>>190
どんな本でもケチをつけようと思えばつけられる。それを踏まえて
匿名の所のレスを読んでたらいい。匿名は悪口を言うのが主流だか
らな。そのうちブロガーも書評を書くだろうから匿名よりそちらの
方が信頼できるだろう。どうせdanさんとか書くだろ。

>>188
わかっちゃいねーな。日本語にケチをつけなくても訳者が萎縮する
ようなことをいってれば日本語訳が公開されなくなるよということ
だ。丁寧に書かないと理解はできないかもしれないが、ここは数行
のレスにするほうが好まれるから、行数が6行以上つかうのは、控え
てるのだ。おまえら長文ウザいというだろ?

193:デフォルトの名無しさん
08/07/27 23:24:02
それに、日本語にケチをつけるとは書いてないんだが。

194:デフォルトの名無しさん
08/07/27 23:24:12
てか原文しか見てないけど悪くないよ
別の本で概略が頭に入ってた方がいいと思うけど

195:デフォルトの名無しさん
08/07/27 23:28:56
>>187
>>192

こんなに過剰反応する必要があるほど叩かれてないと思うんだが

196:デフォルトの名無しさん
08/07/27 23:35:59
たった一言でキャンセルとか言う人が出たからでしょ。
潔癖症だなw

197:デフォルトの名無しさん
08/07/27 23:41:30
訳者が萎縮するとか心配しすぎ

198:デフォルトの名無しさん
08/07/27 23:57:48
だよな。いやよいやよも好きのうちっつーか、批判の多い本ほど売れてるもんだよ。

199:デフォルトの名無しさん
08/07/28 08:57:00
>>197
萎縮した訳者が書いたなら心配しすぎとも言えないだろw

200:デフォルトの名無しさん
08/07/28 09:50:36
書評なら原文があるんだから日本語版がなくてもできたはずだな
やたらwktkしてたけど内容わかってなかったんかい

201:デフォルトの名無しさん
08/07/28 10:07:58
schemeを組みこんだemacsもどきなエディタの習作というのはたまに見ますが
sbclとかを組み込んだemacsもどきの習作ってありますか?

202:デフォルトの名無しさん
08/07/28 10:55:32
>>201 sbclとかを組み込んだの意味がイマイチ把握できないが
common lisp で書かれたemacsもどきのエディターならある


203:デフォルトの名無しさん
08/07/28 11:42:24
>>201
CMLCL
> ・an Emacs-like editor implemented in Common Lisp.

204:デフォルトの名無しさん
08/07/28 12:20:15
sbclを組み込むってのは、そのemacsもどきを作る時sbclのソースか共有ライブラリを
そのまま再利用するって意味だと思うぞ

205:デフォルトの名無しさん
08/07/28 12:31:56
組み込むってのは、
エディタありきで拡張言語として~を
って考え方なんだろうと思うけれど、
解答者はその言い回しにこだわることはないと思う。

206:デフォルトの名無しさん
08/07/28 14:31:25
変数のスコープが変な以外はemacs lispもcommon lispと大まかには一緒
とにかく長い名前変数名つければどっちでも動くと思う

207:デフォルトの名無しさん
08/07/28 15:18:23
それはない

208:デフォルトの名無しさん
08/07/28 15:39:03
>>206
lambda関数一つとっても使い方が違う

209:201
08/07/28 16:00:12
ありがとうございました
CMLCLというのは見付けられませんでしたがclimacsというのを見つけました
結構長続きしているプロジェクトなんですね
こちらの環境はビルドできませんでしたのでコードを眺めていました
emacs本家のCコードと違って吐き気がしないのがいいですね

sbclとかを組み込むと云々というのは、
近代的で、マルチタスクの、高速なlispを備えたemacsクローンが欲しいってだけです
sbclが例なのは、簡単なsumで比べてもelispとは段違いで、「elispもこんなのだったらいいのに」っていう願望です

210:デフォルトの名無しさん
08/07/28 17:03:25
>>209
URLリンク(www.cons.org) のhemilock

211:デフォルトの名無しさん
08/08/01 00:01:04
Emacsのinfoでhyper specとか見れたらいいのになぁ
html2texiとか作れるのかな?
dpans2texiっていうのを見つけたけどftp鯖にデータが無くて使えないのに
もっと早くからcommon lisp触ってればよかったよ‥
ここの人達でemacs使ってる人なら皆texi版のdpANS持ってそうだなぁ

212:デフォルトの名無しさん
08/08/01 00:27:20
>>211
> Emacsのinfoでhyper specとか見れたらいいのになぁ

当然だけど見れるよ

213:デフォルトの名無しさん
08/08/01 00:31:06
>>212
マジでやりかた教えてください
html2texiを見つけてきてhtml->texi, そこからmakeinfoでtexi->info
と変換しようとしてるんですけどもう@Iとか変なコマンドを生成しやがって
修正が大変です‥
これならperlか何かで専用の変換スクリプト書いた方がいいかってぐらいに

214:デフォルトの名無しさん
08/08/01 02:03:59
>>213
URLリンク(www.emacswiki.org)

215:211
08/08/01 22:08:59
>>214
HTMLのまま見るやつですか、w3mを入れれば使えそうですね

結局dpans3で検索したら新しい場所が見付かり
dpans2texiで難なくinfoが作れました
でもhyper specの方が新しいんですよね…

216:デフォルトの名無しさん
08/08/02 14:04:38
基本となるデータの構造を全てリストで保持した場合には、
そのデータへのアクセスをcar, cdr 等の組み合わせのみ記述すると
可読性が著しく落ちることが良く有ると思います。
その場合に皆さんは普通にマクロのみで対処しますか?
それとも明示的に defstruct や CLOS を使いますか?

カプセル化だけしたい所で CLOS を使うと
なんとなく別の意味で面倒になった感じがします。
例えばリストだけなら copy-tree で済む所が
copy constructor みたいなものを書くのが面倒だとか、
コード記述に関するオーバーヘッドが大きいと思うのです。
まあ MOP は知らないのがいけないのかもしれないのですが。

217:デフォルトの名無しさん
08/08/02 14:17:35
>>216
リストの欠点がひとつも書かれてないけど、なんで迷うの?
可読性の問題はマクロで解決したんでしょ
パフォーマンスについては何とも言えないし、とりあえずリストでいいじゃん

218:デフォルトの名無しさん
08/08/02 14:48:10
>>206 そうですね~。確かに。

カプセル化のみが重要な場合に CLOS が必要になる事例があるのかな?
という別の疑問だったのかもしれません。
C++ でクラスを使う時はカプセル化の意味は大きいのですが、
Lisp ではマクロがある以上、CLOS の出番があるのだろうか?と言う事です。
まあ、CLOS を、マクロのみで記述している処理系では実は意味がない疑問で、
結局はリストとマクロのみでしょ。って言われそうですが。w

219:デフォルトの名無しさん
08/08/02 14:49:19
>>217 の間違い。

220:デフォルトの名無しさん
08/08/02 17:14:47
>>216
内容によるけど、defstructやCLOSを使いますよ。ランダムアクセスをさせるような
木の特定部分に直接いじるような使い方をする場合はリストは使わないですね。

CLOSと構造体のオーバーヘッドの違いは、同じプログラムを作ってtimeをとれば、
コンシングの多さも含めて分かりますから、実際にベンチをとってください。

CLOSと構造体、リストはどんな楽をしたいのか?何を重視するのか?で変わってきますね。

221:デフォルトの名無しさん
08/08/02 18:41:15
短いプログラムならともかく、普通アクセサを作るんじゃないの?

それと、マクロマクロっていうけど、アクセサ程度はインライン関数を使う。
マクロだとfuncallが出来なくなるし、デバッグも面倒になる。

あと、処理系によっては構造体よりコンスを使ったほうが速い場合もある。

とりあえず、アクセサ作って実装を隠蔽しておく。実装はリストでやっとく。
で、あとでパフォーマンスが問題になったらプロファイリングして、インラ
イン宣言いれたり、構造体等で置き換えたり、って感じ。

222:デフォルトの名無しさん
08/08/02 19:00:48
>>216
普通は>>221のいうようにリスト操作して必要な情報を取り出す小さい関数を
定義する。例が欲しければSICPでも見てみればいい。

223:デフォルトの名無しさん
08/08/02 22:25:18
>>216
ケイスバイケイス。そういうとこでセンスの良い選択をするのが腕の見せどころ。
つまり、一概に「こうするのが良い」という解は無い。

224:デフォルトの名無しさん
08/08/03 13:07:46
多くの変数に同一の値を代入したくてマクロを書きたいのですが、
どのように書けば良いのでしょうか
一つの値を返す式またはデータと変数のリストを引数にとり
実行すると式orデータの値が変数に代入される。マクロです。

(multi-setf 3 '(a b c d))とすると

>>a
3
>>b
3

とできるようになるマクロです。

225:デフォルトの名無しさん
08/08/03 13:33:42
シンボルの値、ならリストにできるけど変数はリストにはできないです。
(defun multi-set-fn (value symbols)
(dolist (sym symbols value)
(setf (symbol-value sym) value)))
これなら (multi-set-fn 3 '(a b c d)) とかけるけど設定できるのは
変数ではなくシンボルの symbol-value スロットの値。
(defmacro multi-set-macro (value &rest symbols)
(let ((v (gensym "multi-set")))
`(let ((,v ,value))
,@(loop for sym in symbols
collect `(setf ,sym ,v)))))
マクロにすると変数にも設定できるが、渡せる変数は関数のように実行時に
決定することはできない。
(let (a b c d)
(multi-set-macro 3 a b c d)
(list a b c d))
シンボルと変数の概念を混乱している予感がする。

226:デフォルトの名無しさん
08/08/03 13:33:59
>>224
(defmacro multi-setf (atom list)
(let ((foo (loop for p in list collect `(setf ,p ,atom))))
`(progn ,@foo)))

細かい問題点の検証はしてないよ。
あまりおすすめ出来ないな。

227:デフォルトの名無しさん
08/08/03 13:35:20
>>226
* (macroexpand-1 '(multi-setf (+ 1 1) (a b c d)))

(PROGN (SETF A (+ 1 1)) (SETF B (+ 1 1)) (SETF C (+ 1 1)) (SETF D (+ 1 1)))
T


228:デフォルトの名無しさん
08/08/03 13:38:54
似たような質問が前にもいくつかあったが、
普通なら関数とハッシュテーブルを使うところに
なぜかマクロとsymbol-value等を使いたがるんだな。

他にも、リストを使うか構造体を使うか、とか、
やり方が2通り以上あると迷う人がいるのも気になる。

229:デフォルトの名無しさん
08/08/03 13:45:52
すいません
回答ありがとうございます。
じつは研究の過程で
100ぐらいの変数に同じ値を入れてある式に入れて結果の分布とかを求めなければ
いけない事体に陥りまして、Lispは少年時代から触れている言語なので
ぜひともLispで実装したく思いまして。
ありがとうございます。

230:デフォルトの名無しさん
08/08/03 13:53:14
>>229
なるほど、それなら、変数に配列を使った方が扱い易いと思うよ。
(setf arr (make-array 100 :initial-element 3)) とかすれば、いいし。
あるいは
(setf lst (make-list 100 :initial-element 3))とかね。
少なくとも、それだけ変数があるなら自動化が出来る方法を探さないと骨が折れるよ。

231:デフォルトの名無しさん
08/08/03 14:10:29
少年時代から…だと…。なんという期待の超新星。ついに次世代のLisper登場か。

232:デフォルトの名無しさん
08/08/03 14:12:27
より一般的に引数の固定を使ってやりたいな
C++のbindとかschemeのcutみたいにさ
(mapcan (bind #'setq _1 3) '(a b c d))
標準でありますか?

あと子供の頃からLispって羨ましすぐる…

233:デフォルトの名無しさん
08/08/03 14:43:42
>>230-232
ありがとうございます。
>>231
いえいえ、諸先輩方には遠く及びません。
精進いたします。

234:デフォルトの名無しさん
08/08/03 14:52:36
>> 232
なんか知識と書いてるコードがちぐはぐね。

235:デフォルトの名無しさん
08/08/03 19:19:14
Lispでアプリケーションを作っている物としてはどんな物が有りますか。
EmacsはLispからXwindowsを呼び出しているのでしょうか?
いまいちLispアプリケーションの配布方法がわからず困っています。


236:デフォルトの名無しさん
08/08/03 19:40:25
Lispだからどう、でなく、各処理系ごとに流儀が違うだよ。

237:デフォルトの名無しさん
08/08/03 19:52:37
clispです。
Ltkという物はMacOSXでも動くようなので導入したいのですが
asdfやasdf-installの仕方がわからず困っています。
ネット上の情報もMacOSX10.5対応の物かどうかが定かでないのですが、
Clispでのasdf系のインストールでおすすめのサイトをよろしくお願いします。

238:デフォルトの名無しさん
08/08/03 20:26:23
>>237
URLリンク(www.cliki.net)

239:デフォルトの名無しさん
08/08/03 20:37:52
asdfはできましたがasdf-installが難しくて挫折しました。
ありがとうございました。

240:デフォルトの名無しさん
08/08/03 20:40:49
もしかしてasdfさえ有ればasdファイルを手動でとる事を我慢すれば良いのでしょうか
そうするとasdf-installは不要なので大丈夫そうです。
ありがとうございました。

241:デフォルトの名無しさん
08/08/04 10:10:34
>>224
代入される方(リスト)を第一引数にして欲しいなあ。

242:デフォルトの名無しさん
08/08/04 15:54:41
>>235の言う「アプリケーション」って、
「GUIアプリケーション」に限定されてるの?
X Windowうんぬんのところは何を言おうとしているのか分からない。

243:デフォルトの名無しさん
08/08/04 20:18:13
エンドユーザーにも受け入れられるGUIアプリケーションを作りたかったのです。
通常のアプリケーションと同じように簡単に導入できるアプリケーションを作成したいのですが。
Lispでは方法がわからず困っていました。C言語ではGUIアプリケーションは作る事が難しい
と聞いていたので、Lispでも同じなのでしょうか?
Lispで作られたGUIアプリケーションはどんな物が有るか調べた所楽譜作成ソフトなどが
見つかり少し安心しているのですが、ああいった物はどのようにしているのでしょか?


244:デフォルトの名無しさん
08/08/04 21:59:50



ひみつです


245:デフォルトの名無しさん
08/08/04 22:25:50
GtkやQT辺りをCで叩けるようになってから出直してこい。
もしくはtkで我慢汁

246:デフォルトの名無しさん
08/08/04 22:38:22
Windowsだと洛陳だよ

247:デフォルトの名無しさん
08/08/04 22:57:26
LispとかUnixはWeb系ってかんじですか?

248:デフォルトの名無しさん
08/08/04 23:04:12
楽譜作成ソフトと言われてもなぁ。McCLIMとかのCLIMを使ったやつかLispWorksのCAPI製のやつか…。

Lisp用のGUIライブラリを備える処理系ACL,LispWorks,MCLとかならそれなりのGUIが作れる。
LispでもOpenGLやCLX、Win32 APIを直接叩くとCとそんなに手間はかわらない。
が資料はメジャーな言語にくらべると少ない。

名前を聞いても想像できないなら、いきなりLISPでGUIに挑戦するのは初心者にはお勧めできない。
資料の少ないからどーでもいいところで詰ってしまう可能性が高い。

249:デフォルトの名無しさん
08/08/05 00:50:02
英語ドキュメント読めないとすぐに手詰まりだろうしな。

250:デフォルトの名無しさん
08/08/05 11:17:23
>OpenGLやCLX
これは昔使った事が有ります。(UNIXとMac意外はあまり詳しくないのでWin32 APIはわかりません)
MacOSXだとAPIはCocoaになると思うのですが
clispなどの処理系でもCocoaは呼び出せるのでしょうか?
OpenMCLを使うしか無いのでしょうか?
それと、
>LispでもOpenGLやCLX、Win32 APIを直接叩くとCとそんなに手間はかわらない。
これはどの処理系でも良いのでしょうか?

251:デフォルトの名無しさん
08/08/05 11:58:31
CommonLispで改ページはどのようにすれば良いのでしょうか?


252:デフォルトの名無しさん
08/08/05 12:59:47
>>251
(terpri)

253:デフォルトの名無しさん
08/08/05 13:06:11
Allegro common lispのフリーのダウンロードしてみたんですが使い方がさっぱりわかりません。
本はCommon lisp入門っぽい名前のやつとOn LISPしか持ってないです

254:デフォルトの名無しさん
08/08/05 13:08:26
そうですか。

255:デフォルトの名無しさん
08/08/05 13:13:08
>>252
そりゃ改行だがね

256:デフォルトの名無しさん
08/08/05 13:55:25
改頁文字を出力するということだと、
(print #\Page)
(format t "~|")
なのかもしれない。

257:デフォルトの名無しさん
08/08/05 14:04:41
>>252,>>256
ありがとうございます。
>>256
処理系はclispなのですが、(print #¥Page)とすると
[2]> (print #¥Page)

#¥Page
#¥Page
となっておしまいなのです。これはどうしてでしょうかよろしくお願いします。
求めているのはUNIXのclearの様な機能です。

258:250
08/08/05 14:09:05
OnLisp,CommonLisp入門などの本が手元に有るのですが、
どちらもCUIアプリケーションの作製法は書いてあるのですが
GUIアプリケーションの作製法などについて触れている本が有れば
紹介お願いします。

259:デフォルトの名無しさん
08/08/05 16:00:22
>>258
URLリンク(www.cliki.net)

調べた情報を日本語blogかどっかたにまとめたらいろんな人に感謝されるよ


260:250
08/08/05 16:10:02
>>259
それはそのサイトの内容をと言う事でしょうか?
以前からLispをもっと活発にする活動をしたいと思っていたのですが
そのようにできたらうれしい限りです。

261:デフォルトの名無しさん
08/08/05 17:20:18
wikiの内容じゃなくて、wikiから辿れるページを纏めることになると思う

262:250
08/08/05 17:57:45
まとめるためにWikiページを作成したく思います。
何かベストな名前が有りましたらよろしくお願いします。
JCLikiだとあまりにも芸がないので

263:デフォルトの名無しさん
08/08/05 18:26:08
既に最近このスレ関係でwikiができて、
URLリンク(wiki.fdiary.net)
にwikiがありますよ。

あと、common-lisp-users.jpは空いてるようなので、ドメイン取って運用とか、
Smalltalk-users.jpみたいに、
google sitesで作るとか、
URLリンク(sites.google.com)

形とか運用方法にこだわっても利用されなければ意味がないので、
私は、
URLリンク(wiki.fdiary.net)
を育てるに一票

264:250
08/08/05 18:36:11
そうですか・・・・
ありがとうございます。
スレ独自の物に手を加えるのは私は心配なのですが、
2年前にじぶんで作った
`(CommonLisp Wiki)という全く何もおこっていないサイトが有ったのを
思い出したのですが、そちらに情報を蓄えて行く訳にはいかないでしょうか
全く何もないですが以下URL
URLリンク(www6.atwiki.jp)


265:デフォルトの名無しさん
08/08/05 18:49:16
自分である程度まで育ててから他に人にも支援を頼むって流れは良く見るが
全部他人任せワロスww

266:デフォルトの名無しさん
08/08/05 18:50:15
いや、志は全く同じなので、URLリンク(wiki.fdiary.net)
を勝手に改変して行けば良いのではないでしょうか。
編集しにくいということであれば、そちらのwikiにメインの記述をして、
リンクだけ貼るという手もありますね。

267:250
08/08/05 18:55:09
>>256
スマソ、トップページのメッセージは気にしないでください。
あれは開発当初はもっと熱心に改造して行くつもりだったので
あのような文章に成っています。
今リアルタイムでQ&Aページを作成してるので気になる点など有りましたら
よろしくお願いします。

268:デフォルトの名無しさん
08/08/05 18:58:48
>>264
fdiary.netに作ったものだが、どこでまとめても大丈夫だよ。lisper pagesにリンクを貼っ
ておけばいいよ。fdiaryのlisp wikiは誰がどのように使おうと構わないですから。スパム
はダメだということと、lispとちゃんとつながっていることが前提だが。

fdiary.netは昔よりサービスが悪くなってるようなので、より使い勝手のよいところを探
すのもよいかもしれない。昔はフランスに移籍した人が管理をやっていたけど、そのこ
ろは比較的速い対応をしていた。かずひこさんっていったっけな。

あそこはmatz lispの本拠が運営しとるから、もう少し頑張ってもらいたいんだけど、運営
がいまいちになってきているのをみていると大丈夫なのかな?という心配はある。

Norvig国のgoogle sitesもいいかもしれないな。

269:250
08/08/05 18:59:58
わかりました。
がんばって開発してみます。

270:デフォルトの名無しさん
08/08/05 19:08:50
お前ら…
あんまり変なことするとPythonみたいに妨害されるぞ…

271:デフォルトの名無しさん
08/08/05 19:12:01
>>267
目標も同じで、既に存在している、機能的にも似た物があるのに、
「スレ独自の物に手を加えるのは心配」とか、お前さんにしか理解できない理由で、
自分の方を使ってくれ、っていうのは、他の人には「(゚Д゚)?」って感じだと思うぞ。
現状だと子供のわがままにしか見えん。

他の人にも納得できるだけの相応の理由があって、
それなりの行動力があると思わせる言動をしていれば、
>>265みたいに皮肉られんよ。

272:250
08/08/05 19:21:53
わかりました、
確かにそうですな、そちらの開発に参加させて頂きたく思います。
たった今先ほどのWikiは削除させて頂きました。
ご指導ありがとうございました。
>>270
詳細は知りませんが私は全くおこらないタイプなので無害ですよ。
殴られてもおこらないぐらいです。

273:デフォルトの名無しさん
08/08/05 19:37:11
>>272
270は他言語圏にふれたことについて、危険だよといってるだけだから、気にしなくていい。


274:デフォルトの名無しさん
08/08/05 19:37:24
>>257
printじゃなくて、princでした。
clearということになると、
ncurse等を使うことになるのかも。

275:250
08/08/05 19:48:04
ちょっ誰ですか?
親切にも'(CommonLisp Wiki)をLisperBlogに登録してくださっていたのは
ありがとうございました。
自分で削除しておきますね。

276:250
08/08/05 19:50:29
と思ったが編集できない
変更お願いしますね

277:デフォルトの名無しさん
08/08/05 20:08:51
>>276
login: guest pass:cl
だよ

278:250
08/08/05 20:42:56
ありがとうございます。
手始めにClispのmacOSXへのインストールを書かせて頂きました
ご確認よろしくお願いします。

279:250
08/08/05 22:12:01
L-99の和訳をしたいと思うのですが
著作権的にどうなのでしょうか?

280:デフォルトの名無しさん
08/08/06 00:19:52
L-99のオリジナルは、P-99というPrologの問題集なので、
オリジナルのP-99の作者の先生に確認することになるのでは
ないかという気が…。
L-99はなんとも微妙な気がするので…。

281:250
08/08/06 10:39:33
>>280
ありがとうございます。

ところでasdfの使い方ですが
.clisprc にasdfのロードとasdファイルのディレクトリ設定は書いてあり
clisp内では確かにasdfは動作しています。
しかしシェバングしたファイルを作成して実行するのと
*** - READ from #<INPUT BUFFERED FILE-STREAM CHARACTER #P"./test.l" @2>: there
is no package with name "ASDF"

と出てしまいます。
ファイルの先頭に
(asdf:oos 'asdf:load-op :ltk)
(in-package :ltk)
とかいているのですが・・・・

282:デフォルトの名無しさん
08/08/06 17:03:26
asdfの話題が出ているようなので私も
cl-whoを導入したのですが、サイトのサンプルを実行して見たいのですが
*html-stream*なんて無いというエラーがかえってきてしまいます。
よろしくお願いします。

環境はMacOSX10.5です。

283:デフォルトの名無しさん
08/08/06 17:18:30
cl-whoは*html-stream*と関係なかったような?
他のパッケージからcl-who使っていたりしない?


284:デフォルトの名無しさん
08/08/06 17:23:00
ええっと・・・・
(asdf:oos 'asdf:load-op :cl-who)
(in-package :cl-who)
実行後
cl-whoの公式サイトっぽい所の
(with-html-output (*http-stream*)
(loop for (link . title) in '(("URLリンク(zappa.com)" . "Frank Zappa")
("URLリンク(marcusmiller.com)" . "Marcus Miller")
("URLリンク(www.milesdavis.com)" . "Miles Davis"))
do (htm (:a :href link
(:b (str title)))
:br)))
というサンプルコードを実行すると
*** - EVAL: variable *HTTP-STREAM* has no value
The following restarts are available:
USE-VALUE :R1 You may input a value to be used instead of *HTTP-STREAM*.
STORE-VALUE :R2 You may input a new value for *HTTP-STREAM*.
ABORT :R3 ABORT

というエラーが・・・これはサンプルコードはインタプリタ向けではないのでしょうか?
何となくそのような英語が上に書いてある気がします。



285:デフォルトの名無しさん
08/08/06 17:41:47
一番先頭に
>Let's assume that *HTTP-STREAM* is the stream your web application is supposed to write to.
って書いてますね。

出力したいストリームの名前の例として*http-stream*を使ってるだけではないかと。
とりあえず、*standard-output*とかにして動作確認すれば良いんじゃないしょうか。

286:デフォルトの名無しさん
08/08/06 17:51:29
g000001さんがアナウンスしたけど、ecl 0.9lって、maximaのビルドが
できるようになったね。その他は、GCとスレッドインタプリタのパフォー
マンス改善のようです。

ecl ってwindowsで動かんかったっけ?


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使ったりした普通のそソフトとととこにつくたことあることきょしぃこと


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch