Lisp Scheme Part23at TECH
Lisp Scheme Part23 - 暇つぶし2ch1:デフォルトの名無しさん
08/07/13 00:09:48
※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※

□過去スレ□
Part22: スレリンク(tech板)
Part21: スレリンク(tech板)
Part20: スレリンク(tech板)
Part19: スレリンク(tech板)
Part18: スレリンク(tech板)
Part17: スレリンク(tech板)
Part16: スレリンク(tech板)
Part15: スレリンク(tech板)
Part14: スレリンク(tech板)
Part13: スレリンク(tech板)
Part12: スレリンク(tech板)
Part11: スレリンク(tech板)
Part10: スレリンク(tech板)
Part09: スレリンク(tech板)
Part08: URLリンク(pc5.2ch.net)
Part07: URLリンク(pc5.2ch.net)
Part06: URLリンク(pc3.2ch.net)
Part05: URLリンク(pc3.2ch.net)
Part04: URLリンク(pc.2ch.net)
Part03: URLリンク(pc.2ch.net)
Part02: URLリンク(pc.2ch.net)
Part01: URLリンク(piza2.2ch.net)

2:デフォルトの名無しさん
08/07/13 00:10:32
□参考リンク□

日本Lispユーザ会 (日本語)
URLリンク(jp.franz.com)
ここにかなりの情報があります。削るとAllegro Common Lispのページへ。

プログラミング言語Scheme (日本語)
URLリンク(www.sci.u-toyama.ac.jp)
Schemeの人はまずここを見ましょう。

Schemeへの道 (日本語)
URLリンク(www.stdio.h.kyoto-u.ac.jp)
Schemeの入門サイト。

Practical Scheme (日本語)
URLリンク(practical-scheme.net)
Scheme処理系「Gauche」の作者である川合史朗氏のサイト。
「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。

LispUser.net (日本語)
URLリンク(lispuser.net)
Lisp関連の有用な情報がまとめられています。Common Lispの話題が中心。

3:デフォルトの名無しさん
08/07/13 00:11:14
□仕様関係□

CLtL2: Common Lisp the Language 2nd edition (英語)
URLリンク(www-2.cs.cmu.edu)

CLHS: Common Lisp Hyper Spec (英語)
URLリンク(www.ai.mit.edu)

R5RS: Revised(5) Report on the Algorithmic Language Scheme (英語)
URLリンク(swiss.csail.mit.edu)

R5RS: Revised(5) Report on the Algorithmic Language Scheme (日本語)
URLリンク(www.sci.u-toyama.ac.jp)

ERR5RS: A proposal for an Extended R5RS Scheme (英語)
URLリンク(scheme-punks.cyber-rush.org)

R6RS: Revised(6) Report on the Algorithmic Language Scheme (英語)
URLリンク(www.r6rs.org)

4:デフォルトの名無しさん
08/07/13 00:11:57
□Wikipedia関連□

URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)

□継続関連□

なんでも継続 (日本語)
URLリンク(practical-scheme.net)

Schemeへの道:継続 (日本語)
URLリンク(www.stdio.h.kyoto-u.ac.jp)

継続の使い方 (日本語)
URLリンク(www.geocities.co.jp)

継続の使用法 (日本語)
URLリンク(www.ice.nuie.nagoya-u.ac.jp)

Kahua: 継続ベースのアプリケーションサーバー
URLリンク(www.kahua.org)

5:デフォルトの名無しさん
08/07/13 00:13:39
□書籍関連(1)□

Structure and Interpretation of Computer Programs (英語)
URLリンク(mitpress.mit.edu)
通称「SICP」として知られる『計算機プログラムの構造と解釈』の原書です。
全文がオンラインで読めます。

SICP Web Site for the Japanese Edition (日本語)
URLリンク(sicp.ipl.t.u-tokyo.ac.jp)
SICP日本語版のサポートサイトです。正誤表等。

How to Design Programs (英語)
URLリンク(www.htdp.org)
Schemeを使った優れたプログラミング入門書。全文がオンラインで読めます。

The Little Schemer (英語)
URLリンク(www.ccs.neu.edu)
The Seasoned Schemer (英語)
URLリンク(www.ccs.neu.edu)
Schemeの教科書として定評のある「Schemerシリーズ」のサポートページです。

The Scheme Programming Language (英語)
URLリンク(www.scheme.com)
Scheme入門書。全文がダウンロードできます。

6:デフォルトの名無しさん
08/07/13 00:14:36
『プログラミングGauche』 (日本語)
URLリンク(ssl.ohmsha.co.jp)
URLリンク(karetta.jp) (立ち読み版)
URLリンク(karetta.jp) (サポートページ)
Scheme処理系言語Gaucheの初の解説書!

『入門Scheme』 (日本語)
URLリンク(www4.ocn.ne.jp)
幻となったScheme入門書。全文がダウンロードできます。

Practical Common Lisp (英語)
URLリンク(www.gigamonkeys.com)
URLリンク(ssl.ohmsha.co.jp)
S式の羅列で現実的な問題をどう解くのか、そのギャップに悩まされてる人に。
全文がオンラインで読めます。日本語版が『実践Common Lisp』として出版予定。

『On Lisp』 (日本語)
URLリンク(ssl.ohmsha.co.jp)
URLリンク(user.ecc.u-tokyo.ac.jp) (日本語訳HTML版)
URLリンク(www.paulgraham.com) (英語原文がダウンロード可)
LispハッカーPaul Grahamが、Lispの力の源泉であるマクロプログラミングを解説。

7:デフォルトの名無しさん
08/07/13 00:15:50
□その他(1)□

John McCarthy's Home Page (英語): Lispの生みの親、ジョン・マッカーシーのサイトです。
URLリンク(www-formal.stanford.edu)

Association of Lisp Users (英語): 米国のLispユーザ会です。
URLリンク(www.alu.org)

CLiki (英語): Common Lisp関連のリソースが集積されています。
URLリンク(www.cliki.net)

CMU Common Lisp Repository (英語): 新旧様々なプログラムが置いてあります。
fURLリンク(ftp.cs.cmu.edu)

The Common Lisp Cookbook (英語): いわゆるCookbookです。
URLリンク(cl-cookbook.sourceforge.net)

The EncyCMUCLopedia (英語): CMUCL関連文書。CMUCLユーザーでなくとも有益なはず。
URLリンク(www.isr.ist.utl.pt)

Common-Lisp.net (英語): 多くのプロジェクトがホスティングされています。
URLリンク(common-lisp.net)

よろずや (日本語): Lisp関連の実用的な情報が色々。
URLリンク(www.geocities.co.jp)

どう転んでもLisp (日本語): 竹内郁雄氏による発表のスライドです。
URLリンク(jp.franz.com)

Lispとは何か (日本語): 中村正三郎氏による発表のスライドです。
URLリンク(www.asahi-net.or.jp)

8:デフォルトの名無しさん
08/07/13 00:17:10
□その他(2)□

独習Scheme三週間 (日本語): Schemeの教科書。
URLリンク(www.sampou.org)

Bibliography of Scheme-related Research (英語): Scheme関連の論文リンク集。
URLリンク(library.readscheme.org)

Scheme Hash (英語): S式でXMLを使えるようにするSXML等。
URLリンク(okmij.org)

Scheme-users.jp (日本語): Schemeユーザのためのハブサイトです。
URLリンク(scheme-users.jp)

(Scheme) (Lisp) (日本語): 各種Scheme処理系をCygwin上でビルドする方法など。
URLリンク(www.geocities.co.jp)

SLIB (英語): Scheme用のライブラリとして有名なSLIBのサイトです。
URLリンク(swiss.csail.mit.edu)

Scheme Requests for Implementation (英語): いわゆる「SRFI」のサイトです。
URLリンク(srfi.schemers.org)

Meadow memo: 2ちゃんねるログ: dat落ちした過去スレの一部が見られます。
URLリンク(www.bookshelf.jp)

9:デフォルトの名無しさん
08/07/13 00:18:24
□その他(3)□

初心者が集うIRC(布教してくれる先生も大募集です)。
irc.scenecritique.com
port 6667
チャンネル #Lisp_Scheme

Schemeのテストコード書いたり、簡単な実行したりコードさらしたりするにはここへカモン。
URLリンク(codepad.org)
コードを書いて実行した時のURLを記録しておけば、実行結果も一緒にさらす事が出来て幸せです。

10:デフォルトの名無しさん
08/07/13 00:20:11
□実装(1)□

awklisp: Awkで書かれたわずか500行のLispインタプリタ。
URLリンク(www.accesscom.com)

CAMPUS LIsP Lemon version: Cでわずか1000行。
URLリンク(www-masu.ist.osaka-u.ac.jp)

SECDR-Scheme: SECD machine modelに基づく実装。
URLリンク(lily.fan.gr.jp)

LispMe: Palm上で動くScheme処理系。これもSECD virtual machine。
URLリンク(www.lispme.de)

Minischeme: 1ファイルに凝縮されたScheme処理系。
URLリンク(tinyscheme.sourceforge.net)

TinyScheme: Minischemeを色々弄ったもの。
URLリンク(tinyscheme.sourceforge.net)

