[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 09/01 00:11 / Filesize : 268 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

CommonLisp Scheme Part13



1 名前:デフォルトの名無しさん [2005/05/12(木) 21:44:01 ]
過去スレ
Part1: piza2.2ch.net/tech/kako/987/987169286.html
Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part7: pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part8: pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/
Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/
Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/
Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/

関連リンクは>>2-10あたり

792 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:16:18 ]
へーエラーになるのか。
なんでだろうね。
Gaucheでも入れてみようかな。

793 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:21:50 ]
>>792
評価できる形式ではないから。
Common Lispの場合は()はnilというsymbolであってspecial変数としてnilという
値を持っているから評価できるだけ。

794 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:37:10 ]
エラーなんだっけ?
R5RSでは未定義だったような。うるおぼえ。

795 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 14:41:17 ]
>>794
ああ。正確には未定義だったかも。

796 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:09:52 ]
やってみた。gaucheだと両方とも同じように評価される。

gosh> ()
()
gosh> '()
()

R5RSをみて見たけどようわからん。見当違いなトコ見てるかも。

4.1.3 Procedure calls
> Note: In many dialects of Lisp, the empty combination,
> (), is a legitimate expression. In Scheme, combinations
> must have at least one subexpression, so () is not a
> syntactically valid expression.

4.1.2 Literal expressions
> '() ===> ()

識者の登場キボン

797 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:13:36 ]
思いっきり書いてるやん
> so () is not a
> syntactically valid expression.

798 名前:796 mailto:sage [2005/09/19(月) 15:15:09 ]
orz...thx.


799 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:18:04 ]
未定義ならgoshでは()=>()ってだけじゃないの。

ちなみに
Petite Chez Scheme Version 6.9c
Copyright (c) 1985-2003 Cadence Research Systems

> ()
()
> '()
()
これもgoshと同じか。

800 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:19:49 ]
Guileね

guile> ()
ERROR: missing or extra expression
ABORT: (misc-error)
guile> '()
()
guile>




801 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:22:41 ]
Guileはちゃんと(?)エラーになるな
guile> ()
ERROR: missing or extra expression
ABORT: (misc-error)
guile> '()
()
guile>

802 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:23:12 ]
あら見事にかぶった。

803 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 15:24:22 ]
>>800,801
おおぅ。ちゃんとエラーになる処理系もあるんだな。
やっぱquoteせにゃならんか。

804 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 16:05:09 ]
Guileってもはや独自言語仕様に向かってなかったっけ?
Guileでエラーになったからと言え、これをSchemeの仕様と言ってしまっていいものか。
つーか未定義か。

805 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 20:40:25 ]
まぁグィラーは特殊だから。

806 名前:デフォルトの名無しさん mailto:sage [2005/09/19(月) 21:35:30 ]
Guile は規格で正しいとされてないことは積極的にエラーにし、
Gaush や PLT Scheme は規格でエラーにしろとされてるものしか
エラーにしないような感じ。
以前出た (define (foo) (define x 10) (define y x) y) が
どう扱われるかもそうだったよね。

807 名前:デフォルトの名無しさん [2005/09/20(火) 00:21:52 ]
今、現在Schemeを勉強しているのですが
絵を簡易的なアニメーションさせることは
Schemeを使って可能でしょうか?
また、Schemeからリンクさせることも含めて
可能な手段をわかる人おられますか?
かなり求むです。

808 名前:デフォルトの名無しさん mailto:sage [2005/09/20(火) 01:10:18 ]
gauche-glとかオススメ

809 名前:デフォルトの名無しさん [2005/09/20(火) 11:12:11 ]
>>808

かなり感謝です。実際に求めていたものがありました。
しかもSICPにも図形言語として紹介もしていたようですね。
みなさんかなりの達人では??
私もこれからレベルアップします!!

810 名前:デフォルトの名無しさん mailto:sage [2005/09/20(火) 20:56:22 ]
>>806
参考になるです。



811 名前:デフォルトの名無しさん mailto:sage [2005/09/21(水) 01:25:04 ]
>>773
| WARNING: locale: no encoding CP932, using UTF-8
| WARNING: *TERMINAL-ENCODING*: no encoding CP932, using UTF-8

公式配布の CLISP では CP932/Shift-JIS エンコーディングが使えません.
GNU Libiconv をリンクして作成したバイナリを使えば大丈夫です.

私の手元では Windows 2000/XP + Emacs22 CVS + Slime CVS + GNU CLISP 2.35
で↓のように日本語シンボルが使えています.あとはパス名に日本語が使えない
問題が解決できればバイナリを公開してもいいですが.

; SLIME 2005-07-29
CL-USER> (length "あいう")
3
CL-USER> (defun 2倍 (引数) (* 引数 2))
2倍
CL-USER> (2倍 2/3)
4/3


812 名前:デフォルトの名無しさん [2005/09/21(水) 05:16:45 ]
 昔パソコン用のMuLispで書いたシステムの移植を考えております。
問題は、auto-quoteとでもいいますか、アトムを評価するとこのシステムは、
アトムの名前を返すようなシステムになっておりました。
 これと同じ仕様になっているLispあるいはSchemeの処理系あるいは、
これを簡単に実現できるような(つまりMuLisp互換システム)システムを
ご存知の方教えていただけませんでしょうか。

813 名前:デフォルトの名無しさん mailto:sage [2005/09/21(水) 09:51:22 ]
既存の処理系の上でアトムの名前を返すevalをつくればいいような気がするけど・・・。

814 名前:デフォルトの名無しさん mailto:sage [2005/09/21(水) 13:34:06 ]
evalするかわりにatom->nameみたいなの用意すりゃいいじゃん
ちょっと意味ワカラナス

