トップページ⇒tech
994コメント303KB

Lisp Scheme Part39

■ このスレッドは過去ログ倉庫に格納されています
0001はちみつ餃子 ◆8X2XSCHEME 2014/08/14(木) 20:55:52.61ID:o+vsYevq
Common Lisp、SchemeをはじめとするLisp族全般のスレです

■前スレ
Lisp Scheme Part38
http://peace.2ch.net/test/read.cgi/tech/1391252139/

■テンプレ
ttp://wiki.fdiary.net/lisp/

■関連スレ
【入門】Common Lisp その10【質問よろず】
ttp://toro.2ch.net/test/read.cgi/tech/1361341876/
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
ttp://toro.2ch.net/test/read.cgi/tech/1272469779/
【Lisp】プログラミング言語 Clojure #3【JVM】
http://toro.2ch.net/test/read.cgi/tech/1380333808/
【魔法】リリカル☆Lisp【言語】
ttp://toro.2ch.net/test/read.cgi/tech/1183396621/
0002デフォルトの名無しさん2014/08/15(金) 00:13:29.39ID:uTPP5FCM
長門ってどっちだスレ立て乙
0003デフォルトの名無しさん2014/08/15(金) 02:06:59.64ID:UqEI85rN
前スレ>>989
> 日本語訳がおかしい気がする

>そして第二に、最良の事例(もしくは標準的な事例でさえも)は、タスクによって左右される
>ものではないと考えられていることです。つまり、ワープロのコードを記述するために最良の方法は、
>宇宙探査機の制御システムのコードを記述する上でも最良の方法だという憶測です。しかし、そうではありません。

practiceは「事例」では少しおかしく、「方法」でいい。
「つまり」以降に出てくるwayも「方法」になるので違いを出したいならば「実践」かな。
「やり方」としてもいいと思う。
0004デフォルトの名無しさん2014/08/15(金) 20:34:52.47ID:HK4d36CL
>>1乙
0005デフォルトの名無しさん2014/08/15(金) 20:59:55.06ID:8BWzrSgf
>>1乙
ApacheをHunchentootに置換する権利をあげよう
0006デフォルトの名無しさん2014/08/16(土) 16:36:46.85ID:HLPR753i
http://www.buzzword.jp/img/face10.png
0007デフォルトの名無しさん2014/08/17(日) 22:17:21.13ID:kroYkBys
伊倉辰雄のウザさ半端ないな
0008デフォルトの名無しさん2014/08/21(木) 17:04:30.61ID:24bfdA7I
lambda式のままでシンボルにバインドせずに再帰させる方法がピンときた。
要するに自身へのポインタを引数に渡して、そのポインタに再帰させるんだな
適用順Yコンビネーター(という関数)を作らなくてもいいんだな


