- 1 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 19:12:39 ]
- ※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※
■過去スレ 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)
- 175 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 13:28:38 ]
- >>172
Lispはまだ外界との交流が盛んだと言うか、Lispが特殊なのは記法だけだよね。 Lispが砂漠のオアシスみたいな場所だとすれば、Smalltalkは山奥の隠れ里。 人によってはエルドラドや桃源郷に思えるかもしれないけど、交流は殆ど 断たれてしまってる。
- 176 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 14:06:29 ]
- SmalltalkはSqueakで子供に布教してる人もいるじゃない。
- 177 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 19:03:11 ]
- lispって名前空間がややこしいですよね。俺だけ?
シンボルには変数と関数を入れることができて、 変数には関数を入れることもできるって。。 リストの先頭か #' で関数にアクセスできるけど、 変数に入れた関数には別の方法でアクセス・・慣れればしっくりくるのかな
- 178 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 19:37:50 ]
- リストの先頭でマクロにアクセスできるけど
マクロは変数に入れられない リストの先頭にはファーストクラスオブジェクトを置けないと考えれば? 関数も、そのままでは変数に入れられないから #' を使うわけで
- 179 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 20:05:26 ]
- >>177
つ【Scheme】
- 180 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 21:30:15 ]
- >>178-179
Scheme と CommonLisp で名前空間の扱い違うのか。 すみません、勉強不足だ。 あー、イメージは掴めそうかも。 変数の世界と 関数の世界があって x軸とy軸のように 双方向の写像の役割を #' と apply (funcall) がそれぞれ行っている。 写像なしではそれぞれの世界を行き来することはできない・・みたいな。
- 181 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 21:36:50 ]
- >>180
おおざっぱなイメージだと、symbol に "値スロット" しかないのが Lisp1 "値スロット" と "関数スロット" があるのが Lisp2 scheme とかは前者, CL つか Maclisp の血を引いてる奴は後者
- 182 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 21:51:11 ]
- 値、関数スロットのほかに属性とかもあるらしいね
Schemerだから詳しく知らんけど
- 183 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 22:10:58 ]
- >>181-182
Thx。Scheme の方がシンプルでいいのかもなあ。 使ってる人も多そうな気が。 でも今 On Lisp 見てて面白そうだから CL もよさそうだw悩む。
- 184 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 23:06:54 ]
- 両方やれw
どっちも楽しいぞ
- 185 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 23:50:35 ]
- CLでSchemeを実装する、という話はPAIPにもANSI Common Lispにも載っている。
しかし、SchemeでCLを実装する、という話は聞かない。 最初に複雑なCLをやっておけばSchemeのシンプルな長所も理解できるけど、 Schemeから入るとCLが単に複雑なだけに見えてしまうかもしれない。 よって最初はCLをお勧め。反論は認める。
- 186 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 00:29:39 ]
- >>185
関数型言語をかじってみたい程度の動機だとSchemeがいいんじゃない? 実用的にこれをしたいという用途が明確にあるならCLに直接にいくのもあるのかもね
- 187 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 00:29:41 ]
- Scheme以外のLispはレベルが低いのでスレからでていってください
- 188 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 02:54:32 ]
- なんだ?そんなんで喧嘩売ってるつもりか
- 189 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 02:56:35 ]
- はい、喧嘩売られてます、今
- 190 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 02:59:03 ]
- >>187
レベルが低い事例は?
- 191 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 03:09:25 ]
- J
魚 魚 魚<大きな釣り針だなあ 魚 <お口に入らないよ
- 192 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 03:18:55 ]
- レベルの低い>>187が出て行けば無問題
- 193 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 05:38:47 ]
- せっかくだし、バトルしようよ
宿題スレで問題を適当に10問持ってきて、10問の中から各自5問選んで、 Lisp/Scheme(別の関数型言語の参加もあり)で解く 提出タイム、コードのエレガントさなど評価の対象になるだろうが、イベント運営側で特別評価はしない 各自の判断で評価してもらいたい 5月4日13時開始予定(夜の希望者がいるなら時間を変更して、20時予定) 直接対決専用スレ ttp://pc12.2ch.net/test/read.cgi/tech/1239985829/ と妄想してみたんだがどうだろうか?w 算数ドリル的な問題だと言語としての真価も図れないし、つまらないかな? 明日にズレ混んでもいいから、なんかやってもいいかもね
- 194 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 11:55:45 ]
- >>185
> SchemeでCLを実装 on lisp に無かったっけか?
- 195 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 14:18:32 ]
- >>194 CL で continuation なら見かけたような気がする
- 196 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 22:27:23 ]
- 最近ようやっと自分のお師匠が言っていた
「Lispはごくごく普通の言語だよ、記述がちょっと毛色の違うだけの」 と言っていた意味がよくわかった ひょっとして書かれかた(書き方じゃない)になれてしまえばC++より優しい?
- 197 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 22:31:36 ]
- ひょっとしなくても優しい、そして易しい
Forthに匹敵するくらい
- 198 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 22:36:24 ]
- forceと供にあれだぞ、オビワン
- 199 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 22:44:11 ]
- >>196
そうだね。 Lispを特別な言語と思い込み、それを使いこなしている(?)自分が 特別な人間だと思い込んでいるユーザがLispを特別な言語にしている。
- 200 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 23:00:55 ]
- elispやCLはすごく普通だよね。ほかの言語の経験があれば割と素直っていうか。
Schemeは再帰が壁という声を聞いた。昔の話だけど。
- 201 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 23:29:02 ]
- Lispは、「言語設計者様が作った構文を真面目に覚える」という能力を
プログラマーから奪う危険な言語。
- 202 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:09:01 ]
- ある程度Lisp触って他の言語を触ってみたら
足し算するときに1回はコンパイルエラー出す
- 203 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:13:39 ]
- >>200
単なる食わず嫌いなところがあるのかもしれないね 「ロシア語がおもしろいよ。ドストエスキーは原書で読まないと」と他人に言われても、そこまで興味を引かないもんね >>201 よくわからない文章だね a) Lispは、ある能力をプログラマーから奪う危険な言語である。 b) 「構文を真面目に覚える」という能力ってなんだ? c) 能力を人から奪うという表現もすごいね elipse(emacs)は、「言語設計者様が作った構文を真面目に覚える」という能力を プログラマーから奪う危険な統合環境。 これなら成り立つね
- 204 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:42:03 ]
- >>203
文盲乙
- 205 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 02:14:50 ]
- >>203
Lispは構文を覚えなくていいから楽だなぁ ってことだろ
- 206 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 02:53:55 ]
- 誇張表現を受け入れられない人って結構居るみたいね…
- 207 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 03:02:25 ]
- ところでGuileのスレはどうするよ?
>>193の言うような対決スレとして再利用でもする?
- 208 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 04:40:47 ]
- >>193,207
Guileスレを使うなら 「guile=R5RSで解く(他のLisp/Scheme/その他関数型言語の参加もあり)」 くらいの名目にした方がよいかも。 あと問題がProject Eulerなら参加する。 和訳odz.sakura.ne.jp/projecteuler/
- 209 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 05:23:24 ]
- >>208
いいんじゃない? それでは、パイロット版という感じで気楽にやりましょうか。 【イベント名】 13時だョ!全員集合 【開始時間・終了予定時間】 今日の13時〜14時 【モットー】競うというより楽しく 【参加条件】一般的な社会常識がある人で関数型言語が使える人、または勉強している人。 【部門】今回は2部門。初心者部門と一般部門。初心者は3題出題。 一般部門は初心者部門の問題3題に加えて、7題を加えた計10題。 【イベントに使うスレ】 ttp://pc12.2ch.net/test/read.cgi/tech/1239985829/ 【あとサイト】 和訳 odz.sakura.ne.jp/projecteuler/ 【解答用紙】 codepad.org/ 【備考】初心者の参加、大歓迎です。あとおもしろい企画があったら、どしどしレスしてください。
- 210 名前:209 mailto:sage [2009/05/05(火) 12:16:51 ]
- レスつかないしw
13時から初心者部門参加ということで問題3題解くわ とりあえず、こっちに移動します pc12.2ch.net/test/read.cgi/tech/1239985829/
- 211 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 12:40:25 ]
- 文豪乙
- 212 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:57:47 ]
- そもそもそんな変な時間に集まるわけねーだろ
- 213 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 01:47:26 ]
- >>212
じゃあ、何時ならいいんだ? 集まらないと言っても3人集まったんだから成功だと思うんだけど
- 214 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 21:59:46 ]
- 午前の部と午後の部を設けるとか
- 215 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 22:23:14 ]
- >>214
妥当な開始時間を聞いているのに 二部構成という企画提案になっているんだ
- 216 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:28:20 ]
- GaucheでSchemeを学んでいます。
quoteで悩んでいます。 (list 1 2 3 4) '(1 2 3 4) 違いがわかりません。
- 217 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:52:02 ]
- (list 1 2 3 4)は1 2 3 4といったデータからリストを作っている
'(1 2 3 4)=(quote (1 2 3 4))はリスト(1 2 3 4)を評価せずそのまま渡している (list 1 (+ 2 3 4)) '(1 (+ 2 3 4)) の違いを比べてみれ
- 218 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:00:22 ]
- >>217
横槍だけど、(car (car '(1 (+ 2 3 4))))だと、評価されないけど 評価するのってどうやるの?
- 219 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:01:17 ]
- >>217
ありがとうございます。だいぶわかってきました。 (list 1 (+ 2 3 4)) '(1 (+ 2 3 4)) だと上では(1 9)のリストが作られるんですね 対話で(1 2 3 4)と渡すとエラーが出るのは、このリストのcarが手続きでないから、という解釈でいいのですか? 作ったリストとリストリテラルの違いはありますか?
- 220 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:40:40 ]
- '(+ 1 2 3) ; => '(+ 1 2 3)
`,(+ 1 2 3) ; => 6 `',(+ 1 2 3) ; => '6
- 221 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 01:01:37 ]
- >>219
そう、(1 2 3 4)を評価しようにもリストの先頭要素1はただの数字だからな リストとしてみれば同じだが実データとしてみれば違いがある (equal? (list 1 2 3) '(1 2 3)) (eq? (list 1 2 3) '(1 2 3)) >>218 ん? (car '(1 (+ 2 3 4))) => 1だから (car (car '(1 (+ 2 3 4))))は(car 1)ということになる いったい何を評価したいのかな?
- 222 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 01:47:26 ]
- >>221
(car (cdr '(1 (+ 2 3 4))))だね (car '((+ 1 2 3 4) 1))で、もぞもぞいじっていたから気づかなかった
- 223 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 03:43:53 ]
- >>221
それ説明になってないじゃん。 (eq? '(1 2 3) '(1 2 3)) → #f (equal? '(1 2 3) '(1 2 3)) → #t (eq? (list 1 2 3) (list 1 2 3)) → #f (equal? (list 1 2 3) (list 1 2 3)) → #t (eq? '(1 2 3) (list 1 2 3)) → #f (equal? '(1 2 3) (list 1 2 3)) → #t なのに。 >>219 (list 1 2 3)と'(1 2 3)の違いは、 list関数が作ったか、read関数が作ったかだけ。
- 224 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 07:35:25 ]
- listの方はmutableで、quoteの方はimmutableだったりするんじゃない?
- 225 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:14:36 ]
- '(list 1 2 3) -> (list 1 2 3)
- 226 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 12:08:43 ]
- > list関数が作ったか、read関数が作ったかだけ。
なるほど、わかりやすいかも。
- 227 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 19:16:58 ]
- (let ((let '`(let ((let ',let)) ,let))) `(let ((let ',let)) ,let))
- 228 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 19:19:43 ]
- >>227でジャンプに連載されてた、テニスの王子様描いてる人がその前ぐらいに描いてたCOOLって漫画思い出した。
- 229 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 19:22:52 ]
- >>223
実装が仕様って話かな 自分は、そういう意味でしか言語を理解できないけど
- 230 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 13:49:40 ]
- >>224
immutableじゃない。set-car!/cdr!出来る。 >>229 仕様そのものだ。
- 231 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 21:18:32 ]
- >>230
できるかどうかは実装依存じゃないのかな? R6RSは知らないけど
- 232 名前:デフォルトの名無しさん [2009/05/08(金) 22:12:53 ]
- >>230
R6RS だと immutable だよ R6RS 5.10
- 233 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 22:45:38 ]
- >> 220
R5RSでも4.1.2にエラーだと書いてある。処理系に報告の義務がなかっただけ。
- 234 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 03:09:19 ]
- クォートしたリストはつまりリテラルなので、変更できないのが常識。
- 235 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 08:24:42 ]
- これからSchemeを勉強予定なのですが、
WindowsXPで遊ぶのにPLTとCHICKENどちらがお勧めでしょうか? もしくはその他お勧めがあればご意見をいただけますでしょうか
- 236 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 09:38:25 ]
- >>235
漏れなく開発環境もついてくることを考えると、PLT が一番無難じゃないかなあ。 chicken は windows だとビルドが面倒だったような気が。 遊ぶんだったら petit chez なんかでもいいかもしれんけど、 未だマルチバイトな文字に対応してないみたいだし。
- 237 名前:デフォルトの名無しさん [2009/05/09(土) 10:37:31 ]
- プロジェクトオイラーって解き始めるとクセになるね。
Lisp以外では解く気が起きない問題も結構あるし 毛色の違う言語を2,3覚えた方が良いような気がしてきた。
- 238 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 11:00:53 ]
- >>237
> 毛色の違う言語を2,3覚えた方が良いような気がしてきた。 これってどういうこと? Lispじゃだめなん?
- 239 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 11:15:43 ]
- project eulerと言えばhaskell
- 240 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 12:05:04 ]
- >>235
CHICKEN は最近 Ver4 になって utf-8 デフォになったためか外部ライブラリ群再構築中 PLT は Ver4 として落ち着いてきたが互換性に難あり (デフォでは else 部なし if はエラー) 私的には Ypsilon あたりが高速かつクリーンで良さげな気がす R5RS ならこんなのも ttp://www.geocities.jp/bneck44/hS.htm
- 241 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 12:23:37 ]
- しかしifがwhenを兼ねるというなら
mapがfor-eachを兼ねてもよさそうなものだが。
- 242 名前:デフォルトの名無しさん [2009/05/09(土) 12:44:02 ]
- >>238
Lispがダメなんじゃなくて単に問題11はCの方が個人的に解きやすかっただけ。 プロジェクトオイラーの問題をいくつか解いたけど 解答はどこをみたらいいのかな? 解いたのはいいけど答えがあってるかどうかわからないので 悶悶としてきました。
- 243 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 12:51:49 ]
- Project Euler のサイトで回答を入れればあってるかどうかわかる。
このスレには貼らないでね。趣味で遊んでるんで、回答とか貼られると萎える。
- 244 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 12:52:49 ]
- >>242
ググると誰かの全問解答がみつかったかな それか垢をつくると答えあわせができるんじゃないかな 垢つくつてログインまでしかしていないけど、なんかそんな感じだったよ >問題11はCの方が個人的に解きやすかっただけ。 手続き型言語で解きたくなるけど、そこを我慢するのがLisper/schemmer
- 245 名前:235 mailto:sage [2009/05/09(土) 13:58:03 ]
- >>236
>>240 ありがとうございます! ご意見いただいた内容を意識してそれぞれ実際に触ってみたいと思います。
- 246 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:49:08 ]
- Win版は使った事が無いのだけれど
入門用には完成度の高いScheme48もオススメ R5RSに最も忠実な処理系だと思う もちろん独自の拡張も充実してる R6RS対応版であろう次期リリースが早くでないかとwktkして毎日のようにリポジトリを覗いてる
- 247 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 20:00:39 ]
- >>216
俺もよく理解してないんだが 関数の返り値に クォート付けたリストを渡すと 呼び出し元で書き換えられる可能性があるからまずいらしい。 list で作ったリストを返したほうがいいらしい。 詳しくは On Lisp に書いてある。 www.komaba.utmc.or.jp/~flatline/onlispjhtml/functionalProgramming.html これの GOODNESS で検索した辺りに書いてある。 CommonLisp だが Schemeも変わらないよね?
- 248 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 21:28:31 ]
- > (quote (quote (1 2 3)))
'(1 2 3) > (list (quote (quote (1 2 3)))) ('(1 2 3)) > (' (quote (1 2 3))) *** ERROR
- 249 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 22:07:13 ]
- チャイティンのLispだと'はQUOTEの別名扱い
(' (1 2 3)) ≡ (QUOTE (1 2 3))
- 250 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 22:19:35 ]
- (' (1 2 3))だとエラーになるね。Gauche。
- 251 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 22:27:01 ]
- >>235
日本語資料が一番充実してるのは Gauche だけど、Win ではちょっと不安定かも あと、Common Lisp 寄りでときどき Scheme らしからぬとも評されたり 仕様に一番網羅的なのはおそらく Larceny で IEEE/ANSI から R6RS まで対応 事実上のリファレンス実装と言われることもあるらし
- 252 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 22:35:08 ]
- ' は (quote) だから ((quote (quote (1 2 3)))) の意味になる
- 253 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 22:39:17 ]
- gosh> ((quote (quote (1 2 3))))
*** ERROR: invalid application: ('(1 2 3)) Stack Trace: _______________________________________ gosh>
- 254 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 22:47:48 ]
- MzScheme 様と Ypsilon 様は car が手続きじゃねえとお怒りです
- 255 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:02:44 ]
- だーかーらー!チャイティンのLispだと言っているでしょうがぁ
CLならリードマクロテーブルをいじって通せるかもしれないけど Schemeは規格の上では通らない
- 256 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:27:40 ]
- >>248から先は何の話をしているのだ?
- 257 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:36:51 ]
- S式に執着しなければ楽になれるのに。
syntax-rulesは良いね。consもquoteもmapcarもいらないから。
- 258 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 11:49:03 ]
- 手続き名をかっこの外に出す方式は無引数の場合が大変そう
- 259 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 16:38:29 ]
- すべての関数は引数はひとつだけリストで渡します
- 260 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 17:05:59 ]
- lispからcへの可読な変換をしてくれるソフトないのでしょうか?
- 261 名前:247 mailto:sage [2009/05/10(日) 18:55:58 ]
- >>216
同じようなの過去スレで見つけたよ。 LISP Scheme Part5 pc3.2ch.net/tech/kako/1023/10230/1023091882.html 98 名前: 93=95 投稿日: 02/06/17 10:43 >>96 もちろん、 (equal? '(a b c d) (list 'a 'b 'c 'd)) ==> #t です。そういう意味では同じ。ただ、(list 'a 'b 'c 'd)は評価される たびに新しいリストが作られることが保証されているのに対し、 '(a b c d)はコンパイラがあらかじめどっかにリストを作っておいて そのポインタを返すだけ、とするかもしれない(処理系依存)。 (define (foo) (list 'a 'b 'c 'd)) (equal? (foo) (foo)) ==> #t (eq? (foo) (foo)) ==> 常に#f (define (foo) '(a b c d)) (eq? (foo) (foo)) ==> #tかもしれない
- 262 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 10:26:17 ]
- ひょっとして漢字コードを半角文字とみたときに
"/"が入るような文字コードの文字は 処理できないのでしょうか? 2chのdatを読ませてるんだけど AAがよくあるdatだと、読み込みでバグって止まる
- 263 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 18:04:16 ]
- マルチバイトまわりは処理系依存なのでその情報だけでは不足 (\ でなく / なら普通問題ないはず)
処理系と対象ファイルの文字コード、あとできれば止まる前後のエラーメッセージなどplz
- 264 名前:デフォルトの名無しさん [2009/05/12(火) 20:31:11 ]
- www.lsharp.org/
l# だってさ
- 265 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 21:00:32 ]
- .NETってどうなん?
- 266 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 21:39:02 ]
- いいえ鉄です
- 267 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 23:17:01 ]
- >>265
死にました
- 268 名前:デフォルトの名無しさん [2009/05/12(火) 23:49:10 ]
- >>264
.net系の net Scheme っての知らんの?
- 269 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 02:00:27 ]
- そんなのあるの?
- 270 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 12:34:20 ]
- >>264
asdf-installでProgram Filesフォルダーにいろいろいれてくれたりするのかな と思ったらdefineでもdefunでもなくdefなんだ
- 271 名前:デフォルトの名無しさん [2009/05/14(木) 11:00:47 ]
- >>268
ironscheme.codeplex.com/ これのことか?
- 272 名前:デフォルトの名無しさん [2009/05/18(月) 00:22:56 ]
- (define (fact n)
(if (zero? n) 1 (* n (fact (- n 1))))) という風に記述できない理由は何なのでしょうか? 再帰てきにはこちらの方が自然な気がするのですが... (Common Lispから来たのでSchemeとの違いにまだ戸惑っています。)
- 273 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 00:24:01 ]
- 何なの、と言われましても
- 274 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 00:27:07 ]
- >>272
普通に評価できるけど何が問題なの?
- 275 名前:デフォルトの名無しさん [2009/05/18(月) 00:27:14 ]
- いや、どうして動かないのか気になりまして...
展開できるような気がするのですが.... あと、この関数を定義して使うとそのまま、フリーズしてしまうのが こまってしまって...
|

|