815 名前:デフォルトの名無しさん mailto:sage [2005/09/21(水) 17:33:23 ]
>>812
MuLispの仕様ってどこかに公開されてるの?

816 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 02:40:00 ]
シンボルを評価して自分自身が返って来るとしたら、変数はどうするんだろう。
よく判らないけれど、自己評価するシンボルが欲しいとかなら、
Common Lisp で keyword に置き換えておくのが楽じゃないかと思います。

817 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 02:43:24 ]
>>816
よくわからんが束縛されてない自由変数のデフォルト値って感じなのかな。
keywordにするのは賛成。

818 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 02:57:26 ]
動的束縛で、foo ≡ (lambda () a) として
(foo) => a、(let ((a 10)) (foo)) => 10
となることを期待するコードがあちこちにあったりすると厄介かも。

819 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 03:00:03 ]
MuLispって時代的にはCommon Lisp以前だから、動的スコープなんだろうな。

820 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 04:43:43 ]
...ってことは単純に移植できなくないか?



821 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 06:48:06 ]
んー、未束縛の場合は自分自身を返す、ってんだったら、
handler-case 使って unbound-variable で捕まえるっていう手もあるかも。
スコープは……とりあえずどっかのパッケージに閉じ込めといて、
do-symbols 使って (declaim (special <... そのパッケージのシンボル全部 ...>))
とかに展開するマクロを書いてロード後に呼んでみるとかで意外と何とかならんかなあ。

822 名前:デフォルトの名無しさん mailto:sage [2005/09/22(木) 08:34:14 ]
昔の Lisp ならそれほど大きな言語仕様じゃないだろうから、Common Lisp に
変換するマクロ書いた方が結局早いんじゃないかな。
(atom x) は (atom (if (boundp 'x) x 'x)) とか、動的束縛なら
(let ((var val)) ...) は (let ((var val)) (declare (special var)) ...)
とか変換してくだけだよね。

823 名前:デフォルトの名無しさん [2005/09/23(金) 14:18:00 ]
僕には洋書は無理ですた
誰か買いません?
「EXPLORING COMPUTER WCIENCE WITH SCHEME」
ユーズドにしてはかなり綺麗な方だと思う¥5,000でお願い
www.amazon.co.jp/exec/obidos/ASIN/0387948953/qid%3D1127452213/250-5942737-7464260


824 名前:823 mailto:sage [2005/09/23(金) 14:19:34 ]
×: COMPUTER WCIENCE
○: COMPUTER SCIENCE


825 名前:デフォルトの名無しさん mailto:sage [2005/09/23(金) 23:42:10 ]
新品の半額なら考える

826 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 00:11:42 ]
ほぼ半額に近いね

827 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 00:48:41 ]
>>823 買いたくなるようなことを書いて

828 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 15:17:06 ]
>>827
書けるくらい理解したのなら、売らないだろうに、イヂワルなやつだな。

829 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 19:04:31 ]
世の中、CDを聴いてから(売るんじゃなくて)返品する奴もいるという話だぞ。


830 名前:デフォルトの名無しさん mailto:sage [2005/09/24(土) 21:26:13 ]
>>829
ソニンのことか



831 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 00:22:08 ]
Schemeに静的型対応させた言語が最強だと思うんですが
ありませんか?
なければ作りますが。

832 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 01:16:43 ]
carやcdrの戻り値はどうするの?
関数型言語みたいにリストの中に単一の型しか入れられないんでは
Lisp系としては不便この上ないし、かといって型チェックが入るんでは
何も変わらんか、型が固定されるだけ不便になる。


833 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 01:24:50 ]
型変換すればよいのでは。

834 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 10:11:14 ]
あっちゃこっちゃで型変換しまくりの静的型対応言語ってのもなぁ。

835 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 10:30:38 ]
基本は型無しで、効率重視の部分では型宣言もできますくらいで
いいんじゃないの?

836 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 10:41:18 ]
そんな物があったとして、静的型付けな Scheme と SML との間に何を見出すか
によって意見が割れそうだね。

837 名前:デフォルトの名無しさん [2005/09/25(日) 13:33:28 ]
経路探索のプログラムの組み方を教えてもらえないですか?
答えでもいいです、よろしくお願いします。

838 名前:デフォルトの名無しさん mailto:sage [2005/09/25(日) 13:37:52 ]
pc8.2ch.net/test/read.cgi/tech/1106587515/150


839 名前:デフォルトの名無しさん mailto:sage [2005/09/27(火) 23:48:07 ]
いままで気が付かなかったけれど、
fun.sci.fukuoka-u.ac.jp/wiki/index.php?xyzzy
ここの scheme-mode で run-scheme に近いことができるようになってる。

Petite Chez Scheme 7.0で使ってみたところ、問題なく動いた。相当に便利。
まだ荒削りなので、今後に期待。


840 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 19:46:16 ]
すみませんが、MzScheme で日本語を使うには、どうしたら良いでしょうか?

DrScheme や MrEd では問題なく日本語が使えますが、コマンドプロンプトで
動いているMzScheme だと、与えられる文字コードがWindows_31Jになってしま
うせいか、日本語を入力してもすべて化けてしまうのです。

コマンドプロンプトからUTF-8を与えることができればいいのかと思うのです
が、そこからが分かりません…。




