- 1 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 10:15:31 ]
- ※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※
■過去スレ Part26: ttp://pc12.2ch.net/test/read.cgi/tech/1240567959/ Part25: ttp://pc12.2ch.net/test/read.cgi/tech/1231856193/ Part24: ttp://pc11.2ch.net/test/read.cgi/tech/1224939205/ Part23: ttp://pc11.2ch.net/test/read.cgi/tech/1215875388/ Part22: ttp://pc11.2ch.net/test/read.cgi/tech/1211381920/ Part21: ttp://pc11.2ch.net/test/read.cgi/tech/1207300697/ Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/ Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/ Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/ Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/ Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/ Part15: ttp://pc11.2ch.net/test/read.cgi/tech/1151025773/ Part14: ttp://pc11.2ch.net/test/read.cgi/tech/1132275726/ Part13: ttp://pc11.2ch.net/test/read.cgi/tech/1115901841/ Part12: ttp://pc11.2ch.net/test/read.cgi/tech/1100229366/ Part11: ttp://pc11.2ch.net/test/read.cgi/tech/1091456033/ Part10: ttp://pc11.2ch.net/test/read.cgi/tech/1075630259/ Part09: ttp://pc11.2ch.net/test/read.cgi/tech/1069594582/ Part08: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part07: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part06: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part05: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part04: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html Part03: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html Part02: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html Part01: ttp://piza2.2ch.net/tech/kako/987/987169286.html ■テンプレート置き場 ttp://wiki.fdiary.net/lisp/ (id:guest pass:cl)
- 161 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:13:51 ]
- さらに進んでSKIで十分と言えるようになれば一人前
- 162 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:18:28 ]
- >>152
Guileはそういうとここだわってますよね > (define (hoge) (begin (display 'function) (newline))) > (define (foo) (hoge)) > (foo) function > (define-macro (hoge) '(begin (display 'macro) (newline))) > (foo) macro 親処理系のSCMで動かないこのコードがGuileで動くってことはわざわざ追加された仕様なんでしょうね
- 163 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:26:59 ]
- それはただの処理系依存の話
gaucheの最適化レベルが低いってだけ
- 164 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:31:06 ]
- Guileです
- 165 名前:160 mailto:sage [2009/08/04(火) 20:37:43 ]
- >>161
SKIってSKIコンビネータなんちゃらってやつ? とにかく読み漁ってみるわ。 まじで情報サンクス。 やっと計算云々のコアにたどり着けるような気がする... 今まで童貞で良かったわ。きっとセックスより気持ち良いに違いない。
- 166 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:49:07 ]
- >>165
全然違うものですがPostScriptとSECD仮想機械も面白いものですよ。 PostScriptにはつい最近興味を持ち始めたのですが Forthよりコッチ側(関数的プログラミングとか)に近くて 末尾呼び出しの最適化もされるし驚きでした。 (ループが再帰で書ける!) SECD仮想機械はS式ベースの仮想機械で これをベースにしたScheme処理系もあるみたいです。
- 167 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:54:13 ]
- センスのあるやつはコードを書く
センスの無いバカは理論をやる それが計算機の世界
- 168 名前:デフォルトの名無しさん [2009/08/04(火) 21:05:47 ]
- いまはなきLispMe
- 169 名前:デフォルトの名無しさん [2009/08/04(火) 21:12:14 ]
- >>167
○ センスの無いバカは理論「だけ」をやる
- 170 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 21:31:27 ]
- 理論をまったく知らないでコードを書くのは例外なく馬鹿
- 171 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 22:27:40 ]
- >>166
かなり面白そう。 PostScriptは名前だけ知ってたんですが、初めて見ました。 というか、S式 -> ps とかすごく簡単に書けそうでプロッターとしていけますね。 SECD仮想機械は機械的(物理的?)な観点から見れそうなので、今までlisp系を観念的にしか見てなかった自分としては、今までとは対極の見方が出来そうです。 情報サンクスです。
- 172 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 22:58:28 ]
- >>171
PostScript で Lisp 書いたり PostScript で書いた Lisp で Lisp を書いた人もいる。 blog.bugyo.tk/lyrical/2008/01/-o-lisppostscriptlisp.html
- 173 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 23:04:20 ]
- 素直にCをベースにしたscheme処理系を見ればいいのに
据え膳食わぬは男の恥
- 174 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 02:09:50 ]
- すいません、下のスレの
pc12.2ch.net/test/read.cgi/tech/1233143342/ (((() #0="a" #0# #0#) (#1="b" (#1# (#1#) . #2="c") . #2#) . #2#)) この#0#とかの表記がよく判りません。 自己参照してるっぽいのは判るんですが、 どこかに読み方の説明ないですかね。 #0=と#0#は違うのかな?
- 175 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 02:22:09 ]
- >>174
読み方の説明ならこれか www.lispworks.com/documentation/HyperSpec/Body/02_dho.htm www.lispworks.com/documentation/HyperSpec/Body/02_dhp.htm これ srfi.schemers.org/srfi-38/srfi-38.html
- 176 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 02:53:47 ]
- >>174は文字列に対して適用してますが、↓と意味は違うんですかね?
(((() "a" "a" "a") ("b" ("b" ("b") . "c") . "c") . "c")) それぞれの文字列がeq?にならないからってことかな?
- 177 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 08:32:15 ]
- >>176
そのとおり。 共有構造を明記できる記法。 見づらいなら write で出力すればよい。
- 178 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:02:29 ]
- LispでLisp処理系が書けるってのはCでCコンパイラが書けるってのとは
違う不思議さがある。ほら吹き男爵のブートストラップの話みたいな。
- 179 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:17:33 ]
- Lispの便利機能(GCとかレキサとかデータ構造とか)の実装抜きで作れるからな
- 180 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:22:00 ]
- マクロをうまく使って作ると面倒なことを一切せずに元のLispと同等の速度で動く
- 181 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:25:56 ]
- >>178
www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/ref96.html
- 182 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 22:15:32 ]
- >>181
>>178の言ってるのはGCとかの泥臭いところを除外してるって意味だと思われ
- 183 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 22:16:44 ]
- しまった、2時間も遅れてかぶってる、撃つ出し脳
- 184 名前:ひげぽん ◆Ngzcp/NZpA mailto:sage [2009/08/08(土) 00:04:50 ]
- Mosh 0.2.0 をリリースしました。
mosh-scheme.googlecode.com/files/mosh-0.2.0.tar.gz mosh-scheme.googlecode.com/files/mosh-0.2.0-setup-win32.exe Mosh は R6RS に準拠した Scheme インタプリタです。 0.2.0 では並列ライブラリなどが追加されています。 リリースの詳細は d.hatena.ne.jp/higepon/20090807/1249655156 をご参照ください。 もし良かったら使ってみてください。
- 185 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:13:03 ]
- おっおっ!
- 186 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:27:14 ]
- >>184
おぉ! ご苦労様です。
- 187 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:41:24 ]
- キター
- 188 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:44:34 ]
- 〜準拠とか、きちんとやろうとする人はすごいなあ
- 189 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:59:08 ]
- moshってシェルとして使えたりするん?
- 190 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:03:36 ]
- >>184
Windows2000でインストーラ使って即実行したら 「mosh.exe - エントリ ポイントが見つかりません プロシージャ エントリ ポイント freeaddrinfo がダイナミック リンク ライブラリ WS2_32.dll から見つかりませんでした。」 て怒られた
- 191 名前:ひげぽん ◆Ngzcp/NZpA mailto:sage [2009/08/08(土) 01:11:02 ]
- >>185
>>186 >>187 >>188 ありがとうございます! >>189 まだ常用には向いていないです。 (mosh shell)というライブラリが付属しているのですが 機能が足りないです。 >>190 試していただいてありがとうございます。 申し訳ないです。Windows XP でしか動作確認できていません。 Windows 2000 では使えないWinSock で関数を使ってしまったみたいですね。 取り急ぎバグとして issue 登録しておきます。
- 192 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:22:17 ]
- いちいち宣伝にくるな
- 193 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:25:41 ]
- むしろ歓迎。
正三郎がアフィりに来るのを心待ちにしてる。
- 194 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:29:56 ]
- いちいち宣伝にくるな
- 195 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:35:33 ]
- むしろ歓迎。
Dan the schemer が弾言しにくるのを心待ちにしてる。(^o^)
- 196 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:37:16 ]
- 弾とか有り難がっている馬鹿か
- 197 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:37:45 ]
- ひげぽんがlispスレにくるの見たの初めてかも
OS作ろうとか言ってた頃が懐かしいな
- 198 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:39:53 ]
- 使い物にならない俺俺Lispがバージョンアップするたびに
宣伝されたらたまったもんじゃない
- 199 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:42:29 ]
- >>196
馬鹿でーす!厨房でーす!
- 200 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:42:38 ]
- バージョン1.0になったら
また来たらいいよ
- 201 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:43:27 ]
- だね
- 202 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:53:01 ]
- 規格準拠であるという点一つとっても俺Lispじゃないでしょ
ネット上で公開しているわけだし ShiroさんのGaucheすらverUPカキコが許されないの? 独自処理系の書き込みばかりになったら(なりそうになったら)スレを分ければいいだけでは?
- 203 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:55:16 ]
- R6なんですよね。大変そうですね。
moshの方向性は何なんでしょうか。 実用?勉強?哲学?それとも胸に付けるラムダのバッジ? 実用 : shiroさん、本当に感謝しています。 勉強 : みんな作ってるよ。俺scheme。 哲学 : arcがやってる。(そもそもこれが目的だったら鼻高々にR6準拠なんて言わないような。) ラムダバッジ : 食い扶持。金くれIPA。胸に光るは永田町。私は自民党(R6)の議員です。
- 204 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:57:54 ]
- 充分に使いものになるレベルだと思う。
細かいバグはまだまだあるけど、基本はしっかりしている。 その細かい部分は多くの環境で使ってみないとなんとも言えないので、 このスレで議論するのは意味があると思う。 思うだけだけど。 ところで --loadpath オプションでは複数のパスをコロンで区切って渡せる? Windows ではコロンはドライブレターの表記に使う。 コロンに特別な意味があると絶対パスを使えないことになる。 修正要。
- 205 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 01:58:30 ]
- たった2レスでこの荒れようw
というより一人基地が混じってるだけだが
- 206 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:03:31 ]
- この流れを「荒れ」と思ってしまうあなたも相当2chをわかってない
- 207 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:06:07 ]
- このスレではムキになって人の行為を否定するような人はあまり居ないからね。
- 208 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:11:28 ]
- Gaucheは使いものになるし、
本も出ているし、いちいち宣伝に来ない
- 209 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:18:16 ]
- >>191
ヘッダファイルの中で #if (_WIN32_WINNT >= 0x0501) という記述で囲まれて宣言しているので、 マクロ定義次第で同様のことは避けられそう。
- 210 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:19:05 ]
- >>208
何言ってるんだ。宣伝しに来たことあるよ。
- 211 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:24:12 ]
- 宣伝っていうかバージョンアップ通知だろ。
このスレ住人で今まで Mosh 知らんかったやつがいるのか?
- 212 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:25:12 ]
- テンプレにも入ってるし。
- 213 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:31:52 ]
- Gauche並に使えるようになったら
通知してくれ
- 214 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 02:33:37 ]
- 使えるかどうかはユーザー (つまりはおまいら) が判断することじゃないのけ?
- 215 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 05:02:19 ]
- Mosh ver0.2 (Windows)
エラーメッセージがEmacsで拾えなかった。STDERRへの出力に問題があるのでは? R6RSだとloadが無いけどどうするの? 竹内関数、かなり速かった。 mosh>(time (tak 12 6 0)) ;;1.6406230926513672 real 1.625 user 0.0 sys 12 mosh> gosh> (time (tak 12 6 0)) ;(time (tak 12 6 0)) ; real 1.390 ; user 1.391 ; sys 0.000 12 gosh>
- 216 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 05:17:43 ]
- 別に宣伝するのは構わないが、もう少しスレで質問に答えたりすれば
そんなに悪く言う奴もいなくなると思うが。ひげぽん、どうよ?
- 217 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 05:21:55 ]
- ソース公開されているんだから
直してパッチ送れよ つかえないなあ
- 218 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 06:04:55 ]
- まだオープンソースに幻想抱いてるのか・・
d.hatena.ne.jp/higepon/20090807/1249655156 不具合報告 不具合報告(code.google.com/p/mosh-scheme/issues/list)までお願いします。 もし面倒であれば、ここのコメント欄に書いていただくのでもかまいません。
- 219 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 06:41:59 ]
- また途中で投げ出す可能性が高いからな
今の段階で宣伝されてもうざいだけ
- 220 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 07:45:26 ]
- >>215
0x00 が出力されてるな。 内部的には ucs4 を使ってるとかいう話があったので、 変換がうまくいってないのかも。
- 221 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 07:58:57 ]
- (error "a") だけでも再現する。
(display "a" (standard-error-port)) でもやっぱりおかしい。 stderr への出力全般がダメっぽいな。
- 222 名前:ひげぽん ◆Ngzcp/NZpA mailto:sage [2009/08/08(土) 11:08:02 ]
- >>192
>>194 すみません。 >>198 >>200 R6RS にも準拠したし俺俺Lisp を脱したかなと思って宣伝してみたのですが 不愉快だったらすみません。 >>203 方向性は実用です。ライブラリを増やしたり速度を気にしたりするのも実用を目指してのことです。 >>204 ありがとうございます。そういっていただけると助かります。 > ところで --loadpath オプションでは複数のパスをコロンで区切って渡せる? はい。使えます。 なるほど。Windows の場合は ; を区切り文字とするように修正します。 >>209 そうですね。 ここに対策が載っていたので修正します。 yanchde.gozaru.jp/winsock2/freeaddrinfo.html >>213 Gauche 並はまだまだ遠いです。がんばります。
- 223 名前:ひげぽん ◆Ngzcp/NZpA mailto:sage [2009/08/08(土) 11:09:33 ]
- >>215
> エラーメッセージがEmacsで拾えなかった。STDERRへの出力に問題があるのでは? Windows では標準出力、エラー出力で WriteConsole 関数を使っているのですがそれがまずいのかもしれません。 Emacs は Meadow とかでしょうか?(試してみたいので) > R6RSだとloadが無いけどどうするの? REPL から動的にコードをロードしたいという意味でしょうか? ライブラリ形式で保存しておいて (import library-name) はどうでしょう。 > 竹内関数、かなり速かった。 まだ Gauche より若干遅いですね。がんばります。 > 216 > 別に宣伝するのは構わないが、もう少しスレで質問に答えたりすれば > そんなに悪く言う奴もいなくなると思うが。ひげぽん、どうよ? 可能な限りがんばります。
- 224 名前:ひげぽん ◆Ngzcp/NZpA mailto:sage [2009/08/08(土) 11:12:49 ]
-
>>217 いえバグの内容を指摘してもらえるだけで十分ですよ。 >>219 すみません。 どれくらいの段階になったらよいでしょう? 言語処理系は完成の定義が難しいですよね。 >>220 >>221 ありがとうございます。 内部コードは UCS4 でそれを UTF16 にして WriteConsole に渡しています。 cmd.exe でも出力されていないとかだったらかなりまずいですね。
- 225 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:35:58 ]
- >>224
cmd.exe の上ではちゃんと表示される。 >>223 > Emacs は Meadow とかでしょうか? 俺は >>215 じゃないけど、少なくとも GNU Emacs 23.1.1 では再現することを確認した。 具体的には GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600) of 2009-07-30 on SOFT-MJASON >>215 > R6RSだとloadが無いけどどうするの? そんなこと言ったらそもそも repl だって R6RS には無いぞ。 Haskell みたいに repl では定義を禁止にしたら意味論の破綻はないかも。 そう考えると R6RS って動的な性質が制限されてて Lisp 系言語っぽくないよね。 とりあえず emacs から使う分にはファイル範囲を全選択して C-c C-r でいいんじゃね?
- 226 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:40:45 ]
- >>224
msdn.microsoft.com/ja-jp/library/cc429845.aspx WriteConsole 関数は、コンソールハンドル以外にリダイレクトされている標準ハンドルを渡すと失敗します。 emacs に限らずリダイレクトしたらダメってことだよな。 使えないなぁ…。
- 227 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:42:27 ]
- パッチ作って送れよ。
使えないなぁ…。
- 228 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:54:28 ]
- コンパイラが Scheme で書いてあったりするので、
Mosh のコンパイルには Mosh が必要だったり、 環境を構築するのが面倒なんだわ。 今までは Linux とかのまともに Mosh が動く環境で一部の処理をしてから もちこんだりとか、かなり構造を理解してないとわけわかんなかったけど、 今回は Windows でもそれなりに動くバイナリ提供してくれたんで、 これでコンパイル環境ととのえてみる。
- 229 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 13:25:06 ]
- configure で gauche の存在をチェックしてるなぁ。
まだ gosh 使ってんの?
- 230 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:06:19 ]
- ブートストラップだろ
- 231 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:07:06 ]
- ところで最近は IRC の #Lisp_Scheme チャンネルが過疎ってるようなんだけど、
ネタが無いのかね。
- 232 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:07:51 ]
- >>230
いや、そこで Mosh 自身を使うもんじゃね? という意味で。
- 233 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:28:36 ]
- とりあえず動作報告。
おそまきながら mosh(0.2.0) インストール(Mac OS X 10.4.11)。 make test も多分問題ないと思う(8917 tests passed と出た)。
- 234 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:37:22 ]
- Windows だと
Running 1898/1943 まで表示してエラー。 エラーっていうか Windows が 「問題が発生したため、mosh.exe を終了します。ご不便をおかけして申し訳ありません。」 のダイアログを表示するエラー。 test/ffi.scm の途中でも同様のエラー。 その他はOK。
- 235 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:44:06 ]
- >>232 ブートストラップ的に不可能なんじゃないの?
- 236 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:46:56 ]
- >>235
gauche は gauche 使ってるよ。 svn trunk も常に「最も最近のリリース版」を使ってビルドできるようになってる。
- 237 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:47:40 ]
- (たまにミスってるときもあるけど)
- 238 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:54:01 ]
- >>65,72
遅レスだが、 gauche の define-macro で書いてみた。 (use srfi-1) (define-macro (curry p . a) (define (e a) (define s '(<1> <2> <3> <4> <5> <6> <7> <8> <9>)) (take s (+ 1 (apply max -1 (filter-map (lambda(p)(list-index (cut eq? p <>) s)) a))))) (receive (h t) (break (pa$ eq? '<...>) a) (if (null? t) `(lambda ,(e a) (,p ,@a)) (let ((r (gensym))) `(lambda (,@(e a) . ,r)(apply ,p ,@h ,r)))))) 最後以外に <...> があった場合のことは考えてない。
- 239 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:55:08 ]
- R6RS でも書いてみた。
(import (rnrs) (only (srfi :1) take list-index filter-map) (only (srfi :26) cut)) (define-syntax curry (lambda(x) (define (e a) (define s '(<1> <2> <3> <4> <5> <6> <7> <8> <9>)) (take s (+ 1 (apply max -1 (filter-map (lambda(p)(list-index (cut eq? p <>) s)) (syntax->datum a)))))) (syntax-case x () ((k t a ...) (with-syntax (((p ...) (datum->syntax #'k (e #'(a ...))))) #`(lambda (p ... . r) #,(syntax-case #'(a ...) (<...>) ((a ... <...>) #'(apply t a ... r)) (_ #'(t a ...)))))))))
- 240 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:58:24 ]
- 細かいけど手持ちのscheme処理系のプロンプト。
guile> 1 gosh> 1 mosh>1 なんかポリシーがあるのかな。moshだけ空白が無い。
- 241 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 15:01:59 ]
- >>240
Ypsilon と Petite Chez Scheme も空白アリだったぜ!
- 242 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 15:18:07 ]
- VistaにMosh 0.2.0をインストールして、バージョンを調べたら以下のようになりました。
C:\Users\username>mosh -v Mosh R6RS scheme interpreter, version 0.0.8 こういうものなんですか?
- 243 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 15:28:29 ]
- >>236
gaucheはschemeの実行に必要な部分をschemeで作ってないからできるんじゃないか?
- 244 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 15:49:24 ]
- 最初にIEが入ってないとFirefoxをダウンロードできないようなものですね。わかります
- 245 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 15:55:48 ]
- >>243
関係ない。 Gauche のコンパイラ部分は全面的に Scheme で記述されているし、 VM も Scheme で記述されるようになってる部分がある。 VM についてはインストラクションの合成を簡単に記述したいといった 性能向上を目的とした改善が最近のバージョンで有り、 切り替えの際には多少の混乱があったが、 今は VM が変わっても大丈夫なシカケが入っている。 もちろん、ずっと前の初期の Gauche だと話は別だが、 現在は Gauche 自身でブートストラップが完結するようになっている。
- 246 名前:245 mailto:sage [2009/08/08(土) 16:02:27 ]
- この問題についての解説というか作者のメモはここ。
practical-scheme.net/wiliki/wiliki.cgi?Gauche%3aVM%E5%91%BD%E4%BB%A4%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E5%A4%89%E6%9B%B4%E3%81%A8%E3%83%93%E3%83%AB%E3%83%89
- 247 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 16:09:27 ]
- >>239
Mosh でも動いた。
- 248 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 16:30:59 ]
- >>246
> このプリコンパイルには既にインストールされている、その時点での最新リリースのGaucheを使うことになっている。 ブートストラップの疑問は解決しないように見えるんだが。 俺の理解不足?
- 249 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 16:40:48 ]
- リリース版は前処理を済ませてから配布される。
- 250 名前:215 mailto:sage [2009/08/08(土) 17:05:24 ]
- >>223
Meadowです。 importを使ってみます。使い方がまだよくわからないもので。 Replでの実行中にCtrl+Cでの中断に反応してこないです。 WindowsのAPIではGenerateConsoleCtrlEventが使われているはずです。 msdn.microsoft.com/ja-jp/library/cc429265.aspx CTRL_C_EVENT には反応しないのですが、 CTRL_BREAK_EVENT(Ctrl+D)には反応して処理系が強制終了します。 REPLでのプログラムファイルの読み込み、実行、中断がやり易くなるとうれしいです。
- 251 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 18:09:56 ]
- R6RS なマクロのデバッグって何を使うのがいいんだろ
ypsilon には macro-expand があるけど全部展開しちゃうし(macroexpand-1 みたいなのはないみたい mosh や ikarus にはそういう機能がないっぽい DrScheme の Macro Stepper が今のところ最有力なのかな
- 252 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 19:18:04 ]
- LOL売り切れトル
- 253 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 19:47:56 ]
- 宣伝はやめてください
おねがいします。
- 254 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 19:52:49 ]
- 売り切れているのを宣伝するか?
- 255 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 19:55:27 ]
- SICP訳してみてるんだけど、需要ある?
www21.atwiki.jp/sicpaho
- 256 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 19:57:21 ]
- 宣伝はやめてください
おねがいします。
- 257 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 19:58:41 ]
- >>255
糞訳じゃなければ
- 258 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 20:02:22 ]
- >>255
供給が需要を生みます
- 259 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 20:26:53 ]
- >>255
もっとエキサイティングにたのむ
- 260 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 20:29:42 ]
- 「Scheme and the Art of Programming」
(George Springer and Daniel P. Friedman) ↑こんな易しめな入門書の邦訳があったらいいかも。
- 261 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 21:04:03 ]
- どなたか、Peter Seibel『実践Common Lisp』をテキストにして、
Windows上でLispを勉強するサイトを作ってください。 お願いします。
|

|