1 名前:デフォルトの名無しさん [2008/07/12(土) 12:43:33 ] lispを触ってみたい入門者のQ&A 初心者のQ&A 本スレでは恥ずかしくて聞けない人のQ&A 本スレは高度すぎて割り込めない人のQ&A linuxでなくてwindowsでやりたいんですが・・・Q&A lispを使用してC#やJAVAの代替にするための方法(おまけ) ま、ゆっくりたりましょう。 「いいものの本質は、いかなる時代においても変わらない」byパワーズ (list (url pc8.2ch.net/test/read.cgi/tech/1101386936/l50 :part 1) (url pc11.2ch.net/test/read.so/tech/1140012484/l50 :part 2) (url pc11.2ch.net/test/read.so/tech/1181479267/l50 :part 3) (url pc11.2ch.net/test/read.cgi/tech/1201402366/l50 :part 4))
654 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:00:59 ] >>644 下らん奴だな。正面から答えればいいのに。
655 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:02:39 ] www.lispworks.com/documentation/HyperSpec/Front/ むしろ、>>465 がインターンでlispworksに雇ってもらって上記の日本語版を作ったほうが権利関係は会社が面倒を見てくれるから良い気がする。 無料だから片手間で安易に契約が出来ると考えるのは、コミュニティー全体へ多大な損害を与えます。>>マグロウヒルが著作権
656 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:04:06 ] >>654 下らんレスの応酬するおまえモナー
657 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:04:10 ] 匿名掲示板でこの手のことを展開すると足を引っ張られて動脈硬化を起こしてしまうけど 今回もその傾向がでてるね。
658 名前:465 mailto:sage [2008/09/12(金) 19:05:32 ] なんというか私が有名になるよりもLispが発展する事の方が 大切な事のような気がするんですよね。Lispのためならがんばれる気がします。 ===================================== なんと言うか以前まとめてくださった方の内容で向こうの質問の返信には 成ると思うのですが、どんな感じなのでしょうか?
659 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:05:47 ] うん。コルステロールみたいな連中がおおすぎるよね。
660 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:07:31 ] なんか人任せのニオイが最初からぷんぷんしてるから これだけ船頭が集まってくるんだ 熱意があるなら訳が出来てから出版社に持ち込めばいいんだよ
661 名前:465 mailto:sage [2008/09/12(金) 19:07:44 ] またなんと言うかが二回も、疲れてます。(不眠4日目) ときどき乱文に成るかもしれませんがご容赦ください
662 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:08:56 ] >>657 >動脈硬化を起こしてしまうけど 動脈硬化を起こすのはベンチャー精神に欠けるからだろ。 人が何を言おうと自分が正しければリスクをも厭わずにやり遂げるぐらいじゃないと。 匿名掲示板だから議論が進まないで実現できませんでしたなんてのは言い訳にすぎない。
663 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:09:18 ] まず締め切りを決めること 守らせることが共同作業の基本 両方とも出来そうにないだろ
664 名前:465 mailto:sage [2008/09/12(金) 19:10:43 ] >>663 なるほど、期限が有るかもしれませんね
665 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:16:02 ] >>664 質問 メールを書いた以外で既に何か進めていることあるの?
666 名前:465 mailto:sage [2008/09/12(金) 19:17:23 ] 進めたいのですが権利問題が解決するまでと思っていたのですが 少し関数などのページを訳して個人用に保存し始めました
667 名前:465 mailto:sage [2008/09/12(金) 19:53:53 ] >>665 なんというか意味を取り違えていた回答をしていたらすいません。 「おまえ何もしてねーじゃん」 という意味だったのでしょうか?
668 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 20:47:49 ] >>667 別に深い意味はないが、まあ、何もしてないっぽく見えるな ブログとかやってないの?
669 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 20:51:52 ] 匿名掲示板だから議論が動脈硬化と言ってる奴、社会が悪いから何も出来ないと逝ってるニートと同じ論法だな。
670 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:31:18 ] 悲観的なことを言われても、ちゃんと反論すればそれでいいんだけど 相手の意見を尊重しすぎると自信なくなるわな
671 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:34:42 ] >>669 Nos vives limitrophes Nos desirs de paix Quelques zones franches Bien delimitees
672 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:37:20 ] >>670 動脈硬化になるのはしっかりした意見を持たないリーダーの下でデスマーチするプロジェクトに似ている。 きっと軸がブレないで運営できるかどうかの試金石なんだよ。
673 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:44:03 ] >>465 がプロジェクトをスタートする前にこういう経験をしているのは在る意味ではラッキーかも。
674 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 22:31:35 ] >>672 リーダーは別にいなくても進むものもある インティファーダとかそうだな
675 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 22:44:49 ] >>674 暗に>>465 はイランと言ってるの?
676 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 23:57:31 ] 今北 どうでもいいとこで>>569 以下のspeakedが気になるんだけど、 spokenとは違うの? ググっても良く分からん。英語詳しい人kwsk
677 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 23:58:26 ] 相手にお伺いを尋ねるだけの文章でこんだけ紛糾するのにちゃんと翻訳できるのか不安になるじゃないか。 >>465 は思った通りに書いて、相手の返事を待つだけでいいのじゃないのか? 事が巧くいってがんばった結果がでてから、ここまでやったので誰か手伝ってくれないかと言う方がよっぽどよいだろう?
678 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 01:49:27 ] >>676 コッチ逝け academy6.2ch.net/test/read.cgi/english/1219999558/
679 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 02:15:22 ] On Lisp, PCLのときは権利関係どうやったのかとか聞いてみたら? 翻訳した連中多分ここチェックしてるっしょ。
680 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 07:13:36 ] 権利関係は、まだ何の問題も起きていない。 今は、本来の目的に集中できるかどうかが問題。 コレステロールが悪いとか権利関係が悪いとか 責任の擦り合いが目的になるとやばい。
681 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 10:54:57 ] >英語詳しい人kwsk すべからく人任せwww
682 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 11:06:41 ] もしかして? 悉く
683 名前:465 mailto:sage [2008/09/13(土) 12:49:35 ] 一応ホームページが3個ブログが1つ有ります。
684 名前:465 mailto:sage [2008/09/13(土) 12:54:49 ] 後BBSが2つ有りました。
685 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 13:31:38 ] 処理系別に処理を分けるのってどうやって書けばいいんだろうか? 誰か教えてください
686 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 13:52:03 ] >>685 シャープマクロの一種 #+ を使う。 あるいは、変数*features*の中身をみて振り分ける、とかかな。 ;; #+ の例 #+clisp (princ "Hello")
687 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 17:48:41 ] 翻訳は止めといた方がいいと思うよ。 これは忠告だよ。会社を通して邦訳本出す、 という形の方がよほど現実的。 何かあったときここのスレッドの住民に けしられたから〜とか言いそうだなあ。
688 名前:465 mailto:sage [2008/09/13(土) 17:58:37 ] >>687 それはいいませんが.... どのような点でやめた方がいいのか お教え願います。
689 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 18:39:04 ] 一 自力での訳の目途すらついてない 二 他人に頼むにしても自前の人脈がない・そうした作業の経験がない これでどこへ行こうというのだね 私とその大砲で勝負するか 小僧から石を取り戻せ
690 名前:465 mailto:sage [2008/09/13(土) 19:22:50 ] むしろ私と同じ年齢でそういった作業の経験が有る方の方が 珍しいと思うのですが。
691 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 19:24:33 ] やりたければやれば。 権利絡みで色々うるさくなったら面倒な事に まきこまれるのはあなただけで、 ここの住民はいつもと変わらずここで レス付け続ける、ってだけだから。
692 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 19:27:22 ] まあ、とりあえず、翻訳をどんどん進めて継続することだね。 自分の気になっているところからやれば、公開はダメでも身に付くし。 まともな訳を書こうと思うと、生半可な理解では到底無理だから。
693 名前:465 mailto:sage [2008/09/13(土) 19:30:35 ] 経験を積んでからの方がいいということがよくわかりました。 ですが、今更急に断るわけにもいきませんし、
694 名前:465 mailto:sage [2008/09/13(土) 19:35:35 ] とりあえず自分の勉強のためにも公開如何に関わらず翻訳してみることにしました 今のところ30ページほど翻訳してみました。
695 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 19:42:02 ] HyperSpecってchmファイルないのかな? 日本語訳はどうでもいいから,chmファイルがほしい
696 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 20:17:56 ] 進捗状況 >>560 >Hyper Spec >ファイル数:2318 >>694 >今のところ30ページほど翻訳してみました。
697 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 20:25:14 ] 暇だっていってるんだし、一年ありゃいけるんじゃないか
698 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 20:27:08 ] そろそろウザくなってきた。
699 名前:465 mailto:sage [2008/09/13(土) 20:28:06 ] まずは安全に翻訳できる環境を作らなければ
700 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 20:42:17 ] MLでも作って、まずは閉じた環境でやってみたらどうかな? 勉強会的な小コミュニティなら、翻訳しても文句は言われんでしょ。 ある程度やってみて、いけそうな雰囲気なら再交渉してオープンにすればいいんだし。
701 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 21:53:17 ] >>686 ありがとうございます. この方法だとSLIMEを使ってC-c C-kでコンパイルしたとき たとえば #+clispと#+sbcl の2つで振り分けていたとして,#+clispはclisp依存のコード,#+sbclのほうは sbcl依存のコードが書かれていたとき,両方ともコンパイルしようとしてエラーがでて しまいます. なんとか,これも分けることはできないのでしょうか?
702 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 11:54:39 ] >>701 こちらで試したところ、エラーなくコンパイル出来ました。 #+を使うときは、 #+clisp フォーム(S式やアトム) のように使いますが、#+が有効なのは、直後の一つだけの フォームですが、そのへんはお分かりになっていますか? ;; 例 #+clisp (defun foo () ...) ; #+clispが有効 (defun bar () ...) ; #+clispとは無関係 また、以下のようにも書けたりします。 (setq hoge #+clisp 1 #+sbcl 2) ; clispなら1、sbclなら2がhogeに代入される。 そうでなければ、あとはslimeの設定の問題とか…。
703 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 13:52:35 ] >>702 すみません,うまくいきました. >#+が有効なのは、直後の一つだけの >フォームですが、そのへんはお分かりになっていますか? これをわかってなかったようです.
704 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 09:27:31 ] >>695 HyperSpecのCHMを作ってくれるソフトならあった。 ttp://sourceforge.net/project/showfiles.php?group_id=30035&package_id=203252
705 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 12:47:22 ] >>704 これは便利だ!
706 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 13:15:14 ] dpans2textもよろしくお願いします
707 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 14:25:45 ] 以前に非常にわかりやすいcommon lisp のchear sheetが紹介されてましたが どなたかサイトをおおしえいただけないでしょうか?
708 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 14:26:31 ] chear sheet -> cheat sheet でした
709 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 14:56:04 ] これ? clqr.berlios.de/
710 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 15:21:00 ] >>709 これいいね。製本したの売って欲しい。1000円までなら出す。w
711 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 17:15:47 ] defmacroの中の`を,式の中で一時的に無効化したい場合ってどうすればいいんだろ?
712 名前: cm74.opt2.point.ne.jp mailto:sage [2008/09/16(火) 18:00:25 ] >>711 どういう時にそんなことがしたくなるの?
713 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 18:05:30 ] >>712 :keyのオプションがあるときとないときで,生成される式を変えたい.
714 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 18:11:47 ] 「何を知りたいか」よりも「(最終的に)何をやりたいか」を書いたほうが適切なアドバイスが 受けられることが多い。自分の考えたアプローチが適切でない場合があるからだ。
715 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 18:12:39 ] >>713 もうちょっと具体的に
716 名前: gh133.opt2.point.ne.jp デフォルトの名無しさん mailto:sage [2008/09/16(火) 18:21:41 ] (defmacro foo (&key (key 'default sup?)) (if sup? `(progn '(key => ,key)) `(progn ',key))) (foo :key foo) (KEY => FOO) (foo) DEFAULT こういうことかな?
717 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 18:27:13 ] >>714 , 713 ありがとうございます. 私が欲しているのは,closeを書かなくても最終的に勝手にcloseしてくれる with-open-stream見たいなマクロです. 今通信のプログラムを書いおり.ClientとServerに分かれた プログラムなのですが,ClientからServerにコマンドを発行します. このときClientがServerに向けて発行したコマンドが適切でなかった場合や, コマンドの実行が失敗したとき,ServerはFAILED的なメッセージを返したいの ですが,多数あるコマンドを処理するハンドラがnilを返したら,FAILEDを返信する コードを自分で書くのは面倒なので,マクロで何とかできないかなと思ったわけです. いろいろ書きましたが,最終的にはこれがやりたいことです.
718 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 19:52:06 ] unwind-protectはどうかな
719 名前:o mailto:sage [2008/09/16(火) 20:17:08 ] なんか>>716 さんの挙げてくれたコードを参考にしたら すんなり望みのものが得られました. もうひとつ質問なのですが, format関数で新しい行を追記するのではなく,ある場所に上書するのは どうすればよいのでしょうか? 何をしたいのかというと,Linuxのtopコマンドみたいな出力を行いたいです.
720 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 20:19:48 ] curses について学んでみましょう
721 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:32:40 ] つ common-lisp.net/project/cl-ncurses/
722 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:57:46 ] >>721 cl-ncursesをSBCL 1.0.11.debianにasdfで自動インストールしようと思ったら ; loading system definition from /usr/lib/sbcl/site-systems/cl-ncurses.asd into ; #<PACKAGE "ASDF0"> ; registering #<SYSTEM :CL-NCURSES {AC27721}> as CL-NCURSES ; loading system definition from /usr/lib/sbcl/site-systems/uffi.asd into ; #<PACKAGE "ASDF0"> ; registering #<SYSTEM UFFI {ADD6159}> as UFFI STYLE-WARNING: defining *NULLPTR* as a constant, even though the name follows the usual naming convention (names like *FOO*) for special variables ;;; Loading #P"/usr/lib/libncurses.so" NIL * debugger invoked on a SB-INT:SIMPLE-READER-ERROR in thread #<THREAD "initial thread" {A84D681}>: SB-INT:SIMPLE-READER-ERROR on #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {9115901}>: unmatched close parenthesis Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level. (SB-INT:SIMPLE-READER-ERROR #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {9115901}> "unmatched close parenthesis") 0] :0 こんなメッセージが出てとまってしまいます...どうすればよいのでしょう?
723 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:51:19 ] デバッグすればいいんじゃね? | unmatched close parenthesis とかいわれてるから括弧の対応がおかしいところがあるんではないかと。
724 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 08:23:44 ] カーソル位置移動したいだけならエスケープシーケンス直接出力すればいいんじゃね?
725 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 16:17:55 ] それが端末によって統一されていないからcursesのようなものがあるのでは?
726 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 18:37:26 ] termcap/terminfoで済むことも多い。
727 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 17:32:18 ] ((1 2 3) (4 5 6)) 見たいなリストが与えられて (要素の数は不定,だから((1 2 3) (4 5 6) (7 8 9)...)かもしれないし((1 2 3))かもしれない) それを(mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9)) 見たいな感じでばらしてmapcarに渡したいんだけど,こういう場合どういう風に すればエレガントですかね?
728 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 17:42:59 ] >>727 (apply #'mapcar (cons #'+ '((1 2 3) (4 5 6))))
729 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 17:53:04 ] >>728 これは面白い! こういうのをさっと思いつけるようになりたいなぁ
730 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 18:02:04 ] (apply #'+ (flatten '(1 2 3) '(4 5 6) '(7 8 9)))
731 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 18:02:55 ] (apply #'+ (flatten '((1 2 3) (4 5 6) (7 8 9)))) こっちだった。
732 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 18:05:29 ] flattenって標準じゃないべ。それに期待してる結果と違う希ガス。
733 名前: router1.gpy1.ms246.net mailto:sage [2008/09/18(木) 20:27:04 ] (apply #'mapcar #'+ '((1 2 3) (4 5 6) (7 8 9))) (loop for i in '((1 2 3) (4 5 6) (7 8 9)) sum (apply #'+ i))
734 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 21:27:11 ] Lisp初心者です。 SBCL 1.0.20 + clsql + mysqlで日本語(UTF-8)が通らなくて困っています。 LinuxUbuntu6にsshでつないでEmacs22.2.1上のslimeです。 クライアントは、windowsXP poderosa4.10 のUTF-8です。 slimeでは日本語は通ります。 ttp://faroffsea.blogspot.com/2007/09/mysqlclsql.html 上のサイトを参考に、 [mysqld] skip-character-set-client-handshake default-character-set = utf8 としてみましたがうまくいきません。 どなたかわかる方いらっしゃいましたら教えてください。 よろしくお願いします。
735 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 21:28:21 ] >>734 続き 動かしてみた状態です。何か問題があるのでしょうか? ; SLIME 2008-07-29 CL-USER> (setf sb-impl::*default-external-format* :utf-8) CL-USER> (setf sb-alien::*default-c-string-external-format* :utf-8) CL-USER>"あいうえお" => "あいうえお" CL-USER> (clsql:connect '("localhost" "name" "name" "p") :database-type :mysql) CL-USER> (clsql:def-view-class tes () ((body :type string)) (:base-table tes)) CL-USER> (clsql:create-view-from-class 'tes) CL-USER> (clsql:insert-records :into "TES" :attributes '(body) :values '("aiueo")) CL-USER> (clsql:insert-records :into "TES" :attributes '(body) :values '("あいうえお")) CL-USER> (clsql:query "select * from TES") (("aiueo") ("?????")) ;;?????になってしまっている。 ("BODY")
736 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 22:54:27 ] M-: slime-net-coding-system M-: default-process-coding-system これらの結果は?
737 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 03:01:32 ] >>736 ありがとうございます。結果は以下です。 M-: slime-net-coding-system => utf-8-unix M-: default-process-coding-system => (mule-utf-8 . mule-utf-8)
738 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 10:33:02 ] 使ったこと無いけど、db-mysql/ の下に ;; if we have :sb-unicode, UFFI will treat :cstring as a UTF-8 string と書いてあったから、普通にビルドしてれば通るんじゃ。 つーか問題の切り分けは出来てるん? mysql直接叩いても化けるのか、sbcl+clsql+mysqlでも化けるのか、 slimeを通したときだけ化けるのか判断できないんだが。
739 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 11:48:21 ] >>738 すべての形でだめです。 sbclのreplから * "あいうえお" => "あいうえお" * (clsql:create-view-from-class 'tes) * (clsql:insert-records :into "TES" :attributes '(body) :values '("あいうえお")) * (clsql:query "select * from TES") (("?????")) ("BODY") mysqlから mysql> show variables like 'char%'; character_set_database,character_set_filesystem,以外全部utf8 mysql> insert into TES values("あいうえお"); mysql> select * from TES; +-------+ | BODY | +-------+ | ????? | | ????? | +-------+
740 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 12:18:34 ] >>739 mysqlで日本語が通らないならmysqlのスレで質問すべきだろう、と思うが
741 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 12:55:53 ] >>740 そうですね。失礼しました。
742 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 13:13:18 ] >>741 あとアドバイスだけど、長い日本語を入れて出力を nkf -g すれば 壊れてるのか、他のエンコードで出力されちゃってるのかは判断できるよ。 参考までに。
743 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 13:30:53 ] >>740 ,742 すみません。すれ違いなのにアドバイスありがとうございました。 mysqlについて調べてみて、character_set_server=utf8 を追加して、DBを構築しなおしてみたらうまくいきました。 おさわがせしました・・・。
744 名前:デフォルトの名無しさん [2008/09/25(木) 00:47:14 ] shibuya.lisp-users.org/2008/09/08/the-age-of-lisp/
745 名前:465 mailto:sage [2008/09/26(金) 19:03:14 ] お久しぶりです。 Lispworksから返信が返ってきたのですがその一部で確認頂きたい事が 有りましたので一部引用いたします。 We would like to invite Kent Pitman (who originally built the HyperSpec) to join this email thread. Is that OK with you? Please let me know. この部分なのですがこの場合はどのようにするべきでしょうか? やはりshibuyalispなどにプロジェクトを立ち上げてそちらをご連絡するのが ベストでしょうか
746 名前:465 mailto:sage [2008/09/26(金) 19:04:06 ] お久しぶりです。 Lispworksから返信が返ってきたのですがその一部で確認頂きたい事が 有りましたので一部引用いたします。 We would like to invite Kent Pitman (who originally built the HyperSpec) to join this email thread. Is that OK with you? Please let me know. この部分なのですがこの場合はどのようにするべきでしょうか? やはりshibuyalispなどにプロジェクトを立ち上げてそちらをご連絡するのが ベストでしょうか
747 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 19:05:11 ] すいません、サーバーエラーで二回書き込んでしまいました。
748 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 08:01:08 ] は? HyperSpec創始者にもこの電子メールの議論に参加してもらいたいっていう だけだろ? yesかnoで答えるだけじゃん。 その引用からなぜ「やはり〜」になるのか意味不明なんだが。
749 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 08:55:32 ] おお、何か(当然の流れとはいえ)話がおおきくなってきたな。ドキドキするぜ。 礼儀で聞いてきてるだけなんだから、どうどうとYESと答えりゃいいんじゃね?
750 名前:465 mailto:sage [2008/09/27(土) 12:44:46 ] わかりました。少し緊張してきました。 YESでいきたいと思います。
751 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 13:46:44 ] はてなでみつけたけど、こんなのあるんだな。 page14.auctions.yahoo.co.jp/jp/auction/s91370712
752 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 15:14:51 ] >>751 オクだからLispMachineでも出てるのかと思ったら 噴いたじゃねぇかゴルァ
753 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 20:24:21 ] こっちなら色んな所にありそうなんだがな。 ttp://dl.getdropbox.com/u/215714/20080419193048.jpg
754 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 04:24:30 ] 上品な大人っぽい雰囲気の『CLISP』。 大人っぽい括弧が括弧良くコードに落ち着きを与えてくれます。 お洒落な関数型や手続き型のような雰囲気があります。CLOS、 MOP、FFIなどお仕事を選ばないデザインも長く飽きずに お使いいただける要素かと思います。
755 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:56:49 ] 大量のハッシュの設定が面倒だったので一気に指定できるマクロを作成しました 修正できる所をご教授願います。 (defmacro sethash (table key word) `(setf (gethash ',key ,table) ,word)) (defmacro multiple-sethash (table &rest key-word-lst) `(progn ,@(mapcar #'(lambda (pair) `(sethash ,table ,@pair)) (group key-word-lst 2)))) (defun group (source n) (if (zerop n) (error "zero length")) (labels ((rec (source acc) (let ((rest (nthcdr n source))) (if (consp rest) (rec rest (cons (subseq source 0 n) acc)) (nreverse (cons source acc)))))) (if source (rec source nil) nil)))
756 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 01:10:15 ] >>755 こうすると hello! が2回表示されるよ? On Lisp の「マクロのその他の落し穴 」参照。 (defparameter *hash* (make-hash-table)) (defun my-hash () (format t "hello! ") *hash*) (multiple-sethash (my-hash) :foo 1 :bar 2)
757 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 03:36:55 ] やることの割に長いのがいかんよ。これでよくない? (defmacro puthashmany (table &rest key-and-value-list) `(let ((tbl ,table) (lst ',key-and-value-list)) (loop for (k v . r) on lst by #'cddr do (setf (gethash k tbl) v))))
758 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 04:11:47 ] ボケてた。setfを並べるのが目的か。 (defmacro puthashmany (table &rest key-and-value-list) (let ((tbl (gensym "TBL"))) `(let ((,tbl ,table)) ,@(loop for (k v . r) on key-and-value-list by #'cddr collect `(setf (gethash ,k ,tbl) ,v)))))
759 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 08:26:59 ] こんな処理が遅いのですが、なぜなんでしょう? (defun speed-test (times) (do ((i 0 (1+ i)) (sum 0 (+ sum i))) ((= i times) sum))) 実行してみると・・・ CL-USER> (time (speed-test 10000000)) Real time: 5.828125 sec. Run time: 5.578125 sec. Space: 159668340 Bytes GC: 250, GC time: 1.265625 sec. 49999995000000 5秒以上かかります。Javaだとだいたい100msで終わるのですけど。 Spaceをいっぱい食っているのもよく分かりません。環境はCLISPです。
760 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 10:49:25 ] >>759 とりあえず確認。 コンパイルはした?
761 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:23:01 ] >>759 うちのチープマシンじゃ clispの場合コンパイルしても1秒かかる orz sbclだと0.12秒
762 名前:579 mailto:sage [2008/10/03(金) 12:25:44 ] はい、(compile 'speed-test)はしました。 さらに、ちょっと合っているか分からないですけど、 更にこんな感じでチューニングしてみました。 (defun speed-test (times) (declare (optimize (speed 3) (safety 0))) (declare (fixnum times i sum)) (do ((i 0 (1+ i)) (sum 0 (+ sum i))) ((= i times) sum))) でも、何にも効いてないような・・・。 CL-USER> (compile 'speed-test) WARNING: SPEED-TEST is already compiled. SPEED-TEST NIL NIL 実行。 CL-USER> (time (speed-test 10000000)) Real time: 6.28125 sec. Run time: 5.90625 sec. Space: 159668340 Bytes GC: 249, GC time: 1.578125 sec. 49999995000000 逆に遅くなってますね・・・。
763 名前:579 mailto:sage [2008/10/03(金) 12:49:48 ] あれ?>>761 さんの環境だと結構速いんですね。 とりあえず、私の書き方が悪いわけじゃなさそうだということが分かって良かったです。 ちなみに末尾再帰で書いてもあんまり改善しませんでした。というか、遅くなりました。 (defun speed-test (times sum) (if (zerop times) sum (speed-test (- times 1) (+ sum times)))) CL-USER> (compile 'speed-test) WARNING: SPEED-TEST is already compiled. SPEED-TEST NIL NIL CL-USER> (time (speed-test 10000000 0)) Real time: 6.84375 sec. Run time: 6.328125 sec. Space: 159999132 Bytes GC: 250, GC time: 2.25 sec. 50000005000000 CL-USER>
764 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:44:29 ] >>763 clispは末尾再帰を最適化しない(ことが多い? 全然しないのか少しはするのか知らない)。 末尾再帰の最適化をしない処理系で期待しても無駄というもの。 disassembleしてみりゃすぐわかるから確認すれ。
765 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 15:34:30 ] >>763 761だけどclispでコンパイルしないと12秒位かかるんよ,(compile 'speed-test)して1秒
766 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 15:40:23 ] x86_64 clisp 2.42でだけど ちなみに763のコードはコンパイルしないとスタック足りなかった。 [1]> (defun speed-test (times) (do ((i 0 (1+ i)) (sum 0 (+ sum i))) ((= i times) sum))) SPEED-TEST [2]> (time (speed-test 10000000)) Real time: 10.158625 sec. Run time: 10.16 sec. Space: 0 Bytes 49999995000000 [3]> (compile 'speed-test) SPEED-TEST ; NIL ; NIL [4]> (time (speed-test 10000000)) Real time: 0.780928 sec. Run time: 0.78 sec. Space: 0 Bytes 49999995000000 [5]>
767 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 17:57:39 ] >>794 clispはコンパイルしたら末尾再起はループに展開されるぞ
768 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 19:50:20 ] 794です。数日先のみ来から来ました。 767 さん。コメントありがとうございます。知らなかったので大変助かりました。 794で悩んだことはおかげさまで解決しました。
769 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 19:57:28 ] メモリ使用量が多いのは most-positive-fixnum より多きい数字の計算にはメモリを消費するから。 ループを減らして結果が most-positive-fixnum 以下になるようにすると消費メモリが 0 になるのが確認できると思う。 性能は現在のバイトコードインタプリタならこんなもんだろう。タイトループの実行速度でJIT装備のJavaより速いなんてのはムリ。 性能が必要ならトレースキャッシュなJITが実装されるまで待つか、自分で実装するか、別の実装を使うかどちらか。
770 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 20:07:40 ] >>767 えー おれが前にやったらだめでガックリした覚えが
771 名前:579 mailto:sage [2008/10/04(土) 07:57:42 ] >>769 おお!明確な答え、ありがとうございました。 確かに小さな値に対しては速かったんです。 ちょっと処理系を変えながらいろいろ試してみたいと 思います。ありがとうございました。
772 名前:759 mailto:sage [2008/10/04(土) 07:59:21 ] あ、私は>>759 でした。今まで>>579 で書いてた。スミマセン。
773 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:03:33 ] sbclを使ってスレッドプログラミングをしています スレッド間通信をさせたいんですが なんかそういう目的のためのキューとかメールボックスとか それ系のデファクトスタンダードなライブラリってないんでしょうか asdf-installからacl-compat入れてみたんですが acl-compat.mp:queueはないみたいなんです
774 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 15:31:04 ] いつのまにかeclでmaxima動くようになってたんですね
775 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 16:48:14 ] sbclのarm portって進行中なの? それとも予定は無い? 教えて詳しい人。
776 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 23:03:47 ] 少なくともここ二年くらいはだれも手をつけていないと思う。それ以前は知らね。
777 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 11:57:25 ] ECL Unicodeサポート開始 ttp://sourceforge.net/forum/forum.php?forum_id=880598 ttp://sourceforge.net/project/screenshots.php?group_id=30035
778 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 23:53:24 ] (let ((hoge #'(lambda ~~))))と (let ((hoge (lambda ~~)))) どっちのlambdaが正しいの? 前者だと思ってるけど、GNU CLISP 2.45だとどっちでも同じ意味で通る。
779 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 00:25:41 ] どっちも正しいよ。HyperSpecで Macro: LAMBDA のページを読むといい。 (macroexpand '(lambda () ())) => #'(lambda () ()) みたいな関数に展開されるマクロとなってる。 どっちを好むかはlisperの中でも好みはわかれるところ。このマクロ導入の経緯はPCLに書いてあるよ。
780 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 00:47:18 ] ありがとう!どっちも正しいのか。 On Lispでは#'だったから疑問に思ってた。 仕様書よんでみます〜 ^o^
781 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 23:43:29 ] (test '(1 2 3 4) '(1 2 3 4 5)) とかやると (append '(1 2 3 4) '(1 2 3 4 5)) 見たいなリストが得られるマクロ(?)がほしいんだけど そのままevalに渡したら,そのまま実行できるやつ形式に出力してくれるやつ. (defmacro test (a b) `(list 'append ,a ,b)) こういう風に書いたんだけど,どうしても (APPEND (1 2 3) (1 2 3)) クオーティングされちゃうんだよな... a, bに渡されたものがそっくりそのままa, bに入るようにはかけないものか?
782 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 23:50:42 ] つ (defmacro test (a b) `'(append ,a ,b))
783 名前:782 mailto:sage [2008/10/29(水) 23:54:28 ] 名前からしてテスト系のマクロを作りたいのかな? とりあえず実践Common Lispの9章まで読んでみるといいと思うよ。 英語OKならPractical Common Lispでもいい。
784 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 00:09:05 ] >>781 aまたはbがコンスで、かつそのcarが'QUOTEの場合だけ、事前にもういっちょquoteしてやったらどうよ
785 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 02:37:06 ] >>783 逆だろ。 「英語がダメなら実践Common Lispでもいい」じゃないのか普通は。 原書である上にタダで読める方を後にもってくる理由がわからん。
786 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 08:33:55 ] そんな怒らなくても…日本語版しか読んでないです。やっぱり原著よまないと駄目なんですか?
787 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 08:50:17 ] >>785 言いたいことはわかる。でもその「理由がわからん」ってのは嘘だねw 「レスって何ですか?」とかの親戚。「あるべき道しか理解できないキャラ」作るの好きだよな、マって。
788 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 09:18:43 ] >>787 天然だろ。 キャラ作るという発想は陰謀論の親戚。
789 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 09:47:38 ] 言葉だけでは人は分かり合えないのさ!
790 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 10:06:32 ] >>788 なんで?
791 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 10:26:39 ] オッカムの剃刀みたいなものだ
792 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 12:12:08 ] 荒れてしまってごめんなさい。英語勉強してから出直します…
793 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 12:47:58 ] 2chで下らない煽り合いを気にしてたら禿げるぞ (defmacro test (fun &rest lists) (let ((form `(,fun ,@lists))) `(format t "~S => ~A" ',form ,form))) (test mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9)) ↓ (mapcar #'+ '(1 2 3) '(4 5 6) '(7 8 9)) => (12 15 18) こーゆーのはちょこちょこ使う。
794 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 23:12:24 ] >>793 なんでわざわざ引数わけてるの? (defmacro test (&rest form) `(format t "~S => ~A" ',form ,form)) じゃダメなん?
795 名前:793 mailto:sage [2008/10/31(金) 01:04:40 ] うわ。2行目とか全然無駄だね、なんで分けたんだろ
796 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 06:59:48 ] (test) を引数が足りないエラーにするためじゃない?
797 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 18:14:47 ] Lisp in a box (ttp://common-lisp.net/project/lispbox/) を入れてVista上で使いはじめところなんですが、質問があります。 グラフィック系のプログラム(3D-CADや2Dグラフ表示)を 作りたいんですが、お勧めのライブラリとかありますか? 検索でこれ(ttp://www.cliki.net/graphics%20library)を 見つけたんですが、多すぎてどれを選べません。 orz できるだけインストールが簡単なものがいいです。 お知恵をお貸しください。m(_ _)m
798 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:18:18 ] 蝶オススメ ttp://miyamuko.s56.xrea.com/xyzzy/cairo/intro.htm
799 名前:797 mailto:sage [2008/11/03(月) 01:23:54 ] >>798 ありがとうございます。 さっそく動かしてみます! 3D系のものも、何かないでしょうか・・・。 3D CADのブール演算のようなものを作りたいんですが、 そのプリ・ポストに使う予定です。
800 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 14:15:00 ] slimeでステップ実行デバックはできないのでしょうか?
801 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 01:12:57 ] slime上で (require :hunchentoot) すると落ちる コンソール上だと落ちない
802 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 08:16:51 ] SLIME+CLISP REPLバッファで式を評価すると --- error in process filter: slime-dispatch-event: Elisp destructure-case failed: (:presentation-start 1 :repl-result) error in process filter: Elisp destructure-case failed: (:presentation-start 1 :repl-result) error in process filter: slime-dispatch-event: Elisp destructure-case failed: (:presentation-end 1 :repl-result) error in process filter: Elisp destructure-case failed: (:presentation-end 1 :repl-result) --- みたいなエラーがミニバッファに表示されて、それから結果が返ってきます 何が悪さをしているんでしょう? Emacs側なのかそれともLisp側なのか
803 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 10:30:30 ] >>801 実行環境を書かないと同じ経験した人ですら書き込み不能と思われ
804 名前:801 mailto:sage [2008/11/05(水) 14:16:58 ] >>803 ubuntu8.04 でapt-getでinstallされるsbclとslime emacs22 を使いました hunchentootはasdfでinstallしました
805 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 19:52:19 ] clispでLtkを使っています。 saveinitmem関数で実行形式のGUIアプリケーションを作ったのですが これはポータブルなのでしょうか?それともダウンロードしたユーザーのマシン内にclispや tcl/tk,ltkがインストールされていないと配布しても実行できないのでしょうか? もし実行できないのならLispからGUIを呼び出したアプリケーションの 配布方法を御享受願います。ほかにもCUIのツールがあるのですが どのように配布すればいいのかわからないのでよろしくお願いします。
806 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 11:19:53 ] common lispで数値計算簡単にできるようにしようと maximaの関数をsbclから直接利用しようとしたら lapack呼ぶ関数がgclでしか動かないみたいなのだけど 数値計算したかったらgclを使えってことなんでしょうか
807 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 01:14:28 ] clispを使っているのですが ext:run-program をネストするには どのようにすればいいのでしょうか? 開発環境がdebianなので他のOSに有るのかはわかりませんが su-to-rootとという内部コマンドがあり-XオプションをつけるとX上のダイアログで rootになれさらに-c cmdオプションでcmdをroot権限で実行する事ができます。 これとLtkを利用してボタンを押すとsu-to-rootでroot権限を手に入れて cmdを実行するという事をしたいのですがその実行したいcmdにも引数が必要だと (ext:run-program "su-to-root" :arguments '("-X" "-c" "cmd" "cmd-option")) と言う風にするとcmd-optionがsu-to-rootの引数と認識されてしまいます。 そこで (ext:run-program "su-to-root" :arguments '("-X" "-c" "cmd cmd-option")) としてみても動作は同じでした。 これを解決するにはどのようにすればいいのでしょうか? よろしくおねがいします。
808 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 01:22:36 ] >>807 CLの質問じゃない気がするが。俺の環境じゃ "cmd cmd-option" で動く。
809 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 06:02:53 ] そうですか... このような微妙な質問は何処ですればいいのか....
810 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 13:31:38 ] cmuclのrequireがアプリによって動いたり動かなかったりするのはバグですか?
811 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 21:34:10 ] やっぱスレタイがよくないと思うんだ 頭のmake-thread nameが余計だ 一瞬何のスレだかわからん これにせいで明らかに失速してる
812 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 21:54:50 ] そのせいで失速したかは知らないが 前の【入門】Common Lisp そのn【質問よろず】 ってスレタイは 初心者にも優しい感じがして好きだったなあ
813 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 22:57:23 ] 俺も前のスレタイの方がいいと思うな 次にスレ建てするときは戻すのを希望
814 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 23:12:55 ] (make-thread :name common-lisp :part 5) した結果が common-lisp :part 5 というスレだよな〜とは思っていた。
815 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 14:21:31 ] ○ Common Lisp × common-lisp
816 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:41:07 ] >>812 最初にlispの情報を集める時は 入門 tourotial lisp で検索する 今のスレタイだと検索にひっかからない
817 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:49:36 ] tourotial は必須だよな
818 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:20:26 ] ポーランド語?
819 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:13:54 ] どうでもいい事に時間を使わない それが神のlisper
820 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:14:25 ] どうでもいいレスありがとう。
821 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 14:47:37 ] 適当にスペル間違ってもgoogleが自動補正してくれるからな
822 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 17:57:00 ] (unsigned-byte 8)のarrayのポインタを指定バイト数だけ進めるのはどうしたらよいのだろうか? サイズを制限(?)するのであればfill-pointerが使えるようだが,書込み開始のオフセット アドレスを指定する方法がわからん 誰か教えてください
823 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 21:01:33 ] >>822 make-arrayの:displaced-toと:displaced-index-offset引数を指定で可能かと ttp://www.lispworks.com/documentation/HyperSpec/Body/f_mk_ar.htm
824 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:35:30 ] GUIに関して質問です。 LTK、SDL、CLIMなどがあるということはわかったのですが、それぞれの特徴なんかを教えていただけたらと思います。
825 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 23:02:24 ] あLispスレ1000いったか