841 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 21:05:14 ]
Emacs で
(add-to-list 'process-coding-system-alist
'("mzscheme" . utf-8))
しておいて M-x run-scheme とか。

842 名前:840 mailto:sage [2005/09/28(水) 21:36:05 ]
>>841
申し忘れましたが、私のシステムは Windows(2000, 98)なのです。
できたら>>938の xyzzy の scheme-mode を使いたいと思っています。


843 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 22:31:29 ]
あまり関係ないけど、xyzzyスレ Part11 に載っていたコード。
xyzzyの sheme-mode はインデントの機能がちょっと貧弱だけど
これを.xyzzy に書くと、lisp-modeと似た感じになる。

; scheme-mode で lis-mode 風のインデントを行う。
(define-key *scheme-mode-map* #\C-m 'lisp-newline-and-indent)
(define-key *scheme-mode-map* #\C-i 'lisp-indent-line)
(setf (get 'define 'lisp-indent-hook) 'defun)


844 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 23:59:02 ]
wikipediaのラムダ計算のページ
ja.wikipedia.org/wiki/%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97

例で
(λx.(λy.(x+y))3)5 → (λy.(3+y))5 とか
λx.(λy.(x+y))3 → λy.(3+y)
とあるんですが、これって正しいんでしょうか?

845 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 00:24:27 ]
ただしい
だがなぜこんなところに聞くのだ。

まだHaskellスレとかの方がよくないか。



846 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 01:10:42 ]
xyzzy の Scheme Mode は素晴らしい。これは Scheme のスクラッチ・バッファ
そのものだ。Ctrl+JでS式がSchemeインタプリタに評価されて、結果が次の行
に表示される。自分はずっとこういうのが欲しかった。

今まで Windows98 で動く Scheme 実行環境にはろくなものが無かった。
ChezEdit … NTでしか動かない。
DrScheme … 自分のマシンには重すぎてインストールすらできなかった。
Chez Scheme 付属の PWL … 重すぎて、ただ起動しただけでCPUパワーを使い
きってしまう。

だから結局、素の PetiteChezScheme をコマンドラインから起動し、エディタ
の内容をコピペするしかなかった。

この xyzzy のScheme Mode は、便利で、操作が軽快で、そしてCPUパワーをほ
とんど食わない。自分のような貧乏人には理想のScheme環境だと思う。
matsuoka さん、ありがとう!


847 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 01:11:56 ]
>>844
ラムダ計算の仕方を全く知らないならちゃんと勉強しろよ。
中途半端に聞いたって仕方がないだろ。

848 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 01:12:43 ]
>>842
make-process に :incode *encoding-utf8* :outcode *encoding-utf8*
を付け足す感じでどうでしょ。試してないけど。
詳細はリファレンス参照。
ttp://hie.s64.xrea.com/xyzzy/reference/html/ref-make-process.html
上手くいかなかったら win 板の xyzzy スレで訊いた方がいいかも。

849 名前:842 mailto:sage [2005/09/29(木) 10:51:10 ]
>>848
ありがとうございます。残念ながら、うまく行きませんでした。
試しに :OUTCODE *encoding-sjis* も試してみましたが、結果は同様でした。
xyzzy スレに行ってみます。


850 名前:デフォルトの名無しさん [2005/09/29(木) 14:19:17 ]
>>844
S式で書けば
λx.(λy.(x+y))3 = ((lambda (x) (lambda (y) (+ x y))) 3)
(λx.(λy.(x+y))3)5 = (((lambda (x) (lambda (y) (+ x y))) 3) 5)

これならわかる?



851 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 15:30:54 ]
さらば slime48

852 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 19:03:44 ]
>>844
1つ目の方違わね?
(λx.(λy.(x+y))3)5 → (λx.(x+3))5
じゃね?

853 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 19:23:02 ]
違う
>>844で合ってる

>これって正しいんでしょうか?
# 強いて言えばラムダ計算に中置き演算子がでてくるのが不思議

854 名前:デフォルトの名無しさん [2005/09/29(木) 19:31:05 ]
xyzzyのscheme-modeってgosh使えないの?


855 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 20:04:59 ]
>>854
試してみたけど、Gauche は動かないねえ。

fun.sci.fukuoka-u.ac.jp/wiki/index.php?xyzzy
> pscheme を直接呼ぶと結果が帰って来ない(pscheme の STDOUT の扱いの問題)
> Petite Chez Scheme と MzScheme? は全然動く(STDIN/OUT がいけるのは大丈夫)

とあるから、Gauche の STDOUT に問題があるのだろうか?
対処法はわかんない。


856 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 20:40:52 ]
gosh -i
とか?

857 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 20:51:01 ]
>>853
ラムダ計算自体はべつに前置記法を要求してるわけじゃないんでは?

858 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 21:29:42 ]
>>856
うまく行かない。

> xyzzyenv: "C:\Program Files\Gauche\bin\gosh.exe -i ": 指定されたファイ
> ルが見つかりません。
というエラーが出る。


859 名前:858 mailto:sage [2005/09/29(木) 21:33:02 ]
念のため、.xyzzy のその行を貼る。
(map-slash-to-backslash "C:/Program Files/Gauche/bin/gosh.exe -i ")

こう書くと、前述のエラー。


860 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 21:34:55 ]
-iまでをパス名と認識してるみたいだが



861 名前:デフォルトの名無しさん mailto:sage [2005/09/30(金) 11:02:14 ]
Gauche も動いた。こちらを参照。
xyzzy Part13
pc8.2ch.net/test/read.cgi/win/1127783135/l20
ここの27以降。

そしてこちらは、Emacs のscheme-mode風に、評価の結果が run-scheme バッ
ファに表示されるようにする改造。
d.hatena.ne.jp/guttyon/20050929


862 名前:デフォルトの名無しさん [2005/09/30(金) 12:19:13 ]
defunとdefmacroってどう違うんですか?

