【入門】CommonLisp【 ..
75:デフォルトの名無しさん
04/12/05 16:03:59
>>74
> けど「ノシ」ってなに?
手を振る様子を表す擬態文字
76:デフォルトの名無しさん
04/12/05 16:55:49
>>1
あげる
スレリンク(php板)l50
77:デフォルトの名無しさん
04/12/07 12:38:46
最長一致法と分割数最小法で形態素解析を
やらねばならないのですが、どなたかやり方を教えてください。
特に文字列の照合が分からないです・・・。
78:デフォルトの名無しさん
04/12/07 22:26:29
>>53
メール来たよ。
とりあえず導入事例や開発事例を教えてもらうとするかな。
>>76
おいおい
79:デフォルトの名無しさん
04/12/09 01:10:12
aserverのリファレンスとかないの?
80:デフォルトの名無しさん
04/12/09 03:49:49
package::nameはあるのに
object.methodで呼び出したりはなぜできませんか?
81:デフォルトの名無しさん
04/12/09 04:26:11
>>80
(method obj foo bar baz ...) を、(obj.method foo bar baz ...) て書きたいってことですか?
generic function で第一引数を特別扱いする理由はないと思うのですが。
それとも method の引数が obj のみである特別の場合について、
obj.method でメソッドの適用をしたい、てことでしょうか。
82:デフォルトの名無しさん
04/12/09 21:22:50
なぜできませんかじゃなくて、する必要がないし。
メソッドがクラスに従属するものだと思ってるんでそ。きっと。
83:デフォルトの名無しさん
04/12/10 01:18:01
そりゃ一般に知られている言語のほとんどのメソッドというものは
クラスに属している(かのように見える)からねぇ。
CLOSのようにクラスの系に属するものは珍しいでしょ。
84:デフォルトの名無しさん
04/12/11 00:37:04
何だよクラスの系って。メソッドが属するのは総称関数でしょ。
85:デフォルトの名無しさん
04/12/11 22:44:05
EQLスペシャライザはクラスの系だ、と言いたいのだろう。
意味わかんねぇ。
86:デフォルトの名無しさん
04/12/14 00:33:44
誰かCLOSでJAVAのクラスライブラリのようなもの一緒に作らない?
勉強もかねて。
87:デフォルトの名無しさん
04/12/14 01:20:12
>86
なんでjavaなんだよ?
STLじゃダメなのかよ?
88:デフォルトの名無しさん
04/12/14 23:09:55
>>87
STLでもいいけどJAVAだったらソース公開されてるし、templateって
LISPには実装不要でしょ?
89:デフォルトの名無しさん
04/12/15 00:38:59
じゃRubyにしとけや
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
90:デフォルトの名無しさん
04/12/15 00:56:46
インフルエンザみたいにRuby厨が湧いてきたな。ここ2年ぐらいなかったのに
91:デフォルトの名無しさん
04/12/15 01:20:28
>>88
javaのコレクションフレームワークを実装したいのか?
気持ちはわかるがLispには型とかないからな、
あんまり役に立たないんじゃないか?
勉強にはなりそうだが
92:デフォルトの名無しさん
04/12/15 12:24:12
mapとかsetとかのレディメイドなコンテナが欲しいんだろうから
それなりに意味はあるんじゃない?
93:デフォルトの名無しさん
04/12/15 13:13:20
setは抽象データ型としての集合型だとして、
CLにはリストを集合とみなして操作対象とするオペレータは次のものがあるけど、これじゃ
だめなの?
INTERSECTION, NINTERSECTION, ADJOIN, PUSHNEW, SET-DIFFERENCE, NSET-DIFFERENCE
SET-EXCLUSIVE-OR, NSET-EXCLUSIVE-OR, SUBSETP, UNION, NUNION
94:デフォルトの名無しさん
04/12/15 13:30:28
特定の型だけを格納すると宣言した、consに相当する構造体を定義して
上記のオペレータをgeneric functionのメソッドとして実装することで、
既存の標準オペレータ群を透過的に拡張する。
(しかしGF化のペナルティーを差し引いてもお釣りがくるほど、速くなるか?)
95:デフォルトの名無しさん
04/12/15 13:35:03
Brunoタソは、GNU CLISPでは、ジェネリック関数の呼び出しは通常関数の呼び出しに
比べて、7〜9倍くらい遅いと言ってたよ。
96:デフォルトの名無しさん
04/12/16 00:12:27
>javaのコレクションフレームワークを実装したいのか?
もし、そういうものがあればJAVAプログラマーをlispに取り込める
かもしれんな。つーわけで協力してもいいぞ。
97:デフォルトの名無しさん
04/12/16 08:53:02
>>96 Javaのコレクションフレームワークにあって現在のLispにないものって
何か教えてくれませんか?
URLリンク(www.stackasterisk.jp)
をチラっと読んだかぎりでは、すでにほとんど同じものがLispに存在しているように
感じられたので。
98:デフォルトの名無しさん
04/12/16 18:54:53
Iterator って CL にある?
99:デフォルトの名無しさん
04/12/16 23:07:36
>>97
ってゆ〜か、LISPってそういう関数の紹介ページないの?
JAVADOCみたいなものでもいいけど
100:デフォルトの名無しさん
04/12/16 23:09:08
そして100ゲット!!
101:デフォルトの名無しさん
04/12/16 23:27:45
Hyperspec
102:デフォルトの名無しさん
04/12/17 09:13:46
>>99 言語としてのCommon Lispは、ANSI(アメリカ規格協会)という団体が定めた規格書によって
規定されています。
この規格書にもとづいて、各実装者がそれぞれの処理系を実装しています。
この規格書をHTML化し、リンクなどを張りめぐらした、Xanalys社の
Common Lisp HyperSpec が比較的有名です。これは、
URLリンク(www.lispworks.com)
で閲覧も出来ますし、無料でダウンロードすることもできます。
Common Lispの言語仕様上の議論はこの規格書を基礎として行う事が多いと思います。
いわゆるコンテナのようなものとしては、Conses, Sequences, Hash tables,
のDictionary ページを見てみると様子がわかるかもしれません。
103:デフォルトの名無しさん
04/12/17 09:27:07
>>98
> Iterator って CL にある?
Iteratorは、with-hash-table-iterator, with-package-iteratorなどの
ハッシュテーブル用とパッケージ内のシンボル走査用のものはありますが、
Sequence用には用意されていません。
では、Sequence(リストとベクタ)の各要素を走査していくときはどうするかというと、
リストには、mapcar, mapc, mapcan, maplist, mapl, mapcon, dolist
Sequenceには、map, map-intoが用意されています。
また、その他にも、汎用のループオペレータであるdo, do*, loopなんかも
あります。
Sequence用のiteratorを実装してみるのは、Lispに慣れる練習になるかも。
104:デフォルトの名無しさん
04/12/17 10:30:09
CommonLISPはsetfがキモイ
105:デフォルトの名無しさん
04/12/17 10:33:25
ならばどうあればきもくないのか言わないと。
106:デフォルトの名無しさん
04/12/17 10:57:40
>>104 Generalized Referenceは飛び道具という感じはするけど、
(incf (getf *billing* :total) 100)
なんて記法ができるのはしびれるね。
107:デフォルトの名無しさん
04/12/17 11:21:20
*f系マクロ定義読んでみ?
無茶苦茶だぜ?デバッグ大変な気が。
ああいうのを「慣れ」としていいのだろうか、
と疑問に思った。
と同時にLISPの限界を見たって感じか。
ここまで力を持つ構文作るなら
万能代入メソッドみたいなの作ればいいと思った。
108:デフォルトの名無しさん
04/12/17 11:57:49
GNU CLISPのrotatefマクロの定義を見たけど、そんなに無茶苦茶かな? 22行だし。
get-setf-expansionの返り値の意味を把握していないと辛いけど。
ちなみに変数の値を単純にswapするイディオムの展開は次のような感じ。
(macroexpand '(rotatef a b))=>
(LET* NIL
(MULTIPLE-VALUE-BIND (#:G5407) A
(MULTIPLE-VALUE-BIND (#:G5406) B (SETQ A #:G5406) (SETQ B #:G5407)))
NIL)
> 万能代入メソッドみたいなの作ればいいと思った。
そういう仕組みがdefsetfなのでは? メソッドとはCLOSのメソッドということ?
Lispでは「構文」と「メソッド」との区別が
それを使用しているコード上では分かりにくいからね。
109:デフォルトの名無しさん
04/12/18 18:11:01
なんていうか、86はCLOSだけでコレクションフレームワークをつくり
たいんだよな?それは総称関数だけのライブラリってことなのか?
110:デフォルトの名無しさん
04/12/18 19:33:44
Eclipseでlispが犯りて〜〜
111:デフォルトの名無しさん
04/12/18 19:46:50
アナグラムすると
ELISP-CE = カスタマーエンジニア向けのEmacsLisp
112:デフォルトの名無しさん
04/12/18 20:54:33
Ω ΩΩ<・・・
113:デフォルトの名無しさん
04/12/18 21:28:01
>>110 EclispでLisp開発するためのプラグインを書いている人がすくなくとも
2人はいる。
114:デフォルトの名無しさん
04/12/18 21:30:13
>113
誰ですか?
して、そのプラグインは公開されてるのですか?
115:デフォルトの名無しさん
04/12/18 21:42:37
もったいぶって悪かったな。
URLリンク(www.czempin.de)
URLリンク(lemonodor.com)
進行状況はわからん。
116:デフォルトの名無しさん
04/12/18 22:05:23
>115
こっちこそすまん。聞き方がずさんだった。
まさか、マジに存在してるとは思ってなかった。
今から使ってみる。
117:デフォルトの名無しさん
04/12/18 22:32:00
Lisp in a box をMeadowで作ってくれる人いないかな…
URLリンク(common-lisp.net)
WindowsでGNU CLISP + SLIME環境を整えるのが簡単になったらいいな。
118:デフォルトの名無しさん
04/12/19 04:24:46
WINDOWSは開発環境としてはlisperには見放されている。
あきらめるべし
119:デフォルトの名無しさん
04/12/19 14:36:32
s/lisper/野良lisper/
逆に職業軍人向けはWindows環境が一番充実してる罠。
120:デフォルトの名無しさん
04/12/19 15:04:26
なんで軍人??
121:デフォルトの名無しさん
04/12/19 15:42:55
とまべっちに聞け。
122:デフォルトの名無しさん
04/12/19 23:29:21
(defclass Object()())
これtop
123:デフォルトの名無しさん
04/12/20 23:31:57
xyyzzyってdefclass使えないの?
124:デフォルトの名無しさん
04/12/21 00:56:45
>>118
CLISP, GCL, ABCL はどれも Windows 上で動きますが…
Windows で CLISP + SLIME 環境を準備するのは難しいですか?
Emacs + CLISP + SLIME をまとめたパッケージが欲しいという
レベル?インストーラを作ったら需要があるのかなぁ.
# CMUCL, SBCL も Windows 対応が進行中ですし.
# 特に見放されては居ないとおもいますが.
>>123
xyzzy は ANSI CL じゃなくてその前の CLtL2 ベースですから
defclass はありません.
125:デフォルトの名無しさん
04/12/21 08:21:37
>>124
手軽にlispやりたいひとには需要あるんじゃない?
選択肢が増える。
>>123
defclassは自分で実装しろ
126:デフォルトの名無しさん
04/12/21 08:43:27
>>124
> Emacs + CLISP + SLIME をまとめたパッケージが欲しいという
> レベル?インストーラを作ったら需要があるのかなぁ.
それは117が言っているように"Lisp in a box"としてすでに存在するので、
それのEmacsをMeadowに変更してくれと言う事ではないかな?
127:デフォルトの名無しさん
04/12/21 12:57:06
>>124
> CLISP, GCL, ABCL はどれも Windows 上で動きますが…
CLtL2 キボン.さらに Windows で動いて,
しかも日本語も安心して使えないと困ります.clisp はダメぽ.
ビルドの仕方だけの問題なのかな?
どなたか japanese にやさしい clisp-win32 バイナリください m(__)m
lisp じゃないけど,windows 用ってなぜかインストーラ付きばかりですよね.
administrator 権限が無いマシンでは試すことさえできません.
大学の設備でプログラミングがやりずらいなんて...orz
128:デフォルトの名無しさん
04/12/21 22:53:28
質問です。
"0"を任意の数だけ表示する関数を教えてください。
(setq i 0)
(while (< i 32) (print "0")(setq i (+ i 1)))
で上手くいかない・・・
129:デフォルトの名無しさん
04/12/21 22:59:54
WindowsではCMUCLって使えないの?
130:デフォルトの名無しさん
04/12/21 23:01:04
使えるけど
131:デフォルトの名無しさん
04/12/21 23:01:51
cygwinの上で、とか無しで
132:デフォルトの名無しさん
04/12/21 23:28:38
>>128
任意個の"0"を並べた文字列をつくる
それを表示する
133:デフォルトの名無しさん
04/12/21 23:50:59
私、初心者ですが、恐れながら一言、言わせて板抱きます。
>>132
lisp ですから、文字列ではなく、リストを使うべきではないでしょうか?
例
(mapcar #'princ '("0" "0" "0"))
134:デフォルトの名無しさん
04/12/21 23:51:52
なぜ128でうまくいかないか考えたまえ。
135:133
04/12/21 23:53:16
すいません。
" なしで。
(mapcar #'princ '(0 0 0))
136:デフォルトの名無しさん
04/12/21 23:54:56
任意個に挑んで。
137:デフォルトの名無しさん
04/12/22 00:24:42
XYZZYでバイトコンパイルしたものはJAVAから呼べないの?
138:デフォルトの名無しさん
04/12/22 00:30:54
>>126
うぐ,自分は NT Emacs 使いなので…メイン環境が FreeBSD なんで site-lisp
とか共有する都合上 NT Emacs ですが,Meadow のが良いんですかね?
>>127
CLtL2 よりは HyperSpec のほうが…あれ?ライセンスは良いのかな?
CLISP は一番多言語サポートが良いと思いますが.あー Windows だと
ビルド環境整えるのが面倒なんで日本語サポートは….
139:デフォルトの名無しさん
04/12/22 00:39:46
>>128
環境は何ですか? Common Lisp には標準では while はありません.
n 個 0 を表示するには下記の方法から好きなものをどーぞ.
;; dotimes 構文
(defun f1 (n)
(dotimes (i n)
(princ n)))
;; do 構文
(defun f2 (n)
(do ((i 0 (1+ i))) ;; i=0 を宣言し,ループ毎に i = (1+ i) してカウンタを増す
((= i n)) ;; i==n になったらループ停止
(princ 0)))
;; loop 構文
(defun f3 (n)
(loop repeat n do (princ n)))
;; 再帰
(defun f4 (n)
(cond ((= n 0)
(princ 0))
(t
(princ 0)
(f4 (- n 1)))))
140:デフォルトの名無しさん
04/12/22 00:56:30
>>139
をを、ありがとうございます。
でわdoを戴きます
141:デフォルトの名無しさん
04/12/22 01:34:52
どうでもいいが >>140 さんの環境は何だったのでしょう?
>>133
N 回の繰り返す時必要な情報は「何回繰り返したか?」という数値一つで良いですし、
結果も画面表示が得られれば良いだけなので「リストを使うべき」というほどでも
ありませんね。まぁ、mapcar を使うとすると
(defun zerozero (n)
(mapcar #'princ (make-list n :initial-element 0)))
でしょうか?mapcar は結果として 0 が n 個はいったのリストを返しますが、
これは表示のためだけにはちょっと勿体ないかもしれません。
Lisp だから List という考えかたではなく、状況によって適切なデータ構造は
何か?を考えるようにすると上達がはやいと思います。
>>137
呼べません。バイトコンパイルっつってもバイトコードの体系が違います。
142:132
04/12/22 08:14:46
(princ (make-string count :initial-element #\0))
>>128の例に出てくるようなオーダーならこれで十分でしょ。
多分一番早いし速い。
数がでかいのに対応したきゃ適当な単位に分ければよし。
143:デフォルトの名無しさん
04/12/22 09:37:00
>>133
Lispだからリストを使うべきってすごい思い込みだ
CommonLispには他にも配列やら構造体やらクラスやらいろいろあるよ
あるものは使わなきゃ
144:デフォルトの名無しさん
04/12/23 16:47:10
CMUCLはネイティブコンパイルができるらしい。
他にネイティブコンパイルできるものはないのか?
Windows限定で(ACLなしで)
145:デフォルトの名無しさん
04/12/23 17:32:01
(setf str (if t "+" "-"))
(setf sym (if nil '+ '-))
(funcall (string->function str) 1 2) ; => 3
(funcall (symbol->function sym) 1 2) ; => -1
のようなことをするにはどうしたらよいですか?
引数として与えられた文字列やsymbolにバインドされた関数
を返す関数を使いたいのてす。
146:デフォルトの名無しさん
04/12/23 17:33:49
intern, symbol-value, symbol-function
147:デフォルトの名無しさん
04/12/23 17:37:40
それだ!すげー速いレスthnx
148:デフォルトの名無しさん
04/12/23 19:18:05
>>144
LispWorksは?
149:デフォルトの名無しさん
04/12/23 19:45:46
(funcall sym 1 2)で動くんじゃないの?
150:デフォルトの名無しさん
04/12/23 21:14:30
>>144
ありますよ
LispWorks $1100
Corman Common Lisp $200 (非商用フリー)
GCL Free
ECL Free
ってとこでしょうか
151:デフォルトの名無しさん
04/12/24 00:31:23
>>144
なんでACLは除外なの?
152:デフォルトの名無しさん
04/12/24 00:34:03
>151
高すぎるから。
GCLとかよさそう。
GUIつきとかないかな
153:デフォルトの名無しさん
04/12/24 00:37:14
>>152
$599(62,000円)からあるけど。
154:デフォルトの名無しさん
04/12/24 00:52:17
>>150
日本語が通るのはLispWorksだけ?
155:デフォルトの名無しさん
04/12/24 11:38:55
>>154
> 日本語が通るのはLispWorksだけ?
たぶんそう。ただ上記にリストアップされていない、JVM上で動作するABCL(Armed Bear Common Lisp)は
日本語通りそうな気もする。だれか試していない?
156:デフォルトの名無しさん
04/12/24 16:57:08
オマエガタメセ
157:デフォルトの名無しさん
04/12/24 20:10:33
>>155 (length "いろは") => 6だって。設定次第でどうにかなるのかな?
158:デフォルトの名無しさん
04/12/24 22:12:24
>>157
ウニコードだからむりぽ。
LispWorks, ACL も3が蛙。
159:デフォルトの名無しさん
04/12/25 01:15:19
文字列→symbol→bindされた関数→適用
するのにCommonLispでは (funcall (intern "+") 1 2)
schemeだと
((eval (string->symbol "+") (scheme-report-environment 5)) 1 2)
こんなのしか書けなかった。もっとましな書き方があるはずですよね。
160:デフォルトの名無しさん
04/12/25 01:29:56
intern 相当がschemeにはないからな
161:デフォルトの名無しさん
04/12/25 22:50:04
色々あったが、一応社内の小規模アプリをACLで書く許可が出た。
これをパイロットPJとして、使い勝手、速度、仕様変更対応コストなど
データを取る予定。
162:デフォルトの名無しさん
04/12/25 23:59:11
どんなことがあったの?
163:デフォルトの名無しさん
04/12/26 12:05:05
>>161
小規模1人プロジエクトじゃデータにならんと思われ。
164:デフォルトの名無しさん
04/12/26 18:20:13
「Lispの表記をUML拡張できないか?詳細なものを」by課長
殺すしかねぇな
165:デフォルトの名無しさん
04/12/26 19:21:11
COBOLのほうがまだましだな。
166:デフォルトの名無しさん
04/12/26 21:52:19
>>164
何か問題でも?
167:デフォルトの名無しさん
04/12/26 22:20:50
>>166
殺人は犯罪ですから。
168:デフォルトの名無しさん
04/12/26 22:58:58
UMLでlispを書け、というのはわからんでもない。
一応UML2.0の読み書きぐらいなら仕事で使うレベルならば困らない。
が、私はスリーアミーゴスでもメラーでもケントベックでも、ファウラー
でもない。
「lispコードを読み込んで、UMLを作成するtool」なんざ作れん。
んな技術あったらラショナルに転職するわい。
だいたいLisp用にUMLを拡張するだけでも私の手に余るってんだよ。
169:デフォルトの名無しさん
04/12/27 00:48:07
>>167
社会的に抹殺してやれば団塊世代なんて直ぐに自殺しますよ。意外と軟弱。
170:デフォルトの名無しさん
04/12/27 02:02:28
物騒な話はヨソでやるよろし。
171:デフォルトの名無しさん
04/12/27 02:18:25
LISPコードはマクロのせいで、全部展開しないとパースは無理だから
機械的に意味を抽出できても意図とはかけ離れたものになると思う
コンパイラを1つ作るようなもの
172:デフォルトの名無しさん
04/12/27 11:03:26
macroexpandすればいいだけやん。
どのみちLispのコンパイラなんて簡単に書けるんだから
そう大層に言うほどのことじゃない。
173:デフォルトの名無しさん
04/12/27 14:42:32
いやだから、macroexpandした後の内容でいいのかって話
174:デフォルトの名無しさん
04/12/27 14:53:07
? 着目したい構造がマクロで定義されているんだったらそれはmacroexpandせずに
残せばいい話でしょ?
選択的にmacroexpandするようなのはコンパイラなんて気負うまでもなく書けるでしょ。
C/C++のcppマクロなんかとはわけが違うよ?
175:デフォルトの名無しさん
04/12/27 19:55:00
問題はdefmacroの扱い方以前に、defunでもdefmethodでも
defclassでもdefgenericでもいいのだが、それらをクラス図で扱うと言うの
なら、UMLをLisp用に拡張しなければならないということだ。
言語事態があまりにもC#やJAVAとはかけ離れすぎているから、
メタクラス使って拡張してXMI対応もしなければならない。
これを三人(私+新人二人)で、一月ではキツくねぇだろうかと、
思った次第(このtool自体をLispで書けは流石に無茶だろう)。
176:デフォルトの名無しさん
04/12/27 23:58:31
>>175
ふと思ったんだが、その課長さんUMLとXMLと勘違いしていないかい?
どっかで「LISPでプログラム書いてXMLに変換するのはナウいですよ」とか言われて...
課長さん、忘れない様にブツブツ言いながら帰ってくる途中に
XML XML XML ... <地下鉄の中><居眠り><ドトールでコヒー> ... UML UML UML
ってなぐあい。あり得ないかもしれんが、そうであることを君のために祈っているよ(笑
177:デフォルトの名無しさん
04/12/28 08:20:49
>UMLをLisp用に拡張しなければならないということだ
やってみたら?
もし出来たら発表してよ。
178:デフォルトの名無しさん
04/12/28 23:27:44
仕事で使うものをここで発表なんかするかよ
179:デフォルトの名無しさん
04/12/31 07:25:57
arcっていつ出るの?
180:デフォルトの名無しさん
04/12/31 08:20:24
arcはグラハムの脳内言語ですが何か?
奴に処理系作る時間は無いかと
181:デフォルトの名無しさん
04/12/31 09:29:01
じゃあグレアムは普段何やってんだろ。
働かなくても食っていける資産はあるだろ。
まさかエッセイばかり書いているわけでもあるまい。
182:デフォルトの名無しさん
04/12/31 10:33:04
グレアムって誰?
183:デフォルトの名無しさん
04/12/31 10:50:40
Paul Graham
ポール グレアム
ポール グラハム
どっちが正しい?
184:デフォルトの名無しさん
04/12/31 10:51:18
つか、香具師はフランス人?
185:デフォルトの名無しさん
04/12/31 11:15:02
アメリカのLisperと話す時は「グレアム」で通じるけど。
「グラハム」って呼んでる人は会ったことない。
186:デフォルトの名無しさん
04/12/31 12:04:25
グリィォムだな。
187:デフォルトの名無しさん
04/12/31 12:14:09
∧_∧
(゚∀゚ )ー┐ グレアムグレアム!
しヽ し′
彡 > 彡)
/ / /
(_(__)
∧_∧
┌ー( ゚∀゚)グレアムグレアム!
丶J /J
( ミ < ミ
丶 丶 丶
(__)_)
188:デフォルトの名無しさん
04/12/31 13:08:55
食べすぎの日記にも出てきませんね.
資産があって暇なら数値計算にも手を出して,文書を書いて欲しいです.
189:デフォルトの名無しさん
05/01/01 03:48:01
奴はLISP処理系を1から作るなんてことはしない
CommonLispのラッパーみたいなので済まそうと考えてるヘタレ
どう見てもarcは破綻してるだろ
190:デフォルトの名無しさん
05/01/01 04:52:28
arcってよく知らんのだが、CLと何が違うの?
ラップでもなんでもいいんだが、ただの方言でしかないのか?
191:デフォルトの名無しさん
05/01/01 05:19:25
>>190
URLリンク(www.paulgraham.com)
URLリンク(www.paulgraham.com)
この辺を読んでイメージをつかんでくれ、と言いたいところだけれど、
原理的なところと実用的なところの話がごっちゃに出てきてて、
いまいちはっきりしないのは確かだな。
一応、かつて上記のを読んで印象に残ってるのは、
名前空間はひとつ、てのとマクロをオプションで実行時展開できるようにする、
て話かなあ、CL と違うってことだと。
まあ、基本的には Lisp は Lisp なんで糖衣構文で何とかならない?
的なネタもある、というか多いけれど。
あとはインデントに構文的な意味を与える、とかもあったかな。
192:デフォルトの名無しさん
05/01/01 23:09:28
おめーらがやってる批評もどきのRubyに対する足引っ張りはな、
十把一絡げの愚図Java,C++,Perlみたいなカス言語フリーク野郎が
Ruby作者matzのような結果を出した人間と自分との格差を認められず
おこがましくも精神的に一矢報いようとするために
仰々しく「批評」とか名付けた浅ましい自己主張で攻撃して
自尊心を慰めてるにすぎない。
実際問題として、お前みたいな奴が考えてるほど
批評された側の役に立ってるわけがないだろ?ボケが。
その口から出るクソが誰かに感謝でもされたか?ああ?
自意識過剰甚だしいんだよ、この自己愛のボケ奴隷が。
数倍マシ?寝言は寝て言えよこの恥知らず野郎。
ネットで万能感むき出しにしてオナってんじゃねーよ。
批判する野党が重要だぁ?プ
公明党にでも投票してろ白痴野郎。
193:デフォルトの名無しさん
05/01/03 01:01:18
>>192
A: 誤爆
B: 編集忘れ
C: スクリプト
D: 釣り
正解はどれ?
194:デフォルトの名無しさん
05/01/03 01:30:56
どっかで見た
E: コピペ
195:デフォルトの名無しさん
05/01/03 13:05:40
LispでSOA出来ますか?
ようはLispでSOAPが出来ますか、と言うことですが。
196:デフォルトの名無しさん
05/01/03 13:39:15
LISPは完成された言語である。
故にSOAP対応なんてする必要がない。
去れ、邪教徒よ。
197:デフォルトの名無しさん
05/01/03 23:02:34
lisp や scheme で数値計算をするにあたって,どんなライブラリがありますか?
octave 並に楽に書けると嬉しいです.
(let* ((time (linspace 0, 1, 128))
(y (cos time)))
(Y (ffi y))
...
みたいな.
;; slib の plotting はジョーク?
198:197
05/01/03 23:32:44
スマン.matlisp というのが cliki にありました.
どちらかというと,Windows でも良い処理系がある scheme の方が
ポータビリティ (?) がいいのかな?
199:デフォルトの名無しさん
05/01/04 00:30:52
金に糸目をつけなければCommon Lispにもあるんでない?
200:デフォルトの名無しさん
05/01/04 08:18:14
>>196
完成って・・・
SOA対応でlispからSOAの手軽な実装方法とか出せたら、
今のC#とかJAVAに取って代われるかもしれないぞ?
201:デフォルトの名無しさん
05/01/04 23:09:04
>今のC#とかJAVAに取って代われるかもしれないぞ?
なんか今年の初夢みたいな話だな(笑
202:デフォルトの名無しさん
05/01/06 06:53:58
決心した。
ACL7.0を買う!!
203:デフォルトの名無しさん
05/01/06 07:02:20
>>202
俺にも(ヽ゚д)クレ
204:デフォルトの名無しさん
05/01/08 20:07:47
WINDOWS環境です。
CLISPのバイトコードをJAVAとかVC++から呼ぶことは出来ますか?
またCLISPからC++やJAVAを呼ぶことは出来ますか?
JYTHONみたいにJAVAのクラスをぞのまま呼べるCLの環境とか
ありますか?(これは流石にないか)
205:デフォルトの名無しさん
05/01/08 20:34:26
できません(バイトコードのフォーマットが違います)
できません(exeにすれば実行はできるかもしれません)
できません
206:デフォルトの名無しさん
05/01/09 01:36:21
ACL
207:デフォルトの名無しさん
05/01/09 02:06:49
>>204
Java と連携したいなら ABCL とか。
URLリンク(armedbear-j.sourceforge.net)
URLリンク(www.cliki.net)
JFLI が LispWorks 以外で動くのを気長に待つとか。
URLリンク(jfli.sourceforge.net)
;; どっちも使ったこと無いけど。
208:デフォルトの名無しさん
05/01/09 10:10:14
>>207
サンクス〜〜
つかjfliは凄くないかい?
ぱっと見はJYTHONを超えてるよ。
ま、見た目なんだが。
209:デフォルトの名無しさん
05/01/09 11:15:28
>>204
> またCLISPからC++やJAVAを呼ぶことは出来ますか?
これは,c++ のヘッダファイルを読んで defclass するってことですか?
c++ で作った共有ライブラリを clisp で呼ぶことはできますね (って知ってるかorz).
210:デフォルトの名無しさん
05/01/09 11:17:36
>c++ で作った共有ライブラリを clisp で呼ぶことはできますね (って知ってるかorz).
・・・・・・・・・知らないです。
CLISP歴2時間なんで.....orz
211:デフォルトの名無しさん
05/01/09 11:35:09
Java との連携なら、Bill Clementson の Blog にまとまってるよ。
URLリンク(lwn.net)
URLリンク(home.comcast.net)
Rich Hickey って素敵な名前だな。あやかりたい・・・。
212:デフォルトの名無しさん
05/01/09 14:07:07
Lispマシンについて興味あります。
ちょっとづつ調べているんですが、質問させてください。
1.Lispマシンは現在販売されているのでしょうか?
2.LispマシンはOSもLisp実装なのでしょうか?
3.趣味で作ってみたい(FPGL+VHDL)と思ってますが、
同様に挑戦された方の記録をご存知でしたら教えて
ください。
213:デフォルトの名無しさん
05/01/09 14:25:05
>>212
似た事をしている人なら居るよ。
URLリンク(common-lisp.net)
本物の Lisp マシンは GC を H/W でやってたらしいね。
214:デフォルトの名無しさん
05/01/09 16:36:56
URLリンク(pocket.free.fr)
これもある意味 LispM かな。ちょっと欲しいかも。
215:デフォルトの名無しさん
05/01/09 17:54:01
>>213,214
さっそくのレスありがとう。
>>213
GCもハードですか・・・
さすがLispマシンですね。
教えていただいたページを読んでみます。
英語・・・なので、読むの時間がかかりそうですが・・・(^ ^;
>>214
HPを見たのですが、Lispという記述がみつからなかった
のですが、ソフトはLispで実装されているのですか?
216:デフォルトの名無しさん
05/01/09 18:25:59
>>215
AI-1000 についてはここら辺を見て下さい。
URLリンク(www2b.biglobe.ne.jp)
URLリンク(www6.plala.or.jp)
URLリンク(jp.franz.com)
以前 Lisp スレで話題に上がっていた LispM エミュレータ。
URLリンク(www2.parc.com)
URLリンク(www.heeltoe.com)
(medley は Solaris で動きました。
URL はここ経由です。 URLリンク(lambda.s55.xrea.com))
217:デフォルトの名無しさん
05/01/10 11:22:37
>>216
わざわざありがとうございます。
2年位かけて自分だけのLispマシンを作るつもりです。
最終的にはハードも自作できたらいいなと思っています。
なにぶん初心者なので、まずは教えていただいたMovitzを
いじって簡単なOSをつくるところから始めたいと思います。
では、なにか成果がありましたらご報告します。
218:デフォルトの名無しさん
05/01/10 19:26:21
>>217
なんか、往年のX68000ユーザみたいなこと言うね。その姿勢は好きなんで頑張ってね。
219:デフォルトの名無しさん
05/01/11 23:17:57
MorphyOneの二の前になりそうな悪寒
220:デフォルトの名無しさん
05/01/12 00:39:53
失敗しても誰にも迷惑かからないんだからいいんじゃないの?
221:デフォルトの名無しさん
05/01/12 00:45:56
>>219
懐かしい…
222:デフォルトの名無しさん
05/01/13 12:29:28
>>187 ちゃんと括弧閉じろよ
223:デフォルトの名無しさん
05/01/13 18:31:13
>>219
>MorphyOneの二の前になりそうな悪寒
二の前は一?
224:デフォルトの名無しさん
05/01/15 19:36:40
lispでservletみたいなことってできないの?
225:デフォルトの名無しさん
05/01/20 06:38:16
>>224
余裕でできる。 aserve でググれ。
226:デフォルトの名無しさん
05/01/20 21:16:56
aserver落としてきた
でもコンパイルできない
faslが作れん
何故だ?
227:デフォルトの名無しさん
05/01/21 01:33:31
ぼうや(rya
228:デフォルトの名無しさん
05/01/21 07:01:25
>>226
aclはデモ版か?
(sys:update-allegro)とかちゃんとやっとけや(゚Д゚)ゴルァ!
229:デフォルトの名無しさん
05/01/21 22:42:08
updateしてんだけどなぁ。。。
何故かコンパイル中に強制終了する
やり方間違っていんのかなぁ?
230:デフォルトの名無しさん
05/01/22 00:39:16
226はaserverって書いてるけどAllegroServe(aserve)のことか?
「落としてきた」って書くからにはACL突っ込むと勝手にインストールされる奴じゃ
なくてPortable AllegroAserveをコンパイルしようとしてるってこと?
いずれにしても、処理系のバージョンとかプラットフォームとかどんな症状なのかとか
もちっと詳しく書けや。エスパー募集中ならそれも書いとけ。
231:デフォルトの名無しさん
05/01/22 04:32:22
>>230
環境はWinXPにACL6.2TrialでaserverはAllegroServeを落としてきた。
んで、faslがないからコンパイルしたら途中で異常終了する。
こんなところ。
232:デフォルトの名無しさん
05/01/22 06:58:02
型書いたらちゃんと最適化してくれる?
関数の入り口に型書いたらちゃんとその型以外はブロックしてくれる?
気になって夜も練れません
233:デフォルトの名無しさん
05/01/22 06:59:28
関数の戻り型ってどう書くの?
つーか書けるの?
こうして朝を迎えました
234:デフォルトの名無しさん
05/01/22 07:12:55
JAVAみたいにpackageってあるの?
ありそうなんだけど、書き方がわからない
自分で定義した関数や変数を自前のpackageに入れるってできますか?
235:デフォルトの名無しさん
05/01/22 08:46:33
>>232
> 型書いたらちゃんと最適化してくれる?
言語仕様上は要求されていないが、最適化してくれる処理系は存在する。
> 関数の入り口に型書いたらちゃんとその型以外はブロックしてくれる?
当て推量だが、あなたが意図しているようなのは通常の関数にはないかも。
ジェネリック関数は、引数の型による自動エラー報知機能を持っていると
考えてもいいかな。
普通にコーディングしていれば、型宣言をしなくても、予想外の型に対して
変なことをしようとすれば実行時にエラーとなり、コード上でそれを捕捉可能。
型宣言をしておくと、賢いコンパイラは、型やぶりな関数呼び出しだと推論
できたときは警告やエラーを発するものもある。たとえば(car 1)などね。
236:デフォルトの名無しさん
05/01/22 08:51:19
>>233 関数の戻り型ってどう書くの?
URLリンク(www.lispworks.com)
(declare (ftype (function (number) float) sine))
237:デフォルトの名無しさん
05/01/22 08:55:23
>> 234
> JAVAみたいにpackageってあるの?
Javaと同等なものかは分からないけど、パッケージはある。
> ありそうなんだけど、書き方がわからない
> 自分で定義した関数や変数を自前のpackageに入れるってできますか?
できる。英語が読めるんなら、最近はネットで入門書がごろごろしていると思うよ。
238:デフォルトの名無しさん
05/01/22 09:03:51
>>234
たとえば、「Practical Common Lisp」の
21. Programming in the Large: Packages and Symbols
URLリンク(www.gigamonkeys.com)
とかね。俺は読んで無いんで内容の保証はできんけど。
239:デフォルトの名無しさん
05/01/22 10:28:26
>>234
Lispのインタラクティブな環境でパッケージを移動して作業してみると、
パッケージってのが単なる名前空間って事が感覚として良くわかる。
240:デフォルトの名無しさん
05/01/22 17:37:47
>>231
acl 起動して
(require :aserve)
して、
c:\Program Files\acl62-trial\examples\aserve\examples.cl
をロードして、
(net.aserve:start :port 7777)
して、
URLリンク(localhost:7777)
を開く。
241:デフォルトの名無しさん
05/01/22 18:44:27
$599のACL7ってどの程度のものなんでしょうか?
個人でちょっと勉強がてらに使うことを考えているのですが?
めちゃくちゃ制限があるのでしょうか?
242:デフォルトの名無しさん
05/01/22 19:25:39
このスレの住人は、LISPでどんな「問題」を解いているんですか?
つーか、みんな院生?
243:デフォルトの名無しさん
05/01/22 19:26:46
Lispでお洗濯物問題とお夕飯問題を解決しました!
244:デフォルトの名無しさん
05/01/23 01:48:12
>>240
動いたよ〜ありがとう♪
しかし、なぜfaslが作れなかったのか・・・
245:デフォルトの名無しさん
05/01/23 02:26:31
(defun func()(* 12 12))
func
(defpackage "my-package"
(:export "FUNC"))
funcという関数をmy-packageにexportしたいんですが、defpackageでエラー
になります。何が間違ってるんでしょうか??
246:デフォルトの名無しさん
05/01/23 09:21:45
>>245
CL-USER> (defpackage "MY-PACKAGE" (:export "FUNC")) => #<PACKAGE MY-PACKAGE>
CL-USER> (in-package "MY-PACKAGE") => #<PACKAGE MY-PACKAGE>
MY-PACKAGE> (defun func () (* 12 12)) => func
MY-PACKAGE> (in-package "CL-USER") => #<PACKAGE COMMON-LISP-USER>
CL-USER> (my-package:func) => 144
CL-USER> (func) -> undefined function FUNC [Condition of type SYSTEM::SIMPLE-UNDEFINED-FUNCTION]
247:デフォルトの名無しさん
05/01/23 09:23:55
246の続き。
CL-USER> (shadowing-import 'my-package:func) => T
CL-USER> (func) => 144
248:デフォルトの名無しさん
05/01/23 09:36:56
>>245 あっと、意図を汲み間違えた。cl-user::funcをmy-package内へimportしたいのね。
CL-USER> (defun func()(* 12 12)) => FUNC
CL-USER> (defpackage "MY-PACKAGE" (:import-from "CL-USER" "FUNC")) => #<PACKAGE MY-PACKAGE>
CL-USER> (my-package::func) => 144
CL-USER> (my-package:func) -> #<PACKAGE MY-PACKAGE> has no external symbol with name "FUNC"
[Condition of type SYSTEM::SIMPLE-PACKAGE-ERROR]
CL-USER> (export '(my-package::func) "MY-PACKAGE") => T
CL-USER> (my-package:func) => 144
249:デフォルトの名無しさん
05/01/24 03:32:45
>>248
ありがとうございます。出来ました。
これってC++とかのnamespaceと似たようなものと考えていいんでしょうか?
C++だと自作のutilityとかを
namespace my_util{.....}
とかしてるんですが、LISPでは作法的にどうなんでしょうか?
250:デフォルトの名無しさん
05/01/24 04:12:25
なんか初心者用に問題でも出してやればいいんじゃない?
一日一問でさ
251:デフォルトの名無しさん
05/01/24 06:42:26
lispのVMって無いの?
apatchでlispとか使えないのかな
(個人的にはACLとか大規模なもんじゃなくてclispやxyzzyとapatchが
連携できればいいのになぁ、と思っている)
252:デフォルトの名無しさん
05/01/24 07:47:09
>>249
C++のnamespaceと似た役割をします。
たとえば、mail.lispというライブラリを次のように書いたりします。
;;; file mail.lisp starts here
(defpackage "MAIL" (:export "SEND" "RECEIVE"))
(in-package "MAIL")
(defun send () ...)
(defun receive () ...)
;;; file mail.lisp ends here
mail.lispを使う側のパッケージでは特に何も宣言せずに、
mail:send、mail:recieveと書いてアクセスするか、
(use-package "MAIL")と最初に書いておく事で、単にsend, mailとして
アクセスできるようにします。もしくは (defpackage "FOO" (:use "MAIL")))など
としても、その後はパッケージFOO内ではsendとmailと書けます。
253:デフォルトの名無しさん
05/01/24 07:56:02
>>251 Unix系のOSなら、mod_lispというapatchモジュールが存在して、
CGIプログラムをLisp(cmucl, clispなど)で書いたりということが簡単にできるらしい。
Windowsに関しても、Windows用のバイナリがmod_lispの開発もとにあったから、
できるでしょう。たぶん。
254:デフォルトの名無しさん
05/01/24 10:32:14
JAVA初心者です
swingを使用して、clispを使用した開発環境を
作りたいと思っているのですが、swing側で入力したs式をclispに渡すには
どうすればよいのでしょうか?
また、clisp側での評価結果をswing側に返すには
どうすればよいのでしょうか?
ご存知の方いらっしゃたら教えてください
お願いします
255:デフォルトの名無しさん
05/01/24 12:37:12
Jabberwocky: javaで書かれたlisp IDE
URLリンク(jabberwocky.sourceforge.net)
Jabberwocky is a integrated development environment for the LISP programming language. The following components are available :
* A editor with syntax coloring and code completion.
* A interaction pane with the LISP process.
* A browser of the sources,functions,macros etc..
* A source level debugger (the successor of Lisp Debug).
JACOL: URLリンク(jacol.sourceforge.net)
JACOL is a framework for allowing Java and Common Lisp to interoperate. It's intended use is to enable Common Lisp to function as an extension language for Java. But, it can also be used to expose Java APIs (such as Swing and DOM) to Lisp applications.
256:デフォルトの名無しさん
05/01/24 15:07:03
>>253
mod_lispは外部のプロセスと通信する単なるスタブみたいなもん。
プロトコルを守れば、好きなLisp実装が使えるし、別にLispで無くたっていい。
257:デフォルトの名無しさん
05/01/25 02:26:20
>>250
ほい
スレリンク(tech板)l50
258:デフォルトの名無しさん
05/01/25 08:48:52
(ノ∀`)アチャー
自作自演乙
259:デフォルトの名無しさん
05/01/26 09:48:40
(defun func()
(setq a 0)(setq a(+ a 2)))
という関数を定義すると、
(func)->2
となります。ここまではいいんですが、次に
(func)->4
になります。
関数の中で定義した変数はstaticなんでしょうか?
関数ローカルな変数が初期化されないのが不思議です。
260:デフォルトの名無しさん
05/01/26 10:20:15
ククク・・・
どっか外のaが潰れてるだけだよ
261:デフォルトの名無しさん
05/01/26 10:58:51
>>259
Rubyかなんかと間違えてるのではなかろうか。
aは関数ローカルな変数なんかにならないよ。
そういうものが欲しければletを使って束縛しろ。
それはそれとして、2回目が4になるって変じゃないか?
何回やろうが0+2=2になるはずだが。
262:デフォルトの名無しさん
05/01/26 15:43:38
mapcanの選別収集以外の使い途があるとでもいうのですか?
263:デフォルトの名無しさん
05/01/26 19:28:14
複数リストの統合とか。
264:デフォルトの名無しさん
05/01/26 19:36:10
(mapcan #'list '(key0 key1 key2) '(value0 value1 value2))
=> (KEY0 VALUE0 KEY1 VALUE1 KEY2 VALUE2)
265:デフォルトの名無しさん
05/01/26 23:06:52
mapc ってマップクって呼んでOK
266:デフォルトの名無しさん
05/01/27 03:13:58
lispでプログラムを書けという課題がでました。
ωを自然数のリストとする。
MAX(ω)=0(ωがNILのとき) ωに含まれる最大の数
例ω=(8,13、25、10)のときMAX(ω)=25
組み込み関数
LESSTHAN(n,m)=T(n<m) NIL(n≧m)を使用すること。
もしよろしければ教えていただけないでしょうか?
どーも基礎がよくわかってないみたいで・・・
267:デフォルトの名無しさん
05/01/27 05:04:48
2chではなくて、学内のお友達と相談しながら
解決するのがよろしいかと。
268:デフォルトの名無しさん
05/01/27 09:16:18
(defun MAX (ω)
(if (null ω) 0
((lambda (n m) (if (LESSTHAN n m) m n))
(car ω) (MAX (cdr ω)))))
269:デフォルトの名無しさん
05/01/27 12:59:45
マクロって関数みたいに変数に代入できないの?
(defmacro macro()())
(setq m 'macro)
(a)->error
呼べないのかな
270:デフォルトの名無しさん
05/01/27 13:15:32
(a)->error 間違い×
(m)->error
271:デフォルトの名無しさん
05/01/27 13:17:39
(defmacro foo (x) `(car ,x))
(setq a (macro-function 'foo))
(funcall a '(foo a) nil) => (CAR A)
272:デフォルトの名無しさん
05/01/27 16:11:34
windowsで動くcmuclが完成したら、ソフトウェア業界は
変わる、と思っていますが正しいですか?
273:デフォルトの名無しさん
05/01/27 16:14:28
>272
実現可能性とシナリオは?
市場アクションは?
274:デフォルトの名無しさん
05/01/27 16:32:14
age
275:デフォルトの名無しさん
05/01/28 07:58:09
Clisp使ってます。
Clispってパイプありますか?
276:デフォルトの名無しさん
05/01/28 09:07:27
>>275
30.8.2. Pipes
URLリンク(clisp.cons.org)
277:デフォルトの名無しさん
05/01/28 10:27:48
>>273
ごめんなさい
278:デフォルトの名無しさん
05/01/29 19:30:21
(setq data '(1 2(3 4(5))))
(length 'data)->error
(length '(1 2(3 4(5))) )->3
なぜ・・・?データとしてはまったく同じリストだと思うんですが
279:デフォルトの名無しさん
05/01/29 19:49:12
(length 'data)のquoteが余分ですだ。だんなさま。
280:デフォルトの名無しさん
05/01/29 19:56:15
サンクスです
ということはlengthってマクロですか
281:デフォルトの名無しさん
05/01/29 20:26:28
>>280
ハァ?
シンボルにlengthを適用しようとしたからエラーになってるんだぞ?
282:デフォルトの名無しさん
05/01/29 20:42:35
そうか・・・勉強してくる
283:デフォルトの名無しさん
05/01/29 21:20:19
次の患者さんどぞ〜
284:ウエシマ
05/01/30 08:23:10
毛が抜けるんですが・・・
285:デフォルトの名無しさん
05/01/30 10:13:31
抜けるだけの毛があったことに感謝なさい。
286:デフォルトの名無しさん
05/01/30 15:51:35
・おなにーを控える(多くても週一ぐらい)
・タバコをやめる(ただしやめることでストレス増加なら逆効果)
・2日に一回は頭を洗ってマッサージし頭皮を清潔にする
・生活リズムを整える(徹夜しない)
・風の強い場所に長くいない(そゆときは帽子着用)
・暑い場所に長くいない(タオルで小まめに汗をふき取る)
・ストレスを溜めず、感情的にならない
・水泳するときは帽子着用(プールの水は髪にあまりよくない)
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5384日前に更新/244 KB
担当:undef