1 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:52:46 ] 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))
892 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 23:49:45 ] サイズは書いてないけど、原書の太さを考えるとそこそこの太さになるんじゃないか?
893 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:45:05 ] 原書が昨日届いたばかりだ。
894 名前:865 mailto:sage [2008/06/13(金) 20:01:45 ] CommonLispで使用できるライブラリはどこで確認できるのでしょうか
895 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:25:20 ] aproposとかdescribeの事? それともHyperspecの方? プロダクト探すんだったらclikiとか?
896 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:58:15 ] >>895 回答ありがとうございます。 現状では関数を羽で作っているだけなので これからCommonLispで本格的にアプリケーションを作るにあたり 利用できるライブラリは利用する方が便利ですし、 ライブラリのソースコードをみて学習することで自分の学習にもなりますので 下さったページで学んでみたいと思います。 ありがとうございました。
897 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 13:17:23 ] 「実践Common Lisp」の出版日は7月何日なんだろう?
898 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:25:52 ] timeマクロで,関数単位でベンチが取れますが. 値はprintで表示されてしまいますよね. これをプログラムの中に取り込んで加工したいのですが,その場合 どうすればいいのでしょうか?
899 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:38:53 ] printを再定義すればおk
900 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 04:14:40 ] *standard-output*に何か別のストリームつっこんで取り出しちゃえば?
901 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:19:49 ] time の結果なら (with-output-to-string (*trace-output*) (time ...)) print した値なら (with-output-to-string (*standard-output*) (time ...)) でどうだろう。
902 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:01:53 ] マクロで(newaddres x y z)と入力すると (setf (get 'x 'y) 'z)と属性リストに代入することができるようにする マクロはどのように実現すれば良いのでしょうか
903 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:24:32 ] (defmacro newaddres (x y z) `(setf (get ',x ',y) ',z)) だが、本当にあなたがやりたい事はマクロが必要なのかな? (defun f (x y z) (setf (get x y) z)) でもいいんじゃないの?
904 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:11:17 ] >>903 >(defmacro newaddres (x y z) `(setf (get ',x ',y) ',z)) ありがとうございます。 ',の部分がわからなかったので助かりました。 >(defun newaddres (name title contents) (setf (get name title) contents)) としたのですが 定義した後(newaddres tanaka live yokohama)とするとTANAKA has no value と言うエラーが出てしまいます。
905 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:23:30 ] それだと、tanakaというシンボルを評価した結果 == 未定義な変数TANKAを参照しちゃう。評価を止めるには、'クォートをつける。 (newaddres 'tanaka 'live 'yokohama) クォートするのが面倒だって?だが、評価を ' で ON/OFF できるっつーことはだ、↓のようにできるってこと。 (setf yokohama-list '(tanaka yamada sato steve)) (dolist (who yokohama-list) (newaddress who 'live 'yokohama)) そもそもシンボル?評価?意味不明というならまた別途説明するよ。
906 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:51:27 ] いや、結構です。
907 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:10:49 ] >>906 やめて下さいよ 違う人がレスするのは
908 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:13:59 ] そういう用途にシンボル使う時は、印字表現に注意。特に空白。
909 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:31:41 ] scをみたけど、 巷にはcでlispインタプリタを作ってみたって人は多い。逆に lispでcインタプリタを作ってみたという人はきいたことがないな。 作る必要もないものね。
910 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 21:58:18 ] てか不可能。
911 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:00:45 ] cでcインタプリタは昔Cマガで見たな。 c++ならまだしもcのインタプリタなんて教育用途でも微妙だと思ったが。
912 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:32:10 ] >>910 理由は? # 「性能とかの実用性は度外視して」が前提だが。
913 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:40:25 ] Cインタプリタくらいあるだろ ttp://wiki.osdev.info/?C%2F%A5%A4%A5%F3%A5%BF%A5%D7%A5%EA%A5%BF
914 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:59:40 ] 2進数を10進数に変換する関数なのですが (defun two2ten (x) (let ((n 0) (goukei '())) (loop (if (< (1- (length x)) n) (return (lsadd goukei)) (progn (push (lsadd (mapcar #'(lambda (a) (* a (expt 2 n))) x)) goukei) (1+ n)))))) と言う関数がどこかが終わらないのか15秒ほど待ってみても答えが出ません。 何処に原因が有るのかおしえていただけませんでしょうか? lsadd:与えられたリストの全要素の合計を数で返す関数 自作ですがこれは確実に動作します。 xはリスト形式で式に与えています。(1 0 0 1 1 0)の様な形式です。
915 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 23:41:06 ] >>914 下を見れば分かるかな。その変数 n を出力してみるといいよ。 1+ だけじゃ値は増えてないから。 cl-user(12): (setq x 10) 10 cl-user(13): (1+ x) 11 cl-user(14): x 10
916 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 23:59:58 ] >>715 ありがとうございます。 忘れてしまっていました。 ありがとうございます。
917 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 00:21:57 ] 忘れるなよ。
918 名前:デフォルトの名無しさん [2008/06/21(土) 07:42:57 ] LispでDLLを作って他のプログラムから呼び出すことはできますか?
919 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 08:10:47 ] LispWorks, ECL はできるよ。CLISP, SBCL はできない。他の処理系はしらない。
920 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 19:38:23 ] CommonLispのメーリングリストを開設しようと思うのですが Yahooの提供サービスで良いのでしょうか YahooIDをお持ちでない先輩がいらっしゃるといけないので
921 名前:920 mailto:sage [2008/06/21(土) 19:43:34 ] GoogleMLは広告が入らないそうなのでこちらも良さそうなのですが これについても上と同様の質問についてお答え願います。