Lisp Scheme Part21at TECH
Lisp Scheme Part21 - 暇つぶし2ch1:デフォルトの名無しさん
08/04/04 18:18:17
□過去スレ□
Part20: スレリンク(tech板)
Part19: スレリンク(tech板)
Part18: スレリンク(tech板)
Part17: スレリンク(tech板)
Part16: スレリンク(tech板)
Part15: スレリンク(tech板)
Part14: スレリンク(tech板)
Part13: スレリンク(tech板)
Part12: スレリンク(tech板)
Part11: スレリンク(tech板)
Part10: スレリンク(tech板)
Part9: スレリンク(tech板)
Part8: URLリンク(pc5.2ch.net)
Part7: URLリンク(pc5.2ch.net)
Part6: URLリンク(pc3.2ch.net)
Part5: URLリンク(pc3.2ch.net)
Part4: URLリンク(pc.2ch.net)
Part3: URLリンク(pc.2ch.net)
Part2: URLリンク(pc.2ch.net)
Part1: URLリンク(piza2.2ch.net)


2:デフォルトの名無しさん
08/04/04 18:18:56
□参考リンク□

日本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)
「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。
(Gaucheという完成度の高いscheme処理系作者さんのページでもあります。)

LispUser.net
URLリンク(lispuser.net)

3:デフォルトの名無しさん
08/04/04 18:19:16
□仕様関係□

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 (ja)
URLリンク(www.sci.u-toyama.ac.jp)

R5RS: Revised(6) Report on the Algorithmic Language Scheme (en)
URLリンク(www-swiss.ai.mit.edu)

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

4:デフォルトの名無しさん
08/04/04 18:19:39
□SICP関係□

SICP(英語)
URLリンク(mitpress.mit.edu)
「計算機プログラムの構造と解釈」の原書です。 全てオンラインで読めます。

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

□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/04/04 18:20:23
□その他□ (便利な情報リソース)

John McCarthy's Home Page
URLリンク(www-formal.stanford.edu)
LISPの生みの親、J・マッカーシーのページだそうです。

Association of Lisp Users 米国のLispユーザ会
URLリンク(www.alu.org)

CMUのLisp Repository 新旧様々なプログラムが置いてある
fURLリンク(ftp.cs.cmu.edu)

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

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

Scheme Hash(英語) S式でXMLを使える様にするSXMLなど
URLリンク(okmij.org)

幻の「入門Scheme」 オンラインで読める
URLリンク(www4.ocn.ne.jp)

各種scheme処理系をcygwin上からビルドする方法など。
URLリンク(www.geocities.co.jp)

encyCMUCLopedia (cmucl以外でも有益なはず )
URLリンク(www.isr.ist.utl.pt)


6:デフォルトの名無しさん
08/04/04 18:22:06
□その他その2□

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

Cliki (CLコードがたくさん紹介されている。)
URLリンク(www.cliki.net)

よろずや (lispの実用的な情報が色々。 )
URLリンク(www.geocities.co.jp)

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

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

SLIB
URLリンク(www-swiss.ai.mit.edu)

SRFI
URLリンク(srfi.schemers.org)

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

Lispとは何か
URLリンク(www.asahi-net.or.jp)

7:デフォルトの名無しさん
08/04/04 18:22:42
□実装□

Bit (mini-schemeよりも小さい(?)bytecode変換系 )
URLリンク(www.iro.umontreal.ca)

Lisp 言語処理系: CAMPUS LIsP, Lemon version (Cでわずか1000行)
URLリンク(www-masu.ist.osaka-u.ac.jp)

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

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

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

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

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

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

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

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

8:デフォルトの名無しさん
08/04/04 18:23:15
□実装その2□

Gauche: R5RS準拠のScheme処理系。Shiro Kawaiさん作。書籍も出版されました。
URLリンク(practical-scheme.net)

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

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

Guile: GNUの拡張プログラミング言語
URLリンク(www.gnu.org)

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

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)

Arc: ポール・グレアム氏が作成した新しいLisp
URLリンク(arclanguage.org)

9:デフォルトの名無しさん
08/04/04 18:23:42
□イベント□

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リンク(cl-www.msi.co.jp)
Scheme:マクロ:CommonLispとの比較
URLリンク(practical-scheme.net)
Script Languages
URLリンク(cl-www.msi.co.jp)


10:デフォルトの名無しさん
08/04/04 18:24:37
□書籍□

<プログラミングGauche>
・著者:川合史朗 監修 Kahuaプロジェクト 著
・定価:3360円(本体3200円+税)
・B5変 524頁
・ISBN 978-4-87311-348-7
・発売日:2008/03/14

Scheme処理系言語Gauche(ゴーシュ)の初の解説書!
URLリンク(ssl.ohmsha.co.jp)

立ち読み版
URLリンク(karetta.jp)

<On Lisp>
・著者:Paul Graham 著 野田 開 訳
・定価:3990円(本体3800円+税)
・A5 440頁
・ISBN 978-4-274-06637-5

LispハッカーPaul Grahamが、Lispの力の源泉であるマクロプログラミングを解説
URLリンク(ssl.ohmsha.co.jp)
HTML版
URLリンク(user.ecc.u-tokyo.ac.jp)


11:デフォルトの名無しさん
08/04/04 18:26:48
□2ch上にあるLISP関係のスレ□ (現在)

【入門】Common Lisp その4【質問よろず】
スレリンク(tech板)

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

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

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

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

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

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

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

12:デフォルトの名無しさん
08/04/04 18:27:45
The Scheme Programming Language (英語 オンライン読可)
URLリンク(www.scheme.com)

13:デフォルトの名無しさん
08/04/04 18:36:37




※LispとSchemeのスレです。





14:デフォルトの名無しさん
08/04/04 18:42:02
お酒とワインのスレです。みたい

15:デフォルトの名無しさん
08/04/04 18:45:12
麺類とうどんのスレです。みたい

16:デフォルトの名無しさん
08/04/04 20:03:18
>>15
ワラタ

;;;蕎麦で喧嘩するんだぜきっとw


17:デフォルトの名無しさん
08/04/04 20:35:56
テンプレ追加

☆初心者が集うIRC(布教してくれる先生も大募集です)

irc.scenecritique.com
port 6667

チャンネル #Lisp_Scheme

クライアントはcottonあたりが誰でも使いやすいと思います
(LisperならEmacsでつないだ方がいいかもしれませんが)

※IRCはつないだまま離席している人が結構いるので即返答がないことも。気長に待ちましょう

現在cdrcdrな感じですが宜しくお願いします



18:デフォルトの名無しさん
08/04/05 18:36:35
If you give someone Fortran, he has Fortran.
If you give someone Lisp,

19:デフォルトの名無しさん
08/04/05 18:38:45
Scheme Gauche part1
って(略

20:デフォルトの名無しさん
08/04/05 23:26:57
場合のカズ、三浦カズ
(define C
(lambda (n k)
(if (eq? k 0) 1
(* (/ n k) (C (- n 1) (- k 1))))))
(display (C 5 2))
⇒10

(define C
(lambda (n k)
(if (eq? k 0) 1
(if (eq? n k) 1
(+ (C (- n 1) (- k 1))
(C (- n 1) k))))))
(display (C 5 2))
⇒10

21:デフォルトの名無しさん
08/04/05 23:51:04
URLリンク(codepad.org)
URLリンク(codepad.org)

22:デフォルトの名無しさん
08/04/06 00:01:39
場合の数
(define Y
(lambda (X)
((lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))
(lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg)))))))

(define (Fact my-fact)
(lambda (n)
(if (= n 0)
1
(* n (my-fact (- n 1))))))

(define fact (Y Fact))

(define P
(lambda (n r)
(/ (fact n) (fact r))))

(display (P 4 2))

23:デフォルトの名無しさん
08/04/06 00:15:16
>>22
順列ですから

24:デフォルトの名無しさん
08/04/06 00:59:05
>>22
(define P
(lambda (n r)
(/ (fact n) (fact (n-r)))))

25:デフォルトの名無しさん
08/04/06 01:00:53
(define C
(lambda (n r)
(/ (P n r) (fact r))))

26:デフォルトの名無しさん
08/04/06 01:08:32
(thread "Lisp Scheme" (part 21))

27:デフォルトの名無しさん
08/04/06 02:26:55
そういう余計な括弧よさはいりません

28:デフォルトの名無しさん
08/04/06 02:29:15
むしろ括弧が少なすぎるぜ

29:デフォルトの名無しさん
08/04/06 02:52:11
(thread "Lisp Scheme" :part 21)


30:デフォルトの名無しさん
08/04/06 03:40:24
ディレクトリいじれたわ。
Gaucheは俺の既定スクリプト言語になりました。

31:デフォルトの名無しさん
08/04/06 05:04:45
文字列リテラルってダブルクオートで囲うんだっけ?

32:Lisp1.5
08/04/06 09:21:26
シンボルが文字列の代わりです

33:デフォルトの名無しさん
08/04/06 17:29:37
glintがバージョンアップされたようです