例 リストのメンバーか?
(((lambda (self-ptr)
(lambda (a l)
(cond
((null? l) #f
((eq? (car l) a) #t
(#t ((self-ptr self-ptr) a (cdr l))))))
(lambda (self-ptr)
(lambda (a l)
(cond
((null? l) #f
((eq? (car l) a) #t
(#t ((self-ptr self-ptr) a (cdr l))))))) 2 ’(1 2 3))
0009デフォルトの名無しさん2014/08/21(木) 22:00:48.14ID:1s6K9Kp0
そうか。
0010デフォルトの名無しさん2014/08/21(木) 23:10:20.54ID:mKoqw6yc
括弧足んないよ
0011デフォルトの名無しさん2014/08/22(金) 11:49:57.51ID:qYNWrdHC
https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQljebB_qGHv6_3JSjCi6jbKmmvLXQKmXrIEq5ENOG11_YWlPxl

これnaoiwata?
もしそうなら、かわいいからWishリストの本でも贈ろうかな^^

Wishリスト
http://www.amazon.co.jp/registry/wishlist/3FSK478U0FBC/ref=cm_wl_sb_o?reveal=unpurchased&;filter=all&sort=priority
0012デフォルトの名無しさん2014/08/22(金) 15:49:00.79ID:fadX/ShW
一個人の話題をここに書くのやめない?
この界隈の人間がこういうの許容するやつばっかりだと思われるのも嫌
0013デフォルトの名無しさん2014/08/22(金) 15:58:09.30ID:4AO6/f5c
俺のチンポは四国一
可愛いSchemeも
継続よ、継続よ
と泣いて喜ぶ
>>12
しね早漏包茎ついでに短小
0014デフォルトの名無しさん2014/08/22(金) 16:09:18.10ID:FgHOhvav
NGNG
0015デフォルトの名無しさん2014/08/22(金) 16:53:35.92ID:fadX/ShW
>>13
あらごめんなさい。11についてかいたのですけれど何か問題でも?
0016はちみつ餃子 ◆8X2XSCHEME 2014/08/22(金) 21:00:18.61ID:ek2Grjit
下品なのはやめれ。
0017デフォルトの名無しさん2014/08/23(土) 21:25:52.18ID:qr79zWyH
つまり、やっぱり俺のチンポが町内一ということやな
婦人会もメロメロやで
俺はニボシくってチンポ固くしたで
おまえ等も見習えや
0018デフォルトの名無しさん2014/08/24(日) 14:05:37.88ID:ngQva2ba
非表示非表示
0019デフォルトの名無しさん2014/08/29(金) 07:58:34.13ID:IguOVOzJ
事情があってAndroid上のエディタを使った。対応()のチェック機能がない.
書いたものが動かない!()の対応チェックでとんでもなく時間かかった.
俺はまだまだだな。リスプと取り組んで半年
0020デフォルトの名無しさん2014/09/03(水) 05:10:48.67ID:5qTogmZr
SICP の日本語訳が無料で公開されているというありがたい話を聞いて見に行ったら、
「関数と手続の間の対称性は事物の属性の説明と行いの説明との間の一般的区別に関する反映です。」
みたいなすばらしい日本語ですごいありがたみがあった
0021デフォルトの名無しさん2014/09/03(水) 06:03:21.17ID:Pspo8/9n
The Little Lisper昨日やり終えた
8章までは簡単だったが無名再帰は感覚化するのに何度もやり直した。
最終章でのインタープリター作りは快調に終わったが、これ、終わり方中途半端で「後は自分で完成させなさいね」って感じ?
最後の一ページでのcons/car/cdrの定義
はじめなにやってんるんだが意図がわからんかった
最後の一ページにきてはじめて
「えへへ、内部のデータ構造としてはリストは幻影、実体はセルやで」
とささやいたんやな

で
「だからよぉ、もうconsもcarもcdrも
primitiveとしなくてもええんやで」
とか言ってるくせに
primitiveの適用関数はそのままでおえてるし。後は自分でやれってかあ。

参考資料テキストから

(define cons
(lambda (u v)
(lambda (b)
(cond
(b u) (t v)))))

(define car
(lambda (l)
(l t)))

(define cdr
(lambda (l)
(l nil)))
0022デフォルトの名無しさん2014/09/03(水) 11:16:32.58ID:grGI9d1X
The Little Schemer 手習い
The Seasoned Schemer 修行
The Reasoned Schemer (論理プログラミング)
やったことないけど、2冊目に繋がってたんだっけ?それとも別トピック?
0023デフォルトの名無しさん2014/09/03(水) 18:43:19.19ID:73LZ6iok
>>21
そんなこと最後のページに書いてんのか
文学的想像力の豊かすぎる人にはちょっとアレな本だね
0024デフォルトの名無しさん2014/09/05(金) 21:58:27.17ID:LsksGc1g
gaucheでリストに入ってる演算子を使って演算したいんですけど、たとえば、

( (car '(+ -)) 1 2)

で 1 + 2 は計算できないんですけど、どうすればいいでしょうか
0025デフォルトの名無しさん2014/09/05(金) 22:08:59.44ID:nNMRtnaP
((car (list + -)) 1 2)
0026デフォルトの名無しさん2014/09/05(金) 22:58:39.75ID:LsksGc1g
gauche で演算子をリストにしたいんですけど、
これ↓

(define oplist (list f1 f2))
(define (f1 v) (+ 0 v))
(define (f2 v) (- 0 v))

を reple で load で読み込むとエラーになるけど
これ↓

(define (f1 v) (+ 0 v))
(define (f2 v) (- 0 v))
(define oplist (list f1 f2))

はエラーになりません

もしかしてgucheも関数を定義する順番を考えないといけないということでしょうか
0027デフォルトの名無しさん2014/09/06(土) 00:39:29.41ID:7NWNK+Dr
定義する順番というか評価する順番は考えなきゃいけない。
0028デフォルトの名無しさん2014/09/06(土) 01:48:12.10ID:H+1wKpki
いわゆる純粋な関数型言語と勘違いしてる?
0029デフォルトの名無しさん2014/09/07(日) 14:52:03.72ID:2ylfd4lm
>>26
> もしかしてgucheも関数を定義する順番を考えないといけないということでしょうか

oplist自体は関数じゃないので、その定義の際には
定義式の (list f1 f2) が評価されねばならない。
しかし最初のだと、この式の評価の時点で f1, f2 は未定義だからエラーになる。

関数ならば定義の時点で本体式は評価されず、その中で参照している識別子が
定義済か否かは問わないので、次の2つはどちらもエラーにならず同じ結果になる。

(define (app-pair v) (list (f1 v) (f2 v))
(define (f1 v) (+ 0 v))
(define (f2 v) (- 0 v))

または

(define (f1 v) (+ 0 v))
(define (f2 v) (- 0 v))
(define (app-pair v) (list (f1 v) (f2 v))
0030デフォルトの名無しさん2014/09/07(日) 15:00:31.64ID:Hz0DmE0w
>>29
なるほどぉ、勉強になった
0031デフォルトの名無しさん2014/09/07(日) 15:36:02.63ID:qqB/9i/k
>>26
Cとから手続き型言語から入るとこういう疑問を余り抱かないと思うけど、
最近は一番最初にプログミングを覚えた言語がhaskellですとかあるんか?
0032デフォルトの名無しさん2014/09/08(月) 13:09:11.00ID:1svGDpQ9
初めての言語はLispです
0033デフォルトの名無しさん2014/09/12(金) 13:54:39.12ID:Ypjnf85z
初めての彼はネパール人です
0034デフォルトの名無しさん2014/09/14(日) 13:03:02.18ID:vuNBw+gj
Lisp系言語以外でSCHEMEに一番近い言語って何だと思う?
0035デフォルトの名無しさん2014/09/14(日) 14:06:43.40ID:Q+DajjuF
pythonかjsだわな
0036デフォルトの名無しさん2014/09/14(日) 15:17:27.62ID:jNUFi1Dh
ISWIM
Dylan
OCaml
0037デフォルトの名無しさん2014/09/14(日) 15:22:42.36ID:6ldmPVQO
C言語
0038デフォルトの名無しさん2014/09/14(日) 17:16:05.39ID:Q+DajjuF
>>36
dylan近いか?
dylan自体がselfとかjsに近いからjsが近い言うた僕が言うのもなんだけど。
0039デフォルトの名無しさん2014/09/14(日) 17:26:54.59ID:jNUFi1Dh
DylanはS式でないCLOS
名前空間管理やSLOTアクセス管理に無頓着
0040デフォルトの名無しさん2014/09/14(日) 21:44:39.27ID:uFPl4kjJ
lua
0041デフォルトの名無しさん2014/09/15(月) 02:06:28.47ID:RdKEbqlY
DylanてS式でもうごくんじゃないっけ?
0042デフォルトの名無しさん2014/09/15(月) 18:36:37.73ID:upNhnkM6
C言語の正規表現マッチャのコードとか見るとschemeの臭いがするのは私だけでしょうか
0043デフォルトの名無しさん2014/09/16(火) 00:12:54.33ID:tKxjmxiD
てかC言語って割とLispの影響が見える

カンマ演算子とか三項演算子とかfor文とか
0044デフォルトの名無しさん2014/09/16(火) 21:09:01.47ID:Zss/iCB4
>>43
異論は多いみたいだが私もそう感じる http://peace.2ch.net/test/read.cgi/tech/1313183984/594
0045デフォルトの名無しさん2014/09/16(火) 23:27:30.64ID:0xhBhzna
SICP の日本語LaTeX版を提供してくれているのはすごくありがたいけれど、読めば読むほど翻訳が(ありがたさから以下略)
0046デフォルトの名無しさん2014/09/17(水) 01:19:39.44ID:i84HTWw6
>>43
> てかC言語って割とLispの影響が見える
>
> カンマ演算子とか三項演算子とかfor文とか

それらはAlgol 68からの継承だよ。
いわゆるAlgolはAlgol 60を指しAlgol 60は通常の文言語だが
Algol 68は手続き的(書き換え可能な記憶域を書き換えることで計算を表す)な式言語で
Cでの代入操作が文でなく式の演算子になっているのはAlgol 68が源流。
カンマ演算子や3項演算子もAlgol 68が元祖でそれから受け継いだもの。
for文の各パーツがオプション的になってるのもAlgol 68のループ構文からの流れだ。
Algol 68を少し真面目に調べてごらん。Cがどれだけ影響を受けたか良くわかる。
0047デフォルトの名無しさん2014/09/17(水) 07:43:45.31ID:ry1QXF9R
http://ja.m.wikipedia.org/wiki/ALGOL
http://ja.m.wikipedia.org/wiki/LISP
http://ja.m.wikipedia.org/wiki/ジョン・マッカーシー

マッカーシーは60年の時点でALGOL設計委員会の委員やって、ALGOLに触発されたともあるので
LISPとALGOL68の構文の関係は60-68年当時のLISPを調べないと分からないかも。
0048デフォルトの名無しさん2014/09/17(水) 17:35:17.17ID:RlznIxIP
構文には影響ないだろw

LispでAlgolの影響とか言われるのは、SchemeとかCommon Lispとかの
近代的なLispの静的スコープ。あれはAlgol(68じゃなくて60も)で関数定義を
ネストさせた場合の意味論と同じ。これはマッカーシー先生は関係しない
んじゃないかなぁ。
0049デフォルトの名無しさん2014/09/18(木) 01:17:15.07ID:ITHwf95q
>>47
McCarthyはAlgol 68には全くタッチしていない。
そもそもAlgol 60の設計をやった連中はWijngaardenのチームが出してきたAlgol 68の提案を見て
ほぼ例外なくあきれ返って愛想をつかしたのだから。
Algol 60とAlgol 68とは言語の中身や基本コンセプトも設計したメンバも全く別だよ。
Algolという単一の言語の年代別バージョンの違いじゃないんだ。
Algol 60とAlgol 68とは、CとAlgol 68との違い以上に違う言語。

Algol 60とAlgol 68とを明確に区別せず単なるバージョンの違いのようにみなして議論するのは全くのナンセンス。
0050デフォルトの名無しさん2014/09/18(木) 06:20:50.77ID:3NMkLfKM
どうして「そんなに違う」のに同じ名前(Algol)を継承したの?
0051デフォルトの名無しさん2014/09/18(木) 13:24:17.35ID:IKF3bMic
よーするに「委員会言語」。

あとCの起源にまつわる伝説のあやしさと、Algol68からの影響については、
このページがよくまとまってる。 ttp://nanyanen.jp/comp/corigin.html
0052デフォルトの名無しさん2014/09/19(金) 01:33:00.88ID:nqW+90Tw
>>50
> どうして「そんなに違う」のに同じ名前(Algol)を継承したの?

IFIPという情報処理に関する国際組織のWG2.1(だったと思う)が中心になって、みんなが共通に使える(つまり特定企業の持ち物でない)
アルゴリズム記述言語(algorithmic language)を作ろうということになって作られたのがALGOL 60。AlgolはALGOrithmic Languageの略。
で、さらに強力な記述力を持つものにしようと1968年を目途につくることになって、提案を募った結果、オランダのWijngaardenらのチームが
選ばれて設計を任された。それで作られたのがALGOL 68。

つまりALGOLという名前は普通のプログラミング言語の名前のように純然たる固有名詞じゃなくて
ALGOrithmic Languageという一般用語の省略形という側面をも含んでいるんだよ。

だから文法的にも言語設計哲学的にも全く異なった言語や両者以外のいくつもの言語案がALGOLの名前をもっているんだ。
例えばALGOL 68の提案に危機感を覚えた一人にHoareさんがいる。で、彼が中心になって作った代替案はALGOL Wという言語。
これは実際に処理系も作られたし、これによるプログラミングの教科書も少なくとも1冊はちゃんと出版された(もちろん英語ね)。

日本でもALGOL 60の後継案(つまり後のALGOL 68になる提案と争った候補の一つ)を提案しており、ALGOL N(NはNipponの意)と
呼ばれている。これも1冊だけその言語設計哲学・コンセプト面を扱った本が日本語で出版された。
0053デフォルトの名無しさん2014/09/19(金) 01:37:15.54ID:nqW+90Tw
>>52への補足

連投ごめんね。
Knuthさんの作った文書整形言語&プログラムであるTeXの一番最初の処理系は
SAIL(確か Stanford AI Languageの略じゃなかったっけ?不確かでスマン)で書かれたが、
私の勘違いでなければ、SAILはHoareさんたちのALGOL Wから発展した言語だったはず。
0054デフォルトの名無しさん2014/09/19(金) 01:51:31.12ID:TV+vn4Ur
WはWirthのW.
彼の方がメインだったはず。
ALGOL 68と60の後継を競った。
0055 ◆QZaw55cn4c 2014/09/19(金) 03:13:13.87ID:luwRUG2M
>>54
そのWrith は pascal の人?であればかなり納得の系譜だね
0056デフォルトの名無しさん2014/09/19(金) 10:21:53.64ID:vmyXN9M9
WはWirthの意だったか。
Nは島内剛一先生だったよね確か。
0057デフォルトの名無しさん2014/09/20(土) 02:08:25.61ID:EUFRt8Dw
>>54
Algol WのWはWirthさんのWだったのか。
なるほど、それをHoareさんらと共同でまとめて対抗案として提案したという延長として、
さらにPascalをWirthさんが作ったときに
HoareさんはFloydさんのアプローチを発展させた公理的意味論を編み出して
Pascalに対して具体的に定義したわけだ。
0058デフォルトの名無しさん2014/09/20(土) 12:48:12.90ID:rTgfsjb+
Pascalの主目的の一つが言語の簡略化だったから、
公理的意味論も構築しやすかった。
0059デフォルトの名無しさん2014/09/20(土) 18:17:17.90ID:TBvJ9nfM
あんなにたくさんタイプしなきゃいけないのに簡略化なの?
0060デフォルトの名無しさん2014/09/20(土) 18:32:13.32ID:j8ruAE+U
簡略化された結果タイプすることが増えたんじゃね
0061デフォルトの名無しさん2014/09/20(土) 19:51:36.91ID:x0cvFC0K
Lispも言語の元データを簡略化した結果カッコが増えたじゃないか
0062デフォルトの名無しさん2014/09/20(土) 20:06:52.11ID:Lh7EqoaX
skiコンビネータ−めっちゃ簡素やん
0063デフォルトの名無しさん2014/09/20(土) 20:40:44.73ID:U9SdVMdG
>>59
教育のための言語だから
0064デフォルトの名無しさん2014/09/20(土) 20:47:34.51ID:TI7VGCx5
意味論と構文論を切り離して考えられない奴はこれだから
0065デフォルトの名無しさん2014/09/21(日) 00:26:47.22ID:wB7BYq1/
pascal は素敵な言語だと思うよ delphi も結構広まっていたと思うよ
あーたしかに end の後ろになにもかかないか、セミコロンか、コンマか、とか今でも間違えるけど‥
http://ideone.com/uVYgb
http://ideone.com/ogrDn
0066デフォルトの名無しさん2014/09/21(日) 07:16:02.65ID:esUuA1t7
>>64
どう違うの?
0067デフォルトの名無しさん2014/09/21(日) 11:04:35.35ID:YP6uE3o3
>>66
構文論はプログラムの形式を議論する
意味論はプログラムが表現するモデルを議論する
わかりやすく言うと理論的には、構文論が扱うエラーはコンパイラだけですべてを自動検出できるが、意味論が扱うエラーは自動的にはすべてを検出できない
0068デフォルトの名無しさん2014/09/21(日) 11:35:55.88ID:f71zaoHG
意味論でのエラーを構文論からは検出できない、つまりコンパイラーでは検出できない具体的な例はありますか
0069デフォルトの名無しさん2014/09/21(日) 11:46:07.70ID:YP6uE3o3
>>68

(define (factorial n) (* n (factorial (- n 1))))
0070デフォルトの名無しさん2014/09/21(日) 12:13:45.13ID:rvkNXqzj
>>69
横からでスマン
その例って静的型付き言語ならエラーにできるかな?
0071デフォルトの名無しさん2014/09/21(日) 12:25:46.90ID:YP6uE3o3
>>70
>>69がエラーは、factorialが一般的に何をやる計算かとか、整数が無限にあるというドメインやモデルの知識があってはじめて分かる

なので、コンパイラがエラーを出すのは間違っている
「factorial」が「wait-ever」や「make-overflow」という名前だった場合や、*や-を文字列演算子で上書きしてた場合を考えれば分かる
0072デフォルトの名無しさん2014/09/21(日) 14:41:39.96ID:DcWnbWt1
>>71
なるほど、その例で構文論と意味論のイメージがつかめました
サンキュー
0073デフォルトの名無しさん2014/09/22(月) 01:56:13.79ID:yEa+FP/P
やっぱりボードゲームはCで書くべきなのかな
common lispで型宣言つけて(safety 0) (speed 3)でマクロで包んでいくのと
どっちがいいんだろう
0074デフォルトの名無しさん2014/09/22(月) 05:30:19.46ID:YdAcMO6t
>>73
どんなのか知らないけど、イマドキC使うのは特殊な要件があるの?
CLじゃなくてもPythonとかrubyじゃダメなの?
0075デフォルトの名無しさん2014/09/22(月) 13:31:12.22ID:KDn0JvdI
ボードゲームって将棋とかのことを言ってるんだけど
そういうののaiは探索関数で一ミリ秒でも速くしたほうがいいから
PythonやRubyは遅すぎてダメなの
0076デフォルトの名無しさん2014/09/22(月) 13:33:17.33ID:jhj0pzxy
探索ルーチンだけアセンブラで書けばいいと思うの。
探索ルーチンは「ボードゲーム」のプログラミングのごくごく一部なの。

そういう初歩的なこともわかってないのがバレバレなの。
0077デフォルトの名無しさん2014/09/22(月) 13:39:12.79ID:KDn0JvdI
「アセンブラで書く」とか言ってる時点でお察し
0078デフォルトの名無しさん2014/09/22(月) 13:50:35.67ID:zDNDYNbQ
えっ・・・
0079デフォルトの名無しさん2014/09/22(月) 13:52:06.84ID:jhj0pzxy
本人がお察しだったようだ
0080デフォルトの名無しさん2014/09/22(月) 13:52:47.02ID:jhj0pzxy
なんだ、「アセンブリ言語で書く」が正しい、という意味かw
0081デフォルトの名無しさん2014/09/22(月) 14:04:09.24ID:KDn0JvdI
探索ルーチンは確かにボードゲーム全体のコード量と比べたら小さいけど
その関数とそれが呼び出される関数で見たら影響は大きい
初歩的なこともわからないとか言ってる時点でただ煽りたいだけなんだろうけど
0082デフォルトの名無しさん2014/09/22(月) 14:32:52.64ID:jhj0pzxy
> ただ煽りたいだけなんだろうけど

このスレで「一ミリ秒でも速く」と言ってるおまえがな。
0083デフォルトの名無しさん2014/09/22(月) 14:41:39.17ID:zUzK8u9G
一ミリでも遠くに飛ばしたい
男の甲斐性
トピュントピュン
0084デフォルトの名無しさん2014/09/22(月) 14:42:12.30ID:fbKvYZVr
Lispで書いてみてどうしても速度が気に入らないなら
Cなりアセンブラなりで書き直せば?
0085デフォルトの名無しさん2014/09/22(月) 14:59:33.62ID:zUzK8u9G
斡旋フリー?
エヘヘ、本番できる?
0086デフォルトの名無しさん2014/09/22(月) 16:40:28.76ID:TZpz70lm
少しでも速くするために先攻と後攻のルーチンを別に定義する部分やループを展開した書き方をする部分は
柔軟なマクロのあるlispが有利だと思った
0087デフォルトの名無しさん2014/09/22(月) 18:33:23.19ID:A5LkEIU6
やねうらおが昔そんな話書いてた
http://labs.yaneu.com/20090905/
0088デフォルトの名無しさん2014/09/22(月) 19:15:14.18ID:vIHnf5mS
今日schemeの実装終えた
勉強になった
0089デフォルトの名無しさん2014/09/22(月) 21:15:48.35ID:vh/Af1aB
scheme→Cのトランスレータを作れば敵がいなくなる
0090デフォルトの名無しさん2014/09/22(月) 21:19:33.61ID:TZpz70lm
敵はそこまで弱くない
0091デフォルトの名無しさん2014/09/22(月) 21:48:26.96ID:hgHWAqnH
チキンなので敵前逃亡
0092デフォルトの名無しさん2014/09/23(火) 01:41:59.82ID:Yz+1g6sQ
彼の敵はもっと高いところに居るんだろう。
目標高いって素晴らしいやん。
0093デフォルトの名無しさん2014/10/06(月) 16:40:18.09ID:drMhmn/H
俺もこういう俺様言語作りたい。基本Schemeとのこと。プリプロセッサにかけるだけ。


209 デフォルトの名無しさん sage 2014/10/05(日) 15:35:13.47 ID:37iiGiPw
>>164

define seq(n){
  define seq1(m,n1,n2,n3,n4){
    if(m = n)
      (n1 + n2 + n3 + n4)
    else
      seq1(m + 1,n1 + n2 + n3 + n4,n1,n2,n3)
}
  seq1(6,3,2,1,0)
}
seq(10000)
1455650563828306671891266930369....
0094デフォルトの名無しさん2014/10/06(月) 17:37:21.84ID:Gl61S3h8
元発言はどのスレ?
0095デフォルトの名無しさん2014/10/06(月) 18:26:46.05ID:DaOiROEZ
まぁ、そこまで意欲的なものをいきなり作るのは大変だろうから、まずは
「構文がS式のPascal」みたいなものを作ってみたら?
0096デフォルトの名無しさん2014/10/06(月) 18:29:33.66ID:QJRx0X30
>>93
簡単だよ。資料はここ。
http://homepage1.nifty.com/~skz/Scheme/sapphire.html

Gaucheでもリードマクロを使えば割と簡単にできると思う。
0097デフォルトの名無しさん2014/10/06(月) 18:38:16.03ID:7Yf7z2yP
>>94
プログラミングのお題スレ Part5
http://peace.2ch.net/test/read.cgi/tech/1411227287/

>>96
サンクス、勉強してみる
0098デフォルトの名無しさん2014/10/06(月) 18:40:01.95ID:7Yf7z2yP
>>95
いろいろやってみる。
まだ、Scheme上でSchemeインタープリター実装の勉強段階だけど
0099デフォルトの名無しさん2014/10/06(月) 20:56:28.09ID:JOYgfRo1
>>93
rubyの処理系のコードをいじった方がはやいと思う
0100デフォルトの名無しさん2014/10/06(月) 21:05:49.44ID:0Gu/ZxPo
>>93
Lispで普通に書いた方がよくね?
なんでわざわざ対応したエディタも無い言語にしたがるのかマジでわからん
0101デフォルトの名無しさん2014/10/06(月) 21:18:58.22ID:vQmjb8cS
世間一般ではS式は迫害されるらしいよ
■ このスレッドは過去ログ倉庫に格納されています