Lisp Scheme Part39
■ このスレッドは過去ログ倉庫に格納されています
0001はちみつ餃子 ◆8X2XSCHEME
2014/08/14(木) 20:55:52.61ID:o+vsYevq■前スレ
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/
0652デフォルトの名無しさん
2015/01/11(日) 23:09:11.92ID:1uYYZkmGくーっありがと
0653デフォルトの名無しさん
2015/01/12(月) 09:48:41.69ID:8IfW5imj0654デフォルトの名無しさん
2015/01/12(月) 09:49:51.72ID:8IfW5imj0655デフォルトの名無しさん
2015/01/12(月) 12:44:42.58ID:QwIrvaxBLISP における対話モードのことを REPL というと理解していい。
今では拡大解釈されて対話モードのことを REPL と呼ぶ場面は多いので、
非公式な場面では違いは気にしなくていい。
公式なドキュメントの類では用語の意味を厳密に定義していることもある。
0656デフォルトの名無しさん
2015/01/12(月) 13:34:18.50ID:8IfW5imjありがとうございます
0657デフォルトの名無しさん
2015/01/17(土) 20:01:27.81ID:izv0Z2NULISPの古典ならマッカーシーの書いたこれで間違いない
タダで読めるし
http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
0658デフォルトの名無しさん
2015/01/17(土) 21:16:35.88ID:o3oA1RIIwishも入れて配布すればいいじゃん。
ライセンスがGPL系で良ければGTKでもいいし。
0659デフォルトの名無しさん
2015/01/17(土) 22:16:08.04ID:fPiUEmNVMcClimがwindowsで使えたら良かったんだけど
0660デフォルトの名無しさん
2015/01/18(日) 11:00:09.62ID:SofTlcQP0661デフォルトの名無しさん
2015/01/18(日) 11:22:49.90ID:RMv1VVrIきもくもふつくしい点であるという認識でおk?
0662デフォルトの名無しさん
2015/01/18(日) 12:00:39.60ID:8C45mKK2お前のいう、ネストのオンパレードで全体のコードが記述されてるLispコードを教えてくれ
何いってるのかさっぱり分からん。
a(b(c(d(e(f(g())))))) か
x=g();x=f(x);x=e(x);x=d(x);x=c(x);x=b(x);x=a(x);return x; かってこと?
どちらでも書けるよ
0663デフォルトの名無しさん
2015/01/18(日) 12:21:58.45ID:b1+UNBO3エヘヘ
前から後ろから責められて
一組終わるとまた次の一組に前から後ろから責られて
朝まで寝かせてくれないの?
(sub1 (sub1 (sub1 (sub1 onna ))))
もういや!好きにして
エヘヘ
(((lambda (f)
( (f f)
(f (lambda (x) ((f f) x)))))
(lambda (r)
(lambda (n))
(if (=< n 0) 0
(r (sub1 n))))))
108)
煩悩よのう、108回も射精されちゃうんだぁ
0664デフォルトの名無しさん
2015/01/18(日) 13:36:31.88ID:VmLGnzyY0665デフォルトの名無しさん
2015/01/18(日) 13:43:04.69ID:EyFQu+uw0666デフォルトの名無しさん
2015/01/18(日) 13:45:04.49ID:8C45mKK20667デフォルトの名無しさん
2015/01/18(日) 17:55:27.08ID:b1+UNBO3スマホでうったから少し間違ってるけど、だって女だって彼女と思って入れちゃったら強姦罪でつかまっちゃうことよくあるだろ?
でも少し修正
誤 (lambda (n))
正 (lambda (n)
誤 =<
正 <=
男は黙って順番守って不動点前から後ろからコンビネーター
0668デフォルトの名無しさん
2015/01/18(日) 18:28:59.06ID:IYMELPkN定義すればどの処理系でもつかえる、イミフだけど
0669デフォルトの名無しさん
2015/01/19(月) 00:59:01.64ID:H0JxNFUwghci とか
0670デフォルトの名無しさん
2015/01/19(月) 01:09:12.45ID:vB5dyD1F0671デフォルトの名無しさん
2015/01/19(月) 03:02:03.51ID:+Lqzrcjpprologライクな処理系でも=<採用してるかもしれんだろが
0672デフォルトの名無しさん
2015/01/19(月) 06:26:10.62ID:0GUS8Ysoパターンマッチで書けるマクロは別にS式でなくてもいいのか。
ポールグレアムのエッセイを読みかじった限りでは、本気でメタプログラミングしようとしたら必然的にS式みたいな見た目になるとあったが・・・
0673デフォルトの名無しさん
2015/01/19(月) 07:17:05.27ID:+LqzrcjpS式で構文組むのと、中置記法で構文組むので、どっちが楽だと思う?
中置記法は考えなくちゃならないことが沢山あるよ。やることは同じなのにね。
センスがない人が作った構文規則を読解する大変さもS式とは比べものにならないと思うよ。
0674デフォルトの名無しさん
2015/01/25(日) 14:05:17.86ID:VlSBWUaZ0675デフォルトの名無しさん
2015/01/25(日) 16:14:10.99ID:oYybbT2J(+ 1 2 3 4 5)とかできないし(1 2 3 4 5 + + …て数える必要ある。1個足りずゲームオーバー)
制御文とか気持ち悪いし
S式も気持ち悪いかもしれないけど
頭のシンボルで何が起こるか一貫して判断できるのは楽だよ
0676デフォルトの名無しさん
2015/01/25(日) 17:50:21.11ID:SCpZiFUY関数呼び出しとマクロ呼び出しの構文が同じということだった。
その関数またはマクロの定義を知らないと、
全部の引数が評価されるかどうかすらわからないという。
0677デフォルトの名無しさん
2015/01/25(日) 18:36:00.23ID:fotOuDOu可能な限りは、関数呼出しとマクロの区別を意識しなくても自然に書けるようにデザインすべきだけど、混乱してしまうことはあるわな。
結局はトレードオフの話で、 LISP は全部が括弧っていうことの利点の方が大きい方を取ったってことだから、
欠点の方が上回ると考える人は諦めるしかしゃーない。
0678デフォルトの名無しさん
2015/01/25(日) 19:04:46.91ID:/ILbZFHt0679デフォルトの名無しさん
2015/01/25(日) 21:40:16.52ID:N/2viYWx逆ポーランドは、記法というより、入力として優れてるな。
つまり電卓にピコピコと打ち込んでいくとき。
エディタとかでソースを(行ったり来たりして)自由に編集できるような時には、また別だな。
0680デフォルトの名無しさん
2015/01/26(月) 00:18:05.47ID:7chHv/Eb!0681デフォルトの名無しさん
2015/01/26(月) 00:40:09.06ID:JXLXqXue0682デフォルトの名無しさん
2015/01/26(月) 00:43:58.26ID:iZHP10LQ0683デフォルトの名無しさん
2015/01/26(月) 13:44:12.08ID:NiwRrDAY関数呼び出しとマクロ呼び出しの構文が同じで戸惑うやつって一定数いるよね。
ある程度の命名規約みたいなゆるいものはあることが周知されてないってことなのかな。
でも、戸惑った経験のある奴に話を詳しく聞くと中途半端なんだよね。
(set! x 3)のx、(if a b c)での、b c、(define (f x) )での、f、xなどの評価で悩んでる人はいないみたい。
不思議だよね。
0684デフォルトの名無しさん
2015/01/26(月) 20:40:06.93ID:4zyEVdgP(define stack '())
(define(fpush stack o)(set! stack(cons o stack))stack)
(define(fpop stack)(if(null? stack)#f(prog1(car stack)(set! stack(cdr stack)))))
正しくは下のようなコードかマクロ
(define(make-stack)(list 'stack))
(define(fpush stack o)(set-cdr! stack(cons o(cdr stack)))stack)
(define(fpop stack)(if(null?(cdr stack))#f(prog1(cadr stack)(set-cdr! stack(cddr stack)))))
0685デフォルトの名無しさん
2015/02/10(火) 00:30:09.76ID:tqHZRQkI0686デフォルトの名無しさん
2015/02/10(火) 00:41:44.23ID:XVYkzgVe0687デフォルトの名無しさん
2015/02/10(火) 01:06:47.56ID:k6AusJkjの声が大きいせいでlisp使ってると変な目で見られて迷惑
0688デフォルトの名無しさん
2015/02/10(火) 01:14:38.03ID:fRDEvoke0689デフォルトの名無しさん
2015/02/10(火) 01:18:07.27ID:B8CTINpo0690デフォルトの名無しさん
2015/02/10(火) 01:19:51.15ID:fRDEvokeイルノカナ
0691デフォルトの名無しさん
2015/02/10(火) 02:41:13.27ID:tqHZRQkI0692デフォルトの名無しさん
2015/02/10(火) 04:55:00.38ID:aeiYROV4http://engineer.typemag.jp/article/somewrite_cto
Cより速いCommon Lisp
http://togetter.com/li/740107
サムライトはCommon Lispという最先端の技術を使う数少ないWeb企業です。
http://blog.8arrow.org/
3月5日 (木) に「Clack Meetup #1」というイベントをサムライト株式会社のオフィスにて開催します。
http://blog.8arrow.org/entries/2015/01/20
なぜなら、僕を理解するにはまずCommon Lispを理解しなければならないからです。Common Lispとその言語思想を理解することで、ようやく僕がこれまで生み出してきたものを理解するに至ります。
http://nitro-idiot.hatenablog.com/entry/2011/11/11/222814
0693デフォルトの名無しさん
2015/02/10(火) 06:34:10.82ID:cHYpWE0N劣等感滲み出る書き込みだね
0694デフォルトの名無しさん
2015/02/10(火) 08:43:16.32ID:tqHZRQkI0695デフォルトの名無しさん
2015/02/10(火) 09:05:50.54ID:tqHZRQkILispがCより速いとかデマに騙されないように
0696デフォルトの名無しさん
2015/02/10(火) 09:56:46.42ID:aeiYROV4Cより高速なCommon Lispコードを書く
http://blog.8arrow.org/entry/2014/10/23/063044
>Cの「http-parser」より6.4倍高速です。
>比較対象のCのhttp-parserはNode.jsで使われているものなので、
>かなりの高速化が施されていると推測されますが、それを
>Common Lispに移植したら少しだけ速くなりました。
>処理系依存のハッキーなテクニックを使ってるわけでもなく
>標準の機能だけで。
標準の機能だけでCより6.4倍高速ですが何か?
0697デフォルトの名無しさん
2015/02/10(火) 10:14:52.15ID:tqHZRQkIこれは空想だし、
>>695
現実は殆どのケースでトリプルスコアで負けている
騙されてはいけない
0698デフォルトの名無しさん
2015/02/10(火) 10:30:28.76ID:aeiYROV4http://practical-scheme.net/wiliki/wiliki.cgi?Lisp%3A%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E8%AA%A4%E8%A7%A3
LISPは速い - 翡翠はコンピュータに卵を生むか
http://d.hatena.ne.jp/masatoi/20100118/1263741706
ろーてく - ブログ Common Lisp 早い!?
http://lowtech.oops.jp/modules/weblogD3/details.php?blog_id=84&cat_id=12
:: Lispって意外と速い? | 世界の半分〜まじかる☆ちきんれーす ::
http://halfworld.jugem.jp/?eid=130
LISP ベースの「世界最速」 (と作者が信じる) ウェブサーバ - スラッシュドット・ジャパン
http://slashdot.jp/developers/article.pl?sid=09/05/28/0218247
リリカル☆Lisp開発日記 » Blog Archive » LispをCより速くする
Island Life - 「Cで書くコードの方がCommon Lispで書くより速いって人がいたら、それは彼のCの技量が高すぎるってことだね。」
http://blog.practical-scheme.net/shiro/20100620a-lisp-speed
Lisp は「C 言語並みに速い」「C 言語より速い場合がある」
http://valvallow.blogspot.jp/2010/06/lisp-c-c.html
http://blog.bugyo.tk/lyrical/archives/219
0699デフォルトの名無しさん
2015/02/10(火) 10:34:18.20ID:tqHZRQkICより速いのひとつもないのが現実
0700デフォルトの名無しさん
2015/02/10(火) 10:39:03.20ID:CJY92eMDそういう構造ってどこにでも見るよね
権威主義的なやつがハクつけるために嗅ぎ付けて来ちゃう
最近馬鹿にされがちな意識高い系ってのもまるごと
そういう振る舞いに憧れて量産された馬鹿のことなんだよな
0701デフォルトの名無しさん
2015/02/10(火) 10:56:08.84ID:zSCFRYjGCommonLispがRubyやPythonより大体100倍のオーダーで速くてCにも迫れる位の認識は広まったから良いんじゃね?ってところだな。
言われなければ、CommonLispはRuby位の速度だって思ってるんじゃないかな。
0702デフォルトの名無しさん
2015/02/10(火) 10:57:43.08ID:ksYpl7Rb俺そういう認識だったw
0703デフォルトの名無しさん
2015/02/10(火) 13:36:23.66ID:qAZJcue+ゴールまでの近道を見付けるのがLispの方が速くて
そこが勝因になることがあるってこと
0704デフォルトの名無しさん
2015/02/10(火) 13:51:08.94ID:tJWV0Msc0705デフォルトの名無しさん
2015/02/10(火) 14:23:55.99ID:Unjui7d00706デフォルトの名無しさん
2015/02/10(火) 17:59:23.16ID:pF/aVswz発想・設計から保守まで含めた速度で考えればLispでも何とかCに対抗できるはず
0707デフォルトの名無しさん
2015/02/10(火) 18:00:58.30ID:pF/aVswz断言するが、Cの方が頭を使う
実務的には、5月に、昔作ったCのコードを保守できる人がうちの会社から消える
0708デフォルトの名無しさん
2015/02/10(火) 19:45:05.28ID:fy1hPi3U0709デフォルトの名無しさん
2015/02/10(火) 19:50:49.00ID:Ae/h3GWY0710デフォルトの名無しさん
2015/02/10(火) 20:05:07.35ID:tJWV0Mscそれは頭を使うのいみが違う
そのくらいわからんのか
0711デフォルトの名無しさん
2015/02/12(木) 13:30:34.03ID:H2BvcWHQ0712デフォルトの名無しさん
2015/02/12(木) 13:55:25.12ID:/vHxcq1E0713デフォルトの名無しさん
2015/02/12(木) 14:10:50.33ID:y72uNgid0714デフォルトの名無しさん
2015/02/12(木) 20:39:43.51ID:nopYXecfいきなりだったら何の話でもどこの会社でもダメだ
バカじゃねーの
0715デフォルトの名無しさん
2015/02/12(木) 21:46:59.13ID:+oiFZXuj「リスプできます!」って。
0716デフォルトの名無しさん
2015/02/12(木) 21:55:53.76ID:DvTDGtdT0717デフォルトの名無しさん
2015/02/12(木) 22:19:22.63ID:+oiFZXujで、採用されたんですか?
0718デフォルトの名無しさん
2015/02/15(日) 11:11:00.17ID:R3mGDphaどっちも同じようなもん?
0719デフォルトの名無しさん
2015/02/15(日) 12:13:34.14ID:imHzIbsqどっちも学べ
The little schemerと
Land od Lisp買っとけ
0720718
2015/02/15(日) 13:01:52.23ID:1MddSWAdwiki見るとschemeはミニマムを目指してるみたく書いてあったから、先にschemeトライするのが正解に思えてきた。
ま、入口で悩んでる時間ももったいないですしね
0721デフォルトの名無しさん
2015/02/15(日) 13:03:54.46ID:imHzIbsq用途によるな
将来的にLispを使うのならCL
継続などを学びたいだけならscheme
0722デフォルトの名無しさん
2015/02/15(日) 14:01:01.91ID:3OrubE+sSchemeはまともなマクロを標準化できてない。
0723デフォルトの名無しさん
2015/02/15(日) 14:02:06.36ID:zF3eUWac0724デフォルトの名無しさん
2015/02/15(日) 14:11:13.02ID:UOWPKbNmSchemeで。
相性悪かったらこの世界とはおさらばで。
0725デフォルトの名無しさん
2015/02/15(日) 14:12:55.86ID:XmVE8RCz0726718
2015/02/15(日) 14:19:57.93ID:1MddSWAdさわりだけならすぐ一回りできるらしいし、schemeの処理系入れたんで弄ってみます
>>722氏のコメントは頭に置いときます。アドバイスありがとうございます。
0727デフォルトの名無しさん
2015/02/15(日) 14:27:58.38ID:pH70D4cQTheが抜けてます
0728デフォルトの名無しさん
2015/02/15(日) 14:33:56.00ID:u2JNOHd3>>722なんか意味ないよ
とりあえず初心者が学ぶ段階では
俺もThe Little Schemerをすすめるな
1章から7章までは多分を簡単
「バカにしてるのか?」と思うかもしれない。が、しかし……
ま、8と9章で向き不向きがわかるかな
そこで挫折する人は多いだろな、この前もここで「諦めた」って人いたし。
最後はインタープリターつくるんだが、前章までわかってりゃ楽ちんかな
ま、頑張ってくれ
俺もThe Little Schemerやったよ
あ、特徴をひとつ。セルには触れない。あくまで記号処理の枠でやる。
0729デフォルトの名無しさん
2015/02/15(日) 15:10:49.06ID:Qwk5nQv89章のお題YCをもういちどTheLittleSchemerの最初から追っていけば今度こそ理解できるかな‥これから本屋だ
0730デフォルトの名無しさん
2015/02/15(日) 15:30:33.73ID:zLqQDneS専用の構文がある言語の方が良い
0731デフォルトの名無しさん
2015/02/15(日) 16:02:18.10ID:sccCWRTy0732デフォルトの名無しさん
2015/02/15(日) 16:09:03.92ID:zLqQDneS関数型プログラミングがしたいだけならlispよりもっと向いてる言語がある
the little schemerは読む価値あるけど
0733デフォルトの名無しさん
2015/02/15(日) 16:46:54.32ID:UOWPKbNm0734デフォルトの名無しさん
2015/02/15(日) 17:16:19.34ID:YH8/c8HQ好きなのやれ
0735デフォルトの名無しさん
2015/02/15(日) 17:22:29.65ID:sccCWRTyWebアプリや携帯はjavaが多いけど、Webサーバまでみるとlispがいまだに幅を利かせているという現実
0736デフォルトの名無しさん
2015/02/15(日) 17:26:39.49ID:+YnK72sf0737デフォルトの名無しさん
2015/02/15(日) 19:52:55.35ID:00orNeCZごく少数の過去の遺物ですよ
0738718
2015/02/15(日) 20:50:16.81ID:5ldiypqZ丁寧に教えてくれて嬉しいです。little schemerはkindle版ないのが残念だけど、本屋で覗いて見ますわ。
実は上に書き込んでから「独習 Scheme 三週間 」ってサイトを見つけてのめりこんでましたよ。
重ね重ね、皆さんレスありがとうございます
0739デフォルトの名無しさん
2015/02/15(日) 22:14:15.77ID:CdX1KqlBallegroserve に Lispache、最近は >>692 かな
0740デフォルトの名無しさん
2015/02/15(日) 22:46:31.69ID:TPGLiVec0741デフォルトの名無しさん
2015/02/15(日) 23:27:20.71ID:SrUN3Dg4正気じゃない役立たず
0742デフォルトの名無しさん
2015/02/15(日) 23:32:11.13ID:UOWPKbNm0743デフォルトの名無しさん
2015/02/15(日) 23:56:20.13ID:gBYECTA5わかると思うよ
自分自身へのポインターを確保するために引数をひとつとって無名再帰させる話でしょ?
それがわかば適用順Yコンビネーターは割りと単純は変形
要するに適用をラムダ化して引数化していく
躓いたところはここで聞けば?
わかる範囲でこたえる
0744デフォルトの名無しさん
2015/02/16(月) 00:26:54.10ID:oJNvAL6Zthx
0745デフォルトの名無しさん
2015/02/16(月) 00:41:35.25ID:XOZRxjEFアプリ立ち上げなおせば作業再開できるとかオーパーツレベルの過去の遺物
だよな。。。
0746デフォルトの名無しさん
2015/02/16(月) 01:00:16.09ID:vEgulV7RScheme がミニマムを目指してるってのはよくある誤解。
議論を徹底するので無闇に膨れたりはしないけど、議論した結果として機能を増やすことになれば増やす。
議論でまとまらなければ未定義になるので結果的に未定義だらけで今のところ仕様は小さいってだけ。
未定義の部分はそれぞれの処理系がそれぞれの作者の考え方で作るから、
そういうところも含めれば実態としてはそんなに小さくもない。
0747デフォルトの名無しさん
2015/02/16(月) 08:43:44.54ID:v1v01xXU教養としてSchemeは学んでもよいとは思う。
けど、ある程度理解したら新しくてメジャーな言語にした方がいい。
経済的な問題もある。
0748デフォルトの名無しさん
2015/02/16(月) 09:20:43.96ID:SUgqenX3「確かにそうできるけど、なんかイケないんだぁ。先生、この子、なんかズルしてます!!」
って感じぃ
1. nilが意味し得るもの
2. (car nil), (cdr nil)がエラーにならないこと
ま、それに慣れてるとSchemeって
「おまえ、どんだけ融通効かないの?記述が冗長になるだろうが。これだから模範性は!!」
って感じぃ
0749デフォルトの名無しさん
2015/02/16(月) 09:40:02.74ID:+79ZJbqlt先生とa君かよ
0750デフォルトの名無しさん
2015/02/16(月) 10:48:05.30ID:XP4TAyIw> オーパーツレベルの過去の遺物
オーパーツの意味わかってないだろっwww
0751デフォルトの名無しさん
2015/02/16(月) 11:08:20.53ID:fGaWs66b■ このスレッドは過去ログ倉庫に格納されています