Lisp Scheme Part38

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Common Lisp、SchemeをはじめとするLisp族全般のスレです

■前スレ
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/
2デフォルトの名無しさん:2014/02/01(土) 20:04:51.33
>>1
3デフォルトの名無しさん:2014/02/01(土) 21:17:38.30
(1) car, cdr のそれぞれの読みを答えなさい。
(2) car, cdr はそれぞれ何の略号でしょうか? 答えなさい。
4デフォルトの名無しさん:2014/02/01(土) 21:18:46.33
【重要】
hogeは禁止します、使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
なお、hogeはNGワードに追加しておくことが強く推奨されています。
5デフォルトの名無しさん:2014/02/01(土) 23:15:48.20
>>4
foo,bar,baz, fuga , hehe, gegeに付いてはいかがであろうか?
6デフォルトの名無しさん:2014/02/02(日) 09:48:36.38
>>1
7デフォルトの名無しさん:2014/02/02(日) 23:18:53.47
通は aho を使う
8デフォルトの名無しさん:2014/02/03(月) 01:42:26.67
エイホ?
9デフォルトの名無しさん:2014/02/03(月) 03:01:30.02
つまりawkを使うと……
10デフォルトの名無しさん:2014/02/04(火) 22:55:57.34
最近仕事でシェルスクリプトとかOS標準の底辺言語ばっかでLISP使えないからちんちんいらいらする
11デフォルトの名無しさん:2014/02/04(火) 23:10:57.83
Gaucheって処理系全部USBメモリに入らなかったっけ?
12デフォルトの名無しさん:2014/02/04(火) 23:14:26.55
チームでやってる仕事だと物理的に持っていけるかどうかとか関係なく使えるものが限られることはあるんじゃね。
13デフォルトの名無しさん:2014/02/04(火) 23:26:29.72
うちの会社は成果物以外の開発環境は自由だから、lisp使いまくってるわ
14デフォルトの名無しさん:2014/02/05(水) 21:52:59.23
女王陛下のLisp
ラムダ計算のとこがさっぱりわからん
15デフォルトの名無しさん:2014/02/05(水) 22:21:06.23
成果物って果物が成ったからどうしたんだろうって思っちゃったじゃないかよ。 ギギギ
16デフォルトの名無しさん:2014/02/06(木) 06:21:24.47
中国人乙
17デフォルトの名無しさん:2014/02/06(木) 08:56:35.01
>>16
風呂屋の「湯」がスープに見える件か
18デフォルトの名無しさん:2014/02/06(木) 22:38:15.44
λ珪酸とか所詮表記の問題でしかないんだから「そーいうもん」って思って読み進めりゃいいよ
19デフォルトの名無しさん:2014/02/07(金) 14:21:11.64
定義やモデルは「そうすることで何が便利か」ということに着目すべきで、
「それは何か」ってことを考えても仕方ない。
だって誰かがそう決めたという以上の意味なんてないんだもの。
20デフォルトの名無しさん:2014/02/07(金) 16:24:57.73
そりゃそうだが、素数夜曲のラムダ計算の説明ってあまり後ろの話しに関係ないんじゃないか?
衒学趣味をちらつかせたい高校生向けという感じが否めないなあ。 
21デフォルトの名無しさん:2014/02/07(金) 20:36:00.98
それでいいんじゃないの。 最初は中二病でも役には立つんだし。
22デフォルトの名無しさん:2014/02/07(金) 23:21:06.49
うむ、中二病も大事なのだ。世界を変えるくらいの気構えを持つべし!
23デフォルトの名無しさん:2014/02/07(金) 23:46:16.72
>>19
「何か」が「論文を書く」だからな…
24デフォルトの名無しさん:2014/02/10(月) 13:33:15.35
違うなあ
何か?に対して、かくかくだよぉーん
とする、させることを概念化することだな
視座なくして 何か?なんて意味がない。

それ自体の意味、本質!

なんていやつは形而上学まみれの科学もどき
25デフォルトの名無しさん:2014/02/10(月) 18:19:54.69
それ以前に日本語になってないだろ…
26デフォルトの名無しさん:2014/02/10(月) 20:51:00.62
典型的な酔っ払いのレス
27デフォルトの名無しさん:2014/02/11(火) 04:25:34.99
そう、聞こえるのは薄っぺらな哲学音痴ならでは
28デフォルトの名無しさん:2014/02/12(水) 03:17:18.91
完全に狂ってますねk
29デフォルトの名無しさん:2014/02/12(水) 06:22:07.95
What is X?
が自体的に成り立つなんて思ってるお馬鹿がまだまだうじゃうじゃだな
30デフォルトの名無しさん:2014/02/12(水) 10:00:42.24
>>29
relation とかなんとかですか?もうききあいたよ
31デフォルトの名無しさん:2014/02/12(水) 10:10:58.59
>>30
ききあきたけど
わかってないままなのね
32デフォルトの名無しさん:2014/02/14(金) 03:03:28.64
picrin は名前が可愛い。
33デフォルトの名無しさん:2014/02/14(金) 20:23:07.11
わかる。
34デフォルトの名無しさん:2014/02/15(土) 12:02:48.39
最近、形式言語から理解したくて集合論を調べてて
Lispってまんま集合論で、すごい発想はなにもなくて
証明されてるものを実装したってだけに感じて
Lispのみならず、データ構造などの概念の多くは集合論から端を発しているものが多く
理解するには集合論について理解を深めることが肝心と思っけど
そういうことに言及する人とか本とか少ない気がするのね
Lispを使う人々は、教える人も教わる人も、
集合論などはなっから理解してる本業の人たちばかりだから
あえて明示的に指摘しないのかなとも思うけど
そういう資料があれば、理解が深まるし誰にでも確実に理解できていいと思うんだけどな
35デフォルトの名無しさん:2014/02/15(土) 13:18:50.73
そりゃまあ、形式的に何かやろうとしたら集合論の上に乗っけるのが普通だろ。
それでも集合論とMcCarthyのLispの間にはかなりの飛躍があるので、
「すごい発想はなにもなくて」ってことはない。
McCarthyのLisp以前の話なら計算模型(オートマトンとかラムダ計算とか)の教科書を読んどくといい。
McCarthyのLispが導入したものが何なのか知りたいならMcCarthyの論文を読めばいい。
McCarthyのLisp以降の話ならプログラム意味論に行くといい。
36デフォルトの名無しさん:2014/02/15(土) 14:19:58.36
>>35
俺には雲の上の話だな
いま、rplacd使ってセルのつながりを変えるところに進んだ。
Lispは楽しいな
37デフォルトの名無しさん:2014/02/15(土) 21:59:01.69
>>35
ありがとう助かった
データ構造と集合論との関係とかは、プログラム意味論に当たるんだね!
暗黙のうちに理解される自明なことで、あえて書いてくれないのかと思ってたよw
あとさ、McCarthyさんのすごかったところは、それこそプログラミング意味論的なものなんじゃないかなとも思うけど
まぁとにかくその辺り勉強して論文を読んでみるとする
38デフォルトの名無しさん:2014/02/15(土) 22:18:13.80
ゲーデル・エッシャー・バッハとかは?
39はちみつ餃子 ◆8X2XSCHEME :2014/02/15(土) 22:47:29.03
>34
理解しなくても使えるからだと思う。
「本業」ってどういうのを想定してる?
理論を表現するために LISP を使うスタンスとプログラミング言語としか見ないスタンスが有って、
後者の方が多数派ってことなんじゃないかな。
40デフォルトの名無しさん:2014/02/15(土) 22:49:36.73
はちみつ見るの久しぶり
俺はLispを柔軟に書けるて実行速度がそれなりに速い言語としか見てないよ
41デフォルトの名無しさん:2014/02/15(土) 22:58:33.47
現実を抽象化し、そのデータを処理する事を考えるのに、
手続き的な思考と、集合論的な思考と、どっちが馴染むか。
手続きで考えた方が良い場合もあるし、宣言的に考えた方がいい場合もある。
今目の前の問題はどちらだろうか。
という選択があるのかないのかで話はけっこう違うんじゃないか。

数学は現実を記述するための言語なのだから、
理論を表現しても「それが何の役に立つ?」という話になるし。
42デフォルトの名無しさん:2014/02/15(土) 23:49:34.62
>>34が本当に必要だったもの
ダイクストラ/ホーア/ダール「構造化プログラミング」
43デフォルトの名無しさん:2014/02/16(日) 09:49:18.86
>>34
あなたは素晴らしい。才能がある。
技巧だけではなく理論面も掘り下げていってほしい。
昔のLisperは理論、実装ともに堪能な人が多かった。
最近はそういう人は少なくなった。
44デフォルトの名無しさん:2014/02/16(日) 11:24:16.29
酷い自演を見た
45デフォルトの名無しさん:2014/02/16(日) 12:12:44.97
call/cc
46デフォルトの名無しさん:2014/02/16(日) 12:21:17.85
>>43
そうかも

でも、全然駄目かも

頭は良くても態度に問題が
それが実践でどうでるかだな

また、それは社会関係だけでなく能力の伸び代も大きく規定するし

さーて、どうかなあ
47デフォルトの名無しさん:2014/02/16(日) 12:23:05.21
俺は演繹的宣言の態度がダメだと思う
48デフォルトの名無しさん:2014/02/16(日) 13:36:34.99
>>37
データ構造を集合として扱い、ラムダ式(関数)を集合間の対応(写像)として
数学的な(=形式的な)意味を定義しようとする試みは、昔から行われていた
しかし、ラムダ式の自己適用(ラムダ式を入出力とするラムダ式)で起こる
論理的矛盾の解消が壁になっていた
具体的には、計算対象を集合 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本を読まれることを薦める
49デフォルトの名無しさん:2014/02/16(日) 15:11:42.17
あと『数理情報学入門: スコット・プログラム理論』
50デフォルトの名無しさん:2014/02/16(日) 16:19:39.69
中二病は夢があってほほえましいが
高二病はあまり役に立たない直ぐにでも治療が必要
51はちみつ餃子 ◆8X2XSCHEME :2014/02/16(日) 17:23:19.06
数学板でやればいいんでないの。
ム板でそんな話しても相手にされなくてあたりまえだろ。
52デフォルトの名無しさん:2014/02/16(日) 17:28:57.66
形式手法を学ぶなら今でしょ、というご時世だというのに何言ってるんだか
53デフォルトの名無しさん:2014/02/16(日) 18:12:36.53
ム板の話ではないという話をしてるのに時流がどうとか言いだす話が通じないやつ〜
54デフォルトの名無しさん:2014/02/16(日) 18:21:18.04
長文さんが来てくれるとスレが盛り上がってひじょうによろしい
ぜひづづけてくれないかね
55デフォルトの名無しさん:2014/02/16(日) 18:44:06.23
プログラミング技術において形式手法は、今後必要になることが増えることはあれ、
減ることはないだろう。それを「ム板の話ではない」と決めつける理由は、老害脳以外に
無いと思うが、まぁ老害ならばしかたないな。
56デフォルトの名無しさん:2014/02/16(日) 19:05:14.55
プログラミングに必要っていうのは否定しないよ。
だからといって何もかもム板でやってよいというのは暴論だろ。
ゲーム制作やウェブ制作だって別板なんだぜ?
57デフォルトの名無しさん:2014/02/16(日) 19:11:47.52
>>56
ならば、以後、はちみつはプログラミングとは無関係なウンチク語りを一切禁止な
58デフォルトの名無しさん:2014/02/16(日) 19:16:33.59
はちみつさんはうんち食ったりそれを誇らしく語ったりなんかしねーよ
59デフォルトの名無しさん:2014/02/16(日) 19:19:15.00
おいやめろ
60デフォルトの名無しさん:2014/02/16(日) 19:33:09.85
プログラム作ってるのに、情報科学専攻しなかったのが遠回りだったと言っているように聞こえる。

小学生みたいに手続き型のプログラム知らない人のほうが、lisp理解してもらいやすかったというのもあるぐらいだし、
理論から入った方がいいかは、人によるんじゃないか?

最近はネットで講義を公開してるから、理論からの方が納得出来ると思ったら履修するといいんじゃないか。
https://www.coursera.org/course/automata
61デフォルトの名無しさん:2014/02/16(日) 20:00:43.35
>>60

なんでそっちに行くんだ?
こっちだろ。
http://takeichi.ipl-lab.org/lecture/computation-model2004/Scott.pdf
62デフォルトの名無しさん:2014/02/16(日) 20:13:38.63
Lispを布教したいと考える立場からすると、
そういう理論から入ろうとするのは余計なハードルじゃないか。
よりよく使うには理論があった方がよろしいというのはわかるが、
まずLispを使おうという人がそんなに多くない状況なんだから、
もっとキャッチーなキラーアプリとか使い易さでアピールする方がいいよ。
63デフォルトの名無しさん:2014/02/16(日) 20:19:22.95
あれ?
はじめは、チューリングマシンとその他の計算モデルの等価性からかなと。
64デフォルトの名無しさん:2014/02/16(日) 20:40:08.70
まずは使い勝手が意外とよいところを知ってもらうところから始めるというのは賛成だな。
理論が実用の役に立つという意識付けというか目的意識があった方がモチベーションに繋がるから、
先に実用が有った上でこういう理論が当て嵌められるよっていうのがあると良さそう。

理論なんて実用されなきゃただの難しいパズルだもん。
パズルが悪いわけじゃなくてそれはそれで尊重はするけど、プログラミング言語はエンジニアリング寄りのものだしさ。
現実と理論が乖離してたときにどっちが正しいと思う? そりゃ現実が正しくて理論が間違ってる。
エンジニアリング的視点に立つなら理論背景は後回しにするのが合理的だと思う。
65デフォルトの名無しさん:2014/02/16(日) 21:37:29.25
そんなのは「ラッキーでうまくいつちまった」って感じのもので
俺派仮にうまく行っててもそれでいいとも思えないな
66デフォルトの名無しさん:2014/02/16(日) 22:07:39.00
Lispを布教とかどうでもいいよ
今後Lispの替わりが出てくるとも思えないし
67デフォルトの名無しさん:2014/02/16(日) 22:48:18.16
そんなこと言ってていいのか
足元巣食われるんじゃないのか
68デフォルトの名無しさん:2014/02/16(日) 22:50:20.49
javascriptに食われそう
69デフォルトの名無しさん:2014/02/16(日) 22:59:44.95
既にXMLでこてんぱんじゃないの
70デフォルトの名無しさん:2014/02/16(日) 23:09:56.70
抽象化の土台として理論があるんじゃないだろうか。
数学の問題の解き方を覚えるのと、数学を理解するのとは違うわけで。
71デフォルトの名無しさん:2014/02/17(月) 00:41:54.41
なんでもかんでもLisp系でやらなくても良いし、Lisp系使わなくても良い。
悟りを開くためにやる言語だとか言われてたよね。
非Lisperな対してはそんなスタンスで良いんじゃないかな。
じゃあ理論的な部分抜きで悟れるのか?って話になるよね。
7264:2014/02/17(月) 08:53:08.39
>>65
誤解があるみたいだけど、理論が要らないと言ってるわけじゃないよ。
どうして上手くいったのか、上手くいかなかったのかということに解は必要だ。
だけど、上手くいった体験を持たずに理論が先行するのがよくないと言ってんの。
73デフォルトの名無しさん:2014/02/17(月) 09:56:53.49
WS-* で死屍累々のXMLゾンビかよ >>69 はw
74デフォルトの名無しさん:2014/02/17(月) 10:36:07.01
こんな話をしてるのが無駄だろ。
いいから数学板へ行けよ。
なんでそう頑にム板でやろうとすんの。
75デフォルトの名無しさん:2014/02/17(月) 10:42:46.45
理論なんか無くていいと思ってるおまえが無駄。
いいからこのスレから消えろよ。
なんでそう頑にスレを自分の思い通りにしようとすんの?
76デフォルトの名無しさん:2014/02/17(月) 11:10:40.16
>>75
無くていいとは言ってなくて、この板でやるべきじゃないという話なのになんでそうなるの?
77デフォルトの名無しさん:2014/02/17(月) 11:12:16.64
>>75
そうやって故意に話を捻じ曲げて相手を悪者にする論調は何なの?
それで得することあるの?
数学板が機能してないクズの集合体だからこっちでやりたいの?
ちょっと理由を言ってみてくれんか。
78デフォルトの名無しさん:2014/02/17(月) 11:22:41.58
数学板は AA 荒らしが多いな。 実際にはそれをやってるのは一部なんだろうが…。
あれは話題に付いていけない人が多いからという説が有力視されてる。
初心者を置いてけぼりにする感じが駄目なんだな。 ム板の殺伐さとはまた違ったハードルだと思う。

わかっている人たちで議論してより高度な知識を得たいとかいうのなら2chは向いてないよ。
「初心者の方が多い」という現実があって、ゆるいところから入門してだんだんステップアップするもんだろ。
そんでもって2chはその「ゆるいところ」であるべきだろ。
だから最初にやっかいな理論を持出すようなことはすべきじゃない。
質問があれば必要なところに誘導すれば充分だろ。
79デフォルトの名無しさん:2014/02/17(月) 12:47:09.01
わからないんだよぉ
でちまうよぉ

       。ρ。      
         ρ      
         mドピュッ
        C|.| /⌒⌒⌒ヽ/~ ̄ ̄ ̄ ̄ヽ 〜
      /⌒ヽ⌒ヽ___   |  ∴ヽ  3  ) 〜  
     ./  _  ゝ___)(9     (` ´) ) 〜  
    /  丿ヽ___,.───|彡ヽ   へ へ|  〜 
    _/ )          (   Y ̄ ̄ ̄ ̄) 〜 
   (__/
80デフォルトの名無しさん:2014/02/17(月) 17:44:26.64
板違いというなら適切なスレを教えてくれ
81デフォルトの名無しさん:2014/02/17(月) 18:23:28.69
誰か数学板に、Haskellを学べば東大女とやれるって書いておけ
数学科を出て、コールセンターで働く不幸な人が絶えまない。
82デフォルトの名無しさん:2014/02/17(月) 20:53:08.67
やるべきではない?その根拠は何だろう?
理論抜きになんのプログラムの話が出来るんだ?
83デフォルトの名無しさん:2014/02/17(月) 21:05:02.77
程度問題だろ。
84デフォルトの名無しさん:2014/02/17(月) 21:07:17.79
>>78
甘えんじゃねえ
85デフォルトの名無しさん:2014/02/17(月) 21:11:10.50
まあ精根尽きるまで駄々をこねてればいいよw
8682:2014/02/17(月) 21:12:13.66
>>78
なるほど。
しかし、何でも君の「べき」に付き合わなきゃならないのかい?
87デフォルトの名無しさん:2014/02/17(月) 21:26:11.86
そもそもみんなちゃんと r5rs ですら仕様の意味論の部分読めてるのか?
うちの院卒の新人に聞いてみたが、一人もまともに説明できなかったぞw
88デフォルトの名無しさん:2014/02/17(月) 21:45:32.25
プログラマにそれが必要か? いや、わからないよりわかる方が良いというのはわかるよ。
89デフォルトの名無しさん:2014/02/17(月) 21:55:23.84
そうは言ってもどうせそんなに頻繁にややこしい話は出ないから好きにすりゃいいんじゃね。
ただ、みたいにLISPERなら理論面もわきまえてて当然というスタンスは駄目だろ。
間口を狭めるだけ。
90デフォルトの名無しさん:2014/02/17(月) 22:23:21.50
>>89
そうは言ってもどうせそんなに頻繁にややこしい話は出ないから好きにすりゃいいんじゃね。
ただ、みたいに:

  LISPをプログラミング言語としか見ないスタンスが多数派なのだから
  意味論を含む理論に関した話題は板違いであり、数学板でやるのが

当然というスタンスは駄目だろ。
間口を狭めるだけ。
91デフォルトの名無しさん:2014/02/17(月) 23:27:06.38
おれはlisp に絡んでりゃ何でも良い、ってスタンス。
だいたい掲示板なんだから、誰かが面白そうな話してりゃ絡めばいいし、
そうじゃなければスルーするか、自分が面白い話提供すりゃいいよ。
92デフォルトの名無しさん:2014/02/17(月) 23:58:07.73
PyPy
https://github.com/samth/pycket
ErlangVM
https://github.com/erlware/joxa
https://github.com/rvirding/lfe
ErlangVMで実用的な言語あれば使いたいという人は増えてる気がする
93デフォルトの名無しさん:2014/02/18(火) 07:17:30.72
間口を広げるべきだというのもドグマだろ。
俺は理論語れるほどじゃないが、語ってる人が居ても良いと思うぞ。
94デフォルトの名無しさん:2014/02/18(火) 07:51:35.80
つまり、リップキスもLisp方言だからディープキスの話題でもいいのかな
95デフォルトの名無しさん:2014/02/18(火) 09:13:26.42
あすみんの話題も有りってことか。
96デフォルトの名無しさん:2014/02/18(火) 09:56:31.78
それは流石に、仕様書に載ってたり、実装されてたりしないような?
97デフォルトの名無しさん:2014/02/18(火) 14:37:24.88
初テキストの「リスト遊び」をそろそろ終えられるので
「リスト遊び」の著者が推薦している(オーム社版の)「Scheme手習い」注文した。
Lispって楽しいな。
Lispでアウトラインプロセッサ作ろうと思ってって始めたけど、その前にLisp自身を作ることになるかな。
ま、いいや。
98デフォルトの名無しさん:2014/02/18(火) 17:07:07.00
>>92
Erlang上で動くProlog処理系おしえて(;´Д`)
前に探したけど、見つからなんだ
99デフォルトの名無しさん:2014/02/18(火) 17:12:19.71
>>87
下らないことで偉そうにしてる人って居るよね
そのぐらいしか人生で自慢することがなくって、心の支えにしてるんだろうから、
そっとしておいてあげよう
100デフォルトの名無しさん:2014/02/19(水) 14:32:53.88
だれかー
Lisp の字句解析教えてー
Lispのシンボルは数字が先頭ってこともあるじゃん?
そこがどうすればいいのかわからん。
101デフォルトの名無しさん:2014/02/19(水) 15:12:02.58
数値としておかしかったらシンボルにすれば
102デフォルトの名無しさん:2014/02/19(水) 16:10:43.37
頭良い
103デフォルトの名無しさん:2014/02/19(水) 16:11:03.17
意味解析までシンボルのままじゃだめなん
104デフォルトの名無しさん:2014/02/19(水) 16:15:23.53
頭良い
105デフォルトの名無しさん:2014/02/19(水) 21:52:18.26
セルって car cdr それぞれを指すの?
それとも その二つどちらもあわせたデータ構造を指すの?
106デフォルトの名無しさん:2014/02/19(水) 22:26:29.03
コンスセル、ドット対、ペア

「セル」とはあまり言わないんじゃないかな
107デフォルトの名無しさん:2014/02/19(水) 22:28:36.27
LISPでいうセルはcar cdrの2つのペアと決まっとる
例外なくな
108デフォルトの名無しさん:2014/02/19(水) 22:34:05.22
car cdr
この2つの発明により、LISPはマジョリティの道から外された
CommonLispは必死に抵抗したが、結局car cdrには勝てなかった
109デフォルトの名無しさん:2014/02/19(水) 22:58:04.57
セルとドット対はちゃうぞ
セル(またはコンスセル)のCDR部が他のセルへのではなくnilを除くatomへのポインターをもつとき、リスト表現できずにドット対表現される。


なお、リストはドット対表現可能。
(1 ) → (1 . nil)
110デフォルトの名無しさん:2014/02/19(水) 23:00:55.22
コンスセルとドット対は一緒じゃないの?
111110:2014/02/19(水) 23:02:55.38
コンスセル=ドット対の特殊なものがリスト、だと思ってる
112デフォルトの名無しさん:2014/02/19(水) 23:05:42.48
リストなるものは、正確にはリスト表現なるものは、
セルのCDR部によってリンクされる各セルのCAR部がポイントするデータを羅列しカッコでくくったものだな
式としてのリストは存在しても実体としてリストなんてものはない。
あるのはセルとアトムだけだ。
113デフォルトの名無しさん:2014/02/19(水) 23:06:18.46
>>110
ちゃいます
114デフォルトの名無しさん:2014/02/19(水) 23:09:46.17
>>113
具体例出せる?
115デフォルトの名無しさん:2014/02/19(水) 23:11:38.08
マッカーシー
http://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/
116デフォルトの名無しさん:2014/02/19(水) 23:19:59.74
http://clhs.lisp.se/Body/26_glo_d.htm
用語はハイパースペック見るのが正しいな
117デフォルトの名無しさん:2014/02/19(水) 23:21:14.93
ドット対は外部表現の名前って感じかな。
118デフォルトの名無しさん:2014/02/19(水) 23:23:33.24
>>114
コンスセルは表現ではなく実体。
ドット対とはあくまでドット対表現の意味
セルの表現にドット対表現とリスト表現がある。

あるセルのCDR部は、たかだか一つのセルまたはアトムしかポイントしない。

しかるにドット対表現では
(1 . (2 . (3 . nil))) のごとくセルのリンクを、そのCDR部に表現可能であり、いかなるリンクにてあるかを、たかだか1つのドット対表現から知ることができる。
しかし、セルをいくらみても
CAR部とCDR部のポインターの先を見られるだけで、先の先については何も知ることができない。

片や実体、片や表現。
Cellとdotted pairは同じものではない
119デフォルトの名無しさん:2014/02/19(水) 23:46:00.66
あらためて Scheme の規格を読んでみると cell って言葉は出てこないな。
cell に相当する用語は pair ということになると思うが、
pair は dotted pair とも呼ばれると書いてあるから同じものという扱い。
表現方法のことは dotted notation という用語になってる。

Lisp 族でも物によって多少ニュアンスが違ったりすることはあるんじゃないの。
120デフォルトの名無しさん:2014/02/19(水) 23:50:34.84
ペアってのはcarとcdrの両方にアトムが入っているやつだろ?
121デフォルトの名無しさん:2014/02/19(水) 23:53:11.69
ちがう
122デフォルトの名無しさん:2014/02/19(水) 23:54:03.25
>>107 のいうペアは型としてのいわゆるペアとは違うのでは?
123デフォルトの名無しさん:2014/02/20(木) 01:13:19.95
ああ、通常の単語としてのペアか
124デフォルトの名無しさん:2014/02/20(木) 05:37:24.49
>>118
理解した、サンクス。
125デフォルトの名無しさん:2014/02/20(木) 12:00:59.70
LispでいうObjectってなに?
126デフォルトの名無しさん:2014/02/20(木) 12:15:49.78
どの標準で?
127デフォルトの名無しさん:2014/02/20(木) 13:24:30.48
Object指向って意味でないやつ
128デフォルトの名無しさん:2014/02/20(木) 13:33:15.81
LispとかけてObjectととく
そのこころは
聞いたことあらへんな
129デフォルトの名無しさん:2014/02/20(木) 16:31:45.05
Lispの実装についてプログラム終了時のメモリ開放は明示的にするべきでしょうか?
または、OSに任せてよろしいでしょうか?
130デフォルトの名無しさん:2014/02/20(木) 16:40:49.40
メモリに限らず、Unixのプロセスが持っているファイルディスクリプタなどのように
OSが解放することが保証されている資源で、プログラム=プロセスという形で
対応させてるなら、それで良い。
131デフォルトの名無しさん:2014/02/20(木) 17:01:32.60
CtrlキーはAの横に位置し、小指で押すものなんだと、
そう考えている時期が僕にもありました。
132デフォルトの名無しさん:2014/02/20(木) 17:03:55.06
左右の小指の付け根で押す方が圧倒的に楽
133デフォルトの名無しさん:2014/02/20(木) 17:07:04.00
親指で押したほうが圧倒的に楽
134デフォルトの名無しさん:2014/02/20(木) 17:08:44.32
それ、なんてキーボード?
135デフォルトの名無しさん:2014/02/20(木) 17:13:34.75
日本語キーボードの変換と無変換をctrlに割り当ててる
136デフォルトの名無しさん:2014/02/20(木) 17:26:48.92
俺も小指の付け根派だな
無変換にはシフトを割り当ててる
137デフォルトの名無しさん:2014/02/20(木) 17:27:28.50
ctrl + Alt + qが押し辛いから却下
138デフォルトの名無しさん:2014/02/20(木) 17:27:29.50
小指の付け根で押しやすいキーボード教えて
139デフォルトの名無しさん:2014/02/20(木) 17:28:52.03
>>138
Dellの日本語キーボード。左右にCtrlキーとAltキーが配置してるやつ
140デフォルトの名無しさん:2014/02/20(木) 19:27:46.07
Aの左にCtrl
神が決めた宇宙の真理
141デフォルトの名無しさん:2014/02/20(木) 19:35:01.69
小指が痛くなるのも神の御意のままに
142デフォルトの名無しさん:2014/02/20(木) 19:40:06.46
カーちゃん、クダーらねえよ
143デフォルトの名無しさん:2014/02/20(木) 19:40:41.01
そりゃコンスしました
144デフォルトの名無しさん:2014/02/21(金) 01:24:44.86
lisp マシンのキーボードってどんなだっけ?
145デフォルトの名無しさん:2014/02/21(金) 01:52:19.57
146デフォルトの名無しさん:2014/02/21(金) 13:55:40.26
今日勉強したこと

;;;リストの最後のセルへのポインターを得る
(defun lastcell (lst)
(while (cdr lst)
(setq lst (cdr lst)))
lst))
147デフォルトの名無しさん:2014/02/21(金) 14:26:07.44
そうか
148デフォルトの名無しさん:2014/02/21(金) 14:30:38.80
標準でwhileが入ってるのってallegroclとemacslispくらいだろ
149デフォルトの名無しさん:2014/02/21(金) 14:49:40.55
そうなんですか、じゃ再帰で書いてみました
チラシの裏の勉強スマン

(defun lastcell (lst)
(cond
((null lst) nil)
((null (cdr lst))
lst)
(t (lastcell (cdr lst)))))
150デフォルトの名無しさん:2014/02/21(金) 14:58:30.26
>>149
(cdr nil) → nil
であることを考えると
((null lst) nil)は不要だな
自己レス、やめます。スイマセンでした
151デフォルトの名無しさん:2014/02/21(金) 17:33:02.50
今晩のお勉強、束縛。
俺の部屋に直子を今晩束縛してくれ
152デフォルトの名無しさん:2014/02/21(金) 18:25:34.09
>>151
何故か「直子の代筆」と言う商品が想起された
153デフォルトの名無しさん:2014/02/22(土) 14:46:32.79
「束縛する」というのは便利だな。
いちいち「変数xに××へのポインターセットし」と言わずに「変数xに××を束縛し」で済む。
(束縛の意味を誤認しているかもしれないけれど)
154デフォルトの名無しさん:2014/02/22(土) 15:08:37.68
Y Combinator共同創設者のP・グレアム氏、代表を辞任 - CNET Japan
http://japan.cnet.com/news/business/35044266/
>外国語訛りの英語や女性起業家に関する同氏の最近の発言はいささか物議を醸したが
何かあったの?
155デフォルトの名無しさん:2014/02/22(土) 16:24:44.77
>>154
それに関するポールのコラムにリンク貼ってあるじゃん
156デフォルトの名無しさん:2014/02/22(土) 18:57:21.08
>>148
Gaucheにもwhileあるよ。
157デフォルトの名無しさん:2014/02/22(土) 21:09:55.17
これからは世界の料理ショーに専念するんだな。
158デフォルトの名無しさん:2014/02/22(土) 23:04:58.59
そのボケは若い子には分からんのとちがうか
159デフォルトの名無しさん:2014/02/22(土) 23:40:09.75
>>154
shiro さんがそのことについて言及してるな。
http://blog.practical-scheme.net/shiro/20130910-do-your-homework
160デフォルトの名無しさん:2014/02/22(土) 23:59:54.94
Y Combinator はデコイ
161デフォルトの名無しさん:2014/02/23(日) 02:45:28.89
Υコンビネータの時代が来るね
162デフォルトの名無しさん:2014/02/23(日) 10:33:49.88
>>153
見事に誤認してる。
ポインターとか考えてたらはまるだけだから。
163デフォルトの名無しさん:2014/02/23(日) 12:02:36.89
>>162
見事な正解を教えてくれ
164デフォルトの名無しさん:2014/02/23(日) 13:09:29.45
考えるなって言ってるじゃん
165デフォルトの名無しさん:2014/02/23(日) 17:19:31.41
>>164
お馬鹿だったのね
166デフォルトの名無しさん:2014/02/23(日) 17:33:49.58
>>154
アメリカもマスコミはマスコミということか
167デフォルトの名無しさん:2014/02/23(日) 23:20:42.25
>>159
ありがとう。そういうことだったのか。
168デフォルトの名無しさん:2014/02/24(月) 18:40:56.59
>>163
束縛は束縛だよ。 いわば定義なので、束縛に束縛以外の意味などない。
実装レベルの話なら別だけどさ。
169デフォルトの名無しさん:2014/02/24(月) 19:34:32.74
紐付けか関連付けかくらいに思っとけばいいんじゃないの
170デフォルトの名無しさん:2014/02/24(月) 19:57:27.40
>>153
逆で
データに変数を束縛だな
171デフォルトの名無しさん:2014/02/24(月) 21:00:15.91
緊縛変数
172デフォルトの名無しさん:2014/02/27(木) 22:05:29.64
初心者がコンテナを関数で渡そうとしてはまるパターンだな
束縛そのものに実体は無い
束縛先を変えるしかない
173デフォルトの名無しさん:2014/02/27(木) 22:11:18.38
例えばヤンキーに束縛されている女がいたとする
そのヤンキーと女との束縛関係には実体がない
がヤンキーは確実にその女を束縛できる
女は他者によって自分を変えることはできても
ヤンキーからの束縛からは自主的に逃れられない
ヤンキーが飽きるか死ぬまで女は束縛され続ける
174デフォルトの名無しさん:2014/02/27(木) 22:37:41.86
仮にヤンキーが死んだ場合、女も道連れで一緒に死ぬ
ヤンキーに見放された場合も女は孤立して静かに死ぬ
女が生き残るには、ヤンキーと別れる前に
他のイケメンによって束縛されなければならない
女は束縛され続けることでしか生き残れないし生きる術を知らない
逆にヤンキーとイケメン達で女を共有することも可能である
175デフォルトの名無しさん:2014/02/27(木) 22:53:52.07
女は束縛され続けなければ生き残れないと書いたが
稀に他の女と結託することで保護を受けられる場合がある
そうやってうまいこと他の女を盾にしていけば
その女は束縛関係を生きながら断ち切ることができるかもしれない
そのことを最後に付け加えておく
176デフォルトの名無しさん:2014/02/27(木) 22:59:57.50
この前そういうドラマやってた
177デフォルトの名無しさん:2014/02/28(金) 14:50:13.88
勉強してる
何のためにはじめたのか覚えてはいるけれど、それは少しどうでも良くなってCommon LispやSchemeに親しむこと自体が楽しみになってきた。
そのうちCISPも読んでみよう。
仕事にはならないだろうけどね
178デフォルトの名無しさん:2014/02/28(金) 19:55:24.10
>>177
>CICP
SICP?

>仕事にはならないだろうけどね
この一行を思いつきもしなくなったら本物
179デフォルトの名無しさん:2014/02/28(金) 20:48:23.55
>>178
仕事によるんじゃないのかなー?
180デフォルトの名無しさん:2014/02/28(金) 21:07:05.66
食品系のライン作業者
181デフォルトの名無しさん:2014/02/28(金) 21:56:30.49
ライン作業をlispで解決出来たら本物
182デフォルトの名無しさん:2014/02/28(金) 22:04:37.89
lispはORツール揃ってるからな
工場のシステムは30年前からそのまま動いてたりするから、ナメたらあかんぜよ
183デフォルトの名無しさん:2014/02/28(金) 23:05:52.92
ラインの作業者にシステムの保守をやらせてくれるわけがない
184デフォルトの名無しさん:2014/03/01(土) 11:23:56.28
typed racketが超高速化したみたいなんだけど
ソースコードをいじって遊べるほど安定化はしてるんだろうか
185デフォルトの名無しさん:2014/03/01(土) 11:54:07.04
typed racketの実装をいじって遊んでる間に
本家側のリポジトリが超進化してしまって整合性とれないような
そういう段階なら、まだ手出ししたくない
いつごろ安定するのだろう
186デフォルトの名無しさん:2014/03/01(土) 15:27:42.80
いつまでも発展し続ける。
187デフォルトの名無しさん:2014/03/02(日) 23:49:42.37
継続すげー これだけでもSCHEE最強
188デフォルトの名無しさん:2014/03/03(月) 01:13:22.69
シェー?
189デフォルトの名無しさん:2014/03/03(月) 01:19:16.11
Shen
190デフォルトの名無しさん:2014/03/03(月) 05:02:12.40
継続は確かに面白いけど、scheme で面白いのはあとはマクロくらい。
Haskellも勉強しているんだけど、あっちには圏論をバックグラウンドとした未踏の世界が相当広がっている。scheme って良くも悪くも、すごく単純な世界だよね。
191デフォルトの名無しさん:2014/03/03(月) 14:04:30.45
Scheme でも静的型や型推論、 Haskell 風のクラスシステムは出来なくはない。
(語彙をまるごと用意しないといけないのであえて Scheme でやるのは馬鹿げているけど、
Haskell 処理系が登場する前にプロトタイプを記述する目的でなら Scheme は有用だったかもしれない。)
そういったパラダイムを言語ユーザが欲っしたときに邪魔するものが無いようにというのが Scheme の思想なので、
言語自体が何らかのパラダイムに強く縛られるのは望ましくない。
192デフォルトの名無しさん:2014/03/03(月) 15:13:47.44
それならschemeというかlisp方言全般で言えるな
193デフォルトの名無しさん:2014/03/03(月) 19:02:29.35
Clojure は楽に書ける Java って感じ。
194デフォルトの名無しさん:2014/03/03(月) 19:37:14.44
第一級継続は Ruby や JavaScript の一部の実装にも有るし、
陽でない (処理系の内部構造で) 継続のようなものを持っている言語処理系はそんなに珍しいことでもない。
起源は Scheme なんだろうし、後の色々な言語に影響も与えたのは間違いないけど、
今では他の言語と比べて第一級継続があるから凄いということもないと思う。

それよりも、第一級継続を元にしてバックトラックさせたりコルーチンやらジェネレータに応用したりする枠組みを
作ることが出来るという抽象化の能力こそ Scheme の素晴らしさだと思う。
195デフォルトの名無しさん:2014/03/03(月) 19:45:28.74
HASKELLのcallCCは?
196デフォルトの名無しさん:2014/03/03(月) 19:58:18.66
Haskell のは名前こそ callCC だけど call/cc とは使い方が違うよ。
197デフォルトの名無しさん:2014/03/03(月) 21:36:19.40
>>194
バックトラックやコルーチンが実装できるのは確かに面白いと思った。でも、それらはもう何年も前からある、継続の利用例だよね。他には継続の使い道、あるのかなぁ。煽りじゃなく純粋に知りたい。
198デフォルトの名無しさん:2014/03/03(月) 23:07:15.56
第一級継続は重要ではないと言ってるんだが、伝わってなかったかな。
プリミティブな機能を抽象化の壁で覆う力が強いということを強調したつもりなんだが。
199デフォルトの名無しさん:2014/03/03(月) 23:19:45.25
制御構造とは何なのか、という叩き台にはなっていると思う
200デフォルトの名無しさん:2014/03/03(月) 23:56:33.53
繰返しになるけど、継続は言語処理系内部では有るものなんだよ。
そういうものが有るということに気付いたというのが Scheme の成果だし、
様々な制御がどういうものであるかという「根拠」となるのが継続。

ダイクストラはプログラムの構造化を提示したが、
更にそれの基盤になる概念が継続というわけ。
例えていうなら、原子が最小の単位だと思ったら素粒子が有ったわーみたいな。

で、その継続を第一級としたのは、
現時点で未知の制御構造を導入したいとプログラマが思ったときに
それを邪魔しないようにという Scheme の基本思想を反映したものであって、
未知の何かに対して早々に決断しないという慎重さでもある。
201デフォルトの名無しさん:2014/03/04(火) 01:33:04.24
なんでschemeにはgoto(jmp)とラベルが無いのか
継続呼び出しだと内部実装的に大げさ過ぎるのが判ってるし
末尾再帰でループを書くよりもgotoで書いた方がやはり大抵の場合速いわけで
named-letなんてgotoをかえって判りにくく書いたようでやりたい事がぼやけてしまう
202デフォルトの名無しさん:2014/03/04(火) 01:39:36.08
っ マクロ
203デフォルトの名無しさん:2014/03/04(火) 01:56:32.91
土方の意見聞きました
強盗やってろ
204デフォルトの名無しさん:2014/03/04(火) 02:06:19.49
よほど手抜きされた処理系でもない限り末尾呼び出しがgotoより遅いなんてこともないしなぁ
ただの思い込みで批判されてもねぇ
205デフォルトの名無しさん:2014/03/04(火) 04:42:34.87
>>200
今は未知の、新しい制御構造が出てきたときでも継続さえあれば十分だ、としよう。でも、もしもう新しい制御構造なんてものが無いなら、継続の価値は既存の制御構造を抽象化し統一的に上手く説明できるだけ(それはそれで立派な成果だとは思うけど)になる。
で、新しい制御構造って研究されてるのか、知りたかったんだよ。
206デフォルトの名無しさん:2014/03/04(火) 10:56:35.31
新しい、ていうか、問題ごとに適応したコルーチンのようなものじゃないの?
複数の木をそれぞれ非連動で同時にたどるとか。
207デフォルトの名無しさん:2014/03/04(火) 12:16:19.46
Scheme 過去現在未来 - So-net - 豆丁网
http://www.docin.com/p-504225148.html

これを読むと継続からSchemeができたように思える
208デフォルトの名無しさん:2014/03/04(火) 13:01:10.27
>>205
そうそう。 >>206 の意見には賛同できる。
欲しい構造としてはコルーチンなんだけどインターフェイスの面で微妙に違うのが欲しかったりとか。
209デフォルトの名無しさん:2014/03/04(火) 23:41:50.44
>>204
末尾呼び出しなだけではgotoと同等にはならない。
末尾呼び出しをgotoに変換するには、更にいくつかの仮定が必要。
210デフォルトの名無しさん:2014/03/05(水) 02:18:49.27
>>209
言語仕様上、確実に末尾再帰を最適ができるように設計された言語がSchemeだろ
211デフォルトの名無しさん:2014/03/05(水) 10:27:55.01
逆に、clojure や scala は JVM の制約で末尾再帰最適化ができないと書いてあったけど、あれはなんだったのだろうか
212209:2014/03/05(水) 10:38:59.19
>>210
Schemeの仕様は無限回の末尾呼び出しができることしか要求してない。
実行速度については何も言っていない。

末尾呼び出しを goto に変換できる条件のひとつは、
コンパイル時に飛び先が確定していること。
が、load だの repl だの eval だのがあると
コンパイル時に飛び先をなかなか確定できない。
だれかが上書きするかもしれないからな。

named let は上手い回避策で、
name が escape したり set! されたりしないことだけ確認すれば
飛び先が毎回同じかわかるようになっている。
これは let の scope 内だけを見れば良いから技術的にも簡単。

r6rs は library 内だけ見れば良くなっているが、
代わりに repl が消えて set! に制限が付いた。
213209:2014/03/05(水) 10:43:59.48
>>211
無限回の末尾呼び出しのためには、
呼び出しの前にスタックフレームを削除しなければならない。
が、 JVM ではスタックフレームを削除するには return しなければならない。
214デフォルトの名無しさん:2014/03/05(水) 11:06:27.95
R6RS の制限はコンパイラが色々と楽になってるよな。
215デフォルトの名無しさん:2014/03/05(水) 11:29:47.99
gotoが速いとか言ってる奴を相手にする必要なし
216デフォルトの名無しさん:2014/03/05(水) 11:45:02.89
ナイーブな実装だと goto の方が速いことも有り得るだろうけど、
理屈の上では末尾呼出しと同じだよ。

>>212
飛び先が確定してなくても変換できるよ。
もちろん確定してた方が効率的なコードになるけど。
217デフォルトの名無しさん:2014/03/05(水) 11:50:42.70
トップレベルってなに?
218デフォルトの名無しさん:2014/03/05(水) 11:53:18.37
ダークコーナー
219デフォルトの名無しさん:2014/03/05(水) 12:17:26.50
一番外側の式
220デフォルトの名無しさん:2014/03/05(水) 12:43:43.49
俺のこと
221デフォルトの名無しさん:2014/03/05(水) 12:44:08.22
処理系が用意する語彙は一番外側の式と同じレベルなのか、更に外側なのか。
222デフォルトの名無しさん:2014/03/05(水) 23:37:33.04
>>216
例えば末尾文脈で (f a b) みたいな呼び出しがあったとして、
fが定数でないとすると、
- fに手続きが束縛されているか確認
- fの引数の数が正しいか確認
- 呼び出し元の駆動レコードの破棄
- 呼び出し先の駆動レコードの構築
といった処理が必要になると思うんですが、
これって削除できるんですか?
223デフォルトの名無しさん:2014/03/06(木) 01:10:13.21
>>222
一部は削除できる。
224デフォルトの名無しさん:2014/03/06(木) 01:24:14.91
>>212
それは「gotoが実現できない言語」では末尾再帰はgotoと等価ではない
と言っているのかな?
225デフォルトの名無しさん:2014/03/06(木) 01:39:20.80
>>222
駆動レコードに工夫できるケースも多いからな。
ときにはまるっきり作らなくて済むことも。
226デフォルトの名無しさん:2014/03/06(木) 10:34:40.78
>>223 >>225
「一部は」「ケースも多い」「ときには」なら、
「末尾呼び出しはgotoと同じ速度」は誇大広告じゃありませんか?

特に、駆動レコードを作らなくて済むのは、
呼び出し元が使用している駆動レコードを再利用できるときに限ると思いますが、
どこかで call/cc が使われているとその前提がくずれてしまうと思います。
つまり、実質、「いかなる手続き呼び出しも行っていない手続きの末尾呼び出し」でなければ
gotoと同等の速度が出る末尾呼び出しにはならないかと思います。

>>224
いえ、「末尾呼び出しをgotoと同じ速度にするには、他にいくつか条件が必要」と言っています。
227デフォルトの名無しさん:2014/03/06(木) 16:14:05.48
>>226
そういうことなら goto と常に同じというわけではないということは認める。

だけどちょっと反論させてもらおう。
末尾呼出しが goto と同等の速度にならないケースというのは、
末尾呼出しを goto で置換えることが出来ない使い方をしているケースなので、
goto のかわりに末尾呼出しを使う分には goto と同等の速度と言える。

変数の内容が書き換えられるかどうかは set! の対象になっているかどうかを見ればいいだけなので、
(ここでは REPL を考えない) set! されることがないなら変数を手続きが束縛しているか、
手続きのアリティがいくつかはコンパイル時に看破できる。
(goto のラベルは変数ではないので変動することはない。 書換えられることのない変数と同等である。)

その手続きを呼出す箇所でも apply でも使って動的に変動するのでもない限り渡す引数の数ははっきりしてるので、
コンパイル時にチェックは完了できる。
(goto は引数を持たない。 アリティが確定している末尾呼出しと同等である。)

駆動レコードも goto なら常に再利用しているわけだし、
再利用せずに環境を保存しておかなければならないのなら goto では表現できない (か、プログラマが陽に保存する必要がある)。
228デフォルトの名無しさん:2014/03/06(木) 16:46:00.12
なんなんだよ!
Lispの実装は簡単にできるとかなんなんだよ!
` とか , とか @ とか聞いてねえぞ!
229デフォルトの名無しさん:2014/03/06(木) 17:01:01.00
lispの実装が簡単って構文解析の手間が減るくらいだと思うんだけど
230デフォルトの名無しさん:2014/03/06(木) 17:21:25.55
だよな。
特定の規格とか考えずにとりあえずlispっぽく見える最低限のものっていうことならちょっと簡単かもしれないけど。
231デフォルトの名無しさん:2014/03/06(木) 20:48:32.57
サンプルが腐るほどあるからそういう意味では簡単だよ
232デフォルトの名無しさん:2014/03/06(木) 23:07:42.29
それは言えてる。
資料が多いのもそうだけど、実際にやってみた結果が反映されてるってのは強いよな。
233デフォルトの名無しさん:2014/03/06(木) 23:15:52.23
IBM JVMの末尾再起最適化
https://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と末尾再帰と末尾最適化/
234デフォルトの名無しさん:2014/03/07(金) 00:15:17.31
わかる。オモチャを作るのが簡単なだけで、ホンモノ作る大変さは他と変わらないよね。
235デフォルトの名無しさん:2014/03/07(金) 00:23:30.75
だってスキャナとパーザが楽なだけで、
その後の型判定、最適化、コード生成、それにエラー処理等は
他の言語と変わらないもの
236デフォルトの名無しさん:2014/03/07(金) 00:47:05.86
Schemeの数値はパースするのが面倒だけどな。
237デフォルトの名無しさん:2014/03/07(金) 00:56:55.21
Common Lisp の仕様書ってどこで手に入るの?
あと日本語訳ある?
238デフォルトの名無しさん:2014/03/07(金) 10:14:21.15
>>227
> (ここでは REPL を考えない)
これです。私が言いたかったのは。
replが存在するだけで処理系は最適化できなくなりますよね。
他に load, eval, call/cc あたりの制限も要る。

あとはまあ、だいたいいいです。
239デフォルトの名無しさん:2014/03/07(金) 14:18:47.16
REPLの無いLisp処理系なんて魅力半減じゃないか
240デフォルトの名無しさん:2014/03/07(金) 16:03:49.21
CLはREPLが大前提だけどSCHEMEは決めかねてる感じあるね。
R6RSでは無くなっちゃったし、R7RSでも微妙なポジションだし。
241デフォルトの名無しさん:2014/03/07(金) 16:43:09.60
対話環境がどうのこうのって ハッカーと画家で読んだ
242デフォルトの名無しさん:2014/03/07(金) 18:17:58.67
>>240
REPL無しを前提に最適化を行って実行バイナリ生成とかなら非常に魅力感じるんだけど、開発環境からREPL消えるとLisp系使う意味もうほとんどないよね。
243デフォルトの名無しさん:2014/03/07(金) 18:26:25.60
Lispってことに意味があるから大丈夫
244デフォルトの名無しさん:2014/03/07(金) 18:45:54.50
風邪引いた
治ったらChickenインストールするぞ
245デフォルトの名無しさん:2014/03/07(金) 22:26:26.82
Common LispはJISで規定されているんじゃなかったっけ
246デフォルトの名無しさん:2014/03/08(土) 00:33:13.12
REPL より大事なモノはない。CL はちゃんとREPLを仕様にした。SCHEME がREPL を仕様から捨てたのは、本当にがっかりした。
247デフォルトの名無しさん:2014/03/08(土) 00:49:06.04
捨てたんではなくてまだ決めてないと解釈すべきだろ。
248デフォルトの名無しさん:2014/03/08(土) 00:51:23.79
仕様にREPLがないないなら
RERL無しの高速実装版とREPL版との多様化ができてよろしい。
249デフォルトの名無しさん:2014/03/08(土) 15:56:50.17
コンピューターは常に速さを求められる
それに乗っかるソフトウェアもまた常に高速でなければならないのだよばかちん
250デフォルトの名無しさん:2014/03/08(土) 16:03:49.74
いや、そこはトレードオフだろ。
同じ条件なら速いにこしたことはないけど、
速さを犠牲にして利便性が得られるならそれもまたよし。
251デフォルトの名無しさん:2014/03/08(土) 16:07:06.62
Javaを嫌う理由って主にその辺なんだな
252デフォルトの名無しさん:2014/03/08(土) 16:28:16.40
どのへんだよ。
253デフォルトの名無しさん:2014/03/08(土) 17:49:22.41
>>249 みたいなばかちんがウザいこと?
254デフォルトの名無しさん:2014/03/08(土) 17:54:27.14
>>249
これは恥ずかしい
255デフォルトの名無しさん:2014/03/08(土) 18:02:26.82
そいつ別のスレでも「Lispは美しい」とか言ってたやつだろ
どこが美しいかは知らないらしい
256デフォルトの名無しさん:2014/03/08(土) 18:07:41.36
>>255
どれがそいつかわからん書き方が
ゴニョゴニョ
だいいち、それがかれと、どれほど断定し得るものだろうか?

そうかも、きっとそうさ、そうにちがいめえ、エヘン、そうなのでアール

↑おバカの頭の中
257デフォルトの名無しさん:2014/03/09(日) 03:52:14.42
酔っ払ってるのお前?
258デフォルトの名無しさん:2014/03/09(日) 06:21:53.63
お馬鹿にもわかりやすいように書いたわけ
そう思えなかった?
259デフォルトの名無しさん:2014/03/09(日) 09:36:34.08
バカでも解らないしバカじゃ無くてもわからんw
260デフォルトの名無しさん:2014/03/09(日) 09:43:02.12
そりゃ、よほど頭が悪いんだな
おばかの三段論法
「かもしれない、きっとそうだ、そうである」
が、君には自然なのかもな

ばかだから

わはは
261デフォルトの名無しさん:2014/03/09(日) 10:11:40.76
決めつけてる時点でおまえさんがパーなんじゃないの?
262デフォルトの名無しさん:2014/03/09(日) 10:20:30.59
かもしれない



きめつけ

とするあたり、もろに

おばかさんだね
もうやめや、恥さらすだけだから
263デフォルトの名無しさん:2014/03/09(日) 10:27:54.67
必死だなぁ、無駄に改行含めてマジで病院いっといで。
264デフォルトの名無しさん:2014/03/09(日) 11:57:51.85
>>263
へえ、どうして必死と評価した?
そのプロセス言ってみな

まあ、低偏差値層特有の常套文句相手にしても意味ないがな

ま、おばかの相手はここまで

それこそ必死に中身のない中傷にせいをだしていなさい。、それくらいしか出来ないんだろうから。

あれ?その頭でLispやってるの?
「関数carはリストの先頭要素を取り出す関数です」
とか思ってるレベルじゃない?
そうなら、「なるほどザおばか」
265デフォルトの名無しさん:2014/03/09(日) 12:11:43.28
つ 鏡
266デフォルトの名無しさん:2014/03/09(日) 13:15:10.53
(defun leap ( n )
(cond
((zerop (mod n 400)) t)
((and (zerop (mod n 4))
(null (zerop (mod n 100))) t)
(t nil)))

ザおばかが書いたコード
267デフォルトの名無しさん:2014/03/09(日) 13:27:18.87
おまいらID導入議論に参加しないの?
268 ◆QZaw55cn4c :2014/03/09(日) 13:43:18.51
このスレ的にはどうでもいい
269デフォルトの名無しさん:2014/03/09(日) 13:50:45.93
現在プログラム板のID制導入の投票を実施中です
よろしくお願いします

プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/
270デフォルトの名無しさん:2014/03/09(日) 15:05:09.45
>>266
前提条件を見ることも出来ないお馬鹿をまたまた自己暴露してるな、君。

なにが目的だったか?その文脈を認識できずに,まさに木を見て森をみず、目の前の人参のごとく
「関数leap歯いかにスマートに書けるか?」
たる問題としてとらえてしまっている。
二流どころの投影的解釈そものも。

かんたんにいうとね、
君、お馬鹿さらけだし。
もう、恥ずかしいからやめな
271デフォルトの名無しさん:2014/03/09(日) 15:17:42.14
恥ずかしい誤変換を晒してしまった気分はどうだい?
272デフォルトの名無しさん:2014/03/09(日) 15:18:45.88
そもそも括弧が大くて煩わしいと言う話で
>>266の小さい子が親のマネするような滑稽なコードを平気で晒す神経がわからん
あんな小学生でも分かるような簡単な例なら括弧の多さは気にしなくていいし
そんな低レベルな話で偉そうにしてたら滑稽に見えるだけ
ところでその糞みたいなleap関数のどこが美しいの?
273デフォルトの名無しさん:2014/03/09(日) 15:42:28.00
子がよちよち歩くのを見てバカにするような親はいません
274デフォルトの名無しさん:2014/03/09(日) 15:44:59.99
俺は親じゃないし公共の場で親の真似をして迷惑をかけてたら話は別
275デフォルトの名無しさん:2014/03/09(日) 17:49:31.08
日曜日にやることがそれだけかい
276デフォルトの名無しさん:2014/03/09(日) 18:44:16.09
もはやどれが誰の書き込みだかさっぱりだわ、こういうときこそID欲しいとは思うが、普段はいらね
277デフォルトの名無しさん:2014/03/09(日) 20:05:25.15
そもそも見分けたいとも思わない程度の低いやりあいだと思うけどな。
278デフォルトの名無しさん:2014/03/09(日) 22:43:33.79
有れば有ったでいいと思うけど、面倒くさいから既にID有りのおーぷん2ちゃんねるに移動しないか
279デフォルトの名無しさん:2014/03/09(日) 23:43:45.30
チンチン、マンコにこすりつける仕事なら楽やで
「はい、次の方」 
コスリコスリ

「トピュントピュン」

「出ちゃったので今日はおしまいです。股のお越しをお待ちしております」

いいやろ、わはは
280デフォルトの名無しさん:2014/03/10(月) 01:50:21.14
>>279
一日にちょっとしか出来んやないか。
病気への警戒とかも考えるとそれなりの出費もあるで。
281デフォルトの名無しさん:2014/03/10(月) 12:57:35.19
Schemeにはnilがないんやな

(and (eq nil '())
(eq nil (not t)))

→t

になれてると手間かかるな
282デフォルトの名無しさん:2014/03/10(月) 14:06:48.21
283デフォルトの名無しさん:2014/03/10(月) 15:26:28.44
この板もID導入されるみたいだしわざわざ分散するような事しないほうがいいんじゃ
284デフォルトの名無しさん:2014/03/10(月) 15:28:13.27
あふぃ
285デフォルトの名無しさん:2014/03/10(月) 15:30:46.53
おーぷんは気に食わん。
まとめの見せ物じゃないかwwwwwwwwww
286デフォルトの名無しさん:2014/03/10(月) 15:36:49.58
こんなところにも嫌儲チョンがおるんか
287デフォルトの名無しさん:2014/03/10(月) 15:42:11.22
UGは見せ物になったんだよ
288デフォルトの名無しさん:2014/03/10(月) 19:45:58.51
(define nil '())
でおk>>281
289デフォルトの名無しさん:2014/03/10(月) 19:47:10.82
あ、ブーリアンか
ブーリアンか!
このー
290デフォルトの名無しさん:2014/03/10(月) 20:20:16.52
>>285
ム板がまとめられることもそうそう無いんだからどっちでもいいんでね
291デフォルトの名無しさん:2014/03/10(月) 20:34:12.45
>>288
いや、だめだね
それすると
(eq? nil #f) → #f
となる。
要するにnilに多義性を与えられない

Scheme手習いで登場させているSchemeでは
nilを偽として使い、null listはあくまで
'()としてるな

(define nil #f)
(define t #t)
292デフォルトの名無しさん:2014/03/10(月) 20:50:23.82
(define (true? x)
(or (eq x 't)
(not (or (eq x 'nil)
(not x)
(null? x)))))

これは?
293292:2014/03/10(月) 20:52:03.14
今のは無かったことにしてほしい
294デフォルトの名無しさん:2014/03/10(月) 20:55:32.53
>>290
実際にまとめられるかどうかより、
まとめありきのその思想がいやだ
295デフォルトの名無しさん:2014/03/10(月) 21:39:08.94
むしろ2ちゃんねるが独占してる方が嫌だと思う
296デフォルトの名無しさん:2014/03/10(月) 21:55:52.63
にちゃんねるに書き込むってのは便所の落書きを自称するってことなんですよおおおおおおおおおおおお
297デフォルトの名無しさん:2014/03/10(月) 22:44:19.87
マッカーシーのLispの頃の理論では構文的な操作で物事を理解するため、
nil はシンボルであって欲しかった。

Schemeの頃の理論になると semantic な概念が導入されたため、
シンボルとオブジェクトは異なる概念であって欲しくなった。
空リストは専用のオブジェクトとなり、シンボルではなくなったため、
専用の表記が導入された。

って理解してる。
なので、Scheme に空リストの表記としての nil は
入れない方がいいんじゃないかと思ってる。
空リストが偽でなくなった理由はわからない。
298デフォルトの名無しさん:2014/03/11(火) 00:04:46.99
R2RSには空リストの表記として#!nullがあった
299デフォルトの名無しさん:2014/03/11(火) 05:14:33.75
>>297
ごせつごもっとも
ま、.空リストが偽でないことでプログラム書きかためんどくなるが、概念としては曖昧なnilよりすっきりしてる

(while lst
(set! rev (cons (car lst) rev))
(set! lst (cdr lst)))

とかできなくなったのがめんどい
300デフォルトの名無しさん:2014/03/12(水) 00:38:10.80 ID:PmsDk2kY
pair?てあんま好きじゃないんだが
cons?のがよくね?
301デフォルトの名無しさん:2014/03/12(水) 00:40:00.07 ID:PmsDk2kY
もちろんconsがコンストラクタの略だってことは承知でな
pair?だと逆にどこから出てきたんだよこの馬骨はって思うじゃん
だったらconsやめてmake-pairにでもしろや
って思うじゃん
302デフォルトの名無しさん:2014/03/12(水) 00:46:35.05 ID:gGAQRqxK
とりあえずコンストラクタと型判定述語の対応

lambda procedure?
cons pair?
list list?
make-vector vector?
make-string string?

なんてこった。
基本的な型なのにこんなに一貫していない命名だとは。
303デフォルトの名無しさん:2014/03/12(水) 01:24:21.96 ID:fku1OHk4
vector の作成には vector っていう手続きがあるよ。
srfi-1 には make-list っていう手続きがあるよ。
304デフォルトの名無しさん:2014/03/12(水) 01:31:59.78 ID:7rMNEn4b
SCHEMEは何か中途半端だ。いっそ、コンス無くしてリストだけにしてもいいんじゃないか?
305デフォルトの名無しさん:2014/03/12(水) 02:00:01.37 ID:PmsDk2kY
procedure?だと値を返さないっぽいから
せめてfunction?にして欲しい
もちろんlambda?がいい
組み込みはinternal?とかで
306デフォルトの名無しさん:2014/03/12(水) 02:06:03.64 ID:gGAQRqxK
>>305
> procedure?だと値を返さないっぽいから

実際のところ値を返さないこともある。
307デフォルトの名無しさん:2014/03/12(水) 02:33:14.91 ID:/PudMNUJ
> lambda procedure?
> cons pair?

proc proc?
pair pair?
にしよう。
308デフォルトの名無しさん:2014/03/12(水) 04:55:15.12 ID:OMPOBOZN
処理系のエラー通知の仕組みが知りたいです。
典型的にはどういった実装がありますか。
エラー型のようなものを作っているのでしょうか
309デフォルトの名無しさん:2014/03/12(水) 08:16:14.60 ID:Jb6YhUW8
>>304
consセルという基幹をはなれて
たかだか表現上のことでしかないリストを中心に据えてどうする。
本末転倒。
310デフォルトの名無しさん:2014/03/13(木) 00:50:50.31 ID:EB5Xi5Zn
miniKanren
面白いね
Reasoned Schemer読んでる
311デフォルトの名無しさん:2014/03/13(木) 01:04:25.94 ID:pSYj+jmU
>>308
エラー通知って fprintf で stderr になんか表示するだけじゃない?

エラー型のようなものに関しては
srfi や R6RS に condition というものがある。
312デフォルトの名無しさん:2014/03/13(木) 21:57:08.82 ID:rV9SiEZO
エラー通知だかの継続呼び出すだけだからな
スッタクなんか関係ないし
自由を求めて不自由になったお話を思い出すね
313デフォルトの名無しさん:2014/03/13(木) 22:02:11.96 ID:rV9SiEZO
人は、不自由を嫌うが、自由を求めているのではない
314デフォルトの名無しさん:2014/03/14(金) 00:32:29.26 ID:myEJmnze
自由すぎると何もかも自分でやるはめになる
だから他人の作ったライブラリという不自由を探してきて楽をするのさ
315デフォルトの名無しさん:2014/03/14(金) 02:26:01.10 ID:/iTGJs+2
プログラムとは特殊化
316デフォルトの名無しさん:2014/03/14(金) 09:37:45.73 ID:LQScPk2V
哲学的な話になるといっきにドツボ低レベルになるのは日本Lisperの特徴かな
317デフォルトの名無しさん:2014/03/14(金) 09:58:12.75 ID:AAxJccE4
哲学的
ドツボ低レベル
日本Lisperの特徴

だってさ
318デフォルトの名無しさん:2014/03/14(金) 10:02:47.72 ID:LQScPk2V
>>317
そうだが、それがなんだい?
319デフォルトの名無しさん:2014/03/14(金) 11:20:25.10 ID:i2gZM/lI
プログラミングGaucheの前書きにこのスレの名前があるのは何で?
320デフォルトの名無しさん:2014/03/14(金) 11:40:56.77 ID:yw1h0rB8
>>319
スレに降臨して査読求めてた。
321デフォルトの名無しさん:2014/03/14(金) 12:42:15.61 ID:qyVOGyCK
>>315
良いプログラムは最低限の特殊化が無理なく行われている。
322デフォルトの名無しさん:2014/03/14(金) 13:04:03.34 ID:db8QorUz
Gaucheにもquicklispのようなものがあればいいんだがなー
323はちみつ餃子 ◆8X2XSCHEME :2014/03/14(金) 16:21:34.35 ID:rvJhz4Kx
gauche-install に不満が?
ひとつのリポジトリに集約してほしいってことかな?
324デフォルトの名無しさん:2014/03/15(土) 07:48:36.80 ID:zceL17jk
quickscheme を作ろう、scheme だって企画がちゃんとあるんだからライブラリを管理するのは簡単だ (棒読み)
325デフォルトの名無しさん:2014/03/15(土) 14:24:11.31 ID:n/4F4bsU
>>322-232
というか、フォルダ1個コピーすればOKみたいなポータブルにできないのだろうか
326デフォルトの名無しさん:2014/03/15(土) 18:19:49.92 ID:gENJg6MC
えっ
327デフォルトの名無しさん:2014/03/15(土) 19:43:15.11 ID:+NCAYm5Y
Schemeだけで書かれているライブラリならほとんどの場合はコピーするだけだよ。
328デフォルトの名無しさん:2014/03/15(土) 20:33:01.85 ID:2qKnCe2F
ffi
を統一すれば他も統一できそう
329デフォルトの名無しさん:2014/03/15(土) 22:04:03.03 ID:arc9z/ou
>>325
ライブラリ同士の依存性がどうこうとかがあって、
更にマクロがあるので、なかなかそういうわけにはいかない。
r6rs の library があんなんなっちゃった理由のひとつ。
330デフォルトの名無しさん:2014/03/15(土) 23:54:46.32 ID:+NCAYm5Y
なるほど。
gauche-install はそういう依存性の解決はしてくれないもんな。
331デフォルトの名無しさん:2014/03/16(日) 06:51:09.77 ID:jg6pkE2L
http://www.schemeworkshop.org/
これって名前はworkshopだけど
査読があるから査読付き国際会議って扱いにしていいんだろうか
332デフォルトの名無しさん:2014/03/16(日) 10:40:12.75 ID:4HUpx++T
ワークショップ、シンポジューム
http://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
333デフォルトの名無しさん:2014/03/16(日) 13:31:49.32 ID:pjuy1WN3
schemeで2ちゃんに任意の文字列を書き込むスクリプト作りたいんだけどどうすればいいのかな?
334デフォルトの名無しさん:2014/03/16(日) 16:50:49.29 ID:FjMvJr7q
>>331-332
大学によって違うかもしれんが、査読付きで、ISBN付きのプロシーディングの出版があれば査読付き著書にカウントしてくれる
シュプリンガーなら文句なしなんだけどね

University of Utah Technical Report の立場が分からんが、not intended to replace conference or journal publication って書いちゃってるので査読付きでカウントするのは難しいかと
335デフォルトの名無しさん:2014/03/17(月) 00:09:56.25 ID:3w0r/EDw
lispって何ができんの?
336デフォルトの名無しさん:2014/03/17(月) 01:14:10.25 ID:LQCTfrGY
>>335
他の言語、CやJavaやRubyと変わらないよ
337デフォルトの名無しさん:2014/03/17(月) 03:53:42.12 ID:NheN3KPC
>>335
Lisp使いになると東大女とやりまくれる
338デフォルトの名無しさん:2014/03/17(月) 09:47:10.40 ID:XBjk++yV
その魅力のないデマをしつこく流す目的は?
339デフォルトの名無しさん:2014/03/17(月) 14:43:55.87 ID:Tuj3+h2s
マジレスの波動を感じる
340デフォルトの名無しさん:2014/03/17(月) 17:59:04.42 ID:WHHErXpn
で結局Lisp族って他のインタプリタより速いの?
341デフォルトの名無しさん:2014/03/17(月) 18:03:23.65 ID:xqSk1ndf
最近は古典的なインタプリタは速度競争なんかしてない。
342デフォルトの名無しさん:2014/03/17(月) 18:11:55.96 ID:Tuj3+h2s
Lispは手でパーサを書き終えるまでの時間が早い
343デフォルトの名無しさん:2014/03/17(月) 20:32:36.87 ID:y+URzG55
インタプリタだと毎回ソースコードを読み込むところからの時間が実行時間に加算されるわけだから最適化にかけられる時間が限られてる。
プログラムの内容がものすごく計算量の多いものなら時間をかけてでもがっつりと最適化した方がいいけど、そこそこのものなら最適化はしない方が全体としては速いかもしれない。
用途によってトレードオフのバランスを決めるしかない部分なのでLISP族とその他という大きな括りでは比較しようがない。
多大なリソースが注ぎ込まれてる本格的な処理系も個人レベルで作ってみただけという原始的なものもあるわけで、そりゃピンキリだよ。
344デフォルトの名無しさん:2014/03/17(月) 21:53:40.64 ID:XBjk++yV
Common LispならCノ次ぐらいに早いって。ばっちゃんが言ってた。
345デフォルトの名無しさん:2014/03/17(月) 22:23:27.34 ID:y+URzG55
そのためにはチューニングに手間をかける必要があるのと、
手間をかけた結果からは美しさが失なわれて C と同じくらいの見た目になる。

そのかわりざっとしたプロトタイプを書くのは C よりずっと簡単だし、
チューニングする必要があるのがどこか把握するためのプロファイリング機能や逆アセンブラは充実してる。

プログラミングスタイルそのものとセットで考えなければいけないので、
単純には比較できないな。
346デフォルトの名無しさん:2014/03/18(火) 17:45:21.05 ID:uwWTDmYY
Common LispでもSchmeでもない新生Lispをつくったとして需要あると思う?
347デフォルトの名無しさん:2014/03/18(火) 17:50:20.61 ID:jmzjar2H
>>346
つClojure
348デフォルトの名無しさん:2014/03/18(火) 17:55:33.20 ID:Suoz9IBN
仕様を作るのか単なる処理系を作るのかでだいぶ異なる
349デフォルトの名無しさん:2014/03/18(火) 18:06:33.51 ID:MOBgar03
売りがあれば需要はかならずあるだろう。
350はちみつ餃子 ◆8X2XSCHEME :2014/03/18(火) 19:05:40.49 ID:y0jvz8+J
需要はあると思う。 規格に合わせようとすることが足枷になるならどんどん新しいものを作ったらいい。
たとえ出来上がったものが未熟であってもアイデアが他に活かせることもあるし、自分の訓練にもなる。

ただ、本気で広く普及するような言語を目指すならそれは結構厳しい道程かもしれない。
既存の言語は現時点で「使い手がいる」「ライブラリがある」「実績がある」というのも大きな利点であって、
(LISP系は他のメジャー言語に比べれば格段に少ないにしても)
新規の言語がいきなりそれを用意できるわけもない。
つまりはそれを上回る魅力を提示する必要がある。
出来なければ元々が方言の多いLISPのことだし、「また俺俺LISPが出たな」くらいのものになる。

ClojureはJavaの資産を利用するという方法でライブラリの部分を埋めたからあれだけの躍進があった。
もちろんJavaの資産をうまく利用できるようにうまい言語設計されてもいるけどね。
言語設計者にとってはすごく屈辱的かもしれないけど、やっぱり物量がある方が有利っていうのはある。

逆に言えばClojure同様に既存の資産にちょっとLISPっぽい外観を与えるだけで有用になるものは他にもあるんじゃないかという希望もある。
351デフォルトの名無しさん:2014/03/18(火) 19:08:15.31 ID:x5e1HBxb
Racket最強伝説
352デフォルトの名無しさん:2014/03/18(火) 20:11:41.63 ID:amKGTNPu
>>350
Java資産ならArmed Bear Common LispやKawa Schemeが前からあるし、
そっちの方が規格にも準拠してるそうだから、Java資産ってのは理由にならないんでない?
Clojureが騒がれたのは、大方、PythonやRuby、Haskell周りがWebバブルで浮かれていた
シリコン脳のアホ共が便乗した、とても良い時期に誕生したからだと思うわ
353デフォルトの名無しさん:2014/03/18(火) 20:46:38.19 ID:AJd0B3pW
>>352
Clojureの躍進の一番大きなものはLeiningenの存在だと思うがなー
Mavenリポジトリ他から必要なライブラリをぽいっと呼び出して依存関係解消してくれるし、面倒なXML書かなくて済むし
354デフォルトの名無しさん:2014/03/18(火) 20:57:21.89 ID:jmzjar2H
互換性無くして括弧減らして[]使ってとっつきやすくしたのも
355はちみつ餃子 ◆8X2XSCHEME :2014/03/18(火) 22:57:53.79 ID:y0jvz8+J
>>352
Java 資産を利用できる CL (Scheme) っていうのと Java 資産を使うために設計された Lisp 系言語っていうのは違うと思う。
でも、確かに時期がよかったっていうのは有るかな。
それも狙って個人で作れるものではないし、難しいよなー
356デフォルトの名無しさん:2014/03/18(火) 23:06:48.30 ID:UBk2tVSE
Lispって時点で有用性ゼロだろ
357はちみつ餃子 ◆8X2XSCHEME :2014/03/18(火) 23:37:28.92 ID:y0jvz8+J
そうか
358デフォルトの名無しさん:2014/03/19(水) 00:02:08.59 ID:Jh1c0+c5
clojureやshenみたいに既存のlispとは違った文法を持ってるlispが増えてくれると楽しくて良い
359デフォルトの名無しさん:2014/03/19(水) 00:41:16.93 ID:/As/erWY
XSLTとかどっすか
いちおうSchemeの子孫だし
360デフォルトの名無しさん:2014/03/19(水) 00:43:25.85 ID:amnSipvO
静的型付でデフォルトで遅延評価で型推論あってSTMもあってライブラリも充実しててメニーコアに対応した21世紀の lisp 下さい
361デフォルトの名無しさん:2014/03/19(水) 01:12:37.87 ID:Nndd1+4W
Clojureはイミュータブル+S式が特徴だけど、Haskell、lispとも違うアプローチしてると思う。
Haskellでもデータ構造は破壊的なもの使ったりするけど、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なんじゃないかと思ってる。
362デフォルトの名無しさん:2014/03/19(水) 01:13:23.54 ID:tHHX2/pv
>>360
つ Typed Clojure
363デフォルトの名無しさん:2014/03/19(水) 04:17:46.15 ID:g+2MOTll
数式処理ってCommon Lisp(maxima)しか実用的なのはないのでしょうか?
SchemeにはMaximaに相当するのないのですか?
364デフォルトの名無しさん:2014/03/19(水) 07:20:57.80 ID:vwDmoCEd
>>363
っMathematica
365デフォルトの名無しさん:2014/03/19(水) 15:27:13.75 ID:oXIqqE+e
メニーコア対応の数値計算Schemeとかは需要あるだろうか。
まぁ数値計算屋は保守的だから結局Fortranが使われるわけだがね
(別に保守的なのが悪いとは言わないけど)

CUDAはベースがLLVMになったので、頑張れば
LLVMコードを吐いてNVIDIA GPUで走る処理系はできそうだな
しかしXeonPhiも考えると、結局Fortranに落とすのが一番良いという
結論になってしまうけど

Fortran資産を使えるLisp、というのは
遊びとしては面白そうだ。世界で最も古い2つの言語のハイブリッド処理系や
366デフォルトの名無しさん:2014/03/19(水) 16:15:35.90 ID:2boxI8vi
マジで?
367デフォルトの名無しさん:2014/03/19(水) 16:59:48.27 ID:b5AWvfgt
最初のLISPはFortranのライブラリが原型って聞いたことあるけど。
368デフォルトの名無しさん:2014/03/19(水) 17:29:00.17 ID:jbaTmMPB
原型っていうか、実装にあたってcarとかcdrの中身に、
それ以前に作ったFortran用リスト処理ライブラリを流用した、
ってことだと思う。
369デフォルトの名無しさん:2014/03/20(木) 12:12:37.66 ID:8VdroaYO
>>358
shenはQiのportable版だから文法に新味はないが、
portable戦術がSteeleの"LAMBDA: The Ultimate Declarative"を思い起こさせて面白い。
というか欧州だからLisp-1の影響なんだろうか。
370デフォルトの名無しさん:2014/03/20(木) 12:13:50.26 ID:UwqMSJy+
>>369
Lisp-1→EuLisp-1
371デフォルトの名無しさん:2014/03/24(月) 01:21:16.09 ID:oI1zpBwI
りりかるlispの7話目の練習問題がわからない
(define len (lambda (x) (if (= null? '(x))0 (+ 1 (len (cdr x)))) ))
じゃないのか
372デフォルトの名無しさん:2014/03/24(月) 01:41:47.32 ID:YyEIcUk7
マルチ氏ねよ
373デフォルトの名無しさん:2014/03/24(月) 01:42:25.91 ID:X3mU/vM5
>>371
問題文おしえて
374デフォルトの名無しさん:2014/03/24(月) 02:07:19.76 ID:oI1zpBwI
>>373
アリサ「関数letを引数としてxを受け取ると、xの要素の数を返す関数として定義しなさい。ただし、引数は一つで、リストのみが来ると考えていいわ」
375デフォルトの名無しさん:2014/03/24(月) 02:21:32.70 ID:b5p4OWYb
関数 len を、〜だな。

>>371
> (= null? '(x))
→ (null? x)

だろ。何で手続き null? と '(x) を = で結ぼうとか思った。
376デフォルトの名無しさん:2014/03/24(月) 02:28:07.40 ID:oI1zpBwI
>>375
ありがとう、なんか勘違いしてたみたい
377デフォルトの名無しさん:2014/03/25(火) 03:22:43.51 ID:QhbZVHJp
よくインタプリタ処理系である
型データを「ポインタ側に持たせる実装」ってどういうことですか

http://www.nue.org/nue/tao/bitao/index.html

↑のように実際のセルとLISPオブジェクトポインタ?(そんな単語ある?)
の二段構えってこと?(セルにタグを持たせる実装と比較で)
378デフォルトの名無しさん:2014/03/25(火) 04:08:30.90 ID:tfYo+EBB
独自用語についてどんなものかと聞かれてもなんとも
379デフォルトの名無しさん:2014/03/25(火) 04:14:19.75 ID:DjVofhuk
ポインタの下何ビットかに、型情報を埋め込むとかじゃね
380デフォルトの名無しさん:2014/03/25(火) 04:21:48.29 ID:QhbZVHJp
>>378
ごめん。とにかく「ポインタ側に持たせる」とはどういうことなのか、ということ。
>>379
なるほど。だとするとワード単位でアドレスにアクセスするアーキのCPUだと無理だということ?
いや、てかx86は8毎でなかったでしたっけ。すくなくないですか
381はちみつ餃子 ◆8X2XSCHEME :2014/03/25(火) 06:52:02.45 ID:utJZ75qI
>>380
gauche.h のコメントが参考になる。
https://github.com/shirok/Gauche/blob/master/src/gauche.h#L187
状況によっては 3 ビット以上をタグに取れるよ。
382デフォルトの名無しさん:2014/03/25(火) 10:10:17.20 ID:zYkHG6WI
>>380
>なるほど。だとするとワード単位でアドレスにアクセスするアーキのCPUだと無理だということ?

どうして?
むしろ全空間を使いやすい。
オブジェクト配置でどうせアラインしないといけないのだから。

>いや、てかx86は8毎でなかったでしたっけ。すくなくないですか

ポインタ側に持つ即値の型情報だけ必要。
fixed tag
short character
bitmask
など。"その他"はobject側を見る。
383デフォルトの名無しさん:2014/03/25(火) 10:38:52.53 ID:QImWjIyD
>>377
この論文の→ ttp://ci.nii.ac.jp/naid/110002723809
("CiNii 論文PDF - オープンアクセス"って所をクリックすれば、自由にPDFが見られる)
図4、図5のあたりを見るといい。
384デフォルトの名無しさん:2014/03/25(火) 13:50:05.10 ID:QhbZVHJp
>>377 >>380ですです

たくさんの情報あざーす!

どうやら 勘違い していたようです。
だけど謎が解けてすっきりです!

一歩前進できた模様
385デフォルトの名無しさん:2014/03/25(火) 14:03:19.49 ID:tE9oMSd+
ワードマシンではアドレスが奇数のこともあるのでは
386はちみつ餃子 ◆8X2XSCHEME :2014/03/25(火) 14:19:44.67 ID:utJZ75qI
無駄が有っても常に4バイトなり8バイトなりの境界に配置するしかしゃーない。
でもどうせ IA32 用 C 処理系の malloc はだいたい 8 バイト境界のアドレス返すよ。
半端なアドレスでもアクセス出来るけど速度的なペナルティがちょっと有るし、
SSE が特定のアラインを要求したりする場合も有るからな。
387デフォルトの名無しさん:2014/03/25(火) 15:37:57.91 ID:/6gLpgWk
ワードマシンと言っても、最近のはアドレスはバイト単位で割り振られてるのばかりでしょ?
アクセスするのにペナルティがあったり、複数命令必要ってだけで。
昔の大型みたいにアドレッシングがワードのみのなんてあるの?
388デフォルトの名無しさん:2014/03/25(火) 15:43:38.45 ID:/6gLpgWk
あ、GPUにあるか。
389デフォルトの名無しさん:2014/03/25(火) 17:02:46.07 ID:AvCKhDY2
>>387
ワードの読み込みを奇数バイト境界でアクセスできるCPUの方が珍しくない?(シェアベースだとx86でもうまんたいかもしらんけど)
390デフォルトの名無しさん:2014/03/25(火) 18:40:15.47 ID:/6gLpgWk
>>389
それは複数命令必要ってことでしょ。それがないとは思ってない。

基本的にLisp実装には殆ど関係のない話だし。
そんなObject配置はしないので。
391デフォルトの名無しさん:2014/03/25(火) 18:45:14.00 ID:xdEsusSJ
ワードマシンってバイト単位のアドレッシングじゃないCPU機のことだよ?
ペナルティあったり、複数命令でアッセンブルする必要があろうが、
アドレスがバイト単位で割り振られていればバイトマシン。
たとえば初期のRISC、MIPSとか、もバイトマシン。
392デフォルトの名無しさん:2014/03/25(火) 19:18:44.82 ID:QImWjIyD
ワードアドレッシングね。System/360より前は普通だったから、半世紀以上前か。
最近でもDSPとかには普通にあるけど。

確かにアドレス付けがバイトアドレッシングで、ワードを指す場合はアラインメントが
強制されるアーキテクチャの場合(あるいは意図的にアラインさせて)、ポインタの
下位1ビット〜3ビットをタグに使うというテクもあるけど(CRubyのFixnumとそれ以外とか)、
Lisp実装系のタグとしては、アドレス空間が24ビットなのでアドレッシングの上位1バイトが
無視される、というような場合にその上位1バイトをタグに使う、という奴が多い。

32ビットアーキテクチャの初期にはアドレス空間が24ビットというマシンが結構あったので
そういったテクも使われたりしたけど、アドレス空間が広くなると同時に消えていった。
64ビット化でまた同じようなことが起きるかどうかは興味深いところ。
393デフォルトの名無しさん:2014/03/26(水) 00:56:49.13 ID:U1TUL83R
>>392
AArch64は上位8bitをタグにできるね。
394デフォルトの名無しさん:2014/03/26(水) 17:29:07.50 ID:rDn7FARN
勉強になりますなぁ
395デフォルトの名無しさん:2014/03/26(水) 17:33:34.49 ID:WRQ9gvUM
じゃ、勉強にならないことをおれが書き込む。
生まれてはじめて英語の原著でLispの勉強始めた。正確に言うとSchemeになるけど。The little Schemerだから。
ネットにpdfあったから無料。
396デフォルトの名無しさん:2014/03/26(水) 17:40:18.04 ID:rDn7FARN
>>395
勉強になりました、、
、、、てかもうすこしはやく知りたかった

なぜなら 先 週 買 っ た か ら で す
397デフォルトの名無しさん:2014/03/26(水) 17:47:39.26 ID:qc7W1WNa
でも紙のほうが頭に入りやすい気がする
398デフォルトの名無しさん:2014/03/26(水) 18:02:01.95 ID:qHAM3H0L
PDF あるにはあるけど違法ではないかと
399デフォルトの名無しさん:2014/03/26(水) 19:26:25.73 ID:mQCSkEUS
公式ページにサンプルしか置いてない以上、全文が上がってるんだとしたらたぶん不法に流通してるものだな。
http://www.ccs.neu.edu/home/matthias/BTLS/
400デフォルトの名無しさん:2014/03/26(水) 19:52:21.21 ID:6UDaHe6u
続編のThe seasoned schemer
もpdfあった。
401デフォルトの名無しさん:2014/03/26(水) 21:39:03.67 ID:jz/5iWBa
だから違法アップロードものでしょ。
日本人ならちゃんと買って読めよ。支那チョンなら好きにしろ。
402デフォルトの名無しさん:2014/03/26(水) 21:42:08.64 ID:FbuvqMDP
てめぇはν速に帰れウヨ
403デフォルトの名無しさん:2014/03/26(水) 21:47:18.84 ID:rDn7FARN
旧速が常勝軍と言われたのは今は昔の話
404デフォルトの名無しさん:2014/03/26(水) 23:06:05.95 ID:6UDaHe6u
>>401
ばかか?
405デフォルトの名無しさん:2014/03/28(金) 00:56:39.37 ID:xjbmATUr
>>401
というか、なんか、オンラインのバージョン管理システムで原稿管理してるっぽい
406デフォルトの名無しさん:2014/03/28(金) 15:34:37.22 ID:H/L8+fyB
The Little Schemer 楽しいから終えたら
続編やろっと
pdfで!
407デフォルトの名無しさん:2014/03/28(金) 17:29:44.00 ID:uw+zS2xj
Functional programming - Bodil Stokke
https://www.youtube.com/watch?v=DHubfS8E--o

( ゚∀゚)o彡°
408デフォルトの名無しさん:2014/03/28(金) 21:47:52.46 ID:xjbmATUr
    /    ||    :ヽ
   ┌|(⌒ヽ :|| ..:⌒: |┐  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |::|::ヽ.__:):||(___ノ ::|::|  │ 
    |:|: ..   :||    .. |:|  │ 
    :|: ..   ||    ..|| < 日本語でおk 
     :\ [_ ̄] /::|    │ 
::     |\|_|_|_|_/:::|     \_______
409デフォルトの名無しさん:2014/03/28(金) 23:46:55.98 ID:b6Yp0O/0
all your base はある意味日本語
410デフォルトの名無しさん:2014/03/28(金) 23:51:57.23 ID:+JurWiOK
弱点を無くす、とか言いながら
他の言語によくある、「無」 (つまり nil) が無いのは何故?
411デフォルトの名無しさん:2014/03/28(金) 23:54:28.31 ID:beMC8OFd
Scheme の話?
#f と空リストがあればいらなくね?
412デフォルトの名無しさん:2014/03/29(土) 01:09:24.04 ID:fba0LB8w
空リストは実質的に nil だろ。
(ブール値としての) 偽値とリスト終端を兼任させるのは逆に「区別できない」という弱点になりうるので、
そりゃどっちもどっちな話だ
413デフォルトの名無しさん:2014/03/29(土) 03:00:11.41 ID:uWZyJxpN
https://twitter.com/anti_reptilian/status/449602020740042752
ネトウヨってこういう人が連投してるだけでしょ
414デフォルトの名無しさん:2014/03/29(土) 06:29:15.26 ID:MK8gph4C
>>412
In 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"
415デフォルトの名無しさん:2014/03/29(土) 07:03:45.87 ID:0d+qMQSz
誰かなんでcdrのエラー値がリストとして正当なnilなのかという疑問を晴らしてください
416デフォルトの名無しさん:2014/03/29(土) 07:12:06.65 ID:vwiiB6uc
CL は実用的な言語だから仕方ない
417デフォルトの名無しさん:2014/03/29(土) 10:29:40.20 ID:inM1A1mw
>>415
互換性。
初期のLispは未定義値も例外もないからnil返すのが妥当だった。
418デフォルトの名無しさん:2014/03/29(土) 10:51:41.38 ID:46qVoWdl
>>415
(setq a 123)
(cdr a) → nil
のことを言っているなら、そもそも
「リストとして正当なnil」
というところで既に誤解している

そもそも関数cdrが返す値は、あくまでCell(コンスセル)のcdr部であって、
上の例では
「そもそもaはatomでセルじゃないから、そのcdr部が??ポイントするものはなーに?って聞かれてもatomにはcdr部なんてないから答えようがない。
あえていば、ナッシング、無。あえていえばnilやな」
となる。
セルを隠蔽して、あくまでatomとリストの世界でモノを考え、「関数cdrは空でないリストの最初のエレメントを除いだリスト」
とだけ考えると、貴方の疑問が可能となる。
419デフォルトの名無しさん:2014/04/08(火) 02:46:09.00 ID:1cdjmKJQ
maximaをSchemeで書き直して
scmxlateで変換すれば
Common LispでもSchemeでも動く様になってくれると
最高なんだけどなあ
420デフォルトの名無しさん:2014/04/09(水) 14:19:02.78 ID:Ih8FRvRW
はあ?
421デフォルトの名無しさん:2014/04/09(水) 15:49:58.58 ID:8Qwhleoh
そうか。
422デフォルトの名無しさん:2014/04/14(月) 13:15:10.65 ID:qFq6vkYD
The Little Schemerの
8. Lambda the Ultimateではじめて唸った

(lambda (a)
(lambda (x)
(eq? x a)))

勉強中
423デフォルトの名無しさん:2014/04/15(火) 00:58:57.97 ID:IvMsNS0c
そっかー
424デフォルトの名無しさん:2014/04/17(木) 08:40:22.37 ID:cixn2QI+
LISP最強と言うけれども量子コンピュータができても生き残れるのか
425デフォルトの名無しさん:2014/04/17(木) 08:43:24.36 ID:8uAQ9CHy
そういうことは出来てから言えよ
426デフォルトの名無しさん:2014/04/17(木) 15:51:45.01 ID:1P5IhohW
むしろ生き残れない理由が知りたい
427デフォルトの名無しさん:2014/04/17(木) 17:28:03.75 ID:cixn2QI+
理由がわからんからきいてる
怖くないか最強無敵のLISPが未知の概念に対応できるかどうか
428デフォルトの名無しさん:2014/04/17(木) 17:33:28.05 ID:xMLxyHMV
Made with secret alien technologyだし大丈夫じゃね?
429デフォルトの名無しさん:2014/04/17(木) 20:19:40.16 ID:+OQSf6mC
なんでLispが最強なのか、まだサッパリわからない。
来年には、どういう意味合いでなのか、薄っすらとでもわかるようになるかな。
ただいまLisp勉強はじめて三ヶ月
430デフォルトの名無しさん:2014/04/17(木) 20:27:13.11 ID:1P5IhohW
Lispは最強だが
Lispを扱う人間が最強かどうかは定かでない
431デフォルトの名無しさん:2014/04/17(木) 22:03:21.80 ID:TxAQxinM
量子コンピュータのプログラミングなんて何も特別な事はないんだが
432デフォルトの名無しさん:2014/04/17(木) 22:05:50.49 ID:HKdaCoDt
>>431
そうなのか
全くの無知やからワクワクと不安でいっぱいぜよ
433デフォルトの名無しさん:2014/04/17(木) 22:28:15.12 ID:5Km4hEuY
>>431
回路レベルでは違うけどプログラムレベルのレイヤーだと大して変わらないってこと?
434デフォルトの名無しさん:2014/04/17(木) 23:17:27.20 ID:e08dT8mN
そう。
435デフォルトの名無しさん:2014/04/18(金) 00:50:00.23 ID:A05FtQ62
>>429
文法が簡単。古典AIの資料が腐るほどある。
436デフォルトの名無しさん:2014/04/18(金) 01:20:06.05 ID:PJ4Eb5kS
と言うより全ての言語の機能をlisp自身で付けられるからだと思う
437デフォルトの名無しさん:2014/04/18(金) 01:53:21.63 ID:iH+c/XUg
そっかー
438デフォルトの名無しさん:2014/04/18(金) 09:29:23.24 ID:iH+c/XUg
今でこそ Lisp といえば Common Lisp か Scheme ってのが大多数を締めてるけど、
古典 AI がどうのとか言ってる時代はバリエーション多くないか。
LISP って名前が付いててもぜんぜん違うものだぞ。
439デフォルトの名無しさん:2014/04/18(金) 11:44:56.62 ID:jy9eGr35
いかにLispについての認識が浅かったをジワジワ感じられる地点に来つつある。
さてと勉強しよ
440デフォルトの名無しさん:2014/04/18(金) 14:23:59.13 ID:CQ8lxphP
on lispとsicp読んでみたら両方共翻訳が公開されてるよ
441デフォルトの名無しさん:2014/04/18(金) 14:58:08.76 ID:jy9eGr35
Kindleで正規に読めるLand of Lispから読むことにした。単語帳に自動的に引用元の文が例文として登録されるのがなにげに便利だから。
Lisp本としての本質にまるで関係ない点から選んだ
On Lispはその次に読む予定
442デフォルトの名無しさん:2014/04/18(金) 16:09:37.74 ID:pUaDb9PY
LOL買ってみたけど、SchemerでCLを全然知らん俺にはあまり参考にならなかった
443デフォルトの名無しさん:2014/04/18(金) 17:21:29.29 ID:6FER7CaJ
LO?(老眼)
444デフォルトの名無しさん:2014/04/18(金) 22:06:11.91 ID:8ujbeqxW
Let Over Lambda?
445デフォルトの名無しさん:2014/04/18(金) 22:46:40.29 ID:dS+HYR5/
てs
446デフォルトの名無しさん:2014/04/19(土) 06:16:55.47 ID:wA6wuBBt
くじらっくすLisp
447デフォルトの名無しさん:2014/04/19(土) 15:13:08.18 ID:76jJl3rx
Common Lisp のパッケージの概念の起源がいつごろかわかる人いる?

「の」が多くてごめん
448デフォルトの名無しさん:2014/04/19(土) 16:58:13.94 ID:2RFrAk6Q
>>447
interlispじゃねぇの?
449デフォルトの名無しさん:2014/04/19(土) 18:56:02.29 ID:2TBNSLSb
CLtLにLisp Machine Lispの初期のパッケージシステム由来と書いてあるよー。
http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node111.html
Symbolicsとかに分家する前のやつなんじゃないのかねえ。
450デフォルトの名無しさん:2014/04/19(土) 19:43:32.23 ID:76jJl3rx
>>449
さんくす 今半分読んだ
451デフォルトの名無しさん:2014/04/20(日) 00:29:50.81 ID:u8Pdqoqb
竹内さんの初めての人のためのLISPよんでるけど、
cellってcar cdr全体のこと言うんだね
schemeでいうpair = cellってとこか
でもggるとcons cellsとでるんだけど
452デフォルトの名無しさん:2014/04/20(日) 00:33:31.85 ID:aSdpQmIh
>>451
それはペア (cell) がいくつもある文脈でそういってるだけじゃないのか
453デフォルトの名無しさん:2014/04/20(日) 00:40:39.45 ID:u8Pdqoqb
>>452
そもそもどうなんだ
consってconstructのことだよね
construct cellsだとするとsついたほうがいいような


、、、んーわからん
454デフォルトの名無しさん:2014/04/20(日) 03:33:18.03 ID:zNVx4BWX
そういう枝葉末節に引っかかる奴は
プログラミングに向かない
455デフォルトの名無しさん:2014/04/20(日) 03:47:19.02 ID: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は
リスト表現以外にもドット対表現でも可能なわけだ
456デフォルトの名無しさん:2014/04/20(日) 11:27:53.52 ID:ikGZm3gS
単なる英語力の問題。lisp理解関係ない。
457デフォルトの名無しさん:2014/04/20(日) 11:48:17.35 ID:28NNVwXQ
甘い認識乙
458デフォルトの名無しさん:2014/04/20(日) 11:53:18.33 ID:ikGZm3gS
馬鹿な認識乙
459デフォルトの名無しさん:2014/04/20(日) 11:54:48.12 ID:28NNVwXQ
>>458
わはは
読解力の無さを露呈しているな
460デフォルトの名無しさん:2014/04/20(日) 13:00:57.53 ID:7dKQJ8NV
clispのfunction-lambda-expression
と同じ事をschemeでやりたいのですが
srfiあたりに似た事できるのが既にあったりしないのでしょうか
defineをマクロで再定義すればいけるだろうとは思うのですが
461デフォルトの名無しさん:2014/04/20(日) 14:11:23.06 ID:guzw5huQ
defineを定義しなおせば3つめの返値はなんとかなるだろうけど、
2つめが厳しいな。
462デフォルトの名無しさん:2014/04/23(水) 16:06:40.59 ID:PddiTBOJ
今日は体力切れた
勉強はお休み
463デフォルトの名無しさん:2014/04/23(水) 20:36:18.69 ID:yzmxmTm6
勉強報告スレ
464デフォルトの名無しさん:2014/04/24(木) 11:40:16.99 ID:V7HoJaA9
関数を返す関数の意味がわかってきた
465デフォルトの名無しさん:2014/04/24(木) 12:40:42.70 ID:xanOnoSn
そうか。
466デフォルトの名無しさん:2014/04/24(木) 17:31:00.84 ID:YIGqqLyp
女はいないけど俺にはLispがある
どや!
どやどや!
467デフォルトの名無しさん:2014/04/24(木) 17:57:01.46 ID:tfK4iZJQ
バブルの時代で女に持ってた幻想がソゲブである

抱くのは好きでも一緒にいたくねぇ
468デフォルトの名無しさん:2014/04/25(金) 08:48:36.06 ID:xiFjVo8G
JITコンパイラが何でCより高速になる場合があるのかわかったけど
コンパイル時にテスト実行を追加したら同じなんじゃないの?
469デフォルトの名無しさん:2014/04/25(金) 09:47:11.21 ID:xiFjVo8G
コンパイラ最適化の論文読んでるのですが
domain theory
について手っ取り早く理解できる出来れば日本語の教科書ってないものなのでしょうか
470デフォルトの名無しさん:2014/04/25(金) 17:43:39.16 ID:991UJ/F9
>>468
本番よりいいテストなんてない。
コンパイル時はVLIW向けコンパイラがさんざん試した。
>>469
プログラム意味論 (情報数学講座)
横内 寛文
www.amazon.co.jp/dp/4320026578
471デフォルトの名無しさん:2014/04/25(金) 17:47:38.33 ID:HBYRTU1F
横だけどその本て圏論の理解に役立つ?
472デフォルトの名無しさん:2014/04/25(金) 18:00:39.78 ID:4fGC8eBc
そりゃ結構長い章が圏論の基礎に割り当てられてるから。
ただこの手の本は腰を落ち着けてちゃんと取り組まないと意味ない。
473デフォルトの名無しさん:2014/04/25(金) 19:34:18.41 ID:HBYRTU1F
トンクス
カルテシアン閉カテゴリってのが圏なのかな。
ちらっと眺めたけどほとんど数学書ですよね。
474デフォルトの名無しさん:2014/04/25(金) 20:12:25.64 ID:+TF8D1gC
CCCは圏(カテゴリ)の一種です。
代数の教養がないと読みきるのは難しいと思います。

カテゴリー理論とプログラミング : カルテシアン閉カテゴリー (<特集>関数型プログラミングと計算の基礎)
http://ci.nii.ac.jp/naid/110003743607
475デフォルトの名無しさん:2014/04/26(土) 00:07:12.99 ID:K0Skm6fw
代数って線形代数ならチョロっと習ったくらいなので自信無いな。
具体的にどんな分野を基礎としているのですか?
476デフォルトの名無しさん:2014/04/26(土) 00:23:08.27 ID:4Xi6PaOs
>>474のPDF読んでみて。
カテゴリの例が載ってるから。
477デフォルトの名無しさん:2014/04/26(土) 00:43:02.88 ID:dHCQW8E5
>>468
AOTでも実行時のプロファイルを元に最適化はできるけど、JITだと最適化に使える情報が多いとかあったはず。
http://www.slideshare.net/nothingcosmos/x86opti01-nothingcosmos-8784128
478デフォルトの名無しさん:2014/04/26(土) 00:48:27.17 ID:hzi1Thvz
>>477
JITは実行時情報が豊富なんだけど実際作ると感じるのはやり過ぎると短い寿命のコードの実行速度が遅くなっちゃうんだよね(R3000系のCPUでしかやってないけど)
serverみたいなずっと生きてるコードには凄くよいけど、それでも起動からしばらくは重かったりする。
479デフォルトの名無しさん:2014/04/26(土) 16:52:41.74 ID:dP8sDYOv
クロージャー勉強してるんだけど

http://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)>
になってるんだけどなぜ?
これは同義と捉えていいの?
480デフォルトの名無しさん:2014/04/26(土) 17:15:15.03 ID:jZcKCXUi
>>476
ありがとうございます。読んでみます。
481デフォルトの名無しさん:2014/04/27(日) 05:09:27.05 ID:q6Uao33G
>>479
気にしなくていいよ。処理系に依存した表示になっているだけ。
482デフォルトの名無しさん:2014/04/27(日) 05:12:40.19 ID:DNn8Q/L1
>>479
俺と殆ど同じ勉強の最中だな
俺はThe Little Schenerの
8. Lambda the Ultimate
でやってるが
483デフォルトの名無しさん:2014/04/27(日) 18:08:32.31 ID:dkXr/W0v
readしても同じオブジェクトにはならないから、
規格で定義してなくて処理系依存。
484デフォルトの名無しさん:2014/04/27(日) 21:58:20.13 ID:eoTYk+57
>>479 です
らじゃです ありがとうございます
485デフォルトの名無しさん:2014/04/27(日) 22:13:35.79 ID:hRm/4Rx6
普段はRacket使ってるんだけど
emacs lisp
でちょっと手の込んだプログラム作ったら
謎な挙動多すぎて
うんざり
Racketの素晴らしさを再認識した
486デフォルトの名無しさん:2014/04/27(日) 22:14:45.90 ID:dkXr/W0v
自分の未熟さを棚に上げるお前にうんざり。
487デフォルトの名無しさん:2014/04/27(日) 22:15:58.15 ID:Tn6VwyBz
lisp-1とlisp-2の違いで引っかかったんだろ
488デフォルトの名無しさん:2014/04/27(日) 22:25:31.71 ID:r8KdhOJG
スコープの違いじゃね
489デフォルトの名無しさん:2014/04/27(日) 22:41:52.46 ID:q6Uao33G
Typed Racket どうなん?実用的?それともまだおもちゃ?
490デフォルトの名無しさん:2014/04/27(日) 23:01:05.08 ID:xdZ6Vmhj
現時点では最適化に生かされるわけでもなく、
assert 入れるかわりくらいのシロモノ
491デフォルトの名無しさん:2014/04/27(日) 23:09:55.79 ID:UfbRwhMl
RMSはCLでemacs組み直せよ。
492デフォルトの名無しさん:2014/04/27(日) 23:11:35.56 ID:dRMpu4rZ
>>491
つxyzzy
493デフォルトの名無しさん:2014/04/27(日) 23:19:35.81 ID:J+hFW2BD
Emacs Lisp も、こないだ静的スコープになったとかいう話が無かったっけ?
494デフォルトの名無しさん:2014/04/27(日) 23:22:12.82 ID:xdZ6Vmhj
静的スコープの機能が導入されたってだけで、全てが置換えられたというわけではない。
495デフォルトの名無しさん:2014/04/27(日) 23:30:00.86 ID:dkXr/W0v
キーボd-対話で大域脱出が多発するelispでは動的スコープがないと不便。
ローカル変数で*variable-name*を上書きして動作変えたり。
いちいちuwinde-protectで後始末するとか面倒すぎる。
496デフォルトの名無しさん:2014/04/28(月) 00:03:53.12 ID:/t06Ophp
>>495の言ってる事がわけわからないんだけど
デフォルトがレキシカルスコープだと本当にこまるのか?
497デフォルトの名無しさん:2014/04/28(月) 00:18:15.90 ID:ya4xYLdw
つ ないと不便
498デフォルトの名無しさん:2014/04/28(月) 00:25:19.52 ID:XZDH340r
まぁ膨大な量に既存のコードをいきなり変えるわけにもいかんからな。
499デフォルトの名無しさん:2014/04/28(月) 09:19:56.82 ID:8S7K1sXu
動的スコープでないと不便ってそれこそ未熟
とまでは言わんが反射的に噛み付くのは犬だな
500デフォルトの名無しさん:2014/04/28(月) 09:35:35.59 ID:CuLw9jaa
>>489
普通の Racket よりコンパイル時間がかなり延びて不便
501デフォルトの名無しさん:2014/04/28(月) 10:06:48.35 ID:mheEU0a2
関数を渡す関数の勉強が終わったら、今度は継続だ。
まいっチング
ふぅー、頑張るしかない
502デフォルトの名無しさん:2014/04/28(月) 11:04:59.49 ID:XZDH340r
頑張るんじゃなくて楽しめ。
503デフォルトの名無しさん:2014/04/28(月) 11:23:15.86 ID:k+aW12Iq
今日はレスが多いですね
504デフォルトの名無しさん:2014/04/28(月) 17:20:21.15 ID:mheEU0a2
>>502
なんか楽しめそうな教材、ねっとでみつけたわ
505デフォルトの名無しさん:2014/04/28(月) 18:10:13.40 ID:k+aW12Iq
>>504
kwsk
506デフォルトの名無しさん:2014/04/29(火) 10:19:06.23 ID:TDR4lejK
507デフォルトの名無しさん:2014/04/29(火) 10:24:50.85 ID:TDR4lejK
>>506
on lisp url間違えた
508はちみつ餃子 ◆8X2XSCHEME :2014/04/29(火) 11:35:41.31 ID:jwcfIzOB
SICPが復刊らしいよ。
http://books.shoeisha.co.jp/book/b177731.html
509デフォルトの名無しさん:2014/04/29(火) 12:00:24.86 ID:2ahvypeX
>>508
いや復刊より訳をなんとかしてほしい
510デフォルトの名無しさん:2014/04/29(火) 14:14:09.66 ID:fqLJb+0P
511はちみつ餃子 ◆8X2XSCHEME :2014/04/29(火) 16:26:14.92 ID:jwcfIzOB
>>510
それは現時点では和田訳より悪いという意見もあるけど、
長い文を分割するとかして意訳寄りになってるので、
これから地道に改善すれば日本語としては和田訳より自然になるかもしれない。

和田氏の訳は変に翻訳調の言い回しがあったりすることに違和感を感じてる人が多いみたいだけど、
ちょっと古い専門書を読むと割とこんな感じなので昔のノリで訳しただけなんじゃないのか。
和田氏は確かな業績と能力のある人ではあるんだろうけど、
俺らとは世代がだいぶん違うのは如何ともしがたい。
512デフォルトの名無しさん:2014/04/29(火) 16:49:40.43 ID:fqLJb+0P
そっちは、気になるところあったらまとめて、pullリクだして、直したらいいかもしれない。
513デフォルトの名無しさん:2014/04/29(火) 17:34:42.54 ID:gtL4c7jL
自分で処理系作ってみたいんだけど参考になるCの実装ない?
規模が小さいくてできればCommon Lisp系統のもので
514 ◆QZaw55cn4c :2014/04/29(火) 18:34:35.13 ID:YSaKMYqx
515デフォルトの名無しさん:2014/04/29(火) 18:45:12.73 ID:gtL4c7jL
>>514
高けぇえええええええええええええええ

ありがたいけど 高杉っす
516デフォルトの名無しさん:2014/04/29(火) 18:48:19.27 ID:rYkmdeg9
>>514
折れも買おうかなぁー
と思ったが高杉晋作やぁ
アスキー出版で一万かい!
517はちみつ餃子 ◆8X2XSCHEME :2014/04/29(火) 22:41:24.48 ID:jwcfIzOB
>>513
github で検索すればどうか
518デフォルトの名無しさん:2014/04/29(火) 22:57:55.92 ID:fqLJb+0P
tiny lispなりで検索すればいいと思う
http://en.wikipedia.org/wiki/Common_Lisp
メジャー実装のところだとECLがコンパクト?
519デフォルトの名無しさん:2014/04/30(水) 01:19:19.55 ID:AJjFNnEv
和田訳は翻訳調で読みずらいだけでなく
訳自体が間違っているから
>>511
みたく読み手のせいにする擁護が多いけど
520デフォルトの名無しさん:2014/04/30(水) 01:37:57.04 ID:siFhOvJB
>>519
>訳自体が間違っているから

具体的にはどの箇所よ?
521デフォルトの名無しさん:2014/04/30(水) 01:44:09.50 ID:UV9ek+Es
ググれよ
多すぎていちいち指摘できんだろ
522デフォルトの名無しさん:2014/04/30(水) 02:14:41.14 ID:siFhOvJB
具体的なソースは示せないってことね
URLを1つ書くだけのことなのに
523デフォルトの名無しさん:2014/04/30(水) 02:17:31.89 ID:lrSzZ8qN
そもそも日本語が意味不明すぎて
正しいのか間違っているのか判別できない
524デフォルトの名無しさん:2014/04/30(水) 02:25:07.80 ID:9dpec+mq
>>523
これ書かれる度に思うのだが、日本語読解力が足りなくて補完できていない分はどれほどあるんだろうか?
525デフォルトの名無しさん:2014/04/30(水) 02:36:47.10 ID:lrSzZ8qN
日本語能力が足りないのは訳した人間だろ
読み手のせいにするな
526デフォルトの名無しさん:2014/04/30(水) 02:46:59.64 ID:Uuvf5zxf
根本的にSICPは簡潔に書かれているのであって平易に書かれているわけじゃない。
日本語訳の文章が意味不明だと思う奴は結局のところSICPの解説書を欲しているのであって
SICPそのものの自力読破はできない手合いだろうよ。
誤訳は実際あるにせよ、それが問題になるほど本当にお前は本分を読んでいるのか?
527デフォルトの名無しさん:2014/04/30(水) 02:53:28.76 ID:e2ylKwN0
SICP日本語版が読めるっていう人は
意味不明な文章を既存の知識で補って読んでいるんだろうな
そういう知識のない人には読むのは無理な本
528デフォルトの名無しさん:2014/04/30(水) 03:04:22.36 ID:9dpec+mq
>>527
そんな言い方したら学術書読みたいパンピー全滅じゃないですか〜
529デフォルトの名無しさん:2014/04/30(水) 03:04:34.77 ID:Uuvf5zxf
翻訳ってのは、原著に書かれていないことまで(訳注を超えて)勝手に割り増しすることじゃないからな。

SICPの最初の一文を和田訳と原著で見比べて、ついでにそこを自分なりに和訳を試みてみるがいいさ。
プログラムというたった一単語の奥深さを、"program"という一単語の意味を正確に理解しているわけではない
日本人相手にどうやって伝えれば良いのか身悶えるがいい
530デフォルトの名無しさん:2014/04/30(水) 03:05:05.60 ID:siFhOvJB
SICP日本語版を批判しているのは、プライドが高くて
理解できない理由が己の技量不足とは認めたくないから、
それを翻訳のせいにしているだけ


で、しばらく待ってみたけど、結局のところ
>>519,521はソース無しに批判してただけなのね
531デフォルトの名無しさん:2014/04/30(水) 03:15:55.45 ID:e2ylKwN0
>>530
もう3時だぞ
はやく寝ろよ
532デフォルトの名無しさん:2014/04/30(水) 03:18:30.42 ID:e2ylKwN0
>>529
空想がすぎて割り増しとか書いちゃってるよ
単純に和田の英語力が低いだけだろ
533デフォルトの名無しさん:2014/04/30(水) 03:19:03.48 ID:e2ylKwN0
身悶えるがいいwww
534デフォルトの名無しさん:2014/04/30(水) 03:26:35.58 ID:Uuvf5zxf
で、>>532にあの一文を翻訳できるのか?
ここで和田訳の日本語を批判してる面子の批評に耐えられるレベルの品質で
535デフォルトの名無しさん:2014/04/30(水) 03:31:11.18 ID:e2ylKwN0
和田訳は一文だけじゃなくて
全般的におかしいだろ
536デフォルトの名無しさん:2014/04/30(水) 06:30:51.85 ID:r69v9/KD
とごでも、いいから典型的なヶ所出し欲しいな
「ここ、、変でしょ?和田さん!」
の部分
事例ゼロで話が進むんじゃ
馬鹿だけど頭良さげに振る舞うドアホみたいだし
537デフォルトの名無しさん:2014/04/30(水) 06:31:41.21 ID:r69v9/KD
× とごでも
○ どこでも
538デフォルトの名無しさん:2014/04/30(水) 10:36:08.25 ID:M/3n2T6Z
教本なんだから要は同じ内容を同じように理解できるかが主目的
訳の正確さは文学でやって、どうぞ
539デフォルトの名無しさん:2014/04/30(水) 10:47:43.02 ID:5Jam0SwU
むしろ文学でこそ意訳は許されるが、技術書では可能な限り「そのままの」訳が求められるだろ
540デフォルトの名無しさん:2014/04/30(水) 10:59:08.96 ID:ZnZNlRvV
さっさと原書読めば良いのに
541デフォルトの名無しさん:2014/04/30(水) 11:04:25.71 ID:9dpec+mq
>>540
俺もそう思う、訳が駄目とか言える位英文読解力あるんだから素直に原文読んで学習すればいいのにって。
542デフォルトの名無しさん:2014/04/30(水) 11:06:04.00 ID:9dpec+mq
専門すれ有るのでそっちでやるのが良いと今頃思った、ごめん
【SICP】計算機プログラムの構造と解釈 Part3
http://toro.2ch.net/test/read.cgi/tech/1333015632/
543デフォルトの名無しさん:2014/04/30(水) 11:29:27.72 ID:AhPxt9k+
マルチになるなあ
ま、いいか

今日、Kindleにsicp.mobi入れた
日本語訳のpdfも見たが、英文見たあとでないと意味よくわからん
英文主体で読む方がよさげ
悪名高い書籍版翻訳は見たことないが
さっさと英文で読めばいいのに

英文読めない人は
ラジオ講座で英語を勉強すれはいいのに
544デフォルトの名無しさん:2014/04/30(水) 14:11:35.73 ID:DGQRHbLE
結論は毎回それだ、というかそれしかない

俺も訳は見てないからどっちの味方もできないけどね
545デフォルトの名無しさん:2014/04/30(水) 20:02:24.78 ID:3Nbw0XIM
翻訳に問題があるのは前書きの部分だろ。
あれは格調高いとかそういうった類のものではなく、日本語になってない。
本文は別に言うほど酷い訳とも思わない。
546デフォルトの名無しさん:2014/04/30(水) 20:52:45.20 ID:TRwZwwSE
そのパターンもあったな
547デフォルトの名無しさん:2014/04/30(水) 23:07:09.38 ID:6mHWhLZ9
あの前書きは酷いよ。
548デフォルトの名無しさん:2014/05/01(木) 13:00:02.79 ID:wvUyzZ5h
今日、プログラミングGaushe届いた
字が小さい!
文体硬い!

お蔵入り決定!
次の一冊はSchemeでやりたかったけどLand of Lispに変更!
549デフォルトの名無しさん:2014/05/01(木) 13:56:05.53 ID:y6DqgIHn
プログラミング Gauche は Land of Lisp みたいにはっちゃけてはないけど、ヌルめの入門書だぞ。
お前はどんだけゆとりや。
550デフォルトの名無しさん:2014/05/01(木) 14:06:21.09 ID:wvUyzZ5h
>>549
ばかなの?
内容についてはのぺてない

字がちいさい
文体硬い

読めたかなあ
551デフォルトの名無しさん:2014/05/01(木) 15:13:01.25 ID:SvwoWGfY
>>550
文字が小さいのは同意するが文体固いか?
Land of Lispとくらべたらそりゃそうかもしれんけど。
ちなみに文字が小さい件はebook版で解消可能かと思っていたのだがPDF版しか出てないとかいう事実の前にオライリー死ねとマジで思う。
(文庫本サイズなら紙で買って自炊で済むがA4だとどもならん>>文字の大きさ)

全然関係無いけど Let over Lambdaと Land of LispってどっちもLOLになって困る
552デフォルトの名無しさん:2014/05/01(木) 15:31:26.57 ID:C9mG8jmV
LOL と LoL
553デフォルトの名無しさん:2014/05/01(木) 16:03:38.88 ID:dDPxjZND
Scheme版出てたと思うけど翻訳するかな?
554デフォルトの名無しさん:2014/05/01(木) 16:36:08.48 ID:sAhQchW3
>>553
おお、情報サンクス、見つけた
555デフォルトの名無しさん:2014/05/01(木) 17:07:08.47 ID:J2x9Tr8u
オライリーの本は皆あんなもんだろ、文字サイズ
556デフォルトの名無しさん:2014/05/01(木) 17:19:28.04 ID:wvUyzZ5h
>>555
おお!LOL、Kindle版の原著しか見てなかったが、書棚のオライリー日本語訳みてみたら

字ちっちゃい!

ありがとう、Kindle
557デフォルトの名無しさん:2014/05/02(金) 15:42:49.86 ID:bB8cQOyy
プログラムのお題スレ、
LispもSchemeも俺しか書いてないなあ
ここの常連エキスパートにはアホらしいほど簡単なのかな
プログラム初心者でLisp初心者の俺には楽しい挑戦だけど

あ、ここな

プログラミングのお題スレ Part3
http://toro.2ch.net/test/read.cgi/tech/1390525149/
558デフォルトの名無しさん:2014/05/02(金) 20:21:34.11 ID:+OHeQQwC
おれはどう書く.orgの復活待ってるし
559デフォルトの名無しさん:2014/05/02(金) 21:24:46.44 ID:+OHeQQwC
と思ったけど問題見てみた ちょっと偏ってるかな
560デフォルトの名無しさん:2014/05/02(金) 22:31:02.27 ID:uljkUnkD
>>557
C で lisp を書いてるやつがいないか?
561デフォルトの名無しさん:2014/05/03(土) 00:32:12.60 ID:NUTNzwaZ
UFC 128 - エリック・コク vs. ハファエル・アスンサオ
https://www.youtube.com/watch?v=n2CcU1A1i-0

UFC 134 - エリック・シウバ vs. ルイス・ラモス
https://www.youtube.com/watch?v=x25xIpNmhCo
562デフォルトの名無しさん:2014/05/03(土) 06:33:31.13 ID:QORqD0QR
初心者な俺の感想
mapchar/mapはお便利だけど
それって小学生が方程式で安易に解を求めるようなものに思える(げ、昔の俺)
俺みたいな初心者はmap無しで地力を養うべきだな

お題スレでのClosure例見ての感想
563デフォルトの名無しさん:2014/05/03(土) 06:34:42.05 ID:vaFKFtfV
>>562
あ、理由は簡単にできちゃうから
苦労して楽しむ
564デフォルトの名無しさん:2014/05/03(土) 07:43:43.36 ID:a//LJ5TF
>>563
自分でmapやらを定義してみたら?
それはちょっと違うのか?
565デフォルトの名無しさん:2014/05/03(土) 09:40:36.46 ID:TqtYx4K6
えーとこれは忠告しても聞かないパターンだな
566デフォルトの名無しさん:2014/05/03(土) 09:47:30.35 ID:0ml3APIc
>>562
スレの636のclojure?
というか高階関数使わないでやる方がお題を解く言語選定の時点で間違いじゃないの?
567デフォルトの名無しさん:2014/05/03(土) 09:53:19.54 ID:M/qDYqCt
本当の初心者の内はそれもありかもしれんと思うけど、
さすがに map くらいに自明なものから再構築するのはどうかな。
まあ程度問題だわな。
568デフォルトの名無しさん:2014/05/03(土) 12:58:43.52 ID:s/rfVMUD
もう最小lisp作って勝手にやっとけよって感じ
569デフォルトの名無しさん:2014/05/03(土) 13:00:58.42 ID:6HBqu3y5
Cちょっと習った人がアセンブラに憧れるパターンに似てる
570デフォルトの名無しさん:2014/05/03(土) 14:04:53.47 ID:SFocP469
>>564
あ、そういうのは楽しいね
571デフォルトの名無しさん:2014/05/03(土) 14:05:46.92 ID:SFocP469
>>569
君、馬鹿すぎ!
572デフォルトの名無しさん:2014/05/03(土) 14:25:28.92 ID:f9gYWlLv
open-output-fileとか、既にファイルが有る場合の動作が未定義なんだけど
ファイルを上書きしたい場合とか、どうすれば良いの?
573デフォルトの名無しさん:2014/05/03(土) 14:53:50.28 ID:M/qDYqCt
>>572
常に delete-file で消すしかあるまい。
574デフォルトの名無しさん:2014/05/03(土) 15:17:27.30 ID:y1bmFmyi
処理系依存でいいじゃん
575デフォルトの名無しさん:2014/05/03(土) 15:25:30.57 ID:M/qDYqCt
R6RS を使おう!
576デフォルトの名無しさん:2014/05/03(土) 16:56:06.49 ID:f9gYWlLv
やっぱり処理系依存しかないのね

それはそうと、r6rsは上書きもできるしバイナリも扱えるし、実用的な規格だな
577デフォルトの名無しさん:2014/05/03(土) 21:36:26.99 ID:M/qDYqCt
>>576
R6RS だと追加書込みモードが無いぞ。
方向性としては良いけど細かいところに不備多くて、
結局は処理系依存の機能を使うことになるので、
R6RS だから良いというわけでもない。
578デフォルトの名無しさん:2014/05/03(土) 22:03:05.29 ID:yPk99aCV
RNRSの人たちは、真面目にハイパースペック読んでないんじゃね?
579デフォルトの名無しさん:2014/05/03(土) 22:21:52.75 ID:M/qDYqCt
決定されたことに不満があるならともかく、
盛り込まれなかったこと、決定されなかったことは
まだ議論が足りないと判断したから先送りしたのかも。
580はちみつ餃子 ◆8X2XSCHEME :2014/05/04(日) 00:46:15.20 ID:uzMRkq8y
ファイルの追加書込みモードを仕様に追加するならモード全般の扱いについて一般化したがるのが Scheme クオリティ。
R6RS でもモードについては微妙にまとめきれてない感があるので、一旦更地にして議論しなおすべきだな。
581デフォルトの名無しさん:2014/05/04(日) 03:59:47.91 ID:rOCS2Efp
Ocamlの Frama-c に対応するのって
Lispでは何になるのでしょうか
582はちみつ餃子 ◆8X2XSCHEME :2014/05/04(日) 04:21:42.69 ID:uzMRkq8y
対応するようなって言ってもな…。
静的解析全般をやれるようなツールってこと?
583デフォルトの名無しさん:2014/05/05(月) 16:53:18.53 ID:wP+UVhzo
俺も某分野ではかなり頭の良いほうなんだが、
数学や記号処理のアルゴリズムのセンスは
ほんの少し出来る程度
なんだなあ

なに?文系もろだしだって?
どひゃひゃ

でも、稼いだのはプログラム関連で三億はいったんだぞ
ま、稼げるのと頭がよいのは違うんだがな
584デフォルトの名無しさん:2014/05/05(月) 16:54:50.47 ID:TgbKI+Ut
肝心なことを書き忘れた
頭の良い人が羨ましい
585デフォルトの名無しさん:2014/05/05(月) 18:28:01.71 ID:wP+UVhzo
もおもったら、ほめられた、あはは
http://toro.2ch.net/test/read.cgi/tech/1390525149/663
586デフォルトの名無しさん:2014/05/05(月) 18:33:18.18 ID:ffC8nT8g
mjkt
587デフォルトの名無しさん:2014/05/05(月) 19:28:15.01 ID:P4hu0Qed
> 俺も某分野ではかなり頭の良いほうなんだが、
> でも、稼いだのはプログラム関連で三億はいったんだぞ

無職が語る語るw
588デフォルトの名無しさん:2014/05/05(月) 19:43:56.67 ID:I8tguett
>>587
あらら、このスレにもクズはいるんだ
あはは
お前、推理力無いに等しいな
589デフォルトの名無しさん:2014/05/05(月) 22:53:39.07 ID:/HOVuw4b
>>587
ほっといてやれよ、かわいそうだろ
590デフォルトの名無しさん:2014/05/06(火) 16:55:33.25 ID:f7qfr4YR
スレ違いで居座る奴って
ワロタとかワラタとかつけないと語れないのな
591デフォルトの名無しさん:2014/05/07(水) 06:04:20.88 ID:ErPCAkxH
チンコふりふり、ああいい湯だなぁ
継続で苦戦中
ウーム
592デフォルトの名無しさん:2014/05/07(水) 19:14:38.43 ID:yqa0DhG9
そうか。
593デフォルトの名無しさん:2014/05/07(水) 20:47:50.48 ID:rKnBy2nq
がっかい
594デフォルトの名無しさん:2014/05/08(木) 03:19:50.39 ID:L/Pp55/2
池田って死んだの?
595デフォルトの名無しさん:2014/05/08(木) 03:40:44.53 ID:HBWg5zBZ
まだ生きてることになってます

つーかスレ違いだってばさ
596デフォルトの名無しさん:2014/05/08(木) 06:36:45.82 ID:YMmlCcBR
大作いつ死ぬの?
597デフォルトの名無しさん:2014/05/08(木) 11:01:14.54 ID:KH+z9iVC
>>589
しんでろ、くず
598デフォルトの名無しさん:2014/05/08(木) 12:51:11.08 ID:FbSc8Swp
>>597
図星で、顔真っ赤 (w
599デフォルトの名無しさん:2014/05/08(木) 12:55:37.57 ID:WeA9eEmr
三億の人ネット知ったばかりの小学生みたいになってる
600デフォルトの名無しさん:2014/05/08(木) 15:26:03.53 ID:PtIy+ZND
>>598
意味不明
低偏差値層の書き込みはどうしてもいつも同じパターンだな
601デフォルトの名無しさん:2014/05/08(木) 15:26:55.73 ID:PtIy+ZND
さてと、稼げもしないクズのくせに
あはは
602デフォルトの名無しさん:2014/05/08(木) 16:27:57.28 ID:cxy0T9yd
Haskellスレでやれ
603デフォルトの名無しさん:2014/05/08(木) 16:43:02.13 ID:ZE5Ad/Nq
>>600
偏差値ねえ?w
604デフォルトの名無しさん:2014/05/08(木) 17:01:37.74 ID:wWPRqp2a
あれだな
三億といっても.15年で割れば一年当たり大した金額ではない
それで、三億三億と書いてる奴って
よほど金にならないプログラマー?
稼ぐには信用が大切
頭よいだけじゃ駄目なんだよ
おれなんか、優秀な連中に
「がんばってね!」
といいながらオッパイ吸ってたからな
わはは
さてと今日はlambda式での再帰の勉強

あのね、リスプ系は頭いいかと思ってたが

墓もいるんだな
あはは
墓に入りなさい
605デフォルトの名無しさん:2014/05/08(木) 21:23:55.86 ID:fVRUScBj
語彙少ないねこの人
606デフォルトの名無しさん:2014/05/08(木) 21:25:50.62 ID:gIosECTp
>>474
だいたいわかったので
CCCで遊んでみたいのだけど
この文献で参照されてるOCamlで遊んだらいいのだろうか
Shenあたりで同じ事できないのだろうか
607デフォルトの名無しさん:2014/05/08(木) 21:26:10.91 ID:anqLhap8
病人に触るな
608デフォルトの名無しさん:2014/05/08(木) 21:28:26.59 ID:gIosECTp
>>581-582
OpenCVが頻繁にインターフェイスを変えてくるので
2年前ぐらいのOpenCV使ったプログラムはコンパイルできない事が多い

なのでOpenCVのインターフェイスをFrama-cみたいなツール使えば
自動生成できないかと
609デフォルトの名無しさん:2014/05/08(木) 21:32:26.13 ID:jcfj6FZZ
>>607
病人あるいは、単に朝鮮人なのかもな。
ウリナラファンタジーなんだろうなあれが。
610デフォルトの名無しさん:2014/05/08(木) 21:52:37.41 ID:gIosECTp
http://blog.samibadawi.com/2013/05/lisp-prolog-and-evolution.html
「Haskellの型推論はPrologのユニファイケーションと同じなんじゃないか」
みたいな事書いてあった

ということはProlog が組み込んであるShenが一番なのでは?
611デフォルトの名無しさん:2014/05/08(木) 22:07:23.75 ID:DdCl0Xxb
発音はユニフィケーションではまいか
612デフォルトの名無しさん:2014/05/08(木) 22:17:04.08 ID:JIZF9qTX
>>610
卒研で、HaskellでWAM作った俺は勝ち組だな…
613デフォルトの名無しさん:2014/05/08(木) 22:42:57.46 ID:SsHMLBYd
久しぶりに来たらめちゃ荒れててワロスw w w w w w w w w w
614デフォルトの名無しさん:2014/05/08(木) 22:43:50.14 ID:H799Rif2
まあ、レスできずにいきなり偏差値とか学歴とか言い出すいつものパターンな訳だが (w
615デフォルトの名無しさん:2014/05/09(金) 03:27:13.17 ID:n6FjfsXo
>>614
はあ?
レスできずに?
おまえ、低学歴だな! あはは
レスすべき主張がないものにレスとは
616デフォルトの名無しさん:2014/05/09(金) 03:39:58.56 ID:n6FjfsXo
そうだとしてしまい悦に入る
そういう「普通にお馬鹿」がおおすぎるな

みんなで思えばそうなんだもん

そういうレベルじゃまともな創造はできまい
あ、
>>605きみ、マジならばかすぎ
>>607これ、典型

>>609これは重症、民族差別にまで拡大させた


これはら結論のみの宣言であり、かつ、それは以下の
構造をもうだろう

そうだとしてしまいまいたる恣意に押されて
そうありあることを、そうであるとしてしまう

というお馬鹿は信仰宗教、ないし傲慢なる形而上学の
発想と同じものだな

ま、もう一組、その思考様式は
精神病者と低偏差値層によくみられるんたがな

ここでの実例は殆ど後者の組だろ
前者の組だと、彼らなりの理屈をつけるものだが
ここの書き込みはそれさえない

わははははははは
そのレベルじゃ模倣か単に演繹的な思考しかてきんだろ?
ま、貧乏に過ごせ
617デフォルトの名無しさん:2014/05/09(金) 06:37:01.78 ID:gmFOA17u
http://www.shenlanguage.org/learn-shen/macros.html
shenのマクロってまさかこれしか出来ないの?
単なるパターンマッチ?
618デフォルトの名無しさん:2014/05/09(金) 08:00:33.60 ID:jv8u2wzY
さあて、頭の悪い貧乏人を横目で見ながら今日も勉強するかのぅ
今日は継続やでぇ

今日の標語や

チンチンもそそり立つ俺様やけど
実るほど垂れるキトウかな

どや?勉強になったか?
619デフォルトの名無しさん:2014/05/09(金) 09:13:15.06 ID:f5Zf3Edf
「貶め方」っていうのは、まさにその人の価値観が出るなあ。
性的に劣った存在であることがマイナスだと思えばそういう侮蔑の仕方をするし、
また、社会経験を積むことに価値を見出す人は「世間しらず」
「いい年で幼い行動」などと言って人を非難する。侮蔑こそ己を晒す行為なんだな
620デフォルトの名無しさん:2014/05/09(金) 11:46:01.11 ID:MMJKVPjb
>>619
ほんとそれ。

>>616はどんだけ学歴コンプレックス持ってんだよ…。
中学生が必死で背伸びして書いたような痛々しい文章、
これはなかなか健常者には書けるもんじゃない。
恣意w 形而上学のw 思考様式w 演繹的な思考ww
621デフォルトの名無しさん:2014/05/09(金) 12:31:25.76 ID:zswDXVh5
>>620
きみ、低偏差値層だろ?
意味もわからずに単語並べて馬鹿まるだしじゃないか。
どこの三流大学だか知らんが
リスプ系やってる割にひ科哲の教養ゼロに近いな
でも悔しいから書いちゃうか?
おまえさ、国会図書館に著作ある?
答えてみな
622デフォルトの名無しさん:2014/05/09(金) 12:33:56.13 ID:zswDXVh5
>>620
というか、ここまで無教養だといわゆるニートの精神病かい?

恣意、思考様式、形而上学ていどの
殆ど知的日常語に近い語に凄いアレルギー反応だな

きみ、おバカの告白してしまったな
623デフォルトの名無しさん:2014/05/09(金) 12:57:55.86 ID:aJ8WL+k5
久しぶりにDQNと言うものを見た気がする、芸風が古いというか。
624デフォルトの名無しさん:2014/05/09(金) 14:32:33.33 ID:S85QmVft
Lispの選民思想の弊害かな?
625デフォルトの名無しさん:2014/05/09(金) 16:54:42.28 ID:o58oUVDY
> おまえさ、国会図書館に著作ある?

ワロタ
626デフォルトの名無しさん:2014/05/09(金) 17:28:44.95 ID:eJM5z6E0
馬鹿がlisp齧っても馬鹿は直らないのにね
627デフォルトの名無しさん:2014/05/09(金) 17:39:54.40 ID:o0btTQ4b
リスプと書いちゃう人はだいたいアレな感じ
628デフォルトの名無しさん:2014/05/09(金) 21:39:18.18 ID:B/3GqKbF
リスプエイリアンが喋ってると思えば意外と
629デフォルトの名無しさん:2014/05/10(土) 00:22:24.04 ID:gFecByos
はいはい質問質問

+ って引数が可変なわけですけど、
処理系ではどうやって解釈しているんです?
つまり引数の数はVMへのコンパイル時にチェックしますか
それとも実行時にチェックしますか?
630デフォルトの名無しさん:2014/05/10(土) 00:33:51.25 ID:DJS7XE7u
リストだから、引数の数は1個じゃないの?
631デフォルトの名無しさん:2014/05/10(土) 00:38:34.27 ID:bSj8cWuc
まあ、処理系依存なんだが、だいたい dissasemble するとわかる。
とりあえず 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 付き関数と同じ扱いになる。
632デフォルトの名無しさん:2014/05/10(土) 00:39:05.69 ID:MPjg6ErO
>>629

コンパイル時です。SUBRの+は引数の個数を確認してスタックから引数をPOPします。
633デフォルトの名無しさん:2014/05/10(土) 00:59:47.67 ID:XdpsAeNM
エイリアンはもっと頭良さそう
634はちみつ餃子 ◆8X2XSCHEME :2014/05/10(土) 01:15:23.23 ID:b9I69sqX
>>629
ナイーブな実装だと実行時になるんじゃね。
Common Lisp はよく知らないけど Scheme の場合は + を評価して手続きを取出すまでアリティはわからないわけだし、
評価はもちろん実行時なので実行時にならないとわからない。
そういう原則を踏まえた上でコンパイル時にチェックできる場合を特別に扱う最適化を入れる感じ。
635デフォルトの名無しさん:2014/05/10(土) 03:49:56.24 ID:k5l6ZTQ+
ティンコもそそり立つ俺様やけど
実るほど垂れる乳首かな
636デフォルトの名無しさん:2014/05/12(月) 09:02:53.20 ID:gUlXY5KM
「プログラムが実行されるとデータのみならず関数においても自分自身を書き換えながら処理をすすめ、処理が終わってもプログラムは書き換えられたままになっている。次にそのプログラムを実行するときは、その書き換えられた状態から始まる」
という事が(限定された意味であっても)できるんだな。
今日、Closureの勉強した後で、「となると・・できるんじゃね?」
と思ってやってみたらできましたなあ
うーむ、Schemeの勉強はおもしろいぞ
こりゃしばらくはナンパよりSchemeの勉強だ
637デフォルトの名無しさん:2014/05/12(月) 10:58:55.56 ID:dnbz3Cdj
strictness analysis
って無限ループがあるかどうかを
判定しているだけって事でいいの?
638デフォルトの名無しさん:2014/05/12(月) 21:40:44.46 ID:vVaOlzqd
違う。引数が必須かどうか判定してる。
コンパイラの最適化でやる到達可能性なんかと似た概念。
639デフォルトの名無しさん:2014/05/13(火) 09:13:01.18 ID:NG4CQrCJ
cで処理系作っているのですが
VMの汎用レジスタorスタックって
なくてもcのローカル変数で代用できますか
またはそのような実装はありますか
640デフォルトの名無しさん:2014/05/13(火) 22:56:42.05 ID:7V24yfmJ
とりあえずラッパしとけばいいんじゃね?
641デフォルトの名無しさん:2014/05/13(火) 23:40:15.92 ID:LrIx+NvD
>>639
できるけど、
スタックには大きさの制限があるし
VMループから抜けると処理は再開できないしで
あんまいいことないよ。
642デフォルトの名無しさん:2014/05/14(水) 19:24:28.23 ID:XLa7Hr8t
そうか。
643デフォルトの名無しさん:2014/05/14(水) 22:34:00.53 ID:vA2Ser57
この地味に

そうか。

ってのむかつくんだけど
なにがむかつくってスレ開いて新着レスキタ - .∵・(゚∀゚)・∵. - ッ!!とかおもったら

そうか。

だよ
結構イライラするからやめてくれ

でまた

そうか。

だろ?やめろ
644デフォルトの名無しさん:2014/05/14(水) 23:53:38.36 ID:7rZcewE9
そんなことないよ。
645デフォルトの名無しさん:2014/05/15(木) 00:43:36.49 ID:DCYjRRb4
せやろか?
646デフォルトの名無しさん:2014/05/15(木) 01:04:36.71 ID:SKUPxDKZ
>>643

なんだお前じゃなかったのか
647デフォルトの名無しさん:2014/05/15(木) 04:16:52.55 ID:zU62setb
>>643
そうか
648デフォルトの名無しさん:2014/05/15(木) 19:59:43.64 ID:eNbFmNO2
>>643
そうか
649デフォルトの名無しさん:2014/05/16(金) 08:11:15.59 ID:1smShKMA
scheme-reports 読んだりしてる?
650デフォルトの名無しさん:2014/05/18(日) 15:35:44.17 ID:3TnYf5eg
関数の引数の順番は
(f 継続 出力値のポインタ1 出力値のポインタ2... 入力1 入力2 ...)
で共通化してほしい
651デフォルトの名無しさん:2014/05/18(日) 16:17:18.84 ID:mmOjks5D
へ?
((f 継続 出力地のポインタ) 入力)
652デフォルトの名無しさん:2014/05/19(月) 00:47:23.24 ID:ifX/zEHk
>>651
その方式って何処かで推奨されてるの?
653デフォルトの名無しさん:2014/05/19(月) 06:14:16.82 ID:SdRbB6EK
ワシはアナルにプチトマト入れたり出したりしとる
ごっつう気持ちええで〜
654デフォルトの名無しさん:2014/05/19(月) 23:46:00.75 ID:UTlgg7GA
そうか
655デフォルトの名無しさん:2014/05/20(火) 14:44:18.95 ID:DHV6nY+2
そもそも継続って何ですか?
656デフォルトの名無しさん:2014/05/20(火) 16:03:54.48 ID:UDjxMmTz
プログラムを実行していると、関数呼び出してから元に戻ったり、
ループの先頭に戻ったりするでしょ。
その戻るために必要な「状態」のこと。
657デフォルトの名無しさん:2014/05/20(火) 23:27:40.42 ID:r2BdXUha
>>655
機械が次に実行する事に必要な情報
658デフォルトの名無しさん:2014/05/21(水) 00:02:07.52 ID:0uwvVSSn
継続はsetjmp継続呼び出しはlongjmp
ただしsetjmpした環境を持ちまわればどこでもlongjmpできる点のみが違う
要するにコストの高いsetjmp
大抵の実装ではcall/ccを呼んだ時点でその継続はヒープに移動するところがsetjmpと違う
以後全てはヒープに移動した継続を自動的に参照する
659デフォルトの名無しさん:2014/05/21(水) 17:24:23.10 ID:tufOZY/+
setjmpはcall/ccだよ。継続保存。
660デフォルトの名無しさん:2014/05/21(水) 17:25:07.31 ID:tufOZY/+
jmpbufが継続ね。不完全ながらも。
661 ◆QZaw55cn4c :2014/05/21(水) 18:14:44.40 ID:7/zI56kW
>>658
thx!!
662デフォルトの名無しさん:2014/05/22(木) 12:47:33.86 ID:X7SJFDRl
しかしCは凄いな。
当時よくこのレベルでの抽象化を思いついたもんだ。
663デフォルトの名無しさん:2014/05/22(木) 17:44:17.78 ID:MMgx68uU
非局所脱出は別に珍しいものじゃなかったでしょ

まあライブラリでやっちゃったのは凄いとは思うけど
664デフォルトの名無しさん:2014/05/22(木) 21:16:16.23 ID:jXtoQOHc
C自身でポータブルに書けるなら凄いかも知れんが。
665デフォルトの名無しさん:2014/05/22(木) 21:43:25.64 ID:Fu9GuZb0
シグナルハンドラーからlongjmpとか結構凄い。
666はちみつ餃子 ◆8X2XSCHEME :2014/05/22(木) 23:56:16.26 ID:N8DUxA9y
C++ だと Boost.Context もあるよ
667デフォルトの名無しさん:2014/05/28(水) 12:55:28.88 ID:X/2WS0UX
だれかcで処理系作ったて人コード見せてほしいっす
668デフォルトの名無しさん:2014/05/29(木) 00:11:50.72 ID:NFEFAaY+
見せたら俺Lispじゃなくなってしまう

大学の演習で簡易版を作らされたから、ネットにいっぱい転がってるはずなんだけどな
669デフォルトの名無しさん:2014/05/29(木) 03:22:56.46 ID:knodhQSh
>>667
Schemeだとcallccで面倒だけど、普通にLisp1系なら1週間有れば趣味でも実装できるっしょ?
670デフォルトの名無しさん:2014/05/29(木) 04:00:08.17 ID:IYXfC5c1
教科書も参考事例もなしに完全に自力だけで再発明しようとするとけっこう苦労すると思うぞ
671デフォルトの名無しさん:2014/05/29(木) 04:02:31.10 ID:IYXfC5c1
たとえばマーク&スイープ法を自力で思いつける人ってどれだけいるだろうか?
672デフォルトの名無しさん:2014/05/29(木) 09:02:31.16 ID:DuN7PD4D
call-with-current-continuationのお勉強が一応終了
あんたにもこんな初心者レベルの頃があったんやで
ええ、いくらでもけなしてくれなはれ
わし、勉強するわ

http://codepad.org/eym6WeCK
673デフォルトの名無しさん:2014/05/29(木) 09:06:38.83 ID:ie7ojQhi
>>671-672
どうして既存のものを参考にしない前提なの?
趣味ならそういう縛りでやるのも勝手だけど、
偉大なる先人と比べたら大抵の人間が無能なのはあたりまえじゃん。
それでも先人より先に進めるのは先人の成果を利用して学ぶからだろ。
674デフォルトの名無しさん:2014/05/29(木) 13:10:15.09 ID:knodhQSh
>>671
普通にゴミ集め書いたら何もマークアンドスイープにしかならんのじゃないの?
んでもってがっつりと時が止まる所で悩む
675デフォルトの名無しさん:2014/05/29(木) 14:40:20.29 ID:pVyo0eCY
最初に見た本に書いてあったのでなんとも
676デフォルトの名無しさん:2014/05/29(木) 18:46:58.43 ID:DuN7PD4D
>>673
わし、その大多数のなかに入ってないねん
677デフォルトの名無しさん:2014/05/29(木) 19:38:04.78 ID:KpyrHqAC
処理系のデータタグについて「データに持つ」と「ポインタが持つ」のでは速度にどれぐらいの差がでるのだろうか
678デフォルトの名無しさん:2014/05/29(木) 22:19:29.29 ID:ie7ojQhi
>>676
なら成果をどんどん発表してね。 期待age
679デフォルトの名無しさん:2014/05/29(木) 22:26:16.48 ID:ie7ojQhi
>>677
かなり状況に左右されるんじゃねーの。
int 幅にポインタを格納してもどうせ何ビットか余るわけだし、
余った分を活用するのは合理的に思える。
680はちみつ餃子 ◆8X2XSCHEME :2014/05/29(木) 23:53:40.63 ID:ie7ojQhi
>>674
C++ とかから流れてきた人は自然に参照カウンタ使いそうな気がする。
681デフォルトの名無しさん:2014/05/30(金) 23:37:32.00 ID:m0R2Acz2
ポインタにタグ付けると玄人っぽい
682デフォルトの名無しさん:2014/05/31(土) 00:45:30.60 ID:e8li9CXk
lisp処理系を作りたくなったけどGC面倒臭いな
前に書いたときはmark&sweepを自力で書いたけどstackにpushして一時的に保護したり面倒臭すぎる
もうboehm-gc使ってみようかと思ったけどまた自力で書いたほうがいいのかな
683デフォルトの名無しさん:2014/05/31(土) 00:53:09.25 ID:2L0xFU1r
書けるものは全部全部自分で書け
684はちみつ餃子 ◆8X2XSCHEME :2014/05/31(土) 08:33:36.21 ID:q75cQArE
トレードオフの問題じゃないか。
どちらかが良いという問題ではなくて、それぞれのメリット/デメリットを考えて、
自分がやろうとしていることにどちらがマッチするかで考えればいい。

面倒くさいとわかっていることに手を出して途中で飽きるくらいなら Boehm GC を使った方がいいと思うけど、
面倒くさくてもそれは自分でやらなきゃ意味がないと思うならやればいいんじゃないの。
最初は Boehm GC を使って余裕があればあとから独自の GC に置き換えるというのでもいいし。
685デフォルトの名無しさん:2014/05/31(土) 12:36:49.56 ID:SYzWFJha
自分で書くとしたら一時的に使ってる値が
片付けられる問題をGC側が解決してくれるようにしたい
それだとmark&sweep以外のアルゴリズム使わないとだめなのかな
686デフォルトの名無しさん:2014/05/31(土) 14:45:11.77 ID:iRT5FyvM
>>685
ちょっと読み違えているかもしれないが。
smalltalk-80の実装は、
メソッド呼び出し内では参照カウントで管理して、破棄できるものはreturn時に破棄、
システム全体はmark&sweepという併用だった。
参照カウントだけだとループがある時に問題になるので。
687デフォルトの名無しさん:2014/05/31(土) 16:45:47.91 ID:YxBnxiuU
LoLやべぇ
haskell共和国で腹筋崩壊した
688デフォルトの名無しさん:2014/05/31(土) 21:54:47.69 ID:ozxeunj2
Haskellは活気があって羨ましい。
でも、あれは完成形じゃない気がする。
だから、まだ land of lisp の復興はあり得ると思うんだ、何が必要かは分からんけど。
689デフォルトの名無しさん:2014/05/31(土) 22:37:18.69 ID:XFgqF1Rd
land of lispのほうのlolはhaskellを持ち上げてたけど
let over lambdaのほうのlolはhaskellをあまりよく書いてなかったね

それより自作のlisp処理系にキーワードを付けようか迷う
lisp-2だからcommon lispに合わせて付けたほうがいいかな
690デフォルトの名無しさん:2014/06/01(日) 00:38:47.97 ID:Teq6IDrL
純lispのアトムってTとNILだけ?
691デフォルトの名無しさん:2014/06/01(日) 00:44:17.67 ID:D/HvdSEw
>>689
必須でもないからな
692デフォルトの名無しさん:2014/06/01(日) 02:16:45.57 ID:6j1AF/cE
>>690
List以外の全てがAtom
693デフォルトの名無しさん:2014/06/01(日) 07:01:09.59 ID:Teq6IDrL
>>692
最低限必要なアトムは?
694デフォルトの名無しさん:2014/06/01(日) 07:26:00.52 ID:YcJ1a4/i
>>692
>>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はアトムでもあり
リストでもある唯一のシンボル)のためアトムとリストの対応ではなくアトムとコンスセルの対応を基本に据えないと見通しが悪くなる
695デフォルトの名無しさん:2014/06/01(日) 07:28:47.86 ID:YcJ1a4/i
× listp?
○ listp
696デフォルトの名無しさん:2014/06/01(日) 07:31:28.62 ID:YcJ1a4/i
>>693
それは
t,nilの2つにくわえ
(nyotai naoko ikuko ayako beautiful sexy erotic )
があればいいんじゃないか?
697デフォルトの名無しさん:2014/06/01(日) 09:59:24.61 ID:YlwYcK2D
>>696
いや、 anal も必要だろ。
698デフォルトの名無しさん:2014/06/02(月) 00:28:17.75 ID:IzxWCtpR
>>608
OpenCVのインターフェイスが頻繁に変わるのは政治的な理由があると思う
OpenCV本家のpythonバインディングより出来のいいバインディングを誰かが作ると
毎回インターフェイスが変更される

この「技」を潰されちゃうと
開発者がへそまげてOpenCV自体が消える可能性ある
699デフォルトの名無しさん:2014/06/05(木) 12:34:46.65 ID:8uloiXMt
? Build Your Own Lisp
http://www.buildyourownlisp.com/
これを使ってlispの実装をしてみようと思うのですが、これはどういう風に評価されている教材なのでしょうか
700デフォルトの名無しさん:2014/06/05(木) 20:14:44.22 ID:og4ZcvMZ
common lisp寄りの処理系作って[るた]人いる?
コンディションの実装糞面倒だからreadとevalとraiseの三種類で誤魔化そうとしたけど
handler-case書けなくなるし困った
こういうのどこで妥協するかが一番難しいと思った
701デフォルトの名無しさん:2014/06/06(金) 00:18:08.21 ID:VcdXGPw8
そうか
702デフォルトの名無しさん:2014/06/06(金) 09:32:36.52 ID:7nE+uYTj
この地味に

そうか。

ってのむかつくんだけど
なにがむかつくってスレ開いて新着レスキタ - .∵・(゚∀゚)・∵. - ッ!!とかおもったら

そうか。

だよ
結構イライラするからやめてくれ

でまた

そうか。

だろ?やめろ
703デフォルトの名無しさん:2014/06/06(金) 10:30:05.79 ID:3FiK28W7
無論・・・

そうか
704デフォルトの名無しさん:2014/06/06(金) 12:42:43.90 ID:iMYjirOz
せやな
705デフォルトの名無しさん:2014/06/07(土) 03:00:59.41 ID:P2TDtsm6
「そうか」とか「せやな」とか言うくらいならLISPと関係なくてもいいから雑談でもしてくれた方がいいと思う。
706デフォルトの名無しさん:2014/06/07(土) 03:31:50.78 ID:OmD0qLId
せやろか
707デフォルトの名無しさん:2014/06/07(土) 04:16:24.10 ID:NewEEkV8
そうかな
708デフォルトの名無しさん:2014/06/07(土) 08:20:11.41 ID:1GJMra0o
Swift どうだろね、REPL あるようだし、ベターjavascript と思えば lisper にも受け入れられるかな?
709デフォルトの名無しさん:2014/06/07(土) 08:24:49.21 ID:rofUEf38
うにっくすでつかえるんか?
オランダの飾り窓でつかえるんか?
スズキかたるなら佐藤さん語れや
710デフォルトの名無しさん:2014/06/07(土) 13:19:28.29 ID:wf5Eu0QY
Listしか使わないなら
file-name.xxx
でいいのだけど、いろんな言語を相互に呼び出したりすると
どうしても
file_name.xxx
に統一したくなる
fileName.xxx
は論外
711デフォルトの名無しさん:2014/06/07(土) 13:23:19.12 ID:1GJMra0o
>>709
Mac はUNIXだし後は何言ってるかさっぱり分からない
712デフォルトの名無しさん:2014/06/07(土) 15:35:29.08 ID:P2TDtsm6
>>711
Mac は Unix かもしれないが、 Unix が Mac であるとは限らないだろ。
713デフォルトの名無しさん:2014/06/07(土) 16:40:01.15 ID:GAICIAD/
任意の UNIX で使いたいのかよ、むちゃな
714デフォルトの名無しさん:2014/06/07(土) 16:44:29.81 ID:OmD0qLId
リスパーってSwift使うときはリスプをSwiftに変換するプログラム作るんでしょ?
715デフォルトの名無しさん:2014/06/07(土) 16:50:48.79 ID:lJ+qd9Ld
Swiftを使う必要が出来たらそうするけど多分無いわ
716デフォルトの名無しさん:2014/06/07(土) 17:38:27.41 ID:SRkoD9Jh
>>714
今Lisp -> Obj-CしてるんでSwift別に必要ねぇ感じ。
SwiftでしかiOSコード書けないなら捨てだろうし。
717デフォルトの名無しさん:2014/06/08(日) 04:32:45.36 ID:euvvSTx+
それってNuのこと?
それとも自作?
718デフォルトの名無しさん:2014/06/10(火) 07:59:08.60 ID:nxVaHdwk
719デフォルトの名無しさん:2014/06/10(火) 07:59:53.71 ID:nxVaHdwk
720デフォルトの名無しさん:2014/06/11(水) 12:15:34.94 ID:PI7tChz5
まだ基礎を勉強中なのに継続の勉強ばかりしていたら再帰の基礎が崩れた
ウーム
また、やり直す
英語の勉強にもなるし。
721デフォルトの名無しさん:2014/06/11(水) 12:42:04.95 ID:iXEwBJFy
そうか。
722デフォルトの名無しさん:2014/06/11(水) 23:48:23.54 ID:VPWYtuav
勉強すると、他の勉強の基礎が崩れるの?
723デフォルトの名無しさん:2014/06/11(水) 23:58:18.05 ID:NCsy5Ev1
FIFOなんじゃね
724デフォルトの名無しさん:2014/06/12(木) 00:10:52.40 ID:Mh5hosWy
たとえ無限ループだろうと完走を祈る
725デフォルトの名無しさん:2014/06/12(木) 04:24:22.06 ID:pmHO11BH
fifo頭か、そうかもな
ま、続けよう
726デフォルトの名無しさん:2014/06/12(木) 04:25:06.15 ID:pmHO11BH
>>724
ありがとう
727デフォルトの名無しさん:2014/06/12(木) 08:37:19.12 ID:dUABq+fE
>>722
足し算思考だとそうなるね。
掛け算思考なら相乗効果で捗るが。
728デフォルトの名無しさん:2014/06/12(木) 11:41:13.59 ID:i9E67NrQ
足し算なら問題ないのでは...
729デフォルトの名無しさん:2014/06/12(木) 12:22:04.27 ID:FPQaqgXk
ムム
足し算なら俺でもできる
(+ a bc)
だな
おお!勉強の成果だ!
730デフォルトの名無しさん:2014/06/12(木) 16:28:20.76 ID:i9E67NrQ
n次元空間のベクトルの和や積ではどうだろうか?
731デフォルトの名無しさん:2014/06/12(木) 16:58:39.09 ID:FPQaqgXk
ウーム
とりあえずチンポ弄くってから考えてみる
732デフォルトの名無しさん:2014/06/12(木) 19:03:08.04 ID:sI6dCmEZ
>>727
たまに1以下の数字が乗じる事があるんだよね
733デフォルトの名無しさん:2014/06/12(木) 22:02:34.55 ID:Ap4t2hw8
プログラミング言語の実用性を実数部に、ハッタリ度を虚数部にした複素数とし、和と積を考えるとどうだろうか。
COBOL: 1+0i
足すごとに実用性が増すが、掛けても何も変わらんw
734はちみつ餃子 ◆8X2XSCHEME :2014/06/13(金) 15:22:36.90 ID:/qpuWCLD
ピタゴラス学派かよ
735デフォルトの名無しさん:2014/06/13(金) 22:58:08.47 ID:txXJF54B
>>732
0 とか -1 とかもあるしね (w
736デフォルトの名無しさん:2014/06/13(金) 23:09:51.86 ID:IVqCc1OG
一度は多く概念に怯え逃げたが
再び戻って参りました
737デフォルトの名無しさん:2014/06/14(土) 00:18:02.45 ID:+FDTKVzA
どういう概念に怯えたの?
それとも概念の数の多さに怯えたの?(そんなに、概念多いかなあ)
738デフォルトの名無しさん:2014/06/14(土) 00:23:59.66 ID:D/SadlAq
60年間のプログラミング言語のパラダイムすべてを包括しているというツギハギだらけの概念に怯える
739デフォルトの名無しさん:2014/06/14(土) 00:52:31.59 ID:zGKoSDUt
Lisp/Scheme に特有の概念っていうのはもうほとんど無いだろ。
740デフォルトの名無しさん:2014/06/14(土) 00:56:34.43 ID:xBHo5yPo
同図像性とか
741デフォルトの名無しさん:2014/06/14(土) 00:58:52.14 ID:LdrUXIu0
S式くらいかな。
742デフォルトの名無しさん:2014/06/14(土) 01:00:02.41 ID:D/SadlAq
マクロがすべて悪い
743デフォルトの名無しさん:2014/06/14(土) 01:00:11.30 ID:LdrUXIu0
>>740
それだとXSLTがある。というかもう使われて「ない」のかな?
744デフォルトの名無しさん:2014/06/14(土) 02:12:28.49 ID:/t1vIzIu
The Little Schemer を読み終えたら次は何を読むべき?
745デフォルトの名無しさん:2014/06/14(土) 02:13:04.33 ID:+FDTKVzA
読み終えたの?
746デフォルトの名無しさん:2014/06/14(土) 02:30:24.22 ID:+FDTKVzA
リトルスキーマーはCELLとListの差に触れないだろ?
そこがなあ、一冊目にやるのはどうなのか
二章か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遊びからリトルスキーマーをやった口
747デフォルトの名無しさん:2014/06/14(土) 02:33:59.02 ID:+FDTKVzA
あ、ポスト、リトルスキーマーか
LIST遊び (Common Lisp
プログラミングGauche (Scheme)
あたりは?
748デフォルトの名無しさん:2014/06/14(土) 03:42:13.86 ID:zGKoSDUt
>>746
コンスセルとリストの関係の話とか、そんなに腰を据えてやらなきゃならないほど難しいことか?
それをどう使うか、使えるのかっていうことを示さないと「それで?」ってなるだろ。
「あ、さっきのやつはこう使えるんだ〜」っていう順序がきちんとしてるのが Little Schemer じゃないか。
わからないときは戻って読み返せばいいんだし。

高校生のときを思い出してみろよ。
行列を方程式に対応付けて機械的な作業で解いたり計算量を減らしたりして物理計算が楽になったりしただろ。
グラフィックの計算に使えるぜーとか、そういうの無しで延々と行列の定義を覚え続けて頭に入るか?

実際に使われる場面を見て、なるほどこういう風に役に立つのかってなる方が学びやすいと思うんだよな。
749デフォルトの名無しさん:2014/06/14(土) 04:10:11.28 ID:RGY3g82H
>>748
腰を据えるではなくて
基礎に据える

あのな、いくら読み返してもコンスセルの話はでてこないだろ
関連して
(car (cons a b)) -> a
(cdr (cons a b)) -> b
が注に出るだけ
あくまでアトムとリストの対比の世界でものを考えることになるのがリトルスキーマー
ま、そういう方針の本なんだな
あくまで、「初めてやる本でしょ?」だろうから
そのうえで、ま、よく階梯を持つと思うよ。良い本です

atomとリストのなかでものを考えているから可能となってしまう
不適切な考察がここやCommon Lispのスレで何度か見かけた
コンスセルの連鎖関係がリストの実体であり
リストはあくまで表現にすぎない
と思えるかどうかだな
750デフォルトの名無しさん:2014/06/14(土) 08:47:08.24 ID:Rm8HxN97
"An Introduction to Scheme and its Implementation"って結構いいな
>>749みたいな話もちゃんとしてる
751デフォルトの名無しさん:2014/06/14(土) 09:25:29.34 ID:LdrUXIu0
>>746
同意できない。
752デフォルトの名無しさん:2014/06/14(土) 10:46:14.21 ID:RWrtwXRC
>>749
> 腰を据えるではなくて
> 基礎に据える

はあ?
腰を据えるの意味調べてこいよ
753デフォルトの名無しさん:2014/06/14(土) 11:17:03.24 ID:RGY3g82H
>>752
頭悪すぎる
しかし、開き直るとは思わなかった
754デフォルトの名無しさん:2014/06/14(土) 12:46:17.59 ID:RWrtwXRC
>>753
腰を据えるの意味と、どうおかしいのか書いてみな
755デフォルトの名無しさん:2014/06/14(土) 15:19:37.26 ID:kVfPiGuj
胡椒と酢で和える とても美味しい
756デフォルトの名無しさん:2014/06/14(土) 22:06:49.77 ID:n5vNq/0C
新玉ねぎのサラダうまいぞ
757デフォルトの名無しさん:2014/06/15(日) 12:36:26.00 ID:RRrISo1f
新タマネギは薄くスライスして花鰹振りかけて醤油で食うのが好き、甘くて美味しい。
Lispの括弧もタマネギみたいで好き
758デフォルトの名無しさん:2014/06/15(日) 12:38:42.06 ID:IRi7fyG5
(((((())))))
759デフォルトの名無しさん:2014/06/16(月) 12:11:11.89 ID:QdbRzEa/
あれ
760デフォルトの名無しさん:2014/06/16(月) 12:15:45.92 ID:QdbRzEa/
The Little Schemerで number?は基本関数だからatom?などと同じように定義できませんという記述があるんだけども、
できますよね

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)))))

でいけると思うんですが、間違いですか?
761デフォルトの名無しさん:2014/06/16(月) 13:08:24.18 ID:RIOX5DV+
やたら冗長な
762デフォルトの名無しさん:2014/06/16(月) 17:02:23.57 ID:Ys5PGdkC
>>760
data domainがclosedならokですね。
763デフォルトの名無しさん:2014/06/16(月) 21:02:53.20 ID:grRCv1F+
それにしたってその定義はいろいろ足りないけどな

(number? #\A) とか
764デフォルトの名無しさん:2014/06/16(月) 21:32:39.60 ID:SQhI/GVo
813 名前:デフォルトの名無しさん[sage] 投稿日:2014/06/15(日) 16:48:31.43 ID:ff3DF+/U
ぐぐってみたけど、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やって自分で天才とかやってて
小保方と同類だわ
765デフォルトの名無しさん:2014/06/17(火) 03:02:11.20 ID:8NL9gBpR
湯浅さんはCommon Lispの世界初の実装者だろ。
向こうのリアルハッカーたちが唖然としたほどの天才。
766デフォルトの名無しさん:2014/06/17(火) 03:30:47.66 ID:DtFQMbHJ
イチからのフル実装としてはでしょ。
既存実装のCommon Lispパッケージはたくさんあった。
ネイティブコンパイラ付きでCで実装してあって
ポータブルですごいと思うけど。
767デフォルトの名無しさん:2014/06/17(火) 04:38:01.41 ID:XCkc5Kly
今となっては税金にたかる
時代遅れの老害でしかないわな
768デフォルトの名無しさん:2014/06/17(火) 04:43:07.17 ID:EoTBFViS
>>765
その程度で唖然とするとか
リアルハッカーじゃなくて
リアルバカだろw
769デフォルトの名無しさん:2014/06/17(火) 04:57:10.94 ID:C18bsXVu
今どきの人にはネイティブコンパイラとかCとか言われても
当たり前のことで、凄さは伝わらないよ。
向こうのハッカーが湯浅の話をしているのを聞いたこともないし、
完全に過去の人だね。
770デフォルトの名無しさん:2014/06/17(火) 05:06:29.35 ID:npjjegMO
765って皮肉でしょ?なんでマジレス
771デフォルトの名無しさん:2014/06/17(火) 05:10:38.71 ID:P/v4NjRU
湯浅三への蔑み、なにが動機?
772デフォルトの名無しさん:2014/06/17(火) 05:12:52.58 ID:J13U+mpJ
ごく一部の人がLispの仕事に就職して
Lispの仕事は需要あるみたいなこと言ってて
この人大丈夫なのって思った
773デフォルトの名無しさん:2014/06/17(火) 06:50:12.74 ID:P/v4NjRU
核融合の仕事は需要あるとおなじじゃね?
774デフォルトの名無しさん:2014/06/17(火) 13:56:29.03 ID:ESFi67xp
>>772
就職してるのなら需要あるは事実だろうよ。
たくさんあると言っているわけじゃないんだろ?
775デフォルトの名無しさん:2014/06/17(火) 14:10:49.63 ID:pUnsndMy
Lispの仕事にありつくのはごく一部だけで
供給過剰だから
776デフォルトの名無しさん:2014/06/17(火) 14:35:23.30 ID:5EztAZ0B
だからなに?
777デフォルトの名無しさん:2014/06/17(火) 14:42:31.84 ID:qZ+Kte3R
供給過剰のLispプログラマを
これ以上生産するべきではない
778デフォルトの名無しさん:2014/06/17(火) 14:52:04.44 ID:aG80NVb6
エセlisperの選民思想持ちは中高生かな
779デフォルトの名無しさん:2014/06/17(火) 15:07:02.41 ID:5EztAZ0B
>>777
このひと、別スレでも書いてる人?
精神病じゃない?
780デフォルトの名無しさん:2014/06/17(火) 15:09:17.34 ID:3Q+4KXzI
精神病なのは自作自演で
天才プログラマとかやってる
湯浅ってバカだろ
781デフォルトの名無しさん:2014/06/17(火) 15:33:16.92 ID:ESFi67xp
あらまw
782デフォルトの名無しさん:2014/06/17(火) 15:45:10.70 ID:3Q+4KXzI
         ,,-―--、
        |:::::::::::::;;;ノ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        |::::::::::( 」 <  たくさんあると言っているわけじゃない
        ノノノ ヽ_l   \______________
       ,,-┴―┴- 、    ∩_
     /,|┌-[]─┐| \  (  ノ
      / ヽ| |  バ  | '、/\ / /
     / `./| |  カ  |  |\   /
     \ ヽ| lゝ    |  |  \__/
     \ |  ̄ ̄ ̄   |
      ⊂|______|
       |l_l i l_l |
       |   ┬    |
783デフォルトの名無しさん:2014/06/17(火) 15:52:04.81 ID:g0jiBHem
いつもの人だろ相手すんなって
784デフォルトの名無しさん:2014/06/17(火) 16:04:52.38 ID:th53rZYK
湯浅みたいバカは世界中探しても
他にいない
785デフォルトの名無しさん:2014/06/17(火) 16:15:27.91 ID:LIIwEXMh
さよか
786デフォルトの名無しさん:2014/06/17(火) 16:16:54.99 ID:th53rZYK
さよで
787デフォルトの名無しさん:2014/06/17(火) 17:27:33.68 ID:5EztAZ0B
なんか無能な人のやっかみについて聞こえる
788デフォルトの名無しさん:2014/06/17(火) 17:34:42.28 ID:p+hPxJPg
正しくその通り
789デフォルトの名無しさん:2014/06/17(火) 17:41:49.76 ID:th53rZYK
無能でも無害ならいいけど
湯浅は無能で有害だからなあ
790デフォルトの名無しさん:2014/06/17(火) 17:49:21.52 ID:LIIwEXMh
何処がどうしてを指摘しないのなら戯れ言でしかないよ
791デフォルトの名無しさん:2014/06/17(火) 17:56:07.79 ID:th53rZYK
税金にたかる蠅なんだわ
792デフォルトの名無しさん:2014/06/17(火) 18:13:32.85 ID:5EztAZ0B
>>791ああ、不快なだめおとこ
793デフォルトの名無しさん:2014/06/17(火) 18:18:49.50 ID:4vzpbEIx
久しぶりに来たら変なのが湧いててワロタ
794デフォルトの名無しさん:2014/06/17(火) 18:37:05.89 ID:th53rZYK
おまえらは湯浅ってゴミカスのことどう思ってんだ?
795デフォルトの名無しさん:2014/06/17(火) 20:52:30.13 ID:2BmltRy+
2ちゃんから人が減ったけど、まだ戻ってくることあるんだなw
796デフォルトの名無しさん:2014/06/17(火) 20:55:07.02 ID:qY/tpct3
未踏ってGaucheとかmrubyのイメージしかないけど
その湯浅って人は具体的に何やらかしたん?
797デフォルトの名無しさん:2014/06/17(火) 21:00:56.93 ID:th53rZYK
PMでかつスーパークリエーターは彼一人
798デフォルトの名無しさん:2014/06/17(火) 21:37:12.07 ID:Pi57gBNm
>>779
精神病ではなくて、中国人。
799デフォルトの名無しさん:2014/06/18(水) 01:31:42.82 ID:O5tsUQT8
天才といえば苫米地さんだろ?なんでお前らわかんないの?
800デフォルトの名無しさん:2014/06/18(水) 06:06:13.10 ID:ACkogk4w
>>796
ゼロからの実装としては世界初となるCommon Lispである
Kyoto Common LisPの主たる実装者の一人だろ
特徴はコンパイルするとC言語ソースを吐き出すこと
ANSI以前のもので、今はANSI Common Lispのサブセットという位置付けか
801デフォルトの名無しさん:2014/06/18(水) 11:32:17.21 ID:7tSp0AS9
KCL, wnn, gmw 当時の京大は輝いてた。
802デフォルトの名無しさん:2014/06/18(水) 11:49:28.98 ID:ZMMbatdC
KCLはGCL(GNU Common Lisp)になってからANSIフル実装してる。
803デフォルトの名無しさん:2014/06/18(水) 19:20:00.50 ID:ACkogk4w
としとると、おばかになるんだな
カミソリと言われた俺もコアラのようになった感じがする
ていうか息するエキスパートシステムと化していくようだ
804デフォルトの名無しさん:2014/06/18(水) 19:45:58.32 ID:SdsFVxQM
gclってまだcltl1の範囲じゃなかったっけ
ManKaiとかembeddedとかkclからの派生色々あるけどどう違うんだろ
805デフォルトの名無しさん:2014/06/19(木) 10:02:01.85 ID:EHpEAUer
このスレと関係ないけれど
最後にgoto文使ったのはいつだろう
まだチンたんもそそり立ち
「エイトまーん! いや、エイトビットオ、すごいだろ?」
なんて言ってた頃か
806デフォルトの名無しさん:2014/06/19(木) 10:43:50.85 ID:EXEtiHUa
VM書いたことないんだな。
タイトループでgoto使うのはチューンナップの常套手段。
807デフォルトの名無しさん:2014/06/19(木) 11:05:02.58 ID:EHpEAUer
俺は立場上、gotoなんか使わん!
正義の構造化戦士である
戦死したけどな、わはは
808デフォルトの名無しさん:2014/06/19(木) 11:17:29.45 ID:1pN34o/W
>>804
途中で挫折したからどこまで実装したかも定かで無いはず。
809デフォルトの名無しさん:2014/06/20(金) 07:45:01.91 ID:42Cjh3o9
>>806
> タイトループでgoto使うのはチューンナップの常套手段。

