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


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

((Common Lisp) (Scheme) :Part 15)



1 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:22:53 ]
過去スレ
Part14: pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: piza2.2ch.net/tech/kako/987/987169286.html

2 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:24:33 ]
□参考リンク□

日本Lispユーザ会(日本語)
ttp://jp.franz.com/jlug/index.html
ここにかなりの情報があります。
ttp://jp.franz.com/
削るとAllegro Common Lispのページへ

プログラミング言語Scheme(日本語)
ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html
Schemeの人はまずここを見ましょう。

Lisper への道(日本語)
ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/rakup.html
判りやすいLISP入門サイト。

Schemeへの道(日本語)
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html
ここはschemeの入門サイト。

3 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:25:58 ]
慶応の授業のページ・記号処理プログラミング 2001
ttp://buri.sfc.keio.ac.jp/lisp/menu.html

Practical Scheme(日本語)
ttp://practical-scheme.net/index-j.html
「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。
(Gaucheという完成度の高いscheme処理系作者さんのページでもあります。)

Scheme Hash(英語)
ttp://okmij.org/ftp/Scheme/index.html
S式でXMLを使える様にするSXMLなど

John McCarthy's Home Page
ttp://www-formal.stanford.edu/jmc/
LISPの生みの親、J・マッカーシーのページだそうです。

Association of Lisp Users
ttp://www.alu.org/alu/home
米国のLispユーザ会

4 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:27:53 ]
□SICP関係□

SICP(英語)
ttp://mitpress.mit.edu/sicp/full-text/book/book.html
「計算機プログラムの構造と解釈」の原書です。
全てオンラインで読めます。

計算機プログラムの構造と解釈 第二版 (snip) に関連するホームページ
ttp://www.ipl.t.u-tokyo.ac.jp/sicp/

SICPの回答集
ttp://www.melt.kyutech.ac.jp/~gogogo/sicp_ex/
ttp://pluto.aurorasd.co.jp/~mkama/sicp/
ttp://www.ipl.t.u-tokyo.ac.jp/sicp/solution.root.html
ttp://www.sampou.org/scheme/sicp/answer/

5 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:29:33 ]
□その他□

Schemeで書かれた正規表現ライブラリ
ttp://www.cs.rice.edu/~dorai/pregexp/pregexp.html

幻の「入門Scheme」
ttp://www4.ocn.ne.jp/~inukai/scheme_primer_j.html
オンラインで読める

各種scheme処理系をcygwin上からビルドする方法など。
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/

Bit - Implantation compacte de Scheme
ttp://www.iro.umontreal.ca/~dube/
mini-schemeよりも小さい(?)bytecode変換系

Lisp 言語処理系: CAMPUS LIsP, Lemon version
ttp://aten.aial.hiroshima-u.ac.jp/~kakugawa/clisp/index-ja.shtml
Cコードによるわずか1000行の実装

Cliki
ttp://www.cliki.net/index
CommonLispのプログラムがたくさん紹介されているのでここを当たるべし。

6 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:30:46 ]
encyCMUCLopedia
ttp://www.isr.ist.utl.pt/library/docs/encycmuclopedia/doc/
cmucl以外でも有益なはず

CMUのLisp Repository
ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html
新旧様々なプログラムが置いてある

Tiny CLOS Tutorial
ttp://home.adelphi.edu/~sbloch/class/272/tclos/tutorial.shtml

Schemix
ttp://www.abstractnonsense.com/schemix/
Linuxのkernelへのパッチで、/dev/として扱えるTinyScheme

Bibliography of Scheme-related Research
ttp://library.readscheme.org/
Scheme関連の論文リンク集

7 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:46:55 ]
その他よさそうなリンク

awkで書かれたわずか500行のLispインタプリタ
awklispを読めばLispが理解できる
ttp://www.accesscom.com/~darius/

Emacs Lisp 2
ttp://pc2.2ch.net/test/read.cgi/tech/1068467385/

* Hotdog Scheme ttp://rover.cs.nwu.edu/~scheme/
 MS が金出してたみたい
* Bigloo ttp://www-sop.inria.fr/mimosa/fp/Bigloo/
 CLR 用のコードを吐けるようになったらしい

継続

なんでも継続
ttp://practical-scheme.net/docs/cont-j.html
Schemeへの道:継続
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/continuation.html
継続の使い方
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/index.html#continuation
継続の使用法
ttp://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/block.html
CPS(継続渡しスタイル)の説明
ttp://www.csl.sony.co.jp/person/masui/Forum/data/20011215023622/
Kahua: 継続ベースのアプリケーションサーバー
ttp://www.kahua.org/

8 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:50:50 ]
仕様関係)
CLtL2: Common Lisp the Language 2nd edition
ttp://www-2.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
CLHS: Common Lisp Hyper Spec
ttp://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/Chapter-Index.html
R5RS: Revised(5) Scheme(ja)
ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html

便利な情報リソース)
The Common Lisp Cookbook: いわゆる Cookbook
ttp://cl-cookbook.sourceforge.net/

小さい実装)
SECDR-Scheme: SECD machine model に基づく実装
ttp://lily.fan.gr.jp/~kmd/adhoc/view.rhtml?n=SECDR-Scheme_woyomu
Minischeme: 1 ファイルに凝縮された Scheme 処理系
ttp://tinyscheme.sourceforge.net/minischeme.tar.gz
TinyScheme: Minischeme を色々弄ったもの
ttp://tinyscheme.sourceforge.net/
KI-Scheme, AM-Scheme, etc...
ttp://www.nifty.com/download/dos/prog/lisp/
LispMe: Palm 上で動く Scheme 処理系. これも SECD virtual machine.
ttp://www.lispme.de/lispme/

9 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:55:26 ]
LISP Scheme Part9 (html化)
ttp://ruku.qp.tc/dat2ch/0403/01/1069594582.html

独習 Scheme 三週間
ttp://www.sampou.org/scheme/t-y-scheme/t-y-scheme-Z-H-1.html
Schemeの教科書

よろずや
ttp://www.geocities.co.jp/SiliconValley-SanJose/7474/
lispの実用的な情報が色々。

Common-Lisp.net: 多くのプロジェクトがホスティングされてる
ttp://common-lisp.net/

Bill Clementson's Blog: Lisp関連の話題が中心のBlog
ttp://home.comcast.net/~bc19191/blog/

Practical Common Lisp: S式の羅列で現実的な問題をどう解くのかそのギャップに悩まされてる人に
ttp://www.gigamonkeys.com/book/

10 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:57:43 ]
テンプレ、以上です。



11 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 19:51:31 ]
ォッ

12 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 02:33:35 ]
イカすスレタイ乙

13 名前:デフォルトの名無しさん [2006/06/24(土) 13:26:20 ]


14 名前:デフォルトの名無しさん mailto:さげ [2006/06/24(土) 20:48:38 ]
(乙)

15 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:19:08 ]
(defun 乙 ()
(message *乙*))

16 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:25:39 ]
(define exit-k '())
(call-with-current-continuation (lambda (k) (set! exit-k k)))

(define 乙
(lambda ()
(k (lambda () (display "乙!") (newline)))))

17 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:48:15 ]
>>16
まわりくどい人キタ!

18 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:51:26 ]
>>14がすべて悪いw

19 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 05:24:15 ]
>>16 が継続渡しに失敗している件について。

20 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 11:09:06 ]
(begin
(display (call/cc (lambda (c)
(set! exit-k c)
">>1")))
(newline))
(exit-k "乙!")

こうですか!わかりません!



21 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:02:51 ]
トップレベルまたいじゃだめだろ

22 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 23:37:09 ]
箱の中に手を入れたり、放り込む感じはないけど、car、cdr、
cons は、まだ逐次的にしている感が否めない。
(集合の定義でいいんじゃ……。)

あらゆる問題に対処する慣れの時間を削減する言語の進化!

23 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 00:08:10 ]
>>22
とりあえずそれはLispじゃないので、勝手に俺言語でも作ってやってください

24 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 17:13:43 ]
最近Gaucheをいじり始めて、とりあえず独習Scheme3週間を流し読みしたxyzzy使いなんだが、
初心者がいじって遊べるSchemeのプログラムって何がある?

今はWiLiKiのソースを読んでみてるんだが、ちょっと量が多すぎる気がする。

25 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 18:44:56 ]
漏れはWiLiKiにマクロを追加してみたりして遊んだ。
メモできるカレンダーとか。

26 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 18:45:27 ]
>>24
どこに埋もれたか忘れたが、大学院時代、ゼミの課題で、自分で自分を実行できる
Schemeのサブセットを作ったことあるなぁ。徹底的に文法を削って、200行未満に
収めてしまった。

(define my-scheme
(lambda ()
(eval (read))
(my-scheme) ))

(my-scheme)

ではないよ。ちゃんと環境も作った。プリミティブとクロージャは、大元のやつを
使ってさぼったけど。課題として面白いと思うんだけど、どうかなぁ。

27 名前:24 mailto:sage [2006/06/27(火) 19:12:50 ]
書き込んだ後でScheme Topicsを見つけて、
「あーこの中で簡単なのから読めばいいかな」とか思ってました。
www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme

これ読みながらWiLiKiを弄ってみることにします。
>>26のお題は悟りを開いてから考えます。

28 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 22:42:13 ]
Scheme のサブセットってどこら辺まで許されるかな。
遅延評価は削っても良さそうだけど、継続はダメかな。

29 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:08:19 ]
>>28
R5RSなんて小さい規格なんだから、一つでも削るならSchemeと呼んで欲しくない。
あれ以上削ったらただの「俺言語」だ。

30 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:16:12 ]
>>29
Sussman と Steele の言語が Scheme じゃないとでも?
R^nRS 名乗らないなら
* レキシカルスコープ
* 末尾呼び出しの最適化
* 変数と関数が同じ名前空間
くらいでいいんじゃない?



31 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:18:06 ]
>>30
それは単なる 1-Lisp の一種だろ

32 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 01:06:29 ]
>29
「scheme のサブセット」なんであって scheme だとは書いてないでしょ。まぁ
でも継続はあってほしいかも。


33 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 01:13:46 ]
>>32
それを言ったらどんな言語だってSchemeのサブセットのスーパーセットだよw
個人的には継続のない言語をSchemeと呼ぶのは大きな違和感がある

34 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 06:02:20 ]
numeric tower とかマクロとか

35 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 06:04:37 ]
(E E*)の形で関数適用が書けて、レキシカルスコープならschemeでいいや。


36 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 07:41:59 ]
新しいの出てるね

www.schemers.org/Documents/Standards/Charter/status-jun-2006/status-jun06.html

top-level が library になったり、call/cc や when, unless がデフォルトになったり...
UNICODE サポートはどうなるんでしょうね

37 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 07:43:32 ]
R1RSってどんだけちっちゃかったの?

38 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 08:45:45 ]
square brackets([])はなくならないんだろうなあ……なんかやだ。

39 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 10:26:21 ]
R6RS> All definitions and expressions must appear within a library form; R6RS has no notion of a top-level definition or expression.
ま、中途半端よりはいいかもしれんが.... 微妙だ。 

40 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 17:06:50 ]
>>38
同意



41 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 18:52:20 ]
common-lisp.net 死んだ?

42 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 20:28:29 ]
square bracketsって誰の趣味?
なんでR6RSにこれが入るの決定なのか知ってる?

43 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 21:05:38 ]
その議論は2年前に終ってる。なぜお前はその時ちゃんと反対しなかったんだ?

44 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 21:08:10 ]
>>43
ポインタキボンヌ

45 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 21:57:58 ]
web上にいいのがないが、とりあえず去年の3月には投票済み。
www.schemers.org/Documents/Standards/Charter/mar-2005.txt
> We have voted on a number of the decisions listed in the Revised R6RS
> Status Report. Among the minor but visible decisions made are:
> :
> - add balanced square brackets as a synonym for parentheses

46 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 23:11:46 ]
>>39
これ良く分からなかったんだけど、全部 (library <lib-path> <language> <body>) で
書くようにしたいって事だよね。今までみたいに REPL から自由に式を入力出来る形ではなく。
で、(library "main" ...) が entry point になると...

47 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 23:59:25 ]
失礼します。
Windows2000にDrScheme(version350)を入れて日本語の設定をしたのですが、
ボタンや本文の文字がうまく表示できません。
このようになります↓
www.42ch.net/UploaderSmall/source/1151505302.jpg
(定義欄に入力しているのは、(string-length "ほげ")です)
メニューの編集-環境設定-フォントでフォントをMSゴシックにしています。
その他は色の設定しか変更していません。
Windowsのフォントキャッシュを作り直してみましたが改善しませんでした。

原因や解決法に思い当たる事があればお教え願います。

48 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 02:51:24 ]
言語を英語にして縦書きの日本語フォントを使うw

49 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 07:37:18 ]
フォントじゃなくて文字コードの設定のような気がする
何かが「Latin-1」か「ASCII」になってるんじゃないか?

50 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 19:15:19 ]
guile schemeでeval関数ってどうやって使うのでしょうか?

gauche schemeなら
(define environment #t)
(define initialenv '())
(set! environment (eval '(define a 2) initialenv))
って感じで使えるんだけど…
guileで同じようにやっても、evalの第二引数の型が違うってエラーになっちゃう。



51 名前:47 mailto:sage [2006/06/29(木) 22:04:01 ]
ありがとうございます。解決法は見つかりませんでしたが、
・縦書きフォントなら表示できる
・中国語・朝鮮語フォントも表示できる(「々」が出ないものが多い)
・BDF UM+は大丈夫
のようなので、その範囲で使う事にします。

>>48
そうすることにします。
>>49
UnicodeフォントのはずのMSゴシックが使えないことに疑問が残りますが、
BDF UM+では表示できたのでそうではないようです。

52 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 12:59:13 ]
>>50 それは動く Gauche の方が変なのでは。R5RS 的には、eval の
第二引数は、(interaction-environment), (scheme-report-environment 5),
(null-environment 5) のいずれかでなければならない。

なさりたいことを拝察するに、こういうことかと。最初の行をとれば、Gauche
でも動くはず。

(use-modules (ice-9 r5rs)) ;; R5RS をguile で使えるようにする。
(define env (null-environment 5))
(eval '(define a 2) env)
(eval 'a env)


53 名前:50 mailto:sage [2006/06/30(金) 13:27:21 ]
>>52
おーできた、ありがとう!

54 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 16:26:34 ]
携帯(例えばiアプリ)上で使えるSchemeってないのかな?


55 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 17:12:21 ]
携帯単体ではさすがにキツイべ
逆立ちしてもメモリが足りねえよ

56 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 18:55:59 ]
>>55
heapとして扱えるメモリは意外とあるんだよ、ないのは実行コードエリアとしての容量なんだよね。
だが所詮iAppli


57 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 19:03:06 ]
そうか〜。やっぱし携帯ではきついものがあるのか。

58 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 19:38:30 ]
コードをネット上から読み込んで動作するようにすればどうだ?
携帯Javaでそんなことが出来るか知らんけど。
そしてそこまでするならCGIとかでもいいかもしれんが。

59 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 19:43:36 ]
携帯の上でSchemeインタプリタを動かすかどうか別にして、そういう制限環境向けの
プログラムジェネレータをLisp系の言語で書くという発想は面白いかもしれない。

60 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 12:20:49 ]
www.okisoft.co.jp/esc/whitepaper.html



61 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 15:28:51 ]
(display '(a b "cd\n"))
ってやると
(a b cd
)
って表示されちゃうんだけど、
本当は
(a b "cd\n")
というふうに元の形のまま出力させたい。
どうしたらいいんでしょうか?
自分で元の形のまま出力する関数を定義するしかない?
それともschemeにそういう関数がもとから備わってる?

(write '(a b "cd\n"))
でも出力は
(a b "cd
")
で\nが改行に変わってしまってだめだった。



62 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 15:49:06 ]
\\

63 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 19:54:55 ]
\\
じゃだめで、
エスケープしなくてもそのままの形でS式の中のstringを表示させたいんだけど。

64 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 20:01:50 ]
goshでwriteだと\nて出た

65 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 20:02:08 ]
'(a b "cd\n")
ならばそのまま
(a b "cd\n")
と。
'(a b "cd\\n")
ならばそのまま
(a b "cd\\n")
と表示させたいんです。説明足らずですみません。

66 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 20:06:56 ]
>>64
goshだと確かに\nって出ますね・・・
でもguileだとダメだ・・・
処理系依存なのか・・・
guile用には自分で定義するしかないかなぁ。

67 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 20:09:36 ]
writeはreadできるように書き出せば良いので、どちらの処理系も間違いではないのだろうな

68 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:39:49 ]
guile だと \n は read した時点で改行になってるっぽい。
write の代替書くとかいう方法じゃ解決できなそうだね。

(string-length "\n")
=> 1

(equal? "\n" "
")
=> #t

69 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:49:25 ]
readした時点で改行文字になるのは当然。
問題はwriteが文字列中の改行文字をどう出力するかだよ。

70 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 23:05:06 ]
つまり、どうやっても「元の形のまま」出力することはできないってことでいいのかな。
改行と \n が区別できないってことは、両方含む文字列はどっちかが変換されちゃう。



71 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 23:09:31 ]
>>70
致命的な勘違いをしてないか?

72 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 00:51:39 ]
確かに何か勘違いしてるっぽいけど...

ASCII コードで 32 以下なら ¥ でエンコードし、
それ以外はそのまま表示するような display/write もどきを
自前で書き起こすというのはダメ?


73 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 02:20:49 ]
>>72
こんな質問をする奴にそれを進めても、自分が何やってるか理解できずに今度は
"ab
cd"

"ab\ncd"としか出力できません
という質問がされる悪寒。


74 名前:61 mailto:sage [2006/07/04(火) 03:53:56 ]
改行を\nと出力する自前の関数を定義するっきゃなさそうですね。
今やろうとしてることでは
"ab
cd"
なんていう入力は想定しなくていいので問題ないです。
ありがとうございました。

75 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:13:02 ]
schemeで
関数のリストfuncsと、データのリストdatasがあって、
funcsのn番目を、datasのn番目に適用してくれる関数ってない?
再帰使ってちょこちょこっと書けばいいんだけど。
(define funcs '(func1 func2 func3))
(define datas '(a b c))
(hoge funcs datas)
=>((func1 a) (func2 b) (func3 c))
みたいになるやつ。

76 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:50:54 ]
map apply すりゃいいんじゃないの

ところで data は複数形だぞ。単数形は datum。


77 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:59:41 ]
datasわろす

78 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 01:18:47 ]
koders.com/?s=datas

79 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 06:22:48 ]
>>75
(zip funcs datas)
=> ((func1 a) (func2 b) (func3 c))

80 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 07:25:35 ]
例の戻り値が不適切っぽいのはともかく、適用したいってんだから、
(map (cut <> <>) funcs datas)
じゃないかな。



81 名前:デフォルトの名無しさん [2006/07/10(月) 17:44:09 ]
(set! a '(0 1 2 3 4 5))

があるとして、配列 a の後ろから二番目の値、この場合は4を取り出す方法を教えてください

(car とか cdr とかわかんねー。どうやったら後ろから二番目の値を取れるのか・・・)

82 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 17:47:34 ]
(list-ref a (- (length a) 2))

83 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 17:50:01 ]
=> (list-ref a (- (length a) 2))
ERROR: unbound variable (errobj list-ref)
--

すまん、今使ってるのは script-fu uyq@


84 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 17:58:46 ]
(define (list-ref lis idx)
  (if (= idx 0) (car lis) (list-ref (cdr lis) (- idx 1))))

85 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 17:58:47 ]
(define list-ref
(lambda (ls position)
(if (= position 0)
(car ls)
(list-ref (cdr ls) (- position 1)))))

--

ググったら↑みたいのが出てきた。
これで script-fu でも list-ref が使えるらしい。

マンドクセからこれ使おうっと

86 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 00:13:08 ]
(cadr (reverse a))

87 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 16:08:25 ]
carやcdrは判っておいたほうがよい。
リストの構造を紙に書いて考えるんだ。

88 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 17:19:13 ]
ずいぶん前だけど、かなりemacs lisp関連のコードを
コントリビュートしてる人が、consセルって何?みたいな
話しててたまげた。

carとかcdrもS式で表現されたリストに対する操作として
理解してたらしい。

そういうのもありなんだとある意味感動した。


89 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 17:47:49 ]
caddrとかの言い回しは気にならなかったのかな

90 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 17:55:22 ]
>>88
そんな香具師のcontributeしたelispコードなんて使いたくねーな



91 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 19:20:14 ]
実際セル知らなくてもS式だけで完結しちゃうだろ。

92 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 23:07:34 ]
alist もリストのリストにするのか?
問題はないけど何か無駄な感じ

93 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 23:30:01 ]
alistはリストのリストにすること多いけどな。
92は後からデータが追加されるときにcdrをcadrにいちいち書き換えるのか?

94 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 23:50:35 ]
点対とかどうやって理解してるのか興味あるな
まぁアセンブラ書いたこと無い奴のCプログラムみたいなもんなんだろうな

95 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 00:10:20 ]
consを廃止すればドット対作れなくね?
listで良くね?

96 名前:デフォルトの名無しさん [2006/07/12(水) 00:12:14 ]
先頭に1個付けたいときどうするの?

97 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 00:21:35 ]
リストの共有状態とかも理解してない悪寒

98 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 00:49:28 ]
>>93
cadrは何か半端で嫌いだ。
cdrだとビシッとした感じでカッコいいよ?

99 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 01:31:09 ]
>>95
R6RS 方面でそんな話題も出てるみたいね。
といってもさすがに cons 廃止じゃなくて、
cons の第二引数を list に限定しましょうって話だけれど。
↓の 5. Mutability of pairs の最後の段落参照。
www.schemers.org/Documents/Standards/Charter/status-jun-2006/status-jun06.html


100 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 01:36:41 ]
>>99
うへぇ



101 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 21:07:41 ]
SBCL 最新リリースで Solaris と Mac OS X もネイティブスレッド対応されたみたいだね。
Mac は experimental みたいだけど。

sbcl.sourceforge.net/news.html#0.9.14

102 名前:デフォルトの名無しさん [2006/07/13(木) 00:48:19 ]
自分、Scheme、特にDrSchemeがものすごい
スキなんですけど、Schemeのプログラマー募集してる
会社って皆無ですよね。なんで?
exe作れないから?
実用性ゼロだから?

103 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 00:55:06 ]
>>102
Schemeでできるような面白い仕事を人に回したくないからだよ

104 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 09:33:51 ]
我らが教祖様がインタビューに答えているぞ。
japan.cnet.com/interview/ent/story/0,2000055958,20168687,00.htm

105 名前:デフォルトの名無しさん [2006/07/13(木) 11:40:39 ]
(defun power (x y)         
(loop with i = 0 with tmp = 1
do
(when (>= i y) (return tmp))
(setq i (+ 1 i))
(setq tmp (* tmp x))
))
この式をsetqを使わない方法でやるのってどうやるんでしょうか?

106 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 11:47:47 ]
CL-USER> (defun power (x y)
(setq i 0)       
(setq tmp 1)         
(loop             
    (if (>= i y)(return tmp))  
(setq i (+ 1 i))      
(setq tmp (* tmp x))  
))
POWER
CL-USER> (power 3 2)
9

間違えました、こっちの式です