(defmacro f0 (arg)
 (f1 arg))
という構文があって、
(defun f0 (arg)
 (f1 arg))
と置き換えると、使用されている場所でエラーが出ます。
使用されている場所で、f0 〜をf1 〜に置き換えても同じエラーが出ます。

等価な置換を教えてください(あれば・・・)
mapcarやapplyの中で使われていることは、関係していますか?

863 名前:デフォルトの名無しさん mailto:sage [2005/09/30(金) 13:38:50 ]
>>862
マクロと関数の違いを君の言葉で説明しなさい。
それとなぜ置き換えたいと思ったのかもね。
話はそれからだ。

864 名前:デフォルトの名無しさん mailto:sage [2005/09/30(金) 16:34:26 ]
>>862
関数とマクロは、似て見えるかもしれないけど、全く別のもの。
とりあえず↓のマクロの解説を読んでみて。
www.geocities.jp/m_hiroi/rakup/rakup20.html


865 名前:デフォルトの名無しさん [2005/09/30(金) 21:20:46 ]
kahuaのインストールができないんですが、ここで聞いてもいいですか?

866 名前:デフォルトの名無しさん mailto:sage [2005/09/30(金) 22:46:02 ]
漏れは構わんと思うけどkahuaのMLを避けてわざわざ心ない輩に煽られたいのは何でなん?

867 名前:デフォルトの名無しさん [2005/09/30(金) 23:10:10 ]
今年もやるよーん
jp.franz.com/base/seminar-2005-11-18.html

868 名前:デフォルトの名無しさん mailto:sage [2005/10/01(土) 00:45:58 ]
Gauche+emacsでslimeのようなシンボル補完ができないものか

869 名前:デフォルトの名無しさん mailto:sage [2005/10/01(土) 02:31:12 ]
俺はシンボル補完よりもeldocぽいやつ+HyperSpecが便利で、schemeにも欲しい。

シンボル補完は、Gaucheには定義されてる全シンボルをとる方法あるんか?ってのと、
変数と関数の区別がないから不便そうだね、ってのがまず思い付く。

SLIMEといえばswank-scheme48がいつごろかに入ったね。
Emacsのscheme用環境というとquackが思い浮かぶけど使ったことないや。


870 名前:デフォルトの名無しさん mailto:sage [2005/10/01(土) 20:10:20 ]
Bigloo Development Environment ってどうよ。




871 名前:デフォルトの名無しさん [2005/10/02(日) 04:58:12 ]
schemeのマクロを解説したサイトとかないですか?
他のLispのマクロの知識もないんですが…
R5RS読むしかないんでしょうか。


872 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 08:19:19 ]
>>871
あれはけっこう難関。漏れも今悩んでる。
日本語リソースについては期待しないほうがいいと言っておく。

873 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 09:01:28 ]
define-syntaxは構文を書くのに向いている。
macroは何でもあり。
コツは概念の理解と慣れること。

874 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 11:49:06 ]
R5RSには定義だけで概念は書いてないからねえ

875 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 12:01:19 ]
犬飼さんの入門Schemeにちょっとばっかしマクロの記述あったけど
あれじゃダメかいな。

876 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 13:19:35 ]
>>871
書籍ならそこそこまともな解説が書いてある場合が多いと思う。

877 名前:871 mailto:sage [2005/10/02(日) 16:22:34 ]
ありがとうございます。日本語は期待してはいけないんですね…。
とりあえず、犬飼さんのを読ませていただいて、必要ならば、英語も含めてググってみます。

www4.ocn.ne.jp/~inukai/scheme_primer_j.html
okmij.org/ftp/Scheme/macros.html
community.schemewiki.org/?scheme-faq-macros

ちなみに、(R5RSには明示されていない)概念てどんなのでしょう

878 名前:デフォルトの名無しさん [2005/10/03(月) 12:19:19 ]
(define-syntax mac (syntax-rules () ((_ a ... b) '(b a ...))))

Chez Scheme、Dr.Schemeだと動いたけどこれってR5RS的には違法ですよね?
Gaucheだとエラー。

879 名前:デフォルトの名無しさん [2005/10/03(月) 21:38:39 ]
>>878
R5RSではダメだが、srfi-46で定義されている。



880 名前:デフォルトの名無しさん mailto:sage [2005/10/03(月) 21:55:06 ]
>>879
知らなかった。トンクス



881 名前:本田 [2005/10/04(火) 13:21:07 ]
>MIT CADR Lisp Machine Source code
www.heeltoe.com/retro/mit/mit_cadr_lmss.html
>Retrocomputing - MIT CADR Lisp Machines
www.heeltoe.com/retro/cadr/index.html

882 名前:デフォルトの名無しさん mailto:sage [2005/10/06(木) 20:46:51 ]
fun.sci.fukuoka-u.ac.jp/wiki/index.php?xyzzy
の Scheme モードで、追加機能の要望が募集されているみたい。

真っ先に欲しいのは、実行の中断(ブレーク)です。
うっかり(tarai 14 7 0) とかやると、延々と止まらなくなってしまうから。


883 名前:デフォルトの名無しさん mailto:sage [2005/10/07(金) 06:43:57 ]
>>882
Scheme のプロセス握ってるバッファに切り替えて M-x kill-subprocess でいけません?

884 名前:882 mailto:sage [2005/10/07(金) 09:44:23 ]
>>883
確かにそうすれば止まりますが、プロセスを殺したくないんです。単に中断し
たいだけなんです。
コマンドプロンプトで MzSchemeを利用している時は、Ctl-C で user break
になります。たしか Petite Chez Scheme も同じ。

xyzzy の Schemeモードでもそれを利用したいんです。



885 名前:デフォルトの名無しさん mailto:sage [2005/10/07(金) 13:44:37 ]
個人的にはxyzzyの話はxyzzyのスレか何かでやってほしい

886 名前:デフォルトの名無しさん mailto:sage [2005/10/07(金) 15:20:33 ]
募集されてるならそこでやればいい。
wikiのようだしその方が生産的でしょ。

887 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 21:10:39 ]
emacs の話も emacs スレかどこかでやってくれ

888 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 21:13:52 ]
>>887
その通りだと思うが、なんか唐突だな。w

889 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 23:12:35 ]
せっかくだからこの機会に。
整えるときはいっきにやったほうが浸透しやすいじゃない?