34:デフォルトの名無しさん
08/04/06 18:14:29
(explode 'SYMBOL)

35:デフォルトの名無しさん
08/04/06 18:57:57
>>32
internされてて欲しいとき(キーになるもの等)はシンボル
頻繁に作ったり壊したりするならストリング
極めて頻繁にコンペアするならシンボル

とりあえず、デフォルトはストリングだな

36:デフォルトの名無しさん
08/04/06 19:04:42
(glint '(Lisp Scheme Gauche)) ⇒ バグの数 21

37:デフォルトの名無しさん
08/04/06 21:05:54
ネタにマジレスっていうか、元ネタが微妙だったねw
Lisp1.5ってなあ。

38:デフォルトの名無しさん
08/04/07 12:05:35
>>34
=> (S Y M B O L)

39:デフォルトの名無しさん
08/04/07 19:00:23
EOPLとLisp in Small Pieceってどっちがやさしいですか?
簡単な方から挑戦してみようと思ってます。

40:デフォルトの名無しさん
08/04/07 21:27:55
lispのプロジェクトをいろいろ見てるけど、pythonと比べて
toy problem解いただけで実際の複雑な問題に適用できないの多くないですか?
ある程度泥臭いこともやる人がいないからなのかな

41:デフォルトの名無しさん
08/04/07 21:34:57
つ 実際の複雑な問題

kwsk

42:デフォルトの名無しさん
08/04/07 21:35:06
>>40
そのプロジェクトってどれよ?

#うちの社内プロジェクトだったらいろんな意味で笑う

43:デフォルトの名無しさん
08/04/07 21:35:33
そうですね、あなたにはPythonが向いてると思います。

44:デフォルトの名無しさん
08/04/07 22:15:10
pythonと実際の複雑な問題だけじゃどう吊られると喜んでくれるかわかんないYO!

45:デフォルトの名無しさん
08/04/07 22:21:15
>>40
URLリンク(www.unixuser.org)

46:デフォルトの名無しさん
08/04/07 22:36:06
>>40
そういうネタの露出度が高いだけでは?

47:デフォルトの名無しさん
08/04/07 22:44:19
すまんが教えてくれ
read関数って空白類記号(スペース、タブ、改行)は読み飛ばすのか?


48:デフォルトの名無しさん
08/04/07 22:47:09
うんそうだよ

49:デフォルトの名無しさん
08/04/07 23:50:45
>>48
アリガト

50:デフォルトの名無しさん
08/04/08 00:43:10
>>40
Pythonマシンとかつくってから出直してこい


51:デフォルトの名無しさん
08/04/08 00:51:40
まあせめてPmacsぐらい作ってほしいね。

52:デフォルトの名無しさん
08/04/08 07:40:06
>>51
Prologで書かれたpmacsなら昔使ってたなあ。
入社したら新人教育がLisp班とProlog班に分かれて、俺はProlog班だった。


53:デフォルトの名無しさん
08/04/08 09:37:55
そんな夢のような会社があるわけねえだろ!

54:デフォルトの名無しさん
08/04/08 10:03:54
>>53
AIバブル全盛期にはあったんだよね。
俺がやったPrologはFM-8上のCP/Mで動くmicro-PLOLOGという丸括弧で括るPrologだった。
pmacsを使ったのはそれとは別のワークステーションで、小型冷蔵庫ぐらいの筐体だったよ。

55:デフォルトの名無しさん
08/04/08 11:28:48
URLリンク(d.hatena.ne.jp)
swigよりも高度なことができるcffiのwrapper toolを試してみました
しかし少し複雑なc++コードを与えるとエラーをおこして止まります

基のc++コードを自動でwrapが生成できようにいじるべきか
それとも自動はあきらめて手書きした方がいいのでしょうか?

pythonなら自動でwrapを作成できるみたいなので
pythonを経由してlispから呼ぶという2度手間という手もできるのでしょうか?


56:デフォルトの名無しさん
08/04/08 12:27:56
ツールをいじるのは手書きを極めてから

57:デフォルトの名無しさん
08/04/08 13:01:22
>>52-54
ワロタw
今でもそんな会社があるなら入社してみたい

58:デフォルトの名無しさん
08/04/08 13:18:24
>>54
Micro-PROLOGですぜ、旦那。
"Programming in Logic"読んだ口ですか?

Lisp班の環境は? muLispとか?

59:デフォルトの名無しさん
08/04/08 16:57:05
>>53
昭和時代ならあり得る話

60:デフォルトの名無しさん
08/04/08 19:08:22
2001年宇宙の旅に出てくるHALってLispで書かれてるんでしょ?

61:デフォルトの名無しさん
08/04/08 19:25:21
そんな設定あったっけ?

62:デフォルトの名無しさん
08/04/08 19:33:22
ありません

63:デフォルトの名無しさん
08/04/08 19:49:41
>>58
> "Programming in Logic"読んだ口ですか?
はっきり覚えていないけど教材は手作りだったような。

> Lisp班の環境は? muLispとか?
名前は忘れたけど日立のプラズマ(赤色1色)Laptop(DOS 16bit)で動いている
マルチウインドウのLispだった。Common Lispだったかどうかは分からない。

あとこの会社にはXerox J-Starもあったよ。俺が入って1~2年で廃棄されたが。

64:デフォルトの名無しさん
08/04/08 19:56:27
>>63
muLISP/86 on MS-DOSの可能性大

65:デフォルトの名無しさん
08/04/08 19:57:08
そりゃファクスくらいあるだろw

66:デフォルトの名無しさん
08/04/08 22:53:36
雨の日も風の日も
息をするようにlambdaを書く。
そんな人にわたしはなりたい。


67:デフォルトの名無しさん
08/04/08 23:09:16
自分自身の定義を書き換える関数って書ける?
学習して賢くなる関数。

68:デフォルトの名無しさん
08/04/08 23:12:54
>>67
可能。

69:デフォルトの名無しさん
08/04/08 23:18:57
メモ化された関数は定義は変わらないけど一度計算した結果を覚えて高速化する。

70:デフォルトの名無しさん
08/04/08 23:29:22
関数で新たな関数を作ってevalとか?

71:デフォルトの名無しさん
08/04/08 23:31:24
「賢い」の定義はどんなものなの?

72:デフォルトの名無しさん
08/04/08 23:55:57
「かしこいランプ」(商品名)って
走行中 かつ 周辺が暗い ならば 点灯、という論理で動作してるな

73:デフォルトの名無しさん
08/04/09 00:14:07
>>67
できる。つーか、そんなのアセンブラでもできるだろ。w

74:デフォルトの名無しさん
08/04/09 00:16:14
まぁ自己書き換えコードはあまりお勧めしないがな

75:デフォルトの名無しさん
08/04/09 00:48:58
関数は普通に賢いので、データを賢くすることを考えてはどうか

76:デフォルトの名無しさん
08/04/09 10:30:54
>>67
Yコンビネータを使ったメモ化
URLリンク(citeseer.ist.psu.edu)

77:デフォルトの名無しさん
08/04/09 12:40:09
>>67
書き換えるのは簡単だが、賢くするのは難しい。w

78:デフォルトの名無しさん
08/04/09 14:32:38
Yは相互再帰を学習できますか?

79:67
08/04/09 18:04:46
昨夜は書きこんだ後に寝てしまったです。スマンです。

Schemeでdefineを使って定義した内容をリストとして取り出し、
書き換えて自分自身を再定義するってことを考えてました。

自らアルゴリズムを改良していくとかできたらおもしろいなぁって。

夢物語だけれども人造人間キカイダーのように思考し、反省し、学習するプログラム
があったらおもしろいだろうね。

80:デフォルトの名無しさん
08/04/09 18:14:27
AIか?

81:デフォルトの名無しさん
08/04/09 18:53:44
昔ネットに人工無能ってのがあったなあ。

82:デフォルトの名無しさん
08/04/09 19:43:42
>>81
今でもあるよ

83:デフォルトの名無しさん
08/04/09 19:48:48
あるんだワラ

84:デフォルトの名無しさん
08/04/09 19:50:58
>>82
うずらか~!



85:デフォルトの名無しさん
08/04/09 20:08:52
実は俺・・・

86:デフォルトの名無しさん
08/04/09 21:03:31
cffi使ってたのだけど
大きいプログラムを呼ぼうとする
glibc detected *** sbcl: malloc corruption
で止まる。何か対策ないのでしょうか?


87:デフォルトの名無しさん
08/04/09 21:05:43
大きいとはどのくらいか、
プログラムの大きさかデータの大きさか、
具体的にどのくらいより大きいと駄目なのか、
その辺をいろいろ実験してみると有意義であろう。

88:デフォルトの名無しさん
08/04/09 21:12:24
これをcffiで呼ぼうとしたら同じバグになる

#include <stdio.h> //ここが問題
int test(int i){
return 0;
}

89:88
08/04/09 21:25:19
allegro CLならこんなこと起きないのでしょうか?

90:デフォルトの名無しさん
08/04/09 21:28:53
>>89
それを聞く前に、普通は起きた処理系が何かを書くもんじゃないかい?

91:88
08/04/09 21:30:21
sbclです

92:デフォルトの名無しさん
08/04/09 21:36:53
>>88だけで駄目ってのはさすがに無かったと思うけどなあ。
#includeを抜くと大丈夫なんだよね?
OSは何?

93:デフォルトの名無しさん
08/04/09 21:49:26
>>79
defineで定義した関数をリストとして取り出すことはschemeでは(少なくとも規格内の方法では)出来ない。


94:88
08/04/09 23:36:13
OSはubuntu7.10です


95:デフォルトの名無しさん
08/04/10 00:30:35
>>60-62

【HAL-9000 series】

映画版では1992年1月12日、クラークによる小説版では1997年同日に、イリノイ大学アーバナ・シャンペーン校にて誕生した。
開発者はシバサブラマニアン・チャンドラセガランピライ、通称チャンドラ博士。

HALはIBMを1文字ずつ前にずらして命名された。
小説『2010年宇宙の旅』では、チャンドラー博士自らIBM説を否定した。
が、アーサー・C・クラークは後年になってからIBM社がこの説を迷惑がっているどころか半ば自慢しているらしいと聞き及び、
著書「3001年終局への旅」のあとがきで「今後はこの説の間違いを正す試みを放棄する」と記した。

スペースシャトルの機上コンピュータには、高い信頼性を確保するためにシャトル専用のプログラミング言語が用いられており、これを「HAL/S」という。
「HAL/S」を構築したIntermetrics社の創業者は、大学の同僚でこの言語のコンセプト構築に多大な貢献があった J. Halcombe Laning 博士に敬意を表し、
彼の通称 Hal に因んで HAL と命名した。

しかしこれがいかにもくどく不自然なことから、やはり「HAL/S」は「HAL 9000」に因んだものという憶測が浸透した。
ちなみにシャトルの三番機、OV-103の船名は「ディスカバリー号」となっており、『2001年宇宙の旅』との関連が噂された。
奇しくもスペースシャトル史上2度の大事故の後の初飛行はいずれもこの機体である。

96:デフォルトの名無しさん
08/04/10 00:41:51
IBM AP-101

The IBM AP-101 is an avionics computer, used most notably in the U.S. Space Shuttle, but also in the B-52 and F-15, among others.
When it was designed, it was a high-performance pipelined processor with core memory.
Today, its specifications are exceeded by many microprocessors.
The AP-101, being the top-of-the-line of the System/4 Pi range, shares its general architecture with the System/360 mainframes.
The shuttle software is written in HAL/S, a special-purpose high-level language, whereas AP-101s used by the US Air Force are mostly programmed in JOVIAL.

97:デフォルトの名無しさん
08/04/10 01:44:53
>67
遺伝的アルゴリズムを調べろ。
アクセス規制だから詳細は書けない。

98:デフォルトの名無しさん
08/04/10 01:50:06
遺伝的プログラミングだ。KOZAが最初にLISPを使って示した方法だ。

アクセス規制で携帯だから、他で調べろ

99:デフォルトの名無しさん
08/04/10 02:09:52
URLリンク(ja.wikipedia.org)
確かにLISP向きな感じがするね

100:デフォルトの名無しさん
08/04/10 02:40:03
>>78
Y そのままだとやりにくいんじゃないかな。
二関数での相互再帰なら
(Y2 f g) = (f (Y2 f g) (Y2 g f))
みたいに拡張するとか。

101:デフォルトの名無しさん
08/04/10 03:31:54
よし、この調子でまたAIバブルを発生させようぜ!
ぶくぶく

102:デフォルトの名無しさん
08/04/10 07:08:50
次はセマンティックバブルだ!
LispハッカーはXMLという妥協を受けいれ、
メインストリームに帰り咲くのだ

103:デフォルトの名無しさん
08/04/10 09:34:46
セマンティックバブルって
SOAPバブルと同じ運命って気がするんだけど

104:デフォルトの名無しさん
08/04/10 13:34:13
とりあえずソープで泡踊りしてきまつ

105:78
08/04/10 18:51:55
>>100
おもしろそうなので書いてみます。Arcで

106:デフォルトの名無しさん
08/04/10 21:35:57
iPod touchでGauche動かせた人いる?
ノシ

107:デフォルトの名無しさん
08/04/10 21:42:06
普通のUnixなので普通に動きますね。NDAがあるので詳しいことは書けませんが。w

108:デフォルトの名無しさん
08/04/10 21:51:32
>>107
Open Programming環境では動かなかったってこと?純正SDKでしか試してないならNDAあるから書けないかw

109:デフォルトの名無しさん
08/04/10 21:57:20
すまん、純正しかやってない。

110:デフォルトの名無しさん
08/04/10 23:22:07
>>109
㌧。参考になりました。
Zaurusポートもそうだけど、Open Programming環境では問題点が出ることが多いのに、純正では大丈夫だったのはちょっと驚き。

111:デフォルトの名無しさん
08/04/11 00:15:52
How to Design Programs
URLリンク(www.htdp.org)

たまげた。折角本を購入したのに、こっちのが充実してる。 orz

112:デフォルトの名無しさん
08/04/11 01:39:50
>>111
分厚いな 読む暇も気力もない

113:デフォルトの名無しさん
08/04/11 05:48:47
>65が放置されてるのはお約束?

114:デフォルトの名無しさん
08/04/11 23:05:11
Seasoned Schemer 18章、オレも解決!
URLリンク(codepad.org)

18章の出だしでリストが返ってくるような書き方が良くないと思う。
この二つを比べてみるとconsとkonsの違いがわかる。

(kdisplay (lots 5))
(display (lots 5))



115:デフォルトの名無しさん
08/04/11 23:33:05
もう少しきれいに書けYO!

(define kdisplay
(lambda (c)
(c (lambda (a d)
(cond
((null? a)(display ""))
(else (display "(")
(display a)
(k2display d)
(display ")")
(newline)))))))

(define k2display
(lambda (e)
(cond
((null? e)(display ""))
(else
(e (lambda (a2 d2)
(display " ")
(display a2)
(k2display d2)))))))

116:デフォルトの名無しさん
08/04/12 02:41:52
blogに投稿する処理を半自動化したいのですが
参考になるコードまたはパッケージなどないでしょうか?



117:デフォルトの名無しさん
08/04/12 05:42:17
XPなんですがDr.Schemeを放置しておくと勝手にメモリがんがん食ってフリーズします。

118:デフォルトの名無しさん
08/04/12 09:38:50
>>116
Common LispやSchemeのコードは知らないけど、
Emacs LispでAtomに対応してるのが二、三あったはず。
参考にするだけなら、PerlやPythonやRubyとかのが、
いくらでもありそうだけど。

ぶっちゃけ、処理自体は全然難しくないんで、
Atomとかのリファレンス見ながら自分で実装しても、
あまり苦労はしないと思う。自分でやろうとしたときは、
UI書くのが一番だるそうだと思った。

119:デフォルトの名無しさん
08/04/12 13:27:05
継続について

あっわかった!!
ん? こういう場合は。。。

これの繰り返し 

120:デフォルトの名無しさん
08/04/12 16:41:02
プログラミングGaucheの306ページのモジュールシステムですが
本のとおりに打ち込んで実行しても (addx 10) が110にならずに
11になってしまいます。本に誤記はありますか?

121:120
08/04/12 16:47:07
再度、Emacs立ち上げたらできました。
失礼しました。

122:デフォルトの名無しさん
08/04/12 20:14:44
>>116
xml-rpcがつかえるブログなら、gaucheのxml-rpcライブラリがある。サードパーティーだけど。

ぐぐればすぐ見つかる。

123:デフォルトの名無しさん
08/04/12 23:35:41
URLリンク(codepad.org)

SRFI-40のストリームが使えた。

124:デフォルトの名無しさん
08/04/12 23:47:53
URLリンク(d.hatena.ne.jp)

PLT Scheme用のモナドがあるらしい。使った人?
ノシ

125:デフォルトの名無しさん
08/04/13 00:39:49
なんだかわかんねーけど、Schemeってすごいんだな。

126:デフォルトの名無しさん
08/04/13 00:44:51
Ruby使いがSchemeを勉強して何か得るところはありますか?

127:デフォルトの名無しさん
08/04/13 00:51:22
Ruby厨の汚名を晴らせる

128:デフォルトの名無しさん
08/04/13 01:58:43
晴らせた時には既にただのLisperだけどな

129:デフォルトの名無しさん
08/04/13 02:00:25
λ..........

130:デフォルトの名無しさん
08/04/13 02:17:41
そりゃあ Brainfuck でも得るところはあるでしょう
失うものも多いかもしれないけど

131:デフォルトの名無しさん
08/04/13 02:23:00
何かSchemeの人は怖いと聞いていましたが、本当のようですね。
Rubyはクロージャも継続もスレッドも備えていますから、
Schemeはなんでも自作しないといけなくて大変そうに見えるのですが。

132:デフォルトの名無しさん
08/04/13 02:45:09
まさにRuby厨と呼ばれるにふさわしいな。

133:デフォルトの名無しさん
08/04/13 02:47:05
思い込みの激しい人というよりは、目の前で色々思い込んでみせて
引き留めて欲しい人、という感じだな。気持ち悪い。

134:デフォルトの名無しさん
08/04/13 02:56:09
構って君に構っちゃいけませんよ

135:デフォルトの名無しさん
08/04/13 07:35:33
.............................λ
````````````y

136:デフォルトの名無しさん
08/04/13 11:35:59
ArcとOzにヒントを得て、Orzって言語を考えたんだ。
仕様はまだ無いけど。

137:デフォルトの名無しさん
08/04/13 11:41:45
2ch発のマルチパラダイムLisp系言語orz
な?

138:デフォルトの名無しさん
08/04/13 11:55:35
SICPとHtDPはどっちが読みやすい?

139:デフォルトの名無しさん
08/04/13 12:20:12
どっちも読まなくていい
読まなくていいけど、ちょっとつまみ食いしてみようかな
というふいんきがベスト

140:デフォルトの名無しさん
08/04/13 12:25:27
````````````y <やあ、ラムダさん

.............................λ <やあ、Yコンビネータさん

141:デフォルトの名無しさん
08/04/13 13:21:36
>>138
比べるものが違うと思う。
[ {Simply Scheme or HtDP}読了後 ⇒ SICP ] or [Little Schemer ⇒ Seasoned Schemer]
でも最近は
[Little Schemer ⇒ Seasoned Schemer ⇒ SICP]
という読み方が多いかも。

142:デフォルトの名無しさん
08/04/13 13:23:29
λY

143:デフォルトの名無しさん
08/04/13 13:25:40
.............................λ ````````````y

144:デフォルトの名無しさん
08/04/13 13:27:00
.............................λ y ````````````おっとっと

145:デフォルトの名無しさん
08/04/13 13:48:06
「SICP完全制覇」とか出ないかな。

146:デフォルトの名無しさん
08/04/13 15:21:56
>>145
あるじゃん。Instructors Manualって解説用の本。

147:デフォルトの名無しさん
08/04/13 15:26:05
それ読んだらよくわかったの?

148:デフォルトの名無しさん
08/04/13 15:34:35
>>147
yes

149:デフォルトの名無しさん
08/04/13 15:52:36
>>148
アメリカの教科書って難しい内容だと生徒がデスマになるからか、HPがあったり副読本がついてたりするな。至れり尽くせり。
Gauche本のDesktop ReferenceとかInstructor's Manualも出て欲しいw

150:デフォルトの名無しさん
08/04/13 16:12:16
Structure and Interpretation of Classical Mechanics

SICMっていう古典力学のプログラミング本も出てるラスィ

151:デフォルトの名無しさん
08/04/13 16:17:25
これでしょ
URLリンク(www.amazon.co.jp)
さらに難しそうなんです><

152:デフォルトの名無しさん
08/04/13 16:19:58
ブックレヴュー見ていて思い出したんだけど、
Littleの9章で出てきた"partial function"のpartialって偏微分の偏だよね。
どこかで「引数を全て使わない関数のことだ」と書いてあったけど、
全て使っててもpartialだと言ってるし意味が通じない。

153:デフォルトの名無しさん
08/04/13 16:35:45
>>151
URLリンク(mitpress.mit.edu)

今売ってるのはコッチ。目に痛い赤の表紙w

154:デフォルトの名無しさん
08/04/13 16:37:23
同じ本ではないでしょうか><

155:デフォルトの名無しさん
08/04/13 16:40:06
>>152
完全な関数になっていないという意味でpartial(部分的な)と呼んでいる。
引数を使うかどうかは呼称に重要ではない。関数が計算を終了するかどうかでpartialと区別する。

156:デフォルトの名無しさん
08/04/13 16:41:41
>>155
ええ。それはわかりました。
永遠にリスト内を探し続けるが、見つけるべき文字列が見つからないとか、、
そんな例がありましたね。

157:デフォルトの名無しさん
08/04/13 16:42:57
>>154
>>151は526ページだけど、>>153は534ページある。中身は少し違う。

158:デフォルトの名無しさん
08/04/13 16:44:06
ISBNが同じなんです><

159:デフォルトの名無しさん
08/04/13 16:44:08
>>152
解説もあったよ
URLリンク(en.wikipedia.org)

Little Schemerは謎解き本だと思うので
いま九章読んでる人は読まないほうがいいかも

160:デフォルトの名無しさん
08/04/13 16:46:43
>>158
古いと灰色や金色の表紙のものがある。amazon.co.jpは古い表紙のpicを使いまわしてると思われ

161:デフォルトの名無しさん
08/04/13 16:48:15
>>160
実際は赤なんだけど灰色の画像使ってるだけかと思ってました。

162:デフォルトの名無しさん
08/04/13 16:51:26
ISBNが古いのと同じなのかぁ。出版社のHPで確認するのって大事だな。
amazon.co.jp見ただけじゃそんなことわからないYO!

163:デフォルトの名無しさん
08/04/13 16:56:34
SICMオンライン
URLリンク(mitpress.mit.edu)

164:デフォルトの名無しさん
08/04/13 16:57:04
>>159
そのページの対応する言語を見ると日本語がないw

165:デフォルトの名無しさん
08/04/13 17:00:19
SICM 持ってる。けど、自分はラグランジュアンがよくわかってないので
宝の持ち腐れだ。先に数学、勉強するよ。

166:デフォルトの名無しさん
08/04/13 17:00:30
和田訳のSICPがあれだけグダグダなのを考えるとSICMを翻訳できるとは思えんなw

167:デフォルトの名無しさん
08/04/13 17:07:18
>>164
これじゃ違うかな。
URLリンク(ja.wikipedia.org)

168:デフォルトの名無しさん
08/04/13 17:10:16
>>167
㌧。部分写像(partial mapping)がpartial functionに近い。

169:デフォルトの名無しさん
08/04/13 17:23:20
いいなあ、学生は暇があって

170:デフォルトの名無しさん
08/04/13 17:25:01
SICMのユーティリティープログラムのページ (Linux用)

URLリンク(www-swiss.ai.mit.edu)

171:デフォルトの名無しさん
08/04/13 17:26:16
学生じゃないし暇じゃないけど、ゴロゴロしてる。

172:デフォルトの名無しさん
08/04/13 17:27:32
>169

先週から仕事中の現実逃避に>163読み始めたよ
出来れば日本語訳が( ゚Д゚)ホスィ・・・

173:デフォルトの名無しさん
08/04/13 17:38:30
さーてそろそろLittle Schemer読んじゃわないと````````````y

174:デフォルトの名無しさん
08/04/13 17:42:20
8章くらいから難しくなって涙目

175:デフォルトの名無しさん
08/04/13 17:44:33
もれも8章涙目だったけど、何度も読み返して何とか理解した。
まだちょっともやもや残ってるけど、、、、

今9章だお。

176:デフォルトの名無しさん
08/04/13 17:45:57
>>138
HtDPより同じ著者のEOPLの方がいい。
Little Schemerシリーズもいいけど、SICPとEOPLは体系的な知識が得られる。

177:デフォルトの名無しさん
08/04/13 17:46:34
Simply Schemeは?

178:デフォルトの名無しさん
08/04/13 17:48:01
EOPLってナーヌ?

179:デフォルトの名無しさん
08/04/13 17:48:55
しばらく英語に触れてなかったので、Littleで一杯一杯なんだ。
Simply→SICPという意図で書かれているらしいけど、英語読めるか心配。

>>178
おそらくEssential Of Programing Languageかと。

180:デフォルトの名無しさん
08/04/13 17:53:22
Simply SchemeはLittle Schemerに近い内容をもっとページ数をかけて説明してる。
表計算プログラムを作る演習などのfinger practiceが充実してるけど理論的には浅い。
Haskellで言えばCraftみたいな内容。
HtDPも理論的なレベルは同程度。こっちはプログラミング作法にページを費やしている。

181:デフォルトの名無しさん
08/04/13 17:54:16
>>179

182:デフォルトの名無しさん
08/04/13 17:57:20
>>180
ありがとう。
退屈させないように色々やってみて、プログラミングに馴染んで来たら、
さてそこから深くするには何が困難か?と考えさせて
SICPにつなげる感じなんですかね。

183:デフォルトの名無しさん
08/04/13 18:04:13
>>182
そんな感じ。Littleの8章で困るのも演習でなれることが出来ないからじゃないかい?
SICPに取り組むには、他の言語経験があればLittleぐらい難しくても短期間に十分なレベルに達するけど、
全くの初心者には大量のfinger practiceで経験を積ませないと理論の良さが実感できないから壁を感じるんだと思う。

184:デフォルトの名無しさん
08/04/13 18:05:35
>>183
まさにそんな感じです。Simplyいっといたほうが良かったかな・・・・
プログラミングGaucheで代わりになります?

185:デフォルトの名無しさん
08/04/13 18:21:41
>>184
Gauche本もってるかな?リファレンス的でfinger practiceはあまりないよ。
SimplyはSICPの前に必要な知識をうまく選んで入れてると思う。
でも Little Schemer ⇒ Seasoned Schemer と読んで、ネット上の他人のプログラムを読むのも面白い。
楽しんで継続できるのが一番いい方法だと思う。

186:デフォルトの名無しさん
08/04/13 18:25:27
これ行った人、報告よろ

Continuation Fest 2008
URLリンク(logic.cs.tsukuba.ac.jp)


187:デフォルトの名無しさん
08/04/13 18:29:36
>>185
持ってないです。ネットの立ち読み版は眺めましたけど。
折角Little読み終わりそうだから続けてSeasoned読んじゃおう。
どうもありがとう。

188:デフォルトの名無しさん
08/04/13 18:44:45
>>186
おれも内容知りたいなぁ>>継続フェスタ。

189:デフォルトの名無しさん
08/04/13 19:02:27
>>187
Seasonedをしっかり理解するとSICPの山場といえる3・4章が簡単になるからガンガレ。
特に継続(callcc)がSICP3.5ストリームで利用されるのは面白い。
これがわかるとSICMの入門準備も完了。runge-kutta4(つまり微分方程式)とか出来るとシミュレーションの幅がちょっと広がるし。
ストリームで無限リストが作れるのも目からうろこの体験だった。
これ位はできないとHaskellerに馬鹿にされるしw

190:デフォルトの名無しさん
08/04/13 19:03:30
xyzzyの独自機能をcommon lispで読み代えるmacroみたいなのないでしょうか?

191:デフォルトの名無しさん
08/04/13 19:12:15
Little Schemerな連中は、はてなとかで、グループ作って
活動すれば良いんじゃないかと思った。

192:デフォルトの名無しさん
08/04/13 19:22:24
まああれだ
コンパイラといえばyacc
OSといえばブートローダー
SchemeといえばLittle Schemer

193:デフォルトの名無しさん
08/04/13 19:33:26
Little Schemer 何度でも読んでいいですか?

194:デフォルトの名無しさん
08/04/13 19:37:18
いいですよ

195:デフォルトの名無しさん
08/04/13 19:43:04
何度も読むと理解がさらに深まりますか?

196:デフォルトの名無しさん
08/04/13 19:44:33
少なくとも浅くなることは無いから安心して読め

197:デフォルトの名無しさん
08/04/13 19:50:30
じゃあ毎日音読する。

198:デフォルトの名無しさん
08/04/13 20:04:50
>>190
どういうものをイメージしてるのかよく分からないよ……

199:デフォルトの名無しさん
08/04/13 20:33:16
何と言ってもSICPだ。俺はあれを読んで人生が変わった気分だよ。

プログラマは皆SICP必須だな。あれを読めば、場当たり的なコーディングから
完全に開放されるよ。

200:デフォルトの名無しさん
08/04/13 20:34:24
読むなら、やっぱり英語版?

201:デフォルトの名無しさん
08/04/13 20:49:26
>>200
俺は英語版を読んだ。最初翻訳本買おうかと思ってAmazon見たらあのコメントの
群れを見て引いちゃったよw。「超循環評価機」とかのタイトル見ても???だったしね。

英語は教科書だからか、受験英語やってりゃ普通に読める英文だよ。ネイティブ風な
言い回しは一切無い。多少英語が読めるんだったら、タダでネットで見れるんだし、
原語でいいんじゃないか。

ちなみに俺はあまりの感動にハードカバーの洋書を買ってしまった。9000円ぐらい
したかな。ただ、持ち運びにはペーパーバックのほうがいいし、値段も半額以下なので
これについては激しく後悔しているw

202:デフォルトの名無しさん
08/04/13 21:06:57
昔のマグロウヒル日本語版から比べたら、現行日本語版なんて天国みたいなもんだよ。

203:デフォルトの名無しさん
08/04/13 21:10:17
別に悪い訳じゃないと思うけどなぁ。
超循環評価機をメタサーキュラ~とかカタカナで書かれたら死ぬ。

204:デフォルトの名無しさん
08/04/13 21:12:16
Amazonの書評は異常だね。攻撃的な人って居るんだなと感心する。

205:デフォルトの名無しさん
08/04/13 21:21:20
ニヤニヤ

206:デフォルトの名無しさん
08/04/13 22:46:13
>204
あれは読んでない奴の戯言だ
Amazonのあの手の書き込みは鵜呑みにしない事にしている

207:デフォルトの名無しさん
08/04/13 23:14:33
単語まで全て逐語訳にしないで
->計算機(computer)
みたいな感じで元の英単語も書けば良かったんだよな。

208:デフォルトの名無しさん
08/04/13 23:17:09
字幕の最初の方が出来上がったてるみたいだ。

209:デフォルトの名無しさん
08/04/13 23:28:31
>>207
英語版はLaTeXだけど、日本語版は組版でやってるからちょっとした修正が出来ない。
もとの単語を書くと文字数が増えるからページ数を抑えるためにポイント数を抑えざるを得ない。
でもそれは技術的に難しい。かといってページ数を増やすと\5,000以上になってしまう。
つまりピアソンがコストダウンできる技術力を持っていないことにもそういう工夫を出来ない原因がある。
かといってムリをすればマグロウヒルみたいに倒産して書物が入手できなくなってしまう。
良い本なら買い支えるというのも消費者の選択なんジャマイカ?

210:デフォルトの名無しさん
08/04/14 00:28:47
>>152
total functionは、全ての実引数に対して値が定義されている関数。
partial functoinは、値の定義されてない実引数のある関数。

具体例は、
(define (f x)
 (if (= x 1) 1
   (f (- x 1))))

定義域を自然数だとするとtotal function。
整数だとするとpartial function。
負の数の時に停らないあるいは値が未定義だから。

(define (f x) (/ 1 x))もxが0だと駄目だからpartial function。

211:デフォルトの名無しさん
08/04/14 01:22:42
それじゃ数学関数の定義で駄目。152はそこは判ってるようだ。これを関数型での関数の引数でイパーン的に説明汁

212:デフォルトの名無しさん
08/04/14 01:25:17
>>152
>>155が説明して>>156で納得して終了済。

213:デフォルトの名無しさん
08/04/14 01:44:48
>>210の方が合ってるぞ。
URLリンク(foldoc.org)

> 関数が計算を終了するかどうかでpartialと区別する。

これは間違い。例えばSMLのような例外のある計算系では、
関数の値が未定義の場合も停止する。Liftされているから。
表示的意味論の本を読めばちゃんと書いてあるよ。

214:デフォルトの名無しさん
08/04/14 01:56:14
Dを意味関数だとしたら、
∃x (x≠⊥ & D[f(x)] = ⊥) なら、fはpartial functionってことだよな。

215:デフォルトの名無しさん
08/04/14 02:03:05
>>214を見た漏れの脳にはテトリスが浮かんだ
とりあえず泣いてくる

216:デフォルトの名無しさん
08/04/14 02:03:58
>>215
ああ俺もギャル文字を思い出した。一緒に泣こうぜ。

217:152
08/04/14 02:08:46
>>210
なんかいろんな意見が飛んでますが、、ありがとう。

>>215-216
漏れもれも。

218:デフォルトの名無しさん
08/04/14 05:09:54
戸田山和久の「論理学を作る」はよかったな
大学に対しては良書を教えてくれた事に関しては感謝してる

219:デフォルトの名無しさん
08/04/14 06:46:38
そういう感じで「計算論 計算可能性とラムダ計算 著高橋 正子」とかが
self-containedで読めるようになる本教えてください。

220:デフォルトの名無しさん
08/04/14 12:54:26
他言語で書かれたプログラムのメタ制御したいのだけど
適切なbindingがない場合はxml-rpcが一番簡単なのかな?

221:デフォルトの名無しさん
08/04/14 13:30:46
いいえ

222:デフォルトの名無しさん
08/04/14 17:56:28
計算理論の基礎 シプサ
てのが気になってる。
アマゾンによると翻訳がすこぶる良いという。

223:デフォルトの名無しさん
08/04/14 19:17:52
>>218-222
スレチ。移動ヨロ。
スレリンク(tech板)

224:デフォルトの名無しさん
08/04/14 21:58:52
こっちじゃない?
スレリンク(informatics板)

225:デフォルトの名無しさん
08/04/14 22:23:08
すまんがちょっと教えてくれ。

Chiken Schemeは簡単に実行形式ファイルが作れるんかの?

226:デフォルトの名無しさん
08/04/14 22:29:51
Reasoned SchemerのPrologもどきって、本当に動くんだなw
URLリンク(codepad.org)

KANREN : a declarative logic programming system
URLリンク(kanren.sourceforge.net)

227:デフォルトの名無しさん
08/04/14 22:48:17
>>225
お前のことなんぞ知らんからお前にとって簡単かどうかはお前が判断しろ。
マニュアル通りやってみてできたならお前にも簡単にできるってことだ。
そうでなければ難しいんだろう。

228:デフォルトの名無しさん
08/04/14 22:52:39
KANRENって「関連」なのかな。
Oleg Kiselyovって日本と研究してるのか?
URLリンク(okmij.org)

229:デフォルトの名無しさん
08/04/14 23:26:02
Reasoned Schemer
1. Playthings
URLリンク(codepad.org)

230:デフォルトの名無しさん
08/04/15 01:58:12
HtDPの目次見たけど継続とかlet、letrecは出てこないんだね。Schemerシリーズのほうが
難しそうだ。

231:デフォルトの名無しさん
08/04/15 03:03:41
>>227
ふむ、chicken schemeっての初めて見てみたけど簡単に実行ファイルが作れるんだな。

232:デフォルトの名無しさん
08/04/15 06:20:53
>>207
そうそう、和田先生が翻訳メモとして技術用語の翻訳対照表をつけてくれれば、
読みやすかったのに。

233:デフォルトの名無しさん
08/04/15 11:15:30
schemeをC++プロジェクトに組み込みたいのですが、
組み込みやC++クラスのエクスポートが簡単にできる
ポータブルな処理系ってありますか?

234:デフォルトの名無しさん
08/04/15 12:10:18
libgaucheとCで書いてextern "C"ってすればいいんじゃね
俺もほとんど知らない。教えてほしい

235:デフォルトの名無しさん
08/04/15 14:27:24
Chickenはsyntax-caseが使えるんだけど
有理数がないのと多倍長数がないのが残念。
biglooもそうだったような気がするけど
Cにコンパイルする処理系はCの整数型、浮動小数型に縛られる物が多い。
Gambit-CはCコンパイルタイプには珍しく
多倍長数、有理数と正確数表現の複素数(これはGaucheにもない!)があるんだけど
SRFI周りが互換性の無い独自の実装なのが残念。
(たとえばSRFI-22の引数にスクリプトファイル名を含めない、文字列ポートを読み込むと空になる等)
>>233
組み込み系UnixライクOSでも動くとなればguileかScheme48でしょう。
Cでプログラムを書くのも容易だし
ソースに手を入れなくてもターゲットで動く。
但し前者は遅い上にR5RS準拠ではない。(R5RS手続きは網羅してるけど)
後者はR5RS準拠で完成度は高いけどやや重くてやや遅い。
処理系ソースに手を入れる事を厭わないのであればGaucheかGambit-C。
前者は軽くてそこそこ速い。後者はそこそこ軽くて(コンパイルすれば)かなり速い。
PLTScheme(MzScheme)がUnix系全般で動くようになれば最強っぽいんだけど
BoehmGCを移植しただけじゃ動かないのが×。
さらにコンパイルしなくても速いのにコンパイルしても(そんなに)速くならないのはご愛嬌。

236:デフォルトの名無しさん
08/04/15 15:16:12
>>235
>複素数(これはGaucheにもない!)

あるっしょ

237:デフォルトの名無しさん
08/04/15 15:18:45
正確数表現の複素数(これはGaucheにもない!)

238:デフォルトの名無しさん
08/04/15 15:52:35
> (exact? (sqrt -1024))
#t

これはいいsqrt

239:デフォルトの名無しさん
08/04/15 16:03:30
R5RS-6.2.3
sqrtのような潜在的に不正確な演算は、正確引数に適用されたとき、
可能ならばいつでも正確な答えを算出することが望ましい(が要求はされていない)。
なので処理系依存。

240:225
08/04/15 20:40:37
>227
参考になった。ありがとう。

241:デフォルトの名無しさん
08/04/15 23:24:29
>>225
Linuxだと簡単にバイナリ作れた。
winだとコンパイルも通らなかった orz
mingwin32嫌いだ!


242:デフォルトの名無しさん
08/04/15 23:35:56
>241
あれ、出来なかったっけ?
ちょっと今MinGW環境壊しちゃったので手元で確認できないけど

243:デフォルトの名無しさん
08/04/15 23:40:20
>>242
できたらgccのバージョンとかライブラリのバージョンさらしてください。

しょぼーん。

#共通環境はsbclが一番良いんじゃないかと思うようになっちゃったのでscheme嫌いになりそう


244:デフォルトの名無しさん
08/04/16 00:14:09
>>243
Makefile.mingwを使うとchicken-config.hの作成に失敗する。
そこだけ手作業でやったらあとは普通にmakeが走ってる。
今ビルド中。っていうか本家に最新版のWindowsバイナリ置いて無いな。

245:デフォルトの名無しさん
08/04/16 00:30:12
みんな苦労してでもWindowsdで使いたいんだな。
Windowsは偉大だな。


246:デフォルトの名無しさん
08/04/16 00:43:18
自分が使いたいというより、より広く使われるものを作りたい、そういうものを作る
ために使いたい、という動機が大きいのでは?
趣味にしても、仕事にしても。

247:デフォルトの名無しさん
08/04/16 00:53:25
>>228
URLリンク(scheme2006.cs.uchicago.edu)

KANRENって「関連」みたいだけど中国語。
Chung-chieh Shan(單中杰)というハーバード出身でラトガース大学のAssistant Prof.の人とやった仕事。

248:244
08/04/16 00:55:30
よくみたらMakefile.mingw-msysってのがあったな。
こっちでやれば一発でいけたのかも。
まぁ、gcc3.4.5で普通にコンパイルはできたよ。

249:242
08/04/16 02:07:59
>248
漏れもgcc4.3.0 & Makefile.mingw-msysでやってみたけど問題なさそう

250:デフォルトの名無しさん
08/04/16 02:18:42
>>246
処理系はとりあえずUNIX系の上でつくられて、
そういう尊い方々がWinに移植なさるのですね。
感動しました。
漏れはWinでないと使う気にならないから使ってるだけだが、
いつかそうなりたいね。

251:デフォルトの名無しさん
08/04/16 02:23:10
とりあえずUNIX上に作られるのはそのほうが楽だからだな。
WindowsのAPIってなんか例外事項が多くてごちゃごちゃしてる感じ。

252:231
08/04/16 03:00:47
>>248
俺はgcc3.4.2+msysでうまくいったみたい

253:デフォルトの名無しさん
08/04/16 12:42:00
>簡単に実行形式ファイルが作れる
という観点では
エンドユーザが自分でMinGWを入れるという前提はおかしい

普通の人はVisual C++とMzSchemeを使えばいい

254:デフォルトの名無しさん
08/04/16 13:28:11
>>253
「エンドユーザ」はMinGWを入れる必要は無いだろ

255:デフォルトの名無しさん
08/04/16 13:47:15
じゃあ「簡単に実行ファイルを作りたいWindowsユーザ」に訂正

256:デフォルトの名無しさん
08/04/16 13:54:12
簡単だけど話題としてはスレ違いだね。

257:デフォルトの名無しさん
08/04/16 15:26:31
簡単だから得意げに説明するのが恥ずかしい気がするけど、注意点を

・ソースファイルと同じ名前のモジュールで包む
 たとえば hello.scm なら
(module hello mzscheme
 (display "Hello, world!")
 (newline))
・--exeオプション
 たとえば mzc --exe hello hello.scm
・bccに対応していると書いてあるが無償版のbccでは失敗するみたい

258:デフォルトの名無しさん
08/04/16 19:15:29
>>235
とりあえず、いろいろ試してみました。

guile)
・GPLライセンス
・試してないがVCでコンパイルできなさそう

Scheme48)
・VCでもコンパイル可能
・ただ、実行の際に~.imageファイルが必要なのと、
 その作成にScheme48インストールディレクトリのフルパスが必要・・・