107 名前:デフォルトの名無しさん mailto:sage [2006/07/13(木) 12:17:52 ]
(defun power (x y)
(labels ((fuga (x y z)
(if (zerop y)
z
(fuga x (1- y) (* z x)))
))
(fuga x y 1)))
もしくは
(defmacro power (x y)
`(expt ,x ,y))
もしくは
(setf (symbol-function 'power) #'expt)

108 名前:デフォルトの名無しさん [2006/07/15(土) 19:35:16 ]
DrSchemeでdoに相当するものを教えてください。
まさかないことはないと思うので・・。

109 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 19:48:14 ]
仮に無くても5分で作れるだろ

110 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 20:26:27 ]
>>108
メニュー -> 言語 -> 言語の選択 -> r5rsなどを選択



111 名前:デフォルトの名無しさん [2006/07/15(土) 21:36:36 ]
>>110
ありがとうございます。
teaching languageを使ってました。
>>109
時間があるときに考えてみます。

112 名前:デフォルトの名無しさん [2006/07/15(土) 22:10:55 ]
(symbol-append 'a 'kuuhaku 'b) -> a b
となるような「kuuhaku」の部分の書き方はどうすれば良いですか?

113 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 22:33:30 ]
(define (symbol-append . symlist)
(string->symbol
(apply string-append
(map
(lambda(sym)
(if (eq? sym 'kuuhaku)
" " (symbol->string sym))) symlist))))


114 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 01:26:28 ]
common lisp なら | | か \ かな。(intern " ") でもいいけど。

115 名前:デフォルトの名無しさん [2006/07/16(日) 01:47:45 ]
>>113
ちょっとよく分かりません。申し訳ないです。
>>114
ありがとうございます。それで上手く行きそうです。

116 名前:デフォルトの名無しさん [2006/07/16(日) 19:43:13 ]
DrSchemeで微分プログラムに挑戦してんだけど、
自分だけだと行き詰る。参考HPとかある?

117 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 20:17:15 ]
ちょっと調べたけど、そのものずばりのwebpageは無さそうだね。
どこで行き詰ってるのか具体的に書けば、なんらかのアドバイスが出てくると思うよ。
まさか数値解析から教えてくれなんて事じゃないよねw

118 名前:デフォルトの名無しさん [2006/07/16(日) 20:20:43 ]
xをn乗回かけるプログラムをSchemeで書くとどうなる?

119 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 20:26:08 ]
schemeって何?

120 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 20:27:01 ]
スチームっていう発音でいいの?



121 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 21:05:57 ]
(define (expt x n)
(if (= n 0)
   1
   (* x (expt x (- n 1)))))

122 名前:デフォルトの名無しさん [2006/07/16(日) 21:08:47 ]
人工知能の第一人者J・マッカーシー氏に聞く--AI研究、半世紀の歴史を振り返る
japan.cnet.com/interview/ent/story/0,2000055958,20168687,00.htm

123 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 22:53:20 ]
>>116
微分のプログラムは難しいよ。
参考になるサイトはないと思う。

124 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 23:04:41 ]
数値微分なのか数式微分かくらいかかにゃアドバイスできんがね

125 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 02:19:13 ]
>>121
デファインしないとだめなのか。

もし、nが0だったら、
1を返しなさい。

それ以外だったら、
(n−1)を実行して、
それとXを掛けて、、

あーーーーーわかんなくなった

126 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 02:31:55 ]
defineしなくてもnamed-letやY-Combinatorでも書けるでしょ

127 名前:デフォルトの名無しさん [2006/07/17(月) 03:17:31 ]
tkoolup.hp.infoseek.co.jp/cgi-bin/src/tkoolup0924.png
日本語版ダウンロードしたら文字化けします

128 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 10:20:26 ]
>>116
SICP嫁

129 名前:デフォルトの名無しさん [2006/07/19(水) 00:14:10 ]
引数任意(一個以上)な関数はどうすれば定義できますか?

130 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 00:15:43 ]
>>129
&restなど



131 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 00:18:10 ]
>>129
ラムダリストで調べれ。

132 名前:デフォルトの名無しさん [2006/07/19(水) 01:23:30 ]
>>130-131
どうもです。

133 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 02:07:29 ]
ハーフライフ1で、やたら
λ(ラムダ)
って用語が出てくるんだけど、体験版やってみたら、
スタート地点から、ゴールまで行って、
またそこからスタート地点までわざわざ
戻ってくるんだよね。マラソンの折り返し地点みたいに。
なんでラムダラムダ言ってたのか、ようやくわかるというわけ。
この開発者、たぶんLispかスキームが好きなんだとおもうよ。

134 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 09:01:03 ]
>>133
なんだかさっぱりわからないのですが、ゲームか何かの話?

135 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 10:03:39 ]
単にΛの字面から来てるんじゃないのか?

136 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 10:08:48 ]
「ラムダ」でググってたら、実は世の中は隠れLispマニアでいっぱいだということがわかったw

137 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 12:10:39 ]
Half-Lifeのλは半減期(Half-Life)から来てるんじゃね?
Lispとは関係ない気がする。

138 名前:デフォルトの名無しさん [2006/07/29(土) 19:43:32 ]
数式微分わからん。SICP通りにやっても動作しないけど。
ほかに参考になるサンプルソースはないのか?

139 名前:デフォルトの名無しさん mailto:sage [2006/07/29(土) 19:45:21 ]
>>138
微分には挑戦したことないからわからない。
参考図書とかあればこんど探してくるよ。

140 名前:デフォルトの名無しさん [2006/07/29(土) 19:46:03 ]
>>139
サンクス。



141 名前:デフォルトの名無しさん mailto:sage [2006/07/29(土) 19:48:21 ]
>>138
微分のコードは書いたことないからわからない。
SICPに書いてあるけどよくわからない。

142 名前:デフォルトの名無しさん [2006/07/30(日) 03:23:57 ]
>>138
SICPでぐぐるとコードが落とせるところが引っ掛かるから
それ使ってやってみれ。それでダメなら何か根本的に勘違いしてる。

143 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 06:43:12 ]
lispuser.net/memo/lisp/2006-07-22-21-42.html
Windows で CLISP + SLIME + Tcl/Tk キターーーー


144 名前:デフォルトの名無しさん [2006/07/30(日) 14:16:26 ]
Tcl までついてくんのか……

145 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 14:39:11 ]
たしかにTclはいらんなw

146 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 18:55:59 ]
つかlisperがwindowsって違和感。
PC Unix か Mac OS X つかおうぜ

147 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 19:00:00 ]
むしろ Windows が VMS だと考えるんだッ

148 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 19:01:52 ]
頭のなかでVMSとMVSがけっこう混ざってる

149 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 19:28:34 ]
>>146
んなこと言ってると喰えないのだ

150 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 19:29:38 ]
cygwin上ならセフセフ



151 名前:デフォルトの名無しさん mailto:sage [2006/08/02(水) 11:26:56 ]
practical common lispってなんであんなにloopばっか使ってんのかね?
mapcarとかで済みそうなものも徹底してloopしか使わない……



152 名前:デフォルトの名無しさん mailto:sage [2006/08/02(水) 23:53:51 ]
guileで
(use-modules (ice-9 r5rs))
(define env1 (scheme-report-environment 5))
(define env2 (scheme-report-environment 5))
(eval '(define a 3) env1)

としておいて、
(eval 'a env1)
を評価すると3になるんだけど、
(eval 'a env2)
を評価しても結果が3になってしまう。
つまりenv1とenv2は同じオブジェクトってことになってしまっている。

env1の中での環境の変化をenv2には影響させない方法ってありませんか?

153 名前:デフォルトの名無しさん mailto:sage [2006/08/03(木) 00:23:14 ]
にるぽ

154 名前:デフォルトの名無しさん mailto:sage [2006/08/03(木) 00:46:53 ]
かー

155 名前:デフォルトの名無しさん mailto:sage [2006/08/03(木) 01:26:29 ]
>>152
いまいちやりたいことがわからんが・・・
scheme-report-environmentはR5RSで定義されてるバインドだけ持った環境を返すだけで
返してきた環境の中に新たにバインドつくるとかはできないんだぜ?

156 名前:デフォルトの名無しさん mailto:sage [2006/08/03(木) 07:46:45 ]
いや、それがやりたいんだと思うよ。
R5RSに出来ないと書いてあるのにできちゃうevalってのも不親切といえば
不親切ではあるかも知れない(が、エラーにしちゃうとそれも不便だろうな)。

R5RSより:
 -- procedure: eval expression environment-specifier
     Evaluates EXPRESSION in the specified environment and returns its
     value. EXPRESSION must be a valid Scheme expression represented
     as data, and ENVIRONMENT-SPECIFIER must be a value returned by one
     of the three procedures described below. Implementations may
     extend `eval' to allow non-expression programs (definitions) as
     the first argument and to allow other values as environments, with
     the restriction that `eval' is not allowed to create new bindings
     in the environments associated with `null-environment' or
     `scheme-report-environment'.


157 名前:デフォルトの名無しさん mailto:sage [2006/08/04(金) 03:18:49 ]
LispWorks5.0出荷されてますね。
www.lispworks.com/news/news19.html


158 名前:デフォルトの名無しさん mailto:sage [2006/08/04(金) 22:05:05 ]
>>144
なにかと思ったら LTK 動かすためなんじゃね?入門を目指すならいいん
じゃないかな。むしろ「GUI もできます… Tcl/Tk を入れれば」は初心者
には引かれるだろ。よく言われる

- フリー
- ANSI Common Lisp (MOP, Gray Stream などデファクトスタンダード含む)
- Windows 用
- .exe が作れる
- GUI がつかえる

は満せつつあるんだねー。でもドキュメントが足りない気がする。

159 名前:デフォルトの名無しさん mailto:sage [2006/08/05(土) 05:32:30 ]
R5RSって「あーるごあーるえす」って読むの?

160 名前:デフォルトの名無しさん mailto:sage [2006/08/05(土) 07:48:41 ]
うん。



161 名前:デフォルトの名無しさん [2006/08/05(土) 22:50:40 ]
>>158
Tkは解るけど、Tclっているのん?

162 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 00:28:18 ]
Tkは言語中立なGUIツールキットなんかじゃないよ。

163 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 00:35:21 ]
>>161
Tk needs Tcl.

164 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/08/06(日) 00:40:49 ]
Perl/TkやRuby/Tkが流行る当たり、Tclの言語としての駄目さ加減がわかるな。


165 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 12:42:45 ]
ここで Tcl を叩くのはスレ違いだと思うが…。

Ruby/Tk も Tcl 要るよ?Python の Tkinter も Tcl 要るし。名前の印象にダ
マされてる? Perl/Tk だけが自力で Tk とのバインディングを持ってる。

166 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 13:23:13 ]
でもTclが嫌いでTcl/Tkを避ける奴は多いと思う
実際には他言語のバインド使うならほとんどTclの知識は要らないんだけどね

167 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 14:11:35 ]
最近 Lisp はじめたんですけど,Perl/Tk みたいに結局インターフェースは
Tcl っぽくなってしまうような気がしますね。Perl/Tk は流行してないと思い
ますが…最近あまり動きないですし。

168 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 14:48:50 ]
Tclは一つの言語というより、可搬式コマンドラインツールセットというべきかと。
比較対象としてはPerlやRubyより、Dosemuやcygwinに近い

169 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 14:55:54 ]
tclはシェルの一種だよ。

170 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 20:10:45 ]
歴史長い割に普及してないね。
やっぱUNIXのGUIってセンスがダメなのよね。



171 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 21:19:27 ]
・・・え?

172 名前:デフォルトの名無しさん mailto:sage [2006/08/07(月) 01:38:00 ]
UNIXのGUI(笑)

173 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/08/07(月) 01:41:17 ]
QtやGtkのバインディングってないの?

174 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 23:13:00 ]
ググるという行為を知らんのかね?
www.cliki.net/Graphics%20Toolkit

175 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 01:14:49 ]
ググらせるという行為を知らんのかね?

176 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 01:17:41 ]
知らん

177 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 00:43:19 ]
Schemeのわかりやすい、楽しい本ってなんでないの?

178 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 00:45:26 ]
>>177
君が何を読んでも楽しさを感じられない人間だからだと思う

179 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 00:49:17 ]
>>178
お前の家族を明日殺す

180 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 00:51:31 ]
キタ━━━(´・ω・`)━━━・・・



181 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 02:47:33 ]
>>179
一応警察に通報しておく


182 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 09:16:43 ]
>>177
Little Schemerかのう・・・軽く読めるんけど、楽しいかというとびみょ

183 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 20:16:06 ]
EoPL第2版がおすすめだ。

184 名前:デフォルトの名無しさん mailto:sage [2006/08/16(水) 22:31:52 ]
「リスト遊び」をschemeに翻訳するとか。
最近俺がやってる遊びだが。

185 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 17:11:50 ]
院試でSchemeの問題が…

orz

186 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 18:09:51 ]
それは喜ぶところじゃないのか


187 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 18:17:43 ]
うーん。普段Schemeのプログラムはちょっとは書いてるつもりだったし、最初の
小問はかなり簡単だったんで喜んだんだけど… 再帰の計算量(?)を求める
問題とsamefringeが難しかった…


188 名前:デフォルトの名無しさん [2006/08/17(木) 21:39:36 ]
samefringeを出題するおちゃめな大学があるのか…

189 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 17:36:24 ]
flattenしてequal?で調べるではやっぱり駄目?

190 名前:デフォルトの名無しさん [2006/08/18(金) 18:31:56 ]
どんな問題なんだろう。call/ccでコルーチン作るやつかな?
そんなの院試に出されたら死屍累々という気もするが。



191 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 18:50:28 ]
>>190
試しに書いたらhaskellで楽勝だったのに
Schemeで大失敗したorz



192 名前:デフォルトの名無しさん [2006/08/18(金) 20:48:44 ]
Haskellだとどうやって書くの?

193 名前:デフォルトの名無しさん mailto:sage [2006/08/19(土) 02:39:27 ]
ググッたらめっけた

data Tree a = Leaf a | Node [Tree a]
fringe (Leaf x) = [x]
fringe (Node x) = foldr (\x r -> fringe x ++ r) [] x

samefringe x y = fringe x == fringe y

でもツリー作るのマンドクサイ
(Node [(Node [(Leaf 1), (Leaf 2)]), (Node [(Leaf 3), (Node [(Leaf 4) ])])])

194 名前:デフォルトの名無しさん [2006/08/26(土) 15:32:15 ]
SBCLのREPLから対話処理をするプログラムを実行したいんだけど、
例えば以下のようにすると、

(setf p (run-program "/usr/bin/dc" nil :pty t :wait nil))
(format (process-pty p) "2 3 *~%")
(terpri (process-pty p))
(format (process-pty p) "p~%")
(terpri (process-pty p))
(format t "~A" (read-line (process-pty p)))

6が表示されると思われるんだけど、実際には入力待ちになってしまうのはどうしてなぜ?

195 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 00:42:24 ]
読み込みでブロックするっつーことは stream が無効なわけじゃなさそうだね.
stream が buffering してんじゃない? dc ないから bc で試してみた.pty
使えない環境なんで :stream 経由で.環境は sbcl 0.9.16 です.

CL-USER> (defun bc-example ()
(let ((process (run-program "/usr/bin/bc" '("-q" "-i") :output :stream :input :stream :wait nil)))
(unwind-protect
(progn
(write-line "x = 2" (process-input process))
(write-line "y = 29" (process-input process))
(write-line "x^y-1" (process-input process))
(finish-output (process-input process)) ;; これがないとブロックする
(write-line (read-line (process-output process))))
(process-close process))))

BC-EXAMPLE
CL-USER> (bc-example)
536870911
"536870911"


196 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 17:00:26 ]
R5RSを読んでるんですが、
3.5節の末尾再帰のところに出てくる「アクタ(actor)」というのは
昔の歴史的な事柄で今のSchemeにはもう関係ない話だと思って良いですよね?

197 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 21:58:26 ]
Hewittせんせーい!

198 名前:デフォルトの名無しさん [2006/08/29(火) 21:17:32 ]
scm5e1でscheme勉強しています。
> (let ((x 10)) (define x (+ x 1)))
とすると、

;ERROR: bad body ((define x (+ x 1)))
; in expression: (let ((x 10)) (define x (+ x 1)))
; in top level environment.
;STACK TRACE
1; (let ((x 10)) (define x (+ x 1)))
と怒られてしまうのですが、
これはなぜでしょうか。
letの中で外に影響を及ぼすdefineを使っているからですか?

199 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 21:34:56 ]
>>198
define で初期値として x を参照してるから。
(let ((x 10)) (define x (+ x 1)))
== (let ((x 10)) (letrec ((x (+ x 1)))))
んで、R5RS 4.2.2 Binding constructs
> library syntax: (letrec <bindings> <body>)
> Syntax: <Bindings> should have the form
> ((<variable1> <init1>) ...),
...
> One restriction on letrec is very important: it must be possible
> to evaluate each <init> without assigning or referring to the
> value of any <variable>.

200 名前:198 mailto:sage [2006/08/30(水) 07:05:34 ]
>199
ありがとうございます。
defineの所の説明とあわせて読んだら分りました。

こんどは、letrecを試してみようと、
> (letrec ((x 2) (y 'x)) (eval y))
としたところ、

;ERROR: "/usr/local/lib/scm/Init5e1.scm": unbound variable: x
; in expression: (#@@eval (#@@copy-tree #@x))
; in scope:
; (x) procedure <anon>
; (@eval @copy-tree . #@let)
; defined by load: "/usr/local/lib/scm/Init5e1.scm"

;STACK TRACE
1; x
2; (#@letrec ((x 2) (y (#@quote x))) (#@eval #@y))
といわれてしまいます。

(define x 2)(define y 'x)(eval y)
なら2が帰って来てくれるのですが、
何がいけないのでしょうか。
letrecだと変数領域が割り当てられて、
それから初期値が算出される、と書いてあったので、
このやり方ならyは既に割り当てられたxをさすようになるだろうから、
正しく動くと思ったんですが...



201 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 08:25:52 ]
>>195
これでうまくいきました。cmuclでもちゃんと動くようです。ありがとうございました。
Schemeのflashのようなものでしょうか。改行すればフラッシュされるものと思いこんでました…orz

202 名前:デフォルトの名無しさん mailto:sage [2006/08/31(木) 02:33:39 ]
>>200
eval は局所環境を参照しないんじゃないでしょうか。

203 名前:デフォルトの名無しさん mailto:sage [2006/08/31(木) 19:20:39 ]
>>200
環境についてもうちょっと調べたほうがいい。
(eval y (current-environment))
で期待の動作をする処理系もあるけど、
トップレベルは言語の都合上、例外的な動作になる。
schemeの気持ち悪い所の1つ。

多分やりたい事のほとんどはマクロで済むし、
移植性も悪くなるから、schemeに慣れてくると
evalはあまり使わなくなる。


204 名前:デフォルトの名無しさん [2006/08/31(木) 23:15:07 ]
きんもー

205 名前:198 mailto:sage [2006/09/01(金) 14:40:56 ]
>202,203
ありがとうございます。
もう少し勉強しなおしてみます。

206 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 14:23:09 ]
www.comics.com/comics/workingdaze/archive/workingdaze-20060901.html
とほほ。

207 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 16:32:11 ]
物の喩えなのは重々承知しつつも
やはり1コマ目のシチュがあり得なすぎて入り込めん。

208 名前:デフォルトの名無しさん mailto:sage [2006/09/04(月) 03:19:44 ]
入り込むもなにも
リスパーをばかにしてるだけじゃんw。


209 名前:デフォルトの名無しさん mailto:sage [2006/09/04(月) 06:55:22 ]
キャラ紹介
ttp://www.comics.com/comics/workingdaze/html/cast_WorkingDaze.html
によると、
Roy, the engineer/repair guy:
an expert with computers and machines,
but he doesn't have a clue how to deal with people.
らしいから、
おにゃのこと言語オタクの区別が出来てないってことじゃなかろか。

210 名前:デフォルトの名無しさん mailto:sage [2006/09/04(月) 08:11:19 ]
普通に考えればLISPを何に変えても成り立つ罠



211 名前:デフォルトの名無しさん mailto:sage [2006/09/04(月) 08:19:04 ]
乳房の輪郭と (  ) の区別がつかなくなることはよくあること。

212 名前:デフォルトの名無しさん [2006/09/04(月) 13:55:59 ]
>>207
ハゲデブメガネじゃなあ

213 名前:デフォルトの名無しさん mailto:sage [2006/09/04(月) 15:02:06 ]
2コマ目の負け惜しみが悲しい…。
「LISPの価値の分からないようなやつとは、誰ともデートしたくなかったんだ」
ショボーン。


214 名前:デフォルトの名無しさん mailto:sage [2006/09/10(日) 22:19:48 ]
>>213
違うだろ。LISPじゃなくて「LISP使える俺様」なのがpoint。

遅レスで悪いが。


215 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 01:18:07 ]
Scheme勉強している初心者です。
お世話になります。

先ほど、Biglooは.NETにも対応(?)しているということを知り、
インストールしてみました。
しかし、英語力がないためかマニュアル読んでも欲しい情報が得られませんでした・・・。
.NET Frameworkを使ってMessageBoxを表示するようなプログラムはどう書けばいいのでしょうか??(汗
ご存知の方いましたら教えてください。。。宜しくお願いします。


216 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 22:29:54 ]
.NET上のVM向けにコンパイルできるってだけじゃない?

217 名前:デフォルトの名無しさん mailto:age [2006/09/13(水) 09:05:35 ]
これってダンジョン自動生成のコード書くのに向いてます?

218 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 12:39:59 ]
向いています

219 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 13:28:29 ]
>>217 風来のシレン
>>217 乱数発生ライブラリー作ってくれ

220 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 14:09:12 ]
つくってくれってなんですか
もしかしてEMacsでローグ系が
プレイできたりします?



221 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 14:22:59 ]
します

222 名前:219 mailto:sage [2006/09/13(水) 22:07:09 ]
>>217 風来のシレン
>>218 乱数発生ライブラリー作ってくれ

一文字違うと大変な事になるなぁ・・
ゴメン

223 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 09:16:50 ]
シレンは生成せず既製のダンジョンからランダムに抜いているだけですよ。
それとこっちに来てください。
pc8.2ch.net/test/read.cgi/gamedev/1027084016/

224 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 08:20:17 ]
ドラフト出ましたよ。
www.r6rs.org/

225 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 09:05:05 ]
正式版出るのって再来年くらい?待ちきれないYO

226 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 11:30:41 ]
待ってる間にHaskellに手を出してしまった俺は根性無し。

227 名前:デフォルトの名無しさん mailto:sage俺もな〜 [2006/09/15(金) 12:12:31 ]
やーい根性なし〜


228 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 21:47:03 ]
亀だが >>206 はあんまりだ。Lisper の地位を回復するため
わたしの体験を語ろう。

その頃のわたしにはコンピューター室が一番の居場所だった。
ノートPC用の電源。無線ネットワーク。他に何がいる?
銀色のノートPC がわたしの唯一の所有物だった。そして、
わたしには他には何もいらなかった(と信じていた)。

いまも鮮明に思い出せる。美しい黒髪、大きな瞳の優等生。
(つまり、「オタク」だったわたしには高嶺の花、だった。)
仮に t 子と呼ぼう。誰もいない夏休みのコンピューター室に、
ふいに彼女があらわれたのだ。

「君はずっとそこにいるの?」と彼女は言った。

-- それがわたしにとって、 Lisp という未知なる言語を学ぶ
きっかけだった。


229 名前:228 mailto:sage [2006/09/17(日) 22:01:00 ]
彼女がどのような意図だったかは分からない。
ただ、わたしは赤面し、怒り、何か毒舌を吐いた気がする。
うるせえガキはどこかへ行け、とか何とか。