Schemix: Linuxのkernelへのパッチで/dev/として扱えるTinyScheme。
URLリンク(www.abstractnonsense.com)

Bit: Minischemeよりも小さい(?)バイトコード変換系。
URLリンク(www.iro.umontreal.ca)

KI-Scheme, AM-Scheme, etc...
URLリンク(www.nifty.com)

11:デフォルトの名無しさん
08/07/13 00:21:28
□実装(2)□

Gauche: マルチバイト文字に対応したR5RS準拠のScheme処理系。川合史朗氏作。
URLリンク(practical-scheme.net)

PLT Scheme: DrScheme、MzSchemeなどのR5RS準拠および独自拡張のScheme処理系。
URLリンク(www.plt-scheme.org)

Scheme48: R5RS準拠のSchemeバイトコードインタプリタ。
URLリンク(www.s48.org)

Gambit-C: R5RS準拠のScheme処理系。
URLリンク(dynamo.iro.umontreal.ca)

Chicken: R5RS準拠のScheme処理系。スタンドアロン実行ファイルが簡単に作成可能。
URLリンク(www.call-with-current-continuation.org)

Stalin: 激烈な最適化を施すScheme処理系。人間の書くCコードより速いという噂。
URLリンク(cobweb.ecn.purdue.edu)

Bigloo: CLR用のコードを吐けるようになったらしい。
URLリンク(www-sop.inria.fr)

guile: R5RS準拠のGNU公式拡張用言語。もちろんSLIBも使えます。
URLリンク(www.gnu.org)

Chez Scheme: R6RS準拠の商用Scheme処理系。インタプリタはフリー。
URLリンク(www.scheme.com)

Ypsilon Scheme System: R6RS準拠のScheme処理系。
URLリンク(www.littlewingpinball.net)

12:デフォルトの名無しさん
08/07/13 00:26:26
□実装(3)□

Steel Bank Common Lisp: 代表的なCommon Lisp処理系。
URLリンク(www.sbcl.org)

CMUCL: Common Lisp処理系。
URLリンク(www.cons.org)

GNU CLISP: Common Lisp処理系。
URLリンク(www.clisp.org)

Embeddable Common Lisp: Common Lisp処理系。
URLリンク(ecls.sourceforge.net)

Allegro Common Lisp: 代表的な商用Common Lisp処理系。
URLリンク(www.franz.com)

LispWorks: 商用Common Lisp処理系。
URLリンク(www.lispworks.com)

Corman Common Lisp: 商用Common Lisp処理系。
URLリンク(www.cormanlisp.com)

Arc: ポール・グレアム氏が開発中の新しいLisp。
URLリンク(arclanguage.org)

13:デフォルトの名無しさん
08/07/13 00:28:10
□イベント関連□

GaucheNight (2008-03-08)
URLリンク(practical-scheme.net)
「SchemeとGaucheとλとS式を愛するすべての人に贈るマクロな一夜」
出演:川合史朗、伊藤篤、山下伸夫、笹田耕一、ひげぽん、zick、
   黒田寿男、えんどうやすゆき、ほか

GaucheNight (2007-05-09)
URLリンク(practical-scheme.net)
出演:川合史朗、黒田寿男、まつもとゆきひろ(Skype中継)、小飼弾、
   伊東勝利、久井亨、小黒直樹、ほか

黒田寿男氏関係 (黒板の人)
スレリンク(tech板:901-909番)
URLリンク(www.bookshelf.jp)

Schemeのマクロに関する黒田氏の所感
URLリンク(cl-www.msi.co.jp)

それに対する川合史朗氏の応答
URLリンク(practical-scheme.net)

それに対する黒田氏の再反論
URLリンク(cl-www.msi.co.jp)

それに対する川合氏の応答
URLリンク(practical-scheme.net)

その他、黒田氏によるLisp関連のエッセイがこちらで読めます。
URLリンク(cl-www.msi.co.jp)

14:デフォルトの名無しさん
08/07/13 00:30:15
□2ch上にあるLISP関係のスレ□

(make-thread :name common-lisp :part 5)
スレリンク(tech板)

【CGI】実用比較Lisp vs C/C++【GUI】
スレリンク(tech板)

【魔法】リリカル☆Lisp【言語】
スレリンク(tech板)

Emacs Lisp 3
スレリンク(tech板)

【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
スレリンク(tech板)

【SICP】計算機プログラムの構造と解釈 Part2
スレリンク(tech板)

【普通のやつらの】 Arc Language 0 【上を行け】
スレリンク(tech板)

Lisp@UNIX版
スレリンク(unix板)

Lisperこそ真のプログラマーよ!!
スレリンク(prog板)

LISPってさ~
スレリンク(sim板)

15:デフォルトの名無しさん
08/07/13 00:39:16
テンプレ終り?乙~

16:デフォルトの名無しさん
08/07/13 01:44:29
981 :デフォルトの名無しさん :sage :2008/07/12(土) 18:26:53
  (p)URLリンク(wiki.fdiary.net) にこのスレのテンプレをまとめておきました。
  このスレの最初のものをコピーしたばかりなので、最新版にアップデート
  しなきゃいけない所の訂正をお願いします。
  (たとえば、テンプレには話題のイプシロンについてはかかれていない。)

  また、ID:guest PASSWORD:cl です。インストールログなどの公開場所
  としてもご利用ください。

17:デフォルトの名無しさん
08/07/13 10:59:22
>>1 押忍・・じゃなくて・・乙!

18:デフォルトの名無しさん
08/07/13 15:22:14
>>1
テンプレすごいなー

19:デフォルトの名無しさん
08/07/13 21:38:49
>>1
Scheme実装に追加でMosh。
URLリンク(code.google.com)

あとShiroさんが面白かったって書いてた奴
URLリンク(clojure.org)


20:デフォルトの名無しさん
08/07/14 02:58:30
>>19
URLリンク(wiki.fdiary.net)

テンプレ改訂しました。実装のところは言語ごとに分けてみた。

21:デフォルトの名無しさん
08/07/15 19:36:43
(乙 (>> 1))

22:デフォルトの名無しさん
08/07/17 04:49:06
□その他(4)□

Somewhere Over the Rainbow
URLリンク(jp.youtube.com)


23:デフォルトの名無しさん
08/07/17 23:48:48
r6rs日本語訳のpdf版ってねーの?

24:デフォルトの名無しさん
08/07/17 23:55:03
>>23
お前が作ればあるぞ

25:デフォルトの名無しさん
08/07/18 00:28:04
まだ半分もできてないけど現状報告。
URLリンク(kissho.xii.jp)
WiLiKiにあがってたのをベースに組版中。
TeXに明るくないので原文のマークアップをそのまま適用する方向でやってる。

WiLiKiにあがってる訳ってたしかleque氏がやってたんだよね?
ほとんどコピペの組版作業でもけっこうめんどいのに、訳とかすごすぎるとオモタ。

26:デフォルトの名無しさん
08/07/18 15:05:48
翻訳版を作るのは理解するより難しいからね。
理解したことを日本語の文章で書く必要があるから。

27:デフォルトの名無しさん
08/07/19 09:13:51
しばらくSchemeから離れてたんだけど
Ypsilon という処理系が公開されてたんだね。
試してみたらかなり高速。
> (import (time))

> (time (tak 12 6 0))


;; 1.279202 real 1.279208 user 0.0 sys
12
>
Gaucheと並ぶ優良国産処理系の予感。

28:デフォルトの名無しさん
08/07/19 10:01:58
GC が脱 Boehm なんだっけ?

29:デフォルトの名無しさん
08/07/19 10:19:15
テンプレwikiからのお知らせ(common lispスレと同じ
文章になってます。FAQは共通でいいでしょ?)

よくありそうな質問をwikiでまとめておこうと思うので
よくありそうな質問と(回答ができそうな人は回答を)
書いてくれませんか?質問と回答のフォーマットは
一応決めてあります。

URLリンク(wiki.fdiary.net) (id:guest pass:cl)

30:デフォルトの名無しさん
08/07/19 10:37:43
Schemeプログラミングはdomain specificな性能をもつコンパイラを書くところから始まる・・・

31:デフォルトの名無しさん
08/07/19 10:55:29
>>28

詳しいことはわからないけどGCはそういう方針
なんだって。

ピンボールゲーム用ってのには驚いた。
ビル・バッジ、わ~、懐かしい名前。月刊アスキー
で読んだっけ。処理系を作った人はずっとこれを
追いかけているらしい。夢のある人だね。羨ましい。

32:デフォルトの名無しさん
08/07/19 11:02:15
>>31
OpenGLだってDSL持ってんじゃん。(そこをLLVM by Apple)
グラフィック系はちょっと凝ったことしたくなって、そこがメインだったりするから、
お仕着せのAPIだけじゃ困るわけ。

33:デフォルトの名無しさん
08/07/19 11:14:02
GCとかネイティブスレッドとかはライブラリのラッパを書くより大変なのだ

34:デフォルトの名無しさん
08/07/19 14:47:25
common lispスレなくなった?
ここと統合?

35:デフォルトの名無しさん
08/07/19 14:55:18
5つ下に何かあるようだが

