04/06/18 10:36
>>637
そう割り切ればいいのかもしれませんけど、仕事しんどいし、何かこの知見を
利用して楽になれないものかと思っちゃうんです。
>>639
> 要するにLispでやってるような抽象化が必要とされるようなプロジェクトをやってない
ああ、それはありますねえ。
せっかく CPS を理解したんだから、今度の Java の仕事で session に継続を
保持させてみよう、と思ったんですが、考えてみたら、CPS を用いるほど細かい
制御はまず必要ないんです。
Lisp が一番力を発揮するのは、構文解析とか、複雑な構造のデータを扱う場合
だと思うんですけど、そういう仕事やってないですし。DB に SQL を発行して、
返った値をオブジェクトに収めて、JSP で表示させて、ハイ、おしまい。
マクロで展開させたいと思うようなことも、あんまりないです。
嫌だと言っても、世の中の99%はそういう仕事ですし。
「技術野郎の復讐---Revenge of the Nerds---」への反響
URLリンク(www.shiro.dreamhost.com)
>>635 氏の言う通り、私には Lisp は必要なかったのかな?いや、Lisp 業界が
私を必要としていないのか。…鬱だ死のう。
641:デフォルトの名無しさん
04/06/18 11:14
IO操作はcall-with-うんたらかんたら系があると便利だよね。
標準IOをインターフェース変えずにファイルやソケットや文字列に割り当てたり。
C/C++言語もそういう仕様だったらよかったのに。
こっちは出来た時代が古かったんだね。
642:デフォルトの名無しさん
04/06/18 11:27
LISPのcarやcdrが基本なリスト操作知ってからは
ほかの言語でリストコンテナ書き直す回数が減った。
いまどきのC++やjavaには標準で付いてるけどね。
でもそういう標準コンテナを使うときも
LISPで培ったやり方が適用できると思う。
先にLISPのマクロ知ったおかげでboostとかのライブラリが幼稚に見える。
643:デフォルトの名無しさん
04/06/18 11:29
Javaの仕事がきついって言うけど、
それなら一番手っ取り早いのはJavaのエキスパートにコードを見せて
何か改善点がないか相談することでしょ。
改善のしようがなかったら、転職するかその仕事に耐えるかしかない。
どうやったらJavaに生かせるかLisperに訊かれても、そんなん知らんがな。
自分で応用していくしかないんだよ。
644:デフォルトの名無しさん
04/06/18 11:30
ま、仕事の質から言って、やっぱLISPが最強だったね。
645:デフォルトの名無しさん
04/06/18 11:35
何でもかんでもLispでやりたがる奴はLisperじゃない
646:デフォルトの名無しさん
04/06/18 11:38
Guy Steele Jr.のメアド教えてください。
647:デフォルトの名無しさん
04/06/18 11:38
誰もそんなこと言ってないが。
>被害妄想な645
648:デフォルトの名無しさん
04/06/18 11:38
>>646
どっかのMLにいたよ。
649:デフォルトの名無しさん
04/06/18 11:41
`(Guy,@Steele.Jr)
650:デフォルトの名無しさん
04/06/18 11:42
最強厨、現る
651:デフォルトの名無しさん
04/06/18 14:32
>>647
お前に言ったわけじゃないんだが
652:デフォルトの名無しさん
04/06/18 15:41
Lispの本って高い!!
653:デフォルトの名無しさん
04/06/18 16:19
>>642
複雑なデータ構造の仕事をしている人だと、Lisp の経験が生かせるみたいですね。
>>643
なんというか最近、Java の世界そのものに息苦しさを感じてしまいまして。
Lisp の世界は自由自在・融通無碍だとどこかで聞きまして、Lisp だけで食っていける
人はまずいないそうですから、Lisper が Java を書くことも当然あるだろうと。
Java しか知らない人からじゃなくて、そういう視野の広い人から、話を聞いて
みたかったのです。
654:デフォルトの名無しさん
04/06/18 18:41
>>653
本物の Lisper なら、
>DB に SQL を発行して、
>返った値をオブジェクトに収めて、JSP で表示させて、ハイ、おしまい。
その作業を、システムを使うユーザーにやらせようとする。
つまりスクリプトを積む訳だ。
で、スクリプトには当然 Lisp を採用。
655:605=615
04/06/18 23:57
>>603
SECDR入手済みだよね?親切な人が生息しているようで何より。
過去ログ眺めてきたけど、何か妙に卑屈になってるのが居るみたいね。
2chで泣き言いってる暇があったら自分でLisp使う仕事作りゃいいのに。
漏れは作ったぞ。他にLisper居ないから1人デスマーチだけどな(w
656:デフォルトの名無しさん
04/06/19 00:11
そうそう。Javaにうんざりしている同志がこんなもん作ってるけどこのスレでは紹介されてなかったよね?
暇なとき調べてみようと思って手付かずなので誰かが使用感レポートしてくれることを期待して貼っておこっと。
hxxp://www.evaluator.pt/linj.html
657:デフォルトの名無しさん
04/06/19 05:54
URLリンク(www.evaluator.pt)
めんどくせーことするな
658:デフォルトの名無しさん
04/06/19 23:40
Meadowのrun-schemeで、Gauche(utf-8)を使いたいのですが、可能でしょうか。
いまの設定は、下の設定です。
(setq scheme-program-name "d:/cygwin/usr/local/bin/gosh.exe -i")
URLリンク(kawacho.don.am)
ご面倒ですが、アドバイスをお願いします。
659:デフォルトの名無しさん
04/06/20 00:23
>>658
Meadow1.15はutf-8対応でないそうなので、Meadow2をインストールしました。
そして、M-x set-buffer-file-coding-system utf-8にしました。
すると、こんな出力になっています。
gosh> (display "山下")
ツ山ツ可コ#<undef>
660:デフォルトの名無しさん
04/06/20 01:14
よう分からんけど set-process-coding-system の方じゃないかと疑ってみる。
661:デフォルトの名無しさん
04/06/20 10:03
>>660
ありがとうございました。
ご指摘のとおり、set-buffer-process-coding-systemで
inputもoutputもutf-8に設定することで、問題解決しました。
ども。
662:デフォルトの名無しさん
04/06/20 11:24
Lisp の知見を 他言語で、という話だけれど、継続を使えば、Web アプリが
スッキリ一つながりに書けるようになるよ。
URLリンク(tabesugi.net)
普通なら HTTP リクエストごとに分断されたコードを書かなきゃいけないけど、
継続を使って、コードの実行を中断して、HTTPリクエストを処理してから再開、
といった作業がシームレスに行えるから。
だけど、この継続をいちいち手作業で作るのは面倒くさいね。言語自体が継続を
サポートしていないと、かえって面倒くさいと思う。Java じゃ無理か。
Perl6 は継続をサポートするようになるそうな。Perl使いの皆さん、おめでとう。
URLリンク(tabesugi.net)
Perl使いは誰も継続なんて知らないみたいだけどな。
新山氏のサイトを斜め読みしていたら、たまたま出てきたんで書きました。
663:デフォルトの名無しさん
04/06/20 12:52
以前も話題になりましたが,defpackage にはキーワードを使ったらいいのか
文字列を使ったらいいのか分かりません.
cliki に置いてあるコードでも両方見かけます.
叫ぶぼどではないので大文字は避け,キーワードを使いたいのですが,
どんなトラブルが起こりうるのでしょうか.教えていただきたいのです.
パッケージ名は :pkg-name のようになっていて,その中で :export される
シンボルは #:func1 のようにすれば絶対安心なのでしょうか?
664:デフォルトの名無しさん
04/06/20 16:10
最近 asdf というのがあるんですが,これは何ですか?
ちょっとしたプログラムを install するにもコレが必要らしいです.
google しても関係なさそうなサイトばかり引っかかります.
正直,べんり? 入れなきゃダメ?
665:デフォルトの名無しさん
04/06/20 16:23
asdf は lisp 版 make …という説明でわかるかな?
昔からある defsystem に代わるもの.CLOS ベースになってる.
依存関係や C ライブラリのビルドなどが設定可能な便利
ツールだが,どうしても嫌なら別に入れなくてもいいぞ.
全部手動でやる事も面倒だけど可能だし,defsystem 用の
ファイルも提供してるプロジェクトも多いしな.
666:デフォルトの名無しさん
04/06/20 17:33
マニュアルはここ。入れなきゃダメってことはないけどDebianでCommon Lisp Controller
使ってれば普通に入ってるし、正直便利。いろんな人が作ったライブラリ突っ込むのも
asdf-install一発で片付くんでらくちんだよ。
hxxp://constantly.at/lisp/asdf/
667:664
04/06/20 17:47
>>665-666
恥ずかしながら,lisp プログラムのインストールに make のような
ものが必要ということさえ知りませんでした.
(load "hoge") 一発かと...
debian を使っているので,sarge あたりから
common lisp 周りのパッケージが増えたな,と感じていました.
ただ,自分の管理下でないシステムに,自分が書いたコードを持っていったとき
のことが気になります.そのコードが,asdf を使ってインストールされた
プログラムを使っていると,向こうのシステムにも色々持っていかないと
なぁ,,,という気がするのです.
とにかく試してみます.ありがとうございました.
668:664
04/06/20 22:15
私は asdf も入れられないレベルのようです.どうか力を貸してください.
$ clisp -q
[1]> (load "load-asdf-install")
;; Loading file /home/yu/src/html/src/asdf-install/load-asdf-install.lisp ...
;;; ASDF-INSTALL: Loading ASDF-INSTALL package from directory
;;; "/home/yu/src/html/src/asdf-install/"
*** - A file with name ASDF-INSTALL-LIBRARY:defpackage.lisp does not exist
1. Break ASDF-INSTALL-LOADER[2]>
defpackage.lisp を ASDF-INSTALL-LIBRARY:defpackage.lisp みたいな
変な名前にリネーム,,,するわけないですよね?
どうすればいいのでしょうか.まずは cl-ppcre を入れたいのに.
669:デフォルトの名無しさん
04/06/20 22:15
>>667
ある程度の規模になると依存関係とかロード順を考えなきゃならんでしょ?
C/C++ だってファイルが増えてくると make や IDE の支援が必要になるわけで。
で、C/C++ のソースを配るときに make があるか心配だから make を使わない
というほどの心配性ならともかく、asdf 自体は特に依存してないのでそんなに
心配する必要はないです。asdf.lisp 添付してもいいしね。
それでも、どーしても嫌なら自分で書いたコードには使わなきゃ良いだけです。
670:デフォルトの名無しさん
04/06/20 22:20
>>668
できれば自分の環境(特に使ってる clisp のバージョン)はかいといた
ほうがいい。なぜなら clisp で format のバグで asdf.lisp がコンパイル
できないバージョンとかあったからな。最新のは大丈夫なんだけど。
で、先に asdf.lisp をロードしてないとかそーゆうんでないかな。今手元に
clisp が無いんで推測なんだが。
671:664
04/06/20 22:31
>>670
はい.clisp 2.27 です.
うっかり asdf-install/doc/index.html を読んでいませんでした.
README がインストール方法かと思ってしまいました.
そこで,index.html にある方法でやりましたが,,,
current directory には asdf があるディレクトリと,
asdf-install/asdf-install.asd へのリンクがあります.
$ clisp -q
[1]> (load "asdf/asdf")
;; Loading file /home/yu/src/html/src/asdf/asdf.fas ...
;; Loading of file /home/yu/src/html/src/asdf/asdf.fas is finished.
T
[2]> (asdf:operate 'asdf:compile-op :asdf-install)
; loading system definition from asdf-install.asd into #<PACKAGE ASDF1175>
;; Loading file asdf-install.asd ...
; registering #<SYSTEM ASDF-INSTALL #x203A4CB1> as ASDF-INSTALL
*** - handle_fault error2 ! address = 0x4556454F not in [0x202B6000,0x2037220C)!
SIGSEGV cannot be cured. Fault address = 0x4556454F.
セグメンテーション違反です
asdf って簡単そうな名前なのに orz
672:デフォルトの名無しさん
04/06/20 22:36
2.27 て…。まぁ、asdf.lisp がロードできてるなら cl-ppcre の
インストールに asdf-install は要らないよ。手動で cl-ppcre の
アーカイブをダウンロードしてきて
[1]> (load "asdf/asdf.lisp")
[2]> (load "cl-ppcre/cl-ppcre.asd")
[3]> (asdf:oos 'asdf:load-op :cl-ppcre)
だけ。あとは (saveinitmem) としてイメージ作れば良いじゃん。
あと 2.27 にこだわる理由がなければ 2.33.x にしとくのが吉。
673:664
04/06/20 22:43
>>672
親切にありがとうございます.
いま,cmucl でやってみると,一通り終わるものの 5 errors 出ました.
;;; メインで clisp を使うのに *.x86f が出来ても...
はい.debian woody なのと HDD が小さいのでバージョンアップを
渋っておりましたが,以下の理由で考え直します.
[2]> (load "cl-ppcre/cl-ppcre.asd")
;; Loading file cl-ppcre/cl-ppcre.asd ...
*** - handle_fault error2 ! address = 0x4556454F not in [0x202B6000,0x2037220C)!
SIGSEGV cannot be cured. Fault address = 0x4556454F.
セグメンテーション違反です
674:デフォルトの名無しさん
04/06/20 23:43
やたっ! Mac OS X 上の ECL でスレッド使えた。
つっても無理矢理ビルド通しただけなんで、実用性はありませんけど。
素朴な疑問ですが、Lisper な人ってスレッドをあまり必要としていないんでしょうか?
ネイティブスレッドを使える環境がかなり限られている感じがします。
675:674
04/06/21 00:15
と思ったら、重い処理させると落ちる・・・。
676:デフォルトの名無しさん
04/06/21 01:14
>>664
Debian使ってLispやるならsidがいいのではないかと。
Kevin M Rosenbergが精力的にパッケージ作ってくれてるのでマジで助かります。
バグ修正したり機能拡張したコード送ると(暇なら)次の日にはパッケージ更新してくれるし。
ディスク容量とかメモリとかはカネで時間(作業効率)が稼げると思えば安いもの。組み込み
用途を検討中とかなら話は別だけどね。
hxxp://b9.com/debian.html
>>674
Lisperがスレッドを必要としないってことはないでしょう。SBCLのウリのひとつだし。
Lisperは正規表現を必要しないってのは聞いたことがあるけど。リーダーマクロマンセー。
677:664
04/06/22 02:50
clisp バージョンを上げて解決しました.
便利な正規表現を使えるようになりました.みなさんのおかげです.
ところで,
(asdf:oos 'asdf:load-op 'cl-ppcre)
が終わるのに 2 分くらいかかりますが,これは毎回必要なんですか?
実際に使うために動かすのは手元ではないので耐えられますが...
>>676 sid は色々気をつけないとならないので逃げます orz
678:デフォルトの名無しさん
04/06/22 06:25
>>677
cl-ppcre をロードした後に (saveinitmem) で
新しいイメージを作ってそっちを使うようにするのが定石です。
#!/bin/sh
/usr/local/bin/clisp -M ~/my/dir/initmem
みたいに自分のイメージを使って起動するシェルスクリプトを
パスの通ったところに置いておきましょう。
あと、clisp なら標準の regex, あるいは pcre モジュールの
ほうが性能は良いって事は心に留めておいたほうがいいです。
cl-ppcre は移植性と互換性は良いけどね。
679:デフォルトの名無しさん
04/06/22 14:50
Gaucheのwww.cgiを使ってみたいのですが、下のようにoutput-charset
を定義すると、「"euc-jp"」と評価されます。ここで、「euc-jp」と
評価されるにはどうしたらいいのでしょうか?
(define output-charset "euc-jp")
(define (main args)
(cgi-main
(lambda (params)
`(,(cgi-header
:content-type #`"text/html; charset=,(output-charset)")
680:デフォルトの名無しさん
04/06/22 15:05
>>679
あっ。。。
(define output-charset "euc-jp")
(define (main args)
(cgi-main
(lambda (params)
`(,(cgi-header
:content-type #`"text/html; charset=,output-charset")
681:デフォルトの名無しさん
04/06/22 15:25
CGIプログラムを継続を使って書くと綺麗なコードになると何度か聞いたことがあります。
たぶん、HTTPがステートレスな接続形態であることをうまく隠して、
複数のHTTP要求と応答をひとつのセッションとしたコーディングができるようになるのかなと
想像しています。具体的に教えてください。
また、Continuation Passing Styleで書けば継続が直接サポートされていない
Common Lispでも同じように綺麗なコーディングができますか?
Kahuaも継続を売りにしていますよね。
682:デフォルトの名無しさん
04/06/22 20:58
cygwin 環境で guile-1.6.4をコンパイルしたのですが、make途中で
エラーが発生してしまいます。
場所は
cat alist.doc (略) regex-posix.doc | GUILE="/cygdrive/c/home/work/guile-1.6.4/
pre-inst-guile" ../scripts/snarf-check-and-output-texi --manual > guile.texi ||
{ rm guile.texi; false; }
ERROR: Unbound variable: define
guile.texiを作成するところです。実行ファイルそのものはできている
ようなのでそれを直接実行してみると
bash-2.05b$ libguile/guile
ERROR: In procedure primitive-load-path:
ERROR: Unable to find file "ice-9/boot-9.scm" in load path
bash-2.05b$
のようなエラーになります。configure時には何も指定していません。
どなたか対処法をご存知ありませんか?
683:664
04/06/22 23:04
>>678
>>672 で (saveinitmem) に触れていただいたのに見落としていました.すみません.
debian sarge の cmucl でも cl-ppcre を難無く load できました.
移植性と互換性とはいっても,古いバージョンには入れられないものなんですね.
他所 (sparc マシン) の cmucl で動くか試してみましたが,
load 中,api.sparcf で type-error が出て入れられないんです.
しかも api.lisp の何行目が悪いのかも分からず...
自宅では軽い clisp で作り,cmucl の入ったサーバーにアップロードという
目標は無理のようです.orz
684:デフォルトの名無しさん
04/06/22 23:30
>>681
Kahuaのチュートリアルがわかりやすいかと。
URLリンク(www.kahua.org)
ちなみにKahuaでいう「継続ベース」というのは、call/ccでどうのこうの
ということではなくてCPSで書きますということです。
すなわち、Common Lispでも同様にやれるでしょう。
685:デフォルトの名無しさん
04/06/23 00:13
>>681
URLリンク(www.common-lisp.net)
Common Lisp で継続ベースの Web アプリ開発フレームワーク、だそうです。
使ったことないですが。
686:デフォルトの名無しさん
04/06/23 00:36
>>683
エラー吐いてデバッガに落ちてるんじゃないの?
バックトレースとかスタックフレームとか調べてみた?
まず「ソースコードの何行目が悪いのか」という思考から「どこの式が悪さしてるか」を
意識するようにしてみるといいかも。
687:デフォルトの名無しさん
04/06/23 07:37
>>684-685 ありがとうございます。
688:664
04/06/23 22:44
今日,>>686 のご指摘通りデバッガとの対話を学び,試そうと某所へ行きました.
すると,コケたはずのインストールが,修正していないのに出来てしまいました.
(asdf:oos ...) も (load "cl-ppcre-0.7.7/load.lisp") も出来ます.
;;; 管理者さんがこのスレにいるのでしょうか...
そして,マイ core も作りました.
あとはカッコいいプログラムを作るだけです.ありがとうございました > root
689:デフォルトの名無しさん
04/06/24 02:05
Windows版はないのね。残念。
690:デフォルトの名無しさん
04/06/24 23:50
湯浅センセがスーパークリエイタになってはる。応募しはったときも
思たんやけど、なんで今さら…。めっさ、違和感あるわ。次世代ちゃ
うやろ。
691:デフォルトの名無しさん
04/06/25 03:13
ペタジーニのバントみたいだな。
夢が壊れるよ。
692:デフォルトの名無しさん
04/06/25 08:54
そう?
あの年で(失礼)、また教授になってもhackするのはいいことじゃないですか。
おまえらももっとhackしろというメッセージだと思ってます。
693:デフォルトの名無しさん
04/06/25 09:03
lisp屋が おじさん/おばさん、おじいさん/おばあさん になっても
hack するのは、デフォじゃないの?
694:デフォルトの名無しさん
04/06/25 09:53
お金とって来れる偉い人がなっちゃいかんよなぁ。
もっと若い人に譲らなきゃ。
695:デフォルトの名無しさん
04/06/25 13:26
若い連中がふがいないから教授に取られちゃうんだよ。
696:デフォルトの名無しさん
04/06/25 18:44
ファイルの中身をまるまる string にするには,どうやればいいですか?
get-output-string-stream は output stream にしか使えないんですね.
697:デフォルトの名無しさん
04/06/25 19:11
>>694
>お金とって来れる偉い人がなっちゃいかんよなぁ。
もしかして「京大教授」って、意外と薄給なのでは?
698:デフォルトの名無しさん
04/06/26 10:08
>>696
処理系は? まぁ、このへんを参考にしたらいいと思いますが。
URLリンク(www.shiro.dreamhost.com)
>>697
「お金」= 「給料」ではなくて研究費です。
給料は国立大の教授なら1000万程度では。
いいと思うかは微妙なところだけど。
699:デフォルトの名無しさん
04/06/26 11:09
XSで未踏に応募したのはWindows版の開発を委託する費用を捻出するため。
スーパークリエイターに認定されたのは湯浅センセがどうこうできることじゃない。
695の意見が正しいと思う。
700:デフォルトの名無しさん
04/06/26 13:32
少し前に話題になっていた、Lisp の知見を他言語(Javaなど)で生かす話、
こんなのを見つけました。
『A Little Java, A Few Patterns』
URLリンク(namazu.org)
この本は、名著『Little Schemer』の著者によるものだそうで、デザパタの中でも
難解で知られる Visitor パターンが、関数型言語の考え方から自然に導かれることを
説明するのだそうです。
そうか。関数型言語なら高階関数で行うことを、オブジェクト指向言語はオブジェクトで
行うのか。それらの知見は、ある程度は相互に利用が可能みたいですね。
邦訳も出ているみたいです。
『Javaとピザとデザインパターン』
URLリンク(www.amazon.co.jp)
701:デフォルトの名無しさん
04/06/26 13:33
あと一つ、Greenespun's 10th Rule のグリーンスパンの Blog から
『Scheme vs. Common Lisp』
URLリンク(philip.greenspun.com)
私は Scheme を少し知っているだけなのですが、これを読むと Common Lisp の実用性は
素晴らしいと思いますねえ。
それにしても、flame war 勃発と思いきや、あんまり騒ぎになってない。
そもそも Lisp 界にはフレームが起こるほど人がいないのか。
グリーンスパンが同じ Blog で Java を揶揄したときは、スラドを含めて
大騒ぎになったらしいのにねえ。
URLリンク(www.shiro.dreamhost.com)
(2003/09/24 18:54:23 PDT)を参照
702:696
04/06/26 14:06
>>698
あっ,common lisp の話なのに書き忘れてしまいました.ごめんなさい.
処理系は clisp ですが,処理系に依存しない方がいいです.
いろいろ試してはみましたが,do と read-line よりいいものは無いのでしょうか.
703:デフォルトの名無しさん
04/06/26 16:24
>過去ログ眺めてきたけど、何か妙に卑屈になってるのが居るみたいね。
lisp界には凄い人が普通にいる感じがするからじゃないかな。
shiroとか苫米地とか新山とか。
KCLの両先生はさしあたり東大寺の仁王像、京都大学は奈良の大仏、
アランスク先生はジャンヌダルクかフランス貴公子(奇行氏)といった所だろう
(適当だが)
704:デフォルトの名無しさん
04/06/26 17:37
shiro >>>>>>>>>>>>>>>> 苫米地 > 俺 > 新山
705:デフォルトの名無しさん
04/06/26 18:22
↑バカディスカー?
706:デフォルトの名無しさん
04/06/26 21:00
>>703
>アランスク先生はジャンヌダルクかフランス貴公子(奇行氏)といった所だろう
>(適当だが)
災いを招くつもりですか?
707:デフォルトの名無しさん
04/06/26 22:09
新山さんとアランスク先生って誰?
708:デフォルトの名無しさん
04/06/26 22:27
shiroさん最強。
苫米地さんは謎。コード読んだこと無いし。
新山さんは・・・日記職人(田口)。
709:デフォルトの名無しさん
04/06/26 23:46
>>707
aranskはゲームセンターで小学生突き落とした中学生
710:デフォルトの名無しさん
04/06/27 12:26
knilって何ですか?
(directory-fold:
URLリンク(www.shiro.dreamhost.com)
711:デフォルトの名無しさん
04/06/27 13:25
>>710 特に意味がない。
(fold KONS KNIL LIST ...) (SRFI1) が元ネタ。2つの引数を持つ
プロシージャを何度も呼ぶとき、第2引数の初期値として使われる。
多くの場合、KONS として cons のような 関数を使い、KNIL として
'() が使われる。
712:デフォルトの名無しさん
04/06/28 14:23
chezのコンパイラについて御意見を聞かせてください。購入しても
バイナリのみのライセンスですよねぇ(いくらするんだろう)? >chezer様
713:デフォルトの名無しさん
04/06/28 22:44
>>712
個人向けの販売はしてないらしい。
$9000とか、学校向けでも$4500もするんだもんな。
Kent教授に嘆願書でも出さないか?
714:デフォルトの名無しさん
04/06/28 23:04
>>713
それでもずいぶん安くなったのではないですか?
ACL もずいぶん安いライセンスも出るようになったから、Chez も今後、
期待したいですね。
下は、2年前の話。
LISP Scheme Part6
URLリンク(pc3.2ch.net)
835 名前: デフォルトの名無しさん 02/11/26 03:59
Chez Scheme 6.0の見積もりを取ったが、いやはやあんなに高いとは。
マシン・タイプごとに24,500ドル。サポートが1機種 年間1,350ドルだと。
それほどの価値があるソフトなのか???
715:デフォルトの名無しさん
04/06/28 23:09
ACL アカデミックとかじゃなくて普通に商用に使うために買うといくらするの?
716:デフォルトの名無しさん
04/06/29 02:30
このスレの Part 8 で紹介されていた URL に $599 という価格があるんだけど、
URLリンク(www.franz.com)
これって、アカデミック・ディスカウントなの?
そうは思ってなかった。
教育関係なら、ここからさらに割り引かれるのかと思ってました。
ご存知の方おられませんか?
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
あ、括弧の中はアカデミック価格ね。
719:デフォルトの名無しさん
04/06/29 08:28
俺はソースネクストが1980円で売り出すのを待つよ。
720:デフォルトの名無しさん
04/06/29 08:38
括弧を無くして初心者にやさしい構文になったAllegro CLパーソナル版
1,980円!
721:デフォルトの名無しさん
04/06/29 11:58
>>717-718
ありがとうございます。
業務システムなら千万単位の金が動くのは当たり前なので、そういうところが
売り込みの対象なのでしょうね。
SUN の Java みたいにただでばら撒いてもらえるとありがたいけど、これを
売って会社を成り立たせているから、市場の少ない段階ではおいそれと値下げも
できないし。
考えてみたら、Java がタダでばら撒かれているのがすごく不思議な気がしてきた。
722:デフォルトの名無しさん
04/06/29 12:37
インタプリンタでさえF1マシンのように速いのにコンパイラは
どれ程のものだろうね。個人的にはchez(petite)で
EdwinみたいなEmacs互換のエディタがあればいいなぁ。
そういえば奥村先生の辞典にあるメルセンヌ数(素数)判定の
プログラムをpetiteで再実装したらCコンパイラ(gcc)のコードより
かなり速かった。…やっぱpetiteインタプリンタが内蔵された
エディタが欲しいなぁ。doctorの腕も上がるかもねww
723:デフォルトの名無しさん
04/06/29 15:23
Gaucheのテキストツリー構造を見ています。仕様の資料ってありますか?
(use text.html-lite)
(html:html (html:h1 "TITLE"))
=>(#0="<" html () #1=">" ((#0# h1 () #1# ("TITLE") #2="</"
h1 #3="\n>")) #2# html#3#)
(html:html (html:h1 "タイトル"))
=>(#0="<" html () #1=">" ((#0# h1 () #1# ("ツタツイツトツδ・)
#2="</" h1 #3="\n>")) #2# html #3#)
724:デフォルトの名無しさん
04/06/29 17:01
May the source be with you.
725:デフォルトの名無しさん
04/06/29 17:02
happy hacking
726:デフォルトの名無しさん
04/06/29 18:26
Windows版のLispってありませんか?
727:デフォルトの名無しさん
04/06/29 18:40
ググれ
728:デフォルトの名無しさん
04/06/29 19:02
ググった
729:デフォルトの名無しさん
04/06/29 21:38
>>721
petite の方はただで配ってるし、プロプラなアプリに組込んで使っても問題無い感じ。
ところで、↓この chez の方の src.rpm ってソースコード丸々入ってるんですか?
URLリンク(www.cs.indiana.edu)
730:デフォルトの名無しさん
04/06/30 00:52
>>726
Allegro CLのWindows版があるよ。
731:デフォルトの名無しさん
04/06/30 11:47
>>724-725
了解しました
(文字化けは、文字コード設定だけの問題でした)
732:デフォルトの名無しさん
04/06/30 22:13
>>729
.aしか入っとらん。
そんなに世の中甘くないぞ
733:デフォルトの名無しさん
04/07/01 15:52
Gaucheのマニュアルを見ているんですが、なぜ戻り値の型が記載されていな
のですか? 下のような形が標準であって、戻り値の型は必須になっていない
です。Scheme的な流儀?
調べてみると、stringが返ってくるのか、portが返ってくるのか等々、判断
しにくいです。
ex) Function: read-block nbytes &optional iport
URLリンク(www.shiro.dreamhost.com)
734:デフォルトの名無しさん
04/07/01 16:37
釣りか?
吊りなのか?
735:デフォルトの名無しさん
04/07/01 17:13
>>733
srfi とか、あるいは(scheme じゃないけれど)clhs みたいな
フォーマットで書いてほしいって事でしょうか。
と、解釈してみます。
736:デフォルトの名無しさん
04/07/01 17:39
>>733
MLやWiLiKiでshiroさんにきいてみなよ。
即効でレスしてくれるぞ。
737:デフォルトの名無しさん
04/07/01 22:18
>>733
文字列を返すこともあれば、eof オブジェクトを返すこともあるわけで、
一つの型には決められないからじゃないのかな。
そこらへんをうまく扱えるいい表記があればね、と無責任モード。
738:デフォルトの名無しさん
04/07/02 00:40
Schemeにも型表記の取り決めがあればいいね。
型が変化しない関数は組み込みを含めてありえるわけだし。
CommonLisp族のdeclareディレクテイブはどうなんだろう。
739:デフォルトの名無しさん
04/07/02 18:38
型なんかが必要な人は頭が型いんです。
740:デフォルトの名無しさん
04/07/02 22:07
OnLisp 邦訳、Franz のサイトからリンク張ってあるね。
741:デフォルトの名無しさん
04/07/02 23:36
>>740
すげぇな。ほんとだ。
あとは訳が完成するのをまた~りまつこととしますか。
742:デフォルトの名無しさん
04/07/03 01:33
訳が完成したら出版してほしいなあ。
翻訳の完成度高いし。
743:flatline@Vim%Chalice ◆r6EONKKhcc
04/07/03 04:13
そんなことより >>740 -- >>742 よ,ちょいと聞いて下さいよ.Lispとあんまり関係ないけどさ.
今日(昨日),ACMプログラミングコンテスト予選があったんです,ICPC国内予選.
そしたら各大学3チームしか選ばれないのに,東大から19チームも出てて絶望なんです.もうね,ア(ry
で,1年生(教養前期)3人のチームの中にうちのサークルの新人がいたんで,
「ま,選抜はされないだろうけど精一杯やるさ.きみっちもがんばれよ」と先輩風吹かしてみたら,
なんと彼ら qoo_ が東大3位,全国4位(まだ暫定)で選抜されるっぽいんです.
URLリンク(www.logos.ic.i.u-tokyo.ac.jp)
そこでまた(全国86位の自分に)ぶち切れですよ.
偉そうな顔して何が,探索空間広杉,だ.
自分はJavaでO(n^6)の土方コーディングしかできないのちゃうんかと.
まあ私,flatlineは,分数の単位分数による分解をきちんと解きなさいってこった.
☆ ☆ ☆
なお使用可能言語はC, C++, Javaの3つ,時間は3時間15分でした.
それに対してICFP URLリンク(www.cis.upenn.edu) の方は任意の環境が利用でき,
時間も数日単位です(チームで寝る奴と書く奴を分担したり).
例年OCamlとかが人気のようですが,Common Lispも数チームずつ選んでいるようです.
これを読んでいる学生の方,どっちでもいいですが参加してみてはいかが.
優秀な方に対しても,私みたいな orz に対しても,よい体験になると思います.
744:デフォルトの名無しさん
04/07/03 04:51
これって、参加者のコード見れるの?
745:デフォルトの名無しさん
04/07/03 12:24
>>743
なんかこう何とも言えないでつな(汗
C, C++, Javaてのがまた。来年あたりC#とかが追加されてみたりすんのかねぇ?
Lispでごりごりなら743もゴリゴリ逝けたはず?
まぁ、学生さんたち頑張ってくれ。
746:デフォルトの名無しさん
04/07/03 15:21
>>726
SBCL win32 port のパッチが公開されてるよ。
747:O....TZ@Vim%Chalice ◆r6EONKKhcc
04/07/03 15:30
見られません < 提出済みコード
審判システムが終了してるので,感想戦やろうにもなかなか難しい.
まぁ大きなコミュニティに属してる利点ってのは,
そういうときでも「そのコードがacceptされたチームの人」「その場で(!)解ける人」が
身近にいるってことなんですが.
ICPCはどの言語だろうと本質的な手間は変わらない問題が多いぽ.
手続的言語にしぼってるのは,それなりの意図でしょう(Pascalが加わる場合も).
まぁ「Lispだとこうなる」ってのも面白いのでちょっと過去問を解いたことがありますが.
748:デフォルトの名無しさん
04/07/03 17:33
絶対に declare しておきたい場合を教えてください.
cliki に置いてあるのを参考にしてみるも,全部に型を書いてあるんです.
ここまで頑張るのでは大変です.
効果が大きいとか小さいとかは,どうしたら分かるのでしょうか.
749:デフォルトの名無しさん
04/07/03 20:22
絶対必要なのはプロファイルをとる事。なんでかっつーと、
効果がわからないって奴の大半はボトルネックをきちんと
測定していないから~。
型指定はその後。一番良く呼ばれる関数のインライン化、
速度なら多用される計算関数、頻繁にアクセスする配列、
メモリ量ならサイズの大きい構造体や配列、クラス等で
の型指定かなぁ。きちんと Profiling してるなら効果
もそれなりに測定できるはず。後は disassemble するとか。
750:デフォルトの名無しさん
04/07/03 20:56
ヤッターマン
751:デフォルトの名無しさん
04/07/03 20:57
コーヒー
752:デフォルトの名無しさん
04/07/03 20:57
ライター
753:748
04/07/04 16:05
>>749
ありがとうございます.こんなに簡単に分かるものだったなんて初めて知りました.
declare 前後の効果をはっきり知るために declare 式を一斉に
on, off したいのですが,コメントにするのでは大変です.
C の ifdef のようなものがあると便利なのですが,
こういうときに役立つ方法を教えてください.
*feature* に :declare-shiru を push して #+ 等を使うのは普通ですか?
754:デフォルトの名無しさん
04/07/04 22:51
関数として扱え,setf の 1 番目の引数でも使える accessor とは何なんでしょうか.
例えば,色々なものをごちゃ混ぜにしたリストを複数の関数で扱うとき,
(defun data1 (lst) (cdr (nth 3 lst)))
(defun data2 (lst) (cdr (nth 5 lst)))
とやると setf でアクセスできなくなりますし,
(defmacro data1 (lst) `(cdr (nth 3 ,lst)))
(defmacro data2 (lst) `(cdr (nth 5 ,lst)))
とやると関数を引数にするものに渡せません (:key など).
こんなとき,みなさんはどうやっていますか?
755:デフォルトの名無しさん
04/07/05 06:28
こんなんじゃなかったっけ? あと適当に defsetf とかで検索しておくれ。
(defun kar (kons)
(car kons))
(defun (setf kar) (kons obj)
(rplaca obj kons))
> (setq data '(1 2))
(1 2)
> (kar data)
1
> (setf (kar data) 3)
(3 2)
> data
(3 2)
756:754
04/07/05 20:02
>>755
全く知りませんでした.ありがとうございます.
CLHS を一から読むと,まだ知らないことがゴロゴロ出てきそうです.
757:デフォルトの名無しさん
04/07/05 21:18
あ、上のでも一応動くんだが
(defun (setf kar) (obj kons)
(rplaca kons obj))
だった。
758:デフォルトの名無しさん
04/07/06 00:23
あら、gencgc って SPARC にも対応してたんだ。CVS 追っかけてなかったから知らんかった。
次は MP かしらん(ワクワク
759:デフォルトの名無しさん
04/07/06 18:29
(っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ
(っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ
(っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ
(っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ
(っ´∀`)っ(defun mona () ((っ´∀`)っ(defun mona() ((っ´∀`)っ
760:デフォルトの名無しさん
04/07/07 14:12
そういうの、大人はあまり面白がってくれないよ。
761:デフォルトの名無しさん
04/07/07 17:12
無名関数のみで再帰するシンプルな方法を考えてみました。
まず、リストの長さを測る関数 my-length を作ってみる。
(define (my-length list0)
(if (null? list0)
0
(+ 1
(my-length (cdr list0)))))
(my-length '(1 2 3 4))
==> 4
それを無名関数だけで書き直す。要するに、自分と同じ形の関数を
引数に取って、それを再帰の代わりに呼び出すのである。
((lambda (function list0)
(if (null? list0)
0
(+ 1
(function function (cdr list0)))))
(lambda (function list0)
(if (null? list0)
0
(+ 1
(function function (cdr list0)))))
'(1 2 3 4))
==> 4
これを理解すれば、Yコンビネータを理解することの助けになると
思ったんですが、いかがなものでしょうか?
762:デフォルトの名無しさん
04/07/07 18:34
前スレあたりにいくつかあったよ
763:デフォルトの名無しさん
04/07/07 19:19
>>762
ありがとうございます。なるほど、確かに前スレにありました。
見たはずなのですが、当時は理解できなくて読み飛ばしていました。
今『Scheme 手習い』の9章を読んだばかりで、
「この Yコンビネータは洗練されているけれど、分かりづらい。汎用性をなくせば、
もっと分かりやすい再帰ができるのじゃないか?」
と思ったのですが、すでによく知られていることなのですね。すみません。
以下は前スレの引用ですが、眼からウロコが落ちる思いでした。
-----------------------------------------------------------
437 名前: デフォルトの名無しさん 03/12/12 23:03
lambdaだけで回すコードは、カンの鋭い人なら、相互的な再帰処理を
書いている内に自然と気付くかもしれない
結局は、以下のより単純にした式
((lambda(x)(x x))(lambda(x)(x x)))
この式の応用だから
764:デフォルトの名無しさん
04/07/08 02:12
このスレの話題と呼応する様に、Bill Clementson のブログに Java と CL の連携の話が出てるね。
765:デフォルトの名無しさん
04/07/09 14:29
hobbitとBiglooってどう違うん?
766:デフォルトの名無しさん
04/07/09 16:49
>>743 flatline 氏
on Lisp の邦訳の 148ページ目に、TeX のタグが残っていますよ。
-----------------------------------
Common Lisp のこのコードは,
\begin{verbatim}
(let ((f #’(lambda (x) (1+ x))))
(funcall f 2))
\end{verbatim}
767:デフォルトの名無しさん
04/07/10 00:16
>>765
hobbit は r4rs だし、末尾再帰の最適化もされないんじゃなかったっけ?
Bigloo がどうだか知らないけど、hobbit は Scheme で書かれてる。
Scheme で標準的な FFI のライブラリってありますか?
C の struct とか union も Scheme から扱えると嬉しいのですが。
768:デフォルトの名無しさん
04/07/10 02:09
> Scheme で標準的な FFI のライブラリってありますか?
SRFI でもめてたっけなー
769:デフォルトの名無しさん
04/07/10 12:42
r5rs の 7.3 Derived expression types に書いてある、
case の定義について質問です。
template の最初の clause (+ の部分) を省いたら、
もとの定義とどういう違いが生まれるのでしょうか?
それとも省略しても変わらないのでしょうか?
(define-syntax case
(syntax-rules (else)
((case (key ...) ;+
clauses ...) ;+
(let ((atom-key (key ...))) ;+
(case atom-key clauses ...)));+
((case key
(else result1 result2 ...))
(begin result1 result2 ...))
((case key
((atoms ...) result1 result2 ...))
(if (memv key '(atoms ...))
(begin result1 result2 ...)))
((case key
((atoms ...) result1 result2 ...)
clause clauses ...)
(if (memv key '(atoms ...))
(begin result1 result2 ...)
(case key clause clauses ...)))))
770:デフォルトの名無しさん
04/07/10 13:29
>>769 key が複数回評価されてしまう。値が変るかもしれないし、
変な副作用が出るかもしれない。
771:デフォルトの名無しさん
04/07/10 13:33
省略するとKEYが複数回評価されてしまうことがあるな。
こんなんだと違いが出るでしょ。
(case (begin (print "foo") 2)
((0) ())
((1) ())
((2) ()))
772:769
04/07/10 13:42
>770,771
回答ありがとうございます。
理解できました。
773:デフォルトの名無しさん
04/07/10 17:55
Lispに興味ある人って結構いると思うんだよね。
でも、ほとんどのユーザーがWindowsなわけで、
LispはWinユーザーにとっては手軽じゃない。
さくっとDLできて、すこっとインストーるできれば
もっと流行るんじゃないかねぇ。
774:デフォルトの名無しさん
04/07/10 18:38
商用/フリー含めて一番多く Common Lisp 処理系が使える環境は Mac OS X だって
誰かが言ってたね。
775:デフォルトの名無しさん
04/07/10 18:53
なんか最近は学生気分で呑気なヤシ多いよなぁ。
こちとらpetiteをbinutilsでハックラン中なのに…
そろそろ寝まつか
776:デフォルトの名無しさん
04/07/10 20:54
>>775
そもそもLispなんて仕事で使えるか?
VC++やVBに疲れたプログラマが息抜きにやりたいんだろ。
777:デフォルトの名無しさん
04/07/10 22:16
Shiroさんは仕事で使ってるぜ。
洩れは... 「Lispならこう書ける」を基準に、脳内コンパイルしつつJava書いてる(ぉ
778:デフォルトの名無しさん
04/07/10 22:54
無名クラスを乱用しないように気をつけましょうね
779:デフォルトの名無しさん
04/07/10 22:58
Lispって大脳皮質みたいな感じがする。
でね、運動神経ゼロなの。
Cは脊髄。
780:デフォルトの名無しさん
04/07/11 00:07
ANSI Common Lisp を読んでいて疑問に思ったのですが、(setf symbol) が
defun の第一引数 (function name) になるって変じゃないですか?
CLHS 見たんですけど、良く分かりませんでした。(setf symbol) って何を
返すのでしょうか?
URLリンク(www.lisp.org)
URLリンク(www.lisp.org)
781:780
04/07/11 01:01
済みません。ここを読んだら何となく納得しました。
URLリンク(groups.google.co.jp)
URLリンク(www.lisp.org)
782:http://media.ebaumsworld.com/mariopiano.wmv
04/07/11 22:14
お前ら俺にschemeのsyntax-rulesの使い方を教えなさい
特に
(syntax-rules (←この部分には何を書くのよ?→) ((パターン) (テンプレート))* )
↑この部分
ここURLリンク(www.sci.toyama-u.ac.jp)
によると「リテラル」などというご大層な名前が付いてるそうだが
じぇんじぇん意味わかんねーぞ(#゚Д゚)ゴルァ(#゚Д゚)ゴルァ(#゚Д゚)ゴルァ(ていうかそもそも訳が下手じゃね?)
このスレにいるスーパーハカーの皆さんは
大至急私に、リテラルの意味を教えなさい。
いや、マジで。どこにも分かりやすい説明が無くて。
あんまりバカにしないで。
783:デフォルトの名無しさん
04/07/11 22:16
とりあえずぬるぽっておくか
(null? ぬるぽ)
784:デフォルトの名無しさん
04/07/11 22:17
厨房に荒らされてしまって、このスレももう終わりだな
785:デフォルトの名無しさん
04/07/11 22:23
>>784
本当に分かんないんだって!
もったいつけないで教えろよ!
786:デフォルトの名無しさん
04/07/11 22:27
>>782
ああ、syntax-rules の説明は、R5Rs を読んでもまずわかんない。
日本語の資料に限ると、
オンラインで読める文献は >>5 に出てる「入門Scheme」以外にないと
思う。これなら何とか分かるんじゃないかな。pdf ファイル。
#URLリンク(www4.ocn.ne.jp)
書籍だったら、『プログラミング言語SCHEME』R.ケント ディヴィグ (著)
URLリンク(www.amazon.co.jp)
この本、原書(英語版)が Chez Scheme といっしょにフリーで配布されてる。
古い本には syntax-rules は全然載ってないから気をつけて。
787:デフォルトの名無しさん
04/07/11 22:34
>>785
まあ、おちつけ。
Scheme を知ってる人は大学で習った場合が多いから、一般人が独力で学ぶ場合の
苦労はあんまり共有されてないんだよ。漏れもこれを見つけるまで、マクロの書き方
わかんなくて苦労した。
ついでだけど、R5Rs はこっちの訳のほうが読みやすいと思うよ。
URLリンク(www.unixuser.org)
788:デフォルトの名無しさん
04/07/11 22:35
>>786さんありがとうございます
しかしそのpdfファイル文字化けしてて読めなかった(Debian sarge にデフォでついてきたviewer)
あとで環境揃えて読んでおきます THX
784さんもありがとう
そして785にガッ
789:デフォルトの名無しさん
04/07/11 22:36
>>787
ぬ?こっちも調べておきます。ありがとう
790:784
04/07/11 22:45
>>783に言ったんだがな・・・
791:デフォルトの名無しさん
04/07/11 22:55
>>788-789
だからおちつけ。少しレス番ずれてるぞ。
PDF 今読めないそうだから、いいかげんな解説をしてみる。
>>782 の (←この部分には何を書くのよ?→) だけど、
そこにはマクロの冒頭に来ない予約語を書くんだよ。
例えばマクロで cond を実装するとして、必要な予約語は cond と else だろ。
マクロの冒頭に来る予約語が cond で、それは当然 define-syntax のあとに書く。
で、(←この部分→) に書くのが else だ。マクロの途中に現れる、特別な意味を持つ
シンボルをそこに書いて宣言するんだよ。
つうことは、単純なマクロならたいていそこは空欄になる。だから普通は()の中には
何も書かなくてよし。
>>790
そうか。俺も誤解してた。すまんかった。
792:デフォルトの名無しさん
04/07/11 23:10
>>791
なるほど。それで>769が読めそう……ですね
俺は少しのレス番のずれなど気にしないぜ!
それと、俺は>782,783,785,788,789だぜ。
実際厨学生だが。
793:デフォルトの名無しさん
04/07/12 00:23
(define-syntax map-in (syntax-rules (in)
((map-in arg in lst body)
(map (lambda (arg) body) lst)))
これで
(map-in x in '(0 1 2 3 4)
(+ x 10))
=> (10 11 12 13 14)
となる。PythonとかRubyのイテレータに似せてみた。
in が未束縛だが、手作りの「予約語」になってる。
む、この例だと意味薄いか?
r5rsマクロの「リテラル」はパタンマッチングの目印に使われるハズ。
あと、「学校で習った」だけの知識じゃマクロまで使えない学生も多いよ@灯台理情
好みでやりこんでるヤシが使うだけ。
794:デフォルトの名無しさん
04/07/12 15:09
>>793
うーん、Lispだとイテレータはいらないよねえ。リスト操作で済んじゃうから。
個人的な見解だけど、マクロの途中に出現する予約語って、普通に関数的にコードを
書くときには、あまり使い道がないと思う。cond の else だって #t と書いても
同じだし。
call/cc で新しい制御構造を作ったりするときに、真価を発揮するのだと思う。
あと、学校で習う人が全員マクロまでは行かないのは分かる。だけど自分で先に
進むとき、周囲の人に相談できるし、教官に質問もできるでしょう?図書館にいい
本もあるし。やっぱりネットと本だけを頼りに手探りで進むのとは違うよ。
声を大にして言いたいのは、Lisp を学びたいなら、絶対学生のうちにきっちりやった
ほうがいいということ。社会に出てからだと大変だもの。
私は学生の頃は Lisp をやろうなんて思わなかったんで、今、すごく後悔してる。
こういう基礎的な(応用に直接結びつかない)ものを学ぶ機会は、社会にはなかなか
ないんだもの。
795:デフォルトの名無しさん
04/07/12 20:47
> 私は学生の頃は Lisp をやろうなんて思わなかったんで、今、すごく後悔してる。
> こういう基礎的な(応用に直接結びつかない)ものを学ぶ機会は、社会にはなかなか
> ないんだもの。
社会に出てからだっていくらでも学べる。
こんなのはやる気がない奴の言訳。
それか本当に時間のない土方プログラマかどっちか。
796:デフォルトの名無しさん
04/07/12 20:57
後半だけ読むと「やる気がない奴の言い訳」のようにも読めるけど、
最初から読めば、>>794氏は「社会に出てから学んでいる、やる気
のある人」だと思うな。
797:デフォルトの名無しさん
04/07/12 21:06
私も同感です。ハックランするときは普通に2日は寝ないです。
噂によると本田技研の野郎の中にはまともに1週間寝ないで
設計する狂人がいるらしいけど。そういえばホンダはLispで
構築したシステム(たしか外注)持ってたよね。流石だよねぇ。
798:797
04/07/12 21:08
>>795
799:デフォルトの名無しさん
04/07/12 21:13
某教授曰く
「あそこ(本田技研)に行けば確実に殺される」
らしい(実話)。
800:デフォルトの名無しさん
04/07/12 21:33
800get
801:794
04/07/12 22:04
なんか、煽られてるなあ。
別に愚痴を言いたかったんじゃなくて
「大学というのは Lisp を学ぶには恵まれた環境だから、学生の皆さん、どうか有効に
活用してください」
と言いたかっただけなんだよ。これは Lisp だけじゃなくて、数学とか、経済学とか、
基礎的な学問なら全部に言えることだけど。
私は物理専攻で、その頃は Lisp にほとんど興味がなかった。うちの大学には Lisp の
有名な先生がいたんだけど。社会に出てから興味を持って「ああ、もったいなかったな」
と思ったんだよ。せっかくλ山のふもとにいたのに。
URLリンク(wwwfun.kurims.kyoto-u.ac.jp)
まあ、やる気がないとか、土方とかは、たぶん当たってます、ハイ。
802:デフォルトの名無しさん
04/07/12 22:23
やる気があろうが無かろうが、結局はその人のセンス次第
803:デフォルトの名無しさん
04/07/12 23:42
>>802
それを最大限にフォローしてくれるのが Lisp.
804:デフォルトの名無しさん
04/07/13 00:02
>>801
Mt.Lambda ワロタ
今度から京大をλ山と呼ばせていただきます.
805:デフォルトの名無しさん
04/07/13 00:23
λ山にはリスパが居ってさ。
nilってさ
806:デフォルトの名無しさん
04/07/13 00:33
>>805
うまい。続きを考えようとしたけど思いつかない…
807:デフォルトの名無しさん
04/07/13 00:56
Yってさ再帰ってさ
808:デフォルトの名無しさん
04/07/13 05:35
いまlambda山に棲息しているlisperって誰? 長谷川先生?
809:デフォルトの名無しさん
04/07/13 14:24
湯浅先生ご本人がちゃんといるよね。
URLリンク(www.yuasa.kuis.kyoto-u.ac.jp)
あとは誰かしら。現役の方の報告を希望。
ついでにλ山の歌の続きも希望。
810:デフォルトの名無しさん
04/07/13 18:50
gaucheに巣食う厨をどうにかしてくれ
811:デフォルトの名無しさん
04/07/13 19:28
ショボーン
812:デフォルトの名無しさん
04/07/13 19:34
C は男らしい言語だと思うが、
Lisp は女らしい言語だと思う。
この2つを組み合わせて使うと
まるで自分が天下無敵になったような
気分を味わえるな。
813:デフォルトの名無しさん
04/07/13 19:43
gaucheに巣食う厨ってのはどこにいるんだ?
814:デフォルトの名無しさん
04/07/13 19:48
>>813
作者
815:デフォルトの名無しさん
04/07/13 19:51
なるほど
816:デフォルトの名無しさん
04/07/13 20:08
shel(ry
817:デフォルトの名無しさん
04/07/13 20:13
>>810 >>813-816
がんばってる奴を何もしない奴が叩いてんじゃねーよ。ヴォケが。
818:デフォルトの名無しさん
04/07/13 20:27
シロウ、無理しないでね
819:デフォルトの名無しさん
04/07/13 20:33
な・・・ん・・・で・・・・・あ・・・・・れ・・・て・・・る・・・・・の・・・・・・orz
/ ○/ ○
_ _ __ \_ |_ ○\ | /\
|○| /○| ○ | ○_| ○_| _| _| _| _| ̄|○
 ̄  ̄  ̄
820:デフォルトの名無しさん
04/07/13 22:39
>>819
それはあなたを表しています。時節柄ご自愛ください。
821:デフォルトの名無しさん
04/07/14 02:31
URLリンク(www.paulgraham.com)
Orbitz って CMUCL も使ってるの?
822:OTZ@Vim%Chalice ◆r6EONKKhcc
04/07/14 06:27
"On Lisp" 21章目を訳し終えました.
verbatim回りのミスを訂正しました.
ご指摘をいただいた方にお礼を申し上げます.
また何かあったらぜひご指摘をよろしくおねがいします > ALL
最近,さすがに内容が難しくて,適当な訳をすることが多いです.
注意して読んで下さい.
ペースもひどく遅いですが,訳了まで気長にお待ち下さい.
823:デフォルトの名無しさん
04/07/14 11:02
>>822
乙カレー!
URLリンク(user.ecc.u-tokyo.ac.jp)
つうかアナタ、名前が以前と違ってるぞ。>>747は一発ギャグだと思っていたのに。
正式に改名するんですか?(笑)
824:デフォルトの名無しさん
04/07/14 11:17
>>822
tnx!
それにしても東大は大変だよねえ。受験が終わってからのほうがもっとキツい
競争なんだから。
まあ、気を楽にして行こうよ。いざとなったらλ山があなたを待ってるぞ。
実際、そういう人はかなり多かったぞ。
そのあとで待っているのは、「京都の一乗寺あたりに住む職業不定の怪しい人物」
という輝かしき人生だが……(泣)。
URLリンク(nicosia.is.s.u-tokyo.ac.jp)
825:デフォルトの名無しさん
04/07/15 14:58
Lispばっかりやってると本当にそうなったりして… :-P
鵺の中の人なんてリアルにそんな感じだし(失礼)。
826:デフォルトの名無しさん
04/07/15 17:40
マイクロ・カーネルをSchemeで実装したら凄そうだよね。
またKL1みたいなプロジェクトが発足したらいいのになぁ。
>>822
がんがれ!!
827:デフォルトの名無しさん
04/07/15 23:47
shiroさんが遂に業を煮やして動きだした
ワショーイ
828:デフォルトの名無しさん
04/07/15 23:58
もうその話はいいよ。ウォチなら他のスレ or 板でやってくれ。
829:デフォルトの名無しさん
04/07/16 00:42
win native でちゃんと動く Gauche が出てきたという意味で言ったのであって他意は無いですよ。いやホント
830:デフォルトの名無しさん
04/07/16 01:33
私は Petite Chez Scheme (Win)を愛しているのだが、
Gauche が出たら…乗り換えちゃうかなあ?
少なくとも試しはするだろうなあ。
831:デフォルトの名無しさん
04/07/16 17:48
>>822
すばらしい!
お返しというわけではないですが
SICP原書
URLリンク(mitpress.mit.edu)
832:デフォルトの名無しさん
04/07/16 18:31
>>831
もしや831が翻訳予定で?
833:デフォルトの名無しさん
04/07/16 19:32
>>832
そりゃすばらしすぎる!
正直、今の邦訳は、私には英文のほうがまだ読みやすい。
特に苦もなく読める人もいるそうだけど、それはたいへんうらやましい。
834:デフォルトの名無しさん
04/07/16 19:38
ところで、>>812 で
> C は男らしい言語だと思うが、
> Lisp は女らしい言語だと思う。
というコメントがあったけど、皆さんにとって Lisp ってどんな言語?
ここに、いろんな著名人の Lisp についてのコメントがあるんだけど、
URLリンク(www.paulgraham.com)
この中では、Alan Kay の
「 Lisp は言語じゃない。(それを)構築する材料だ」という言葉がいちばん
私にはしっくりする。
835:デフォルトの名無しさん
04/07/16 20:56
邦訳といえば、サイエンス社の「島内剛一」が有名。なにしろヤシのせいで
クヌース教授の名著が迷著になってしまったんだからね。それだけに止まらず
ヤシはクヌース教授の「日本語版への序」よりも前に「監訳のことば」として
頁を飾ってるんだから。とんでもない妄想基地外野郎だ。もっとも最近は
改訳されたのが出版されてるけどね。そういえば(クヌース教授の)他著にも
「排中律」を「三段論法」と誤訳されていた(ヒルベルトの名言を)。
かわいそうなクヌース教授…
836:デフォルトの名無しさん
04/07/17 01:54
通報しますた
837:デフォルトの名無しさん
04/07/17 03:37
「島内剛一」で検索して、こんなページを見つけた。
URLリンク(www.math.tohoku.ac.jp)
> Subject: Re: 本物のハッカーって、日本に居たのでしょうか?
> 「いま、いるか?」ではなくて、「かつて、いたか?」ですね。、
> 島内剛一、和田英一竹内郁雄、… (敬称略)
日本を代表するハッカーだったんですね。全然知りませんですた。
こんなのも見つけた。
URLリンク(godel.m78.com)
アセンブラの天才だったみたいですね。すでにご存命ではないのか。
しかし、島内氏の経歴をまとめたページが見つからない。なんだか、一生好きなことを
やり散らかした人らしいので、まとまった業績がないのかもしれない。FSS を設立しな
かった RMS みたいな存在なんだろうか。
まあ、それはそれとして。
島○先生といい、和○先生といい、ハッカーに翻訳をさせてはいけないのかもしれない。
838:デフォルトの名無しさん
04/07/17 03:41
訂正。× FSS ○ FSF
竹○先生の翻訳ってどうなの?いくつか出ているけど、読んだことない。
839:デフォルトの名無しさん
04/07/17 07:45
> (`∀´)「アセンブラを使わないのが悪いのよ!」
ド変態がいるね
840:デフォルトの名無しさん
04/07/17 09:55
まあ私は英語が読めるからいいけどさ(かなり努力したますた)。
英語が読めてemacsでM-x infoすると感動すると思います。若い人は
本気になればある程度はすぐに読めるようになると思います。この夏に
挑戦してみては?一気に中学生からの再復習がお勧めですよ。
841:デフォルトの名無しさん
04/07/17 12:38
SICPって、自由に翻訳、発表していいの?
842:デフォルトの名無しさん
04/07/17 13:58
日本語版の出版社が翻訳権を持ってるんじゃない?
843:デフォルトの名無しさん
04/07/17 15:10
SICPって、何て読むの?
844:デフォルトの名無しさん
04/07/17 15:52
えすあいしーぴー
845:デフォルトの名無しさん
04/07/17 16:29
いつも「シックピー?」って読んでしまう...
病気かしらん。
846:デフォルトの名無しさん
04/07/17 18:36
t
847:デフォルトの名無しさん
04/07/17 18:40
>>842
それ、最悪。邪魔すぎ。
出版社に掛け合ってshiroさんに翻訳しなおしてもらおう。
848:デフォルトの名無しさん
04/07/17 18:59
>>842
海賊出版でなければ、翻訳権持っているはずですな。
849:デフォルトの名無しさん
04/07/17 19:29
翻訳といえばこれもか
URLリンク(www.htdp.org)
WiLiKiで見つけた
URLリンク(www.shiro.dreamhost.com)
850:デフォルトの名無しさん
04/07/17 22:56
>>847
Shiroさんにはよいコードを量産してもらったほうが有意義かと.
851:デフォルトの名無しさん
04/07/18 01:51
Roger CormanからCorman Common Lisp買ってくれヨ!のメール来た香具師他にも居る?
漏れは当然シカトを決め込むわけですが、Corman Lispのウリって何なのよ?評価期間に
ちらっと使った限りじゃカネ払ってまで使いたいとは思わなかったんで。
Cormanくらいの値段でACLが手に入るんならLinux/Windows/MacOSXと持っているホストの
種類だけライセンス買っちゃうんだけどね。
852:デフォルトの名無しさん
04/07/18 02:29
Cormanって名前恥ずかスィ…
853:デフォルトの名無しさん
04/07/18 03:18
このスレもラスト 150 レスを切ったので、次スレの準備。
テンプレの過去スレ集にこれも入れて下さい。
CommonLisp初心者スレ
スレリンク(tech板)
; CMUCL/Darwin のソースが CVS にマージされ始めましたね。
854:デフォルトの名無しさん
04/07/18 06:55
>>851
ACL はランタイムライセンスが馬鹿高いので、安く exe や dll 作るなら
Corman でもいいんじゃない?WinAPI ガシガシとかインラインアセンブラとか
は便利だった気がする。
855:デフォルトの名無しさん
04/07/18 10:59
☆ チン マチクタビレター
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・)< M$製のVisualLISP.net、マダ~?
\_/⊂ ⊂_)_ \___________
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
|  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|
856:デフォルトの名無しさん
04/07/18 11:52
F#で我慢
857:デフォルトの名無しさん
04/07/18 17:50
翻訳権て独占されるものなのか?
SICPの翻訳権はサスマンかMITに掛け合えばもらえるんじゃないのか?
日本のピアソンとか和田先生は関係ないかと。
858:デフォルトの名無しさん
04/07/18 18:03
契約内容によるだろ
859:デフォルトの名無しさん
04/07/18 18:52
つか、翻訳したならWebに載せるんじゃなくて本にして欲しい。
860:デフォルトの名無しさん
04/07/18 19:54
翻訳権は独占されるものです。
861:デフォルトの名無しさん
04/07/18 21:14
逆に Hackers and Painters はどういう扱いになるのかな。
出版社が翻訳版を出したかったら・・・?
862:デフォルトの名無しさん
04/07/19 03:07
>>849
面白そうな物サンクス。
cond の分岐を [] で表すの初めて見たけど、良くやるの?
863:デフォルトの名無しさん
04/07/19 20:29
>>855
.NETフレームワークの対応予定言語にschemeが入っていたハズだぞ
期待しないで待て!
864:デフォルトの名無しさん
04/07/19 21:26
あれはMS社が開発環境を提供するという意味ではなく,
「サードパーティがこれこれの言語について開発環境を準備してるっぽいです」
「みんなの人気者.NET!」
という宣伝なのでは...
865:デフォルトの名無しさん
04/07/19 23:00
>>864
きっとサードパーティーでもうっかり人気がでればその会社ごとMSが買うだろうから。
ありえねぇな
866:デフォルトの名無しさん
04/07/19 23:59
kludges ワラタ。
ポール・グラハムといい、Common な方の Lisp は愛憎半ばする言語なのかな。
昔の Lisp を知らないので、何処がそうなのか分からないけど。elisp とかやれば
分かりますか?
867:デフォルトの名無しさん
04/07/20 01:38
>>962
[ ] は cond に限らず、対応するカッコを強調したいときに使う。
例: ([lambda (x) (* x x)] 3)
『Little Schemer』でも、同じ表記を使っている。
ちなみに、Chez Scheme はこの表記をサポートしている。
括弧の対応が分かりやすくなるので、個人的にはとても気に入っているが、
見苦しいと思う人もいるかもしれない。
Gauche はたしか、もっと多くの種類のカッコをサポートしていたとおもう。
なお、同じ[ ]で「超括弧」と呼ばれるものを表す処理系もあるそうだ。
----------------------------------------------------------
URLリンク(plaza10.mbn.or.jp)
・超括弧
通常の括弧 ( ) に対して、超括弧 [ ] の使用が可能です。[ ] は、右括弧 ) 数が
ミスマッチ(少ない方に)の場合でも、強制的にマッチングをとります。
例:(A (B C (D] → (A (B C (D)))
(A (B [C (D] )) → (A (B (C (D))))
868:デフォルトの名無しさん
04/07/20 13:51
中村正三郎のホットコーナーにこの前あったFranzのCommon Lispセミナーに関する
感想が書いてあります。
URLリンク(www.asahi-net.or.jp)
Shiroさんの正規表現ライブラリについて。
>ほとんどPerl互換の正規表現ライブラリを、フロントエンド+ダミーバックエンドで
>テストスイートを通すまでに2週間、フロントエンド最適化に2週間、仮想マ
>シンバックエンド実装と最適化に2週間だもん。仕事、早い!
ほんと、速いね。他の仕事とかけもちでやってこれかな。
869:デフォルトの名無しさん
04/07/20 16:05
>その他、湯淺先生は、「Perlは遅いね。コードを読んだことがあるけど、ど
>うしたらあんな遅いコードが書けるか不思議くらい」などとおっしゃって、さ
>すが世界的ハッカーの湯淺先生からいわれたら、返す言葉はないよなあと、こ
>ちらはうなずくばかり。
CGIのようなIOの多い用途でもCommonLispは有効ですか?
870:デフォルトの名無しさん
04/07/20 18:07
Gaucheは現状"[]"と"{}"が、"()"と同様に扱われる。
けど、マニュアルにその旨記述がないはずだから、これはunofficialだね。
871:デフォルトの名無しさん
04/07/21 01:05
>>867,870
thanx!
Smalltalk 風と言うべきか Arc 風と言うべきか。でも、[] で括るなら lambda は省きたい
気になってきますね。{} はちょっと読み辛い感じがしますね。
872:デフォルトの名無しさん
04/07/21 01:34
>>866
私も昔を知らないけど、中村正三郎『電脳騒乱節』には、古いタイプのLispがいくつか
紹介されていて、それを見たときの感想は、「今の Common Lisp の方がずっといいや」
というものだった。
Guy Steele は多分、Common Lisp より先に作った Scheme を気に入っているのじゃ
ないかな。
>>869
使えるはずだよ。ポール・グレアムは Common Lispで書いたWeb アプリケーションで
財を成したから。
普通のやつらの上を行け
URLリンク(www.shiro.dreamhost.com)
873:デフォルトの名無しさん
04/07/21 01:41
萩谷先生も Common Lisp には愛憎半ばしているようだ。
古いLispにあった夢ってなんだろう?
URLリンク(nicosia.is.s.u-tokyo.ac.jp)
URLリンク(nicosia.is.s.u-tokyo.ac.jp)
Scheme は好きらしい。
URLリンク(nicosia.is.s.u-tokyo.ac.jp)
874:デフォルトの名無しさん
04/07/22 03:58
俺樣のための俺樣Lispスペシャルを走らせるための
軽量インタープリターを俺樣が書く。
ちょちょいと書く。
Common Lisp にはない世界
875:デフォルトの名無しさん
04/07/22 07:26
古き良き時代の香りが残ってるとかじゃない。NIL とか。
話し言葉にもなった -p 記法とか。あと性能の追求とか。
俺様のための俺様スペシャルを走らせるためのコンパイラを俺様が書く。
ちょちょいと書く。Scheme には無い世界。
876:デフォルトの名無しさん
04/07/22 08:22
URLリンク(en.wikipedia.org) の抄訳
Robert Tappan Morris, Jr. はコンピュータプログラマで,現在はMITに勤めています.
彼は1988年にコンピュータウイルスMorris Wormを放流したことで悪名高いですが,
これはインターネットで猛威をふるった最初のウイルスでした.
Wormについて: モリスは「実験的に作ったものがエラーのせいで流出したんだ」と主張しました.
彼は初めて「コンピュータ濫用法」によって起訴された人物になり,
1990年に,3年の懲役と400時間の公共奉仕と罰金120万円を言い渡されました.
Viawebについて: モリスはPaul Grahamと共に
オンラインストアを作るツールのためのベンチャー企業 Viaweb を立ち上げました.
Viawebのツールが革新的だった点は2つ: 初の「webアプリケーション」であり,
またほとんどがLispで書かれていました.
モリスはCで書かれた注文システム(DBなどのバックエンドか?)に携わりました.
MITについて: モリスは現在MITのassistant professorをしており,
並列・分散OSのグループで研究をしています.
URLリンク(www.pdos.lcs.mit.edu) こいつ
877:876
04/07/22 08:23
:s/3年の懲役/3年の執行猶予/
878:デフォルトの名無しさん
04/07/22 15:27
LISPってさ、メルヘンだよね
メンヘルじゃなくて
括弧がレインボーアイランドつーかさ、
コード書いてると楽しくなってくるよ
コードがデータで
データがコード?
あひゃ、こりゃ麻薬だね
879:デフォルトの名無しさん
04/07/22 15:34
Schemeほど洗練された高級言語はみたことないぜ
quoteの発明がなかったらここまで信仰しなかったが
880:デフォルトの名無しさん
04/07/22 20:56
MITの魔術師本の、Instructors Manualって方を持ってる人いる?
Exerciseの答えとかも載ってるのかな。
881:デフォルトの名無しさん
04/07/22 21:16
>>874-875
なるほど、古き良き時代とは、なんでも手作りできた自由な時代のことですか。
萩谷先生も、自分はCプログラマであり、本物の言語はCのみだと言っていたけど、
そういう時代への懐古を込めていると考えれば納得がいくなあ。
URLリンク(nicosia.is.s.u-tokyo.ac.jp)
湯浅先生の『入門 Scheme』によると、湯浅先生の周りでは
? を「ピー」と発音しているそうな。
例)zero? --> ゼロピー
882:デフォルトの名無しさん
04/07/22 21:17
>>879
どの Lisp にも quote はあると思うが、なぜ Scheme だけを名指しするのだ?
Scheme の他の Lispと比べて良いところは、何といっても名前空間と継続だと
思うが。
883:881
04/07/22 22:06
訂正 湯浅先生の本は
× 『入門 Scheme』
〇 『Scheme 入門』
884:デフォルトの名無しさん
04/07/23 05:25
継続ベースのウェブアプリケーションサーバって流行ってるの?
Kahua や UnCommon Web は既出だけど、他にもいっぱい。
Seaside (Smalltalk)
URLリンク(www.beta4.com)
UnCommon Web (CL)
URLリンク(www.common-lisp.net)
Kahua (Scheme)
URLリンク(www.kahua.org)<)
Chris Double の Weblog のまとめ。
URLリンク(radio.weblogs.com)
Perl, Python, Ruby にもありそう。
885:デフォルトの名無しさん
04/07/23 13:59
>>884
URLリンク(d.hatena.ne.jp)
886:デフォルトの名無しさん
04/07/26 18:50
(car member)などでリストの要素を呼び出した時に
自分がリストの何番目にいるのかを簡単に知る方法はないでしょうか?
887:デフォルトの名無しさん
04/07/26 21:00
(define (foo hoge member) (- (length member) (length (memq hoge member))))
888:デフォルトの名無しさん
04/07/26 21:04
>887
thx!
889:デフォルトの名無しさん
04/07/26 21:58
片側リストだからしょうがないけどmember/assoc系って効率悪いよね。
それでもscheme使ってるうちに>>887の様なコード見てもだいぶ平気になったよ。
連想配列は標準で入れて欲しいなあ。
890:デフォルトの名無しさん
04/07/26 22:28
> 片側リストだからしょうがないけどmember/assoc系って効率悪いよね。
「片側リスト」じゃなかったらどう効率良くなるんですか?
891:デフォルトの名無しさん
04/07/27 00:06
しばらくやってりゃ、要素数が少ないときの実行・開発効率は
member/assoc系で十分採算が取れていると気付く罠。
892:デフォルトの名無しさん
04/07/27 05:24
ベンチとったことあるが、要素数がせいぜい10個くらいなら
assocの方が速かったな。漏れのハッシュの実装がタコだった
だけかもしれんが。
893:デフォルトの名無しさん
04/07/27 23:05
(激しく既出かもしれませんが。。)
なぜ Common Lisp は関数と変数とは名前空間が違うのでしょうか?
Scheme の様に同じだとシンプルだとおもうんですけど、
実用上の利点があるのですか?
894:デフォルトの名無しさん
04/07/27 23:27
宗派が違うから
895:デフォルトの名無しさん
04/07/28 01:05
いまさら引き返せないから
896:デフォルトの名無しさん
04/07/28 03:02
昔の Bit に『名前空間が同じだと、定義した関数を一瞬で失う危険性がある、同じにすると simple になるのだが…』とかなんとかそういう文が載っていた記憶が…
897:デフォルトの名無しさん
04/07/28 04:08
一瞬で失うだと!!!??
意味分らん
898:デフォルトの名無しさん
04/07/28 06:07
コンソールからぽちぽちと直に定義した関数を間違って消しちゃう危険性か?
だとしたらやっぱり尻尾のような仕様だな。
この点に関してはCommonLispはサル。
899:デフォルトの名無しさん
04/07/28 07:40
Common Lispは、関数、変数、クラス、パッケージ、型、リスタート、メソッド
などを別の名前空間(symbolからobjectへの関連を集めたもの)を使って管理して
いるけど、Schemerから見ると、これらを全て1つの名前空間で管理するのがいいと思う?
900:デフォルトの名無しさん
04/07/28 08:09
全部一緒にしちゃうのはやりすぎだけど、関数と変数くらいは一緒であって欲しい。
901:デフォルトの名無しさん
04/07/28 09:41
>>899
リスタートってこの文脈では聞いたことないんですが何ですか?
>>900
関数と変数だけ一緒で他は別々がいいってことだと
「シンプルに統一された美しいルール」にはならないけどいいの?
902:デフォルトの名無しさん
04/07/28 10:53
現在AI関係ではばをきかせているのはCommonLisp? Scheme? ほかの方言? それとも、まったくほかの言語?
903:デフォルトの名無しさん
04/07/28 12:56
>>901
リスタートはコンディション機構に用意されている機能。
名前と関数群(主処理、説明表示、ユーザとの対話)を動的に結びつけるマクロrestart-bind
が基本機能。よくあるのはrestart-caseマクロで、名前やいくつかの機能が付いた大域ジャンプの
着地点として使う場合。
デバッガに入ったときに、
"変数fooの値としてcons型が期待されていたのに、1が入っていますた。
次の選択肢から選んでね。
1: fooに値を入れ直す(store-value)。
2: 無視して進む(continue)。
3: トップレベルに戻る(abort)。"
なんて、メニューがでるでしょう。これは、そのときアクティブなリスタートを
検索して、それぞれの説明表示関数を呼び出して、動的に生成されたメニューだったり
します。各選択肢が1つのリスタートによって実現されているのね。そんで、
ある選択肢が選ばれたら、そのリスタートの対話用関数が呼ばれると。
名前空間が別に用意されているのは、あと、method-combinationもそうだね。
>>902
日本では、人工知能といえばPrologが有力だと聞きました。ICOTも並列Prolog
を開発していたよね。現在のAI関連のことは知らないけど。
904:デフォルトの名無しさん
04/07/28 13:51
私は >>899 あたりは全部一緒にしちゃいたいな。
なるべく統一したい。
905:デフォルトの名無しさん
04/07/28 15:11
CommonLispの仕様って今後変わったりするの?
いままで仕様変更ってあった?
906:デフォルトの名無しさん
04/07/28 15:44
ANSI X3.226-1994 が最初かつ最新
907:デフォルトの名無しさん
04/07/28 19:24
>>899
symbol から object へ対応させるとき、object の種類による複数の対応はいらないけど、
symbol から object への対応表は複数あってもよいと思う。
簡単に言えば、モジュールとかパッケージシステムのようなもののこと。
908:デフォルトの名無しさん
04/07/29 10:05
(assoc :key alist) の cdr を取るの マンドクサ
909:デフォルトの名無しさん
04/07/29 13:19
plistなら?
910:デフォルトの名無しさん
04/07/29 15:21
assocdr でも作っとけ。
911:デフォルトの名無しさん
04/07/29 15:41
cdassoc
912:デフォルトの名無しさん
04/07/29 18:16
独習LISPとかでないかなーw
913:デフォルトの名無しさん
04/07/29 18:47
nil
914:デフォルトの名無しさん
04/07/29 22:17
#f
915:デフォルトの名無しさん
04/07/29 22:20
*** ERROR: unbound variable: 独習LISP
916:デフォルトの名無しさん
04/07/30 00:46
(define (独習LISP) (独習LISP))
917:デフォルトの名無しさん
04/07/30 01:06
Paul Graham の "ANSI Common Lisp" は「独習 Lisp」みたいな感じじゃないか。
918:デフォルトの名無しさん
04/07/30 01:26
nil
919:デフォルトの名無しさん
04/07/30 02:08
名前空間に付いて興味深い話が聞けたんで避けてたけど、CMUCL Mac OS X 版がマージされますた。
これで世代別 GC の (非 SPARC) RISC CPU への移植 --> (SBCL で) スレッドの実装と行くと嬉しいな。
920:デフォルトの名無しさん
04/07/30 09:22
>>917
amazonの書評では2人とも「入門向きではない」的なことを書いているけど。。。。
921:デフォルトの名無しさん
04/07/30 10:16
>>907
>symbol から object への対応表は複数あってもよいと思う。
>簡単に言えば、モジュールとかパッケージシステムのようなもののこと。
Common Lispのパッケージシステムは、文字列からシンボルへの複数の対応表を
扱う仕組みだけど、Schemeのモジュールはシンボルからオブジェクトへの複数の
対応表を扱う仕組みとして理解していい?
つまり、シンボルのバリューセルがモジュール毎に切り替わるということかな。
Emacsのバッファローカル変数みたいな感じかな。
922:デフォルトの名無しさん
04/07/30 14:24
Schemeにはまだ標準となるモジュールシステムがありませんよね
923:デフォルトの名無しさん
04/07/30 15:21
R6RSにはモジュールが入るとか入らないとかいう噂があったな。SRFIにはなってるの?
あと既存の処理系が独自に実装しているモジュールシステムはあるよね。
924:デフォルトの名無しさん
04/07/30 19:39
(新しいエッセイの翻訳が来ましたage)
925:デフォルトの名無しさん
04/07/30 19:59
>>921
Scheme の symbol 自体には value cell は無いと考えた方がいい。
モジュールというか「環境」は、symbol をキーとし object を値とするハッシュテーブルのようなもの。
926:デフォルトの名無しさん
04/07/30 20:03
変数なんかないんだ。環境だけがある。
927:デフォルトの名無しさん
04/07/30 23:28
Schemeのマクロよく知らないんですけど、再帰的にマクロ定義するにはどうしたらいいんでしょう。
とりあえず macroexpand使ったらできたんですけど、CommonLispならそんなことしなくても
いいんですよね。
928:デフォルトの名無しさん
04/07/31 00:16
Schemeのsymbol自体にvalue cellがないというのはR5RSから導かれること?
Hyper Static Environmentなら確かにvalue cellは完全に不要だけど、
R5RSのあいまいなtop levelの定義ではどうも混乱してしまう。
URLリンク(c2.com)
929:デフォルトの名無しさん
04/07/31 00:51
>>920
確かにあの本だけで入門は難しいかも。最初に読んだ Common Lisp 本が ANSI Common Lisp
だったけど、その時は既に CLHS とか CLtL とか知ってたからなぁ。
930:デフォルトの名無しさん
04/07/31 01:32
>>920 >>929
私はANSI Common Lispで入門しましたが、あれでよかったと思っています
(さすがにあれでCommon Lispを第一言語とするのは無理でしょうけど)。
Lispで何ができるのかを教えてもらったので、
今では必要に応じてHyperSpecを調べれば何とかなるようになりました。
;; と言っても学生なのでリアルの「仕事」をしたことはないし、
;; そもそもまだレベルの低いプログラムしか書いたことがありませんが...
でも、その後に学んだ関数型言語の知識も大きいかも知れません。
やはり純粋な関数型言語は(マルチパラダイムのLispと違って)前面に押し出す特徴があるから、
「ここは関数的に書くべきだな」という感覚とか、イディオムなんかはそっちの方が学びやすかったです。
;; もちろん、マルチパラダイムで柔軟なLispだからこそそういう知識が役立つんですが。
Grahamの新しいエッセイ、考えさせられることが多くてためになります。
URLリンク(www.shiro.dreamhost.com)
> 私が思い付く全ての偉大なプログラマのうち、進んでJavaを書いている人物は一人しかいない。
Goslingのことかぁぁぁ!?
931:デフォルトの名無しさん
04/07/31 02:01
Steele でしょ。Richard P Gabriel も Sun に居たと思ったけど。
932:デフォルトの名無しさん
04/07/31 06:03
XPでSLIMWを使おうとするとどういう方法がありますか?
いろいろやったができないよ。
933:デフォルトの名無しさん
04/07/31 09:14
>>930
エッセイっていうか、OSCON 2004 の基調講演だよね。
言ってることはわからなくもないけど、ちょっと電波飛ばしてねーか? と
思ってしまった俺は、きっとハッカーではないのだろう。
934:デフォルトの名無しさん
04/07/31 11:12
>ちょっと電波飛ばしてねーか?
どの辺?
935:デフォルトの名無しさん
04/07/31 11:59
>>934
すごいハッカーになることが、人生の勝者であるかのように語っているところ。
確かにそういう面もあるかもしれないけど、そのハッカーってのはかなり特殊な
人種なわけで、彼等の特殊性は as is のまま、周囲が彼等に合わせるべき、
理解すべきとしている論調がちょっとね。
> 実際、CobolやJavaが最も人気ある言語だというような統計は誤解のもとでさえ
> ある。 何が最高の道具かを知りたいなら、我々が見なければならないのは、
> ハッカーが自由に選べる際に、つまり、彼ら自身のプロジェクトに、 何を選ぶ
> かということだ。この質問をしてみれば、既にオープンソースのOSが 圧倒的
> なシェアを占めており、一番の言語はたぶんPerlだということに気づくだろう。
こんな馬鹿げたことを書いてるのにもゲンナリした。最高だろうが最低だろうが、
道具は道具に過ぎない。問題は何を作るか、だと思うんだけどねぇ...
936:デフォルトの名無しさん
04/07/31 12:17
一番のOS アセンブラで作った自作のOS
一番の言語 アセンブラで作った自作の言語
937:デフォルトの名無しさん
04/07/31 12:24
「うんうん、そうだ」と自己満足的に共感するか、
「あっそう」で済ませてほっぽりだすかの
二通りしか感想のでてこない文章だな。
938:デフォルトの名無しさん
04/07/31 12:34
>>935
論点そのものを否定してどうするw
ま、言いたいことは分かるけどね。
だいたいハッカーってのは
「手段のためなら目的を選ばないという、どうしようもない奴」
が多いからな。何を作るかなんて眼中に無いのよ。
強いて言えば「手段=道具」を作りてえなとなるわけで。
939:デフォルトの名無しさん
04/07/31 12:37
人気のない言語を使ってるor作ってる奴の自己弁護なだけでは?
940:デフォルトの名無しさん
04/07/31 13:18
手段の目的化、それ即ち趣味なり
941:デフォルトの名無しさん
04/07/31 13:27
>>935
>すごいハッカーになることが、人生の勝者であるかのように語っているところ。
実際Paul Grahamにとってはそうなのだと思う。
URLリンク(www.blog.net)
ここでもオタクのが偉い、みたいなこと言ってるけど、実際アメリカに住んでたら、
そういう価値観持って胸張ってないとやってけなかったのかも。
942:デフォルトの名無しさん
04/07/31 14:30
>>938
そうだよね。それでも喰って行けるくらい飛び抜けていればいいんじゃない?
Lispじゃ喰って行けないっていうけど、実際はshiroさんや黒田さんみたいに仕事にでき
ちゃう人もいる。大学勤めならどんな言語をつかって研究しようが教えようが誰にも文句は
言われない(言わせない)しね。ふふ。
943:デフォルトの名無しさん
04/07/31 16:58
>>942 研究の方はまだ大丈夫だけど、教える方は就職率という錦の御旗で…。
944:デフォルトの名無しさん
04/07/31 16:59
>>942
>誰にも文句は言われない(言わせない)しね。
そしてある日、それは単なる自分の思い過ごしだった事に
気づかされる日が来るんだよね。ふふ。
945:デフォルトの名無しさん
04/07/31 21:38
お、日本でも出版されるみたいだね。
>なお、書籍版"Hackers and Painters"の邦訳はオーム社より刊行予定。
>>944
気付かなかった振りではダメですか?
946:デフォルトの名無しさん
04/07/31 22:21
>>945
まじっすか!
なんだよshiroさん。あなうんすshiroよ。
947:デフォルトの名無しさん
04/07/31 23:51
CMU CL の19aリリースのアナウンスってないのでしょうか?
ディレクトリ下にブツはあるようですが・・・
fURLリンク(ftp.common-lisp.net)
948:デフォルトの名無しさん
04/08/01 22:28
なぜ S 山 euske というお方の日記には,変わった用語が使われているのでしょうか.
Lisp で悟るとあのような日記を自然と書くことができますか?
コンピュータサイエンスの教授にはなぜあのような人が多いのでしょうか?
949:デフォルトの名無しさん
04/08/01 22:41
>>947
7/31 ころアナウンスするよって書いてあった気がするけど、まだみたいね。
バイナリはそれでオケなはず。
950:デフォルトの名無しさん
04/08/02 10:10
AS/400なんて、モノとしては非常に素晴らしい製品なのに、
なぜ悪い道具というレッテルを貼られてしまっているのだろう。
単に、自分たちが慣れ親しんでいるUNIX Like OSと似ていないから
というだけ?
951:デフォルトの名無しさん
04/08/02 10:49
URLリンク(www.cons.org) にアナウンス出てますね。
952:デフォルトの名無しさん
04/08/02 11:07
もうすぐ次スレか。
【普通のやつらの】CommonLisp Scheme Part11【上を逝け】
でどうよ。
953:デフォルトの名無しさん
04/08/02 11:20
変なコメント付けて厨臭くしなくてもいいよ
954:デフォルトの名無しさん
04/08/02 12:29
>>952
かっこ悪すぎ。
955:デフォルトの名無しさん
04/08/02 12:39
>>950
自分で底の底までいじれないからじゃない?
AS/400の中の人になれば別なんだろうけどさ。
956:デフォルトの名無しさん
04/08/02 16:19
MacもPCに比べればクローズドだよな。
やっぱりあれだよ。70年代からコンピュータに
どっぷり浸かってた人ならIBMをよく思うのは無理だろ。
またIBMがLinux担いだところで、その魂胆の方が先に見えて
しまうんだろうな。
957:デフォルトの名無しさん
04/08/02 20:10
【普通のスレの】CommonLisp Scheme Part11【上を逝け】
958:デフォルトの名無しさん
04/08/02 20:39
Lisp Scheme Part11
959:デフォルトの名無しさん
04/08/02 21:36
>>957
かっこ悪すぎ。
960:デフォルトの名無しさん
04/08/02 22:00
11traP emehcS psiL
961:デフォルトの名無しさん
04/08/02 22:52
(thread '((common lisp) (scheme)) :part 11)
962:デフォルトの名無しさん
04/08/02 22:54
>>961
あー、先を越されてしまったが、もっとシンプルに
'(Lisp Scheme Part11)
963:デフォルトの名無しさん
04/08/02 22:55
common-lisp-&-scheme-part-11
964:デフォルトの名無しさん
04/08/02 22:58
Revised^11 Thread on Scheme
965:デフォルトの名無しさん
04/08/02 22:58
'(thread (Lisp . Scheme) (part . 11))
966:デフォルトの名無しさん
04/08/02 23:14
CommonLisp Scheme Part11でいいんじゃないの?スレタイは式じゃなくて文字列じゃん。
;;「キターっ」て、>>947のこと?
967:デフォルトの名無しさん
04/08/02 23:36
次スレ
CommonLisp Scheme Part11
スレリンク(tech板)
968:デフォルトの名無しさん
04/08/03 00:56
clisp の win32 版を,日本語ディレクトリ以下で使う方法を教えてくだされ.
ext:cd とか load ができないのだよ.
OS は WindozeXP.いちおう lisp で書いとけば
環境に依存しないだろうと思ったのに,
windoze で日本語ユーザー名で My DQNments しか使えないので...
969:デフォルトの名無しさん
04/08/03 13:21
>>968 文字コードの設定はちゃんとしている?
970:デフォルトの名無しさん
04/08/04 09:32
Graham氏はJavaに対して対抗意識剥き出しにしてるが、
CommonLispやSchemeの普及を阻害してるのは、本当は
PerlやPythonだと思う。現代版Cobolに対してLispの
優位性をアピールすることにどんだけの意味があるのか。
971:デフォルトの名無しさん
04/08/04 09:47
>>970
それがねぇ。Scheme教えようとしても、「就職に役立つのはJava」なんて
言われちゃう世の中なんですよ。
972:デフォルトの名無しさん
04/08/04 23:35
>>971
最強の言語というのがあって,それは使っている人が多いはずで,
それさえ身に付ければ十分,という伝説のせいでしょうか.
973:デフォルトの名無しさん
04/08/05 00:34
Javaは平均的プログラマー向けにデザインされた言語。
そうゴスたんが言ってたよ。
974:デフォルトの名無しさん
04/08/05 00:58
URLリンク(groups.google.co.jp)
Franz のセミナーのやつだよね。
975:デフォルトの名無しさん
04/08/05 23:28
>>974
すげ…書いてあることがサッパリ理解できんが
何か格好良い事だけはわかった
これが Lisper の考えるレベルかしら…おれには無理かしら
976:デフォルトの名無しさん
04/08/06 22:40
UFFI が clisp に対応していないとは,一体どういうことかね?
977:デフォルトの名無しさん
04/08/07 01:42
>>971
就職の面接で「Scheme使えますよ」と言ってみたら
「Lispみたいなやつだっけ?」ぐらいの反応しか帰ってきませんでした。orz
978:デフォルトの名無しさん
04/08/07 10:22
>>977
その答えが返ってくるだけまだよい方では・・・
979:デフォルトの名無しさん
04/08/07 13:34
>>976 「clispのFFIがUFFIよりもっと抽象化されているから」という答えをclispの
作者がしていました。
が、clisp と UFFI でぐぐるとたしかpascalさんという人が書きかけたclisp用UFFIが
あったとおもう。
980:デフォルトの名無しさん
04/08/07 14:48
>>979
( ・∀・)つ〃∩ヘェーヘェーヘェー.サンクスコ.
981:デフォルトの名無しさん
04/08/08 22:45
埋まる前に落ちそうだね。
(call/cc (lambda (c)
(スレリンク(tech板) c)))
982:デフォルトの名無しさん
04/08/09 00:33
むしろ新スレの方が落ちそう。
983:デフォルトの名無しさん
04/08/09 14:20
埋め質問。
Scheme(Gauche)でCのsizeof相当の処理は可能ですか?
表面的にはchar/short/long/多倍長の違いが見えないので難しそうですが。
984:デフォルトの名無しさん
04/08/09 19:32
何の size のことなのか?
それをどう使おうというのか?
985:デフォルトの名無しさん
04/08/09 23:51
>>983 意味と意図がボクもよく分からない。
とりあえず Gauche での扱いを説明しておくと、文字と小さな整数は即値。
文字は wchar だと思っとけばいい。小さな整数の範囲は、long の範囲より
若干狭い。
昔の scheme では、文字が整数だったけど、今は別。
(char? #\a) => #t (char? 100) => #f (char? 1000000000) => #f
(fixnum? #\a) => #f (fixnum? 100) => #t (fixnum? 1000000000) => #f
(exact? #\a) => #f (exact? 100) => #t (exact? 1000000000) => #t
もしかして、ユニフォームベクタ使いたいのかな?
986:デフォルトの名無しさん
04/08/10 04:23
ユニフォームベクタで解決しました。
URLリンク(www.shiro.dreamhost.com)
もろにこの部分。すんません、次からはちゃんとマニュアル内探します。
987:968
04/08/10 22:55
>>969
文字コードのちゃんとした設定というのが分かりません.
とりあえず思いついたコーディング名を引数にしたりしました.
自宅のマシンではないのでメモがないんです.
lisp がないと私はただの豚なんです教えてくださいぃぃ.m(__)m
988:デフォルトの名無しさん
04/08/10 23:31
>>987
URLリンク(clisp.cons.org)
このへんでしょうか。
989:デフォルトの名無しさん
04/08/11 13:13
Windows cygwin版clisp 2.31での話。
clisp -E ASCII は認識されて*default-file-encoding*, *pathname-encoding*,
などが、デフォルトの#<ENCODING CHARSET:ISO-8859-1 :DOS>から#<ENCODING CHARSET:ASCII :DOS>に
変更されました。
しかし
clisp -E ja_JP.SJIS
は何の効果もないもよう。
トップレベルで
(setq shift-jis (make-encoding :charset 'charset:shift-jis :line-terminator :dos))
(setq *default-file-encoding* shift-jis)
(setq *pathname-encoding* shift-jis)
(setq *terminal-encoding* shift-jis)
として、
(ext:cd "/cygdrive/c/マイ ミュージック")
とすると、
*** - PARSE-NAMESTRING: syntax error in filename "/cygdrive/c/マイ ミュ/" at position 12
とエラー。
(parse-namestring "マイ ミュージック")とすると
*** - PARSE-NAMESTRING: syntax error in filename "マイ ミュージック" at position 0
とエラー。
"マイ ミュージック"はちゃんと9文字として認識されています。
また、(setq *terminal-encoding* shift-jis)をすると、
(format t "~S~%" 'a) => ~S~%
というバグが発現しました。
イヤ~ンな感じ。俺のやり方がタコなだけだといいんだけど。