890 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 00:01:17 ]
Lisper の使うEditorとしては
1 . Emacs
2 . Vi
3 . その他
な印象を受けるけど、Viの話題は出ないんだな。



891 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 01:14:48 ]
OpenMCL 1.0 リリース sage

892 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 02:05:18 ]
OpenMCL は Mac OS X が x86 に移行した後、どうするんだろうか。
x86 backend を一から作るのかな。

893 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 17:22:43 ]
>>890
おれバリバリScheme処理系作ってるけどWin厨なんでWZ使ってるよ?
普通EmacsやViなんて変態エディタ使わないでしょ。
あ、変態の反論とかエディタの話題振られてもこれ以上しないから。

894 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 17:31:04 ]
>>893
出た、言いっぱなし厨!w

895 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 19:52:51 ]
>>893
Viは確かに普通ではないが、Emacsはいたって普通のエディターだが。
まさか、CUAじゃないから変態とかいってんの?

896 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 20:35:56 ]
CUAってなあに?

897 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 22:01:16 ]
GUAの反対に決まってるだろ

898 名前:デフォルトの名無しさん [2005/10/10(月) 23:26:47 ]
Vz厨だった漏れからは、Wzなど問題外の紛い物だったな。


899 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 03:49:37 ]
portable hemlock に guile emacs に、elisp を common lisp / scheme で
置き換えるプロジェクトは尽く上手くいっていないけど、みんな elisp で
満足なのかな。順調なのは xyzzy だけ?

900 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 04:47:03 ]
そういうことやる人はたいがいEmacsと重なる文化圏の住人なので
・まあ文句はあるけどelispで結構暮らせる
・Emacs自体も開発が進む
・elisp既にたくさん
・Emacsを再び作るのは結構大変
でモチベーションが続かないんじゃなかろうか。

OSやユーザ層でEmacsと重なりにくい部分を選び、その環境に特化することを
特徴の一つとすることでxyzzyは生き延びているように思える。




901 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 11:56:55 ]
xyzzyがwindowsでそれなりに成功ところから推理すると、
二匹目のどぜうはMacにいると見た。

902 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 19:44:40 ]
単にUNIXで失敗してるだけだと思うが

903 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 20:57:42 ]
ttp://iiyu.asablo.jp/blog/

SICP第2版の訳について良し悪しで意見が分かれてる。
おまえらの意見は堂よ?

904 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 21:02:48 ]
>>903
いわゆる「悪い翻訳」ではない。ちゃんと読めるという意味で良い翻訳だと思う。

905 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 21:24:16 ]
とかなんとかいって興味をひいてアフィリエイトで
儲けようという作戦か?