(実際には彼女は優等生なだけではなく大人で、下手をすると
それから何年もたったいまのわたしよりも大人びていた。)

ありがたいことに、彼女は床でノートPC と格闘していた
わたしに興味を持っていた。わたしはその頃趣味で
幾つかのプログラムを書いていた。発表する気もない、
自分だけのプログラム。書かずにはいられないプログラムだった。

彼女の質問は驚くほど鋭く
- その頃のわたしは C と Perl を使っていたが、
そのどちらも学校で習ったものではなかった -
彼女はわたしよりも C を、あるいはノイマン型コンピューターを
熟知していたのだと思う。そのことはすぐに分かった。

いつしかわたしはまるで「オタク」を相手にするように、
自然に彼女と会話をしていた、その事に気付いて、唐突に沈黙した。

(調子にのるな、こんな美少女とお前は話をする
資格なんかないんだ geek が、とこころの中で誰かが非難していた)


230 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 23:49:33 ]
いくらリロードしても誰もワッフルとか書かないから諦めろ。



231 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 00:03:48 ]
ttps://www.cbook24.com/bm_detail.asp?sku=4839920818

232 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 02:11:31 ]
>>231
意味もなく生物のイラストが表紙になるのはやはりラクダのせいかねぇ。


233 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 02:41:38 ]
表紙解説
Common LispはEmacsじゃないから野牛は使えません。
そこでインタプリタ型bisonことawk(海鳥)に目を付けたが
Common Lispは手続き型じゃないからaukは使えません。
そこで海鳥じゃなくて水鳥に落ち着きました

234 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 02:46:55 ]
Lisp関係の本が増えるのは嬉しいけど、入門書以外も充実したらいいなと思うんだ

235 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 03:24:37 ]
>>233
作者さんですか? Lisp 書籍コレクターの血が騒ぐので買います。でももっと
特化した内容のも買いてください。まずは教材に使えそうな「自然言語処理編」
とか「統計編」とか「数値計算」とか〜

でも Common Lisp の本なのに SLIME がないのはちょっと残念…

236 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 04:02:49 ]
ぶしつけな質問だけど関数型プログラミングってメリットある?
代入式使わないとか。

237 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 04:17:35 ]
>>231
今時出すのにこの題材でCommon Lisp? と思ってしまうが、
xyzzy使ってとっつきやすく、ってことなのかな?

238 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 04:18:48 ]
>>236
マルチスレッドでアホみたいに悩むことが減る。

239 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 04:32:30 ]
それをいったら R6RS 直前に Scheme も微妙じゃね。PLT なら入門者にも受け
るか…とおもうが xyzzy には勝てないわな。あれは Lisper 以外も使いたがる
良いエディタです。

>>236
Lisp の場合は強制じゃなくて選択ですからね。メリットが実感できるまでは普
通に副作用使いまくればいいんじゃないでしょうか。


240 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 07:07:45 ]
残念ながらxyzzyはあまりに遅すぎる




241 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 07:41:15 ]
何と比較して?常駐秀丸と起動速度で勝負とかなら同意するけど…


242 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 07:50:40 ]
>>241
Lispの実行速度じゃないの。

243 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 08:39:14 ]
>>241
普通にキータイプのレスポンスが遅くね?

244 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 09:32:45 ]
>>231とか、この前本屋で手に取った
ttp://www.amazon.co.jp/gp/product/479733665X
とか、`関数型'って言うのが微妙にクローズアップされているような
気がする。

その言語を扱っている書籍の中で、過去に出版された物より…
くらいの意味だけど。

Haskellが話題になったから?

245 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 11:37:22 ]
>>234
野田さんのOn Lisp翻訳に期待。(まだー?w)

246 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 14:22:46 ]
>>245
On Lispの翻訳を見たときは、日本にもまだまだ優秀な学生さんが居ると感心していたが
urlを見ると東大の学生じゃねーか、東大だよ東大!!!

そりゃぁ、出来て当然。Orz

247 名前: ◆r6EONKKhcc mailto:sage [2006/09/18(月) 14:25:48 ]
orz

248 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 14:43:19 ]
>>246
東大コンプレックス乙ww

249 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 15:29:45 ]
高卒は必ず噛み付くよね、こういう時。

250 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 16:13:12 ]
>>249
学歴コンプレックス乙ww



251 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 16:49:00 ]
>>250
高卒乙ww

252 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 19:18:58 ]
もうやめろ

253 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 22:32:01 ]
LISP…言語設計のブラックホール
www.rubyist.net/~matz/20060914.html#p01

Guy Steele曰く「Lispはブラックホールだ。「Lispに似た(でもLispではない)なにか」を
作ろうとすると、重力につかまってブラックホールに落ちてしまう。そしてそれはLispになる。

254 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 22:45:52 ]
Java も大変だよね。シンプルを目指していたのに Generics や Closure など
初期にあえて省いた機能を入れざるを得ない…。


255 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 23:31:15 ]
Javaの場合は言語サイドからってより、VMで動かそうぜというコンセプトが
結局Closure導入に至った感じがする。

256 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 23:54:05 ]
様々な言語で共通に使えるVMということを考えると当然の方向性だな

257 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 00:27:08 ]
Javaの初期にはネットワーク対応OLEという方向が想定されてて
そのための安全性とポータブル性に注意が払われてたが
実際は鯖サイドで成功して、どんどんノリ重視ホイホイ開発な方向になってきたわけで。
Appleも一時期Objective-Cを畳んでJavaに移行ムードだったのが復活模様だし

258 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 11:55:35 ]
>>247
あれ?flatlineさん、まだ2chに来てたのね。
はてなダイアリ見てます。院試合格おめでとう。たまにはLISPのことも書いてね。
『On Lisp』出版の話とかは、別に急がなくてもいいから。
d.hatena.ne.jp/flappphys/

まあこんなこと言ってる自分も、最近じゃPythonとHaskellばかりうわなにをするやめr


259 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 18:04:23 ]
Schemeでスクロールゲームって作れたりしますか?

260 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 18:13:05 ]
魔法の巻物でなんかするゲームかね?



261 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 18:30:03 ]
R5RSのつもりでR6RSのドラフトを見ていくと3倍の時間がかかるゲームですか?

てか50ページから142ページに増大ってどういうことよ。
正式版ではシェイプアップするのかね。

262 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 19:07:59 ]
>>259
Schemeで作れないものなんてありません

263 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 19:10:09 ]
ではSchemeでコーヒーをいれてくれ

264 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 19:10:14 ]
>>261
ほとんどライブラリだから興味あるとこだけ読めばいいんじゃね?
異論もあるだろうが、個人的にはやっと一人前の言語仕様書になったという気がするよ。w
これでSRFIのお世話にならないで済むようになるのかな。

265 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 19:10:50 ]
>>263
Java VMを作れという意味か?w

266 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 19:21:35 ]
RFCにコーヒー淹れるプロトコルあったな

267 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 00:47:37 ]
流れ豚ギルケド、MLISP(Meta-Lisp) なんて方言があるのね。
Algol 風の文法らしいけど、誰か使った事ある?

268 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 00:50:50 ]
>>267
M式だな。昔、中西先生が実装した奴を使った。
昔はエディタなどの入力支援が貧弱だったから、括弧が減るのは有り難かったのかも
しれないが、S式に慣れてしまうと要らないかなという気もする。
入門者向けには面白いかもしれないね。

269 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 01:08:10 ]
>>267
sumim.no-ip.com:8080/wiki/435

余談。
竹内郁雄『初めての人のためのLISP』では、M式は一応ちゃんと説明されていたけど、
そのあとすぐ、だけどS式だって十分読み書きしやすいんだから、こんなの要らないし、
この本でももう使わない、と切って捨てていた。

さすがは竹内先生。

270 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 08:06:59 ]
>>268-269
元はM式から来ているみたいですが、M式とはちょっと違うみたいです。

ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/68/92/CS-TR-68-92.pdf
hopl.murdoch.edu.au/showlanguage.prx?exp=517



271 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 11:36:07 ]
>>269
これマクロはLispと似たような感覚でできるの?

272 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 22:39:56 ]
define-syntaxとsyntax-caseの間のlambdaいらなくね?

273 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 01:58:21 ]
lambda を書かなくて済むマクロを定義すればよくね?

274 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 20:46:49 ]
頭悪くてdefine-syntaxを定義できねえ
define-macroのが良くね?

275 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 03:25:24 ]
>>272-273

  っ
    そ


276 名前:269 mailto:sage [2006/09/22(金) 11:03:14 ]
>>271
すまん、見落としていた。
結論から言うと、知りませんごめんなさい。
憶測を述べると、多分出来ないと思う。

「初めての人のためのLISP」を見直してみると、P201-P203にM式の説明が載っ
ているんだけど、この記法ではS式をデータ、M式をロジックとして用いると書
かれてる(S式は無条件でquoteされている扱いに)。

LISPのマクロはコードとデータの区別がないがゆえに成立するものだから、M
式ではマクロは書けないんじゃないかな。


277 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 13:56:08 ]
そこで、Dylan ならマクロも OO もオプショナルな型指定も出来るなあと
いつも思うんだけど、何故か食指が動かん。今なら OpenDylan が使える
んだが。

278 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 19:35:38 ]
名前が気持ち悪い>dylan

279 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 19:40:56 ]
dylanってボブ?

280 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 15:50:49 ]
Rubyist のための他言語探訪 【第 6 回】 Dylan
著者:まつもとゆきひろ
jp.rubyist.net/magazine/?0013-Legwork
> 人名の方の由来は Bob Dylan ではなく、Dylan Thomas (英国の詩人 1913-1953)
> なのだそうです。

もっとも、Bob Dylanの方も、ディランという名は詩人のDylan Thomas から
取っているので、どれも元ネタはこの詩人。



281 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 16:04:25 ]



なに?

282 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 18:22:26 ]
279=281だったら苦笑

283 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 19:23:31 ]
Rubyist のための他言語探訪
俺は、この題名のほうに苦笑

284 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 22:13:33 ]
>>279
DYnamic LANguage

285 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 02:40:08 ]
eval-whenを使って、コンパイル時にテーブルを作っておいて実行時にはそれを引く
ということをしたいのですが、どう書けばいいでしょうか。
例えばelispで
(defun foo (x) (assq x (eval-when-compile (mapcar #'cons '(a b c) '(1 2 3))))
とすれば、コンパイルすると定数のテーブルになってくれますが、
Common Lispのeval-whenを使ってコンパイル時に計算するにはどう書けばいいんでしょ。

286 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 09:16:41 ]
これじゃだめかな

(defun foo (x) (assq x #.(mapcar #'cons '(a b c) '(1 2 3))))

287 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 11:10:28 ]
ChezSchemeの高速性のひみつ
www.kmonos.net/wlog/65.html#_1433060921

なかなか面白かったんで貼ります。


288 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 11:58:59 ]
>>286
ありがとうございます。#.の前に'がいるみたいですが、使えました。
ところで
(eval-when (:compile-toplevel) (defun bar () (list 1 2 3)))
(defun foo (x) (assq x '#.(mapcar #'cons '(a b c) (bar))))
みたいに#.の中でbarが使えるようなのですが、これは保証されているのでしょうか?
#.による置換はコンパイラの前のリーダでの処理だと思うので、
ちょっと変な感じもするんですが。

289 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 23:15:08 ]
book.mycom.co.jp/book/4-8399-2081-8/4-8399-2081-8.shtml
入門Common Lisp〜関数型4つの特徴とλ計算

290 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 08:30:20 ]
>>289
>>231



291 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 10:15:28 ]
一日一門のスレにも書いてるし宣伝なんじゃない?

292 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 11:49:09 ]
>>288
S 式一つずつ read -> compile を繰り返してるんだと思うと変でもないような。
でも保証されているかといわれると、どうなんだろう

293 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 12:32:00 ]
コンパイル時に評価してほしいならマクロにすれば?
(defmacro eval-when-compile (&body body)
(list 'quote (eval (cons 'progn body))))

294 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 06:33:32 ]
>>293
標準で既にそういう手段が用意されているんじゃないかと思ったんですよ。
自分でマクロを用意しないとだめですかね。
(私も似たようなのを書きました。式を一つだけとり、compile-time-valueと)

>>292
保証されているような気がしてきました。というのも、
(in-package "HOGE")
も以後のリーダの動作に影響しないといけないから。

295 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 17:18:57 ]
clisp 2.40 age

296 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 10:58:50 ]
Rubyの生産性の高さはどこまで本当か?
d.hatena.ne.jp/fromdusktildawn/20061002/1159784863

はてなブックマークの人気記事だが、最終段にいきなりCLOSの熱烈な礼賛が現
れて驚いた。「追記:理想と現実」の部分。

何かそこだけ読むと、以下へのリンクだけあれば済むような気もするが。
技術野郎の復讐---全ての言語はLispに向かう?
practical-scheme.net/trans/icad-j.html


297 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 12:16:09 ]
PythonやRubyに備わってるような現代風のライブラリをCommon Lispでも標準化して
くれれば、もっと仕事でCommon Lisp使えるんだけどなぁ。
ライブラリに釣られてPythonとか使っちゃうことが多い今日この頃です。w

298 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 13:35:15 ]
現実的には、ライブラリは超重要だよな。

299 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 14:19:08 ]
(in-package :2ch-user-lib)

300 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 14:59:07 ]
>>297 お前は俺か。



301 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 17:51:26 ]
Norvigだって似たようなこと言ってるぜ。はっ、もしかしてお主はNorvig?

302 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:14:54 ]
>>297
自分ライブラリでいいじゃん。

303 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:57:39 ]
だめだ

304 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 00:04:45 ]
>>302
ライブラリ作るほうが面白くなってきて仕事が進まないのが難点

305 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 07:40:34 ]
仕事は誰かにやらせようぜ

306 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 03:35:55 ]
リファレンスカウントを採用しているCommon Lisp処理系ってあるんですか?

循環参照を解決するために他のGCも併用しなきゃいけないっていうのはわかってるんですが、基本的に使い終わったらすぐ開放されるっていう安心感がほしいんです。

Lispはメモリ馬鹿喰い&ガベコレで時間喰いまくりというイメージがあるので。

307 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 04:50:18 ]
いつの時代の話やねん

308 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 07:22:15 ]
使い終るたびに解放してたら遅くなるよ。


309 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 12:38:01 ]
>>297
禿同。まずは文字列処理周辺のライブラリかな。

310 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 13:16:03 ]
>>306
リファレンスカウントだとカウンタ操作が頻繁におこるのがねぇ。ヒマなとき
だろうがタイトループだろうが問答無用なうえ、カウンタ操作ミスると……

使い終わったらすぐ解放してほしいなら dynamic-extent があるよ。スタック
上にリストや配列を確保できるので、スコープ抜けた瞬間に GC のコストゼロ
で消える。それ以外ならリファレンスカウントよりも Generational GC のほう
が一般的に良いと思うけどねー。

まぁリファレンスカウントのほうが向いてるケースもあるので、どうしても、
というならあらかじめまとめてメモリを確保して俺リファレンスカウントでも
いいんじゃね。




311 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 13:27:18 ]
>>306
Lispのように小さいオブジェクトをいっぱい操作すると、リファレンスカウント法って
ものすごーーーーーく重いと思うよ。
あと、デストラクタのような概念が無いから解放されなくてもデメリットがあまり無いし。

312 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 13:36:18 ]
dynamic-extent イイ!!! 最近だと CMUCL や SBCL とかのフリーのコンパイラ
でも一部実装されてんでしょ?良い時代になったもんだ。

313 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 18:26:00 ]
cl-cookbook.sourceforge.net/strings.html

314 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 23:52:06 ]
教授に、とある学生の卒研のお手伝いを任された。
あるグラフを別のグラフへマッピングし直すような課題。昨日のお話:
後輩:
「先輩、先輩はソフトを Lisp で書いてるって聞いたんですけど。
 この研究には向いてるって言ってましたよね。
 私の卒研では Lisp でないとダメなんですか?全く知らないんですけど。」
 と、悲しそうな顔。。
私:
「あ、いや、とりあえず私のソフトで最初のグラフデータを
 出力するところまでやればいいよ。その後はそれを取り込んで、
 C でもなんでも好きな言語で料理すればいいよ。」
後輩:
「助かりました。Lisp なんて習った事無いんです。名前は聞いた事は有りますけど。」
私:
「え?私は違うけど、君は純粋に情報系の学生でしょ?
 学部の授業に有るでしょ。 Common Lisp とか、Scheme とか、あ〜。そうか。
 Haskell とか、ML とかをやったのかな?」
後輩:
「あ、その、Scheme はやりました。でも、Lisp はやった事無かったんです。」

315 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 23:57:41 ]
ワッフルワッフル

316 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 01:05:03 ]
ハスケルハスケル

317 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 02:14:04 ]
ハスケルってトップダウンって感じだよね
仕様変更にものすごく弱い

318 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 03:30:27 ]
本物のHaskellプログラマは仕様変更しないから

319 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 09:53:08 ]
本物のプログラマはHaskellを使わない

320 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 10:21:30 ]
あらゆる仕様変更にリスクが伴う。
だが昨日を守ること、すなわち仕様変更を行わないことのほうが
明日を作ることよりもリスクを伴う。



321 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 17:22:10 ]
>>320
ダブルミーニングっつーか掛け言葉的にカッコいい言い回しをしたつもりなんだろうけど
全然意味分からん。

322 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 17:24:13 ]
要するに「仕事は大変だ」って言ってるだけだからな。

323 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 17:45:41 ]
プログラマはつらいよ

324 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 18:24:27 ]
>>323
やべぇ、渥美清が「さくらタンハァハァ」とか言ってるイメージが。


325 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 19:28:14 ]
>>324
いいじゃねえか。
役柄上はキングオブ童貞だぜ。

326 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 17:50:32 ]
*** - OPEN: file #P"C:\\home\\onjo\\lisp\\lib\\common\\cffi\\src\\utils.lisp" does not exist

327 名前:デフォルトの名無しさん [2006/10/13(金) 19:32:53 ]
下がりすぎて見つけづらいage

328 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 02:37:33 ]
>>326
どうした?メッセージのとおりファイルがないんだろ?

329 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 02:49:45 ]
CFFI って使ったことネェ。UFFI とくらべてどうなの? >>326

330 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 16:08:37 ]
>>326
なつかしー
前に俺もなったw
LispUser.netの中の人しっかりしろよってwwww




331 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 02:05:44 ]
ワラタ、謎のhomeディレクトリができてると思ったらLispUser.netの人のだったのか、
lambda.s55.xr"ae".com/といいおっちょこちょいだな、そこがまた良いがw

332 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 04:01:11 ]
clispとかsbclとかで、式をステップ実行する方法はないでしょうか?
Emacsのedebugみたいなやつ。

333 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 04:39:46 ]
>>332
step じゃ駄目?
www.lispworks.com/documentation/HyperSpec/Body/m_step.htm

334 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 06:39:51 ]
こういうのがあるんですね。ありがとうございます。
何でも決まってるという感じだなあ。

関数の一部をステップ実行したいときは監視したいところを
stepで囲んでdefunして適当な式をevalするという感じでしょうか?
SLIMEだとstepの部分でデバッガに入ったらsを押すとステップが進みますね。
その中のどの部分を評価しようとしてるかも表示されて(もうちょっと
見易い方がいいけど)なかなかよさそう。

335 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 19:21:10 ]
>>332
去年だったっけ?
Google Summer of Codeでslime用のedebugみたいなstepperを実装するっていうのやってたけど、いつのまにかそんな話は無かったことになってるみたい。


336 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 15:33:21 ]
人の属性を表すマクロhogeを作るとき、
引数の並びは次のどちらが一般的なんですか?
(setf (hoge 'Hiroyuki :sex) :male)
(setf (hoge :sex 'Hiroyuki) :male)

337 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 17:04:21 ]
後者かしら

338 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 17:15:03 ]
いやもしかしたら前者かも試練

339 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:08:03 ]
>>337-338
結局、好みってこった。

340 名前:デフォルトの名無しさん mailto:sage [2006/10/20(金) 04:05:03 ]
(`・ω・´)今日からおまんこ再開です!



341 名前:デフォルトの名無しさん mailto:sage [2006/10/20(金) 09:59:55 ]
やっと週末♪ルンルン

342 名前:デフォルトの名無しさん [2006/10/20(金) 22:03:20 ]
週末はコーディング天国です。

343 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 02:42:52 ]
佐賀はローディング煉獄です。

344 名前:デフォルトの名無しさん mailto:sage [2006/10/22(日) 00:49:44 ]
?????何故に佐賀?

345 名前:デフォルトの名無しさん mailto:sage [2006/10/22(日) 01:14:30 ]
>>344
www.pheedo.jp/click.phdo?i=f461d24f94d1f0cbcb62afde81c38891

346 名前:デフォルトの名無しさん [2006/10/25(水) 00:07:56 ]
何も無ければ来月末、遂に SBCL 1.0.0 が出るみたいね。

347 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 06:24:22 ]
Schemeの関数呼び出しの評価順序についてですが、R5RSの

> _Note:_ Although the order of evaluation is otherwise
> unspecified, the effect of any concurrent evaluation of the
> operator and operand expressions is constrained to be
> consistent with some sequential order of evaluation. The
> order of evaluation may be chosen differently for each
> procedure call.

というのがいまいちよくわかりません。特に最後の文ですがこれは、
あるときは (a b c) が a→b→c の順で評価され
またあるときは (d e f) が f→e→d の順で評価され
しかしてあるときは (g h i) が g→i→h の順で評価され
ても構わないってこと?

348 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 07:10:34 ]
operatorとoperandsで見たらoperatorの評価が先じゃないといけないけど、operandsの評価はoperatorの評価に基づくprocedure呼び出しが何かに依存する(でも同じprocecureに対しては常に同じ順序である必要あり)って感じじゃまいか?

349 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 07:57:48 ]
>>347-348
その引用文で言ってるのは「評価順序は決まってないし、実行するたび順序が
変わるかもしれないけれど、ちゃんと逐次評価される」ってことでしょ。
つまり (a b c) で a b c が同時に評価されたりしないってこと。

350 名前:347 mailto:sage [2006/10/25(水) 08:05:41 ]
ありがとうございます。つまり、評価はシリアライズされないといけない
(それぞれパラに評価してはいけない)が、その順序は好きにしていいよと
いうことですか。例えば
((begin (X) (Y) (lambda (a) a)) (begin (S) (T))) という式を評価すると
関数X,Y,S,Tが評価される順序は必ず
X→Y→S→T または S→T→X→Y
のどちらかになると。



351 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 09:48:25 ]
計算機プログラムの構造と解釈
難しすぎる。
これ、問題全部といた人いますか?
質問しても良いです?

352 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 10:49:17 ]
>>351
とりあえず>>4に目を通してからのがいいんだぜ

353 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 11:24:07 ]
pc8.2ch.net/test/read.cgi/tech/1107345738/

354 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 04:42:37 ]
しくぷ?
しっくぴー?

355 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 05:30:02 ]
シック( ´,_ゝ`)プ

356 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 03:10:38 ]
阿呆っぽい質問で申し訳ないんだが、
LispやSchemeってどういう用途で使われるんだ?

357 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 03:14:04 ]
汎用

358 名前:デフォルトの名無しさん [2006/10/30(月) 12:50:12 ]
俺は低レベルな操作以外はほとんどSchemeでやってる

359 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 12:54:13 ]
俺は低レベルだからほとんどLispで済ませてる

360 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 18:27:33 ]
自分で実装できないくらい難しい言語はわからないから括弧の世話になってる



361 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 22:36:45 ]
>>360
不覚にもワロタ


362 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 00:23:15 ]
確かにLispは(暇さえあればすぐに)自分で実装できそうな透明感が魅力だよな

363 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 05:44:09 ]
お勧めの処理系は?

364 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 06:54:34 ]
>>363
Chez Scheme

365 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 11:49:13 ]
emacs22

366 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 12:15:00 ]
>>363
マジレスすると CLISP かな
Scheme なら Gauche

367 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 21:52:17 ]
俺はGaucheしか使ってないが、
それは日本語を扱うときに罠がないからだ!

368 名前:デフォルトの名無しさん [2006/10/31(火) 23:12:54 ]
OpenMCL で UNICODE が使えるようになったみたいね。

369 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 23:53:40 ]
SLIMEの起動画面はもう少し静かにならんのか

370 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 23:55:52 ]
Win32版sbclがshift-jisに対応することを切に願う。



371 名前:デフォルトの名無しさん [2006/11/01(水) 00:14:10 ]
You can do it!

372 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 05:02:59 ]
>>370
書いた。

373 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 07:44:45 ]
>>369
Emacs 側の変数設定でできた気がする

374 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 08:18:38 ]
アニメーションを抑制するなら、
(setq slime-startup-animation nil)

375 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 01:38:52 ]
>371-372
shift-jis使えるの?

376 名前:デフォルトの名無しさん [2006/11/02(木) 02:03:59 ]
>>375
いつもの人がパッチ送ってくれてたよ。

CLX で日本語を表示させたくて、文字コードを JIS に変換する処理を書いた事があるけど、
ここら辺を参考にすれば自分で作るのも簡単だと思う。

sbcl.cvs.sourceforge.net/sbcl/sbcl/src/code/external-formats/

377 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 03:06:02 ]
パッチ当てれば普通に使えるみたい。
Windows で動かすにはコードページを alias として追加する必要があるのかな。

$ echo $LANG
ja_JP.SJIS
$ ./src/runtime/sbcl --core output/sbcl.core
This is SBCL 0.9.18.18, an implementation of ANSI Common Lisp.
More information about SBCL is available at <www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
* sb-impl::*default-external-format*

:SJIS
* (coerce "表示" 'list)

(#▼U8868 #▼U793A)
* (string-to-octets "表示")                              

#(149 92 142 166)

378 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 18:50:54 ]
実行ファイル作れるの?

379 名前:デフォルトの名無しさん [2006/11/02(木) 23:03:14 ]
>>378
作れるよ。ってか、もしかしてメーリングリスト見ながら書いてるノカ?
Windows でも cygwin/mingw があればいけるらしいけど…

380 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 23:13:35 ]
えーと SBCL の話でいいのかな。
これの実行ファイル作成は
copy /b sbcl.exe + runtime.core runtime.exe
と同等の処理なので、必要なのは SBCL 自体だけ、cygwin も mingw も不要です。



381 名前:デフォルトの名無しさん [2006/11/02(木) 23:28:36 ]
ソカ、スマソ

382 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 00:18:38 ]
それはともかく、Win32 で SBCL 使ってる香具師は
(sb-win32::ansi-codepage)
の内容を当てた patch を sbcl-devl に送れ。
1.0 で日本語 Windows がサポートされるかどうかの瀬戸際だぞ。

383 名前:デフォルトの名無しさん [2006/11/03(金) 00:28:42 ]
そういや SBCL は 1.0 の前にソースコードのクリーンアップがあると思ってたけど、
このままリリースに突入するっぽいね。kludge 系は潰すのかと思ってた。

384 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 00:49:23 ]
何ヶ月か前の議論見ればわかるけど、SBCL が 0.10 ではなく 1.0 になるの
にはマーケティング的意味しかないよ。
とは言え多数の「いつかやろう」を「1.0 までにやろう」に push したのは
確かだから、充分に意味のあることだったと思う。

385 名前:デフォルトの名無しさん [2006/11/03(金) 01:12:12 ]
特に stabilize する意図は無いんだ。stable 版が出たらパッケージでも作ろうかとしてたんだけど、、、
1.0 は一般への影響はそれなりにあるのかな? SBCL を授業で使う大学とか出て来ると良いね。

386 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 09:49:45 ]
quack.elに慣れると閉じ括弧を全部 ] で打つ癖がついてしまって困る。

387 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:04:21 ]
SBCL on Windows でも日本語が使えるようになったよ。
ttp://article.gmane.org/gmane.lisp.steel-bank.devel/7820
ttp://with2ch.net/cgi-bin/up/src/with2chup2831.png
1.0 までにマージされるといいけど。

388 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 22:05:37 ]
>>387
GJ!

389 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 01:14:32 ]
SBCLのSTYLE-WARNINGは黙らせられないの?

390 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 22:06:13 ]
schemeで、
(hoge a b c (hoge d e f) g)
のような式を書いたときに、
hogeが自分の括弧のネストレベルを判断して
動作を変えるようにしたいと思っています。
上の例でいえば、
1番目のhogeがネストレベル1の動作
2番目のhogeがネストレベル2の動作
をするようにしたいんですが、
やっぱりevalを定義し直すしか無いですか?



391 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 22:51:51 ]
何をやりたいか、ではなく、何故そういうことをやりたいか、を書いた方が有用な助言が
得られる可能性は高いだろう。

392 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 23:14:18 ]
>>391
俺は>>390じゃないけど、デバッグ用のユーティリティだと予想。

393 名前:デフォルトの名無しさん mailto:sage [2006/11/07(火) 02:14:50 ]
マクロにしろ関数にしろ、なんか変数にネストレベルを持って
それによって分岐するようにすればできるんじゃないの。

394 名前:デフォルトの名無しさん mailto:sage [2006/11/07(火) 04:32:03 ]
ネストの深さで動作が変わるのか?
読みにくそうだな。。。

>>390>>391のレスにきちんと応えてほしい。

395 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 00:11:03 ]
DrSchemeを触り始めたんですが、補完はどうやったらできるんですか?
Ctrl+Spaceを押すと「自動拡張」とステータスバーに出るけど、
意味がわからない。何かキーを押すと普通に入力されるだけだし……

396 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 22:00:44 ]
ttp://journal.mycom.co.jp/articles/2006/11/09/cusp/
Cusp の紹介。

内容には色々言いたい点もあるけど...

397 名前:デフォルトの名無しさん mailto:age [2006/11/12(日) 18:42:22 ]
lambda age

398 名前:デフォルトの名無しさん mailto:sage [2006/11/12(日) 20:08:26 ]
LISPでJavaのtoStringメソッドのような機構ってどのようなものがありますか?

399 名前:デフォルトの名無しさん mailto:sage [2006/11/12(日) 20:30:00 ]
(format nil "~a" ■)

400 名前:デフォルトの名無しさん mailto:sage [2006/11/12(日) 20:34:30 ]
(write-to-string ■)



401 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 00:16:24 ]
(defmethod print-object ((object ■) stream)
...)

402 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 01:51:59 ]
なんかエロイ

403 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 01:54:35 ]
○○な部分を■で隠してあるんだな

404 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 21:04:25 ]
SICP is dead.


405 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 21:55:51 ]
Why?


406 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 23:34:42 ]
MIT is phasing out 6.001.


407 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 01:47:50 ]
後継の講座は Python らしいね

408 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 01:50:43 ]
CMUCL か

409 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 01:57:32 ]
そのボケ方は
Lisper 以外にはまったく通じないんだぜ?

410 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 02:00:38 ]
ここに Lisper 以外がいるとでも?



411 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 18:58:34 ]
リスパー伊東

412 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 19:06:51 ]
CASIO AI-1000

413 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 06:20:48 ]
schemeのcurrent-continuationは失敗だと思う。
それだったらgccみたいなLabel as Valueとcurrent-environment
を導入してくれた方がありがたい。
協調型スレッドもどきを作れたとしても、コストが掛かりすぎる。
IPとその時の環境が見えればccは実装できるんだから、
個別に取得できるようにすべきだった。


414 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 06:27:57 ]
今までSchemeには予約語がないと思っていたけど、R5RSを見ると
defineとかの<syntactic keyword>は<variable>に含まれないので
予約語なのね。大抵の処理系では束縛できてしまうから、知らなかった。

415 名前:398 mailto:sage [2006/11/19(日) 12:16:10 ]
(format nil "~a" ■)

cのfprintfみたいなもの。

(write-to-string ■)

javaのSystem.out.print()みたいなもの

(defmethod print-object ((object ■) stream)
...)

オブジェクト指向をした場合の
JavaのtoStringのメソッド的なもの

と理解しててよいのでしょうか?

416 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 16:15:06 ]
アナロジーは理解の助けになる場合もあるが、例え話だけで理解したつもりになるのは
危険でもある。「理解しててよいのでしょうか」と聞かれたら「駄目」と答えるだろう。
それ以上のことをきちんと知りたいなら、ちゃんと勉強したほうがいい。

417 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 16:17:39 ]
つか write-to-string の例えは違うんじゃね

418 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 16:30:17 ]
toString() に一番近いのは write-to-string だろうな

419 名前:デフォルトの名無しさん [2006/11/20(月) 01:18:44 ]
何でみんな MIT Scheme 使わないの?

420 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 01:23:20 ]
なんで MIT Scheme 使うの?



421 名前:デフォルトの名無しさん [2006/11/20(月) 01:38:47 ]
Scheme 界では数少ないネイティブコンパイラやん。
他はネイティブでも JIT とかトランスレータとかやん。

422 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 01:48:42 ]
その割に遅かった希ガス(最近試してないけど)

423 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 04:03:44 ]
同じく最近試してないけど、unicode 周りが悪夢のようなことになっていたような。

424 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 06:44:12 ]
FreeBSD 6 で SBCL 使ってる人、テストに協力してくだされ。

article.gmane.org/gmane.lisp.steel-bank.devel/7915
article.gmane.org/gmane.lisp.steel-bank.devel/7939

425 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 13:22:45 ]
>>424
weft didn't produce an output.
といって表示されねーので説明きぼんぬ。

426 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 14:37:56 ]
>>425
SBCL のスレッドを FreeBSD で動かすパッチです。

Google Groups の archive
groups.google.com/group/sbcl-devel/msg/215e87b1e9833ac7
groups.google.com/group/sbcl-devel/msg/4ed897fed96f9ca4

427 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 15:56:58 ]
caseを試してみましたが、
SCMでは
(case 'hoge (('hoge) #t) (else #f)) => #f
となってしまいます。
(eqv? 'hoge 'hoge) => #t
なのに、なぜ最初の式では#tが返らないのでしょうか。

428 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 16:04:19 ]
(case 'hoge ((hoge) #t) (else #f)) => #t
caseラベルは定数しか書けないので、暗黙にquoteされる

429 名前:427 mailto:sage [2006/11/20(月) 16:31:41 ]
>428
教えていただいてから気がついて、
r5rs 7.3のcaseのコードを読み直してみたら、
(if (memv key '(atom ...)) ...
となっているのを確認しました。
ありがとうございます。

430 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 23:12:24 ]
>>413
同意



431 名前:デフォルトの名無しさん [2006/11/20(月) 23:46:49 ]
>>424
CVS に取り込まれたみたいだね。お疲れさん。
俺は FreeBSD ユーザじゃないので試せないけど。

432 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 07:27:09 ]
>>424
乙。

433 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 11:28:26 ]
>>424
神パッチキターーこれで FreeBSD でもスレッドが!! うひょぉ


434 名前:デフォルトの名無しさん [2006/11/23(木) 08:41:03 ]
ところで、昨日一昨日のFranzセミナーの件はどうなったの?

435 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 09:48:12 ]
>>413
禿げ上がる程同意

436 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:16:59 ]
>>435が10年後に悔やむスレになりそうだ。


437 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:31:18 ]
誰かLispで2chブラウザ作って!

438 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:53:13 ]
>>437
あるだろ。

439 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 18:36:08 ]
詳しく

440 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 18:47:02 ]
navi2ch?



441 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 19:30:41 ]
なるほど、そゆことか

442 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:47:16 ]
>>437
rep2好きの俺だがKahuaとかで2chブラウザ作ったら面白そうだな

443 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 02:27:42 ]
Kahuaで2chブラウザとかワロスwwwwwwwwwwwwwww

444 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 02:45:21 ]
なにそれ?Webアプリになってるってこと?

445 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 08:37:19 ]
>>444
rep2ってphpでかかれた2chブラウザって言うか補助サーバがあるんよ。
(ブラウザって言うのにすごい抵抗があるんだが)


446 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 18:51:55 ]
Schemeで

(string->???? "(lambda () 5)")
> 5

となるような関数ってありますか?

447 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 19:06:31 ]
作ればある。でも宿題ならもうちょっとちゃんと問題文を書かないと…

[リストの三番目を返す?]
gosh> (define (string->???? str) (caddr (read-from-string str)))
string->????
gosh> (string->???? "(lambda () 5)")
5

[関数を評価する?]
gosh> (define (string->???? str) ((eval (read-from-string str) ())))
string->????
gosh> (string->???? "(lambda () 5)")
5


448 名前:446 mailto:sage [2006/11/26(日) 19:21:57 ]
>>446

ありがとうございました。自作CUIにコピペさせて頂きます。

で、[関数を評価する]がしたかったのです。
類推で (string->list string) としたら
◯| ̄|_ だったもので…

449 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 22:10:11 ]
◯| ̄|_がかえってくる関数

450 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 09:36:00 ]
なるほどなあ。
string->number等との類推で考えればstring->listをread-from-stringみたいに
考えるのも一つの解釈か。



451 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 12:57:27 ]
.NETでつかえるSchemeの実装ないですか
それあればそれなりに強力なライブラリと使える言語の両方が手に入るのに・・・(´・ω・`)

452 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 04:02:35 ]
触ったことはないけど。
www.ccs.neu.edu/home/will/Larceny/CommonLarceny/download.html

453 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 06:44:04 ]
◯| ̄|_
○| ̄|_

微妙に丸の文字が違うな。

454 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 07:01:54 ]
   ◯◯◯
 ◯◯◯◯◯
◯| ̄|_ ̄ |◯ プカプカ
~~~~~~~~~~~~~~~~~~~~~~~~

455 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 11:37:32 ]
◯| ̄|_
○| ̄|_
◯| ̄|_
○| ̄|_
◯| ̄|_
○| ̄|_
  |
  |
  |

456 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 15:15:55 ]
SBCL 1.0!

457 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 05:32:39 ]
遂に来たね。

458 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 20:20:00 ]
srfiのtexiって無いですか?
infoでも良いんですが。
できれば全部揃っているとうれしいです...

459 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 20:34:05 ]
ttp://slashdot.jp/developers/article.pl?sid=06/12/01/0711257

460 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 09:17:04 ]
うわぁ。さすがスラドだね。



461 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 12:48:20 ]
あらためて思うけどCLの実装系ていいよね
ちゃんと仕様のあるバカでかい関数群が確実にあるんだから

462 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 13:20:10 ]
>>461
そうだね。よく「仕様が巨大」とか言われるけど、今の基準ではそれほどでもないと思う。
(JavaのクラスライブラリとかSRFIを全部入れたSchemeのほうが大きいんじゃないかな)
でも、そろそろXMLとかネットワークとかのいまどきの機能を加えたCLtL3を制定してほしい。

463 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 19:48:53 ]
とりあえず「言語仕様」と「ライブラリ仕様」を分けて〜
んで「ライブラリ仕様」は小刻みにupdateさせてやってほしい

464 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 22:12:11 ]
CLRFI というのがあるけど流行ってないねえ。

標準化って実装するよりもパワーが必要だから、asdf を使って主要な処理系で
動くようにすればそれでいいじゃないかということなのかも。

465 名前:デフォルトの名無しさん [2006/12/03(日) 01:11:03 ]
lispはマクロが強力だとのことなので、
例えば(cl-to-scheme cl-func)みたいな感じでclのライブラリをscheme用に変換してくれるマクロがありそうな気がしますがどうなんですか?
また、schemeはコンパイラがないので、sbclとかを使うために、
(scheme-to-cl scheme-func)みたいなマクロがあると便利にlispはマクロが強力だとのことなので、
例えば(cl-to-scheme cl-func)みたいな感じでclのライブラリをscheme用に変換してくれるマクロがありそうな気がしますがどうなんですか?
また、schemeはコンパイラがないので、sbclとかを使うために、
(scheme-to-cl scheme-func)みたいなマクロがあると便利におもいますが、
存在するのでしょうか?おもいますが、
存在するのでしょうか?

466 名前:デフォルトの名無しさん [2006/12/03(日) 01:14:43 ]
lispはマクロが強力だとのことなので、
例えば(cl-to-scheme cl-func)みたいな感じでclのライブラリをscheme用に変換してくれるマクロがありそうな気がしますがどうなんですか?
また、schemeはコンパイラがないので、sbclとかを使うために、
(scheme-to-cl scheme-func)みたいなマクロがあると便利におもいますが、
存在するのでしょうか?

467 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 03:24:03 ]
まぁ、CL で Shceme を実装することは可能だし、Scheme で CL を実装することもできるからな。
>>466 の言うようなマクロはどっちも可能だが、CL と Scheme は思想が異なるのでメリットはあまりない。
CL で Scheme を実装するのは結構簡単(Norvig の教科書だと 10 ページくらいでつくってた)なので
学生の課題などで結構見かける。 cl-to-scheme はメリットがあまりないのと、CL を実装するコストが
大きいのでだれもやらないんじゃないか。

468 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 03:26:19 ]
2chもまともに使えない奴には教えてやらん

469 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 05:12:53 ]
schemeにはコンパイラが無いなんてどこで聞いてきたんだい。

MIT-Scheme
Larceny
Chez
Chicken
Stalin
Bigloo
Gambit
PLT

あと何かあったっけ。歴史的にはRabbitとかTとか。

470 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 10:33:14 ]
つうか荒しなんじゃね? c.l.l で暴れてる gavino みたいなタイプの。



471 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 12:03:45 ]
Common Lisp と Scheme とでは reader の仕様が違うから、マクロでの実装は
無理なんじゃないかな。

472 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 12:22:36 ]
unit.aist.go.jp/is/dsysd/mtran/
テレビで見るたびに思ってたんだけど、このロボットはリスプっぽいよね

473 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 13:47:40 ]
>>470
c.l.lなんて流量たくさんでとても読めない。どうやって読んでるの。

474 名前:デフォルトの名無しさん [2006/12/03(日) 14:13:29 ]
『Scheme について』
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme

やっぱり Scheme は学習用ってことなのかね

475 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 14:30:33 ]
>>459-460
あーそれは俺が酔っ払いながらタレコんだやつだな。
しかし、自分では実装側にいるつもりだったのに、使ったことない事情通扱い
されてたのにはまいった。

476 名前:デフォルトの名無しさん [2006/12/03(日) 14:54:22 ]
>>469
CL でいう SBCL みたいな位置付けのが無いね。
日本人はみんな Gauche を使ってるイメージだけど。

477 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 15:36:34 ]
他言語との比較はいいけど、lisp 言語族の中くらいは仲良くやってほすぃ…

478 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 16:09:20 ]
>>474
その判断をするのはスキーム設計者の反論を聞いてからの方が良いのではないかな?

479 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 17:23:57 ]
反論聞きたいですねー

480 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 17:36:46 ]
反論じゃないけど、継続(continuation)と関係あるような気がするんだよねー



481 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 17:57:36 ]
schemeはいつまで経ってもオモチャレベルから脱しきれない印象があるんだよね。
これは多くの人が感じていることだと思う。
ただ、口に出すとはばかられるから、まあ、サイレントマジョリティって感じかな。

482 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 18:36:23 ]
黒田寿男って何様のつもりなんだか・・・。

483 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 18:52:26 ]
Scheme 好きも CL をバカにしたり見下す人が多いからお互い様だろ。
いちいち気にしないほうがいいと思うよ

484 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 18:55:42 ]
ぜひ>474に対する意見聞いてみたい。
c.l.sあたりに簡単な翻訳つけて投下すれば良いんだろうか。

485 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 19:02:26 ]
>>483
お互い様か。そうだったね。あまりいい評判がない guile だけど Linux で
成果をあげようと精進してるんだろうなーと思い直せた。黒田寿男みたいに
プロパガンダに走らないきちんとした議論をするには Scheme にもきちんと
したアプリケーションが必要なんだろう。ところで Scheme で書かれた一番
大きいアプリケーションってなんだろう?

486 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 19:05:08 ]
>>484 それはウザいだけで何も得るところはないのでやめとけ。
Lsip-1 vs Lisp-2 とか定番のフレームになるだけ。

487 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 19:12:22 ]
>>484
下らん煽りうぜーよ。好きなほう使えばいいだけじゃん。
そんな論争で得られるものなんてもうほとんど残っていない。
俺はCL派だが、Schemeを攻撃しようなんて思わんぞ。

488 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 19:13:01 ]
煽る奴はたいていどちらかの経験しかない奴だな

489 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 19:19:18 ]
これが後の黒田発言である。

490 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 19:29:26 ]
LL言語批判くらいで止めとけばよかったのにねー



491 名前:デフォルトの名無しさん [2006/12/03(日) 21:59:03 ]
黒田の発言ってこれかな

ttp://practical-scheme.net/wiliki/wiliki.cgi?cut-sea

> この事例を解説された数理システムの黒田氏は、懇親会とかでも
> 「SchemeなんかをCLと一緒にしないで欲しい。」とSchemeをけちょんけちょんに
> おっしゃるわけで、とても悔しいわけだが、それでもとにかく実際の業務を通して
> 実力を示しておられるからこそ、あそこまで自信を持って主張できるのだろう。

しかし Scheme 好きの人間の前でこれを言うってすごいなぁ

492 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 22:33:07 ]
おまえらおちつけよ。もうちょっと心を広くもてよ。
どっちがというと CL のセミナーで CL マンセー発言を聞いて気分を害するほうがどうかと…


493 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 23:57:12 ]
2 蓑輪 太郎Mona OSにおける次世代Schemeシェルの開発

詳細キボンヌ

494 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 00:09:01 ]
Common Lisp 好きだけど、スクリプト言語批判の ANSI CL には無駄な仕様が
*1つも* 無いってのはどうかと思った。
loop マクロはともかく、X3J13 自身が deprecated だと言ってる -if-not 系
の関数とか、format の ~R や ~P などの「それは本当にフォーマット文字列で
指定すべきことなのか?」な仕様とか。

495 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 00:23:29 ]
~r のような冗談機能はやっぱり必要ですよ

496 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 01:30:39 ]
>>494 「Lisp の良いとこを取ろうと思ったら〜」省略していい無駄な仕様はないってことだろう。
つうか、後半の文章を読むとコンパイラ周りやスペシャル変数なんかを備えずに、ほんの一部の機能だけを
実装しただけで、Lisp の良いところを備えたとか Lisp を超えたとか主張するのを苦々しく思ってたんだろうね。

ふと、R な言語の人の昔 Lisp セミナーの印象に関する記事読んで苦々しく思ったのを思いだした。
> ソースは全然見てないんだけど、印象からは、AllegroServeの完成度は、 WEBrickといい勝負と見た。
発表者の力量不足もあったかもしれんけど、そりゃねーだろ。

497 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 03:40:18 ]
>>474 のマクロが作れないってどういう事?

498 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 03:46:15 ]
schemeはdefine-syntax系だけでdefmacro相当なのはないんじゃないっけ?
まあだいたい処理系毎にあるんだろうけど。


499 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 03:52:30 ]
Scheme は Lisp ではないってところが気になる。

500 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 03:56:41 ]
SchemeはCommon Lispではない、の間違いではないかと。



501 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 04:09:14 ]
>>474 のは、>>486 みたいな理解でおけ?
Scheme の勉強始めようと思って、環境をつくろうとしてたところなので、
出鼻をくじかれたような感じで。

502 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 04:35:48 ]
つまんでみれば実際どうなのかわかるんじゃねえの?

503 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 05:11:11 ]
つまんだくらいで、lispはプログラムを書くプログラムが書けるってのがわかるのか…
しかも、scheme と common lisp の違いまで。

504 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 06:18:38 ]
少なくとも、つまんでみなきゃなんにもわからんだろ?

505 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 06:54:34 ]
> 少なくとも
ホントに「少なく」なったな

506 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 07:02:49 ]
つまんね

507 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 07:05:03 ]
つまんでますよ、どっちも。

508 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 07:42:32 ]
まぁ、自分に都合の悪い流れは誰でもつまらない。

509 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 13:16:10 ]
>>501
少なくともまだ勉強してない人には関係ない話だ
万一Schemeが無駄なものであってもSchemeの勉強は無駄にはならないから安心して勉強汁w

510 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 14:37:19 ]
どれだけ立派な肩書きがあろうと自社の製品のためだけに他を中傷して自分の利益を
はかろうとする人間は技術者として失格だと思う。自分のオナニーのために他人を
レイプして楽しんでるように見えた。



511 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 14:57:46 ]
>>510
それコの業界の人ほとんどみんな当てはまっちゃうよ……(LinusタンからBillGまで)。

512 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 16:57:55 ]
>>510
レイプした時点で既にオナニーではないと思う

513 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 17:23:41 ]
レイプは、相手の気持ちを無視して自己完結しているという意味で、
オナニーと同類。

514 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 21:24:04 ]
つかshiroさん呼んでるくせに普通に失礼だよなw

515 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 21:38:43 ]
「朝まで生テレビ」方式だな。意図的に話が噛み合わないとを期待したメンバ。w

516 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 23:36:19 ]
>>514
呼んではないみたいよ
ハワイからの中継でやったみたい

517 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 06:22:54 ]
FreeBSDで動くお薦めのCommon Lisp処理系を教えてくだされ。

518 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 08:20:56 ]
sbcl

519 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 08:31:53 ]
ラムダ式の意味について質問です.
λxyz.MNO という式は,以下のコードと同じことを意味している
のでしょうか?

(lambda (x y z)
((M N) O))

520 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 09:00:28 ]
日本語でおk



521 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 14:02:07 ]
>>519
違う。

522 名前:519 mailto:sage [2006/12/05(火) 14:49:40 ]
では,λxyz.MNO というラムダ式を Scheme の表現に対応
させて表すことはできるでしょうか? できるとしたら,どんな
表現になるでしょうか?


523 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 14:52:43 ]
M、N、O、がそれぞれ何かによる

524 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 15:21:54 ]
λxyz を (lambda (x y z) ...) と書いちゃう時点でだめだめ。
細切れで質問されても面倒なだけだから宿題なら問題文を全部書け。

525 名前:519 mailto:sage [2006/12/05(火) 17:25:21 ]
>>523
M, N, O は,それぞれ任意のラムダ式,ではどうでしょう?

>>524
学生ではないので...

ラムダ計算がどんなものなのか知りたくなって本など読み始めたんです
が,入り口の記法のところですでにつまづいているので,Scheme に対
応させれば多少は理解しやすくならないかと思って質問しています.

526 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 18:50:32 ]
さあもりあがってまいりました

527 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 18:51:17 ]
カリー化云々言わなけりゃ合ってね?

528 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 19:01:18 ]
ラムダ計算=LISP ではないので、スレ違い。
ラムダ計算の話がしたいのなら、数学とかの板へ池。

529 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 19:07:48 ]
(lambda (x) (lambda (y) (lambda (z) ((M N) O)))) じゃね?

530 名前:519 mailto:sage [2006/12/05(火) 21:43:21 ]
>>527
> カリー化云々言わなけりゃ合ってね?

なるほど.カリー化を省略しなければ,

>>529
> (lambda (x) (lambda (y) (lambda (z) ((M N) O)))) じゃね?

になる,っていう理解でいいんですかね.

>>528
数学板だと,今度は Scheme がスレ違いっぽいので...

Scheme や Lisp をやってから理論的背景のラムダ計算に興味を
持つ人って多そうですし,ラムダ計算に詳しい人も多いんじゃ
ないかと思ってここで聞いてみました.




531 名前:デフォルトの名無しさん mailto:sage [2006/12/05(火) 23:36:32 ]
λ式と対応させるなら haskell の方が楽だと思うけど

532 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 01:12:19 ]
λ計算を学ぼうとする Schemer への助言としては、lambda 式にたとえて
理解しようとするのはやめとけ。
たとえば、λxyz.z x y ≡ λxy.λz.z x y つまり cons というのは
(lambda (x y z) (z x y)) と置き換えてちゃわからんぞ。

533 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 01:41:46 ]
お前にはセンスが無いの一言で片づければOK


534 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 02:29:35 ]
533 がセンスありそうには見えない

535 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 03:48:42 ]
>>533の1行でセンスの有無をはかれるとは思えないが、
それをはかれるつもりでいる>>534の1行レスからは
負のセンスに対する悪寒みたいなもんを感じる。

536 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 11:16:07 ]
(λ計算の)λ式において関数抽象 λ は結合がゆるく,関数適用は結合がきつくて左結合
さらに λxy.M は λx.(λy.M) の略記
だから λxyz.MNO = λx.(λy.(λz.MNO)) = λx.(λy.(λz.((MN)O)))

λ計算ではCurry化は当たり前のように使われるけど,
SchemeにはCurry化がないから ; つまり (lambda (x y) ...) != (lambda (x) (lambda (y) ...))
λ計算の実例としては不適当
有名な "SKK = I" を試そうとS, Kを定義して ((S K K) 'x) とやっても途中で「引数が足りません」になっちゃうね
Curry化のあるOcamlかHaskellをお薦めする

ここにはλ計算を知ってる人が多いのは確かだと思うよ

537 名前:519 mailto:sage [2006/12/06(水) 22:45:28 ]
>>532
> λxyz.z x y ≡ λxy.λz.z x y
がラムダ式の規則でそうなる,というのはわかります.
また,
> λxy.λz.z x y つまり cons
も,SICP の Exercise 2.4 あたりにあるように,
(define (cons x y) (lambda (z) (z x y)))
の話だろうという見当はつきます.でも,
> λxyz.z x y ≡ λxy.λz.z x y つまり cons
となると何が言いたいのかよくわからないのですが...
また,
> (lambda (x y z) (z x y))
というのはどのラムダ式を置き換えてるんでしょうか?
λxyz.z x y を
(lambda (x) (lambda (y) (lambda (z) ((z x) y))))
と置き換えてもわからない? なにが???

>>536
解説ありがとうございます.
どうもカリー化が鍵の一つのようなので,
>>531
Haskell もぼちぼち勉強してみます.

538 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 23:59:54 ]
haskell だとYコンビネータが

y f = f (y f)

で終わりなのが気持ちいいな

539 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 23:15:57 ]
黒田がスクリプトをボロクソに言っているヤツってこれか
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang

Common Lisp 教の狂信者だなw

540 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 23:48:25 ]
孤高の絶対王者という己の脳内ポジションを
アジ文章で楽しく消費してみました、ってだけの文章だな・・・。
理解されたいのかされたくないのか、とても微妙な乙女心を感じる。



541 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 19:57:43 ]
>>539
これ結局のところ
現場で使って大丈夫なんですか?(ほかの連中ついてこれるの?の意)
と問われたときに困るだけなんだよね。

文句言う位なら普通に仕事でつかってアピールできるように浸透させないといけないんだけど
それをやるのは俺様の様な人間のすることではないって感じで反感しかわかなくなるんだよね。

<チラシの裏>
好きな言語ほどその言語の愛好者が怖い人やキモチワルイ人ばっかりな今日この頃だなぁ〜
</チラシの裏>


542 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 21:22:15 ]
できる人は協調するより自分で全部やったほうが速いのも事実

543 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 22:10:17 ]
Common Lispに標準規格が存在する利点は
それができる人間(できなきゃ学べ)前提の仕事場にできるってことだろ。
その条件に当て嵌らない奴ばっかの環境にわざわざ引き降ろして論じても
意味がない。

> 文句言う位なら普通に仕事でつかってアピールできるように浸透させないといけないんだけど
> それをやるのは俺様の様な人間のすることではない

当然だろ。後者の環境にいる決定権のない奴固有の事情なのだから、その解決を
既にそういう(前者の)環境にいる人間に要求するのは筋違い。

544 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 22:40:06 ]
規格書が読めるレベルがようやく一人前、だとは思う
だけどそのレベル以下の奴って山ほどいるんだよな…

545 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 23:09:17 ]
>>543
> Common Lispに標準規格が存在する利点は
> それができる人間(できなきゃ学べ)前提の仕事場にできるってことだろ。
あまり現実的でない利点だと思う。
標準規格が無かろうが「できなきゃ学べ」は仕事場の前提であり、
しかし標準規格があろうが、その前提がまっとうに機能する保証はあまりない。

「できない人を居丈高に自信満々に罵る際の、精神的後ろ盾」
という程度の利点だね、これは実質的には。

546 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 23:18:07 ]
しかしさあ、ANSI X3.226-1994 が実用的かというと、イマドキの用途に使うに
は国際化もソケットもスレッドも正規表現も XML もないわけで、結局実装次第
なわけだろ。

んで、実装次第ということであれば Scheme だってちゃんと選択肢に入るんじゃ
ないか? 言語仕様自体はちゃんと標準化されてるわけだし。

まあ Scheme で hygienic なマクロが書けないなんて言っちゃう人の Scheme
批判なんてまともに読むだけ無駄なのかもしれんが。

547 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 00:11:46 ]
>>546
正規表現はリーダーマクロがあるから不要、
XMLは所詮劣化S式だから無視、とか言うんじゃね?w
国際化はなんて言うのか聞きたいねぇ。

548 名前:デフォルトの名無しさん [2006/12/10(日) 00:31:49 ]
>>547
>とか言うんじゃね?w

知ってるんじゃん…

549 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 00:57:42 ]
なんかムキになってる?

>>545
仕事でつかう事を考えれば、なるべく厳密な仕様があったほうがいいだろう?
言語のコア部分が実装依存って結構キツいよ。で、仕様は最小限であるべき、と
できるだけリッチであるべきという思想の違いだろ。

>>546
名前の衝突とかいってるから r5rs にパッケージシステムがないっつー事をいってんじゃない?
複数人で並行で別々のモジュールを作るとさ、パッケージがないときついからな。あと、俺たち
Scheme 派も CL の末尾再帰の最適化が処理系依存だとか文句いってるからおたがいさまだろ。
不毛なフレームを避けるためにも、かるくスルーすればいいだろう。

あと、ソケットとか XML は普通言語仕様には入れないと思うよ。r6rs にも入らないだろう。
つうか、そんなの入ったらヤダ。r7rs くらいには並列計算が進歩してネットワークあたりまえ
とかなってるかもしれんけど、少なくとも今はねぇ。


550 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 01:39:47 ]
いやホント、なんでそんなムキになってるの



551 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 01:47:41 ]
べつにレベル低い話じゃなけりゃムキになってもいいと思うけど

552 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:11:02 ]
でも、見た目よりレベル低いと思うよ。単に頑固な人じゃないかな。

553 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:18:18 ]
どのへんがレベル低いか教えて

554 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:35:51 ]
人としてだと思う


555 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:38:25 ]
>>553
規格をユーザーとしてしか読んでない。たぶん CLOS の実装すらしたことない。

556 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 02:46:21 ]
なるほど、実装経験者でなければ
レベルが低い議論にしかならないということですね。

557 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 04:18:26 ]
>>556
馬鹿な誤読なのか馬鹿な皮肉なのが微妙だけど、
いずれにせよピント外れだなぁそれ。

558 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 09:37:25 ]
>>545
> その条件に当て嵌らない奴ばっかの環境にわざわざ引き降ろして論じても
> 意味がない。

自分の都合と合わないことは直後に書いてあっても読まないのかww

559 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 10:13:40 ]
その箇所が543の言い分をどう支えるのか、まったく意味不明だけど。
文末に草生やすくらい「じしんまんまん」みたいだから、よかったら説明してよ。

560 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 10:31:17 ]
cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme
で書かれていることはgensymで他と重ならない名前を作り出せるかってこと ?

で、ほとんどのScheme(少なくともGaucheでは)
(規格には入ってないオプショナルなものだけど)
できるってことでおk ?

でもScheme的には同様なことはdefine-syntaxつかえよって
いう認識でよろしいでしょうか ?



561 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 12:08:58 ]
本当に不毛な論争になったね。

Lisp & Schemeに栄光あれ。
pythonに負けるな…

562 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 13:37:42 ]
不毛はC++の役割。
Lisp系はカッコつけなきゃね。

563 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 13:52:02 ]
ズッ

564 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 14:46:31 ]
(/ 1 4)

565 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 15:29:13 ]
そういえば、タグ付き有理数みたいなのを実装した処理系ってあるのかな。
64bit 環境だと 29bit / 29bit くらいは楽勝で埋め込めそうだけど。

566 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 16:00:34 ]
>>561
rails の流行で ruby が来そう

567 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 16:25:56 ]
RoR は Ruby ならではってわけじゃないからなあ。LoL なんかもあるし。

568 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 22:47:30 ]
AllegroServe + AllegroCache は負けてないと思うけど、情報や人材が・・・

569 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 22:49:34 ]
>>568
良いんだけど、あの値段はさすがに躊躇するのだよな。
サーバ増えたときコストが重くのしかかる。

570 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:03:45 ]
common lispと心中する気がないと個人じゃ買えないとか。
企業でも使えないと判断したときのリスクが高いとか。




571 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:22:20 ]
Professional なら個人でも買えるだろ…一昔前の開発環境だと思えば。
Kahua ってどうなのかなー?どっかで運用実績ある?


572 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:25:28 ]
web で allegro は無いだろう。
負荷に応じてスケールアウトしてくには高杉。

573 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:40:24 ]
用途次第じゃないでしょうか。 まぁ、バックエンドの Oracle は定番でしょうねぇ。
つうか RDB 以外は評価の対象にすらならないけど。

574 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:58:56 ]
Kahua って最近どうなのかね?
このスレでも話題でないけど開発低調なの?

575 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 00:05:00 ]
kahuaはチャット(lingrのgauche部屋)ではたまに話題になってるっぽいよ。
MOPとかいう手法を使って負荷分散するのがどうのとか書いてたが
ほとんど理解できてないので進んでるのか進んでないのかよくわからんかった。
過去ログも見れるので興味あるなら見てみればいんでね?

576 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 00:09:59 ]
>lingrのgauche部屋
www.lingr.com/room/gauche

ここだな。

577 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 00:33:46 ]
>>567
Rubyならではってのは無いけど十分牽引力になってるみたい

Editors' Choice 2006 | Linux Journal
ttp://www.linuxjournal.com/article/9368

ここの言語部門でRubyがベストチョイスにされているあたり確実に流れが来ているのでは

まぁRubyはマクロが無いのが弱いと思うんだけどねぇ

578 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 12:55:12 ]
syntax-rulesって、
パターンごとに自分自身の名前を書かなきゃならないですけど、
あれって無くてもいいような気がするんですがどうなんでしょう。

たとえば、
(define-syntax begin
(syntax-rules ()
((begin exp ...)
((lambda () exp ...)))))
は、
(define-syntax begin
(syntax-rules ()
((exp ...)
((lambda () exp ...)))))

と書けても良い気がします。

579 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:05:06 ]
素人なんで良く知らんけど名前書かないと (foo . args) みたいなのが表現出来ないんじゃなかろうか。
あと名前じゃなくて適当なシンボルならなんでもいいような気がする。

580 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:05:56 ]
君が知りたいのは "_" か?



581 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:09:22 ]
それはだから適当なシンボルでしょ

582 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:12:47 ]
580は579を見る前に書いたので悪しからず

583 名前:578 mailto:sage [2006/12/13(水) 13:19:18 ]
>579
すいませんよくわからないんで、
もう少し詳しくお願いします。

>580
"_"ってなんですか?
r5rsのindexには無いみたいなんですが...



584 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:24:28 ]
(define-syntax begin
(syntax-rules ()
((_ exp ...)
((lambda () exp ...)))))

585 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:28:14 ]
>>583
こんなんとか

(define-syntax foo
  (syntax-rules ()
    ((_ x) x)
    ((_ . x) 'x)))

(foo '(1 2 3)) => (1 2 3)
(foo 1 2 3) => (1 2 3)

586 名前:578 mailto:sage [2006/12/13(水) 13:48:14 ]
>584
なるほど、そんな書き方もあるんですね。
ありがとうございます。

>585
それだったら、
lambda式がやっているような感じで、

(define-syntax foo
  (syntax-rules ()
    ((x) x)
    (x 'x)))

の様にすれば良い気がします。
ただ、(x 'x)はわかり難いので、
何か別の表記をいれた方が良い気もしますが。


つまるところ、syntaxをlambda式みたいに使えないのか
って事なんです...


587 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 13:50:41 ]
俺言語作るのならありかもしれんが、とりあえずSchemeはそう決まってるってことだろ

588 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 14:00:50 ]
>>586
syntax-rules がそうなっているのは名前がある方が再帰を書きやすいからかな

(define-syntax and
  (syntax-rules ()
    ((and) #t)
    ((and test) test)
    ((and test1 test2 ...)
     (if test1 (and test2 ...) #f))))

589 名前:578 mailto:sage [2006/12/13(水) 14:12:09 ]
>587
すいません質問のしかたが悪かったみたいです。

なぜschemeはsyntax-ruleの各々のパターンの先頭に
自身の名前を書くような設計を選択したのだろうか、
ということです。

たまたまそういう書式を選択したのか、
それとも>578みたいな事をすると、
何か問題が発生するのかどうかということを知りたいんです。

>588
それはありますね。
ただ、再帰関数を書くときは無くても何とかやっているので、
同じでもよくないか、とか考えているんですが...


590 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 14:15:58 ]
引数のパターンじゃなくて、評価しようとする式のパターンなんじゃね?



591 名前:578 mailto:sage [2006/12/13(水) 14:29:56 ]
>590
なるほど、説得力がありますね。

592 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 18:48:03 ]
Schemeでマクロと継続はすげーわかりにくいんだが、
R5RSではサラっと流しすぎじゃね?
もっと細かく説明した公式な文章ってある?

593 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 19:26:11 ]
R5RSは仕様であって解説とかチュートリアルではないからね。
公式になるのかどうかわからんか、細かいこと知りたければ論文だろう。
R5RSのマクロなら、ClingerとReesの"Macros That Work" (POPL91) とか。
継続は何がいいかな。すげー基本的な概念なんで、初出とか思いつかない。
チュートリアル的なものならFriedmanのPOPL88のノートなんてどうだ。
www.cs.indiana.edu/hyplan/dfried/appcont.pdf


594 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 22:16:13 ]
>>593
わかりにくいだけじゃなくて、
あれで挙動を規定できてるのか?

595 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 22:42:30 ]
>>594
規定できてなかったら
処理系の実装者が「ここが曖昧だあー」って騒ぐんじゃないか?

596 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 02:45:25 ]
>>595
「変数とは何か」くらい自明なものとみなされてる,とか

597 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 04:08:24 ]
小さい処理系のソースを見りゃ良いんじゃないか。


598 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 04:45:33 ]
>>594
まあ、comp.lang.schemeあたりを見てると変なケースについてこれは
どうなんだって議論が時々出るから、完璧じゃないな。
継続については7.2章もあるし、かなり良く理解されていると思う。
但し、dynamic-windのbefore/after thunkの継続が未定義になってる
のは欠点。(R6RS案では明確になってたはず)
マクロについても、特にマクロを生成するマクロについて曖昧な点が
あったような気がする。

>>596
「変数とは何か」は7.2章に書いてあるのでだめかな。

だがR5RSに突っ込むならもっとでかい穴がある。マクロで生成される
internal defineとか、トップレベルのセマンティクスとか。






599 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 04:28:38 ]
SBCL を最初に知ったのはこのスレだったのでご報告。
「お前のパッチ多過ぎ、自分でコミットしろ」と言われて developer になる
ことになりました。このスレがなければ SBCL と出会えなかったかもしれない。
感謝。

600 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 04:36:53 ]
!素敵



601 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 07:50:54 ]
>>598 おめでとー。SBCL にはお世話になってます。今後ともがんばってください。

602 名前:デフォルトの名無しさん [2006/12/15(金) 08:06:32 ]
599すげえ。
めでたいのでage

603 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 15:31:01 ]
すげー。sbcl とλ の未来のためにがんがってくれ!
おれもclで何か作ってみようかなぁ

604 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:05:34 ]
乙!

605 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 10:18:38 ]
リーダーマクロなるものがあるそうで使ってみたいと思っています。
どうすれば使えるんでしょうか。
scheme、CommonLisp問わず、
ごぞんじ処理系について教えてください。

606 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 13:10:12 ]
Common Lispならもれなく付いてくる。使い方はCLtL2でも読むよろし。

607 名前:デフォルトの名無しさん [2006/12/16(土) 20:29:18 ]
>>474 の黒田のScheme叩きにShiro氏がなんか書いてるね

Scheme:マクロ:CommonLispとの比較
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%83%9e%e3%82%af%e3%83%ad%3aCommonLisp%e3%81%a8%e3%81%ae%e6%af%94%e8%bc%83

608 名前:デフォルトの名無しさん [2006/12/16(土) 20:32:31 ]
こっちが誘導先かな

「Schemeについてどう思うか」についてどう思うか?
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e5%88%9d%e5%bf%83%e8%80%85%e3%81%ae%e8%b3%aa%e5%95%8f%e7%ae%b1

609 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 22:03:58 ]
マクロについてはCommon Lisp流のほうが好きだな。
Schemeのマクロはある意味美しいのだが、書き方で悩んで仕事がはかどらない。
(もちろん俺の能力の問題だけど)

610 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 22:50:55 ]
>>607
前にこのスレで騒いでた本人 == WiLiKi に突撃した本人 == 607 の気配がする…
なんつーか、自分の使ってる言語を批判されたくらいでそんなに癇に触るなら
Scheme はやめといたほうがいいよ。たぶん Haskell とかのほうが向いてると思うよ。



611 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 23:08:13 ]
「気配がする」なんていう「神のお告げ」レベルの根拠で
そこまで上から説教できる精神構造って・・・

612 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 23:42:51 ]
煽り体制が低い奴は Scheme やめといたほうがいいってのは同意だな。
あの程度の煽りでガタガタいってると comp.lang.scheme とかのフレームは読めないぞ。


613 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 23:56:15 ]
Schemeはおもちゃ

614 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 00:10:20 ]
ガタガタ

615 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 00:32:37 ]
Schemeはオモチャ

616 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 01:28:55 ]
>>610
まったくの別人だよw
言語フェチなので基本的にどれかを特定に愛しているというわけでもなかったり
って Lisp かじる人ってだいたい同じようなものだと思ったり

617 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 02:46:02 ]
XS-Lisp・・・・なくなったのか・・・?

618 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 03:02:47 ]
黒田氏の発言に ruby のまつもとゆきひろ氏も反応
ttp://www.rubyist.net/~matz/20061206.html#p05

お騒がせだなw

619 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 03:10:49 ]
やっぱりあの人は「Lispを知らない」と思う

620 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 04:39:48 ]
「Lispをものにした」ことはありそうだ



621 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 05:45:04 ]
ちょwルビーの中の人、釣り耐性ヒクスwwwww

622 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 06:32:44 ]
そりゃまぁ「釣り」ってことにしておけば
どんな耳に痛いこと言われても反応自体を小馬鹿にできて便利だが、
たぶん黒田は本気だぞw

623 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 06:32:53 ]
しかし、そうじゃなきゃ鋭いことはできないでしょう。

624 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 07:54:15 ]
>>620
つうか、この Matz の発言はひでぇな。
「中途半端な真似で良いとこどりとか言われて不愉快」
つー記事に対して、「劣った人々」とかいかにもな用語持ち出してきやがって。
「言語仕様?ソース読め」な連中に Lisp は選民思想とか言われるのは Matz 影響だな…

625 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 08:58:20 ]
>624 とりあえず、黒田乙。と言っとけばいいのかな?

626 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 09:03:13 ]
この前nil_to_sの仕様で議論してたけどあれは酷かった

627 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 09:07:54 ]
>>624
> 「劣った人々」とかいかにもな用語持ち出してきやがって。
黒田が持ち出した文章を、Matzが「訳した」だけなんだけど。
しかも黒田はその元文を「次の言葉で言い付くされている」とまで言ってるから、
黒田の発言のどうでもいい部分の揚げ足を取ったというわけでもない。

628 名前:デフォルトの名無しさん [2006/12/18(月) 21:11:59 ]
とうとう perl の小飼弾氏にまで波及www
ttp://blog.livedoor.jp/dankogai/archives/50717108.html

黒田氏は良い餌撒いたなw
しかし Lisper にとっては迷惑甚だしいがw

629 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:23:06 ]
弾はプログラム下手だからw

630 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:23:44 ]
Perl、Ruby、Scheme の三者の発言を見てきたわけだが
Shiro 氏の話が誹謗中傷にならずちゃんと分析して具体的なタメになる話になっている
冷静さの差かなぁ
マクロに付いての話題にちゃんと繋げているし
Ruby や perl も同じように言語の特徴や分析で戦って欲しかった



631 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:35:43 ]
コメント欄見る限りMatzはスルー力が足らないように思われます

632 名前:デフォルトの名無しさん [2006/12/18(月) 21:36:29 ]
webを回っていた、Lispというものを知りました。

Lispの存在意義についてお聞きします。
Lispは現在どんな使い道があるのですか?
また、Lispで作られた実用的なソフトをほとんどみたことがないのですが、
どんなものがありますか?

Script Languages
cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang

>彼等が鬼の首とったように言うことの1つに Lisp はマイナーだから云々、というのがあります。
>しかし ANSI (XJ13) から正式に The Standard が出てる以上にプログラミング言語のメジャー性を裏付けるものってあるんでしょうか?

とありますが、では何故、Windowsで、まともな処理系がないのでしょうか?
Lispで作られた、実用ソフトもほとんど見たことがありません。
(xyzzyくらいです、しかも組み込みですし)

webアプリ開発でも使われているのが、ほとんどみたことがありません。

メジャーというからには、相当数ユーザー人口がいると思うのですが、どれくらいいるのでしょうか?

633 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:36:31 ]
KURODA の実績って本田技研でデータベースのアーキテクチャ設計したくらいか?
ホンダは独創を好む社風だから説き伏せられていいカモにされたんだろうな。
数理システムが潰れたら本田技研のデータベースどうなるんだか。

634 名前:デフォルトの名無しさん [2006/12/18(月) 21:36:58 ]
> webを回っていた、Lispというものを知りました
webを回っていたら、Lispというものを知りました


635 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:42:09 ]
黒田のせいで変なの来たぞw
なんでこいつらみんな同じ事言うんだろうな

636 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:46:12 ]
同じ人だからだよ

637 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:46:40 ]
>>632
半年ロムれ

638 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:13:04 ]
クロちゃんはどの程度のlisp hackerなんだよ
Guy Lewis Steele Jr.とファーストネームで呼び合えるくらいなのか?

639 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:23:53 ]
ハカーっぷりはともかく、政治力はあるねえ。ALUの役員やってたりするし。

640 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 23:50:11 ]
黒田頑張っても毒吐いてもPaul Grahamには慣れないだろうな
そう言えばYコンビネータとかどうなったんだろ



641 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 23:54:20 ]
そこで湯浅太一先生に期待ですよ

642 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:09:57 ]
gavino といいおかしな人の行動は世界共通なのかなー

643 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:30:03 ]
スレ伸びすぎワロタ

644 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:42:26 ]
あのミロのサルまねみたいなタイトル画像ダサ。


645 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:43:00 ]
他の Lisp Hacker からの反論も欲しいなあ。
あんなのが Lisp User の共通認識だと思われちゃうと、ますます新人が入って
こなくなっちゃうよ。(黒田氏的にはむしろ望ましいのかもしれんが)

646 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:55:12 ]
まともな奴ならあれが共通認識だとは思わないでしょ。

647 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:58:51 ]
>646
世の中というのを甘く見てはいかんよ。
でも黒田さんもたぶん、そういうことは想定していないんだろうね。単に
(Common) Lisp はすごいんだぞ、というアピールくらいのつもりなんじゃない
かなぁ。



648 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 01:00:09 ]
過激なこと言って注目を集めて Franz の Lisp を売ろうという
営業手法なのかもしれんね。あれだけ言えば、とりあえず Lisp
ってどんなもんか見てみるかって気になるやつがいるかもしれん。
トラブルを起こして注目を集めるという和泉モトヤ的?手法?

649 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 01:11:11 ]
このスレってこんな話題ばっかやね

650 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 01:42:07 ]
>>647
いやいや、クロちゃんのシロちゃんに対するアンビバレンツを見よ。
彼は Lisp をアピールしつつも、使ってほしくないとも思ってるんだよ。



651 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 02:16:13 ]
>>648
>トラブルを起こして注目を集めるという和泉モトヤ的?手法?
ホンダの営業がよく使う手だ

652 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 02:20:36 ]
どうでもいいが「シロクロはっきりさせる」と言う言葉がうかんだ。
つかなんでいつもフレームになるんだろう。

頭がよくてもコモンセンスない人大杉


653 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 02:54:09 ]
フレームはレクリエーションだから。温泉宿での卓球みたいなもの。

654 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 03:13:09 ]
そんなことより SBCL すごいことになってるぞ
www.technorati.jp/search/sbcl?language=ja

655 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 06:12:47 ]
確かにすごいことになってるな。

656 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 06:20:58 ]
もう荒しはやめろ

657 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 13:03:41 ]
lisp嫌いな人って、どこら辺が嫌なんだろ。
前置記法や括弧が多い以外になんか聞いたこと有る?


658 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 13:29:21 ]
>>657
個人的にはFORTHとかの変り種とか見てきたせいか前置記法とかは気になったこと一度も無い。
でも初めてlispを知ったときは括弧の対応をどうやってすばやく把握するのか非常に迷った事がある
特にcond周りとかで迷子になったせいで括弧の多さは辟易したが、プリティプリントや構文サポートつきのエディタの存在をしってからは気にならなくなった。
実際嫌いな人何人か見てきても見た目の括弧の多さに引いてしまい、結局のところ食わず嫌いで終わってる気がする。


659 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 15:00:07 ]
自分は多少かじってる程度だけど、むしろずらずらと連続する括弧に快感をおぼえる。
でも、括弧をどう並べたら素晴らしいかは迷うな。
日によっても美しいと感じる並べ方が変わる。
うはw変態ww

660 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 15:27:09 ]
Lispに触れる前は、ワサワサと連続する閉じ括弧に「なんだこりゃ」とのけぞったけど、
いざ触ってみたら、閉じ括弧は人間(プログラマ)が意識せにゃならん要素ではなかった。

コードいじってて、閉じ括弧幾つ書けばいいんだっけ? と思ったら
とりあえずダダダダっと大量に連続させて、開き括弧にカーソル当てて
エディタ様に「切れ目」を選んでもらい、そこで改行&行ごと削除。
ちょっと画用紙で工作してるときのフィーリングに似てるなと思ったりw



661 名前:デフォルトの名無しさん [2006/12/19(火) 16:35:32 ]
いくつかスレも立ってるが、括弧のないLISPを作る試みはすべて失敗した。

662 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 19:03:35 ]
LISPがウケないのはカッコじゃなくて前置記法だっつうの。


663 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 19:42:10 ]
俺の実体験から言うと括弧でしたよ。
一々括弧の対応を追わずにインデントだけで読める事に気付くまでは大変だった。

664 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 20:28:42 ]
>>662
そんなこと言いつつ、アセンブリ言語は好きだったりしないか?

665 名前:デフォルトの名無しさん [2006/12/19(火) 20:29:47 ]
俺は、前置記法だな。
なんつーか、オブジェクト指向言語を使った後で使った後に、
C言語を使ったもどかしさと同じものを感じる

666 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 20:35:06 ]
あれこれ使ってると、無意識に (x + y) とか書いてて処理系に怒らることある

667 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 21:32:49 ]
>>666
CとSchemeの間は自動的に頭が切り替わるんだけど、
JavaScript付近の微妙なとこだと俺もそういうことがある。

668 名前:デフォルトの名無しさん [2006/12/19(火) 22:24:49 ]
もりあがってんな

669 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 22:42:50 ]
オレの場合は再帰
とくに末尾再帰を考えると頭が痛くなったな
あとはやっぱりlambdaかな
高階関数とか関数型言語のエッセンスもC/C++から来た人間には辛い
括弧よりこっちの方jが壁になるんじゃないだろうか
スクリプト言語からなら壁は薄いのかも知れないけど

670 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 22:53:44 ]
末尾再帰はだるかった
高階関数はC使いでも
関数ポインタばりばり使う変態なら結構いけるんじゃね?
とかおもった。



671 名前:デフォルトの名無しさん [2006/12/19(火) 22:58:25 ]
高階関数は他の言語でも結構使ってるよ。
制御構造とか作れて便利

672 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:01:57 ]
再帰も高階も使いたくないなら使わなきゃいいだけなんだけどね。
使いたい状況のときに使えるのが利点なわけで、それが壁になるというのは
本末転倒の状況と言えるだろう。

673 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:05:05 ]
ループマクロの書き方がわかってんなら再帰する必要もないだろ。

674 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:08:47 ]
Common Lisp のLOOPマクロのすべての書き方を覚えるほうが百万倍大変だよな。w

675 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:41:41 ]
>>670
関数ポインタと高階関数は違うからなぁ
レキシカルスコープで環境まで渡せるのがCommonLispやSchemeの高階関数だし
関数を作って返すことも出来ない

>>672
理解出来ていないで使えないのと使わないのでは違うんじゃ
理解していないと使う状況も利点も見えてこないと思う

>>673
ループマクロで再帰を代替えできるってのも違うような

どちらにしろC/C++からは結構なパラダイムシフトを強いられる言語ではあるような気がする

676 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:07:06 ]
>>661
Skillしらん?

677 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:11:21 ]
「すべて失敗した」うちの一つだと思われ

678 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:21:53 ]
emacs lispの次くらいに世界で広く使われている(と思われる)
lispで書かれた極めて実用的なdesign fare workなんだけど。
ttp://www.google.co.jp/search?hl=ja&q=Cadence+Skill+Lisp+Scheme&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
数年前の4.3で10Mstep以上だと聞いた記憶がある

679 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:23:09 ]
初めて聞いた

680 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:35:45 ]
分野的に縁がなければ知らないのも無理がないか…
Syntaxはこんな感じで
ttp://www.ee.vt.edu/~ha/cadtools/cadence/skill.html
とても書きやすい。これは(let 使ってるからまだlispの()syntaxの片鱗が見えるけど



681 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:37:49 ]
そういやPythonもLogoも中身はLispみたいなもんだったw

682 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:46:49 ]
>>661
Guido LispやMatz Lispはまだ失敗してないぞ

683 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:47:29 ]
ケイデンスが開発したのか。EDA業界ではメジャーなのかな。
Lispに慣れてるせいか、Lispより読みやすいとか書きやすいとかは正直感じないなぁ。
括弧に抵抗ある人にとっては、こういうほうが良いんだろうけど、マクロとかの話を始めると
結局二重言語になってしまって却ってわかりにくいんじゃないだろうか。

684 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:06:34 ]
The following example illustrates a custom syntax for a special way to build a list from an
original list by applying a filter and a transformation. To build a list of the squares of the odd
integers in the list
 ( 0 1 2 3 4 5 6 7 8 9 )
you write
trForeach(
 ?element x
 ?list ’( 0 1 2 3 4 5 6 7 8 9 )
 ?suchThat oddp(x)
 ?collect x*x
) => ( 1 9 25 49 81 )

instead of the more complicated

foreach( mapcar x
  setof(x ’(0 1 2 3 4 5 6 7 8 9) oddp(x))
  x * x
 ) => ( 1 9 25 49 81 )

Implementing an easy-to-maintain macro requires knowledge of how to build SKILL
expressions dynamically using the backquote (‘),
comma (,), and comma-at (,@) operators.
The definition for trForeach follows.

defmacro( trForeach ( @key element list suchThat collect )
 ‘foreach( mapcar ,element
  setof( ,element ,list ,suchThat )
     ,collect
 )
)

685 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:07:58 ]
>>682
まだ失敗してないけど、成功するとは思えません。
いや、マジな話店頭で気軽に買える処理系がそのまま仕事で使えるようにならないと普及せんだろ?


686 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:15:38 ]
>>685
2行目には賛成するが、3行目には賛成できない。

687 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:20:13 ]
(defun fibo (n)
 ( cond
  (( or (equal n 1) (equal n 2) ) 1 )
   (t (plus ( fibo (difference n 1) )
         (fibo (difference n 2 ) ) ) )
  )
)

↓こんな感じ。

procedure( fibo(n)
  if ( (n == 1 || n ==2 ) then
     1
  else fibo(n-1)+ fibo(n-2)
 )
)

どっちで書いてloadしても良いんだけどさ。

688 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:21:45 ]
言いたかったのは失敗だなんてのは
悪いけど、井の中の(ry

689 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:28:42 ]
問題はCadenceが言語syntaxに知財持っていると
openな似たsyntaxの処理系訴訟されかねないって点かな
Cadenceは権利にメチャこだわる(うるさい)会社だから

690 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:43:36 ]
Ruby はもうキャズム越えただろ
店頭販売の処理系じゃないとってw
その理論だと perl や PHP などの web 系の仕事は成功とは言われない訳だな
Java も処理系は売ってないな
JavaScript も Ajax などのブラウザクライアント言語として成功しているように思えるがこれも成功じゃないのかw
なにが基準で成功なんだwwww



691 名前:デフォルトの名無しさん [2006/12/20(水) 02:49:26 ]
>>687
こういうのもLispで自己記述できるんですか?

692 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:49:42 ]
外したよ。自分で気が付かないと。

693 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:52:13 ]
Lispで自己記述できるかどうかは知らない。
pretty printするとS式「でも」表示できるから中身は全くのlisp。

694 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 02:58:54 ]
そういうreaderをLispで書くのはさほど難しくはないだろうね。
ただ、言語を普及させるってのは別の意味の労力が必要だからなぁ・・・

695 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:01:17 ]
俺はそう言うopen のreader(あれは単なるreaderではなさそうなんだが)
喉から手が出るほど欲しいんだよ
生産性が桁違いなんだ
自分で作っている時間が無くて残念

696 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:04:40 ]
普通は
(defun fibo (n)
 (if (or (= n 1) (= n 2)) 1)
   (+ (fibo (- n 1))
     (fibo (- n 2)))))
って書くから、少なくともタイピング労力的には大差ない気がしちゃうのは
俺がLisp贔屓だからだろうか。w

697 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:05:53 ]
たぶんね。もう少しややこしいcodeだとありがたみが分かる

698 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:06:51 ]
>>696
あ、ちょっと間違えてるな。w
まぁ気分だけ汲み取ってくれ。

699 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:09:42 ]
結局、Lispに慣れてないとなかなかそういう物はつれない。
だけど、Lispに慣れちゃうと特に必要性を感じない。
というわけで、あまり作られないんじゃないかと思う今日このごろ。
Pythonくらいに明確にLispとは違う言語にしちゃうなら話は違うだろうけど。

700 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:11:26 ]
多分
・lispのcodeの一見難解さが(頭の体操みたいで)好き
・lispの柔軟さが好きだけどパット見た目のcode分かりやすさも重視したい俺
好みの違いの希ガス



701 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:14:39 ]
いくら何でも寝ます
最近はHaskellがお気に入りだったりするw
ノシ

702 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:55:24 ]
言語自体が S 式じゃなくても
言語の木構造をファーストクラスオブジェクトとして扱える
上記に伴い、文字列・ファイルストリームから評価前の木構造を取り出せる
くらいできるとずいぶん使い勝手がいいと思うんだけどなあ。
世の動的言語デザイナーは、なぜ read と eval を分離しようとしないんだろうか。

703 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 04:03:34 ]
オブジェクトを忘れょぅょ
関数プログラミングが完全に包含しているんだから

704 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 10:32:05 ]
閑散
黒田
盛盛


705 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 12:55:35 ]
>702
禿同

706 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 13:08:18 ]
結論としては、黒田マンセーということで。

707 名前:デフォルトの名無しさん [2006/12/20(水) 21:19:56 ]
>>702
>世の動的言語デザイナーは、なぜ read と eval を分離しようとしないんだろうか。

言語デザイナーと言語実装者が分離してないからじゃないかな。
「正しい事」より実装が簡単な事の方が重要なのです。

708 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 21:36:15 ]
共産主義と資本主義みたいなもんか


709 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 22:02:09 ]
>>702
C♯は標準ライブラリを使ってソースをパースしてツリーとして使えるようになってるよ。
あとはHaskellとか。

710 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 22:07:39 ]
>>709
C#のそれは違うのだが
どう違うのか説明が難しい



711 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 23:02:11 ]
Pythonにもあるが、ツリーが奇々怪々で使えない

712 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 10:52:10 ]
>710
kwsk

713 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 13:23:45 ]
LCG あたりの話かな

714 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 15:19:52 ]
抽象構文木がS式として手軽に扱えるようになってるだけじゃなくて、
quote(やquasiquote)があるのがLispの強い所でしょう。

715 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 15:34:49 ]
グワシ

716 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 16:39:55 ]
>>702
そうするとCLのシンボルがどこにinternされるか問題みたいなのが
出てきて、今度はそれと戦わないといけなくなる可能性があるからなあ。
Schemeみたいにパッケージ?何それ?なら話は簡単だけど。
全て文字列でやる?

717 名前:デフォルトの名無しさん [2006/12/23(土) 23:56:21 ]
OCamlのCamlp4にはquotationもantiquotationもあるよ

718 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 21:32:53 ]
scheme で,階乗を末尾再帰で書こうと思って

(define (fact n)
(letrec (((fact-sub a n)
(if (= n 0) a
(fact-sub (* a n) (- n 1)))))
(fact-sub 1 n)))

こんなふうにしたらうまくいきません.なんで?

719 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 21:35:52 ]
letrec は labels じゃないから

720 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 21:46:54 ]
>>718
おまいさんがやりたいのはこういうことけ?

(define (fact n)
(let fact-sub
((a 1)
(n n))
(if (= n 0) a
(fact-sub (* a n) (- n 1)))))



721 名前:718 mailto:sage [2006/12/29(金) 22:14:29 ]
letrec では関数は定義できないってことでしょうか?
で,そういう場合には名前つきletを使うと.
なるほどありがとうございます.


722 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 22:17:24 ]
>>721
letrecでやりたけりゃこうなる。

(define (fact n)
(letrec ((fact-sub (lambda(a n)
(if (= n 0) a
(fact-sub (* a n) (- n 1))))))
(fact-sub 1 n)))

723 名前:718 mailto:sage [2006/12/29(金) 22:22:01 ]
>>722
lambda を使うと letrec で定義できるのに,
使わなかったら定義できないのはどうしてでしょうか?


724 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 22:23:01 ]
>>723
どうして定義できると思うんだ?

725 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 22:29:53 ]
(define f (lambda (...) ...))

(define (f ...) ...)
と書けるのと同様の syntax sugar が letrec にも欲しいってことか?

726 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 22:36:53 ]
>>725
そうだとしたらそういうマクロを定義すりゃいいだけのこったな。
欲しけりゃ作る。それがLisp系言語の宿命ってもんだ。

(define-syntax letrecf
(syntax-rules ()
((_ (((f args ...) b ...) ...)
body ...)
(letrec ((f (lambda(args ...) b ...)) ...)
body ...))))

(define (fact n)
(letrecf (((fact-sub a n)
(if (= n 0) a
(fact-sub (* a n) (- n 1)))))
(fact-sub 1 n)))

727 名前:718 mailto:sage [2006/12/29(金) 22:39:37 ]
>>725
まさにそのとおりです.
OCaml や Haskell だと両者の区別がなかったので,
scheme でもそうに違いないと早とちりしていました.

728 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 23:01:25 ]
>>726
それってletrecと同じように関数以外の定義も受け付けるようにできね?
俺には無理だが。

729 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 01:57:11 ]
>>728
(define-syntax letrecf
(syntax-rules ()
((_ ((f b) ...)
body ...)
(let () (define f b) ... body ... ))))

730 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 12:19:22 ]
funcall がウザい
#' がウザい
ただソレだけの理由で CL を避けて Scheme を選んでいます



731 名前:黒田 mailto:sage [2006/12/30(土) 12:54:19 ]
ソースはどこに書いてるんですか?黒板?w

732 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 17:02:17 ]
黒田節炸裂!

733 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 19:31:56 ]
酒は飲め飲め?

734 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 05:50:16 ]
俺としては、ローカル変数名と関数名が重なってしまうSchemeは使いたくない

735 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 08:34:17 ]
誰か「対話によるCommon Lisp入門」という本
3000円で譲っていただけないでしょうか?

736 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 12:21:23 ]
でた、関数名と関数名に似たような名前付けちゃう人。

737 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 12:33:59 ]
>734
ローカル変数を使うときに
いちいち関数名とダブってるか気にするのって面倒だよな

とうわけで俺はpythonも嫌い

738 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 18:49:09 ]
関数内で使う予定のない関数とダブるかなんてあんま気にしない。

739 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 19:21:16 ]
全角英数字使う人の好き嫌いなんてどうでm(ry

740 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 19:29:20 ]
>>738
でた、関数名と関数名に似たような名前付けちゃう人。




741 名前:718 mailto:sage [2007/01/02(火) 04:04:45 ]
関数定義で,使わない仮引数(Haskell の _ みたいな)はどう書くの?


742 名前:デフォルトの名無しさん mailto:sage [2007/01/02(火) 04:40:06 ]
_ でも ~ でも好きな名前つけとけばいいじゃない

743 名前:デフォルトの名無しさん mailto:sage [2007/01/02(火) 23:03:27 ]
図形言語のフレームって円に出来る?
友達が円に出来るって言い張ってるんだけど

744 名前:デフォルトの名無しさん mailto:sage [2007/01/02(火) 23:20:27 ]
>>743
そう作ればそうできるよ

745 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 02:50:19 ]
>>743
夢は きっと 叶う

746 名前:デフォルトの名無しさん mailto:age [2007/01/07(日) 23:23:22 ]
lambda age

747 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 12:45:33 ]
>>737
Python使い始めの頃lenって変数を使ってハマったことがあるw

748 名前:デフォルトの名無しさん [2007/01/15(月) 04:22:11 ]
(M (+ 1 2))=>"(+ 1 2)=3"
みたいなマクロってどう作りますか?

749 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 05:31:36 ]
まず、式とその値を受け取って "式=値"という文字列を返す関数を作ってみ。

750 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 09:38:49 ]
constant foldingでぐぐれ



751 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 21:00:11 ]
>>748
schemeで書くとこんなカンジかなぁ。
CLは知らん。

(define (s->string s)
(let ((port (open-output-string)))
(write s port)
(get-output-string port)))

(define-syntax M
(syntax-rules ()
((_ s)
(string-append
(s->string 's)
"="
(s->string s)))))

752 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 01:32:24 ]
CL ならこうかな。
(defmacro M (expr) `(format nil "~S=~A" ',expr ,expr))


753 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 02:22:33 ]
CL すげぇ

754 名前:718 mailto:sage [2007/01/18(木) 03:01:47 ]
schemeでもこうできるじゃん

(define-syntax M
(syntax-rules ()
((M expr)
(format #f "~S = ~A" 'expr expr))))

755 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 07:14:15 ]
format って Schemer 的にどうなの?初期のハッカーの伝統を受けついでて
冗談みたいな機能がついてるけど、それってミニマリスト的には許せないよーな

756 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 09:04:50 ]
俺はこだわらないが

757 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 12:33:08 ]
ミニマリストは純LISPっしょ

758 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 13:17:11 ]
>>755
> 冗談みたいな機能
kwsk

759 名前:黒田 mailto:sage [2007/01/18(木) 13:45:08 ]
黒板に書ければなんだっていいのでは? :-)

760 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 14:46:36 ]
>>758
スキームは知らんけど、コモンリスプだとこんなんとか
(format nil "~R" 12345)
=> "twelve thousand, three hundred and forty-five"
(format nil "~:r" 12345)
=> "twelve thousand, three hundred forty-fifth"
(format nil "~@r" 1234)
=> "MCCXXXIV"



761 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 16:51:19 ]
>>760
サンクス。それは確かに冗談みたいだ。
少なくともSRFI48には入ってないな。

762 名前:デフォルトの名無しさん [2007/01/19(金) 12:13:50 ]
試してみたいがこれ試すためだけに
処理系入れるのもなぁ……
SRFI何やってんの

763 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 02:20:17 ]
CLtL*のtexiファイルってないですか?


764 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 14:16:48 ]
RnRSのversion5.92が出たけど、R5RSと比べると結構ページ数が増えてるね。
www.r6rs.org/

765 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 18:32:20 ]
いまだにオブジェクトシステムもネットワーキングライブラリも入ってない件

766 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 19:47:34 ]
↓ここで黒田が一言

767 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 20:05:24 ]
どーんまいん

768 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 11:04:33 ]
なんか()がatomかcellかで論争があったって話を聞いたんですが、
どんな論争だったんでしょうか。

769 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 11:20:25 ]
知りません

770 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 11:59:13 ]
知らない馬鹿は無理して会話に入ってこないで
黒板にSchemeコードでも書いてて下さい。



771 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 12:44:38 ]
黒田にSchemeコードと空目した。


772 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:16:42 ]
あまりネにもたないほうがいいとおもわれ…

773 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 02:00:44 ]
からかうなら ILC がチャンス
Scheme 屋が周りにいるとこで「黒田さーん、Scheme が使いものにならない
理由をもう少し詳しく教えてください」とでかい声で英語で聞けばよろし

774 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:30:00 ]
ttp://onecare.live.com/standard/ja-jp/prodinfo/default.htm

> ウイルス、ワーム、トロイの木馬、ハッカー、フィッシング詐欺、
> およびその他の脅威からコンピュータを保護します。

ポール・グレアムさん
マイクロソフトに言わせるとハッカーはウイスルやワームと同じものらしいです

775 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 21:55:26 ]
>774
マイクロソフト自身がスパイウェア作ってるのにな

776 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 00:47:58 ]
なにこの香ばしい展開

777 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 08:37:28 ]
オープンソーススクリプト言語の糞信者どもが
神聖なLispスレをオナニーで荒らしているのです。

778 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 12:23:21 ]
ジハード!ジハード!

779 名前:黒田 mailto:sage [2007/01/29(月) 12:45:17 ]
Lispが負けそうになったら
自分が出て行ってPとかRをやっつける

780 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 13:30:30 ]
どのスレへ行っても言語勝負厨はうざいな



781 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 13:52:37 ]
宗教戦争ネタの宿命ですな。



782 名前:デフォルトの名無しさん [2007/01/30(火) 15:09:48 ]
どなたか途中まででいいんでよろしくお願いします。
次に示すScheme プログラムについて以下の問に答えよ。
(define (subtree? t1 t2)
(cond ((atom? t1) (eq? t1 t2))
(#t (cond ((atom? t2) #f)
(#t (or (and (subtree? (car t1) (car t2))
(subtree? (cdr t1) (cdr t2)))
(or (subtree? t1 (car t2))
(subtree? t1 (cdr t2)))))))))
関数subtree?は二つのS 式(S 表現) t1, t2 を入力とし、真偽値(#t あるいは
#f) を返す関数である。
関数subtree?が真(#t) を返すための必要十分条件は何であるか答えよ。また、
関数subtree?が実際そのような関数であることをS 式に関する帰納法を用い
た議論によって示せ。

783 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 15:11:21 ]
また宿題かよw

784 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 15:36:23 ]
途中まででいいのか。
必要十分条件は(ry

785 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 15:56:26 ]
この続きはまた来週!

786 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 16:08:02 ]
ご愛読ありがとうございました

787 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 16:09:59 ]
>>784 先生の次回作にご期待ください

788 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 19:52:23 ]
んじゃ宿題と関係のないところで。
>>782 のような関数だと、普通はeq?じゃなくてeqv?を使うんじゃないのかね。
eq?はオブジェクトのidentityを調べる以外に使わないでしょ。

789 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 20:44:05 ]
>>788
(atom? t1)なんだから無問題

790 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 21:00:41 ]
>>789
(eq? 1.0 1.0)



791 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 23:20:25 ]
LispとPostScriptさえあれば私はハッピーになれる
ttp://rikunabi-next.yahoo.co.jp/tech/docs/ct_s03600.jsp?p=000994
HHKの記事ですが。

792 名前:デフォルトの名無しさん [2007/01/30(火) 23:41:23 ]
結局要領のいいLISPの独り勝ちです。


793 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 23:44:20 ]
forthじゃないところが泣ける……

794 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:24:00 ]
forthは括弧が無いのが失敗だったな。w
括弧でわかりやすくして、逆さから読めばそのままLispになる。

795 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:47:08 ]
カッコも良いけどconcatenativeじゃ無くなるからな……

796 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 08:02:53 ]
LISP好きだけど括弧ウザイ一派です。
どうにかして括弧をなくせないか色々考えておりますが、現在の所、
予約語を言語内の特別なマクロで定義し、その予約語について
ぶら下がる語数やキーワードで判断するという手法でなんとかしよう
と思っております。予約語はreadにより振り分けられS式に変換される
としましょう。ifならば if <test-part> <then-part> <else-part>という風に。
しかしこれではelseを省略できませんので、thenやelse等のキーワードを
付ける事とします。すなわち、
if <test-part> then <then-part> else <else-part>となります。
お察しの通り、これではC言語同様にぶら下がりelseが処理できません。
でもそれで良いのです。なぜならば、C言語が現状一般的であり、
読みやすいとされる言語だからです。C言語に近い事こそが正義なのです。
そうなるとthenというキーワードも冗長に見えます。
if <test-part> <then-part> else <else-part>
なお、LISPではC言語と違い、test-partの中にもifが書けてしまいますが
これをLISPの利点としてしまうには早計です。C言語では式と文で
区別されているため、if文の代わりに条件演算子を使わなければ
書けないという仕様になっています。なぜこんな仕様にしたのでしょうか?
考えたことあるでしょうか。


797 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 08:03:40 ]
(中略)
と、こういった事は皆さんLISPを使っていれば一度は思う所でしょう。
文法を自在に定義できるLISPは一見万能に思える言語ですが、
問題もあります。最初に、予約語はreadにより振り分けられS式に
云々と書きましたが、そうするとS式に変換した段階でソースコードとは
異なる状態で保持される事になります。これはLISPマクロと同様に
デバッガで追う事が非常に困難になる事を示しています。デバッガで
ソースコードと同期を取るには、とにかくread時に抽出したトークン列の
位置を正確に記していくしかありません。そうしても、1行に何十にも
重なったマクロでは追う事がほぼ不可能になってきます。今では
C++のテンプレートでも同様の問題として認知されていますが、
テストケースを作るといった消極的策しかいまだ解決の糸口は見えません。
こういた問題を孕んでいる以上、予約語をマクロで置き換えていくなぞ
愚行と言えるでしょう。ハードコーティング最高!と結論付けて
終わりの言葉とします。

798 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 09:33:59 ]
Lisp:S式の理由
ttp://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Lisp%3AS%E5%BC%8F%E3%81%AE%E7%90%86%E7%94%B1

括弧の理由 (1) -- Emacs による S 式編集支援
ttp://lispuser.net/memo/emacs/2006-12-20-20-36.html

まぁ結局S式に落ち着くと

799 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 12:06:56 ]
はてなブックマークで、目を疑うような記事が。

魔法言語 リリカル☆Lisp
lyrical.bugyo.tk/
大反響...。
b.hatena.ne.jp/entry/http://lyrical.bugyo.tk/


800 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 18:43:14 ]
ちゅるやさんの人?
ぱちもん?



801 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 02:08:38 ]
>LispとはLISt Processingの略で名前通りリストの処理を得意とします。 このことから人工知能の開発に多く用いられています。

802 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 02:18:30 ]
LispがAIに使われていたのは記号処理が容易だったからなのだが……

803 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 02:24:29 ]
リスト処理 ⊂ 記号処理

804 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 02:29:15 ]
>>801
> リストの処理を得意とします。 このことから人工知能の開発に多く用いられています。

「このことから」で済むくらいリスト処理と人工知能の関連が
自明な相手が想定読者なのだろうか?

805 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 02:37:02 ]
正直キモイ。ただただキモイ。

806 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 13:09:02 ]
いいじゃん、これがLISPの門戸に人を集めるきっかけになるなら。
頂の高さは、裾野の広さ(とゴミの多さ)で支えられるものだと思うよ。

807 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 13:34:43 ]
Lispeは非Lisperからキモがられてるし、
今さらそんな生理的嫌悪がなんだって話だ。

808 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 13:39:20 ]
アニオタ氏ね

809 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 14:14:57 ]
メンバーは大学4年生か
卒論控えてるというのに余裕だな...

810 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 15:30:12 ]
>>809
世の中なめてるだけだと思う。




811 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 19:46:52 ]
アニオタ氏ね

812 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 23:04:24 ]
なんか頭悪そうなのが来ちゃったな

813 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 00:58:36 ]
アニオタ氏ね

814 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 01:18:33 ]
バベル案内
ttp://www.aoky.net/articles/steve_yegge/tour_de_babel.htm

815 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 01:50:27 ]
なにこの陰険文章……。なんで Ruby 信者は他の言語を貶すわけ?

> RubyはPerlのいい部分をすべて盗んだ。

スティーブ ! CPAN ! CPAN !

816 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 01:51:24 ]
RubyもPerlもスレ違い。他所でやれ。

817 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 03:10:36 ]
初期のAmazonはCとLispしかリポジトリに入れなかったってので張ったんだけどなw
ちょっとポール・グレアムの話と被ったんで

818 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 13:33:15 ]
>>817
いや、すんごく面白かったよ。自分の中では数ヶ月に一度ぐらいのヒット。

819 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 18:07:14 ]
どっかおかしくなってるんだよ

820 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 16:45:36 ]
>>814
その皆に愛されたmailmanとか言う
elispプログラムを見てみたいな。
Lispの生産性の良い例になってるかも




821 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 01:29:10 ]
>820
こいつは違うんかいのう
ttp://www.gnu.org/software/mailman/

822 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 01:38:37 ]
>Mailman is written in the Python programming language, with a little bit of C code for security.


823 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 01:41:33 ]
PythonはLisp

824 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 13:25:45 ]
ほんとだ
よく読まんかったorz

825 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 15:19:11 ]
ttp://www.cbook24.com/bm_detail.asp?sku=9784274066375

826 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 16:51:37 ]
>>825
うおっ 出るのか!
全部印刷しなくて良かったぁw

827 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 16:54:12 ]
漏れも買う

828 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 17:24:24 ]
おれも、おれも。

829 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 19:02:23 ]
じゃあ俺は印刷で。

830 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 19:39:54 ]
>>823
お前は俺



831 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 19:41:26 ]
俺も一冊買わせてもらうぜ野田くん

832 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 20:29:08 ]
印刷して読んでるとこだけど本も買うよ

833 名前:デフォルトの名無しさん [2007/02/04(日) 22:07:46 ]
ウェブで全部読んだけど買う。

834 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 22:12:23 ]
>>825
古い本だけど待ちわびてた。
この本で日本のCommonLisp熱が盛り上がるといいな。

835 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 22:51:59 ]
やっぱり本だと移動中にちょこちょこ見れるからね

それにしてもSICP難しすぎるw
挫折しそうw

836 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 23:16:43 ]
移動中に見るなら、本をバラすよりも必要な分だけ印刷する方が楽じゃない?

837 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 03:04:51 ]
別にバラさなくてもいいと思うんだけど
毎回印刷したの止めるのも面倒だし
関連項目を読み直す場合もあるから必要な部分だけ印刷ってのは
このての本では逆に向いていないんじゃないかなぁ

838 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 03:52:16 ]
一人3冊な

839 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 07:28:42 ]
ちょw図書館の購入申請で勘弁してくれw

840 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 18:58:13 ]
すごい!やっとぉ!
日本語完成したときも感動したけど
本になるとはお疲れ様です



841 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:25:07 ]
こんなのあったのね
ttp://clemens.endorphin.org/liskell

842 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:38:57 ]
>>839
多くの人に読めるようになると考えればむしろ無問題。

843 名前:デフォルトの名無しさん mailto:age [2007/02/06(火) 15:38:02 ]
質問があるのですが、
次のような関数を実行するとgaucheとdrschemeで結果が異なります。
readの評価タイミングは環境依存ということでしょうか?

(define (hello) (display "Hello ") (display (read)))

gauche:
gosh> (hello)
scheme <- 入力してから
Hello scheme#<undef> <- (display "Hello ")が後から実行

drscheme:
> (hello)
Hello scheme <- (display "Hello ")が先に実行される
scheme

ずっとdrschemeのように関数の前から順番に実行されるものだと思っていました。

844 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 15:56:23 ]
順番に実行されてるけど、出力がバッファリングされてるだけ。
(display "Hello")の直後に出力されることを保証したいならgaucheなら(flush)とか入れてみれば。
他の処理系は知らね。

845 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 15:58:37 ]
実行順序は変わっていない。
readによって出力がflushされるかどうかの違い。

846 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 16:14:53 ]
>>844, 845
上手くいきました!ありがとうございました。

847 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 20:36:07 ]
lyrical.bugyo.tk/
の体験版が出ていた。

処理系としてはSchemeのサブセットか。

1行入力して、1行出力なので、displayとかの副作用のある関数は使えない。
defmacro, define-syntax もなかった。
スタックは200であふれたが、末尾再帰の最適化をしてくれるようだ。
しかし当然だがすんごく遅い。

しかしタイトルバックにλ山が描いてあるので、個人的にはそれだけでOK。


848 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 23:38:06 ]
「魔法言語 リリカル☆Lisp」ってなあ…、このエロゲ風の雰囲気は何とか
ならんのか。会社でいじってて、つい夢中になってしまって、気づいたら人から
変な目で見られてたよ…。
まあ、この雰囲気が売りなんだろうけど。


849 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 23:47:56 ]
アレゲな機能が搭載されてないのがガッカリ。

850 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 00:38:52 ]
機能一覧
lyrical.bugyo.tk/func.html

letrecがないのはヘタレな自分にはつらいな。



851 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 00:49:11 ]
NScripter上で動くのか。
昔同じこと考えたが、死ぬほど遅そうだから実装までしなかったよ。

dyb の psyntax は動かないだろうな。

852 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 20:45:02 ]
お勉強パートは評価するときに

 すたーらいとぶれいかー☆

とか言って欲しいよね

853 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 21:31:52 ]
>>652
そういうのは分からんなあ。
すまんが私にはエロゲ教養がないのだ。

REPLのプリント時にビープ音などで通知してくれたら、ありがたいだろうとは
思う。今 taraiを回しているんだけど、ほんのちょっとなのにものすごく時間
がかかるから。

(define (tarai x y z) (if (<= x y) y (tarai (tarai (- x 1) y z) (tarai (- y 1) z x) (tarai (- z 1) x y))))

(tarai 8 4 0) => 実行中…。

おー、やっと終わった。何分かかったんだ、これ。


854 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 21:51:53 ]
timeしようぜ

855 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 21:57:53 ]
地獄Lispのほうはまともに動かないな

856 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 22:11:59 ]
ほんとだ。
関数定義の構文糖衣がないせいかと思ったけど、
jigoku.bugyo.tk/jigoku.txt

(define tarai (lambda... と書いても動かない。
(define tarai (lambda (x y z) (if (<= x y) y (tarai (tarai (- x 1) y z) (tarai (- y 1) z x) (tarai (- z 1) x y)))))
=> tarai
(tarai 4 2 0)
=> <error!>


857 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 23:34:29 ]
いや、動いているようだが。

(define tarai (lambda (x y z) (if (<= x y) y (tarai (tarai (- x 1) y z) (tarai (- y 1) z x) (tarai (- z 1) x y)))))
=> tarai
(tarai 8 4 0)
=> 8
(tarai 4 2 0)
=> 4

修正されたのか。

858 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 00:37:27 ]
(+ 1 2 3 4 5 6)

とかで

3

が返ってくるけどw

859 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 00:43:12 ]
書いてないけど + や * も2引数しか対応していないのかw

860 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 09:44:04 ]
普通に21が返ってくるぜ?



861 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 10:48:08 ]
どうやら修正されたせいみたいだ。
昨日から地獄LISPを開いたままだったブラウザで今試したんだけど、
(+ 1 2 3 4 5 6) はやっぱり 3 になった。
そして、ページをリロードして再実行したら、今度は 21 になりますた!
たぶん中の人もここを見てるんだろう。


862 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 11:06:26 ]
つうことで、乙カレー >> 中の人
意外にちゃんと動くんで、つい遊んでしまうよ。面白いねえ。
希望を言うと、

・せめてフリーモードだけでもBGMをOFFにする機能が欲しい。
 今はこんな感じ。
 1.起動に時間がかかるので立ち上げっぱなし
 2.何かのきっかけでわずらわしくなって終了
 3.また試してみたいことがあって、時間をかけて起動
 4.上の1-3を延々と繰り返し
 5.ヤケになってBGMファイルをヘヴィメタに差し替え

・画像もOFFに出来たら職場でいじりやすい。

・チュートリアルはよく読んでないけど、CONSセルをCGアニメーションで視覚
 化して説明してくれたら面白そうだ。
 
・あとは出来たら、普通に単位を取って幸せになってほしい。


863 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 11:21:35 ]
(tarai 6 3 0) => 6
これの評価に約1分30秒かかった。マシンはPen4の2.99GHz。
途中は延々とGCの繰り返し。
ここまで遅いと、いっそ爽快ですらあるな。

864 名前:863 mailto:sage [2007/02/08(木) 11:35:43 ]
上の数字は体験版だが、驚いたことに地獄LISPの方が速いみたいだ。

(tarai 6 3 0) => 6 なら1秒程度。
(tarai 8 4 0) => 8 でも20秒程度で終わってしまう
ブラウザは Gran Paradiso 3.0a1 (Firefox3 のα)

意外にもOpera9.10だと(tarai 8 4 0)が1分以上かかる。


865 名前:デフォルトの名無しさん [2007/02/08(木) 12:42:33 ]
地獄はソース読んでみた限りではほとんどオーバーヘッドなさそう。
それに対して体験版のはただでさえ遅そうな某処理系の上に骨組み組んでるから遅いのでは。

866 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 20:09:22 ]
JavaScriptって実はもの凄く柔軟性のある言語だったりする?
なんかコンビネータ使わなくても不動点関数作れそう

867 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 21:12:28 ]
たぶん気のせい

868 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:39:15 ]
JavaScriptではコンビネータ無しで無名関数の再帰ができるそうだ。

0xcc.net/blog/archives/000159.html
arguments.callee を使うと無名関数でも簡単に再帰が書ける。
例:
function(x) { return x == 0 ? 1 : x * arguments.callee(x - 1); }


869 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:59:17 ]
Perlもコンビネータ無しで書けたなぁ
SchemeでYコンビネータ書くと結構ゴテゴテしてちょっと悔しい
MIT Schemeのマークみたいに簡単に書ければいいのに
ってあのまま書けるのってHaskellだっけ

870 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 02:12:50 ]
全然関係ないが感動した
www.nicovideo.jp/watch?v=utfSSWUEp6h1I



871 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 19:21:27 ]
中の人はやっぱりここを見ていた模様。
blog.bugyo.tk/lyrical/2007/02/post_13.html

> 某所で色々と試してくださる人がいるお陰でデバッグが進んでます。
試験期間中に進めるべきものは別にあるような気がするんだが…。

> このバージョンが欲しい方は4/8開催の「なのはFestival2」まで足をお運
 びください(笑)
今見たら関西じゃないか。無理。つうか都内でも心理的にかなり無理。


872 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:23:01 ]
リリカルたんでオナニーするのだ!

873 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 14:38:51 ]
>868
なんかいまいちよくわかっていない気がするんですが、
schemeでも、lambdaが新しい環境を作るときに、
自分自身を指すシンボルを定義してくれればよいんではないでしょうか。
そのコードではarguments.calleeがそれをやってる気がします。
いまマクロで作れないのかどうか考えてます...

874 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 14:47:42 ]
そりゃマクロ作ればなんでもできるでしょ

875 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 14:53:11 ]
>>825
遅レスになってしまったが...
キターッ!!

876 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 15:33:20 ]
define-macroで失礼。hygienic-macroサパーリ
(define-macro (lambda+ args . body)
`(let ((callee #f)) (set! callee (lambda ,args ,@body)) callee))

>function(x) { return x == 0 ? 1 : x * arguments.callee(x - 1); }
(lambda+(x)(if(zero? x)1(* x(callee(- x 1)))))

といったところか。
単なる構文糖衣。
hygienic-macroだとlambda+をlambdaのまま書けるんだっけ。

877 名前:873 mailto:sage [2007/02/10(土) 16:19:38 ]
さっきからsyntax-rulesでやってみてますが、どうしたらいいのかよく分かりません。

(define-syntax fn
 (syntax-rules ()
  ((_ (arg) body)
   (letrec ((self
        (lambda (arg) body) ))
    self ))))

とかやっても、selfはマクロの外では定義されてないので、
selfを使うとunbound variableになってしまいます。
keywordにしたとしても、明示的にパターンに書かないと捕捉してくれません。
ひょっとしたらsyntax-rulesでは書けないのでしょか。

878 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 16:39:24 ]
recってのがSRFIにあったと思ったんだけど。

879 名前:873 mailto:sage [2007/02/10(土) 17:16:47 ]
>878
ありがとうございます。
これ=> ttp://srfi.schemers.org/srfi-31/srfi-31.html
ですね。selfを外に出してやればよかったんですね。
でもいまいち冗長な気がしてしまいます...

880 名前:デフォルトの名無しさん [2007/02/11(日) 00:40:52 ]
define-macroで十分だよね。
syntax-caseとかソース読んでも保守できないうんこ。
無闇に敷居を上げるだけ。
>>876なんか5秒で書ける。それも瞬時に頭の中で完成してる。
展開した形も即把握できる。
何故ならただのリスト処理だから。
quasiquote理解した直後に誰でも書けるハズだ。
日本のschemerでhygienicマスターしてる奴って5%もいないだろ。
hygienicはいらない子。



881 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 00:51:21 ]
一派的にhygienic(衛生的)なものより不衛生なもののほうが実用的です。
というわけで、不衛生なCommon Lispが一番ですよ。w

882 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 00:52:12 ]
×一派的
○一般的

883 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 01:19:13 ]
>>880
タイピングめっちゃ速いっすね>5秒

884 名前:デフォルトの名無しさん [2007/02/11(日) 06:17:54 ]
quasiquoteの発明はLISPの進化を革新的に加速させた。
`(....)という表記を見たら、そのS式にはメタシンボルが含まれりゅ、
というのがすぐに判る。後はリスト中のカンマを探してけばいい。
探すのが面倒でも馴染みのリスト処理で機械的に抽出できる。
言うまでもなくquoteの発明も素晴らしいのだが、quasiquoteは
言わばレキシカルに固定化されていたS式を静から動に開放したのだ。

プ言語みたいに文字列という異物の中から$付き変数名を探すよりも
よほど自然で理にかなった作業、入出力共にリストだから出力書式
みたいな二次的であいまいな物にも縛られず、中身の形式を気にする
必要もない美しさ、完全さを兼ね合わせる。

プログラミング言語に必要なのは、プログラマを納得させつつ、
興奮で身悶える様な爽快なギミック、表現力を加速させるスピードだよ。
hygienic-macroは明らかに足枷として働く。時間の無駄だ。
Lisper、Schemerは自身のプライドに懸けて、どうでもいい雑用は
素早く完了させつつ、興味ある分野にひたすら没頭し続けなければ
ならないのだ。

885 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 07:42:23 ]
グワシ!

886 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 07:43:12 ]
マッチョメ!マッチョメ!


サバラ!

887 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 12:23:14 ]
>>884
> 言うまでもなくquoteの発明も素晴らしいのだが、quasiquoteは
> 言わばレキシカルに固定化されていたS式を静から動に開放したのだ。
俺Lisp(まぁオモチャみたいな物だけど)にこれ実装しようとした途端、
次元が変わったみたいに急に色んな物事を「実行時」にしか決定できなくなったもんなぁ。
あれは確かにすごい開放。

888 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 01:36:01 ]
なんで quasiquote で「実行時にしか決定できなくなる」わけ?なんか間違ってない?
コンパイル時に quasiquote 使っても別になんの問題もないんだけど。

889 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 01:54:22 ]
いや俺Lispの独自仕様を根掘り葉掘り聞くのは本筋と違うのでは。

890 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 01:56:45 ]
裏筋だな



891 名前:デフォルトの名無しさん [2007/02/12(月) 02:39:40 ]
eval-when の実装がないか中途半端なんだろ。

892 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 10:12:29 ]
quasiquote実装するのにeval-whenなんかいらんがな。
単に定数部分とそうでないところを判別して、式を組み立てる式にすればいいだけ。

893 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 02:06:58 ]
こういう物を見つけた。
ttp://sigkill.dk/blog/archives/254-CLIM-Desktop-0.2-x86-binaries.html

closureをずっと弄ってみたかったんだけど、環境を作り上げることができなかった。
(climacsの方は、ファイル開くぐらいはできたんだけど。)
で、うまい方法を探していたら、上のページを見つけた。

listenerって奴がかっこいい。
closureは、私の環境では、ページを表示できなかった。
climacsは相変わらずだけど、reverse videoが使えることを知った。

正直、私にはまだ敷居が高いんだけど、
だれか、熱意&skillのある人の目に留まって、
敷居が下がることを期待しつつ、書き込みます。;)



Freetypeの有無でファイルが二種類あるけど、
手違いで同じものみたいです。

894 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 00:18:02 ]
www.yuasa.kuis.kyoto-u.ac.jp/~yhara/webscheme/

↑のwebschemeをOperaで動くようにと
スクリプトが挿入するフォーム以外の入力から動かせるように改良してみた

i-get.jp/upload500/src/up0491.zip

895 名前:デフォルトの名無しさん [2007/02/17(土) 00:21:36 ]
(while t
 (dolist (c '(33478 33449 33471 33474 33453 33471 33476 10))
    (princ (code-char c))
    (sit-for 0.03)))

896 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 14:18:33 ]
ISBN 978-4-274-06637-5 ktkr

897 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 19:36:47 ]
お待ちくださいになってるぅ
とにかくおめでとう

898 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 19:43:18 ]
三月中旬てことは若干早まったのネ
もう予約したろかな

899 名前:デフォルトの名無しさん [2007/02/22(木) 00:43:28 ]
gauche 0.8.7でrfc.httpを使おうとしています。
(define hoge (http-get "www.google.com" "/"))
としても、hogeには"200"が入ってしまうみたいで、
head部分や、html本体を捕捉出来ません。
どうしたらよいでしょうか。

900 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 01:10:17 ]
RFC嫁



901 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 02:43:57 ]
Scheme入門者なのですが、ネットであちこち眺めていたら
こんな事が書かれていて萎え気味なのですが、気にしなくて良いですよね?

cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme

902 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 03:02:14 ]
次の方どうぞー

903 名前:デフォルトの名無しさん [2007/02/22(木) 03:33:48 ]
>901
その道は我々がすでに300レス前(>474)に通過した道だ!!

904 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 04:10:25 ]
>>903
レスありがとうございます&既出失礼しました。

905 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:13:30 ]
>899
rfc.httpは多値を返す。 receive せよ。

906 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 11:20:27 ]
SchemeのマクロってS式が初めてパースされる時だけ展開されるの?
それとも後からマクロを再定義した場合も追従するの?

907 名前:899 [2007/02/22(木) 12:11:24 ]
>905
うまいこと生きました。ありがとうございます。

908 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 21:09:11 ]
Gauche 0.8.7ってちょっと古くない?

909 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 21:14:01 ]
>>901
そこで黒田氏が出来ないと言うことは全部出来ますよ
ここでShiro氏が論破しています

Scheme:マクロ:CommonLispとの比較
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%83%9e%e3%82%af%e3%83%ad%3aCommonLisp%e3%81%a8%e3%81%ae%e6%af%94%e8%bc%83

しかしLispを知らないヤツに限ってLispを語りたがると言っていた黒田氏が
その忌み嫌っている人たちと同じ事をするというのが面白いw

Script Languages
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang

910 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 21:58:38 ]
>909
>607-



911 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 22:04:13 ]
>>901>>909一緒にしてテンプレに入れとけ

912 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 23:46:42 ]
>>909 くりかえすのウザイ…非生産的な話題を蒸し返してたのしいか?

913 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 23:49:17 ]
生産性の話って言うとマーチン・ファウラー氏の話かなw

914 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 00:09:21 ]
>>903 はもっと評価されていい

>>906 追従しない。

915 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 02:24:21 ]
>>909
S式万能信者からしたらschemeの衝突回避は受け入れられないんだろうな

916 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 02:40:57 ]
黒田氏は過去の成功体験にとらわれた阿呆

917 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 11:28:47 ]
>>909の先のShiro氏の記事は素晴らしいな。hygienic macroについてのもやもやが
かなり晴れた。黒田氏の最大の功績はShiro氏にこれを書かせたことだろうね。w
Shiro氏の記事を読むまでは正直、俺も黒田氏に近い感想を持っていた。

918 名前:黒田 mailto:sage [2007/02/23(金) 14:39:00 ]
黒板に書け。そしたら読んでやる(笑)

919 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 15:11:57 ]
つりはいらねぇよ。


920 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 22:58:48 ]
なんつーか,喪前等は日常でも
「スコッチ以外は酒じゃねえよ!」
みたいなおっさんの発言にも一々突っ込んでるのか?
そうやって生きてて疲れないか?



921 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 23:18:56 ]
2ちゃんだし

922 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 23:33:46 ]
ディアノ以外はメイデンじゃねえよ!

923 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 23:58:43 ]
ポールディアノとはこれまた懐かしいw

924 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 00:01:10 ]
お!忍者キッドさんとレオンさん!奇遇ですね!

925 名前:919 mailto:sage [2007/02/24(土) 00:23:58 ]
>>920
なにいってやんでぃ、祭りと喧嘩は2chの華っていうじゃねぇか。





つか、日常「スコッチ以外は酒じゃねぇ」なんて言わないです。
気に障ったならごめんなさいね。


926 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 00:53:03 ]
>>903
どうやら 300 レス程度では辿りつけない粘着の境地があったようだ……


927 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 03:55:04 ]
>>920
そこらのおっさんが非公式な場で勢いに任せてその場限りでトバすのと、
そういう内容をそれなりの人間が企業のページ内に書き残すのじゃ随分違うな。

「おっさんのトバしが、おっさんのトバしに許された棲息領域を飛び出してる」のが
2ch的にツボなのだから、「日常でも一々突っ込んでるのか?」という切り口はナンセンス。

928 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 13:47:42 ]
このスレは実質、日本のLisp/Schemeコミュニティの
ポータルサイトとして機能してます。
当然えらい人も見てます。
つまり、それなりの影響力があるのです。

>>918
あなたが黒田さん本人かはともかく、そうやって
実名を出される以上、近辺で何か変化があるかもしれません。
お気をつけください。

929 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 14:18:01 ]
頭大丈夫か?本人のわけねーだろ?しかも「本人かどうかはともかく、」
とかいいながら「実名を出される以上」って論理展開に寒けがするぜー
こんな頭の危い奴ぁ 2ch でも珍しいぜー

930 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 14:37:08 ]
ttp://practical-scheme.net/wiliki/wiliki.cgi?GaucheNight
> イベント概要
>
> GaucheFestの発展形。JavaNightやLL Gongに似たイベント。
>
> * パネルディスカッション
> * Gauche Gong(デモ自慢)
>
> を予定。
>
>
> 出演予定
>
> * パネルディスカッション
> o 黒田寿男(数理システム)
> www.msi.co.jp/~kuroda
> o (交渉中)川合史朗
> o (交渉中)山下伸夫

黒田氏きたぁぁあああああああああああああああああああwwwwwwwww
なぜSchemeのイベントに呼ばれているんだwwwwwwwwwwwwwwwwwww



931 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 14:41:39 ]
>>930
黒田氏をscheme色に染めるためさ

932 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 16:31:48 ]
>>928
ずいぶんと小さいコミュニティだね

933 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 16:53:13 ]
>>932
改めて確認するまでもなく、小さいですよ。

934 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 16:54:21 ]
>>930
サンプルコード見せる時は黒板に書かないと
いきなり殴りかかってくるよ黒田さん

935 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 17:27:45 ]
この前の一見でScheme好きになってくれたのかも

936 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 17:43:22 ]
直接出向いて、Schemeなんかを崇めるゴミどもを成敗してくれる、
とか思ってるんじゃない?

937 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:23:13 ]
どっちでもいいよ。
良くも悪くも盛り上がりはするだろうから。

938 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 18:50:38 ]
>>935
この手の人物でそれはない

939 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 20:17:07 ]
>930
明白な間違いに気がついて謝罪に来るのか?www
とか思ったが、それだったら例のページ消すとか追記するとか手があるなorz..

>911
この手の紛争を理解するのに、
片方あるいは双方の陣営のアジビラを読むのはいい方法だと思うんだけど、
争点の推移を知ったほうが、理解が早いし、
双方の思想の違いを考えることができたりして、将来の発展に役立つと思う。
実際あんまりまとめたがる奴なんていないんだけど、
双方の陣営が優位に立つために分析はしており、その上で争点を推移させようとするので、
そういうところに着目してフローを追っていけばいいと思う。

というわけで、CLのマクロとの比較は各論なので、むしろこっち
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e5%88%9d%e5%bf%83%e8%80%85%e3%81%ae%e8%b3%aa%e5%95%8f%e7%ae%b1#H-41ewd1
を読んでから、>909を読むべきかと思う。
まあ各人好きにやればいいことだが。

てかこの話、これに対する黒田の反論てあったっけ?

940 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:24:33 ]
ブロックとクロージャの違いがよくわかりません。
具体的な環境がバインドされてないのがブロックで、
されているのがクロージャって理解でいいんですかね?



941 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:42:25 ]
return-from で脱出できる名前付き progn だろ

942 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:11:58 ]
Scheme 最大の汚点は 939 みたいなアレな奴を引きつけた事だな…
Emacs Lisp 使いなんで今迄引け目を感じていたが、まぁ 939 みたい
になるよりはマシです。

943 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:14:25 ]
ディアノ以外はメイデンじゃねえよ!

944 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:40:00 ]
つか、CL/Scheme コミュニティなんてめちゃめちゃ狭いんだよ。
(とびきり優秀な人は確かにいるけどね)
そんな狭いところで互いに煽りあってどうすんのよ?アフォか。
もっと建設的な話にできないものかね。
shiro氏はさすがに大人の対応だったが、黒田氏には猛省を求む。

945 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:28:38 ]
>>944 アホか?スルーできないおまえみたいな奴が一番痛い。
Shiro さんだって煽り合いにならないように落ちついた論調だろうが。おまえみたいに
いちいち引き合いに出すのは迷惑だろう。もうフレームはウンザリ。
c.l.l とか c.l.s でのフレーム合戦みてから出直してこい。

946 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:34:00 ]
ジゴロウ以外は saku saku じゃねえよ!

947 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:38:34 ]
・・・( ^ω^)

948 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:41:23 ]
>>941
Scheme だとそれも無いんだよな

949 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:46:33 ]
>>945
フレームはそれなりに面白いじゃないか
キミみたいにいろいろ見ている人にはいやなんだろうが全部が全部キミと同じじゃないんだから

そこまで言うならそんな攻撃的な文句ではなく話題振って欲しいところ

950 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:47:32 ]
>>945 アホか?スルーできないおまえみたいな奴が一番痛い。



951 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 23:48:04 ]
ねぇ・・・スルーしようよ・・・

952 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 00:21:05 ]
でも黒田氏がSchemeを知らないくせに見当違いの批判をしたのは事実
なのに知らない人が見たら誤解を招く嘘の記事をずっと載せているのはかなり問題だと思う

953 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 00:58:57 ]
グレンのベース以外はピストルズじゃねえよ!

954 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:02:54 ]
>>952
R5RS より古いけど、別にいいんじゃねーの?
ネット上なら Shceme にイカれた学生の CL に対する悪口のほうが多いだろ。
このスレのタイトルだって CL への嫌味に満ちているが、CLer で
ファビョった人いないだろ?心は広く持て。

955 名前:デフォルトの名無しさん [2007/02/25(日) 01:04:22 ]
もーえろよもえろーよー
ふれえむもえーろー

956 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:06:26 ]
>>954
立場が違う
しかも企業のページだ
嘘で自社の製品を持ち上げているとも取れる

まぁ性格からしてそうじゃないんだろうが

957 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:12:52 ]
フォトフレイム以外はフレイムじゃねえよ!(違

958 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:21:25 ]
Franz の社員ならともかく。ただの CL ユーザー企業だろう…。
CL ユーザだと公言している人に「Scheme についてどう思うか」とか
聞いた奴が悪いだろう。大半の Scheme 処理系が defmacro 相当を
備えているところからしても R5RS のマクロは唯一の「正しい事」として
Scheme コミュニティからも合意されていないとも言える。チューリング
完全で何でもかけるっても、書きやすさが問題だからね。defmacro のほうが
楽なケースがあるという点は認める。 >>956 も一度頭冷してみれば?


959 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:28:14 ]
俺もSchemeの「衛生的」なマクロは嫌いだから、正しいかどうか別にして、黒田氏には
心情的には同情できる。どちらかといえばCommon Lispのほうが好きだし。

960 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:33:31 ]
> CL ユーザだと公言している人に「Scheme についてどう思うか」とか聞いた奴が悪いだろう。

これって悪いのかw



961 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:35:15 ]
あぁ、ごめん言葉が足りなかったね。
それで否定的な意見がでてきてファビョる奴が、ね…。

962 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:36:33 ]
出来ないと言い切るのとそちらのほうが楽な場合があるじゃ全然違うだろ
頭冷やすとか言う前に自分の発言がおかしいことに気付けと

963 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:41:58 ]
Scheme原理主義者って粘着してくるから怖いよw

964 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:47:35 ]
フレームはうんざりだけど、同じ Schemer としてほっとくのもどうかと思うのでねぇ。
大筋でいうと CL でいうパッケージとシンボル + マクロが Scheme では
実現できないといってるが、まぁそりゃ Scheme にはパッケージがないから
そうだろうと思うだけなんだが。マクロ内の名前衝突は理解がずれているかも
しれないけど、そこがそんなに気に入らないのか?

965 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:59:57 ]
ファビョるって良く聞くけど実は良く意味がわかっていないなんて言えない雰囲気だ

966 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:06:15 ]
>>965
ttp://ja.wikipedia.org/wiki/%E7%81%AB%E7%97%85

967 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:27:18 ]
>>954
> このスレのタイトルだって CL への嫌味に満ちているが
ってどういうこと ?


968 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:40:36 ]
954 じゃないけど Common Lisp だと funcall が要りそうだなとか
そんなんだろう。まーマターリいこうや…

969 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:44:17 ]
昔Commonがなく、Lisp Schemeスレだった事かな。
途中から基地外が喚いてスレタイにCommonが追加された経緯がある。
Common Lispの話題はコアになりがちで専用スレも出来たんだから
そっちでやればとは思ってたけど。
なんだったら次スレはLisp Schemeに戻すかね。

970 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:54:15 ]
分けたり区別するほど Lisp 人口居なさそうなのになぁ。
スレタイもどうでもいいけど、またキ印があばれるのもウンザリだし
このままでいいんじゃね。




971 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:00:30 ]
CommonLisp専用スレは結局1年経っても消費できずまだ半ば。
あっちは専用スレなのにスレタイに入門とか書いてるからか、
話題レベルが低すぎる気が。まあキチガイ避けの役には立ってるのか。
本スレのここも最近勢いは落ちてきてるけど回転は早いよね。
昔みたいに感動した!みたいな書き込みが少ないのは寂しいけど。


972 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:07:27 ]
というか、向うは入門スレだろ?最近の質問者はネタくさいけど。
一応、高度な話は本スレで…みたいに誘導してるみたいだし。


973 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:19:55 ]
マ板のLISPスレはいつのまにか消えてるのな。
ム板にスレが立つまではほとんど手探り状態で謎の多かったLISPだけど
スレの成長や日本人が入りやすい処理系とかの整理が出来たおかげで、
(2chの中だけでも)一定の評価が出来る対象として収まったのかもしれない。
そろそろ次のステップだな。


974 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:28:29 ]
>>973
> ム板にスレが立つまではほとんど手探り状態で謎の多かったLISPだけど
そうなのか?

975 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:59:37 ]
当時は他にniftyぐらいしか見てなかったけど
きだあきら氏の役割は大きかったな。

976 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 09:54:15 ]
千言万語って書籍化されないもんかね。

977 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 10:13:14 ]

Scheme は学習用ってこと?

ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme

978 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 10:22:26 ]
1回目
>>560 -> >>607
2回目
>>901 -> >>909
3回目
>>977 -> ...
ウンザリ…

979 名前:デフォルトの名無しさん [2007/02/25(日) 11:10:24 ]
たまに見に来ちゃ燃料投下してるやつがいると見た。

980 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 11:58:05 ]
>>977
Schemeは使い物にならないから、学習用としてもだめ
という話



981 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 15:38:03 ]
>>978
やっぱり黒田氏はあの記事を削除すべきだな
こういう人間量産しているような希ガス

982 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 15:57:09 ]
Schemerが恥ずかしい自己満足をやめて
「Schemeは実際には何も生み出せない教育用のオモチャ言語でしかない」
と認め、黒板にのみソースコードを書くようになるまで、黒田氏の戦いは続くのだ。

983 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 16:10:03 ]
同じLisp系でもコンセプトが違うから、並べて比較してもしょうがないのになぁ。
と思っちゃいけないんでしょうか。


984 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 16:37:14 ]
Schemeのコンセプトを正しく理解しろ、と黒田様は仰っておられるのです。

985 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 16:59:22 ]
>>930 のイベントが楽しみだなw
誰かが件にページにツッコミを入れたりしてw
そんな大人げない人はこないかw

986 名前:901 mailto:sage [2007/02/25(日) 17:18:03 ]
>>979
ゴメンナサイ、本当に知らなかったんです;

987 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 18:27:22 ]
またループしてる…いつまでやる気だ…気に入らないから記事削除しるって、
>>981 >>982 みたいな曲解もキモいんだけど…
ファビョる→捏造曲解→謝罪と賠償 みたいな精神構造だな。ヤダヤダ。


988 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 19:47:49 ]
「みたいな」という言葉は、こういう「自意識と脳のシワが反比例」してそうな人に大人気だよね。
目の前のものを何でも自分の好きなものと結びつけてしまえる、魔法の言葉に思えるんだろうな。

989 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 19:56:05 ]
削除ともかく訂正かshiro氏のとこのアレに言及くらいするべきだと思うんだよねえ・・・

990 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 20:05:05 ]
気に入らないじゃなくてちゃんと理由があるだろと



991 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 20:12:34 ]
ttp://page.auctions.yahoo.co.jp/jp/auction/95179974

左の本は、どういう評価をされてるのでしょうか?

992 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 20:17:50 ]
>>991
左と真ん中の本は知らんけど、右の本だけでも買う価値があるなあ。

993 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 20:21:39 ]
こんなところに晒したらライバル増えるだろwwwwwwwwww

994 名前:991 mailto:sage [2007/02/25(日) 20:26:18 ]
>>992-993
右の本をアマゾンのマーケットプレイスで高値で買ったけど積読状態の
漏れは氏ぬべきでしょうか?(w

995 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 20:31:54 ]
On Lisp 出るみたいだけどひょっとして Lisp 流行ってきているのかな

996 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 20:37:12 ]
>>995
流行ってもしれている。

ところで次スレは?

997 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 21:00:47 ]
■参考リンク

日本Lispユーザ会(日本語)
jp.franz.com/jlug/index.html
ここにかなりの情報があります。
jp.franz.com/
削るとAllegro Common Lispのページへ

プログラミング言語Scheme(日本語)
ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html
Schemeの人はまずここを見ましょう。

Lisper への道(日本語)
ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/rakup.html
判りやすいLISP入門サイト。

Schemeへの道(日本語)
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html
ここはschemeの入門サイト。


998 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 21:02:06 ]
間違えた
次スレね
pc10.2ch.net/test/read.cgi/tech/1172404795/

999 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 21:03:12 ]
>>998
乙です

1000 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 21:03:44 ]
1000なら今年はCommon Lispが大流行



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






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

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

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