■ 2ちゃんねるは、ここのサーバを使ってるです。。。
 .jp ドメインお持ちのお客様大歓迎。maido3.jp
 .fm 取得代行します。(US) maido3.fm
 .ca 取得代行します。(US) maido3.ca
 .com .net .org 取得代行します。(US) maido3.com
 .cc .to .tv 取得代行はじめました。NEW
人気サイト
月々1,000円からの BinboServer.com 2ちゃんねるも使っている Big-Server.com
>> 2ちゃんねる、サーバ監視所

■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■
LISP
1 名前: 名無しさん@1周年 投稿日: 2000/07/09(日) 18:15
Common Lispが好きな学生ですが、
卒業してから仕事でLISP使う場合って
あるんでしょうか?


2 名前: >1 投稿日: 2000/07/09(日) 18:23
無い。


3 名前: 名無しさん@1周年 投稿日: 2000/07/09(日) 18:44
Emacs のマクロを書く。


4 名前: 1 投稿日: 2000/07/09(日) 18:46
やっぱり?
・・・LISPはC++よりは生産性高いと思うん
ですがね。メモリは食いますが・・・


5 名前: 1 投稿日: 2000/07/09(日) 18:51
EmacsLispで作ったプログラムも
GPLに準ずるんでしょうか?
するとフリーソフトウェアだけしか作れない?


6 名前: >5 投稿日: 2000/07/09(日) 22:21
意味不明。なぜに。


7 名前: 名無しさん@1周年 投稿日: 2000/07/10(月) 01:01
GPL はソース公開の義務じゃないの?
作成されたプログラムについて GPL を適用する必要があるかどうかは
EmacsLisp のドキュメントを読まないと分かりません。




8 名前: 名無しさん@1周年 投稿日: 2000/07/10(月) 01:34
EmacsLispで儲けようと考えてるのかなあ。


9 名前: Lisp屋 投稿日: 2000/07/10(月) 10:10
それなりに使っているところはありますよ.>1

http://nserv.ei.nsc.co.jp:8884/syspro/whatnew/LISP/conference_overview.html


10 名前: 名無しさん@1周年 投稿日: 2000/07/10(月) 10:44
>9
そりゃまぁ、アカデミックなところだとね。


11 名前: 1 投稿日: 2000/07/10(月) 11:37
これねー。東京に住んでたらいったんですがね。
関西でもやってくれないかな。 >9

Emacs Lispインタプリタって、Emacs(Mule)以外
にあるんですかね?結局、実行にEmacs使うんなら
「GPLに準拠したもの」を使用する以上やっぱりGPL
準拠になるのかなって思いましたので。このへんは
ようわからんですね。



12 名前: Lisp屋 投稿日: 2000/07/10(月) 14:42
>10
9で挙げたのはユーザー会なので,アカデミズムとは無縁なシステム
開発事例も発表されてましたよ.

>1
Lisp好きなら自腹を切って行くべし! というのはさておき,Lispを
使ったシステム開発というのは全くないわけではないので,それなりの
スキルがあればちゃんと仕事はできます.むしろLispがちゃんと使える
人は希少価値があるといっていいでしょう.もちろん,Lispしかできま
せんというのではお話になりませんが.

私の経験では,Lispでちゃんとプログラムが書ける人は,たいてい他の
言語もあっという間にマスターできますし,オブジェクト指向やパター
ンなどの考え方も素直に取り入れることができます.1さんは学生のう
ちにいっぱい勉強してその域に達してください.単なるLispオタク(こ
れは大学の情報系学科それぞれに必ず一人はいるといわれている)には
ならないでね.

あと,Emacs Lispで書いたプログラムすべてについてはGPLは適用され
ないのでは? gccで動くプログラムすべてにGPLが適用されないのと一
緒でしょう.


13 名前: 名無しさん@1周年 投稿日: 2000/07/10(月) 15:10
>私の経験では,Lispでちゃんとプログラムが書ける人は,たいてい他の
>言語もあっという間にマスターできますし,

そりゃLispに限らないでしょ。
CでもPascalでもちゃんとプログラムが書ける人は他の言語のマスターが早いよ。


14 名前: 1 投稿日: 2000/07/11(火) 18:11
12>
やっぱそうですよね。Emacs Lispで書いたプログラムには
必ずしも、GPLは適用されるということはないですよねー。
GCCのライブラリを用いた場合でも適用されないですもんね。

13>
でもCやPascalよりLispのほうが抽象化能力は高いので
勉強にはなると思いますよ、きっと。


15 名前: >14 投稿日: 2000/07/11(火) 18:28
12>
じゃなくて
>12
です


16 名前: 1 投稿日: 2000/07/14(金) 15:43
>15
すみません・・・ CLISPのプロンプトが
[ n ]> なもので、つい間違えました。


17 名前: 名無しさん@1周年 投稿日: 2000/07/14(金) 15:45
lisperって実は結構いる?


18 名前: 名無しさん@1周年 投稿日: 2000/07/14(金) 16:00
Scheme(スペル怪しい)とLispってどっちがいいんですか?
それ以前に違いがあまりないように思えてしまうんですが。


19 名前: 1 投稿日: 2000/07/14(金) 16:15
噂では、湾岸戦争の後方支援プログラムはLISPで
書かれたそうです。


20 名前: 名無しさん@1周年 投稿日: 2000/07/14(金) 19:30
GCで止まったりしないんだろうか。


21 名前: >20 投稿日: 2000/07/14(金) 19:32
並列に走らせればとまらない(やり方がある)よ。


22 名前: 名無しさん@1周年 投稿日: 2000/07/15(土) 00:43
Emacs lispの参考書希望


23 名前: 名無しさん@1周年 投稿日: 2000/07/15(土) 09:41
scheme大好きよ。


24 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2000/07/15(土) 10:58
>1
10年前なら
プラントのエンジニアリング会社、たとえば千●●なんとかとかで
自動プログラミングとかLispでやってたよ。
奥さんに三行半を突き付けられた輩が何人いたことか。



25 名前: 1 投稿日: 2000/07/15(土) 19:23
>24
なんで奥さんに三行半突きつけられるんですか?
LISPしてたからじゃないですよね。ぞぉーっ。



26 名前: schemeモナー 投稿日: 2000/07/15(土) 20:06
       Λ
       |)\
  Λ_Λ |) |                   ∩_∩  ∩_∩
 ( ´∀`)| ) ノ  / ̄ ̄ ̄ ̄ ̄ ̄       (; ´д`)  (; ´д`)
 (schemeつ| <  lispは皆殺し       ( lisp ) ( lisp )
 | | | ∪  |               | | |  | | |
 (__)_)     \______      (__)_) (__)_)




27 名前: 1 投稿日: 2000/07/15(土) 21:03
LISPは面白いのになぁ。多倍長の数値や分数つかえるのもなか
なか便利。ラムダ式つかったり、変数に関数クロージャ束縛
したり、グローバルなスコープを持つ動的変数使えたり、
ネームスペースも分けられるし、機能さえ把握してたら
使い勝手いいっす。Schemeは詳しく知らないですが、また
勉強しときます。ちなみにSchemeの方は仕事で使ったり
してるんですか。



28 名前: 1 投稿日: 2000/07/17(月) 15:53
図書館いって、岩波書店の
Scheme入門(湯浅太一 著)借りて来ました。
勉強します!!


29 名前: 名無しさん@1周年 投稿日: 2000/07/17(月) 16:13
Lisp のコードはすごく見づらい。処理系には嬉しいかもしれないが
人間には嬉しくないぞ。
今さら Lisp の利用価値って思いつかない。
スクリプト言語として使えるぐらいか?



30 名前: 揚げ足取り 投稿日: 2000/07/17(月) 16:16
>24
奥さんに三行半を突き付けられることはあり得ないよ。
国語辞典で「三行半」を引くべし。


31 名前: 名無しさん@1周年 投稿日: 2000/07/18(火) 11:18
────────────
────────────
────────────
──────。


32 名前: 1 投稿日: 2000/07/18(火) 19:36
>29さんへ。
人間でもLISPのコードは慣れればものすごく読みやすいです。
ほんまです。僕なんかCのほうがよっぽど気持ち悪いです。
たとえば、同じ( )でもforやifの後と関数呼び出しの後では意
味合いが違うとか、演算子の結合規則がややこしいとか、
文法的にはLISP方が統一されているという見方もできませんか?

Lispの利用価値って思いつかない?慣れれば絶対
C++より短い時間でシステム組めますよ。これって
利用価値ないんですか?

あと、スクリプト言語として使えるくらいか?
とおっしゃってますが、人間としては見づらいとの
意見とすこし食い違うような気がするんですが。

まだまだ学生なもので世の中がわかって無い部分
が多々あり、ぜひご指導、ご教授してもらえたら、
私だけでなく2chを閲覧している他の学生もありがたい
と思いますのでよろしくお願いします。




33 名前: >1 投稿日: 2000/07/18(火) 20:08
C++は、結局現実主義の言語だからねぇ。OOPに色気を出しつつも、
Cのような低レベルの処理も書けるように作られている。
実行速度や使うリソースのことを考えてるんだろうね。
たしかにLispは理想に近い言語かもしれないけど、いかんせん
そういった経済性というか、現実性に乏しいのかもしれないと
思ったりもします。



34 名前: 耳学問ですみませんが 投稿日: 2000/07/18(火) 20:25
皆さん, 本当に知らないご存知ないんでしょうか? Nintendo64 の開発に一部使われていたこととか…
Common Lisp で構築された WWW サーバがあって CGI スクリプトまで Common Lisp で書けちゃうこととか…
基幹システムとして使われている場合もあるようですし
http://tomabechi.com/
あたりをご覧になって下さい. それなりに仕事もあるようです.
本格的に使ったことはありませんが, Common Lisp が生産性が高いっていうのは想像できます.
Scheme は好き…む.



35 名前: 耳学問ですみませんが 投稿日: 2000/07/18(火) 20:26
ああ…, なんか編集ミスしてる, 失礼しました.


36 名前: 耳学問の続き 投稿日: 2000/07/18(火) 21:03
Common Lisp の利用例は
・火星探索機マーズパスファインダーの探索計画のシステムは Common Lisp で構築されていた.
・ノースウェスト航空の着陸ゲートなどの運用管理も Common Lisp で構築されている.
などなど, www.franz.com の Success Stories の所に沢山ありました.
フランツ社の宣伝ではありますが, それなりに実績はある訳です.
・XML のスタイルシート XSL の一部として Scheme が採用されている.
という話もありますし…


37 名前: 名無しさん@1周年 投稿日: 2000/07/18(火) 21:36
Nintendo64でのCommon Lispの使用例はちょっと違うような。
Common Lispの上に別の言語作ったようなものだと聞いたが。



38 名前: 名無しさん@1周年 投稿日: 2000/07/18(火) 23:46
>人間でもLISPのコードは慣れればものすごく読みやすいです。
>ほんまです。
私は LISP を使い始めて7年くらいたちますが、確かに慣れることはあっても、
決して C のようには読めませんね。

>僕なんかCのほうがよっぽど気持ち悪いです。
>文法的にはLISP方が統一されているという見方もできませんか?
それは LISP の文法が構文解析に合わせて作られているからです。
C とは成り立ちが違います。

>Lispの利用価値って思いつかない?慣れれば絶対
>C++より短い時間でシステム組めますよ。これって
>利用価値ないんですか?
まあ、これは実際の利用状況が証明しているでしょう。

>あと、スクリプト言語として使えるくらいか?
>とおっしゃってますが、人間としては見づらいとの
>意見とすこし食い違うような気がするんですが。
LISP は処理系を小さくできますし。スクリプトならそんなに
だらだら書かないでしょ。

私は LISP が別に嫌いではないです。
ただ C や C++ より生産性が高いというのはよく分かりません。



39 名前: MJH 投稿日: 2000/07/19(水) 04:32
会社で使うってなると「他の人も読めなきゃだめ」って事になって、
Lispみたいな使用者が少ない言語は排斥される傾向が強いよ。
辞められたら、保守できんよ。


40 名前: >39 投稿日: 2000/07/19(水) 04:54
Smalltalkとかもそうだね。
イイ言語=利用者が多いとは限らない(むしろ少ない)というのが現実でしょ?
Smalltalk, Lisp, Java, Ruby, Python, Pascal, ...


41 名前: 名無しさん@そうだ選挙に行こう 投稿日: 2000/07/19(水) 07:58
研究者とか純粋にアマチュアプログラマー志そうとかいう場合にはそういう「いい言語」を使ったほうがいいでしょね。

やはり業務となるとひとりで完結したものではないですから、Cということになります。
それに言語構造として高度なのと、効率的なのとではまた別。
効率的って概念には便利な開発ソフトがあるだとかいい参考書があるだとか、いろいろな要素があると思いますし


42 名前: 名無しさん@1周年 投稿日: 2000/07/19(水) 08:36
夏休みにlispを勉強することになったので、age


43 名前: 名無しさん@1周年 投稿日: 2000/07/19(水) 11:15
業務(PCゲーム製作)でschemeスクリプト使ったけど
一番痛かったのは静的な型チェックが弱いことだよ。
不安でしょうがないし、それが原因のミスもいくつかやった。
つーことはsmalltalkも結構ダメだと思う。
(lispよりは読みやすいから減るとは思うけど)

こんにちではガベージコレクションとかはどうでもいい。
コンピュータが暇なときにやればいいだけだし、昔と違って
時間もかからない。
あとschemeの継続も便利だった。



44 名前: 現実頭皮 投稿日: 2000/07/19(水) 11:16
Lisp 一般の話題ということで良いしょうか?
Kent Dybvig 著, 村上雅章訳の「プログラミング言語 SCHEME」はなかなか良いと思いました.
原書は HTML 版を Chez Scheme のドキュメントとしてフリーでダウンロードできます. 私は英語で読む根性がありませんでした.
カウンタの実装例で, 変数とサブルーチン一式を S 式にして変数に代入してしまうという例を見て, 自分の不勉強を知りました.
紫本は原書 100 頁くらいで挫折した過去がありまして, 日本語版に再挑戦中です.



45 名前: コグニティブリサーチラボラトリィ 投稿日: 2000/07/19(水) 11:25
ってどうでしょう。AIがらみでLISPをやっている人なら必ず知っているであろう
あのお方がいるベンチャー企業ですが・・・

www.crl.co.jp


46 名前: 投稿日: 2000/07/19(水) 11:43
あー?とまべち君の会社?
ページ重くて、まともに表示されんぞぉ!?

CMUで一緒に仕事をしたことがあるが、有名になったもんだねぇ。


47 名前: 1 投稿日: 2000/07/19(水) 15:36
34さん。いろいろな情報ありがとうございます。
これで他人に「LISPなんて所詮研究にしか使わん」
とか言われたときに反論できます。

44さんお勧め本もそのうちよんでみます。

とりあえず湯浅太一先生の「Scheme入門」は読んでみました。
Schemeでプログラムを実際に書いてないので何ともいえませ
んが、関数オブジェクトが変数にバインドされていて、リストの
先頭記号も評価するのがすごく不思議でした。

あと、継続の機能は確かに面白いですねー。ダイクストラがみ
たらキレそうですが。


48 名前: 1 投稿日: 2000/07/19(水) 15:38
46さんってカーネギメロン大学の方なんですか!?
すごい・・・。


49 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2000/07/19(水) 16:18
やっぱ 177564は「イナナゴロシ」ですよね。


50 名前: 46 投稿日: 2000/07/19(水) 16:20
>48
うにゃ(^^;)仕事で手伝いに行っただけ。
あっちは産学共同(←字違う?)だかんね。
MITにも行ったコトあるよ。
昼飯食ってるミンスキー教授を目撃した!(^_^;)ミーハー


51 名前: 1 投稿日: 2000/07/20(木) 19:12
>50
すごいですねー。MITならごろごろすごい人いるでしょうね。
マッカーシー教授もまだMITおられるんでしたっけ?
僕もミーハーです(笑) (←藁と書くのが2chの流儀ですかね?
あまりいい印象ないんで、、”藁”って・・・)


52 名前: >51 投稿日: 2000/07/21(金) 15:54
Knuthもスタンフォードを退官したみたいだし。


53 名前: >52 投稿日: 2000/07/22(土) 16:43
クヌース大先生は例のThe Art of Computer Programming
を書き上げるのに専念するのでしょうね。




54 名前: 暇なので寝たふり 投稿日: 2000/07/23(日) 03:46
define-modify-macro の使い方を知っていますか?



55 名前: 1 投稿日: 2000/07/24(月) 17:40
知ってます。incfやpushみたいなsetf展開マクロを
定義するんでしたよね?確か。


56 名前: 1 投稿日: 2000/07/24(月) 17:41
あ、1=53です。


57 名前: 54 投稿日: 2000/07/24(月) 18:52
お。さすがですねー。
私が define-setf-macro の面白さに気が付いたのは
CommonLispを始めて2年も経ってからでした。

HDDの中から↓こんなん出て来ました。(タイムスタンプが 1989/04/18 (^^;)

(defun insert (item list &key to-end index)
(if index
(cond ((<= index 0)
(nconc (list item) list))
((< index (length list))
(push item (cdr (nthcdr (1- index) list)))
list)
(t
(nconc list (list item))))
(if to-end
(nconc list (list item))
(nconc (list item) list))))

(defun insf-fun (list item &rest options) (apply #'insert item list options))
(defun delf-fun (list item &rest options) (apply #'delete item list options))

(define-modify-macro insf (item &rest options) insf-fun)
(define-modify-macro delf (item &rest options) delf-fun)

(defmacro putf (plist key val)
`(setf (getf ,plist ,key) ,val))

(defun keyf (plist val &optional default)
(do (key)
((null plist) default)
(setq key (pop plist))
(when (eql (pop plist) val)
(return key))))

(defmacro doprop ((key val plist &optional result-form) . body)
(let ((list (gensym)))
`(do* ((,list ,plist (cddr ,list))
,@(unless (eql key 'ignore) `((,key (nth 0 ,list) (nth 0 ,list))))
,@(unless (eql val 'ignore) `((,val (nth 1 ,list) (nth 1 ,list)))))
((null ,list) ,result-form)
,@body)))

(define-modify-macro addf (&rest args) +)
(define-modify-macro subf (&rest args) -)
(define-modify-macro minf (&rest args) min)
(define-modify-macro maxf (&rest args) max)



58 名前: うっ… 投稿日: 2000/07/24(月) 18:58
そうか (^^; 2chは連続SpaceとかTabは入らないのか。
御見苦しいモノを失礼ぶっこきました >all

PrettyPrint(pp)してね☆



59 名前: 1 投稿日: 2000/07/24(月) 20:54
いいっすねー。僕はあんまりmodify-macroを定義しないんですが、

;;; フィルポインターをもつ文字列を生成する関数
(defun make-fstring ()
(make-array 0 :fill-pointer t
:adjustable t
:element-type 'string-char))

;;; 文字列に出力するためのフォーム
(defmacro output-to-string ((string-sym stream-sym) &body body)
`(let ((,string-sym (make-fstring)))
(with-output-to-string (,stream-sym ,string-sym)
,.body)))

こんなマクロを定義して使ってます。CommonLispのマクロは強力
ですよねぇ。関数を定義するだけでシステムを拡張した気分になれ
るところがいいです。何のこっちゃですが。


60 名前: 1 投稿日: 2000/07/25(火) 01:53
あと、マクロ文字もうまく使うとすごく楽しい。
自分で構造体の表示関数を定義して、マクロ文字と組み合わせて
独自の再読み込み可能な表示形式をつくったりしたら、もう
病みつきですね〜。
僕はLISPで手続きの抽象化やら、データの抽象化やら
再帰やら、ファイル操作やらを勉強してすっかり今LISP好き
なんですが、今までのレスを見てると、やっぱり社会に出たら
あんまり使う機会無いみたいですねぇ。


61 名前: 名無しさん@1周年 投稿日: 2000/07/25(火) 02:06
LISPから学んだことは無駄にならないから全然ok。


62 名前: 1 投稿日: 2000/07/25(火) 02:16
>61
ありがとうございます。そのうちLISPの時代が来ると信じ
て(別に信じなくても)自分を鍛えておきます。


63 名前: 名無しさん@1周年 投稿日: 2000/07/25(火) 03:35
lispやると木とかリストとかの動的なデータ構造を操るのが
造作もないことになるねえ〜

ビジュアルが浮かぶっつうか〜

consとかcarとかの手作り感覚がいいのかね〜



64 名前: 1 投稿日: 2000/07/25(火) 12:18
そうですねー。あと、データとプログラムが同じ表現形である
のがかなりナイスです。それこそ手続り感覚でリスト作って
最後にevalじゃあ!!

でも、実はずっとGCLのVer.2.2.2使ってたので
CLOSででかいプログラムを実装したことがないのがち
と痛いです。


65 名前: 名無しさん@1周年 投稿日: 2000/07/25(火) 12:43
いい本おしえて。
CLOS込みで。



66 名前: 茗蕪しさん 投稿日: 2000/07/25(火) 12:55
The Art Of Metaobject Protocol は翻訳されないのかなあ?
Common Lisp オブジェクト指向 CLOS ってそのものズバリのタイトルの本があったけど, トッパンつぶれちゃったね. 最初の方しか読んでないから良し悪しは判りません.



67 名前: 名無しさん@1周年 投稿日: 2000/07/25(火) 13:39
CLtL2じゃあないかなぁ。<決定版。
CLOSに関する記述も含まれています。
http://www.math.uio.no/cltl/cltl2.html



68 名前: 生涯一解釈者 投稿日: 2000/07/25(火) 17:23
LispもいいけどPrologもねっ。



69 名前: 1 投稿日: 2000/07/25(火) 19:21
>67
一応CLtL2は読むにはよみました。
>66
名前わすれましたが、外国の女性の方が書かれた
本だったような気がします。これも一応読みました。
問題は知識があっても実装しないことにはイマイチ
実感がわかない、という事です...。



70 名前: 1 投稿日: 2000/07/25(火) 19:22
>66
あっ、「Common Lisp オブジェクト指向 CLOS 」
のことです。


71 名前: >69(1) 投稿日: 2000/07/26(水) 00:41
独自の OOP system を実装してみては? (^-^)
私の場合は ZetaLisp の FlavorSystem もどきを実装して
知識を深めました。
学生さんなら、卒研テーマにもなりそうだしー。




72 名前: 名無しさん@1周年 投稿日: 2000/07/26(水) 07:00
人が新卒が学生に車輪の再発明を奨励しているな・・・


73 名前: 名無しさん@1周年 投稿日: 2000/07/26(水) 10:09
(^-^) こんな顔して恐ろしい奴でな。


74 名前: 学生なら 投稿日: 2000/07/26(水) 10:33
車輪の再発明結構じゃないですか ガンバレ


75 名前: 名無しさん@1周年 投稿日: 2000/07/26(水) 11:21
わかりきった事でも、自分の手で再発明する過程は大事だと思うよ。
本だけ読んで、わかったつもりになってるナンチャッテ君にならないためにもね。


76 名前: 名無しさん@1周年 投稿日: 2000/07/26(水) 11:25
俺も、車輪の大発明は賛成だね。その過程が楽しいし。
ただ、人に使わせようとするんじゃないぞ。(藁


77 名前: 76 投稿日: 2000/07/26(水) 11:26
何だよ、「大発明」って‥‥‥
「再発明」の間違いです。


78 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2000/07/26(水) 11:49
ほほえましい間違いだな(笑)

どんな車輪ができあがるんだろう。わくわく。



79 名前: 茗蕪しさん 投稿日: 2000/07/26(水) 12:05
71 さんの話は, 所謂「車輪の再発明」とも「NIH 症候群」とも違うでしょう. 使うことが目的じゃないんだから.
Scheme の OOP 拡張なんて, いったいいくつあることか.
Lisp じゃありませんけど, Tcl にも Tcl 自身で書いた OOP 拡張がたくさんありますね.


80 名前: 茗蕪しさん 投稿日: 2000/07/26(水) 12:07
大車輪…


81 名前: 76 投稿日: 2000/07/26(水) 12:13
いや〜!突っ込まないで!(笑)


82 名前: 1 投稿日: 2000/07/26(水) 19:35
>71
一応、したことがあるので・・。継承って結局クラス間の
探索になりますね。LISPでOOP風の言語を実装する
のは結構簡単にできますね。LISP万歳!!


83 名前: 71 投稿日: 2000/07/26(水) 21:03
>82
あ (^^;) ごめん
すでに経験者でしたか…


84 名前: 1 投稿日: 2000/07/28(金) 20:23
GCL-TKについて詳しくかかれたホームページとか
本とかってありますか?
describe関数だけじゃよくわからないっす。


85 名前: gimp本買った 投稿日: 2000/07/28(金) 20:39
gimpのScript-FuはSchemeで書くのか!


86 名前: 1 投稿日: 2000/07/28(金) 20:54
LISP風のシェルスクリプト言語をもつシェル
が存在すると聞いたことがあるんですが・・。
( emacs -nw -f shell とか返事きそうだな・・)

たしかmshだったかな・・。違うかも。 


87 名前: >84,86 投稿日: 2000/07/28(金) 21:29
Windows とかで?TKの話題の後じゃあ Unix かな?
GCL-TKって要Xですよね?


88 名前: 1 投稿日: 2000/07/29(土) 02:03
そうです。Linuxユーザです。GCL-TKはtcl/tkをGCLから呼び
出して使うんだと思いますが、使い方がよくわかりません。




89 名前: 名無しさん@1周年 投稿日: 2000/09/28(木) 11:58
『ハッカーズ』ていう本読んだんだけど、そのラストでMITのAIラボの人たちが
分裂するきっかけになった『LISPマシン』って
どーなったか知ってる人いる?

ふるいスレ上げてゴメン。


90 名前: 名無しさん@1周年 投稿日: 2000/10/24(火) 13:33
age


91 名前: 名無しさん@1周年 投稿日: 2000/10/24(火) 13:55
scsh なら知ってるぞ。http://www.swiss.ai.mit.edu/ftpdir/scsh/scsh.html


92 名前: 名無しさん@1周年 投稿日: 2000/10/25(水) 00:33
昔、FreeBSDでgcl使っててたが、よくポックリ逝った。
今でもバージョン上がってんのか?


93 名前: 名無しさん@1周年 投稿日: 2000/11/01(水) 02:08
Lispの可読性ってすこぶる悪い気がするんですけど、
Lispに、Cと同じだけ熟練したらCと比べて可読性の
良い言語なんでしょうか?


94 名前: 名無しさん@1周年 投稿日: 2000/11/01(水) 02:20
UNIX + elisp のみ (外部プログラムなし) でソケットいじくれますか?
TCP で connect はできると聞いたことがあるんですが、
listen/accept はどうでしょう。あと、UDP はいかがなもんでしょうか。

一度 emacs 上で動くネットワークアプリを作りたいと思いつつ、
はや4年…。いまだに .emacs をちょこちょこいじくるくらしか
できません。はぁ…。


95 名前: 名無しさん@1周年 投稿日: 2000/11/01(水) 02:28
>94
本ぐらい読めよ…


96 名前: 名無しさん@1周年 投稿日: 2000/11/04(土) 12:41
日本企業もビジネスの現場で使っているぞ。

http://www.franz.com/success/customer_apps/business_apps/msi.php3
http://www.franz.com/success/customer_apps/animation/squareusa.php3
http://www.franz.com/success/customer_apps/animation/nichimen.php3
http://www.franz.com/success/customer_apps/research/sony.csl.php3



97 名前: Dr.とまべち 投稿日: 2000/11/04(土) 13:14
これからは Lisp - Webソリューションの時代です。


98 名前: 名無しさん@1周年 投稿日: 2000/11/04(土) 14:17
>>97 先月か今月のなんかの雑誌で、大いに語ってたね。


99 名前: 名無しさん@1周年 投稿日: 2000/11/04(土) 15:10
Lispも中間言語として使うなら悪くないかな...
XMLのような感じで。


100 名前: 名無しさん@1周年 投稿日: 2000/11/04(土) 18:53
なんか慶應の中西正和先生がお亡くなりになったそうで



101 名前: 名無しさん@1周年 投稿日: 2000/11/04(土) 19:22
>>100
ほんとですか?
ショックだなあ。高校生時代に読んだ中西先生のLispの本の影響で現在
の仕事についているようなものなんで。


102 名前: 名無しさん@1周年 投稿日: 2000/11/05(日) 01:44
ご冥福をお祈りします。

http://www.yomiuri.co.jp/zz/20001104zz01.htm


103 名前: 名無しさん@1周年 投稿日: 2000/11/05(日) 21:43
Bitに、LISPの商用利用についての記事があったような。


104 名前: 名無しさん@1周年 投稿日: 2000/11/05(日) 23:12
>>103 それが >>97 です。


105 名前: 名無しさん@1周年 投稿日: 2000/11/06(月) 00:12
lispとXMLの違いがよくわからん。
なにが違うんだろう?


106 名前: 名無しさん@1周年 投稿日: 2000/11/06(月) 00:31
おいらはどこが同じだかワカラン。



107 名前: 名無しさん@1周年 投稿日: 2000/11/06(月) 05:58
Common LISPとSchemeのフリーで使えるインタプリタまたはコンパイラ
ってないですか?


108 名前: 名無しさん@1周年 投稿日: 2000/11/06(月) 08:03
>>107
Schemeはguileってのがあるよ。
http://www.gnu.org/software/guile/



109 名前: 107 投稿日: 2000/11/06(月) 08:51
>108
どうもありがとうございます。
ちょっと探したらすぐいろいろ見つかって、しまったと思いました…
Gulie以外ではDrSchemeとかMITSchemeとかCLISPとかが良さげ。


110 名前: 名無しさん@1周年 投稿日: 2000/11/06(月) 10:37
http://www.sci.toyama-u.ac.jp/~iwao/Scheme/index.html
Scheme の総合索引としてはここがおすすめ。


111 名前: 名無しさん@1周年 投稿日: 2000/11/07(火) 18:59
lispって、何が便利なんだ?
リスト処理だったら他の言語でも出来るし、
プログラムは読みにくいし、何が良いのか
わからんぞ。
利点を教えてくれ。


112 名前: 名無しさん@1周年 投稿日: 2000/11/07(火) 19:11
たしかに、最近は Perl とか Python 使ってもリスト処理
できそうだもんな。しかも、そっちのほうが簡単に。
Fortran しかなかった時代はたぶん便利だったんだろうよ。


113 名前: 名無しさん@1周年 投稿日: 2000/11/07(火) 19:13
あとは lambda 抽象が使えるのは便利なんだけど、
これについては scheme のほうが使いやすくていいな。


114 名前: 名無しさん@1周年 投稿日: 2000/11/07(火) 19:22
利点かどうかわからないけど、プログラム自体がS式表現で書かれると
いうのが本質的なのでは? プログラムを生成・変形しながら動くプロ
グラムが簡単に書けるところがいいという気がする。

もっともそのせいでquoteが必要になって、ちょっと初心者へのハードル
になってるのかも。あと高階関数やlambda表現もハードルなのかな。便利
なんだけどね。というかそのくらい理解できない人にはプログラマを名乗っ
てほしくないぞ。

読みにくいかどうかは客観的に判断できる問題ではないけど、個人的には
他人の書いたLispプログラムとPerlプログラムなら、間違いなく前者の
ほうが理解する時間が少なくてすむ。


115 名前: 名無しさん@1周年 投稿日: 2000/11/07(火) 19:35
>lispって、何が便利なんだ?
インタープリター言語に関する古典テキストが
Lisp(Scheme)で書かれていて、
Lispが実験材料として良く使われる。
カーネルハッカーがカーネル解析するのと同様、
Lispに新しい機能くっつけてみたりする。
医者が使うマウスやラットの役割。



116 名前: ボンクラ狂気 投稿日: 2000/11/09(木) 19:51
Lisp覚えてemacsどのくらいカスタマイズできるんだろ、だれか教えて


117 名前: 名無しさん@1周年 投稿日: 2000/11/09(木) 20:00
emacslisp って、独自の関数をたくさん覚えなきゃならんので
commonlisp とか知っててもほとんど意味ない。.emacs で使う
ふつうの lisp 関数っていったら setq, if, cons, append, progn
くらいだよ。まあ慣れると自分で簡単な関数を書けるけど、
言語自体はわりと低機能なので大したものはつくれん。
mew とか、よくあんな言語であれだけ複雑なもん作るよなあ、と思う。


118 名前: 名無しさん@1周年 投稿日: 2000/11/10(金) 11:35
>lispって、何が便利なんだ?

Lispインタープリタの心臓部は仕様がコンパクトで、
学生へのレポート課題にちょうどいい規模なのが便利。
勘の良い学生なら30分で作れる程度かな。



119 名前: >118 投稿日: 2000/11/10(金) 13:19
evalって、printする部分だけなら30分で・・・・ん〜なんとか
なるだろうか。


120 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 01:19
こんにちは、
私もLispをやってみたいと思ってるんですが
みなさん、どんな風に学んでるのでしょうか?
なにか良いサイトあれば紹介してもらえないでしょうか、よろしくお願いします


121 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 01:30
vectorにgclがある。それから
http://clisp.sourceforge.net/
にclispというのがあるよ。
俺はLispは衒学的で好きじゃない。きれいな言語というけれど
どこがそうなのかわからん。


122 名前: ボンクラ狂気 投稿日: 2000/11/13(月) 12:32
117さん、レスありがとう!
という訳で買ってきました。ジャーーン!
『EmacsLispリファレンスマニュアル』\4300(高い...)

なんかこれ読んだ感じだと、頭悪いから、
MSWordのマクロ以下の事しか出来ないような気がしてきた(笑)
あ、でもみんなだまされないように!!
MSWordのマクロはとってもじゃないですが、あれでPerlのように
文字列処理が簡単にできると考えてはいけません。
昔、仕事でマクロを作ったときは、泣きました(笑)
Excel見たいに使いやすくなるのはいつのことだろ...

おっと脱線。
Lispは名前がいい!ただそれだけで勉強しがいってもんが
あるんでしょう。これからEmacsLispをがんばって勉強します。
みなさん、よろしく。


123 名前: 117 投稿日: 2000/11/13(月) 13:08
なんだ、いまは4300円なのか? 昔はドラフト版のダサい
装丁のやつで7000円以上もしたのに…。


124 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 13:32
LISPが綺麗なようにアセンブラも綺麗な言語です。
綺麗っていうのは余計な機能がないってことだと思うが…

まあLISPで何か役に立つもの作れとは言わないけど、少し触
っといたほうがいいでしょ。アセンブラと同じでね。


125 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 15:42
>LISPが綺麗なようにアセンブラも綺麗な言語です。
>綺麗っていうのは余計な機能がないってことだと思うが
厨房丸出しだな。

Lispが汎用言語であるともし前提するなら、お世辞にもきれいだとは
言いたくない。


126 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 15:55
>>125
なんでよ。他にどういう理由で綺麗だっていえるのさ。
興味深いって言うなら分かるけど、それはアセンブラも同じだろ?
汎用言語云々のところは何が言いたいのか良く分からん。


127 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 16:14
Lispのどこが余計な機能がない部分ですか?Schemeの仕様書が
小さい部分ですか?(藁

>汎用言語云々のところは何が言いたいのか良く分からん。
勉強不足です。っていうかまじ中坊?。



128 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 17:19
関数を定義するのも、IFもループも同じ構文で書けるじゃない。
これゆうのが言語仕様をすっきりさせてるんでしょ?(他にもあるけど)
もう一度聞くけど他にどういう理由で綺麗なのさ?

>Lispが汎用言語であるともし前提するなら、お世辞にもきれいだとは
>言いたくない
これで何が言いたいの?なんで汎用言語と前提するのさ。
って言う意味で聞いたんだけどなぁ。


129 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 17:49
>128
>関数を定義するのも、IFもループも同じ構文で書けるじゃない。
>これゆうのが言語仕様をすっきりさせてるんでしょ?(他にもあるけど)
「同じ構文」って括弧でくくることか?関数の定義も制御構造も関数呼び出し
と同じように括弧で括ることに必然性はない。むりやりすべてを統一的に扱お
うとしてむしろ汚い。まあ見かけが同じになるということが綺麗だといえばそ
れまでだが。

>もう一度聞くけど他にどういう理由で綺麗なのさ?
意味が分からない。綺麗な言語といえる条件を聞きたいわけ?

>これで何が言いたいの?なんで汎用言語と前提するのさって言う意味で聞い
>たんだけどなぁ。
限られた領域では、例えばLispによるLispのための研究とか、Lispでないと
どうしてもだめな領域があるかも知れないし、そういう分野に関しては知らな
いから。


130 名前: 名無しさん@1周年 投稿日: 2000/11/13(月) 18:21
>>129
LISPは綺麗な言語だってのが通説かと思ってた。
だからその理由を俺なりに想像してたまでさ。
まあこの通説が俺の勘違いなら別に文句はない。
あんまり強く主張するようなないじゃないから最初からsageで
発言したのよ。


131 名前: ボンクラ狂気 投稿日: 2000/11/14(火) 11:46
俺は中途半端は嫌いだ!
おれはプログラミング言語として、
Perlみたいに日常言語を目指す(そんなの絶対無理だけど(笑))のと、
もう一つの極端はLispみたいなものを考えてるけど、
どっちかっていうと言語の仕様は表記のレベルでは簡単なほうが、
”ロマン”があると思わん?(笑)

おれはLispの括弧だらけのソースに魅せられた!
別のロマンを知ってる人は教えて下さい。
小生、高卒で専門知識が一切ありません。
(文学部だったけど、中退しなきゃよかったよ。。。トホホ)



132 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2000/11/14(火) 11:48
とりあえず熱すぎるからsageとく。


133 名前: 名無し人間 投稿日: 2000/11/14(火) 13:41
Lispで何を作れるの?


134 名前: 名無しさん@1周年 投稿日: 2000/11/14(火) 13:44
LISPで、たまに「生産性が高く、C++で一週間かかるところを
2日で出来てしまう」というような賛辞を聞いたりするけど、
本当?
なんか信じられないんだけど。


135 名前: 名無しさん@1周年 投稿日: 2000/11/14(火) 14:14
こんにゃく問答だな…Lisp は関数型言語としてもリスト処理言語
としても中途半端だよ。末尾再帰をちゃんとサポートしてないし、
型チェックもない、遅延評価もない、シンボル t と nil を特別
扱いしてる、その他いろいろ。Scheme は Lisp より単純で美しい
が、これも完全な関数型言語とはいい難い。ML や Haskell と
いった言語になるともっと完全に近いが、構文的にはどっちも
綺麗じゃない (ML の構文の複雑さは pascal を思い出させる)。
関数型言語を使うとなぜ生産性が上がるのかは、ここを参照:
http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html
Lispは木構造の探索とか、そういうのは得意だが、一般的には
CLOS 使っても C++ 使っても生産性は同じようなもんだろう。
あと、いちばん美しい言語といったらチューリングマシンか一般再帰関数だろ (藁


136 名前: 名無しさん@1周年 投稿日: 2000/11/14(火) 14:25
型がないといえば、PerlやRubyも型が少ないけど、
これらは悪なんか?


137 名前: 名無し人間 投稿日: 2000/11/14(火) 15:44
LISP=3流言語と結論しても宜しいでしょうか?


138 名前: 名無しさん@1周年 投稿日: 2000/11/14(火) 15:49
>>135
チューリングマシンを言語と呼ぶか?
ユニバーサルチューリングマシンは何と呼ぶ気だ?

>>136
Lispに型がないわけじゃないよ。
オブジェクトには型あるよ。
変数は型付けされないけどね。

>>129
必然性がないのはむしろ全てが異なる事の方。
異なる必要がないものをそのままにしておいたと考えろ。
それに関数呼び出しとか制御構造って何だよ?
リスト形式で統一というのは本質じゃないだろ。
まがりなりにも関数型なんで基本は評価と適用だ。
制御構造と呼ばれるものもすべて基本形に還元されるマクロだ。



139 名前: 名無しさん@1周年 投稿日: 2000/11/14(火) 15:54
>>137
三流以下プログラマにとってはそれでいいよ。



140 名前: 名無しさん@1周年 投稿日: 2000/11/14(火) 19:08
じゃあ、仮にJavaとLISPが使いこなせるプログラマがいたとして、
どっちを使えば生産性が上がるんだ?
分野によるんだろうけど、強引に優劣をつけるとしたら
Lispは健闘するのか?


141 名前: 名無しさん@1周年 投稿日: 2000/11/14(火) 22:51
その前にJavaは健闘するのか?



142 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 00:56
生産性で行けば、C/C++が一番。定説です。


143 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 02:19
僕の先輩が言うには
「VBAより式言語の方がいいだろ!!!」的なことを仰ってました。
五十歩百歩。(TT


144 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 02:22
PROLOG


145 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 02:59
>142
そのとおり。
C/C++しか使えない3流にとっては。



146 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 03:06
つまんねえつっこみするなよ。寒すぎ。


147 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 04:39
↑つまんないもなにも事実だろ



148 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 05:11
>147
Lispも使える一流プログラマがLispを使った方が*プログラミング一般*の
生産性がC/C++と同等かそれ以上であることの証明をして下さい。


149 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 05:16
148の訂正
Lispも使える一流プログラマは、Lispを使うと*プログラミング一般*の
生産性がC/C++と同等かそれ以上になることの証明をして下さい。



150 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 05:33
>149
あ、俺も知りたい。
LISPだと簡単に出来てC++で冗長になる簡単な実例を
挙げるとかね。


151 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 05:50
そういう例はたくさん挙げることが出来るでしょ。再帰とかリスト処理とか。
そもそもLispとCを比較するのは不毛だろ。
Lisp系言語がCのような汎用性を目指しているならともかく。


152 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 09:28
>>149

オレが一番便利だと思うのはラムダ式だねー。
まあそれは文法的な問題だから、Cっぽい言語でも
できることだけど。オブジェクト指向言語では「ブロック」が
代わりになることがおおいし、この板でもC++の関数内クラスで
似たような意味をもたせる提案があったね。

関数がファーストクラスオブジェクトなのも便利だね。
生産性うんぬんっていうのは、ほとんどの場合、
型つけが弱くて構造を柔軟に作れることが言ってることが
多いと思う。

今だったら「perlの方が便利」っていうのに近いんじゃないの?
perlよりか、emacs-lispみたいに文字列処理機能強くしたlisp
の方が便利だと個人的には思うけどね、構造が柔軟な分。

けど、ある程度の規模が必要になってくると、型付けの弱さは
弱点になってくるよ、やっぱり。
昔と今じゃ作ってるものの規模が違う、と思う。

あと動的に木を作ってそれをプログラムとみなすことができることかな。
これはほぼlisp系ならではだね。perlにもevalってあるけど、
再インタプリトだからちょっと意味合い違うし。



153 名前: 名無し人間 投稿日: 2000/11/15(水) 09:33
>私の経験では,Lispでちゃんとプログラムが書ける人は,たいてい他の
>言語もあっという間にマスターできますし,オブジェクト指向やパター
>ンなどの考え方も素直に取り入れることができます.1さんは学生のう

ほんまかいな。



154 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 16:02
>>150
コンパイラ



155 名前: 名無しさん@1周年 投稿日: 2000/11/15(水) 16:11
>>154
藁タ

昔、LispコンパイラーがLisp自身で書かれているって良く分からなかった。
でも最近のCコンパイラもC自身で書かれているからなァ〜。

あ、でもその記述サイズが問題ですね。



156 名前: 154 投稿日: 2000/11/16(木) 09:15
ん?
マジなんだけど。
どーせLispもわからんここの奴らは力仕事のプログラミングしかやってねーだろーから理解できないだろうがね。



157 名前: 名無しさん@1周年 投稿日: 2000/11/16(木) 13:04
いんや、Lispがシンプルなコーディングで自分自身のコンパイラーを記述できると言う情報は知っています。



158 名前: ボンクラ狂気 投稿日: 2000/11/16(木) 14:04
>135
レスありがとうございます。

> Lisp は関数型言語としてもリスト処理言語
> としても中途半端だよ。末尾再帰をちゃんとサポートしてないし、
> 型チェックもない、遅延評価もない、シンボル t と nil を特別
> 扱いしてる、その他いろいろ。

なーんにも知らなくてすみません。紹介して頂いたサイトなどで
もっと勉強します。ちなみに皆さんやっぱり学校で勉強されたんですか?
結構知識があるようですが。。



159 名前: 名無しさん@1周年 投稿日: 2000/11/16(木) 17:17
>>157
そうですか。すまん。
いやね、実際コンパイラ書いてみればLispよりC/C++の方が楽なんて言わんだろうと思ったもんで。
どっかにしまってあるデータ取り出してちょっとゴニョゴニョして適当なソケットに流し込むような事だけだったらどんな言語でもかわりはしないよね。
そんな仕事ならC/C++しか知らない奴ならC/C++が一番に決まってる。

あと末尾再帰云々と行ってる奴もさ、Common Lispなら大体コンパイラもあるだろー。
コンパイルした後に試してみたのか?
コンパイルの段階では普通ちゃんと繰り返しに変換されてんだっつーの。

型情報も付けられるようになってるしね。
商用コンパイラじゃあオプションによって厳密にチェックする(warningではなくerrorにする)事もできたはずだけど。



160 名前: 名無しさん@1周年 投稿日: 2000/11/16(木) 17:19
lispを習わせる大学ってどれくらいあるの?
おれが出たとこはschemeとprologが学部課程に入っていた。


161 名前: 名無しさん@1周年 投稿日: 2000/11/16(木) 18:04
>>159
157じゃないけど、コンパイラ書くって話だったら
CとC++一緒にしちゃだめだし。
STLとyacc/lex組み合わせればとても楽よ。
あんたlispの評価はいいけど、C++の評価が低すぎ。

ちなみにボクはlispそこそこやる人です。



162 名前: 名無しさん@1周年 投稿日: 2000/11/16(木) 18:48
そもそもLISP使ってる職場がほとんど無いだろ。


163 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 01:28
Lispの方を高く評価する人は、ろくにSTLも使えない
3流プログラマということで決定ですね?


164 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 01:29
ウチも大学でLisp習ったよん。ばりばり組んでた。
そのころは便利だなとは思ってたけど、C++をメインで
やってる今となっては特筆すべきは何もない。

いろいろ言語やったけど、Prologだけは他よりも異質だったと思う。
Lispよりは広まってほしかったけど、もうそうなることもあるまい。


165 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 03:17
Lispねえ……。
AutoLisp...(utudasinou


166 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 12:45
AutoLISPねえ…。ARXもねえ…。


167 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 13:50
結局C/C++派は相手が書いてないとこをつつく事しかできない馬鹿ばかり。
Lispを使う職場が少ないのはプログラマの仕事の殆どは力仕事だという事実があるからであり、Lisp使えない馬鹿ばかりという事だろ。



168 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 14:00
>>167
くだらないアプリばっかり作ってます。
でもあんたもそれ使ってるんでしょーが!



169 名前: とゆーか 投稿日: 2000/11/17(金) 14:33
lisp使って生産性が上がるほどアルゴリズム的に
複雑なものって何があんのよ? 一般的な業務として。
それよりも、ひたすら肥大化するプログラムをうまく
まとめられるという特徴 (ようは、oop だな) のほうが
ありがたいんだろ、結局は。lisp にしても、CLOS が
もっと早く生まれてて、よくできたコンパイラやクラス
ライブラリや開発環境がたくさんあったら、歴史は変わっていた
かもしれない。


170 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 16:00
Lispはプログラミング言語そのものとしてみてもCより優れて
いるとは思えない。ちなみにCが使えてLispが使えない
なんてことはあり得ないと思う。


171 名前: 名無し人間 投稿日: 2000/11/17(金) 16:24
だからさぁ、何が作れるかとかじゃなくて、洗練された言語として
Lispは優れているわけ。
C/C++を使って三流ソフトウェア企業の中でせこくやっている人間は
他のスレッドに行って欲しい。


172 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 18:07
>>171
プログラムとは何かを作るための言語じゃないか?
そのための洗練であるはず。
何が作れるかではない、などとは本末転倒なこと言ってないか?


173 名前: 名無しさん@1周年 投稿日: 2000/11/17(金) 18:08
>171
なんか数学者がロケット技術者に文句言ってる見たい


174 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 00:25
lisp狂信者、発言するのやめてくれないかな?
普通のlisperがバカにされるから。
それを狙ってやってるのか?
もう放置しようよ。



175 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 01:24
つーわけでsage


176 名前: 元Symbolicsユーザ 投稿日: 2000/11/18(土) 01:39
174に賛成
大学によくいる,Lispオタクの学生をみているようだ.


177 名前: 元Symbolicsユーザ 投稿日: 2000/11/18(土) 01:40
あ,あげちゃった
ごめんなさい


178 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 02:33
つまりLISPは負けを認めたということだな。


179 名前: おもしろいねぇ 投稿日: 2000/11/18(土) 02:50
171=LISP


180 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 14:36
LISPと言う流行に乗り遅れた言語を、後生大事に使い続けている様なこだわり屋さんは
優秀なプログラマである確率が高いと思う。
実際、ぼくの知っている開発会社はそう言う人ばかりだった。


181 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 14:48
おそらくLisperのほとんどはC/C++を使えるが、
ここで吠えてるC/C++屋はLispを使えないだろうね。
使えないものや手に入らないものをけなすというのは良くある人間的行動です。
かわいそうだから弱い者いじめはやめてあげましょう。



182 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 15:01
言語そのものを作ってるならともかく、
使えるか使えないかで、差別してもあんまり意味がないような?

美しい言語仕様だとは思いますが。LISP


183 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 15:11
最近は情報系の学科でも教えないところもあるんだよね.
困ったもんだ.


184 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 16:31
実際に使うかどうかはともかく、視野を広げるって意味では
lispやprologは知ってて損のない言語だと思う、たしかに。


185 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 16:36
Lisperになったら
他の言語使えないような気が・・・


186 名前: 鏝半(元Symbolicsユーザ2) 投稿日: 2000/11/18(土) 17:12
たまにはLISPもいいよ。
手続き型に書きたきゃ書けるし。


187 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 18:12
結局、美しい仕様だとか、たまには良いとか、使えないから批判する
だけだとかそういうことしか言えないんだね。
肝心の生産性はいまいちってことなんだろうね。


188 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 18:20
向き不向きがあるから、並べて論じてもねえ。


189 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 20:06
並べて論じてもあんまり意味無さそうだから、「そういうこと」に話題
が向くのはごくありがちな成り行きだとおもうなぁ。


190 名前: 名無しさん@1周年 投稿日: 2000/11/18(土) 20:58
>>187
そうだよ。
C/C++の生産性なんてそんなもん。



191 名前: 名無しさん@1周年 投稿日: 2000/11/19(日) 00:24
>190
プログラムの定理その1

何の言語でも、生産性が低いのは言語のせいじゃない。


192 名前: 名無しさん@1周年 投稿日: 2000/11/19(日) 01:14
「言語だけの」の間違いだろ?


193 名前: 名無しさん@1周年 投稿日: 2000/11/19(日) 02:47
要はC/C++オンリーのプログラマの生産性が低いってことだろうよ。



194 名前: 名無しさん@1周年 投稿日: 2000/11/19(日) 12:03
処理系にbugが少ないというのもメリットかな。
古典に属するので枯れている。


195 名前: 名無しさん@1周年 投稿日: 2000/11/20(月) 04:16
C/C++よりも生産性が高いとして、何で普及しないの?


196 名前: 名無しさん@1周年 投稿日: 2000/11/20(月) 09:47
MicrosoftがLispの処理系を売っていないから。



197 名前: >195 投稿日: 2000/11/20(月) 18:14
こぼらーが絶滅しないのと同じ理由


198 名前: 名無しさん@1周年 投稿日: 2000/11/20(月) 20:53
>>195
日本人に英語も喋れない人間が多いのと同じ理由。



199 名前: 名無しさん@1周年 投稿日: 2000/11/20(月) 21:31
>149 名前:名無しさん@1周年投稿日:2000/11/15(水) 05:16
> 148の訂正
> Lispも使える一流プログラマは、Lispを使うと*プログラミング一般*の
> 生産性がC/C++と同等かそれ以上になることの証明をして下さい。

その手の Journal に昔から山のように実証論文があります。ちょっと前に見
た例で覚えている奴は、米海軍が行なった実験で、イージス艦の実時間システ
ム(敵と守るべき空母と味方の機体がいり乱れて大騒ぎ)のプロトタイピングを、
Haskell, Ada, Ada9X, C++, Awk/Nawk, Rapide, Griffin, Proteus,
Relational Lisp 等々のまあ、そういう変態言語ばっかのようなきがするけど、
で競わせる(たしか、チームがヨーイドンでシステムを作る)っていうものでし
た。確か、最優秀だったのは、HaskellとRelational Lispで、コードの量は最
下位の C++ の 1/10以下で開発時間も10時間とかそんなものでした。ちなみに
C++ は規定時間(60時間くらいだったか?)内に開発が終らなかった。ここで、
もっとも短時間に開発出来たのが、確か Relational Lisp (Lisp にデータベー
ス用の論理プラグラム言語風拡張を施したもの。竹内さんの NUE なんかと似
てるのかな?) で、Haskell の半分以下(4、5時間?)だったはず。コードの量
はHaskell の倍以上だったかな?



200 名前: つづき 投稿日: 2000/11/20(月) 21:31
保守性、デバッグの容易さなんかでもこれらの言語は C++ を圧倒していたと
いう結論でした。印象的だったのは、Ada と Ada9X がかなり優秀だったこと
でこの論文では、ここに並ぶ変態言語を押しのけて、Haskell, Relational
Lispの次くらいに来てたこと。因みに、この比較では、C++ と Awk/Nawk が
だんとつで最下位でした。

Griffin っていうのは、MLの拡張らしいので、Haskell なんかとは近いような
気がするんだけど、この実験ではあんまり成績が良くなかったんだよな。Ada
も C++ も似たようなもんに見えるのに大きな差が出てるし、なんか不思議で
すね。



201 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 00:24
>>199-200
「その実験のC++のプログラマがたまたまヘボかっただけ」に一票


202 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 00:46
201は、「情報科学のしろうとである、ていうか糞グラマである」に一票


203 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 01:13
なんかこのスレでLispを持ち上げている奴ってC/C++を使ってる奴を勝
手にC/C++オンリーと決めつけているとことがイタイな。たとえLispを
使ったことがないとしてもC/C++、そのほかの言語が使えてLispが使え
ないわけがない。Lispはある特殊な領域では適しているかも知れない。
だがCのような汎用言語としてみた場合、劣っていると思う。


204 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 10:10
>>203
その意見の根拠への参照を示せ。
どのジャーナルだ?




205 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 13:56
>>202
199-200を書いた人でも202を書いた人でも良いですが、
その実験における各チームの能力差に関する考察をお
願いします。


206 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 14:08
つーか軍なんだからマトモな実験するんじゃないか普通?
能力差うんぬんの話は論点をずらしたいだけのような気がする。


207 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 14:18
VBやC#も加えてもう一度やって欲しいな



208 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 14:52
各言語につき少なくとも3チーム無作為に選んで実験したとかなら
信憑性があるけど、各言語1チームだけだと能力差って言われても
仕方ないなあ。この手の実験の統計処理はよっぽど慎重にやらないと、
だれも信用しないなあ。でもC++やLISPなら3チームくらいすぐ集まるけど
他のはマイナーすぎてチーム探すのも大変では?


209 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 15:20
Scheme好きだけどね。MLも好きだけどね。結局、いまのところはC++なんだよね。
やって損なしだと思うけど、C++を虐げるほどのものじゃない。

お仕事で「やらなくちゃいけない」のでやってるプログラマさんと、
好きで勉強なり研究なりをやってる学生さんのちがいだね。
入れ込むのはいいことだけど友達なくすなよ。


210 名前: んー、むしろ 投稿日: 2000/11/21(火) 16:06
この実験は、米海軍がやったもんだから(金もかかってるだろうし)その辺りの
コントロールはちゃんとしているでしょう。それに、これだけマイナーで高度
な言語ばかり揃ってるわけだから、人材的に一番有利なのは誰でも知ってる
C++でしょ? 経験ある人多いんだからさ。だから、そういうファクターを考慮
するとC++はますます評価下がると思うよ。Haskell のプログラマーって、研
究者ばっかりだろう? 偏見かな? それなのにこんなテーマのバリバリの制御プ
ログラムで勝負して勝つんだから大したもんだと思うけど?



211 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 16:44
この板にも Haskell 知ってる人間が結構いるってことは、
勉強してるプログラマが多いのか、それとも学者が
結構見てるのか、どっちだ?


212 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 17:43
>>206
同意。
どうしても、LISPをC/C++の下に置きたい痛いC/C++信者がいるらしい。

ちなみに、俺はC++プログラマだ。LISPは、かけらも知らん。


213 名前: 名無しさん@1周年 投稿日: 2000/11/21(火) 18:26
このスレを見て思ったこと。やっぱアメリカってあなどれねえな。
日本でこんな実験しようとするところなんて (企業でも大学でも) あるか?


214 名前: >213 投稿日: 2000/11/21(火) 18:44
軍だからじゃないか?
まぁ、アメリカが侮れないのは当然のこと。



215 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 00:08
つーか、研究者は職業プログラマより格段に頭がいいから、haskellが
勝っただけじゃないの?
製品を作るんじゃなくて、難問を解決するプログラムを作るんだろ?
研究者が有利に決まってる。
C++のチームは大方、職業プログラマだろ。


216 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 00:35
>>215 の頭が悪いのはわかった
君は低学歴プログラマなんだね



217 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 01:51
>>216
Lisp信者は何でこういうことばかり言うのかな。


218 名前: 名無し人間 投稿日: 2000/11/22(水) 10:40
>>217
C/C++信者が頭悪いからでしょ。
煽るから煽り返されてるだけです。


219 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 10:42
LisperとC/C++信者だと平均のプログラミングレベルはLisperの方が
格段に上です。
言語の優秀さがプログラマーにも現れている一例ですね。


220 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 10:45
LispがC/C++より使いでがあるのは動的にコードを作れるから
に他ならないのでは?



221 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 10:54
haskell は使ったことないけど、sml (ニュージャージーでインプリしたML)は
使ったことあります。haskell って ML の実用版みたいなもんなのかな?

ML は慣れると、麻薬的な魅力がありますね。型の威力を感じたな。type
inferenceっていいわ、ものすごく。ML の入門テキスト(大堀さんが書いたや
つ)の最後であっと言う間にパーサーが書けちゃうのは魔法みたいだった。



222 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 11:14
http://haskell.org/


223 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 11:21
http://www.galconn.com/icfp00/index.htm

ICFP で、ray tracer を72時間で作るプログラムコンテストで Haskell98を使ったチームが優勝、だって。なんかすごい言語みたい。


224 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 11:45
名無しさん@大黒学ML講座密かにファンです。
haskellは15年前くらい前からあったと思います。
C++やEiffelより古いです。




225 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 12:19
>>222
ここ見ると、なんか、とうとう関数型言語が take off しそうですな。

ここ数年で実用的なプログラムを題材にした haskell の教科書がアメリカで
いっぱい出てるんだね。

日本は、また乗り遅れるのかな。

>>224
もう15年にもなりますか.... 91年頃に sml 使ってたけど、あの頃はま
だ haskell って名前しか聞いたことなくて使うことが出来なかった。
大堀さんのマキアヴェッリっていう ML はどうなったんだろう?


226 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 12:35
永久にtake offしないに1票。
そもそも関数のみで一般性のある言語を構成しようというのは
無理がある。
オブジェクト指向でそれをやったSmalltalkと同じ。


227 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 16:29
>>218
このスレッド見る限りLisperの方が馬鹿に見えるよ。


228 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 16:38
LISPはOOじゃないから、あまり良くないんじゃないかな。


229 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 17:56
OOじゃないから良くない、って理屈はおかしいと思うが。


230 名前: 名無しさん@1周年 投稿日: 2000/11/22(水) 19:01
みんな!まずここからはじめよーよ

リスぷ最古ーーーーー



231 名前: 名無しさん@1周年 投稿日: 2000/11/23(木) 03:12
型が無いような言語は駄目だろ。


232 名前: 名無しさん@1周年 投稿日: 2000/11/23(木) 17:37
>230
お前みたいの入ってくると、分かってる人が
逃げていくだろ。ドッカ逝け。


233 名前: 名無しさん@1周年 投稿日: 2000/11/23(木) 21:11
>LISP使う仕事

AutoCAD系カスタマイズ・・・・・・・・・


234 名前: 名無しさん@1周年 投稿日: 2000/11/24(金) 12:30
だから型ありにもできるんだって



235 名前: 名無しさん@1周年 投稿日: 2000/11/28(火) 00:24
>228、229

LISPは最古のOOだって。CLOSがあるでしょ。
http://www.os-omicron.org/~takano/private/software/java/lisp.html


236 名前: 名無しさん@1周年 投稿日: 2000/12/01(金) 12:44
>>199

C++が不利になるような条件ばかりを揃えた、いんちきベンチマーク。

1、C++ がボロ負けなのは、生のC++で1からプログラミングしたから。
適当なライブラリを揃えてから勝負すれば、時間内には終わるはず。

2、C++は「プロトタイピング」のための言語ではない
「プロトタイピング」段階での生産性の低さに関しては認める。
なぜなら、C++は「プロトタイピング」を目的に設計された言語ではないからだ。
C++の真価が発揮されるのは、再利用性・保守性までを考えたとき。

# プロトタイピングなんて不要、上流設計はUMLでやれ(藁



237 名前: 名無しさん@1周年 投稿日: 2000/12/01(金) 12:51
>>234
それは、型をパラメタライズできますか?
# Lispに関しては、普通のCommon Lisp と Scheme R5RS くらいしか私はしらないので...

AdaとかC++(Release 3.0以降)ならテンプレートを使えば、
タイプセーフなままで、ジェネリックプログラミングが可能ですよね。



238 名前: 名無しさん@1周年 投稿日: 2000/12/01(金) 14:15
>236
言われてみれば、C++は過去の資産を再利用することに全精力を
傾けて作られた言語だよな。
一からプログラミングする実験なら意味が無いな。


239 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 01:47
いつの間に日本語のホームページが出来たんだろう > Franz社
http://jp.franz.com


240 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 02:08
Adaっていい言語なの?


241 名前: ファイルマネージャとプログラムマネージャ 投稿日: 2000/12/02(土) 02:22
っていうかさLISP技術者募集してる会社10社あげられる?
むりでしょ


242 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 02:29
>241
あげられないと、どんなことがわかるの?


243 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 02:46
なんでみんなC++を擁護しようとするんだろ・・・。
ダメ言語の筆頭がC++だと思うんだけど。
他に選択肢がないから嫌々使ってるんじゃないの?。
みんなはC++なんかで満足しちゃうの?。


244 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 02:47
>242
1を読めよ


245 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 03:01
>>243
C++は覚えるまでが非常に大変で複雑だから、その点は
ダメ言語なのかもしれないけど、知識と経験があれば
良い言語でしょ?


246 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 03:13
>ダメ言語の筆頭がC++だと思うんだけど。
ひとりで思ってろ!!!
>他に選択肢がないから嫌々使ってるんじゃないの?。
ちがう!!!
>みんなはC++なんかで満足しちゃうの?。
満足はしてないんじゃないかな?


247 名前: 242 投稿日: 2000/12/02(土) 03:35
>241&244
そりゃ"LISP技術者"として募集なんか、ほとんどしないよ。
いわゆる現場ではLISPが活躍しているのは
AutoLISP関連と一部の機械制御だけだけだろうけど、
いまさら、それを指摘したいわけじゃないよね。
だから、なにがわかるのかなぁっと思ったので。

計算機プログラムを論じる上では、LISPは基礎教養のうちだし、
LISPを使って研究をすすめたりもするので、
そういう意味ではLISPを使って仕事できるんだけどね。


248 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 03:35
>246
なんで3番目だけ口調がやわらかいんだろう(笑)


249 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 03:45
>247
>計算機プログラムを*論じる*上では、LISPは基礎教養のうちだし、

そだね、でも残念だけど 計算機を使う仕事(プログラマとかね)の
基礎教養ではないよね

LISPかぁ、勉強したいなー muleのキーバインドぐらいしか
しらんな


250 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 05:51
>>240
Adaは複雑と言われてますが、Ada83なら結構簡単です。http://www.adaic.org/
からドキュメントやコンパイラが探せるので、ちょっと見てみて下さい。

>>249
muleを使っているんでしょうか?『リスト遊び-Emacsで学ぶLispの世界-』
という本が売っているので、これを買って遊んでみては。1200円だし。

http://www.ascii.co.jp/books/detail/4-7561/4-7561-3442-4.html




251 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 06:17
C++嫌いと LISP好き は同じ人かな??
同じ人と仮定していうと

社会に出てからLISPだけで食っていくのは無理だよ
そんなやつ日本に10人いないよ
(もっといる知っている、もしくは俺がそうだって人がいたらごめん)
でも君が嫌いなC++のプログラマになっても
きっと優秀なプログラマになると思うよ
プログラマとしてやっていく上でLISPの知識は必須ではないけど
きっと役に立つことは保証できるよ


252 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 11:19
Franzのホームページは自信たっぷりなのが面白い。
LISP最強だってさ。
http://jp.franz.com/base/product_acl_features.html

事例を書いている人達も、LISP大好き人間なのがひしひしと伝わって来る。


253 名前: 名無しさん@1周年 投稿日: 2000/12/02(土) 11:34
>251
私の知り合いに、50%位LISPで食っている人がいます。
彼曰く、プロトタイピング的に開発を進める場合、他の言語と
2-3倍生産性が違うのだそうで。


254 名前: 名無しさん@1周年 投稿日: 2000/12/03(日) 21:37
>>236

そんなことないと思うぞ。Ada, Ada9X は haskell, Relational LISP の次
位に優秀だったんだろ?
Ada, Ada9X は、システムを書ける言語だから C++ の直接のライバルだぞ。


255 名前: 名無しさん@Haskell.org 投稿日: 2000/12/03(日) 22:25
Haskell Report 1.0 が出たのが 1990年です。なので正式には Haskell
は 1990年〜 でしょう。Preface には 1987年の Oregon の関数型
プログラミング言語と計算機アーキテクチャの会議で「それまでの数多の
非正格純関数型言語をまとめあげる」という合意が得られ、Haskell は
書かれた、とあります。
1987年以前にこの手の言語はいくつかあり、1987〜1990年にかけて
まとめあげられたようです。詳しいことは Lennart に聞くといいのかな。
Miranda が商用となったことも関係あるのかも。



256 名前: 名無しさん@1周年 投稿日: 2000/12/04(月) 19:40
age


257 名前: 名無しさん@1周年 投稿日: 2000/12/04(月) 23:08
自明なことだと思ったので敢えて書かなかったのだが…

>>254
Adaは米国国防総省(DOD)の資金援助で開発されたプログラミング言語。
DODの制御システム作成での、ほとんどの要求を満たすように設計されたからだ。
「イージス艦の実時間システム」で好成績を収めて当然。

# マルチタスク処理の扱いに関してAdaが優れていることに異論は無い。
# Ada9Xの方に関しては、どシロートなのでわからん。



258 名前: ヽ(´ー`)ノ マタリンコフ 投稿日: 2000/12/04(月) 23:08
なんとなくxyzzyが使いたくなったのでLispやることにしたぁヽ(´ー`)ノ


259 名前: 名無しさん@1周年 投稿日: 2000/12/05(火) 02:38
57 68 61 74 20 61 6e 20 61 73 73 21


260 名前: 名無しさん@1周年 投稿日: 2000/12/07(木) 23:22
どなたかLispの分りやすいサイト知ってたら教えて下さい。age


261 名前: 名無しさん@そうだ選挙に行こう 投稿日: 2000/12/09(土) 12:32
visual age for lisp


262 名前: aaaaa 投稿日: 2000/12/10(日) 15:19
記号処理(パターンマッチ)はLISPのほうがC++よりどう考えても楽だと思う。
また、CommonLispは演算子や制御構造にあたる部分すらもユーザで定義
できるので言語処理系を自分で作って遊ぶのには持ってもいです。


263 名前: 名無しさん@1周年 投稿日: 2000/12/10(日) 17:25
Lispとはメタ言語なの?


264 名前: 名無しさん@1周年 投稿日: 2000/12/10(日) 18:08
LISPをC++で作ろうと思っているのですが、、。どうでしょう。


265 名前: 名無しさん@1周年 投稿日: 2000/12/10(日) 18:11
記号処理はパターンマッチじゃないぞ?


266 名前: 名無しさん@1周年 投稿日: 2000/12/12(火) 10:54
>>262
あやしい制御構造書くと、他人が読めなくなる。メンテ不可能。
でも、まあ、CommonLispなんて、かわいいほうなんだな、これが。
Schemeの「継続」なんて、ダイクストラ氏がショック死するぜ。

C++でも演算子の多重定義が可能だし、
例外処理以上にごちゃごちゃしたものはいらん。


267 名前: 名無しさん@1周年 投稿日: 2000/12/12(火) 10:57
>>266
意味(表示的でも操作的でも)を理解してしまえば継続は大して
難しくないのでは? 部分継続なんてのも一緒に使うと面白いよ.


268 名前: 名無しさん@1周年 投稿日: 2000/12/12(火) 16:27
>267
Schemeになじみの薄い人にとってはSchemeのイディオムは
意味不明なのが多いから、彼らが「メンテ不可能」なのはしょうがない。
知らない人になにいっても無駄。

CやC++でもある種の書き方は、他の言語しかやらない人には奇異にみえるだろう。
でも、Cを知ってる人は非常に多いので、気にならないだけ。


269 名前: 名無しさん@1周年 投稿日: 2000/12/12(火) 18:46
つまりメンテ要員が多いっつーCの価値だな


270 名前: SchemerになりたいCer 投稿日: 2000/12/12(火) 19:01
継続ってのサンプルコードを誰か書いてくれませんか?

これ読んでもそれっぽいのが書かれてない、、、
http://www.sci.toyama-u.ac.jp/%7Eiwao/Scheme/r5rsj/html/r5rsj_toc.html


271 名前: 名無しさん@1周年 投稿日: 2000/12/12(火) 23:35
みんなLISPはすごいすごいって言うけどSchemeはどうなのよ?
これはLISPより良い言語なの?


272 名前: 名無しさん@1周年 投稿日: 2000/12/13(水) 01:21
Schemeは中途半端な関数型言語だというのは本当ですか?


273 名前: 名無しさん@1周年 投稿日: 2000/12/13(水) 08:34
うん


274 名前: 名無しさん@1周年 投稿日: 2000/12/13(水) 10:30
はじめてcontinuationを意識したという点ですごい。
某ぐにゅ〜のひとが進めている点ですごい。

でも、実用性皆無。泥沼の戦場で役に立つのはC++さ。へーい。


275 名前: 名前ついてますか? 投稿日: 2000/12/13(水) 11:42
でもプロジェクトを泥沼にするのも C/C++ だね



276 名前: 名無しさん@1周年 投稿日: 2000/12/14(木) 07:01
Cでも continuation は実現できるよ。


277 名前: 名無しさん@1周年 投稿日: 2000/12/14(木) 07:02
CommonLISP はともかく、Scheme で仕事は勘弁。


278 名前: 名無しさん@1周年 投稿日: 2000/12/14(木) 11:12
>>275
プロジェクト自体にならないのが lisp.
キレイゴト言えるのは、所詮おあそびだからさ。
いっぺん、はたらいてみろ。情報科の頭でっかちめ。


279 名前: こんなのはどうだ>270 投稿日: 2000/12/14(木) 12:01
> (define c1 #f)
> (display (+ 1 (call/cc (lambda (c) (set! c1 c) 2))))
3
> (c1 5)
6


280 名前: 279 投稿日: 2000/12/14(木) 12:02
あ…display はいらないね


281 名前: 名前ついてますか? 投稿日: 2000/12/14(木) 12:05
働いた結果いってるんだけどねえ。
メモリ管理もできないバカに C書かせるなよ。
組み込み系だけど GCつけたくなる今日このごろ。

>>276 それって stack全部保存しちゃうってやつ?
そういう実装の schemeも多かった気がするな。



282 名前: 名無しさん 投稿日: 2000/12/14(木) 12:11
お前はマイナー言語でオダあげてろ。
オゴシちゃんにはそれがお似合いだって。

分かったら無理すんなよ。(稿



283 名前: 名無しさん 投稿日: 2000/12/14(木) 12:24
ついでにいうとお前他の板でも俺にマトワリついてるだろ(稿
手加減してんのが分かんねえらしいな。
クセーからちかよんな。殺すぞ。



284 名前: 名無しさん@1周年 投稿日: 2000/12/14(木) 12:51
> それって stack全部保存しちゃうってやつ?
> そういう実装の schemeも多かった気がするな。
継続をきちんと実装しようと思ったらそれ以外に手はないんじゃないっすか?
もっと効率のいい方法があるのかな。


285 名前: 276 投稿日: 2000/12/14(木) 16:40
>>281
>>284
うん。
#include "setjump.h"
やね。
Scheme とか LISP とか知ってる人と知ってない人では C のコード
が凄く変わることがあって、そういうときに LISP や Scheme を
知らない人は何やってるか全然わからないだろうな。



286 名前: 名無しさん@1周年 投稿日: 2000/12/14(木) 17:54
ある程度以上のレベルの仕事をするためには、
C で書こうが C++ で書こうが、LISP みたいな基礎教養が無いと
辛いという話ですね。


287 名前: 名無しさん@1周年 投稿日: 2000/12/14(木) 18:43
>LISP みたいな基礎教養

なんか馬鹿っぽいんですが。



288 名前: 名前ついてますか? 投稿日: 2000/12/14(木) 19:04
>>284 Cに落とす Scheme処理系だとそうせざるを得ないんだろうな。
一番過激なのは、そもそも stackを使わないで、全部 continuationで実装しちゃう
とか。byte code interpreter系の実装とか (scheme48とかだっけ?)、
あとは schemeじゃないけど SML/NJとか。

>>285 setjmp.hは雰囲気は似てるけど、別物。って
"setjump.h" だから、setjmpとはちがうのかしらん?

>>286 げに。



289 名前: 名前ついてますか? 投稿日: 2000/12/14(木) 19:11
>>282 おせっかいだから参考文献を挙げておく。っていうか実は別に 282宛て
じゃなくて、少なくともこのスレッドを読んでいる向学心のある nonLisperむけ
だけど。って 282もはいるのかな。まあ、このスレッドに来ただけ偉い。

http://nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/7bits/saredo
http://nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/h/curry
ぐらいかな。URLを上にたどって別のも探すぐらいはしてね。

おごちゃんっていえば、超メジャー言語の GNU Cobolはどうなったのかな?



290 名前: 276 投稿日: 2000/12/14(木) 21:06
> >>285 setjmp.hは雰囲気は似てるけど、別物。って
> "setjump.h" だから、setjmpとはちがうのかしらん?

あい。そです。<setjmp.h> じゃなくて、"setjump.h" なところに
気付いていただけてうれしー。





291 名前: 名無しさん@1周年 投稿日: 2000/12/15(金) 07:40
関数型言語の推薦図書、なんかあれば教えて下さい。
どなたかよろしくお願いします。


292 名前: 743 投稿日: 2000/12/15(金) 08:49
> 291
http://www.kindaikagaku.co.jp/bookdata/ISBN4-7649-0181-1.htm
http://www.ascii.co.jp/books/detail/4-7561/4-7561-1641-8.html
ついでにこれも
http://www.ascii.co.jp/books/detail/4-7561/4-7561-0317-0.html



293 名前: 名無しさん@1周年 投稿日: 2000/12/15(金) 09:03
>292
ありがとうございます。
これから勉強していきますので何卒よろしくお願いいたします。


294 名前: 743 投稿日: 2000/12/15(金) 11:12
ああ, これって LISP スレなんだよな.
>293
最近, 関数型言語と呼ばれているものは LISP とはだいぶ違うよ.


295 名前: 名無しさん@1周年 投稿日: 2000/12/15(金) 12:34
へ?、そうなの??


296 名前: 名前ついてますか? 投稿日: 2000/12/15(金) 14:38
>>290 危うくだまされるところであった。

>>295 うむ。Lisp (scheme含む) のような副作用ありまくりの
言語を関数型言語といわれると、Haskellファンとしては萎える。



297 名前: 名無しさん@1周年 投稿日: 2000/12/15(金) 15:25
プログラマー板っていろんな人がいて面白いね。おれみたいな
"へタレ"システムプログラマから、ここに書き込んでるスペシャリスト
見たいな人まで。いつも参考にさせてもらってます。>all


298 名前: 743 投稿日: 2000/12/15(金) 15:55
>295
最近, 関数型言語と言えば
  FP, Mirranda, Haskell, ML(SML/NJ, Caml 他)
あたり.
調べ易いのは ML 系.
「変数はいっさい使うことまかりならん!」とか言われるとびっくりするでしょ?
そんな感じ.

>296 >Haskell ファンとしては…
失礼ですが, 友達, 少なくありませんか?


299 名前: 名無しさん@1周年 投稿日: 2000/12/15(金) 17:01
setjump.h って、A. Jaffer の書いたやつ?
これが使われてる実装って SCM 以外にもあるのですか?


300 名前: 名前ついてますか? 投稿日: 2000/12/16(土) 04:12
>>298 変数は使っていいけど、代入はまかりならん、では?

Haskellファンってことは、今のところ隠してるので安泰です(w



301 名前: 名無しさん@1周年 投稿日: 2000/12/17(日) 23:16
このスレ読んでLISPがやってみたくなりました。
なんかお奨めの入門書などありましたら是非教えて下さい。
簡単なヤツが良いです。


302 名前: 名無しさんといつまでも一緒 投稿日: 2000/12/17(日) 23:29
「リスト遊び―Emacsで学ぶLispの世界」
http://www.amazon.co.jp/exec/obidos/ASIN/4756134424/



303 名前: age 投稿日: 2000/12/21(木) 11:28
>>276
Cでオブジェクト指向できる、って叫んでる馬鹿とたいしてかわらん。


304 名前: 名無しさん@Haskell.org 投稿日: 2000/12/21(木) 21:56
>>300
束縛変数はいいけど、自由変数はまかりならん、では?


305 名前: 301 投稿日: 2000/12/22(金) 00:56
>>302
亀レスでスマソ
情報ありがとう。cbook で早速購入してしまった・・・
良い時代になったモノだ!


306 名前: 名無しさん@1周年 投稿日: 2000/12/23(土) 13:49
LISP好きな先生のページです。

JavaとLispのWebエンジン、どっちが強い?
http://www.graco.c.u-tokyo.ac.jp/~kamina/lisp/wserver.html
LISPは死んだのか
http://www.graco.c.u-tokyo.ac.jp/~kamina/lisp/lisp_is_alive.html

LISPの処理速度
http://www.graco.c.u-tokyo.ac.jp/~kamina/lisp/bench.html


307 名前: 名無しさん@1周年 投稿日: 2000/12/23(土) 17:52
>>306
おいおい、LISPの速度のところのフィボナッチ数列
のコードの行数比較は不当だろ。
LISPは関数本体だけのくせにC++とJavaは
標準出力などの部分も入れている。
平気でこんな不当なことやってるページなんか
信用できるか。


308 名前: 名無しさん@1周年 投稿日: 2000/12/23(土) 18:27
>>307
プログラマは行数多いほうがうれしいくせに。


309 名前: 名無しさん@1周年 投稿日: 2000/12/23(土) 19:03
LISPは書かなくても出力するから。


310 名前: 名無しさん@1周年 投稿日: 2000/12/24(日) 00:35
>307
309の言う通り。
書いた事ないんだね。


311 名前: 名無しさん@1周年 投稿日: 2000/12/24(日) 00:52
http://www.jsdlab.co.jp/~kamei/

↑使うのに、多少必要。
Emacs Lispじゃないから。


312 名前: 名無しさん@1周年 投稿日: 2000/12/24(日) 01:06
>>308-309
ハァ?ちゃんとあのページのソース読んだ?


313 名前: 名無しさん@1周年 投稿日: 2000/12/24(日) 13:03
>>307
クレームがあるのならe-mailで送ってみるとか。
相手は学者なのだから論戦に応じてくれるでしょう。
その結果を報告して欲しいな。



314 名前: 名無しさん@1周年 投稿日: 2000/12/27(水) 21:37
結局、クレームは行数の部分だけなのね。
なんだかなぁ。


315 名前: 名無しさん@1周年 投稿日: 2000/12/27(水) 22:41
>>314
あのなぁ。どこにもクレームがつかないのが普通だろ。


316 名前: 名無しさん@1周年 投稿日: 2000/12/27(水) 22:42
この場合クレームってより明らかな不正だしな。


317 名前: 名無しさん@1周年 投稿日: 2000/12/27(水) 23:49
>>316
ゆってることがわからん。


318 名前: 名無しさん@1周年 投稿日: 2000/12/28(木) 00:20
>>317
だからあのサイトに誰が見たって明らかな不正があることが
指摘されたってこと。


319 名前: 名無しさん@1周年 投稿日: 2000/12/28(木) 13:39
フィボナッチのC++コードに関しては、なぜ再起で呼ばなければならない
のかが分からん。
for使えばもっと速いはず。
この結果が物語ってるのは再起呼び出しはLispのほうが得意ってことでしょ。


320 名前: 名前ついてますか? 投稿日: 2000/12/28(木) 17:38
まあ、あの例は極端な例だし、行数の比較だって意味ないけど。
>>319 逆に言うと、なんで数学では再帰で定義されているものを
わざわざ繰り返しに直して書かなきゃ行けないの?
algolithmを素直に書いても早い (こともある) ってのがいえなくもない。

# っていうか、こんな microbenchmarkでごちゃごちゃいったってしょうがなくて、
# 案外はやいじゃん、って思わせたいだけでしょ。
# 本当は保守とか prototypingまで含めた生産性で比較しなくちゃ...



321 名前: 名無しさん@1周年 投稿日: 2000/12/28(木) 21:51
>>320
再帰で定義されてるわけではないぞ。帰納的に定義されているんだ。
どっちかって言うとF1から順番に計算していくって感じだから
for使うほうが自然だと思う。
ってこれは計算するときのアルゴリズムの話で、LISPがすごいのは
アルゴリズムを書かなくても関数の定義を書いておけば勝手に計算
してくれるところ。


322 名前: 名無しさん@1周年 投稿日: 2000/12/28(木) 22:33
>>320
そこまで言うならさ、なんでLISPはprototypingが容易なわけ?

あと、あの読みにくさは保守が容易だとはとても思えん。

>>321
>アルゴリズムを書かなくても関数の定義を書いておけば勝手に計算
>してくれるところ。

そんなのどの言語でも当たり前だろ?ていうか、関数の定義を書くって
ことがアルゴリズムの記述と同一では?


323 名前: 名無しさん@1周年 投稿日: 2000/12/28(木) 22:42
> LISP好きな先生のページです。
おいおい M1 の学生って書いてあるぞ…それともバカにするつもりで「先生」って呼んでるの?


324 名前: 名無しさん@1周年 投稿日: 2000/12/28(木) 22:47
院生


325 名前: 名前ついてますか? 投稿日: 2000/12/28(木) 22:52
>>321 再帰と帰納って、この文脈じゃ同じ意味だと思うぞ。
たとえば岩波国語辞典の「回帰」参照。
それに ackermann関数だって帰納的定義だけど、forで実装するの
が自然だと思う?
それに Lispだって algorithmはかかなきゃいかんよ。
そんな魔法の言語はまだないって (Prologは近いけど..)。

>>322 Cよりはね。すぐ coreを吐く言語で prototypingなんて
やりたくない :-)
それに数学的定義と algorithmは別でしょ。
sortの数学的定義と quicksort、heapsort、mergesortとかの
algorithmって同じだとおもう?
って、これはやっぱり 320の発言が悪いのか。



326 名前: 名無しさん@1周年 投稿日: 2000/12/28(木) 23:02
>>325
coreを吐かないからプロタイピングがしやすいの?それだけ?


327 名前: 名前ついてますか? 投稿日: 2000/12/28(木) 23:49
>>326
> coreを吐かないからプロタイピングがしやすいの?
はい。
> それだけ?
いいえ。

参考になりましたか?




328 名前: 名無しさん@1周年 投稿日: 2000/12/29(金) 00:00
>>327
なるわけねーだろ。逝って良し。
LISP使いって結局何も説明できない馬鹿ばっか。


329 名前: 名無しさん@1周年 投稿日: 2000/12/29(金) 00:33
>>328

つーか、LisperとかSchemerから見ると、他のプログラマーって間抜けばっかでいちいち説明する気も起きないんだよね。


330 名前: 名無しさん@1周年 投稿日: 2000/12/29(金) 01:11
>>329
またこのパターンの信者が現れたよ。
LISPは宗教と一緒だな。


331 名前: 名無しさん@1周年 投稿日: 2000/12/29(金) 02:55
あおりにいちいち反応するなよ。



332 名前: 名前ついてますか? 投稿日: 2000/12/29(金) 04:33
>>328 やっぱりねえ。
anti-Lisperは結局質問もできない馬鹿ばっか。

#というのは帰納法の間違った使い方です。



333 名前: 名無しさん@1周年 投稿日: 2000/12/29(金) 14:29
>>332
自分が質問に答えてないのにそれはないでしょ。


334 名前: 名前ついてますか? 投稿日: 2000/12/29(金) 15:20
>>333 326の質問に対しては、端的に必要十分な答えをしてるんだけどねえ(w



335 名前: 名前ついてますか? 投稿日: 2000/12/29(金) 15:37
ああ、あげちゃった。のでお詫び代わりに Lispが prototypingに向く
理由をつらつら書いて見ると。
・データ構造が柔軟で変更しやすい
protyping中はデータ構造なんて頻繁に変わるもの
・データ構造がふつうリストで、単純で覗きやすい
encapsulateとは反するけど、prototypingではこっちが重要
・構文を強力なマクロで拡張しやすい
・資源管理にルーズでいい
・common lispだと強力な libraryがある



336 名前: 名無しさん@1周年 投稿日: 2000/12/30(土) 01:08
>>335
>・データ構造が柔軟で変更しやすい
なんというか、C++のSTLと同じ特徴かな。

>・データ構造がふつうリストで、単純で覗きやすい
他の言語でもリストは使える。覗き易いとなぜ良いのか意味不明。

>・構文を強力なマクロで拡張しやすい
構文いじったら読みにくいでしょう。

>・資源管理にルーズでいい
資源?管理がルーズ?意味不明。

>・common lispだと強力な libraryがある
他の言語にも強力なlibraryはあるね。無い言語の方が珍しい。


337 名前: 名無しさん@1周年 投稿日: 2000/12/30(土) 01:12
>>335
>・データ構造が柔軟で変更しやすい
なんというか、C++のSTLと同じ特徴かな。

>・データ構造がふつうリストで、単純で覗きやすい
他の言語でもリストは当たり前のように使える。
覗き易いとは、勝手に内部実装を外部からいじれるという
意味なら、なぜそれが良いのか意味不明。

>・構文を強力なマクロで拡張しやすい
構文いじったら読みにくいでしょう。

>・資源管理にルーズでいい
資源とは?管理がルーズとは?意味不明。

>・common lispだと強力な libraryがある
他の言語にも、有名な言語ならほとんどに強力なlibraryがあるね。


338 名前: 名無しさん@1周年 投稿日: 2000/12/30(土) 01:13
多重カキコすまん。
後者の方が推敲されてます。


339 名前: 名前ついてますか? 投稿日: 2000/12/30(土) 12:41
>>337 prototypingって文脈に注意してね。

>>>・データ構造が柔軟で変更しやすい
>なんというか、C++のSTLと同じ特徴かな。
多分ちがう。まず強い型を目指している点で。
prototypingに強い型はあしでまといなことが多いのです。
関数の型宣言とかにかかずりあってるのが面倒だから。
Javaで Prototypingしたことあるけど、結構面倒だった。
Haskell、MLみたいに型宣言なしでも推論してくれるならいいのかも。

>覗き易いとは、勝手に内部実装を外部からいじれるという
>意味なら、なぜそれが良いのか意味不明。
だってアクセスメソッドをいちいち作るの面倒でしょ?
各モジュールごとにいじりたいデータなんて、刻一刻と変わるんだから
それにあわせて関数を新たに作るなんて脳力の無駄。

あと debug printがとりやすいとか。使いなれた Listのアクセス関数が
使えるし。

>構文いじったら読みにくいでしょう。
読みにくくても、その場で簡潔に意味がとおればいいのです。
人間の中期記憶の容量は限られてるのだからマクロを使ってチャンク数を
減らすのは重要。
例えばデータの初期化とか。ほとんど同じ初期値が並んでいるのを
キーボードマクロでやるか、言語のマクロでやるかの違い。
例外処理とかもそのくちかな?

>資源とは?管理がルーズとは?意味不明。
端的にいえばメモリ管理。配列の上限とか悩まなくてもいいし。

>>・common lispだと強力な libraryがある
>他の言語にも、有名な言語ならほとんどに強力なlibraryがあるね。
うむ、これはそうでしょうね。
でも Cなんかは満足な標準 container libraryもない。



340 名前: 名無しさん@1周年 投稿日: 2000/12/30(土) 12:58
通りすがりのものですが
・デバッガの中でもコードの修正ができ、修正したコードで継続できる
も追加しといてください。



341 名前: 名無しさん@1周年 投稿日: 2000/12/30(土) 15:15
LISPには愛があるんです。
それが心に触れるんです。



342 名前: 337 投稿日: 2000/12/30(土) 19:01
>>339
>多分ちがう。まず強い型を目指している点で。
>prototypingに強い型はあしでまといなことが多いのです。
STLでは多様な型、構造に同じ関数(アルゴリズム)が適用できる。
似てるような気がする。
つまりこの特徴はC++のテンプレートと同じことでは?

>だってアクセスメソッドをいちいち作るの面倒でしょ?
>各モジュールごとにいじりたいデータなんて、刻一刻と変わるんだから
>それにあわせて関数を新たに作るなんて脳力の無駄。
はい?
データ構造が変わったら、内部からいじろうが外部からいじろうが、
それに合わせてコードを変更しなくてはいけないのは一緒では?
それともいつもリストを使えば良いという話なら、
他の言語のでもいつもリスト使ってれば良いだけの話でしょう?
カプセル化されていれば変更はコード全般にわたらず、
圧倒的に少なくて済む。

>読みにくくても、その場で簡潔に意味がとおればいいのです。
なるほどね・・・

>端的にいえばメモリ管理。配列の上限とか悩まなくてもいいし。
リスト使ってればどの言語でもそう。
例えばC++のSTLでもそう。
だから配列の上限などは特にLISPが優れてる点じゃないでしょう?
あと、GCは確かに便利だけれど。

>でも Cなんかは満足な標準 container libraryもない。
標準でないものを使えば良いのでは。


343 名前: 名無しさん@1周年 投稿日: 2000/12/30(土) 20:35
まあ、使ってみてよとしか言えないな、この辺は。



344 名前: 名無しさん@1周年 投稿日: 2000/12/30(土) 22:00
STLのリストコンテナでは
(a () (b (c d)))
みたいないい加減な構造を逆立ちしても扱えない。
どうせ持ち出すならpythonあたりにすればいいんでないの。



345 名前: 名無しさん@1周年 投稿日: 2000/12/30(土) 23:47
大体 コンパイルのいる C++ と lisp を比べちゃいかんよ。
C++ だとまずコンパイル通すだけで結構な手間(タイプ量)でしょ。

動かしてみて、ちょっといじって、
また動かしてみるってのがプロトタイピングだけど、
C++ だとちょっといじる、のところでまたコンパイル
通すのにてこづったりしてなえる。

というわけで、lisp がプロトタイピングに適してるかはさておき、
C++ は圧倒的に不向き。(その分パフォーマンスは良いんだから文句無いけど)



346 名前: 名無しさん@1周年 投稿日: 2000/12/31(日) 00:34
>>344
余裕で扱えるだろ。


347 名前: 344 投稿日: 2000/12/31(日) 02:39
>>346
そうけ?おれあほなのでわからん。
ちょっとソースかいてみてくれる?



348 名前: 名無しさん@1周年 投稿日: 2000/12/31(日) 02:50
346じゃないが、フツーにC++らしく多態使うか、

struct elem {
 enum {list,symbol} elem_type;
 typdef std::list<elem*> elem_list;

 elem_type type;
 union {
  elem_list* list;
  int symbol;
};
};

てなとこじゃないの。

まあ、そもそもそんないいかげんな構造を必要とすることまずないけどな。
lispでプロトタイピングするにしても、裸のまま扱ったら混乱するから、
アクセサ用意するだろ、普通。そんなんだったら型付きの構造体の方が
使い勝手いいぞ。



349 名前: 名無しさん@1周年 投稿日: 2000/12/31(日) 03:10
>345

なるほど そー言う意見もあるのか
実行時でしかバグ捕まえられないLISPは使えん
コンパイル時でかなりのミス見つけてくれる
C++はすげえ便利って思ってた。
ガーベージコレクションだって余計なお世話じゃ
変なときに勝手に変なことやってただでさえ遅い
インタプリタのくせにって思ってた
Cはすげえや、自分でメモリが管理できるぞって(笑)


350 名前: 名無しさん@1周年 投稿日: 2000/12/31(日) 03:12
Lispが褒められてる特長って、PerlやPythonやRubyに似てる。


351 名前: 名無しさん@1周年 投稿日: 2000/12/31(日) 03:16
>345
コンパイルはファイルを細切れに分ければ、短くて済むぞ。


352 名前: 344 投稿日: 2000/12/31(日) 03:43
>>348
ありがとう。
でも、それだとSTLのリストコンテナ使う意味が正直皆無な気がする。
別に下みたいのでいいし、かわらんでしょ?

struct cell {
  enum elem_type { ATOM, LINK };
  elem_type head_t, tail_t;
  union {
    cell *link;
    int *atom;
  } head, tail;
};

ああいういい加減な例が必要になることが実際に無いであろうことは
まあ同意。ただ、やっぱりこれを「余裕で」とは正直言えないと思う。
はっきり言ってめんどうくさい。



353 名前: 名無しさん@1周年 投稿日: 2000/12/31(日) 03:59
>>352
もちろんはじめはそう思ったが、
それじゃlispインタプリタ作るのと一緒なのでわざわざSTL使った。
余裕かどうかはねー、それまでにGCクラスとかRCポインタクラス
を用意しているかどうかによるね。



354 名前: 名無しさん@1周年 投稿日: 2000/12/31(日) 04:03
>>352
STLならいろいろとチューニングされてるし、もとから
アクセス手段が用意されてるし、何かと便利だろ。
一旦作れば余裕だろ。


355 名前: 名無しさん@1周年 投稿日: 2000/12/31(日) 15:49
>>345
おれ両方使うけど、下地を用意すれば用意するほど、
C++のプロトタイピング力はあがってくるよ。
もちろんそれはどの言語でも言えることだけど、
今のところtemplateが有効に機能するC++(+STL)の優位は
覆しがたい。
全く不向き、っていうのは知らんだけだと思う。

350が言ってるように、lispが誉められる特徴って
いまやlispだけのものじゃなくなってるんだよね。
気をつけないと時代おくれになるよ。

もちろん、歴史的にははlispから来てるものがすくなくないから、
歴史的な価値は高いんだけど。
STLの関数オブジェクトだって元をただせばlispのclosure
だろうからね。ソレより前はおれ知らんけど。

>>354
なんかあまり説明になってないと思うが。



356 名前: 名無しさん@1周年 投稿日: 2001/01/01(月) 10:18
>>355
じゃぁ、LISPもC++(+STL)も生産性は変わらないって事?


357 名前: 名無しさん@1周年 投稿日: 2001/01/02(火) 00:43
Schemeの継続ってgotoに似てるように見えるけど、
なんで、こんな仕様を入れたの?


358 名前: 名無しさん@1周年 投稿日: 2001/01/02(火) 02:23
いやgotoとはかなり違うものだと思うけど。



359 名前: 名無しさん@1周年 投稿日: 2001/01/02(火) 03:27
>>358
(call/cc (lamda(x) (set! a x)))
:
(a #t)



a:
:
goto a:
はどう違うの?


360 名前: 名前ついてますか? 投稿日: 2001/01/02(火) 22:21
>>355 うむ、実は C++は Toy Programしか作ったことがないので純粋に疑問。
STLが優位ってのは、強い型をつけることがいいってこと?
それとも豊富な methodがあるのが Libraryとして便利ってことかしらん。

あと、Lisp以外の言語がもつ Lispっぽい特性ってのも確かにあるけどねえ。
Lispですでにできる事に、人口に膾炙する構文つけただけって気も。
そのために script言語間の構文の差異を区別するだけで疲れる。
それなら Lispのなにも考えない構文のほうが好きです。



361 名前: 名前ついてますか? 投稿日: 2001/01/02(火) 22:24
>>359 continuationは goto *にも* 使える。
他にも coroutineとか setjmp風(あ、これも広義の goto?) にも使える。



362 名前: 名無しさん@1周年 投稿日: 2001/01/02(火) 23:28
つまりgoto(PCの変更)の高度な抽象化という事で良いのか?



363 名前: 名無しさん@1周年 投稿日: 2001/01/03(水) 00:03
>>362
「高度な抽象化」がつくとgotoの欠点がなくなるのか?


364 名前: 名無しさん@1周年 投稿日: 2001/01/03(水) 06:46
gotoの欠点って何だっけ?



365 名前: 名無しさん@1周年 投稿日: 2001/01/03(水) 06:58
>>364
後藤さんへの差別


366 名前: 名前ついてますか? 投稿日: 2001/01/03(水) 12:20
>>363 欠点は減らないけど、応用が広がる。
っていうか、call/ccはあくまで primitiveでその上に
例外処理とか multithreadとか皮をかぶせて使ってね、て趣旨だと思う。
call/cc使いまくりの人のコードは、なれるまで見にくかった...



367 名前: 名無しさん@1周年 投稿日: 2001/01/03(水) 14:10
あと、Scheme(R5RS)の設計思想ってのは、R5RS序文にもあるように
「プログラミング言語の機能は多けりゃいいってもんじゃない、
むしろ最低限の機能だけを提供して、その汎用性をできるだけ
高めることができるような言語仕様にするべきだ」
というものだからね。call/cc はまさにこの考え方を反映していると
思う。これの働きを知ったときは、設計者の頭の良さにうなった。


368 名前: 名無しさん@1周年 投稿日: 2001/01/04(木) 00:34
でも、なんでも機能が少なけりゃいいってもんでもないでしょ。
call/cc一本で済ませようとせずに、素直に例外処
理の命令ととスレッド機能の命令2つともつけりゃいいのに。


369 名前: Larry Wall 投稿日: 2001/01/04(木) 03:34
There's more than one way to do it!


370 名前: まつもと 投稿日: 2001/01/04(木) 03:36
>>369
激しく同意。


371 名前: 逝って良し!> 投稿日: 2001/01/04(木) 05:00
369=370


372 名前: 369=370 投稿日: 2001/01/04(木) 05:53
>>371
369=370なんて誰もが予想できることだろ。
わざわざ指摘することかよ。(ワラ

Schemeの設計思想はPerl、Rubyの考え方と対立するようだが、
双方はどう考えてるのか気になるところだね。


373 名前: 藁タ 投稿日: 2001/01/04(木) 12:01
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html


374 名前: James Gosling 投稿日: 2001/01/04(木) 15:09
>>369 I give you KISS - Keep it simple and stupid.



375 名前: 名無しさん@1周年 投稿日: 2001/01/04(木) 17:49
>>372
Scheme は審美的に好きなんだが、実際にアプリケーションを
組むときにその設計思想がどれくらい役立つかはたしかに疑問だな。
Scheme で数千行のコードを書いたことがあるけど、タイプ数が
多くてうざいと思うことがよくあった。ただ、うまくつくると
字句的にもアルゴリズム的にも綺麗なので自己満足に浸れる。
プログラミングの本質 (=アルゴリズムを実装すること) そのもの
を楽しむなら、Scheme は覚えやすいし、いい言語だと思う。


376 名前: 名無しさん@1周年 投稿日: 2001/01/04(木) 18:41
おしごと(おしきせ)プログラミングしかしない人にはLispの良さは分からん。
Lispは試行錯誤のための快適なフィールド。



377 名前: 名無しさん@1周年 投稿日: 2001/01/06(土) 14:02
LISPが気になっている人って結構多いんだな。400近くのレスがつくところを見ると。
ICOTの失敗で消滅したかと思ってたよ。


378 名前: 名無しさん@1周年 投稿日: 2001/01/06(土) 15:07
というか、emacsの成功が大きいのでしょう。
Unixやってるやつで、emacsしならい奴はいないだろうし。
emacs使ってるやつで、elispわかるといいなぁっておもったことの
ない奴はいない。



379 名前: 考える名無しさん 投稿日: 2001/01/06(土) 16:11
逆に言えばemacsがなかったら見向きもされなかったりして(藁


380 名前: 名無しさん@1周年 投稿日: 2001/01/06(土) 18:37
icot は prolog だろ?


381 名前: 名無しさん@1周年 投稿日: 2001/01/06(土) 18:40
>There's more than one way to do it!
But there's usually one good way.


382 名前: 名無しさん@1周年 投稿日: 2001/01/06(土) 22:14
381はしゃれてるつもりか。英語もおかしいぞ。


383 名前: 名無しさん@1周年 投稿日: 2001/01/06(土) 22:43
381 じゃないけど、どこがおかしい?


384 名前: 名無しさん@1周年 投稿日: 2001/01/07(日) 12:05
その意味でoneを使うときはtheをつけることが望ましい


385 名前: 名無しは無慈悲な夜の女王 投稿日: 2001/01/07(日) 22:40
>>378
しかしelispのプログラムって、lispって言っていいのか?



386 名前: 名無しさん@1周年 投稿日: 2001/01/08(月) 01:09
> 385
ゴスemacsは偽lispだといって、elispは作られたので、逝ってよし



387 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2001/01/08(月) 02:25
the best でいいとおもふ。usually を but の次に持ってきてな。
あ〜ど〜でもいいけどな〜。



388 名前: 名無しさん@1周年 投稿日: 2001/01/08(月) 19:08
AllegroServeとかcl-httpとか。使ってる人いる?


389 名前: 名無しさん@1周年 投稿日: 2001/01/09(火) 01:43
>> 385
ははは。オレも拾って来たelispのパッケージのソースコードを見てみて、lisperの友だちに見せたらひと悶着あるなと思ったことがある。


390 名前: 名無しさん@1周年 投稿日: 2001/01/09(火) 12:05
>>388 とまべっち


391 名前: 名無しさん@1周年 投稿日: 2001/01/09(火) 23:19
俺はかつて、某商社系の会社にて今は亡き米国のシンボリックスというLISP
マシンを使ってました。まあ、リスプ使いとしては、化石の部類かな?
今は全く別の仕事をしているけどね。時々、趣味でアレグロを使うことなんかは、
去年まではあったね。
シンボリックスに象徴されていたと思うが、リスプ処理系とそのマシンというのは、
いわば自己満足的なものの典型の1つだと思う。悪いという意味じゃない。
しかしそれだけに、いずれも寿命が短い。今までに存在したリスプの中で、存命
しているものは、スキーム位じゃないの。コモンの方は、あれは昔の物とは違う。
スキームは、1つの古典的な教育言語のお手本として残っているのだと思う。
今みても、いくつか良い点はあるだろう。しかし、あれも過去の遺物じゃないの。
大学関係者が使うのは、彼らには過去の遺物にしがみつく能力しかない人も多いか
らだと思うぜ。
今のコモンはね、あまりにもリスプ本来の良さを失っているもので、既にリスプ
ではなくなったとも言えるかもね。手軽さ、思考実験の道具なんてことありえない。
それでも、大規模なシステムを作れる良さはあると思うけどね。
俺は、もうコモンは嫌いだ。何よりもあれの良くない伝統は、ユーザへの使い易さ
や世の中への普及を真面目にあまり考えてこなかった点じゃないの。変なエリート
意識を感じるぜ。
アルゴリズムの教育用としても、もうそろそろ過去世紀の遺物を捨てて、別の
処理系に変えたらどうだろう。やはり、関数型のMLやHaskel、または
オブジェクト指向型のRuby、Pythonなんかが良いと思うけど?
もう、一からプログラムを作成するなんていう時代じゃないからね。



392 名前: 名無しさん@1周年 投稿日: 2001/01/10(水) 18:53
↑Common Lispが失ったLispの良さ、とは?



393 名前: 名無しさん@1周年 投稿日: 2001/01/10(水) 22:03
>>391
>オブジェクト指向型のRuby、Pythonなんかが良いと思うけど?

LISPだってオブジェクト指向じゃん…。


394 名前: 名無しさん@1周年 投稿日: 2001/01/10(水) 22:05
スキームとかリスプってカタカナでカカナイデ
だったらルビイとかハスケルとかモカタカナデカイテヨ


395 名前: 名無しさん@1周年 投稿日: 2001/01/10(水) 22:48
ワレワレハウチュウジンダ



396 名前: 名無しさん@1周年 投稿日: 2001/01/10(水) 23:05
オレハキノウウンコヲモラシタ (ワライ



397 名前: 名無しさん@1周年 投稿日: 2001/01/11(木) 09:12
>>393
普通はそうは言わないと思うけど……
まあCLOSとかあるけど、391はCommonLisp否定してるし。


398 名前: 270(SchemerになりたいCer) 投稿日: 2001/01/12(金) 15:13
継続のコードみつけました。

(define cc ())

(begin
(display "1\n")
(display "2\n")
(call-with-current-continuation (lambda (arg) (set! cc arg)))
(display "3\n")
(display "4\n"))

(cc #f)

1
2
3
4
3
4
と表示されます。が本当に何がなんだか。。。
与えられた継続を変数ccに代入(これを束縛と言うのですか???)してて
その継続を呼び出すとさっきの所から実行が始まる。
というのはなんとなくわかるのですが、、、、

これが使えるようになったらものすごく視野が広がりそうです。。。
がんばりたい。


399 名前: 名無しさん@1周年 投稿日: 2001/01/14(日) 16:43
CLIMって、どう?


400 名前: 名無しさん@1周年 投稿日: 2001/01/16(火) 08:52
いつまでもカッコかいてろよ。


401 名前: 名無しさん@1周年 投稿日: 2001/01/16(火) 10:16
>>400
お前はマスでもかいて寝てろ. 風呂入ってからな.




402 名前: 名無しさん@1周年 投稿日: 2001/01/16(火) 16:39
車とパイプ


403 名前: 名無しさん@1周年 投稿日: 2001/01/16(火) 17:50
CommonLispはLispの良さを失ってる? んなあほな。
プリミティブの関数が多いからって意味なら、
全部自分で作ってもいいわけだし…


404 名前: 名無しさん@1周年 投稿日: 2001/01/17(水) 07:10
一ついいですか?
CommonLispをこれから勉強するにはあの10年近く前のあの本を読まないとだめですか?


405 名前: 名無しさん@1周年 投稿日: 2001/01/17(水) 23:23
>>404
あの本って?
オレもLisp使ってみたい。



406 名前: 名無しさん@1周年 投稿日: 2001/01/19(金) 10:56
GUY STEEL だっけ?
まだあんのかなあ


407 名前: 名無しさん@1周年 投稿日: 2001/01/20(土) 11:35
GUYさんの本を読んだだけじゃ、Commonを学ぶことはできないよ。
基本だけを知りたいのならば、近代科学社?から翻訳の出ている「これがLispだ」
あたりから始めるのがいいんじゃないの。と言っても,あれだけじゃ何もできない
と思うけどね。Lisp本来の思考実験に使える良い部分は分かると思うぜ。
まあ、Commonを使うことは、反面教師的な意味をあって良いと思う。
大きくて、複雑過ぎるのですよ。CLOS的なオブジェクト指向の機能にしても、過去
の物を拡張しているわけなので、本当のオブジェクト指向じゃないだろう。
まあ、今はやりのJAVAや、ましてや糞言語のC++より優れた部分はあるよ。
俺はもうLISPを使いたくないが、これからプログラムやアルゴリズム的手法を
勉強したい人には、1つのモデルとして知っとくのは良いことだとは思う。
他のものと比較する上でのね。独善性の強い言語であることも分かるだろう。
それとはっきりいって、新しい関数型やオブジェクト指向型言語処理系には未だに
実験段階だなとしか思えない部分が多いからね。



408 名前: 名無しさん@1周年 投稿日: 2001/01/20(土) 11:43
C++は面白いよ。テンプレートとか。LISPなんかシーラカンスじゃん。


409 名前: 名無しさん@1周年 投稿日: 2001/01/20(土) 13:15
LISPをシーラカンスなどというな。せめて大腸菌と呼んでくれ。


410 名前: 名無しさん@1周年 投稿日: 2001/01/20(土) 14:43
CLOSか、、、
10年進んでないな


411 名前: 名無しさん@1周年 投稿日: 2001/01/20(土) 19:38
CLOSって解説書少ないんだよね。
数少ないのも分かり難いし。
Commonn Lispの入門ならProgramming in Common Lispが結構いいよ。
著者はBrooksだと思った。



412 名前: Symbolics 投稿日: 2001/01/21(日) 01:44
ユーザーの少ない言語で実用プログラムはかけない
マスターベーション用だけにしてくれ


413 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 01:55
>ユーザーの少ない言語で実用プログラムはかけない
そうかなぁ?いや別にLispがどうとかって言うんじゃなくて。



414 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 03:07
スワヒリ語で
「こっちのほうが英語より10%字数が少なくてすむ」
といって書類を作るようなもの。
とりあえずC++かJava、VBくらいにしといてくれ。
言語のことはもういいだろう。
他にやることはいっぱいあるのに。その上に構築するものの
こと考えようよ。


415 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 03:39
>414
なんか変な同僚でもいましたか?
俺はプログラムというものの可能性を知るという意味では、
Lispを勉強するのも悪くないと思う。


416 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 04:17
決めた!明日ゲイ本買ってくる。(ハァハァじゃないよ)
あの読みにくい訳と格闘する。たまには頭使わないと
ばちあたるし。


417 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 05:37
>>416
CMUのAI Repositoryに原書のHTML版があるよ。
あとHarlequinにCommon Lisp HyperSpecつーののHTML版があるよ。
紙の買ってもいいけどこっちも便利だよ。



418 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 05:38
>417 サンクス
できればポインタキッボ〜ん!


419 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 08:07
      ○    o  。          o  ゜    。    。   。
   。     o      ゜      。         ○  o   ゜
   。 o     ゜         。        ゚        o
         ○    。            o  ゜    。    。
   ○     o      ゜       ○。           o   ゜
 o     ゜          。         ゚        o
      o   ゚   。             ゚   o   ○        。
    o     ゚             o      ゜  。     o   ゜
                ゚    。      ゜    。     ゜
  ○   。     o      ゜      。           o   ゜
   ゜      ゚      ゜   o       。 .           ○
      ○    o  。          o  ゜    。    。
 ゜      ゜     ゚    ○      。        ○       ゜
   。 o     ゜         。        ゚        o
 ○     ゚  。  ゜    。     .         o       o
            o      ○   .    ゚    。 .     ゜      ゚
 o   ゚   。             ゚   o           。       。
             o      o        ゜    ゜      ○
  。     ゜       ゚     o      ○     o  ゚
    ゜    o   ゜   ゜      .  。                ○
゜    ○       ゜      o      o      o   ゜    。
 o ゜        .  ○    ゜          ゜             o
_\  _   ゜         。    。   ゜      o    _  ○ ̄ ̄
  ○ \    o    ゜               。       / /
 ̄ ̄|__ \\ 、     。     ゜     ゚     ○//。__| ̄ ̄ ̄ ̄
∃  |   |  | l l ゜           ゜    。 l l |  |   |○田 田
    |田 | 。| | l      ゜     ゜    。  ゜  l | |  | 田|    o
∃○|   |  | |。  ゜ . .. ... .. ... . ... ...゜ . .. .. ..    l |。|  |   | 田 田
    |田 |  | l‐    .....   ....     .....     -| |  | 田|
∃  |   |○― ....    o      ....   ○ ..... ―  |   | 田 田
   o.... 一      ....     ○    ...  o   ....  ー- | 。
―  ̄   o   ⌒                          ̄ ― -
  ....               ....        ⌒   o  ....      ....


420 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 13:48
> 417
GNU emacsが最初に実装された時のelispユーザは1人だったぞ。
実用的なプログラムがかけないのは、おのれがへぼだからじゃ。



421 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 14:40
417さん可愛そう。多分↑の417は412だね


422 名前: Symbolics 投稿日: 2001/01/21(日) 16:13
あーあ 青臭い厨房多いなあ
LISP1.5からLispマシンLisp、CLOSも相当使ったし、
Lispは良い素性を持ってると思うけど、当時からこの言語は
World Standardにはなれないことがわかってたよ。
美しさ、素性の良さと普及は別物だってことはいまどき2ちゃんねらー
でも知ってるよ。
GNU emacsもユーザがみんなLispを使ってるわけじゃないじゃん。
1の質問に沿って考えてみろよ。
仕事でLisp使ってオマンマ食ってるヤツなんか1%もいないって。目覚ませよ。
オトミ語やサンスクリット語が好きでもかまわないけど 英語できた
ほうがいいんだから。他は趣味の範囲にしとけって。
それでやるのまでダメなんていってないさ。


423 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 16:26
>422
まあまあスレノタイトルは柔軟に捉えてもいいじゃないですか。
なにもこれからはLispの時代だなんていってませんよ。


424 名前: >422 投稿日: 2001/01/21(日) 16:53
>仕事でLisp使ってオマンマ食ってるヤツなんか1%もいないって。目覚ませよ。

目を覚ますも何も、そんなことは分かっててやってる。
ま、ヨタ話のひとつだな。好きな言語について、ユーザ同士で雑談してるだけだろ。
その空気が読めずに、いちいち噛み付いてくる厨房がいるからおかしくなる。
ちょっと考えれば分かると思うが「Lisp」しか知らないプログラマがいると思うのか?

オマエ「釈迦に説法」って言葉知ってるか?

>あーあ 青臭い厨房多いなあ
その台詞、そっくりオマエに返してやるから2度とちょっかい出すな。



425 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 16:58
420、2重の失敗


426 名前: 名無しさん@1周年 投稿日: 2001/01/21(日) 20:15
>>422
だからCommon Lispが失なったLispの良さって何なのさ?
寝てても年は取れるんだよ、おっさん。



427 名前: Symbolics 投稿日: 2001/01/22(月) 02:19

オレCommon LispがLispの良さを失ったなんて言ってないよ?
誰かとお間違え? 全部読んでないけど
ちなみにCommon Lispでも純粋に言語仕様でいえばLisp1.5は
もちろん包含してるから無くしてはないだろ。
まあいかにもLispらしい使い方ではない使い方を提示したということを
その人は非難したのかな。
デブの子に「少なくとも昔のオマエを無くしてはいない。包含して
いる」といって好きになることは無いのと同じかな。あはは


428 名前: Greenblatt 投稿日: 2001/01/22(月) 09:01
>>427
デブでわるかったな。


429 名前: 名無しさん@1周年 投稿日: 2001/01/22(月) 14:09
>>427
すまん、シトちがいだ、おっさん。
ちなみに俺は痩せの貧乳が好きだ。



430 名前: 427 投稿日: 2001/01/22(月) 15:13
お、同じだな。
今は仲間由紀恵と矢田亜希子かな。
ちなみに今の彼女はかなり美人でスレンダーだが、ちょっと貧乳が
すぎるのが難点かな。いくら貧乳でもな。もう少しあってもいぞ。


431 名前: 名無しさん@1周年 投稿日: 2001/01/22(月) 15:22
>>430
Lisperは貧乳がお好き?

おれは普通がいいな、手を組んであるいたときに腕にあたるくらい。


432 名前: 名無しさん@1周年 投稿日: 2001/01/24(水) 01:51
>>431
うむ、同意じゃ


433 名前: 名無しさん@1周年 投稿日: 2001/01/24(水) 23:14
お、おれも早くLispのコードからSEXを感じ取れるようになりたいです!


434 名前: 名無しさん@1周年 投稿日: 2001/01/26(金) 02:29
sexp?



435 名前: 名無しさん@1周年 投稿日: 2001/01/26(金) 09:32
ああ、sexかどうかっていう述語ね。


436 名前: 名無しさん@1周年 投稿日: 2001/01/29(月) 23:00
LISPの実用例
http://jp.franz.com/base/success_main.html

LISPで飯食える奴が1%と言うのは同意するが、一応、実用プログラムは
組めるよ。かなり大規模のものもね。Allegroって結構速いし。


437 名前: Symbolics 投稿日: 2001/01/30(火) 03:38
>>436
うーん、実は最後のスーパーマリオブラザーズ開発システムはちょっと
かかわりがあったんで知ってるんだけど、これはね、システムが
良かったんだ。
Lispだったからよかったというわけじゃないね。
僕も昔はLispの良さに傾倒したものだけど、やっぱり一般化
できなきゃ将来はないでしょう。1が趣味以外で生業とできる
可能性は限りなく低いです


438 名前: 名無しさん@1周年 投稿日: 2001/02/03(土) 09:59
ぼくの知り合いのlisperは、客にlispでの開発案を断られるたびに
Javaなんかより、ずっと生産性良いのになぁと嘆いていました。



439 名前: 名無しさん@1周年 投稿日: 2001/02/03(土) 14:11
JavaVMで Lispを簡単に実装できるようにしてくれれば
よかったのに >> Guy Steel



440 名前: 名無しさん@1周年 投稿日: 2001/02/03(土) 14:54
>>439
Java Lisp【4】 最終回
http://www.gihyo.co.jp/javapress/12contents.html



441 名前: 名無しさん@1周年 投稿日: 2001/02/09(金) 19:27
Lisp最大の利点はインタプリタが作りやすいことでしょ。
Schemeはそうでもないみたいだけど。


442 名前: 名無しさん@1周年 投稿日: 2001/02/10(土) 03:49
>441
Schemeも同様に作りやすいと思うけど。
何か問題でも?
むしろ処理系はSchemeの方が多いと思う。


443 名前: 名無しさん@1周年 投稿日: 2001/02/10(土) 19:33
継続があるからschemeの方が大変だよ。
関数呼び出しをCの関数呼び出しにマップできないから。
まあ、機種非依存でもいいならアセンブラレベルでスタック保存すれば
いいから、そうでもないけど。


444 名前: 名無しさん@1周年 投稿日: 2001/02/10(土) 21:08
> Lisp最大の利点はインタプリタが作りやすいことでしょ
それが最大の利点ってのはちょっと悲しい。
インタプリタなら Forth とかのほうが楽じゃない?


445 名前: 名無しさん@1周年 投稿日: 2001/02/11(日) 03:08
Forth に使い道があるのか?>444
それにLISPやScheme以上にマイナーすぎる。


446 名前: 考える名無しさん 投稿日: 2001/02/11(日) 03:28
>>445
PostScript
LISP、Schemeとは桁違いに世の中にインパクトを与え金をかせいだ。


447 名前: 名無しさん@1周年 投稿日: 2001/02/11(日) 03:51
へー、Forth はもしかして汎用アセンブラ?>446


448 名前: 名無しさん@1周年 投稿日: 2001/02/11(日) 04:04
アセンブラよりは抽象度高いでしょ。
でも >>447 のいうような側面も無きにしもあらずかな。
個々の言語特性というよりも、言語仕様のサイズの問題かな。
あとは環境との接続性の良さとか。
アドビのワーノックはポストスクリプト開発時に好き嫌いでは
なく、プロジェクトを分析してForthによる開発を決めたとか。
本人がけして好きだったわけではないとのこと。
冷静なエンジニアというべきだろうね。
当時他にも組みこみシステムなど、幾つか注目された応用が
あったと思うけど、忘れた。自分もしばらく遊んでみたが
やっぱり馴染めなくて飽きた。
スタックマシンの学習にはなった。
・・・ 昨今のPSはもう書きなおされているだろうけど。

「ルーク。フォースだ。フォースを使え」
「いやだ! あんな逆ポーランド記法の言語…」


449 名前: 名無しさん@1周年 投稿日: 2001/02/11(日) 04:07
ルゥク・・・フォオスを信じるのだ・・・


450 名前: 〈゚Д゚〉 投稿日: 2001/02/11(日) 19:31
LISP1.5 age


451 名前: 仕様書無しさん 投稿日: 2001/02/11(日) 20:55
なぜ逆ポーランド記法だと、いやなんでしょうか。



452 名前: 名無しさん@1周年 投稿日: 2001/02/11(日) 22:02
虐ポーランド紀宝は結合規則とか、優先度が変えられないからでは?
あと、演算子の並びが一目見ただけではわかりずらいとか。
小学校からの教育課程でそれを学習していれば多分違和感無いんだろうね。
中記法が主流なのは優先度を括弧で任意に変えられる事と、演算子自体が区切り子になるから読みやすいんだと思う。
LISP/Schemeも数値演算程度は中記法で書きたいと思ったことありません?



453 名前: 名無しさん 投稿日: 2001/02/11(日) 22:13
数学の記述方法って教育上弊害あると思うね。
ロジック的に分かりにくいっていうか。
先入観を排除できるならLisp系て案外よさげ。



454 名前: 451 投稿日: 2001/02/12(月) 12:13
優先度が変えられないと、こまてしまいますねぇ。なるほど。



455 名前: 452 投稿日: 2001/02/12(月) 16:51
×中記法
○中置記法
だった。ウトゥ



456 名前: 仕様書無しさん 投稿日: 2001/02/12(月) 16:57
>>452
結合規則は変えられるだろ。(1+2)*3 は 1 2 + 3 * だし、
1+(2*3) は 1 2 3 * + じゃん。たしかカッコを使わないと
結合規則が一意に定まらないのは中置記法だけのはずだよ。
前置でも後置でも構文木は一意に決定できるはずだ。
たしか計算機科学の教科書にそう書いてあった。


457 名前: 452 投稿日: 2001/02/12(月) 17:11
そだね。>456
最近あんまそういった本見てないんで・・・
ま、人間の脳内スタックには限界があるということで。


458 名前: 仕様書無しさん 投稿日: 2001/02/12(月) 17:38
人間の短期記憶セルのネストは6重までです。
世界中の言語で、7重以上の関係代名詞を使うものはありません。
理解できないからです。


459 名前: 仕様書無しさん 投稿日: 2001/02/13(火) 12:55
同じ処理系が小さい言語でも、
Forth は家電の組み込みシステム等で実績があるらしいが、
Lisp は聞いたことがない。なぜ?



460 名前: 仕様書無しさん 投稿日: 2001/02/13(火) 12:58
自意識を持つとこわいから


461 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 00:21
call/cc理解不能な奴と、lambda式とclosureの区別つかない奴の書き込み禁止

萩谷先生はCが好きだとあったな。もちろん、自卑の念も込めてだろうが。


462 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 02:16
区別も何もまったく別物だろ。区別をつけるとか言っているのが痛い。


463 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 03:44
もう忘れちゃったなあ…
lambdaとclosure
call/cc も。。
やっぱり日々使ってないと薄まっちゃうね。
ちょっと一行で本質を解説してよ。


464 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 03:54
忘れるとかそういう性質のものでないと思うが。
解説を読んでそれで終わり。


465 名前: d?l????? 投稿日: 2001/02/14(水) 20:59
lambda: プログラムテキスト
closure: lambdaと環境
環境: 「変数とそれに束縛されている値のペア」の列
continuation: スタックのコピー

「lambda式が扱えて便利」なんてコメントから、
これくらいの区別がついてないと判断。
普通だったら、「closureがfirst classだから便利」とか言うだろ。
lambda式なんて、Cだって関数へのポインタあるじゃん。
その他考えられるとしたら、lambda式をevalに使える位だろ。
evalなんて、Schemeの言語仕様にもないような関数つかわねって。

call/ccなんて、普通、大域環境に脱出するときしかつかわんだろ。
continuation calling styleなんて、コンパイルするときの理論だっつの。



466 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 21:15
>>465
それが R5RS では eval が入っちゃったんよ〜。


467 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 21:17
lambda式が便利なのは、インラインで書けるからってのもあるでしょ。
それはfirst class objectだからじゃなくてレキシカルな問題じゃん。
君とんがりすぎ。何でそんなことでいい気になってるのか
よくわからないな。


468 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 21:17
しかも必須手続き。


469 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 21:18
それにcall/ccは中断と復帰とかスレッドとかにも使うでしょ。
思い込み激しすぎるのとちがう?


470 名前: 仕様書無しさん 投稿日: 2001/02/14(水) 21:27
『continuationがコンパイルする時の理論』で
『環境:「変数とそれに束縛されている値のペア」の列』ってのもずるいよね。


471 名前: 仕様書無しさん 投稿日: 2001/02/15(木) 00:20
SchemeやLISPを理解/習得するには、自分で処理系を作ってみるのが最も早いと思います。
他の言語よりはずっと簡単だし。
わたしはこの方法で理解しました。
作ってみると、なあんだ、って事が多かったです。
みなさんはどうですか?


472 名前: 仕様書無しさん 投稿日: 2001/02/15(木) 01:23
>>468 あれには目を疑ったね... エバらないのが schemeの
いいとこだったのに。



473 名前: 名無しさん@1周年 投稿日: 2001/02/15(木) 11:30
CLIMって使ってる?


474 名前: 仕様書無しさん 投稿日: 2001/03/11(日) 03:31
アンチ副作用。age


475 名前: 仕様書無しさん 投稿日: 2001/03/18(日) 15:49
age


476 名前: 仕様書無しさん 投稿日: 2001/03/21(水) 09:45
Javaで書いたLispがあるんだけど、希望があれば
公開するよ。(今は直リンクが切れている)
もう5年前なんで、実装が古いけど、一緒にやって
くれる人がいるなら焼き直そうかなと。
thread使えるよ。


477 名前: 仕様書無しさん 投稿日: 2001/03/21(水) 10:36
技術板から移動してきました。
LISP(Scheme)でgotoはどうやるんですか?
(Cでいう)whileもほしいんですけど。breakやreturnも。
Schemeだとcall/ccを使用する手がある様ですが、きちんと最適化してくれない処理系(自作物とか)だと、とても遅そうです。
あと再帰にすると括弧のネストが増えるのがいやなんですけど、対策はありますか?


478 名前: 仕様書無しさん 投稿日: 2001/03/21(水) 13:54
>>477
CommonLispなら一通りあるよ。


479 名前: 仕様書無しさん 投稿日: 2001/03/21(水) 14:28
> Javaで書いたLispがあるんだけど
Kawa よりイイのか?


480 名前: 仕様書無しさん 投稿日: 2001/03/21(水) 17:49
>>479
これほどしっかりはしてないな。
こんなのは書ける。
(defun t-hanoi () (progn (thread "tag" '(tower-of-hanoi 11))
(thread "tag" '(tower-of-hanoi 11))
(thread "tag" '(tower-of-hanoi 11))))


481 名前: >478 投稿日: 2001/03/21(水) 23:47
ありました。gotoはLISPだとgoのことですか。
(block ... [label] ... (go label) ... [label] ...)
(while test compound)
なんかこの辺の構文ってLISP的に卑怯な感じがするのはきのせいでしょうか。
・・まあ無いと不便だし、しかたがないのかな。
#それにしても(開きはいいが、)閉じ括弧数えて書くのウザイくなってきた・・


482 名前: 仕様書無しさん 投稿日: 2001/03/22(木) 17:35
もう既に誰かが書いているかも知れないが、アメリカでは意外と使われている。
理由は簡単で、MITやCMUなんかがバンバンLISPプログラマを育てていて
そいつらが社会に出てもLISPを使い続けるからだ。
プレステのクラッシュバンデグーはMIT Media Lab出身の若手がCommon LISP上
で構築したゲーム・オリエンテド・オブジェクト・ランゲージなんていうのを
わざわざ作ってプログラミングしている。
はっきり言おう。日本は駄目だ。アメリカにいけ。


483 名前: 仕様書無しさん 投稿日: 2001/03/22(木) 22:29
>478
whileは
(loop
 (when 終了条件
    (return 戻り値))
 フォーム…
)
でいいのでは。


484 名前: 483 投稿日: 2001/03/22(木) 22:29
>478

>477
の間違いでした。


485 名前: 483 投稿日: 2001/03/22(木) 22:31
補足:
確か、emacs-lispにはwhileがありましたが、
CommonLispには無かったような気がしたので…


486 名前: 仕様書無しさん 投稿日: 2001/03/22(木) 22:40
便乗。
elisp で、while から抜けるのって return と throw のどっち使った方がいいのか
な?
elisp の場合は cl (common lisp なマクロ群)をあんまし使わない方がいいみたい
な風潮があるからやっぱ throw ?
ちゃんと lisp 習ったりしてないからどっちがいいのか教えて欲しいです。


487 名前: 486 投稿日: 2001/03/22(木) 22:42
while から抜けるってのは途中で抜けるって事です。
言葉足らずでごめん。


488 名前: 仕様書無しさん 投稿日: 2001/03/23(金) 02:54
returnやbreak ってどの階層まで抜けれるのかな?
関数の外?ラムダ式の外?ブロックの外?
適用範囲を指定する構文があるのかも。
↓こんな感じ?
;(return label [resut])という書式でlabelのblockの制御を抜ける。
;この場合blockの戻値はparamになる
(define (func param)
 (display
  (block bottom
   (return bottom param)
  ))(newline)
)
;=>paramが表示される

いま使える処理系持ってないから確認できない・・・


489 名前: 仕様書無しさん 投稿日: 2001/04/06(金) 20:38
age



490 名前: 仕様書無しさん 投稿日: 2001/04/18(水) 01:27
ge


491 名前: 仕様書無しさん 投稿日: 2001/04/18(水) 16:16
なんで quote の話がでないんだ?
良し悪しは別にしてあれができる言語はLisp系だけだぞ。


492 名前: 仕様書無しさん 投稿日: 2001/04/20(金) 05:24
quoteの評価の規則がいまいちわかりません。
'a
=>a
((lambda (x) x) 'a)
=>a
はいいとして、
((lambda (x) ((lambda (y) y) x)) 'a)
=>a
になるのはなぜでしょう?
x,yで2回評価されると思ったんですが。


493 名前: 492 投稿日: 2001/04/20(金) 05:29
あ、
(define b ((lambda (x) x) 'a))
=>b
((lambda (x) x) b)
=>a
になりますね。
うーむ・・


494 名前: 492 投稿日: 2001/04/20(金) 05:42
やっぱり納得行かない。
493はbにbindするので意味は通るんだけど、
492のはyの評価が終った時点でquote付けられてる様に感じます。
それともyの返却値はx引数に入る時点では評価は行われない?


495 名前: 仕様書無しさん 投稿日: 2001/04/20(金) 07:28
>>492
a はただのシンボル型の定数(即値)だからでは?
普通ソースコードに a と書くとそれは変数と解釈され
a にバインドされている値を返すことになるけど
そうすると a というシンボル型の定数(即値)を
ソースコードに書く方法がなくなってしまう(リスト
も同じ、但し実数や文字は評価されても自分自身と
同じ値になるからよい)。
それを避けるための方法が quote なのでしょう。


496 名前: 仕様書無しさん 投稿日: 2001/04/20(金) 13:14
>>495が正しい。
'a は何回評価されても 'a だよ。1 -> 1 と同じ。
quote は関数では無いから。


497 名前: 仕様書無しさん 投稿日: 2001/04/20(金) 19:16
>>496
補足どうも。
出社前に急いで書いたので後で読み直すと
我ながら結構読みにくい文章になっていました
(というよりいいかげん?)。

>'a は何回評価されても 'a だよ。
この一言に尽きるでしょう。


498 名前: 492 投稿日: 2001/04/20(金) 20:01
あー、つまり一番外側の評価の段階で
'a
=>a
で固定されて、そのままlambdaに渡ると考えればよいのでしょうか。
(スコープが変化する時にだけ評価されるという意味です)
でもそうすると、
>>497
>>'a は何回評価されても 'a だよ。
>この一言に尽きるでしょう。
これが矛盾してきます。
(quote a)
の評価結果はaですよね?
それで、
((lambda (x) x) 'a)
の時だと、lambdaに渡る前に'aが評価されてaに確定して、
(スコープが変化して、)そのままlambdaやらに渡ると、
現在認識してるんですが・・。
うーん。


499 名前: 492 投稿日: 2001/04/20(金) 20:06
つまりlabmdaの中ではaは評価されず、
新たにaをbindされた仮引数xがlambdaスコープ中で評価されて、
=>aになると解釈すればいいのかな?
そうすれば矛盾は起らない様な気がします。


500 名前: 492 投稿日: 2001/04/20(金) 20:12
よって、
((lambda (x) ((lambda (y) y) x)) 'a)
の評価順序は、まず外側のyに設定された引数'aを評価
'a=>(quote a)=>a

lambda仮引数yにaをbindし、
yを評価=>a

lambda仮引数xにaをbindし、
xを評価=>a

という解釈に現在至ってます・・
うぬぬ


501 名前: 投稿日: 2001/04/20(金) 20:33
・((lambda (x) x) a)

x 内の x を a に置き換える。つまり、 a。
a を評価すると、変数aにバインドされてる値を返す。

・ ((lambda (x) x) 'a)

x 内の x を 'a に置き換える。つまり、 'a。
'a は何度評価しようとも 'a のまま変わらず。

・((lambda (x) ((lambda (y) y) x)) 'a)

まず ((lambda (y) y) x)。y 内の y を x に置き換える。つまり x。
するとコレは ((lambda (x) x) 'a) となる。あとは上の例と同様で、結果は 'a。

---------------------------------

> (quote a)
> の評価結果はaですよね?

そうではないですね。>>495氏の説明の通り。
↓納得いかなければこんなのでも試してみるよろし。
(setq a 123)
(+ (quote a) 1)


502 名前: 仕様書無しさん 投稿日: 2001/04/20(金) 20:37
>'a は何回評価されても 'a だよ。
これは嘘でしょう。
'a が1回評価されればそれは a というシンボルになり、もう1回評価されれば a に束縛されている値になる (a になにか束縛されていればの話だが)。
>>492 の S式では 'a が評価されているのは一回だけです。


503 名前: 仕様書無しさん 投稿日: 2001/04/20(金) 20:37
>>492

(quote a) の評価結果の a は普通の定数としての a を表してる。
が、ソースに普通に a と書くと変数名としての a を表すので、これは
(quote a) が返す a とは別物。

…かな?


504 名前: 仕様書無しさん 投稿日: 2001/04/20(金) 20:48
なんか、>>501 が混乱の元凶という気がするのだけど。
それから Lisp では評価は適用順序でなされるはずですよ?
あなたの説明では (lambda (x) x) の x に直接 a という
字句を入れている。これは正規順序で、ふつうのLispの
実装ではそうなっていないはずです。


505 名前: 492 投稿日: 2001/04/20(金) 22:08
みなさんレス有難うございます。
やっぱりスコープ変更の段階で一度評価される様ですね。
グローバルスコープ(quote a)=>a
 仮引数のbind y <- a
 lambda(y)ローカルスコープy=>a
  仮引数のbind x <- a
  lambda(x)ローカルスコープx(y=>a)=>a

>>504
適用順序ってなんでしょうか
本読んだ方がいいかな・・


506 名前: 492 投稿日: 2001/04/20(金) 22:12
>>501
(setq a 123)
(+ (quote a) 1)
これは「aは数値じゃない」というエラーで失敗しましたが・・。


507 名前: 仕様書無しさん 投稿日: 2001/04/20(金) 22:49
>>505

スコープは関係無いよ。

(1) 入力した S 式は評価される
(2) lambda 式が評価されるときには、変数に値が bind される
(3) 変数は評価されると bind されている値になる
(4) (quote 式) は評価されると 式 になる

これだけ。


508 名前: 492 投稿日: 2001/04/20(金) 23:39
>>507
なるほど。
ありがとうございます。
だいぶすっきりしました。


509 名前: 仕様書無しさん 投稿日: 2001/04/29(日) 15:20
Lisp? LISP? lisp?
どれでもいいの?



510 名前: 仕様書無しさん 投稿日: 2001/04/29(日) 17:07
>>492
正規順序: (λx. f(x)) ((λy. g(y)) C) ⇒ f((λy. g(y)) C) ⇒ f(g(C))
適用順序: (λx. f(x)) ((λy. g(y)) C) ⇒ (λx. f(x)) g(C) ⇒ f(g(C))
わかるかな?


511 名前: 492 投稿日: 2001/05/02(水) 03:39
>>510
適用順序の
((λy. g(y)) C) ⇒ g(C) …(1)
は(schemeのlambda〜と同じ表現なので)なんとなく判りますが、
(λx. f(x)) g(C) ⇒ f(g(C))
これがわかりません。(1)のネストと考えたら、
((λx. f(x)) g(C))⇒ f(g(C))
こうじゃないんですか?
正規順序のほうはサッパリでした。
というか式の見方がわかりません。
こういうのはどういう分野の本を参考にすればいいんでしょう。
やっぱり数学の本ですか?


512 名前: 非決定性名無しさん 投稿日: 2001/05/02(水) 03:42
ハッカーズの愛読者です


513 名前: >509 投稿日: 2001/05/02(水) 03:42
ListProcessorなのでL.P.
LisP


514 名前: 仕様書無しさん 投稿日: 2001/05/03(木) 03:06
相互リンクしてみる
http://piza.2ch.net/test/read.cgi?bbs=tech&key=987169286&ls=50


515 名前: 仕様書無しさん 投稿日: 2001/05/19(土) 15:19
このスレッドだけなぜか
かちゅ〜しゃ
で表示されません。なぜ?



516 名前: 仕様書無しさん 投稿日: 2001/05/19(土) 15:26
>>509 >>513
Lispだろ。


517 名前: 仕様書無しさん 投稿日: 2001/05/19(土) 15:28
つーか、
「プログラム」板と
「プログラム技術」板
とあるみたいですが、どうなってるんでしょう?



518 名前: 仕様書無しさん 投稿日: 2001/05/19(土) 15:37
http://www.shiro.dreamhost.com/scheme/trans/beating-the-averages-j.html


519 名前: 仕様書無しさん 投稿日: 2001/05/21(月) 20:21
80年代後半にXlispのソースを入手してPC−9801F2で
ボーランドTurboC2.0使ってコンパイルしたら動きました。
そのソースといっしょに付いてきたqa.lspと言うプログラムに非常に興味を
持ちました。なんか言語意識のシミュレーションの基礎研究みたいな内容です。
現在Lispでの言語意識のシミュレーションについて研究しているのですが
Xlispの場合、統計解析の本は共立出版から出ていますが専門外なんです。
UNIXのFranz LispのSIR.lspと言うプログラムが
それに近かったんですが方言があってXlisp上では動きませんでした。
同じような研究されている方居ませんか?情報交換しましょう。
あとLispはBASICみたいな体系的なリファレンスマニュアルも
見あたらないですね。誰かこれだって言う本知りませんか?



520 名前: condさん 投稿日: 2001/05/23(水) 16:45
>>519
Common Lisp the Language :
http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html

PS/HTML/DVI等の形式でダウソロードできるみたい、英語。
(共立のbit別冊がおいてない片田舎でも入手できて便利)


521 名前: 仕様書無しさん 投稿日: 2001/05/24(木) 02:51
>520
ちょっと昔bit別冊の本、古本屋で1200円で手に入れました。
買った当時(なんで買ったのかも謎。)はlispあんまよく
知らなかったけど、今は結構役に立ってます。(使用言語はschemeですが)


522 名前: 仕様書無しさん 投稿日: 2001/05/29(火) 23:28
なんで Lisp は Run のことを Evaluate っていうんですか?
評価してボーナスの査定でもしてほしいんですかね。



523 名前: 仕様書無しさん 投稿日: 2001/05/30(水) 02:13
>>522
理由:
動かしてる訳じゃないから
式を評価した結果や副作用でアプリが動いているように見えるだけ
つまり脳内の錯覚


524 名前: 519 投稿日: 2001/05/31(木) 19:11
>condさん
貴重な情報感謝いたします。
ありがとうございました。


525 名前: 仕様書無しさん 投稿日: 2001/05/31(木) 19:35
>>520 = http://www.context.co.jp/~cond/ ?


526 名前: 仕様書無しさん 投稿日: 2001/06/02(土) 22:45
Meadow で
(plus 2 2)
C-x C-e
とやったら
Symbol's function definition is void: plus
とエラーメッセージが出ました。

解説本にはできるって書いてあるのにウソツキ。

http://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp_2.html#SEC13



527 名前: Lisp初心者 投稿日: 2001/06/03(日) 04:45
Xlisp-statをDLしました
取りこんだソースリストをBASICのLISTコマンドみたいに
Xlisp−stat上でリスティングする方法はありますか?
初歩的に質問ですいません


528 名前: 仕様書無しさん 投稿日: 2001/06/04(月) 20:57
>>526
> Meadow で
> (plus 2 2)
> C-x C-e
> とやったら
> Symbol's function definition is void: plus
> とエラーメッセージが出ました。
>
> 解説本にはできるって書いてあるのにウソツキ。
>
> http://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp_2.html#SEC13
>
このマニュアルのどこにそんなことが書いてあるんだよ。
言語の勉強する前に日本語勉強しろや。


529 名前: 仕様書無しさん 投稿日: 2001/06/04(月) 21:24
「Lisp では、ある命令セットには幾つかの名前が付随している。
例えば、数を加えろという計算機の命令には、+ というシンボルと同様、plus というシンボルも付随させることが出来る。」

↑って書いてあるじゃんか!
泣くぞコルァ



530 名前: アトムさん 投稿日: 2001/06/05(火) 08:58
>>529

「ことができる」というのは (defun plus (x y) (+ x y))
を評価すれば (plus 1 2) が使えるということで
演算子記号は特別扱いされない という内容と思われ。

ちなみに + は引数を3個以上とれるので上の関数は
手抜きだ。


531 名前: 仕様書無しさん 投稿日: 2001/06/05(火) 21:48
(let ((hiroko 'kitui)
(naoko 'gabagaba))
(message "ai jin no manko ha %s sosite nyo-bo no manko ha %s" hiroko naoko))



532 名前: 仕様書無しさん 投稿日: 2001/06/07(木) 15:41
(concat "(" "●" "´" "ー" "`" "●" " )" )

C-u C-x C-e
   ↓
"(●´ー`● )"




533 名前: 仕様書無しさん 投稿日: 2001/06/07(木) 16:35
(concat "(" "," "," "゚" "Д" "゚" " )" )

C-u C-x C-e
   ↓
"(,,゚Д゚)"



534 名前: 仕様書無しさん 投稿日: 2001/06/07(木) 20:40
(defun naniwo-tabetai (chara)
"tabetai monowo irero!"
(if (equal chara 'stake)
(message "stake ha umai!")
(message "son na mon ga kueru ka!")))

C-x C-e → naniwo-tabetai

(naniwo-tabetai 'stake)

C-u C-x C-e
    ↓
"stake ha umai!"





535 名前: 仕様書無しさん 投稿日: 2001/06/16(土) 02:40
>>519
Franz Lispなら、
http://www.aiai.ed.ac.uk/~jeff/franz-for-386.html
にあるよ。


536 名前: 仕様書無しさん 投稿日: 2001/06/21(木) 22:39
age


537 名前: 仕様書無しさん 投稿日: 2001/06/22(金) 03:00
XMLはlispなんですか?


538 名前: 仕様書無しさん 投稿日: 2001/06/24(日) 02:22
中身はよく似ている。Lispもどきとよく言われている。XML


539 名前: 仕様書無しさん 投稿日: 2001/06/27(水) 19:58
>>529
(+ 1 2 3 4 5 6 7 8 9 10)
(plus 1 2 3 4 5 6 7 8 9 10) ; エラー
(symbol-function '+) ; 計算機の命令
(fset 'plus (symbol-function '+)) ; 付随
(plus 1 2 3 4 5 6 7 8 9 10)
(symbol-function 'plus)

>>530 ちょっと違うね。


540 名前: 仕様書無しさん 投稿日: 2001/06/28(木) 23:51
>>538
じゃあ、XMLをよく勉強しておけば、LIspの理解も早まるし、逆も真なり、なんですね?
一粒で二度おいしい。


541 名前: 投稿日: 2001/06/29(金) 00:02
>>1
実際のシステム構築ではほぼない、です


542 名前: 仕様書無しさん 投稿日: 2001/06/29(金) 15:04
>>540
Lisp: S式という印字表現を持つ汎用木構造を基本データ型とする言語。
XML: DOMというデータモデルを持つ汎用構造文書。
なので、対応構造が随所にある。


543 名前: 519 投稿日: 2001/07/14(土) 21:26
>>535さん
Thanx
ソースリストを拾っちゃいました。
Flanz lispをWindowsに移植してみようと思うけど・・
C言語なんて何年もやってないな〜(爆
Cコンパイラー買わなきゃならんな〜(核爆
Allegro DLしたけど巨大で好きになれません。
今時のPCゲームに比べりゃ可愛いもんでしょうか
Franz社からラブレターが来たけどライセンスを認識せず動かなかったので
導入を諦めたと返事を書くつもりです。
Xlisp-statがコンパクトで気に入ってます。フリーだし(これが大きい)
付いてるエディターが小さいプログラムしか書けないみたいですけど


544 名前: 仕様書無しさん 投稿日: 2001/07/15(日) 07:11
LISPの欠点って何?


545 名前: Be名無しさん 投稿日: 2001/07/15(日) 09:57
>>543
Cygwin じゃ駄目なの?

>>544
超マイナーな所。


546 名前: 仕様書無しさん 投稿日: 2001/07/15(日) 10:32
>>545
つーか、なぜこんなにすばらしい言語なのに、あんまり使われないの?


547 名前: Be名無しさん 投稿日: 2001/07/15(日) 11:53
>>545
elisp は結構使われているでしょう?
Oracle の設定ファイルも lisp 風だね。

やはり、メモリ食い、遅い、非効率、専用ハードが必要、ガページで止まる、
構文が独特、コンパイラが無かった、実践的な解説書が無い、etc、、、

のせいかな? 今じゃ当てはまらない部分も多いけど、、、

つーか、lisp なんて誰も知らん。


548 名前: 仕様書無しさん 投稿日: 2001/07/15(日) 11:59
autolispがあるだろう。


549 名前: 仕様書無しさん 投稿日: 2001/07/15(日) 12:17
AutodeskはOracleと同じ技術料ぼったくり会社なんで
仕事はあるだろうな
内容は退屈だろうけど


550 名前: 仕様書無しさん 投稿日: 2001/07/15(日) 13:01
>>544
かっこ一つ付け忘れたら動かない事


551 名前: 仕様書無しさん 投稿日: 2001/07/15(日) 13:30
.NETに対応させれば? >どっかの実装


552 名前: 仕様書無しさん 投稿日: 2001/07/15(日) 17:17
LISP普及させよう!


553 名前: 仕様書無しさん 投稿日: 2001/07/15(日) 17:49
Allegro CL ってどうなのよ。


554 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2001/07/19(木) 20:12
>>553
ダメ!システムが巨大過ぎる!
タダでさえメモリーを食うLispはコンパクトな本体で、出来るだけ
ユーザーエリアを提供すると言った設計思想を根付かせないとダメ!
Allegroはシステム自体をガーベッジコレクションする必要がある。
Xlisp-statで充分!


555 名前: 仕様書無しさん 投稿日: 2001/07/19(木) 21:53
最近の VB、Java、C++(withSTL) に比べたらカワイイものよ。<メモリー食い


556 名前: 仕様書無しさん 投稿日: 2001/07/19(木) 22:18
>>554
Xlisp-stat って、コレの事?
http://www.mlb.co.jp/linux/science/xlispstat/


557 名前: 554@64MBメインメモリーマシンユーザー 投稿日: 2001/07/19(木) 22:25
>>555
実行中に飛んだぞ!画面がぐちゃぐちゃになった
多分ビデオメモリーの住所まで下りたと思われ。。
>>556
そうです。


558 名前: 仕様書無しさん 投稿日: 2001/07/19(木) 23:27
Allegro CL って買うといくら?
GUI の使える Lisp 処理系って他にありますか?


559 名前: 仕様書無しさん 投稿日: 2001/07/20(金) 15:29
Xlisp-stat って ALC と比べるものじゃぁ無いと思うけど。


560 名前: 仕様書無しさん 投稿日: 2001/07/21(土) 00:52
>>558

schemeじゃ駄目? よければ、guileを。
http://www.ping.de/sites/zagadka/guile-gtk/

sawfishで使っているrepにもgtk bindingがある。
http://rep-gtk.sourceforge.net/

GNU Common Lisp(旧Kyoto Common Lisp)もTkのinterfaceを持っている。
http://www.gnu.org/software/gcl/gcl.html


561 名前: 仕様書無しさん 投稿日: 2001/07/21(土) 06:08
>>559
Xlisp-statは本来AI言語であるLispを統計解析に活用しようと言う
設計思想から生まれているがXlisp-plusの基本機能はそのまま持っているし
本体がコンパクトなのは強みだと思う。
システムが大きいAllegroと比較するも一考。
付いてたエディターがショボイのには倒れたが・・


562 名前: 無名λ式 投稿日: 2001/07/21(土) 14:01
>>561
> Xlisp-statは本来AI言語であるLispを統計解析に活用しようと言う

もういいかげん「AI言語」というのはやめれ

それはそうとRもいいだべさ。AT&TのS + MITのschemeだべ。
http://www.gnu.org/software/r/R.html
http://WWW.R-project.org
http://cran.r-project.org


563 名前: 仕様書無しさん 投稿日: 2001/07/21(土) 17:04
>>560
Thanks. でもそれって、UNIX 用ですよね。
Windows で動くのって ACL だけかな?


564 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 02:43
>>547
>メモリ食い、遅い、非効率、ガページで止まる
この辺は、昔さんざん言われてた事だけど、今は事情が異なるよね。
C/C++/Delphi辺りと比べたら当てはまるけど。

>専用ハードが必要、
これも。lisp専用マシン自体は今でもあるみたいだけど。

>構文が独特
これは、まあしょうがないか・・・。
(でもマクロで他の言語の構文に似せる事はできるみたい。)

>コンパイラが無かった
バイトコード化とか、toCなコンパイラはほとんどの処理系にあります。
結局JavaVMの様に標準化とかはされてないけど。

>実践的な解説書が無い
昔に比べたらだいぶ状況は良くなったと思う。

>etc、、、
他は、なんでしょう


565 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 02:47
>>558
Schemeなら結構あるみたいですよ。
Guile以外にもDr-Scheme R-Scheme Pocket-Scheme ELT-Schemeなど


566 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 02:52
ELTじゃなくてELKでした。
あと、STK(Scheme/TK)とか。


567 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 02:56
厨房なんで Lisp と Scheme の違いがわかりません。
基本的に同じモノと考えていいのかな?


568 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 03:09
SchemeはLISPの1方言です。>>567
普通のLISPよりもシンプルで直行性のある構文が書けます。
また、末尾再帰構造のループ展開をサポートしています。
なので複雑な繰返し構造が書ける様です。
普通のLISPよりも、MLとかの関数型言語の考え方に近いです。


569 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 03:24
あとSchemeで特徴的なのはcall-with-current-continuationという、
「継続」というオブジェクトがあります。これを使って、
コルーチンとか例外処理(try/catch/throw/finally)、
脱出処理(break/return/continue)相当が書ける様です。
関数もクロージャという、Schemeオブジェクトの一種なので、
他のオブジェクトと区別無く扱うことができます。
下の様に構文上は、みな同じ書き方ができます。
(f)
fという組み込み関数またはクロージャまたは継続を呼び出す。


570 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 03:32
>>569
>(f)
構文(syntax)やマクロ、という可能性もある。
まあ、その場合は引数無いと無意味っぽいけど。


571 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 05:50
お〜ま〜え〜ら〜は
あ〜ほ〜か。

Lisperは偽術者じゃ。ヴォケ。
プログラマや技術者を名のるな。アッポー

逝ってまえ


572 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 11:39
>>571 は、Lisper 伊東、、、、なんちゃって。(藁


573 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 11:45
>>572
下らんが、ワラテシモタ


574 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 23:42
Lisper出て行け!


575 名前: 仕様書無しさん 投稿日: 2001/07/22(日) 23:47
何故。>>574


576 名前: 仕様書無しさん 投稿日: 2001/07/23(月) 00:20
>>574
何故に?
Lisp の実用性は置いておいておくとして・・・
言語としては面白いぞ。


577 名前: 仕様書無しさん 投稿日: 2001/07/23(月) 01:14
括弧が多すぎて、理解できないとか(w


578 名前: 仕様書無しさん 投稿日: 2001/07/23(月) 12:47
Lispを知らない奴は素人


579 名前: 仕様書無しさん 投稿日: 2001/07/23(月) 20:13
>>577
つーか、再起処理が理解できないに。ファイナル・アンサー


580 名前: 仕様書無しさん 投稿日: 2001/07/23(月) 21:14
auto-lisp


581 名前: 仕様書無しさん 投稿日: 2001/07/23(月) 23:14
再起処理


582 名前: 579 投稿日: 2001/07/23(月) 23:56
>>581
うげっ! 再帰不能だ、、、氏のう、、、


583 名前: 仕様書無しさん 投稿日: 2001/07/24(火) 11:22
―――┴┴┴┴┴―――――、
   /.  ̄ ̄ ̄//. ̄ ̄| || ̄ ̄ ̄||| ̄ ||       __________
  /.    ∧// ∧ ∧| ||      |||   ||  /
 [/____(゚_//[ ].゚Д゚,,) ||___|||   || <  574を迎えにきました
 ||_. *  _|_| ̄ ̄ ∪|.|.       |ヽ. _||  \__________
 lO|o―o|O゜.|二二 東|.|京精神病院    ||
 | ∈口∋ ̄_l__l⌒l_|_____|_l⌒l_||
   ̄ ̄`ー' ̄   `ー'  `ー'   `ー'


584 名前: 仕様書無しさん 投稿日: 2001/07/24(火) 11:27
   ―――┴┴┴┴┴―――――、
   /.  ̄ ̄ ̄//. ̄ ̄| || ̄ ̄ ̄||| ̄ ||       __________
  /.    ∧// ∧ ∧| ||      |||   ||  /
 [/____(゚_//[ ].゚Д゚,,) ||___|||   || <  571を迎えにきました
 ||_. *  _|_| ̄ ̄ ∪|.|.       |ヽ. _||  \__________
 lO|o―o|O゜.|二二 東|.|京精神病院  ||
 | ∈口∋ ̄_l__l⌒l_|_____|_l⌒l_||
   ̄ ̄`ー' ̄   `ー'  `ー'   `ー'


585 名前: 仕様書無しさん 投稿日: 2001/07/25(水) 04:04
>>562
やっぱりLispはAI言語だよ。
幅広い分野に応用出きるから、他の分野にも応用されてるだけ!
私は、Lispで言語意識のシミュレーションをやっているが
Windowsパソに、ここぞと言う時に「Fuck you!」なんて言われたら
ムッと来るよ。映画ターミネーターが洒落にならない言語だと思う。
軍事利用には、危機感を感じる。
今後の課題は、ストレスをどう関数化するかだ。

バイオリズムのように単純なSinカーヴでシミュレーションしても
それらしいアルゴリズムは書けるが・・(それっぽいと言うか・・)
人の気分って意外性があるからね。


586 名前: 仕様書無しさん 投稿日: 2001/07/25(水) 04:07
Lispの仕事って少ないだろうけど、実用性がないって事はないよ。

「普通のやつらの上を行け 」
http://www.shiro.dreamhost.com/scheme/trans/beating-the-averages-j.html


587 名前: 仕様書無しさん 投稿日: 2001/07/25(水) 20:01
lispはMITで擁護されてるから大丈夫。


588 名前: 仕様書無しさん 投稿日: 2001/07/25(水) 21:13
>>586
とても面白かった。
環境はそろってるから今年中にはマスターしたい。


589 名前: 仕様書無しさん 投稿日: 2001/07/25(水) 21:48
>>586 面白い記事ですねぇ。確かに知らない言語(Lisp(俺にとっては))
の機能って想像もつかない。ちと、勉強したくなった。


590 名前: 仕様書無しさん 投稿日: 2001/07/25(水) 23:34
Roland CakeWalkという音楽ソフトのカスタマイズ言語も
CALというlisp言語。(音楽屋は理解してるのか?)
MMLとして使えたりすると面白いかな。
(play-code 4/4 'A/C# 'C-dim 'D 'Dm6 ...)


591 名前: 仕様書無しさん 投稿日: 2001/07/26(木) 02:06
>>590
Common Lisp Music というのがあるよ。(かなり大掛かりな印象)
ttp://home.interlink.or.jp/~ipfr_cat/sndjp/clmjp.html


592 名前: 仕様書無しさん 投稿日: 2001/07/26(木) 02:22
普通のヤツらの上を逝きたいヤツらは、Haskellだ。
何となく、文法がかっこいいし(wara


593 名前: 仕様書無しさん 投稿日: 2001/07/26(木) 02:28
CLMのメインサイト
(あのマッカーシーがいるスタンフォード大学)
http://ccrma-www.stanford.edu/software/clm/


594 名前: 仕様書無しさん 投稿日: 2001/07/26(木) 15:10
>>592
おれはMLがいいな。(Object-Caml or SMLNJ)


595 名前: 仕様書無しさん 投稿日: 2001/07/27(金) 01:22
Windows で EXE の作れる Lisp って ACL だけかな?


596 名前: 仕様書無しさん 投稿日: 2001/07/27(金) 05:48
>583
スタンフォード大学とYAMAHAは関係が深いらしい。


597 名前: 仕様書無しさん 投稿日: 2001/07/30(月) 19:53
頑張って全部読んでみた。

俺は最近Lispについて真面目に勉強する機会があったのだが、
このような機会がなければ、Lispなんて見向きもしなかっただろうし、
多分Lispは古いからイラン、とか言っていたと思う。

でも、実際触ってみると違うんだよな。
括弧だらけで保守しづらいとかいうのは見た目だけで、
関数型は副作用がないため、再利用はしやすいし。
デバッガと連動しているのも良かったな。

現在、Lispがどのくらい実用的か?というのはともかく、
やっぱり違った視野から物事を覗くことも大事だな、と思ったよ。
#駄文スマソ。


598 名前: 仕様書無しさん 投稿日: 2001/07/30(月) 22:02
>>597
何を頑張って詠んだのよ。


599 名前: 仕様書無しさん 投稿日: 2001/07/31(火) 02:57
このすれざんしょ


600 名前: 仕様書無しさん 投稿日: 2001/07/31(火) 23:39
ふと考えてみた、、、
Windows が Lisp で動いていたら、きっと強烈なウイルスが
蔓延しているのではないかと。


601 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 05:39
かつて人工知能が華やかなりし頃はLispの仕事もありましたなぁ
Symbolics社っていつの間に消えたの?

何で読んだか忘れたが、「Lispは田舎者である」っていう冗談があったね。
やたらとカッコをつけたがるが、すぐに方言が出る…


602 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 12:37
>>601
http://home.brightware.com/~rwk/symbolics/purchase-press-release.html


603 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 13:34
emacs を使い倒したいがために LISP を覚えた俺は DQN?


604 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 13:56
(DQN-p 603)
nil


605 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 15:05
('nil)
T


606 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 15:04
(DQN-p >>603)
T


607 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 15:08
setqリョクないなぁ


608 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 21:38
(>>603)
DQN

>>603 の中身がドキュソ


609 名前: 仕様書無しさん 投稿日: 2001/08/01(水) 23:06
その昔、仕事そっちのけで Vz のマクロにハマったオレも DQN?


610 名前: 仕様書無しさん 投稿日: 2001/08/02(木) 03:01
http://namazu.org/~satoru/programming/sicp.html


611 名前: 仕様書無しさん 投稿日: 2001/08/03(金) 05:40
このスレ息長いね
1年過ぎてんじゃん


612 名前: コメント無しさん 投稿日: 2001/08/03(金) 12:21
>>611
それだけ書きこみがないってことか。


613 名前: 仕様書無しさん 投稿日: 2001/08/03(金) 20:52
>>611
あ、ホントだ。>>1 の学生君は卒業したか?


614 名前: 仕様書無しさん 投稿日: 2001/08/06(月) 20:27
揚げて見る


615 名前: 仕様書無しさん 投稿日: 2001/08/07(火) 22:27
で、結局 Lisp ってどうなのよ?


616 名前: 仕様書無しさん 投稿日: 2001/08/07(火) 22:37
このスレって今だったら技術板に立てる内容だよね。


617 名前: 仕様書無しさん 投稿日: 2001/08/08(水) 14:19
スレ違いならスマソ。
ここの会社ってどんな感じか知ってる人いたら
教えて下さい。なんかLispで書いたWebサーバ
売ってて、CMU卒の超有名なセンセがいらっしゃ
ると伺ったのですが…

ココ→ http://www.crl.co.jp/


618 名前: 仕様書無しさん 投稿日: 2001/08/11(土) 15:48
lispの最適化って、どれぐらいのものを期待できるんでしょうか。
ACLは凄いらしいですが、実際に展開コードを見たわけではない
ので想像つかないです。使ってる人いたら教えてください。
出力コード参照できればいちばんいいんですが。


619 名前: 仕様書無しさん 投稿日: 2001/08/11(土) 17:21
ACL 欲しいけど、いくら位するのよ?


620 名前: 仕様書無しさん 投稿日: 2001/08/11(土) 20:04
この板の住人て、全員 Emacs Lisp を完璧に使いこなしていて、全員 Emacs でごりごりコード書いてるんですよね?


621 名前: 仕様書無しさん 投稿日: 2001/08/11(土) 20:10
20万円します。>619


622 名前: 仕様書無しさん 投稿日: 2001/08/11(土) 20:23
>>620
EMACS Lisp 好き = Lisp 好き では無いんでないの?

>>621
買って買えない値段では無いですけどねぇ。。。ハァ・・・


623 名前: 仕様書無しさん 投稿日: 2001/08/11(土) 20:27
>>622
ACL のインタープリター版は只じゃなかたっけ?


624 名前: 仕様書無しさん 投稿日: 2001/08/11(土) 23:28
ソースきぼん>6623


625 名前: 623 投稿日: 2001/08/12(日) 00:16
>>624
ACL 5.0 のトライアル版は、EXE が作れないだけで期間の制限は
無かったが、ACL 6.0 トライアル版は、EXE が作れる代わりに
期限付きライセンスになってしまったようです。スマソ。

最長で6ヶ月使用できるようです。
http://www.franz.com/support/documentation/6.0/doc/faq/faq-entries/faq1-6.htm#165


626 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 00:32
ありがとう>625


627 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 00:37
ACL の個人使用は、無料にして欲しいなぁ >franz inc.


628 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 00:40
>>622
EMACS 使い = Lisp 好き
の間違い?


629 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 00:42
なんだかんだ言ってもLISPの仕事なんて見たことないしな。
無理して覚える価値はない言語だな。


630 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 01:00
>>629
教養としての値打ちはあるよ。
これはこれで実に巧くまとまっている。


631 名前: 463 投稿日: 2001/08/12(日) 01:18
>>1
Lisp なんて、だめだめ使っているの見たこと無い!!
大体人工知能にしたって、進化は止まってるしさっさと捨てちゃエバーーーー


632 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 01:25
Pascal と Lisp は、覚えていて損の無い言語だよ。
この2つを覚えておけば、あとの言語は応用だね。


633 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 01:29
こんなものを見つけた。

http://jp.franz.com/base/technology_doop.html

>ANSI CLOSはコマーシャルにその実力が証明され、世界中で有名な開発プロジェクトに
>使用されています。Price WaterhouseとAT&Tは、会計監査や電話交換機といった高度な
>アプリケーションにANSI CLOSを使用しています。またGeneral Electricと
>Pratt Whitneyはジェットエンジンの開発をANSI CLOSアプリケーションによって
>行っていますし、Boeingは同様に777のような新しい航空機を設計しています。
>さらに、FordとJaguarは新しい自動車システムを設計していますし、Motoloraと
>Texas Instrumentsは生産スケジューリングや ICのデザインにANSI CLOSを使っています。
>Microsoftも「Bob」のような画期的なアプリケーションの開発にANSI CLOSを使っているのです。

Microsoft Bob って・・・。


634 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 01:48
>>632
論理型言語 (Prolog) とかオブジェクト指向言語 (C++, Java) は、
また別の知識が必要になると思われ。オブジェクト指向は、言語云々
よりも分析・設計に半分以上の価値があるわけだし。

まぁ、とりあえず Pascal と Lisp やって損はないというのは同意
だが。


635 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 01:58
>>633
お子ちゃま向けのビジュアル・シェルらしい。MS の失敗プロジェクト。
http://www.gratefuldad.com/twinsoft/products/msbob/msbob.html

マイクロソフト・ボブ
マイクロソフト・ボブは、Microsoft Windowsのための家族向きのインターフェイスである。
ボブは、手を貸すために部屋、家具、暖かい炉床と生き生きした形質でメニューに基づく、テキスト集約型のWindowsデスクトップをフレンドリーな環境に変える。
各々のファミリーメンバは彼ら自身のボブ環境をつくることができる、あるいは、パブリックまたは個人の(パスワード保護された)アクセスで彼ら自身のカスタマイズされた部屋をつくって、メンバは同じ環境を共有することができる。
金庫さえ、公共ラウンジの中で専有ファイルを保つためにある。
あなたにファミリーコンピュータを使う子供がいるならば、マイクロソフト・ボブはあなたの系をプロテクトするすばらしい方法である、そして、子供が彼ら自身の楽しみをつくるのを許す間、知覚しうるファイルはWindows環境をカスタマイズした。
Windows「ホームから」に加えて、マイクロソフト・ボブは、それ自身の統合したワードプロセッサー、カレンダー/形成体、財政的な管理者、家庭管理者、電子メール顧客、アドレス帳とGeoSafariゲームを含める


636 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 02:14
>>634
元祖オブジェクト指向の SmallTalk は、Lisp の影響を
かなり受けていませんか?


637 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 02:23
>>631
> 大体人工知能にしたって、進化は止まってるしさっさと捨てちゃエバーーーー

「人工知能」って非単調論理の知識推論エンジンなんかも含みますか?
天気予報なんかに使われてますよ。まあ推論エンジンは研究段階はLispで、
市場に出回っているのはCやC++で書かれていますが。


638 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 02:24
>>636
実装技術もXerox InterLisp系。


639 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 02:28
Lisp で実装された Prolog もありましたね。


640 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 02:32
Lispは大変すぐれた処理系だと思う。
でもあの大量の括弧がどうしても好きになれない。
あの括弧が色々な利点をもたらしているのは分かるけれど・・・。
Lisperを長く続けると慣れちゃうものなの?


641 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 02:49
>>640
Lisp モードのあるエディタを使わないとツライかもね。


642 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 03:32
>>640
気にならないよ。むしろS式をkey叩くだけで持ち運び出来て楽。
とりあえず、editorはemacsでcode書いてみたら?
kill-sexp, mark-sexp, backward-kill-sexp, forward-sexpなどが、M-C-一文字に。


643 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 05:55
>640
マクロで単純な構文を作ったりリーダーを修正したりすれば、
括弧をあまり書かなくて済ます方法はあるよ
慣れればアイデアをそのまま適用できる言語として重宝する。
特にS式を加工して最適なコードを自分で模索できるのがすばらしいと
思うのだが。
コンパイラや実行環境がヘボかったり、恐ろしく冗長なコードを書いても、
コンパイラに渡す前の段階で、ユーザー自身の手でかなりの所まで最適化できる。
これと同じ事を他の言語でやるのは難しい。


644 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 06:06
>コンパイラに渡す前の段階で、ユーザー自身の手でかなりの所まで最適化できる。

ハンドオプティマイズは、他の言語でも出来ると思うけど。
なんか Lisp 独特の方法があるの?


645 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 06:40
>644
>他の言語でも出来る
といってもlispほど容易にできるわけがない、って事でしょ


646 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 14:46
>>644
やっぱ、S式を扱うlisp programでやるって事を言ってるんじゃねーの?
ハンドオプティマイズじゃなくて。


647 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 15:10
>>646
Lisp は、Program=Data だから、構文解析は要らないとしても、
オプティマイズがそんなに簡単に出来るんでしょうかねぇ?


648 名前: 仕様書無しさん 投稿日: 2001/08/12(日) 15:28
>>647
> マクロで単純な構文を作ったりリーダーを修正したりすれば、

つうことなので、機械的に出来たS式には、
((lambda (x) x) y)
ちゅうのも含まれたりする。よって、
((lambda (x) x) y) → y
ちゅうくらいの変換を幾つかやるんでないの?

作成する奴は固定なんだから、覗き穴最適化出来るようなのは、
パターンが決まっていているわけし。プログラム変換って結構冗長なコードが出来る。

俺も書いた事あるよ、覗き穴。変換ルールの方で凝ったの作るより簡単。


649 名前: 仕様書無しさん 投稿日: 2001/08/13(月) 05:51
相互再帰関数(無限再帰 x->y y->z z->x)
(define (x n) (display 'x) (display n) (y (1+ n)))
(define (y n) (display 'y) (display n) (z (1+ n)))
(define (z n) (display 'z) (display n) (x (1+ n)))
これをxについて展開

(define x
  (lambda (G614)
    (display 'x)
    (display G614)
    (let ((G617 (+ G614 1)))
      (display 'y)
      (display G617)
      (let ((G629 (+ G617 1)))
        (display 'z)
        (display G629)
        (x (+ G629 1))))))
こういう機械変換なら結構簡単


650 名前: 仕様書無しさん 投稿日: 2001/08/13(月) 06:00
let->lambda
(define x
  (lambda (G115)
    (display 'x)
    (display G115)
    ((lambda (G116)
       (display 'y)
       (display G116)
       ((lambda (G117)
          (display 'z)
          (display G117)
          (x (+ G117 1)))
         (+ G116 1)))
      (+ G115 1))))


651 名前: 463 投稿日: 2001/08/13(月) 06:21
Lisp なんて役に立たないのに、


652 名前: 仕様書無しさん 投稿日: 2001/08/13(月) 06:27
アンチリスプ信者ってなんか多いみたいね。>この板


653 名前: 仕様書無しさん 投稿日: 2001/08/13(月) 06:40
>>651
Lispに特徴的な現象として、アプリケーション自体がまずLisp上で
構築され、さらに拡張言語としてLispを採用している場合がままあります。
使われてるのを列挙すると、
エディタ emacs xyzzy など
日本語入力のCanna やskk
シェルとしてscsh
windowマネージャー GNOME GWM scwm sawfish
GIMP (image processing)
Applixware (Office, SHELF)
SIAG (Spreadsheet and other Office)
snd (sound editor, Guile)
AutoCAD
(Cakewalk (Music, CAL)) {looks familar but probably not a lisp}
DSSSL


654 名前: 仕様書無しさん 投稿日: 2001/08/13(月) 06:49
処理系もやたらとある。
http://jp.franz.com/jlug/ja/resources/implementations.html


655 名前: 仕様書無しさん 投稿日: 2001/08/13(月) 18:45
屁ー、GIMPがねぇ


656 名前: 仕様書無しさん 投稿日: 2001/08/14(火) 11:10
AutoCADってLispでうごいてんの?


657 名前: 仕様書無しさん 投稿日: 2001/08/15(水) 00:15
>>655
script-fu使ってないノン?楽しいscriptたくさんあるヨン


658 名前: 仕様書無しさん 投稿日: 2001/08/15(水) 03:03
>>656
AutoCADはAutoLisp。
Lisp2Cというトランスレーターが付いてる。


659 名前: 仕様書無しさん 投稿日: 2001/08/15(水) 04:53
CRLのLISPACHEサーバーってどうよ?


660 名前: 仕様書無しさん 投稿日: 2001/08/15(水) 16:37
ここ
http://eapli.net/mall/


661 名前: 仕様書無しさん 投稿日: 2001/08/15(水) 21:00
最初はLISPよかSchemeがいいと思う。
素のLISPはとっつきにくい


662 名前: 仕様書無しさん 投稿日: 2001/08/16(木) 01:59
Schemeシンプルでいいね。


663 名前: 仕様書無しさん 投稿日: 2001/08/21(火) 04:36
lispは良くも悪くも研究用だね


664 名前: 仕様書無しさん 投稿日: 2001/08/23(木) 14:45
マクロって、Cでは混乱の元、ってイメージがあるけど
Lispのは大丈夫なのかな?
つうか混乱するのは漏れだけか。逝ってきます。


665 名前: 仕様書無しさん 投稿日: 01/08/28 01:10 ID:mHosmIv.
>>664
CのマクロはCの文法の事ほとんど何も知らないよね。
LispのマクロはS式の事を知っているから。

「だからS式は素晴らしいんですよ!」(田中真紀子風)


666 名前: 仕様書無しさん 投稿日: 01/08/28 01:13 ID:w0po3FXw
>>664
lispのマクロは基本的にifとかの構文と同等に扱えます。
また、lispの関数と同様、可変引数を自然に扱うことが可能なので、
シーケンスを直接埋め込んだりするなどができます。
式の二重展開や名前の衝突など、Cマクロと同様の問題を持ってますが、
前者はlet等へのバインデングの作成、後者はgensymなどによる一時シンボル名
の生成で回避できます。混乱度はCマクロよりもかなり低いと思います。
ちなみにScheme(R5RS以降)ではこれらの問題を自動的に解決するマクロ機構を備えています。


667 名前: 仕様書無しさん 投稿日: 01/08/28 01:18 ID:w0po3FXw
lispマクロについては
defmacro define-macro
で検索してみてください。
Schemeマクロは
define-syntax syntax-rule syntax-case


668 名前: 仕様書無しさん 投稿日: 01/08/31 19:27 ID:kiIHB6z2
Lisp って for ループあるんですか?


669 名前: 仕様書無しさん 投稿日: 01/08/31 19:52 ID:kSdu1nBY
>>668

まじか、ネタか知らないけど、再帰的に呼び出すことがループになるなり


670 名前: 仕様書無しさん 投稿日: 01/08/31 19:54 ID:MmJ9V04g
dotimes が一番近いかな。CommonLispだけどね。


671 名前: 仕様書無しさん 投稿日: 01/09/01 00:08 ID:wL4i9qWQ
schemeでもdoがあるよ
でもなるべくmapとかfor-eachとか使うほうがscheme的


672 名前: 仕様書無しさん 投稿日: 01/09/01 00:16 ID:MI1ElQb.
ふー。Recursion のとこまで読んだ。
自分自身を再帰的に呼び出すってのがなんか変な気分。
鏡を2枚平行に置いてのぞきこんだ感じかな。


673 名前: 仕様書無しさん 投稿日: 01/09/01 09:58 ID:LmzRABNo
自分自身を再帰的に呼び出すってのがなんかオナーニっぽいかんじ。
自分のイチモツで、自分のアナールに挿している感じかな。


674 名前: 仕様書無しさん 投稿日: 01/09/01 18:48 ID:kVnx12.k
>>673
変態ヨガー発見!


675 名前: 仕様書無しさん 投稿日: 01/09/01 20:42 ID:eDHW1r7E
Guileってどうなのかな?


676 名前: 仕様書無しさん 投稿日: 01/09/02 14:04 ID:ovUcLgnI
Lispに関して,次の記述のうち正しいものはどれか?

(1)Lispは,Fortranと並ぶ古い歴史をもつ言語である.
(2)Emacsエディタは,実はLispで書かれている.
(3)Javaにあるメモリ自動回収機構(ガーベジコレクション)は,Lispでは常識.
(4)末尾再帰呼出しをループに変える最適化を行なうLispコンパイラがある.
(5)Common Lispには,オブジェクト指向の機能が含まれている.
(6)Common Lispでは,負の数の平方根や30の階乗計算で正しい答が返ってくる.


677 名前: 仕様書無しさん 投稿日: 01/09/02 14:30 ID:5dOWVfrI
>>676
(2)だけ不正解…としたいのかもしれないけど、単に「Emacsエディタ」
といったらどのEmacsエディタを指すのか不明なので(2)は選択肢として
不適切。実際にLispで書かれているEmacs系エディタとして、Lispマシ
ンで動くZmacsがあった。


678 名前: 仕様書無しさん 投稿日: 01/09/02 14:57 ID:yc0IoDhM
>>673
Lispとは話がずれるけど、
ファイル検索レベル物さえ作ったことがないのかい?


679 名前: 仕様書無しさん 投稿日: 01/09/02 15:00 ID:31wZzlWE
>>677
つーか、Teco版の次に出来たMultics EMACSはMACLISPで書いてあったけど?


680 名前: 仕様書無しさん 投稿日: 01/09/03 01:18 ID:mGjzrO82
age


681 名前: 仕様書無しさん 投稿日: 01/09/03 02:24 ID:zjYbOMsw
>>676
>(4)末尾再帰呼出しをループに変える最適化を行なうLispコンパイラがある.

多分、普通のLISPでは、コンパイルしなければ展開してくれない。
(named-letを初めから提供してるLISP処理系なら多分インタプリタでも展開する。)
LISPの方言のSchemeではデフォで展開される。(言語仕様の一つ)
他のHaskellやMLみたいな関数型言語はデフォ。


682 名前: 仕様書無しさん 投稿日: 01/09/03 02:56 ID:zjYbOMsw
>>674
(1)はジョン・マッカーシー(John McCarthy)で検索
(2)emacs-lispで検索
(3)gcの載ってないlispってあるのかな?
(4)>>681参照。他はlisp tail-recursionで検索
(5)CLOS MOPで検索
(6)知らん


683 名前: 682 投稿日: 01/09/03 02:57 ID:zjYbOMsw
674->676


684 名前: 仕様書無しさん 投稿日: 01/09/03 05:37 ID:NM10BEy2
>676 (2)Emacsエディタは,実はLispで書かれている.
emacsのソース読め


685 名前: 仕様書無しさん 投稿日: 01/09/03 22:06 ID:NqCsgP4I
よさげなページ発見シターヨ

プログラミング言語Schemeの紹介
http://www.biwa.ne.jp/~mmura/scheme/schemeintro.html


686 名前: 仕様書無しさん 投稿日: 01/09/06 03:12 ID:oDQjcmPs
>>676

誰も言及してないところで、

> (1)Lispは,Fortranと並ぶ古い歴史をもつ言語である.

これが正しいかどうかは、「並ぶ」の定義によるな。
始めはFortranのリスト処理ライブラリでしょ?


687 名前: 仕様書無しさん 投稿日: 01/09/07 04:58
COMMON LISPが出たときに、あの厚い企画書を見て
吐き気が生じてやめました。 ライブラリと言語の
区別がつかないような馬鹿な言語設計はあきれた。
必要にして最小限で最大限の成果を得るべく言語は
作られるべきです。プログラマーを囲い込むための
ものではない。 自然言語ほどの寿命もなければ
自由に読めるソースもないのに。


688 名前: 仕様書無しさん 投稿日: 01/09/07 22:41
Common Lispの話になると、分厚い規格書の話が出ますね。
Lispの規格書は比較的薄いというイメージがあったのですが、
こいつとEmacs Lisp(ワラ)は例外なのかな?
研究室にあったCommon Lispの本でも見てみようっと。


689 名前: 仕様書無しさん 投稿日: 01/09/07 23:11
Emacs Lisp って、ぶあつい部類にはいるんですか?

たしかに、入門マヌアルが、300 ページ、
レファレンス マヌアルが 700 ページで、合計 1000 枚 ですけど、こんなもんかな、とおもてました。


690 名前: 仕様書無しさん 投稿日: 01/09/09 02:46
関数が沢山あるだけなんじゃ?
C/C++の標準ライブラリの様な


691 名前: 仕様書無しさん 投稿日: 01/09/10 18:04
さいきんemacsでLISPにはまってます。
ところで、もっといい例を挙げれればいいんですが、
LISP的には、

(defun foo (str)
(if (string= str "a")
(setq str "b")
(setq str "c")))

のような書き方よりも、

(defun foo2 (str)
(setq str (if (string= str "a") "b" "c")))

のような書き方のほうが、やっぱりいいんでしょうか?


692 名前: 仕様書無しさん 投稿日: 01/09/10 19:42
人間が読んでわかりやすければどちらでもいいと思う。


693 名前: 仕様書無しさん 投稿日: 01/09/10 21:25
>>691

(defun foo (str)
(cond ((string= str "a")
(setq str "b"))
(t
(setq str "c"))))

ifはindentationとelse部「のみ」の暗黙のprognがイヤンなので、condが好みです。


694 名前: 仕様書無しさん 投稿日: 01/09/10 23:51
>>691
lispはコードを機械的に加工するとかも有り得るから、
特にインデントや書き方にこだわらなくても良いと思う。


695 名前: 仕様書無しさん 投稿日: 01/09/11 00:42
>>687
CやC++の規格にもライブラリは入ってる。
(FortranにもPascalにもAdaにも。)

でもCだと標準ライブラリが足りないので、
みんな似たようなハッシュやツリーやリストを
何度も何度も書くはめに...

その反省の結果がSTL。

Schemeの規格書は薄いが、やっぱりライブラリが
足りない。(書式つき出力くらいは欲しい。)


696 名前: 仕様書無しさん 投稿日: 01/09/11 04:34
EulispやISLISPも苦戦しとるの〜。
Common Lispがみんなから愛される仕様でなかったのはかえすがえすも残念。


697 名前: 仕様書無しさん 投稿日: 01/09/11 11:12
>>691
setqを使わないのがモダンなLispらしいプログラムと思われ
(Emacs Lispじゃ無理だが)


698 名前: 仕様書無しさん 投稿日: 01/09/11 12:32
>>696
>Common Lispがみんなから愛される仕様でなかったのはかえすがえすも残念。

一瞬勘違いして、以下のように読んでシモタ
>Common Lispがみんなから愛される仕様でなかったのはえなりかずきも残念。
病院逝ってくるか…


699 名前: 仕様書無しさん 投稿日: 01/09/12 03:35
schemeはi/o関係が弱いね
SLIBが必需品


700 名前: 仕様書無しさん 投稿日: 01/09/12 08:17
slibは便利だけど‥‥

バイナリI/Oとかはどうしようもない。無いんだから。
あと、「すでに存在するファイルに書こうとすると結果は未定義」。
弱すぎ。


701 名前: 名無しさん@XEmacs 投稿日: 01/09/14 01:04
a.g.e.


702 名前: 仕様書無しさん 投稿日: 01/09/14 04:37
>>700
FFIでなんとかならん?


703 名前: 仕様書無しさん 投稿日: 01/09/14 08:25
>>702
まあ処理系によってはなんとかなるかも...

でも、slibに入れられるほど多くの処理系で他言語関数呼び出し
が使えるわけじゃない。言語としては欠点でしょう。やっぱり。


704 名前: 仕様書無しさん 投稿日: 01/09/14 22:25
DrScheme の名前が一度も出てないけど、しょぼいのかな?
教育用のScheme 、ってことで今ダウンロードしてるんだけど。
Scheme そのものが教育用なのに、それをさらに教育用に特化したなら、カナーリ覚えやすいだろう、ってことで。

http://www.google.com/search?hl=ja&q=DrScheme&btnG=Google+%8C%9F%8D%F5&lr=lang_ja


705 名前: 仕様書無しさん 投稿日: 01/09/17 00:04
DrScheme の開発環境では日本語を入れると文字化けするらしい。
付属のMzScheme なら通るらしい。


706 名前: 仕様書無しさん 投稿日: 01/09/17 03:36
>>704
DrSchemeはインストールしたらそのままIDEで使えるけど、
すぐ設定を変えた方がいい。(そのままだと奇妙な制限がある)
初期設定がビギナーズみたいな名前になってるから、
それを最高ランクの設定に変える。(Full Schemeとかなんとか)

でも、MIT-Schemeが色々な面でお勧め。


707 名前: 仕様書無しさん 投稿日: 01/09/17 19:58
MIT Scheme の方がいいのかぁ。
DrScheme のステップボタン機能にめっちゃ感動したんですけど。

(* 2 (+ 3 4))

例えば、こんなS式なら、ステップボタンを押すと、まず
(* 2 7)
となって、次に
14
と表示されます。カッコの中を一つづつ処理して、その過程を見せてくれるんですね。
しかも、きれいに色分けして。

ここが気に入りました。


708 名前: 仕様書無しさん 投稿日: 01/09/19 02:45
継続を使って、evalを細工すれば、標準的なschemeの
機能だけで>>707の言う様な、ステップ実行のデバッガが
作れる気がするんですけど、どうでしょうか。
evalを細工するって所が処理系依存かも


709 名前: 仕様書無しさん 投稿日: 01/09/19 22:02
(define (f x y z)
  (cond ((> x y)
   (f (f (- x 1) y z)
    (f (- y 1) z x)
   (f (- z 1) x y)))
  (#t y)))

(f 12 6 0)

なんかこれEvaluate させたら結果でるまで5分カカータ。


710 名前: 仕様書無しさん 投稿日: 01/09/22 04:34
>>709
うちだと4秒で終わったが。

しかしtaraiとは古いね〜。
709はかなりな歳と見た。
特に(#t ...)ってとこが。


711 名前: 仕様書無しさん 投稿日: 01/09/22 10:42
>>710
(eq? #t else)
=>#t
は羞恥の事実だとおもいますが


712 名前: 仕様書無しさん 投稿日: 01/09/22 11:48
>>711
R?RS的には否


713 名前: 仕様書無しさん 投稿日: 01/09/22 18:36
>>711
(cond ... (#t ...)) と書いても
(cond ... (1 ...)) と書いても
(cond ... ('() ...)) と書いても
(cond ... (else ...)) と同じ動作をするが、
古いLispを知らないと
(cond ... (#t ...))
なんて発想は思い浮かばんでしょー。

つい太古のLispを使ってた癖が出たものと思われ。


714 名前: 仕様書無しさん 投稿日: 01/09/22 18:39
ついでに、
> (eq? else #t)
> =>#t
そんな処理系知らんです。あるの?


715 名前: 仕様書無しさん 投稿日: 01/09/23 04:08
(define else #t)


716 名前: 仕様書無しさん 投稿日: 01/09/23 04:35
>>715
だからelseは変数名じゃなくてキーワードだっつうに。
評価されないの!
(cond (else ...) (foo ...)) なんて書くとエラーだよん。


717 名前: 仕様書無しさん 投稿日: 01/09/23 11:27
>>716
そんな制限は一部の処理系だけです


718 名前: 仕様書無しさん 投稿日: 01/09/23 12:10
俺的にはtではなく#tなあたりで十分新しい処理系だと思っていたり。


719 名前: 仕様書無しさん 投稿日: 01/09/23 14:02
>>717
だからscheme仕様的には否
>>716 が正
R5RS嫁

>>718
それはschemeだったら当然


720 名前: 仕様書無しさん 投稿日: 01/09/23 17:49
>>717
処理系の制限じゃなくて言語仕様だよん。
http://www.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html


721 名前: 仕様書無しさん 投稿日: 01/09/23 17:51
スマソ
elseについて書いてあるのは
http://www.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html#SEC34


722 名前: 仕様書無しさん 投稿日: 01/09/23 22:55
DrScheme で
  (cons 'a '())
を評価したら、
(a)
となると期待したのに、実際は
quote: misused: '() is not a symbol
となってしまった。
うーん、なぜだ(藁


723 名前: 仕様書無しさん 投稿日: 01/09/23 23:10
自己解決しました。
Language level が一番しょぼかったからでした。
Full にしたら問題無く評価できました。


724 名前: 仕様書無しさん 投稿日: 01/09/24 09:58
>>716 >>719
cond/caseをマクロ展開する処理系では、
elseはただのシンボルという事もありえる。
それと、elseは特殊なキーワードってわけではない。
仮にcond/case式の中で使うelseが
(define else #t)
と定義されていても構文上はあまり関係ない。
R?RSには細かい事は書かれていない筈。
>>711の「羞恥の事実」はどうかと思うけど)


725 名前: 仕様書無しさん 投稿日: 01/09/24 10:12
マクロ使えば下の様な文も作れると思うけど
こういう事する人はいないのかな?
(if test-expr-1 then
 true-sequence-1...
else-if test-expr-2 then
 true-sequence-2...
else-if test-expr-n then
 true-sequence-n...
else
 false-sequence...)


726 名前: 無名λ式 投稿日: 01/09/24 10:35
>>724
> R?RSには細かい事は書かれていない筈。

R5RSのsyntactic keyword関連を読むべし。


727 名前: 仕様書無しさん 投稿日: 01/09/24 10:45
>>724
>それと、elseは特殊なキーワードってわけではない。

<構文キーワード> ---> <式のキーワード>
    | else | => | define
    | unquote | unquote-splicing

とりあえず、R5RS を読め。


728 名前: 仕様書無しさん 投稿日: 01/09/24 15:33
からむね…(w
構文キーワードってカッコの先頭に来る物以外、
どういう構文であれ関係ない筈なんだが。
(syntax-keyword [syntax...])


729 名前: 仕様書無しさん 投稿日: 01/09/24 15:54
>>725
カッコ書くの面倒だからこんなの作って使ってる。
(let< local-a binding-a
    local-b binding-b >
 body...)


730 名前: 仕様書無しさん 投稿日: 01/09/25 00:22
>>726
>>727
じゃないけど、からんでるわけじゃないと思う。
(define else #t)だったとしたら、ユーザが
(define else #f)としてしまったらどうなるか?
とは仕様考える人や処理系実装する人なら当然思いつくわけで。
考えた上で「めんどくさいからいいや」ってことはあるけども。


731 名前: 730 投稿日: 01/09/25 00:34
誰当てか不明瞭だった。
>>728 です。

あと、それどこに書いてあんの?


732 名前: 仕様書無しさん 投稿日: 01/09/25 05:41
(define else #t)によって(cond (else ...))を実現している
処理系は規格違反か?
→たぶんno。しかし、そういう処理系だとcaseはどうするの?

(define else #t)は羞恥の事実か?
→冗談でしょ。

(define else #f)すると何が起きるか?
→R5RSにはちゃんと書いてない。

 局所変数は、キーワードをshadowし、キーワードは変数を
 shadowすると書いてある(4.3.2)。

 一方、initial environmentは変更できなくても良いと書いて
 ある(6.5)。また、トップレベルでbuilt-in procedureを再定
 義しても良く、その結果他のbuilt-in procedureの振る舞い
 は変らないとある(6, Notes)。(要するに、built-inをインラ
 イン展開して良いってこと。)

 これを満たすありがちな実装としては、initial environment
 の「子」としてトップレベルの環境(interactive
 environment)があり、トップレベルでbuilt-in procedureと
 同じ名前の変数をdefineするとinitial environmentの変数を
 shadowする、というもの。

 だとすると、トップレベルでdefineするのも局所変数として
 バインドするのも同じで、キーワードとしてのelseはshadow
 されるという解釈がありうる。(hygienic macroのセマンティ
 クスの意図に沿ったすなおな解釈だと思う。)

 しかし、initial environmentが変更できる実装も可能だし、
 だいいちcondやelseはprocedure名でない。6.5やNotesの記述
 が当てはまるかどうかは書いていない。scmやguileでは、
 (define else #f)してもキーワードとしての解釈は変らない
 ようだ。


733 名前: 仕様書無しさん 投稿日: 01/09/26 03:12
caseやocndの構文に出てくるelseや=>は構文で使われる終端記号としての
意味だけで、そのシンボルにバインドされている値の内容はどうでも良い。
condをマクロで作ってみればわかると思うけど。


734 名前: 仕様書無しさん 投稿日: 01/09/27 20:57
>>732
>(define else #f)すると何が起きるか?
>→R5RSにはちゃんと書いてない。
何も起らないんじゃ?
>else
==>#f
となるだけで。
これでcondの挙動が変わるなんて事は無い筈


735 名前: 732 投稿日: 01/09/28 02:35
>>731

しかし、R5RSに従えば、
(let ((else #f))
(cond (else 1)
(#t 2)))
=> 2
でなければならない(実際scmではそうなる)。
letがletrecでも同じ。

すると当然、
(let ()
(define else #f)
(cond (else 1)
(#t 2)))
=> 2
のはず(実際に、きちんとそうなる処理系は知らない)。

とすれば、
(define else #f)
=>unspecified
(cond (else 1)
(#t 2))
=>2
となる処理系があってもおかしくないと思われ。
(これはR5RSに反していない。つーかこれこそhygienicで一貫してる。)


736 名前: 732 投稿日: 01/09/28 02:37
あ、731 は >>734 のまちがい。スマソ


737 名前: 仕様書無しさん 投稿日: 01/09/29 00:04
Schemeか。
closureの連鎖が面白い


738 名前: 仕様書無しさん 投稿日: 01/10/01 21:42
lambdaで状態を作るってこと?


739 名前: 名無しさん@XEmacs 投稿日: 01/10/03 14:48
age


740 名前: 仕様書無しさん 投稿日: 01/10/06 17:04
関数型言語に関して初心者です。

cやjavaなどの言語に比べてデータに対する柔軟性は確保されるもの
なのでしょうか?もしそうであれば取り組んでみたいと思います。
DBの構造が変わってしまうとプログラムを作り変えなんて自体は
仕事として取り組まれているプログラマのかたであれば一度や二度の
経験ではないはずです。
そういったところから興味があります。


741 名前: 仕様書無しさん 投稿日: 01/10/07 03:30
>>740 質問の意味がちょっとわからんけど、
データ構造は他と比べて柔軟に定義できるよ。
LISPコード自体もデータとして扱えるし。


742 名前: 名無しλ 投稿日: 01/10/07 03:34
柔軟性というと難しいが
抽象度で言えばLispもCも変らんと思う

変更に強いことを目指すなら
JavaとかでOOを使った方が良いかも


743 名前: 仕様書無しさん 投稿日: 01/10/08 22:27
LISPってGUI作れるの?


744 名前: 仕様書無しさん 投稿日: 01/10/08 23:10
>>743
処理系によっては作れるよ。GuileからGtkとか。


745 名前: 仕様書無しさん 投稿日: 01/10/08 23:17
>>743
すげー頭悪そうな質問だな


746 名前: 仕様書無しさん 投稿日: 01/10/08 23:45
言語仕様とGUIがセットに考えられるのってWinとかMACの世代な
んだよね。きっと。


747 名前: 仕様書無しさん 投稿日: 01/10/09 00:46
>>743
GUIなんてOSのAPI呼び出したりボタンやら貼っ付けるだけだろ!


748 名前: 仕様書無しさん 投稿日: 01/10/09 00:50
>>746
それをいうならVBとかHSPの世代だろ。


749 名前: 仕様書無しさん 投稿日: 01/10/09 01:19
>>748
HSPの世代は「GUIしかない」でしょ。


750 名前: 仕様書無しさん 投稿日: 01/10/09 01:50
つーか、>>745は、「GUI libraryのあるLISP処理系ある?」
じゃないと馬鹿っぽいとかそんな小姑(失礼ッ)みたいなことをいってい


751 名前: 仕様書無しさん 投稿日: 01/10/09 09:54
プログラム板に合流ってことで。
http://piza2.2ch.net/test/read.cgi/tech/1002584344/


752 名前: 考える名無しさん 投稿日: 01/10/09 10:48
ところで1は今どんな仕事をしてるのか?
それともまだ学生か?
Lispやってっかー?


753 名前: Lisp初心者歴10年  投稿日: 01/10/10 14:51
franz Lispにあるfexprって言う関数は
XLispにありません。
exprから誘導出来ますか?
当方抽象的な文章解説を、大きく誤解していると思われるので
XLispでfexprを、実現する方法をご存知の方おられましたら
よろしく、お願いいたします。


754 名前: Scheme初心者歴1週間 投稿日: 01/10/10 14:58
>>751
みんな〜おいてかないでよ〜
defunがdefineになったんですよね?


755 名前: 753 投稿日: 01/10/11 06:51
だれも相手にしてくれない*_*;
LISP Scheme板盛り上がってるけどここではマルチポストとやらは
嫌われるらしいし・・・
いいもん ここの過去ログ見て拾ったfranz lisp for 386のソース
コンパイルするから
何々franz.16Mar94.tar.gzを解凍して ムニャムニャ


756 名前: 仕様書無しさん 投稿日: 01/10/11 09:54
>>755
> だれも相手にしてくれない*_*;

FEXPRって関数か?
可変数引数を取る関数であるというDEFUNのラベルじゃないの?

(DEFUN FNAME FEXPR (LIST) むにゃむにゃ)

って使うんじゃなかったっけ? Common Lispなら、

(defun fname (&optional list) むにゃむにゃ)

だな。Xlispは10年近く使ってないからどんなlispなのか忘れた。
expr, fexpr, subr, fsubrもいまやobsoleteだ〜。


757 名前: 756 投稿日: 01/10/11 09:56
し、しまった…
>>751のように合流するつもりだったのに…
反応があるなら、プログラム技術版に頼む。>>753


758 名前: 仕様書無しさん 投稿日: 01/10/11 11:33
そういや、ASCIIからLISPの本が出たよね。
「プログラミング言語Lisp 入門からマルチメディアまで」
買ってはみたけど、まだ中を読んでない。


759 名前: 山神竜一郎 投稿日: 01/10/11 12:53
>>756
&restじゃなかった?
当方20年近くブランクあるので違ってたらスマソ。


760 名前: 756 投稿日: 01/10/11 13:12
何か泥沼だ…

>プログラム板に合流ってことで。
>http://piza2.2ch.net/test/read.cgi/tech/1002584344/
ということで、あっちに移動して話を続けます。さげ


761 名前:     投稿日: 01/10/11 16:55
>>756さん
Schemeの話題と2元化しそうだし
叩かれるよりも孤独を好むのでこっちでいいです。
>(DEFUN FNAME FEXPR (LIST) むにゃむにゃ)
だとXLispでは
Error: bad argument type - FEXPR
Happened in: #<FSubr-DEFUN: #7343d8>
と出ちゃうんです。


762 名前: 753 投稿日: 01/10/11 17:01
山神さん
私の名前は二見泰弘です よろしくお願いします。


763 名前: 山神>>762 投稿日: 01/10/11 17:19
「山神竜一郎」は実名じゃなくて某競輪漫画から
とったハンドルネームですので。(あしからず)

ほんでfexprって(かなり古い記法と思われ)
1)引数を評価しない
2)引数をいっしょくたに1つのリストにまとめるので
可変個の引数を扱える。
という2つの側面があるのですが どちらの機能を
使うの?
1)ならdefmacro
2)なら&rest
やねんけど。(XLispなるものは知らないのでなかったら
スマソ)


764 名前: 753 投稿日: 01/10/11 17:47
なんか話が見えて来ました。
引数を評価しないで関数に渡すんですね?
今Stuart C. Shapiro著
松田利夫訳のLISPによる人工知能の基礎技法
の序章を、目を皿の様にして読んでるのですが
共立出版の本て、どれも解りずらいです。
カーニハン&リッチーのプログラミング言語C
の時もそうでした。
でも垂水共之教授著のLisp-Statによる統計解析入門は
解りやすかったし(共立出版で例外)
垂水教授とは一度だけメール交換を
した事があるんですが私の専門分野は人工知能で
統計解析じゃないんです


765 名前: 仕様書無しさん 投稿日: 01/10/11 20:30
>>764
たぶんマクロって形になると思うんだけど。
Schemeなら
DrScheme/STk
(define-macro fexpr (lambda rest body...))
Guile/SCMは
(defmacro fexpr rest body...)
可変引数として渡されるリスト(rest自身)に対して、
破壊操作はしない事。
ほんとはdefine-syntaxとか使うのが良いんだろうけど・・


766 名前: 仕様書無しさん 投稿日: 01/10/11 20:50
>>761
>Schemeの話題と2元化しそうだし
2元化といっても、本質的にはほとんど変わらないんじゃない?
継続とか末尾再帰を持ち出されない限りは。


767 名前: 753  投稿日: 01/10/11 21:41
>>765
Thanx!
>>766
なんか ついdefunと打っちゃって てんとう虫出まくってます
malformed definition
も出まくる!
奇形の定義???
もうちっとリハビリしてから合流します。


768 名前: 仕様書無しさん 投稿日: 01/10/11 22:53
>>767
マクロで、LISPならdefine、Schemeならdefunをそれぞれ作っておくとか。
それでも&rest/&optionと書けなかったり、微妙に違うけど。
↓LISP Schemeスレにあったやつ。(Schemeでdefmacro/defun)

(define-macro defmacro (lambda (name args . body)
 `(define-macro ,(cons name args) ,@body)))

(defmacro defun (name args . body)
 `(define ,name (lambda ,args ,@body)))


769 名前: 753@徹夜覚悟 投稿日: 01/10/12 01:15
(define-macro fexpr (lambda rest body))
これでfexprは定義されてるって事ですか?


770 名前: 753@徹夜覚悟 投稿日: 01/10/12 01:24
Lispで方言は、もうやめよう委員会発足!!


771 名前:      投稿日: 01/10/12 05:46
ただいま化石をねつ造中 むにゃむにゃ


772 名前: 仕様書Ω 投稿日: 01/10/12 05:53
動いたけど本当にfexprと同等の処理してるのか
わかんない。
中学生の時に今と同じ知識と知恵があれば
今頃ターミネーターや鉄腕アトム作ってるかな???
ふふふ 私の夢


773 名前: 仕様書Ω 投稿日: 01/10/12 06:12
>>768さん
(define-macro defmacro (lambda (name args . body)
 `(define-macro ,(cons name args) ,@body)))
これは通ったけど
(defmacro defun (name args . body)
 `(define ,name (lambda ,args ,@body)))
これは通らなかったです。
っつーかマクロアセンブラ黎明期から
マクロって、うざいと正直思ってました。
Vzエディターのマクロもうざかった。
実際に走らせるのに必要な事覚えるだけでも大変なのに
まだあるのか〜みたいな・・・


774 名前: 仕様書Ω 投稿日: 01/10/12 06:17
>>768さん
通ってました すいません。
>>all
Good morning


775 名前: ヘタレLisper@93 投稿日: 01/10/12 06:49
終わりは始まり
始まりは終わり
永遠の円環のなかで
今わたしは神を
プログラムしている

自らの思考を凝集し
完成に近づくプログラム
作品は己自身の鏡となる
そのとき私は悟るであろう
私自身が鏡そのもので
あったことを

私は誰に写されているのか?
向かい合った鏡たちが
問いをなげあう

答えは永遠の光の中へと
消えていった


776 名前: 仕様書Ω 投稿日: 01/10/12 07:28
>>775さん
いい詩ですね。ミューズにとり付かれましたか?

私はαでありΩであるbyイエス・キリスト


777 名前: 仕様書無しさん 投稿日: 01/10/12 09:02
クソスレ化してきたな


778 名前: 仕様書無しさん 投稿日: 01/10/12 10:21
777ゲット!!


779 名前: 仕様書無しさん 投稿日: 01/10/12 10:22
ガビーそ


780 名前: 仕様書無しさん 投稿日: 01/10/12 10:29
>>777
パチンコ屋にGO


781 名前: ここから名スレの予感 投稿日: 01/10/12 10:37
;========================================================================
;
; qa.lsp - Question answering program using set-of-support
; unit-preference resolution principles.
;
; Author: John W. Ward (jwward)
; Date: 06-Dec-86
;
; The following program was written for an Artificial Intelligence
; class at Kent State University. The testing sequence used was designed
; specifically to fit class requirements. The program is offered for
; inspection and experimentation. The only claim I make regarding the
; program is that I enjoyed working on it and learned something from it.
;
; Some of the algorithms and examples follow our textbook: Artificial
; Intelligence, by Elaine Rich (McGraw-Hill, 1983).
;
;-------------------------------------------------------------------------


782 名前: 仕様書無しさん 投稿日: 01/10/13 00:23
>>775さて、この詩、ステキですね。
哲学していますね。
すごく深いですよねー。
人間存在のあり方だと感じました。


783 名前: 仕様書無しさん 投稿日: 01/10/13 00:27
>>782
パクリだと思われ。


784 名前: 仕様書無しさん 投稿日: 01/10/13 01:34
>>783
パクリっつーか あの詩があまりにも真理に近いので
文学的な日記をHPで書いていてちょっと有名な女性のBBS
に某Lispプログラマーの詩として紹介させてもらった。
そのリアクションが>>782だ。
この板には、とにかく感動させられる。


785 名前: 仕様書無しさん 投稿日: 01/10/13 01:41
でもプログラマーに必要なのは論理学だ
哲学なんて必要ない・・・
と思いつづけてきた。Lispを知るまでは。


786 名前: 仕様書無しさん 投稿日: 01/10/13 01:44
俺はプラトンマンセーだが、言語レベルでは哲学は必要なし。
対人関係では勉強になると思うけど。


787 名前: 他人のふり 投稿日: 01/10/13 01:47
Lisperにこんなイタい奴しかいないとは思われたくない。。


788 名前: 仕様書無しさん 投稿日: 01/10/13 01:54
訳注りすぱ、逝ってよし


789 名前: 仕様書無しさん 投稿日: 01/10/13 03:47
質問。
Lispの関数型言語らしからぬところってどこ?


790 名前: 仕様書無しさん 投稿日: 01/10/13 04:26
progn
setq


791 名前: 仕様書無しさん 投稿日: 01/10/13 07:50
そんな事より聞いてくれよ>>788
ム板まかせた

後、関数1個返しとく。
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< オマエモナー
  (    )  \_____
  | | |
  (__)_)


792 名前: 今日からBASICER 投稿日: 01/10/13 08:14
>>787
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< オマエダケナー
  (    )  \_____
  | | |
  (__)_)



>>790
今日 set!って言う呪文を見たんだけど
setqと同じなんですか?


793 名前: 仕様書無しさん 投稿日: 01/10/13 08:40
>>792
schemeのsetq


794 名前: 仕様書無しさん 投稿日: 01/10/13 12:59
Ruby関係者立ち入り禁止!!


795 名前: 実は787=790 投稿日: 01/10/13 13:27
>>792
SchemeとLispの区別つかないやつの相手した私がヴァカでした。


796 名前: 仕様書無しさん 投稿日: 01/10/13 13:42
つくよSchemeは方言ぶりばりだもん
だからって自分を卑下する事無いじゃん
しかも他人まで巻き込んで。
>Lisperにこんなイタい奴しかいないとは思われたくない。。
             ↑
           これの事ね!


797 名前: 仕様書無しさん 投稿日: 01/10/13 13:51
>>786が答えを予言してるじゃん


798 名前: 794 投稿日: 01/10/13 13:57
>>795
ム板を荒らすRuby厨房が居るので警告しただけで
貴方に言っている訳では無いので、くれぐれも誤解の無い様に。


799 名前: Led Zeppelinカコイイ 投稿日: 01/10/13 18:04
GOTO 775 : PRINT "またみんなマターリするようにデバッグするのだ"


800 名前: 仕様書無しさん 投稿日: 01/10/13 23:13
カントの言う分析判断している限りじゃどこまでいっても哲学なんて
出てこない。出てきたとしたらそれはすでに白旗あげているようなもの。
だから数学とか計算機の人が哲学を考えることはない。
人として考えることはあったとしてもそれはすでに関係のないもの。


801 名前: Tamitu 投稿日: 01/10/13 23:42
>>800
同意
哲学→問題を生産する厨房学問
論理学→問題を解決する学問


802 名前: 仕様書無しさん 投稿日: 01/10/14 00:46
結局、LISPとSchemeってどっちがいいんですか?
動的/静的スコープ派閥争いになりますか?


803 名前: 仕様書無しさん 投稿日: 01/10/14 00:49
>>801
>哲学→問題を生産する厨房学問

なんだかな〜。
まぁ、いいけどさ。


804 名前: 仕様書無しさん 投稿日: 01/10/14 00:59
800 補足、というより私の考え方

ちなみに分析判断、総合判断という分け方に関してだが
いわゆる理系 ---全ての人がそうあるべき!--- に属する人は
そんな枠組みすら分析判断で考えるのが正しいのです。
安易に無関係なタームを持ち込むべきではない。

それでも残るのが倫理的な事柄に関して。これを分析判断するべき
などと言ったところで態度を迫られる状況というのはやはり残る
(分析が完了してませんなどという言い訳は通用しない状況)。

ここで初めて哲学が出てくるんじゃないか?
あらかじめ考えておくことは考える(分析判断)。
だがしかし万能ではない人間は全てにあらかじめ答えを
用意しておくことができない。
にも関わらずある態度を決め込む時が必ずある
(たとえば今回のアメリカの戦争についてとか)。
そこでどうしようもなく哲学、人文的なものが要請される(総合判断)。


カントの言う総合判断って学説としてどう理解されているのか
知らないけど、形而上学的なものとかってなるのかな?
間違ってたらすみません。
でも私自身はそういう意味でよりも時代状況に依存した倫理みたいに
考えます。そしてそれは人が生きている以上避けられません。

分析、総合を文系、理系のように人のタイプや学問分野のようなものに
置き換えるのはどうかと思いますが、このような理由で無くならない
ものだと思います。

非歴史的な哲学なんて要らないとさえ思ってます。
それは全て上のように分析判断でやるべきです。
ですがそれが歴史的な考えすら必要としないということにはならない。

スレ汚してすみません。どうしても書かずにはいられませんでした。


805 名前: 仕様書無しさん 投稿日: 01/10/14 01:08
>>804
哲学者は「智を愛する人」とか言われるけど、
倫理レベルだけでなく、真理を求めてる学問だと認識してます。

特に、時代に依存するということは絶対にないです。
つーか、哲学を誤解してるところがあると思われ。(俺も詳しくないけど)

ちなみにワインバーグは、
「優秀な人材は皆、合いの子であった」と言ってます。
理系偏重もどうかと思われ。


806 名前: 仕様書無しさん 投稿日: 01/10/14 01:31
哲学、とかいって十把一絡げに言われても。
なんとなく自分の中にある哲学というものに文句をつけても仕方ないです。


807 名前: 仕様書無しさん 投稿日: 01/10/14 01:35
>>804
誤解してると思う。
カントとか近代の哲学者が言ってるのは、たとえば、
1+1から2という答えは自然とは出てこないよ、
みたいなメタレベルの論理が多いよ。
分析判断の根拠を分析判断によって得ることは可能か?
っていう再帰構造に終了条件はあるのか、とか。

最近の「思想」って呼ばれるようなやつは
804さんが考えてるようなものが多い。


808 名前: 仕様書無しさん 投稿日: 01/10/14 01:37
>>805 >>806
別に哲学の定義がどうなっているのかとかは私自身はどうでも
いいです。もし私の言葉の使い方が間違っているのなら、
哲学という言葉を別のものに置き換えても構いません。

ただ理系だから人文的(私にとっては倫理ってことになります)
なことに無関心でいいんだとかいうような
意味のことが言われると、ちょっと疑問をもちます。
ここのスレにはそんなことは書いてないですが、、、

また人のタイプ分けに理系文系を持ち出すのは人の分類として
言われているうちはいいですが、人としての責任が問われる
ようなところでも言われているような感じがするので嫌いです。

あまりにもスレ違いだし、自分も足りないところだらけなので、
もう書きません。


809 名前: Tamitu 投稿日: 01/10/14 03:15
>>808
Lispに置いては、この種の議論も時には必要かも。
人工知能と言うお題名目をかかげちゃった訳ですし
オブジェクトレベルな物は、全て実現出来る事も
証明してしまった訳ですし。
ただメタレベルとなると
>>775 です。


810 名前: Tamitu 投稿日: 01/10/14 03:26
>>803
哲学には魂があると言いますがコンピューターに魂があるか?
と言う事です。


811 名前: Tamitu 投稿日: 01/10/14 03:33
聖書に出てくる永遠の肉体ってロボットかもね。


812 名前: 仕様書無しさん 投稿日: 01/10/14 03:53
ニーチェの最後の人間ってAIかもね


813 名前: Tamitu@basic厨房 投稿日: 01/10/14 07:37
ム板は別件で盛り上がっているのでqa2.lspでこれから
やらなくては、ならない事 こちらに書かせて頂きます。
1.)ストレスの関数化
現段階では、This is a penを覚えたコンピューターは
何度 Is this a pen と問いかけても This is a pen と回答
して来ます。
しかし人の場合は、どうでしょう?
だんだんストレスが、溜まってきます。
先日中東で釈放されたイギリス人記者も何度も同じ尋問をされて
精神的に極限状態になったと証言しています。
気分の波って単純なsinカーヴで擬似的に表現出来るかも
知れませんが、人間の気分って もっと意外性があると
思うんです。
今まで物静かだった人がいきなり切れたり
これらは、単純に乱数で表現出切るものでしょうか?
ストレス要因は複数存在すると思うんです。
まず第1段階として何度も同じ事を質問された
コンピューターは(Thanks, but no more for me)位 言い返して来る物に
なればと・・
(fuck you)でいっか(雑)
2.)言語意識と非言語意識
すいません 寝ます


814 名前: 仕様書無しさん 投稿日: 01/10/14 08:43
basic厨房はわき見してないでLispをちゃんとやれ


815 名前: ビルゲイツ@basic厨房 投稿日: 01/10/14 09:46
Sure ^o^/


816 名前: BASICER 投稿日: 01/10/14 10:08
(defun sir ( )
(prog (s)
(setq match-flag nil)
(repeat (setq s (get-sentence))
until (eq (car s 'Bye)
(process s))
(return 'Good-bye)))
(defun get-sentence( )
(prog (s)
(repeat (setq s (cons (read) s))
until (memq (car s) '(! ?)))
(return (reverse s))))
(defun process (sentence)
(process-1 sentence rule-list))
(defun process-1 (sentence rules)
(prog (resp)
(cond ((repeat
while rules
until (setq resp (apply-rule (car rules) sentence))
(setq rules (cdr rules)))
(eval (cons (function prin3) resp))
(prin3 < >))
(t (prin3 Statement from not recognized
< > < >)))))
これXLispでいけるかなぁ?


817 名前: BASICER 投稿日: 01/10/14 14:17
ふと思ったんだけどLispって使いたい関数が
後から宣言出来るのが
(。A。)馬ー


818 名前: 仕様書無しさん 投稿日: 01/10/14 20:02
上から順番に見ていって、なければ下まで探しにいくの?


819 名前: 仕様書無しさん 投稿日: 01/10/14 20:29
>>817-818
ちっげーよ!
重要なのはさぁ、シンボルなわけよ。
シンボルってのは、ユニークなんだよ。
なんでユニークなのかって、考えたことあるか?


820 名前: BASICER 投稿日: 01/10/14 23:53
いや、そう言う概念的な事じゃなくてタイピングするのは
上から下じゃん。


821 名前: 仕様書無しさん 投稿日: 01/10/15 00:35
>>820
readとinternを知れ

> タイピングするのは上から下じゃん。

You're a real PC-style BASICER, isn't it?


822 名前: BASICER 投稿日: 01/10/15 00:47
I want to PC-style TRUE LOL


823 名前: 仕様書無しさん 投稿日: 01/10/15 00:55
変わった人達だ。:^)


824 名前: 仕様書無しさん 投稿日: 01/10/15 01:58
``All your base are belong to us.''


825 名前: BASICER 投稿日: 01/10/15 05:09
>>823 was C++ programmer.
But it has aleady been lisper. LOL


826 名前: 仕様書無しさん 投稿日: 01/10/15 05:28
``it has aleady been lisper.''


827 名前: 仕様書無しさん 投稿日: 01/10/15 05:38
OOってLisperの人が見たらどう思うんだろう。
なんかあいまいさ満点なんだけど、こんなの許せるの?


828 名前: 仕様書無しさん 投稿日: 01/10/15 05:45
どこがどうあいまいさ満点なの?


829 名前: BASICER 投稿日: 01/10/15 13:03
>>818
CやPascalみたいな手続き型言語の副作用
だったようです。
リハビリせねば。。


830 名前: 仕様書無しさん 投稿日: 01/10/15 14:46
>>827
CLOSはどう?


831 名前: BASICER 投稿日: 01/10/16 09:10
>>827
一般的 Programmerに、その疑問が存在するのは分からないでも無いが
曖昧が、許せない と言うのは どうか?
確かにコンピューターは00000000と00000001の世界かも知れないが
人間の脳だって、突き詰めれば+イオンと−イオン


832 名前: 仕様書無しさん 投稿日: 01/10/16 11:52
CLOSって曖昧じゃない?
(method1 arg1 arg2 arg3)
っていう呼び出しを見ても、どのメソッドが実行されるかはわからない。
誰か他の人が後から、よりspecificなmethod1を定義してるかも。


833 名前: 仕様書無しさん 投稿日: 01/10/16 12:45
>>832
根本的に理解してないな。


834 名前: 仕様書無しさん 投稿日: 01/10/17 02:22
>>832
まあ、CLOSはカプセル化やアクセスコントロール考えてないからな。

予想外のeffective methodが実行されて頭くらくらしたり、しらん
うちに他人が書いたコード壊してたりがしょっちゅうなのは確かだ
が、曖昧というのはちと違うぞ。あれは制御不能というのだ。


835 名前: 仕様書無しさん 投稿日: 01/10/17 04:14
>>832
っつーか構造体もカプセルも要らん


836 名前: 仕様書無しさん 投稿日: 01/10/18 10:53
>>830
CLOS=精神分裂症になったコンピューター


837 名前: 仕様書無しさん 投稿日: 01/10/18 12:31
>>834
つーか、カプセル化やアクセスコントロールのあるOOPLは、CLOSで書くのだ。
ただ、誰もやらなかったけどな…


838 名前: 仕様書無しさん 投稿日: 01/10/19 03:03
>>837
まあ、死んだCLOSの事なんか忘れて、SchemeのOOをどうするか
考えた方が有意義と思われ。今度は使えるやつにしよー。


839 名前: 仕様書無しさん 投稿日: 01/10/19 11:11
>>838
カッコ系でOOって
generic-function(=CLOS そのままapply可。)
message-passing( そのままapply不可。メソッド抽出すれば可。)
ぐらいしかないと思うんだけど。


840 名前: 仕様書無しさん 投稿日: 01/10/19 13:22
>>839
あとは
class-basedかprototype-basedか
setter, getterを自動定義するか
MOPをどうするか
等々という選択肢があるんでは。

それより、Schemeってモジュールとかパッケージとか
どういう提案があるの?


841 名前: 仕様書無しさん 投稿日: 01/10/19 20:54
>>840
>それより、Schemeってモジュールとかパッケージとか
ほとんどlispと同じ。そこに新しい概念は無い。



2ちゃんねるは、ここのサーバを使ってるです。。。