化石みたいなローカル常識わろた
810デフォルトの名無しさん:2014/06/20(金) 11:48:33.89 ID:UkLSHGsY
インタプリタの実装だろ。
化石じゃなくて普通に現役の話だし、Labels as Valuesを使ったりとか、
ごく定石的なテクニック。
811デフォルトの名無しさん:2014/06/20(金) 12:13:07.18 ID:fiYVjyLm
VM実装に限定した話であれば、
goto文を多用するカリカリ・チューニングも必要悪だけど選択肢の一つかな

ただ自分なら、そういったコーディング・テクニックを駆使するパワーを
VM命令セットの改善やVMコード最適化にまわすけどね
812デフォルトの名無しさん:2014/06/20(金) 12:54:43.96 ID:mz5Q+yv5
goto文は自動生成するもの
813デフォルトの名無しさん:2014/06/20(金) 13:43:26.58 ID:SjbpHxgH
>>806
そういう思想は何とかの開き直りそのものだな
814デフォルトの名無しさん:2014/06/20(金) 14:49:24.59 ID:UkLSHGsY
あ、コーディングルール絶対派(≒バカ)だ。
815デフォルトの名無しさん:2014/06/20(金) 15:36:12.43 ID:LvQlcNc7
末端の乞食はそういうね
>>814 ←
816デフォルトの名無しさん:2014/06/20(金) 15:41:07.32 ID:UkLSHGsY
上流という名のバカか
817デフォルトの名無しさん:2014/06/20(金) 22:19:07.37 ID:cCN0lle0
>>810
アセンブラレベルでチューニングすると言うならまだしも、今時 goto でスパゲッティ作ってチューニングした気になってるとか、老害乙
反論するならちょっと具体例あげてみなよ
818デフォルトの名無しさん:2014/06/20(金) 22:57:04.86 ID:UkLSHGsY
インタプリタの実装すら知らないバカ乙
819デフォルトの名無しさん:2014/06/20(金) 23:03:41.40 ID:B5B+3p/J
>>817
そういうのはコンパイラのコード全部読んでから言わないと駄目だとおもうな
820デフォルトの名無しさん:2014/06/20(金) 23:04:05.63 ID:Lbrov44k
gotoを集めてキミだけのインタプリタをつくろう!
821デフォルトの名無しさん:2014/06/20(金) 23:09:11.43 ID:hanWzSUr
>>818
で、具体例のひとつも出せないの?

>>819
何故にコンパイラのコードなの?
生成されたコードで良いのでは?
822デフォルトの名無しさん:2014/06/20(金) 23:09:28.73 ID:PmYa9Irn
ttp://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.95.2/gcc_4.html
これの値としてのラベルに書いてあることだろ

> ラベル値の別の用途として、 インタープリタの中で、 スレッド化されたコードを対象にして使うという方法があります。
> 非常に高速なディスパッチ処理を実現するために、 インタープリタ関数内のラベルの値をスレッド化されたコードの中に持たせることができます。
823デフォルトの名無しさん:2014/06/20(金) 23:20:05.90 ID:UkLSHGsY
Labels as Valuesって、ググるためのキーワードは出てるにもかかわらずコレじゃあ、
成長の見込みは全く無さそうだがね。
824デフォルトの名無しさん:2014/06/20(金) 23:44:22.66 ID:PmYa9Irn
具体例出した途端黙りかよ
825デフォルトの名無しさん:2014/06/21(土) 00:01:19.56 ID:KMvjaKi+
>>822-824
switch より速くなる例書いてみなよ

そもそも、そのページいつ作られたのか知ってるか? w
826デフォルトの名無しさん:2014/06/21(土) 00:17:12.60 ID:6UOd6cQG
専門板のやつらを煽って有益な情報を出させるやつか
827デフォルトの名無しさん:2014/06/21(土) 01:09:51.25 ID:KMvjaKi+
どうせ出てこないだろ
10 年以上前のページをどや顔で出して来るようなレベルだし
まあそのページはスゲー懐かしかったわ w
828デフォルトの名無しさん:2014/06/21(土) 05:06:33.98 ID:cqXDE/G2
lispのgotoの話をしているのかと思いきやCのgotoの話をしているお前ら
いい加減スレ違いと気づけ
829デフォルトの名無しさん:2014/06/21(土) 06:41:53.58 ID:zwd/ab8y
> switch より速くなる例書いてみなよ
まずはてめーがその偉そうな口を叩けるだけの証拠を示せよタコ。

Schemeにしても何にしても、インタプリタコア部分の実装方法が10年やそこらで
そんなに変わるもんかw

どや顔で「古い」としか威張れないバカのレベルなんざ知れたもんだ。
830デフォルトの名無しさん:2014/06/21(土) 09:29:05.61 ID:KMvjaKi+
>>829
はあ?

> タイトループでgoto使うのはチューンナップの常套手段。

って書いた奴が実例示すのが筋だろ。
出せねーなら、おとなしく ROM っとけ。
831デフォルトの名無しさん:2014/06/21(土) 11:40:35.25 ID:Ljd65t/a
gotoラベルを配列に突っ込むとかgcc拡張なら割と良く見る>>バイトコードインタプリタ
でもそんなんだったらディスパッチ部分を素直にアセンブラで組めと思わんでも無い
832はちみつ餃子 ◆8X2XSCHEME :2014/06/21(土) 13:14:23.01 ID:P7AT9cRE
gcc くらいに高度なコンパイラになるとどんな風に最適化したコードを吐くか予測するのが難しくて、
癖をよく知ってないとチューンナップのつもりが逆効果ってこともあるし、
かといって最適化をオフにすると他の箇所全部が遅くなるわけなんで、俺も >>831 に一票。
833デフォルトの名無しさん:2014/06/21(土) 17:52:36.30 ID:kQL+4agv
実例としては CLISP とか Gauche とか YARV(ruby) とかがあるね。
labels as values と switch を切り替えられるようになってる。

Cコンパイラは switch でのディスパッチを最適化しきれない。
switch(*ip) { ... } を実行したとき、
*ip に 対応する case ラベルがなかったら、
何もしないで switch 文の外に出なければならないという仕様があるから。
*ip が範囲内かチェックするためのコードが必要になる。
834はちみつ餃子 ◆8X2XSCHEME :2014/06/22(日) 15:02:53.33 ID:yWc4gHlx
俺のトリップを含むトリップ各種が洩れてた…。
http://www.peeep.us/2a048687
835デフォルトの名無しさん:2014/06/22(日) 15:36:28.49 ID:GfVVI894
なにをいまさら
836o%K%H:+O:2014/06/22(日) 17:04:00.74 ID:ssCGlzx+
>>834
昨年の8月ぐらいからの話
837デフォルトの名無しさん:2014/06/22(日) 17:13:55.66 ID:EJpLg/2L
本人はとっくに知っていて>>834は本人ではない可能性が・・・?
838デフォルトの名無しさん:2014/06/22(日) 17:20:46.27 ID:JPJLFEsY
・元々はみちつ餃子は二人いた
・若年性アルツハイマー
・片方がなりすまし
839はちみつ餃子 ◆8X2XSCHEME :2014/06/22(日) 17:26:17.57 ID:yWc4gHlx
実際になりすましがあったから洩れてるのは知ってたけどネット上でこうも堂々と見れる状態だとは思ってなかった。
っていうか、おまえら知っててなりすましが有ったのが一度だけっていうところに優しさを感じる。
840デフォルトの名無しさん:2014/06/22(日) 23:17:30.53 ID:sY6SZ6hh
S式のようにC風構文木でかけるLllong
https://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みたいなのもあるけど、普通そこまで手が回らないよね。
841デフォルトの名無しさん:2014/06/23(月) 00:51:58.32 ID:sN8Q1H3I
unboxingはかなりめんどくさい。
842デフォルトの名無しさん:2014/06/24(火) 01:16:27.47 ID:oT03fc5s
C言語でlisp処理系の実装で文字列ストリームをtmpファイルを使って実現するのってまずい?
/tmp/hogehogeみたいな場所に置けば楽に出来そうだと思ったんだけど
843デフォルトの名無しさん:2014/06/24(火) 01:54:26.46 ID:BELul5eB
なんでファイル生成なんて重くて時間のかかる処理を効率的であるべき箇所に盛り込もうとするかな
844デフォルトの名無しさん:2014/06/24(火) 01:54:46.50 ID:owlQj1Y7
なんでマズいかもと思うの?
845はちみつ餃子 ◆8X2XSCHEME :2014/06/24(火) 02:39:04.86 ID:a+S1HEt3
文字列の処理は頻出するので性能面では著しく不利になるのは確か。 桁が違う。
実装した処理系を文字列処理にはあまり使わないと割り切ることが出来るなら手っ取り早い実装方法として選ぶのも有りと言えば有りかな。
ただ、そもそもの話として本当に一時ファイルを使う方が実装が簡単とは限らないよ。
OS やらランタイムライブラリのおかげでファイル操作に関しては普段は高レベル API を使えるけど、
立ち入ったことをしようと思うとなかなか大変なこともあったりするよ。
846デフォルトの名無しさん:2014/06/24(火) 17:02:30.76 ID:jjJVFw7G
うーんreadやprintでFILEをそのまま使う書き方をしてて
そこを書き換えずに出来ると思ったんだけど遅くなるし駄目か
847はちみつ餃子 ◆8X2XSCHEME :2014/06/24(火) 19:51:33.28 ID:a+S1HEt3
CRT の I/O バッファリングはあまり性能がよくなかったり、
細かい制御が出来なかったりするので、
独自にバッファリング処理をやってる処理系はあるね。
そのバッファリング処理部分に統合する形で文字列ポートを実装するのが妥当だと思う。
用途による選択の余地はあるものの、これが一番普通の選択だと思う。


なるべく CRT に委ねるというポリシーなら、
メモリをファイルのように見せる機能が OS にあったりするので、
そういうのを使うことも出来る。
fmemopen とか。
環境依存になっちゃうけど。


繰返しになるけど、遅いことを許容するというのも方法のひとつだよ。
848デフォルトの名無しさん:2014/06/24(火) 21:42:20.70 ID:jjJVFw7G
> 独自にバッファリング処理をやってる処理系はあるね。
> そのバッファリング処理部分に統合する形で文字列ポートを実装するのが妥当だと思う。
> 用途による選択の余地はあるものの、これが一番普通の選択だと思う。
これ良さそうだけど色々と面倒な事をしないといけない気がして億劫

fmemopenが良い感じに手を抜けそうだからこれにしようかな
849デフォルトの名無しさん:2014/06/24(火) 23:11:23.60 ID:IRE6j+YL
手を抜きたいならLispで書くのが一番だが。
リストと固定長文字列あれば可変長キューは簡単に実装出来るでしょ。
850デフォルトの名無しさん:2014/06/27(金) 10:42:38.13 ID:LpHIOZTv
親切な方教えて
あるシンボルが関数シンボルかどうかを調べる方法はありませんでしょうか?

仮にそういう関数を(func? x)とすると
(deifne ++ (lambda (n) (+ n 1)))
としてあるとき

(func? '++) ->#t
(func? '+ ) -> #t
(func? 'no-such-function) ->#f
となるような関数があると便利なんですが
851デフォルトの名無しさん:2014/06/27(金) 11:08:16.46 ID:iQ4reeO8
procedure: (procedure? obj)
returns: #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
852デフォルトの名無しさん:2014/06/27(金) 13:14:21.84 ID:1+Sp/Gzh
>>851
ありがとう
勉強します
853デフォルトの名無しさん:2014/06/30(月) 18:43:43.06 ID:5Vn4Dhv3
無知ですいませんが、
The 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.

の訳をお願いします
854デフォルトの名無しさん:2014/06/30(月) 20:28:06.61 ID:wZwybvKf
本文の文脈は参照してない。

関数が正しく良い設計ならば理解することはたやすい。
そして今回のような場合には悪くしてしまうことも防いでくれる。
855デフォルトの名無しさん:2014/06/30(月) 20:46:34.27 ID:by3cNm9P
>>853

When functions are correct and
well-designed,, we can think about them
easily

関数がきちんと動くだけでなくてな、加えて良くデザインされてるとな、定義を読んで理解しやすいものや


And that saved us this time from getting it wrong.
ほんでなあ、するとや、よいデザインで読みやすいいうもんは、関数の定義、機能を誤解しにくくしてくれるんやで
どや!えらいもんやろ。チンチンいじりなごらでええから
よおくかみしめるんやで
856デフォルトの名無しさん:2014/06/30(月) 20:50:24.66 ID:uMTdbn6C
広島弁でお願いします><
857デフォルトの名無しさん:2014/06/30(月) 20:58:01.10 ID:EFKBauf6
>>856
関数がちゃんと動くだけじゃのぉてね、ええデザインしてあったら定義を読んで理解しやすいよねぇ?
じゃけぇね、チンチンいじりなごらでええからいじりなごらでええけえよぉ考えんさい

で、どない?
858デフォルトの名無しさん:2014/06/30(月) 21:00:43.40 ID:uMTdbn6C
>>857
ありがとうございます><
859デフォルトの名無しさん:2014/06/30(月) 23:35:46.72 ID:5Vn4Dhv3
>>854
>>855
ありがとうございます
すっきりしました
そして見返した後こんな翻訳もできない自分に嘆きました
860デフォルトの名無しさん:2014/07/01(火) 10:16:22.99 ID:2qZFGtO8
The Little Schemer では procedure ではなく function になってるのは歴史的経緯?
861デフォルトの名無しさん:2014/07/01(火) 11:07:13.30 ID:tCdQNvHm
The Little Schemerの範囲なら関数と呼んでも特に問題ないでしょ。
いつも専門用語的な狭い範囲の用法として理解しない方がいい。
専門家が他国語を理解する時に陥りがちな誤りの一つ。
862デフォルトの名無しさん:2014/07/01(火) 12:14:45.10 ID:29jmPgpF
もともとのThe Little Lisperでfunctionと表記してたのが
改訂版のThe Little Schemerにそのまま引き継がれたんだろう
前者と後者では言語も違うが章の構成も違う
863デフォルトの名無しさん:2014/07/01(火) 19:20:41.62 ID:mAs7CsRJ
というかなぜSchemeは「function」しなかったのだろうか
864デフォルトの名無しさん:2014/07/01(火) 19:51:35.85 ID:mAs7CsRJ
「function」

「function」と
865デフォルトの名無しさん:2014/07/01(火) 20:33:26.18 ID:lJh4uqZb
SteeleとSussmanはSchemeはpure functionalじゃないことを意識してた。
だから"Lambda: The Ultimate Imperative"なんて論文があるわけ。
866デフォルトの名無しさん:2014/07/02(水) 00:04:14.82 ID:tskje/aN
>>865
なるほどなありがとう
867デフォルトの名無しさん:2014/07/07(月) 05:30:43.53 ID:Aa65Kzdk
The Little Schemer の9章からもうわけわかめ
なにがどういうことだ
868デフォルトの名無しさん:2014/07/07(月) 10:44:27.44 ID:6jHTZgwa
9章では「継続」を扱っている
テキストでつまづいたら
環境とかクロジャーとかを勉強してから戻るといいかも
869デフォルトの名無しさん:2014/07/08(火) 13:59:01.83 ID:a1kWYHEe
文字列をシンボルのリストにする方法、あるいは文字をシンボルにする方法を教えてください
870デフォルトの名無しさん:2014/07/08(火) 14:38:21.78 ID:tVqE3TJ/
>>869
;;; 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
871デフォルトの名無しさん:2014/07/08(火) 17:43:31.75 ID:S7U1xSIY
>869
文字列からシンボルのリストってどゆこと?
872デフォルトの名無しさん:2014/07/08(火) 17:51:48.68 ID:yHecLF2P
onlispにそのまんまのコードが書いてある

(defun explode (sym)
(map 'list #'(lambda (c)
(intern (make-string 1
:initial-element c)))
(symbol-name sym)))
873デフォルトの名無しさん:2014/07/08(火) 18:54:16.36 ID: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)
874デフォルトの名無しさん:2014/07/08(火) 21:17:13.05 ID:EztOR/qg
(define (string->symbols x)
(map string->symbol
(map (lambda (x) (list->string (list x)))
(string->list x))))

(define (char->symbol x)
(string->symbol
(list->string (list x))))
875デフォルトの名無しさん:2014/07/08(火) 23:43:49.49 ID:6BFgvYzx
>>874を読んで質問の意味がわかったw
876デフォルトの名無しさん:2014/07/09(水) 00:07:52.04 ID:pI9bDyIl
ターミナルで動かすGNU/Clispについて質問があります。
二行に渡るコードを書くときに、改行がCTR+ENTERでできることは知っているのですが、インデントや、行をまたがったカーソルの移動はどうすれば良いのでしょうか?
バックキーを入力したのでは、その行しか消せません。
矢印キーも同様です。ググっても乗っていませんでした。
よろしくおねがいします。
877デフォルトの名無しさん:2014/07/09(水) 01:18:15.86 ID:7kGfnEUA
質問ですが
CommonLisp系統のLisp-2(名前空間が関数と変数で別)である理由は何ですか
878デフォルトの名無しさん:2014/07/09(水) 01:20:19.24 ID:/8/fqD8z
>>877
そっちの方がいいと思ったからだよ
879デフォルトの名無しさん:2014/07/09(水) 01:25:02.28 ID:7kGfnEUA
>>878
聞きたいのはその理由ですよ
880デフォルトの名無しさん:2014/07/09(水) 10:17:01.51 ID:ybj7t72x
LispがLisp-1的世界を切り開いてきた。
それまではなかった。
多分ドメインを別にする習慣のあった数学の影響と
初期の機械語プログラミングの困難さから。
Turingマシン、ノイマン型、Lispという計算機科学の系譜が
計算機工学の中では、ほそぼそとしたLisp-1的流れだった。

最初からLisp-1でよかったじゃんと思う人がいるのは、
それだけ世の中にfunctional programmingが普及してきたという事。
ただ歴史的には、Lispが開発された頃、
Lisp-1的言語は普通じゃなかった。
881デフォルトの名無しさん:2014/07/09(水) 14:08:21.19 ID:2vgwjaN4
といったような怪しげな知ったか説とかは読まずに、
まずは Technical Issues of Separation in Function Cells and Value Cells
ttp://www.nhplace.com/kent/Papers/Technical-Issues.html
読むことだな。
882デフォルトの名無しさん:2014/07/11(金) 01:24:30.06 ID:3pyQUcUp
Yコンビネータ全くわからんぞ
だれか教えてくりー泣
883はちみつ餃子 ◆8X2XSCHEME :2014/07/11(金) 10:08:23.03 ID:Upi0fow3
その気持はよくわかるけど、教えてもらってわかるというたぐいのものでもないような。
結局は定義をしつこく読むくらいしかないよ。
884デフォルトの名無しさん:2014/07/11(金) 11:46:59.41 ID:VezMxowA
いくつか方法がある。

(1) 実装として。S・Kコンビネータ計算を実行する処理系を書いてみれば、
 そのようなコンビネータの一種としてYもSやKと同様に作れる。
(2) 意味論から。再帰的関数を再帰の代わりに不動点として定義するのに
 使われる不動点コンビネータがYである、という所から。

あまりこだわらず、周辺をいろいろ攻めているうちにわかってくると思う。
885デフォルトの名無しさん:2014/07/11(金) 22:51:34.12 ID:Z7eZP0Q+
Yは一旦諦めてZをそれらしく実装してみるところから始めてみるのも手かな
886デフォルトの名無しさん:2014/07/12(土) 00:00:53.38 ID:mfnHcGNO
Yコンビネータは同じく全く理解できなかったけど、「On Lisp」後注の半ページほどの説明を読んだら、すっと理解できた
(意味論とか難しいことを言われると本当に理解できているのか怪しいが…)

しかし、Webの草稿置き場のものには残念ながら後注は無いようだ
887デフォルトの名無しさん:2014/07/12(土) 02:21:31.47 ID:cPaFHRXY
世界の料理ショーを見てわかった(嘘
888デフォルトの名無しさん:2014/07/12(土) 05:25:06.81 ID:I/natbqe
うーむ
そろそろThe Little Schemerの
8. Lambda the Ultimateに入る俺としては緊張するな継続にYコンビネーターか。
なんのことやら知らんけど
今までのところは楽しくやってきたが
なんか難しめのことらしいな
そんなの初級でやるのか、リトルスキーマー君
889デフォルトの名無しさん:2014/07/12(土) 21:28:02.87 ID:82KGraai
ラムダ計算の世界で再帰ができるってだけの話じゃないの?
数学的には無数にある不動点コンビネータの一つであるとかなんとかいろいろあるだろうけど
890デフォルトの名無しさん:2014/07/13(日) 00:41:18.15 ID:DviLtq/a
>>889 に一票。
手動で展開していって確かに再帰になることを確認したらそれでいいと思うよ。
891デフォルトの名無しさん:2014/07/13(日) 02:15:27.09 ID:tCxzigJl
なんでSchemeにはloopマクロがないの?
racketのforとかsrfi-42とか名前変えてるのは
何故?
892デフォルトの名無しさん:2014/07/13(日) 16:51:40.40 ID:vSn+Bfku
なければ作ろう!
893デフォルトの名無しさん:2014/07/13(日) 17:18:41.81 ID:6sD1pyHJ
俺はnilがいいなあ
Common Lispに戻ろうかなあ 
894デフォルトの名無しさん:2014/07/13(日) 18:49:14.08 ID:DviLtq/a
loopマクロみたいな巨大なものが srfi 的なやり方で合意が取れるとは思えないんだよなぁ…。
895デフォルトの名無しさん:2014/07/14(月) 14:05:15.38 ID:IJfuG6Dx
ffiというとC言語しかみないのですが
Javaと連携できるのがkawaとか一部しかないのって
何か理由があるのでしょうか
896デフォルトの名無しさん:2014/07/14(月) 21:14:37.30 ID:kj3eN9zy
いいモノは人には教えないという人間の性が理由
897デフォルトの名無しさん:2014/07/14(月) 22:18:45.12 ID:ZbaucCCO
>>895
kawa が Java と連携できるのは、Scala や JRuby 等と同様に
Java VM 上で動く Scheme 実装だからというのが理由

それに当てはまらない(Java VM 以外の手段で実装された)処理系の場合は、
JNI を介して連携することになるけど、「苦労の割に得る利益が少ない」から普及しない
たとえば過去には Apple が Java-Cocoa(ObjC) 連携を試みたけど、
ずいぶんと前に廃止した(かろうじて WebObjects が残っている?)

まとめると Java の膨大なライブラリ/フレームワークは魅力的だけど、
それを活用したいなら(kawa のような)JVM前提の処理系へ魂を売り渡しなさい、ってこと
898デフォルトの名無しさん:2014/07/14(月) 23:42:12.30 ID:KE4932Hs
それもユーザ数が多ければ手間をものともせずにやっちゃうような酔狂な人が現れたりもするんだけど、
マンパワー不足はマイナー言語の性というもの
899デフォルトの名無しさん:2014/07/15(火) 04:49:20.51 ID:f8ICcK+4
Schemeに拘らないならABCLとかClojureってのもあるぞ>>895
900デフォルトの名無しさん:2014/07/16(水) 12:29:19.97 ID:+D4/arqt
>>899
だよね。
これ以上何が必要なのか分からん。
901デフォルトの名無しさん:2014/07/16(水) 12:30:22.22 ID:+D4/arqt
>>898
pythonだって別実装は大した数じゃないよ。
902デフォルトの名無しさん:2014/07/16(水) 21:26:35.12 ID:KbQ0+KaX
>>900
末尾再帰最適化
903デフォルトの名無しさん:2014/07/16(水) 23:51:45.48 ID:OHagA9er
IBMのJVMは末尾呼出し最適化してくれるらしいけど、対応してる実装ってあるのかな。
ちなみにclojureのバイトコードは、最適化される形にはならなかった。
http://www.ibm.com/developerworks/jp/java/library/j-diag8/
904デフォルトの名無しさん
tail callはまだ仕様になってない。
byte code verifierの仕様が変わるから深刻。