(make-thread :name common-lisp :part 5)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん



lispを触ってみたい入門者の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))
2デフォルトの名無しさん:2008/07/12(土) 12:45:26
((お勧めの Common Lisp 処理系)
(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 の元になった。)

(Clozure CL: http://openmcl.clozure.com/index.html
:プラットフォーム PPC-Linux, Mac, x86_64-Linux と x86_64-FreeBSD に移植中
:開発 そこそこ活発
:日本語 使えない (pre ver 1.1なら多少扱える。)
:特徴 元々商用のコンパイラ。ネイティブスレッドが使える。))
3デフォルトの名無しさん:2008/07/12(土) 12:46:04
((商用CL) ;;誰か補間よろ
(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の系譜))
4デフォルトの名無しさん:2008/07/12(土) 12:47:33
5デフォルトの名無しさん:2008/07/12(土) 12:57:16
6デフォルトの名無しさん:2008/07/12(土) 12:59:00
((おまけの処理系
(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 のソースを公開したもの))

((その他のリンク
(lush: http://lush.sourceforge.net/
Lisp Universal Shell)
(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 の 参考書を探しているならこれ一択))
7デフォルトの名無しさん:2008/07/12(土) 17:17:57
8デフォルトの名無しさん:2008/07/12(土) 17:29:44
http://wiki.fdiary.net/lisp/ ここはテンプレ置き場に急遽wikiを作った。
自由に編集してください。

id:guest password:cl

です。ブログを持っていないけどインストールログをメモして起きたいと
いう用途に使っていただいてもOKです。lispに関するものでしたら、ご自由に
ページを作成してください。
9デフォルトの名無しさん:2008/07/12(土) 22:29:14
>>1
The variable COMMON-LISP is unbound.
10デフォルトの名無しさん:2008/07/12(土) 22:37:13
>>9
失敗したが、そこはマクロを被したということでごまかしておく (^^〃)
11デフォルトの名無しさん:2008/07/14(月) 09:00:54
>>10
どういうマクロ?
12デフォルトの名無しさん:2008/07/14(月) 12:11:26
>>11
(defmacro make-thread (&key name part)
`(make-thread# :name ',name :part ,part))
13デフォルトの名無しさん:2008/07/15(火) 12:14:59
整数のリストを渡すと任意の個数で合計が任意の数になるリストを
返してくれる関数を作りたいのですが、これを作成するには
OnLispの非決定性を導入するしか無いのでしょうか?
そこまでの力量が有る自信が無いので他に方法が有ればご教授願います。
14デフォルトの名無しさん:2008/07/15(火) 14:39:06
は?
15デフォルトの名無しさん:2008/07/15(火) 14:43:48
ナップザック問題でもやりたいのだろうとエスパー
16デフォルトの名無しさん:2008/07/15(火) 14:46:21
どうでもいいが実践Common Lispはまだ発売せんのか?
17デフォルトの名無しさん:2008/07/15(火) 15:32:57
>>14-15
すいません。
わかりづらい書き方をしてしまいました。
(numlist '(1 2 3 4 5) 2 7)
の様にすると
(3 4)または(2 5)と返してくれるような関数が作りたいのですが
どのようにすれば良いのかと思いまして。
18デフォルトの名無しさん:2008/07/15(火) 16:28:13
漏れも、実践Common Lispの発売を待ち望んでいるが
クオリティを下げるくらいなら、若干の延期でも構わん。
ただ、延期のアナウンスだけはしてほしいな。
19デフォルトの名無しさん:2008/07/15(火) 16:46:15
>>15
7/27(sun)にケテーイ
20デフォルトの名無しさん:2008/07/15(火) 16:47:07
ずれたw
>>15>>16へのレス
21デフォルトの名無しさん:2008/07/15(火) 16:54:06
>>19
どこで知った?
22デフォルトの名無しさん:2008/07/15(火) 17:12:28
Amazonだと26日になってるね。
23デフォルトの名無しさん:2008/07/15(火) 17:27:33
>>17
エスパるけど、
(namelist list size total)かな?
24デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/15(火) 18:29:10
似たようなのがいくつか本スレ辺りの過去ログにあったような気がする
26デフォルトの名無しさん:2008/07/15(火) 19:02:27
>>23-24
ありがとうございます。有難いです。
OnLispを読んでいるのですが、そこの非決定性の章で
簡単に実装していたので非決定性を実装しなければ成らないかと
思っていたのですが、継続などにも自信が無いので何か方法がないかと 
思っていたのです。
ありがとうございました。
精進したいと思います。
27デフォルトの名無しさん:2008/07/15(火) 23:22:39
そういえば実践common lispは2冊別々のがでるの?
たしか翻訳している人が二人いたよね。
28デフォルトの名無しさん:2008/07/15(火) 23:39:06
共訳では?
29デフォルトの名無しさん:2008/07/15(火) 23:40:40
おちつけ。まだ慌てるような時間じゃない。On Lispは一年以上待ったんだぜ。
30デフォルトの名無しさん:2008/07/16(水) 13:43:31
>>27
Amazonで確かめれば分かるよ。
31デフォルトの名無しさん:2008/07/16(水) 17:01:00
clisp処理系でfastcgiを使いたいんだが*feature*してもfastcgiが出てこない
この場合どうやってインストールすればいいのか誰か教えてください
32デフォルトの名無しさん:2008/07/16(水) 19:06:19
>>25-26
このへんでSchemeで非決定性をやってるね。
http://pc11.2ch.net/test/read.cgi/tech/1211381920/1-110

Common Lispに直すのを簡単な練習問題と思ってやってみれば?
典型的な失敗例もあるしw
33デフォルトの名無しさん:2008/07/16(水) 20:11:54
CommonLispでその言葉に何かが設定されているかどうか
を判断する関数は無いでしょうか?
>x としたときに何か値が返るか(nilも含む)

>x
*** - EVAL: variable AOIMONO has no value
と表示されてしまうかどうかを判断できるような関数は無いでしょうか?
よろしくお願いします。
3433:2008/07/16(水) 20:12:41
AOIMONOは間違いです
*** - EVAL: variable X has no value
です
よろしくお願いします。
35デフォルトの名無しさん:2008/07/16(水) 20:14:14
つ boundp
36デフォルトの名無しさん:2008/07/16(水) 21:08:59
>>33
> CommonLispでその言葉に何かが設定されているかどうか
言葉→シンボル、設定→束縛、ね。
この辺の用語は、検索して何かを調べるときに結構大事だから、ちゃんと覚えておいたほうがいい。
37デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/16(水) 23:04:16
俺もUbuntuでSBCLの最新版を自分で入れてみたら同じエラー出たんで元に戻したよ。
素人なんで自重してパッケージになってるのを使う事にした。
3937:2008/07/16(水) 23:12:50
すみません,自己解決しました.
なんかいじってたら動きましたw
4038:2008/07/16(水) 23:41:30
ちょwwなにいじったか教えて!!
41デフォルトの名無しさん:2008/07/17(木) 00:59:40
format 中で ")" を表示させたい場合どうすれば良いのでしょうか
よろしくお願いします
42デフォルトの名無しさん:2008/07/17(木) 01:01:05
CL-USER> (format t ")")
)
NIL
CL-USER> (format t "\")\"")
")"
NIL
43デフォルトの名無しさん:2008/07/17(木) 04:17:29
>>31
あなたのブログを発見してしまった。藁
漏れもclispのffiコンパイルの不具合はあってこまっとる。
44デフォルトの名無しさん:2008/07/17(木) 14:12:32
CommonLispでは真の乱数を返す事はできないでしょうか
(random x)だと答えが疑似乱数なのでxの値が同じだと
同じ順番で回答がかえってきてしまいます。
これを完全にばらつきが有るようにするにはどうすれば良いのでしょうか
一つ思いついたのですが
(random ((car (multiple-value-list (get-decoded-time))))

とすれば秒を基本としているのである程度ばらつきが有ると思ったのですが
どうでしょうか?
よろしくお願いします。
45デフォルトの名無しさん:2008/07/17(木) 17:09:40
どの言語でも真の乱数は返せないよ。返せるのは疑似乱数だけ。

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

46デフォルトの名無しさん:2008/07/17(木) 17:50:36
/dev/(u)randomとかがある環境ならそれ開いて読み込めば。
47デフォルトの名無しさん:2008/07/17(木) 19:46:11
ひさしぶりにLisp以外の(サンプル)プログラムを読んで、
Lispってわかりにくいな、と感じたのですが、
慣れれば他の言語と同じくらい読めますか?
48デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/17(木) 22:00:32
(eval `(setq ,x '(a b c)))
50デフォルトの名無しさん:2008/07/17(木) 22:06:46
(setq x 'ringo)
(setf (symbol-value x) '(a b c))
51デフォルトの名無しさん:2008/07/17(木) 22:30:25
(setq x 'ringo)
(set x '(a b c))
5248:2008/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デフォルトの名無しさん:2008/07/18(金) 00:08:00
何言ってるかわかんねえ。
仕様をもっと分かりやすく書いて。
54デフォルトの名無しさん:2008/07/18(金) 00:19:38
>>48
君はJavaの方が向いている。
無理しなくておけ。
55デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/18(金) 12:14:51
>>56
それならハッシュテーブルを複製してから書き換えれば元のデータが残る。
関数プログラミングはアロケーションが増える覚悟でやらないと。
5852:2008/07/18(金) 17:27:56
すいません
まだ慣れていないものでどのように書けば
良いのか解らないもので
言葉を入力して貰いその言葉がどのような
集合に属するのか入力してもらい
集合が出来ていなかったら新たに作り
入力してもらった言葉を入れて
集合が出来ていたらリストの先頭に追加する
という処理をしたかったのです
Lispに慣れていないので、手続き型言語脳で
プログラムを書いてしまうのですが
どのようにするのがベストでしょうか?
よろしくお願いします。
59デフォルトの名無しさん:2008/07/18(金) 18:46:40
何がしたいのかより、なぜやりたいのかを教えてもらった方がエスパーしやすいかもしらんね
60デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/18(金) 20:34:32
>(acons x (cons y (cdr (assoc x groupdata))) groupdata)

間違いではないが、なんかすごいことになってるな
62デフォルトの名無しさん:2008/07/18(金) 21:01:27
ていうかメモリリークじゃね?
6352:2008/07/18(金) 21:04:30
ありがとうございます。
Lispを始めてみたところで
人工知能のための言語と噂されたこともある
言語なのだから人工無能を作れるのではないだろうか
と思って人工無能をつくろうとしてました。
そのために言葉のデータベースを作るための関数を作ろうとしてました
64デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/18(金) 23:14:27
>>64
手抜きは悪いことじゃないよ。ハッカーは怠惰だというしね。

でも手抜きするなら破壊的でいいじゃんって思った。好みの問題かな。
66デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/19(土) 09:27:54
自分用のライブラリを作りたいのですが、
cc -Llibdir -llibname や
emacs lisp の load-path みたいに、
他の directory に置いたライブラリをロードする、
良くやる手を教えてください。
68デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/19(土) 10:18:12
テンプレwikiからのお知らせ
よくありそうな質問をwikiでまとめておこうと思うので
よくありそうな質問と(回答ができそうな人は回答を)
書いてくれませんか?質問と回答のフォーマットは
一応決めてあります。

http://wiki.fdiary.net/lisp/?FAQ (id:guest pass:cl)
7067:2008/07/19(土) 12:49:13
>>68 とっても助かりました。

>>68 ログインして Edit までしたのですが、FAQ のページにどうやって追加していいのか。と言うか、書き込む勇気が、、、
7167:2008/07/19(土) 12:50:05
あ、2つ目の >>68>>69 です。
72デフォルトの名無しさん:2008/07/19(土) 17:18:30
>>70
気楽に追加してください。

fdiaryはmatz lispで作られたサイトなんですが、時々書き込めなかったり
重くて読み込めなかったりします。matz lispにはもう少し頑張ってほしい。
73デフォルトの名無しさん:2008/07/19(土) 17:23:24
(make-thread :name |Common Lisp| :part 5)
の方が良かったんじゃないか?
難民が出ているみたいだが。
74デフォルトの名無しさん:2008/07/19(土) 17:27:49
俺も唐突にスレッド名が変わって混乱した覚えがある
75デフォルトの名無しさん:2008/07/19(土) 17:47:25
スレタイといえば入門がなくなっちゃった。初心者が気後れしないかな。
(make-thread :name "Common Lisp" :part 5 :入門 :ok)
76デフォルトの名無しさん:2008/07/19(土) 17:57:06
正直気持ち悪い
こんなとこでオナニーすんなよ
7775:2008/07/19(土) 18:05:24
気分を害したならすまなかった。そこまで入門を嫌う人がいるとは想像できんかったな。俺が浅はかだった。
78デフォルトの名無しさん:2008/07/19(土) 18:07:35
>>77
つまんないやつは相手にする必要はないよ。

>>73 >>75
スレタイは行きすぎたかも。次スレのときにいい名前になればいいね。
79デフォルトの名無しさん:2008/07/19(土) 18:11:28
検索しにくくて難民がでるってのはマズイな。スレタイは元の形式がいいのかも。
いきなりS式ってもの入門者を拒絶してる(むしろS式が気持ち悪いと言われてる?)ように見えるのかもしれん。
80デフォルトの名無しさん:2008/07/19(土) 18:45:15
>>79
find.2ch.netの検索は引っかかるよ。
81デフォルトの名無しさん:2008/07/19(土) 18:53:22
かちゅーしゃでlispで検索すると一瞬わからないスレタイ
82デフォルトの名無しさん:2008/07/19(土) 19:34:54
俺が初心者だからフィルタかかってるのかもしれんが
>>76は入門という語を嫌ってるんじゃなく
(make...ってスレタイのほうを嫌ってるんじゃないか?

俺みたいなのには入門ついてるスレもあったほうが嬉しいが
スレタイで不必要にわかりにくくする必要はないと思う
83デフォルトの名無しさん:2008/07/19(土) 20:24:30
Lispが小文字で始まってる上にハイフンで繋がってるから検索に引っかからない。
マジで>>75ぐらいで留めてくれ。探せない。今回はScheme Lispスレから辿れたけど。
84デフォルトの名無しさん:2008/07/19(土) 20:37:59
>>81
検索するツールをLispで書けばいいと思うよ。
85デフォルトの名無しさん:2008/07/19(土) 20:48:20
OpenJaneで見てるんだが
タブ表示がこんな感じになっちゃってる

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

以前のスレタイに戻して欲しいに一票
86デフォルトの名無しさん:2008/07/19(土) 21:28:43
戻すも戻さないも スレ作りを他人任せにしたつけだよ。
これを機会に、これまでのほうがよいと思うなら積極的に
スレ作りに協力して欲しい。
87デフォルトの名無しさん:2008/07/19(土) 21:51:18
>>85の一票もスレ作りへの積極的な協力ですよ
88デフォルトの名無しさん:2008/07/19(土) 23:10:56
>>87
それは違うな。他人任せを積極的とは言わない。
89デフォルトの名無しさん:2008/07/19(土) 23:14:38
いったいどういう協力をしてほしいんだ?
金か?w
90デフォルトの名無しさん:2008/07/19(土) 23:16:05
スレタイ付けの自由らしいぞw
91デフォルトの名無しさん:2008/07/19(土) 23:22:48
そう思うならば、950越えたあたりになったら
作って、スレにアナウンスする。
これが積極的なスレへの協力だろ?
92デフォルトの名無しさん:2008/07/19(土) 23:28:04
それは協力というよりスレ立てそのものだな
93デフォルトの名無しさん:2008/07/19(土) 23:37:05
しかしウンコなスレタイだよな。
94デフォルトの名無しさん:2008/07/19(土) 23:41:33
例えば(setq common-lisp "Common Lisp")されてるのか、
それともmake-threadは関数でないのか? とか微妙
95デフォルトの名無しさん:2008/07/20(日) 01:58:39
ていうかそういう思考をスレタイに持ち込むのがウンコだと思う。

スレタイとしての「使い勝手」の悪さと引き替えには遊ばないで欲しい。
96デフォルトの名無しさん:2008/07/20(日) 02:00:59
本人は面白いと思ってやってるんですよ
97デフォルトの名無しさん:2008/07/20(日) 03:36:49
CL-USER> (get '>>1 'life)
0
98デフォルトの名無しさん:2008/07/20(日) 04:16:00
>>91が言ってるのは、スレ立てしろとかじゃないし、いくらセンスが悪くても>>1乙だろってことだよ。
スレタイを良くしたいならもう少しアクティブな住人が多くないと>>1もみんなの意向がわからないし。
99デフォルトの名無しさん:2008/07/20(日) 06:39:48
>>91をどう解釈してもスレ建てを積極的にしろになる件

んな事したら不毛なスレ建て合戦になるだろうが。
100デフォルトの名無しさん:2008/07/20(日) 11:49:07
俺が初めてスレ立てた時はこんな感じだった。懐かしい

スレタイ変更→次スレで元に戻らず→数ヵ月後俺が地味なスレタイに戻す→大混乱
101デフォルトの名無しさん:2008/07/20(日) 12:19:19
スレタイで遊んでも構わないが、このスレのはセンスがない。
俺の使っているエディタにはインテリセンスがない。
102デフォルトの名無しさん:2008/07/20(日) 12:32:20
>>101
うまいこと言ったつもりか?w
103デフォルトの名無しさん:2008/07/20(日) 13:05:37
センスでうちわ揉めすんな
104デフォルトの名無しさん:2008/07/20(日) 13:08:19
>>103
これはうまい
105デフォルトの名無しさん:2008/07/20(日) 13:08:59
>>103-104
なんというあからさまな自作自演
106デフォルトの名無しさん:2008/07/20(日) 13:28:50
>>104-105
お前それは急ぎすぎだ
107デフォルトの名無しさん:2008/07/20(日) 15:46:13
どーでもいいからLispの話しようぜ。
でもおれは最近Lisp使えてないけど…
泥粘土で遊びながら考えたいよ。
108デフォルトの名無しさん:2008/07/20(日) 16:37:11
>>73以降、Lispの話が出ていない orz
109デフォルトの名無しさん:2008/07/20(日) 17:39:22
>>94あたりは(Lispの話題として)ぎりぎり合格だと思う
110デフォルトの名無しさん:2008/07/21(月) 02:42:50
いま検索してて引っ掛ったんだけど
地獄Lispってサイトってなに?
地獄Schemeってサイトも有るんだけど・・
なんか恐い感じで開けていない
111デフォルトの名無しさん:2008/07/21(月) 03:15:25
>>110
こっちのスレに作者の人がいるから、直接聞いてみるのがいいと思う。

【魔法】リリカル☆Lisp【言語】
http://pc11.2ch.net/test/read.cgi/tech/1183396621/
112デフォルトの名無しさん:2008/07/21(月) 10:13:41
113デフォルトの名無しさん:2008/07/21(月) 13:20:32
普通にLisp系のサイトだったんですね。
良かったです。
ありがとうございました。
114デフォルトの名無しさん:2008/07/21(月) 15:53:03
テンプレWikiへの添付ファイルはできないですか?

とりあえず、テンプレWikiに入門スレの自分の持っている過去ログへの
リンクを貼りました。
たぶん1〜3スレは不完全なので、訂正できる方はお願いします。
Janeのログを上げてもらえれば、私が差し替えます。
115デフォルトの名無しさん:2008/07/21(月) 23:14:07
>>114
できるよ。エディットの下にattemptがあるので
116デフォルトの名無しさん:2008/07/21(月) 23:41:40
>>115
そこでエラーが出て添付出来なかったんです。
使い方がマズかったかな。
また試してみます。
117デフォルトの名無しさん:2008/07/22(火) 00:20:32
>>116
確認しました。fdiaryの管理人にお願いしておきました。しばらくすれば使えるようになる
と思います。http://wiki.fdiary.net/about/?bbs2 で確認してみてください。
118デフォルトの名無しさん:2008/07/22(火) 00:52:55
>>117
確認ありがとうございます。
119デフォルトの名無しさん:2008/07/22(火) 01:21:24
clisp処理系ってプロファイラないのですか?
120デフォルトの名無しさん:2008/07/22(火) 20:02:53
すいません。
CommonLispでプログラミングをしている中で、
作ったプログラムは関数を定義したファイルを作成しておいて
毎回それをインタプリタにロードして関数を使うのが王道なのでしょうか?
私はプログラミングのときには、
関数をファイルの先頭の方で定義しておいて
後半でUIの部分つまり
(format t "x:")
(setq x (read))・・・・
などとして
ファイルの一行目に#!・・・(インタプリタの場所)
を書き込んで使っています。(つまりユーザーはインタプリタを目にしないで良いようになっている)
これは不純な方法でしょうか?
すこし自分のプログラミングスタイルに疑問を感じてきたのでよろしくお願いします。
121デフォルトの名無しさん:2008/07/22(火) 20:51:43
それで済めば、それでいいのと違う?
ライブラリとして管理したければ、別ファイルにして読み込めばいい。
必要になってからでも遅くない。
122デフォルトの名無しさん:2008/07/22(火) 21:10:37
ありがとうございます。
123デフォルトの名無しさん:2008/07/22(火) 22:30:08
>>119GNU CLISPのこと?それともCommon Lisp一般のはなし?処理系によっては標準で備えてるものもあるし、
別途もってこないとダメなものもある。単純な比較なら標準のTIMEマクロでも結構便利だよ。
124デフォルトの名無しさん:2008/07/22(火) 22:52:20
CLISP なんて略語で Common LISP 一般を指すことは少ないと思う
125デフォルトの名無しさん:2008/07/23(水) 00:01:53
>>120
イメージ生成後にそれを起動する手順なら処理系依存としか言えない。
ポーティング先の都合ってのもあるから。
126デフォルトの名無しさん:2008/07/23(水) 23:27:51
wikiの過去ログですが、 bcvrf.yahoo.comが見つかりませんということで開けませんでした。
共有設定がなされてるでしょうか?よろしければご確認を。
http://help.yahoo.co.jp/help/jp/bc/bc-19.html
http://help.yahoo.co.jp/help/jp/bc/bc-22.html
127デフォルトの名無しさん:2008/07/24(木) 01:49:59
>>126
報告どもです。
Lisp schemスレはまとめて同じフォルダに入れてるんで、
共有設定のミスではないです。
ミスなら全部見れなくなるはずです。
たぶん、時間かアクセス数でURLが変わるんだと…
ファイル置き場変えながら、直しておきます。
128デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/24(木) 17:58:17
>>128
行数はsort関数を使えば自由に入力できるように成ると思う。
130デフォルトの名無しさん:2008/07/24(木) 18:03:53
おれがまずおかしいと思った点
・名前が異常 str0 str1 kakikaki・・ アホか
・破綻したロジック
>・引数に nil が使われないように'(10000)を lst にバインドしている
意味不明。10000行目は必ず出力するってことか?
131129:2008/07/24(木) 18:05:48
>>128
最初と最後を結んでるprognは何のため?
ファイルは基本上から処理していくと思うからいらないような気がする。
132デフォルトの名無しさん:2008/07/24(木) 19:12:06
prognん中にdefun入れて良かったんだっけか
133デフォルトの名無しさん:2008/07/24(木) 19:23:40
釣りなのか本気なのか判断に迷う
134128:2008/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デフォルトの名無しさん:2008/07/24(木) 22:01:25
>>134
まあ焦らないことだな
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html

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

質問したければ別に構わないが
なんでも掲示板に聞きに来るのはかえって効率が悪い
136129:2008/07/24(木) 22:08:47
>>134
がんばれ
>>最初と最後を結んでるprognは何のため?
>xyzzy の lisp-interaction-mode で Ctr-J 一回で動作させるには?
>と、考えて書きました。どうもかなりマズイんですね。

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

>>All
UNIXの一行目に#!〜ってやつはなんと言う名前でしたっけ。
毎回こう書くのは大変なので技術名を教えてください。
137デフォルトの名無しさん:2008/07/24(木) 22:26:05
>>132
初心者では普通はしないが、マクロでまとめてマクロや関数を作るときは
ないことはない。

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

>>134
フォートラン的なlispはつくれるけど、(グリーンブラット的とも言う。)
lisp的に見えないのが弱点かな。もう少ししたらいい参考書が発売になるし
手に入れてみたらいいよ。
138デフォルトの名無しさん:2008/07/24(木) 22:35:21
たしかシェバングだっけ?
>>134
焦らず頑張れ
139デフォルトの名無しさん:2008/07/24(木) 22:39:13
shebang というらしい
http://en.wikipedia.org/wiki/Shebang_(Unix)
が、「一行目に#!〜ってやつ」のほうが通じやすいと思う。w
140129:2008/07/24(木) 22:44:59
>>137-139
ありがとうございます。
通じるのはUNIX板だけかもしれないですね。
ググっても0件だったので検索に引っかからなかったので困ってました。
ありがとうございます。
141128:2008/07/25(金) 00:24:41
>>136
>>138
励ましが嬉しかったです。
作ってみたい気持ちが先走り過ぎてました。

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

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

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

僕の書き込みに時間を割いてくださった方々、ありがとうございました。
142デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/25(金) 01:49:18
144デフォルトの名無しさん:2008/07/25(金) 04:08:11
>>143
うはぁ、時々伺うサイトで速攻取り上げられているとは。
145128:2008/07/25(金) 07:05:14
>>142
> >>128Common Lisp入門って書籍?
はい、岩波から出ている本です。
> こんなんなった。open は with-open つかえば安心確実。
わざわざ、書いていただいてありがとうございます。
僕の知識不足に配慮してもらってるようで、助かります。
CLISP で動作できました。
キーワードの使い方など、知識と理解があると出来ることが広がるんだと思えてモチベーションが上がります。
> ループ毎に i を 1 ずつ増やし、line 一行呼んでソート済みの lst の先頭と行番号を比較して〜。
loop に関する記述が手元の本に少ないので、これから検索しながらこのプログラムを読み込んでいきます。
だんだん楽しくなってきました。


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

あと3日でdat落ちしてくれないかな、このスレ(´・∀・`)
146デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/25(金) 08:33:35
>>145
入門者にいきなりエレガントなコード書かれたら、
この道のプロの人たちは失業の危機じゃないか?

自分のコードの拙さを気にする奴は伸びる。
地道に頑張れ。
148デフォルトの名無しさん:2008/07/25(金) 09:48:28
読む価値のあるコードを書く凄いプログラマが登場したら楽しいじゃないか。
149デフォルトの名無しさん:2008/07/25(金) 10:32:01
こういう良い志を持ったプログラマ希望の人が
増えますように・・・・・
Lispプログラマに幸あれ
150デフォルトの名無しさん:2008/07/25(金) 13:17:58
>>147
プロにはエレガントでないコードの需要が山のようにあるので失業しませんよw
151デフォルトの名無しさん:2008/07/25(金) 18:12:53
>>150
んまぁ。。
最適化をやりだすとかなり泥臭いコードに変わるから、どろどろした速いコードは多いと思うよ。
マクロを使わなければ…
152デフォルトの名無しさん:2008/07/25(金) 20:03:01
「エレガントでないコードの[後始末]という需要」だったらかなりイヤゲ
153128 :2008/07/25(金) 22:24:55
>>146
> >>145
> 元コードの主旨に従った物を書いてみた。
これはすごく参考になります。
自分で作っていて、関数定義の中で with-open 使った上で再帰すると、 close せずに再びファイルを open しようとしてエラーになるだろうし、lambda式では関数に名前を付けらず再帰できないし、と悩んでた部分が解決されてる!!
局所関数と局所変数をあわせて使うんですね。
自分の分かってなさもよく分かってくる…
それでも視界が広がった感じがあります。
> xyzzy は使ったことないんで通るかどうかは不明だが…
xyzzy では write-line が定義されてないので、そこを format で書き換えるだけで動きました。
ありがとうございました。

>>147
はい、地道にやっていきます。
ここ数時間で本に貼った付箋の数が、今までの5倍以上になって充実した時間が過ごせてます。
こんなに興味をもってプログラムを読めるとは、思わなかったです。
154デフォルトの名無しさん:2008/07/25(金) 23:47:14
ふっふっふっふ。。。大量に平積みだよ。
http://raido.sakura.ne.jp/southly/xyzzy/pcl.jpg
155デフォルトの名無しさん:2008/07/26(土) 00:40:42
>>154
AMOP 誰か、訳さんかのぉ
OO 系の LL user には福音のはずなんじゃが…
156デフォルトの名無しさん:2008/07/26(土) 00:45:50
発送通知まだ来ない(´・ω・`)
157デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/26(土) 01:57:30
common lisp のシンボル早見表だって。
http://clqr.berlios.de/index.html
159デフォルトの名無しさん:2008/07/26(土) 05:41:24
>>158
GFDL だね。訳しても問題はおこらないかも。
160デフォルトの名無しさん:2008/07/26(土) 05:52:31
まぎらわしいからその終助詞「かも」はやめなさい。
>>158
よく出来てるねえ。
161デフォルトの名無しさん:2008/07/26(土) 07:25:34
ブルータス、お前かも
162デフォルトの名無しさん:2008/07/26(土) 11:08:56
人気の高い「モカ」の使用休止が 相次いでいる。輸入の98%以上を頼っているエチオピア産から基準値以上の残留 農薬が 検出され、
厚生労働省が事実上、輸入にストップをかけている為。これに伴い、ヤミ業者による「カモ」の代替使用が急増し社会問題となっている。

http://headlines.yahoo.co.jp/hl?a=20080720-00000004-maip-bus_all
163デフォルトの名無しさん:2008/07/26(土) 12:07:37
>>158
美しい!
164デフォルトの名無しさん:2008/07/26(土) 12:13:17
>>128
CommonLispをもっと勉強するとさらにいろいろ発見があるよ。
たぶんまだ普通の言語みたいに行単位で Lisp 関数を書いている頃だとおもうが、
そのうち、ふっと行じゃなくてS式としてとらえられるようになる。
それからがまた楽しいのだよ。
165デフォルトの名無しさん:2008/07/26(土) 17:02:14
pythonのimportに相当するのはasdfだと思っていいのでしょうか?

(require 'hoge)
で呼び出すように変更する手間がめんどい
166デフォルトの名無しさん:2008/07/26(土) 19:56:36
>>154
買ってきた、せっかく大型書店へ行ったので他にもかったら3万ほど消えてしまった。
167デフォルトの名無しさん:2008/07/26(土) 22:40:02
>>154
嬉々として、平積みされてる実践Common Lispを撮影している、
おまいを想像してワロタ。
同士ダナ!

>>158
これは3000円以上の価値があるな。
オレにとってはだが。
めっちゃ、ありがとう!!!
168デフォルトの名無しさん:2008/07/26(土) 23:22:38
ちょっと奥さん、実践CLの正誤表ができましたわよ!
http://pcl.lispuser.net/
169デフォルトの名無しさん:2008/07/27(日) 07:05:47
>>165
んだ
170デフォルトの名無しさん:2008/07/27(日) 14:15:06
で、実践Common Lispって買う価値あったの?
171デフォルトの名無しさん:2008/07/27(日) 14:21:41
人による
172デフォルトの名無しさん:2008/07/27(日) 14:42:51
まだ序盤の三章まできたところですがポールグレアムANSIコモンリスプより例が平易だと思いました。達人のひとには物足りないのかもしれません。
173デフォルトの名無しさん:2008/07/27(日) 16:27:50
おもしろさはNorvigほどじゃないYO!
174デフォルトの名無しさん:2008/07/27(日) 16:29:02
原文は読めるんだからちょっと高いかな
そのぐらいの値段にならざるを得ないのは分かるが
175デフォルトの名無しさん:2008/07/27(日) 16:42:22
英語すらすら読めない俺歓喜!
英語読めばいいとか言ってるムカつく野郎に追いつける。
日本語\(^o^)/

で、いつ届くんだAmazon
176デフォルトの名無しさん:2008/07/27(日) 17:01:07
とっくにbk1から発送済なのにメール便でいつ届くか判らん俺、涙目
177デフォルトの名無しさん:2008/07/27(日) 17:11:20
落ち着け まだ慌てるような時間じゃあない
178デフォルトの名無しさん:2008/07/27(日) 17:14:17
例はともかく能書きが鬱陶しいのな
wktkしてるおまいらも読み飛ばすと思うけど
179デフォルトの名無しさん:2008/07/27(日) 18:07:55
柿の種のピーナツみたいでああいうの実に好きなんだが
180デフォルトの名無しさん:2008/07/27(日) 18:26:04
178はピーナッツ嫌い。でピーナッツが多いからダメといっとるんだろう。
C言語撃退塾とか読ませたら許せなくてマジギレするタイプとみた。
181デフォルトの名無しさん:2008/07/27(日) 18:56:42
鬱陶しいブログ書いてるのはお前らか
キー!!
182デフォルトの名無しさん:2008/07/27(日) 19:10:59
ごめん、ちょっとマジで意味わからん。ブログなんて持ってないけど……
183デフォルトの名無しさん:2008/07/27(日) 19:34:17
>>181
オレオレ
184175:2008/07/27(日) 22:09:27
能書きが欝陶しいのか…。なんか萎えたのでキャンセルした。
なんかオススメある? >>178
185デフォルトの名無しさん:2008/07/27(日) 22:14:09
読み飛ばせばいいじゃん・・・
186デフォルトの名無しさん:2008/07/27(日) 22:16:05
翻訳ものはたいていそんな感じでしょ
中はイイこと言ってるのに前置きに大演説が入るの
187デフォルトの名無しさん:2008/07/27(日) 22:25:49
夏だなぁ。。。
おまえら、そんなことばかり言ってたら良書が出てきても日本語
を作ってくれる人がいなくなるぞ。
彼らの努力で出版までたどり着けて日本語で読めるってことのあ
りがたさをなぜ理解できない?
188デフォルトの名無しさん:2008/07/27(日) 22:41:00
夏だなあ
誰も日本語にケチはつけていない
189デフォルトの名無しさん:2008/07/27(日) 22:44:39
>>184
そんなわがままな子には何も勧められません
190175:2008/07/27(日) 23:08:24
ちょっと勉強してみようと思ったのに週末オワタ\(^o^)/
なんなんだよー。ワクテカしてる人を見ると嫌がらせしたくなる人だったのか?
191デフォルトの名無しさん:2008/07/27(日) 23:19:26
そんなにブレてどうすんの
中身が悪いとかいう話は出てないのに・・・
192デフォルトの名無しさん:2008/07/27(日) 23:19:31
>>190
どんな本でもケチをつけようと思えばつけられる。それを踏まえて
匿名の所のレスを読んでたらいい。匿名は悪口を言うのが主流だか
らな。そのうちブロガーも書評を書くだろうから匿名よりそちらの
方が信頼できるだろう。どうせdanさんとか書くだろ。

>>188
わかっちゃいねーな。日本語にケチをつけなくても訳者が萎縮する
ようなことをいってれば日本語訳が公開されなくなるよということ
だ。丁寧に書かないと理解はできないかもしれないが、ここは数行
のレスにするほうが好まれるから、行数が6行以上つかうのは、控え
てるのだ。おまえら長文ウザいというだろ?
193デフォルトの名無しさん:2008/07/27(日) 23:24:02
それに、日本語にケチをつけるとは書いてないんだが。
194デフォルトの名無しさん:2008/07/27(日) 23:24:12
てか原文しか見てないけど悪くないよ
別の本で概略が頭に入ってた方がいいと思うけど
195デフォルトの名無しさん:2008/07/27(日) 23:28:56
>>187
>>192

こんなに過剰反応する必要があるほど叩かれてないと思うんだが
196デフォルトの名無しさん:2008/07/27(日) 23:35:59
たった一言でキャンセルとか言う人が出たからでしょ。
潔癖症だなw
197デフォルトの名無しさん:2008/07/27(日) 23:41:30
訳者が萎縮するとか心配しすぎ
198デフォルトの名無しさん:2008/07/27(日) 23:57:48
だよな。いやよいやよも好きのうちっつーか、批判の多い本ほど売れてるもんだよ。
199デフォルトの名無しさん:2008/07/28(月) 08:57:00
>>197
萎縮した訳者が書いたなら心配しすぎとも言えないだろw
200デフォルトの名無しさん:2008/07/28(月) 09:50:36
書評なら原文があるんだから日本語版がなくてもできたはずだな
やたらwktkしてたけど内容わかってなかったんかい
201デフォルトの名無しさん:2008/07/28(月) 10:07:58
schemeを組みこんだemacsもどきなエディタの習作というのはたまに見ますが
sbclとかを組み込んだemacsもどきの習作ってありますか?
202デフォルトの名無しさん:2008/07/28(月) 10:55:32
>>201 sbclとかを組み込んだの意味がイマイチ把握できないが
common lisp で書かれたemacsもどきのエディターならある
203デフォルトの名無しさん:2008/07/28(月) 11:42:24
>>201
CMLCL
> ・an Emacs-like editor implemented in Common Lisp.
204デフォルトの名無しさん:2008/07/28(月) 12:20:15
sbclを組み込むってのは、そのemacsもどきを作る時sbclのソースか共有ライブラリを
そのまま再利用するって意味だと思うぞ
205デフォルトの名無しさん:2008/07/28(月) 12:31:56
組み込むってのは、
エディタありきで拡張言語として〜を
って考え方なんだろうと思うけれど、
解答者はその言い回しにこだわることはないと思う。
206デフォルトの名無しさん:2008/07/28(月) 14:31:25
変数のスコープが変な以外はemacs lispもcommon lispと大まかには一緒
とにかく長い名前変数名つければどっちでも動くと思う
207デフォルトの名無しさん:2008/07/28(月) 15:18:23
それはない
208デフォルトの名無しさん:2008/07/28(月) 15:39:03
>>206
lambda関数一つとっても使い方が違う
209201:2008/07/28(月) 16:00:12
ありがとうございました
CMLCLというのは見付けられませんでしたがclimacsというのを見つけました
結構長続きしているプロジェクトなんですね
こちらの環境はビルドできませんでしたのでコードを眺めていました
emacs本家のCコードと違って吐き気がしないのがいいですね

sbclとかを組み込むと云々というのは、
近代的で、マルチタスクの、高速なlispを備えたemacsクローンが欲しいってだけです
sbclが例なのは、簡単なsumで比べてもelispとは段違いで、「elispもこんなのだったらいいのに」っていう願望です
210デフォルトの名無しさん:2008/07/28(月) 17:03:25
211デフォルトの名無しさん:2008/08/01(金) 00:01:04
Emacsのinfoでhyper specとか見れたらいいのになぁ
html2texiとか作れるのかな?
dpans2texiっていうのを見つけたけどftp鯖にデータが無くて使えないのに
もっと早くからcommon lisp触ってればよかったよ‥
ここの人達でemacs使ってる人なら皆texi版のdpANS持ってそうだなぁ
212デフォルトの名無しさん:2008/08/01(金) 00:27:20
>>211
> Emacsのinfoでhyper specとか見れたらいいのになぁ

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

結局dpans3で検索したら新しい場所が見付かり
dpans2texiで難なくinfoが作れました
でもhyper specの方が新しいんですよね…
216デフォルトの名無しさん:2008/08/02(土) 14:04:38
基本となるデータの構造を全てリストで保持した場合には、
そのデータへのアクセスをcar, cdr 等の組み合わせのみ記述すると
可読性が著しく落ちることが良く有ると思います。
その場合に皆さんは普通にマクロのみで対処しますか?
それとも明示的に defstruct や CLOS を使いますか?

カプセル化だけしたい所で CLOS を使うと
なんとなく別の意味で面倒になった感じがします。
例えばリストだけなら copy-tree で済む所が
copy constructor みたいなものを書くのが面倒だとか、
コード記述に関するオーバーヘッドが大きいと思うのです。
まあ MOP は知らないのがいけないのかもしれないのですが。
217デフォルトの名無しさん:2008/08/02(土) 14:17:35
>>216
リストの欠点がひとつも書かれてないけど、なんで迷うの?
可読性の問題はマクロで解決したんでしょ
パフォーマンスについては何とも言えないし、とりあえずリストでいいじゃん
218デフォルトの名無しさん:2008/08/02(土) 14:48:10
>>206 そうですね〜。確かに。

カプセル化のみが重要な場合に CLOS が必要になる事例があるのかな?
という別の疑問だったのかもしれません。
C++ でクラスを使う時はカプセル化の意味は大きいのですが、
Lisp ではマクロがある以上、CLOS の出番があるのだろうか?と言う事です。
まあ、CLOS を、マクロのみで記述している処理系では実は意味がない疑問で、
結局はリストとマクロのみでしょ。って言われそうですが。w
219デフォルトの名無しさん:2008/08/02(土) 14:49:19
>>217 の間違い。
220デフォルトの名無しさん:2008/08/02(土) 17:14:47
>>216
内容によるけど、defstructやCLOSを使いますよ。ランダムアクセスをさせるような
木の特定部分に直接いじるような使い方をする場合はリストは使わないですね。

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

CLOSと構造体、リストはどんな楽をしたいのか?何を重視するのか?で変わってきますね。
221デフォルトの名無しさん:2008/08/02(土) 18:41:15
短いプログラムならともかく、普通アクセサを作るんじゃないの?

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

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

とりあえず、アクセサ作って実装を隠蔽しておく。実装はリストでやっとく。
で、あとでパフォーマンスが問題になったらプロファイリングして、インラ
イン宣言いれたり、構造体等で置き換えたり、って感じ。
222デフォルトの名無しさん:2008/08/02(土) 19:00:48
>>216
普通は>>221のいうようにリスト操作して必要な情報を取り出す小さい関数を
定義する。例が欲しければSICPでも見てみればいい。
223デフォルトの名無しさん:2008/08/02(土) 22:25:18
>>216
ケイスバイケイス。そういうとこでセンスの良い選択をするのが腕の見せどころ。
つまり、一概に「こうするのが良い」という解は無い。
224デフォルトの名無しさん:2008/08/03(日) 13:07:46
多くの変数に同一の値を代入したくてマクロを書きたいのですが、
どのように書けば良いのでしょうか
一つの値を返す式またはデータと変数のリストを引数にとり
実行すると式orデータの値が変数に代入される。マクロです。

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

>>a
3
>>b
3

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

他にも、リストを使うか構造体を使うか、とか、
やり方が2通り以上あると迷う人がいるのも気になる。
229デフォルトの名無しさん:2008/08/03(日) 13:45:52
すいません
回答ありがとうございます。
じつは研究の過程で
100ぐらいの変数に同じ値を入れてある式に入れて結果の分布とかを求めなければ
いけない事体に陥りまして、Lispは少年時代から触れている言語なので
ぜひともLispで実装したく思いまして。
ありがとうございます。
230デフォルトの名無しさん:2008/08/03(日) 13:53:14
>>229
なるほど、それなら、変数に配列を使った方が扱い易いと思うよ。
(setf arr (make-array 100 :initial-element 3)) とかすれば、いいし。
あるいは
(setf lst (make-list 100 :initial-element 3))とかね。
少なくとも、それだけ変数があるなら自動化が出来る方法を探さないと骨が折れるよ。
231デフォルトの名無しさん:2008/08/03(日) 14:10:29
少年時代から…だと…。なんという期待の超新星。ついに次世代のLisper登場か。
232デフォルトの名無しさん:2008/08/03(日) 14:12:27
より一般的に引数の固定を使ってやりたいな
C++のbindとかschemeのcutみたいにさ
(mapcan (bind #'setq _1 3) '(a b c d))
標準でありますか?

あと子供の頃からLispって羨ましすぐる…
233デフォルトの名無しさん:2008/08/03(日) 14:43:42
>>230-232
ありがとうございます。
>>231
いえいえ、諸先輩方には遠く及びません。
精進いたします。
234デフォルトの名無しさん:2008/08/03(日) 14:52:36
>> 232
なんか知識と書いてるコードがちぐはぐね。
235デフォルトの名無しさん:2008/08/03(日) 19:19:14
Lispでアプリケーションを作っている物としてはどんな物が有りますか。
EmacsはLispからXwindowsを呼び出しているのでしょうか?
いまいちLispアプリケーションの配布方法がわからず困っています。
236デフォルトの名無しさん:2008/08/03(日) 19:40:25
Lispだからどう、でなく、各処理系ごとに流儀が違うだよ。
237デフォルトの名無しさん:2008/08/03(日) 19:52:37
clispです。
Ltkという物はMacOSXでも動くようなので導入したいのですが
asdfやasdf-installの仕方がわからず困っています。
ネット上の情報もMacOSX10.5対応の物かどうかが定かでないのですが、
Clispでのasdf系のインストールでおすすめのサイトをよろしくお願いします。
238デフォルトの名無しさん:2008/08/03(日) 20:26:23
239デフォルトの名無しさん:2008/08/03(日) 20:37:52
asdfはできましたがasdf-installが難しくて挫折しました。
ありがとうございました。
240デフォルトの名無しさん:2008/08/03(日) 20:40:49
もしかしてasdfさえ有ればasdファイルを手動でとる事を我慢すれば良いのでしょうか
そうするとasdf-installは不要なので大丈夫そうです。
ありがとうございました。
241デフォルトの名無しさん:2008/08/04(月) 10:10:34
>>224
代入される方(リスト)を第一引数にして欲しいなあ。
242デフォルトの名無しさん:2008/08/04(月) 15:54:41
>>235の言う「アプリケーション」って、
「GUIアプリケーション」に限定されてるの?
X Windowうんぬんのところは何を言おうとしているのか分からない。
243デフォルトの名無しさん:2008/08/04(月) 20:18:13
エンドユーザーにも受け入れられるGUIアプリケーションを作りたかったのです。
通常のアプリケーションと同じように簡単に導入できるアプリケーションを作成したいのですが。
Lispでは方法がわからず困っていました。C言語ではGUIアプリケーションは作る事が難しい
と聞いていたので、Lispでも同じなのでしょうか?
Lispで作られたGUIアプリケーションはどんな物が有るか調べた所楽譜作成ソフトなどが
見つかり少し安心しているのですが、ああいった物はどのようにしているのでしょか?
244デフォルトの名無しさん:2008/08/04(月) 21:59:50



ひみつです
245デフォルトの名無しさん:2008/08/04(月) 22:25:50
GtkやQT辺りをCで叩けるようになってから出直してこい。
もしくはtkで我慢汁
246デフォルトの名無しさん:2008/08/04(月) 22:38:22
Windowsだと洛陳だよ
247デフォルトの名無しさん:2008/08/04(月) 22:57:26
LispとかUnixはWeb系ってかんじですか?
248デフォルトの名無しさん:2008/08/04(月) 23:04:12
楽譜作成ソフトと言われてもなぁ。McCLIMとかのCLIMを使ったやつかLispWorksのCAPI製のやつか…。

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

名前を聞いても想像できないなら、いきなりLISPでGUIに挑戦するのは初心者にはお勧めできない。
資料の少ないからどーでもいいところで詰ってしまう可能性が高い。
249デフォルトの名無しさん:2008/08/05(火) 00:50:02
英語ドキュメント読めないとすぐに手詰まりだろうしな。
250デフォルトの名無しさん:2008/08/05(火) 11:17:23
>OpenGLやCLX
これは昔使った事が有ります。(UNIXとMac意外はあまり詳しくないのでWin32 APIはわかりません)
MacOSXだとAPIはCocoaになると思うのですが
clispなどの処理系でもCocoaは呼び出せるのでしょうか?
OpenMCLを使うしか無いのでしょうか?
それと、
>LispでもOpenGLやCLX、Win32 APIを直接叩くとCとそんなに手間はかわらない。
これはどの処理系でも良いのでしょうか?
251デフォルトの名無しさん:2008/08/05(火) 11:58:31
CommonLispで改ページはどのようにすれば良いのでしょうか?
252デフォルトの名無しさん:2008/08/05(火) 12:59:47
>>251
(terpri)
253デフォルトの名無しさん:2008/08/05(火) 13:06:11
Allegro common lispのフリーのダウンロードしてみたんですが使い方がさっぱりわかりません。
本はCommon lisp入門っぽい名前のやつとOn LISPしか持ってないです
254デフォルトの名無しさん:2008/08/05(火) 13:08:26
そうですか。
255デフォルトの名無しさん:2008/08/05(火) 13:13:08
>>252
そりゃ改行だがね
256デフォルトの名無しさん:2008/08/05(火) 13:55:25
改頁文字を出力するということだと、
(print #\Page)
(format t "~|")
なのかもしれない。
257デフォルトの名無しさん:2008/08/05(火) 14:04:41
>>252,>>256
ありがとうございます。
>>256
処理系はclispなのですが、(print #¥Page)とすると
[2]> (print #¥Page)

#¥Page
#¥Page
となっておしまいなのです。これはどうしてでしょうかよろしくお願いします。
求めているのはUNIXのclearの様な機能です。
258250:2008/08/05(火) 14:09:05
OnLisp,CommonLisp入門などの本が手元に有るのですが、
どちらもCUIアプリケーションの作製法は書いてあるのですが
GUIアプリケーションの作製法などについて触れている本が有れば
紹介お願いします。
259デフォルトの名無しさん:2008/08/05(火) 16:00:22
>>258
http://www.cliki.net/Graphics%20Toolkit

調べた情報を日本語blogかどっかたにまとめたらいろんな人に感謝されるよ
260250:2008/08/05(火) 16:10:02
>>259
それはそのサイトの内容をと言う事でしょうか?
以前からLispをもっと活発にする活動をしたいと思っていたのですが
そのようにできたらうれしい限りです。
261デフォルトの名無しさん:2008/08/05(火) 17:20:18
wikiの内容じゃなくて、wikiから辿れるページを纏めることになると思う
262250:2008/08/05(火) 17:57:45
まとめるためにWikiページを作成したく思います。
何かベストな名前が有りましたらよろしくお願いします。
JCLikiだとあまりにも芸がないので
263デフォルトの名無しさん:2008/08/05(火) 18:26:08
既に最近このスレ関係でwikiができて、
http://wiki.fdiary.net/lisp/
にwikiがありますよ。

あと、common-lisp-users.jpは空いてるようなので、ドメイン取って運用とか、
Smalltalk-users.jpみたいに、
google sitesで作るとか、
http://sites.google.com/a/smalltalk-users.jp/home/Home

形とか運用方法にこだわっても利用されなければ意味がないので、
私は、
http://wiki.fdiary.net/lisp/
を育てるに一票
264250:2008/08/05(火) 18:36:11
そうですか・・・・
ありがとうございます。
スレ独自の物に手を加えるのは私は心配なのですが、
2年前にじぶんで作った
`(CommonLisp Wiki)という全く何もおこっていないサイトが有ったのを
思い出したのですが、そちらに情報を蓄えて行く訳にはいかないでしょうか
全く何もないですが以下URL
http://www6.atwiki.jp/commonlisp/
265デフォルトの名無しさん:2008/08/05(火) 18:49:16
自分である程度まで育ててから他に人にも支援を頼むって流れは良く見るが
全部他人任せワロスww
266デフォルトの名無しさん:2008/08/05(火) 18:50:15
いや、志は全く同じなので、http://wiki.fdiary.net/lisp/
を勝手に改変して行けば良いのではないでしょうか。
編集しにくいということであれば、そちらのwikiにメインの記述をして、
リンクだけ貼るという手もありますね。
267250:2008/08/05(火) 18:55:09
>>256
スマソ、トップページのメッセージは気にしないでください。
あれは開発当初はもっと熱心に改造して行くつもりだったので
あのような文章に成っています。
今リアルタイムでQ&Aページを作成してるので気になる点など有りましたら
よろしくお願いします。
268デフォルトの名無しさん:2008/08/05(火) 18:58:48
>>264
fdiary.netに作ったものだが、どこでまとめても大丈夫だよ。lisper pagesにリンクを貼っ
ておけばいいよ。fdiaryのlisp wikiは誰がどのように使おうと構わないですから。スパム
はダメだということと、lispとちゃんとつながっていることが前提だが。

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

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

Norvig国のgoogle sitesもいいかもしれないな。
269250:2008/08/05(火) 18:59:58
わかりました。
がんばって開発してみます。
270デフォルトの名無しさん:2008/08/05(火) 19:08:50
お前ら…
あんまり変なことするとPythonみたいに妨害されるぞ…
271デフォルトの名無しさん:2008/08/05(火) 19:12:01
>>267
目標も同じで、既に存在している、機能的にも似た物があるのに、
「スレ独自の物に手を加えるのは心配」とか、お前さんにしか理解できない理由で、
自分の方を使ってくれ、っていうのは、他の人には「(゚Д゚)?」って感じだと思うぞ。
現状だと子供のわがままにしか見えん。

他の人にも納得できるだけの相応の理由があって、
それなりの行動力があると思わせる言動をしていれば、
>>265みたいに皮肉られんよ。
272250:2008/08/05(火) 19:21:53
わかりました、
確かにそうですな、そちらの開発に参加させて頂きたく思います。
たった今先ほどのWikiは削除させて頂きました。
ご指導ありがとうございました。
>>270
詳細は知りませんが私は全くおこらないタイプなので無害ですよ。
殴られてもおこらないぐらいです。
273デフォルトの名無しさん:2008/08/05(火) 19:37:11
>>272
270は他言語圏にふれたことについて、危険だよといってるだけだから、気にしなくていい。
274デフォルトの名無しさん:2008/08/05(火) 19:37:24
>>257
printじゃなくて、princでした。
clearということになると、
ncurse等を使うことになるのかも。
275250:2008/08/05(火) 19:48:04
ちょっ誰ですか?
親切にも'(CommonLisp Wiki)をLisperBlogに登録してくださっていたのは
ありがとうございました。
自分で削除しておきますね。
276250:2008/08/05(火) 19:50:29
と思ったが編集できない
変更お願いしますね
277デフォルトの名無しさん:2008/08/05(火) 20:08:51
>>276
login: guest pass:cl
だよ
278250:2008/08/05(火) 20:42:56
ありがとうございます。
手始めにClispのmacOSXへのインストールを書かせて頂きました
ご確認よろしくお願いします。
279250:2008/08/05(火) 22:12:01
L-99の和訳をしたいと思うのですが
著作権的にどうなのでしょうか?
280デフォルトの名無しさん:2008/08/06(水) 00:19:52
L-99のオリジナルは、P-99というPrologの問題集なので、
オリジナルのP-99の作者の先生に確認することになるのでは
ないかという気が…。
L-99はなんとも微妙な気がするので…。
281250:2008/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デフォルトの名無しさん:2008/08/06(水) 17:03:26
asdfの話題が出ているようなので私も
cl-whoを導入したのですが、サイトのサンプルを実行して見たいのですが
*html-stream*なんて無いというエラーがかえってきてしまいます。
よろしくお願いします。

環境はMacOSX10.5です。
283デフォルトの名無しさん:2008/08/06(水) 17:18:30
cl-whoは*html-stream*と関係なかったような?
他のパッケージからcl-who使っていたりしない?
284デフォルトの名無しさん:2008/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 '(("http://zappa.com/" . "Frank Zappa")
("http://marcusmiller.com/" . "Marcus Miller")
("http://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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/08/06(水) 17:51:29
g000001さんがアナウンスしたけど、ecl 0.9lって、maximaのビルドが
できるようになったね。その他は、GCとスレッドインタプリタのパフォー
マンス改善のようです。

ecl ってwindowsで動かんかったっけ?
287デフォルトの名無しさん:2008/08/06(水) 18:08:10
>>285
できました。
ありがとうございます!!!
やっぱり英語はできないと苦労します・・・・0rz

288287:2008/08/06(水) 18:17:09
あっつ私にも
>>281
と同じ感じの事がおこりました。
250さんとあわせて回答お願いします。
289デフォルトの名無しさん:2008/08/06(水) 22:54:05
回避方法は色々あると思うけど、
http://lispuser.net/commonlisp/clisp.html
を参照して専用のイメージを作ってみるというのはどうだろう。
290デフォルトの名無しさん:2008/08/07(木) 11:09:29
clisp はスクリプトを実行するとき(repl を起動しないとき)は .clisprc を読み込まないよ。
http://clisp.cons.org/impnotes/clisp.html#opt-exec-file
>>289 の言うようにメモリイメージを作っておくのがいいんじゃないかな。
291287:2008/08/07(木) 12:40:36
>>289
参照するのはCLISP 用コアファイルのビルドスクリプトという所でしょうか?
292287:2008/08/07(木) 13:02:23
http://d.hatena.ne.jp/cl-intern/20070814
を参考にして
clispで基本ファイルをロードした状態でメモリイメージを保存し
ファイルの先頭に
#!/opt/local/bin/clisp -norc -M clispinit.mem
した所無事にスタンドアローンに実行できました。
これでも良いのでしょうか?
293287:2008/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デフォルトの名無しさん:2008/08/07(木) 16:09:28
サイトのリンク集に入れたいのですが
http://wiki.fdiary.net/lisp/はFrontPageと言うサイト名でしょうか
295デフォルトの名無しさん:2008/08/07(木) 16:11:05
>>294
lisp's wiki 
296デフォルトの名無しさん:2008/08/07(木) 16:16:16
素早い返事ありがとうございます。
297デフォルトの名無しさん:2008/08/07(木) 16:22:41
>>293
/User/→/Users/ってヲチじゃないでしょうね。
>>282
> 環境はMacOSX10.5です。

298293:2008/08/07(木) 16:39:08
できました。
恥ずかしい・・・・orz
299デフォルトの名無しさん:2008/08/07(木) 18:00:18
CommonLispにはPerlやRubyのような
www::mechanizeのようなブラウザの動作をエミュレートするような
ライブラリは無いでしょうか
300デフォルトの名無しさん:2008/08/07(木) 18:06:01
301デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/08/07(木) 22:45:22
>>301
clnuplotダウンロードしてみたけど、その関数は別のライブラリで定義されてるみたいだよ。
cl-containers,cl-mathstats,metabang-bind,trivial-shell が全部いると思う(clnuplot.asdより)。
ちゃんと入れてるなら他が原因かも。
303デフォルトの名無しさん:2008/08/07(木) 23:22:28
わざわざダウンロードして頂いたなんてありがとうございます。

入っていますね・・・・・・
ロードするときは(asdf:oos 'asdf:load-op :clnuplot)
だけで良いのでしょうか
304デフォルトの名無しさん:2008/08/07(木) 23:36:59
305303:2008/08/08(金) 12:44:35
ちょ>>304が書かれてから急に進展しなくなった
306デフォルトの名無しさん:2008/08/08(金) 13:05:03
いやあまりにも教えてちゃんだからw
307303:2008/08/08(金) 13:23:39
すいませんでした。
他の方の環境の方では無事に動作しているようなので私の
システムに何か問題が有るかもしれないのであきらめます。
ありがとうございました。
308デフォルトの名無しさん:2008/08/08(金) 15:57:23
漏れも追試してみたけど、
(asdf-install :clnuplot)
だけでインストールできたよ。
ただ、自分が使ってる環境を調べて、きちんと設定しないと、上手く動かないっぽい。

309デフォルトの名無しさん:2008/08/08(金) 16:08:59
asdf-install:installだった
310303:2008/08/08(金) 16:19:01
>>308-309
有用な情報ありがとうございます。
>自分が使ってる環境を調べて、きちんと設定しないと
これはclnuplotを設定するという事ですか?
それともasdf-installについてという事でしょうか?
よろしくおねがいします。
311デフォルトの名無しさん:2008/08/08(金) 17:02:26
>clnuplotを設定するという事
です。
asdf-installがちゃんと動いていれば、インストールだけは簡単。

あきらめたそうなので無駄な話だったけど。
312303:2008/08/08(金) 17:06:26
いや、あきらめる事でこのスレの皆さんのお目汚しに成らないのなら
とおもったので。
clnuplotを設定するという事ですか、その情報はどこでお知りになりましたか?
もしよろしければお教え願います。
313デフォルトの名無しさん:2008/08/08(金) 17:44:40
次は「どうしてそれを調べようと思いましたか?」かな?
314303:2008/08/08(金) 17:54:21
>>313
いえいえ、スレ汚しに成っているようですね。
やはりあきらめるしかないですね
googleでも全く引っかからないので
ありがとうございました。
315デフォルトの名無しさん:2008/08/08(金) 19:20:12
なんか難しいもののような誤解を与えてしまったようだけど、
clnuplotの設定というのは、呼び出すgnuplotの場所等を
大域変数で持っているので、それを環境に応じて変更しないとね、という
くらいのものです。
その情報はソースに書いてありました。
というか、これは、ドキュメントが少ないので、導入の敷居は高いかも。
316303:2008/08/08(金) 22:11:09
>>315
よくわかりました。
おつきあいいただき本当に感謝しています。
ありがとうございました。
317デフォルトの名無しさん:2008/08/09(土) 00:38:38
わからない五大理由
1 読まない
2 調べない
3 試さない
4 理解力が足りない
5 人を利用することしか頭にない
318デフォルトの名無しさん:2008/08/09(土) 00:57:51
>>317
Lisp に限らず、最悪の場合ソース読めってのは今でも変わってないから、
基本的には賛成なんだが………

とことん初学者の場合、どっから調べていいかわからない場合も多々ある。

Unix で man よめって言われても, 「man って何」くらいは教えてもらわないと、
なすすべがない。 実際、俺も Unix 触り始めたときそんな状況だった。

Lisp 系言語の場合、「man 読め」以前のドキュメントが少なすぎるのも事実
打と思うんだが…
319デフォルトの名無しさん:2008/08/09(土) 01:27:40
6 言われたことは試さず、質問を返す
320デフォルトの名無しさん:2008/08/09(土) 01:57:09
あんまりいじめるな

といいつつ
7 切羽詰まってパニックを起こしてから質問
321デフォルトの名無しさん:2008/08/09(土) 06:36:23
>>317,319,320
,性格の悪いことばかり言わない。なんだか陰気なのよね。雰囲気悪くなるから、
スルーしてくれたら助かる。
322デフォルトの名無しさん:2008/08/09(土) 10:13:03
>>318
そこでコンソールからmanと打ち込んでみるのが好奇心だと思うのよね。
323デフォルトの名無しさん:2008/08/09(土) 13:48:07
>>321
> スルーしてくれたら助かる。
誰が何をスルーしたら誰が助かるんだ?
「こういうの俺が嫌だから黙れ」って方がよっぽどネチネチ感漂ってるけどな。
324デフォルトの名無しさん:2008/08/09(土) 13:51:56
>>321
そんなこと書くより、雰囲気の悪いレスはスルーして、自分が雰囲気の良いレス
をするほうが効果的だと思うよ。お互い、芸風の合わない人はスルーで良かろう。w
325デフォルトの名無しさん:2008/08/09(土) 14:56:42
>>321
スルーしてくれよ。
326デフォルトの名無しさん:2008/08/09(土) 17:57:20
>>316
なんだか嫌味を言う連中もいるようだが、気にせずに気楽に書き込んでください。

一部の連中を懸念してるが、
嫌味っぽくなると初心者さんたちは何も聞けなくなるのではないか?ということだ。
嫌味ったらしい事を言う背景には単なる初心者いじめではなくて、
ストレス発散に使ってる印象もある。common lispの立場をよく考えてもらいたい。
一人でもどんな初心者でも馴染めるように支援していきたいからね。甘えん坊の初心者
だろうが跳ねっ返りだろうが関係ないどちらも大切だ。
LL系のようにほっといても初心者が使いにくる言語なら嫌味を言う連中は勝手に言っとれ
だが、common lispの状況は死活問題だよ。状況を踏まえて欲しいのだ。独学でcommon
lispを学べる人ってそんなにいないでしょ?
一部の連中には自ら首を閉めるようなおろかな事をしないでくれといいたいのだ。
327デフォルトの名無しさん:2008/08/09(土) 17:58:03
>>318
> Unix で man よめって言われても, 「man って何」くらいは教えてもらわないと、
> なすすべがない。 実際、俺も Unix 触り始めたときそんな状況だった。
ググりもしないのに質問とな(AAry

man 読む unix に一致する日本語のページ 約 212,000 件
man 使い方 に一致する日本語のページ 約 1,040,000 件 関連検索: linux man 使い方
328デフォルトの名無しさん:2008/08/09(土) 18:04:10
>>327
SunOS-3.5 って知ってる? 当時 Sun3 にのってた OS のバージョンなんだが
ググる? UUCP でバケツリレーやってるときに google なんかねぇよw
329デフォルトの名無しさん:2008/08/09(土) 18:14:37
まあ、初心者への説教は、Common Lispしらなくてもできるし、
どうしても、書き込みの量が増えるんじゃない?
自転車置場の議論とかそういうのと一緒で。

どっちかっていうとCommon Lispの情報が少しでも増えるような記述がありがたいね。
330デフォルトの名無しさん:2008/08/09(土) 18:15:16
マニュアル読めよ馬鹿が
331デフォルトの名無しさん:2008/08/09(土) 18:58:25
>>330
ハードとかOSのインストールマニュアルは手元にあったが、off-line の man pages は
新幹線で 3時間ほどかかる本社にしか存在していなかった。
言いたいことは分かるんだが、何でもググれじゃ話が進まない場合もあるってことで…
332デフォルトの名無しさん:2008/08/09(土) 21:43:07
>>329
それって、本当に害人だ。<common lispは知らないが説教だけする。
答えが得られる保証はないが、分からないことがあれば気軽に聞いてください。<初心者
333デフォルトの名無しさん:2008/08/09(土) 21:56:52
clnuplotのインストール方法を一から教えてください。
334デフォルトの名無しさん:2008/08/09(土) 22:24:30
>>333
恐らく元質問の人とは別の人だと思うんだけど、
>>311にも書いたとおり、asdf-installさえ動作していれば、
replに
(asdf-install:install :clnuplot)
とタイプするだけでおk

そして、環境によってちょっと設定する必要あり。

335デフォルトの名無しさん:2008/08/09(土) 22:37:56
>>331
だからなに?
そんな時代じゃねーだろ?
336デフォルトの名無しさん:2008/08/09(土) 23:56:07
>>331
こういう年だけ食ってる初心者が一番手に負えないというか害悪だな。
337デフォルトの名無しさん:2008/08/10(日) 01:05:05
「そう言ってるおまえらは初心者のために何かしてるのか」って、
聞かれてるんだと思うんだが?
338デフォルトの名無しさん:2008/08/10(日) 01:18:45
ここって初心者のために何かするためのスレだっけか?
339デフォルトの名無しさん:2008/08/10(日) 01:36:05
>>1にはそれっぽい雰囲気はあるな
340デフォルトの名無しさん:2008/08/10(日) 01:45:28
>>334
それはもう読んだよ。環境によって何をすればいいの?
341デフォルトの名無しさん:2008/08/10(日) 02:03:27
>>337
あのさー
どの世界でも「初心者に厳しく」は常識なんだよ
やさしくするのは入門させるための建前
342デフォルトの名無しさん:2008/08/10(日) 02:14:54
初心者に優しくしても「入門した気になった(でも一人じゃ何もできない)」
って人が増えるだけかも。厳しくしたほうが良い子に育つこともある。
343デフォルトの名無しさん:2008/08/10(日) 02:50:44
>>326みたいなアホからゆとり教育が生まれるんだな。
344デフォルトの名無しさん:2008/08/10(日) 07:34:32
こういうところでゆとり教育のせいにする人って必ずでてくるけど

あれも仕様はそれなりに評価できるし、タコな環境にグダグダの実装でこうなっちゃったんだよなぁ

345デフォルトの名無しさん:2008/08/10(日) 07:40:48
>>344
初期の環境の状況は影響でるね。ubuntuでのcommon llisp環境導入のように
クリック一発ならば大丈夫だが、windowsでのlisp環境はかなり悪いからね。
windowsメインで利用するようなlispハッカーはいないから整備は進まない罠。
macosxへのインストールも難しくはないが、windowsだけはね。だめだね。
346デフォルトの名無しさん:2008/08/10(日) 08:05:38
>>342
私としては方針は決まってるが、無条件に厳しくあたるというのは教える側の思考停止状態
を表している半面、無条件に優しくするのは依存性を高める危険がある。これは極当たり前
の事。そこにはトレードオフがあるし、状況判断ができなければ育つものを枯れさせてしまう
だけだ。

匿名だから分かりにくいが、情けは人の為のあらず。

2ちゃんでこのことわざが意味するところは、違った新しいことを始めたときにアドバイスをもら
う場面に役立つことだと思う。すべての面で自分で調べて、自分で考えて、悩んだ末で教えて
もらうと言う判断を出来てるような自分への厳しい心を持ってる人間はわずかだと思う。それを
踏まえた上で、利用していればいいのではないか。ubuntuではないが助け合いの精神は持っ
ておいた方がいいと思うね。

>>340
僕はそのパッケージを利用したことがないから分からないけど、環境によって何をすればい
い?と聞くならば、あなたの利用している環境をちゃんと書いてみないとより具体的なコメント
は期待出来ない。つまり、どこまで本気に導入を試みてわからないのか聞いてるの
だ。環境が分からないままでいろんな事を想定して、そのすべてを答えるような人がでて
くることは期待できないぞ。

聞き方や聞くタイミングで少々気になったが、導入を本気で試みているより、住民を試してい
るような印象をもったことかな。evilじゃなくて純粋に聞いてるなら気にならないが。

Don't be evil.
347デフォルトの名無しさん:2008/08/10(日) 08:57:03
お前2chは初めてか?力抜けよ
348デフォルトの名無しさん:2008/08/10(日) 12:33:46
「情けは人の為ならず」だね。
>>346はふつーにいい人すぐるが、煽られまくって変な反動が起きませんように。
349デフォルトの名無しさん:2008/08/10(日) 15:40:56
>>346
なげーよw
350デフォルトの名無しさん:2008/08/10(日) 15:51:18
CLtLかよ
351デフォルトの名無しさん:2008/08/10(日) 22:10:16
ecl 0.9l入れてみた。
明らかにメモリ利用効率良くなってておーって思ったんだけど
REPL起動したときのバージョン表示が良く見たら0.9iのままで
なんというかポルナレフ状態
352デフォルトの名無しさん:2008/08/10(日) 23:24:02
うちは、ちゃんと0.9lって表示になってるなあ
353デフォルトの名無しさん:2008/08/11(月) 00:58:17
lispでGUI使ったりした普通のそソフトとととこにつくたことあることきょしぃこと
354デフォルトの名無しさん:2008/08/11(月) 23:55:35
>>351
Windows用(MSVC用)のmakefile中のバージョンが0.9iになってた。

>>353
英語でOK
355デフォルトの名無しさん:2008/08/12(火) 20:08:48
Lispで、秀丸みたいなGUIのエディタとか作れるものでしょうか?
できるとしたらお勧めの処理系とかありますでしょうか?
356デフォルトの名無しさん:2008/08/12(火) 20:41:57
エディタを新しく作るより前に既存のものに貢献してほしいな。
Emacsとか、Windowsならxyzzyとか。

処理系が自分で選べないならまだ自作ははやいと思う。
CLISPでWin32 APIをFFIで呼ぶか、ECLとCで作るか、どっちにしても
秀丸みたいなエディタを作ろうとすると、Cでエディタが作れるくらいの知識が居る。

LispWorksのエディタクラスなら10行くらいでEmacsライクだけど
日本語のサポートはまだ弱いし。
357デフォルトの名無しさん:2008/08/12(火) 20:50:37
>>356
それに関して思い出したので、私も質問させて下さい。
>CLISPでWin32 APIをFFIで呼ぶか、
の所なのですが、私はMacOSX環境なのでWin32を使う事ができないのですが
MacOSX環境でCLISPから呼び出せるものを教えて頂けないでしょうか
358デフォルトの名無しさん:2008/08/12(火) 20:58:47
は?
359デフォルトの名無しさん:2008/08/12(火) 21:06:47
俺は使ったことがないので詳しくは知らないけど、OSXならMcCLIMが使えるんじゃなかったっけ?
Climacsという、CLIM上で実装されたEmacsライクなエディタがあるから、参考になるかもしれない。

ttp://common-lisp.net/project/climacs/
360359:2008/08/12(火) 21:09:47
なんか俺のレスも迷走してるな。すみません、無視してください。('A`)
361357:2008/08/12(火) 21:36:21
GUIの説明が出る際に毎回win32 APIとwinodows環境を基本と
したレスばかりなのですが家にはUNIXとMacOSXとLinuxしか無いのでwinodowsは
触った事も有りません。
そのためどのような環境がUNIX系では使えるのかを教えて頂きたかったのです。
362デフォルトの名無しさん:2008/08/12(火) 21:46:49
OpenMCLからCocoaを呼ぶのが良いんじゃないかな
363デフォルトの名無しさん:2008/08/12(火) 21:50:13
煽りっぽいが一応マジレスしておこう。↓を調べてみたらどうだろう。
LTK(Tcl/Tk)、CLX(X)、CL-OPENGL(OpenGL)、CL-SDL(SDL)
あとはGTKとソケットで通信するやつとかはタフだったな。
364357:2008/08/12(火) 22:06:02
>>362-363
ありがとうございます。
煽りでは有りません、マジレスありがとうございます。
調べてみます。その中ではどれがあなたのおすすめですかね?
ブラウザとか作りたいのですが
365デフォルトの名無しさん:2008/08/12(火) 23:26:28
>>364
362-363じゃないけど
WEBブラウザ作るのならCL-OPENGLとCL-SDLは外した方がいい、あとLTKは向かなそう
X11ならCLXを選択するのが良いのかもしれないが化粧をさせたいならGTK経由が好いと思うが自分はさわったことないのでワカリマセン。
Webじゃなくグラフィックスのブラウズとかって意味だったらGLやSDLの方が扱いは簡単かも。

というか>>363が書いてくれたGUI関係のライブラリの元が(文中の括弧内のもの)どんなものなのか調べれば自分で選択できると思う。

366デフォルトの名無しさん:2008/08/13(水) 00:21:47
>>357
とりあえず、使ってるOSのフレームワークのことも知らない位なら、
既存のブラウザコンポーネント使って、独自UIを被せる位にしといた方がいいぞ。
GeckoとかKHTMLとか。MacならWebKitとかなのかな。

あまり知識のない状態で、下手に人気のある物作っちゃうと、
特にブラウザとかはセキュリティホールとかが恐すぎる。
単に知的好奇心を満たすため、とかなら大いに応援するんだけど。
367357:2008/08/13(水) 00:42:13
>>366
一応Cocoa-Rubyなどでばりばり動くブラウザやテキストエディタ、グラフ作成ソフト
などを作った事は有ります。
ですが、Lispでやってみたかったのです。Lispは一番好きな言語ですから。
何しろ調べてやってみる事にします。ありがとうございます。
368デフォルトの名無しさん:2008/08/13(水) 01:08:59
>>367
そういう経験があるなら、使ってる処理系のFFIの仕様とか、
それぞれのツールキットの特徴とか、事前に知らずにはいても、
ある程度、調べて把握することくらいはできそうだけどなー。
とはいえ、そちらの詳しい事情は興味無いからこれ以上詮索はしない。

ttp://clisp.cons.org/impnotes/faq.html#faq-gui
ttp://www.cliki.net/Graphics%20Toolkit
ttp://www.cliki.net/admin/search?words=cocoa
369デフォルトの名無しさん:2008/08/14(木) 15:32:33
>>367
どこかわすれたけど、OpenMCL(Clozure CL)でワープロを作って公開しているところ
があるよ。MacでGUIならOpenMCLをお勧めするよ。
GUI関連のサンプルもついているし。
370250:2008/08/17(日) 16:38:13
Allegro Common LispのGUIのプログラミングがまったくわかりません
みなさんはどうやって覚えましたか?
371デフォルトの名無しさん:2008/08/17(日) 16:50:43
覚えてません
372デフォルトの名無しさん:2008/08/17(日) 16:59:02
>>370
なんと言うか'覚えられません'だとLispと言うより
プログラミングについての話に成るような気がする。
やっぱり他の言語と同じようにサンプルコードとかを読みながら
やるのが良いんじゃないかな?
373370:2008/08/17(日) 17:31:57
言葉足らずですいません

Allegro Common LispでのGUIのサンプルコード自体が見つからなくて困っています
374デフォルトの名無しさん:2008/08/17(日) 17:43:52
Graphicsアプリケーションかなあ
http://www.franz.com/ftp/pub/acl80/pdf/cgide.pdf
http://www.franz.com/ftp/pub/acl80/pdf/acl-common-graphics.pdf
こんなのが見つかったけど・・・多分違うと思う

確かに情報が少ないね。Lisp系は情報が少ないからな・・
375デフォルトの名無しさん:2008/08/17(日) 18:08:45
GUIの開発経験はどれくらいですか?MFCとかGTKあたり使ったことあります?
↓チュートリアルとリファレンスで経験者はなんとかするみたいですが。
http://jp.franz.com/doodler/index-j.htm
GUI開発未経験でイベント駆動型開発未経験とするとちょっと難しく感じるかもしれません。
376250:2008/08/17(日) 19:29:39
レスしてくださった方ありがとうございます。
イベント駆動型はまだ未経験ですがチュートリアルやpdfを参考にしてがんばりたいと思います
377デフォルトの名無しさん:2008/08/17(日) 19:33:25
>>376
Lispあんまり詳しくないけどAllegroのアプリはそんなに面倒じゃなかったよ、例の学習者向けエディションでもちゃんとFormでポイポイつくれちゃうので拍子抜けした。(もちろんロジックは慣れないLispでちょっと苦労したけど)
自分の道具作るのに非常に慣れてきて個人で購入したいんだけど全部franz経由でしか買えないのかなぁ?

ショップ売り無いのだよね?
378デフォルトの名無しさん:2008/08/18(月) 02:29:15
折角DSLが楽に作れる言語仕様なんだから
GUI構築用のDSL作ればいいのに
379デフォルトの名無しさん:2008/08/18(月) 20:58:22
>>377
Freeエディションのヒープ制限がきつすぎてお試しにすらならんので、
安いなら買ってみようかと思ったんだけど、値段の情報を見つけられんかった。
個人には売る気無いのかな
franz経由っていくらでした?
380デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/08/18(月) 22:39:25
>>380
ありがとう。
ド、ドル?円だよね。あはh高い...唖然
382デフォルトの名無しさん:2008/08/19(火) 02:06:45
>>380
それなら、放送大学に入って、student editionのほうがいいんじゃないか?
ドル建てで5万円ほどだったから
383デフォルトの名無しさん:2008/08/19(火) 06:45:18
LISPですら自作できない無能にはちょうどいい値段
384デフォルトの名無しさん:2008/08/19(火) 07:26:00
委員会で設計した言語が「まともな言語」で
独自に設計した言語はダメだと思ってるらしい。
だから、自作といっても与えられた仕様を満たすことしか考えられないわけだ。
385デフォルトの名無しさん:2008/08/19(火) 09:29:57
↑マジで何を言いたいのか全然解らん、頭の悪い漏れの為に誰か解説してくれ
386デフォルトの名無しさん:2008/08/19(火) 12:02:33
最も致命的なバグは数学で説明できないのだー
387デフォルトの名無しさん:2008/08/19(火) 14:03:36
では算数で説明してくれ
388デフォルトの名無しさん:2008/08/19(火) 18:28:02
損切りか塩漬けか
389デフォルトの名無しさん:2008/08/19(火) 18:43:39
sbclでいいやん
390デフォルトの名無しさん:2008/08/19(火) 22:20:08
sbclはmacだとthread使えないじゃん
clozure clに落ち着いたけど
比較するとallegroやっぱ爆速だな。貧乏人なのであきらめるしか
391デフォルトの名無しさん:2008/08/20(水) 07:36:41
おれは社会人だから大学院に入りなおして学割でallegro買うぜ
392デフォルトの名無しさん:2008/08/20(水) 16:05:24
貧乏人の味方Linux!!
393デフォルトの名無しさん:2008/08/21(木) 02:14:31
そうかな。Linuxは機械を選ぶからなあ。
値段的コストから見れば貧乏人向けではあるが、
きちんと選ばないと逆に高く付いてしまう。
時給換算的に。
394デフォルトの名無しさん:2008/08/21(木) 09:53:37
俺時給換算で最低時給未満の生産性しか無い人間ですから大丈夫ですよ
395250:2008/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デフォルトの名無しさん:2008/08/24(日) 09:29:20
クロージャはクロージャ、
クロージャ以外のものはクロージャではない。
397デフォルトの名無しさん:2008/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
398250:2008/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デフォルトの名無しさん:2008/08/24(日) 13:39:46
立派な仕様書があるから本なんて買わなくていいし質問に答えなくていい罠
400デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/08/24(日) 14:30:48
destructuring-bind?
402デフォルトの名無しさん:2008/08/24(日) 14:31:37
>>400
destructuring-bindかな

こんな
(destructuring-bind (a b c) (list 1 2 3)
(+ a b c))
=>6
403デフォルトの名無しさん:2008/08/24(日) 19:03:42
>>398 クロージャ理解の壁だね。やりたい事はわかるが、おしい。もう一歩。
ここで変数のスコープとかの理解が加われば先に勧めるよ。
クロージャは変数をキャプチャするが、それは「クロージャが作成された」環境の変数なんだ。
cplus が作成されたときに参照している count はグローバル環境の count で、let で作った束縛じゃない。
したがって、後から関数の外側で let で束縛を作っても意図した動作にはならない。

この場合は count がスペシャル変数としてグローバル環境に定義されていた場合はまた話が違うんだけどね…。
404デフォルトの名無しさん:2008/08/24(日) 19:32:09
>>402 おぉ! そう言えばそんなもんがあった!ありがと
405デフォルトの名無しさん:2008/08/24(日) 21:27:15
>>398
OK、>>403も指摘しているが、>>250が何かを分かっていないことは分かった。
多分、レキシカルスコープが文字通り、「字面どおりに動作する」、ように作られている、
ってのが分かっていないんだと思う。レキシカルスコープを理解するのが先で、
それを実現するためにクロージャーがある、と思えばいいと思う。

>>399
黒田さん乙。そんなことができる立派なエンジニアが、残念ながら少ない、
ということは無視しないでくれよ。
406デフォルトの名無しさん:2008/08/24(日) 21:40:00
定義された時点でのスコープの定義を取り込むなんて
Cでいえば関数というより構造体みたいなイメージになってしまう
Body内を走査してbody内で見付からなければ環境から参照を取り込むみたいな
ますますよくわからなくなってくるわ
407デフォルトの名無しさん:2008/08/24(日) 22:51:55
>>406
構造体というか、クラスとクロージャがよく似ている。
オブジェクト指向の変な例え話よりも、クロージャを理解するといいよ。
408デフォルトの名無しさん:2008/08/24(日) 23:05:50
クロージャってどうやって勉強したらいいの?
掲示板やBlog以外で見たことないんだけど
情報学科だと常識?
409デフォルトの名無しさん:2008/08/24(日) 23:06:19
はてブのSchemeタグからサルベージ
ttp://www.itmedia.co.jp/enterprise/articles/0703/29/news069.html

shiroさんの書いたクロージャの説明記事。わかりやすいと思う。
410デフォルトの名無しさん:2008/08/24(日) 23:19:30
>>408
簡単でいいんで、LispでLispを実装してみるとすぐ分かるかもね。
「環境」というとわからないけど、所詮はコンピューター上のものだから。
そもそも、ものすごく特殊な処理をしてる訳じゃないし。
411デフォルトの名無しさん:2008/08/24(日) 23:30:05
LispをLispで実装とな!!
そんなのloopマクロをemacs lispで実装できる程度しかlispの経験ない俺には無理だ
hogehoge schemerシリーズ、HtDP、Practical Common lisp、sicp、OnLispを読み通してから頑張ります
412デフォルトの名無しさん:2008/08/25(月) 00:49:36
>>409,410
ありがとうございます。
lispの勉強もしてみます
413デフォルトの名無しさん:2008/08/26(火) 17:47:13
schemeのmatch-lambdaってCommonLispにないのかな?
414デフォルトの名無しさん:2008/08/26(火) 23:20:42
CLiKiのlibrary-listを翻訳しているのですが
asdf-worldのregistries ("worlds")の部分がわかりません。worldsと言うのは
何かの用語でしょうか?
UNIXのmake worldの様に特殊な用法ですか?
よろしくお願いします。
415デフォルトの名無しさん:2008/08/27(水) 06:01:06
"version controllable registries"の名前。
416デフォルトの名無しさん:2008/08/27(水) 10:39:31
>>415
ありがとうございます。
417デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/08/27(水) 21:27:23
あと俺が題意を読み間違えてなければ>>417は*と/の位置とか
1-とか色々間違ってね? ということに今更試してみて気付いた。
420デフォルトの名無しさん:2008/08/27(水) 22:05:01
あとroundは多値を返すからそれにあわせて多値を返すようにしてもいいかもね
421デフォルトの名無しさん:2008/08/27(水) 23:02:03
>>419
clispでは正常に動作しているのですが・・
0.876を小数第二位で四捨五入する場合
(*0.876 10)=8.76
(round 8.76) => 9
(float (/ 9 10)) => 0.9
と言う順番という事なのですが
422417:2008/08/27(水) 23:25:56
>>421了解
yは少数第y位だったんだな。

こっちのは正負が逆だ。たとえば100の位にまるめる場合
(my-round2 6543 2)
6500

小数第一位にまるめる場合
(my-round2 7.65 -1)
7.6
423418:2008/08/27(水) 23:27:14
418だったorz
424デフォルトの名無しさん:2008/08/27(水) 23:37:06
>>422-423
roundの問題を解決するため正確な四捨五入をする関数を作っています。
初心者が自力でがんばるチャンスだと思うので、諸先輩がたしばしお待ち頂けませんか?
自力でがんばる精神を鍛えたいので・・・よろしくお願いします。
425デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/08/28(木) 00:29:29
気になる事があって確認してみたら
またデバッグが必要な事がわかりました。
がんばってきます。僕の事は気にせずお休みください(待ってないとは思いますが...)
夜型なので基本寝ませんので明日の朝には仕上げます。
ありがとうございました。
427デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/08/28(木) 02:21:33
これでおそらく完成です。問題点・改善点有りましたら、ご指摘願います。
作成する過程でvaluesの使い方やroundの問題点などをしれて非常に勉強に成りました。
では失礼します。
430デフォルトの名無しさん:2008/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が使われるっていう理由も
知っておくと良いと思う。
431429:2008/08/28(木) 12:29:26
なるほど、簡単にできたんですね・・・
わかりました。Lisp以前の問題なようなのでLispに挑戦するのは
まだ早いようですね、もう少し他の事を知ってからやってみたいと思います。
スレ汚しでした、すいません。
皆さん本当にありがとうございした。
432デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/08/28(木) 16:47:17
簡単な関数ならkmrclあたりにはいってたりしない?
434デフォルトの名無しさん:2008/08/28(木) 21:39:54
>>429
lisp以前の話って言い方がアレだったんで補足すると、
プログラムに書き下す前のアルゴリズムを考える段階の話、って意味ね。
考えたアルゴリズムを書き下す為の言語として
Lispは悪くない選択肢だと思うので、どんどんLispでコードを
書くとよいと思うよ。

>>432
SB-IMPL::serve-eventかな。使い方は知らない。
http://common-lisp.net/project/cmucl/doc/cmu-user/serve-event.html
これが元ネタ?

435429:2008/08/28(木) 22:54:23
>>434
ありがとうございます。
いつも書くときに直感で書いてデバッグをするタイプなので
アルゴリズムを考える段階が少ないようですね。
ありがとうございます。気をつけて書いてみたいと思います。
436デフォルトの名無しさん:2008/08/29(金) 12:22:11
ポータブルに持ち運べるLispインタプリタ
はありませんか?仕事柄複数のパソコンを
行き来するので勝手にインストールのも
マナー違反ですしUSBメモリー等に入れて
使える物が欲しいです。MacとWindowsそれぞれについて
お教え下さい。
若しくはC言語等でインタプリタを書き、
その都度コンパイルするのがベストでしょうか?
437デフォルトの名無しさん:2008/08/29(金) 12:40:47
勝手にインストールがマナー違反な環境なら
USB メモリを挿してあれこれするのもマナー違反だな多分
438デフォルトの名無しさん:2008/08/29(金) 13:29:33
>>436
Mac OS Xは/Volume/ボリューム名/にマウントされるから、
./configure --prefix==/Volume/ボリューム名
でコンパイルすればOKでしょう。(ボリューム名はNO NAMEのままでもいい)

Microsoft Windowsは、差し込むごとにドライブ名が変るから、
その方法は使えないし、処理系を選ぶんじゃないだろうか。(良く知りません> Win)

439デフォルトの名無しさん:2008/08/29(金) 17:33:01
>>436
聞かないでいれようとしたりUSBメモリを使おうとするからマナー違反でしょ。
USBメモリもデータ漏洩・ウイルス混入につながるから何も聞かずにやるのは
まずいことだよ。こっそりやるんじゃなくて、単刀直入に利用するPCの管理者
に許可をもらっといたら?
440デフォルトの名無しさん:2008/08/29(金) 20:11:57
わざわざ持ち運ぶんじゃなくて
webから使える様にすればいいんじゃない?
441429:2008/08/29(金) 20:39:38
ポータブルfirefoxと言う物を知ったので、そのような感じで
使える物が有ればと思っていました。ありがとうございました。
442デフォルトの名無しさん:2008/08/30(土) 02:44:12
CLISPのロゴをじぶんで作ってみたのですが公開してしまって良いのでしょうか?
著作権などについて詳しくないのでよろしくお願いします。
443デフォルトの名無しさん:2008/08/30(土) 02:48:01
おまえが作ったものなら、何をしようとおまえの勝手
444デフォルトの名無しさん:2008/08/30(土) 02:57:23
ありがとうございます。
助かりました
445デフォルトの名無しさん:2008/08/30(土) 11:30:10
>>442
"CLISP" 自体が登録商標ということはないので大丈夫。

一般に、登録商標になっているものの文字列が書かれているとかで
なければ大丈夫。
446デフォルトの名無しさん:2008/08/30(土) 16:46:01
登録商標になっているものの文字列が書かれていても、それを自分の作ったものの
商品名にでもしない限り全く何も問題ない。
447デフォルトの名無しさん:2008/08/30(土) 17:29:21
「実践Common Lisp」が出たわりには静かだなぁ。他の流行言語なら祭りになるのに・・・
448デフォルトの名無しさん:2008/08/30(土) 17:31:00
みんな英語で読んでるから
449デフォルトの名無しさん:2008/08/30(土) 23:55:17
>>447
そもそも流行言語じゃないしなwでもああいう良い本が日本語になるのは良いことだ。
英語版で分かってたつもりだけど、相当読み飛ばしてたことに気付いたw
450デフォルトの名無しさん:2008/08/31(日) 19:56:17
>>449
おまえは俺か。日本語だと読むコストが低くていいよな。
脳味噌を英語に使わなくていい分、一週間で全部読めた。
451デフォルトの名無しさん:2008/08/31(日) 23:30:35
面白いところは英語でも読むのに困らないが、退屈になってくるときいてくる
452デフォルトの名無しさん:2008/09/02(火) 00:13:36
HyperSpecって勝手に翻訳していいのでしょうか?
それともどこかに許可を取るべきでしょうか?
453デフォルトの名無しさん:2008/09/02(火) 00:19:21
過去ログをよく探してみた所翻訳は許可を取るべきな様ですね。
e-mailを送り質問してみたいので聞くべき事のリストなど有りましたら
よろしくお願いします。
454デフォルトの名無しさん:2008/09/02(火) 13:02:02
OpenMCLはじめて使ってみたんだがEmacsの括弧対応になれてると
あのシンプルなIDEは使いづらいな
30行ぐらいの複雑な関数書いてるとなんだか分けわからなくなる
やっぱEmacsが一番なのだろうか?
455デフォルトの名無しさん:2008/09/02(火) 15:04:17
シミュレート板のmaximaスレがなくなってしまったのですが
こちらに合流してもいいものなのでしょうか?
456デフォルトの名無しさん:2008/09/02(火) 15:08:01
だめです
457デフォルトの名無しさん:2008/09/02(火) 15:21:33
>>455
相応しい板にスレを建てるほうが良いだろう。
あくまで私見だけど、シミュレート板はあまり相応しいとは思わなかった。
458デフォルトの名無しさん:2008/09/02(火) 16:33:22
>>455
【数式処理システム】 Maxima 【Common Lisp】
http://science6.2ch.net/test/read.cgi/math/1220340695/
459デフォルトの名無しさん:2008/09/03(水) 08:12:34
>>452
さらっとすげーこと書いてるな。あれすっごく厚いけど一人で全部やる気なの?
460デフォルトの名無しさん:2008/09/03(水) 10:19:45
>>459
あくまで自由時間ぐらいですが、まだ学生なので自由時間がある程度有るので。
一応許可が取れたらwikiでもつくってばりばり翻訳して行きたいのですが
最初は自分でがんばって翻訳して行き、ある程度まとまったら
お知らせしますのでチェックして頂けると有りがたいです。
Introdunctionとかは長いんですよね。
functionとかは一日4ページぐらいはできそうなのですが

それよりも英語的な礼儀に自信が無いのでどのように書けば良いのかがわかりませんね...orz
丁寧なe-mailの文面どなたかお願いできないでしょうか?(いきなりお願いになるのですが)

HyperSpecのKent Pitmanという方に送ってみるのがベストでしょうか?
461デフォルトの名無しさん:2008/09/03(水) 15:55:00
書きたいことをあるていど英語で書いてきたら添削するよ。
462デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/09/03(水) 19:07:11
> inportant
464デフォルトの名無しさん:2008/09/03(水) 19:23:03
>丁寧に
頭にPleaseつければおk
465デフォルトの名無しさん:2008/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.

がまとめでよろしいですか?
466465:2008/09/03(水) 19:55:27
important ....orz
467デフォルトの名無しさん:2008/09/03(水) 19:58:04
ライセンスとか条件的なもの、例えば、
・成果はフリーで公開する
・公開するときはHyperSpecの翻訳であることを明記する
・商用利用(出版等)する場合は改めて許諾を求める
・その他に条件があったら教えてくれ
くらいは、あらかじめ言っておくべきかも。
468465:2008/09/03(水) 21:08:05
If I got permission to translation HyperSpec to Japanese,
I promise you to keep these rule:
・HyperSpec(written in Japanese) is open free.
・I will cleary describe that it is translation of HyperSpec, in case I open it to the public.
・When I make commercial use (publication), I demand consent some other time.

Please give me a information if there are any regulations to keep over my list.
469デフォルトの名無しさん:2008/09/03(水) 22:36:55
yo brother what's up?

HyperSpec is f*cking awesome!
gimme permission to translate HyperSpec to jap, huh?
470デフォルトの名無しさん:2008/09/03(水) 22:43:21
ヨ兄どうしたのですか?

hyperspecはF * cking awesome !
ただでもらえるものを翻訳する許可をhyperspecジャップ、ホですか?
471デフォルトの名無しさん:2008/09/03(水) 22:47:39
必要なのは翻訳する許可じゃなくて翻訳したものを公開する許可じゃね?
472デフォルトの名無しさん:2008/09/03(水) 22:52:32
>>471
すばらしい洞察
473465:2008/09/03(水) 22:57:43
すいませんすいません。
なんだか白紙にしたほうが良いのでしょうか?
流れが読めません。
474デフォルトの名無しさん:2008/09/03(水) 23:01:29
>>473
翻訳は自由にできる。誰からも許可なんて要らない。勝手にやればよい。
でも、公開するには原著者の許可が必要ってこと。

もちろん、翻訳する前にあらかじめ公開の許可を得ておくのは悪いことではないが、
「翻訳の許可」を貰うという表現には違和感を禁じ得ない。
475465:2008/09/03(水) 23:36:15
Hello,my name is hoge(私の名前).
I want to get permission to translation HyperSpec to Japanese.
Because HyperSpec is very important 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.
If I got permission to translation HyperSpec to Japanese,
I promise you to keep these rule:
・HyperSpec(written in Japanese) is open free.
・I will cleary describe that it is translation of HyperSpec, in case I open it to the public.
・When I make commercial use (publication), I demand consent some other time.

Please give me a information if there are any regulations to keep over my list.

上の文を少しかえてみました。
添削よろしくお願いします。
476デフォルトの名無しさん:2008/09/03(水) 23:39:04
HyperSpecってLispWorksが著作権を持ってるんだね。これ、もとになってる
American National Standard X3.226はANSIが著作権を持ってて、LispWorksが
ANSIから許可を得て公開してるわけだけど、翻訳の公開が許可されるかどうかは、
LispWorksがANSIに対してどういう条件で許可をもらってるのかにも影響されるよね。
ややこしそうだな。('A`)

>>460
ハイパーテキストのマークアップはPitmanが書いたものだけど、その作業に資金援助したのが
LispWorksで、できあがったHyperSpec自体の著作権もLispWorksが所有してるらしいから、
連絡を取るとすれば相手はLispWorksだと思います。
477デフォルトの名無しさん:2008/09/03(水) 23:53:24
>>475
>Would you like to permit me to make and release HyperSpec Japanese translation?
478デフォルトの名無しさん:2008/09/03(水) 23:54:46
>>474
法律上、翻訳権と公表権は別々のものだと思ってた
よかったらソース教えてちょうだい
479デフォルトの名無しさん:2008/09/04(木) 00:00:22
>>478
そういう意味での「翻訳権」なんてものは存在しない
480デフォルトの名無しさん:2008/09/04(木) 00:01:49
素朴な疑問だが、HyperSpecをどれくらい読んでるんだろ?
Lispは入門者とかだけど英語はできるので翻訳もできます!
とかなら、もうちょっと小物から手をつけたほうがいいかも。
481デフォルトの名無しさん:2008/09/04(木) 00:16:51
内容の理解が怪しいと平易な英語でも手こずるよ
482デフォルトの名無しさん:2008/09/04(木) 00:19:14
文章を見てて
英語に慣れてるって印象が無いんだよ。その点はちょっと心配だな。
483デフォルトの名無しさん:2008/09/04(木) 00:20:43
>>478
そのへんは俺も気になってたんだけど、ググっても「翻訳権」という言葉は実質的に「翻訳出版権」と
同義で使われてるっぽくて、出版公表が前提になってるみたい。個人で訳して公表しないぶんには
権利侵害にはならないのでは。素人判断なので、もし間違ってたら申し訳ない。

>>480
465氏の書いた英文をみるかぎり、「英語はできる」とはとても思えないのは俺だけだろうか。
こんな文法的にもあやしい英文を書く人が、はたして正確に訳せるのだろうかという疑念が……。
465氏にはたいへん申し訳ないが、これまでのレスを読んだ限りでの率直な印象です。
484465:2008/09/04(木) 00:24:28
一応Lisp歴11年ぐらいなのですが・・・
むしろCommonLispでプログラミングはできるが英語のドキュメントを
わざわざ読むのはおっくうだと言うタイプの人間だと思います。
HyperSpecは結構使いますね。
でもやはり日本語かどうかでためらってる入門者もいると思いまして。

>>447
ありがとうございます。
>>446
LispWorksですか、確かにそんな気もしていたのですが。
確かにややこしそうですな たらい回しにされる予感...orz
485デフォルトの名無しさん:2008/09/04(木) 00:24:32
公表しない限り、何を参考に何を書こうと自由に決まってるじゃん。
486デフォルトの名無しさん:2008/09/04(木) 00:30:07
>>483
> 個人で訳して公表しないぶんには

ならないに決まってんじゃん。
著作権は財産権なんだけど、財産権侵害してないもの。

翻訳権という言葉は著作権法に出てくる。

> (翻訳権、翻案権等)
> 第二十七条  著作者は、その著作物を翻訳し、編曲し、
> 若しくは変形し、又は脚色し、映画化し、その他翻案する権利を専有する。

出版に限らず、無断で公表すれば駄目。
例えば、翻訳した戯曲の上演、映画の字幕を勝手につけるなど。
487デフォルトの名無しさん:2008/09/04(木) 00:49:35
森進一のおふくろさん事件を思い出した
488デフォルトの名無しさん:2008/09/04(木) 00:53:58
まあダメもとでLispWoksに連絡取ってみるのがいいんじゃないかね
許可さえ下りれば、翻訳の協力者も現れるかもしれないし
489デフォルトの名無しさん:2008/09/04(木) 00:55:47
利用する側はいつだって無神経だよな。
俺は絶対に許さないぞ!
490465:2008/09/04(木) 00:59:49
Hello,my name is hoge(私の名前).
I want to get permission to translation HyperSpec to Japanese.
Because HyperSpec is very important to develop CommonLisp program.
And Japane also has many developers of CommonLisp.
So Translate HyperSpec to Japanese is very important to Japanese CommonLisp programer.
Would you like to permit me to make and release HyperSpec Japanese translation?
If I got permission to translation HyperSpec to Japanese,
I promise you to keep these rule:
・HyperSpec(written in Japanese) is open free.
・I will cleary describe that it is translation of HyperSpec, in case I open it to the public.
・When I make commercial use (publication), I demand consent some other time.

Please give me a information if there are any regulations to keep over my list.

ですかね。皆さんお疲れだと思います。
おやすみなさい
491デフォルトの名無しさん:2008/09/04(木) 01:04:50
確かに、この英語力では不安はあるが、応援してるよ!
492デフォルトの名無しさん:2008/09/04(木) 01:16:02
important使いすぎじゃね?
訳す前に日本語をどうにかした方がいい。
493デフォルトの名無しさん:2008/09/04(木) 01:21:38
俺も上手く言えるような英語力ないけど、
Japaneとか見ると、なんかもうどうしようもないな。

何がしたいのかは説明しつつ、
権利関連の事を尋ねる感じのメールにしたほうが良いかな。

クレクレメールでむこうにメリットが何ひとつねーな。w
494デフォルトの名無しさん:2008/09/04(木) 01:35:31
Hello, I'm (名前), (地位とか立場とか).
I would like to translate the HyperSpec into Japanese, and to make it public.
I think this will be welcomed by the Japanese Lisp community.
Could you give us the permission to do that ?
If any terms or agreements are required, please let me know.
I'm looking forward to your favorable reply. Thank you.

俺が書くならこんな感じかなあ。へたくそだけど。
495デフォルトの名無しさん:2008/09/04(木) 02:09:50
私は今、HyperSpecの日本語訳を作成しています。
I am making a Japanese translation of HyperSpec now.
その和訳バージョンを公開したいと考えています。
I want to open the Japanese translation version to the public.
和訳の公開を許可してくれますか?
Could you permit opening the Japanese translation to the public?

背景について説明します。
It explains the background.
LISPプログラマにとって、HyperSpecの内容はとても有益であると思います。
I think contents on the HyperSpec is very profitable for the LISP programmer.
しかし、こういった情報が和訳されていないため、
LISPを学ぶのは日本では難しいと思われています。
But, Japanese thinks that it is difficult to learn,
because such information is not translated into Japanese.
そこで、HyperSpecの翻訳版の公開を行い、
日本のLispプログラマの理解度を高めたいと思います。
Then, the translation version of HyperSpec is opened to the public.
I want to improve the understanding level of the Lisp programmer in
Japan.

もしあなたから許諾を得ることができたなら、
公開する際に以下のテキストを添える事を考えています。
If permission was able to be obtained from you, it thinks the
following texts are affixed when opening it to the public.
他に付けるべき条項があったら追加してください。
Besides, please add it when there are articles that should be put.

英語板行けって感じ
496デフォルトの名無しさん:2008/09/04(木) 02:24:02
>>494が簡潔でいいと思う。
497465:2008/09/04(木) 06:11:57
皆さんほんとにありがとうございます。
>>494さんが今の所ベストでしょうか?
498デフォルトの名無しさん:2008/09/04(木) 07:38:48
LispWorksユーザーを探して頼んでもらったら成功率が上がったりしないかな
499465:2008/09/04(木) 16:41:31
それは思います。
そちらの方が良いのでしょうか?
500デフォルトの名無しさん:2008/09/04(木) 17:02:46
なことねーよ。
訳したいと思った人が動けばいいよ。
501465:2008/09/04(木) 17:15:32
そうですか、確かにそうするとまた権利問題でややこしそうですね。
今の所スレの皆さんは>>494さんのmailがベストという事でしょうか?
502デフォルトの名無しさん:2008/09/04(木) 18:40:38
ベストかどうかはわからん。
それは出す人が決めること。英語は悪くない。
503465:2008/09/04(木) 18:49:22
わかりました。
では>>494さんお借りします。
依然のレスで学生と書いたのですが立場とかの所は特にないので省略します。
504デフォルトの名無しさん:2008/09/04(木) 22:07:27
>>503
学生ならちゃんと、どこの学校で何を学ぶ学生とか書いたほうがいいと思う。
とにかく、怪しい者ではないということを示す意味なので、コンピューターに関係
なくても別に良いと思う。
505デフォルトの名無しさん:2008/09/07(日) 02:29:41
最近 Common Lisp を覚えようと思っているんですが
入門者にお勧めの書籍はありますか?
英語が読めないわけではないですができれば日本語のものがいいです。
506デフォルトの名無しさん:2008/09/07(日) 02:37:20
最近出た「実践Common Lisp」でいいんじゃね?
507デフォルトの名無しさん:2008/09/07(日) 07:39:49
>>505
基本だったら、ansi common lisp, 湯浅氏の岩波の本
実践common lispもいいけど基本のつぎにくる本だと思う。
508デフォルトの名無しさん:2008/09/07(日) 11:17:17
個人的な感覚だとANSI Common Lispって実践の次じゃね?
環境の導入とか話もないし、解説が簡潔すぎて入門には難しいような。
509デフォルトの名無しさん:2008/09/07(日) 11:54:31
successful lispもいいよ
510デフォルトの名無しさん:2008/09/07(日) 12:03:08
最初に読んだ本はANSI CommonLispだった。
xyzzyの*scratch*で試しながら読んだよ。
割と良かったと思うけどな。
511デフォルトの名無しさん:2008/09/07(日) 12:07:13
>>508
507だけど、感覚の違いでどっちかという話をしてもあまり意味が無いと思う。
べつにその感覚を否定しようとは思ってませんから。
512デフォルトの名無しさん:2008/09/07(日) 12:11:34
>>511
傍観者だが、>>508は2行目でちゃんと理由を挙げていると思う。
君のレスのほうがよほど意味が無いのでは?
513デフォルトの名無しさん:2008/09/07(日) 12:19:16
Practical Common LispとSuccessful Lispの最大の長所は英語版で良ければタダで見れること
514505:2008/09/07(日) 12:31:09
皆さんアドバイスありがとうございます。
とりあえず今日の朝見て、挙がっていた ANSI Common Lisp と実践 CommonLisp を買ってきてみました。
Common Lisp 自体の本はあまりないようでした。質問できるほど選択肢はないのですかね。

どちらも考えていたよりは厚くないので、雰囲気を見ながらすすめてみます。
とはいえ、関数型言語ははじめてなので、今ちょっと打ったところでは思ったより時間がかかりそうですが。。
515デフォルトの名無しさん:2008/09/07(日) 13:00:12
べっ、別に関数型言語じゃないんだからねっ!
516デフォルトの名無しさん:2008/09/07(日) 13:28:21
出来ておる喃…>>505は…
517デフォルトの名無しさん:2008/09/07(日) 16:07:58
>>512
うまく伝わらなかったのかも知れないが、意味が無いというのは
どっちがよいという話をしても結論がでないだろうなってことですよ。
511にかいたとおり否定しているのではないので。
喧嘩をふっかけてるのではないよ。512さんはなんか勘違いしてる
ように思うが。
518デフォルトの名無しさん:2008/09/07(日) 16:21:51
自分でも書いておきながら、他人の発言には「あまり意味が無い」では喧嘩を
ふっかけていると取られても仕方ないのでは?
もし喧嘩をふっかけてるのではないのなら>>511を書いた目的が不明瞭。
519デフォルトの名無しさん:2008/09/07(日) 16:28:41
>>518
絡んでくるね。分からないなら分からなくて結構ですよ。この手のレスを続ける
のもこれでおしまいにしておきます。
520デフォルトの名無しさん:2008/09/07(日) 16:49:00
要するに「ボクの中では成り立ってるんだ」と言い残して逃げるわけね。
521デフォルトの名無しさん:2008/09/07(日) 16:52:18
なんかだんだん本質よりも相手の話し方や人格を批判したりしてるな。
明らかに議論の進め方の失敗パターンだな。
522デフォルトの名無しさん:2008/09/07(日) 16:55:55
チャットルームでやってくれたらいいと思うよ
523デフォルトの名無しさん:2008/09/07(日) 17:47:25
軽く謝ればよかったんじゃないかな
524デフォルトの名無しさん:2008/09/08(月) 01:53:33
喧嘩するような話じゃない気がするけどな。
血の気が多いのはイクナイ
525デフォルトの名無しさん:2008/09/08(月) 02:07:13
>>508
bit別冊が復刊してくれたらそれが一番いいような気がするんだが、復刊.comは相変わらず賛同者でないね。
526デフォルトの名無しさん:2008/09/08(月) 02:12:02
>>525
CLOSの本のことなら入門書とは言えないと思う。
CLtL のことなら CLtL2 があるのでいまさらいいでしょ。
ちなみに CLtL2 は「入門書としても」お勧め。(厚さで恐れてはいけない)

他にbit別冊で何かあったっけ?
527デフォルトの名無しさん:2008/09/08(月) 02:35:59
>>526
アレすごく興味深くてそれ以後Lisp好きになったんだけど、俺が変態なんだろうか。
(まぁそれ以前のLisp本の古いの(倍風館のとか)読んでいるから読み下しのネタができてたせいかもしれない)
528526:2008/09/08(月) 02:46:15
>>527
そういう意味ではいい本だよね。いろんな言語の無理矢理なw比較があったり、
実装面にやたら突っ込んだ記事があったり。
529デフォルトの名無しさん:2008/09/08(月) 11:18:25
あちこちにアカウントを増やしたくないんで、復刊.com はどうもなーって人、
結構いないかな?
530デフォルトの名無しさん:2008/09/08(月) 13:12:22
とりあえず、オレはそういう人だな。
復刊してほしい本はたくさんあるけど。
531デフォルトの名無しさん:2008/09/08(月) 15:46:52
この本みたいにPOD版で復活させて販売できないのかな。
ttp://www.morikita.co.jp/shoshi/ISBN978-4-627-83609-9.html
532デフォルトの名無しさん:2008/09/08(月) 15:59:59
共立ってそういう電子化とかに積極的だっけ?

簡単にPOD版にできる電子データがあるかどうかが最初の分岐点
という気もするが。
533デフォルトの名無しさん:2008/09/08(月) 16:05:33
スキャン画像で検索不可でも、絶版よりはいいな
534デフォルトの名無しさん:2008/09/08(月) 19:48:07
昔の bit の記事なんかのイメージだと,
「結構昔からTeX入校許可してたんでねぇの?」的な
イメージがあるんだが、ちゃうの?
535デフォルトの名無しさん:2008/09/09(火) 00:39:41
>>534
いっそ、bitの月例号と、増刊号すべてを電子化して
復刊してもらえないのかね。
物故者におなりになった、先生方もいらっしゃるので、版権とか
問題あるのかな。
最近、日本評論社の、島内先生の、ルービックキューブ
本が復刊されたけれどね。
536465:2008/09/09(火) 00:41:28
今の所まだ返信は来ていません。
脈なし(?)でしょうか?
537465:2008/09/10(水) 02:02:38
今さっき返信が来ました。
Hello hoge.

Thank you for your enquiry.
We would like to understand what demand exists, so I have some
questions for you:
Do Japanese Lispers actually ask for a translated version of the
HyperSpec?
Common Lisp was standardized 14 years ago. Why is a Japanese
translation needed now?
We would also like to understand how you would propose to make a
translation:
Would you use machine translation?
Would you aim to translate all of the document, or just some parts?
Which parts?

I look forward to hearing from you.

regards
Dave

--
Dave Fox
LispWorks Ltd
http://www.lispworks.com/
538465:2008/09/10(水) 02:08:01
いま一読したところ
どのくらいの人が希望しているのかを調べてみないといけない。
なぜ、今になって翻訳するのか?
機械翻訳を使うかどうか?(私は基本的には使わないスタンスでやるつもりです。)
すべてを翻訳するのかそれとも一部か?(私はがんばって全部やってみたいです。)
1,2については考えなければ成りませんね。
539493:2008/09/10(水) 03:10:53
> どのくらいの人が希望しているのかを調べてみないといけない。
どんな需要があるのか知りたいから質問するよ。
> なぜ、今になって翻訳するのか?
14年前の標準化になぜ翻訳が今になって必要なの?

> We would also like to understand how you would propose to make a
translation:
どういう方法で翻訳を作るのかも知りたいんだけど。

HyperSpecを訳すつもりなら英日訳はがんばれ。
こんな簡単(だけど意味が変わる)語や文を落されるとすごく不安なので。
540デフォルトの名無しさん:2008/09/10(水) 03:43:51
いや、意味がわかったので今後の指針を書いた
つもりだったのですが・・・
541493:2008/09/10(水) 05:05:57
すまんです。良く読んでなかったのは俺ですね。

1. 2.は具体的な事はあんまり言えないと思いますね。
なので、言及できそうなのは

1.lisp本の邦訳がまぁまぁ出版されている事と、日本人の英語アレルギー
2.lisp-users.jpとか、最近活動が活発になっている印象がある?

といったことくらいでしょうか。

追加
2.5 どういう方法で翻訳を作るのかも知りたいんだけど。
これは >>460 のままですかね。

共同作業をするつもりなら資源やら環境やらは提供するので、がんばってください。
542デフォルトの名無しさん:2008/09/10(水) 07:39:46
なぜその本でなければならないのか、なぜ思い立ったのかを簡潔に書けばいいよ。
543デフォルトの名無しさん:2008/09/10(水) 07:51:27
最初から確固たる信念があるもんだとばかり思ってたが・・・
でなければそんなタダ働きはとうていモチベーションが続かんし

訳す価値がある本なら翻訳する意味を問う方がどうかしているけどね
544デフォルトの名無しさん:2008/09/10(水) 07:59:22
おいおい、勝手に私信を曝すなよ。
削除して貰えよ。
545デフォルトの名無しさん:2008/09/10(水) 08:24:26
マナー違反だよな。知ったら気を悪くするぞ。
546デフォルトの名無しさん:2008/09/10(水) 08:25:43
ま、これくらいじゃ削除基準には引っかからないだろうから削除できないだろうけどな。
547デフォルトの名無しさん:2008/09/10(水) 11:16:09
>>493は On Lisp邦訳の経緯とか知ってるのかな.
知ってて真似ようとしているのか,知らずにやってるのか.

まずは自分ひとりでこつこつ訳していって,半分とか三分の一とか
できたところで,誰かに読んでもらい,指摘された部分を直す,
みたいな感じで進めていき,とりあえず形にする.
その後で許諾をとって *公式に* 公開する.

というパターンじゃないと多分途中で投げ出すことになると思う.
548デフォルトの名無しさん:2008/09/10(水) 11:57:53
マーケティング上の参考として日本の現状を知りたいんだろうな。
翻訳が必要なぐらい盛り上がっているなら、きっかけが何で、どれぐらいの人数のLisperが居るのかとか。
それと後半部分は、送られてきた英語が不自然だから、機械翻訳なのかという質問をオブラートに包んでいる。
だから、その英語力じゃ全部を訳すんじゃないんだろ?という質問になっている。

返事を送る前に書いた英語をだれかに添削してもらえないのかな?
549デフォルトの名無しさん:2008/09/10(水) 12:24:20
>>543
訳す価値は理屈じゃないんだよ
理屈だけの動機では弱いから本人の気持ちを聞いてる
550デフォルトの名無しさん:2008/09/10(水) 12:44:29
これからとあるPCアプリケーションをLISPで書く(お仕事)予定です。
で、処理系を何にするか検討中なんですが、商用なら
サポートがしっかりしてそうなAllegro、フリーなら
まだちゃんとアップデートされてるECLと考えてます。
こっちの方がいいんじゃないの、などのご意見がありましたら
是非お願いします。
551デフォルトの名無しさん:2008/09/10(水) 13:17:47
>>550
仕事だからあまり晒せないのかもしれないが「とあるPCアプリケーション」では漠然としすぎる。
一品物の業務ソフトなのか、パッケージとして売るのか。
クライアントソフトか、GUIはあるのか、サーバーソフトか、Webアプリケーションか、とか、
もうちょっと具体的な情報がなければ望む答えは得られないであろう。
552デフォルトの名無しさん:2008/09/10(水) 13:42:53
>>550
自分が今まで使ってた処理系が一番いいんじゃないの?
553デフォルトの名無しさん:2008/09/10(水) 14:25:15
>>548
そんなところだな。

*現状は日本語の情報があまりにも少ないために普及に悪影響がでている。昨年、
 on lispの和訳、今年になってpractical common lispの和訳が出版された。さらに、
 日本のローカルのlispコミュニティまで設立されてきて、日本のlisp界は盛り上がり
 つつあるところ。

*度々、翻訳の話題は出てきているけど、あまりにも量がおおいのとライセンスの関
 係で二の足を踏んでいただけだ。

とでも書いておけばいいんじゃないか。あえて英訳はしない。
554190.90.128.210.bf.2iij.net :2008/09/10(水) 17:23:15
>>532
共立と言えば、
> 考える道具としての Lisp入門
> http://www.kyoritsu-pub.co.jp/bookhtml/0306/000713.html
が復活してるね。

それからかなり昔だが、
もともとbit別冊だった「計算幾何学と地理情報処理」が、
増補改訂して単行本になったという前例がある。
555デフォルトの名無しさん:2008/09/10(水) 18:09:46
bit別冊から単行本化といえば、ゲームプログラミングも確かそうだったな
556デフォルトの名無しさん:2008/09/10(水) 21:28:18
>>553
いや、俺は逆だと思って>>548を書いた。
ANSI Common Lispで商売をしているLispWorks社にとって、仕様書であるHyperSpecはとても大事なものだから、
もし日本のlisp界は盛り上がりつつあり将来重要なマーケットになるのだとしたら、
あまり翻訳が上手ではなさそうな人に独占翻訳権を与えることは出来ないと考えるだろう。それが将来のビジネスへの保険だよね。
もし一部を訳してブログに発表するだけであれば、将来ビジネスチャンスが訪れた時に彼らが主導であらためて全訳を出せる。
だから、訳はあまり上手でなくても許可できるんじゃないかな。
これはオレの考えで、彼らが実際に懸念していることが何かは分からない。
だから、むしろ彼らの意向を聞くような感じで返答してみる方がいいと思う。

例えば、「自分としてはがんばって全部訳したいと考えているが、LispWorks社が独占翻訳権や著作権のことで考えがあるのなら教えて欲しい。
その考えを尊重して、一部を訳すだけにしてもいい。また、権利関係についてはそちらの意向に従うつもりである。」ということを表明するべきだと思う。
もちろん最初から完全に譲歩せず徐々に譲歩して、翻訳を公開し易い落し所を見つけてもいいと思う。
最後に「自分はビジネスとしての利益は求めていないし、Lispコミュニティーに対する奉仕活動としてこの翻訳を行いたいと考えており、
良い翻訳になるよう最大限の努力をするつもりだ。」と付け加えればいいでしょう。
557465:2008/09/10(水) 22:46:38
>>556
なるほど、ありがとうございます。

558465:2008/09/10(水) 22:50:07
確かに一切ビジネスとしてという事は有りません。
むしろUNIXのコマンド集のページが沢山有るように
CommonLispの関数の情報をもっと自由に共有できるようになるのが理想なんですけどね。
権利がいろいろと立て込んでいるので簡単にはHyperSpecを参照に
自作マニュアルを作成する訳にもいけないですしね。
559デフォルトの名無しさん:2008/09/11(木) 08:33:33
clisp をコンパイルしてインストールする際にffiが有効にならない場合は
http://www.haible.de/bruno/packages-ffcall-README.html
から ffcallを取ってきてインストールすれば解決します。
560デフォルトの名無しさん:2008/09/11(木) 15:11:24
翻訳支援ツール持ってるんでハイパースペックが
どのくらいの規模か解析してみた(htmlのみ、コード含む)

Hyper Spec
ファイル数:2318
同じ文の繰り返し:175595 words
不一致(1回しか出現しない文):578203
合計:753798

比較用に
CLtL
ファイル数:330
繰り返し:26872
不一致:279956
合計:306828

CLtL の約2.5倍ですね。すごい。
561デフォルトの名無しさん:2008/09/11(木) 16:05:21
>>556

553だけど、
ふむふむ。
向こうが聞いていることに対して日本の最近の動向はちゃんと伝えた方がいいんじゃないかな。
小手先のテクニックで(独占)翻訳権を得たところで、後問題が山積みになるよね。
だから、独占翻訳権にこだわる必要もないのですよ。

common lispの動向を考えるとオープンソースの流れは十分理解されているだろうから、それで
お金をとるとなればおっしゃるような状況になるが、現実はオリジナルのhyperspecそのものが
オープンな形で公開されているということから、日本語だけはお金をとるということはしないだろ
うししたところで利益にならないだろう。日本では閉鎖的な動向にもっていこうとしがちだけど、
見てる限り世界の動向ソースはオープン化に向かい言語はlispに向かう。(笑)ということで日本
とは逆だよ。その点は踏まえて考えた方がいいと思うね。オープンなところで盛り上がったもの
を独占的に扱って、有料にしたり排除するってのは結果として盛り下がることは当然予測でき
るよ。(この辺はのまネコと同じだよ。)

むしろ、動向を正確に伝えた上でLispworksの日本語環境(utf8環境かな)の整備に本腰を入れ
てくれるならばよいと思うんだがね。おまけに、正確な翻訳をするようになればその人はlispworks
に雇われるかもしれませんよ。

また、あのメールでの返事は提案者の英語力のテストも兼ねてると思ったんだけどね。その点
で同意してたかな。
562デフォルトの名無しさん:2008/09/11(木) 16:20:12
>小手先のテクニックで(独占)翻訳権を得たところで、後問題が山積みになるよね。
>だから、独占翻訳権にこだわる必要もないのですよ。

翻訳権を取得しないと著作権法違反になるから、ちゃんと交渉しないと駄目だろ常考。
563デフォルトの名無しさん:2008/09/11(木) 16:29:42
「独占」に拘る必要は無いということでは?
564465:2008/09/11(木) 16:56:29
外出先から書いているのでなおさら怪しい文ですが書いてみました。
*Japan commonLisp community has become very prosperous recently.
For example:
・Last year OnLisp was translate into Japanese.
・In this year "Practical CommonLisp (translated into Japanese)" was published in Japan.
・Japanese local Lisp community was organize recently.

*Many times a topic of translate HyperSpec into Japanese,but We hesitate to translate HyperSpec into Japanese cause HyperSpec is a very large quantity and license.

添削よろしくお願いします。
565デフォルトの名無しさん:2008/09/11(木) 17:43:40
>>564
"Many times ..." の文は文法がおかしい。元の日本語はどんなの?
566465:2008/09/11(木) 18:04:00
そうですよね、何となくしっくりこないというか
再読するとなんだか変なのですが。
>>553
の文がとても良いと感じたのでちょっと訳してみたのですが
567デフォルトの名無しさん:2008/09/11(木) 18:10:41
Last year, Mr. Paul Graham's "On Lisp" was translated by Mr. Noda, and published from Ohmsha publishing co ltd.
And last month, Peter Seinel's "Practical Common Lisp"was translated and published from Ohmsha, too.
These books are aquiring a lot of new programmers to Lisp community.
But, because of long time no publishment about common lisp, especially in Japan, there are no good reference, except above two books.
Now People are demanding Japanese translation of Hyperspec, for learning.
These demands push me to decide translation of it for this community.
568465:2008/09/11(木) 18:15:33
>>567
ありがとうございます。
>>565さんでしょうか?

569デフォルトの名無しさん:2008/09/11(木) 18:24:55
In this community, I have speaked about my plan about translation of HyperSpec,
some people had suggested me that HyperSpec is copyrighted by you, Lispworks.
So I mailed you about possibility about your autorization of translation it.
570デフォルトの名無しさん:2008/09/11(木) 18:30:34
I am willing to accept your suggestion about copyrights, because of my small knowledge about it, especially in USA.
I hope your acception of my plan.

yours sincerely,
                                            >>465の名前
571デフォルトの名無しさん:2008/09/11(木) 18:33:27
>>567
× Peter Seinel's
○ Peter Seibel's
572デフォルトの名無しさん:2008/09/11(木) 18:41:31
>>562
>>563 が正解です。
573デフォルトの名無しさん:2008/09/11(木) 18:42:34
                        >>465の名前と住所
>>Lispaworksの社名と住所

Dear Mr. Dave Fox

Thank you for your answers and questions.
Let me introduce current situation in Japan.
>>567 >>571の修正
>>569
>>570

こんな感じでどうかな?
574デフォルトの名無しさん:2008/09/11(木) 18:46:12
× Let me introduce current situation in Japan.
○ Let me introduce you current situation about Lisp community in Japan.
575デフォルトの名無しさん:2008/09/11(木) 18:49:45
完成版
-------------------------------------------------
                        >>465の名前と住所
>>Lispaworksの社名と住所

Dear Mr. Dave Fox

Thank you for your answers and questions.
Let me introduce you current situation about Lisp community in Japan.
Last year, Mr. Paul Graham's "On Lisp" was translated by Mr. Noda, and published from Ohmsha publishing co ltd.
And last month, Mr. Peter Seibel's "Practical Common Lisp"was translated and published from Ohmsha, too.
These books are aquiring a lot of new programmers to Lisp community.
But, because of long time no publishment about common lisp, especially in Japan, there are no good reference, except above two books.
Now People are demanding Japanese translation of Hyperspec, for learning.
These demands push me to decide translation of it for this community.
In this community, I have speaked about my plan about translation of HyperSpec,
some people had suggested me that HyperSpec is copyrighted by you, Lispworks.
So I mailed you about possibility about your autorization of translation it.
I am willing to accept your suggestion about copyrights, because of my small knowledge about it, especially in USA.
I hope your acception of my plan.

yours sincerely,
                                            >>465の名前
-------------------------------------------------
576デフォルトの名無しさん:2008/09/11(木) 18:57:25
"I hope your acception of my plan."の前に全部訳すのか部分的に訳して公開していくのか、
>>465のプランを書かないといけないね。
577465:2008/09/11(木) 19:04:03
全訳したいですね。
はじめは主に関数だと思いますが
578デフォルトの名無しさん:2008/09/11(木) 19:04:29
【送り先の名前を指定しない場合】
  ・Dear Sir/Madam → yours faithfully.
  ・To whom it may concern → yours faithfully.

【送り先の名前を指定する場合】
  ・Dear 会ったこと無い人やボスや目上の人の名前 → yours sincerely.
  ・Dear 友達や近しい人の名前 → best wishes, best regards, warm regards, kind regards, warm wishesなど。
579デフォルトの名無しさん:2008/09/11(木) 19:11:34
(1) ひとりで全訳が出来るまで公開しないのか?
(2) wikiとかで協力者を募って全訳を目指すのか?⇒その場合、部分的に出来たものから公開するんだよね?

(1)の場合はあなたの翻訳能力や投入できる時間と完成予定日が質問されると思う。
(2)の場合、協力者の翻訳能力や語調の統一は誰が管理するのか?何人ぐらいで行う予定で完成予定日はいつ頃かを質問されると思う。
580デフォルトの名無しさん:2008/09/11(木) 19:16:07
>>578
どれを書いたらわからないって言う時は最上敬語のyours faithfullyを使えば間違いない。
ビジネスレターの場合は相手を知っている場合でも年上だったらfaithfullyを使った方が良い。
この場合、相手がregardsを使ってくれているのでyours sincerelyかbest wishesあたりでいい。
581465:2008/09/11(木) 19:23:34
>>579
wikiは管理しやすいですし、
XHTMLはかけますがそういった部分にとらわれる事無く体系的な
webページを作成できる点でwikiが最適と思います。

全部できるまで公開しないと言うより
wikiの編集権は私が管理してできた物から公開したいですね。
582デフォルトの名無しさん:2008/09/11(木) 19:40:54
>>581
wikiは新たに作られてもいいだろうし、このスレのwikiを使ってもらってもいいし、
あるいはshibuyaでつくってもらったらいいかも 

>>579
(2)の疑問について 査読制度をやってみるしかないな。訳者みんなで回し読みだ。
あるいはon lisp式だ。
583465:2008/09/11(木) 19:46:49
一応wikiは新たに作るつもりです。
相当ページ数が多くなりますからJ-HyperSpecのような
わかりよい名称で作ってみたいと思います。
584465:2008/09/11(木) 19:52:04
誤解させるような書き方をしたかも知れませんが
一応編集は私が一人でやりたいと思います。
ココから先はあくまで仮定ですが指摘してもらうのに専用の
スレをたてるなどして気になる所が有ったら適時指摘してもらうと言う形に
したいですね。
585デフォルトの名無しさん:2008/09/11(木) 19:55:20
>>584
> 一応編集は私が一人でやりたいと思います。

翻訳も基本的に一人でやるのね?
586465:2008/09/11(木) 19:59:10
ご気分を害されたとしたら誠にすいません。
統一の方法や権利問題などでややこしくなりそうですし
そのようにしたいと思ったのです。

ですが、うまい方法が有れば当然それを盛り込みたいと思うので
なにかお教え願います。
587デフォルトの名無しさん:2008/09/11(木) 20:10:55
wikiの編集権を一人が握ったら、
権利問題解決なんてもんではないだろ。
例えば口述筆記の場合、筆記したものでなく、
口述したものに著作権がある。
あんまり安易に考えないほうがいい。
588デフォルトの名無しさん:2008/09/11(木) 20:11:30
「なんでここの訳勝手に変えたんだよ?」

「なんで変えたか?あえて言おう『カス』であると!・・・(中略)・・・ジークジオン!ジークジオン!ジークジオン!」

「こ、これが独裁?これが編集権?」

「ジークジオン!ジークジオン!ジークジオン!」
589465:2008/09/11(木) 20:16:37
>>587-588
すいませんでした。わかりました。
するとe-mailにはどのように書けば良いでしょうか?
不特定多数が編集するとなると受け入れて頂けないでしょうし

590デフォルトの名無しさん:2008/09/11(木) 20:22:20
>>589
> 不特定多数が編集するとなると受け入れて頂けないでしょうし

その根拠は?
591465:2008/09/11(木) 20:26:08
すいませんでした。
なんと言うか権利問題は皆さんの方が詳しいようなので
わたしの事は気にしないでください。.....orz
592デフォルトの名無しさん:2008/09/11(木) 20:28:53
とりあえず「2ちゃんねる書込規約」でググれ。
593デフォルトの名無しさん:2008/09/11(木) 20:35:01
著作権者達本人全員の許諾を受けないで出版・契約等は、
著作権侵害となる。
これは「相互に交換価値のやや等しい給付をすることから著しくかけ離れた取引」であるから、

民法90条 公序良俗
「公の秩序又は善良の風俗に反する事項を目的とする法律行為は、無効とする。」

に触れるので編集権を主張しても無効になってしまう。
594デフォルトの名無しさん:2008/09/11(木) 20:43:00
いきなり民法90条とか持ち出してくるのは勘弁してくれ
それは他に使えそうな法律がないときに使うリーサルウェポン
595465:2008/09/11(木) 20:45:47
>>582
さんの方式でいきたいと思います。

596デフォルトの名無しさん:2008/09/11(木) 20:47:02
>>592
あと wikipedia の著作権に関するところとかね。

>>584
> スレをたてるなどして気になる所が有ったら
> 適時指摘してもらうと言う形にしたいですね。

専ブラの navi2ch は、著作権をしっかり管理したいから、
スレに書き込まれたコードを取り込むのは止めたぞ。

メールや2ちゃんより、wiki に直接書き込んで貰う方が、
ずっと著作権を管理しやすい。
書き込むたびに譲渡承諾を読ませて、
OKボタンを押させることができるから。
2ちゃんねるのように。

訳語、訳調の統一のための改変承諾もそこですればいい。
著作権放棄した時点で、別途許諾を得る必要はないが、
>>588のような荒れ方を防げるし、マナーとしても正しいだろう。
597465:2008/09/11(木) 20:52:46
わかりました。
では
1,wikiを作成し不特定多数で管理する。
2,公開する権利・責任は私がもつ
3,内容は確認し適時修正、編集する。
ということで良いでしょうか?

あと上のmailの内容に追加すべき事は有るでしょうか?

P,S
週末に行事が有り準備のために返信が途切れるときが有ります
申し訳有りません
598デフォルトの名無しさん:2008/09/11(木) 21:00:40
訳者の著作権をしっかり管理するなら、全改訂差分を保存できる
MediaWikiかDokuWikiあたりを使わないとだめだろうね。
599デフォルトの名無しさん:2008/09/11(木) 21:00:45
Openな著作権は検討しないの?
http://en.wikipedia.org/wiki/Open_content#Licenses
600493:2008/09/11(木) 22:54:46
原稿の変換も一苦労だと思うので、
subversionで原稿管理して更新された部分ごと普通に
htmlのままサーバに置いて見て貰えば良いんじゃないですかね。
601デフォルトの名無しさん:2008/09/11(木) 23:13:46
ウォーターフローモデル
602デフォルトの名無しさん:2008/09/11(木) 23:27:10
>>600
Wikipediaみたいな削除合戦とかは想定しないのか?
のんきだな。
603p1105-ipad11toyamahon.toyama.ocn.ne.jp :2008/09/11(木) 23:57:22
一人でHyperSpecを片づけられるかがちょっと心配だな。
ユーザーグループが始動しはじめたみたいだから、そっちで翻訳プロジェクトとかで立ちあげたら?
一人だと気力の他に仕事の都合とか、飽きたりとかで中途半端に終ると後が続けなくなっちゃわないかなぁ。
HyperSpecの量って日本語で書くだけでも通常の人なら力尽きそな分量だよ。
もう少し小さな文献から翻訳やってみて実績と経験を積むとか。
604465:2008/09/11(木) 23:58:11
>>600
なるほど、
ちなみに以前のjapaneは失礼しました勢いでjapaneseとうった後
消したつもりだったのですがeが残ってしまったようで
605465:2008/09/11(木) 23:59:50
>>603
暇人なので大丈夫ですよ。
本読んでるかプログラミングしてるか勉強してるか
だけの人間なので仕事もとくに無いですし(学生ですから)
606p1105-ipad11toyamahon.toyama.ocn.ne.jp 603:2008/09/12(金) 00:29:47
ごめん、584までか読んでなかった。

しかし、CLtLの2.5倍というと1800ページ?手持ちで一番ブ厚いCJKV本でも1000ページだから、
これの1.8倍…。開いたら真っ二つになりそうだな。
607デフォルトの名無しさん:2008/09/12(金) 00:42:57
今立ち上がったユーザグループには近づかないほうがいい。
ただの馴れ合い集団になるかどうか観察してからでも遅くないと思う。
608465:2008/09/12(金) 00:50:47
なるほど、ではそろそろe-mailの文をまとめなくては
完成版
-------------------------------------------------
                        >>465の名前と住所
>>Lispaworksの社名と住所

Dear Mr. Dave Fox

Thank you for your answers and questions.
Let me introduce you current situation about Lisp community in Japan.
Last year, Mr. Paul Graham's "On Lisp" was translated by Mr. Noda, and published from Ohmsha publishing co ltd.
And last month, Mr. Peter Seibel's "Practical Common Lisp"was translated and published from Ohmsha, too.
These books are aquiring a lot of new programmers to Lisp community.
But, because of long time no publishment about common lisp, especially in Japan, there are no good reference, except above two books.
Now People are demanding Japanese translation of Hyperspec, for learning.
These demands push me to decide translation of it for this community.
In this community, I have speaked about my plan about translation of HyperSpec,
some people had suggested me that HyperSpec is copyrighted by you, Lispworks.
So I mailed you about possibility about your autorization of translation it.
I am willing to accept your suggestion about copyrights, because of my small knowledge about it, especially in USA.
I hope your acception of my plan.

yours sincerely,
                                            >>465の名前
-------------------------------------------------

I don't use machine translation.
I want to translate all of the document.

609デフォルトの名無しさん:2008/09/12(金) 01:08:44
>>608が勝手に著作権契約を結んで、後で協力者に糾弾される可能性大。
相手は契約のプロ。利用されないように「せいぜい」気をつけるんだね。
せいぜい、フフフ
610465:2008/09/12(金) 01:11:39
>>465
すいません、詳解願います。
611465:2008/09/12(金) 01:12:34
>>465=>>>609でよろしくお願いします。
612デフォルトの名無しさん:2008/09/12(金) 01:13:03
たぶんこの内容だと相手方に勝手に出版のネタにつかわれるな。
表に出さずに自分用に翻訳続けたほうがいいと思うよ
613465:2008/09/12(金) 01:13:41
白紙に戻せという事でしょうか?
614デフォルトの名無しさん:2008/09/12(金) 01:18:28
むしろ出版されるといいなと思う
615465:2008/09/12(金) 01:20:06
>>614
一応わたしは出版は目標では有りません。
むしろもっとCommonLispが充実するようにしたいだけです。
616デフォルトの名無しさん:2008/09/12(金) 01:22:57
将来、出版など商業的に利用される場合、自分の権利をどう持つのか(または一切放棄するのか)
はきちんとしておいたほうが良いと思う。Wikiで共同作業になる場合、他の協力者にも同じ条件を
お願いするとかの問題もあるので。
617デフォルトの名無しさん:2008/09/12(金) 01:23:54
ボウヤだからさ
618465:2008/09/12(金) 01:28:42
>>616
なるほど、名前ぐらいは出したいですね。
利益は目的ではないので利権のみを放棄できないでしょうか?
(知識不足でわかりませんのですいません)
他の方の意見を聞いてみたいと思います。
こればっかりは私の主観で決められませんので。
他の方が利益希望のときは私の分はLispWorksに寄付したいと思います。
619デフォルトの名無しさん:2008/09/12(金) 01:29:25
訴訟になってよく分かっていませんでしたでは済ましてくれないんだぞ。
不明点を洗い出しもしないで返事をして契約に望むのか?
もう少し具体的にどう運営するつもりか明確にしとかないと後でしらねーぞ。
契約社会の世の中で、訴訟なんて当たり前だぞ。
起業家になったつもりでもう少し真剣に検討しろYO!
620デフォルトの名無しさん:2008/09/12(金) 01:32:11
あくまでも相手は、権利関係に詳しい人間を通して対処すると思うぞ。
その場合気をつけないと訴訟沙汰になる可能性もあるので
未直にいる英語に堪能な人などに何度も文を書いて慎重にやっとけ。

表からみるぶんにはヤンヤヤンヤやってるの見てるのが面白いが
まずいことになったら気の毒に感じるからな。
621465:2008/09/12(金) 01:33:10
>>619
なるほど、気持ちが少し引き締まりました(なんとなくそのYO!というフレーズが良いですね。)
私の気持ちは出版の際は:
訳者として私と協力者の名前を出してほしい。
利益は希望しない(あくまで私個人の気持ちです)
他に明確にすべき点をよろしくお願いします。
622デフォルトの名無しさん:2008/09/12(金) 01:33:11
s/未直/身近

じとぢを間違えた
623デフォルトの名無しさん:2008/09/12(金) 01:42:39
On Lisp の場合は、相手が理解のあるPaul Grahamだったけど、
HyperSpecは企業相手だから、担当者が善意の人でも経営者が代わったら別会社みたいな対応をする場合も考慮しとけ。
624デフォルトの名無しさん:2008/09/12(金) 01:49:09
著作権侵害者に対しては、刑事罰が科せられます。
 著作権、著作者人格権、出版権、実演家人格権又は著作隣接権を侵害した者は、5年以下の懲役又は500万円以下の罰金、又はこれらの併科に処せられます。(著119条)
 また、以下のような行為についても罰則が規定されています。

1. 著作者、実演家が存しなくなった後における人格的利益を侵害する行為(著120条)
2. 著作者でない者の実名又は周知の変名を著作者名として表示したものを頒布する行為(著121条)
3. 特定の外国レコード原盤から製作された商業用レコードを複製する行為、又はその複製物を頒布若しくは頒布の目的をもって所持する行為(著121条の2)
4. 出所明示義務に違反する行為(著122条)
5. 業として客の求めに応じて技術的保護手段を回避する行為、並びに技術的保護手段回避のための装置やプログラムについて、公衆への頒布、頒布目的の製造・輸入・所持や公衆の使用に供する行為及び当該プログラムを公衆送信(送信可能化)する行為(著121条の2)

 なお、法人の従業者等が、その業務に関し違反行為を行った場合は、行為者のほか、法人に対しても罰金刑が科せられます。(著124条)
 平成16年の著作権法改正で、法人の罰金の上限額が、1億円から1億5000万円に引き上げられました。(著作者人格権あるいは実演家人格権の侵害の場合を除く)(著124条1項1号)

例えば、一緒に訳していた人が勝手に違反しても、法人として貴方が全責任(1億5000万円)を背負うことになります。
625デフォルトの名無しさん:2008/09/12(金) 01:57:21
そもそも、何故HyperSpecを起点にしなきゃ駄目なんだ
626465:2008/09/12(金) 01:59:50
>>624
それはなんと言うか困りますな。
UNIXのコマンドマニュアルと違って権利問題が込み合い過ぎですよ。
経済学や法律を熟知していないと厳しいですな。
627465:2008/09/12(金) 02:00:15
>>625
起点とは?
628デフォルトの名無しさん:2008/09/12(金) 02:01:34
いろんなこという人がいるけど、自己責任が関連しているからな。
toyamaからのコメントは大切に聞いておいた方が良いよ。
たぶん、多くの人が世話になってるよ。

権利関連で分からないことは素直にlispworksに聞いてみることだよ。
hyperspecは無料公開されているものだから、それが非公開有料になって
和訳も権利が〜みたいなことは起こりにくいけどね。

ややこしいことばかり聞いてたらやる気が削がれるだけだろうから、
走りながら考えていけばいい。無理ならプロジェクトチームを作るように
するとか考えたらいいし、独占契約をしなければなんとでもなるでしょ。
629465:2008/09/12(金) 02:04:26
>>628
>toyamaとは?Lisp界で常識ならばすいません。

翻訳は意外とめちゃくちゃ危険な事なんだと実感しました
630デフォルトの名無しさん:2008/09/12(金) 02:07:55
あともう一つ。訳の訂正の指摘をしてくれた人は謝辞に入れておくことだよ。
それで権利云々を言い出すやツガでてくる状況を作っちゃだめだよ。
精神的にへとへとになるだけ。
そのためには匿名という曖昧な状態でやると帰って泥沼化するから、
toyama が言ってるように最近できたコミュのプロジェクトチームのリーダー
として465さんが取りまとめやくとしてやってみた方がいいと思うな。あそこ
には訳経験が豊富?な人が何人もいるし強力だと思うよ。
訳になれていないものが挑戦するにはあまりにも無謀な量だし、さらに、
訳の質も率直に言ってそのままでは期待でき無いから。

631デフォルトの名無しさん:2008/09/12(金) 02:09:32
>>629
toyamaってocnのtoyamaの人がきみに暖かいアドバイスを出しているでしょ。
常識ではないよ。匿名掲示板では推測でしか個人の特定は出来ないから。
632465:2008/09/12(金) 02:10:43
>>630
わかりました。
権利問題に疎いとこのような苦労が有るのですね......
権利問題の交渉を代行して頂けると非常に助かるのですが
現実はそんなに甘くないですよね。
633デフォルトの名無しさん:2008/09/12(金) 02:13:16
>>607
馴れ合いって何をさしているのかは分からないけど、
出来たばかりだから、バイタリティがあふれている人がどんどん引っ張って言ったら良いよ。
ただ、外から見てて心配事はあるけど、それは匿名掲示板で書きたくないので
自分の心の中に閉まっておくよ。
634465:2008/09/12(金) 02:15:31
>>633
最近できたコミュニティのURLを失念してしまったので
張って頂けないでしょうか?
あと、私のような新参者が突然きて引っ張るのは無理では?
635デフォルトの名無しさん:2008/09/12(金) 02:17:28
>>632
利害が関連してくるとエゴイストだらけになるから、そんな連中をまともに
相手にしていたら、寿命を縮めるだけです。だからこそ、そんな連中とは
関わらないようにやってったほうがいいよ。

636デフォルトの名無しさん:2008/09/12(金) 02:18:52
637465:2008/09/12(金) 02:19:25
ですが、このままではどうして良いか、、
なんだか脳がこんがらがってきましたよ....orz
正直、訳者として名前をのせてくれれば権利は放棄するし利益はそちらに寄付するから
やらしてくれ、と言うので精一杯ですよ
638デフォルトの名無しさん:2008/09/12(金) 02:22:55
>>637
利益のことはここで騒いでいるようなことは起きないと思うけど、心細く混乱するのも
よくわかるよ。一人じゃ大変だろうなというのもそこなのだ。

数日間、間を置いてその間にちょっと考えてみたらどうか? 即決即断がよいのでは無いから。
落ち着いて熟考していくうえでみえてくるものもあるからね。
639デフォルトの名無しさん:2008/09/12(金) 02:24:30
>走りながら考えていけばいい。無理ならプロジェクトチームを作るように
>するとか考えたらいいし、独占契約をしなければなんとでもなるでしょ。

一度契約を結んだ後で共同作業者が契約内容と異なった行動をしてたら目も当てられないだろ。
共同作業は怖いんだよ。女はそうやってソープに沈められたりするんだよ。あまいあまい。
640465:2008/09/12(金) 02:25:50
>>638-639
それは常々感じています。
ですから理想は翻訳は私がひとりでコツコツやって
確認を皆さんにしてもらうのが理想なんですよね
641465:2008/09/12(金) 02:27:06
理想が二回も...orz
疲れてきたかもしれません。ココ三日不眠ですし。
少し休みます。
642465:2008/09/12(金) 02:30:02
なんと言うか権利問題が解決すればあとはがんばれるような気がします。(死亡フラグ?)
ここが疲労グラフの頂点なのかも知れませんね
643デフォルトの名無しさん:2008/09/12(金) 02:53:06
>>639
そんな実例をようけ見てるのネ。 <ソープ
無料公開を前提にしているうえで異なった行動って何をさしている?
これがね。本を出すとか、お金の成る木ならおっしゃるとおりだが。
644デフォルトの名無しさん:2008/09/12(金) 03:51:30
>>643
自信があるなら>465の代わりに責任者になってやれよ。
実務は>>465がやるんだから。
責任問題は走りながら考えていけばいいwww
645デフォルトの名無しさん:2008/09/12(金) 03:52:30
   「考えながら走るサッカー」  イビチャ・オシム
646デフォルトの名無しさん:2008/09/12(金) 06:38:21
>>599に書いたが、
翻訳についてはOpenなライセンスにすればいいんじゃないの?
具体的にライセンスを選んでから、Lispaworksと交渉すれば、
細かい議論を自分の力でする手間を省けるだろう。
日本語版もあるから読んでくれ。
http://ja.wikipedia.org/wiki/オープンコンテント

> 訳者として私と協力者の名前を出してほしい。

Copyright noticesに入れてしまえばいい。
むしろ、アメリカ?%A
647デフォルトの名無しさん:2008/09/12(金) 10:47:22
>>646
元がOpenなライセンスじゃないのが問題を複雑にしてるかも。
ANSIとかも絡んでそう。

俺だったら翻訳でなく、自分リファレンスを作るかなあ。(言うだけ只モードw)
648デフォルトの名無しさん:2008/09/12(金) 13:54:37
>>646
U*IXと同じでたぶんそうはいかないだろう。まあ、聞いてみれば?
649デフォルトの名無しさん:2008/09/12(金) 14:33:05
北京五輪の柔道男子100キロ超級で金メダルを獲得した石井慧(21=国士舘大)が11日、母校・清風高校(大阪市)を訪問し、優勝報告を行った。
朝礼で壇上に上がった石井は「皆さんに、人生を生きていくにあたってのアドバイスをしたいです」と切り出すと、

(1)保証人(= 翻訳権や著作権)にならないこと
(2)たばこを吸わないこと
(3)ネクタイは上まで締めること

――と唐突な発言。「自分から言えるのはそれだけです」と締めくくると爆笑に包まれた。
650デフォルトの名無しさん:2008/09/12(金) 17:52:31
:::::::::::::::::...... ....:::::::゜::::::::::..  ∩___∩ ::::。::::::::::::::::: ゜.:::::::::::: :::::::: ゜.:::::::::::::::::::: ゜.::::::::::::
:. .:::::。:::........ . .:::::::::::::::::  /        ヽ:::::::::::::。::::::::::: . . . ..:::: ::::::: . . . ..::::::::::: . . . ..::::::::::: . . . ..::::
:::: :::::::::.....:☆彡::::     /⌒) ●    ● | :::::>>465:::::::::: ::::::::::::。 ::::: ::::::::::::。::::: ::::::::::::。::::: ::::::::::::。
 :::::::::::::::::: . . . ..: ::::  / /   (_●_ )  ミ :::::::::::「HyperSpecを翻訳して有名になるんだ」.... .... .. .::::::::::::::
::::::...゜ . .:::::::::    (  ヽ   |∪|    .ヽ ....... . .::::::::::::........ ..:::: ::::::::::::........ ..::::::::::::::::........ ..::::::::::::::::........ ..::::
:.... .... .. .         \     ヽノ   | 〉:.... .... .. .:.... .... .. .... .. .:.... .... ..... .. .:.... .... ..... .. .:.... .... ..... .. .:.... .... .
:.... .... ..:.... .... ..... .... .. .:.... .... .. .... . .... . ..... .... .. ..... ............. .. ..... ............. ...... ............. ...... ............. ...... ............. .
:.... . ∧∧   ∧∧ . ∧∧  ∧∧ .... .... .. .:.... .... ..... .... .. . .:.... .... ..... .... .. ..:.... .... ..... .... .. ..:.... .... ..... .... .. .
... ..:(   )ゝ (   )ゝ(   )ゝ(   )ゝ ムチャシヤガッテ・・・...... :::::::::...... ....:::::::゜:::::::::::::...... ....:::::::゜:::::::::::::...... ....:::::::゜::::
....  i⌒ /   i⌒ /  i⌒ /   i⌒ / .. ..... ................... .. . ... ::::::::::::: . . . ..: ::::::::::::::: . . . ..: ::::::::::::::: . . . ..: ::
:..  三  |   三  |   三  |   三  |
:.... ∪ ∪   ∪ ∪  .∪ ∪   ∪ ∪
651465:2008/09/12(金) 18:05:29
別に有名には成りたくないですよ
権利を一切放棄する名前も出さなくていいとすれば
早く進むでしょうか
652デフォルトの名無しさん:2008/09/12(金) 18:55:46
マグロウヒルが著作権を持ってた本が軒並み絶版になってるのを考えると、
著作権は数年経って改訂する頃から効果が出てきて、著作権が切れるまで影響するんだよな。
むしろ、英語版のHyperSpecの著作権が切れるまで待って、著作権が切れてからコピーフリーでやった方が束縛を受けない気がする。
653デフォルトの名無しさん:2008/09/12(金) 19:00:29
>>652
> 英語版のHyperSpecの著作権が切れる

いつだよw
654デフォルトの名無しさん:2008/09/12(金) 19:00:59
>>644
下らん奴だな。正面から答えればいいのに。
655デフォルトの名無しさん:2008/09/12(金) 19:02:39
http://www.lispworks.com/documentation/HyperSpec/Front/

むしろ、>>465がインターンでlispworksに雇ってもらって上記の日本語版を作ったほうが権利関係は会社が面倒を見てくれるから良い気がする。
無料だから片手間で安易に契約が出来ると考えるのは、コミュニティー全体へ多大な損害を与えます。>>マグロウヒルが著作権
656デフォルトの名無しさん:2008/09/12(金) 19:04:06
>>654
下らんレスの応酬するおまえモナー
657デフォルトの名無しさん:2008/09/12(金) 19:04:10
匿名掲示板でこの手のことを展開すると足を引っ張られて動脈硬化を起こしてしまうけど
今回もその傾向がでてるね。
658465:2008/09/12(金) 19:05:32
なんというか私が有名になるよりもLispが発展する事の方が
大切な事のような気がするんですよね。Lispのためならがんばれる気がします。
=====================================

なんと言うか以前まとめてくださった方の内容で向こうの質問の返信には
成ると思うのですが、どんな感じなのでしょうか?
659デフォルトの名無しさん:2008/09/12(金) 19:05:47
うん。コルステロールみたいな連中がおおすぎるよね。
660デフォルトの名無しさん:2008/09/12(金) 19:07:31
なんか人任せのニオイが最初からぷんぷんしてるから
これだけ船頭が集まってくるんだ
熱意があるなら訳が出来てから出版社に持ち込めばいいんだよ
661465:2008/09/12(金) 19:07:44
またなんと言うかが二回も、疲れてます。(不眠4日目)
ときどき乱文に成るかもしれませんがご容赦ください
662デフォルトの名無しさん:2008/09/12(金) 19:08:56
>>657
>動脈硬化を起こしてしまうけど
動脈硬化を起こすのはベンチャー精神に欠けるからだろ。
人が何を言おうと自分が正しければリスクをも厭わずにやり遂げるぐらいじゃないと。
匿名掲示板だから議論が進まないで実現できませんでしたなんてのは言い訳にすぎない。
663デフォルトの名無しさん:2008/09/12(金) 19:09:18
まず締め切りを決めること
守らせることが共同作業の基本
両方とも出来そうにないだろ
664465:2008/09/12(金) 19:10:43
>>663
なるほど、期限が有るかもしれませんね 
665デフォルトの名無しさん:2008/09/12(金) 19:16:02
>>664
質問
メールを書いた以外で既に何か進めていることあるの?
666465:2008/09/12(金) 19:17:23
進めたいのですが権利問題が解決するまでと思っていたのですが
少し関数などのページを訳して個人用に保存し始めました
667465:2008/09/12(金) 19:53:53
>>665
なんというか意味を取り違えていた回答をしていたらすいません。
「おまえ何もしてねーじゃん」
という意味だったのでしょうか?
668デフォルトの名無しさん:2008/09/12(金) 20:47:49
>>667
別に深い意味はないが、まあ、何もしてないっぽく見えるな

ブログとかやってないの?
669デフォルトの名無しさん:2008/09/12(金) 20:51:52
匿名掲示板だから議論が動脈硬化と言ってる奴、社会が悪いから何も出来ないと逝ってるニートと同じ論法だな。
670デフォルトの名無しさん:2008/09/12(金) 21:31:18
悲観的なことを言われても、ちゃんと反論すればそれでいいんだけど
相手の意見を尊重しすぎると自信なくなるわな
671デフォルトの名無しさん:2008/09/12(金) 21:34:42
>>669
Nos vives limitrophes
Nos desirs de paix
Quelques zones franches
Bien delimitees
672デフォルトの名無しさん:2008/09/12(金) 21:37:20
>>670
動脈硬化になるのはしっかりした意見を持たないリーダーの下でデスマーチするプロジェクトに似ている。
きっと軸がブレないで運営できるかどうかの試金石なんだよ。
673デフォルトの名無しさん:2008/09/12(金) 21:44:03
>>465がプロジェクトをスタートする前にこういう経験をしているのは在る意味ではラッキーかも。
674デフォルトの名無しさん:2008/09/12(金) 22:31:35
>>672
リーダーは別にいなくても進むものもある
インティファーダとかそうだな
675デフォルトの名無しさん:2008/09/12(金) 22:44:49
>>674
暗に>>465はイランと言ってるの?
676デフォルトの名無しさん:2008/09/12(金) 23:57:31
今北
どうでもいいとこで>>569以下のspeakedが気になるんだけど、
spokenとは違うの? ググっても良く分からん。英語詳しい人kwsk
677デフォルトの名無しさん:2008/09/12(金) 23:58:26
相手にお伺いを尋ねるだけの文章でこんだけ紛糾するのにちゃんと翻訳できるのか不安になるじゃないか。

>>465は思った通りに書いて、相手の返事を待つだけでいいのじゃないのか?
事が巧くいってがんばった結果がでてから、ここまでやったので誰か手伝ってくれないかと言う方がよっぽどよいだろう?

678デフォルトの名無しさん:2008/09/13(土) 01:49:27
679デフォルトの名無しさん:2008/09/13(土) 02:15:22
On Lisp, PCLのときは権利関係どうやったのかとか聞いてみたら?
翻訳した連中多分ここチェックしてるっしょ。
680デフォルトの名無しさん:2008/09/13(土) 07:13:36
権利関係は、まだ何の問題も起きていない。
今は、本来の目的に集中できるかどうかが問題。

コレステロールが悪いとか権利関係が悪いとか
責任の擦り合いが目的になるとやばい。
681デフォルトの名無しさん:2008/09/13(土) 10:54:57
>英語詳しい人kwsk

すべからく人任せwww
682デフォルトの名無しさん:2008/09/13(土) 11:06:41
もしかして? 悉く
683465:2008/09/13(土) 12:49:35
一応ホームページが3個ブログが1つ有ります。
684465:2008/09/13(土) 12:54:49
後BBSが2つ有りました。
685デフォルトの名無しさん:2008/09/13(土) 13:31:38
処理系別に処理を分けるのってどうやって書けばいいんだろうか?
誰か教えてください
686デフォルトの名無しさん:2008/09/13(土) 13:52:03
>>685

シャープマクロの一種  #+  を使う。
あるいは、変数*features*の中身をみて振り分ける、とかかな。


;; #+ の例
#+clisp
(princ "Hello")
687デフォルトの名無しさん:2008/09/13(土) 17:48:41
翻訳は止めといた方がいいと思うよ。
これは忠告だよ。会社を通して邦訳本出す、
という形の方がよほど現実的。

何かあったときここのスレッドの住民に
けしられたから〜とか言いそうだなあ。
688465:2008/09/13(土) 17:58:37
>>687
それはいいませんが....
どのような点でやめた方がいいのか
お教え願います。
689デフォルトの名無しさん:2008/09/13(土) 18:39:04
一 自力での訳の目途すらついてない
二 他人に頼むにしても自前の人脈がない・そうした作業の経験がない

これでどこへ行こうというのだね
私とその大砲で勝負するか
小僧から石を取り戻せ
690465:2008/09/13(土) 19:22:50
むしろ私と同じ年齢でそういった作業の経験が有る方の方が
珍しいと思うのですが。
691デフォルトの名無しさん:2008/09/13(土) 19:24:33
やりたければやれば。
権利絡みで色々うるさくなったら面倒な事に
まきこまれるのはあなただけで、
ここの住民はいつもと変わらずここで
レス付け続ける、ってだけだから。
692デフォルトの名無しさん:2008/09/13(土) 19:27:22
まあ、とりあえず、翻訳をどんどん進めて継続することだね。
自分の気になっているところからやれば、公開はダメでも身に付くし。
まともな訳を書こうと思うと、生半可な理解では到底無理だから。
693465:2008/09/13(土) 19:30:35
経験を積んでからの方がいいということがよくわかりました。
ですが、今更急に断るわけにもいきませんし、
694465:2008/09/13(土) 19:35:35
とりあえず自分の勉強のためにも公開如何に関わらず翻訳してみることにしました
今のところ30ページほど翻訳してみました。
695デフォルトの名無しさん:2008/09/13(土) 19:42:02
HyperSpecってchmファイルないのかな?
日本語訳はどうでもいいから,chmファイルがほしい
696デフォルトの名無しさん:2008/09/13(土) 20:17:56
進捗状況

>>560
>Hyper Spec
>ファイル数:2318

>>694
>今のところ30ページほど翻訳してみました。
697デフォルトの名無しさん:2008/09/13(土) 20:25:14
暇だっていってるんだし、一年ありゃいけるんじゃないか
698デフォルトの名無しさん:2008/09/13(土) 20:27:08
そろそろウザくなってきた。
699465:2008/09/13(土) 20:28:06
まずは安全に翻訳できる環境を作らなければ
700デフォルトの名無しさん:2008/09/13(土) 20:42:17
MLでも作って、まずは閉じた環境でやってみたらどうかな?
勉強会的な小コミュニティなら、翻訳しても文句は言われんでしょ。
ある程度やってみて、いけそうな雰囲気なら再交渉してオープンにすればいいんだし。
701デフォルトの名無しさん:2008/09/13(土) 21:53:17
>>686
ありがとうございます.
この方法だとSLIMEを使ってC-c C-kでコンパイルしたとき
たとえば
#+clispと#+sbcl
の2つで振り分けていたとして,#+clispはclisp依存のコード,#+sbclのほうは
sbcl依存のコードが書かれていたとき,両方ともコンパイルしようとしてエラーがでて
しまいます.

なんとか,これも分けることはできないのでしょうか?
702デフォルトの名無しさん:2008/09/14(日) 11:54:39
>>701
こちらで試したところ、エラーなくコンパイル出来ました。

#+を使うときは、

#+clisp フォーム(S式やアトム)

のように使いますが、#+が有効なのは、直後の一つだけの
フォームですが、そのへんはお分かりになっていますか?

;; 例
#+clisp
(defun foo () ...) ; #+clispが有効
(defun bar () ...) ; #+clispとは無関係


また、以下のようにも書けたりします。

(setq hoge #+clisp 1 #+sbcl 2) ; clispなら1、sbclなら2がhogeに代入される。


そうでなければ、あとはslimeの設定の問題とか…。
703デフォルトの名無しさん:2008/09/14(日) 13:52:35
>>702
すみません,うまくいきました.
>#+が有効なのは、直後の一つだけの
>フォームですが、そのへんはお分かりになっていますか?
これをわかってなかったようです.
704デフォルトの名無しさん:2008/09/15(月) 09:27:31
>>695
HyperSpecのCHMを作ってくれるソフトならあった。
ttp://sourceforge.net/project/showfiles.php?group_id=30035&package_id=203252
705デフォルトの名無しさん:2008/09/15(月) 12:47:22
>>704
これは便利だ!
706デフォルトの名無しさん:2008/09/15(月) 13:15:14
dpans2textもよろしくお願いします
707デフォルトの名無しさん:2008/09/16(火) 14:25:45
以前に非常にわかりやすいcommon lisp のchear sheetが紹介されてましたが
どなたかサイトをおおしえいただけないでしょうか?
708デフォルトの名無しさん:2008/09/16(火) 14:26:31
chear sheet -> cheat sheet でした
709デフォルトの名無しさん:2008/09/16(火) 14:56:04
710デフォルトの名無しさん:2008/09/16(火) 15:21:00
>>709
これいいね。製本したの売って欲しい。1000円までなら出す。w
711デフォルトの名無しさん:2008/09/16(火) 17:15:47
defmacroの中の`を,式の中で一時的に無効化したい場合ってどうすればいいんだろ?
712cm74.opt2.point.ne.jp :2008/09/16(火) 18:00:25
>>711
どういう時にそんなことがしたくなるの?
713デフォルトの名無しさん:2008/09/16(火) 18:05:30
>>712
:keyのオプションがあるときとないときで,生成される式を変えたい.
714デフォルトの名無しさん:2008/09/16(火) 18:11:47
「何を知りたいか」よりも「(最終的に)何をやりたいか」を書いたほうが適切なアドバイスが
受けられることが多い。自分の考えたアプローチが適切でない場合があるからだ。
715デフォルトの名無しさん:2008/09/16(火) 18:12:39
>>713
もうちょっと具体的に
(defmacro foo (&key (key 'default sup?))
(if sup?
`(progn
'(key => ,key))
`(progn
',key)))

(foo :key foo)
(KEY => FOO)

(foo)
DEFAULT
こういうことかな?
717デフォルトの名無しさん:2008/09/16(火) 18:27:13
>>714, 713
ありがとうございます.

私が欲しているのは,closeを書かなくても最終的に勝手にcloseしてくれる
with-open-stream見たいなマクロです.

今通信のプログラムを書いおり.ClientとServerに分かれた
プログラムなのですが,ClientからServerにコマンドを発行します.
このときClientがServerに向けて発行したコマンドが適切でなかった場合や,
コマンドの実行が失敗したとき,ServerはFAILED的なメッセージを返したいの
ですが,多数あるコマンドを処理するハンドラがnilを返したら,FAILEDを返信する
コードを自分で書くのは面倒なので,マクロで何とかできないかなと思ったわけです.

いろいろ書きましたが,最終的にはこれがやりたいことです.
718デフォルトの名無しさん:2008/09/16(火) 19:52:06
unwind-protectはどうかな
719o:2008/09/16(火) 20:17:08
なんか>>716さんの挙げてくれたコードを参考にしたら
すんなり望みのものが得られました.

もうひとつ質問なのですが,
format関数で新しい行を追記するのではなく,ある場所に上書するのは
どうすればよいのでしょうか?

何をしたいのかというと,Linuxのtopコマンドみたいな出力を行いたいです.
720デフォルトの名無しさん:2008/09/16(火) 20:19:48
curses について学んでみましょう
721デフォルトの名無しさん:2008/09/17(水) 00:32:40
722デフォルトの名無しさん:2008/09/17(水) 00:57:46
>>721
cl-ncursesをSBCL 1.0.11.debianにasdfで自動インストールしようと思ったら

; loading system definition from /usr/lib/sbcl/site-systems/cl-ncurses.asd into
; #<PACKAGE "ASDF0">
; registering #<SYSTEM :CL-NCURSES {AC27721}> as CL-NCURSES
; loading system definition from /usr/lib/sbcl/site-systems/uffi.asd into
; #<PACKAGE "ASDF0">
; registering #<SYSTEM UFFI {ADD6159}> as UFFI
STYLE-WARNING: defining *NULLPTR* as a constant, even though the name follows
the usual naming convention (names like *FOO*) for special variables
;;; Loading #P"/usr/lib/libncurses.so"
NIL
*
debugger invoked on a SB-INT:SIMPLE-READER-ERROR in thread #<THREAD "initial thread" {A84D681}>:
SB-INT:SIMPLE-READER-ERROR on #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {9115901}>:
unmatched close parenthesis

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

(SB-INT:SIMPLE-READER-ERROR
#<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {9115901}>
"unmatched close parenthesis")
0] :0

こんなメッセージが出てとまってしまいます...どうすればよいのでしょう?
723デフォルトの名無しさん:2008/09/17(水) 01:51:19
デバッグすればいいんじゃね?

| unmatched close parenthesis
とかいわれてるから括弧の対応がおかしいところがあるんではないかと。
724デフォルトの名無しさん:2008/09/17(水) 08:23:44
カーソル位置移動したいだけならエスケープシーケンス直接出力すればいいんじゃね?
725デフォルトの名無しさん:2008/09/17(水) 16:17:55
それが端末によって統一されていないからcursesのようなものがあるのでは?
726デフォルトの名無しさん:2008/09/17(水) 18:37:26
termcap/terminfoで済むことも多い。
727デフォルトの名無しさん:2008/09/18(木) 17:32:18
((1 2 3) (4 5 6))
見たいなリストが与えられて
(要素の数は不定,だから((1 2 3) (4 5 6) (7 8 9)...)かもしれないし((1 2 3))かもしれない)
それを(mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))
見たいな感じでばらしてmapcarに渡したいんだけど,こういう場合どういう風に
すればエレガントですかね?
728デフォルトの名無しさん:2008/09/18(木) 17:42:59
>>727
(apply #'mapcar (cons #'+ '((1 2 3) (4 5 6))))
729デフォルトの名無しさん:2008/09/18(木) 17:53:04
>>728
これは面白い!
こういうのをさっと思いつけるようになりたいなぁ
730デフォルトの名無しさん:2008/09/18(木) 18:02:04
(apply #'+ (flatten '(1 2 3) '(4 5 6) '(7 8 9)))
731デフォルトの名無しさん:2008/09/18(木) 18:02:55
(apply #'+ (flatten '((1 2 3) (4 5 6) (7 8 9))))
こっちだった。
732デフォルトの名無しさん:2008/09/18(木) 18:05:29
flattenって標準じゃないべ。それに期待してる結果と違う希ガス。
733router1.gpy1.ms246.net :2008/09/18(木) 20:27:04
(apply #'mapcar #'+ '((1 2 3) (4 5 6) (7 8 9)))

(loop for i in '((1 2 3) (4 5 6) (7 8 9))
sum (apply #'+ i))
734デフォルトの名無しさん:2008/09/23(火) 21:27:11
Lisp初心者です。
SBCL 1.0.20 + clsql + mysqlで日本語(UTF-8)が通らなくて困っています。
LinuxUbuntu6にsshでつないでEmacs22.2.1上のslimeです。
クライアントは、windowsXP poderosa4.10 のUTF-8です。
slimeでは日本語は通ります。
ttp://faroffsea.blogspot.com/2007/09/mysqlclsql.html
上のサイトを参考に、

[mysqld]
skip-character-set-client-handshake
default-character-set = utf8

としてみましたがうまくいきません。
どなたかわかる方いらっしゃいましたら教えてください。
よろしくお願いします。
735デフォルトの名無しさん:2008/09/23(火) 21:28:21
>>734 続き
動かしてみた状態です。何か問題があるのでしょうか?
; SLIME 2008-07-29
CL-USER> (setf sb-impl::*default-external-format* :utf-8)
CL-USER> (setf sb-alien::*default-c-string-external-format* :utf-8)
CL-USER>"あいうえお" => "あいうえお"
CL-USER> (clsql:connect '("localhost" "name" "name" "p") :database-type :mysql)
CL-USER> (clsql:def-view-class tes () ((body :type string)) (:base-table tes))
CL-USER> (clsql:create-view-from-class 'tes)
CL-USER> (clsql:insert-records :into "TES"
:attributes '(body)
:values '("aiueo"))
CL-USER> (clsql:insert-records :into "TES"
:attributes '(body)
:values '("あいうえお"))
CL-USER> (clsql:query "select * from TES")
(("aiueo") ("?????")) ;;?????になってしまっている。
("BODY")
736デフォルトの名無しさん:2008/09/23(火) 22:54:27
M-: slime-net-coding-system
M-: default-process-coding-system
これらの結果は?
737デフォルトの名無しさん:2008/09/24(水) 03:01:32
>>736
ありがとうございます。結果は以下です。
M-: slime-net-coding-system => utf-8-unix
M-: default-process-coding-system => (mule-utf-8 . mule-utf-8)
738デフォルトの名無しさん:2008/09/24(水) 10:33:02
使ったこと無いけど、db-mysql/ の下に
;; if we have :sb-unicode, UFFI will treat :cstring as a UTF-8 string
と書いてあったから、普通にビルドしてれば通るんじゃ。

つーか問題の切り分けは出来てるん?
mysql直接叩いても化けるのか、sbcl+clsql+mysqlでも化けるのか、
slimeを通したときだけ化けるのか判断できないんだが。
739デフォルトの名無しさん:2008/09/24(水) 11:48:21
>>738
すべての形でだめです。

sbclのreplから
* "あいうえお" => "あいうえお"
* (clsql:create-view-from-class 'tes)
* (clsql:insert-records :into "TES" :attributes '(body) :values '("あいうえお"))
* (clsql:query "select * from TES")
(("?????"))
("BODY")

mysqlから
mysql> show variables like 'char%';
character_set_database,character_set_filesystem,以外全部utf8
mysql> insert into TES values("あいうえお");
mysql> select * from TES;
+-------+
| BODY |
+-------+
| ????? |
| ????? |
+-------+
740デフォルトの名無しさん:2008/09/24(水) 12:18:34
>>739
mysqlで日本語が通らないならmysqlのスレで質問すべきだろう、と思うが
741デフォルトの名無しさん:2008/09/24(水) 12:55:53
>>740
そうですね。失礼しました。
742デフォルトの名無しさん:2008/09/24(水) 13:13:18
>>741
あとアドバイスだけど、長い日本語を入れて出力を nkf -g すれば
壊れてるのか、他のエンコードで出力されちゃってるのかは判断できるよ。
参考までに。
743デフォルトの名無しさん:2008/09/24(水) 13:30:53
>>740,742
すみません。すれ違いなのにアドバイスありがとうございました。
mysqlについて調べてみて、character_set_server=utf8
を追加して、DBを構築しなおしてみたらうまくいきました。
おさわがせしました・・・。
744デフォルトの名無しさん:2008/09/25(木) 00:47:14
745465:2008/09/26(金) 19:03:14
お久しぶりです。
Lispworksから返信が返ってきたのですがその一部で確認頂きたい事が
有りましたので一部引用いたします。

We would like to invite Kent Pitman (who originally built the
HyperSpec) to join this email thread. Is that OK with you? Please let
me know.

この部分なのですがこの場合はどのようにするべきでしょうか?
やはりshibuyalispなどにプロジェクトを立ち上げてそちらをご連絡するのが
ベストでしょうか
746465:2008/09/26(金) 19:04:06
お久しぶりです。
Lispworksから返信が返ってきたのですがその一部で確認頂きたい事が
有りましたので一部引用いたします。

We would like to invite Kent Pitman (who originally built the
HyperSpec) to join this email thread. Is that OK with you? Please let
me know.

この部分なのですがこの場合はどのようにするべきでしょうか?
やはりshibuyalispなどにプロジェクトを立ち上げてそちらをご連絡するのが
ベストでしょうか
747デフォルトの名無しさん:2008/09/26(金) 19:05:11
すいません、サーバーエラーで二回書き込んでしまいました。
748デフォルトの名無しさん:2008/09/27(土) 08:01:08
は? HyperSpec創始者にもこの電子メールの議論に参加してもらいたいっていう
だけだろ? yesかnoで答えるだけじゃん。
その引用からなぜ「やはり〜」になるのか意味不明なんだが。
749デフォルトの名無しさん:2008/09/27(土) 08:55:32
おお、何か(当然の流れとはいえ)話がおおきくなってきたな。ドキドキするぜ。
礼儀で聞いてきてるだけなんだから、どうどうとYESと答えりゃいいんじゃね?
750465:2008/09/27(土) 12:44:46
わかりました。少し緊張してきました。
YESでいきたいと思います。
751デフォルトの名無しさん:2008/09/30(火) 13:46:44
はてなでみつけたけど、こんなのあるんだな。
http://page14.auctions.yahoo.co.jp/jp/auction/s91370712
752デフォルトの名無しさん:2008/09/30(火) 15:14:51
>>751
オクだからLispMachineでも出てるのかと思ったら
噴いたじゃねぇかゴルァ
753デフォルトの名無しさん:2008/09/30(火) 20:24:21
こっちなら色んな所にありそうなんだがな。
ttp://dl.getdropbox.com/u/215714/20080419193048.jpg
754デフォルトの名無しさん:2008/10/02(木) 04:24:30
上品な大人っぽい雰囲気の『CLISP』。

大人っぽい括弧が括弧良くコードに落ち着きを与えてくれます。
お洒落な関数型や手続き型のような雰囲気があります。CLOS、
MOP、FFIなどお仕事を選ばないデザインも長く飽きずに
お使いいただける要素かと思います。
755デフォルトの名無しさん:2008/10/02(木) 22:56:49
大量のハッシュの設定が面倒だったので一気に指定できるマクロを作成しました
修正できる所をご教授願います。

(defmacro sethash (table key word)
`(setf (gethash ',key ,table) ,word))

(defmacro multiple-sethash (table &rest key-word-lst)
`(progn
,@(mapcar #'(lambda (pair)
`(sethash ,table ,@pair))
(group key-word-lst 2))))

(defun group (source n)
(if (zerop n) (error "zero length"))
(labels ((rec (source acc)
(let ((rest (nthcdr n source)))
(if (consp rest)
(rec rest (cons (subseq source 0 n) acc))
(nreverse (cons source acc))))))
(if source (rec source nil) nil)))
756デフォルトの名無しさん:2008/10/03(金) 01:10:15
>>755
こうすると hello! が2回表示されるよ?
On Lisp の「マクロのその他の落し穴 」参照。

(defparameter *hash* (make-hash-table))
(defun my-hash ()
(format t "hello! ")
*hash*)

(multiple-sethash
(my-hash)
:foo 1 :bar 2)
757デフォルトの名無しさん:2008/10/03(金) 03:36:55
やることの割に長いのがいかんよ。これでよくない?
(defmacro puthashmany (table &rest key-and-value-list)
 `(let ((tbl ,table) (lst ',key-and-value-list))
   (loop for (k v . r) on lst by #'cddr do (setf (gethash k tbl) v))))
758デフォルトの名無しさん:2008/10/03(金) 04:11:47
ボケてた。setfを並べるのが目的か。
(defmacro puthashmany (table &rest key-and-value-list)
(let ((tbl (gensym "TBL")))
 `(let ((,tbl ,table))
   ,@(loop for (k v . r) on key-and-value-list by #'cddr collect `(setf (gethash ,k ,tbl) ,v)))))
759デフォルトの名無しさん:2008/10/03(金) 08:26:59
こんな処理が遅いのですが、なぜなんでしょう?
(defun speed-test (times)
(do ((i 0 (1+ i))
(sum 0 (+ sum i)))
((= i times) sum)))
実行してみると・・・
CL-USER> (time (speed-test 10000000))
Real time: 5.828125 sec.
Run time: 5.578125 sec.
Space: 159668340 Bytes
GC: 250, GC time: 1.265625 sec.
49999995000000
5秒以上かかります。Javaだとだいたい100msで終わるのですけど。
Spaceをいっぱい食っているのもよく分かりません。環境はCLISPです。
760デフォルトの名無しさん:2008/10/03(金) 10:49:25
>>759
とりあえず確認。
コンパイルはした?
761デフォルトの名無しさん:2008/10/03(金) 12:23:01
>>759
うちのチープマシンじゃ
clispの場合コンパイルしても1秒かかる orz
sbclだと0.12秒
762579:2008/10/03(金) 12:25:44
はい、(compile 'speed-test)はしました。
さらに、ちょっと合っているか分からないですけど、
更にこんな感じでチューニングしてみました。

(defun speed-test (times)
(declare (optimize (speed 3) (safety 0)))
(declare (fixnum times i sum))
(do ((i 0 (1+ i))
(sum 0 (+ sum i)))
((= i times) sum)))
でも、何にも効いてないような・・・。
CL-USER> (compile 'speed-test)
WARNING: SPEED-TEST is already compiled.
SPEED-TEST
NIL
NIL
実行。
CL-USER> (time (speed-test 10000000))
Real time: 6.28125 sec.
Run time: 5.90625 sec.
Space: 159668340 Bytes
GC: 249, GC time: 1.578125 sec.
49999995000000
逆に遅くなってますね・・・。
763579:2008/10/03(金) 12:49:48
あれ?>>761さんの環境だと結構速いんですね。

とりあえず、私の書き方が悪いわけじゃなさそうだということが分かって良かったです。
ちなみに末尾再帰で書いてもあんまり改善しませんでした。というか、遅くなりました。

(defun speed-test (times sum)
(if (zerop times)
sum
(speed-test (- times 1) (+ sum times))))

CL-USER> (compile 'speed-test)
WARNING: SPEED-TEST is already compiled.
SPEED-TEST
NIL
NIL

CL-USER> (time (speed-test 10000000 0))
Real time: 6.84375 sec.
Run time: 6.328125 sec.
Space: 159999132 Bytes
GC: 250, GC time: 2.25 sec.
50000005000000
CL-USER>
764デフォルトの名無しさん:2008/10/03(金) 13:44:29
>>763
clispは末尾再帰を最適化しない(ことが多い? 全然しないのか少しはするのか知らない)。
末尾再帰の最適化をしない処理系で期待しても無駄というもの。
disassembleしてみりゃすぐわかるから確認すれ。
765デフォルトの名無しさん:2008/10/03(金) 15:34:30
>>763
761だけどclispでコンパイルしないと12秒位かかるんよ,(compile 'speed-test)して1秒

766デフォルトの名無しさん:2008/10/03(金) 15:40:23
x86_64 clisp 2.42でだけど
ちなみに763のコードはコンパイルしないとスタック足りなかった。

[1]> (defun speed-test (times)
(do ((i 0 (1+ i))
(sum 0 (+ sum i)))
((= i times) sum)))
SPEED-TEST
[2]> (time (speed-test 10000000))
Real time: 10.158625 sec.
Run time: 10.16 sec.
Space: 0 Bytes
49999995000000
[3]> (compile 'speed-test)
SPEED-TEST ;
NIL ;
NIL
[4]> (time (speed-test 10000000))
Real time: 0.780928 sec.
Run time: 0.78 sec.
Space: 0 Bytes
49999995000000
[5]>
767デフォルトの名無しさん:2008/10/03(金) 17:57:39
>>794
clispはコンパイルしたら末尾再起はループに展開されるぞ
768デフォルトの名無しさん:2008/10/03(金) 19:50:20
794です。数日先のみ来から来ました。
767 さん。コメントありがとうございます。知らなかったので大変助かりました。
794で悩んだことはおかげさまで解決しました。
769デフォルトの名無しさん:2008/10/03(金) 19:57:28
メモリ使用量が多いのは most-positive-fixnum より多きい数字の計算にはメモリを消費するから。
ループを減らして結果が most-positive-fixnum 以下になるようにすると消費メモリが 0 になるのが確認できると思う。
性能は現在のバイトコードインタプリタならこんなもんだろう。タイトループの実行速度でJIT装備のJavaより速いなんてのはムリ。
性能が必要ならトレースキャッシュなJITが実装されるまで待つか、自分で実装するか、別の実装を使うかどちらか。
770デフォルトの名無しさん:2008/10/03(金) 20:07:40
>>767
えー
おれが前にやったらだめでガックリした覚えが
771579:2008/10/04(土) 07:57:42
>>769
おお!明確な答え、ありがとうございました。
確かに小さな値に対しては速かったんです。
ちょっと処理系を変えながらいろいろ試してみたいと
思います。ありがとうございました。
772759:2008/10/04(土) 07:59:21
あ、私は>>759でした。今まで>>579で書いてた。スミマセン。
773デフォルトの名無しさん:2008/10/08(水) 00:03:33
sbclを使ってスレッドプログラミングをしています
スレッド間通信をさせたいんですが
なんかそういう目的のためのキューとかメールボックスとか
それ系のデファクトスタンダードなライブラリってないんでしょうか
asdf-installからacl-compat入れてみたんですが
acl-compat.mp:queueはないみたいなんです
774デフォルトの名無しさん:2008/10/10(金) 15:31:04
いつのまにかeclでmaxima動くようになってたんですね
775デフォルトの名無しさん:2008/10/15(水) 16:48:14
sbclのarm portって進行中なの?
それとも予定は無い?
教えて詳しい人。
776デフォルトの名無しさん:2008/10/21(火) 23:03:47
少なくともここ二年くらいはだれも手をつけていないと思う。それ以前は知らね。
777デフォルトの名無しさん:2008/10/25(土) 11:57:25
778デフォルトの名無しさん:2008/10/27(月) 23:53:24
(let ((hoge #'(lambda ~~))))と
(let ((hoge (lambda ~~)))) どっちのlambdaが正しいの?
前者だと思ってるけど、GNU CLISP 2.45だとどっちでも同じ意味で通る。
779デフォルトの名無しさん:2008/10/28(火) 00:25:41
どっちも正しいよ。HyperSpecで Macro: LAMBDA のページを読むといい。
(macroexpand '(lambda () ())) => #'(lambda () ()) みたいな関数に展開されるマクロとなってる。
どっちを好むかはlisperの中でも好みはわかれるところ。このマクロ導入の経緯はPCLに書いてあるよ。
780デフォルトの名無しさん:2008/10/28(火) 00:47:18
ありがとう!どっちも正しいのか。
On Lispでは#'だったから疑問に思ってた。
仕様書よんでみます〜 ^o^
781デフォルトの名無しさん:2008/10/29(水) 23:43:29
(test '(1 2 3 4) '(1 2 3 4 5))
とかやると
(append '(1 2 3 4) '(1 2 3 4 5))
見たいなリストが得られるマクロ(?)がほしいんだけど
そのままevalに渡したら,そのまま実行できるやつ形式に出力してくれるやつ.

(defmacro test (a b)
`(list 'append ,a ,b))

こういう風に書いたんだけど,どうしても
(APPEND (1 2 3) (1 2 3))
クオーティングされちゃうんだよな...

a, bに渡されたものがそっくりそのままa, bに入るようにはかけないものか?
782デフォルトの名無しさん:2008/10/29(水) 23:50:42
つ (defmacro test (a b) `'(append ,a ,b))
783782:2008/10/29(水) 23:54:28
名前からしてテスト系のマクロを作りたいのかな?
とりあえず実践Common Lispの9章まで読んでみるといいと思うよ。
英語OKならPractical Common Lispでもいい。
784デフォルトの名無しさん:2008/10/30(木) 00:09:05
>>781
aまたはbがコンスで、かつそのcarが'QUOTEの場合だけ、事前にもういっちょquoteしてやったらどうよ
785デフォルトの名無しさん:2008/10/30(木) 02:37:06
>>783
逆だろ。
「英語がダメなら実践Common Lispでもいい」じゃないのか普通は。
原書である上にタダで読める方を後にもってくる理由がわからん。
786デフォルトの名無しさん:2008/10/30(木) 08:33:55
そんな怒らなくても…日本語版しか読んでないです。やっぱり原著よまないと駄目なんですか?
787デフォルトの名無しさん:2008/10/30(木) 08:50:17
>>785
言いたいことはわかる。でもその「理由がわからん」ってのは嘘だねw
「レスって何ですか?」とかの親戚。「あるべき道しか理解できないキャラ」作るの好きだよな、マって。
788デフォルトの名無しさん:2008/10/30(木) 09:18:43
>>787
天然だろ。
キャラ作るという発想は陰謀論の親戚。
789デフォルトの名無しさん:2008/10/30(木) 09:47:38
言葉だけでは人は分かり合えないのさ!
790デフォルトの名無しさん:2008/10/30(木) 10:06:32
>>788
なんで?
791デフォルトの名無しさん:2008/10/30(木) 10:26:39
オッカムの剃刀みたいなものだ
792デフォルトの名無しさん:2008/10/30(木) 12:12:08
荒れてしまってごめんなさい。英語勉強してから出直します…
793デフォルトの名無しさん:2008/10/30(木) 12:47:58
2chで下らない煽り合いを気にしてたら禿げるぞ

(defmacro test (fun &rest lists)
(let ((form `(,fun ,@lists)))
`(format t "~S => ~A" ',form ,form)))

(test mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9))

(mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9)) => (12 15 18)

こーゆーのはちょこちょこ使う。
794デフォルトの名無しさん:2008/10/30(木) 23:12:24
>>793
なんでわざわざ引数わけてるの?
(defmacro test (&rest form)
 `(format t "~S => ~A" ',form ,form))
じゃダメなん?
795793:2008/10/31(金) 01:04:40
うわ。2行目とか全然無駄だね、なんで分けたんだろ
796デフォルトの名無しさん:2008/10/31(金) 06:59:48
(test) を引数が足りないエラーにするためじゃない?
797デフォルトの名無しさん:2008/11/02(日) 18:14:47
Lisp in a box (ttp://common-lisp.net/project/lispbox/)
を入れてVista上で使いはじめところなんですが、質問があります。

グラフィック系のプログラム(3D-CADや2Dグラフ表示)を
作りたいんですが、お勧めのライブラリとかありますか?

検索でこれ(ttp://www.cliki.net/graphics%20library)を
見つけたんですが、多すぎてどれを選べません。 orz

できるだけインストールが簡単なものがいいです。
お知恵をお貸しください。m(_ _)m
798デフォルトの名無しさん:2008/11/02(日) 19:18:18
799797:2008/11/03(月) 01:23:54
>>798
ありがとうございます。
さっそく動かしてみます!

3D系のものも、何かないでしょうか・・・。
3D CADのブール演算のようなものを作りたいんですが、
そのプリ・ポストに使う予定です。
800デフォルトの名無しさん:2008/11/04(火) 14:15:00
slimeでステップ実行デバックはできないのでしょうか?
801デフォルトの名無しさん:2008/11/05(水) 01:12:57
slime上で
(require :hunchentoot)
すると落ちる

コンソール上だと落ちない
802デフォルトの名無しさん:2008/11/05(水) 08:16:51
SLIME+CLISP
REPLバッファで式を評価すると
---
error in process filter: slime-dispatch-event: Elisp destructure-case failed: (:presentation-start 1 :repl-result)
error in process filter: Elisp destructure-case failed: (:presentation-start 1 :repl-result)
error in process filter: slime-dispatch-event: Elisp destructure-case failed: (:presentation-end 1 :repl-result)
error in process filter: Elisp destructure-case failed: (:presentation-end 1 :repl-result)
---
みたいなエラーがミニバッファに表示されて、それから結果が返ってきます
何が悪さをしているんでしょう?
Emacs側なのかそれともLisp側なのか
803デフォルトの名無しさん:2008/11/05(水) 10:30:30
>>801
実行環境を書かないと同じ経験した人ですら書き込み不能と思われ
804801:2008/11/05(水) 14:16:58
>>803
ubuntu8.04
でapt-getでinstallされるsbclとslime
emacs22
を使いました
hunchentootはasdfでinstallしました
805デフォルトの名無しさん:2008/11/14(金) 19:52:19
clispでLtkを使っています。
saveinitmem関数で実行形式のGUIアプリケーションを作ったのですが
これはポータブルなのでしょうか?それともダウンロードしたユーザーのマシン内にclispや
tcl/tk,ltkがインストールされていないと配布しても実行できないのでしょうか?

もし実行できないのならLispからGUIを呼び出したアプリケーションの
配布方法を御享受願います。ほかにもCUIのツールがあるのですが
どのように配布すればいいのかわからないのでよろしくお願いします。
806デフォルトの名無しさん:2008/11/17(月) 11:19:53
common lispで数値計算簡単にできるようにしようと
maximaの関数をsbclから直接利用しようとしたら
lapack呼ぶ関数がgclでしか動かないみたいなのだけど

数値計算したかったらgclを使えってことなんでしょうか
807デフォルトの名無しさん:2008/11/25(火) 01:14:28
clispを使っているのですが ext:run-program をネストするには
どのようにすればいいのでしょうか?
開発環境がdebianなので他のOSに有るのかはわかりませんが
su-to-rootとという内部コマンドがあり-XオプションをつけるとX上のダイアログで
rootになれさらに-c cmdオプションでcmdをroot権限で実行する事ができます。
これとLtkを利用してボタンを押すとsu-to-rootでroot権限を手に入れて
cmdを実行するという事をしたいのですがその実行したいcmdにも引数が必要だと
(ext:run-program "su-to-root" :arguments '("-X" "-c" "cmd" "cmd-option"))
と言う風にするとcmd-optionがsu-to-rootの引数と認識されてしまいます。
そこで
(ext:run-program "su-to-root" :arguments '("-X" "-c" "cmd cmd-option"))
としてみても動作は同じでした。
これを解決するにはどのようにすればいいのでしょうか?
よろしくおねがいします。
808デフォルトの名無しさん:2008/11/25(火) 01:22:36
>>807
CLの質問じゃない気がするが。俺の環境じゃ "cmd cmd-option" で動く。
809デフォルトの名無しさん:2008/11/25(火) 06:02:53
そうですか...
このような微妙な質問は何処ですればいいのか....
810デフォルトの名無しさん:2008/11/25(火) 13:31:38
cmuclのrequireがアプリによって動いたり動かなかったりするのはバグですか?
811デフォルトの名無しさん:2008/11/30(日) 21:34:10
やっぱスレタイがよくないと思うんだ
頭のmake-thread nameが余計だ
一瞬何のスレだかわからん
これにせいで明らかに失速してる
812デフォルトの名無しさん:2008/11/30(日) 21:54:50
そのせいで失速したかは知らないが
前の【入門】Common Lisp そのn【質問よろず】 ってスレタイは
初心者にも優しい感じがして好きだったなあ
813デフォルトの名無しさん:2008/11/30(日) 22:57:23
俺も前のスレタイの方がいいと思うな
次にスレ建てするときは戻すのを希望
814デフォルトの名無しさん:2008/11/30(日) 23:12:55
(make-thread :name common-lisp :part 5)

した結果が common-lisp :part 5 というスレだよな〜とは思っていた。
815デフォルトの名無しさん:2008/12/01(月) 14:21:31
○ Common Lisp
× common-lisp
816デフォルトの名無しさん:2008/12/02(火) 20:41:07
>>812
最初にlispの情報を集める時は

入門 tourotial lisp

で検索する
今のスレタイだと検索にひっかからない
817デフォルトの名無しさん:2008/12/02(火) 20:49:36
tourotial は必須だよな
818デフォルトの名無しさん:2008/12/02(火) 21:20:26
ポーランド語?
819デフォルトの名無しさん:2008/12/02(火) 22:13:54
どうでもいい事に時間を使わない
それが神のlisper
820デフォルトの名無しさん:2008/12/03(水) 00:14:25
どうでもいいレスありがとう。
821デフォルトの名無しさん:2008/12/03(水) 14:47:37
適当にスペル間違ってもgoogleが自動補正してくれるからな
822デフォルトの名無しさん:2008/12/23(火) 17:57:00
(unsigned-byte 8)のarrayのポインタを指定バイト数だけ進めるのはどうしたらよいのだろうか?
サイズを制限(?)するのであればfill-pointerが使えるようだが,書込み開始のオフセット
アドレスを指定する方法がわからん

誰か教えてください
823デフォルトの名無しさん:2008/12/24(水) 21:01:33
>>822
make-arrayの:displaced-toと:displaced-index-offset引数を指定で可能かと
ttp://www.lispworks.com/documentation/HyperSpec/Body/f_mk_ar.htm
824デフォルトの名無しさん:2008/12/30(火) 14:35:30
GUIに関して質問です。
LTK、SDL、CLIMなどがあるということはわかったのですが、それぞれの特徴なんかを教えていただけたらと思います。
825デフォルトの名無しさん:2009/01/13(火) 23:02:24
あLispスレ1000いったか
826デフォルトの名無しさん:2009/01/19(月) 12:00:40
ポールグレアムの ANSI Common Lisp で自習しています。
練習問題を解いているのですが、誰か採点してくれませぬか。

もうちょっと短く書けるぞボケ! とか指摘してもらえるとうれしいです。

問題: リストの要素数ほどドット '.' を表示する関数をループ、再帰で書け

; ループ版
(defun display-dots (lst)
(do ((x lst (cdr x)))
((null x) 'done)
(format t ".")))

; ループ版 (length を使う)
(defun display-dots (lst)
(do ((i 0 (+ i 1)))
((= i (length lst)) 'done)
(format t ".")))

; 再帰版
(defun display-dots (lst)
(if (null lst)
'done
(progn
(format t ".")
(display-dots (cdr lst)))))
827デフォルトの名無しさん:2009/01/19(月) 16:58:43
漢なら自分の信じた道を突き進め!たとえその結果が問題の主旨と外れていたとしてもだ!なぜなら・・・もっとも美しいコード以外に存在価値など無いからだ!
おれだったらこう
(defun display-dots (lst)
(progn
(mapcar #'(lambda (x) (format t ".")) lst)
'done))
828デフォルトの名無しさん:2009/01/19(月) 17:10:46
>>826
doの終了条件からlength呼出をくくりだしたほうがいいんじゃないか
829デフォルトの名無しさん:2009/01/19(月) 18:52:51
再帰版はこっちの方がらしい気がする。doneが必要か知らないけど。
(defun display-dots (lst &optional dots)
(if lst
(display-dots (cdr lst) (concat "." dots))
(progn (format t dots)
'done)))

趣旨を無視すれば、わたしならこうかな。
(defun display-dots (lst)
(format t "~{~*.~}" lst)
'done)
830デフォルトの名無しさん:2009/01/19(月) 20:12:26
>>829
>>826の再帰版は末尾回帰したかったのでは?
831デフォルトの名無しさん:2009/01/19(月) 20:34:20
解釈が間違ってたらすまんけど、
progn内で呼び出してたら末尾再帰にならないんじゃないかな?
832デフォルトの名無しさん:2009/01/19(月) 20:39:43
あいやつまり、>>829
(if (not lst)
(progn (format t dots) 'done)
(display-dots (cdr lst) (concat "." dots)))
とした方がより>>826の意図を(たぶん)すくいあげてるし、お行儀がいいかなと。
833pl602.nas954.p-kanagawa.nttpc.ne.jp 826:2009/01/19(月) 21:53:22
みなさんありがとうございます。826 です。

まだ本で mapcar と &optional のところまで進んでいないので、参考になります。ありがとうございます。
mapcar を使うとイテレータができて、&optional を使うと末尾再帰が書きやすくなるんですね (たぶん)。

とりあえず、まだ本に出てきていない mapcar と &optional を使わないという前提で、
みなさんのコードを参考に次のようにしてみました。

; 末尾再帰版
(defun display-dots (lst)
(if lst
(progn
(format t ".")
(display-dots (cdr lst)))
'done))
834pl602.nas954.p-kanagawa.nttpc.ne.jp 826:2009/01/19(月) 21:59:01
たてつづけになりますが、もういっちょ問題を解いてみました。
こんな問題でした。

問題: リストを引数とし、a というシンボルがいくつあるか返す関数をループ
と再帰で書け

; ループ版
(defun na (lst)
(let ((n 0))
(do ((x lst (cdr x)))
((null x) n)
(if (eql 'a (car x))
(setf n (+ n 1))))))

; 再帰版
(defun na (lst)
(if (null lst)
0
(if (eql 'a (car lst))
(+ 1 (na (cdr lst)))
(na (cdr lst)))))

Common Lisp は細かい関数がたくさん用意されているようなので、
もう少し勉強を進めて短く書けるようになりたいです。
835デフォルトの名無しさん:2009/01/19(月) 22:29:04
>>833-834
navi2ch を使っているならパッチ当てるべし
836826:2009/01/19(月) 23:34:19
>>835
おわー、いつの間にか fusianasan になっていました。
navi2ch が古かったんですね。ありがとうございます。
837デフォルトの名無しさん:2009/01/19(月) 23:38:35
>>827
>      (mapcar #'(lambda (x) (format t ".")) lst)
ここは mapc 使おうぜ
838デフォルトの名無しさん:2009/01/19(月) 23:53:23
834の再帰版は、末尾再帰で書きたいな
839827:2009/01/20(火) 00:05:27
>>837
そね。あとprognもいらなかったし。
840827:2009/01/20(火) 00:31:32
あまり手取り足取りになるのもどうかと思うが、>>834を末尾回帰にするなら
(defun na (list &optional (count 0))
(if (not list)
count
(na (cdr list) (if (eql 'a (car list)) (+ count 1) count))))
ってとこか。&optionalなしの末尾回帰はキビシイ
841デフォルトの名無しさん:2009/01/20(火) 01:17:57
(defun na (lst)
(labels ((na (lst n)
(if lst
(na (cdr lst) (if (eql 'a (car lst)) (1+ n) n))
n)))
(na lst 0)))
みたいなところだろうけど、これは&optionalより先の話題か…
842デフォルトの名無しさん:2009/01/20(火) 19:28:03
(defun na (lst)
(let ((n 0))
(dolist (x lst n)
(when (eql 'a x)
(incf n)))))

(defun na (lst)
(loop
for x in lst
count (eql 'a x)))
かな。
Paul Grahamの本だとloopマクロはあんまし出て来ないよね。

しかしこーゆーチュートリアル的なコードを頻繁に見てると
count関数の存在を忘れそうになるw
843デフォルトの名無しさん:2009/01/20(火) 22:28:20
do 使うなら let は要らんな
(defun na (lst)
(do ((x lst (cdr x))
(n 0 (+ n (if (eql 'a (car x)) 1 0))))
((null x) n)))
844デフォルトの名無しさん:2009/01/21(水) 00:56:33
すみません、質問があります。m(_ _)m

こういうリストがあって、
(* x (* 2 y))

これのyに値を代入した関数を作るマクロを書いたんですが、
上手く動作しなくて・・・
(defmacro chg (symb val lst)
`#'(lambda (x)
,(subst val symb lst)))

使用例:

(funcall (chg y 3 (* x (* 2 y))) 4 )
意図したとおりに動作する 結果:24

(setf f '(* x (* 2 y)))
(funcall (chg y 3 f) 4)
結果が以下のようになってしまう・・・。
(* x (* 2 y))

どうか、ヒントをください・・・。
845デフォルトの名無しさん:2009/01/21(水) 02:02:21
>>844
> (funcall (chg y 3 f) 4)
この書き方だと、subst 実行時に (subst 3 'y 'f) になっちゃって、
substが、fが指し示すリストに対して適用されない。

って書き方で良い?

たぶん、もっと正しい用語があるんだろうけど…。

いまのぼくにはむりっす。
846デフォルトの名無しさん:2009/01/21(水) 02:12:08
1つ目の例では (subst y 3 '(* x (* 2 y))) と評価されて
#'(lambda (x) (* x (* 2 3)))が返されるけど、
2つ目は (subst y 3 'f) → f だから #'(lambda (x) f) となってしまうよ。
847デフォルトの名無しさん:2009/01/21(水) 02:15:52
yの前のクォートが抜けてた。
848デフォルトの名無しさん:2009/01/21(水) 07:27:39
>>844
クォートされて単なるシンボルのリストになっているlstの値をevalで評価して、変数を含んだ式を取り出す必要がある。だからこう:
(defmacro chg (symb val lst)
`#'(lambda (x)
,(subst val symb (eval lst))))
849デフォルトの名無しさん:2009/01/21(水) 10:00:46
>>844
お前がやろうとしているのは
(setf lst1 '((= n 0) 1))
(setf lst2 '(t (* n (factorial (- n 1)))))
(defun factorial (n) (cond lst1 lst2))
これと同じことだな。
850デフォルトの名無しさん:2009/01/21(水) 18:30:06
>848
そうすると
(funcall (chg y 3 (* x (* 2 y))) 4 )
が使えなくなるから、
(if (symbolp lst) (eval lst) lst)
と分岐するのが良い。
本当に>>844の意図してる挙動なのか知らないけど・・・。
851デフォルトの名無しさん:2009/01/21(水) 23:57:21
>>845-850
みなさん、いろいろとアドバイスありがとうございます・・・m(_ _)m

∫∫f(x,y)dxdy の数値積分をしたかったんです。
具体的には、2次元のガウス積分です。

∫f(x)dx を計算する関数を作ったので、2次元でも利用しようと・・・
f(x,y) のyに定数を入れて f(x) にしてから1次元のガウス積分
関数に渡すつもりだったんです。

C++でつくるなら、何も考えずに∫∫f(x,y)dxdy専用関数を作るんですが、
強力なマクロが使えるLispなら・・・と勉強を兼ねて冒険した次第です。

みなさんのアドバイスをもとに、もう一度考えてみます。
(たぶん、>>848,850さんの関数を使わせてもらうことになりますが)

ありがとうございまいた。
852デフォルトの名無しさん:2009/01/22(木) 00:27:20
>>851
「強力な○○が使える××なら・・・」
いかにもC++脳のひとがいいそうなせりふですが
マクロは使わないのが正解のような気がします

これでいいんじゃないですか
(setf f #'(lambda (x y) (* x (* 2 y))))
(setf g #'(lambda (x) (funcall f x 3)))
853デフォルトの名無しさん:2009/01/29(木) 00:19:57
Lispに興味をもち最近、
Lispbox[http://gigamonkeys.com/lispbox/]
をダウンロードしました。

WindowsXPに、CLISP版のLispboxを導入しました。
現行のLispbox-0.7では、CLISPのバージョンは2.37です。

WindowsでEXEを作成できるCLISPはバージョン2.38からと見かけました。
http://lispuser.net/commonlisp/clisp.html#sec-12

EXE作成機能を使いたいのでCLISPの現行最新安定版2.47を
Lispboxの環境に導入したいのですがうまくいきませんでした。

Emacsを21.3から22.3へ
CLISPを2.37から2.47へ
SLIMEをslime-20060110からslime-2009-01-25へ
それぞれ変えて該当するフォルダと入れ替えました。

また、Lispbox-0.7での下記に相当するファイルを
中身を書き換えて追加しましたが、REPLバッファ?が表示されませんでした。
たくさんの文字が一箇所に集まるアニメーションが出ませんでした。

%LISPBOX_HOME%lispbox.bat
%LISPBOX_HOME%emacs-21.3/site-lisp/lispbox.el
%LISPBOX_HOME%clisp-2.37/lispbox-register.el

Lispboxの環境をいかしつつ、最新のCLISP、Emacs、SLIMEを導入する方法はないものでしょうか。
あるいは、ほかにLisp処理系をアップグレードするときの良い方策がありましたらご紹介いただけないでしょうか。
854デフォルトの名無しさん:2009/01/29(木) 01:03:10
↓をダウンロードして、動くか試してみればいいんでないか。
http://lispuser.net/files/clisp-2.47-full.zip
そのページからは2.46にしかリンクがないから安定版じゃないのかな?
855デフォルトの名無しさん:2009/01/29(木) 01:29:46
Replバッファや起動時のスプラッシュについては slime-fancy でググるといいよ。
856デフォルトの名無しさん:2009/01/29(木) 01:47:04
最初っからEXEにこだわらないのも一つのやり方だと思う。
大きなアプリ書けるようになってから取り掛かっても遅くない。
857デフォルトの名無しさん:2009/01/29(木) 02:02:13
みなさま、ご回答ありがとうございます。
夜更かしのかいがありました。
まだ何事もよく分からぬものなので
ご参考にしつつ明日以降、教えていただいたことを掘り下げていこうとおもいます。

まずはexeにこだわらず学習していこうとおもいます。
開発環境の操作方法や設定なども身につけたいです。
ひとつずつ試していこうとおもいます。
アドバイスありがとうございました。
858デフォルトの名無しさん:2009/01/29(木) 02:12:12
EXEにこだわらないなら、cygwinも導入しとくと、
いろいろな処理系、ライブラリ、環境試せるよ。
859デフォルトの名無しさん:2009/01/30(金) 18:32:20
>>853
Windows版のCLISPは、ヴァージョンによってはSLIMEがうまく起動しない、
という報告が前スレにもあがってたね。一応、参考まで。

http://www.bookshelf.jp/2ch/tech/1201402366.html#973
860デフォルトの名無しさん:2009/01/30(金) 22:10:11
>>859
情報ありがとうございます。
861デフォルトの名無しさん:2009/02/01(日) 23:53:17
>>854のやつはSLIME,LTKが付いてるよ。yahooによると環境によっては動かないみたいだが。
862デフォルトの名無しさん:2009/02/12(木) 01:03:40
当方のFreeBSD環境でLispで作ったプログラムをWindowsユーザーの人に
配布したいのですが相手方はエンドユーザーなので処理系の話などは理解してくれないと思います。
そこでWindows向けのexeファイルを作ろうと思うのですが
あいにく私の手元にはWin機が一台も無く出先のPCにclispを一時的に
インストールしexeを作成次第アンインストールして置こうと思っています。
clispのext:saveinitmemでwindowsのexeファイルを作成しようと思っているのですが、
ここでできるファイルはあいてPCのアーキテクチャが同じであれば無事動作する物と考えてよいのでしょうか?
おそらく友人のPCも出先のPCも"インテルはいってる"の環境だと思うので
無事動作するのならばそのためにやっかいなWindowsマシンを購入する必要は無いと
思っているのですがよろしくおねがいします。
863デフォルトの名無しさん:2009/02/12(木) 02:14:07
>>862
能書きはいいからさっさとWindws Server 2008をダウンロードして使え
864デフォルトの名無しさん:2009/02/12(木) 04:48:21
clispくらいならwineで動くんじゃね?
865デフォルトの名無しさん:2009/02/12(木) 06:26:44
>>862
やはりWindows向けにはそのようにするしか無いのでしょうか?
>>864
Windows用のclispをダウンロードして
そこでプログラムをWindows向けに作成しろと言う事でしょうか?
866デフォルトの名無しさん:2009/02/12(木) 07:00:26
いいからこんなとこ見てないでclispでイメージ作って友人のPCで動くか実験すりゃいいだろ
867デフォルトの名無しさん:2009/02/12(木) 10:38:34
>>862
zipで処理系と一緒に渡すんじゃ駄目なの?
無理に話を難しくすることはないと思うが…
868デフォルトの名無しさん:2009/02/12(木) 11:55:29
アホどもにも判るようにインストーラで配布したら?
869デフォルトの名無しさん:2009/02/12(木) 12:20:45
昔はwindowsはアーカイバがなかったから、(ライセンス料の関係だと思う)
まず「lha/zip/lhasaをインストールして」ってのを嫌って、
exe形式のセルフ展開アーカイブってのが流行ったけど、
今はwindowsでも普通にzip形式で配布してるよ。
中にインストーラが入ってたり。圧縮もできるからね。
EXE厨って何なんだ一体。
870デフォルトの名無しさん:2009/02/12(木) 13:30:30
>>866-869
ありがとうございました。
Windows環境ではアプリケーションはインストールが基本でした。
それを失念してしまっていて展開してスタンドアロン実行できないと困ると思っていました。
インストーラーとスクリプトファイルを同梱して渡す事にしました。
871デフォルトの名無しさん:2009/02/12(木) 14:39:28
>>869
どうでもいいがCAB形式忘れてる
872デフォルトの名無しさん:2009/02/12(木) 16:08:52
学習のためにLispの処理系を自作しようと思っているのですが
なにか参考になる書籍・Webページなどがありましたらご紹介願います。
C言語などで実装できればと思っています。
873デフォルトの名無しさん:2009/02/12(木) 16:09:44
Gaucheのソースコード
874デフォルトの名無しさん:2009/02/12(木) 16:15:18
>>872のレベルにもよるが、そんなに経験ないならGaucheはちょっと
レベル高すぎだと思う。

ttp://www-masu.ist.osaka-u.ac.jp/~kakugawa/hacks/clisp/
とか?
875デフォルトの名無しさん:2009/02/12(木) 16:33:19
>>873-874
あるていどほとんどの言語は使いこなせるのですがLispは仕組みについても知りたいですし
ガベージコレクションやビックナムやマクロなど素晴らしい機能の実装について見てみたいので
自作してみたかったのですまず>>874さんのご紹介してくださった1000行lispをじっくり学んでみようと思います。
876デフォルトの名無しさん:2009/02/12(木) 16:49:21
そういう半端なものよりは
minischeme(tinyscheme)のがいいと思う。
3000行ぐらいだったかと。末尾再帰や継続も使える。
minischeme-0.85でググれば出てくる。
877デフォルトの名無しさん:2009/02/13(金) 19:45:29
手続き型言語をやっていたのですがこのたびLispに入門しようとしてsbclを
インストールしました。toplevelで変数をsetqで束縛しようとすると
スペシャル変数になってしまう事はわかったのですが、
どうも手続き型言語の癖が抜けないようで数値入力を受けるプログラムで
(let ((x (gensym))
(format t "Num:")
(setq x (read)))
と書いてしまうのですがこのとき(setq x (read))の部分で毎回
undefined variable: X
と警告が帰ってきてしまいます、当然と言えば当然なのでどうすればいいのか迷っています。
このように手続き型の様に入力プロンプトから入力を受ける時のLispの伝統や規則が有れば
お教え願います。
878デフォルトの名無しさん:2009/02/13(金) 19:57:19
(let (x) (format t "Num:") (setq x (read)))
なんの問題もなく動くけど…
879デフォルトの名無しさん:2009/02/13(金) 20:03:07
(gensym)してる所なんか見ても、根本的に理解できてない。
880デフォルトの名無しさん:2009/02/13(金) 20:09:37
何故そこでgensymを使いたくなったのか知りたい。
gensymを何だと思ってると、ああなるのか。
881デフォルトの名無しさん:2009/02/13(金) 20:11:59
>>877
> toplevelで変数をsetqで束縛しようとすると
> スペシャル変数になってしまう事はわかったのですが、

ここからして違うが…
最初から勉強し直せ。
882デフォルトの名無しさん:2009/02/13(金) 20:13:39
あぁ、入門スレだった頃が懐かしいなぁ。
(defun prompt-read (prompt)
(format t "~A" prompt)
(read))
で、あとは (prompt-read "Num: ") とかでどうかな?
883デフォルトの名無しさん:2009/02/13(金) 20:16:14
まずは括弧の数え方から
884デフォルトの名無しさん:2009/02/13(金) 20:20:46
>>882
お前の斜めっぷりには参ったw
885デフォルトの名無しさん:2009/02/13(金) 21:02:46
希望としてはなるべくユーザーにLispな部分を見せたくないので
Num:12
とするとxに12が代入されるようにしたいのです。
gensymしてるのは他にxと言う変数を使っているので
変数名の衝突を避けようとして使ってみました。たしかにいまいち使い方がわかりません。

ちなみにsbclないで(let (x) (format t "Num:") (setq x (read)))とすると
入力を受け付ける状態になって12と例えば入れるとその後にNum:が表示されます。
友人がclispでやっていたときはたしかNum:12とできていたような気がします。
その辺についてもよろしくおねがいします。
886デフォルトの名無しさん:2009/02/13(金) 21:29:01
文法と関数の仕様しか読んでないのか・・・

> ユーザーにLispな部分を見せたくないので

なんじゃそりゃ
で、括弧が1つ足りないのは分かったのかい
887デフォルトの名無しさん:2009/02/13(金) 21:33:37
説明を試みたいと思いますが、あなたのプログラミング経験を教えてください。
どんな言語をどれくらい使っていましたか?スコープの理解が不十分なように見受けられます。
例えば、 (let (x) (setq x (read))) の後で(print x) とした場合、(read) したxの値はもう消えています。
このあたりの感覚はLISPの書籍等を読みながら、実際に動かして練習したほうがいいでしょう。
また、後者の話は続にいう入出力のバッファリング問題ですが、C言語の経験等はありますか。
888デフォルトの名無しさん:2009/02/13(金) 21:38:26
>>885
何はともあれ素直にEmacs使ってSLIMEでやった方がいいと思うよ。
889デフォルトの名無しさん:2009/02/13(金) 21:40:58
>希望としてはなるべく略
そういう事は一通り理解してからにしなさい
890デフォルトの名無しさん:2009/02/13(金) 22:14:01
>>887
すいませんはじめの例題でなぜかletを使っていました。
コードを隣のノートマシンの画面から手打ちしたので間違えていたようです。
Lisp以外の言語はC/C++を7年,Javaを3年
Perlを3年Pythonを2年ほど学習した事が有ります。
とりあえずLispでもコードは書いた順序で動作すると思っていたのですが
(format t "Num:") (setq x (read))としても
formatが入力受付後に出ているのでよくわかりません。
Cだと
int x;
printf("x: ")
scanf("%d",&x);
とすればx:が出た後そのまま入力を受け付けてくれたように思うのですが
891デフォルトの名無しさん:2009/02/13(金) 22:23:45
少し前のレスでバッファリングの問題だとズバリ指摘されてるでしょ
892デフォルトの名無しさん:2009/02/13(金) 22:28:10
>>891
>バッファリングの問題
問題という事はsbclの仕様上の問題だと言う事でしょうか?
ありがとう御座いました。
893デフォルトの名無しさん:2009/02/13(金) 22:28:32
http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node198.html
でforce-outputの「説明」をちゃんと読むがよろし。
894デフォルトの名無しさん:2009/02/13(金) 22:38:11
結局あきらめたっぽいけど、そんだけの言語が使いこなせて
Num:12 をxに代入する問題をなんでlispで?Cでいいのでは

895デフォルトの名無しさん:2009/02/13(金) 22:42:56
letはローカル変数の宣言だと思いねぇ
あとCにもfflushなんてのがあったなー
896デフォルトの名無しさん:2009/02/13(金) 22:46:29
どうしてもLispのいろんな機能がいるんですよね...
BigNumとか強力なマクロとか...
取り合えずドキュメントを読んでみます。
clispもlocaleのエラーが起動時にうるさいですし
897デフォルトの名無しさん:2009/02/13(金) 22:50:48
とりあえず(finish-output)を使った所きちんとNum:を出力し終わった後入力受付になりました。
助かります!!
ありがとう御座いました。やっぱLispって難しいからわくわくします。
898デフォルトの名無しさん:2009/02/13(金) 22:53:51
>>892
下記のコード
(let (x) (format *standard-output* ">") (force-output *standard-output*) (setq x (read)))
でどうでしょう。これは C でいうところの
{ int x; printf(stdout, ">"); fflush(stdout); scanf("%d", &x); }
です。このコードには問題がありまして、値を設定した直後にletスコープが終了するため、
変数xがなくなってしまいます。これはお望みの動作と違うような気がしますが。
899デフォルトの名無しさん:2009/02/13(金) 22:54:56
この人は質問するだけして語るだけ語って
何一つ聞いちゃいないな
900デフォルトの名無しさん:2009/02/13(金) 22:59:43
lispの機能が必要なのはいいとして、
scanfで対話的に入力しなきゃならん仕事なのか?
もうちょっとましなデータ入力しようよ。
901デフォルトの名無しさん:2009/02/13(金) 23:00:19
return x; 相当にしたらどうだろう。
(setq x (read)) を (read) にしてしまえばいい。
xの存在理由がなくなるけど
902デフォルトの名無しさん:2009/02/13(金) 23:04:57
>>894
質問者は「 は…年学習した」とはいっても「使える」とは一言も言ってないw
903デフォルトの名無しさん:2009/02/13(金) 23:10:05
>>885
ユーザーに見せたくない、とおっしゃっておられますが、誰かに説明でもするのでしょうか。
断片的な単語が誤った文脈で使われているようですし、理解が不十分な状態で説明を行うのは止めたほうがいいと思います。
老婆心から忠告しますが、あなたの現在の実力では筋の通った説明にはならないでしょう。キーワードを並べただけでは説明にはなりません。
904デフォルトの名無しさん:2009/02/13(金) 23:17:53
>>898さんにインスパイヤされて、
(defun num (sym) (format *standard-output* "Num:")(force-output *standard-output*)(set sym (read)))
これでどう?>>897
(num 'x) と実行すれば x に代入されるぞ。(num 'y)でyに代入だ。
一応求める動作はしてるんでないかい
905デフォルトの名無しさん:2009/02/13(金) 23:18:18
>>all
ありがとう御座いました。
自分にも反省点や学習した点が多々有りますので
じっくりとマニュアルを読みながら学習したいと思います。
906デフォルトの名無しさん:2009/02/14(土) 00:30:07
>>897
Lispが難しいんじゃなくて、お前さんの頭がお粗末なんだよ。
907デフォルトの名無しさん:2009/02/14(土) 01:56:35
あんまり初心者をいじめないようにな
908デフォルトの名無しさん:2009/02/14(土) 02:38:14
909デフォルトの名無しさん:2009/02/14(土) 04:04:53
>>907
7年もC/C++をやっていると称する人間を初心者扱いとか、
逆に本人に失礼だろう。
910デフォルトの名無しさん:2009/02/14(土) 07:15:54
会話になってないんだが
釣りにしては調子の外れ具合が予想の斜め上すぎる
911デフォルトの名無しさん:2009/02/14(土) 07:56:26
質問です。
Common LispとSchemeの関係は
VisualWorksとSqueakの関係みたいなものでしょうか?
912デフォルトの名無しさん:2009/02/14(土) 08:18:32
ご利用は計画的に。
913デフォルトの名無しさん:2009/02/14(土) 09:15:11
どっちかっつーと
C++(実用一点張り)とPASCAL(学術重視)みたいな関係というかそういう比較って意味ないと言うか
914デフォルトの名無しさん:2009/02/14(土) 09:35:38
実用一点張りはperlだ。
915デフォルトの名無しさん:2009/02/14(土) 09:39:58
>>911
そんなことどうでもよくね?
916デフォルトの名無しさん:2009/02/14(土) 11:37:52
何かを別のものに言い換えるだけではだめだよ。
VisualWorksとSqueakの関係とか目的も状態も全然違う。
ありのままで理解する努力が必要でしょう。
917デフォルトの名無しさん:2009/02/14(土) 12:04:23
で、ありのまま理解してると今度は抽象化が苦手って言われるんですね
それでまた犬と猫は動物だから同じだとか言うと、いや、全然違う、と
918デフォルトの名無しさん:2009/02/14(土) 12:10:18
愚痴大将ですね。
919デフォルトの名無しさん:2009/02/14(土) 13:55:02
何をやっても駄目な人間が、自分は悪くないと主張しようとすると、
全世界を愚痴らなくちゃいけないから大変だ。
920デフォルトの名無しさん:2009/02/14(土) 14:59:06
愚痴る権利を与えられた生物は人間だけだ

とこれは俺の言葉。
921デフォルトの名無しさん:2009/02/14(土) 15:02:22
権利を否定している人間はいないが?
922デフォルトの名無しさん:2009/02/14(土) 15:29:16
>>917
全否定されているうちに悟りを開く講習会とか、あんたの好みに合いそうだけどなー
923デフォルトの名無しさん:2009/02/15(日) 05:43:44
最近lispスレの書き込みが増えたのと卒業研究のシーズンが終わったのと
関連はありますか?
924デフォルトの名無しさん:2009/02/15(日) 11:50:29
そうか?
修論は半分くらいしか書けてなくて
しかもオチが未定だったぞ。
よく卒業できたもんだ。
925デフォルトの名無しさん:2009/02/15(日) 11:57:48
関連があると、>>923の恋が成就するんですね?
926デフォルトの名無しさん:2009/02/15(日) 23:54:27
そうです。
まあ関連はないんですけどね。
927デフォルトの名無しさん:2009/02/16(月) 14:39:28
900越えたな。
ところで妙に凝ったスレタイはどうする?
928デフォルトの名無しさん:2009/02/16(月) 14:46:29
そんなの気にしてるの多分お前だけだよ
凝った、というかキモイけどな
立てる奴が勝手にすればいい
929デフォルトの名無しさん:2009/02/16(月) 15:48:45
>>926
彼女ができるlispはどれですか?
930デフォルトの名無しさん:2009/02/16(月) 16:20:08
>>911
Common Lisp と Scheme の関係は、
Smalltalk と SELF の関係みたいなもんかな。
文法は一緒だけど、後者はシンプリシティを追求しているとことか。
931デフォルトの名無しさん:2009/02/16(月) 16:29:55
なかなかLispっぽくていいとは思うけどな>スレタイ
932デフォルトの名無しさん:2009/02/16(月) 17:12:13
全部大文字にした方がいいな
(MAKE-THREAD :NAME COMMON-LISP :PART 5)
933デフォルトの名無しさん:2009/02/16(月) 18:29:13
普通に以前のスレタイに戻した方がいいだろ、明らかに浮いてる
934デフォルトの名無しさん:2009/02/16(月) 19:55:34
俺も前のスレタイに戻すのに1票
このスレタイはちとやりすぎだろ、なんか入門者お断りって雰囲気だし
935デフォルトの名無しさん:2009/02/16(月) 20:12:43
旧スレタイに一票
現スレタイはちょっと凝りすぎで痛い気がする・・・
936デフォルトの名無しさん:2009/02/16(月) 20:17:20
旧スレタイに +1

ちなみに旧スレタイ
【入門】Common Lisp その6【質問よろず】
937デフォルトの名無しさん:2009/02/16(月) 20:33:57
まあ、Lispはもともと他の言語とは一線を画した構文だけどな.
938デフォルトの名無しさん:2009/02/16(月) 20:37:48
現スレタイはぱっと見で分かりづらい
旧スレタイに更に1票
939デフォルトの名無しさん:2009/02/16(月) 20:42:39
((((((((((((((((CommonLISP Part6))))))))))))))))))))
これでいい
940デフォルトの名無しさん:2009/02/16(月) 21:03:50
>>939
Part.6だから括弧の数も6で合わせないとダメ
941デフォルトの名無しさん:2009/02/16(月) 21:35:52
どうせなら再帰とかを使おうぜ
942デフォルトの名無しさん:2009/02/16(月) 21:58:24
旧スレタイに一票。やっぱ入門って明記しないとなぁ。
LISP勉強したいとかいってる初心者にいきなりSICP勧めるとか…
943デフォルトの名無しさん:2009/02/16(月) 22:13:26
((【入門】)(Common Lisp) (その6)(【質問よろず】))
944デフォルトの名無しさん:2009/02/16(月) 22:16:43
汚いS式だなあ
945デフォルトの名無しさん:2009/02/16(月) 22:20:26
>>943
わけわからん
せめて日本語にしようぜ
946デフォルトの名無しさん:2009/02/16(月) 22:23:42
綺麗なS式だろ。死んでるんだぜ、それ。
大した内容もないのに、ちょっと括弧の打ち所が悪かっただけで。
もう動かないんだぜ。
947デフォルトの名無しさん:2009/02/16(月) 22:38:15
だから我らはエディタの全面支援を受けるのではないか!!
948デフォルトの名無しさん:2009/02/16(月) 23:19:36
((入門)) (Common Lisp) (その6) ((質問よろず)) (笑)
949デフォルトの名無しさん:2009/02/16(月) 23:19:53
(reverse "]ずろよ問質[ 6のそ 門入 psiLnommoC")
わかりにくさを追求するとこういうのも
950デフォルトの名無しさん:2009/02/16(月) 23:35:16
   【審議中】
            ∧,,∧     ∧,,∧  
    ∧ ∧    (    )    ( ・ω・)   
   (ω・ )     (  U)     ( つ日ノ   ∧,,∧
   | U       u-u       u-u     ( uω)
    u-u                    (∩∩)

        ∧,,∧      ∩ ∧_∧
        (・ω・')    ⊂⌒( ・ω・)
       ⊂∪∪⊃      `ヽ_∩∩
951デフォルトの名無しさん:2009/02/16(月) 23:35:50
【否決】
      ∧,,∧  .∧,,∧
  ∧∧(´‐ω‐`)(´‐ω‐`)∧∧
 (´‐ω‐).∧∧) (∧∧ (‐ω‐`) 
 | U (´‐ω‐`)(´‐ω‐`) と ノ
  u-u (l    ) (    ノ u-u
       `u-u' `u-u'
952949:2009/02/16(月) 23:42:34
しょぼーん
953デフォルトの名無しさん:2009/02/16(月) 23:47:42
せめて検索にかかるやつにしてくれ
954デフォルトの名無しさん:2009/02/16(月) 23:55:46
むぅ、またしても       '´   ヽ
     )/ ノノ~))      (ノ゙゙")〉 l!
    ( ヽc#・-・)0     リ゚ヮ゚*|||< 泣き虫>>952
     /  y/ /     | ̄~|/ レ
    <_」=∞<      0─とヾノ
____ / / l ヽヽ______// l ヽヽ_________
     ヽuー-ーu''     ヽuー-u''
955デフォルトの名無しさん:2009/02/16(月) 23:57:02
        __
      γ~___〉  くじけるではないぞ
      〈 〈 ・ω・) /l/l 
   ) ̄~~ (,__、]う彡 ・・\
  ""へヘノ(_ノヽ-ヽ、__メ、゚_゚)
   j(´ ||__し'_||   /
  彡ヘ   ̄   ,ノ
    | | | ̄ ̄| | |
    |_|_|    |_|_|
956デフォルトの名無しさん:2009/02/16(月) 23:58:11
   _
   /;;;人
.  /;;/ハヽヽ  わしはこんなスレタイに
 /;;ノ´・ω・)ゞ しとうはなかった!
 /////yミミ
   し─J
957デフォルトの名無しさん:2009/02/17(火) 01:53:23
CommonLisp にするか Common Lisp にするかは
悩むところだな。検索にかかるという意味では

まぁ俺も旧でいいと思うが
958デフォルトの名無しさん:2009/02/17(火) 02:56:56
どのみちCommonで検索するから問題ない。
959デフォルトの名無しさん:2009/02/17(火) 03:01:58
あっ、じゃあCommonとかけて、
(越後の縮緬問屋の隠居じゃ :part 6)
とかで、どう?
960デフォルトの名無しさん:2009/02/17(火) 03:03:29
鬼才現る
961デフォルトの名無しさん:2009/02/17(火) 03:09:38
ふつーのスレタイでいいっつーの
>>936でよろ
962デフォルトの名無しさん:2009/02/17(火) 03:59:17
【審議中】
    |∧∧|       (( ) )   (( ) )  ((⌒ )
 __(;゚Д゚)___   (( ) )   (( ⌒ )  (( ) )
 | ⊂l >>959 l⊃|    ノ火.,、   ノ人., 、  ノ人.,、
  ̄ ̄|.|.  .|| ̄ ̄   γノ)::)  γノ)::)   γノ)::) 
    |.|=.=.||       ゝ人ノ  ゝ火ノ   ゝ人ノ
    |∪∪|        ||∧,,∧ ||∧,,∧  ||  ボォオ
    |    |      ∧ (´・ω・) (・ω・`) ∧∧
    |    |      ( ´・ω) U) ( つと ノ(ω・` )
   ~~~~~~~~     | U (  ´・) (・`  ). .と ノ
              u-u (    ) (   ノ u-u
                  `u-u'. `u-u'
963デフォルトの名無しさん:2009/02/17(火) 04:02:23
【埋葬中】

   ∧,,∧            ∧,,∧  ∧,,∧  ∧,,∧  ∧,,∧
   ( ´・ω)           (,,   )(,,   )(,,   )(,,   )ナムナムー
   | ⊃|__,>;* ザッザッ   ⊂  ヾ ⊂  ヾ ⊂  ヾ ⊂  ヾ
    u-u     ・;*;'∴     (  ,,) (  ,,) (  ,,) (  ,,)
~~~~´゙`゙゙´´ ~~゙`゙´\ ∧,,∧/`゙゙´´ ~~゙゙´``´`´~~~~~~~~~~~~゙゙´``´`´
            >>959
964デフォルトの名無しさん:2009/02/17(火) 04:17:21
「越後のちりめん問屋」の落とし穴>>959

TVドラマ水戸黄門で、黄門様は自分の身分を偽り「越後のちりめん問屋の隠居、光右衛門」と名乗っています。
つまり
「越後のちりめん問屋の隠居」=「黄門」=「Common」
という等式が成り立ちます。これを適用すると、
(越後の縮緬問屋の隠居じゃ :part 6) => (Common :part 6)
となるため、Lispが抜けていて「Common Lisp」か「Common programming language」か
確定できないという重大なバグがあります。
従って、「(越後の縮緬問屋の隠居じゃ :part 6)が次スレのタイトルに相応しい」
という仮説は棄却されます。
965デフォルトの名無しさん:2009/02/17(火) 06:38:40
formatを駆使して、すべての候補を自動生成するのにすればいいじゃん
966デフォルトの名無しさん:2009/02/17(火) 09:19:37
(みなさんの意見をまとめて、
(【入門】アーッ!Lisp その6【質問よろず】)
でよろしいか-p)
967デフォルトの名無しさん:2009/02/17(火) 10:25:43
T
968デフォルトの名無しさん:2009/02/17(火) 12:14:30
なんでもいいよ
いちいち人に聞くな
969デフォルトの名無しさん:2009/02/17(火) 18:50:38
あんまりふざけないようにな
変なスレタイで建てたら削除依頼しちゃうぞ
970デフォルトの名無しさん:2009/02/18(水) 00:28:53
【入門】Common Lisp その6【質問よろず】
http://pc11.2ch.net/test/read.cgi/tech/1234884136/
971デフォルトの名無しさん:2009/02/18(水) 00:31:46
>>970
GJ
972デフォルトの名無しさん:2009/02/18(水) 01:25:56
>>970
久しぶりに見たけど、しっくりくるからやはりこれしかないな
973デフォルトの名無しさん:2009/02/18(水) 14:29:19
common lisp上に作られたschemeってないのでしょうか?
974デフォルトの名無しさん:2009/02/18(水) 17:30:26
dreamhostでclispのmakeできた
意外と簡単なんだね
975デフォルトの名無しさん:2009/02/20(金) 18:03:38
stepなどのデバック機能を解説しているところ
または本はないでしょうか
976デフォルトの名無しさん:2009/02/21(土) 18:00:04
埋め
977デフォルトの名無しさん:2009/02/21(土) 19:12:09
>>975
きほんてきにデバッグ方法は処理系によって違うと思われ
978デフォルトの名無しさん:2009/02/24(火) 12:30:31
このスレさっさと埋めようぜ
979デフォルトの名無しさん:2009/02/24(火) 18:31:10
と書かれても全く埋まらないことに泣いた




ここって980(とかともかくレス一定数以上)越えてしばらく書き込みなかったら
落ちたりするっけ?
980デフォルトの名無しさん:2009/02/24(火) 19:02:05
どうせあと20レス
どうでもいいだろう
981デフォルトの名無しさん:2009/02/24(火) 23:04:02
てか建てるの早すぎたんだよな
次スレは980でいいだろ
982デフォルトの名無しさん:2009/02/24(火) 23:47:27
そうだな、980で十分かもね。
まぁゆるりといこうか
983デフォルトの名無しさん:2009/02/24(火) 23:55:39
>>973
英語が読めるならPAIPに小さなSchemeもどきのコンパイラの作り方が出てくるよ。
984デフォルトの名無しさん:2009/02/25(水) 03:58:44
埋め埋め
985デフォルトの名無しさん:2009/02/25(水) 16:57:08
cloccはもう入手できないのでしょうか?
http://lambda.s55.xrea.com/CMUCL.html
986デフォルトの名無しさん:2009/02/25(水) 18:17:42
>>985
sf.net
のcvsパスが変更になっただけでした
987デフォルトの名無しさん:2009/02/25(水) 23:26:03
ume
988デフォルトの名無しさん:2009/02/26(木) 00:45:58
定期埋め
989デフォルトの名無しさん:2009/02/26(木) 00:56:40
slimeの便利機能紹介希望

C-c C-z
の逆向きってないのかな
990デフォルトの名無しさん:2009/02/26(木) 02:15:56
どういう風に逆向き?
991デフォルトの名無しさん:2009/02/26(木) 14:02:44
埋め
992デフォルトの名無しさん:2009/02/26(木) 14:10:00
埋め
993デフォルトの名無しさん:2009/02/26(木) 17:19:54
埋め
994デフォルトの名無しさん:2009/02/26(木) 17:36:21
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((LISPの誤解その1。このようなコードはほとんど存在しない
995デフォルトの名無しさん:2009/02/26(木) 17:43:58
シンタックス・エラーだからね。
996デフォルトの名無しさん:2009/02/26(木) 17:48:06
]
997デフォルトの名無しさん:2009/02/26(木) 17:53:07
カッコ悪い
998デフォルトの名無しさん:2009/02/26(木) 18:03:32
999デフォルトの名無しさん:2009/02/26(木) 18:29:15
これなら今日中に埋まるね
1000デフォルトの名無しさん:2009/02/26(木) 19:00:06
1000なら今年はLisp year.
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。