Lisp Scheme Part38
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2014/02/01(土) 19:55:39.23■前スレ
Lisp Scheme Part37
http://toro.2ch.net/test/read.cgi/tech/1377967896/
■テンプレ
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/02/01(土) 20:04:51.33乙
0003デフォルトの名無しさん
2014/02/01(土) 21:17:38.30(2) car, cdr はそれぞれ何の略号でしょうか? 答えなさい。
0004デフォルトの名無しさん
2014/02/01(土) 21:18:46.33hogeは禁止します、使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
なお、hogeはNGワードに追加しておくことが強く推奨されています。
0005デフォルトの名無しさん
2014/02/01(土) 23:15:48.20foo,bar,baz, fuga , hehe, gegeに付いてはいかがであろうか?
0006デフォルトの名無しさん
2014/02/02(日) 09:48:36.380007デフォルトの名無しさん
2014/02/02(日) 23:18:53.470008デフォルトの名無しさん
2014/02/03(月) 01:42:26.670009デフォルトの名無しさん
2014/02/03(月) 03:01:30.020010デフォルトの名無しさん
2014/02/04(火) 22:55:57.340011デフォルトの名無しさん
2014/02/04(火) 23:10:57.830012デフォルトの名無しさん
2014/02/04(火) 23:14:26.550013デフォルトの名無しさん
2014/02/04(火) 23:26:29.720014デフォルトの名無しさん
2014/02/05(水) 21:52:59.23ラムダ計算のとこがさっぱりわからん
0015デフォルトの名無しさん
2014/02/05(水) 22:21:06.230016デフォルトの名無しさん
2014/02/06(木) 06:21:24.470017デフォルトの名無しさん
2014/02/06(木) 08:56:35.01風呂屋の「湯」がスープに見える件か
0018デフォルトの名無しさん
2014/02/06(木) 22:38:15.440019デフォルトの名無しさん
2014/02/07(金) 14:21:11.64「それは何か」ってことを考えても仕方ない。
だって誰かがそう決めたという以上の意味なんてないんだもの。
0020デフォルトの名無しさん
2014/02/07(金) 16:24:57.73衒学趣味をちらつかせたい高校生向けという感じが否めないなあ。
0021デフォルトの名無しさん
2014/02/07(金) 20:36:00.980022デフォルトの名無しさん
2014/02/07(金) 23:21:06.490023デフォルトの名無しさん
2014/02/07(金) 23:46:16.72「何か」が「論文を書く」だからな…
0024デフォルトの名無しさん
2014/02/10(月) 13:33:15.35何か?に対して、かくかくだよぉーん
とする、させることを概念化することだな
視座なくして 何か?なんて意味がない。
それ自体の意味、本質!
なんていやつは形而上学まみれの科学もどき
0025デフォルトの名無しさん
2014/02/10(月) 18:19:54.690026デフォルトの名無しさん
2014/02/10(月) 20:51:00.620027デフォルトの名無しさん
2014/02/11(火) 04:25:34.990028デフォルトの名無しさん
2014/02/12(水) 03:17:18.910029デフォルトの名無しさん
2014/02/12(水) 06:22:07.95が自体的に成り立つなんて思ってるお馬鹿がまだまだうじゃうじゃだな
0030デフォルトの名無しさん
2014/02/12(水) 10:00:42.24relation とかなんとかですか?もうききあいたよ
0031デフォルトの名無しさん
2014/02/12(水) 10:10:58.59ききあきたけど
わかってないままなのね
0032デフォルトの名無しさん
2014/02/14(金) 03:03:28.640033デフォルトの名無しさん
2014/02/14(金) 20:23:07.110034デフォルトの名無しさん
2014/02/15(土) 12:02:48.39Lispってまんま集合論で、すごい発想はなにもなくて
証明されてるものを実装したってだけに感じて
Lispのみならず、データ構造などの概念の多くは集合論から端を発しているものが多く
理解するには集合論について理解を深めることが肝心と思っけど
そういうことに言及する人とか本とか少ない気がするのね
Lispを使う人々は、教える人も教わる人も、
集合論などはなっから理解してる本業の人たちばかりだから
あえて明示的に指摘しないのかなとも思うけど
そういう資料があれば、理解が深まるし誰にでも確実に理解できていいと思うんだけどな
0035デフォルトの名無しさん
2014/02/15(土) 13:18:50.73それでも集合論とMcCarthyのLispの間にはかなりの飛躍があるので、
「すごい発想はなにもなくて」ってことはない。
McCarthyのLisp以前の話なら計算模型(オートマトンとかラムダ計算とか)の教科書を読んどくといい。
McCarthyのLispが導入したものが何なのか知りたいならMcCarthyの論文を読めばいい。
McCarthyのLisp以降の話ならプログラム意味論に行くといい。
0036デフォルトの名無しさん
2014/02/15(土) 14:19:58.36俺には雲の上の話だな
いま、rplacd使ってセルのつながりを変えるところに進んだ。
Lispは楽しいな
0037デフォルトの名無しさん
2014/02/15(土) 21:59:01.69ありがとう助かった
データ構造と集合論との関係とかは、プログラム意味論に当たるんだね!
暗黙のうちに理解される自明なことで、あえて書いてくれないのかと思ってたよw
あとさ、McCarthyさんのすごかったところは、それこそプログラミング意味論的なものなんじゃないかなとも思うけど
まぁとにかくその辺り勉強して論文を読んでみるとする
0038デフォルトの名無しさん
2014/02/15(土) 22:18:13.800039はちみつ餃子 ◆8X2XSCHEME
2014/02/15(土) 22:47:29.03理解しなくても使えるからだと思う。
「本業」ってどういうのを想定してる?
理論を表現するために LISP を使うスタンスとプログラミング言語としか見ないスタンスが有って、
後者の方が多数派ってことなんじゃないかな。
0040デフォルトの名無しさん
2014/02/15(土) 22:49:36.73俺はLispを柔軟に書けるて実行速度がそれなりに速い言語としか見てないよ
0041デフォルトの名無しさん
2014/02/15(土) 22:58:33.47手続き的な思考と、集合論的な思考と、どっちが馴染むか。
手続きで考えた方が良い場合もあるし、宣言的に考えた方がいい場合もある。
今目の前の問題はどちらだろうか。
という選択があるのかないのかで話はけっこう違うんじゃないか。
数学は現実を記述するための言語なのだから、
理論を表現しても「それが何の役に立つ?」という話になるし。
0042デフォルトの名無しさん
2014/02/15(土) 23:49:34.62ダイクストラ/ホーア/ダール「構造化プログラミング」
0043デフォルトの名無しさん
2014/02/16(日) 09:49:18.86あなたは素晴らしい。才能がある。
技巧だけではなく理論面も掘り下げていってほしい。
昔のLisperは理論、実装ともに堪能な人が多かった。
最近はそういう人は少なくなった。
0044デフォルトの名無しさん
2014/02/16(日) 11:24:16.290045デフォルトの名無しさん
2014/02/16(日) 12:12:44.970046デフォルトの名無しさん
2014/02/16(日) 12:21:17.85そうかも
でも、全然駄目かも
頭は良くても態度に問題が
それが実践でどうでるかだな
また、それは社会関係だけでなく能力の伸び代も大きく規定するし
さーて、どうかなあ
0047デフォルトの名無しさん
2014/02/16(日) 12:23:05.210048デフォルトの名無しさん
2014/02/16(日) 13:36:34.99データ構造を集合として扱い、ラムダ式(関数)を集合間の対応(写像)として
数学的な(=形式的な)意味を定義しようとする試みは、昔から行われていた
しかし、ラムダ式の自己適用(ラムダ式を入出力とするラムダ式)で起こる
論理的矛盾の解消が壁になっていた
具体的には、計算対象を集合 D とすると、ラムダ式の自己適用は
D = D -> D で表されるけど、数学的常識的には D の濃度は
D -> D の濃度よりも小さくなければならないから等式が成立しない
これを解決したのが、D.スコットによる領域理論(domain theory)になる
領域理論については、以下の書籍が日本語で書かれた良い入門書になる
・プログラム意味論 (情報数学講座): 横内 寛文
http://www.amazon.co.jp/dp/4320026578/
また前述の領域理論が生まれた背景は、以下の古い書籍から引用したもの
・岩波講座 情報科学〈12〉算法表現論 (1982年): 木村 泉, 米澤 明憲
http://www.amazon.co.jp/dp/B000J7P0KY/
あと、理屈(理論)は大切だけど、実践はもっと大切だよね!!
もしも未読であれば、ぜひともSICP本を読まれることを薦める
0049デフォルトの名無しさん
2014/02/16(日) 15:11:42.170050デフォルトの名無しさん
2014/02/16(日) 16:19:39.69高二病はあまり役に立たない直ぐにでも治療が必要
0051はちみつ餃子 ◆8X2XSCHEME
2014/02/16(日) 17:23:19.06ム板でそんな話しても相手にされなくてあたりまえだろ。
0052デフォルトの名無しさん
2014/02/16(日) 17:28:57.660053デフォルトの名無しさん
2014/02/16(日) 18:12:36.530054デフォルトの名無しさん
2014/02/16(日) 18:21:18.04ぜひづづけてくれないかね
0055デフォルトの名無しさん
2014/02/16(日) 18:44:06.23減ることはないだろう。それを「ム板の話ではない」と決めつける理由は、老害脳以外に
無いと思うが、まぁ老害ならばしかたないな。
0056デフォルトの名無しさん
2014/02/16(日) 19:05:14.55だからといって何もかもム板でやってよいというのは暴論だろ。
ゲーム制作やウェブ制作だって別板なんだぜ?
0057デフォルトの名無しさん
2014/02/16(日) 19:11:47.52ならば、以後、はちみつはプログラミングとは無関係なウンチク語りを一切禁止な
0058デフォルトの名無しさん
2014/02/16(日) 19:16:33.590059デフォルトの名無しさん
2014/02/16(日) 19:19:15.000060デフォルトの名無しさん
2014/02/16(日) 19:33:09.85小学生みたいに手続き型のプログラム知らない人のほうが、lisp理解してもらいやすかったというのもあるぐらいだし、
理論から入った方がいいかは、人によるんじゃないか?
最近はネットで講義を公開してるから、理論からの方が納得出来ると思ったら履修するといいんじゃないか。
https://www.coursera.org/course/automata
0061デフォルトの名無しさん
2014/02/16(日) 20:00:43.35なんでそっちに行くんだ?
こっちだろ。
http://takeichi.ipl-lab.org/lecture/computation-model2004/Scott.pdf
0062デフォルトの名無しさん
2014/02/16(日) 20:13:38.63そういう理論から入ろうとするのは余計なハードルじゃないか。
よりよく使うには理論があった方がよろしいというのはわかるが、
まずLispを使おうという人がそんなに多くない状況なんだから、
もっとキャッチーなキラーアプリとか使い易さでアピールする方がいいよ。
0063デフォルトの名無しさん
2014/02/16(日) 20:19:22.95はじめは、チューリングマシンとその他の計算モデルの等価性からかなと。
0064デフォルトの名無しさん
2014/02/16(日) 20:40:08.70理論が実用の役に立つという意識付けというか目的意識があった方がモチベーションに繋がるから、
先に実用が有った上でこういう理論が当て嵌められるよっていうのがあると良さそう。
理論なんて実用されなきゃただの難しいパズルだもん。
パズルが悪いわけじゃなくてそれはそれで尊重はするけど、プログラミング言語はエンジニアリング寄りのものだしさ。
現実と理論が乖離してたときにどっちが正しいと思う? そりゃ現実が正しくて理論が間違ってる。
エンジニアリング的視点に立つなら理論背景は後回しにするのが合理的だと思う。
0065デフォルトの名無しさん
2014/02/16(日) 21:37:29.25俺派仮にうまく行っててもそれでいいとも思えないな
0066デフォルトの名無しさん
2014/02/16(日) 22:07:39.00今後Lispの替わりが出てくるとも思えないし
0067デフォルトの名無しさん
2014/02/16(日) 22:48:18.16足元巣食われるんじゃないのか
0068デフォルトの名無しさん
2014/02/16(日) 22:50:20.490069デフォルトの名無しさん
2014/02/16(日) 22:59:44.950070デフォルトの名無しさん
2014/02/16(日) 23:09:56.70数学の問題の解き方を覚えるのと、数学を理解するのとは違うわけで。
0071デフォルトの名無しさん
2014/02/17(月) 00:41:54.41悟りを開くためにやる言語だとか言われてたよね。
非Lisperな対してはそんなスタンスで良いんじゃないかな。
じゃあ理論的な部分抜きで悟れるのか?って話になるよね。
007264
2014/02/17(月) 08:53:08.39誤解があるみたいだけど、理論が要らないと言ってるわけじゃないよ。
どうして上手くいったのか、上手くいかなかったのかということに解は必要だ。
だけど、上手くいった体験を持たずに理論が先行するのがよくないと言ってんの。
0073デフォルトの名無しさん
2014/02/17(月) 09:56:53.490074デフォルトの名無しさん
2014/02/17(月) 10:36:07.01いいから数学板へ行けよ。
なんでそう頑にム板でやろうとすんの。
0075デフォルトの名無しさん
2014/02/17(月) 10:42:46.45いいからこのスレから消えろよ。
なんでそう頑にスレを自分の思い通りにしようとすんの?
0076デフォルトの名無しさん
2014/02/17(月) 11:10:40.16無くていいとは言ってなくて、この板でやるべきじゃないという話なのになんでそうなるの?
0077デフォルトの名無しさん
2014/02/17(月) 11:12:16.64そうやって故意に話を捻じ曲げて相手を悪者にする論調は何なの?
それで得することあるの?
数学板が機能してないクズの集合体だからこっちでやりたいの?
ちょっと理由を言ってみてくれんか。
0078デフォルトの名無しさん
2014/02/17(月) 11:22:41.58あれは話題に付いていけない人が多いからという説が有力視されてる。
初心者を置いてけぼりにする感じが駄目なんだな。 ム板の殺伐さとはまた違ったハードルだと思う。
わかっている人たちで議論してより高度な知識を得たいとかいうのなら2chは向いてないよ。
「初心者の方が多い」という現実があって、ゆるいところから入門してだんだんステップアップするもんだろ。
そんでもって2chはその「ゆるいところ」であるべきだろ。
だから最初にやっかいな理論を持出すようなことはすべきじゃない。
質問があれば必要なところに誘導すれば充分だろ。
0079デフォルトの名無しさん
2014/02/17(月) 12:47:09.01でちまうよぉ
。ρ。
ρ
mドピュッ
C|.| /⌒⌒⌒ヽ/~ ̄ ̄ ̄ ̄ヽ 〜
/⌒ヽ⌒ヽ___ | ∴ヽ 3 ) 〜
./ _ ゝ___)(9 (` ´) ) 〜
/ 丿ヽ___,.───|彡ヽ へ へ| 〜
_/ ) ( Y ̄ ̄ ̄ ̄) 〜
(__/
0080デフォルトの名無しさん
2014/02/17(月) 17:44:26.640081デフォルトの名無しさん
2014/02/17(月) 18:23:28.69数学科を出て、コールセンターで働く不幸な人が絶えまない。
0082デフォルトの名無しさん
2014/02/17(月) 20:53:08.67理論抜きになんのプログラムの話が出来るんだ?
0083デフォルトの名無しさん
2014/02/17(月) 21:05:02.770084デフォルトの名無しさん
2014/02/17(月) 21:07:17.79甘えんじゃねえ
0085デフォルトの名無しさん
2014/02/17(月) 21:11:10.500087デフォルトの名無しさん
2014/02/17(月) 21:26:11.86うちの院卒の新人に聞いてみたが、一人もまともに説明できなかったぞw
0088デフォルトの名無しさん
2014/02/17(月) 21:45:32.250089デフォルトの名無しさん
2014/02/17(月) 21:55:23.84ただ、みたいにLISPERなら理論面もわきまえてて当然というスタンスは駄目だろ。
間口を狭めるだけ。
0090デフォルトの名無しさん
2014/02/17(月) 22:23:21.50そうは言ってもどうせそんなに頻繁にややこしい話は出ないから好きにすりゃいいんじゃね。
ただ、みたいに:
LISPをプログラミング言語としか見ないスタンスが多数派なのだから
意味論を含む理論に関した話題は板違いであり、数学板でやるのが
当然というスタンスは駄目だろ。
間口を狭めるだけ。
0091デフォルトの名無しさん
2014/02/17(月) 23:27:06.38だいたい掲示板なんだから、誰かが面白そうな話してりゃ絡めばいいし、
そうじゃなければスルーするか、自分が面白い話提供すりゃいいよ。
0092デフォルトの名無しさん
2014/02/17(月) 23:58:07.73https://github.com/samth/pycket
ErlangVM
https://github.com/erlware/joxa
https://github.com/rvirding/lfe
ErlangVMで実用的な言語あれば使いたいという人は増えてる気がする
0093デフォルトの名無しさん
2014/02/18(火) 07:17:30.72俺は理論語れるほどじゃないが、語ってる人が居ても良いと思うぞ。
0094デフォルトの名無しさん
2014/02/18(火) 07:51:35.800095デフォルトの名無しさん
2014/02/18(火) 09:13:26.420096デフォルトの名無しさん
2014/02/18(火) 09:56:31.780097デフォルトの名無しさん
2014/02/18(火) 14:37:24.88「リスト遊び」の著者が推薦している(オーム社版の)「Scheme手習い」注文した。
Lispって楽しいな。
Lispでアウトラインプロセッサ作ろうと思ってって始めたけど、その前にLisp自身を作ることになるかな。
ま、いいや。
0098デフォルトの名無しさん
2014/02/18(火) 17:07:07.00Erlang上で動くProlog処理系おしえて(;´Д`)
前に探したけど、見つからなんだ
0099デフォルトの名無しさん
2014/02/18(火) 17:12:19.71下らないことで偉そうにしてる人って居るよね
そのぐらいしか人生で自慢することがなくって、心の支えにしてるんだろうから、
そっとしておいてあげよう
0100デフォルトの名無しさん
2014/02/19(水) 14:32:53.88Lisp の字句解析教えてー
Lispのシンボルは数字が先頭ってこともあるじゃん?
そこがどうすればいいのかわからん。
0101デフォルトの名無しさん
2014/02/19(水) 15:12:02.580102デフォルトの名無しさん
2014/02/19(水) 16:10:43.370103デフォルトの名無しさん
2014/02/19(水) 16:11:03.170104デフォルトの名無しさん
2014/02/19(水) 16:15:23.530105デフォルトの名無しさん
2014/02/19(水) 21:52:18.26それとも その二つどちらもあわせたデータ構造を指すの?
0106デフォルトの名無しさん
2014/02/19(水) 22:26:29.03「セル」とはあまり言わないんじゃないかな
0107デフォルトの名無しさん
2014/02/19(水) 22:28:36.27例外なくな
0108デフォルトの名無しさん
2014/02/19(水) 22:34:05.22この2つの発明により、LISPはマジョリティの道から外された
CommonLispは必死に抵抗したが、結局car cdrには勝てなかった
0109デフォルトの名無しさん
2014/02/19(水) 22:58:04.57セル(またはコンスセル)のCDR部が他のセルへのではなくnilを除くatomへのポインターをもつとき、リスト表現できずにドット対表現される。
なお、リストはドット対表現可能。
(1 ) → (1 . nil)
0110デフォルトの名無しさん
2014/02/19(水) 23:00:55.220111110
2014/02/19(水) 23:02:55.380112デフォルトの名無しさん
2014/02/19(水) 23:05:42.48セルのCDR部によってリンクされる各セルのCAR部がポイントするデータを羅列しカッコでくくったものだな
式としてのリストは存在しても実体としてリストなんてものはない。
あるのはセルとアトムだけだ。
0113デフォルトの名無しさん
2014/02/19(水) 23:06:18.46ちゃいます
0114デフォルトの名無しさん
2014/02/19(水) 23:09:46.17具体例出せる?
0115デフォルトの名無しさん
2014/02/19(水) 23:11:38.08http://wbb.forum.impressrd.jp/feature/20071212/515
http://www.inamori-f.or.jp/laureates/k04_a_john/img/lct_j.pdf
この講義資料、改変と再配布を認めますってかいてあるんだ。
http://www-ui.is.s.u-tokyo.ac.jp/~hara2001/scheme/
0116デフォルトの名無しさん
2014/02/19(水) 23:19:59.74用語はハイパースペック見るのが正しいな
0117デフォルトの名無しさん
2014/02/19(水) 23:21:14.930118デフォルトの名無しさん
2014/02/19(水) 23:23:33.24コンスセルは表現ではなく実体。
ドット対とはあくまでドット対表現の意味
セルの表現にドット対表現とリスト表現がある。
あるセルのCDR部は、たかだか一つのセルまたはアトムしかポイントしない。
しかるにドット対表現では
(1 . (2 . (3 . nil))) のごとくセルのリンクを、そのCDR部に表現可能であり、いかなるリンクにてあるかを、たかだか1つのドット対表現から知ることができる。
しかし、セルをいくらみても
CAR部とCDR部のポインターの先を見られるだけで、先の先については何も知ることができない。
片や実体、片や表現。
Cellとdotted pairは同じものではない
0119デフォルトの名無しさん
2014/02/19(水) 23:46:00.66cell に相当する用語は pair ということになると思うが、
pair は dotted pair とも呼ばれると書いてあるから同じものという扱い。
表現方法のことは dotted notation という用語になってる。
Lisp 族でも物によって多少ニュアンスが違ったりすることはあるんじゃないの。
0120デフォルトの名無しさん
2014/02/19(水) 23:50:34.840121デフォルトの名無しさん
2014/02/19(水) 23:53:11.690122デフォルトの名無しさん
2014/02/19(水) 23:54:03.250123デフォルトの名無しさん
2014/02/20(木) 01:13:19.950124デフォルトの名無しさん
2014/02/20(木) 05:37:24.49理解した、サンクス。
0125デフォルトの名無しさん
2014/02/20(木) 12:00:59.700126デフォルトの名無しさん
2014/02/20(木) 12:15:49.780127デフォルトの名無しさん
2014/02/20(木) 13:24:30.480128デフォルトの名無しさん
2014/02/20(木) 13:33:15.81そのこころは
聞いたことあらへんな
0129デフォルトの名無しさん
2014/02/20(木) 16:31:45.05または、OSに任せてよろしいでしょうか?
0130デフォルトの名無しさん
2014/02/20(木) 16:40:49.40OSが解放することが保証されている資源で、プログラム=プロセスという形で
対応させてるなら、それで良い。
0131デフォルトの名無しさん
2014/02/20(木) 17:01:32.60そう考えている時期が僕にもありました。
0132デフォルトの名無しさん
2014/02/20(木) 17:03:55.060133デフォルトの名無しさん
2014/02/20(木) 17:07:04.000134デフォルトの名無しさん
2014/02/20(木) 17:08:44.320135デフォルトの名無しさん
2014/02/20(木) 17:13:34.750136デフォルトの名無しさん
2014/02/20(木) 17:26:48.92無変換にはシフトを割り当ててる
0137デフォルトの名無しさん
2014/02/20(木) 17:27:28.500138デフォルトの名無しさん
2014/02/20(木) 17:27:29.500139デフォルトの名無しさん
2014/02/20(木) 17:28:52.03Dellの日本語キーボード。左右にCtrlキーとAltキーが配置してるやつ
0140デフォルトの名無しさん
2014/02/20(木) 19:27:46.07神が決めた宇宙の真理
0141デフォルトの名無しさん
2014/02/20(木) 19:35:01.690142デフォルトの名無しさん
2014/02/20(木) 19:40:06.460143デフォルトの名無しさん
2014/02/20(木) 19:40:41.010144デフォルトの名無しさん
2014/02/21(金) 01:24:44.860145デフォルトの名無しさん
2014/02/21(金) 01:52:19.57https://www.google.co.jp/search?q=lisp%E3%83%9E%E3%82%B7%E3%83%B3+%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89&tbm=isch
0146デフォルトの名無しさん
2014/02/21(金) 13:55:40.26;;;リストの最後のセルへのポインターを得る
(defun lastcell (lst)
(while (cdr lst)
(setq lst (cdr lst)))
lst))
0147デフォルトの名無しさん
2014/02/21(金) 14:26:07.440148デフォルトの名無しさん
2014/02/21(金) 14:30:38.800149デフォルトの名無しさん
2014/02/21(金) 14:49:40.55チラシの裏の勉強スマン
(defun lastcell (lst)
(cond
((null lst) nil)
((null (cdr lst))
lst)
(t (lastcell (cdr lst)))))
0150デフォルトの名無しさん
2014/02/21(金) 14:58:30.26(cdr nil) → nil
であることを考えると
((null lst) nil)は不要だな
自己レス、やめます。スイマセンでした
0151デフォルトの名無しさん
2014/02/21(金) 17:33:02.50俺の部屋に直子を今晩束縛してくれ
0152デフォルトの名無しさん
2014/02/21(金) 18:25:34.09何故か「直子の代筆」と言う商品が想起された
0153デフォルトの名無しさん
2014/02/22(土) 14:46:32.79いちいち「変数xに××へのポインターセットし」と言わずに「変数xに××を束縛し」で済む。
(束縛の意味を誤認しているかもしれないけれど)
0154デフォルトの名無しさん
2014/02/22(土) 15:08:37.68http://japan.cnet.com/news/business/35044266/
>外国語訛りの英語や女性起業家に関する同氏の最近の発言はいささか物議を醸したが
何かあったの?
0155デフォルトの名無しさん
2014/02/22(土) 16:24:44.77それに関するポールのコラムにリンク貼ってあるじゃん
0156デフォルトの名無しさん
2014/02/22(土) 18:57:21.08Gaucheにもwhileあるよ。
0157デフォルトの名無しさん
2014/02/22(土) 21:09:55.170158デフォルトの名無しさん
2014/02/22(土) 23:04:58.590159デフォルトの名無しさん
2014/02/22(土) 23:40:09.75shiro さんがそのことについて言及してるな。
http://blog.practical-scheme.net/shiro/20130910-do-your-homework
0160デフォルトの名無しさん
2014/02/22(土) 23:59:54.940161デフォルトの名無しさん
2014/02/23(日) 02:45:28.890162デフォルトの名無しさん
2014/02/23(日) 10:33:49.88見事に誤認してる。
ポインターとか考えてたらはまるだけだから。
0163デフォルトの名無しさん
2014/02/23(日) 12:02:36.89見事な正解を教えてくれ
0164デフォルトの名無しさん
2014/02/23(日) 13:09:29.450165デフォルトの名無しさん
2014/02/23(日) 17:19:31.41お馬鹿だったのね
0166デフォルトの名無しさん
2014/02/23(日) 17:33:49.58アメリカもマスコミはマスコミということか
0167デフォルトの名無しさん
2014/02/23(日) 23:20:42.25ありがとう。そういうことだったのか。
0168デフォルトの名無しさん
2014/02/24(月) 18:40:56.59束縛は束縛だよ。 いわば定義なので、束縛に束縛以外の意味などない。
実装レベルの話なら別だけどさ。
0169デフォルトの名無しさん
2014/02/24(月) 19:34:32.740170デフォルトの名無しさん
2014/02/24(月) 19:57:27.40逆で
データに変数を束縛だな
0171デフォルトの名無しさん
2014/02/24(月) 21:00:15.910172デフォルトの名無しさん
2014/02/27(木) 22:05:29.64束縛そのものに実体は無い
束縛先を変えるしかない
0173デフォルトの名無しさん
2014/02/27(木) 22:11:18.38そのヤンキーと女との束縛関係には実体がない
がヤンキーは確実にその女を束縛できる
女は他者によって自分を変えることはできても
ヤンキーからの束縛からは自主的に逃れられない
ヤンキーが飽きるか死ぬまで女は束縛され続ける
0174デフォルトの名無しさん
2014/02/27(木) 22:37:41.86ヤンキーに見放された場合も女は孤立して静かに死ぬ
女が生き残るには、ヤンキーと別れる前に
他のイケメンによって束縛されなければならない
女は束縛され続けることでしか生き残れないし生きる術を知らない
逆にヤンキーとイケメン達で女を共有することも可能である
0175デフォルトの名無しさん
2014/02/27(木) 22:53:52.07稀に他の女と結託することで保護を受けられる場合がある
そうやってうまいこと他の女を盾にしていけば
その女は束縛関係を生きながら断ち切ることができるかもしれない
そのことを最後に付け加えておく
0176デフォルトの名無しさん
2014/02/27(木) 22:59:57.500177デフォルトの名無しさん
2014/02/28(金) 14:50:13.88何のためにはじめたのか覚えてはいるけれど、それは少しどうでも良くなってCommon LispやSchemeに親しむこと自体が楽しみになってきた。
そのうちCISPも読んでみよう。
仕事にはならないだろうけどね
0178デフォルトの名無しさん
2014/02/28(金) 19:55:24.10>CICP
SICP?
>仕事にはならないだろうけどね
この一行を思いつきもしなくなったら本物
0179デフォルトの名無しさん
2014/02/28(金) 20:48:23.55仕事によるんじゃないのかなー?
0180デフォルトの名無しさん
2014/02/28(金) 21:07:05.660181デフォルトの名無しさん
2014/02/28(金) 21:56:30.490182デフォルトの名無しさん
2014/02/28(金) 22:04:37.89工場のシステムは30年前からそのまま動いてたりするから、ナメたらあかんぜよ
0183デフォルトの名無しさん
2014/02/28(金) 23:05:52.920184デフォルトの名無しさん
2014/03/01(土) 11:23:56.28ソースコードをいじって遊べるほど安定化はしてるんだろうか
0185デフォルトの名無しさん
2014/03/01(土) 11:54:07.04本家側のリポジトリが超進化してしまって整合性とれないような
そういう段階なら、まだ手出ししたくない
いつごろ安定するのだろう
0186デフォルトの名無しさん
2014/03/01(土) 15:27:42.800187デフォルトの名無しさん
2014/03/02(日) 23:49:42.370188デフォルトの名無しさん
2014/03/03(月) 01:13:22.690189デフォルトの名無しさん
2014/03/03(月) 01:19:16.110190デフォルトの名無しさん
2014/03/03(月) 05:02:12.40Haskellも勉強しているんだけど、あっちには圏論をバックグラウンドとした未踏の世界が相当広がっている。scheme って良くも悪くも、すごく単純な世界だよね。
0191デフォルトの名無しさん
2014/03/03(月) 14:04:30.45(語彙をまるごと用意しないといけないのであえて Scheme でやるのは馬鹿げているけど、
Haskell 処理系が登場する前にプロトタイプを記述する目的でなら Scheme は有用だったかもしれない。)
そういったパラダイムを言語ユーザが欲っしたときに邪魔するものが無いようにというのが Scheme の思想なので、
言語自体が何らかのパラダイムに強く縛られるのは望ましくない。
0192デフォルトの名無しさん
2014/03/03(月) 15:13:47.440193デフォルトの名無しさん
2014/03/03(月) 19:02:29.350194デフォルトの名無しさん
2014/03/03(月) 19:37:14.44陽でない (処理系の内部構造で) 継続のようなものを持っている言語処理系はそんなに珍しいことでもない。
起源は Scheme なんだろうし、後の色々な言語に影響も与えたのは間違いないけど、
今では他の言語と比べて第一級継続があるから凄いということもないと思う。
それよりも、第一級継続を元にしてバックトラックさせたりコルーチンやらジェネレータに応用したりする枠組みを
作ることが出来るという抽象化の能力こそ Scheme の素晴らしさだと思う。
0195デフォルトの名無しさん
2014/03/03(月) 19:45:28.740196デフォルトの名無しさん
2014/03/03(月) 19:58:18.660197デフォルトの名無しさん
2014/03/03(月) 21:36:19.40バックトラックやコルーチンが実装できるのは確かに面白いと思った。でも、それらはもう何年も前からある、継続の利用例だよね。他には継続の使い道、あるのかなぁ。煽りじゃなく純粋に知りたい。
0198デフォルトの名無しさん
2014/03/03(月) 23:07:15.56プリミティブな機能を抽象化の壁で覆う力が強いということを強調したつもりなんだが。
0199デフォルトの名無しさん
2014/03/03(月) 23:19:45.250200デフォルトの名無しさん
2014/03/03(月) 23:56:33.53そういうものが有るということに気付いたというのが Scheme の成果だし、
様々な制御がどういうものであるかという「根拠」となるのが継続。
ダイクストラはプログラムの構造化を提示したが、
更にそれの基盤になる概念が継続というわけ。
例えていうなら、原子が最小の単位だと思ったら素粒子が有ったわーみたいな。
で、その継続を第一級としたのは、
現時点で未知の制御構造を導入したいとプログラマが思ったときに
それを邪魔しないようにという Scheme の基本思想を反映したものであって、
未知の何かに対して早々に決断しないという慎重さでもある。
0201デフォルトの名無しさん
2014/03/04(火) 01:33:04.24継続呼び出しだと内部実装的に大げさ過ぎるのが判ってるし
末尾再帰でループを書くよりもgotoで書いた方がやはり大抵の場合速いわけで
named-letなんてgotoをかえって判りにくく書いたようでやりたい事がぼやけてしまう
0202デフォルトの名無しさん
2014/03/04(火) 01:39:36.080203デフォルトの名無しさん
2014/03/04(火) 01:56:32.91強盗やってろ
0204デフォルトの名無しさん
2014/03/04(火) 02:06:19.49ただの思い込みで批判されてもねぇ
0205デフォルトの名無しさん
2014/03/04(火) 04:42:34.87今は未知の、新しい制御構造が出てきたときでも継続さえあれば十分だ、としよう。でも、もしもう新しい制御構造なんてものが無いなら、継続の価値は既存の制御構造を抽象化し統一的に上手く説明できるだけ(それはそれで立派な成果だとは思うけど)になる。
で、新しい制御構造って研究されてるのか、知りたかったんだよ。
0206デフォルトの名無しさん
2014/03/04(火) 10:56:35.31複数の木をそれぞれ非連動で同時にたどるとか。
0207デフォルトの名無しさん
2014/03/04(火) 12:16:19.46http://www.docin.com/p-504225148.html
これを読むと継続からSchemeができたように思える
0208デフォルトの名無しさん
2014/03/04(火) 13:01:10.27そうそう。 >>206 の意見には賛同できる。
欲しい構造としてはコルーチンなんだけどインターフェイスの面で微妙に違うのが欲しかったりとか。
0209デフォルトの名無しさん
2014/03/04(火) 23:41:50.44末尾呼び出しなだけではgotoと同等にはならない。
末尾呼び出しをgotoに変換するには、更にいくつかの仮定が必要。
0210デフォルトの名無しさん
2014/03/05(水) 02:18:49.27言語仕様上、確実に末尾再帰を最適ができるように設計された言語がSchemeだろ
0211デフォルトの名無しさん
2014/03/05(水) 10:27:55.010212209
2014/03/05(水) 10:38:59.19Schemeの仕様は無限回の末尾呼び出しができることしか要求してない。
実行速度については何も言っていない。
末尾呼び出しを goto に変換できる条件のひとつは、
コンパイル時に飛び先が確定していること。
が、load だの repl だの eval だのがあると
コンパイル時に飛び先をなかなか確定できない。
だれかが上書きするかもしれないからな。
named let は上手い回避策で、
name が escape したり set! されたりしないことだけ確認すれば
飛び先が毎回同じかわかるようになっている。
これは let の scope 内だけを見れば良いから技術的にも簡単。
r6rs は library 内だけ見れば良くなっているが、
代わりに repl が消えて set! に制限が付いた。
0213209
2014/03/05(水) 10:43:59.48無限回の末尾呼び出しのためには、
呼び出しの前にスタックフレームを削除しなければならない。
が、 JVM ではスタックフレームを削除するには return しなければならない。
0214デフォルトの名無しさん
2014/03/05(水) 11:06:27.950215デフォルトの名無しさん
2014/03/05(水) 11:29:47.990216デフォルトの名無しさん
2014/03/05(水) 11:45:02.89理屈の上では末尾呼出しと同じだよ。
>>212
飛び先が確定してなくても変換できるよ。
もちろん確定してた方が効率的なコードになるけど。
0217デフォルトの名無しさん
2014/03/05(水) 11:50:42.700218デフォルトの名無しさん
2014/03/05(水) 11:53:18.370219デフォルトの名無しさん
2014/03/05(水) 12:17:26.500220デフォルトの名無しさん
2014/03/05(水) 12:43:43.490221デフォルトの名無しさん
2014/03/05(水) 12:44:08.220222デフォルトの名無しさん
2014/03/05(水) 23:37:33.04例えば末尾文脈で (f a b) みたいな呼び出しがあったとして、
fが定数でないとすると、
- fに手続きが束縛されているか確認
- fの引数の数が正しいか確認
- 呼び出し元の駆動レコードの破棄
- 呼び出し先の駆動レコードの構築
といった処理が必要になると思うんですが、
これって削除できるんですか?
0223デフォルトの名無しさん
2014/03/06(木) 01:10:13.21一部は削除できる。
0224デフォルトの名無しさん
2014/03/06(木) 01:24:14.91それは「gotoが実現できない言語」では末尾再帰はgotoと等価ではない
と言っているのかな?
0225デフォルトの名無しさん
2014/03/06(木) 01:39:20.80駆動レコードに工夫できるケースも多いからな。
ときにはまるっきり作らなくて済むことも。
0226デフォルトの名無しさん
2014/03/06(木) 10:34:40.78「一部は」「ケースも多い」「ときには」なら、
「末尾呼び出しはgotoと同じ速度」は誇大広告じゃありませんか?
特に、駆動レコードを作らなくて済むのは、
呼び出し元が使用している駆動レコードを再利用できるときに限ると思いますが、
どこかで call/cc が使われているとその前提がくずれてしまうと思います。
つまり、実質、「いかなる手続き呼び出しも行っていない手続きの末尾呼び出し」でなければ
gotoと同等の速度が出る末尾呼び出しにはならないかと思います。
>>224
いえ、「末尾呼び出しをgotoと同じ速度にするには、他にいくつか条件が必要」と言っています。
0227デフォルトの名無しさん
2014/03/06(木) 16:14:05.48そういうことなら goto と常に同じというわけではないということは認める。
だけどちょっと反論させてもらおう。
末尾呼出しが goto と同等の速度にならないケースというのは、
末尾呼出しを goto で置換えることが出来ない使い方をしているケースなので、
goto のかわりに末尾呼出しを使う分には goto と同等の速度と言える。
変数の内容が書き換えられるかどうかは set! の対象になっているかどうかを見ればいいだけなので、
(ここでは REPL を考えない) set! されることがないなら変数を手続きが束縛しているか、
手続きのアリティがいくつかはコンパイル時に看破できる。
(goto のラベルは変数ではないので変動することはない。 書換えられることのない変数と同等である。)
その手続きを呼出す箇所でも apply でも使って動的に変動するのでもない限り渡す引数の数ははっきりしてるので、
コンパイル時にチェックは完了できる。
(goto は引数を持たない。 アリティが確定している末尾呼出しと同等である。)
駆動レコードも goto なら常に再利用しているわけだし、
再利用せずに環境を保存しておかなければならないのなら goto では表現できない (か、プログラマが陽に保存する必要がある)。
0228デフォルトの名無しさん
2014/03/06(木) 16:46:00.12Lispの実装は簡単にできるとかなんなんだよ!
` とか , とか @ とか聞いてねえぞ!
0229デフォルトの名無しさん
2014/03/06(木) 17:01:01.000230デフォルトの名無しさん
2014/03/06(木) 17:21:25.55特定の規格とか考えずにとりあえずlispっぽく見える最低限のものっていうことならちょっと簡単かもしれないけど。
0231デフォルトの名無しさん
2014/03/06(木) 20:48:32.570232デフォルトの名無しさん
2014/03/06(木) 23:07:42.29資料が多いのもそうだけど、実際にやってみた結果が反映されてるってのは強いよな。
0233デフォルトの名無しさん
2014/03/06(木) 23:15:52.23https://www.ibm.com/developerworks/jp/java/library/j-diag8/
loop/recurでないclojureの末尾再起は、余分なバイトコードが入ると思うのでIBMのJVMでも最適化はされない。
.netの場合は、バイトコード命令もあるけど使われず、64bitVMはJITで、F#はコンパイラがループにするらしい。
ただし、最近新しい64bitVMになったから変更があるかもしれない。
http://yone64.wordpress.com/2011/03/06/cと末尾再帰と末尾最適化/
0234デフォルトの名無しさん
2014/03/07(金) 00:15:17.310235デフォルトの名無しさん
2014/03/07(金) 00:23:30.75その後の型判定、最適化、コード生成、それにエラー処理等は
他の言語と変わらないもの
0236デフォルトの名無しさん
2014/03/07(金) 00:47:05.860237デフォルトの名無しさん
2014/03/07(金) 00:56:55.21あと日本語訳ある?
0238デフォルトの名無しさん
2014/03/07(金) 10:14:21.15> (ここでは REPL を考えない)
これです。私が言いたかったのは。
replが存在するだけで処理系は最適化できなくなりますよね。
他に load, eval, call/cc あたりの制限も要る。
あとはまあ、だいたいいいです。
0239デフォルトの名無しさん
2014/03/07(金) 14:18:47.160240デフォルトの名無しさん
2014/03/07(金) 16:03:49.21R6RSでは無くなっちゃったし、R7RSでも微妙なポジションだし。
0241デフォルトの名無しさん
2014/03/07(金) 16:43:09.600242デフォルトの名無しさん
2014/03/07(金) 18:17:58.67REPL無しを前提に最適化を行って実行バイナリ生成とかなら非常に魅力感じるんだけど、開発環境からREPL消えるとLisp系使う意味もうほとんどないよね。
0243デフォルトの名無しさん
2014/03/07(金) 18:26:25.600244デフォルトの名無しさん
2014/03/07(金) 18:45:54.50治ったらChickenインストールするぞ
0245デフォルトの名無しさん
2014/03/07(金) 22:26:26.820246デフォルトの名無しさん
2014/03/08(土) 00:33:13.120247デフォルトの名無しさん
2014/03/08(土) 00:49:06.040248デフォルトの名無しさん
2014/03/08(土) 00:51:23.79RERL無しの高速実装版とREPL版との多様化ができてよろしい。
0249デフォルトの名無しさん
2014/03/08(土) 15:56:50.17それに乗っかるソフトウェアもまた常に高速でなければならないのだよばかちん
0250デフォルトの名無しさん
2014/03/08(土) 16:03:49.74同じ条件なら速いにこしたことはないけど、
速さを犠牲にして利便性が得られるならそれもまたよし。
0251デフォルトの名無しさん
2014/03/08(土) 16:07:06.620252デフォルトの名無しさん
2014/03/08(土) 16:28:16.400253デフォルトの名無しさん
2014/03/08(土) 17:49:22.410254デフォルトの名無しさん
2014/03/08(土) 17:54:27.14これは恥ずかしい
0255デフォルトの名無しさん
2014/03/08(土) 18:02:26.82どこが美しいかは知らないらしい
0256デフォルトの名無しさん
2014/03/08(土) 18:07:41.36どれがそいつかわからん書き方が
ゴニョゴニョ
だいいち、それがかれと、どれほど断定し得るものだろうか?
そうかも、きっとそうさ、そうにちがいめえ、エヘン、そうなのでアール
↑おバカの頭の中
0257デフォルトの名無しさん
2014/03/09(日) 03:52:14.420258デフォルトの名無しさん
2014/03/09(日) 06:21:53.63そう思えなかった?
0259デフォルトの名無しさん
2014/03/09(日) 09:36:34.080260デフォルトの名無しさん
2014/03/09(日) 09:43:02.12おばかの三段論法
「かもしれない、きっとそうだ、そうである」
が、君には自然なのかもな
ばかだから
わはは
0261デフォルトの名無しさん
2014/03/09(日) 10:11:40.760262デフォルトの名無しさん
2014/03/09(日) 10:20:30.59を
きめつけ
とするあたり、もろに
おばかさんだね
もうやめや、恥さらすだけだから
0263デフォルトの名無しさん
2014/03/09(日) 10:27:54.670264デフォルトの名無しさん
2014/03/09(日) 11:57:51.85へえ、どうして必死と評価した?
そのプロセス言ってみな
まあ、低偏差値層特有の常套文句相手にしても意味ないがな
ま、おばかの相手はここまで
それこそ必死に中身のない中傷にせいをだしていなさい。、それくらいしか出来ないんだろうから。
あれ?その頭でLispやってるの?
「関数carはリストの先頭要素を取り出す関数です」
とか思ってるレベルじゃない?
そうなら、「なるほどザおばか」
0265デフォルトの名無しさん
2014/03/09(日) 12:11:43.280266デフォルトの名無しさん
2014/03/09(日) 13:15:10.53(cond
((zerop (mod n 400)) t)
((and (zerop (mod n 4))
(null (zerop (mod n 100))) t)
(t nil)))
ザおばかが書いたコード
0267デフォルトの名無しさん
2014/03/09(日) 13:27:18.870269デフォルトの名無しさん
2014/03/09(日) 13:50:45.93よろしくお願いします
プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/
0270デフォルトの名無しさん
2014/03/09(日) 15:05:09.45前提条件を見ることも出来ないお馬鹿をまたまた自己暴露してるな、君。
なにが目的だったか?その文脈を認識できずに,まさに木を見て森をみず、目の前の人参のごとく
「関数leap歯いかにスマートに書けるか?」
たる問題としてとらえてしまっている。
二流どころの投影的解釈そものも。
かんたんにいうとね、
君、お馬鹿さらけだし。
もう、恥ずかしいからやめな
0271デフォルトの名無しさん
2014/03/09(日) 15:17:42.140272デフォルトの名無しさん
2014/03/09(日) 15:18:45.88>>266の小さい子が親のマネするような滑稽なコードを平気で晒す神経がわからん
あんな小学生でも分かるような簡単な例なら括弧の多さは気にしなくていいし
そんな低レベルな話で偉そうにしてたら滑稽に見えるだけ
ところでその糞みたいなleap関数のどこが美しいの?
0273デフォルトの名無しさん
2014/03/09(日) 15:42:28.000274デフォルトの名無しさん
2014/03/09(日) 15:44:59.990275デフォルトの名無しさん
2014/03/09(日) 17:49:31.080276デフォルトの名無しさん
2014/03/09(日) 18:44:16.090277デフォルトの名無しさん
2014/03/09(日) 20:05:25.150278デフォルトの名無しさん
2014/03/09(日) 22:43:33.790279デフォルトの名無しさん
2014/03/09(日) 23:43:45.30「はい、次の方」
コスリコスリ
「トピュントピュン」
「出ちゃったので今日はおしまいです。股のお越しをお待ちしております」
いいやろ、わはは
0280デフォルトの名無しさん
2014/03/10(月) 01:50:21.14一日にちょっとしか出来んやないか。
病気への警戒とかも考えるとそれなりの出費もあるで。
0281デフォルトの名無しさん
2014/03/10(月) 12:57:35.19(and (eq nil '())
(eq nil (not t)))
→t
になれてると手間かかるな
0282デフォルトの名無しさん
2014/03/10(月) 14:06:48.210283デフォルトの名無しさん
2014/03/10(月) 15:26:28.440284デフォルトの名無しさん
2014/03/10(月) 15:28:13.270285デフォルトの名無しさん
2014/03/10(月) 15:30:46.53まとめの見せ物じゃないかwwwwwwwwww
0286デフォルトの名無しさん
2014/03/10(月) 15:36:49.580287デフォルトの名無しさん
2014/03/10(月) 15:42:11.220288デフォルトの名無しさん
2014/03/10(月) 19:45:58.51でおk>>281
0289デフォルトの名無しさん
2014/03/10(月) 19:47:10.82ブーリアンか!
このー
0290デフォルトの名無しさん
2014/03/10(月) 20:20:16.52ム板がまとめられることもそうそう無いんだからどっちでもいいんでね
0291デフォルトの名無しさん
2014/03/10(月) 20:34:12.45いや、だめだね
それすると
(eq? nil #f) → #f
となる。
要するにnilに多義性を与えられない
Scheme手習いで登場させているSchemeでは
nilを偽として使い、null listはあくまで
'()としてるな
(define nil #f)
(define t #t)
0292デフォルトの名無しさん
2014/03/10(月) 20:50:23.82(or (eq x 't)
(not (or (eq x 'nil)
(not x)
(null? x)))))
これは?
0293292
2014/03/10(月) 20:52:03.140294デフォルトの名無しさん
2014/03/10(月) 20:55:32.53実際にまとめられるかどうかより、
まとめありきのその思想がいやだ
0295デフォルトの名無しさん
2014/03/10(月) 21:39:08.940296デフォルトの名無しさん
2014/03/10(月) 21:55:52.630297デフォルトの名無しさん
2014/03/10(月) 22:44:19.87nil はシンボルであって欲しかった。
Schemeの頃の理論になると semantic な概念が導入されたため、
シンボルとオブジェクトは異なる概念であって欲しくなった。
空リストは専用のオブジェクトとなり、シンボルではなくなったため、
専用の表記が導入された。
って理解してる。
なので、Scheme に空リストの表記としての nil は
入れない方がいいんじゃないかと思ってる。
空リストが偽でなくなった理由はわからない。
0298デフォルトの名無しさん
2014/03/11(火) 00:04:46.990299デフォルトの名無しさん
2014/03/11(火) 05:14:33.75ごせつごもっとも
ま、.空リストが偽でないことでプログラム書きかためんどくなるが、概念としては曖昧なnilよりすっきりしてる
(while lst
(set! rev (cons (car lst) rev))
(set! lst (cdr lst)))
とかできなくなったのがめんどい
0300デフォルトの名無しさん
2014/03/12(水) 00:38:10.80ID:PmsDk2kYcons?のがよくね?
0301デフォルトの名無しさん
2014/03/12(水) 00:40:00.07ID:PmsDk2kYpair?だと逆にどこから出てきたんだよこの馬骨はって思うじゃん
だったらconsやめてmake-pairにでもしろや
って思うじゃん
0302デフォルトの名無しさん
2014/03/12(水) 00:46:35.05ID:gGAQRqxKlambda procedure?
cons pair?
list list?
make-vector vector?
make-string string?
なんてこった。
基本的な型なのにこんなに一貫していない命名だとは。
0303デフォルトの名無しさん
2014/03/12(水) 01:24:21.96ID:fku1OHk4srfi-1 には make-list っていう手続きがあるよ。
0304デフォルトの名無しさん
2014/03/12(水) 01:31:59.78ID:7rMNEn4b0305デフォルトの名無しさん
2014/03/12(水) 02:00:01.37ID:PmsDk2kYせめてfunction?にして欲しい
もちろんlambda?がいい
組み込みはinternal?とかで
0306デフォルトの名無しさん
2014/03/12(水) 02:06:03.64ID:gGAQRqxK> procedure?だと値を返さないっぽいから
実際のところ値を返さないこともある。
0307デフォルトの名無しさん
2014/03/12(水) 02:33:14.91ID:/PudMNUJ> cons pair?
proc proc?
pair pair?
にしよう。
0308デフォルトの名無しさん
2014/03/12(水) 04:55:15.12ID:OMPOBOZN典型的にはどういった実装がありますか。
エラー型のようなものを作っているのでしょうか
0309デフォルトの名無しさん
2014/03/12(水) 08:16:14.60ID:Jb6YhUW8consセルという基幹をはなれて
たかだか表現上のことでしかないリストを中心に据えてどうする。
本末転倒。
0310デフォルトの名無しさん
2014/03/13(木) 00:50:50.31ID:EB5Xi5Zn面白いね
Reasoned Schemer読んでる
0311デフォルトの名無しさん
2014/03/13(木) 01:04:25.94ID:pSYj+jmUエラー通知って fprintf で stderr になんか表示するだけじゃない?
エラー型のようなものに関しては
srfi や R6RS に condition というものがある。
0312デフォルトの名無しさん
2014/03/13(木) 21:57:08.82ID:rV9SiEZOスッタクなんか関係ないし
自由を求めて不自由になったお話を思い出すね
0313デフォルトの名無しさん
2014/03/13(木) 22:02:11.96ID:rV9SiEZO0314デフォルトの名無しさん
2014/03/14(金) 00:32:29.26ID:myEJmnzeだから他人の作ったライブラリという不自由を探してきて楽をするのさ
0315デフォルトの名無しさん
2014/03/14(金) 02:26:01.10ID:/iTGJs+20316デフォルトの名無しさん
2014/03/14(金) 09:37:45.73ID:LQScPk2V0317デフォルトの名無しさん
2014/03/14(金) 09:58:12.75ID:AAxJccE4ドツボ低レベル
日本Lisperの特徴
だってさ
0318デフォルトの名無しさん
2014/03/14(金) 10:02:47.72ID:LQScPk2Vそうだが、それがなんだい?
0319デフォルトの名無しさん
2014/03/14(金) 11:20:25.10ID:i2gZM/lI0320デフォルトの名無しさん
2014/03/14(金) 11:40:56.77ID:yw1h0rB8スレに降臨して査読求めてた。
0321デフォルトの名無しさん
2014/03/14(金) 12:42:15.61ID:qyVOGyCK良いプログラムは最低限の特殊化が無理なく行われている。
0322デフォルトの名無しさん
2014/03/14(金) 13:04:03.34ID:db8QorUz0323はちみつ餃子 ◆8X2XSCHEME
2014/03/14(金) 16:21:34.35ID:rvJhz4Kxひとつのリポジトリに集約してほしいってことかな?
0324デフォルトの名無しさん
2014/03/15(土) 07:48:36.80ID:zceL17jk0325デフォルトの名無しさん
2014/03/15(土) 14:24:11.31ID:n/4F4bsUというか、フォルダ1個コピーすればOKみたいなポータブルにできないのだろうか
0326デフォルトの名無しさん
2014/03/15(土) 18:19:49.92ID:gENJg6MC0327デフォルトの名無しさん
2014/03/15(土) 19:43:15.11ID:+NCAYm5Y0328デフォルトの名無しさん
2014/03/15(土) 20:33:01.85ID:2qKnCe2Fを統一すれば他も統一できそう
0329デフォルトの名無しさん
2014/03/15(土) 22:04:03.03ID:arc9z/ouライブラリ同士の依存性がどうこうとかがあって、
更にマクロがあるので、なかなかそういうわけにはいかない。
r6rs の library があんなんなっちゃった理由のひとつ。
0330デフォルトの名無しさん
2014/03/15(土) 23:54:46.32ID:+NCAYm5Ygauche-install はそういう依存性の解決はしてくれないもんな。
0331デフォルトの名無しさん
2014/03/16(日) 06:51:09.77ID:jg6pkE2Lこれって名前はworkshopだけど
査読があるから査読付き国際会議って扱いにしていいんだろうか
0332デフォルトの名無しさん
2014/03/16(日) 10:40:12.75ID:4HUpx++Thttp://ja.m.wikipedia.org/wiki/学会_(会議)
査読付き国際会議だとは思うが、主催はユーザーグループなんだね。
clojure/conjと併催してたんだ。
ICFPの併催のworkshopは学会(ACM SIGPLAN)主催になってるから表現しやすいよな。
http://cufp.org/conference
http://www.mlworkshop.org
http://www.haskell.org/haskell-symposium/
ICFPは元々acm lisp カンファレンスだったやつだと思う。
http://www.icfpconference.org
いましらべてたら、ILCもユーザーグループ主催なのか。
http://international-lisp-conference.org/2014/index.html
0333デフォルトの名無しさん
2014/03/16(日) 13:31:49.32ID:pjuy1WN30334デフォルトの名無しさん
2014/03/16(日) 16:50:49.29ID:FjMvJr7q大学によって違うかもしれんが、査読付きで、ISBN付きのプロシーディングの出版があれば査読付き著書にカウントしてくれる
シュプリンガーなら文句なしなんだけどね
University of Utah Technical Report の立場が分からんが、not intended to replace conference or journal publication って書いちゃってるので査読付きでカウントするのは難しいかと
0335デフォルトの名無しさん
2014/03/17(月) 00:09:56.25ID:3w0r/EDw0336デフォルトの名無しさん
2014/03/17(月) 01:14:10.25ID:LQCTfrGY他の言語、CやJavaやRubyと変わらないよ
0337デフォルトの名無しさん
2014/03/17(月) 03:53:42.12ID:NheN3KPCLisp使いになると東大女とやりまくれる
0338デフォルトの名無しさん
2014/03/17(月) 09:47:10.40ID:XBjk++yV0339デフォルトの名無しさん
2014/03/17(月) 14:43:55.87ID:Tuj3+h2s0340デフォルトの名無しさん
2014/03/17(月) 17:59:04.42ID:WHHErXpn0341デフォルトの名無しさん
2014/03/17(月) 18:03:23.65ID:xqSk1ndf0342デフォルトの名無しさん
2014/03/17(月) 18:11:55.96ID:Tuj3+h2s0343デフォルトの名無しさん
2014/03/17(月) 20:32:36.87ID:y+URzG55プログラムの内容がものすごく計算量の多いものなら時間をかけてでもがっつりと最適化した方がいいけど、そこそこのものなら最適化はしない方が全体としては速いかもしれない。
用途によってトレードオフのバランスを決めるしかない部分なのでLISP族とその他という大きな括りでは比較しようがない。
多大なリソースが注ぎ込まれてる本格的な処理系も個人レベルで作ってみただけという原始的なものもあるわけで、そりゃピンキリだよ。
0344デフォルトの名無しさん
2014/03/17(月) 21:53:40.64ID:XBjk++yV0345デフォルトの名無しさん
2014/03/17(月) 22:23:27.34ID:y+URzG55手間をかけた結果からは美しさが失なわれて C と同じくらいの見た目になる。
そのかわりざっとしたプロトタイプを書くのは C よりずっと簡単だし、
チューニングする必要があるのがどこか把握するためのプロファイリング機能や逆アセンブラは充実してる。
プログラミングスタイルそのものとセットで考えなければいけないので、
単純には比較できないな。
0346デフォルトの名無しさん
2014/03/18(火) 17:45:21.05ID:uwWTDmYY0347デフォルトの名無しさん
2014/03/18(火) 17:50:20.61ID:jmzjar2HつClojure
0348デフォルトの名無しさん
2014/03/18(火) 17:55:33.20ID:Suoz9IBN0349デフォルトの名無しさん
2014/03/18(火) 18:06:33.51ID:MOBgar030350はちみつ餃子 ◆8X2XSCHEME
2014/03/18(火) 19:05:40.49ID:y0jvz8+Jたとえ出来上がったものが未熟であってもアイデアが他に活かせることもあるし、自分の訓練にもなる。
ただ、本気で広く普及するような言語を目指すならそれは結構厳しい道程かもしれない。
既存の言語は現時点で「使い手がいる」「ライブラリがある」「実績がある」というのも大きな利点であって、
(LISP系は他のメジャー言語に比べれば格段に少ないにしても)
新規の言語がいきなりそれを用意できるわけもない。
つまりはそれを上回る魅力を提示する必要がある。
出来なければ元々が方言の多いLISPのことだし、「また俺俺LISPが出たな」くらいのものになる。
ClojureはJavaの資産を利用するという方法でライブラリの部分を埋めたからあれだけの躍進があった。
もちろんJavaの資産をうまく利用できるようにうまい言語設計されてもいるけどね。
言語設計者にとってはすごく屈辱的かもしれないけど、やっぱり物量がある方が有利っていうのはある。
逆に言えばClojure同様に既存の資産にちょっとLISPっぽい外観を与えるだけで有用になるものは他にもあるんじゃないかという希望もある。
0351デフォルトの名無しさん
2014/03/18(火) 19:08:15.31ID:x5e1HBxb0352デフォルトの名無しさん
2014/03/18(火) 20:11:41.63ID:amKGTNPuJava資産ならArmed Bear Common LispやKawa Schemeが前からあるし、
そっちの方が規格にも準拠してるそうだから、Java資産ってのは理由にならないんでない?
Clojureが騒がれたのは、大方、PythonやRuby、Haskell周りがWebバブルで浮かれていた
シリコン脳のアホ共が便乗した、とても良い時期に誕生したからだと思うわ
0353デフォルトの名無しさん
2014/03/18(火) 20:46:38.19ID:AJd0B3pWClojureの躍進の一番大きなものはLeiningenの存在だと思うがなー
Mavenリポジトリ他から必要なライブラリをぽいっと呼び出して依存関係解消してくれるし、面倒なXML書かなくて済むし
0354デフォルトの名無しさん
2014/03/18(火) 20:57:21.89ID:jmzjar2H0355はちみつ餃子 ◆8X2XSCHEME
2014/03/18(火) 22:57:53.79ID:y0jvz8+JJava 資産を利用できる CL (Scheme) っていうのと Java 資産を使うために設計された Lisp 系言語っていうのは違うと思う。
でも、確かに時期がよかったっていうのは有るかな。
それも狙って個人で作れるものではないし、難しいよなー
0356デフォルトの名無しさん
2014/03/18(火) 23:06:48.30ID:UBk2tVSE0357はちみつ餃子 ◆8X2XSCHEME
2014/03/18(火) 23:37:28.92ID:y0jvz8+J0358デフォルトの名無しさん
2014/03/19(水) 00:02:08.59ID:Jh1c0+c50359デフォルトの名無しさん
2014/03/19(水) 00:41:16.93ID:/As/erWYいちおうSchemeの子孫だし
0360デフォルトの名無しさん
2014/03/19(水) 00:43:25.85ID:amnSipvO0361デフォルトの名無しさん
2014/03/19(水) 01:12:37.87ID:Nndd1+4WHaskellでもデータ構造は破壊的なもの使ったりするけど、Clojureなら実用的(な速度)でシンプルに使える実装を売りにしてた。
hash array mapped trie (HAMT) とか。
http://www.slideshare.net/adorepump/clojure-an-introduction-for-java-programmers
ただ、javaと混ぜると静的な型チェックする言語ほどは、イミュータブルに出来ない。
発想については、ここら辺にまとまってる。
http://qiita.com/kawasima/items/c695e2f4ee079a6debf5
結局のところClojureは、イミュータブルなphpなんじゃないかと思ってる。
0362デフォルトの名無しさん
2014/03/19(水) 01:13:23.54ID:tHHX2/pvつ Typed Clojure
0363デフォルトの名無しさん
2014/03/19(水) 04:17:46.15ID:g+2MOTllSchemeにはMaximaに相当するのないのですか?
0364デフォルトの名無しさん
2014/03/19(水) 07:20:57.80ID:vwDmoCEdっMathematica
0365デフォルトの名無しさん
2014/03/19(水) 15:27:13.75ID:oXIqqE+eまぁ数値計算屋は保守的だから結局Fortranが使われるわけだがね
(別に保守的なのが悪いとは言わないけど)
CUDAはベースがLLVMになったので、頑張れば
LLVMコードを吐いてNVIDIA GPUで走る処理系はできそうだな
しかしXeonPhiも考えると、結局Fortranに落とすのが一番良いという
結論になってしまうけど
Fortran資産を使えるLisp、というのは
遊びとしては面白そうだ。世界で最も古い2つの言語のハイブリッド処理系や
0366デフォルトの名無しさん
2014/03/19(水) 16:15:35.90ID:2boxI8vi0367デフォルトの名無しさん
2014/03/19(水) 16:59:48.27ID:b5AWvfgt0368デフォルトの名無しさん
2014/03/19(水) 17:29:00.17ID:jbaTmMPBそれ以前に作ったFortran用リスト処理ライブラリを流用した、
ってことだと思う。
0369デフォルトの名無しさん
2014/03/20(木) 12:12:37.66ID:8VdroaYOshenはQiのportable版だから文法に新味はないが、
portable戦術がSteeleの"LAMBDA: The Ultimate Declarative"を思い起こさせて面白い。
というか欧州だからLisp-1の影響なんだろうか。
0370デフォルトの名無しさん
2014/03/20(木) 12:13:50.26ID:UwqMSJy+Lisp-1→EuLisp-1
0371デフォルトの名無しさん
2014/03/24(月) 01:21:16.09ID:oI1zpBwI(define len (lambda (x) (if (= null? '(x))0 (+ 1 (len (cdr x)))) ))
じゃないのか
0372デフォルトの名無しさん
2014/03/24(月) 01:41:47.32ID:YyEIcUk70373デフォルトの名無しさん
2014/03/24(月) 01:42:25.91ID:X3mU/vM5問題文おしえて
0374デフォルトの名無しさん
2014/03/24(月) 02:07:19.76ID:oI1zpBwIアリサ「関数letを引数としてxを受け取ると、xの要素の数を返す関数として定義しなさい。ただし、引数は一つで、リストのみが来ると考えていいわ」
0375デフォルトの名無しさん
2014/03/24(月) 02:21:32.70ID:b5p4OWYb>>371
> (= null? '(x))
→ (null? x)
だろ。何で手続き null? と '(x) を = で結ぼうとか思った。
0376デフォルトの名無しさん
2014/03/24(月) 02:28:07.40ID:oI1zpBwIありがとう、なんか勘違いしてたみたい
0377デフォルトの名無しさん
2014/03/25(火) 03:22:43.51ID:QhbZVHJp型データを「ポインタ側に持たせる実装」ってどういうことですか
http://www.nue.org/nue/tao/bitao/index.html
↑のように実際のセルとLISPオブジェクトポインタ?(そんな単語ある?)
の二段構えってこと?(セルにタグを持たせる実装と比較で)
0378デフォルトの名無しさん
2014/03/25(火) 04:08:30.90ID:tfYo+EBB0379デフォルトの名無しさん
2014/03/25(火) 04:14:19.75ID:DjVofhuk0380デフォルトの名無しさん
2014/03/25(火) 04:21:48.29ID:QhbZVHJpごめん。とにかく「ポインタ側に持たせる」とはどういうことなのか、ということ。
>>379
なるほど。だとするとワード単位でアドレスにアクセスするアーキのCPUだと無理だということ?
いや、てかx86は8毎でなかったでしたっけ。すくなくないですか
0381はちみつ餃子 ◆8X2XSCHEME
2014/03/25(火) 06:52:02.45ID:utJZ75qIgauche.h のコメントが参考になる。
https://github.com/shirok/Gauche/blob/master/src/gauche.h#L187
状況によっては 3 ビット以上をタグに取れるよ。
0382デフォルトの名無しさん
2014/03/25(火) 10:10:17.20ID:zYkHG6WI>なるほど。だとするとワード単位でアドレスにアクセスするアーキのCPUだと無理だということ?
どうして?
むしろ全空間を使いやすい。
オブジェクト配置でどうせアラインしないといけないのだから。
>いや、てかx86は8毎でなかったでしたっけ。すくなくないですか
ポインタ側に持つ即値の型情報だけ必要。
fixed tag
short character
bitmask
など。"その他"はobject側を見る。
0383デフォルトの名無しさん
2014/03/25(火) 10:38:52.53ID:QImWjIyDこの論文の→ ttp://ci.nii.ac.jp/naid/110002723809
("CiNii 論文PDF - オープンアクセス"って所をクリックすれば、自由にPDFが見られる)
図4、図5のあたりを見るといい。
0384デフォルトの名無しさん
2014/03/25(火) 13:50:05.10ID:QhbZVHJpたくさんの情報あざーす!
どうやら 勘違い していたようです。
だけど謎が解けてすっきりです!
一歩前進できた模様
0385デフォルトの名無しさん
2014/03/25(火) 14:03:19.49ID:tE9oMSd+0386はちみつ餃子 ◆8X2XSCHEME
2014/03/25(火) 14:19:44.67ID:utJZ75qIでもどうせ IA32 用 C 処理系の malloc はだいたい 8 バイト境界のアドレス返すよ。
半端なアドレスでもアクセス出来るけど速度的なペナルティがちょっと有るし、
SSE が特定のアラインを要求したりする場合も有るからな。
0387デフォルトの名無しさん
2014/03/25(火) 15:37:57.91ID:/6gLpgWkアクセスするのにペナルティがあったり、複数命令必要ってだけで。
昔の大型みたいにアドレッシングがワードのみのなんてあるの?
0388デフォルトの名無しさん
2014/03/25(火) 15:43:38.45ID:/6gLpgWk0389デフォルトの名無しさん
2014/03/25(火) 17:02:46.07ID:AvCKhDY2ワードの読み込みを奇数バイト境界でアクセスできるCPUの方が珍しくない?(シェアベースだとx86でもうまんたいかもしらんけど)
0390デフォルトの名無しさん
2014/03/25(火) 18:40:15.47ID:/6gLpgWkそれは複数命令必要ってことでしょ。それがないとは思ってない。
基本的にLisp実装には殆ど関係のない話だし。
そんなObject配置はしないので。
0391デフォルトの名無しさん
2014/03/25(火) 18:45:14.00ID:xdEsusSJペナルティあったり、複数命令でアッセンブルする必要があろうが、
アドレスがバイト単位で割り振られていればバイトマシン。
たとえば初期のRISC、MIPSとか、もバイトマシン。
0392デフォルトの名無しさん
2014/03/25(火) 19:18:44.82ID:QImWjIyD最近でもDSPとかには普通にあるけど。
確かにアドレス付けがバイトアドレッシングで、ワードを指す場合はアラインメントが
強制されるアーキテクチャの場合(あるいは意図的にアラインさせて)、ポインタの
下位1ビット〜3ビットをタグに使うというテクもあるけど(CRubyのFixnumとそれ以外とか)、
Lisp実装系のタグとしては、アドレス空間が24ビットなのでアドレッシングの上位1バイトが
無視される、というような場合にその上位1バイトをタグに使う、という奴が多い。
32ビットアーキテクチャの初期にはアドレス空間が24ビットというマシンが結構あったので
そういったテクも使われたりしたけど、アドレス空間が広くなると同時に消えていった。
64ビット化でまた同じようなことが起きるかどうかは興味深いところ。
0393デフォルトの名無しさん
2014/03/26(水) 00:56:49.13ID:U1TUL83RAArch64は上位8bitをタグにできるね。
0394デフォルトの名無しさん
2014/03/26(水) 17:29:07.50ID:rDn7FARN0395デフォルトの名無しさん
2014/03/26(水) 17:33:34.49ID:WRQ9gvUM生まれてはじめて英語の原著でLispの勉強始めた。正確に言うとSchemeになるけど。The little Schemerだから。
ネットにpdfあったから無料。
0396デフォルトの名無しさん
2014/03/26(水) 17:40:18.04ID:rDn7FARN勉強になりました、、
、、、てかもうすこしはやく知りたかった
なぜなら 先 週 買 っ た か ら で す
0397デフォルトの名無しさん
2014/03/26(水) 17:47:39.26ID:qc7W1WNa0398デフォルトの名無しさん
2014/03/26(水) 18:02:01.95ID:qHAM3H0L0399デフォルトの名無しさん
2014/03/26(水) 19:26:25.73ID:mQCSkEUShttp://www.ccs.neu.edu/home/matthias/BTLS/
0400デフォルトの名無しさん
2014/03/26(水) 19:52:21.21ID:6UDaHe6uもpdfあった。
0401デフォルトの名無しさん
2014/03/26(水) 21:39:03.67ID:jz/5iWBa日本人ならちゃんと買って読めよ。支那チョンなら好きにしろ。
0402デフォルトの名無しさん
2014/03/26(水) 21:42:08.64ID:FbuvqMDP0403デフォルトの名無しさん
2014/03/26(水) 21:47:18.84ID:rDn7FARN0404デフォルトの名無しさん
2014/03/26(水) 23:06:05.95ID:6UDaHe6uばかか?
0405デフォルトの名無しさん
2014/03/28(金) 00:56:39.37ID:xjbmATUrというか、なんか、オンラインのバージョン管理システムで原稿管理してるっぽい
0406デフォルトの名無しさん
2014/03/28(金) 15:34:37.22ID:H/L8+fyB続編やろっと
pdfで!
0407デフォルトの名無しさん
2014/03/28(金) 17:29:44.00ID:uw+zS2xjhttps://www.youtube.com/watch?v=DHubfS8E--o
( ゚∀゚)o彡°
0408デフォルトの名無しさん
2014/03/28(金) 21:47:52.46ID:xjbmATUr┌|(⌒ヽ :|| ..:⌒: |┐ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|::|::ヽ.__:):||(___ノ ::|::| │
|:|: .. :|| .. |:| │
:|: .. || ..|| < 日本語でおk
:\ [_ ̄] /::| │
:: |\|_|_|_|_/:::| \_______
0409デフォルトの名無しさん
2014/03/28(金) 23:46:55.98ID:b6Yp0O/00410デフォルトの名無しさん
2014/03/28(金) 23:51:57.23ID:+JurWiOK他の言語によくある、「無」 (つまり nil) が無いのは何故?
0411デフォルトの名無しさん
2014/03/28(金) 23:54:28.31ID:beMC8OFd#f と空リストがあればいらなくね?
0412デフォルトの名無しさん
2014/03/29(土) 01:09:24.04ID:fba0LB8w(ブール値としての) 偽値とリスト終端を兼任させるのは逆に「区別できない」という弱点になりうるので、
そりゃどっちもどっちな話だ
0413デフォルトの名無しさん
2014/03/29(土) 03:00:11.41ID:uWZyJxpNネトウヨってこういう人が連投してるだけでしょ
0414デフォルトの名無しさん
2014/03/29(土) 06:29:15.26ID:MK8gph4CIn Common Lisp
(set 'a '(hello))
(set 'b 'hello)
(cdr a) → nil
This nil is just the termination for the Cell,
also the empty list as the S-expression
(cdr b) → nil
This nil is neither the teirmination
nor the empty list.
It means No Answer,just "null"
0415デフォルトの名無しさん
2014/03/29(土) 07:03:45.87ID:0d+qMQSz0416デフォルトの名無しさん
2014/03/29(土) 07:12:06.65ID:vwiiB6uc0417デフォルトの名無しさん
2014/03/29(土) 10:29:40.20ID:inM1A1mw互換性。
初期のLispは未定義値も例外もないからnil返すのが妥当だった。
0418デフォルトの名無しさん
2014/03/29(土) 10:51:41.38ID:46qVoWdl(setq a 123)
(cdr a) → nil
のことを言っているなら、そもそも
「リストとして正当なnil」
というところで既に誤解している
そもそも関数cdrが返す値は、あくまでCell(コンスセル)のcdr部であって、
上の例では
「そもそもaはatomでセルじゃないから、そのcdr部が�|イントするものはなーに?って聞かれてもatomにはcdr部なんてないから答えようがない。
あえていば、ナッシング、無。あえていえばnilやな」
となる。
セルを隠蔽して、あくまでatomとリストの世界でモノを考え、「関数cdrは空でないリストの最初のエレメントを除いだリスト」
とだけ考えると、貴方の疑問が可能となる。
0419デフォルトの名無しさん
2014/04/08(火) 02:46:09.00ID:1cdjmKJQscmxlateで変換すれば
Common LispでもSchemeでも動く様になってくれると
最高なんだけどなあ
0420デフォルトの名無しさん
2014/04/09(水) 14:19:02.78ID:Ih8FRvRW0421デフォルトの名無しさん
2014/04/09(水) 15:49:58.58ID:8Qwhleoh0422デフォルトの名無しさん
2014/04/14(月) 13:15:10.65ID:qFq6vkYD8. Lambda the Ultimateではじめて唸った
(lambda (a)
(lambda (x)
(eq? x a)))
勉強中
0423デフォルトの名無しさん
2014/04/15(火) 00:58:57.97ID:IvMsNS0c0424デフォルトの名無しさん
2014/04/17(木) 08:40:22.37ID:cixn2QI+0425デフォルトの名無しさん
2014/04/17(木) 08:43:24.36ID:8uAQ9CHy0426デフォルトの名無しさん
2014/04/17(木) 15:51:45.01ID:1P5IhohW0427デフォルトの名無しさん
2014/04/17(木) 17:28:03.75ID:cixn2QI+怖くないか最強無敵のLISPが未知の概念に対応できるかどうか
0428デフォルトの名無しさん
2014/04/17(木) 17:33:28.05ID:xMLxyHMV0429デフォルトの名無しさん
2014/04/17(木) 20:19:40.16ID:+OQSf6mC来年には、どういう意味合いでなのか、薄っすらとでもわかるようになるかな。
ただいまLisp勉強はじめて三ヶ月
0430デフォルトの名無しさん
2014/04/17(木) 20:27:13.11ID:1P5IhohWLispを扱う人間が最強かどうかは定かでない
0431デフォルトの名無しさん
2014/04/17(木) 22:03:21.80ID:TxAQxinM0432デフォルトの名無しさん
2014/04/17(木) 22:05:50.49ID:HKdaCoDtそうなのか
全くの無知やからワクワクと不安でいっぱいぜよ
0433デフォルトの名無しさん
2014/04/17(木) 22:28:15.12ID:5Km4hEuY回路レベルでは違うけどプログラムレベルのレイヤーだと大して変わらないってこと?
0434デフォルトの名無しさん
2014/04/17(木) 23:17:27.20ID:e08dT8mN0435デフォルトの名無しさん
2014/04/18(金) 00:50:00.23ID:A05FtQ62文法が簡単。古典AIの資料が腐るほどある。
0436デフォルトの名無しさん
2014/04/18(金) 01:20:06.05ID:PJ4Eb5kS0437デフォルトの名無しさん
2014/04/18(金) 01:53:21.63ID:iH+c/XUg0438デフォルトの名無しさん
2014/04/18(金) 09:29:23.24ID:iH+c/XUg古典 AI がどうのとか言ってる時代はバリエーション多くないか。
LISP って名前が付いててもぜんぜん違うものだぞ。
0439デフォルトの名無しさん
2014/04/18(金) 11:44:56.62ID:jy9eGr35さてと勉強しよ
0440デフォルトの名無しさん
2014/04/18(金) 14:23:59.13ID:CQ8lxphP0441デフォルトの名無しさん
2014/04/18(金) 14:58:08.76ID:jy9eGr35Lisp本としての本質にまるで関係ない点から選んだ
On Lispはその次に読む予定
0442デフォルトの名無しさん
2014/04/18(金) 16:09:37.74ID:pUaDb9PY0443デフォルトの名無しさん
2014/04/18(金) 17:21:29.29ID:6FER7CaJ0444デフォルトの名無しさん
2014/04/18(金) 22:06:11.91ID:8ujbeqxW0445デフォルトの名無しさん
2014/04/18(金) 22:46:40.29ID:dS+HYR5/0446デフォルトの名無しさん
2014/04/19(土) 06:16:55.47ID:wA6wuBBt0447デフォルトの名無しさん
2014/04/19(土) 15:13:08.18ID:76jJl3rx「の」が多くてごめん
0448デフォルトの名無しさん
2014/04/19(土) 16:58:13.94ID:2RFrAk6Qinterlispじゃねぇの?
0449デフォルトの名無しさん
2014/04/19(土) 18:56:02.29ID:2TBNSLSbhttp://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node111.html
Symbolicsとかに分家する前のやつなんじゃないのかねえ。
0450デフォルトの名無しさん
2014/04/19(土) 19:43:32.23ID:76jJl3rxさんくす 今半分読んだ
0451デフォルトの名無しさん
2014/04/20(日) 00:29:50.81ID:u8Pdqoqbcellってcar cdr全体のこと言うんだね
schemeでいうpair = cellってとこか
でもggるとcons cellsとでるんだけど
0452デフォルトの名無しさん
2014/04/20(日) 00:33:31.85ID:aSdpQmIhそれはペア (cell) がいくつもある文脈でそういってるだけじゃないのか
0453デフォルトの名無しさん
2014/04/20(日) 00:40:39.45ID:u8Pdqoqbそもそもどうなんだ
consってconstructのことだよね
construct cellsだとするとsついたほうがいいような
、、、んーわからん
0454デフォルトの名無しさん
2014/04/20(日) 03:33:18.03ID:zNVx4BWXプログラミングに向かない
0455デフォルトの名無しさん
2014/04/20(日) 03:47:19.02ID:UOm05Xhh(1 . 2)で表現されるセルがある時、それは a cell であってcons cellsであるわけ無い。
セルの意味は
car and cdr are cells
ではなく
a cell consists of two parts;first one is the car,second one is the cdr.
セルとは、セルは、などと言いたいとき、英語では
Cons cells are ....So they are...
と表現する場合とか
複数のアトムからなるリストを実体から見るとき、それはconsによって生成された(される)複数のセルのリンクなわけだから、それをcons cellsと表現するとか
ま、複数のセル、セル一般的について述べるときcons cellsといってるだけどろ。
セルとリストの関係をよく考えてないとな
リストからセルを考えるのは本末転倒。セルからみれば
リストなんて、セルのつながりのたかだかひつとつのrepresentationに過ぎない。
セルのつながり、もろにcons cellsは
リスト表現以外にもドット対表現でも可能なわけだ
0456デフォルトの名無しさん
2014/04/20(日) 11:27:53.52ID:ikGZm3gS0457デフォルトの名無しさん
2014/04/20(日) 11:48:17.35ID:28NNVwXQ0458デフォルトの名無しさん
2014/04/20(日) 11:53:18.33ID:ikGZm3gS0459デフォルトの名無しさん
2014/04/20(日) 11:54:48.12ID:28NNVwXQわはは
読解力の無さを露呈しているな
0460デフォルトの名無しさん
2014/04/20(日) 13:00:57.53ID:7dKQJ8NVと同じ事をschemeでやりたいのですが
srfiあたりに似た事できるのが既にあったりしないのでしょうか
defineをマクロで再定義すればいけるだろうとは思うのですが
0461デフォルトの名無しさん
2014/04/20(日) 14:11:23.06ID:guzw5huQ2つめが厳しいな。
0462デフォルトの名無しさん
2014/04/23(水) 16:06:40.59ID:PddiTBOJ勉強はお休み
0463デフォルトの名無しさん
2014/04/23(水) 20:36:18.69ID:yzmxmTm60464デフォルトの名無しさん
2014/04/24(木) 11:40:16.99ID:V7HoJaA90465デフォルトの名無しさん
2014/04/24(木) 12:40:42.70ID:xanOnoSn0466デフォルトの名無しさん
2014/04/24(木) 17:31:00.84ID:YIGqqLypどや!
どやどや!
0467デフォルトの名無しさん
2014/04/24(木) 17:57:01.46ID:tfK4iZJQ抱くのは好きでも一緒にいたくねぇ
0468デフォルトの名無しさん
2014/04/25(金) 08:48:36.06ID:xiFjVo8Gコンパイル時にテスト実行を追加したら同じなんじゃないの?
0469デフォルトの名無しさん
2014/04/25(金) 09:47:11.21ID:xiFjVo8Gdomain theory
について手っ取り早く理解できる出来れば日本語の教科書ってないものなのでしょうか
0470デフォルトの名無しさん
2014/04/25(金) 17:43:39.16ID:991UJ/F9本番よりいいテストなんてない。
コンパイル時はVLIW向けコンパイラがさんざん試した。
>>469
プログラム意味論 (情報数学講座)
横内 寛文
www.amazon.co.jp/dp/4320026578
0471デフォルトの名無しさん
2014/04/25(金) 17:47:38.33ID:HBYRTU1F0472デフォルトの名無しさん
2014/04/25(金) 18:00:39.78ID:4fGC8eBcただこの手の本は腰を落ち着けてちゃんと取り組まないと意味ない。
0473デフォルトの名無しさん
2014/04/25(金) 19:34:18.41ID:HBYRTU1Fカルテシアン閉カテゴリってのが圏なのかな。
ちらっと眺めたけどほとんど数学書ですよね。
0474デフォルトの名無しさん
2014/04/25(金) 20:12:25.64ID:+TF8D1gC代数の教養がないと読みきるのは難しいと思います。
カテゴリー理論とプログラミング : カルテシアン閉カテゴリー (<特集>関数型プログラミングと計算の基礎)
http://ci.nii.ac.jp/naid/110003743607
0475デフォルトの名無しさん
2014/04/26(土) 00:07:12.99ID:K0Skm6fw具体的にどんな分野を基礎としているのですか?
0476デフォルトの名無しさん
2014/04/26(土) 00:23:08.27ID:4Xi6PaOsカテゴリの例が載ってるから。
0477デフォルトの名無しさん
2014/04/26(土) 00:43:02.88ID:dHCQW8E5AOTでも実行時のプロファイルを元に最適化はできるけど、JITだと最適化に使える情報が多いとかあったはず。
http://www.slideshare.net/nothingcosmos/x86opti01-nothingcosmos-8784128
0478デフォルトの名無しさん
2014/04/26(土) 00:48:27.17ID:hzi1ThvzJITは実行時情報が豊富なんだけど実際作ると感じるのはやり過ぎると短い寿命のコードの実行速度が遅くなっちゃうんだよね(R3000系のCPUでしかやってないけど)
serverみたいなずっと生きてるコードには凄くよいけど、それでも起動からしばらくは重かったりする。
0479デフォルトの名無しさん
2014/04/26(土) 16:52:41.74ID:dP8sDYOvhttp://www.geocities.jp/m_hiroi/xyzzy_lisp/abclisp11.html
の
クロージャー
クロージャーを変数に代入する
のとこで
(defun foo (x) #'(lambda (y) (* x y)))
を定義して
(setq t2 (foo 2))
やると
#<lexical-closure: (lambda (y) (* x y))>
に評価せれることになるらしいけど
自分のCLISPでやると
#<FUNCTION :LAMBDA (Y) (* X Y)>
になってるんだけどなぜ?
これは同義と捉えていいの?
0480デフォルトの名無しさん
2014/04/26(土) 17:15:15.03ID:jZcKCXUiありがとうございます。読んでみます。
0481デフォルトの名無しさん
2014/04/27(日) 05:09:27.05ID:q6Uao33G気にしなくていいよ。処理系に依存した表示になっているだけ。
0482デフォルトの名無しさん
2014/04/27(日) 05:12:40.19ID:DNn8Q/L1俺と殆ど同じ勉強の最中だな
俺はThe Little Schenerの
8. Lambda the Ultimate
でやってるが
0483デフォルトの名無しさん
2014/04/27(日) 18:08:32.31ID:dkXr/W0v規格で定義してなくて処理系依存。
0484デフォルトの名無しさん
2014/04/27(日) 21:58:20.13ID:eoTYk+57らじゃです ありがとうございます
0485デフォルトの名無しさん
2014/04/27(日) 22:13:35.79ID:hRm/4Rx6emacs lisp
でちょっと手の込んだプログラム作ったら
謎な挙動多すぎて
うんざり
Racketの素晴らしさを再認識した
0486デフォルトの名無しさん
2014/04/27(日) 22:14:45.90ID:dkXr/W0v0487デフォルトの名無しさん
2014/04/27(日) 22:15:58.15ID:Tn6VwyBz0488デフォルトの名無しさん
2014/04/27(日) 22:25:31.71ID:r8KdhOJG0489デフォルトの名無しさん
2014/04/27(日) 22:41:52.46ID:q6Uao33G0490デフォルトの名無しさん
2014/04/27(日) 23:01:05.08ID:xdZ6Vmhjassert 入れるかわりくらいのシロモノ
0491デフォルトの名無しさん
2014/04/27(日) 23:09:55.79ID:UfbRwhMl0492デフォルトの名無しさん
2014/04/27(日) 23:11:35.56ID:dRMpu4rZつxyzzy
0493デフォルトの名無しさん
2014/04/27(日) 23:19:35.81ID:J+hFW2BD0494デフォルトの名無しさん
2014/04/27(日) 23:22:12.82ID:xdZ6Vmhj0495デフォルトの名無しさん
2014/04/27(日) 23:30:00.86ID:dkXr/W0vローカル変数で*variable-name*を上書きして動作変えたり。
いちいちuwinde-protectで後始末するとか面倒すぎる。
0496デフォルトの名無しさん
2014/04/28(月) 00:03:53.12ID:/t06Ophpデフォルトがレキシカルスコープだと本当にこまるのか?
0497デフォルトの名無しさん
2014/04/28(月) 00:18:15.90ID:ya4xYLdw0498デフォルトの名無しさん
2014/04/28(月) 00:25:19.52ID:XZDH340r0499デフォルトの名無しさん
2014/04/28(月) 09:19:56.82ID:8S7K1sXuとまでは言わんが反射的に噛み付くのは犬だな
0500デフォルトの名無しさん
2014/04/28(月) 09:35:35.59ID:CuLw9jaa普通の Racket よりコンパイル時間がかなり延びて不便
0501デフォルトの名無しさん
2014/04/28(月) 10:06:48.35ID:mheEU0a2まいっチング
ふぅー、頑張るしかない
0502デフォルトの名無しさん
2014/04/28(月) 11:04:59.49ID:XZDH340r0503デフォルトの名無しさん
2014/04/28(月) 11:23:15.86ID:k+aW12Iq0504デフォルトの名無しさん
2014/04/28(月) 17:20:21.15ID:mheEU0a2なんか楽しめそうな教材、ねっとでみつけたわ
0505デフォルトの名無しさん
2014/04/28(月) 18:10:13.40ID:k+aW12Iqkwsk
0506デフォルトの名無しさん
2014/04/29(火) 10:19:06.23ID:TDR4lejKOn Lisp
http://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/continuation.html
WIKIBOOKS Scheme/継続
http://ja.wikibooks.org/wiki/Scheme/%E7%B6%99%E7%B6%9A
0507デフォルトの名無しさん
2014/04/29(火) 10:24:50.85ID:TDR4lejKon lisp url間違えた
0508はちみつ餃子 ◆8X2XSCHEME
2014/04/29(火) 11:35:41.31ID:jwcfIzOBhttp://books.shoeisha.co.jp/book/b177731.html
0509デフォルトの名無しさん
2014/04/29(火) 12:00:24.86ID:2ahvypeXいや復刊より訳をなんとかしてほしい
0510デフォルトの名無しさん
2014/04/29(火) 14:14:09.66ID:fqLJb+0Phttps://github.com/sarabander/sicp-pdf
http://d.hatena.ne.jp/minghai/touch/20140402/p1
0511はちみつ餃子 ◆8X2XSCHEME
2014/04/29(火) 16:26:14.92ID:jwcfIzOBそれは現時点では和田訳より悪いという意見もあるけど、
長い文を分割するとかして意訳寄りになってるので、
これから地道に改善すれば日本語としては和田訳より自然になるかもしれない。
和田氏の訳は変に翻訳調の言い回しがあったりすることに違和感を感じてる人が多いみたいだけど、
ちょっと古い専門書を読むと割とこんな感じなので昔のノリで訳しただけなんじゃないのか。
和田氏は確かな業績と能力のある人ではあるんだろうけど、
俺らとは世代がだいぶん違うのは如何ともしがたい。
0512デフォルトの名無しさん
2014/04/29(火) 16:49:40.43ID:fqLJb+0P0513デフォルトの名無しさん
2014/04/29(火) 17:34:42.54ID:gtL4c7jL規模が小さいくてできればCommon Lisp系統のもので
0515デフォルトの名無しさん
2014/04/29(火) 18:45:12.73ID:gtL4c7jL高けぇえええええええええええええええ
ありがたいけど 高杉っす
0516デフォルトの名無しさん
2014/04/29(火) 18:48:19.27ID:rYkmdeg9折れも買おうかなぁー
と思ったが高杉晋作やぁ
アスキー出版で一万かい!
0518デフォルトの名無しさん
2014/04/29(火) 22:57:55.92ID:fqLJb+0Phttp://en.wikipedia.org/wiki/Common_Lisp
メジャー実装のところだとECLがコンパクト?
0519デフォルトの名無しさん
2014/04/30(水) 01:19:19.55ID:AJjFNnEv訳自体が間違っているから
>>511
みたく読み手のせいにする擁護が多いけど
0520デフォルトの名無しさん
2014/04/30(水) 01:37:57.04ID:siFhOvJB>訳自体が間違っているから
具体的にはどの箇所よ?
0521デフォルトの名無しさん
2014/04/30(水) 01:44:09.50ID:UV9ek+Es多すぎていちいち指摘できんだろ
0522デフォルトの名無しさん
2014/04/30(水) 02:14:41.14ID:siFhOvJBURLを1つ書くだけのことなのに
0523デフォルトの名無しさん
2014/04/30(水) 02:17:31.89ID:lrSzZ8qN正しいのか間違っているのか判別できない
0524デフォルトの名無しさん
2014/04/30(水) 02:25:07.80ID:9dpec+mqこれ書かれる度に思うのだが、日本語読解力が足りなくて補完できていない分はどれほどあるんだろうか?
0525デフォルトの名無しさん
2014/04/30(水) 02:36:47.10ID:lrSzZ8qN読み手のせいにするな
0526デフォルトの名無しさん
2014/04/30(水) 02:46:59.64ID:Uuvf5zxf日本語訳の文章が意味不明だと思う奴は結局のところSICPの解説書を欲しているのであって
SICPそのものの自力読破はできない手合いだろうよ。
誤訳は実際あるにせよ、それが問題になるほど本当にお前は本分を読んでいるのか?
0527デフォルトの名無しさん
2014/04/30(水) 02:53:28.76ID:e2ylKwN0意味不明な文章を既存の知識で補って読んでいるんだろうな
そういう知識のない人には読むのは無理な本
0528デフォルトの名無しさん
2014/04/30(水) 03:04:22.36ID:9dpec+mqそんな言い方したら学術書読みたいパンピー全滅じゃないですか〜
0529デフォルトの名無しさん
2014/04/30(水) 03:04:34.77ID:Uuvf5zxfSICPの最初の一文を和田訳と原著で見比べて、ついでにそこを自分なりに和訳を試みてみるがいいさ。
プログラムというたった一単語の奥深さを、"program"という一単語の意味を正確に理解しているわけではない
日本人相手にどうやって伝えれば良いのか身悶えるがいい
0530デフォルトの名無しさん
2014/04/30(水) 03:05:05.60ID:siFhOvJB理解できない理由が己の技量不足とは認めたくないから、
それを翻訳のせいにしているだけ
で、しばらく待ってみたけど、結局のところ
>>519,521はソース無しに批判してただけなのね
0531デフォルトの名無しさん
2014/04/30(水) 03:15:55.45ID:e2ylKwN0もう3時だぞ
はやく寝ろよ
0532デフォルトの名無しさん
2014/04/30(水) 03:18:30.42ID:e2ylKwN0空想がすぎて割り増しとか書いちゃってるよ
単純に和田の英語力が低いだけだろ
0533デフォルトの名無しさん
2014/04/30(水) 03:19:03.48ID:e2ylKwN00534デフォルトの名無しさん
2014/04/30(水) 03:26:35.58ID:Uuvf5zxfここで和田訳の日本語を批判してる面子の批評に耐えられるレベルの品質で
0535デフォルトの名無しさん
2014/04/30(水) 03:31:11.18ID:e2ylKwN0全般的におかしいだろ
0536デフォルトの名無しさん
2014/04/30(水) 06:30:51.85ID:r69v9/KD「ここ、、変でしょ?和田さん!」
の部分
事例ゼロで話が進むんじゃ
馬鹿だけど頭良さげに振る舞うドアホみたいだし
0537デフォルトの名無しさん
2014/04/30(水) 06:31:41.21ID:r69v9/KD○ どこでも
0538デフォルトの名無しさん
2014/04/30(水) 10:36:08.25ID:M/3n2T6Z訳の正確さは文学でやって、どうぞ
0539デフォルトの名無しさん
2014/04/30(水) 10:47:43.02ID:5Jam0SwU0540デフォルトの名無しさん
2014/04/30(水) 10:59:08.96ID:ZnZNlRvV0541デフォルトの名無しさん
2014/04/30(水) 11:04:25.71ID:9dpec+mq俺もそう思う、訳が駄目とか言える位英文読解力あるんだから素直に原文読んで学習すればいいのにって。
0542デフォルトの名無しさん
2014/04/30(水) 11:06:04.00ID:9dpec+mq【SICP】計算機プログラムの構造と解釈 Part3
http://toro.2ch.net/test/read.cgi/tech/1333015632/
0543デフォルトの名無しさん
2014/04/30(水) 11:29:27.72ID:AhPxt9k+ま、いいか
今日、Kindleにsicp.mobi入れた
日本語訳のpdfも見たが、英文見たあとでないと意味よくわからん
英文主体で読む方がよさげ
悪名高い書籍版翻訳は見たことないが
さっさと英文で読めばいいのに
英文読めない人は
ラジオ講座で英語を勉強すれはいいのに
0544デフォルトの名無しさん
2014/04/30(水) 14:11:35.73ID:DGQRHbLE俺も訳は見てないからどっちの味方もできないけどね
0545デフォルトの名無しさん
2014/04/30(水) 20:02:24.78ID:3Nbw0XIMあれは格調高いとかそういうった類のものではなく、日本語になってない。
本文は別に言うほど酷い訳とも思わない。
0546デフォルトの名無しさん
2014/04/30(水) 20:52:45.20ID:TRwZwwSE0547デフォルトの名無しさん
2014/04/30(水) 23:07:09.38ID:6mHWhLZ90548デフォルトの名無しさん
2014/05/01(木) 13:00:02.79ID:wvUyzZ5h字が小さい!
文体硬い!
お蔵入り決定!
次の一冊はSchemeでやりたかったけどLand of Lispに変更!
0549デフォルトの名無しさん
2014/05/01(木) 13:56:05.53ID:y6DqgIHnお前はどんだけゆとりや。
0550デフォルトの名無しさん
2014/05/01(木) 14:06:21.09ID:wvUyzZ5hばかなの?
内容についてはのぺてない
字がちいさい
文体硬い
読めたかなあ
0551デフォルトの名無しさん
2014/05/01(木) 15:13:01.25ID:SvwoWGfY文字が小さいのは同意するが文体固いか?
Land of Lispとくらべたらそりゃそうかもしれんけど。
ちなみに文字が小さい件はebook版で解消可能かと思っていたのだがPDF版しか出てないとかいう事実の前にオライリー死ねとマジで思う。
(文庫本サイズなら紙で買って自炊で済むがA4だとどもならん>>文字の大きさ)
全然関係無いけど Let over Lambdaと Land of LispってどっちもLOLになって困る
0552デフォルトの名無しさん
2014/05/01(木) 15:31:26.57ID:C9mG8jmV0553デフォルトの名無しさん
2014/05/01(木) 16:03:38.88ID:dDPxjZND0554デフォルトの名無しさん
2014/05/01(木) 16:36:08.48ID:sAhQchW3おお、情報サンクス、見つけた
0555デフォルトの名無しさん
2014/05/01(木) 17:07:08.47ID:J2x9Tr8u0556デフォルトの名無しさん
2014/05/01(木) 17:19:28.04ID:wvUyzZ5hおお!LOL、Kindle版の原著しか見てなかったが、書棚のオライリー日本語訳みてみたら
字ちっちゃい!
ありがとう、Kindle
0557デフォルトの名無しさん
2014/05/02(金) 15:42:49.86ID:bB8cQOyyLispもSchemeも俺しか書いてないなあ
ここの常連エキスパートにはアホらしいほど簡単なのかな
プログラム初心者でLisp初心者の俺には楽しい挑戦だけど
あ、ここな
プログラミングのお題スレ Part3
http://toro.2ch.net/test/read.cgi/tech/1390525149/
0558デフォルトの名無しさん
2014/05/02(金) 20:21:34.11ID:+OHeQQwC0559デフォルトの名無しさん
2014/05/02(金) 21:24:46.44ID:+OHeQQwC0560デフォルトの名無しさん
2014/05/02(金) 22:31:02.27ID:uljkUnkDC で lisp を書いてるやつがいないか?
0561デフォルトの名無しさん
2014/05/03(土) 00:32:12.60ID:NUTNzwaZhttps://www.youtube.com/watch?v=n2CcU1A1i-0
UFC 134 - エリック・シウバ vs. ルイス・ラモス
https://www.youtube.com/watch?v=x25xIpNmhCo
0562デフォルトの名無しさん
2014/05/03(土) 06:33:31.13ID:QORqD0QRmapchar/mapはお便利だけど
それって小学生が方程式で安易に解を求めるようなものに思える(げ、昔の俺)
俺みたいな初心者はmap無しで地力を養うべきだな
お題スレでのClosure例見ての感想
0563デフォルトの名無しさん
2014/05/03(土) 06:34:42.05ID:vaFKFtfVあ、理由は簡単にできちゃうから
苦労して楽しむ
0564デフォルトの名無しさん
2014/05/03(土) 07:43:43.36ID:a//LJ5TF自分でmapやらを定義してみたら?
それはちょっと違うのか?
0565デフォルトの名無しさん
2014/05/03(土) 09:40:36.46ID:TqtYx4K60566デフォルトの名無しさん
2014/05/03(土) 09:47:30.35ID:0ml3APIcスレの636のclojure?
というか高階関数使わないでやる方がお題を解く言語選定の時点で間違いじゃないの?
0567デフォルトの名無しさん
2014/05/03(土) 09:53:19.54ID:M/qDYqCtさすがに map くらいに自明なものから再構築するのはどうかな。
まあ程度問題だわな。
0568デフォルトの名無しさん
2014/05/03(土) 12:58:43.52ID:s/rfVMUD0569デフォルトの名無しさん
2014/05/03(土) 13:00:58.42ID:6HBqu3y50570デフォルトの名無しさん
2014/05/03(土) 14:04:53.47ID:SFocP469あ、そういうのは楽しいね
0571デフォルトの名無しさん
2014/05/03(土) 14:05:46.92ID:SFocP469君、馬鹿すぎ!
0572デフォルトの名無しさん
2014/05/03(土) 14:25:28.92ID:f9gYWlLvファイルを上書きしたい場合とか、どうすれば良いの?
0573デフォルトの名無しさん
2014/05/03(土) 14:53:50.28ID:M/qDYqCt常に delete-file で消すしかあるまい。
0574デフォルトの名無しさん
2014/05/03(土) 15:17:27.30ID:y1bmFmyi0575デフォルトの名無しさん
2014/05/03(土) 15:25:30.57ID:M/qDYqCt0576デフォルトの名無しさん
2014/05/03(土) 16:56:06.49ID:f9gYWlLvそれはそうと、r6rsは上書きもできるしバイナリも扱えるし、実用的な規格だな
0577デフォルトの名無しさん
2014/05/03(土) 21:36:26.99ID:M/qDYqCtR6RS だと追加書込みモードが無いぞ。
方向性としては良いけど細かいところに不備多くて、
結局は処理系依存の機能を使うことになるので、
R6RS だから良いというわけでもない。
0578デフォルトの名無しさん
2014/05/03(土) 22:03:05.29ID:yPk99aCV0579デフォルトの名無しさん
2014/05/03(土) 22:21:52.75ID:M/qDYqCt盛り込まれなかったこと、決定されなかったことは
まだ議論が足りないと判断したから先送りしたのかも。
0580はちみつ餃子 ◆8X2XSCHEME
2014/05/04(日) 00:46:15.20ID:uzMRkq8yR6RS でもモードについては微妙にまとめきれてない感があるので、一旦更地にして議論しなおすべきだな。
0581デフォルトの名無しさん
2014/05/04(日) 03:59:47.91ID:rOCS2EfpLispでは何になるのでしょうか
0582はちみつ餃子 ◆8X2XSCHEME
2014/05/04(日) 04:21:42.69ID:uzMRkq8y静的解析全般をやれるようなツールってこと?
0583デフォルトの名無しさん
2014/05/05(月) 16:53:18.53ID:wP+UVhzo数学や記号処理のアルゴリズムのセンスは
ほんの少し出来る程度
なんだなあ
なに?文系もろだしだって?
どひゃひゃ
でも、稼いだのはプログラム関連で三億はいったんだぞ
ま、稼げるのと頭がよいのは違うんだがな
0584デフォルトの名無しさん
2014/05/05(月) 16:54:50.47ID:TgbKI+Ut頭の良い人が羨ましい
0585デフォルトの名無しさん
2014/05/05(月) 18:28:01.71ID:wP+UVhzohttp://toro.2ch.net/test/read.cgi/tech/1390525149/663
0586デフォルトの名無しさん
2014/05/05(月) 18:33:18.18ID:ffC8nT8g0587デフォルトの名無しさん
2014/05/05(月) 19:28:15.01ID:P4hu0Qed> でも、稼いだのはプログラム関連で三億はいったんだぞ
無職が語る語るw
0588デフォルトの名無しさん
2014/05/05(月) 19:43:56.67ID:I8tguettあらら、このスレにもクズはいるんだ
あはは
お前、推理力無いに等しいな
乙
0589デフォルトの名無しさん
2014/05/05(月) 22:53:39.07ID:/HOVuw4bほっといてやれよ、かわいそうだろ
0590デフォルトの名無しさん
2014/05/06(火) 16:55:33.25ID:f7qfr4YRワロタとかワラタとかつけないと語れないのな
0591デフォルトの名無しさん
2014/05/07(水) 06:04:20.88ID:ErPCAkxH継続で苦戦中
ウーム
0592デフォルトの名無しさん
2014/05/07(水) 19:14:38.43ID:yqa0DhG90593デフォルトの名無しさん
2014/05/07(水) 20:47:50.48ID:rKnBy2nq0594デフォルトの名無しさん
2014/05/08(木) 03:19:50.39ID:L/Pp55/20595デフォルトの名無しさん
2014/05/08(木) 03:40:44.53ID:HBWg5zBZつーかスレ違いだってばさ
0596デフォルトの名無しさん
2014/05/08(木) 06:36:45.82ID:YMmlCcBR0597デフォルトの名無しさん
2014/05/08(木) 11:01:14.54ID:KH+z9iVCしんでろ、くず
0598デフォルトの名無しさん
2014/05/08(木) 12:51:11.08ID:FbSc8Swp図星で、顔真っ赤 (w
0599デフォルトの名無しさん
2014/05/08(木) 12:55:37.57ID:WeA9eEmr0600デフォルトの名無しさん
2014/05/08(木) 15:26:03.53ID:PtIy+ZND意味不明
低偏差値層の書き込みはどうしてもいつも同じパターンだな
0601デフォルトの名無しさん
2014/05/08(木) 15:26:55.73ID:PtIy+ZNDあはは
0602デフォルトの名無しさん
2014/05/08(木) 16:27:57.28ID:cxy0T9yd0603デフォルトの名無しさん
2014/05/08(木) 16:43:02.13ID:ZE5Ad/Nq偏差値ねえ?w
0604デフォルトの名無しさん
2014/05/08(木) 17:01:37.74ID:wWPRqp2a三億といっても.15年で割れば一年当たり大した金額ではない
それで、三億三億と書いてる奴って
よほど金にならないプログラマー?
稼ぐには信用が大切
頭よいだけじゃ駄目なんだよ
おれなんか、優秀な連中に
「がんばってね!」
といいながらオッパイ吸ってたからな
わはは
さてと今日はlambda式での再帰の勉強
あのね、リスプ系は頭いいかと思ってたが
墓もいるんだな
あはは
墓に入りなさい
0605デフォルトの名無しさん
2014/05/08(木) 21:23:55.86ID:fVRUScBj0606デフォルトの名無しさん
2014/05/08(木) 21:25:50.62ID:gIosECTpだいたいわかったので
CCCで遊んでみたいのだけど
この文献で参照されてるOCamlで遊んだらいいのだろうか
Shenあたりで同じ事できないのだろうか
0607デフォルトの名無しさん
2014/05/08(木) 21:26:10.91ID:anqLhap80608デフォルトの名無しさん
2014/05/08(木) 21:28:26.59ID:gIosECTpOpenCVが頻繁にインターフェイスを変えてくるので
2年前ぐらいのOpenCV使ったプログラムはコンパイルできない事が多い
なのでOpenCVのインターフェイスをFrama-cみたいなツール使えば
自動生成できないかと
0609デフォルトの名無しさん
2014/05/08(木) 21:32:26.13ID:jcfj6FZZ病人あるいは、単に朝鮮人なのかもな。
ウリナラファンタジーなんだろうなあれが。
0610デフォルトの名無しさん
2014/05/08(木) 21:52:37.41ID:gIosECTp「Haskellの型推論はPrologのユニファイケーションと同じなんじゃないか」
みたいな事書いてあった
ということはProlog が組み込んであるShenが一番なのでは?
0611デフォルトの名無しさん
2014/05/08(木) 22:07:23.75ID:DdCl0Xxb0612デフォルトの名無しさん
2014/05/08(木) 22:17:04.08ID:JIZF9qTX卒研で、HaskellでWAM作った俺は勝ち組だな…
0613デフォルトの名無しさん
2014/05/08(木) 22:42:57.46ID:SsHMLBYd0614デフォルトの名無しさん
2014/05/08(木) 22:43:50.14ID:H799Rif20615デフォルトの名無しさん
2014/05/09(金) 03:27:13.17ID:n6FjfsXoはあ?
レスできずに?
おまえ、低学歴だな! あはは
レスすべき主張がないものにレスとは
0616デフォルトの名無しさん
2014/05/09(金) 03:39:58.56ID:n6FjfsXoそういう「普通にお馬鹿」がおおすぎるな
みんなで思えばそうなんだもん
そういうレベルじゃまともな創造はできまい
あ、
>>605きみ、マジならばかすぎ
>>607これ、典型
>>609これは重症、民族差別にまで拡大させた
これはら結論のみの宣言であり、かつ、それは以下の
構造をもうだろう
そうだとしてしまいまいたる恣意に押されて
そうありあることを、そうであるとしてしまう
というお馬鹿は信仰宗教、ないし傲慢なる形而上学の
発想と同じものだな
ま、もう一組、その思考様式は
精神病者と低偏差値層によくみられるんたがな
ここでの実例は殆ど後者の組だろ
前者の組だと、彼らなりの理屈をつけるものだが
ここの書き込みはそれさえない
わははははははは
そのレベルじゃ模倣か単に演繹的な思考しかてきんだろ?
ま、貧乏に過ごせ
0617デフォルトの名無しさん
2014/05/09(金) 06:37:01.78ID:gmFOA17ushenのマクロってまさかこれしか出来ないの?
単なるパターンマッチ?
0618デフォルトの名無しさん
2014/05/09(金) 08:00:33.60ID:jv8u2wzY今日は継続やでぇ
今日の標語や
チンチンもそそり立つ俺様やけど
実るほど垂れるキトウかな
どや?勉強になったか?
0619デフォルトの名無しさん
2014/05/09(金) 09:13:15.06ID:f5Zf3Edf性的に劣った存在であることがマイナスだと思えばそういう侮蔑の仕方をするし、
また、社会経験を積むことに価値を見出す人は「世間しらず」
「いい年で幼い行動」などと言って人を非難する。侮蔑こそ己を晒す行為なんだな
0620デフォルトの名無しさん
2014/05/09(金) 11:46:01.11ID:MMJKVPjbほんとそれ。
>>616はどんだけ学歴コンプレックス持ってんだよ…。
中学生が必死で背伸びして書いたような痛々しい文章、
これはなかなか健常者には書けるもんじゃない。
恣意w 形而上学のw 思考様式w 演繹的な思考ww
0621デフォルトの名無しさん
2014/05/09(金) 12:31:25.76ID:zswDXVh5きみ、低偏差値層だろ?
意味もわからずに単語並べて馬鹿まるだしじゃないか。
どこの三流大学だか知らんが
リスプ系やってる割にひ科哲の教養ゼロに近いな
でも悔しいから書いちゃうか?
おまえさ、国会図書館に著作ある?
答えてみな
0622デフォルトの名無しさん
2014/05/09(金) 12:33:56.13ID:zswDXVh5というか、ここまで無教養だといわゆるニートの精神病かい?
恣意、思考様式、形而上学ていどの
殆ど知的日常語に近い語に凄いアレルギー反応だな
きみ、おバカの告白してしまったな
0623デフォルトの名無しさん
2014/05/09(金) 12:57:55.86ID:aJ8WL+k50624デフォルトの名無しさん
2014/05/09(金) 14:32:33.33ID:S85QmVft0625デフォルトの名無しさん
2014/05/09(金) 16:54:42.28ID:o58oUVDYワロタ
0626デフォルトの名無しさん
2014/05/09(金) 17:28:44.95ID:eJM5z6E00627デフォルトの名無しさん
2014/05/09(金) 17:39:54.40ID:o0btTQ4b0628デフォルトの名無しさん
2014/05/09(金) 21:39:18.18ID:B/3GqKbF0629デフォルトの名無しさん
2014/05/10(土) 00:22:24.04ID:gFecByos+ って引数が可変なわけですけど、
処理系ではどうやって解釈しているんです?
つまり引数の数はVMへのコンパイル時にチェックしますか
それとも実行時にチェックしますか?
0630デフォルトの名無しさん
2014/05/10(土) 00:33:51.25ID:DJS7XE7u0631デフォルトの名無しさん
2014/05/10(土) 00:38:34.27ID:bSj8cWucとりあえず clisp の場合。
[1]> (disassemble #'(lambda () (+ a b c)))
{中略}
0 (GETVALUE&PUSH 0) ; A
2 (GETVALUE&PUSH 1) ; B
4 (GETVALUE&PUSH 2) ; C
6 (CALLSR 3 55) ; +
9 (SKIP&RET 1)
[2]> (disassemble #'(lambda () #'+))
{中略}
0 (CONST 0) ; #<SYSTEM-FUNCTION +>
1 (SKIP&RET 1)
前者はコンパイル時に引数の個数が決まっている
(CALLSR の第一引数が+に渡す引数の数)。
後者は引数の数を確定できないので、
#<SYSTEM-FUNCTION +> という関数を返している。
この関数が呼ばれるときは他の &rest 付き関数と同じ扱いになる。
0632デフォルトの名無しさん
2014/05/10(土) 00:39:05.69ID:MPjg6ErOコンパイル時です。SUBRの+は引数の個数を確認してスタックから引数をPOPします。
0633デフォルトの名無しさん
2014/05/10(土) 00:59:47.67ID:XdpsAeNM0634はちみつ餃子 ◆8X2XSCHEME
2014/05/10(土) 01:15:23.23ID:b9I69sqXナイーブな実装だと実行時になるんじゃね。
Common Lisp はよく知らないけど Scheme の場合は + を評価して手続きを取出すまでアリティはわからないわけだし、
評価はもちろん実行時なので実行時にならないとわからない。
そういう原則を踏まえた上でコンパイル時にチェックできる場合を特別に扱う最適化を入れる感じ。
0635デフォルトの名無しさん
2014/05/10(土) 03:49:56.24ID:k5l6ZTQ+実るほど垂れる乳首かな
0636デフォルトの名無しさん
2014/05/12(月) 09:02:53.20ID:gUlXY5KMという事が(限定された意味であっても)できるんだな。
今日、Closureの勉強した後で、「となると・・できるんじゃね?」
と思ってやってみたらできましたなあ
うーむ、Schemeの勉強はおもしろいぞ
こりゃしばらくはナンパよりSchemeの勉強だ
0637デフォルトの名無しさん
2014/05/12(月) 10:58:55.56ID:dnbz3Cdjって無限ループがあるかどうかを
判定しているだけって事でいいの?
0638デフォルトの名無しさん
2014/05/12(月) 21:40:44.46ID:vVaOlzqdコンパイラの最適化でやる到達可能性なんかと似た概念。
0639デフォルトの名無しさん
2014/05/13(火) 09:13:01.18ID:NG4CQrCJVMの汎用レジスタorスタックって
なくてもcのローカル変数で代用できますか
またはそのような実装はありますか
0640デフォルトの名無しさん
2014/05/13(火) 22:56:42.05ID:7V24yfmJ0641デフォルトの名無しさん
2014/05/13(火) 23:40:15.92ID:LrIx+NvDできるけど、
スタックには大きさの制限があるし
VMループから抜けると処理は再開できないしで
あんまいいことないよ。
0642デフォルトの名無しさん
2014/05/14(水) 19:24:28.23ID:XLa7Hr8t0643デフォルトの名無しさん
2014/05/14(水) 22:34:00.53ID:vA2Ser57そうか。
ってのむかつくんだけど
なにがむかつくってスレ開いて新着レスキタ - .∵・(゚∀゚)・∵. - ッ!!とかおもったら
そうか。
だよ
結構イライラするからやめてくれ
でまた
そうか。
だろ?やめろ
0644デフォルトの名無しさん
2014/05/14(水) 23:53:38.36ID:7rZcewE90645デフォルトの名無しさん
2014/05/15(木) 00:43:36.49ID:DCYjRRb40646デフォルトの名無しさん
2014/05/15(木) 01:04:36.71ID:SKUPxDKZなんだお前じゃなかったのか
0647デフォルトの名無しさん
2014/05/15(木) 04:16:52.55ID:zU62setbそうか
0648デフォルトの名無しさん
2014/05/15(木) 19:59:43.64ID:eNbFmNO2そうか
0649デフォルトの名無しさん
2014/05/16(金) 08:11:15.59ID:1smShKMA0650デフォルトの名無しさん
2014/05/18(日) 15:35:44.17ID:3TnYf5eg(f 継続 出力値のポインタ1 出力値のポインタ2... 入力1 入力2 ...)
で共通化してほしい
0651デフォルトの名無しさん
2014/05/18(日) 16:17:18.84ID:mmOjks5D((f 継続 出力地のポインタ) 入力)
0652デフォルトの名無しさん
2014/05/19(月) 00:47:23.24ID:ifX/zEHkその方式って何処かで推奨されてるの?
0653デフォルトの名無しさん
2014/05/19(月) 06:14:16.82ID:SdRbB6EKごっつう気持ちええで〜
0654デフォルトの名無しさん
2014/05/19(月) 23:46:00.75ID:UTlgg7GA0655デフォルトの名無しさん
2014/05/20(火) 14:44:18.95ID:DHV6nY+20656デフォルトの名無しさん
2014/05/20(火) 16:03:54.48ID:UDjxMmTzループの先頭に戻ったりするでしょ。
その戻るために必要な「状態」のこと。
0657デフォルトの名無しさん
2014/05/20(火) 23:27:40.42ID:r2BdXUha機械が次に実行する事に必要な情報
0658デフォルトの名無しさん
2014/05/21(水) 00:02:07.52ID:0uwvVSSnただしsetjmpした環境を持ちまわればどこでもlongjmpできる点のみが違う
要するにコストの高いsetjmp
大抵の実装ではcall/ccを呼んだ時点でその継続はヒープに移動するところがsetjmpと違う
以後全てはヒープに移動した継続を自動的に参照する
0659デフォルトの名無しさん
2014/05/21(水) 17:24:23.10ID:tufOZY/+0660デフォルトの名無しさん
2014/05/21(水) 17:25:07.31ID:tufOZY/+thx!!
0662デフォルトの名無しさん
2014/05/22(木) 12:47:33.86ID:X7SJFDRl当時よくこのレベルでの抽象化を思いついたもんだ。
0663デフォルトの名無しさん
2014/05/22(木) 17:44:17.78ID:MMgx68uUまあライブラリでやっちゃったのは凄いとは思うけど
0664デフォルトの名無しさん
2014/05/22(木) 21:16:16.23ID:jXtoQOHc0665デフォルトの名無しさん
2014/05/22(木) 21:43:25.64ID:Fu9GuZb00666はちみつ餃子 ◆8X2XSCHEME
2014/05/22(木) 23:56:16.26ID:N8DUxA9y0667デフォルトの名無しさん
2014/05/28(水) 12:55:28.88ID:X/2WS0UX0668デフォルトの名無しさん
2014/05/29(木) 00:11:50.72ID:NFEFAaY+大学の演習で簡易版を作らされたから、ネットにいっぱい転がってるはずなんだけどな
0669デフォルトの名無しさん
2014/05/29(木) 03:22:56.46ID:knodhQShSchemeだとcallccで面倒だけど、普通にLisp1系なら1週間有れば趣味でも実装できるっしょ?
0670デフォルトの名無しさん
2014/05/29(木) 04:00:08.17ID:IYXfC5c10671デフォルトの名無しさん
2014/05/29(木) 04:02:31.10ID:IYXfC5c10672デフォルトの名無しさん
2014/05/29(木) 09:02:31.16ID:DuN7PD4Dあんたにもこんな初心者レベルの頃があったんやで
ええ、いくらでもけなしてくれなはれ
わし、勉強するわ
http://codepad.org/eym6WeCK
0673デフォルトの名無しさん
2014/05/29(木) 09:06:38.83ID:ie7ojQhiどうして既存のものを参考にしない前提なの?
趣味ならそういう縛りでやるのも勝手だけど、
偉大なる先人と比べたら大抵の人間が無能なのはあたりまえじゃん。
それでも先人より先に進めるのは先人の成果を利用して学ぶからだろ。
0674デフォルトの名無しさん
2014/05/29(木) 13:10:15.09ID:knodhQSh普通にゴミ集め書いたら何もマークアンドスイープにしかならんのじゃないの?
んでもってがっつりと時が止まる所で悩む
0675デフォルトの名無しさん
2014/05/29(木) 14:40:20.29ID:pVyo0eCY0676デフォルトの名無しさん
2014/05/29(木) 18:46:58.43ID:DuN7PD4Dわし、その大多数のなかに入ってないねん
0677デフォルトの名無しさん
2014/05/29(木) 19:38:04.78ID:KpyrHqAC0678デフォルトの名無しさん
2014/05/29(木) 22:19:29.29ID:ie7ojQhiなら成果をどんどん発表してね。 期待age
0679デフォルトの名無しさん
2014/05/29(木) 22:26:16.48ID:ie7ojQhiかなり状況に左右されるんじゃねーの。
int 幅にポインタを格納してもどうせ何ビットか余るわけだし、
余った分を活用するのは合理的に思える。
0680はちみつ餃子 ◆8X2XSCHEME
2014/05/29(木) 23:53:40.63ID:ie7ojQhiC++ とかから流れてきた人は自然に参照カウンタ使いそうな気がする。
0681デフォルトの名無しさん
2014/05/30(金) 23:37:32.00ID:m0R2Acz20682デフォルトの名無しさん
2014/05/31(土) 00:45:30.60ID:e8li9CXk前に書いたときはmark&sweepを自力で書いたけどstackにpushして一時的に保護したり面倒臭すぎる
もうboehm-gc使ってみようかと思ったけどまた自力で書いたほうがいいのかな
0683デフォルトの名無しさん
2014/05/31(土) 00:53:09.25ID:2L0xFU1r0684はちみつ餃子 ◆8X2XSCHEME
2014/05/31(土) 08:33:36.21ID:q75cQArEどちらかが良いという問題ではなくて、それぞれのメリット/デメリットを考えて、
自分がやろうとしていることにどちらがマッチするかで考えればいい。
面倒くさいとわかっていることに手を出して途中で飽きるくらいなら Boehm GC を使った方がいいと思うけど、
面倒くさくてもそれは自分でやらなきゃ意味がないと思うならやればいいんじゃないの。
最初は Boehm GC を使って余裕があればあとから独自の GC に置き換えるというのでもいいし。
0685デフォルトの名無しさん
2014/05/31(土) 12:36:49.56ID:SYzWFJha片付けられる問題をGC側が解決してくれるようにしたい
それだとmark&sweep以外のアルゴリズム使わないとだめなのかな
0686デフォルトの名無しさん
2014/05/31(土) 14:45:11.77ID:iRT5FyvMちょっと読み違えているかもしれないが。
smalltalk-80の実装は、
メソッド呼び出し内では参照カウントで管理して、破棄できるものはreturn時に破棄、
システム全体はmark&sweepという併用だった。
参照カウントだけだとループがある時に問題になるので。
0687デフォルトの名無しさん
2014/05/31(土) 16:45:47.91ID:YxBnxiuUhaskell共和国で腹筋崩壊した
0688デフォルトの名無しさん
2014/05/31(土) 21:54:47.69ID:ozxeunj2でも、あれは完成形じゃない気がする。
だから、まだ land of lisp の復興はあり得ると思うんだ、何が必要かは分からんけど。
0689デフォルトの名無しさん
2014/05/31(土) 22:37:18.69ID:XFgqF1Rdlet over lambdaのほうのlolはhaskellをあまりよく書いてなかったね
それより自作のlisp処理系にキーワードを付けようか迷う
lisp-2だからcommon lispに合わせて付けたほうがいいかな
0690デフォルトの名無しさん
2014/06/01(日) 00:38:47.97ID:Teq6IDrL0691デフォルトの名無しさん
2014/06/01(日) 00:44:17.67ID:D/HvdSEw必須でもないからな
0692デフォルトの名無しさん
2014/06/01(日) 02:16:45.57ID:6j1AF/cEList以外の全てがAtom
0693デフォルトの名無しさん
2014/06/01(日) 07:01:09.59ID:Teq6IDrL最低限必要なアトムは?
0694デフォルトの名無しさん
2014/06/01(日) 07:26:00.52ID:YcJ1a4/i>>690
tとnilとくればSchemeではないので
(defun is-atom? (x)
(not (listp? x)))
だとうまくいかない。nilは空リストを意味してしまうからである。つまり
「リストではないものはアトム」とはいえない
どうしてもいいたいならば
「空でないリストはアトムではない」とはいえる
そうではなくて
「(コンス)セルではないものはアトム」である
(defun is-atom? (x)
(not (consp x)))
逆にSchemeでそれがアトムかどうかを判定させるには
(define is-atom?
(lambda (x)
(not (pair? x)))
ではうまくいかない。空リストが考慮されてないからである
それゆえ
(define is-atom?
(lambda (x)
(and (not (pair? x))
(not (null? x)))))
Common Lisp系の場合はnilの特異性(nilはアトムでもあり
リストでもある唯一のシンボル)のためアトムとリストの対応ではなくアトムとコンスセルの対応を基本に据えないと見通しが悪くなる
0695デフォルトの名無しさん
2014/06/01(日) 07:28:47.86ID:YcJ1a4/i○ listp
0696デフォルトの名無しさん
2014/06/01(日) 07:31:28.62ID:YcJ1a4/iそれは
t,nilの2つにくわえ
(nyotai naoko ikuko ayako beautiful sexy erotic )
があればいいんじゃないか?
0697デフォルトの名無しさん
2014/06/01(日) 09:59:24.61ID:YlwYcK2Dいや、 anal も必要だろ。
0698デフォルトの名無しさん
2014/06/02(月) 00:28:17.75ID:IzxWCtpROpenCVのインターフェイスが頻繁に変わるのは政治的な理由があると思う
OpenCV本家のpythonバインディングより出来のいいバインディングを誰かが作ると
毎回インターフェイスが変更される
この「技」を潰されちゃうと
開発者がへそまげてOpenCV自体が消える可能性ある
0699デフォルトの名無しさん
2014/06/05(木) 12:34:46.65ID:8uloiXMthttp://www.buildyourownlisp.com/
これを使ってlispの実装をしてみようと思うのですが、これはどういう風に評価されている教材なのでしょうか
0700デフォルトの名無しさん
2014/06/05(木) 20:14:44.22ID:og4ZcvMZコンディションの実装糞面倒だからreadとevalとraiseの三種類で誤魔化そうとしたけど
handler-case書けなくなるし困った
こういうのどこで妥協するかが一番難しいと思った
0701デフォルトの名無しさん
2014/06/06(金) 00:18:08.21ID:VcdXGPw80702デフォルトの名無しさん
2014/06/06(金) 09:32:36.52ID:7nE+uYTjそうか。
ってのむかつくんだけど
なにがむかつくってスレ開いて新着レスキタ - .∵・(゚∀゚)・∵. - ッ!!とかおもったら
そうか。
だよ
結構イライラするからやめてくれ
でまた
そうか。
だろ?やめろ
0703デフォルトの名無しさん
2014/06/06(金) 10:30:05.79ID:3FiK28W7そうか
0704デフォルトの名無しさん
2014/06/06(金) 12:42:43.90ID:iMYjirOz0705デフォルトの名無しさん
2014/06/07(土) 03:00:59.41ID:P2TDtsm60706デフォルトの名無しさん
2014/06/07(土) 03:31:50.78ID:OmD0qLId0707デフォルトの名無しさん
2014/06/07(土) 04:16:24.10ID:NewEEkV80708デフォルトの名無しさん
2014/06/07(土) 08:20:11.41ID:1GJMra0o0709デフォルトの名無しさん
2014/06/07(土) 08:24:49.21ID:rofUEf38オランダの飾り窓でつかえるんか?
スズキかたるなら佐藤さん語れや
0710デフォルトの名無しさん
2014/06/07(土) 13:19:28.29ID:wf5Eu0QYfile-name.xxx
でいいのだけど、いろんな言語を相互に呼び出したりすると
どうしても
file_name.xxx
に統一したくなる
fileName.xxx
は論外
0711デフォルトの名無しさん
2014/06/07(土) 13:23:19.12ID:1GJMra0oMac はUNIXだし後は何言ってるかさっぱり分からない
0712デフォルトの名無しさん
2014/06/07(土) 15:35:29.08ID:P2TDtsm6Mac は Unix かもしれないが、 Unix が Mac であるとは限らないだろ。
0713デフォルトの名無しさん
2014/06/07(土) 16:40:01.15ID:GAICIAD/0714デフォルトの名無しさん
2014/06/07(土) 16:44:29.81ID:OmD0qLId0715デフォルトの名無しさん
2014/06/07(土) 16:50:48.79ID:lJ+qd9Ld0716デフォルトの名無しさん
2014/06/07(土) 17:38:27.41ID:SRkoD9Jh今Lisp -> Obj-CしてるんでSwift別に必要ねぇ感じ。
SwiftでしかiOSコード書けないなら捨てだろうし。
0717デフォルトの名無しさん
2014/06/08(日) 04:32:45.36ID:euvvSTx+それとも自作?
0718デフォルトの名無しさん
2014/06/10(火) 07:59:08.60ID:nxVaHdwk0719デフォルトの名無しさん
2014/06/10(火) 07:59:53.71ID:nxVaHdwkhttp://nshipster.s3.amazonaws.com/cfhipsterref-cover.png
0720デフォルトの名無しさん
2014/06/11(水) 12:15:34.94ID:PI7tChz5ウーム
また、やり直す
英語の勉強にもなるし。
0721デフォルトの名無しさん
2014/06/11(水) 12:42:04.95ID:iXEwBJFy0722デフォルトの名無しさん
2014/06/11(水) 23:48:23.54ID:VPWYtuav0723デフォルトの名無しさん
2014/06/11(水) 23:58:18.05ID:NCsy5Ev10724デフォルトの名無しさん
2014/06/12(木) 00:10:52.40ID:Mh5hosWy0725デフォルトの名無しさん
2014/06/12(木) 04:24:22.06ID:pmHO11BHま、続けよう
0726デフォルトの名無しさん
2014/06/12(木) 04:25:06.15ID:pmHO11BHありがとう
0727デフォルトの名無しさん
2014/06/12(木) 08:37:19.12ID:dUABq+fE足し算思考だとそうなるね。
掛け算思考なら相乗効果で捗るが。
0728デフォルトの名無しさん
2014/06/12(木) 11:41:13.59ID:i9E67NrQ0729デフォルトの名無しさん
2014/06/12(木) 12:22:04.27ID:FPQaqgXk足し算なら俺でもできる
(+ a bc)
だな
おお!勉強の成果だ!
0730デフォルトの名無しさん
2014/06/12(木) 16:28:20.76ID:i9E67NrQ0731デフォルトの名無しさん
2014/06/12(木) 16:58:39.09ID:FPQaqgXkとりあえずチンポ弄くってから考えてみる
0732デフォルトの名無しさん
2014/06/12(木) 19:03:08.04ID:sI6dCmEZたまに1以下の数字が乗じる事があるんだよね
0733デフォルトの名無しさん
2014/06/12(木) 22:02:34.55ID:Ap4t2hw8COBOL: 1+0i
足すごとに実用性が増すが、掛けても何も変わらんw
0734はちみつ餃子 ◆8X2XSCHEME
2014/06/13(金) 15:22:36.90ID:/qpuWCLD0735デフォルトの名無しさん
2014/06/13(金) 22:58:08.47ID:txXJF54B0 とか -1 とかもあるしね (w
0736デフォルトの名無しさん
2014/06/13(金) 23:09:51.86ID:IVqCc1OG再び戻って参りました
0737デフォルトの名無しさん
2014/06/14(土) 00:18:02.45ID:+FDTKVzAそれとも概念の数の多さに怯えたの?(そんなに、概念多いかなあ)
0738デフォルトの名無しさん
2014/06/14(土) 00:23:59.66ID:D/SadlAq0739デフォルトの名無しさん
2014/06/14(土) 00:52:31.59ID:zGKoSDUt0740デフォルトの名無しさん
2014/06/14(土) 00:56:34.43ID:xBHo5yPo0741デフォルトの名無しさん
2014/06/14(土) 00:58:52.14ID:LdrUXIu00742デフォルトの名無しさん
2014/06/14(土) 01:00:02.41ID:D/SadlAq0743デフォルトの名無しさん
2014/06/14(土) 01:00:11.30ID:LdrUXIu0それだとXSLTがある。というかもう使われて「ない」のかな?
0744デフォルトの名無しさん
2014/06/14(土) 02:12:28.49ID:/t1vIzIu0745デフォルトの名無しさん
2014/06/14(土) 02:13:04.33ID:+FDTKVzA0746デフォルトの名無しさん
2014/06/14(土) 02:30:24.22ID:+FDTKVzAそこがなあ、一冊目にやるのはどうなのか
二章か3章で欄外に
(car (cons a b)) -> a
(cdr (cons a b)) -> b
と注記はされているけど
それは
What is (cdr b)? where a is 123.
の答えが
No answer. because b must be a non-empty lisp
としているので、
actuallyと注記がある
だったと記憶している
細い記述は本文とは異なる
こんな事!でしたねえ、、、、です
リトルスキーマはSchemeらしく継続までやってるのはいいと思う
でもなあ、最初はCommon Lispではあるけど
「LIST遊び」のほうがいいような気がする
CELLもちゃんと始めからやるし
セルのつながりとしてのListという事を基礎に据えられる
因みに俺はLIST遊びからリトルスキーマーをやった口
0747デフォルトの名無しさん
2014/06/14(土) 02:33:59.02ID:+FDTKVzALIST遊び (Common Lisp
プログラミングGauche (Scheme)
あたりは?
0748デフォルトの名無しさん
2014/06/14(土) 03:42:13.86ID:zGKoSDUtコンスセルとリストの関係の話とか、そんなに腰を据えてやらなきゃならないほど難しいことか?
それをどう使うか、使えるのかっていうことを示さないと「それで?」ってなるだろ。
「あ、さっきのやつはこう使えるんだ〜」っていう順序がきちんとしてるのが Little Schemer じゃないか。
わからないときは戻って読み返せばいいんだし。
高校生のときを思い出してみろよ。
行列を方程式に対応付けて機械的な作業で解いたり計算量を減らしたりして物理計算が楽になったりしただろ。
グラフィックの計算に使えるぜーとか、そういうの無しで延々と行列の定義を覚え続けて頭に入るか?
実際に使われる場面を見て、なるほどこういう風に役に立つのかってなる方が学びやすいと思うんだよな。
0749デフォルトの名無しさん
2014/06/14(土) 04:10:11.28ID:RGY3g82H腰を据えるではなくて
基礎に据える
あのな、いくら読み返してもコンスセルの話はでてこないだろ
関連して
(car (cons a b)) -> a
(cdr (cons a b)) -> b
が注に出るだけ
あくまでアトムとリストの対比の世界でものを考えることになるのがリトルスキーマー
ま、そういう方針の本なんだな
あくまで、「初めてやる本でしょ?」だろうから
そのうえで、ま、よく階梯を持つと思うよ。良い本です
atomとリストのなかでものを考えているから可能となってしまう
不適切な考察がここやCommon Lispのスレで何度か見かけた
コンスセルの連鎖関係がリストの実体であり
リストはあくまで表現にすぎない
と思えるかどうかだな
0750デフォルトの名無しさん
2014/06/14(土) 08:47:08.24ID:Rm8HxN97>>749みたいな話もちゃんとしてる
0751デフォルトの名無しさん
2014/06/14(土) 09:25:29.34ID:LdrUXIu0同意できない。
0752デフォルトの名無しさん
2014/06/14(土) 10:46:14.21ID:RWrtwXRC> 腰を据えるではなくて
> 基礎に据える
はあ?
腰を据えるの意味調べてこいよ
0753デフォルトの名無しさん
2014/06/14(土) 11:17:03.24ID:RGY3g82H頭悪すぎる
しかし、開き直るとは思わなかった
0754デフォルトの名無しさん
2014/06/14(土) 12:46:17.59ID:RWrtwXRC腰を据えるの意味と、どうおかしいのか書いてみな
0755デフォルトの名無しさん
2014/06/14(土) 15:19:37.26ID:kVfPiGuj0756デフォルトの名無しさん
2014/06/14(土) 22:06:49.77ID:n5vNq/0C0757デフォルトの名無しさん
2014/06/15(日) 12:36:26.00ID:RRrISo1fLispの括弧もタマネギみたいで好き
0758デフォルトの名無しさん
2014/06/15(日) 12:38:42.06ID:IRi7fyG50759デフォルトの名無しさん
2014/06/16(月) 12:11:11.89ID:QdbRzEa/0760デフォルトの名無しさん
2014/06/16(月) 12:15:45.92ID:QdbRzEa/できますよね
atom?に関しては注で
(deifne atom?
(lambda (x)
(and (not (pair? x))
(not (null? x)))))
とされてますし、number?は
(define number?
(lambda (x)
(and (not (pair? x))
(not (symbol? x))
(not (string? x))
(not (eq? x #t))
(not (eq? x #f)))))
でいけると思うんですが、間違いですか?
0761デフォルトの名無しさん
2014/06/16(月) 13:08:24.18ID:RIOX5DV+0762デフォルトの名無しさん
2014/06/16(月) 17:02:23.57ID:Ys5PGdkCdata domainがclosedならokですね。
0763デフォルトの名無しさん
2014/06/16(月) 21:02:53.20ID:grRCv1F+(number? #\A) とか
0764デフォルトの名無しさん
2014/06/16(月) 21:32:39.60ID:SQhI/GVoぐぐってみたけど、shi3zさんは回路図とブロック図の区別がついてなさそう。
http://enchantmoonstrokes.appspot.com/#52021019350840f7400ea0bc150d6562d0cb0e30a35b740ca
しかし突っ込みどころが多すぎてなかなか楽しい図だなw
814 名前:デフォルトの名無しさん[sage] 投稿日:2014/06/15(日) 17:16:40.51 ID:BWS0xqiu
なんであんなトンチンカンなおっさんが未踏に採択されたのか謎
815 自分:デフォルトの名無しさん[sage] 投稿日:2014/06/15(日) 17:29:15.50 ID:e7vXG3hh [1/2]
未踏とかLispインタープリターが作れれば採択される
ゴミLisperの集金プロジェクトだし
819 返信:デフォルトの名無しさん[sage] 投稿日:2014/06/15(日) 22:21:40.55 ID:QhTFjgfY
>>815 お、ゴミがいたw
820 自分:デフォルトの名無しさん[] 投稿日:2014/06/15(日) 22:32:13.37 ID:e7vXG3hh [2/2]
未踏は湯浅とかいうゴミが特に酷かった
自分でPMやって採択してスーパークリエーターになってた
早く死ねばいいのに
821 名前:デフォルトの名無しさん[sage] 投稿日:2014/06/16(月) 16:35:52.76 ID:7he4xSgp
自分が単位を落としたのをLispのせいにするようなバカは、そのバカのせいで早く死ぬだろうねw
822 名前:デフォルトの名無しさん[] 投稿日:2014/06/16(月) 21:23:47.94 ID:AQ6Cimo3
単位を落としたのは100%教員のせいだよね
823 自分:デフォルトの名無しさん[sage] 投稿日:2014/06/16(月) 21:24:24.61 ID:dyNK9zKr
湯浅って自分でPMやって自分で天才とかやってて
小保方と同類だわ
0765デフォルトの名無しさん
2014/06/17(火) 03:02:11.20ID:8NL9gBpR向こうのリアルハッカーたちが唖然としたほどの天才。
0766デフォルトの名無しさん
2014/06/17(火) 03:30:47.66ID:DtFQMbHJ既存実装のCommon Lispパッケージはたくさんあった。
ネイティブコンパイラ付きでCで実装してあって
ポータブルですごいと思うけど。
0767デフォルトの名無しさん
2014/06/17(火) 04:38:01.41ID:XCkc5Kly時代遅れの老害でしかないわな
0768デフォルトの名無しさん
2014/06/17(火) 04:43:07.17ID:EoTBFViSその程度で唖然とするとか
リアルハッカーじゃなくて
リアルバカだろw
0769デフォルトの名無しさん
2014/06/17(火) 04:57:10.94ID:C18bsXVu当たり前のことで、凄さは伝わらないよ。
向こうのハッカーが湯浅の話をしているのを聞いたこともないし、
完全に過去の人だね。
0770デフォルトの名無しさん
2014/06/17(火) 05:06:29.35ID:npjjegMO0771デフォルトの名無しさん
2014/06/17(火) 05:10:38.71ID:P/v4NjRU0772デフォルトの名無しさん
2014/06/17(火) 05:12:52.58ID:J13U+mpJLispの仕事は需要あるみたいなこと言ってて
この人大丈夫なのって思った
0773デフォルトの名無しさん
2014/06/17(火) 06:50:12.74ID:P/v4NjRU0774デフォルトの名無しさん
2014/06/17(火) 13:56:29.03ID:ESFi67xp就職してるのなら需要あるは事実だろうよ。
たくさんあると言っているわけじゃないんだろ?
0775デフォルトの名無しさん
2014/06/17(火) 14:10:49.63ID:pUnsndMy供給過剰だから
0776デフォルトの名無しさん
2014/06/17(火) 14:35:23.30ID:5EztAZ0B0777デフォルトの名無しさん
2014/06/17(火) 14:42:31.84ID:qZ+Kte3Rこれ以上生産するべきではない
0778デフォルトの名無しさん
2014/06/17(火) 14:52:04.44ID:aG80NVb60779デフォルトの名無しさん
2014/06/17(火) 15:07:02.41ID:5EztAZ0Bこのひと、別スレでも書いてる人?
精神病じゃない?
0780デフォルトの名無しさん
2014/06/17(火) 15:09:17.34ID:3Q+4KXzI天才プログラマとかやってる
湯浅ってバカだろ
0781デフォルトの名無しさん
2014/06/17(火) 15:33:16.92ID:ESFi67xp0782デフォルトの名無しさん
2014/06/17(火) 15:45:10.70ID:3Q+4KXzI|:::::::::::::;;;ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|::::::::::( 」 < たくさんあると言っているわけじゃない
ノノノ ヽ_l \______________
,,-┴―┴- 、 ∩_
/,|┌-[]─┐| \ ( ノ
/ ヽ| | バ | '、/\ / /
/ `./| | カ | |\ /
\ ヽ| lゝ | | \__/
\ |  ̄ ̄ ̄ |
⊂|______|
|l_l i l_l |
| ┬ |
0783デフォルトの名無しさん
2014/06/17(火) 15:52:04.81ID:g0jiBHem0784デフォルトの名無しさん
2014/06/17(火) 16:04:52.38ID:th53rZYK他にいない
0785デフォルトの名無しさん
2014/06/17(火) 16:15:27.91ID:LIIwEXMh0786デフォルトの名無しさん
2014/06/17(火) 16:16:54.99ID:th53rZYK0787デフォルトの名無しさん
2014/06/17(火) 17:27:33.68ID:5EztAZ0B0788デフォルトの名無しさん
2014/06/17(火) 17:34:42.28ID:p+hPxJPg0789デフォルトの名無しさん
2014/06/17(火) 17:41:49.76ID:th53rZYK湯浅は無能で有害だからなあ
0790デフォルトの名無しさん
2014/06/17(火) 17:49:21.52ID:LIIwEXMh0791デフォルトの名無しさん
2014/06/17(火) 17:56:07.79ID:th53rZYK0792デフォルトの名無しさん
2014/06/17(火) 18:13:32.85ID:5EztAZ0B0793デフォルトの名無しさん
2014/06/17(火) 18:18:49.50ID:4vzpbEIx0794デフォルトの名無しさん
2014/06/17(火) 18:37:05.89ID:th53rZYK0795デフォルトの名無しさん
2014/06/17(火) 20:52:30.13ID:2BmltRy+0796デフォルトの名無しさん
2014/06/17(火) 20:55:07.02ID:qY/tpct3その湯浅って人は具体的に何やらかしたん?
0797デフォルトの名無しさん
2014/06/17(火) 21:00:56.93ID:th53rZYK0798デフォルトの名無しさん
2014/06/17(火) 21:37:12.07ID:Pi57gBNm精神病ではなくて、中国人。
0799デフォルトの名無しさん
2014/06/18(水) 01:31:42.82ID:O5tsUQT80800デフォルトの名無しさん
2014/06/18(水) 06:06:13.10ID:ACkogk4wゼロからの実装としては世界初となるCommon Lispである
Kyoto Common LisPの主たる実装者の一人だろ
特徴はコンパイルするとC言語ソースを吐き出すこと
ANSI以前のもので、今はANSI Common Lispのサブセットという位置付けか
0801デフォルトの名無しさん
2014/06/18(水) 11:32:17.21ID:7tSp0AS90802デフォルトの名無しさん
2014/06/18(水) 11:49:28.98ID:ZMMbatdC0803デフォルトの名無しさん
2014/06/18(水) 19:20:00.50ID:ACkogk4wカミソリと言われた俺もコアラのようになった感じがする
ていうか息するエキスパートシステムと化していくようだ
0804デフォルトの名無しさん
2014/06/18(水) 19:45:58.32ID:SdsFVxQMManKaiとかembeddedとかkclからの派生色々あるけどどう違うんだろ
0805デフォルトの名無しさん
2014/06/19(木) 10:02:01.85ID:EHpEAUer最後にgoto文使ったのはいつだろう
まだチンたんもそそり立ち
「エイトまーん! いや、エイトビットオ、すごいだろ?」
なんて言ってた頃か
0806デフォルトの名無しさん
2014/06/19(木) 10:43:50.85ID:EXEtiHUaタイトループでgoto使うのはチューンナップの常套手段。
0807デフォルトの名無しさん
2014/06/19(木) 11:05:02.58ID:EHpEAUer正義の構造化戦士である
戦死したけどな、わはは
0808デフォルトの名無しさん
2014/06/19(木) 11:17:29.45ID:1pN34o/W途中で挫折したからどこまで実装したかも定かで無いはず。
0809デフォルトの名無しさん
2014/06/20(金) 07:45:01.91ID:42Cjh3o9> タイトループでgoto使うのはチューンナップの常套手段。
化石みたいなローカル常識わろた
0810デフォルトの名無しさん
2014/06/20(金) 11:48:33.89ID:UkLSHGsY化石じゃなくて普通に現役の話だし、Labels as Valuesを使ったりとか、
ごく定石的なテクニック。
0811デフォルトの名無しさん
2014/06/20(金) 12:13:07.18ID:fiYVjyLmgoto文を多用するカリカリ・チューニングも必要悪だけど選択肢の一つかな
ただ自分なら、そういったコーディング・テクニックを駆使するパワーを
VM命令セットの改善やVMコード最適化にまわすけどね
0812デフォルトの名無しさん
2014/06/20(金) 12:54:43.96ID:mz5Q+yv50813デフォルトの名無しさん
2014/06/20(金) 13:43:26.58ID:SjbpHxgHそういう思想は何とかの開き直りそのものだな
0814デフォルトの名無しさん
2014/06/20(金) 14:49:24.59ID:UkLSHGsY0815デフォルトの名無しさん
2014/06/20(金) 15:36:12.43ID:LvQlcNc7>>814 ←
0816デフォルトの名無しさん
2014/06/20(金) 15:41:07.32ID:UkLSHGsY0817デフォルトの名無しさん
2014/06/20(金) 22:19:07.37ID:cCN0lle0アセンブラレベルでチューニングすると言うならまだしも、今時 goto でスパゲッティ作ってチューニングした気になってるとか、老害乙
反論するならちょっと具体例あげてみなよ
0818デフォルトの名無しさん
2014/06/20(金) 22:57:04.86ID:UkLSHGsY0819デフォルトの名無しさん
2014/06/20(金) 23:03:41.40ID:B5B+3p/Jそういうのはコンパイラのコード全部読んでから言わないと駄目だとおもうな
0820デフォルトの名無しさん
2014/06/20(金) 23:04:05.63ID:Lbrov44k0821デフォルトの名無しさん
2014/06/20(金) 23:09:11.43ID:hanWzSUrで、具体例のひとつも出せないの?
>>819
何故にコンパイラのコードなの?
生成されたコードで良いのでは?
0822デフォルトの名無しさん
2014/06/20(金) 23:09:28.73ID:PmYa9Irnこれの値としてのラベルに書いてあることだろ
> ラベル値の別の用途として、 インタープリタの中で、 スレッド化されたコードを対象にして使うという方法があります。
> 非常に高速なディスパッチ処理を実現するために、 インタープリタ関数内のラベルの値をスレッド化されたコードの中に持たせることができます。
0823デフォルトの名無しさん
2014/06/20(金) 23:20:05.90ID:UkLSHGsY成長の見込みは全く無さそうだがね。
0824デフォルトの名無しさん
2014/06/20(金) 23:44:22.66ID:PmYa9Irn0825デフォルトの名無しさん
2014/06/21(土) 00:01:19.56ID:KMvjaKi+switch より速くなる例書いてみなよ
そもそも、そのページいつ作られたのか知ってるか? w
0826デフォルトの名無しさん
2014/06/21(土) 00:17:12.60ID:6UOd6cQG0827デフォルトの名無しさん
2014/06/21(土) 01:09:51.25ID:KMvjaKi+10 年以上前のページをどや顔で出して来るようなレベルだし
まあそのページはスゲー懐かしかったわ w
0828デフォルトの名無しさん
2014/06/21(土) 05:06:33.98ID:cqXDE/G2いい加減スレ違いと気づけ
0829デフォルトの名無しさん
2014/06/21(土) 06:41:53.58ID:zwd/ab8yまずはてめーがその偉そうな口を叩けるだけの証拠を示せよタコ。
Schemeにしても何にしても、インタプリタコア部分の実装方法が10年やそこらで
そんなに変わるもんかw
どや顔で「古い」としか威張れないバカのレベルなんざ知れたもんだ。
0830デフォルトの名無しさん
2014/06/21(土) 09:29:05.61ID:KMvjaKi+はあ?
> タイトループでgoto使うのはチューンナップの常套手段。
って書いた奴が実例示すのが筋だろ。
出せねーなら、おとなしく ROM っとけ。
0831デフォルトの名無しさん
2014/06/21(土) 11:40:35.25ID:Ljd65t/aでもそんなんだったらディスパッチ部分を素直にアセンブラで組めと思わんでも無い
0832はちみつ餃子 ◆8X2XSCHEME
2014/06/21(土) 13:14:23.01ID:P7AT9cRE癖をよく知ってないとチューンナップのつもりが逆効果ってこともあるし、
かといって最適化をオフにすると他の箇所全部が遅くなるわけなんで、俺も >>831 に一票。
0833デフォルトの名無しさん
2014/06/21(土) 17:52:36.30ID:kQL+4agvlabels as values と switch を切り替えられるようになってる。
Cコンパイラは switch でのディスパッチを最適化しきれない。
switch(*ip) { ... } を実行したとき、
*ip に 対応する case ラベルがなかったら、
何もしないで switch 文の外に出なければならないという仕様があるから。
*ip が範囲内かチェックするためのコードが必要になる。
0834はちみつ餃子 ◆8X2XSCHEME
2014/06/22(日) 15:02:53.33ID:yWc4gHlxhttp://www.peeep.us/2a048687
0835デフォルトの名無しさん
2014/06/22(日) 15:36:28.49ID:GfVVI8940837デフォルトの名無しさん
2014/06/22(日) 17:13:55.66ID:EJpLg/2L0838デフォルトの名無しさん
2014/06/22(日) 17:20:46.27ID:JPJLFEsY・若年性アルツハイマー
・片方がなりすまし
0839はちみつ餃子 ◆8X2XSCHEME
2014/06/22(日) 17:26:17.57ID:yWc4gHlxっていうか、おまえら知っててなりすましが有ったのが一度だけっていうところに優しさを感じる。
0840デフォルトの名無しさん
2014/06/22(日) 23:17:30.53ID:sY6SZ6hhhttps://bitbucket.org/h_sakurai/lllong/downloads/lllong.pdflllong.pdflllong.pdf
最近は、llvm使った実装増えてるよね。
システム系だと、Swift以外にもClayとかあった。
強力なパターンマッチがあり、次のバージョンで型推論を取り入れるS式でかける言語Egison
http://www.slideshare.net/rakutentech/the-egison-programming-language-33108928
これってQiやShenよりパターンマッチや型推論の表現力高いのかな?
型推論取り入れるなら、実行時のリフレクションやboxing取り除くようにして高速化してほしい。
ひとりで開発してるのに、どんどん高速化していったluajitみたいなのもあるけど、普通そこまで手が回らないよね。
0841デフォルトの名無しさん
2014/06/23(月) 00:51:58.32ID:sN8Q1H3I0842デフォルトの名無しさん
2014/06/24(火) 01:16:27.47ID:oT03fc5s/tmp/hogehogeみたいな場所に置けば楽に出来そうだと思ったんだけど
0843デフォルトの名無しさん
2014/06/24(火) 01:54:26.46ID:BELul5eB0844デフォルトの名無しさん
2014/06/24(火) 01:54:46.50ID:owlQj1Y70845はちみつ餃子 ◆8X2XSCHEME
2014/06/24(火) 02:39:04.86ID:a+S1HEt3実装した処理系を文字列処理にはあまり使わないと割り切ることが出来るなら手っ取り早い実装方法として選ぶのも有りと言えば有りかな。
ただ、そもそもの話として本当に一時ファイルを使う方が実装が簡単とは限らないよ。
OS やらランタイムライブラリのおかげでファイル操作に関しては普段は高レベル API を使えるけど、
立ち入ったことをしようと思うとなかなか大変なこともあったりするよ。
0846デフォルトの名無しさん
2014/06/24(火) 17:02:30.76ID:jjJVFw7Gそこを書き換えずに出来ると思ったんだけど遅くなるし駄目か
0847はちみつ餃子 ◆8X2XSCHEME
2014/06/24(火) 19:51:33.28ID:a+S1HEt3細かい制御が出来なかったりするので、
独自にバッファリング処理をやってる処理系はあるね。
そのバッファリング処理部分に統合する形で文字列ポートを実装するのが妥当だと思う。
用途による選択の余地はあるものの、これが一番普通の選択だと思う。
なるべく CRT に委ねるというポリシーなら、
メモリをファイルのように見せる機能が OS にあったりするので、
そういうのを使うことも出来る。
fmemopen とか。
環境依存になっちゃうけど。
繰返しになるけど、遅いことを許容するというのも方法のひとつだよ。
0848デフォルトの名無しさん
2014/06/24(火) 21:42:20.70ID:jjJVFw7G> そのバッファリング処理部分に統合する形で文字列ポートを実装するのが妥当だと思う。
> 用途による選択の余地はあるものの、これが一番普通の選択だと思う。
これ良さそうだけど色々と面倒な事をしないといけない気がして億劫
fmemopenが良い感じに手を抜けそうだからこれにしようかな
0849デフォルトの名無しさん
2014/06/24(火) 23:11:23.60ID:IRE6j+YLリストと固定長文字列あれば可変長キューは簡単に実装出来るでしょ。
0850デフォルトの名無しさん
2014/06/27(金) 10:42:38.13ID:LpHIOZTvあるシンボルが関数シンボルかどうかを調べる方法はありませんでしょうか?
仮にそういう関数を(func? x)とすると
(deifne ++ (lambda (n) (+ n 1)))
としてあるとき
(func? '++) ->#t
(func? '+ ) -> #t
(func? 'no-such-function) ->#f
となるような関数があると便利なんですが
0851デフォルトの名無しさん
2014/06/27(金) 11:08:16.46ID:iQ4reeO8returns: #t if obj is a procedure, #f otherwise
libraries: (rnrs base), (rnrs)
(procedure? car) → #t
(procedure? 'car) → #f
(procedure? (lambda (x) x)) → #t
(procedure? '(lambda (x) x)) → #f
(call/cc procedure?) → #t
http://www.scheme.com/tspl4/objects.html#./objects:h2
0852デフォルトの名無しさん
2014/06/27(金) 13:14:21.84ID:1+Sp/Gzhありがとう
勉強します
0853デフォルトの名無しさん
2014/06/30(月) 18:43:43.06ID:5Vn4Dhv3The little Schemer の p95
When functions are correct and
well-designed,, we can think about them
easily
と その横の
And that saved us this time from getting it wrong.
の訳をお願いします
0854デフォルトの名無しさん
2014/06/30(月) 20:28:06.61ID:wZwybvKf関数が正しく良い設計ならば理解することはたやすい。
そして今回のような場合には悪くしてしまうことも防いでくれる。
0855デフォルトの名無しさん
2014/06/30(月) 20:46:34.27ID:by3cNm9PWhen functions are correct and
well-designed,, we can think about them
easily
関数がきちんと動くだけでなくてな、加えて良くデザインされてるとな、定義を読んで理解しやすいものや
And that saved us this time from getting it wrong.
ほんでなあ、するとや、よいデザインで読みやすいいうもんは、関数の定義、機能を誤解しにくくしてくれるんやで
どや!えらいもんやろ。チンチンいじりなごらでええから
よおくかみしめるんやで
0856デフォルトの名無しさん
2014/06/30(月) 20:50:24.66ID:uMTdbn6C0857デフォルトの名無しさん
2014/06/30(月) 20:58:01.10ID:EFKBauf6関数がちゃんと動くだけじゃのぉてね、ええデザインしてあったら定義を読んで理解しやすいよねぇ?
じゃけぇね、チンチンいじりなごらでええからいじりなごらでええけえよぉ考えんさい
で、どない?
0858デフォルトの名無しさん
2014/06/30(月) 21:00:43.40ID:uMTdbn6Cありがとうございます><
0859デフォルトの名無しさん
2014/06/30(月) 23:35:46.72ID:5Vn4Dhv3>>855
ありがとうございます
すっきりしました
そして見返した後こんな翻訳もできない自分に嘆きました
0860デフォルトの名無しさん
2014/07/01(火) 10:16:22.99ID:2qZFGtO80861デフォルトの名無しさん
2014/07/01(火) 11:07:13.30ID:tCdQNvHmいつも専門用語的な狭い範囲の用法として理解しない方がいい。
専門家が他国語を理解する時に陥りがちな誤りの一つ。
0862デフォルトの名無しさん
2014/07/01(火) 12:14:45.10ID:29jmPgpF改訂版のThe Little Schemerにそのまま引き継がれたんだろう
前者と後者では言語も違うが章の構成も違う
0863デフォルトの名無しさん
2014/07/01(火) 19:20:41.62ID:mAs7CsRJ0864デフォルトの名無しさん
2014/07/01(火) 19:51:35.85ID:mAs7CsRJ↓
「function」と
0865デフォルトの名無しさん
2014/07/01(火) 20:33:26.18ID:lJh4uqZbだから"Lambda: The Ultimate Imperative"なんて論文があるわけ。
0866デフォルトの名無しさん
2014/07/02(水) 00:04:14.82ID:tskje/aNなるほどなありがとう
0867デフォルトの名無しさん
2014/07/07(月) 05:30:43.53ID:Aa65Kzdkなにがどういうことだ
0868デフォルトの名無しさん
2014/07/07(月) 10:44:27.44ID:6jHTZgwaテキストでつまづいたら
環境とかクロジャーとかを勉強してから戻るといいかも
0869デフォルトの名無しさん
2014/07/08(火) 13:59:01.83ID:a1kWYHEe0870デフォルトの名無しさん
2014/07/08(火) 14:38:21.78ID:tVqE3TJ/;;; Schemiの場合
(let (
;;文字列をシンボルに
(a (string->symbol "hello"))
;;文字をシンボルに
(b (string->symbol (make-string 1 #\h))))
;;評価の表示
(format
#t "\nIs ~s a symbol? ~s\nIs ~s a symbol? ~s\n"
a (symbol? a) b (symbol? b)))
Is hello a symbol? #t
Is h a symbol? #t
0871デフォルトの名無しさん
2014/07/08(火) 17:43:31.75ID:S7U1xSIY文字列からシンボルのリストってどゆこと?
0872デフォルトの名無しさん
2014/07/08(火) 17:51:48.68ID:yHecLF2P(defun explode (sym)
(map 'list #'(lambda (c)
(intern (make-string 1
:initial-element c)))
(symbol-name sym)))
0873デフォルトの名無しさん
2014/07/08(火) 18:54:16.36ID:cYjPRTX9;;;while版
(define (string->charlist str)
(let ((tmp (string->list str))
(res '()))
(while (not (null? tmp))
(set! res (cons (string->symbol
(make-string 1 (car tmp)))
res))
(set! tmp (cdr tmp)))
(reverse! res)))
;;;再帰版
(define (string->charlist* str)
(letrec
((aux
(lambda (ls)
(cond
((null? ls) '())
(else
(cons (string->symbol
(make-string 1 (car ls)))
(aux (cdr ls))))))))
(aux (string->list str))))
(string->charlist "hello")
(h e l l o)
(string->charlist* "hello")
(h e l l o)
0874デフォルトの名無しさん
2014/07/08(火) 21:17:13.05ID:EztOR/qg(map string->symbol
(map (lambda (x) (list->string (list x)))
(string->list x))))
(define (char->symbol x)
(string->symbol
(list->string (list x))))
0875デフォルトの名無しさん
2014/07/08(火) 23:43:49.49ID:6BFgvYzx0876デフォルトの名無しさん
2014/07/09(水) 00:07:52.04ID:pI9bDyIl二行に渡るコードを書くときに、改行がCTR+ENTERでできることは知っているのですが、インデントや、行をまたがったカーソルの移動はどうすれば良いのでしょうか?
バックキーを入力したのでは、その行しか消せません。
矢印キーも同様です。ググっても乗っていませんでした。
よろしくおねがいします。
0877デフォルトの名無しさん
2014/07/09(水) 01:18:15.86ID:7kGfnEUACommonLisp系統のLisp-2(名前空間が関数と変数で別)である理由は何ですか
0878デフォルトの名無しさん
2014/07/09(水) 01:20:19.24ID:/8/fqD8zそっちの方がいいと思ったからだよ
0879デフォルトの名無しさん
2014/07/09(水) 01:25:02.28ID:7kGfnEUA聞きたいのはその理由ですよ
0880デフォルトの名無しさん
2014/07/09(水) 10:17:01.51ID:ybj7t72xそれまではなかった。
多分ドメインを別にする習慣のあった数学の影響と
初期の機械語プログラミングの困難さから。
Turingマシン、ノイマン型、Lispという計算機科学の系譜が
計算機工学の中では、ほそぼそとしたLisp-1的流れだった。
最初からLisp-1でよかったじゃんと思う人がいるのは、
それだけ世の中にfunctional programmingが普及してきたという事。
ただ歴史的には、Lispが開発された頃、
Lisp-1的言語は普通じゃなかった。
0881デフォルトの名無しさん
2014/07/09(水) 14:08:21.19ID:2vgwjaN4まずは Technical Issues of Separation in Function Cells and Value Cells
ttp://www.nhplace.com/kent/Papers/Technical-Issues.html を
読むことだな。
0882デフォルトの名無しさん
2014/07/11(金) 01:24:30.06ID:3pyQUcUpだれか教えてくりー泣
0883はちみつ餃子 ◆8X2XSCHEME
2014/07/11(金) 10:08:23.03ID:Upi0fow3結局は定義をしつこく読むくらいしかないよ。
0884デフォルトの名無しさん
2014/07/11(金) 11:46:59.41ID:VezMxowA(1) 実装として。S・Kコンビネータ計算を実行する処理系を書いてみれば、
そのようなコンビネータの一種としてYもSやKと同様に作れる。
(2) 意味論から。再帰的関数を再帰の代わりに不動点として定義するのに
使われる不動点コンビネータがYである、という所から。
あまりこだわらず、周辺をいろいろ攻めているうちにわかってくると思う。
0885デフォルトの名無しさん
2014/07/11(金) 22:51:34.12ID:Z7eZP0Q+0886デフォルトの名無しさん
2014/07/12(土) 00:00:53.38ID:mfnHcGNO(意味論とか難しいことを言われると本当に理解できているのか怪しいが…)
しかし、Webの草稿置き場のものには残念ながら後注は無いようだ
0887デフォルトの名無しさん
2014/07/12(土) 02:21:31.47ID:cPaFHRXY0888デフォルトの名無しさん
2014/07/12(土) 05:25:06.81ID:I/natbqeそろそろThe Little Schemerの
8. Lambda the Ultimateに入る俺としては緊張するな継続にYコンビネーターか。
なんのことやら知らんけど
今までのところは楽しくやってきたが
なんか難しめのことらしいな
そんなの初級でやるのか、リトルスキーマー君
0889デフォルトの名無しさん
2014/07/12(土) 21:28:02.87ID:82KGraai数学的には無数にある不動点コンビネータの一つであるとかなんとかいろいろあるだろうけど
0890デフォルトの名無しさん
2014/07/13(日) 00:41:18.15ID:DviLtq/a手動で展開していって確かに再帰になることを確認したらそれでいいと思うよ。
0891デフォルトの名無しさん
2014/07/13(日) 02:15:27.09ID:tCxzigJlracketのforとかsrfi-42とか名前変えてるのは
何故?
0892デフォルトの名無しさん
2014/07/13(日) 16:51:40.40ID:vSn+Bfku0893デフォルトの名無しさん
2014/07/13(日) 17:18:41.81ID:6sD1pyHJCommon Lispに戻ろうかなあ
0894デフォルトの名無しさん
2014/07/13(日) 18:49:14.08ID:DviLtq/a0895デフォルトの名無しさん
2014/07/14(月) 14:05:15.38ID:IJfuG6DxJavaと連携できるのがkawaとか一部しかないのって
何か理由があるのでしょうか
0896デフォルトの名無しさん
2014/07/14(月) 21:14:37.30ID:kj3eN9zy0897デフォルトの名無しさん
2014/07/14(月) 22:18:45.12ID:ZbaucCCOkawa が Java と連携できるのは、Scala や JRuby 等と同様に
Java VM 上で動く Scheme 実装だからというのが理由
それに当てはまらない(Java VM 以外の手段で実装された)処理系の場合は、
JNI を介して連携することになるけど、「苦労の割に得る利益が少ない」から普及しない
たとえば過去には Apple が Java-Cocoa(ObjC) 連携を試みたけど、
ずいぶんと前に廃止した(かろうじて WebObjects が残っている?)
まとめると Java の膨大なライブラリ/フレームワークは魅力的だけど、
それを活用したいなら(kawa のような)JVM前提の処理系へ魂を売り渡しなさい、ってこと
0898デフォルトの名無しさん
2014/07/14(月) 23:42:12.30ID:KE4932Hsマンパワー不足はマイナー言語の性というもの
0899デフォルトの名無しさん
2014/07/15(火) 04:49:20.51ID:f8ICcK+40900デフォルトの名無しさん
2014/07/16(水) 12:29:19.97ID:+D4/arqtだよね。
これ以上何が必要なのか分からん。
0901デフォルトの名無しさん
2014/07/16(水) 12:30:22.22ID:+D4/arqtpythonだって別実装は大した数じゃないよ。
0902デフォルトの名無しさん
2014/07/16(水) 21:26:35.12ID:KbQ0+KaX末尾再帰最適化
0903デフォルトの名無しさん
2014/07/16(水) 23:51:45.48ID:OHagA9erちなみにclojureのバイトコードは、最適化される形にはならなかった。
http://www.ibm.com/developerworks/jp/java/library/j-diag8/
0904デフォルトの名無しさん
2014/07/17(木) 02:31:22.30ID:bbQBQF/ebyte code verifierの仕様が変わるから深刻。
0905デフォルトの名無しさん
2014/07/20(日) 16:40:51.25ID:e2sBTcWE0906デフォルトの名無しさん
2014/07/20(日) 17:09:59.35ID:g2r5PvYMはじめ邦訳で六章くらいやって英訳でやり直し
英語の感覚鈍ってたから英語の勉強かねて
(基本的に英語の表現のほうが日本語より、その構文の差によってわかり易かった。概要から詳細へと記述されるから)
途中、お題スレの問題解いたり
そこから発展させて欲しいツール作ったりしながらどけど
Lambda the ultimaueは途中から
何のためになにやってんのか?
わからなくなり自己研究やったり
継続がピンとこないでネットで勉強したりしてたので
まさかの四ヶ月かかった
なお、おれはプログラミング初心者
0907デフォルトの名無しさん
2014/07/20(日) 17:41:06.88ID:Hkqf8/Zfずっとこればっかり読んでたわけじゃないが
0908デフォルトの名無しさん
2014/07/20(日) 18:19:12.17ID:CFd9T/pR0909デフォルトの名無しさん
2014/07/20(日) 19:31:13.83ID:e2sBTcWEはええ頭いいな
0910デフォルトの名無しさん
2014/07/20(日) 19:46:51.19ID:CFd9T/pRと思うだろ
しかし底辺高校で中退なんだぜ
絶賛引きこもりニート中
0911デフォルトの名無しさん
2014/07/20(日) 22:04:37.51ID:XJ4Jnk+D一世代前なら中卒のRubyコミッタが世間で騒がれてたけど、Railsの奇跡はもう起こらない
0912デフォルトの名無しさん
2014/07/20(日) 22:49:44.76ID:jISfG/Sm0913デフォルトの名無しさん
2014/07/21(月) 18:41:18.07ID:qgFzF04tやっと見つけたのがdolistとdotimesの書き間違いだと気付いた
エラー箇所だけさらっと出してくれないかなあ
0914デフォルトの名無しさん
2014/07/21(月) 22:08:58.79ID:0D98hGh70916デフォルトの名無しさん
2014/07/22(火) 13:01:58.22ID:q6mJDxlUきたね
作者さん乙
0917デフォルトの名無しさん
2014/07/23(水) 22:35:11.18ID:cG8Of2p8というけど実際には使ってる人が誰もいないのではという様な
名前ばかりのライブラリが沢山あるだけ
例えばグラフ描画できても細かい軸やlegendの調節できなかったり
gnuplotで頻繁に使われてる機能がない
本当に使ってる人いるなら絶対に誰かが機能追加するはずなんだけど
ないって事は誰も使ってないってこと
BoostのあるC++より遥かに劣る
0918デフォルトの名無しさん
2014/07/23(水) 23:37:40.40ID:fK9nVKYR0919デフォルトの名無しさん
2014/07/23(水) 23:43:05.41ID:YWYt1CpTquicklispあるし結構あると思う
0920デフォルトの名無しさん
2014/07/23(水) 23:49:44.28ID:fK9nVKYR0921デフォルトの名無しさん
2014/07/23(水) 23:58:45.87ID:cG8Of2p8gnuplotがpythonみたいに簡単に使えないけどね
0922デフォルトの名無しさん
2014/07/24(木) 00:35:02.60ID:d0xxv3SPR(r-lang.org)のJVM実装を埋め込む人が多いんじゃないかな。
gnuplotのJava bindingは使ったことない。
0923デフォルトの名無しさん
2014/07/24(木) 01:03:35.29ID:Ed1ZbGyy0924デフォルトの名無しさん
2014/07/24(木) 02:43:54.08ID:2gT2PDSV0925デフォルトの名無しさん
2014/07/24(木) 22:20:57.84ID:g2fb8D+B0926デフォルトの名無しさん
2014/07/24(木) 23:28:41.38ID:oNZh13hiこの嘘に騙された奴の作ったJavaプログラムのせいで
今苦労してる
Javaの嘘はあちこちに宣伝しないと
こっちが被害を食う
0927デフォルトの名無しさん
2014/07/24(木) 23:31:09.32ID:EvZzSxsR0928デフォルトの名無しさん
2014/07/25(金) 00:04:00.14ID:8zbLFuHQ単なる仕事の愚痴は板違い
0929デフォルトの名無しさん
2014/07/25(金) 00:10:07.95ID:IfD0KbUG商用でswing使った製品(測定器のドライバ)は1回しか見たことがないけど、本当に使われてるのかな…
0930デフォルトの名無しさん
2014/07/26(土) 00:36:24.02ID:THZcG20Mライブラリ開発者がバージョンアップしたくても、依存してるライブラリ外すしかなくなる話は、よく聞く。
ユニットテスト自身が依存してとか。
0931デフォルトの名無しさん
2014/07/27(日) 19:24:07.97ID:X90Y7FPu0932デフォルトの名無しさん
2014/07/31(木) 01:03:26.56ID:qyzvUDBY0933デフォルトの名無しさん
2014/07/31(木) 04:48:14.89ID:A9AbgrBT理由1
(コンス)セルの概念なしでやる
理由2
「継続」などの初級とは言えない概念を扱う
The Little Schemerやるなら。
8. Lambda the ultimate
でつまづいたら、8.の前半までを初級とみなしてそれ以後は後でやるでもいいと思う
初めは書籍でいえば
リスト遊び
emacs Lisp
これはlambda式を扱わないが
初めての人のためのLisp
Common Lisp
演習問題月
がいいんじゃないか
0934デフォルトの名無しさん
2014/07/31(木) 10:43:33.10ID:2xqyMK/e0935デフォルトの名無しさん
2014/07/31(木) 11:01:08.79ID:TyXWzrY40936デフォルトの名無しさん
2014/07/31(木) 15:03:13.99ID:h7HAyz5Tmakiki は Windows でも動くし。
0937デフォルトの名無しさん
2014/07/31(木) 16:54:34.83ID:ZI3BLt96VMWareでLinuxでもつっこめばOKじゃねぇの?
0938デフォルトの名無しさん
2014/08/01(金) 10:33:47.73ID:4dS22gbuと同じ感じでpythonやCなどのプログラムも
Lispで処理しやすいS式に変換する方法ないのでしょうか
0939デフォルトの名無しさん
2014/08/01(金) 15:50:14.63ID:iux/FBYRGauche の拡張パッケージで c-wrapper ってのあるけど、ヘッダファイルをパースしてリストにしたりするし。
ただ、それが「処理しやすい」かどうかってちょっと微妙だと思う。
どういう風に使いたい?
0940デフォルトの名無しさん
2014/08/01(金) 16:15:31.49ID:zwQZcLB5http://super.para.media.kyoto-u.ac.jp/tascell/index.html
並列処理言語?
0941デフォルトの名無しさん
2014/08/01(金) 23:10:24.52ID:IcnvQZSRその辺使えば変換コードは機械的に生成できるでしょ。
0942デフォルトの名無しさん
2014/08/01(金) 23:12:02.02ID:IcnvQZSRソースをそのまま扱おうとすると、
コンパイラが内部的に使ってるASTには収まりきらない。
0943デフォルトの名無しさん
2014/08/02(土) 00:43:07.43ID:UBZX0AEKRuby なら標準ライブラリで Ruby ソースをS式に変換できる
・Ruby 2.1.0 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Ripper/s/sexp.html
この sexp というライブラリは、元々はどこかの外人さんが作ったものが
標準ライブラリの一部として採用された経緯がある
sexp の使い方については、たとえば以下が入門記事になる("ruby sexp" でググろう)
・Ruby Best Practices- Sexp for Rubyists
http://blog.rubybestpractices.com/posts/judofyr/sexp-for-rubyists.html
0944デフォルトの名無しさん
2014/08/02(土) 15:04:10.37ID:MA8vjNKCあれでS式を生成すればいいのだろうけど
逆にS式から元のプログラムに戻すのは自分でプログラム組むしかないのか
0945デフォルトの名無しさん
2014/08/03(日) 01:01:12.34ID:AXI+7d6rそれに「S式にする」と言っても元のコードの情報をどういうS式にマッピングするかっていう情報は与えなきゃならないから、
そこんところ割と面倒くさいかも。
0946デフォルトの名無しさん
2014/08/03(日) 13:21:34.29ID:adw16vV0再帰のためのエントリーポイントをどう指定し得るのか?
とかんがえていたらThe Little Lisperで再帰的定義にdefineで名前をつけなくてもええんやでって話が出てきた
おお!噂に名前だけは聞いていた猥褻コンビニとはこの事だってのか
名無しで再帰出来ると捗りますわ
やり逃げやで!
突っ込み得やで!
0947デフォルトの名無しさん
2014/08/03(日) 14:02:19.02ID:XCZJfuBHまずは壁を一つ乗り越えたってことで、おめでとん
0948デフォルトの名無しさん
2014/08/03(日) 16:39:15.72ID:OSqnAgy/別人だよーでもなんとか折れもクリアしたぜ
0949デフォルトの名無しさん
2014/08/05(火) 12:27:20.17ID:bhAhXJaOうん十年ぶりに昔途中でやめてしまったLispをやろうと
「リスト遊び」から始めたのはいいが、
「SICPとか英語だなあ、よし、英語も再開」
「うーむ。不動点コンビネータか。なるほど、でもここは関数もやりなおすか」
うーむ、なんか高校数学からやり直しになりつつある。
ま、暇を持て余すことがないので良いのだが
0950デフォルトの名無しさん
2014/08/05(火) 17:36:13.62ID:froZ8FFZ0951デフォルトの名無しさん
2014/08/06(水) 04:50:51.00ID:XNdPLNjb俺はプログラミングにはあまり向いてないかもなあ
lambdaで再帰したいができないんだなあ。それじゃlambdaの威力半減じゃないかと思っていた。
自分で不動点コンビネータ(Yコンビネータ)の考え方を作り出せなかった。
某方面では、出会った概念で「考えつきもしなかった」なんてのには出会ったことないんだがな。
向き不向きだな
でも、歩んでみるぞLisperへの道
0952デフォルトの名無しさん
2014/08/06(水) 09:20:58.53ID:DW4EkyUR書いてある順番に、理解できるまで先へ行かないとか
「自分で思いつく」ことにこだわり過ぎるとかは
まあ先輩に甘えるのが下手な人なんだな
0953デフォルトの名無しさん
2014/08/06(水) 11:06:56.29ID:dx6L1IdS言語機能とか概念とかは相互に関連性があるので、
順番に身に付けていけるもんじゃない。
いったりきたりするのは普通なんだよなぁ。
それに学問的な概念はものすごい長い歴史がある。
例えば誰もが知ってるピタゴラスの定理っていつごろ発見されたか知ってるか?
少なくとも紀元前3世紀頃にはわかってたらしい。
そこから現代までのなが〜い歴史を全部自分で辿っていくのは無理だよ。
自分で思い付かなくても利用できるのが学問ってもんだろ。
理解はしなけりゃいけないけど、思い付く必要はない。
0954デフォルトの名無しさん
2014/08/06(水) 11:53:38.21ID:pOyK7g81xmlとjsonのどっちを使うのが便利なのだろう
0955デフォルトの名無しさん
2014/08/06(水) 12:58:56.81ID:Vl89FGwEある系の主たる概念は精度は別として大概作れてしまう
危機感と必要に突き動かされて
人類史に何々史があるように自分にも
「かく動機からそこへ、そこから一層の概念化のために、また、確信せられたる前提自体への懐疑の芽生えにより、また、適用不可の事態現出のため、道あらわれ、至りて今。それ亦路連綿」
があるのが本来。するとアイデアレベル、イメージレベル程度なら自分で創り出すことも多いというか、それがないなら「それに向かない」
ま、どの世界も向いてないけどやってま
という人が多いけど
俺のプログラミングもだな
ま、取りあえず無名再帰をピタッと感覚化するぞ
0956デフォルトの名無しさん
2014/08/06(水) 18:47:49.66ID:CnfNnATcPythonでS式読み書きするモジュールかなんか作っちゃうのが一番楽かと。
0957デフォルトの名無しさん
2014/08/06(水) 22:17:26.75ID:e5ISbei60958デフォルトの名無しさん
2014/08/06(水) 23:42:39.87ID:h2ymQXQb大差ない。
悩んでる暇あったら手を動かせ。
0959デフォルトの名無しさん
2014/08/06(水) 23:43:48.89ID:dx6L1IdSそうでもない。
サブセットならある程度は出来るかもしれないけど、Lispの仕様全てを満足するものを目指すとS式は面倒。
自分でパーサ/コンストラクタを書くなら JSON が楽だと思う。
Python の方には JSON ライブラリはあるだろうし、
素の R7RS でも JSON のパーサなら200〜300行くらいで書けるんじゃないのかな。
しっかりしたエラー検出とかも入れればもっと長くなるかもしれないけど。
0960デフォルトの名無しさん
2014/08/07(木) 00:19:47.83ID:aoR2ZsQs0961デフォルトの名無しさん
2014/08/07(木) 22:03:24.66ID:rQ6PMWyIいや、まぁ、御説ごもっともなんだけど、質問者は「データやり取りする」って質問してたので、
やりとりしたいデータの構造を表現できるレベルでのS式で全然問題無いもんだと勝手にエスパーしてたというわけよ。
JSONは冗長な割には表現力低いので、だったらS式ベースで俺様フォーマット定義して、それでやっちゃえば、とか思ったわけ。
0962デフォルトの名無しさん
2014/08/07(木) 23:26:02.39ID:8FmsPG/e0963デフォルトの名無しさん
2014/08/07(木) 23:50:17.23ID:Er6Le4/j0964デフォルトの名無しさん
2014/08/07(木) 23:54:59.33ID:ULc9Q4Bx0965デフォルトの名無しさん
2014/08/07(木) 23:59:05.95ID:aoR2ZsQsプログラムの自動生成をするとき
0966デフォルトの名無しさん
2014/08/08(金) 01:13:05.08ID:bDabaUkn少なくとも片方がLisp系言語の時。
0967デフォルトの名無しさん
2014/08/08(金) 07:05:53.68ID:84usYtAa0968デフォルトの名無しさん
2014/08/08(金) 08:27:57.52ID:19ZqYpH8今のところClojureのリテラル表記つかったHiccupとかが一番肌にあう
0969デフォルトの名無しさん
2014/08/08(金) 10:56:26.19ID:lfSHbP830970デフォルトの名無しさん
2014/08/08(金) 12:08:20.17ID:MJ5RFc2hただしリーダーマクロは両者に跨る。
0971デフォルトの名無しさん
2014/08/08(金) 23:01:43.67ID:YSSOty3P0972デフォルトの名無しさん
2014/08/09(土) 12:05:25.33ID:lGR2Gwifいよいよ最終章や
適用順Yコンビネータによる無名再帰おもろかったでぇ
続編で継続と代入ってのやるらしいなあ
継続は力なりなんちって
0973デフォルトの名無しさん
2014/08/10(日) 03:07:24.23ID:5x8j/lxa0974デフォルトの名無しさん
2014/08/10(日) 13:46:18.55ID:IQRbIlyThttp://practical-scheme.net/wiliki/arcxref?macex
0975デフォルトの名無しさん
2014/08/10(日) 13:53:56.22ID:GH83A0dN0976デフォルトの名無しさん
2014/08/10(日) 14:17:07.66ID:n4i84sWD試作品みたいなものだし仕方ないと思ってたけどあったのか
0977デフォルトの名無しさん
2014/08/10(日) 21:42:50.48ID:6A7KSu470978デフォルトの名無しさん
2014/08/10(日) 21:47:10.22ID:FMVBaSQ50979デフォルトの名無しさん
2014/08/10(日) 23:53:27.00ID:CoTA+cck作ったの?
0980デフォルトの名無しさん
2014/08/11(月) 02:40:05.48ID:WxSEm+2oでも一晩じゃ無理だった
0981デフォルトの名無しさん
2014/08/12(火) 04:44:32.72ID:gCwb3zR6カッコイイ言い方だね
ところでLLVM上で動くschemeってなんかある?
0982デフォルトの名無しさん
2014/08/12(火) 17:56:40.66ID:KpyH9q+phttp://postd.cc/lisping-at-jpl/
面白い
0983デフォルトの名無しさん
2014/08/12(火) 18:07:13.13ID:522JFzKP0984デフォルトの名無しさん
2014/08/12(火) 18:51:19.12ID:c+EybSyP0985デフォルトの名無しさん
2014/08/12(火) 18:52:25.35ID:KAheOZtsおもろかった
0986デフォルトの名無しさん
2014/08/12(火) 18:57:12.10ID:KAheOZts「ワープロと宇宙船の制御システム」を対比させて
「タスクに関わらず或る言語がベストとはいえない」というくだりで
がーん・・・ Lispでアウトラインプロセッサ書くためにLisp勉強してる俺って・・
と思った
「そんなんJavaか C++で書け」と言われそうだ
むむむ・宇宙船の制御システム・・ワープロのコードなんかとは
比較にならん「高度」な世界なんだろな
俺には想像もできん
0987デフォルトの名無しさん
2014/08/12(火) 21:22:10.59ID:YQE+wZnr違うならさらっと読んで勝手に脳内変換したかも?
0988デフォルトの名無しさん
2014/08/12(火) 21:27:49.84ID:7GOO7fbF>ものではないと考えられていることです。つまり、ワープロのコードを記述するために最良の方法は、
>宇宙探査機の制御システムのコードを記述する上でも最良の方法だという憶測です。しかし、そうではありません。
0989デフォルトの名無しさん
2014/08/12(火) 21:54:17.44ID:WT4baccH0990デフォルトの名無しさん
2014/08/12(火) 23:30:30.14ID:c+EybSyPLispならマクロがあるんだから、書いてるプログラムに適した言語に徐々に変形させてけばいいだけの話では
0991デフォルトの名無しさん
2014/08/13(水) 12:56:48.74ID:mHK0rxRZむむむ、話には聞いているがまだLispのマクロは勉強してないから使えない
今、適用順Yコンビネータを」終えて、テーブルと環境に」はいりつつある段階
継続とかを」やるのかなあ
The Little Lisper(The Little Scemerの前のやつ)の最終章
9. What is the Value of All of This?
に入ったばかり
0992デフォルトの名無しさん
2014/08/13(水) 13:35:53.90ID:IvuVUKO/0993はちみつ餃子 ◆8X2XSCHEME
2014/08/13(水) 14:50:42.95ID:EvyR27Lgマクロがどうこうよりも問題領域を抽象化する手段があるってことだな。
マクロはその抽象化の手段のひとつ。
どういう語彙があれば問題を綺麗に記述できるのか考えて書くと Lisp っぽい。
よく Lisp を関数型という枠に当て嵌めてオブジェクト指向と対比させたりする文章を見掛けるけど、
CLOS をみてもわかるようにオブジェクト指向的な語彙を持つこともできるわけで。
0994デフォルトの名無しさん
2014/08/14(木) 00:21:44.78ID:QvyhsdnL先にLispの本読んだ方がいいよ
0995デフォルトの名無しさん
2014/08/14(木) 06:31:11.88ID:lEamAioF抽象化って俺の用語では概念化なんだな、その書き込みでわかった
こりゃ朝から気持ちがいいや
0996デフォルトの名無しさん
2014/08/14(木) 20:08:32.90ID:3QMQeAhf0997はちみつ餃子 ◆8X2XSCHEME
2014/08/14(木) 20:53:52.23ID:o+vsYevq0998はちみつ餃子 ◆8X2XSCHEME
2014/08/14(木) 20:57:01.27ID:o+vsYevqLisp Scheme Part39
http://peace.2ch.net/test/read.cgi/tech/1408017352/
0999デフォルトの名無しさん
2014/08/14(木) 23:25:06.85ID:otW9fVKB10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。