・(美学の問題だが)関数名がおかしいのと、コンパイル時に
 「○○関数は未定義です」「○○は初期化されていません」みたいな警告が普通に出てくる。

chiken)
・VCでもコンパイル可能のはず。自分には無理だった。
・(pcreを使っているので多分)正規表現がマルチバイトをサポートしていない。

Gauche)
・コアはVCでコンパイル可能だが、拡張ライブラリが全滅
・クラス登録機構がGNUのリンカの実装に依存している。VCだと拡張ライブラリを作ること自体が難しそう。
・基本的にposixべったり
・デフォルトで日本語が使える。ドキュメントも日本語

259:デフォルトの名無しさん
08/04/16 19:16:14
Gambit-C)
・VCでコンパイル可能
・自動生成されたソースが長すぎるため、IntelliSenseの更新に長大な時間がかかる。たまに開発環境自体が落ちる
・(サイズが)すごく大きいです・・・

総括)
こうやって並べてみると、日本語が使えるGaucheか、Gambit-Cが問題が少なさそうですね。
自分は多分、gaucheをstatic libraryで使うことにすると思います。
個人的にはluaのようにもっと手軽に組み込める処理系があると嬉しいのですが、文句ばっかり言ってもしょうがないですよね。
>>235さん、ライブラリの紹介どうもありがとうございました。

260:デフォルトの名無しさん
08/04/16 21:36:34
Windowsで動かしたいというのは判るが、VCでコンパイルしたいという理由がよくわらかん。
MinGWじゃ駄目なのかい。

261:デフォルトの名無しさん
08/04/16 21:42:41
IntelliSenseが使いたいのか
頭のとんがった上司がいるのか
その両方か

262:デフォルトの名無しさん
08/04/16 22:09:15
>>259
Gauche-win32-0.8.13.exeじゃだめなの?


263:デフォルトの名無しさん
08/04/16 22:16:20
exeがつくれないとプログラムをしている気にならないんじゃないかな?
Windowsしか知らなかったころはexeをつくれて一人前の開発環境というイメージだった。

264:デフォルトの名無しさん
08/04/16 22:21:32
>>263
自分で使うコードなら別にexeにする必要ないんだけど、ちょいと配布したりするのに実行環境必要とか言うと困るからじゃないの?

どんなプログラムだかしらないけど。


265:233
08/04/16 22:28:13
>>260
理由1、VCの便利な機能が使いたい
理由2、schemeという小さな言語がVCでコンパイルできない理由がわからない
仕様も小さいんだしVCでもコンパイルさせてくれよ・・・
というのが本音です。

>>261
> IntelliSenseが使いたいのか
どちらかというとこっちです。
でも後者の方が面白いので、できればこっちを強弁したいですねw

>>262
すみません、書いてませんでしたが自分は>>233です。
C++に組み込むので、別途インストールというのはちょっと考えられないのです。

266:デフォルトの名無しさん
08/04/16 22:33:41
>>260
MinGWはMSYSが要るのか要らないのかはっきりしてほしいw

267:デフォルトの名無しさん
08/04/16 22:39:02
POSIX べったりという表現が面白かった
確かに逆から見たらそう感じても不思議じゃないね

268:デフォルトの名無しさん
08/04/16 22:47:21
>>266
実行だけなら要らない。ランタイムのDLLさえも要らない場合が多い。
最近のVCはRuntime(もちろん自由に再配布できるが)を入れないといけないことが多い。
VCじゃなきゃ嫌んの人はMinGWをよく知らないだけではないかと思う。

269:デフォルトの名無しさん
08/04/16 22:51:25
Schemeは実はC及びC++(のスタックフレーム)とは相性が悪い。
ファーストクラスの継続があるため
関数からreturnする時に
単純にスタックフレームを開放できない。
また、末尾呼び出しの最適化は
C及びC++では行えない。
(だからSchemeの場合はバイトコードインタプリタの方が
効率が良かったりする。)
これらの理由により、ネイティヴコードをポータブルに吐く方法がない為
GCC用のソースは手を入れない限り他の処理系でコンパイルできない場合が多い。

270:デフォルトの名無しさん
08/04/16 22:58:01
>>265
> 理由2、schemeという小さな言語がVCでコンパイルできない理由がわからない
> 仕様も小さいんだしVCでもコンパイルさせてくれよ・・・
君がScheme処理系を書けば良いのでは?


271:デフォルトの名無しさん
08/04/16 23:43:31
ちなみにschemeは仕様がすっきりしているだけで、
実行環境はさほど小さくない。処理系もけっこう大きい。


272:デフォルトの名無しさん
08/04/17 00:18:53
書けねえよ

273:233
08/04/17 00:22:42
>>268
自分のプログラムでは外部ランタイムは無用です。
あと全く別の問題として、schemeのために開発環境を変えるということ自体がちょっと嫌なんです。

>>269
・ネイティブスタックを使わず、自前のスタックかメモリを確保すれば
 継続でもコルーチンでもポータブルに作れます(作れるはずです)
・バイトコードを採用すれば、処理系のコードは自然とポータブルになります
・ネイティブコードをポータブルに吐く方法なんて自分は一つも知りません

って、あまり面白くないツッコミですみません。
あと、schemeがポータブルに実装できないわけではですよ。
実際、明らかにwindowsのようなマイナーな環境(?)を無視した作りのgaucheでも、
コア部分はコンパイルできるわけですし。

>>270
今までは、あまり実用にならなそうなマイ言語を作っている人を、
内心バカにしたりもしていたのですが(すみません)
schemeでも他の言語でも、自作の処理系が一つあると意外なところで使えたりするのかもしれませんね。
scheme作るのも面白そうなので、時間があれば是非やってみたいです。

274:デフォルトの名無しさん
08/04/17 00:27:05
スキルないのが丸分かりの自己紹介ありがとう。

275:デフォルトの名無しさん
08/04/17 00:44:29
漏れも学生時代はMacではHyperCardを必要とするスタックは軟弱物。Pascal or Cで実行形式をつくるのがカコイイだと思っていたし、
Win32でもランタイムを必要とするVBを見下し、CをつかってもMSVCRTの依存すら排除しようとしていた経験のある俺には233の気持がわかる気がする。

276:デフォルトの名無しさん
08/04/17 01:44:38
ゲーム作るときはマシン語モニタをBASICで自作することから始める時代の話だな。
そんなMSXが許されるのは小学生までだよねー

277:デフォルトの名無しさん
08/04/17 01:49:42
>>273
GaucheはWindowsを無視はしてないよ。
多少なりともVC++を意識した変更が入っていたはず。

URLリンク(practical-scheme.net)

を参照するといいと思う。マンパワーが足りないから進捗が遅いだけで。

成果をフィードバックしてくれるなら、向こうにとっても渡りに船だろうし、
本気でやる気があるなら、WiLiKiに書き込んでみればいいんじゃない?
上手く協力できれば、双方にとって良い結果になると思うけど。

278:デフォルトの名無しさん
08/04/17 02:12:31
スキームの質問

今、手元にThe Little Schemerがあるんだけど
この本に書いてある例題は全部
Dr.schemeで実行できるの?

279:デフォルトの名無しさん
08/04/17 03:33:26
1行で全部の処理をするんでなくて、
まずcdrする
次にcarする、
最後にcdrする、
と3段階に分けて処理をしたいんだけど、
どうすればいいの?
BASICみたいに
a=(a,b,c)
みたいにリストを変数に代入して、
ってできるの?

280:デフォルトの名無しさん
08/04/17 04:21:40
(let* ((a '(a b c))
(a (cdr a))
(a (car a))
(a (cdr a)))
a)

281:デフォルトの名無しさん
08/04/17 04:27:41
(progn
(setq a '(a b c))
(setq a (cdr a))
(setq a (car a))
(setq a (cdr a))
)
Lispならこんなのでいいんでないの

282:デフォルトの名無しさん
08/04/17 06:53:06
CL全然知らないんだけど手続きぽく書きやすいのかな。

283:デフォルトの名無しさん
08/04/17 07:11:22
端っこに括弧がいるから慣れない人は書きにくいと思う。
Lisp脳が育つと括弧を空気のように感じるようになる。

284:デフォルトの名無しさん
08/04/17 07:41:53
いや、Schemeにくらべてってこと。

285:デフォルトの名無しさん
08/04/17 07:43:50
再帰じゃなくloop使うと手続き型っぽくなるよ。(カッコだらけだけど)

286:デフォルトの名無しさん
08/04/17 08:00:11
>>273
> あと全く別の問題として、schemeのために開発環境を変えるということ自体がちょっと嫌なんです。
いずれEmacs+Schemeに慣れればVisual Studioには戻りたくなくなる。
そうでなければそもそもSchemeには縁がない。

287:デフォルトの名無しさん
08/04/17 08:21:30
>>284
SICPやSchemerシリーズやっている人は、
schemeが手続き型っぽく書けないと思い込んでいる人が多い。
ただそれらのテキストが関数型っぽく書いているというだけなのに。
Common Lispとさほど変わらない。

288:デフォルトの名無しさん
08/04/17 08:57:25
>>287
本当?かなり違うと思ってた。

例外とかgotoとかを手続型と
さほどかわらないように書くにはどうするの?


289:デフォルトの名無しさん
08/04/17 09:32:52
手続き型っぽいのがgoto?

290:デフォルトの名無しさん
08/04/17 09:34:13
つ loopマクロ

291:デフォルトの名無しさん
08/04/17 09:43:41
つ 継続

292:デフォルトの名無しさん
08/04/17 10:06:59
; f(g(h(x)))
(apply (fcompose f g x) x)
みたいなものができる筈なんで>>279の処理も
(fcompose-and-apply cdr car cdr a)
みたいにできるfcompose-and-apply(仮)が書ける気がせんでもない



293:デフォルトの名無しさん
08/04/17 10:08:35
tagbody は?

294:デフォルトの名無しさん
08/04/17 10:13:13
emacs lispならconditon-case(try..catch)とかsignall, error(throw)とか
unwind-protect(finally)とかあるから殆んど手続き型と同じように書けるよ
R6RSにも似たようなものがあるはず

295:デフォルトの名無しさん
08/04/17 11:43:51
>>288
例外はr6rsに入ってただろ。手軽にやりたいなら継続呼べばいいし。
goto相当のジャンプも継続が使えるけど、
継続はラベルじゃなくてオブジェクトなので使い勝手をgotoみたいにしたいなら
自前でラップしなきゃ駄目かもな。

296:デフォルトの名無しさん
08/04/17 13:01:50
S式でいいならマクロでなんでもできる。CLならCインタープリタの実装まであるくらいだ。

297:デフォルトの名無しさん
08/04/17 14:51:41
Google Apps APIs をlispから使う方法ないのでしょうか?

298:デフォルトの名無しさん
08/04/17 17:02:27
>>297
使えよ

299:デフォルトの名無しさん
08/04/17 17:08:01
ないならnilを、あるなら使い方を返していただきたいのですが。

300:デフォルトの名無しさん
08/04/17 17:32:41
>>299
(values nil
"URLリンク(www.cliki.net)"
"Clikiにはズバリはないみたいだけど、
cl-ajaxとかでできるのかな。"
"よくわからない。")

301:デフォルトの名無しさん
08/04/17 21:12:46
>>247
㌧。miniKANRENは徐々に進化しているようでした。
leanTAP⇒KANREN⇒miniKANREN⇒alphaKANREN
URLリンク(www.cs.indiana.edu)
URLリンク(kanren.sourceforge.net)

ParentheCというパーサー(c⇒scheme)を見つけました。
パターンマッチはolegのものを流用してます。
URLリンク(www.cs.indiana.edu)
URLリンク(www.cs.indiana.edu)

Prologもどきと軽く思ってたけどReasoned Schemerって意外に深いのかな。
型推論のHindley-Milner type inferenceとかOCAMLみたいw

302:デフォルトの名無しさん
08/04/17 21:27:16
CPSによるパターンマッチのマクロ by Oleg Kiselyov.
URLリンク(www.cs.indiana.edu)

303:277
08/04/17 23:07:24
>>233の人ー、WiLiKiで、VC++の項目とか、
Windows向けインストーラの話とか、
色々更新されたから行っといでー。

釣りじゃないなら、話し合う絶好の機会だよー。

304:デフォルトの名無しさん
08/04/17 23:33:37
>>286
schemeの処理系を書く環境と
schemeを書く環境はちょっと違うと思うぞ。

305:デフォルトの名無しさん
08/04/17 23:35:06
>>304
SchemeでSchemeを書けばいいジャマイカ

306:デフォルトの名無しさん
08/04/17 23:42:20
いまおれいいこといった
と思ってるに違いない
空気読めない奴の発言は反吐が出る

307:デフォルトの名無しさん
08/04/17 23:49:17
>>306
何でそんな事でいきなりヒートアップするんだよ。

まあ、元の話題はC++にSchemeを組み込みたい、って話だったから、
>>286のレスが明後日の方向を向いてるとは、俺も思うけどさ。

308:デフォルトの名無しさん
08/04/18 00:21:32
>>307
きっと胃が悪いんだよ<反吐が出る

309:デフォルトの名無しさん
08/04/18 00:53:51
SchemeでSchemeの処理系を書いてParentheCでCにポートすればC++にSchemeを組み込めるな。
Cで書かれたTinySchemeをマージするほうが簡単かもしれないがw

310:デフォルトの名無しさん
08/04/18 00:59:13
SchemeでSchemeの処理系を書くならLisp in Small Piecesのサポートページに色々情報がある。
URLリンク(pagesperso-systeme.lip6.fr)

311:デフォルトの名無しさん
08/04/18 01:12:59
なんか知らんが1人イラついてる人が居るな。
本当に自分の方がレベルが高いなら、
別に同じレベルと思われても構わないという態度で
淡々としてれば良いのさ。

あるいはそんなものスルーして自分の興味のある別の、
レベルの高い話を振ればいいよ。

312:デフォルトの名無しさん
08/04/18 01:15:14
(eval (read))ですね、わかります

313:デフォルトの名無しさん
08/04/18 01:16:33
>>278
本の中に動かない例があるけどw
それ以外は全部動くよ。当然だけど。


DrSchemeのライブラリって面白いのが結構あるなぁ
URLリンク(planet.plt-scheme.org)

HtDPやEOPLだけじゃなくSICPやSimplyのためのpltがちゃんとある。
でもLittle用はない。なくても動くから。

314:sage
08/04/18 11:25:53
MOP レシピ集みたいなページはありませんか?

315:デフォルトの名無しさん
08/04/18 12:00:39
XML-MOPのコードはどうよ?

316:デフォルトの名無しさん
08/04/18 17:50:13
ソケット関係で挫折しそうなんだけど、苦労するといいことあるのかな
同じ内容のpythonのプログラムは動くこと確認したんだけど

317:デフォルトの名無しさん
08/04/18 18:04:18
仕事じゃないなら好きにすればいい。

318:デフォルトの名無しさん
08/04/18 18:36:08
>>316
pythonでやれば?

319:デフォルトの名無しさん
08/04/19 01:40:56
URLリンク(www.cs.indiana.edu)
ここのpmatchを、define-macroで書き直すとどうなるでしょうか。
syntax-rules内の'...'の展開のされ方がよく判らんのです。
1つのパターン内に'...'が複数使われているのがあって、
これは残りの同一のパターンにマッチするという事なんでしょうか。

例えばこの部分とか
((_ (rator rand ...) cs ...)
(let ((v (rator rand ...)))
(pmatch v cs ...)))


320:デフォルトの名無しさん
08/04/19 01:53:38
それぞれに(別々に)マッチするって感じだね。
これだから衛生的なマクロは嫌いなのだ。

321:デフォルトの名無しさん
08/04/19 01:54:12
質問が判りにくいですね。つまり上のrandの後の ...と、
csの後の ... の中身は違っててもいいのかどうか?
ってことです。
'...'はその文脈の残り((car . cdr)のcdr)という意味しかない
と考えてよいのでしょうか?

322:デフォルトの名無しさん
08/04/19 01:54:44
>>320
やはりそうですか。
だとするとまぎらわしいですね。

323:デフォルトの名無しさん
08/04/19 02:00:14
あと1つ確認したいのですが、>>319の意味を変えずに
((_ (rator rand . rest1) cs . rest2)
(let ((v (rator rand . rest1)))
(pmatch v cs . rest2)))
こういう風に書き直す事は可能でしょうか?
リストじゃないからできないとか昔どこかで見たような気がするのですが。


324:デフォルトの名無しさん
08/04/19 02:21:56
rand ... の部分は0個でもマッチする
rand . rest1 と書くと1個以上になるから意味が変わってしまう

325:デフォルトの名無しさん
08/04/19 02:30:39
そうだったんか…
キモイなそれ

326:デフォルトの名無しさん
08/04/19 02:53:15
>>324
つまり書き直すなら
((_ (rator . rand) . cs)
(let ((v (rator . rand)))
(pmatch v . cs)))
という事でしょうか?

327:デフォルトの名無しさん
08/04/19 03:00:02
そうだけど実際に使って確認するのが一番いいね

(define-syntax hoge
(syntax-rules ()
((_ x ...) (list x ... x ...))))
デフォルトで ,@ がついてるようなイメージ

(defmacro hoge (&rest x)
`(list ,@x ,@x))

328:デフォルトの名無しさん
08/04/19 03:15:54
((_ ((symbol value) ...) . body)
((lambda (symbol ...) . body) (+ value 1) ...))

とか、すごい展開をするんだよね、 ... って。

329:デフォルトの名無しさん
08/04/19 11:00:44
Commom LISPの方はSchemeのそういうコードを移植したい時
どうしてます?defmacroに変換するようなのないかな。

330:デフォルトの名無しさん
08/04/19 13:00:59
これですね
Scheme Macros for Common Lisp
URLリンク(www.ccs.neu.edu)

331:デフォルトの名無しさん
08/04/19 22:50:21
TinyScheme
URLリンク(tinyscheme.sourceforge.net)

TinyScheme Extensions
URLリンク(heras-gilsanz.com)

OOPS Tiny Scheme Extension
URLリンク(aladdin.sourceforge.net)

TinyScheme for Zaurus
URLリンク(www.alphageeksinc.com)

332:デフォルトの名無しさん
08/04/19 22:53:44
>>309
ParentheCってlambdaすら処理できないみたいだよ。
これでCにポートしろなんて詐欺もいいとこ。

333:デフォルトの名無しさん
08/04/19 23:29:28
使い方を理解しないで使うからジャマイカ?

334:デフォルトの名無しさん
08/04/19 23:56:39
トランスレータに使い方も糞もあるか

335:デフォルトの名無しさん
08/04/20 00:29:25
Scheme処理系は腐るほどある
ライブラリも (C/C++なら) たくさんある
後はそれを組み合わせることを考えよう

336:デフォルトの名無しさん
08/04/20 00:34:22
コイツ>>334、なんでこう喧嘩腰なんだろな。氏ね。


337:デフォルトの名無しさん
08/04/20 00:36:49
糞チョンとシナチク氏ね。

338:デフォルトの名無しさん
08/04/20 01:09:37
ジャマイカ発言の後は荒れるんだよ。

339:デフォルトの名無しさん
08/04/20 01:32:46
とりあえず>>334はいっぺん氏ね

340:デフォルトの名無しさん
08/04/20 03:36:46
>>333
あれって使い方でどうにかなるもんなの?

341:デフォルトの名無しさん
08/04/20 09:17:16
DRAKMAがubuntu 7.10 sbclのasdf-installでこけて止まる

342:デフォルトの名無しさん
08/04/20 12:11:37
>>341
SBCL 1.0.16
DRAKMA 0.11.5
ubuntu 7.10
で今試したけど大丈夫だった。

343:デフォルトの名無しさん
08/04/20 18:55:28
psyntaxがGaucheでも使えるって書いてあるけど、使い方わかんねー。
と思ってたら一発で使えるように同梱されたビルドがあった。
URLリンク(saito.s4.xrea.com)
psyntax.exeってのがそうみたい。
exeにするのってどうやったんだろ?

344:デフォルトの名無しさん
08/04/20 20:35:00
どうでもいい

345:デフォルトの名無しさん
08/04/20 20:42:29
またexe厨か…

346:デフォルトの名無しさん
08/04/20 21:38:38
schemeでなくてlispでexe作ったら?
newlispなんかだと簡単だよ
SBClやCormanLispなんてのもあるけど

347:デフォルトの名無しさん
08/04/20 22:05:06
別に言語まで変える必要もないと思うけど。
処理系のソースがあるんならschemeのソースを埋め込んで
スタートアップで呼び出すようにすれば完成でしょ。
VMで動くようなのはコンパイル後のやつ入れとく。
これだからオプソって意味ないんだよな。

348:デフォルトの名無しさん
08/04/20 22:10:07
>>343
Gaucheのtarball落としたら中にgencompってのがある。
それでVM用コードにして適当なmainだけ書いてgccでコンパイル。

349:デフォルトの名無しさん
08/04/20 22:24:02
「プログラミングGauche」でSchemeデビューしようとしていきなりつまずいてます。
(define 'a #f)
(set! a 1)
(display a)

これは

gosh> quote
gosh> 1
gosh> 1#<undef>

となって動くんですが

(define 'line #f)
(set! line "foo\n")
(display line)

と変えるとエラーになります。

gosh> quote
gosh> *** ERROR: symbol not defined: #<id 0x80eb100 user::line>
Stack Trace:
_______________________________________
gosh> *** ERROR: unbound variable: line
Stack Trace:
_______________________________________

どこが間違ってるんでしょうか?


350:デフォルトの名無しさん
08/04/20 22:32:39
ワロタ
(define 'a
(define 'line
ここが間違ってる。それぞれ
(define a
(define line
が意図するものだと思う。

(define 'a

(define quote (lambda(a)~
と解釈される。

351:デフォルトの名無しさん
08/04/20 22:38:57
>>350
多分 *scheme* バッファの中で一度 (define a なんとか) を
実行してたから、a が定義されていたんですね。
*scheme* バッファを再起動してたら両方とも動かなくなって
気付いたと思うのですが。

ありがとうございました。


352:デフォルトの名無しさん
08/04/20 22:46:14
こういう記述間違いは処理系作者からは斜め上で予測不可能なんだよな。
quoteを再定義したいなんて思わんし、エラーにすべきか。

353:デフォルトの名無しさん
08/04/20 23:51:39
Gauche scheme interpreter, version 0.8.3 [utf-8,pthreads]
という環境で、
#!/usr/bin/gosh
(define (main args)
  (while (not (eof-object? (set! line (read-line))))
  (print line))
  0)
というスクリプトを書いて euc-jp なテキストファイルを読み込ませたら
~$ gosh test.scm <text.txt
*** READ-ERROR: Read error at "(stdin)":line 2: read-line: encountered illegal byte sequence: #*"\xc1\xcf\xc0\xa4\xb5\xad\t1\t1\t"
Stack Trace:
_______________________________________
  0 (read-line)
  At line 3 of "./test.scm"
  1 (letrec ((do (lambda () (if (not (not (eof-object? (set! line (rea ...
  [unknown location]
というエラーになりました。
euc-jpなままで読んでeuc-jpのまま書き出すにはどうすればいいのでしょうか?

354:デフォルトの名無しさん
08/04/21 00:20:03
>>353 gauche.charconv

355:デフォルトの名無しさん
08/04/21 00:46:50
こうなりました。with-ports を使おうとしたら、
*** ERROR: unbound variable: with-ports
となりました。何故?

#!/usr/bin/gosh
(use gauche.charconv)

(define raw-in (current-input-port))
(define raw-out (current-output-port))
(define in (wrap-with-input-conversion raw-in "eucjp"))
(define out (wrap-with-output-conversion raw-out "eucjp"))

(define line #f)

(define (main args)
  (while (not (eof-object? (set! line (read-line in))))
  (display (string-append line "\n") out))
  0)


356:デフォルトの名無しさん
08/04/21 03:59:58
何故?とか言う前にフォルダ内検索しろよ

357:デフォルトの名無しさん
08/04/21 05:06:07
slimeで対応する() に自動で色がつかなくなることがあるのだけど
どうすればもどるの?
他に開いてるlispのバッファーを全部kill bufferすれば直るけど
buff殺さないで直したい

358:デフォルトの名無しさん
08/04/21 05:38:24
>>357
どういう環境だとそうなるの?
漏れはそんな現象に遭遇したことない。
show-paren-modeがなんらかのタイミングでoffになったとか?

359:デフォルトの名無しさん
08/04/21 06:30:08
C-c C-p
を何度もしてるといつのまにかなる

360:デフォルトの名無しさん
08/04/21 08:21:48
>>356のヒントをもとに検索してみた。
/usr/share/gauche/0.8.3/lib$ find . -type f | xargs grep with-ports
/usr/share/gauche/0.8.3/lib$
なにもみつからなかった。


361:デフォルトの名無しさん
08/04/21 13:05:06
lispの場合、どのぐらいの大きさのprogramになったらファイルを分けるの?


362:デフォルトの名無しさん
08/04/21 14:45:07
大きさを基準にしては分けない

363:デフォルトの名無しさん
08/04/21 16:52:39
>>361
package毎に分割しない?

364:デフォルトの名無しさん
08/04/21 19:36:23
日本語の正規表現処理はできないと思っていいのでしょうか?
sbclなのですがどの日本語コードを使うのがお勧めなのでしょうか?

365:デフォルトの名無しさん
08/04/21 20:48:56
cp932と言ってみるテスト

366:デフォルトの名無しさん
08/04/21 21:02:05
Schemeのオブジェクト指向

BOS (Bryan's Object System)
MEROON ・・・Christian Queinnecによる。情報があまり無いけど有限要素法とかつかえるらしい。runge-kutta-4にあきたらやってみる。
SCOOPS (Scheme Object Oriented Programming System)
Tiny CLOS ・・・なんとたったの850行!"The Art of the Metaobject Protocol"に出てくるsimple CLOSよりコンパクトな学習用。
YASOS (Yet Another Scheme Object System)

367:デフォルトの名無しさん
08/04/21 21:16:55
>>364
UTF-8で普通に使える処理系が多い(または増える)と思う

368:デフォルトの名無しさん
08/04/21 21:26:01
>>367
BOMあり?8Nでおk?

369:デフォルトの名無しさん
08/04/21 21:29:06
処理系によるんじゃね?

370:デフォルトの名無しさん
08/04/21 21:49:45
>>355
with-portsは組み込み手続きだから見つからないって変だな。
プラットフォームは何? インストールはどうやった?


371:デフォルトの名無しさん
08/04/21 22:38:45
一方exe厨はバイナリを配った

372:355
08/04/21 22:53:03
>>370
Debian sarge(3.1)で、aptitudeからインストールしました。
Gaucheのバージョン(0.8.3)が古過ぎるんでしょうか。

~$ aptitude show gauche
パッケージ: gauche
ステータス: インストール済み
自動的にインストールされる: no
バージョン: 0.8.3-3
優先度: 任意
分類: interpreters
保守担当者: Hatta Shuzo <hattas@debian.org>
展開サイズ: 4096k
依存: libc6 (>= 2.3.2.ds1-4)
提案: slib
推奨: r5rs-doc, gauche-doc
詳細: A Scheme implementation designed for script writing
Gauche is a Scheme implementation developed to be a handy script interpreter, which
allows programmers and system administrators to write small to large scripts for their
daily chores. Quick startup, built-in system interface, native multilingual support are
some of the author's goals.
~$ gosh -V
Gauche scheme interpreter, version 0.8.3 [utf-8,pthreads]
~$ gosh -i
gosh> with-input-from-port
#<subr with-input-from-port>
gosh> with-ports
*** ERROR: unbound variable: with-ports
Stack Trace:
_______________________________________



373:デフォルトの名無しさん
08/04/22 00:09:50
Gaucheスレ別に立てて関係者がサポート汁。

374:デフォルトの名無しさん
08/04/22 00:28:56
0.8.13のtypoかと思ってたらほんとに0.8.3か。古すぎるだけだと思う。

>>373 ごもっとも。WiLiKiの初心者の質問箱とかの方がふさわしい。


375:デフォルトの名無しさん
08/04/22 01:22:53
よくあるまとめwikiサイトみたいなの作れば良いのに。

376:デフォルトの名無しさん
08/04/22 01:25:54
Schemeのループの構文がわからないので教えてください。
下に書いたコードのbreakがうまく動かないのですがどう書いたら正しいのでしょうか?
大元はRnRSに載っているrunge-kutta-4の計算で、元々は無限ループです。

(letrec (
(n 100)
(ls '())
(loop (lambda (s)
(if (not (= n 0))
((set! n (- n 1))
(newline)
(write (head s))
(loop (tail s))))
(break the-states))))
(loop the-states))

377:デフォルトの名無しさん
08/04/22 01:45:25
((set!
こんな使い方はない
(break
breakはどこにも定義されてない

378:デフォルトの名無しさん
08/04/22 03:11:42
そのbreakはどこを参考にして持ち出してきたの?

379:364
08/04/22 10:06:06
CL-PPCREで日本語を含むパターンを見つけたかった

( scan [ホゲ(プログラム中に直接書いた日本語)]+   , ホゲ(ファイルから読み込んだ日本語) )

同じ ホゲ という単語が入ってるのに認識しなかった

380:364
08/04/22 10:10:58
(print ホゲ(ファイルから読み込んだ日本語))

をslimeでC-C C-P すると動くが C-C C-Cすると動かない(sbcl)

sbcl --load nihongo.lisp
でも動かない


381:デフォルトの名無しさん
08/04/22 10:28:40
>>379
sbclはエンコーディング設定が良くわからないけど、
CLispではCL-PPCREで日本語が問題なく使えた。

382:デフォルトの名無しさん
08/04/22 14:23:17
最近, あちこち SICP だらけなのは SICP の邦訳だ出たせい?
こんなん有り難がって読むくらいだったら, ファイン万物理学読めよorz


383:デフォルトの名無しさん
08/04/22 14:36:12
最近?

384:デフォルトの名無しさん
08/04/22 14:42:04
両方読めばいいじゃん。

385:デフォルトの名無しさん
08/04/22 14:44:21
>>380
ファイルのエンコーディングもsbclの設定もどうなっているか分からないけど、
漏れの手元のutf-8に対応している処理系なら軒並みできている。
設定は各処理系のマニュアルを参照するのが一番確実。

386:デフォルトの名無しさん
08/04/22 16:13:01
Expected class definition, found ( which may not be written here
ってどういうエラー?

387:デフォルトの名無しさん
08/04/22 16:14:33
>>386
エラー原因書いてあるじゃん。


388:デフォルトの名無しさん
08/04/22 16:17:25
教科書もなくはじめて実行してるのでわからないのです。
どっかのサイトからコピペしたらこういうエラーが

389:デフォルトの名無しさん
08/04/22 16:19:56
何の処理系とかどういうコードかとかどのサイトからとかを書かないのは何故?

390:デフォルトの名無しさん
08/04/22 16:24:40
例えばこういうのだったら
(define my-abs
(lambda (x)
(cond ((< x 0) (-x))
((= x 0) 0)
(else x))))

一番前の(にマーカがついててエラーメッセージがでます
どのプログラムはってもこういうメッセージがでるんですけど

391:デフォルトの名無しさん
08/04/22 18:00:25
>>390
君の場合は、もう少し他人とのコミュニケーションの取り方から
勉強した方が良いよ。


392:デフォルトの名無しさん
08/04/22 18:00:35
>>389
人の善意を当てにしてるんじゃない?
なんかそういう質問の仕方増えてきたよね。
ここ親切だからなー。

393:デフォルトの名無しさん
08/04/22 18:06:07
>>386
それただの英語だと思って読んでみな。

394:デフォルトの名無しさん
08/04/22 18:32:46
>>376-378
Schemeでbreakを使ってる例:
URLリンク(www.geocities.co.jp)
URLリンク(www.cs.grinnell.edu)
URLリンク(merd.sourceforge.net)

(letrec (
(n 100)
(loop (lambda (s)
(if (not (= n 0))
(begin (set! n (- n 1))
(newline)
(write (head s))
(loop (tail s)))))))
(loop the-states))

これで動くでしょう。breakいらないよ。

395:デフォルトの名無しさん
08/04/22 18:43:09
>>376-378

URLリンク(practical-scheme.net)

SRFI-1にもbreakは入っている。

396:デフォルトの名無しさん
08/04/22 18:44:59
でも、Schemeでbreakなんて使わないよなJK。www

397:デフォルトの名無しさん
08/04/22 18:45:02
まあ、紛らわしいよなw

398:デフォルトの名無しさん
08/04/22 20:28:16
runge-kutta-4を実際に走らせた。

URLリンク(codepad.org)

399:デフォルトの名無しさん
08/04/22 22:10:25
>>382
Feynman Lectures on Computationも読んだけどけど何か?
SICPにはrunge-kuttaが載ってるけどFeynmanには載ってない。
Feynman厨ウザ

400:デフォルトの名無しさん
08/04/22 22:45:12
「Lisp文化にはLisp 1.5 → MacLisp → CommonLisp の『MIT系Lisp文化』・・・」という文書に出会った。
ほかの系統にはどんなのがあるのでしょうか?GNU系とかかな?w


401:デフォルトの名無しさん
08/04/22 22:51:50
それと対比するならInterlispで代表されるXerox系Lisp文化じゃね?
GNUとか出てくるよりずっと前の話だよ

402:デフォルトの名無しさん
08/04/22 22:56:39
>>400
文化じゃなくて処理系のダイアグラムならあるよ
URLリンク(www.softwarepreservation.org)
URLリンク(www.dreamsongs.com)

文化って意味だと PARC が別系統の最有力なのかな?
良く知らんけど。

403:デフォルトの名無しさん
08/04/22 23:27:15
Lisp 1.5 Programmers Manual
URLリンク(www.softwarepreservation.org)

404:デフォルトの名無しさん
08/04/23 02:43:06
GNUなんてただのパクリ集団じゃん

405:デフォルトの名無しさん
08/04/23 02:46:52
よくわからないなら書かないほうがいいよ

406:デフォルトの名無しさん
08/04/23 03:22:16
いや、本質をよくとらえている。

407:デフォルトの名無しさん
08/04/23 03:24:13
自画自賛乙

408:デフォルトの名無しさん
08/04/23 03:45:33
GNUを擁護したがるのは都合の良い解釈ばっかり見てる
最近知ったやつだけだろ

409:デフォルトの名無しさん
08/04/23 04:06:16
どうしてもGNUが叩きたいという奴以外にとってはどうでもいいだろ。

410:デフォルトの名無しさん
08/04/23 04:14:24
まぁ、GNU知りたての学生さんは
「GNUを叩いてる俺って、なんてわかってる奴なんだろう♪」
ってなもんだわな。

411:デフォルトの名無しさん
08/04/23 05:21:09
>>408
都合の良い解釈もなにも、GNUのポリシーは単純だし、
嫌ならGNUのソフトは使うべきじゃないってくらい単純な話だと思うんだよね。
スレ違だから、他んとこ行って欲しいんだけどw

412:デフォルトの名無しさん
08/04/23 05:25:58
なあ、既成の言語の機能をlispやschemeで
実装してしまうスレ立てないか?

413:デフォルトの名無しさん
08/04/23 06:30:06
>>412
lisp発祥でない機能で、面白いのってどういう機能があるんだろうね。
昔にlispでやってたら駄目なわけだよね?

414:デフォルトの名無しさん
08/04/23 07:27:59
なんで?
多分スレの目的は既成の言語を馬鹿にして諭す事だから
lisp視点で面白いのかは判らないけど

415:デフォルトの名無しさん
08/04/23 08:00:15
>>412
こういうのか?
(define alias define)


416:デフォルトの名無しさん
08/04/23 08:03:33
>>414
なんで、って言われても、そうなの? >413
まあ、なんらかの確信があるんだろうなwww


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