36:デフォルトの名無しさん
08/07/19 18:08:50
>>34
へんな名前にしたらしい
アンチのしわざ?
スレリンク(tech板)

37:デフォルトの名無しさん
08/07/20 06:42:57
Schemeにcartesian-product-for-eachというものはないでしょうか?

(cartesian-product '((a b c) (0 1)))
⇒ ((a 0) (a 1) (b 0) (b 1) (c 0) (c 1))
URLリンク(practical-scheme.net)

メモリ上にこのリストを作らずに、各要素に対してprocを適用するものがほしいのですが。

38:デフォルトの名無しさん
08/07/20 08:11:09
gaucheにあるじゃん。
そのまんまの名前で。


39:37
08/07/20 09:19:08
>>28
ドキュメント化されてないけど、あったんですね。
自分で書いてしまいました。
cartesian-productよりも簡単でした。

(define (cartesian-product-for-each proc los)
(let loop ((r '())
(los los))
(if (null? los)
(proc r)
(for-each (lambda(x)(loop (cons x r) (cdr los))) (car los))
)))


40:デフォルトの名無しさん
08/07/22 18:34:44
ど素人ですまないんだけど
timeを行うとreference to undefined identifier: time
となるんだけど
どうすれば使えますか?

41:デフォルトの名無しさん
08/07/22 18:42:37
ど素人は判ったから、まず自分の境遇について語ってくれないか?

42:デフォルトの名無しさん
08/07/22 18:48:38
version209でLanguage: Standard (R5RS).です。

43:デフォルトの名無しさん
08/07/22 18:49:57
plt schemeです

44:デフォルトの名無しさん
08/07/22 19:25:06
42,43ですけど言語の選択のところのPLTのところを選択すると
使えました
なぜですか?

45:デフォルトの名無しさん
08/07/22 19:58:36
timeは標準(RSR5)にはないからです。

46:デフォルトの名無しさん
08/07/22 20:37:41
version209って古いの使ってるね。Planetで使えないの多いのに。バージョンアップしたほうが幸せになれるとおもうよ。

47:デフォルトの名無しさん
08/07/22 22:05:54
新しくしてもR5RSにtimeはないですけどね、念のため。

48:デフォルトの名無しさん
08/07/23 05:27:08
>>47
せめてR6RSについて書けよw

49:デフォルトの名無しさん
08/07/23 08:36:11
Lispっぽいawkってないのかな?さくっと正規表現をワンライナーで書けるやつ知ってたら教えて。

50:デフォルトの名無しさん
08/07/23 22:54:19
>>49
Gaucheで正規表現書いたことないのか?

51:デフォルトの名無しさん
08/07/24 19:54:19
Lispっぽいシェルを作ればワンライナーいらないっぽいな

52:デフォルトの名無しさん
08/07/24 21:37:25
scshってのがあるから使えば?

53:デフォルトの名無しさん
08/07/24 22:13:55
Eshellでいいじゃん

54:デフォルトの名無しさん
08/07/24 22:23:00
どのScheme処理系でもDSLを作れるはずなのに、おかしいな

55:デフォルトの名無しさん
08/07/26 16:21:43
r6rsの日本語訳を読んでたら、
「bodyの中に挿入される」ってフレーズに遭遇した。
なんかやらしい。(><)

56:デフォルトの名無しさん
08/07/26 16:24:16
つ S式

57:デフォルトの名無しさん
08/07/26 16:44:48
コミュニケーション

58:デフォルトの名無しさん
08/07/26 19:40:27
つ M式

59:デフォルトの名無しさん
08/07/26 19:53:59
つ ネジ式

60:デフォルトの名無しさん
08/07/26 20:10:01
つ 相武紗季の始球式

61:デフォルトの名無しさん
08/07/26 21:19:36
つ 正岡子規

62:デフォルトの名無しさん
08/07/26 22:24:48
つ 両儀式

63:デフォルトの名無しさん
08/07/26 22:50:53
なにこの流れ


64:デフォルトの名無しさん
08/07/26 22:55:36
よくわからんが「やらしいもの」の列挙であろう。

65:デフォルトの名無しさん
08/07/26 23:49:16
>>56 S式もやらしいぞ
>>57 S式コミュニケーションというラノベがあるのだ
>>58 S式がやらしいと言うのならM式も忘れちゃいけねぇ
>>59-62 以降は単なる「しき」繋がり
>>63 ようやく突っ込みが入る
>>64 ちょっとピントのズレた解説
>>65 解説(解答編)

66:デフォルトの名無しさん
08/07/27 02:28:27
全レスしてる奴久々に見た。きもい・・・

67:デフォルトの名無しさん
08/07/27 02:42:56
いろんな芸風の人が来ますね

68:デフォルトの名無しさん
08/07/27 10:30:21
どうでもいいが「ねじ式」(ひらがな)だ

69:デフォルトの名無しさん
08/07/27 11:10:51
どうでもいいことは書かなくていいよ。

70:デフォルトの名無しさん
08/07/27 11:20:36
部外者の愚問ですが、Webプログラミングをする場合、Gaucheは、Ruby、Pythonなんかに比べてどんなメリットがありますか?


71:デフォルトの名無しさん
08/07/27 11:23:52
>>70
別に無いよ。

72:デフォルトの名無しさん
08/07/27 11:57:35
>>70
KahuaはGaucheを使ったフレームワークだけれど、継続を積極的に使っているところがおもしろい。
だけどメリットとして説明するのは難しいな。
ちゃんと理解すれば記述は簡潔になるんだけど、そもそも理解しにくいってのもあるからどっちもどっちって気もする。
まぁ、結局は好みとかもあるから使ってみなきゃ判断出来ねぇよ。

73:デフォルトの名無しさん
08/07/27 12:41:03
ロジックを記述するときに関数型は(比較的に)記述量が少なくて済むことぐらい。
あと、思い入れを満たしてくれるところw

74:デフォルトの名無しさん
08/07/27 12:49:05
納品用はPython, 自分用はGauche ... ああ、夢のない話をしてしまった orz

75:デフォルトの名無しさん
08/07/27 13:22:25
(A)BNF(投資家じゃない方の)からS式にマップは原理上可能ですが
そのS式とコードを食わせると構文木を作ってくれる
ような関数もschemeでは楽に書けるんでしょうか?
これができたらコンパイラのフロントエンド部分を作り放題なんですが

76:デフォルトの名無しさん
08/07/27 13:24:30
それが(いわゆる)コンパイラコンパイラって奴ですな

77:デフォルトの名無しさん
08/07/27 13:30:07
>>75
SLLGEN

78:70
08/07/27 13:39:52
>>71-74
Schemeに元々慣れていれば、って感じですね。
レスありがとうございました。


79:デフォルトの名無しさん
08/07/27 14:07:44
>>76
コンパイラコンパイラとかでぐぐったら凄い数の実例がありました
すごいですね

>>75
こんなライブラリもあるんですか
また読ませていただきます

80:デフォルトの名無しさん
08/07/27 16:35:39
>>75
Gauche の SVN Trunk に入ってる parser.peg モジュールが使えるんでね?

81:デフォルトの名無しさん
08/07/28 00:16:27
>>80
ドキュメントが無いよ…

82:デフォルトの名無しさん
08/07/28 23:45:00
分子構造をリストで表せないでしょうか?
例えば、C2H6Oだとエタノール、ジメチルエーテル。
炭素原子から手が4つ出ているのをリストで表現するには
どうしたらいいのかと...

83:デフォルトの名無しさん
08/07/28 23:54:30
>>82
CMLで書いてssax:xml->sxmlするんだ。

84:デフォルトの名無しさん
08/07/29 00:30:12
>>82
隣接リストでいいんじゃね?
>>83
CMLって使ってる人見たことないんだけど

85:デフォルトの名無しさん
08/07/29 04:38:19
>>84
ありがとうございました。隣接リストで考えてみます。

あわせて行列による分子の表現、行列演算による化学反応の表現が
できたら面白いと思いました。やってみます。

86:デフォルトの名無しさん
08/07/29 05:10:52
>>82
つXymTeX

URLリンク(oku.edu.mie-u.ac.jp)
URLリンク(www.klavis.info)
URLリンク(homepage3.nifty.com)

87:デフォルトの名無しさん
08/07/31 06:00:41
Gaucheでzlibを使うにはどうしたらいいんでしょう?
URLリンク(practical-scheme.net)
にある
Gauche-zlib-0.1.2.tgz
はリンク切れで入手できません
うーん

88:デフォルトの名無しさん
08/07/31 06:32:07
(^A^)ガウチョ

89:デフォルトの名無しさん
08/07/31 06:42:59
srfiにzipうんたらって関数なかったっけ?
それで

90:デフォルトの名無しさん
08/07/31 07:39:52
>>85
ずっと昔は化合物を扱うLispで書かれたシステムもあったらしい。
今だとPythonの方が主流?かな。
でもがんばれ。

>>86
それLaTeXだし方向性が違うと思うぞ

91:デフォルトの名無しさん
08/07/31 11:49:34
>>90
TeXだからASCII文字シリアライズwith構造の参考になるでしょ。
しかも変換できるようにしておけば、
XymTeXで分子構造図画像も作れるし。

92:デフォルトの名無しさん
08/07/31 15:34:35
schemeについての質問です。
二分木を作成、描写せよという問題で作成まではできたのですが、描写とはどうすればいいのでしょう?
初心者な質問ですいません。

93:デフォルトの名無しさん
08/07/31 18:36:34
設問した奴に聞けよw

94:デフォルトの名無しさん
08/07/31 22:05:44
>>87
あぷろだにUpっといてやったぞ。
URLリンク(www.toel.sytes.net)

95:デフォルトの名無しさん
08/07/31 22:12:03
>>87
Windows 版でよければ Gauchebox に入ってるぞ

96:デフォルトの名無しさん
08/08/02 03:52:27
>>94
>>95
ありがとうございます
win, linux両方で使用するのでどちらも利用します。

97:デフォルトの名無しさん
08/08/03 00:48:03
URLリンク(wiki.fdiary.net) ですが、一応情報を集めるサイトにしてあります。
どんどんページを追加してやってください。
comp.lang.lisp,comp.lang.schemeまで含めようとしたけど、matzlispのhikiの
プラグインがatomに対応していないためにやめました。これらはmiscに
入れておきました。

98:デフォルトの名無しさん
08/08/03 12:15:51
gauche-firebird がリンク切れかサイト死亡で見れないんですが、
firebird 用のDBDどこかにありませんか?


99:デフォルトの名無しさん
08/08/03 15:02:46
40過ぎのわしでも子供の頃(高校生くらい)に Lisp に憧れたんだから、
今の子ならそんなの普通だと思ってたが・・・

100:デフォルトの名無しさん
08/08/03 15:07:34
おっちゃん誤爆してるで

101:デフォルトの名無しさん
08/08/03 15:39:56
まあ少年がLisp触ってるぐらいでオヤジども喜びすぎと
雑誌の記事がLispかBasicだけという時代に若者だった俺は思う

102:デフォルトの名無しさん
08/08/03 18:43:30
90過ぎのワシも高校のころにLispに憧れたぞ。

103:デフォルトの名無しさん
08/08/03 19:39:04
>>102
ジジイ、いくつのとき高校行ったんだよ?

104:デフォルトの名無しさん
08/08/03 21:04:39
>>102
McCarthyより年上じゃねえかw


105:デフォルトの名無しさん
08/08/03 22:54:11
>>103
ここまでの年齢だと逆に、
中学までしか出てなくて、定年してから学業やりたくて高校行くみたいなエピソードが
想像しやすいかもしれんw

106:デフォルトの名無しさん
08/08/03 23:07:17
ラムダ計算論ができたころに高校生だったんですね、わかります。

107:デフォルトの名無しさん
08/08/04 07:18:31
日本では戦前にLispが発見されたという噂を聞いて駆けつけました。

108:デフォルトの名無しさん
08/08/04 19:08:03
lispの起源は韓国ニダ

109:デフォルトの名無しさん
08/08/05 02:13:02
日本で最初のLisperって誰?
HLISPの後藤英一先生?

110:デフォルトの名無しさん
08/08/05 02:25:12
そのあたりだろうな。あと故・中西正和先生とか。

111:デフォルトの名無しさん
08/08/05 09:39:55
竹内先生は意外と遅い組?

112:デフォルトの名無しさん
08/08/05 11:59:42
和田先生も忘れちゃいけないよね。

113:デフォルトの名無しさん
08/08/05 12:45:20
あと、その世代だと井田先生かな。

114:デフォルトの名無しさん
08/08/05 13:33:13
思えばその世代のLisperはどれも役立たずだったな

115:デフォルトの名無しさん
08/08/05 15:47:43
つまんない煽り乙

116:デフォルトの名無しさん
08/08/05 16:05:25
今の世代のLisperはどれも>>114よりは役に立ってるかな。

117:デフォルトの名無しさん
08/08/06 05:47:20
注目ワード“高階プログラミング”って何だ?
URLリンク(ascii.jp)

118:デフォルトの名無しさん
08/08/06 06:26:53
萩谷先生の関数プログラミングっていう本は
高卒レベル数学力(偏差値60切る位)でプログラミング初心者では読めませんか?
Yコンビネータなどの高度な話題にもふれてますか?

119:デフォルトの名無しさん
08/08/06 07:45:12
>>118
良い本です。だいじょうぶですよ。

途中、フィボナッチ数列の行列表現、固有値
とかでてきますけど本筋とは関係ないので
とりあえず無視してOKです。
Yコンビネーターはとりあげてないですね。

序文で萩谷先生は高校生に読んでもらいたい
と書いてます。



120:デフォルトの名無しさん
08/08/06 10:07:30
Yコンビネーターについて触れてる、高校生にも読める本って
そういえば無いような気がする。あったっけ?

121:デフォルトの名無しさん
08/08/06 11:55:39
プログラミング初心者が読んで何かを作れるようになりたいんだったら向いてないかも。

122:デフォルトの名無しさん
08/08/06 11:56:13
>>120
Little Schemer

123:デフォルトの名無しさん
08/08/06 12:00:27
あれYコンビネータまで行くのか

124:デフォルトの名無しさん
08/08/06 13:26:10
Yコンビネータって本を読むほどの物でもない気がするけど
λ記法でわかりにくければS式で書き下せばいい

125:デフォルトの名無しさん
08/08/06 14:15:05
なんでYコンビネータだけが特別扱いされてるんだろ?


126:デフォルトの名無しさん
08/08/06 14:17:50
再帰系のコンビネータの中でってこと?
そりゃ一番シンプルだし。

127:デフォルトの名無しさん
08/08/06 14:36:46
>>126
つか、やたら Y が目につくようになったのはいつ頃から?


128:デフォルトの名無しさん
08/08/06 14:39:56
今朝くらいから

129:デフォルトの名無しさん
08/08/06 17:45:17
>>128
それはテトラポッドやろ。

130:デフォルトの名無しさん
08/08/06 18:32:43
>>119
ありがとうございます。
> 途中、フィボナッチ数列の行列表現、固有値
程度なら理解できると思います。


131:lischemep ◆/uyHCgG7qA
08/08/10 23:28:50
都内で初心者向け勉強会を模索しようとしております。

以下想定です。
こうしたらいいとかありましたらどんどん提示して頂けたら幸いです。

・大学生のLisper/Schemerを先生として呼ぶ
・上記のため会費をとります。
・場所は以下を想定。(1h:1400~2300円くらい+各自1ドリンク)
URLリンク(www.ginza-renoir.co.jp)
・スキルがバラバラになるため基本的に自習を想定
(同スキルの人と課題本を決めてチーム学習する等は自由です)
・参加条件としてキーボードがサクサク打てる程度。処理系を入れるノートパソコン等。
・開発環境構築から指導の予定


参加者希望予定者がいらっしゃいましたら、
lischemep at gmail.com
まで下記を記入して送ってください。

使用希望の
・希望日(参加頻度:必ず参加、月1希望、仕事のため不定等)
・希望参加費
・OSとバージョン
・エディタ
・処理系
(↑処理系は希望なければおまかせと書いてください)

また先生やってみたいという方は、下記を記入して送ってください。
・希望日(開催頻度も)
・希望報酬額(時給換算、月XX円等)
・対応できるOS・処理系・エディタ

132:デフォルトの名無しさん
08/08/11 00:27:37
先生のレベルを決めないで、
希望参加費を申告制にすると、
収集つかないんじゃないかな。

133:lischemep ◆/uyHCgG7qA
08/08/11 00:47:39
>>132

なるほど。
勇み足過ぎたかもしれません。

まず、参加希望者から
・自分のレベル
・どんな課題がしたいか

を送ってもらうように訂正します。
lischemep at gmail.com

134:デフォルトの名無しさん
08/08/11 07:41:42
最初の課題は開発環境構築じゃなくて処理系を選ぶこと。

135:デフォルトの名無しさん
08/08/11 08:09:45
>>131
お、面白そうだな。
確認だけど◆/uyHCgG7qAは先生じゃなくまとめ役ってこと?
「先生」の技量に全てが依存している気がする。
大学生でLisperを名乗れる奴ってどのくらいいるんだろう。

136:デフォルトの名無しさん
08/08/11 09:07:42
131です
135さん

私は先生はとても無理です。

先生は学生でなくてもいいのですが
そうすると高額なセミナーになってしまう気がして。

社会人のSchemer/Lisperなら薄謝もらってもおそらく割に合わないでしょうし。


137:デフォルトの名無しさん
08/08/11 09:55:28
>>136
スキモノならボランティアでやってくれるんじゃないの?
もっと安くあげる方法はあると思う。
URLリンク(www.javaopen.org)


138:デフォルトの名無しさん
08/08/11 09:58:28
自習じゃ駄目な理由は?

139:デフォルトの名無しさん
08/08/11 10:11:35
ここで聞けば良いのでは?
URLリンク(www.lingr.com)


140:デフォルトの名無しさん
08/08/11 12:21:10
Lisp/Schemeは人気が低いわりに実装がやたら複雑だから人手が足りない。
移植したりライブラリを増やしたりできない。
勉強会やるとしたら言語仕様だけでなく実装についてやるべきだけど、
複雑な実装が乱立しているから難しい。

もちろん単純なScheme処理系もあるが、それは人気がなさすぎる。
たとえ言語が人気でも処理系が不人気なら意味がない。
複雑さの許容度は人気に比例するのだと思う。

複雑なものもいずれ必要にはなる。
でも今は必要ないんだよ。今一番必要なのは、人気と釣り合いのとれた単純な実装。
そのためならマクロを犠牲にしてもいい。
それに気づいた人はS式から離れていく。嫌いになった訳ではないがな。

141:デフォルトの名無しさん
08/08/11 13:11:44
>>140
で?っていう

142:デフォルトの名無しさん
08/08/11 16:49:10
>>140
自分の低能ぶりを直視できない人間だということを婉曲に表現した自己紹介ですね

143:デフォルトの名無しさん
08/08/11 18:28:33
>>140
言い訳をいろいろ考える才能はありそうですねw

144:デフォルトの名無しさん
08/08/11 21:36:40
地元の大学でSchemeの授業があれば聴講したいの
だけど、残念ながら無し。
東京近辺に住んでいたら東工大の講義を聴講したい。


145:デフォルトの名無しさん
08/08/11 22:01:37
>>144
むかしなら、大学の授業の潜り込みは簡単だったんだけどね。
今は、わからない。
東工大もセキュリティは厳しくなってるからね。

146:デフォルトの名無しさん
08/08/11 22:53:18
>>140
釣られるけど、マクロの無いLispなんてLispじゃないだろ
そもそもCommonLispもSchemeもちゃんと仕様のある「まとも」な言語なんだけど。

147:デフォルトの名無しさん
08/08/11 22:58:56
Lisp 1.5 は Lisp じゃないなw

148:デフォルトの名無しさん
08/08/11 23:46:28
処理系のソースコードを気軽にいじれるならマクロなしでもいけるかも
Lisp1.5はそうだったかも

149:デフォルトの名無しさん
08/08/12 00:57:31
>>145
国立大は社会人受入れに寛容
なようなので正規に聴講生の
手続きをとって試験も受けて
単位もとりたいです。
でも、地方の大学でSchemeを
使った講義があるところは
限られてるみたいです。


150:デフォルトの名無しさん
08/08/12 01:02:10
マッカーシー博士の最初の論文
にあったLispで記述されたLisp
で仕組みがよくわかりましたよ。
故中西先生もこの論文だったか
ユーザーマニュアルだけを手がかりに
最初のLisp処理系を書いたと読んだけど。

151:デフォルトの名無しさん
08/08/12 01:05:10
マクロは無いくせにw、コンパイラは含んでいるというのは凄いと思う>LISP 1.5

152:デフォルトの名無しさん
08/08/12 01:10:57
他言語処理系に対するアドバンテージは
マクロだけだもんね

153:デフォルトの名無しさん
08/08/12 01:12:19
>>149
どうしてもね。その傾向はあるかもね。人工知能の分野もlispよりC++のほうが勢いがあったり
するらしいから、教える人が少なくなるんだろうね。筑波、東工ふくめて旧帝大あたりだったら
一つくらい授業がありそうだけど。それ以外の地方は確かに期待できないかもしれないね。

プログラムの筋はschemeをやる方が断然よくなるんだけどな。これは抽象化がうまくなるから
だろうと思う。高階関数を扱える言語をしっかりやってるかやってないかでセンスはずいぶん変
わるね。

154:デフォルトの名無しさん
08/08/12 01:12:58
>>152
んなこたあないw

155:デフォルトの名無しさん
08/08/12 01:33:56
Lispのアドヴァンテージはいくつか
考えられますが、一番はS式のもつ
プログラムとデータの同一性だと
思います。強力はマクロもその
特性のひとつでは?


156:lischemep ◆/uyHCgG7qA
08/08/12 01:37:13
>>137
いいリンク紹介ありがとうございます。
やっぱり安く上げる方法考えた方がいいんですかね。
私自身はお金は無頓着なので。場所ももう少し探してみます。
課題本はあったほうがいいんでしょうか。
「この本やりたい」とかありましたら教えてください。


>>138
>>139
自習だとつまらないことでつまづいて長い時間考えることがあるからです。
ネット上で聞くということも出来ますが、
その場合状況説明のやりとりに時間がかかります。
私はもう結構な年なので、お金を払ってでも学習速度を上げたいと思ってます。

157:デフォルトの名無しさん
08/08/12 01:51:10
(意地悪い言い方で申し訳ないけど)自分の家庭教師が欲しい、ってことなのかな?
もしそうなら「自分と同じレベル募集」とか、はっきり言っちゃったほうが良いかも。w

俺も先生は大学生とか限らないほうが良いと思う。

158:デフォルトの名無しさん
08/08/12 01:55:18
> その場合状況説明のやりとりに時間がかかります。

これを要領よくやる訓練も必要かと

159:デフォルトの名無しさん
08/08/12 02:12:45
>>151
マクロ機能は自分で好みのを書けってことだったんじゃないかな?
当時のマクロの実装は簡単だったしね。



160:デフォルトの名無しさん
08/08/12 02:42:42
>>149
私立だって簡単に聴講生になれるぞ。
金がかかるだけで。

161:デフォルトの名無しさん
08/08/12 02:47:46
>>159
最初の頃はFSUBR + EVALで一々手で書いた。
パターンが出来上がったのでdefmacroになった。

>>156
> 自習だとつまらないことでつまづいて長い時間考えることがあるからです。

本当はそれが大切なんだけどね。
より深く理解するし、それが出来る人が継続もできる。
壁に負ける人はいつも負け続ける。


162:デフォルトの名無しさん
08/08/12 02:56:09
それが大切だとしても若いうちだけだろ。
年取ってるなら金払ってでも学習速度を上げたいって言うのはわかる。

163:デフォルトの名無しさん
08/08/12 02:59:04
生涯学習だな。カルチャー教室でやらないかな?w

164:lischemep ◆/uyHCgG7qA
08/08/12 06:13:10
>>157
家庭教師。つまるところそうなのかもしれません。
Lisp/Schemeにとっつきにくさがあると思ってて
同じ状況の人がいるだろうと思ってたのですがあまりいないみたいですし。。。

状況としてはThe Little Schemerの半ばで頓挫している状況です。
他にもプログラミングGaucheやANSI Common Lispなどをつまみ食いしてますが
途中で分からなくなってます。

色々当たっているうちに少しずつ分かったりしますが
時間がかかりすぎている気がしています。
このままだと数年かけて一冊片付くペースになってしまいそうです。


>>162
三十代になるとさすがに焦ります。

165:デフォルトの名無しさん
08/08/12 08:01:59
> 三十代になるとさすがに焦ります。
俺は164がなんでLisp/Schemeをやってみようと思ったのかが気になるな。
知的興味が理由なら年齢で焦ることはないだろうし。
近い将来に仕事で使う必要があるのなら焦る気持ちもわかる。
学習する動機によっておすすめの方法も違ってくると思うんだが。どう?

166:デフォルトの名無しさん
08/08/12 09:03:44
書いてあるじゃん
挫折しそうだから
くじけそうだから
もう後がなさそうだから

167:デフォルトの名無しさん
08/08/12 09:45:28
俺なんて、40近くになってScheme始めたぞ。
独学でSICPをしこしこ解いてるよ。

同時に数学の勉強も始めたんだが、こっちがきつい。
数学基礎論のやさしい教科書はないかな。

168:デフォルトの名無しさん
08/08/12 10:56:25
目的がいまいちはっきりしない質問者はやがて身の上話を始める法則

>>167
> 同時に数学の勉強も始めたんだが、こっちがきつい。
> 数学基礎論のやさしい教科書はないかな。

数学基礎論の質問スレッド その4
スレリンク(math板)

おおかた数理論理学か集合論の教科書を薦められると思うが
計算機科学との関連で何かもくろみがあるならこっちへ
URLリンク(science6.2ch.net)

169:デフォルトの名無しさん
08/08/12 12:54:29
「数学」が何を指してるか知らんが、
基礎論は数学を勉強する支えにはならないぞ普通は。

集合論とか論理とかを学ぶなら基礎論には手を出していない
普通の教科書のほうが良い。

170:デフォルトの名無しさん
08/08/12 13:28:48
>>168
ありがとうございます。覗いてみます。

>>169
そうなんですか?
集合論とか論理学から、計算機科学方面へ進めていきたいと思っていたのですが。
私の「基礎論」という言葉の使い方がおかしいのでしょうか?
集合論や論理学そのものを学んだほうが良いということでしょうか?

171:デフォルトの名無しさん
08/08/12 18:36:29
>>146
仕様があればまともな言語なのぉ~?


172:デフォルトの名無しさん
08/08/12 18:40:24
「まともな言語」の集合を定義してください

173:デフォルトの名無しさん
08/08/12 19:28:14
>>170
今、数学で「基礎論」といったら、逆数学とかあのへんのことを指すんじゃないかな。
少なくとも専門分野を「基礎論」と自己規定してる数学者は、だいたいそのあたりの
分野を研究してることが多い。(Harvey Friedman, Stephen Simpson, 田中一之氏, etc)
「基礎論」という分野が勃興してきた19世紀末と現在とでは、言葉のニュアンス
がかなり違ってきているので、注意が必要かと。

167氏はあるいはもっとルーズに、「基礎論」という言葉を「数理論理学」とほぼ同義で
使ってるのかもしれないが。

まあいずれにしろ、数理論理学は(少なくとも初歩の段階では)メインストリームの数学とは
直接関係しないことが多いね。幾何的モデル理論みたいに、数論への応用があったりする
分野もあることはあるけど、そういうのは非常に専門的な話題になってしまう。
(169氏が言ってる「数学を勉強する支えにはならない」というのはおそらくそういうニュアンスなのだろう。)

でも理論計算機科学に興味があるのなら、数理論理学は必須だから、(167氏言うところの)
「基礎論のやさしい教科書」を勉強するのは意味のあることだと思うよ。

とりあえずはこのあたりをご参考に。
URLリンク(www.kurims.kyoto-u.ac.jp)

174:デフォルトの名無しさん
08/08/12 20:05:34
計算機工学者のための計算機数学のとっかかりということなら、
島内さんの「数学の基礎」はどうかと思ったが、
URLリンク(www.amazon.co.jp)数学の基礎-島内-剛一/dp/4535601062
絶版で中古市場では高い!ヤフオクでも元より値が上がってる!

175:デフォルトの名無しさん
08/08/12 20:22:59
竹内外史とかのは基礎論だよな?

と板違いか。

176:lischemep ◆/uyHCgG7qA
08/08/13 06:23:48
>>165
はじめのきっかけは、「普通のやつらの上を行け」を学生時代に読んでです。

知的興味もありますが、将来的には仕事で使いたいと思っています。
また、なるべくLisp/Schemeを広めていきたいと思っています。
それで初学者向けの勉強会が出来ないかと思いました。

目標としては、AllegroServeを使えるようになること、
On Lispを理解できるようになることです。

177:デフォルトの名無しさん
08/08/13 07:40:49
>>176
まだ、shemeやcommon lispに馴れていないならば、SICPよりもう少し簡単なもの
からお勧めするよ。
schemerなら、gauche本でもいいし、common lisperならAnsi Common Lispや岩波
の本でもいいし。

178:デフォルトの名無しさん
08/08/13 11:16:10
>>176
ポールグレアムって結局SchemeにもCLにも否定的じゃないか?

179:デフォルトの名無しさん
08/08/13 14:30:39
>>178
どちらかといえばSchemeにもCLにも肯定的だと思うよ。
(Lisp族以外の言語に比べれば)

180:デフォルトの名無しさん
08/08/13 16:20:52
PG
javaには否定的というのははっきりしてるし、C系に苛立ちを持ってるような記述も
みかけたことはあるかな。

181:デフォルトの名無しさん
08/08/13 16:46:20
CとPerlは人気の言語として色々条件を満たしているみたいな話があったような

182:デフォルトの名無しさん
08/08/13 18:55:38
40年も前から存在するのに
lispが全く存在感無い事について
想像力を働かせてみた方がいいと思うね

183:デフォルトの名無しさん
08/08/13 20:29:28
>>182
どれだけの世界を見て生きてきたか知らんが、
あなたのちっぽけな経験で感じた存在感なんて
なんだというのだ
ふしあなか?


184:デフォルトの名無しさん
08/08/13 20:42:17
>>183
頑張ってそれか?
「viaweb以外のインストールベースの例を教えてください」
って聞かれたらどうするの?
はいやりなおし!

185:デフォルトの名無しさん
08/08/13 20:44:57
「実用性なんて飾りです。偉い人にはそれがわからんのですよ。」
くらい言わないと。

186:デフォルトの名無しさん
08/08/13 21:16:40
>「viaweb以外のインストールベースの例を教えてください」

なんか薄っぺらいなぁ。

187:デフォルトの名無しさん
08/08/13 21:37:39
>>170
皆言ってるように「数学基礎論」そのものに首を突っ込む必要はない。
集合というのはただのモノで、ただのモノについての議論を深めていくと
濃度がどうとか数学基礎論の方へ行く。

そっちではなくて数学の基礎と言うか数学村の言葉使いに慣れておく必要がある。
つまり集合と言うただのモノに必要な性格付けをして数学的な実質のある体系を
作っていく手順を自分なりに一度は体験しておく必要がある。

入り易いのは数の構成で、島内氏のとか岩波新書に「数の体系」とかいろいろある。
そんなことは分かってるというのであれば不要だが、単に実数も複素数も知ってるというのではだめ。

次にやっておくべきは代数かな。計算機科学との相性も良いし、暗号等での応用もあって本もたくさんある。

あとは必要と興味に応じてやっていけば良い。ひとつ注目したいのは圏(カテゴリー)論。
ひと昔前はGAN(GENERAL ABSTRACT NONSENSE)とか揶揄されたが様変わりで、
Haskellで圏論と言う言葉を知る人も増えたらしい。


188:デフォルトの名無しさん
08/08/13 22:43:56
昔の本だと「数学基礎論」となっていても
真偽関数から始めて命題論理・モデル理論・述語論理・帰納的関数・・・と続き
最後にちょこっと公理的集合論が出てくる、というような感じで
>>170のやりたそうなことに内容的にはちょうどよかったんじゃないかと思うが
今はもっと効率的にやる方法もあるだろう

189:デフォルトの名無しさん
08/08/14 00:16:28
>> 173, 187, 188
ご教示、ありがとうございます。

そもそもの動機なのですが、ただいま「論理と計算のしくみ」を読んでいまして、
ちょっと展開が速すぎて着いていけないので、もうすこし詳しく、さらに言えば
演習もあるような書籍は無いかと思ったしだいです。
証明の仕方に慣れていないせいか、結論はともかく過程に納得ができなくて。

とりあえず、「論理学をつくる」を入手しましたので、これをみっちりやってみます。

圏論も視野には入っています。ちょっと遠そうですが。

一番初めの目的はプログラミングや設計に役立てるためだったのですが、
いつのまにか、数学を学ぶこと自体が楽しくなってきてしまいました。
脱線して、計算機科学と関係ない方向に行ってしまいそうです。

190:デフォルトの名無しさん
08/08/14 00:18:15
>>184
はいさようなら!

191:176
08/08/14 08:39:29
177さん

助言ありがとうございます。

やっぱりLispかSchemeどっちを学ぶか決めた方がいいのでしょうか。今は両方手をつけてます。

それと最近翻訳された実践Common Lispは初学者向けですか?

192:デフォルトの名無しさん
08/08/14 09:00:16
>>191
そこは自分で考える部分だよ。

言語の取得って基本的に同時に複数をやるのはあまりよいとは思えないですね。
ゴールがなにか?を考えたら使用する言語は決まってくると思うけど。
LLな活動ならgauche で充分だけど、重い計算をさせるならcommon lispのほうが
当然向いてるし。

193:デフォルトの名無しさん
08/08/14 10:15:16
>>192
同時にやるのが~といったのは
(defun foo (arg1 arg2) ....)
(define (foo arg1 arg2) ....)
と微妙な違いの1例だけど、この違いがなれないうちは混乱に結びつくからだよ。
(defun foo (arg1 arg2)
....
(cond
[(= a b) ...]
....))

みたいになっちゃいけないし。

194:デフォルトの名無しさん
08/08/14 10:18:31
>>193
それはcommon schemeだ。

195:デフォルトの名無しさん
08/08/14 17:48:19
>>191
『プログラミングGauche』で「途中で分からなくなって」るんだったら、
『実践CL』も同じ結果になる可能性が高いんじゃないかと。

とりあえず「AllegroServeを使えるようになる」という目標があるのなら、
CL一本に絞って、もっと懇切丁寧な初学者向け教科書で勉強してみるのが
一番じゃないでしょうか。

Peter Norvigもたしか「まったくの初心者にはこれが一番いい」と言ってたと
思いますが、TouretzkyのGentle Introductionが非常に丁寧でいいと思います。
こちらから全文が無料でダウンロードできます。

URLリンク(www.cs.cmu.edu)

196:デフォルトの名無しさん
08/08/14 20:27:19
「リスト遊び」とかどうだろう。Emacsが動けばすぐ試せるし。

197:デフォルトの名無しさん
08/08/14 21:32:19
「プログラミングGauche」は全部理解する必要はないだろう。
特に第3部は必要な箇所だけ読めば良い。

198:lischemep ◆/uyHCgG7qA
08/08/14 23:53:22
皆様、色々と助言ありがとうございます。

>>195さん、
よさそうですね。後で印刷して通勤の合間に読んでみます。

>>196
Emacs Lispの本も持ってます。そちらにも手を付けてみます。

>>197
それを聞いて少し安心しました。

199:デフォルトの名無しさん
08/08/15 00:10:04
AllegroServeを使えるようになるにしろ、On Lispを読めるようになるにしろ、
実践Common Lispは良いテキストだと思うけどなあ。

漏れは、リスト遊びや、Elispの勉強は、上二つの目的には直接関係してこないと思う。

200:デフォルトの名無しさん
08/08/15 07:36:30
>>199
禿同。実践本がマスターできたら、あとは自分で調べながら何でもやれるよ。
マクロもCLOSも書いてある本は他にないと思う。実践本のFOO言語の下りは
本当に素晴しい。

ちなみにAllegroServeは使うだけなら全然難しくないよ。
S式でややこしいListの構築の練習に良いかもね。
リスト遊びは名著だけど、泥臭くなさすぎる。

201:デフォルトの名無しさん
08/08/15 21:17:10
教えてください.R5RSに記述されている手続き/シンタックスはすべて
syntax, library syntax, procedure, library procedure, optional procedureのいずれかに
分類されていますが,define, define-syntax, syntax-rulesに関しては上の分類別の記述がありません.
どのように考えれば良いでしょうか.すべて定義に必要なものですから基本的なものだとは思うのですが
単純にsyntaxの部類に属するとしてよいのでしょうか.

202:デフォルトの名無しさん
08/08/15 22:01:12
define、define-syntaxは式ではないのでsyntaxではない
syntax-rulesは式ではないのでsyntaxではない

たぶん


203:デフォルトの名無しさん
08/08/15 22:15:19
CLで言う所の特別式は値のある式だけど
R5RSではたとえば
(define x (define y 100))
などは許されない

204:デフォルトの名無しさん
08/08/15 22:16:49
値のない式もあるから203の例は不適当だったか

205:デフォルトの名無しさん
08/08/15 22:59:38
>>201
define, define-syntax, syntax-rulesは確かに書いてないねえ。
でも、こいつらはどう考えても手続きじゃないから分類するならsyntaxなんじゃないの?


206:デフォルトの名無しさん
08/08/15 23:14:59
CLみたいに特別式、関数、マクロに単純に分類できないからねぇ
beginの扱いも微妙だし

207:デフォルトの名無しさん
08/08/21 16:12:21
svnから引っ張ってきた最新版のgaucheをVCでコンパイルすると
実行時にしょっぱなのScm_Initでこけます。

どうもvminsn.cの SCM_VM_LOCAL_ENV_CALL ラベルに来たとき
vm->val0に値が設定されていないことが原因っぽいのですが、
これの解決策分かる方いませんか?

スレチなら、適切な場所に誘導してもらえると嬉しいです。

208:デフォルトの名無しさん
08/08/21 16:17:07
>>207
> スレチなら、適切な場所に誘導してもらえると嬉しいです。
URLリンク(www.lingr.com)

209:デフォルトの名無しさん
08/08/21 16:21:22
>>201
自分はsyntaxだと理解してきました。

ちなみにR6RSではsyntaxと明記です。

210:デフォルトの名無しさん
08/08/21 16:32:12
>>208
ありがとうございます。

211:デフォルトの名無しさん
08/08/22 10:08:30
URLリンク(natu.txt-nifty.com)

センスのないネタやね。この手の奴にlispを語ってほしくないな。sicpを
やってた奴みたいだが。

212:デフォルトの名無しさん
08/08/22 11:21:48
どうでもいいものを、ここに張る奴もどうかしてる。

213:201
08/08/23 02:28:49
>>みなさま
いろいろお教えいただきましてありがとうございます
>>209 さんのご意見に従い
割り切ってsyntaxに入れてしまったのが簡単で良いかなと思っています
しかしこれらをあえてsyntaxから外してあるということは
R5RSはそれだけ厳密に定義されているということなんでしょうか

214:デフォルトの名無しさん
08/08/23 14:07:51
R5RSは結構いい加減w
それ系のMLでも解釈について議論になってる。

もちろん仕様がないような言語とは比較になりませんが。

どういう言語でも↓こういうことがあるもんなんです。
URLリンク(www.open-std.org)
そういうレベルの意味において「いい加減」

215:デフォルトの名無しさん
08/08/23 14:32:15
静的型と仕様は頭の中にあればいいよ

216:デフォルトの名無しさん
08/08/24 13:16:35
お前は頭の中で済むほど頭がいいのか?

217:デフォルトの名無しさん
08/08/24 13:41:23
お前は頭の中で済むと思い込むほど頭がわるい人は多い。


218:デフォルトの名無しさん
08/08/24 14:11:09
worse is betterを思い出した
頭のいい奴は複雑なものを作るから困る

219:デフォルトの名無しさん
08/08/24 14:17:34
日本語は難しくてかなわん
S式で説明してくれ

220:デフォルトの名無しさん
08/08/24 16:58:12
(define (難しい? 言語) (eq? 言語 '日本語))
(if (難しい? '日本語) 'S式でおk)

221:デフォルトの名無しさん
08/08/24 18:06:39
>>220
コラコラw


222:デフォルトの名無しさん
08/08/24 19:41:38
>>220
#<undef>

223:デフォルトの名無しさん
08/08/24 21:16:28
ところでSchemeの仕様にむやみと未定義が多いのは何でなの?
なにかに決めりゃいいじゃん、nil でもいいからさぁ。
とりあえず決めた方が実用的になると思うんだけど。

224:デフォルトの名無しさん
08/08/24 21:24:42
>>223
決めちゃったらもう変えれないだろ。
議論が尽くされてないところは決めるべきじゃないし、
実用のために不格好になるのは CommonLisp だけで十分。

225:デフォルトの名無しさん
08/08/24 21:53:41
common lispが不恰好とな?

226:デフォルトの名無しさん
08/08/24 22:26:38
少し認める

227:デフォルトの名無しさん
08/08/24 22:44:55
>>223
決めちゃうことが(例えば性能的な)制約になる実装があり得るから

228:デフォルトの名無しさん
08/08/25 00:15:13
rubyとか酷いよね

229:デフォルトの名無しさん
08/08/25 00:26:43
gauche上の話なのですが、

(definc-syntax member
 (syntax-rules () ((_ name) (name :init-value 0))))

(define-class <test> ()
 (member X))

こうすると、どうも(member X)の展開が上手くいかないようなのです。
これを上手く展開させる方法はありますか?

230:デフォルトの名無しさん
08/08/25 00:29:57
>>229
本質的にマクロをわかってない。
あくまでもそういう書き方で展開させたいなら結構めんどいことになるよ。

231:デフォルトの名無しさん
08/08/25 00:31:15
評価される場所でないと、マクロは展開されない。
define-class ごと再定義するのが良いだろう。

232:デフォルトの名無しさん
08/08/25 00:46:58
>>230-231
ありがとうございます。
他のやり方を考えてみます。

233:デフォルトの名無しさん
08/08/25 13:14:13
writeとかdisplayが真値を返さない可能性があるので
and-let*とかで処理をつなぐ時にいちいち
(begin (write obj) #t)とか書くのは不恰好な気がする。
せめて#<undef>は#fにはなりえない、くらいの制約は欲しい

(とはいえ、未規定の値を返す手続きが#fを(返す|返しうる)処理系は見たことないけど)

234:デフォルトの名無しさん
08/08/25 20:56:28
* が前置されていたら次の式は #t を返したものとして扱う、てな
自分用and-letを定義したらどうよ。

235:デフォルトの名無しさん
08/08/25 21:23:18
意味的に and じゃないとこで andなんちゃら を使っているのだから仕方ない

236:デフォルトの名無しさん
08/08/25 22:07:51
letをネストしたくないのと、いちいち継続を捕捉して脱出したくないだけだろ
戻り値が未定義だというのは問題の本質ではないな

237:デフォルトの名無しさん
08/08/25 22:13:41
朝起きたらLISPになっていますように

238:デフォルトの名無しさん
08/08/25 22:22:37
つまり括弧を書きたくないだけだね。
フロントエンドでも作れば?

239:デフォルトの名無しさん
08/08/25 22:43:16
HaskellのMaybeモナドっぽく使いたいわけですよ
いろいろマクロを書いて試してます

>>238
括弧を書きたくないのではなくて
beginで値を捨てるのが好きじゃないんです

未規定値は#fかもしれないし真値かもしれないというのも気持ちが悪いです
もしかしたら(eq? (write obj1) (write obj2)) -> #fかもしれませんし

240:デフォルトの名無しさん
08/08/25 23:00:06
個人的には、未規定値は使ったとたんにエラーになる処理系が好ましいな

241:デフォルトの名無しさん
08/08/25 23:34:49
0個の多値を返せばいいじゃない

242:デフォルトの名無しさん
08/08/25 23:54:07
and-let*の中で返り値が未規定な手続きを使ったり、
未規定値を比較する、といった発想が理解できない

243:デフォルトの名無しさん
08/08/25 23:57:40
他コンピュータとの通信プログラムなどで
画面出力するというのが主ですね
クライアントプログラムなどでREPLの介入が出来ない場合
デバッグのための出力を埋め込んだりもします

244:デフォルトの名無しさん
08/08/25 23:59:29
未規定値の比較は実際には行いませんよ
ただ真理値も同一性も規定されていないから
どうなるかはわからないといいたかっただけです

245:デフォルトの名無しさん
08/08/26 00:46:26
なぬ? (begin (write "hoge") #t) が恰好悪いですと?
そんな時こそマクロ~

246:デフォルトの名無しさん
08/08/26 08:15:32
>>244
プログラミング向いてないのでは?

247:デフォルトの名無しさん
08/08/26 19:11:39
(define (tree-count elem tree)
(let f ((rest tree) (count 0))
(cond
((null? rest) count)
((list? (car rest)) (f (append (car rest) (cdr rest)) count))
(else (if (eq? elem (car rest))
(f (cdr rest) (+ 1 count))
(f (cdr rest) count))))))
(= 6 (tree-count '<> '(A B C <> (A <> (X <>)) <> (<> <>))) ; => #t
こういうのでも末尾再帰になってるんでしょうか?

248:デフォルトの名無しさん
08/08/26 20:17:38
fの呼出しは末尾呼出しになってますね

249:デフォルトの名無しさん
08/08/27 09:03:03
>>239
ほんとにMaybeモナドみたいにしたいなら、そのように書くしか無いと思うよ
(有効な値は全部Justでくるむとか、逆に「有効な返り値と決してeq?にならない
値」を失敗を表すのに使うとか)。and-let*で#fを特別扱いしてるのは
「大抵の場合うまくいく」っていう一種の妥協で、>>239のアプリは
その「大抵の場合」から外れているってことだと思う。



250:デフォルトの名無しさん
08/09/01 23:00:41
絶版になったと思ってたディヴィグ翻訳本
いつの間にかまた売られるようになってますね
3版ではなさそうですが

251:デフォルトの名無しさん
08/09/02 19:44:54
little schemerの継続の所が凄くわかり辛い(関数名からして意味不)
今の段階ではこういうのもあるって知っておく程度で詳細は他の本でカバーしろって事かな?

252:デフォルトの名無しさん
08/09/02 21:00:46
頑張れ、ここで派を食いしばれってこと。
ドリルみたいなもんだから、逃避したら身には付かない。

253:デフォルトの名無しさん
08/09/02 21:07:49
何の発見もない精神論だな

254:デフォルトの名無しさん
08/09/02 21:15:31
結局shiroさんの記事とwikipediaとprogramming language schemeを参考にしましたけどね

255:デフォルトの名無しさん
08/09/02 21:15:31
ドリルでルンルンクルルンルン

256:デフォルトの名無しさん
08/09/04 15:02:19
>>251
具体的にどのページのどれが分からないか書かないとまともなレスは来ないよ常考。

257:デフォルトの名無しさん
08/09/04 23:09:46
継続渡しのネタはP.137-147ですね
あとP.160ー173のYコンビネータのネタもややこしいですね
初見では10章よりも難しく思えましたまる

258:デフォルトの名無しさん
08/09/05 15:46:59
P.137の multirember&co の定義で2つコレクター出てくる。
ひとつは

(lambda (newlat seen)
(col newlat
(cons (car lat) seen)))

もうひとつは

(lambda (newlat seen)
(col (cons (car lat) newlat)
seen))

実は2つとも無名関数で再帰をしている。このコレクターが再帰のたびに別な関数になっていることをちゃんと理解できてるかな?
これが分かるならP.140までは理解できているはず。つまりTenth Commandmentはコレクターを作れってことだよね。実行してみるとこうなる。

URLリンク(codepad.org)

8章のテーマは確かに継続渡しなんだけど、無名関数で再帰することを上手にやるのがコレクターってこと。
9章のネタではさらに再帰のさせ方を工夫してやるとYコンビネータを作れるというお話。

P.137からP.140が理解できればコレクターとYコンビネータを両方とも理解できます。頑張れ。

259:デフォルトの名無しさん
08/09/05 16:08:06
Yコンビネータは memoization に役立つんだけど、それとコレクターは瓜二つで8章・9章のもとネタになっています。

260:デフォルトの名無しさん
08/09/05 16:28:25
>再帰のたびに別な関数になっていることをちゃんと

無名関数で新しい関数が作れることをマクロ内でやれるようになると、プログラムの記述量を物凄く減らすことができる。
SchemeなどのLisp系言語の特徴はプログラムの記述量が少ないこと。これを支えているのが8章・9章の考え方。
ここを理解できると「Lisp脳」の人たちの考え方に近づくことが出来ます。

261:デフォルトの名無しさん
08/09/05 16:45:03
Tenth Commandment・・・Lisp脳で問題を考え直せ
                      ↓
                 ・コレクターを使ってみる
                 ・Yコンビネータを使ってみる
                 ・マクロを使ってみる。

そういえばSchemerシリーズにはマクロの説明が無いね。Reasoned Schemerでは使ってるけど。

262:デフォルトの名無しさん
08/09/05 16:45:52
再帰というか自己参照ね。
それが無限の入れ子になったのが再帰。

263:デフォルトの名無しさん
08/09/05 17:00:17
>それが無限の入れ子になったのが再帰。

有限じゃないと処理が終了しない常考。

264:デフォルトの名無しさん
08/09/05 17:28:36
弱参照も張らずにメモ化とな

265:257
08/09/05 17:53:48
chapter8,9を理解できるのがいまのところの目標であることはわかりますた。
sicp読んでみたけど1.11の反復版の答え見て「なんだこれは」と実力不足は実感しましたし。

Yコンビネータのところは
URLリンク(www.ece.uc.edu)とか
URLリンク(dangermouse.brynmawr.edu)みながら読み返してます。

collectorについては
8章のmultirember&coは書き出したりしながら雰囲気は掴めたんだけど、最後のeven-only*&coの
一番ネストが浅いcondのelseのコレクターをどうするの?って言うところ(P.146の上から4段目)で
ボブロスばりに答えの(lambda (al ap as)...)ってのが出てくるのが、面喰らいました。

でこれはURLリンク(practical-scheme.net)の末尾再帰と継続って項で説明されてるような考え方を使って
ようやく「なるほど」って思える程度の理解に辿りついた次第であります。

マクロはTeach yourself scheme in fixnum days、Programming Language Schemeのマクロの項
あとOn Lispとpractice schemeのpractical-scheme.netのScheme:OnLispの項を参考にしてます。

elispを一年ぐらい触ってて()に抵抗が無いぐらいは馴染んでるつもりですが、それでもここまで詰まるとは…
やっぱり生のLispってものは怒ろしいものですね。

あとmultirember&coの"&"の読み方がわかったのも収穫です、ありがとう皆

266:デフォルトの名無しさん
08/09/05 17:59:08
弱参照(weak reference)の話を始めたらソフト参照もしなきゃならない。
ここではコレクターやYコンビネータの話をしてるのに。
メモ化(memoization)ですら話が遠くなるからあとにしてくれ。

267:デフォルトの名無しさん
08/09/05 18:00:05
そんな我が儘言われても・・・

268:デフォルトの名無しさん
08/09/05 18:22:31
multirember&co では lambda + collector は2つ使う。
multiinsertLR&co では lambda + collector は3つ使う。コレクターを1つ余計に使うだけ。

evens-only*&coでは lambda + collector は3つ使う。これは multiinsertLR&co と同じ。

multirember&co では a-friend の引数は2つ。
evens-only*&coでは the-last-friend の引数は3つ。コレクターの引数を1つ余計に使うだけ。

>一番ネストが浅いcondのelseのコレクターをどうするの?って言うところ(P.146の上から4段目)で
>ボブロスばりに答えの(lambda (al ap as)...)ってのが出てくるのが、面喰らいました。

そこで詰まるのはプログラミングの概念が原因じゃなくてP.145の3段目が頭に入ってなかっただけでしょ。
分かってるみたいだし気にしないで大丈夫。

269:デフォルトの名無しさん
08/09/05 18:30:38
>>267
オマエ、弱参照が話したいだけだろ。ぼくちゃん知ってるよーみたく。ガキだねw

270:デフォルトの名無しさん
08/09/05 18:34:21
ここはおまえが演説する場所ではない

271:デフォルトの名無しさん
08/09/05 18:40:39
>>270
オマエが弱参照を教えてやれば?
他の香具師は優しく>>257に教えてるぞ。
なんでけんか腰になるかね?

272:デフォルトの名無しさん
08/09/05 18:48:39
>>269 みたいなこと言ってるガキには喧嘩腰が適切

273:デフォルトの名無しさん
08/09/05 18:50:56
>>266
「あとにしてくれ」とか書いてる時点で「おまえの演説」だろ。
ここは私物ではない。

274:デフォルトの名無しさん
08/09/05 18:56:22
負け犬が暴れているようにしか見えないんだがw

275:デフォルトの名無しさん
08/09/05 19:05:47
雑音気にしないで演説続けろ

276:デフォルトの名無しさん
08/09/05 19:26:53
メモリリークの話はHaskellスレでもやってたね。メモ化じゃなくて遅延評価だけど。

277:デフォルトの名無しさん
08/09/05 19:40:48
LLFuture 動画リスト
URLリンク(www.nicovideo.jp)

278:デフォルトの名無しさん
08/09/05 21:44:50
evens-only* (P.144)
URLリンク(codepad.org)

((9 1 2 8) 3 10 ((9 9) 7 6) 2)

((2 8) 10 (() 6) 2)


evens-only*&co (P.145-146)
URLリンク(codepad.org)

((9 1 2 8) 3 10 ((9 9) 7 6) 2)

(38 1920 (2 8) 10 (() 6) 2)

リストの中にリストがある場合の処理がちょっと面倒でした。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch