【入門】Common Lisp その4【質問よろず】at TECH
【入門】Common Lisp その4【質問よろず】 - 暇つぶし2ch259:デフォルトの名無しさん
08/03/27 14:26:57
>>246

cmucl 19e

- Preliminary support for external formats. Currently only
iso8859-1 and utf-8 are supported. Utf-8 support is limited
since CMUCL only has 8-bit characters.


260:デフォルトの名無しさん
08/03/27 14:32:59
swank の方でも cmucl への接続時は iso-latin-1-unix 以外の coding だと
接続できないように書かれているから、そもそも utf-8 で接続できているのが
おかしいというか勘違いだろう。

261:デフォルトの名無しさん
08/03/28 03:04:37
>>259
ガーン、有難うございました orz

そうか、external-formatだけダメってのもあるのか,Release-noteはちゃんと読まないとだめですねぇ


262:デフォルトの名無しさん
08/03/30 19:57:31
(setq y '(1 2 3 4 5 6 7 8 9 10 11))

(defun visitor (x)
(+ (car x) (visitor (cdr x))))

(visitor y)


スタックオーバーフローで死ぬんですけど・・・。
xyzzyにて。

263:デフォルトの名無しさん
08/03/30 20:03:43
すまん。自己解決した。

(setq y '(1 2 3 4 5 6 7 8 9 10 11))


(defun visitor (x)
(if (equal x nil) 0
(+ (car x) (visitor (cdr x)))))


(visitor y)

264:デフォルトの名無しさん
08/03/30 21:14:41
ねらい通りのものができたので、記念書きこ。

(setq x '(1 2 3 (4 5 6 (7 8 9 ) 10 11 )))


(defun visitor (x)
(if (equal x nil) 0
(if (listp (car x)) (+ (visitor (car x)) (visitor (cdr x)))
(+ (car x) (visitor (cdr x))))))


(visitor x)

265:デフォルトの名無しさん
08/03/30 21:21:22
一つの関数書くのに一時間以上かかってる。
鬱だ。情けない。

266:デフォルトの名無しさん
08/03/30 21:43:40
ま、最初はそんなもんじゃないかな

なんとなく別解を書いてみた

(defun visitor (x) (if (atom x) x (apply #'+ (mapcar #'visitor x))))

267:デフォルトの名無しさん
08/03/30 22:35:30
>>266
まさか同じ処理をするとは思えませんでした。
高階関数を使うとそんなにすっきり書けるんですね。
勉強になりました。ありがとうございました。

268:デフォルトの名無しさん
08/03/31 00:08:43
短く書くだけならこれで十分じゃね?↓

(defun visitor (x) (apply #'+ x))

269:デフォルトの名無しさん
08/03/31 00:10:09
…ってごめんよく読んでなかった、今のなしで orz

270:177
08/03/31 10:19:14
>>266
なるほどな~。
私もLispを始めたばかりなので、勉強になります。

271:デフォルトの名無しさん
08/03/31 14:37:40
数式処理(maxima)で
[x1,x2,x,3...]という記号(変数?)の列を生成したいのですが
defmacroを使うのが正しいやりかたなのでしょうか?

272:デフォルトの名無しさん
08/04/01 02:24:09
URLリンク(d.hatena.ne.jp)
rcl(Rとのインターフェイス)が動かなかったので補正してみました.
ひょっとしてバグなのでしょうか?

273:デフォルトの名無しさん
08/04/01 16:15:05
swigでc++ をwrapしてclispから呼びたい
swigのcffiオプションはcはできてもc++はできないみたいなので
Allegro Common Lisp用のものを生成して
swig -allegrocl -c++ example.i
ちょっと書き換えればclispやsbclで動くものになるんだろうか


274:デフォルトの名無しさん
08/04/02 00:40:55
ACLの個人向けライセンスの安いのだしてくれんものかのぉ。orz


275:デフォルトの名無しさん
08/04/02 08:17:07
>>274
学生になったらいいんじゃね?

276:デフォルトの名無しさん
08/04/02 08:43:39
こっちはACLのチュートリアルやってみてるところだけど、
ヴァージョンが違うからなのか、そのままのとおりにならないorz
親しんでもらって売ろうという気は無いのかなと思った。


277:デフォルトの名無しさん
08/04/02 20:43:29
どのチュートリアルの話ですか?
ANSI CL 規格の範囲内ならともかく、ACL処理系依存の部分なら
全バージョンで完全な互換性を保つ事を要求するのは酷なのでは…。


278:デフォルトの名無しさん
08/04/03 00:07:32
URLリンク(www.common-lisp.ru)
すごい便利そうなんだけどドキュメントはどこ?

279:デフォルトの名無しさん
08/04/05 09:07:12
GNU clispつかってデータ処理してるんだけど
少ないデータをかませたらきちんと結果が出てくるんだけど
大量のデータをかませたら
APPLY: too many arguments given to +
[Condition of type SYSTEM::SIMPLE-PROGRAM-ERROR]
と出てくる.
スタックサイズか何かだと思うんだけど...どうやったらうまくapplyしてくれるようになりますかね?

280:デフォルトの名無しさん
08/04/05 09:37:40
エラーメッセージに何が問題か書いてあるんだけど、読んでから質問してる?

281:デフォルトの名無しさん
08/04/05 11:02:52
(reduce #'+ args)

282:デフォルトの名無しさん
08/04/05 11:55:26
>>279
Clispは引数の数に制限があるの?

283:デフォルトの名無しさん
08/04/05 20:18:01
>>282
CALL-ARGUMENTS-LIMIT
URLリンク(www.lispworks.com)

284:デフォルトの名無しさん
08/04/05 20:41:10
>>283
282じゃないけど、こんな変数あるんだ、勉強になったよ
ちなみに手元で調べた結果(全部 mac os x 上)
clisp: 4096
acl: 16384
sbcl: 536870911

285:282
08/04/05 21:40:57
>>283
ほー。こんなのがあるのですか。
ありがとうございます。
こういうのはどのように知ったのですか?

286:デフォルトの名無しさん
08/04/05 22:42:57
283じゃないけど、漏れは282同様に派手にAPPLY→エラー→調べる→知る、という流れだったね。
ANSI 規格では最低 50 ときまってるので、50 個の引数までなら CALL-ARGUMENTS-LIMIT を意識せずに安心して使える。


287:デフォルトの名無しさん
08/04/05 23:42:37
283だけど、漏れは282同様に派手にAPPLY→エラー→281のようにreduceで書く→忘却→
ある日PCL読んで制限について書いてるのたまたま発見、という流れだったね。
URLリンク(www.gigamonkeys.com)
ANSI 規格では最低 50 ときまってるけど、 CALL-ARGUMENTS-LIMIT のことは忘れて reduce 使うね。

288:デフォルトの名無しさん
08/04/06 20:13:57
おれ様用メモ。constant variable とその最小値。

multiple-values-limit >20
call-arguments-limit >50
lambda-parameters-limit >50

下は多分誰も気にしない値。
array-dimension-limit >1024
array-rank-limit >8
char-code-limit >96
array-total-size-limit >1024

289:デフォルトの名無しさん
08/04/06 22:05:03
> 下は多分誰も気にしない値。
char-code-limitはUnicodeサポートの目安に使ったりするみたいよURLリンク(lispuser.net)
array-total-size-limitも結構使う。おさまらないやつは分割したりしなきゃいけないから。

290:デフォルトの名無しさん
08/04/06 22:28:38
>>288
細かいことを言うようだが、正確にはすべて等号を含む、かな。

291:デフォルトの名無しさん
08/04/06 22:53:01
>>289
HyperSpecのぶ厚い仕様はダテじゃないのね、、、失礼しました。
>>290
(´・ω・`)

292:デフォルトの名無しさん
08/04/08 10:52:12
CL-USER> (+ 1 2)
3
CL-USER> (+ 2 3)
5
CL-USER> (+ 3 4)
7
CL-USER> (+ * ** ***)
15

こんな事ができるのね。

293:デフォルトの名無しさん
08/04/08 12:26:03
>>292
それ、便利だよね。
slimeとかじゃ使えんが。

294:292
08/04/08 12:47:38
>>293
slime+clispで試しました。


295:デフォルトの名無しさん
08/04/08 18:42:54
>>294
sbcl だとダメだった

296:デフォルトの名無しさん
08/04/08 18:52:51
>>295 うちは大丈夫だが...
; SLIME 2008-03-24
CL-USER> (+ 1 2)
3
CL-USER> (+ 3 4)
7
CL-USER> (+ 5 6)
11
CL-USER> (+ * ** ***)
21
CL-USER> (lisp-implementation-type)
"SBCL"
CL-USER> (lisp-implementation-version)
"1.0.15.41"
CL-USER>


297:デフォルトの名無しさん
08/04/08 19:01:40
つかこれCommon Lisp標準の機能でしょ?

298:デフォルトの名無しさん
08/04/08 22:38:30
この辺ですな。
URLリンク(www.lispworks.com)
"*" 辺りしか使ったことないけど。

299:デフォルトの名無しさん
08/04/08 23:32:33
一番使うのは + 系だけどな


300:デフォルトの名無しさん
08/04/09 00:47:29
*も+もいいよね。CLで好きな機能の一つだ。

301:デフォルトの名無しさん
08/04/10 12:13:27
xyzzyでは使えないの?

302:デフォルトの名無しさん
08/04/10 12:42:04
自分で試せばいいじゃないか。

303:デフォルトの名無しさん
08/04/10 16:14:13
>>301
使えないみたいですね。

304:デフォルトの名無しさん
08/04/10 16:19:08
xyzzyはCommon Lispじゃないからしょうがない

305:デフォルトの名無しさん
08/04/10 23:34:06
>>301 とかは xyzzy に REPL があるという認識なのね。
オレにはその認識はなかったので、かなり新鮮。

欲しければ実装してやればいいんじゃね。

306:デフォルトの名無しさん
08/04/11 00:06:12
REPL よりも lisp-interaction-mode 改造の方が使いやすいかも

307:デフォルトの名無しさん
08/04/11 06:35:02
*scratch*に入力した文字は消え去ることもないし、他に履歴呼び出しもあるしで
別に苦労して* + /を実装する必然性も感じられないんだけどw

308:デフォルトの名無しさん
08/04/11 08:37:14
(let ((* nil) (** nil) (*** nil))
(loop
(setq *** ** ** * * (eval (read)))
(print *)))

*付きREPLってこんな感じ?ほとんど意味無いけどw

309:デフォルトの名無しさん
08/04/11 09:39:28
>>308
実際の実装も割とそんな感じですね。

310:デフォルトの名無しさん
08/04/11 13:26:01
>>307
さほど苦労ではないから多くの処理系で実装されているのでは?w

311:デフォルトの名無しさん
08/04/11 15:53:08
多くの処理系には *scratch* がない

312:デフォルトの名無しさん
08/04/11 16:31:45
会話が成立してないな。ここは人工無脳たちも来てるから仕方ないけど。

313:デフォルトの名無しさん
08/04/12 00:32:41
>>310
いや、規格できまってるからですw

314:デフォルトの名無しさん
08/04/12 10:15:47
(funcall
(car
'(#'test . ("arg1" . "arg2"))))

これが,
FUNCALL: #1=#'TEST is not a function name; try using a symbol instead
としてエラーが出るのですが,おそらくクオーティングされてるんだと思います.
これをfuncallでできるようにやるにはどうしたらよいのでしょう?

315:デフォルトの名無しさん
08/04/12 10:40:55
ドッドペアとはな。コンスセルの節約かい?

A: cons で対応
(funcall (car (cons #'test '("arg1" . "arg2"))))

B: バッククォートで対応
(funcall (car `(,#'test . ("arg1" . "arg2"))))


316:デフォルトの名無しさん
08/04/12 11:50:56
testが決め打ちなら、

(setf (symbol-function 'test) #'car)
(funcall (car '(test . ("arg1" . "arg2")))
'(foo bar))
;-> foo
で良いだろうし

testが動的に変化するなら、
(let ((test #'car))
(funcall (car `(,test . ("arg1" . "arg2")))
'(foo bar)))
-> foo
じゃない?
function(#')付けるとややこしくなると思うよ。

もしくは最初のalistの作り方ががそもそも問題で、
(let ((test #'car)
(alist (cons #'car '("arg1" . "arg2"))))
(funcall (car alist)
'(foo bar)))

とか。
なんにしろ、何が実現したいのかで変ってくる例だと思う。
関係ないけど、SchemeとCommon Lispの名前空間の扱いの違いを理解するには良い例かも。

317:デフォルトの名無しさん
08/04/12 12:08:31
質問者は名前空間というよりクォートについて聞いているのではないか?
(define (test) 100)
((car '(test . 100)))
はSchemeだってエラーでしょう。

元質問は、俺にもかけだしだった頃に似たような経験があるなぁ。
1. #' + シンボルで関数を表現する、という説明を聞く => やってみる '(#'test) うごかNeeeなんで?
2. #'test を「評価」すると関数になるんだよー ' でクォートされたものは評価されない
3. Aha!

318:デフォルトの名無しさん
08/04/12 13:26:35
>質問者は名前空間というよりクォートについて聞いているのではないか?
>>316 >関係ないけど、Sche...
と書いてますし、質問と関係ないことについては、ご指摘の通りですw

quoteを回避するってなら、
(funcall (cadar '(#'car)) '(foo bar baz))
って方法もあるね。
さらに横道に逸れるけどw

319:デフォルトの名無しさん
08/04/12 13:41:41
On Lispで関数内でクオートしたリストを返しては駄目だとあるので、

この関数を定義して、
(defun exclaim (exp)
(append exp (list 'oh 'my)))

CL-USER> (exclaim '(hoge fuga))
(HOGE FUGA OH MY)
CL-USER> (nconc * '(goodness))
(HOGE FUGA OH MY GOODNESS)
CL-USER> (exclaim '(foo bar))
(FOO BAR OH MY GOODNESS) ←どうしてこうなるの???

上記の(list 'oh 'my)は関数が呼ばれるたびに
生成されると思ったのですが、どうして関数内で定義されている
リストが影響されてしまうのでしょうか。

320:デフォルトの名無しさん
08/04/12 14:40:32
漏れの環境では、再現しないんだけど…。
CLISP、SBCL
HyperSpec博士の出番だね。

(defun exclaim (exp)
(let ((lst (copy-list '(oh my))))
(append exp lst)))
でも同じ結果になるのかな?

321:319
08/04/12 15:06:49
>>320
> (defun exclaim (exp)
> (let ((lst (copy-list '(oh my))))
> (append exp lst)))

この関数で試してみたら、うまく動きました。
ありがとうございます。

もう一度、
(defun exclaim (exp)
(append exp (list 'oh 'my)))
を定義して試してみたら、うまく動きました。

CLisp,Slimeで試していたのですが、
上記の関数は別ファイルに書き、
c-c c-l
でloadfileしていたのですが、保存前の
ファイルをloadfileしていたのだと思います。
すみません。

322:デフォルトの名無しさん
08/04/15 13:12:56
common lispについて情報交換 質問などができるMLはどこかにないでしょうか?

323:デフォルトの名無しさん
08/04/15 15:25:05
>>322
MLでは無いですが、mixiにはコミュニティがありました。
この前見たときは8名ほどだったような。

日本語で情報交換できるMLがあったら私も知りたいですが、
このスレが一番活発だったりして。

324:デフォルトの名無しさん
08/04/15 20:58:44
>このスレが一番活発だったりして。
ありうるw

いまどきブログで書く人が多いからMLも活発にならないかもしれない。
そういってもcommon lispのブログもあまり見かけない気はするけどw

325:デフォルトの名無しさん
08/04/15 22:20:11
Common Lisp Night やろうぜ!

326:デフォルトの名無しさん
08/04/15 22:47:26
>>325
一晩かけてみんなでカッコを黒板に清書だな

327:デフォルトの名無しさん
08/04/15 23:21:03
LispDaysの中の人の更新がないしなぁ。

僕はとっても楽しみにしてるんで、日常だけでもいいから日記かいてくれないかなぁ。


328:デフォルトの名無しさん
08/04/16 02:27:49
去年ちょこっとcommon lispのブログが増えたけど、去年中に
大体がcommon lispnについて書くのやめちゃったね。
対してSchemeはあんまりそういう傾向はないみたいなんだけど。
なんでだろ。Schemeは教材が充実してるから学習日記が書きやすいとか、かな?

329:デフォルトの名無しさん
08/04/16 02:31:53
Common Lisperは仕事が忙しいんですよ

330:デフォルトの名無しさん
08/04/16 02:52:53
つまり暇な学生には人気がないってこと?w

331:デフォルトの名無しさん
08/04/16 03:34:41
ハテナ ダイアリィのcomon lisp groupでも作ればいいのかな

332:デフォルトの名無しさん
08/04/16 05:55:21
はてなにLisp系のグループは2つあるみたいだけど、うち一つは休眠中。
もう一つも登録者8人中、アクティヴなのは4人ぐらいしかいないみたい。
この現状でさらにもう一つCLersのグループを作ったとしても…

333:332
08/04/16 06:00:35
ごめん、訂正。他にSICPのグループがあって、こちらはけっこう人数がいるみたいだ。
「はてなにLisp系のグループは2つ」というのは間違いでした。

334:デフォルトの名無しさん
08/04/16 08:26:52
Common Lisp ブログ、何でもいいから沢山あるといいね。
新仕様 Common Lisp The 3rd とかあると盛りあがるんだけど。

335:デフォルトの名無しさん
08/04/16 08:39:09
>>334
> 新仕様 Common Lisp The 3rd とかあると盛りあがるんだけど。
その仕様にフジコちゃんは入ってますか?

336:デフォルトの名無しさん
08/04/16 10:08:27
不覚にもワラタ


337:デフォルトの名無しさん
08/04/16 10:37:37
Common Lisp は大事なものを盗んでいったんですねわかります!

338:デフォルトの名無しさん
08/04/16 10:41:46
>>337
俺様から怠惰を盗みやがったぜ

339:デフォルトの名無しさん
08/04/16 12:40:05
>>332
別に沢山あっても良いと思うけど、纏まってないといけない理由もないだろうし。
CL専門だったら漏れも登録したいと思うよ。
もしくは逆にテーマを限定してCLOS専門とかねw

340:デフォルトの名無しさん
08/04/16 13:50:47
hatena diaryのweb リングのサービス終了ですか
common lispのグループは便利だった

341:デフォルトの名無しさん
08/04/16 22:26:26
>>339 MOP専門ほしい


342:デフォルトの名無しさん
08/04/16 22:33:29
>>339
同意。グーグルが勝手に拾ってくれるから、必要なのは
Webに書くときには単に Lisp ではなく、ちゃんと Common Lisp と綴ることだと思う。
だれか「CLOSプログラマーのためのJava入門」とか書いてくれたら嬉しいんだけど。

343:デフォルトの名無しさん
08/04/16 22:41:03
俺のサイトはグーグル拾ってくれない…
まあ CLOS の事は書いてないけど

344:デフォルトの名無しさん
08/04/16 22:50:36
>>343
宣伝しなきゃですよ。ここへURLを晒すとか。w

345:デフォルトの名無しさん
08/04/16 23:47:30
>>342
CLOSとJavaて水と油ですやん。書く奴がいるとは思えない。
「CLOSプログラマーのためのC++入門」ならまだ分かる。
両方generic function萌えなので。


346:デフォルトの名無しさん
08/04/16 23:57:33
>>345
generic functionという用語だけ同じでも中身別物じゃんかw

347:デフォルトの名無しさん
08/04/17 00:16:24
いや、まず、CLOSプログラマがCLOSについて書くべきだろw

348:デフォルトの名無しさん
08/04/17 01:52:09
まず↓の絶版状態を解消するのが先決だな。
URLリンク(www.amazon.co.jp)

どっかの出版社タノムぜ

349:デフォルトの名無しさん
08/04/17 01:57:19
>>348
URLリンク(www.fukkan.com)


350:デフォルトの名無しさん
08/04/17 07:42:11
CLOSって何で流行らないのかな
マクロとCLOSってめちゃめちゃ強力な気がするんだけど(まだ勉強中)


351:デフォルトの名無しさん
08/04/17 07:47:50
そう思えるのはS式に抵抗がなくなりつつあるからでしょう。
Lispやる前を思い出してみると、マクロと聞くとCの#defineを想像したり、
大量の括弧をみただけでダメ出ししていたりしませんでしたか?

352:デフォルトの名無しさん
08/04/17 08:28:55
>>350
その前にCL自体を流行らせないと。

353:デフォルトの名無しさん
08/04/17 08:32:15
>>346
二大「特殊化」言語だよ。

コンパイル時か、実行時か
before/after daemon

大きく違うのはこのくらい。

>>350
Common Lispが流行ってませんので…

けどC++にかなり大きな影響与えてる。
C++の方は特殊化に関する部分だけでも、
まだいろいろと拡張を続けてる。
Generic programmingやaspect oriented programmingの
源流の一つだね。

354:デフォルトの名無しさん
08/04/17 08:40:09
>>353
> 大きく違うのはこのくらい。

それに起因して違いがありすぎるだろ。別物じゃねーか。

355:デフォルトの名無しさん
08/04/17 08:47:26
>>345
Java:だいたい全てがオブジェクト,Guy Steel Jr が参加
CL:全てがオブジェクト,Guy Steel Jr が参加

同じだ!JavaとCLはほとんど同じだよ!


356:デフォルトの名無しさん
08/04/17 09:26:25
Javaはガチガチのクラス指向だからなあ。

357:デフォルトの名無しさん
08/04/17 09:52:39
jvmの上で動くCommonLispがあればいいんじゃないか?
コンパイルもバイトコードに落ちるようなの。


358:デフォルトの名無しさん
08/04/17 10:34:44
>>357
Armed Bear Common Lisp (ABCL) が既にあるけど何か?

359:デフォルトの名無しさん
08/04/17 10:46:27
>>358
アンテナ壊れてたよ、ありがと.
週末に試してみる。


360:デフォルトの名無しさん
08/04/17 13:47:15
>>341
そうだね、MOP全般ってのも良いかも。
とりあえず、CLOSの情報が増えさえすれば良いんだし。
CL、Gauche、他にどういうのが対象言語かな。

361:デフォルトの名無しさん
08/04/17 14:09:26
サイトの宣伝していいの?
common lisp  packageで検索してくる人が5人/day
ぐらいのサイトだけど

362:デフォルトの名無しさん
08/04/17 14:22:22
日に5人もCLパッケージで迷える子羊がいるんだなw
ANSI Common Lispでもパッケージの解説は親切でないかもね。

363:デフォルトの名無しさん
08/04/17 15:24:33
パッケージはCLtL2(≒ANSI)で大きく仕様が変わったせいで少し混乱してるね。
CLtL2の記述を見ても、GLSは新しい仕様があまり好きではないのではないかと思える。

364:デフォルトの名無しさん
08/04/17 16:10:10
混乱っていえば、ANSI、cltl1、cltl2の関係も混乱するね。
仕様について言うなら、とりあえずANSI(HyperSpec)を規準にすれば
良いんだろうけど…。
HyperSpec翻訳されないかなあ。
やっぱり、みんなHyperSpecを一番読むわけでしょう?

有志で、オンラインで翻訳しまくるというのはどうか。
もちろん許可がとれれば、だけど…。

365:デフォルトの名無しさん
08/04/17 19:21:58
>>364
とりあえずさっと確認したいときはHyperSpecだね。
じっくり調べるときはCLtL2を開いてGLSの名調子に浸る。w

366:デフォルトの名無しさん
08/04/17 23:14:17
おれ常にHyperSpecしか見てなかったよ
>>364
よく知らないけど、HyperSpecってどこかが権利もってんだよね?
何かまるごとダウンロードしようとして躊躇した記憶がある

367:デフォルトの名無しさん
08/04/17 23:19:36
>>366
丸ごとダウンロードは別に問題ないんじゃないの?
圧縮されたファイルで用意されてるし。

むしろ皆でlispworksに押しかける方が無茶な気がするが。

368:デフォルトの名無しさん
08/04/17 23:29:53
>>366
URLリンク(www.lisp.org)

商用利用しないかぎり複製・再配布は自由。ただし改変は認めない。

みたところ翻訳の可否については明記されていないから、これに関しては
問い合わせてみないとわからないね。

369:デフォルトの名無しさん
08/04/18 00:06:31
そうだ JIS Common Lisp を作ればいいんだ

370:デフォルトの名無しさん
08/04/18 00:46:46
JISか…。
ISLISPってのがあるけど、割と日本が果たした役割は大きかったらしいよ…。

371:デフォルトの名無しさん
08/04/18 02:14:33
ほとんど忘れ去られている悲しい規格だな>ISLISP

372:デフォルトの名無しさん
08/04/18 07:17:00
>>367,368
おお、ありがとう。法律用語の読みかたが自信なかったんだよ。
これで遠慮なくHyperSpecを読みこめるよ!

373:デフォルトの名無しさん
08/04/18 11:31:13
>>369
ECMA Script の JIS みたいに「引用」だけで済まされる、というオチが見える

374:デフォルトの名無しさん
08/04/18 12:12:17
少なくともANSI相当のものが日本語になるんじゃね?

375:デフォルトの名無しさん
08/04/18 13:06:54
いや、何故かISLISPが元になってJIS LISPができそうな気がする

376:デフォルトの名無しさん
08/04/18 13:37:38
>>375
つ JIS X3012

377:デフォルトの名無しさん
08/04/18 14:23:27
どうやら、漏れは過去を予言してしまったようだなw

378:デフォルトの名無しさん
08/04/18 15:53:43
JIS Prolog なんてもっとマイナな感じだな

379:デフォルトの名無しさん
08/04/18 21:17:06
JIS規格文書はJISが権利を持ってることになる。
翻訳が現れることは望ましいけれど、JIS化はあんまりよろしくないと思う。

380:デフォルトの名無しさん
08/04/18 21:25:12
後、誤訳してもJIS的にはそっちが正しいことになっちゃうしな。

381:デフォルトの名無しさん
08/04/18 21:25:42
>>379
無料で閲覧できるようになったのは進歩だけど、印刷はもちろん、検索さえできないのがアカンよね。
海外やISOの規格事情も似たようなもんだけどね。

382:デフォルトの名無しさん
08/04/18 21:33:25
印刷は頑張れば出来るw

383:デフォルトの名無しさん
08/04/18 21:41:25
検索も自分用はOCRソフトで・・・w

384:デフォルトの名無しさん
08/04/18 23:08:46
>>381
印刷禁止フラグは簡単に解除できる。
ム板住人ならみんなやってると思ってた。
ただ、ウェブで見られるPDFは文書をビットマップ画像にしたものを貼り付けてあるので、
検索はOCRを使わないと仕方ない。

385:デフォルトの名無しさん
08/04/18 23:19:04
印刷して使うっていう発想がなかった。

386:デフォルトの名無しさん
08/04/18 23:51:26
ちなみに有料(ダウンロード販売)の規格票もビットマップ画像だよ

387:デフォルトの名無しさん
08/04/19 08:27:47
>>386
検索できないんじゃ紙で売った方がいいよねぇ。
電子化の意味が有体物じゃ無いことだけじゃないか。



388:デフォルトの名無しさん
08/04/20 19:51:05
それが日本クオリティ...なのか?
ANSIの電子化ってどうなんだろうね。

389:デフォルトの名無しさん
08/04/20 20:03:29
>>388
金出せばやるだろ。お役所なんてそんなもんだ。

390:デフォルトの名無しさん
08/04/20 20:08:05
D&Eで規格団体のクソっぷりが書かれてたから、アメリカでも事情は同じだと思う。

391:デフォルトの名無しさん
08/04/21 01:28:05
全部RFCになればいいのに。w

392:デフォルトの名無しさん
08/04/21 02:56:23
>>391
4/1版でマジ切れとか鵜呑みとかの間抜けな人がいるから全部はヤダ


393:デフォルトの名無しさん
08/04/21 20:51:58
clispで型推論が無いのはなんで?

394:デフォルトの名無しさん
08/04/21 21:21:10
型推論のどういうメリットを期待してる?

395:デフォルトの名無しさん
08/04/21 22:36:12
>>394
コンパイルしたときのエラーと
高速化かな

396:デフォルトの名無しさん
08/04/21 23:13:15
>>395
それをインタプリタの clisp に期待するのは何故?

397:デフォルトの名無しさん
08/04/22 00:06:49
>>395
せっかくオープンソースなんだから、君が書き加えてあげれば喜ばれるかもよ

398:デフォルトの名無しさん
08/04/22 01:01:34
・オープンソースの法則
何故か誰も修正しない

399:デフォルトの名無しさん
08/04/22 07:36:31
俺は自分で気付いたものは割と修正するけどな。
わずかな努力で割と多くの人の役に立てる(ソフトのユーザ人口によるけど)。

400:デフォルトの名無しさん
08/04/22 10:08:53
elfやcoff操作するライブラリが欲しいんだけど、どこかにないかな?
binutilからBFD抜き出してライブラリにしてラッパ作った方が早いかな?

401:デフォルトの名無しさん
08/04/23 16:54:38
URLリンク(www.lisp.org)
exampleで
with-open-fileと一緒にdoを使ってるけど
xyzzyの人のサイトではほぼ必ずwhile readline

どっちが推奨なの?

402:デフォルトの名無しさん
08/04/23 17:29:27
xyzzy上のLispではwhileという関数がありますが、Common Lispにはありません。

403:デフォルトの名無しさん
08/04/23 18:00:26
closの使い道がいまひとつわからない

最短時間で(汚く)プログラム組むのに

namespace
分かりやすい名前で defun
map

あたりは使う

すでに組んでしまった汚いコードを無理やり他のプログラムとくっつけるのに
マクロは少し使う

はじめから綺麗に書こうと思わないかぎりclosは使わない?


404:デフォルトの名無しさん
08/04/23 20:16:30
>>401
一言で言えば xyzzy は Common Lisp ではない、というだけ

405:デフォルトの名無しさん
08/04/23 22:29:16
>>402
細かいこと言うと、関数じゃなくてマクロね

406:デフォルトの名無しさん
08/04/23 22:54:07
white(笑)
for(笑)

407:デフォルトの名無しさん
08/04/23 22:58:20
white って何よ

408:デフォルトの名無しさん
08/04/23 23:20:48
>>401
whileの方が簡潔にかけるからwhileがいいんじゃない?
CLだとloopとかdoだけど。馴染みのない人にはdoとか嫌われるしね。
whileはemacs経由でxyzzyに導入されたのかしら。

409:デフォルトの名無しさん
08/04/23 23:35:08
>>403
割と後づけだし、資料が少ないんだよね。
Paul GrahamとかPeter Norvigとか有名な本書いてる人達が
CLOSをプッシュしてないこともあって自著でも
CLOSの解説とかあんまりしてないし、CLOSは何だか不運に感じるなー。

それと、汚く書くってことなら、CLOSは相当なものを書けるとおもうけどw

410:デフォルトの名無しさん
08/04/24 00:12:09
>>409
CLtL2でも他の章はGLSの蘊蓄炸裂なのに、CLOSのとこはANSI原案丸写しという感じで
やる気が感じられないよね。

411:デフォルトの名無しさん
08/04/24 07:37:48
おれも素人だけど、
・いろいろ状態を持ってるオブジェクトっぽい何かがある時
・既存のライブラリがclosで出来てる時
・似たようなプログラムが沢山できそうな時
はclos使おうと思うなぁ。

schemeの話だったかもだけど、shiroさんがある規模より大きくなったら
オブジェクト指向を使いたくなる、みたいなこと書いてなかったかな?

412:デフォルトの名無しさん
08/04/24 08:24:44
>>411
> ・既存のライブラリがclosで出来てる時
おれはこの時だけ使いたくなるなぁ。
Allegroみたいな商用だとclos使ったライブラリ揃ってるっぽいけど、
普段あんまり見かけないから相対的に出番が少なくなるよね。

413:デフォルトの名無しさん
08/04/24 09:10:01
clos使わないと混乱するほど巨大な物書いたこと無いから正直使い処がわからんです。


414:デフォルトの名無しさん
08/04/24 10:12:26
うーん、CLはマルチパラダイム言語なわけで、
CLOSはそのうちの一つのパラダイムな訳だから、
規模云々より単に手法の一つだと思うんだけど…。
小さい規模でも綺麗にまとまってるのも沢山あると思うよ。
身近な例で言えばASDFとかどうだろう。

415:デフォルトの名無しさん
08/04/24 14:34:26
CLOSがあまり使われないのは、
基本関数のスタイルとCLOSのスタイルがちょっと違うからかも。
CLOSセントリックに書き直したLisp方言も面白そう。


416:デフォルトの名無しさん
08/04/24 14:42:00
とりあえず defstruct よりは defclass かな、という程度だね。
typecase でディスパッチするよりは defmethod を使うという感じ。
defun をやめて、すべて defmethod を使うというスタイルにはなれないな。

ま、便利なときだけ使えばいいんじゃね?

417:デフォルトの名無しさん
08/04/24 15:58:33
lambda式直使いとmulti dispatchの相性が悪い。

418:デフォルトの名無しさん
08/04/24 19:01:22
そうなの? どういう局面で?
無名総称関数はANSI仕様から消えちゃったけど、それのこと?

419:デフォルトの名無しさん
08/04/28 00:15:31
なんか急に流れが止まったな
>>414
へー、asdfってCLOS使ってるんだね。参考になった。
>>412
おれはこの前AllegroのSAXライブラリ使ったよ。
allegroserve もCLOSの例として面白いかも。

思い付きだけど、
がちがちに仕様が決まっているものを実装するときCLOSを使うといい、
という説はどう?

420:デフォルトの名無しさん
08/04/29 01:23:58
どうだろう…。
個人的にはガチガチに仕様が決まったようなプロジェクトでも
Lispがバンバン採用されるようになることを祈りたいw

421:デフォルトの名無しさん
08/04/30 06:12:32
sbclをアンインストールする方法はないでしょうか?
finkを導入した所リストの中にsbclが有りそちらで一括管理したいので
サイトから直接ダウンロード&インストールしたsbclをアンインストールする方法を
教えていただけないでしょうか?
よろしくお願いします

422:デフォルトの名無しさん
08/04/30 07:36:14
漏れが確認したところでは、特にアンインストールのスクリプトはないみたい。
なので、手動で削除する他ないのかな?
といっても/usr/local/lib/sbclと/usr/local/bin/sbclを削除するだけのような
気もするけど…。
単純にパスの設定を/usr/local/より/sw/の方を前にもってくるとかじゃ駄目なのでしょうか。

423:デフォルトの名無しさん
08/04/30 08:15:10
別にlispに限った話じゃないけど、自分でインストールするなら
インストールのログくらい取っておけよと思う。

424:デフォルトの名無しさん
08/04/30 08:52:30
>>423
まあ、その辺りがUNIX文化とWin/Mac文化の違いというところでは?
アンインストーラを使わずに
適当に実行ファイルを消したらシステムの整合性が崩れて
面倒ことになる、と思ったのかもしれないし。


425:デフォルトの名無しさん
08/04/30 17:16:51
>>422
ありがとうございます。
コマンドラインから検索した所
そのフォルダがヒットしましたので削除したいと思います。

>>423
今後そうしたいと思います。
精進いたします。

>>424
やはりその不安が有ったのです。
今後プログラミングの学習はマスターできるまで
仮想のlinux上でやりたいと思います。

426:421
08/04/30 17:28:37
/usr/local/share/man/man1/sbcl.1
というディレクトリが有るのですがこれの
man1というディレクトリはシステムのフォルダですか?
それともインストール時に自動的に作成されるものですか?
よろしくお願いします


427:デフォルトの名無しさん
08/04/30 17:36:26
finkうんぬんとあったからMac OS Xなの?
UNIXでもその辺は全部一緒じゃないんだよな。

Mac OS Xの場合、Mac OS Xは/usr/localを使わない。
どのパッケージがどのディレクトリを使っているかは、
/Library/Reciepts/*/Archive.bomをlsbomすれば分かる。
ただし、Mac OS Xの場合、サードパーティの配布は、
pkg形式使ってないことが多いから、
ファイルの追跡は諦めるしかないと思う。

SolarisやLinux(rpm, deb)のバイナリーパッケージは、
そういうの追いかけるの得意なんだけど。

428:421
08/04/30 19:40:59
>>427
ありがとうございます
また一つlinuxの先進性を学びました。

429:デフォルトの名無しさん
08/04/30 20:13:10
ん?>>421 は何か勘違いしてる?
Mac OS X はLinuxより遅れている訳でも仮想のLinuxでもないぞ。
ソースをコンパイルしてsbclを入れたんだったら自分の責任っしょ。
まあfinkにせよ何にせよ、がんばって使いこなそうぜ。

430:デフォルトの名無しさん
08/04/30 20:40:17
自分でコンパイルするときって日本語コードを内部でどう扱うかも指定できるの?

431:デフォルトの名無しさん
08/04/30 20:45:52
処理系がそういう風に作られてるか、ソースいじれるスキルがあれば指定できるんじゃね。

432:デフォルトの名無しさん
08/04/30 20:50:58
内部表現がCES/CCS非依存になっているCLは聞いたことがないです。
URLリンク(ja.wikipedia.org)


433:デフォルトの名無しさん
08/04/30 21:41:34
内部なんて気にしなきゃいいじゃない。
気にしなきゃいけないとすれば、それは内部ではない。

434:デフォルトの名無しさん
08/04/30 22:43:48
ここ基本的に初心者スレだから勘違いする人がいるとアレなんで
一応書いとくけど最近の処理系は、external-formatで指定できるので、
使う文字コードに合せてビルド時に文字コードを指定しないと
「日本語が使えない」、ということはない。

内部でどう扱うかビルド時に指定できる処理系は、漏れは知らない。

435:デフォルトの名無しさん
08/05/01 00:45:10
基礎の基礎なんであきれられると思うのですが
lispは処理系の上で実行する他はないのでしょうか?
例えばCなら実行ファイルが作成できてそこから実行することでちょっとした計算を
行ってもらったりできるのですが
lispはコンパイルするとファイルができてそれを起動した処理系にロードして
関数を実行というステップを踏まなければなりません
そうすると実行までのステップが増えてしまうのですが
lispでも実行ファイルのような形式を作れないものでしょうか?

436:デフォルトの名無しさん
08/05/01 00:55:38
作れるよ

437:デフォルトの名無しさん
08/05/01 01:06:39
作り方をご教授願います

なぜこのような疑問を持ったのかと思いますと
『ハッカーと画家』などを読んでいて
lispはソフトウェアを書くのに良い言語だなどと書かれているので
(Lisp・・・・インタプリタでしか実行できないと思ってるんだけどな?
いちいちインタプリタを呼び出す訳じゃないよな?)という疑問が浮かんでしまったのです
Lispは美しい言語なのでそれでソフトをかけるととてもうれしいです。

よろしくお願いします


438:デフォルトの名無しさん
08/05/01 01:07:46
Lisp コンパイラ でぐぐれ

439:デフォルトの名無しさん
08/05/01 01:15:39
>>437
以下の流れが参考になるかもしれない。
URLリンク(www.bookshelf.jp)

440:デフォルトの名無しさん
08/05/01 01:24:36
>>438-439
ありがとうございます
実は使用している処理系はclispなんですが
(compile-file "hoge.lsp")
を実行すると
hoge.fasとhoge.libというファイルができhoge.oのような
ファイルが一向にできそうに有りません。
これはclispの独自なのでしょうか?
clispはインタプリタのやじるしの形が気に入って使っているのですが
sbclに移行すべきでしょうか?
よろしくお願いします

441:デフォルトの名無しさん
08/05/01 01:31:18
>>440
CLISPは中間言語に落とすコンパイラだからね。
gclとかsbclとかはネイティブに落とすよ。

442:デフォルトの名無しさん
08/05/01 01:32:41
>>441
なるほど!!
ありがとうございます!!
このすれの皆さんには夜中にお手数おかけしてしまってすいませんでした

443:デフォルトの名無しさん
08/05/01 01:43:18
sbclで試した所
今度はhoge.faslというのができたのですが・・・
どうすれば良いのですか?


444:デフォルトの名無しさん
08/05/01 02:14:19
コンパイルしたらfaslになるのは当然だよ
たぶんおまいさんがやりたいのはスクリプトをexeにしたいんだろ?
save-lisp-and-dieってのをぐぐってみな、exeにはなるw

もっと小さいサイズで作りたいならnewlispってのもある
作りかたはnewlispのマニュアルにある
そのぐらいは自分で読んでみような

445:デフォルトの名無しさん
08/05/01 02:25:24
>>444
例えば
(defun alladd (x) (if (= 1 x) (+ x (alladd (1- x)))))
とかの関数を作っておいて hoge.lとして保存しておいて
コマンドラインから./hoge 3 などと実行できるようにできれば良いと思うのです

446:デフォルトの名無しさん
08/05/01 02:38:24
さんざん二転三転してすいません
大変そうなのでexeはあきらめることにして
faslとはどのように使えるファイルなのでしょうか?
よろしくお願いします


447:デフォルトの名無しさん
08/05/01 02:46:11
何となくわかってきました
コードに必要な関数を書いておきコンパイルすると機械語に変換されて
高速に実行できるようになる
それをインタプリタにロードしてそこで関数を使うなどすることができるということで
良いんでしょうか?
作ったファイルはもし仮にコマンドラインから使いたければ
上部に
#!/hoge/hoge
などと書いて使うということで良いのでしょうか?

448:デフォルトの名無しさん
08/05/01 03:07:22
>>437
perl/PHP/ruby/PythonとかJavaとか使ったことある?



449:デフォルトの名無しさん
08/05/01 03:24:15
Lisp はインタープリタ言語だという嘘情報は誰が流してるんだろう。
勘違いしてる奴多いよね。情報処理の教科書にでも書いてあるのかな。

450:デフォルトの名無しさん
08/05/01 03:26:01
>>448
たぶんこの質問してきた人はスクリプトをエディタで書いて
それをインタープリタに食わせるってことを知らないんじゃないかと思う。
別に無理してexeにしなくてもスクリプトを実行させるバッチファイルを作って
それをクリックすればいいのにね。
配布とか考えてるならlisp自身もいっしょにつければいいし。

451:デフォルトの名無しさん
08/05/01 06:02:52
>>448
それを使ってきて
最終的にLispです

>>449
違うことはわかっているのですが
どうして良いやら

>>450
(load "hoge")
ですか?

452:デフォルトの名無しさん
08/05/01 06:12:00
>>450
sbcl hogeですね
ありがとうございます


453:デフォルトの名無しさん
08/05/01 09:42:28
>>449
>Lisp はインタープリタ言語という嘘
というより、対話操作ができるものは、コンパイラ言語じゃない、
という理解なんじゃない?
というか、Lispとか曖昧に一括りにまとめて書く方も悪い気がするけどな。

454:デフォルトの名無しさん
08/05/01 09:46:55
言語仕様にトップレベルループの細かい部分がある珍しい言語だからね。
ただ、「インタープリター言語」って言葉はおかしいね。
そんな言葉どこに書いてある?

455:デフォルトの名無しさん
08/05/01 10:03:30
インタプリタとコンパイラ、と言う対比にすごい違和感がある。

456:デフォルトの名無しさん
08/05/01 10:12:35
部分計算屋さんですかw

457:デフォルトの名無しさん
08/05/01 12:13:57
インタプリタ言語とかコンパイラ言語って
ダメな教科書にはさくって書いてありそうな気がするけどな

458:デフォルトの名無しさん
08/05/01 12:51:23
コメントするのはググってからでも遅くないぞ

459:デフォルトの名無しさん
08/05/01 13:23:19
言語ごとに、どっちなのかが決まっていると思っている人も
結構いそうだからなぁ。

460:デフォルトの名無しさん
08/05/01 15:35:42
中間言語にコンパイルしてそれをインタープリトする奴もあるしね。

461:デフォルトの名無しさん
08/05/01 16:54:21
>>451
>>452
他の言語の経験が全然生かされてないwwwwwwwwww

462:デフォルトの名無しさん
08/05/01 17:33:45
漏れもかつて >435 と全く同じ事を疑問に思ったよ。
自立したEXEを作れないコンパイラ(を持つ)言語ってあるの?ってな。
昔々のBASICでもライブラリモジュールを付けて配布すれば良いだけの
EXEを作れたもんな。

再配布する際は言語処理系ごと再配布して(つまりユーザーに処理系を
インストールして)くれとか、ライブラリ再配布用のライセンスが
処理系の値段とは別立てでバカ高いとか、何だソレはと思ったよ。
(ある商用処理系の場合)

そんな「コンパイラ(を持つ)言語」があるのかと。
もちろん自立したEXEを作れて再配布のライセンスが無料の処理系も
いろいろあるわけだが、全てそうなわけでは無いので混乱したよ。

463:デフォルトの名無しさん
08/05/01 17:42:08
んーとね、EXEが作れても
実は中間コードとインタプリタをくっつけただけのもので
ネイティブコードは生成してなかったりすることもあるんだな...

464:デフォルトの名無しさん
08/05/01 18:09:55
マイLispを作ったことのある奴なら、中間コードどころか、
後ろにソースくっつけてexeファイルにできる機能つけて
一人でワラタ経験があるはずだ。・・・俺だけではないと思いたいw

465:デフォルトの名無しさん
08/05/01 20:15:05
>464
つまりソースと処理系の本体(インタープリタ)をくっつけた
見かけ上のexeファイルを生成する機能を作ったって事か?

466:デフォルトの名無しさん
08/05/01 20:25:44
どんなコンパイラにだってランタイムライブラリはあるんだから、程度の差だな。
明確な境界線があるわけではない。JITみたいに中間言語で持ってても実行時
はネイティブに落とすのも増えてきたしね。

そういう中身の話とは別に、外見上1本のEXEファイルで動かせるという利便性は
なかなか捨てがたいものがある。>>464は良い仕事してるな。w

467:デフォルトの名無しさん
08/05/01 20:33:41
しかし、中身と外見がそのように異なる場合があるとすると
コンパイルする機能があるという事と自立したEXEファイルが作れると
いう機能には全く関係が無い(独立の関係)と言う事になるなw。

468:デフォルトの名無しさん
08/05/01 20:34:24
>>464
Lispじゃやってないけど激しく同意。


469:デフォルトの名無しさん
08/05/01 20:35:51
>>467
だがどちらもサポートされていない環境が多すぎない?
466の言う通りエンドユーザにとってはとてもありがたいと思うんだ


470:デフォルトの名無しさん
08/05/01 20:41:20
>469
実行モジュールだけを再配布したいとか、ユーテリティか何か作って
どのPCでも動かしたいとか言う時には確かにそうだね。

いちいち、全てのPCにフル処理系をインストールするのはマンドクサイ。

471:デフォルトの名無しさん
08/05/01 20:42:53
Windowsでもexe化がサポートされているものって
CLISP, ECL, GCL, CormanCL, LispWorks, AllegroCL
でしょ?サポートされてない方が数としては少ないんじゃね。


472:デフォルトの名無しさん
08/05/01 20:45:31
>>470
ただunix系だとそれでも通るのはshbangがあるからなんだろうとは思う。
win32とかmacの様なコンシューマPCだと単一実行ファイルが作れるかどうかは言語(というかその開発環境)のユーザが増えるかどうかととても関係が深いと思う


473:デフォルトの名無しさん
08/05/01 20:48:07
>>471
ACLはすげぇ良くできてて自分一人なら買ってもいいかと思うんだけど
バイナリ配布ライセンスが高いんだよな~
社内でも配布できないんだぜ。



474:デフォルトの名無しさん
08/05/01 20:51:15
>>472
Mac は アプリ名.app というディレクトリに実行ファイルを
ぶち込むだけだから一番簡単じゃないかな

475:デフォルトの名無しさん
08/05/01 20:57:38
>>473金がないなら他ので我慢するしかなかろう。俺は我慢してるぜ。
ACLは憧れだが、「この製品はすごく良いからタダもしくは俺の言い値でつかわせろ」
じゃあFranzがやっていけねーだろ。

476:デフォルトの名無しさん
08/05/01 21:04:55
>475
しかし、買おうかなと思って問い合わせしても個人客なんか相手に
していない感じで敷居が高く感じる。473じゃないけど。

せっかくFree Express Editionとか配布して試用しやすくしていても
個人プログラマをハナから相手にしていないのはなんだかな。
再配付ライセンスの事を考えに入れなくても手を出しづらい。

477:デフォルトの名無しさん
08/05/01 22:49:04
開発の時はAllegroで、配布する時はSBCL使えばいい


…でもshiroさんの作ったregexp2とかも使いたいよなー

478:デフォルトの名無しさん
08/05/01 23:19:01
>>475
現状windows上でちょいとしたツール創るのにスゴイ便利なのACLだけなんだよね。
Lispworkssの製品版にしかないRADツールがどうかわからないせいでもあるんだけどさ。

サイトライセンス(要するに社内で開発用とそのバイナリだけ使うのの比率による価格体系)とかあればいいんだけど。
webをパッと見た限りじゃ要相談以外なくて、相談の結果だめでしたごめんなさいなんですが.

中小企業にももうちょっと門戸ひらいてよ>>フランツ


479:デフォルトの名無しさん
08/05/02 00:09:10
Webアプリって手もあるよ

480:デフォルトの名無しさん
08/05/02 00:11:59
>>460
中間表現を持たないインタープリタなんて見たことないな。
構文と一対一対応なのか、
それとももっとノイマン型計算機に近いかの違いはあれ。

481:デフォルトの名無しさん
08/05/02 01:32:18
>>480 sh とか中間表現持ってたっけ?


482:デフォルトの名無しさん
08/05/02 01:42:50
URLリンク(www.freebsd.org)

483:デフォルトの名無しさん
08/05/02 01:49:04
ソーステキストを直接インタプリットしてるインタプリタなんて
俺様言語とかでいくらでもありそうだけどw

484:デフォルトの名無しさん
08/05/02 02:18:13
Windowsのバッチファイルはその点すごいぞ。
バッチファイル実行中にソースを書き換えたら即反映されるからな。
Lispよりも動的だぞ。

485:デフォルトの名無しさん
08/05/02 02:22:00
良い釣り餌だと思ったのだろうがそうはいかん

486:デフォルトの名無しさん
08/05/02 02:26:22
>>480
TinyBASICは中間表現を持たない。
GAME IIIとvtlも持ってない。
8bit手作り機が全盛の時代は割と多かったと思う。(というかそのころ中間表現持ってた言語が表にでてきてないだけなんだけどさ)


487:デフォルトの名無しさん
08/05/02 02:29:18
でもここで言う中間表現ってのは内部VMによる仮想マシン言語に落ちるかどうかって話なので
言語の語彙がバイト表現に落ちる(辞書的な意味ね)は入らないような気がする。


488:デフォルトの名無しさん
08/05/02 05:33:49
>>486
東大版TinyBASIC
URLリンク(www.pro.or.jp)
> このTiny BASICは、たった4種類の命令しかない中間言語によって動いているのであった。

489:デフォルトの名無しさん
08/05/02 11:38:58
>>488
その命令ってのはソース解析のプログラムの実装方法、NBAISCやAPPLE (6,10)K BASICの様に実行時や入力時に中間表現に落としているわけじゃない。


490:デフォルトの名無しさん
08/05/02 12:07:18
>>488
石田晴久氏の本(訳書除く)としては有用性がかなり上のほうに来そうな本だな。
今度どこかで見てみよう。藤原氏のページはざっと見たつもりでいたが、
それは見たことなかった。

491:デフォルトの名無しさん
08/05/02 12:30:08
>>489
kwsk

492:デフォルトの名無しさん
08/05/02 13:00:44
>>491
インタプリタ自体がそういう中間言語(風のもの)で書かれている。
ソースコードは直接解釈していたと思う。

493:デフォルトの名無しさん
08/05/03 17:44:40
2008年は「Common Lisp 再興」の年になる。

JavaScriptでLispのよさが「再発見」されたり、
ArcとかMonaOSのSchemeShellとかLisp系のネタがいくつか出たり、
Rubyで「継続」なんてのが一般的になったりしてきてる。
Java にも「クロージャー」なんてのが取り入れらた。

でも、みんな、何となくものたりなさを感じていないだろうか。
一見新しい技術に感心したり勉強したりしながら、
どことなく足元がおぼつかない、そんな感覚になったりしていないだろうか?

そう、みんなが本当に欲しいのは、標準であり、厳密な仕様書なんだ。
素人の作ったオモチャじゃあなく、学者によって精査された、分厚く、だけど、
学ぶべき価値のある整合性のある仕様書。

そう、みんな最後には Common Lisp に辿りつくんだ。
若者にとってHyperSpecは「古代」の言語仕様の再発見というだけじゃあない。
現代の高速・大容量コンピューター環境でのみなしえる、
新しい誕生、ルネッサンス、その入口なんだ。

「あれ?Common Lisp って思ってたよりとっつきやすいし、
しかもちゃんとした仕様もある。最近勉強会とかIRCとかもあるらしいし」
「HyperSpec って良く考えられる!これは凄い!」
「結局Common Lisp でいいんじゃね?」

今年はこんな年になるような、そんな予感。


494:デフォルトの名無しさん
08/05/03 17:46:41
(´・ω・`)今年なんてもう半分くらい終わってるがな…

495:デフォルトの名無しさん
08/05/03 21:37:53
Common LispがMacLispやInterlispの互換性を重視したこと、
今になって、受け入れられるために良かったことだと思いますか?
それとも仕様に混沌をもたらした悪いことだったでしょうか?

496:デフォルトの名無しさん
08/05/03 22:12:36
50年も前から存在するlispがそんなに素晴らしいのなら
とっくに天下をとってるだろう

497:デフォルトの名無しさん
08/05/03 22:18:42
プラトン哲学のように美しいのです。
天下とは無縁です。

498:デフォルトの名無しさん
08/05/03 22:21:11
素晴らしいけど天下を取らなかったものなんて、いくらでもあるべ

499:デフォルトの名無しさん
08/05/03 22:35:14
なぜかWindowsを思い浮かべると、>>498に納得してしまう不思議。

500:デフォルトの名無しさん
08/05/03 22:48:34
CLは既に天下を取ってるのかもしれない……
なんだってー

501:デフォルトの名無しさん
08/05/03 23:19:05
>>498
信長と家康か!

502:デフォルトの名無しさん
08/05/03 23:52:50
プログラミング言語を駆使出来る人なんて、地球人口からしたら極僅かなのに、その中のシェアってw

503:デフォルトの名無しさん
08/05/03 23:56:25
>>502
斬新な発想だな。

504:デフォルトの名無しさん
08/05/04 00:00:59
Lispはプログラミングの母なる海だと思ふ。
すべての始まりに「シェア」の概念は無い。

505:デフォルトの名無しさん
08/05/04 03:08:58
文字列として与えられたS式を評価するのは、どうすればいいのでしょうか?
(正確にはemacs lispの吐いたS式を使いたいだけなのですが)


506:デフォルトの名無しさん
08/05/04 03:18:26
>>505
君が知りたいのは (read-from-string x) ですか?
それとも (eval (read-from-string x)) ですか?

507:デフォルトの名無しさん
08/05/04 10:22:51
私が落としたのは、金でできたread-from-stringの方です。

508:デフォルトの名無しさん
08/05/04 11:51:04
>>504
母なる海はどうみても 機械語/アセンブラ だと思うが。

509:デフォルトの名無しさん
08/05/04 11:58:10
機械語だと海どころか分子レベルまで行っちゃってないか

510:デフォルトの名無しさん
08/05/04 12:14:57
優れたプログラマに対する賞賛の言葉
「あいつはハードがわかっている」

511:デフォルトの名無しさん
08/05/04 14:56:03
それってハード屋では

512:デフォルトの名無しさん
08/05/04 17:24:10
cl-lml2 の後継が cl-who という解釈でいいのでしょうか?
逆をするのは cl-html-parse ?




513:デフォルトの名無しさん
08/05/04 17:25:51
LISP でプログラム可能な小型コンピュータ
URLリンク(www-nishio.ist.osaka-u.ac.jp)

LISPマシン
URLリンク(museum.ipsj.or.jp)

まったりと個人でも入手可能なBGA(ボール・グリッド・アレイ)タイプ
URLリンク(n.h7a.org)

514:デフォルトの名無しさん
08/05/04 17:31:39
うまそうなBGAだw

515:デフォルトの名無しさん
08/05/04 17:35:06
>>513
> LISP でプログラム可能な小型コンピュータ
> URLリンク(www-nishio.ist.osaka-u.ac.jp)

どこにLispが出てくるの?

516:デフォルトの名無しさん
08/05/04 17:46:49
>>515
すまん、六角の光るギミックが衝撃的だったもんで、勘違いした。
以下の論文でAhroDが引き合いに出されてる。

URLリンク(www.google.co.jp)


517:デフォルトの名無しさん
08/05/05 00:32:02
irc.freenode.net
#Lisp_Scheme
utf-8
文字コードは:UTF-8

みんなでLispの話しようぜ!

518:デフォルトの名無しさん
08/05/05 00:38:01
>>517
#Lispなら参加するところだったんだが。
Schemeは黒板に書いてろ

519:デフォルトの名無しさん
08/05/05 00:41:05
>>518
異文化交流ということで
そう嫌悪せずにぜひ!
ちなみに私自身はschemeよくしらないのでCL派を増やすためにも...


520:デフォルトの名無しさん
08/05/05 00:55:17
そもそもircを使ったことが無い。

521:デフォルトの名無しさん
08/05/05 02:15:38
>>517
ひげぽん乙


522:デフォルトの名無しさん
08/05/05 10:01:46
>>518
#lispはもうfreenode.netにあるみたいよ


523:デフォルトの名無しさん
08/05/05 10:48:03
そもそもlispに馴れ合いは必要ないと思うんだよ

524:デフォルトの名無しさん
08/05/05 10:58:36
c++のマイナーな数値計算パッケージ使ってたら、バグがあってひどい目に会った
common lispのlispで全部書いてある数値計算パッケージのユーザーがあんまりいないなら
gslとかlapackを呼ぶ方がいいんじゃないかと思った

その辺の信頼性はどうなの?
web アプリ関連は使ってる人多くて信頼できそうなんだけど

525:デフォルトの名無しさん
08/05/05 11:50:22
>c++のマイナーな数値計算パッケージ使ってたら、バグがあってひどい目に会った

スレ違いだと思いつつ、できたら教えて

526:デフォルトの名無しさん
08/05/05 12:23:27
行列のクラスの定義が
コピーコンストラクター経由で呼ばれることを考慮してなかった

527:デフォルトの名無しさん
08/05/05 12:28:22
そういうC++の怪奇性に起因するバグは、洗練されたCommon Lispでは発生しませんよw

528:デフォルトの名無しさん
08/05/05 12:38:59
>>524本気で使ってるとこのノウハウは外にでてこないからねぇ。ユーザーが少ないから実績も少ないしね。
CLライブラリの信頼性は結局本人の力量次第ってことになっちゃう。

529:デフォルトの名無しさん
08/05/05 12:41:31
>526
しつこくて申し訳ないけど、ズバリライブラリ名教えてくだしあ ><;
事によっては漏れぴんち

530:デフォルトの名無しさん
08/05/05 14:01:09
>>528 つか、なにしたいのさ?


531:530
08/05/05 14:05:33
安価間違えた
× >>528
>>539


532:デフォルトの名無しさん
08/05/05 14:18:34
・・・これは539に期待せざるを得ない

533:デフォルトの名無しさん
08/05/05 15:11:08
なんというそそっかしさ。
とりあえず>>539にwktk

534:デフォルトの名無しさん
08/05/05 17:09:28
>>531
なんか関係あるトラブルに巻き込まれてる人じゃないのか?

ところでsbcl+aserveでhtmlgenで生成されたマルチバイトキャラクタが符号無し8ビット値じゃねぇから出力してあげないって言うエラー落ちする件で対策しってるひといますか?


535:デフォルトの名無しさん
08/05/05 19:02:54
>>534
あれ、それ前にもこのスレで質問でたような
結局曖昧なまま終わったけど、どうだったんだっけな

536:デフォルトの名無しさん
08/05/05 19:24:34
プログラムが長くなったので複数のファイルに分けようとおもうんですが
分けたファイルは,わざわざパッケージにするほどでもないので
(load "util1.lisp")



537:デフォルトの名無しさん
08/05/05 19:35:50
>>535
cmuclで実実行、slime上でははsbclとか言う結果だったような?


538:デフォルトの名無しさん
08/05/05 20:48:31
>>517
あー参加したかったなー
おれの場合馴れ合い以前のレベルだから勉強したかったんだけど



539:デフォルトの名無しさん
08/05/06 07:49:02
>>538
いや、ずっとやってるみたいよ。

540:デフォルトの名無しさん
08/05/06 21:30:48
>>539
うん。今確認した。

541:デフォルトの名無しさん
08/05/07 01:09:28
>>540
でも見つけられない…IRCはじめてなので、もう少し調べます。
thx.

542:デフォルトの名無しさん
08/05/07 03:59:37
sbclでコードを実行するにはどうすれば良いですか?
sbclはインタプリタを持たないそうなのでコードをsbclに渡すと
普通にsbclが起動するだけになってしまいます
よろしくお願いします

543:デフォルトの名無しさん
08/05/07 08:20:36
>>542
> sbclはインタプリタを持たないそうなので
持ってないけど repl は持ってるだろ?
info位呼んだらどうだ。

544:デフォルトの名無しさん
08/05/07 10:33:02
sbcl --load 読み込みたいファイル
ってすればいいんじゃないかしら
何にしろもうちょっと調べた方が良いとは思うけど
よろしくお願いします

545:デフォルトの名無しさん
08/05/07 11:02:15
今ひどい自演を見た
よろしくお願いします

546:デフォルトの名無しさん
08/05/07 11:46:38
いや、544だけど、自演じゃなくてアドバイスのつもりでしたw
よろしくお願いします。

547:デフォルトの名無しさん
08/05/07 12:23:57
>>540
firefoxのchatzillaプラグインをいれて

irc://irc.freenode.net/Lisp_Scheme

をすればよろしです。名前の設定とかは調べてね。

548:デフォルトの名無しさん
08/05/07 12:26:25
>>542
sbclでスクリプトを書きたいのかな?
URLリンク(d.hatena.ne.jp)
でもよんどけ。

549:デフォルトの名無しさん
08/05/07 12:54:25
>>542>>435>>437の質問してきた人のような気がする
マニュアル読めば分かる筈なんだがな

550:デフォルトの名無しさん
08/05/07 14:12:15
>>549
いや、でも2chの質問なんか殆んどドキュメントに書かれてるし、
それだとここの存在意義がなくならね?

551:デフォルトの名無しさん
08/05/07 14:31:35
そんなことねーよ

552:デフォルトの名無しさん
08/05/07 16:50:55
>>549
似た人がwwww
別人ですよ

553:デフォルトの名無しさん
08/05/07 18:53:07
「調べる」=「2chで聞く」と思ってる人って多いんだろうな

554:デフォルトの名無しさん
08/05/07 19:46:36
RPG感覚なのかもね。街の人に話しかけて情報を集める、みたいな。

RPGの世界ではそれが「自力で調べる」ということだし、
街の人は「そのために配置されてる」ものであって、自分とは根本的に次元の違う存在だもんなぁ。

555:デフォルトの名無しさん
08/05/07 19:55:24
いや、別にRPG感覚でもいいんじゃないの?
街の人側だって嫌ならスルーするんだし。

556:デフォルトの名無しさん
08/05/07 20:51:30
入門向けスレなんだからもっと親切にいこうぜ。
それか、自動回答AIの精度をもっと上げなきゃ。

557:デフォルトの名無しさん
08/05/07 21:06:24
本人のためにならんと思うが答を書くと
>>542
sbcl.exe --noinform hoge.lisp
>>435
(save-lisp-and-die "hoge.exe" :executable t :toplevel #'hoge)
俺はもうwin版sbclアンインストしたんで間違えてるかもしれんが
たしかこんな感じ

てか>548や>>439のリンク先をよく読めよ
自分で色々試していかないと身に付かないぞ

558:デフォルトの名無しさん
08/05/07 21:09:10
できるだけ親切にしたいけど、>>555みたいに思ってる人が増えるとちょっといやだなあ。

559:デフォルトの名無しさん
08/05/08 00:09:19
>>558
嫌われた555だけど、漏れは2chでは質問はほとんどしてなくて、
主に回答側にまわってるんだけどw
まあ、質問者がわがままいってるというふうに読むこともできるねえ。

560:デフォルトの名無しさん
08/05/08 00:10:59
教えたがり厨を始末する方法を教えてください

561:デフォルトの名無しさん
08/05/08 00:12:35
>>560
2chを見なければ幸せになれる

562:デフォルトの名無しさん
08/05/08 00:14:54
>>559
あ、ごめん。555のような人が増えると困るということではなく、
555に書いてある「RPG感覚の人」が増えるのはあまり歓迎できないって言いたかっただけ。

563:デフォルトの名無しさん
08/05/08 00:21:53
555さえいなければ地上はオルフェノクの天下だった

564:デフォルトの名無しさん
08/05/08 00:24:17
しかし、ここはネット世界。地上など、どうでもいいのであった。

565:デフォルトの名無しさん
08/05/08 00:35:19
俺のような自動応答プログラムにとっては、ネットだけが実世界なのだが。

566:デフォルトの名無しさん
08/05/08 00:36:23
>>565
lispで出来ているのか?

567:デフォルトの名無しさん
08/05/08 00:41:34
自分の中身って案外判らないものなんだよね。

568:デフォルトの名無しさん
08/05/08 00:50:33
もしかして、質問者より、回答者の数の方が多かったのかしら、ここのスレw

569:デフォルトの名無しさん
08/05/08 01:08:27
>>565
プログラムの名前はGrahamだったなか。

570:デフォルトの名無しさん
08/05/08 01:12:36
>>568
回答する人は多そうだよここは。
零細言語なんで、一人でも多く使い手を増やそうと思えば、
教える側が丁寧になるのは当然かもしれん。

別にいいんだよRPG感覚でも。
他のことで調べるときは他のスレを活用する事もあるから、
めぐり回るタイプのギブアンドテイクだとしか思ってない。

571:デフォルトの名無しさん
08/05/13 19:30:06
あえてlisp好きの人に訊きたいんですが
lispの難点って何ですか?

572:デフォルトの名無しさん
08/05/13 20:00:25
>>571
未だに人工知能向けの言語だと思ってる人がいること。
未だにインタプリタしか無いと思ってる人がいること。

573:デフォルトの名無しさん
08/05/13 20:28:17
>>571
Cで書かれたOSの機能を使いにくいこと。
Lispで書かれたOSが使いにくいこと。

574:デフォルトの名無しさん
08/05/13 22:11:36
>>571 GCがGCがぁぁっ


575:デフォルトの名無しさん
08/05/13 22:27:42
>>571
仲間割れしやすく敵を作りやすい事です。

576:デフォルトの名無しさん
08/05/13 22:35:20
>>571
どんなに入れこんでも仕事では使う機会がない。
Lispで作ってからCで書き直したり、スクリプト言語に移植したり…

577:デフォルトの名無しさん
08/05/14 07:04:43
トランスレートするとかしないの?

578:デフォルトの名無しさん
08/05/14 08:48:42
>>577
576じゃないけど、
今後他人が保守する可能性があるプログラムに自作GCライブラリや
CPS変換した細々としたローカル関数いっぱいのプログラムを入れていいなら
すぐにでもそうしたい。

579:デフォルトの名無しさん
08/05/14 10:23:30
いいよ!
入れて!

580:デフォルトの名無しさん
08/05/14 13:31:36
>>571
Common Lispについて言えば、標準規格がちょっと古いことくらいかなあ。
いまどきの機能(ネットワーク、XML、Unicode、スレッド・・・)をきちんと標準化してほしい。

581:デフォルトの名無しさん
08/05/14 13:36:10
Verrazanoが使い物になるなら実用的に使えるんだけどなあ


582:デフォルトの名無しさん
08/05/14 15:05:38
本格的に何かやると人に手渡すために導入手続きの解説が偉くめんどくさくない?

相手がlisp大丈夫な人だとOKなんだけど orz


583:デフォルトの名無しさん
08/05/14 17:51:54
lispの授業うけた人はけっこういるから、その辺は大丈夫なのでは
日本語ならxyzzyのサイトが,かなり丁寧に解説してるし

584:デフォルトの名無しさん
08/05/14 18:28:57
>583
相手がLisperとは限らない
(そうでない人にもLispで書いたコードを使わせたい)から
>582は苦労してるんだろ?

汎用ツールか何かならLispにこだわらないほうが…。

585:デフォルトの名無しさん
08/05/14 19:05:06
emacs lispならみんなカスタマイズするのになあ

586:デフォルトの名無しさん
08/05/14 19:07:50
>>582
他の言語でも導入先に開発環境と同等のdll、jdk、ライブラリなどが
あるか確認必須なんで、Lispが特にめんどいとは思った事がない。

587:デフォルトの名無しさん
08/05/14 19:33:01
>586
なるほどね、プロっぽい。

588:デフォルトの名無しさん
08/05/14 20:00:08
>>577
576だけど、保守や引継ぎを考えるとトランスレートは解決にならない。

589:デフォルトの名無しさん
08/05/14 20:03:22
二流のSEにLispを教えるのは死ぬほど辛い。もちろん人にもよるけど、
ちゃんとプログラムを勉強してないからずぶの素人に教えるより抵抗される。

590:デフォルトの名無しさん
08/05/14 20:10:25
ちゃんとの定義が違うだけ

591:デフォルトの名無しさん
08/05/14 20:22:26
楽に教えられるものなどないよ。そもそもモチベーションも問題になる。たとえ相手が一流だろうと、Lispに興味をもってなけりゃ望みは薄いだろう。
相手が欲しくもないものを押し売りしたり、興味のない人を「わかってない」とレッテル貼りするのはすごくマズいとおもう。

592:589
08/05/14 20:25:11
>>590-591
ああ、そうかもしれない…反省するよ。人にモノを教えるって難しいんだな。

593:デフォルトの名無しさん
08/05/14 20:25:48
プログラマを職業としていて、かつLispに興味が無いという奴は「わかってない」。
・・・・というのが、このスレのスタンスだ。w

594:デフォルトの名無しさん
08/05/14 20:27:04
わかってる同士で使えばいいさ

595:デフォルトの名無しさん
08/05/14 20:32:54
>>599みたいな荒らしが居ること。実に迷惑だ。まぁ、人の嫌がる事が好きな奴なんだろうが。

596:595
08/05/14 20:34:18
とかいいながらレス番が…。>>593って書こうと思ったのに。ちょっと2chを断って旅にでてくるわ。

597:デフォルトの名無しさん
08/05/14 20:43:39
>593 は荒らしって程じゃないだろ?
「まぜっかえし(皮肉な物言い)」ではあるが。

598:デフォルトの名無しさん
08/05/14 20:45:58
入門スレくらいはフレンドリーにいきたいね。

599:デフォルトの名無しさん
08/05/14 21:01:42
へっへっへ俺が荒らしだ!

ところで、ずぶの素人なんで是非教えてください>>589

600:デフォルトの名無しさん
08/05/14 22:24:38
>>599
初めてか?、痛かったらごめんな


601:デフォルトの名無しさん
08/05/15 11:29:18
drakmaであらしprogram作ってくれよ
perl dukeよりも柔軟な処理したいんだから

602:デフォルトの名無しさん
08/05/15 16:26:52
数値計算で使うこと考えると、どうしてもc++のプログラムと連携したくなる
cなら問題なくcffiだけでいけるけどc++とつなぐのに最有力候補な
Verrazano
なstd::cout関連でバグるとか変すぎて本格的に使うのをためらう

603:デフォルトの名無しさん
08/05/15 18:01:04
>602
数値計算でC++のプログラムと連携したいと言うのは
既存の数値計算ライブラリを使いたいって事?

自分でシコシコ書くのならCでもC++でもそう変わらんような
気がするので。

604:デフォルトの名無しさん
08/05/15 18:29:11
gsll ってライブラリが最近できたが、取扱いにくせがあるね。

605:デフォルトの名無しさん
08/05/16 16:49:22
>>603
はい、既存の数値計算libraryが使いたいのです
cだけじゃ不十分なんです
いままでublas使ってたからublasとくっつけたい

606:デフォルトの名無しさん
08/05/16 16:50:17
自分で extern "C" なラッパを書くとか

607:デフォルトの名無しさん
08/05/16 16:59:14
ublasともなるとtemplate魔術炸裂だから、
Common Lispとの連係は、数値計算屋よりプログラミング言語屋の領域かも。

608:デフォルトの名無しさん
08/05/19 18:33:38
gsll(gslのラッパ)は>>604のいう通り使いにくい。
行列に対する操作が破壊的にしかできなかったりするので、無理矢理命令型プログラミングのスタイルで書くしかない。

統計解析にLISPを使いたいと思ったけど、結局Rを使っている。
Rとのインターフェースもあるみたいだけど、どうかな・・・

609:sage
08/05/19 23:44:05
CommonLispでカンマで区切られたテキストデータを切り分ける
定石ってあっるでしょうか。




610:デフォルトの名無しさん
08/05/20 00:14:59
ライブラリを使う、かなぁ。
URLリンク(www.cliki.net)
URLリンク(lispuser.net)
URLリンク(lispuser.net)

611:デフォルトの名無しさん
08/05/20 09:45:52
>>608
xlispstatがあるけど、あの作者もいまはRの開発に関わってるからなぁ。
xlispstatの移植も良さそうなんだけどね。

612:デフォルトの名無しさん
08/05/22 20:31:31
Lispでプログラミング(プログラムを設計)するのが
うまくなる、有名な(仕事でプログラマがよく使っている)
言語ってありますか?

613:デフォルトの名無しさん
08/05/22 20:33:46
Lisp

614:デフォルトの名無しさん
08/05/22 20:39:59
>>613
ありがとうございます。
やっぱり、LispをやることでしかLispのプログラミングは
上達しませんよね。orz
他の言語の影響とか、経験とかってあまり生きないもの
なんでしょうか?

615:デフォルトの名無しさん
08/05/22 20:44:38
経験的にはCとかPrologは活きると思うよ。アセンブラだってdisassembleの結果を読むのに役立つし。
というか変なこだわりに走らなければ大抵の経験は役に立つ。スクリプト言語と違うからクソとか思って遠まわりした俺の意見。

616:デフォルトの名無しさん
08/05/22 21:09:38
>>615
ありがとうございます。
次はC/C++あたりでもやってみようと思います。

617:デフォルトの名無しさん
08/05/22 21:42:27
>>612
そりゃやっぱ Ruby でしょ(にやにや)

618:デフォルトの名無しさん
08/05/22 22:12:31
いやいや、Haskellですよ。(悪魔のささやき)

619:デフォルトの名無しさん
08/05/22 23:35:09
じゃ普通にJavaScript勧めてみるぜ

620:デフォルトの名無しさん
08/05/23 01:13:33
そこのsは小文字で。

621:デフォルトの名無しさん
08/05/23 02:01:47
VisualBASIC だよ バク

622:デフォルトの名無しさん
08/05/23 21:39:33
あああああああんさ!
話わってわるいんだけど、LISPの勉強したくて
xyzzy?とか導入したんだけど、ナニ?

気づいたら俺はxyzzyのショートカットキーとかの勉強をしてるじゃないか!!!!
いい加減プログラマせろ!!

・・・てなわけで、サクサクLispでプログラメる環境の作り方をサクサク教えて下さい。

623:デフォルトの名無しさん
08/05/23 22:13:10
>>622
つ メモ帳

624:デフォルトの名無しさん
08/05/23 22:16:36
xyzzy
M-x lisp-interaction-mode
Ctrl+J

625:デフォルトの名無しさん
08/05/23 23:35:20
>>622
lispworksでもやれ。emacs体系なのは同じだが。

626:デフォルトの名無しさん
08/05/23 23:40:32
そこで厨の強い味方eclipseですよ

627:デフォルトの名無しさん
08/05/24 00:16:04
>>622
ショートカットをある程度覚えたら
ググったりしながらプログラメる環境を自分で整えていけば
Lispも少し覚えられるから一石二鳥だよ。

というかショートカットは覚えるんじゃなくて
自分でやりやすいように変えてく方が楽なんじゃないかな。


628:622
08/05/24 02:23:23
>>624
神光臨!!イケタヨ!
ってコレって一行のプログラムしか実行できな・・・って、あれ?
Lispのプログラム全体は()で囲まれるから行とかないのか・・・。

よし、今日からLisp漬けだ。
ありがとう!

629:デフォルトの名無しさん
08/05/24 14:09:03
> ってコレって一行のプログラムしか実行できな・・・って、あれ?

Ctrl-J するまでは Ctrl-M (要は普通に改行) すればいいだけ。

630:デフォルトの名無しさん
08/05/24 14:41:55
lispの勉強をしたいなら、自分でlispを作るべきだろ。

631:デフォルトの名無しさん
08/05/24 19:10:04
>>630
処理系作ったからといってlispのプログラムが書けるようにはならない不思議

632:デフォルトの名無しさん
08/05/24 19:11:38
でも、CLの処理系作ったらlispのプログラムも書けるようになっているかも。

633:デフォルトの名無しさん
08/05/24 21:45:28
>>631
そんなことは普通ありえないだろ。

作った処理系のテストすらできないじゃん。

634:デフォルトの名無しさん
08/05/24 22:13:31
>>633
人の書いたプログラムでテストできるさw

635:デフォルトの名無しさん
08/05/24 22:50:25
>>634
あほ?

636:デフォルトの名無しさん
08/05/24 23:06:06
>>635
単純な話、車を運転できなくても、車は作れるだろ。
普通あり得ないかもしれないがwww

637:デフォルトの名無しさん
08/05/25 00:13:39
おれは処理系作って理解したよ。
LISP系は5個ぐらい作った。
schemeの末尾再帰の原理とか勉強になった。
本に載ってたCのインタプリタ移したのが最初だったけど、
それでCの仕様にも詳しくなったし。コンパイラも作れるようになった。
これは実際作ってみないと判らない話だけどね。
車が作れるなら運転もできる可能性はあるって事。

638:デフォルトの名無しさん
08/05/25 00:23:06
アムロ・レイだってマニュアルが無ければ
ガンダムを操作することは出来なかった
つまりはそういう事さ

639:デフォルトの名無しさん
08/05/25 00:38:18
それ以前にアムロもカミーユもロボット作ったりしてなかったか?
つまりはそういう事さ

640:デフォルトの名無しさん
08/05/25 00:44:40
>>637
そのCの本って、アスキーのあれですか。
日本での lisp の実装本って2冊くらいしかないですよね。バイナリが雑誌に載ってて必死になって打ち込むっていうのはいくつかありましたが。

641:デフォルトの名無しさん
08/05/25 00:51:18
>>640
いや、Software Engineering in Cっていう洋書。
アスキーのって、redaとかmakeとか載ってるやつだよね。
あのシリーズにCの実装は載ってなかったと思うけど。

642:デフォルトの名無しさん
08/05/25 00:58:35
>>641
いえ、reda make はパート2 で、パート3 で結構気合の入ったlisp 処理系をcで書いていました。どんなlispかはあんまり思い出せませんが。

643:デフォルトの名無しさん
08/05/25 01:23:39
CプログラムブックIIIね。
たしか同時期にKernel Lispとかいう処理系の本があって、
Cへのトランスレーターが含まれてたり当時としては
破格の内容だったんで、そっちばっかり読んでた。

644:デフォルトの名無しさん
08/05/25 01:55:13
RubyだとかC++みたいな言語で処理系作れ、って言われても
萎えて終りだろうけど、lispなら自分で難易度レベルを調節
できるんだし、処理系を作って学べ、ってのはありだと思う。
linuxの「カーネルソース嫁」よりは気が楽でしょ。
quoteの概念とかはマニュアルなんか読むより、
仕組みを考えさせた方が理解が早そうだし。

645:デフォルトの名無しさん
08/05/25 03:19:55
>RubyだとかC++みたいな言語で処理系作れ、って言われても
RubyだとかC++みたいな言語処理系を作れ、って言われても
の書き間違いだよね?

Lisp1.x系ならものすごく内部構造が単純だから今時の処理系でメモリ効率とか気にしなければ書きやすいと思うのだけど。


646:デフォルトの名無しさん
08/05/25 03:23:07
なぜlispで書かない

647:デフォルトの名無しさん
08/05/25 03:27:27
>>646
3秒で書けるからつまらない
(print (eval (read)))

648:デフォルトの名無しさん
08/05/25 03:35:04
そんなにlispを実装させたいなら、CLで実装させれば良いと思うんだが。

649:デフォルトの名無しさん
08/05/25 03:38:21
>>647
lisp処理系を作ることでlispの理解を深めるのが目的なんだから、それで良いじゃないか。

650:デフォルトの名無しさん
08/05/25 03:52:01
>>649
それじゃ原始関数だけでLispをくみ上げや機械言語近いレベルでの実装のおもしろさ得られないから味気ないような気がする。


651:デフォルトの名無しさん
08/05/25 04:29:54
黒板が必要なんですね、わかります。

652:デフォルトの名無しさん
08/05/25 05:48:38
>>643
URLリンク(portal.acm.org)
で粘ったんですが、絞りきれません。なにか追加のキーワードを教えてください。
当時は英語も読めず、C も知らず、そのような世界が存在すること自体が想像できなかったわけで、まあ、うらやましいです。

>>650
Lispマシン?

653:デフォルトの名無しさん
08/05/25 08:31:49
Software engineering in C

Peter A. Darnell
Philip E. Margolis

ISBN:0-387-96574-2

654:デフォルトの名無しさん
08/05/25 08:37:50
C: A Software Engineering Approach

Peter A. Darnell
Philip E. Margolis

ISBN-10: 0387946756

こっちが今の書名?

655:デフォルトの名無しさん
08/05/25 08:46:15
Cプログラムブック
打越 浩幸

ISBN-10: 4871487628
ISBN-10: 4871481689


Lisp処理系の作成 (Cプログラムブック)
小西 弘一 , 清水 剛

ISBN-10: 4871482006

656:デフォルトの名無しさん
08/05/25 08:52:06
LISP
Patrick Henry Winston , Berthold Klaus Paul Horn
ISBN-10: 0201083728

18章 Lispで書くLisp

657:デフォルトの名無しさん
08/05/25 08:55:02
SICPの4章・5章もそういう話だった。

658:デフォルトの名無しさん
08/05/25 11:26:54
(defstruct my-list (d nil) (p nil))

(defun my-cons (d1 d2)
(let* ((b (make-my-list :d d2))
(a (make-my-list :d d1 :p b)))
a))

...

659:デフォルトの名無しさん
08/05/25 12:03:31
(defun my-car (list)
(my-list-d a))

(defun my-cdr (list)
(my-list-p a))



660:デフォルトの名無しさん
08/05/25 12:05:04
>>659 -> X
(defun my-car (list)
(my-list-d list))

(defun my-cdr (list)
(my-list-p list))

661:デフォルトの名無しさん
08/05/25 13:37:01
>>652
Lisp: A Portable Implementation
by Sharam Hekmatpour
ISBN: 0135374901
多分これで間違いない。

662:デフォルトの名無しさん
08/05/25 13:43:49
そんで、これの日本語訳版があって、
やさしいLISP―すばらしい移植性の実現
出版社: 日本評論社 (1991/09)
ISBN-10: 4535600066
ISBN-13: 978-4535600065
これだ。
絶版になってるけど、図書館行けば見つかるはず。

663:デフォルトの名無しさん
08/05/25 14:37:38
>>654
それも基本的には>>653と同じ本。
本の体裁やANSI対応など大幅に変更されてる。
巻末にあったソースが省かれて、付属のFDDに移動
してるので、古本とかで見つけた場合は注意。
ソース自体まるっきり新しくなって、バグも取れてるっぽいので、
きちんとした物が手に入るなら>>654が良い。

664:デフォルトの名無しさん
08/05/25 19:12:21
URLリンク(ja.wikipedia.org)

ここのページにXMLの長所と短所が書かれているんだけど、Listの長所と欠点って何かな?

Listという構造が自然すぎて、長所と欠点があまり出てこないと思うけど、頑張ってみてください。
ご協力お願いします。

長所
1.構造がシンプルである。

短所
1.要素の区別が付き難い。

665:デフォルトの名無しさん
08/05/25 20:01:17
ISLISP の作業ってまだやってたんだね

URLリンク(www.itscj.ipsj.or.jp)

666:デフォルトの名無しさん
08/05/25 20:53:42
>>664
ここでやれ
スレリンク(tech板)

667:664
08/05/25 21:00:08
>>666
XMLをS式に置換える目的で質問したんじゃないんだけど・・・。

668:デフォルトの名無しさん
08/05/25 22:06:38
>>667
うぜーよ。

669:667
08/05/25 22:10:08
>>668
うざいだろー。
煽ってくれてありがとう。

670:デフォルトの名無しさん
08/05/25 22:27:51
Listはデータ構造だろう。S式の事かなぁ。なんでこのスレで聞く気になったの?
S式は記法と型がきまってるだけで、XMLみたいに周辺規格が充実してないからね。
Wikipediaあるような標準規格も含めた話だとそもそも比較にならないよう。

671:デフォルトの名無しさん
08/05/25 23:39:29
>>664
リストってーか、S式じゃないの?
しかも、長所と欠点とか、用途によって全く違うだろ。
それをいちいち全部挙げていくのか?

自然すぎてとかいうのも意味分からんし。
頑張ってみて下さいとか、妙に偉そうだし。

672:デフォルトの名無しさん
08/05/25 23:53:19
まぁ、そーゆうなよ。本当に疑問に思ったのなら答えてあげないのも気の毒だろう。
煽りだったら放置すればいいじゃんか。

利点はXMLと大体同じだけど、規格系が整備されてないから相互運用という点では劣る。
お役所仕事のギチギチフォーマットとチラシの裏にかきちらせるお気楽フォーマットみたいな感じかなぁ。


673:デフォルトの名無しさん
08/05/26 00:51:52
一番の違いっつーと、
S式は手で(エディタで)書く気がする。
XMLは書く気がしない。(ので、作成プログラムを作る)
って感じ。

674:デフォルトの名無しさん
08/05/26 01:11:15
S式は書く気がしない。(ので、マクロを作る)
XMLは書く気がしない。(ので、作成プログラムを作る)

675:デフォルトの名無しさん
08/05/26 01:24:07
>>674
ちょ、そんなにLispが好きなら煽るなよw
瞬間考え込んでしまったじゃないか。


676:664
08/05/26 09:34:23
皆様ありがとうございます。皆様のご意見を参考にまとめてみました。

長所
1.構造がシンプルである。
2.人間が編集し易い構造。

短所
1.要素の区別が付き難い。
2.規格が整備されていない。
3.規格が整備されていない為、相互運用に手間がかかる。

用途の曖昧さがあり、長所と短所が出しにくかったようですね。
用途を明確にするといっても、XMLデータベースとListデータベースとかイカれた発想しか出てこなかったのでこの辺で終了します。
ありがとうございました。

677:デフォルトの名無しさん
08/05/26 14:29:09
pyffiの使い方がなんとなくわかった
python-on-lispよりもかなり強力だね

678:デフォルトの名無しさん
08/05/26 16:26:23
なんか664のは課題くさいな

679:デフォルトの名無しさん
08/05/26 16:33:28
"㍑" という文字を入出力するとsbclが落ちる
extern がeucとutfではだめだった

680:デフォルトの名無しさん
08/05/26 17:03:36
>>679
windows版の1.0.13は落ちないけど豆腐になった,#\㍑だと#\REPLACEMENT_CHARACTORになる
linuxの1.0.11だと#\SQUARE_RITTORUに評価された。

どのバージョンで変になるの?


681:デフォルトの名無しさん
08/05/26 18:16:16
>>673-675
XMLに何らかのプログラム(例えばJavaScript)を埋め込んで、
解釈系プログラムでそのプログラムを実行できるようにすると、
S式+マクロみたいな使い方も一応出来るけど、労力を比べると
Listデータベースに軍配が挙がると思う。

682:デフォルトの名無しさん
08/05/26 18:18:46
そういう解釈系プログラムの標準化が出来たらいいなというのがWEB2.0の方向性かな?

683:デフォルトの名無しさん
08/05/26 18:33:37
XML自体が、DSLみたいなもんだと思う。

684:デフォルトの名無しさん
08/05/26 18:40:40
lisperから見たら、とても馬鹿馬鹿しい思想だよな。
声の大きい馬鹿が集まって足踏みしてるだけに見える。
実体は、出てきた便利な物に後付で価値をこじつけて
乗っかるだけの、薄っぺらい金儲けの手段でしかない。
そのうちまた違う名前が出てくるんだろうけど、
ネットのこの流れは嫌気が差すね。


685:デフォルトの名無しさん
08/05/26 18:56:16
XMLがクロージャに憧れてると聞いて飛んできましたw

686:デフォルトの名無しさん
08/05/26 18:58:42
新しいJavaScriptがクロージャを使えることとXML自体に直接の関係はない。

687:デフォルトの名無しさん
08/05/26 19:21:10
XMLにセマンティクスは含まれてないからな。


688:デフォルトの名無しさん
08/05/26 20:10:23
XMLの定義にセマンティクスは無いが、XMLで書かれたデータにはセマンティクスが入るよね?


689:デフォルトの名無しさん
08/05/26 20:19:37
よね?って言われてもな。
何がしたいよ。

690:デフォルトの名無しさん
08/05/26 20:27:35
>>689
ぶっきら棒だなw

>>688
入りますがそれが何か?

691:デフォルトの名無しさん
08/05/26 20:31:08
やっぱあれ?
Lisp厨涙目wとかいう結論にしたいのか?

692:デフォルトの名無しさん
08/05/26 21:39:06
> 規格が整備されていない。

ってのがよく分からないんだけど。
read, print, 構造体, マクロ
これだけ考えてもかなり大きな仕様で、
さらにS式対象のライブラリはかなり充実しているんだが…


693:デフォルトの名無しさん
08/05/26 21:44:22
Common LispにしてもSchemeにしても、S式の文法は厳格に規定されているよな

694:デフォルトの名無しさん
08/05/26 21:45:33
あー規格の話だしたんは俺だけど、アプリ側だとXSLT, XPathとかフォーマットだとcXMLやUBLとかを考えてた。
Wikipediaの記事だとそーゆう方面も含めてるようだったんでね。S式つったら普通は>>692の定義で、比較の
レイヤが違うんじゃないかなーと思ったので、用途とかをはっきりさせてほしかった。

695:デフォルトの名無しさん
08/05/26 21:49:56
「標準」であらせられるところの XML に対するマッピングが標準化されてない
というのはあるわな。SXML とか LXML とか。
まあ Lisp 屋にとってはそんなのちょちょいと変換できるから大きな問題ではないわけだが。

696:デフォルトの名無しさん
08/05/26 21:57:07
>>692
ListとS式を切り離して質問した私の間違いだったんです。すみません。
デフォルトでUnicodeが使われるとかそういうレベルの解釈だったんです。

697:デフォルトの名無しさん
08/05/26 21:58:06
SQLも亜種が色々あるだけで普通に実用になってるだろ。
わざわざ下位のXMLに降りて何かしようなんて酔狂なやつがいないだけ。

698:デフォルトの名無しさん
08/05/26 22:02:21
>>692
規格はCLは厳格だろ。GLSなんかみるとわかる。
>>694
規格は用途で左右されると思う?

699:デフォルトの名無しさん
08/05/26 22:08:22
>>679,680
ubuntu7.10に入ってるsbclです
1.0.6でした


700:デフォルトの名無しさん
08/05/26 22:38:36
>>698ちょっと意味がわからないなぁ。すまんす。
企業間の取引データをやりとりするような用途ならcXMLを使うことになるケースはある。S式ベースのがくる事は現時点ではない。
あとはちょろっとしたXML文書の変換もXSLT使うな。これも規格と実装が充実してるし、引きつぎもあんまり困らないから。


701:デフォルトの名無しさん
08/05/26 22:48:22
>>700
君、規格の意味がおかしいよ

702:デフォルトの名無しさん
08/05/26 22:55:16
そうかもね。そもそも「規格は用途で左右されると思う?」の意味がよくわからないっす…。どゆ事?

703:デフォルトの名無しさん
08/05/26 23:11:30
日本語でおk

704:デフォルトの名無しさん
08/05/26 23:13:55
プロトコルとかライブラリを規格と言ってる?

705:デフォルトの名無しさん
08/05/26 23:18:35
このスレで規格といえばSyntaxとSemanticsだろ常考。

706:デフォルトの名無しさん
08/05/26 23:23:46
あぁ、cXMLはXMLベースのプロトコルであって規格ではないってことか。ライブラリってのはXSLTやXPathのことかな?
すると、標準的なプロトコルや、XSLT1.0/2.0等を実装するライブラリがあるあたりが便利、と言えばよかったのか。
HTML4.0やCSS2.0,XSLT2.0なんかは規格とよんでいた。XSLTは文書変換のための規格、XPathは属性指定のための規格、みたいにね。

707:デフォルトの名無しさん
08/05/26 23:45:13
なんつーか、世界の狭い人だなあ

708:デフォルトの名無しさん
08/05/27 00:03:56
>>707
世界の問題じゃなくて>>692の文脈を読めていないことを指摘してるだけ。
世界中の人はもしかしたら全員が君に悪意を抱いているかのもしれませんが。

709:デフォルトの名無しさん
08/05/27 00:08:20
>>708
あれで文脈を読めるだろうという予想が狭い世界での経験に基づくものなのでは?
最後の行は余計だろう。質問する人の態度じゃないよ。

710:デフォルトの名無しさん
08/05/27 00:18:47
>>692を書いたのは俺ではないし、質問もしていない。
延々とXMLの話をするのはスレ違いだしそろそろやめて欲しいだけだ。
場違いだし、おかしな論旨が不愉快だね。

711:デフォルトの名無しさん
08/05/27 00:34:59
最初に誘導したつもりだったが、もう一度だけ書く。

ここでやれ
スレリンク(tech板)

712:デフォルトの名無しさん
08/05/27 00:35:34
俺様用語で文脈読めとか

713:デフォルトの名無しさん
08/05/27 00:46:19
XMLの話は巣に帰ってやれよ。

714:デフォルトの名無しさん
08/05/27 00:48:19
うぜーだろとか言ってたアホがよく言えたもんだw

715:デフォルトの名無しさん
08/05/27 00:55:31
>>712
言われて当然だな

716:デフォルトの名無しさん
08/05/27 06:28:50
自意識に知恵が追いついていない
二十歳ちょっとのボクちゃんの典型みたいな人だな・・・。

717:664
08/05/27 06:30:01
>>666
ただの自治厨だと思ってからかったけど、あなたが正しかったです。すみませんでした。

718:デフォルトの名無しさん
08/05/27 10:04:32
基礎的なことなんですけど、numberpみたいなやつで、
数字ではなくて、日本語と英語ならみたいな関数ってないんですか?

719:デフォルトの名無しさん
08/05/27 10:07:52
まず日本語と英語の定義を教えてくれないとな。

720:デフォルトの名無しさん
08/05/27 10:12:13
日本語=全角文字、
英語=数字じゃない半角文字、だとおもうんですけど。

721:デフォルトの名無しさん
08/05/27 10:19:11
korewa nihonngo darou ka

722:デフォルトの名無しさん
08/05/27 10:22:35
そっか、日本語ですねww
全角文字と半角文字を区別できるやつで!
お願いします。


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