- 1 名前:デフォルトの名無しさん [2008/04/04(金) 18:18:17 ]
- □過去スレ□
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://pc10.2ch.net/test/read.cgi/tech/1151025773/ Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/ Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/ Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/ Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/ Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/ Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/ Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html
- 207 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:14:33 ]
- 単語まで全て逐語訳にしないで
->計算機(computer) みたいな感じで元の英単語も書けば良かったんだよな。
- 208 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:17:09 ]
- 字幕の最初の方が出来上がったてるみたいだ。
- 209 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:28:31 ]
- >>207
英語版はLaTeXだけど、日本語版は組版でやってるからちょっとした修正が出来ない。 もとの単語を書くと文字数が増えるからページ数を抑えるためにポイント数を抑えざるを得ない。 でもそれは技術的に難しい。かといってページ数を増やすと\5,000以上になってしまう。 つまりピアソンがコストダウンできる技術力を持っていないことにもそういう工夫を出来ない原因がある。 かといってムリをすればマグロウヒルみたいに倒産して書物が入手できなくなってしまう。 良い本なら買い支えるというのも消費者の選択なんジャマイカ?
- 210 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:22:42 ]
- それじゃ数学関数の定義で駄目。152はそこは判ってるようだ。これを関数型での関数の引数でイパーン的に説明汁
- 212 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:25:17 ]
- >>152
>>155が説明して>>156で納得して終了済。
- 213 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:44:48 ]
- >>210の方が合ってるぞ。
foldoc.org/?partial+function > 関数が計算を終了するかどうかでpartialと区別する。 これは間違い。例えばSMLのような例外のある計算系では、 関数の値が未定義の場合も停止する。Liftされているから。 表示的意味論の本を読めばちゃんと書いてあるよ。
- 214 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:56:14 ]
- Dを意味関数だとしたら、
∃x (x≠⊥ & D[f(x)] = ⊥) なら、fはpartial functionってことだよな。
- 215 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 02:03:05 ]
- >>214を見た漏れの脳にはテトリスが浮かんだ
とりあえず泣いてくる
- 216 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 02:03:58 ]
- >>215
ああ俺もギャル文字を思い出した。一緒に泣こうぜ。
- 217 名前:152 mailto:sage [2008/04/14(月) 02:08:46 ]
- >>210
なんかいろんな意見が飛んでますが、、ありがとう。 >>215-216 漏れもれも。
- 218 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 05:09:54 ]
- 戸田山和久の「論理学を作る」はよかったな
大学に対しては良書を教えてくれた事に関しては感謝してる
- 219 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 06:46:38 ]
- そういう感じで「計算論 計算可能性とラムダ計算 著高橋 正子」とかが
self-containedで読めるようになる本教えてください。
- 220 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:54:26 ]
- 他言語で書かれたプログラムのメタ制御したいのだけど
適切なbindingがない場合はxml-rpcが一番簡単なのかな?
- 221 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 13:30:46 ]
- いいえ
- 222 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 17:56:28 ]
- 計算理論の基礎 シプサ
てのが気になってる。 アマゾンによると翻訳がすこぶる良いという。
- 223 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:17:52 ]
- >>218-222
スレチ。移動ヨロ。 ttp://pc11.2ch.net/test/read.cgi/tech/1202273631/
- 224 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:58:52 ]
- こっちじゃない?
science6.2ch.net/test/read.cgi/informatics/1160740645/
- 225 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:23:08 ]
- すまんがちょっと教えてくれ。
Chiken Schemeは簡単に実行形式ファイルが作れるんかの?
- 226 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:29:51 ]
- Reasoned SchemerのPrologもどきって、本当に動くんだなw
ttp://codepad.org/6uu28twJ KANREN : a declarative logic programming system ttp://kanren.sourceforge.net/#mini
- 227 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:48:17 ]
- >>225
お前のことなんぞ知らんからお前にとって簡単かどうかはお前が判断しろ。 マニュアル通りやってみてできたならお前にも簡単にできるってことだ。 そうでなければ難しいんだろう。
- 228 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:52:39 ]
- KANRENって「関連」なのかな。
Oleg Kiselyovって日本と研究してるのか? okmij.org/ftp/
- 229 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:26:02 ]
- Reasoned Schemer
1. Playthings ttp://codepad.org/buHFpoPQ
- 230 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 01:58:12 ]
- HtDPの目次見たけど継続とかlet、letrecは出てこないんだね。Schemerシリーズのほうが
難しそうだ。
- 231 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 03:03:41 ]
- >>227
ふむ、chicken schemeっての初めて見てみたけど簡単に実行ファイルが作れるんだな。
- 232 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 06:20:53 ]
- >>207
そうそう、和田先生が翻訳メモとして技術用語の翻訳対照表をつけてくれれば、 読みやすかったのに。
- 233 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 11:15:30 ]
- schemeをC++プロジェクトに組み込みたいのですが、
組み込みやC++クラスのエクスポートが簡単にできる ポータブルな処理系ってありますか?
- 234 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 12:10:18 ]
- libgaucheとCで書いてextern "C"ってすればいいんじゃね
俺もほとんど知らない。教えてほしい
- 235 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:16:12 ]
- >>235
>複素数(これはGaucheにもない!) あるっしょ
- 237 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:18:45 ]
- 正確数表現の複素数(これはGaucheにもない!)
- 238 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:52:35 ]
- > (exact? (sqrt -1024))
#t これはいいsqrt
- 239 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 16:03:30 ]
- R5RS-6.2.3
sqrtのような潜在的に不正確な演算は、正確引数に適用されたとき、 可能ならばいつでも正確な答えを算出することが望ましい(が要求はされていない)。 なので処理系依存。
- 240 名前:225 mailto:sage [2008/04/15(火) 20:40:37 ]
- >227
参考になった。ありがとう。
- 241 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:24:29 ]
- >>225
Linuxだと簡単にバイナリ作れた。 winだとコンパイルも通らなかった orz mingwin32嫌いだ!
- 242 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:35:56 ]
- >241
あれ、出来なかったっけ? ちょっと今MinGW環境壊しちゃったので手元で確認できないけど
- 243 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:40:20 ]
- >>242
できたらgccのバージョンとかライブラリのバージョンさらしてください。 しょぼーん。 #共通環境はsbclが一番良いんじゃないかと思うようになっちゃったのでscheme嫌いになりそう
- 244 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:14:09 ]
- >>243
Makefile.mingwを使うとchicken-config.hの作成に失敗する。 そこだけ手作業でやったらあとは普通にmakeが走ってる。 今ビルド中。っていうか本家に最新版のWindowsバイナリ置いて無いな。
- 245 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:30:12 ]
- みんな苦労してでもWindowsdで使いたいんだな。
Windowsは偉大だな。
- 246 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:43:18 ]
- 自分が使いたいというより、より広く使われるものを作りたい、そういうものを作る
ために使いたい、という動機が大きいのでは? 趣味にしても、仕事にしても。
- 247 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:53:25 ]
- >>228
ttp://scheme2006.cs.uchicago.edu/12-byrd.pdf KANRENって「関連」みたいだけど中国語。 Chung-chieh Shan(單中杰)というハーバード出身でラトガース大学のAssistant Prof.の人とやった仕事。
- 248 名前:244 mailto:sage [2008/04/16(水) 00:55:30 ]
- よくみたらMakefile.mingw-msysってのがあったな。
こっちでやれば一発でいけたのかも。 まぁ、gcc3.4.5で普通にコンパイルはできたよ。
- 249 名前:242 mailto:sage [2008/04/16(水) 02:07:59 ]
- >248
漏れもgcc4.3.0 & Makefile.mingw-msysでやってみたけど問題なさそう
- 250 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:18:42 ]
- >>246
処理系はとりあえずUNIX系の上でつくられて、 そういう尊い方々がWinに移植なさるのですね。 感動しました。 漏れはWinでないと使う気にならないから使ってるだけだが、 いつかそうなりたいね。
- 251 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:23:10 ]
- とりあえずUNIX上に作られるのはそのほうが楽だからだな。
WindowsのAPIってなんか例外事項が多くてごちゃごちゃしてる感じ。
- 252 名前:231 mailto:sage [2008/04/16(水) 03:00:47 ]
- >>248
俺はgcc3.4.2+msysでうまくいったみたい
- 253 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 12:42:00 ]
- >簡単に実行形式ファイルが作れる
という観点では エンドユーザが自分でMinGWを入れるという前提はおかしい 普通の人はVisual C++とMzSchemeを使えばいい
- 254 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 13:28:11 ]
- >>253
「エンドユーザ」はMinGWを入れる必要は無いだろ
- 255 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 13:47:15 ]
- じゃあ「簡単に実行ファイルを作りたいWindowsユーザ」に訂正
- 256 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 13:54:12 ]
- 簡単だけど話題としてはスレ違いだね。
- 257 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:26:31 ]
- 簡単だから得意げに説明するのが恥ずかしい気がするけど、注意点を
・ソースファイルと同じ名前のモジュールで包む たとえば hello.scm なら (module hello mzscheme (display "Hello, world!") (newline)) ・--exeオプション たとえば mzc --exe hello hello.scm ・bccに対応していると書いてあるが無償版のbccでは失敗するみたい
- 258 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:15:29 ]
- >>235
とりあえず、いろいろ試してみました。 guile) ・GPLライセンス ・試してないがVCでコンパイルできなさそう Scheme48) ・VCでもコンパイル可能 ・ただ、実行の際に〜.imageファイルが必要なのと、 その作成にScheme48インストールディレクトリのフルパスが必要・・・ ・(美学の問題だが)関数名がおかしいのと、コンパイル時に 「○○関数は未定義です」「○○は初期化されていません」みたいな警告が普通に出てくる。 chiken) ・VCでもコンパイル可能のはず。自分には無理だった。 ・(pcreを使っているので多分)正規表現がマルチバイトをサポートしていない。 Gauche) ・コアはVCでコンパイル可能だが、拡張ライブラリが全滅 ・クラス登録機構がGNUのリンカの実装に依存している。VCだと拡張ライブラリを作ること自体が難しそう。 ・基本的にposixべったり ・デフォルトで日本語が使える。ドキュメントも日本語
- 259 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:16:14 ]
- Gambit-C)
・VCでコンパイル可能 ・自動生成されたソースが長すぎるため、IntelliSenseの更新に長大な時間がかかる。たまに開発環境自体が落ちる ・(サイズが)すごく大きいです・・・ 総括) こうやって並べてみると、日本語が使えるGaucheか、Gambit-Cが問題が少なさそうですね。 自分は多分、gaucheをstatic libraryで使うことにすると思います。 個人的にはluaのようにもっと手軽に組み込める処理系があると嬉しいのですが、文句ばっかり言ってもしょうがないですよね。 >>235さん、ライブラリの紹介どうもありがとうございました。
- 260 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 21:36:34 ]
- Windowsで動かしたいというのは判るが、VCでコンパイルしたいという理由がよくわらかん。
MinGWじゃ駄目なのかい。
- 261 名前:デフォルトの名無しさん [2008/04/16(水) 21:42:41 ]
- IntelliSenseが使いたいのか
頭のとんがった上司がいるのか その両方か
- 262 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:09:15 ]
- >>259
Gauche-win32-0.8.13.exeじゃだめなの?
- 263 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:16:20 ]
- exeがつくれないとプログラムをしている気にならないんじゃないかな?
Windowsしか知らなかったころはexeをつくれて一人前の開発環境というイメージだった。
- 264 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:21:32 ]
- >>263
自分で使うコードなら別にexeにする必要ないんだけど、ちょいと配布したりするのに実行環境必要とか言うと困るからじゃないの? どんなプログラムだかしらないけど。
- 265 名前:233 mailto:sage [2008/04/16(水) 22:28:13 ]
- >>260
理由1、VCの便利な機能が使いたい 理由2、schemeという小さな言語がVCでコンパイルできない理由がわからない 仕様も小さいんだしVCでもコンパイルさせてくれよ・・・ というのが本音です。 >>261 > IntelliSenseが使いたいのか どちらかというとこっちです。 でも後者の方が面白いので、できればこっちを強弁したいですねw >>262 すみません、書いてませんでしたが自分は>>233です。 C++に組み込むので、別途インストールというのはちょっと考えられないのです。
- 266 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:33:41 ]
- >>260
MinGWはMSYSが要るのか要らないのかはっきりしてほしいw
- 267 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:39:02 ]
- POSIX べったりという表現が面白かった
確かに逆から見たらそう感じても不思議じゃないね
- 268 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:47:21 ]
- >>266
実行だけなら要らない。ランタイムのDLLさえも要らない場合が多い。 最近のVCはRuntime(もちろん自由に再配布できるが)を入れないといけないことが多い。 VCじゃなきゃ嫌んの人はMinGWをよく知らないだけではないかと思う。
- 269 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:51:25 ]
- Schemeは実はC及びC++(のスタックフレーム)とは相性が悪い。
ファーストクラスの継続があるため 関数からreturnする時に 単純にスタックフレームを開放できない。 また、末尾呼び出しの最適化は C及びC++では行えない。 (だからSchemeの場合はバイトコードインタプリタの方が 効率が良かったりする。) これらの理由により、ネイティヴコードをポータブルに吐く方法がない為 GCC用のソースは手を入れない限り他の処理系でコンパイルできない場合が多い。
- 270 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:58:01 ]
- >>265
> 理由2、schemeという小さな言語がVCでコンパイルできない理由がわからない > 仕様も小さいんだしVCでもコンパイルさせてくれよ・・・ 君がScheme処理系を書けば良いのでは?
- 271 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:43:31 ]
- ちなみにschemeは仕様がすっきりしているだけで、
実行環境はさほど小さくない。処理系もけっこう大きい。
- 272 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:18:53 ]
- 書けねえよ
- 273 名前:233 mailto:sage [2008/04/17(木) 00:22:42 ]
- >>268
自分のプログラムでは外部ランタイムは無用です。 あと全く別の問題として、schemeのために開発環境を変えるということ自体がちょっと嫌なんです。 >>269 ・ネイティブスタックを使わず、自前のスタックかメモリを確保すれば 継続でもコルーチンでもポータブルに作れます(作れるはずです) ・バイトコードを採用すれば、処理系のコードは自然とポータブルになります ・ネイティブコードをポータブルに吐く方法なんて自分は一つも知りません って、あまり面白くないツッコミですみません。 あと、schemeがポータブルに実装できないわけではですよ。 実際、明らかにwindowsのようなマイナーな環境(?)を無視した作りのgaucheでも、 コア部分はコンパイルできるわけですし。 >>270 今までは、あまり実用にならなそうなマイ言語を作っている人を、 内心バカにしたりもしていたのですが(すみません) schemeでも他の言語でも、自作の処理系が一つあると意外なところで使えたりするのかもしれませんね。 scheme作るのも面白そうなので、時間があれば是非やってみたいです。
- 274 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:27:05 ]
- スキルないのが丸分かりの自己紹介ありがとう。
- 275 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 00:44:29 ]
- 漏れも学生時代はMacではHyperCardを必要とするスタックは軟弱物。Pascal or Cで実行形式をつくるのがカコイイだと思っていたし、
Win32でもランタイムを必要とするVBを見下し、CをつかってもMSVCRTの依存すら排除しようとしていた経験のある俺には233の気持がわかる気がする。
- 276 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 01:44:38 ]
- ゲーム作るときはマシン語モニタをBASICで自作することから始める時代の話だな。
そんなMSXが許されるのは小学生までだよねー
- 277 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 01:49:42 ]
- >>273
GaucheはWindowsを無視はしてないよ。 多少なりともVC++を意識した変更が入っていたはず。 ttp://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3aWindows%2fVC%2b%2b を参照するといいと思う。マンパワーが足りないから進捗が遅いだけで。 成果をフィードバックしてくれるなら、向こうにとっても渡りに船だろうし、 本気でやる気があるなら、WiLiKiに書き込んでみればいいんじゃない? 上手く協力できれば、双方にとって良い結果になると思うけど。
- 278 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 02:12:31 ]
- スキームの質問
今、手元にThe Little Schemerがあるんだけど この本に書いてある例題は全部 Dr.schemeで実行できるの?
- 279 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 03:33:26 ]
- 1行で全部の処理をするんでなくて、
まずcdrする 次にcarする、 最後にcdrする、 と3段階に分けて処理をしたいんだけど、 どうすればいいの? BASICみたいに a=(a,b,c) みたいにリストを変数に代入して、 ってできるの?
- 280 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 04:21:40 ]
- (let* ((a '(a b c))
(a (cdr a)) (a (car a)) (a (cdr a))) a)
- 281 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 06:53:06 ]
- CL全然知らないんだけど手続きぽく書きやすいのかな。
- 283 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 07:11:22 ]
- 端っこに括弧がいるから慣れない人は書きにくいと思う。
Lisp脳が育つと括弧を空気のように感じるようになる。
- 284 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 07:41:53 ]
- いや、Schemeにくらべてってこと。
- 285 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 07:43:50 ]
- 再帰じゃなくloop使うと手続き型っぽくなるよ。(カッコだらけだけど)
- 286 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 08:00:11 ]
- >>273
> あと全く別の問題として、schemeのために開発環境を変えるということ自体がちょっと嫌なんです。 いずれEmacs+Schemeに慣れればVisual Studioには戻りたくなくなる。 そうでなければそもそもSchemeには縁がない。
- 287 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 08:21:30 ]
- >>284
SICPやSchemerシリーズやっている人は、 schemeが手続き型っぽく書けないと思い込んでいる人が多い。 ただそれらのテキストが関数型っぽく書いているというだけなのに。 Common Lispとさほど変わらない。
- 288 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 08:57:25 ]
- >>287
本当?かなり違うと思ってた。 例外とかgotoとかを手続型と さほどかわらないように書くにはどうするの?
- 289 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 09:32:52 ]
- 手続き型っぽいのがgoto?
- 290 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 09:34:13 ]
- つ loopマクロ
- 291 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 09:43:41 ]
- つ 継続
- 292 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 10:08:35 ]
- tagbody は?
- 294 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 10:13:13 ]
- emacs lispならconditon-case(try..catch)とかsignall, error(throw)とか
unwind-protect(finally)とかあるから殆んど手続き型と同じように書けるよ R6RSにも似たようなものがあるはず
- 295 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 11:43:51 ]
- >>288
例外はr6rsに入ってただろ。手軽にやりたいなら継続呼べばいいし。 goto相当のジャンプも継続が使えるけど、 継続はラベルじゃなくてオブジェクトなので使い勝手をgotoみたいにしたいなら 自前でラップしなきゃ駄目かもな。
- 296 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 13:01:50 ]
- S式でいいならマクロでなんでもできる。CLならCインタープリタの実装まであるくらいだ。
- 297 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 14:51:41 ]
- Google Apps APIs をlispから使う方法ないのでしょうか?
- 298 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:02:27 ]
- >>297
使えよ
- 299 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:08:01 ]
- ないならnilを、あるなら使い方を返していただきたいのですが。
- 300 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:32:41 ]
- >>299
(values nil "ttp://www.cliki.net/web%20API" "Clikiにはズバリはないみたいだけど、 cl-ajaxとかでできるのかな。" "よくわからない。")
- 301 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:12:46 ]
- >>247
d。miniKANRENは徐々に進化しているようでした。 leanTAP⇒KANREN⇒miniKANREN⇒alphaKANREN ttp://www.cs.indiana.edu/~webyrd/alphamk/alphamk.pdf ttp://kanren.sourceforge.net/ ParentheCというパーサー(c⇒scheme)を見つけました。 パターンマッチはolegのものを流用してます。 ttp://www.cs.indiana.edu/classes/b521/newpc/ParentheC.pdf ttp://www.cs.indiana.edu/classes/b521/notes.html Prologもどきと軽く思ってたけどReasoned Schemerって意外に深いのかな。 型推論のHindley-Milner type inferenceとかOCAMLみたいw
- 302 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:27:16 ]
- CPSによるパターンマッチのマクロ by Oleg Kiselyov.
ttp://www.cs.indiana.edu/l/www/classes/b521/pmatch.pdf
- 303 名前:277 mailto:sage [2008/04/17(木) 23:07:24 ]
- >>233の人ー、WiLiKiで、VC++の項目とか、
Windows向けインストーラの話とか、 色々更新されたから行っといでー。 釣りじゃないなら、話し合う絶好の機会だよー。
- 304 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:33:37 ]
- >>286
schemeの処理系を書く環境と schemeを書く環境はちょっと違うと思うぞ。
- 305 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:35:06 ]
- >>304
SchemeでSchemeを書けばいいジャマイカ
- 306 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:42:20 ]
- いまおれいいこといった
と思ってるに違いない 空気読めない奴の発言は反吐が出る
- 307 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:49:17 ]
- >>306
何でそんな事でいきなりヒートアップするんだよ。 まあ、元の話題はC++にSchemeを組み込みたい、って話だったから、 >>286のレスが明後日の方向を向いてるとは、俺も思うけどさ。
|

|