906 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 23:01:44 ]
macroさえ使えれば
elispでもqsortが次のように書けるからね。
(defmatch qsort
( (x . xs) -> (append (qsort (lcomp y (y <- xs) (< y x))) `(,x)
(qsort (lcomp y (y <- xs) (>= y x)))))
( () -> '()))
末尾再帰除去の最適化さえあれば。

907 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 23:20:20 ]
Common Lisp が気に入っているのは主に処理スピードなので、CL を土台にした
環境があったら嬉しいなぁ。スピードが必要な部分は C で書くというのも一つの
解であるとは思うけど。

908 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:03:16 ]
Matz 日記見て思ったんだけど、引数付きブロックは素直に
lambda(x, y) { x * y } みたいな構文にすればいいのに
うだうだ考えてるのって、彼はよっぽど Lisp が嫌いなのかな。

909 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:20:40 ]
Succinctness is Power


910 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 00:41:51 ]
>>908
プログラムがS式でなくなればLispの利点の8割くらいは失われると思う。



911 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 03:14:21 ]
>>910
その8割と残り2割の解説よろしこ。

912 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 01:56:23 ]
木構造が直接書き下せなくなる.前置記法が失なわれる.なにより拡張する自
由がなくなる.そう自由だ.大事なのはそこだ.言語が拡張できなきゃ新しい
パラダイムを試す自由がない.

S 式をやめれば,そこに残るのは,高階関数,クロージャ,オブジェクト指向,
そんなあたりまえの行儀のいい退屈な言語だ.そんなものは 2 割にもみたない.

# まぁ,ちかごろは純粋なんちゃら〜ってほうがウケがいいみたいだが.

913 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 02:11:04 ]
えーっと、マクロ・ラブってことでいいっすか?

914 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 02:50:57 ]
いいです

915 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 12:59:35 ]
>>912

純粋なForth?

916 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 15:08:09 ]
>>912
あなたが試してみた新しいパラダイムを2,3挙げてみて下さい。

917 名前:fumumu mailto:sage [2005/10/21(金) 20:46:16 ]
>>916
生理中ですか?


918 名前:デフォルトの名無しさん [2005/10/21(金) 22:54:18 ]
>>917
パラダイムでもないし、2、3と言っているのに1つだし、
全然ダメですねw

919 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 10:11:56 ]
純粋なんちゃら でもDynamic型ができて、Dynamicでマクロと同等のことができればいいんじゃまいか。



920 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 17:20:44 ]
よーおーこそー ここーえー♪



921 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 15:27:48 ]
>>908
lambdaが新しい予約語になってしまうのが嫌なのでは。


922 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 08:47:21 ]
lispのキーワードが嫌ならjavascriptに習ってfunctionにでもすりゃいい。
何でもかんでも演算子にできりゃいいってもんでもないだろうに。

923 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 09:44:34 ]
Gauche(0.8.6_pre3) + Kahua(0.3.4) から PostgreSQL に繋ぎたいんですけど、
test.kahua で

(use dbi)
(dbi-make-driver "pg")

すると

*** ERROR: Compile Error: Compile Error: define-module can't be used
within sandbox module
"/usr/local/share/gauche/site/lib/dbd/pg.scm":9:(define-module dbd.pg
(use gauche.co ...

と言われて使えないです。

Kahua から Gauche のライブラリ使うには working-directory 内の plugins
ディレクトリに (allow-module dbi) のように書いたファイルを置かなければ
ならないようです。

(use dbi) はその方法でエラーは出なくなったのですが、PostgreSQL のドラ
イバは、(allow-module dbd.pg) するだけじゃ駄目みたいで。
分かる方いたら教えて下さい。


924 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 21:02:59 ]
>>922
lambdaが新しい予約語になると
lambdaという変数名その他を使ってるプログラムが全部動かなくなる。
それが嫌なのでは。


925 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 21:08:07 ]
いったい何の話してるの? 見えない。

926 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 21:35:41 ]
えーっと、とあるスクリプト言語ではλ式を {|x, y| x * y } と書くんだけど、
Common Lisp の &optional みたいにデフォルト値を書けるよう
({|x : 10, y : 20| ...} みたいな文法だっけ?) 拡張しようとしたところ、
これではデフォルト値の式に "|" 演算子が使えないことが判明。
そこでその言語のデザイナは悩んでいるわけだけど、Lisp みたいに
lambda (x, (y (x | #x20))) {...} みたいにすればいいだけだろうって話。

927 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 22:05:19 ]
新しい予約語作ってもビクともしないPerl最高!

928 名前:デフォルトの名無しさん mailto:sage [2005/11/01(火) 06:12:26 ]
予約語を増やしたくないのならマクロを使えるようにすればいいじゃない

929 名前:デフォルトの名無しさん mailto:sage [2005/11/01(火) 22:13:55 ]
lambdaな壁紙ってどっかにない?

930 名前:デフォルトの名無しさん mailto:sage [2005/11/01(火) 22:16:23 ]
>>929
京都へ行って写真撮ってくれば?
wwwfun.kurims.kyoto-u.ac.jp/MtLambda.html



931 名前:デフォルトの名無しさん mailto:sage [2005/11/01(火) 22:56:24 ]
>>930
クソワロタw

932 名前:デフォルトの名無しさん mailto:sage [2005/11/03(木) 21:35:48 ]
日本語訳
www.kurims.kyoto-u.ac.jp/~cs/lambda.html


933 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 01:17:09 ]
pc8.2ch.net/test/read.cgi/tech/1129287390/
ボロクソに言われてるぞ

934 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 01:25:14 ]
>>933
non-Lisperに何を言われてもLisperは動揺しない。

935 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 01:37:51 ]
>>933
そのスレはもう見るだけ時間の無駄だと思う。ちょっとでもひっかかる言葉が
あるとわらわらわらわらわらわらわらわらと厨ばかり涌いてくる。

936 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 03:04:37 ]
LISP厨はマジでキモいな
あのスレ見てそう思った

937 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 10:03:07 ]
論理性に欠けるスレはリンクしない

938 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 10:16:58 ]
Lisp Resource Kit キットの背景の壁紙が巨大なλだったような

939 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 11:56:34 ]
>>936
空気読めないのはどうかと思うよなあ
ああいう場所にしゃしゃり出て、一方的に「禁止な」はさすがに引いた

940 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 15:12:39 ]
はいはい、貴方も空気読みましょうね



941 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 16:11:02 ]
>>939
あれってやっぱLisp小僧だったんかな
ここには来てないよね?

942 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 19:08:14 ]
自演乙

943 名前:デフォルトの名無しさん mailto:sage [2005/11/07(月) 19:30:21 ]
自分にお返事を書く時は
もうちょっとわかりにくくした方がいいのにね。
程度がしれる。

944 名前:デフォルトの名無しさん mailto:sage [2005/11/08(火) 22:57:53 ]
Gauche 0.8.6 でてるのに気がついた

945 名前:デフォルトの名無しさん [2005/11/09(水) 10:20:17 ]
Gauche0.8.5使ってるんだけど、0.8.6にどうやってバージョンアップできるの?

946 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 19:58:37 ]
>>945
tar xzvf Gauche-0.8.6.tgz
cd Gauche-0.8.6
gauche-config --reconfigure | sh; make; make -s check; make install

でも0.8.6ではデフォルトの文字コードが変わってるそうだから、
今まで --enable-multibyte=ほにゃら、をつけてなかったら
ちゃんと./configureを呼ばないとだめ。

あと拡張パッケージを入れてたら再コンパイル。

gauche-package install -r パッケージ.tgz


947 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 22:03:58 ]
>>944-946
昔からかもしんないけどWindowsMeではGaucheがエラーになるんだよなー。
Meで使えないNetApiBufferFree APIを呼んでる部分は適当に無効にしてるんだけど。
Wikiで報告はしてきたけど、河合タソはMeは持ってないみたいだし、
俺はヘタレだからソースを追ってもワケわかんねぇしで修正は期待できんかなぁ?
Meユーザーがいたら追試験ヨロ。

948 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 22:08:05 ]
Me ねぇ…さすがにもうサポートできる人は少ないだろう.つうか API が無い
とかだけではなく NT 系との挙動の違いもあるし修正は無理じゃねぇかなぁ….

949 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 22:48:57 ]
>>948
0.8.5はMeでも動いてるんだよ。
BoehmGCのバージョンをアップデートしてるとか書いてあるから、
もしかするとGCの方の問題かもしれんな。
GCだけ古いのでコンパイルできるかちょっとやってみる。

950 名前:デフォルトの名無しさん [2005/11/09(水) 23:57:08 ]
>>946
僕は--enable-multibyte=ほにゃら、をつけてなかったので、結論として下記になりますよね?
% gzcat Gauche-0.8.6.tgz | tar xf -
% cd Gauche-0.8.6
% ./configure
% make
% make install

結局バージョンアップというより、新規インストールという感じですね。
そしたら、0.8.5は上書きされるのかな?
よー分からん。寝よ。



951 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 02:57:20 ]
いやいやいや, そうじゃないだろ
付けてたなら 946
付けてないなら --enable-multibyte=eucc-jp しないと同じにならないよ

952 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 02:58:25 ]
s/eucc/euc

953 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 03:01:58 ]
今さらサポート打ち切り間近なOSなんか持ち出されてもウザいだけだろうしなあ

954 名前:デフォルトの名無しさん [2005/11/10(木) 12:18:24 ]
>>951
そうか。よくわかってなかった。これでいいですよね?
% gzcat Gauche-0.8.6.tgz | tar xf -
% cd Gauche-0.8.6
% ./configure --enable-multibyte=euc-jp
% make
% make install



955 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 12:27:33 ]
Gaucheって実行ファイル作れますか?

956 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 19:22:32 ]
>>955
今はできないけど、将来的にC言語への変換機能を導入する予定はあるらしい。

957 名前:949 mailto:sage [2005/11/10(木) 19:23:21 ]
GCをバージョンアップ前に戻したらMeでも動いたよ。

958 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 19:28:58 ]
>>955
Schemeのプログラムを文字列として埋め込むんでよければ簡単に作れる。
ネイティブコード化という意味なら>>956

959 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 19:33:32 ]
簡単に作れるなら作ってやれよ

960 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 19:36:27 ]
いいよ



961 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 20:14:05 ]
wilikiにそういうのがあったような気がする

962 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 15:28:54 ]
Lisp1.5で書かれたプログラムのサンプルとか
構文のマニュアルとかが参照できるサイトを
探していますがググってもなかなか見つかりません。
どなたかご存知ありませんか?




963 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 15:44:58 ]
>>962
なぜ今さらLISP 1.5なのかは謎だが、LISP 1.5 Programmer's Manualが基本。
Amazonでも買えるが、ぐぐったらPDF版が↓に落ちてた。
www.mahalito.net/mirrors/community.computerhistory.org/scc/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf

964 名前:949 mailto:sage [2005/11/11(金) 18:14:37 ]
>>955
gauche-install.in.cを見れ。

965 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 19:02:07 ]
>>961
これかな
ttp://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Gauche%3ascm2exe

966 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 23:12:16 ]
>>963
なぜかと言われると、今のLispとどのくらい違うか興味があったからです。
ありがとうございました。


967 名前:デフォルトの名無しさん mailto:sage [2005/11/12(土) 00:35:36 ]
Common Lisp と比べたら似ている所が無いくらい違う。


968 名前:デフォルトの名無しさん mailto:sage [2005/11/12(土) 01:11:59 ]
S 式を継承した言語のユーザーは自分が Lisp を使ってると自覚してるのに、
M 式を継承した言語のユーザーは自分が使ってるのが Lisp だとは思ってないよね。

969 名前:デフォルトの名無しさん mailto:sage [2005/11/12(土) 01:18:06 ]
それで?

970 名前:デフォルトの名無しさん mailto:sage [2005/11/12(土) 01:27:33 ]
M式というと故・中西正和先生を思い出す。APPLE LISPとか。



971 名前:デフォルトの名無しさん mailto:sage [2005/11/12(土) 08:17:04 ]
>>968
縦読みだな!

972 名前:デフォルトの名無しさん mailto:sage [2005/11/12(土) 14:28:27 ]
M式って、John McCarthyがLispの構文を
記述するとき、Lisp自身の構文(S式)
と区別できるように考えたメタ記法だから
Meta Expressionだという理解でいいかな。

で、M式を「継承」した言語なんてどこにもないと。


973 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 10:22:32 ]
John McCarthy 先生が今でも元気だと知って驚いたのは俺だけでしょうか

974 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 20:43:55 ]
ILCにも出張ってきて講演してるしね。
あっち系の方々の典型的な歳の取り方してぶよぶよに太ってしまわれたのが残念ではある。
Paul GrahamのサイトとかLisp Tシャツに使われてる先生のカッコイイ姿を想像して行くと
その変貌ぶりにさらに驚くと思う。

975 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 20:51:35 ]
>>974
出張ってきて、っていうか、今回のILCの開催地は先生の勤務先では?

976 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 21:22:26 ]
NYC/2003にも居たよ。

977 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 19:03:45 ]
すいません質問です
Javaに組み込み言語として使えるScheme処理系ってありませんか
あったら教えてください
Javaのプログラムを呼び出したり、あるいは呼び出されるようなSchemeが
ほしいんです

978 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 19:27:06 ]
>>977
Kawa, SISC, JSchemeあたり?
URLはぐぐってくれ。


979 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 11:55:29 ]
>>977
山ほどあります。お好きなものをどうぞ。
www.robert-tolksdorf.de/vmlanguages.html


980 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 12:26:40 ]
981レスを過ぎるとレスなし期間が1日あるだけでdatに落ちるようになるよ



981 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 00:53:02 ]
もしかしたらすれ違いなのかもしれませんが,

(f)がエラー無く評価できるためのfの条件,
((f) 3)をエラー無く評価できるためのfの条件
を説明せよschemeの課題がでまして,ありいろいろ試したのですがどうしても
not applicatableとエラーがでてしまいます

どなたかお教えくださいませ

982 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 01:20:01 ]
(f): fは引数を必要としない手続き
((f) 3): fは引数を1個以上取る手続きを返す引数を必要としない手続き

983 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 01:29:36 ]
>>982

どうもありがとうございます!
一つだけ疑問なのですが,((f) 3)は引数が一つなのにfが引数を1個以上
とる手続きを返しても大丈夫なのでしょうか?


984 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 04:15:49 ]
引数一個以上てのは (lambda (x . y) ...)

985 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 09:56:06 ]
にらみ合いが続くかと思いきや、
結構あっさり981超えちゃったなー。
ところで誰か次スレ立ててくれ。
俺はムリ。


986 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 15:27:02 ]
スレ建て挑戦してみようかと思ってるけど
>>1 に書く過去ログPart9のURLわかる人いる?

987 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 15:39:18 ]
>>11 にあるリンク先も死んじゃってる模様

988 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 01:27:54 ]
>>986
適当に当たりをつけてみたら発見しました。これだよね?
pc8.2ch.net/tech/kako/1069/10695/1069594582.html

サーバは過去ログ化作業時に板のあるサーバになる模様。


989 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 07:28:29 ]
>>988
そのURLをIEにコピペしてみたけど人大杉で確認することができず
専ブラだと何故か表示することができなかったんだけど
もしかして●持ってないと確認できないとかかな?

990 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 09:51:24 ]
ごめん、>>988は嘘、というか勘違い。忘れて。




991 名前:デフォルトの名無しさん [2005/11/18(金) 10:21:56 ]
立てました

Common Lisp, Scheme Part 14
pc8.2ch.net/test/read.cgi/tech/1132275726/

992 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 11:12:49 ]
>>991
乙です

立てようと思ってテンプレ用意してたけど出遅れちゃいました

993 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 14:14:28 ]
DAT落ち阻止のため、暇ネタを提供。
AutoCADではかつてカスタマイズにLISPが使われていたが、今ではVBAも広く使われて
いるらしい。そのVBA派によるサイト。

ギコでもわかる AutoCAD VBA
acesekkei.com/programming/vba/

いろいろ意見はあるだろうが、LISP退潮の実例の一つとしていろいろ考えてしまった。


994 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 16:00:56 ]
>>993
どんな言語であれ、言語人口やメンテ要員の確保とか考えると
この流れはある意味仕方ないかと。
例えばCLOSにも言える事だけどLISPでオブジェクト内のいりくんだ構造を
操作する場合エディタの支援があってもしんどいでしょ。
(目的操作 (参照 (参照 オブジェクト プロパティ名a) プロパティ名b))
と書かせるより演算子で
オブジェクト.プロパティa,プロパティb,目的操作()
と書けた方が直感的でわかりやすい。
こういうわずらわしさをLISPで適当なフロントエンドを作成して
でっちあげるような解決方法もあるんだろうけど、そこまでするなら
既に一般に広まってる適当な言語を採用した方が良いと判断したんでは。
VBA自体が特に優れているというわけではないので念のため。
VBAの採用はOfficeやActiveXなどゲイツ周りの影響でしょう。

995 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 16:48:10 ]
そういえば過去ログ倉庫やまとめサイトってないのかな
誰かWilikiとかで作らない?

996 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 17:31:54 ]
>>995
そういう Wiliki は flatline氏がだいぶ以前から提供しているのだが、
www.komaba.utmc.or.jp/~flatline/wiliki.cgi

作業者がいなくて、盛り上がってないのだ。
時間があったら自分もやりたいんだけど。


997 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 22:55:06 ]
>>994
アクセッサが不恰好になるのは、S式を使う限り、なかなか解決しがたい問題
ですね。オブジェクト指向が不可欠になった現在、これは大きなデメリットだ
よなあ。

Gauche:スロットアクセス
practical-scheme.net/wiliki/wiliki.cgi?Gauche%3a%a5%b9%a5%ed%a5%c3%a5%c8%a5%a2%a5%af%a5%bb%a5%b9


998 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 11:06:32 ]
997のリンク先とかは
with-slots で
(with-slots (hoge fuge hage) object
(lambda () hoge))

(lambda (obj) (ref obj 'hoge))
が限度じゃないか?または、
(define-method* obj ( (hoge fuga hage) <XX>)
hoge)
とか define-method の文字の長さの方が気になるし。

または、マクロ言語(OOとする)
(let ((x 1)
;(y (lambda () |hoge|)) ;コンパイル不可?
)
(OO obj
(display |hage|)
; (display (y))
))
とか。
データ構造と関数構造を分離しないと新たに面倒な問題が発生するし。


999 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 14:13:35 ]


1000 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 14:14:08 ]
次スレ

Common Lisp, Scheme Part 14
pc8.2ch.net/test/read.cgi/tech/1132275726/



1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef