Lisp Scheme Part36
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2013/03/13(水) 19:50:42.79■前スレ
Lisp Scheme Part35
ttp://toro.2ch.net/test/read.cgi/tech/1348018916/
■テンプレ
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 #2【JVM】
ttp://toro.2ch.net/test/read.cgi/tech/1318498898/
【魔法】リリカル☆Lisp【言語】
ttp://toro.2ch.net/test/read.cgi/tech/1183396621/
0002デフォルトの名無しさん
2013/03/13(水) 19:51:38.49ttp://www-inst.eecs.berkeley.edu/~cs61a/sp12/book/index.html
0003デフォルトの名無しさん
2013/03/13(水) 22:23:43.040004デフォルトの名無しさん
2013/03/13(水) 23:19:58.29私がこの世界に求める優しさのすべて―
それがLispなんだと。
あぁ この世界の女性がみんなLisperになったら
なんてすてきな世界なんだろうと考えました。
レトルトカレーしか作れぬお前がLisperになったところで
そ れ は L i s p e r で は な い !
0005デフォルトの名無しさん
2013/03/13(水) 23:34:09.59そんなんだから女に優しくされないんだよ
0006デフォルトの名無しさん
2013/03/14(木) 00:50:25.480007デフォルトの名無しさん
2013/03/14(木) 01:15:03.02のは、できるプログラマーに好かれるだけでは十分ではなく、そうではないプ
ログラマーにも敷居の低いことは要件なんですよね。逆に言うと圏論や型推論
など、一般のプログラマーには難しい理論を要求する言語というのは普及は難
しいのではないでしょうかね。もちろん完全に隠し込めればいいのでしょうが、
コンパイルエラーやデバッグなどで顔を出す限りはなかなか難しい。というわ
けで頭の良い方々が推奨されるプログラミング言語については、その普及とい
う点では否定的に見ております。なお、アカデミアのプログラミング言語を専
門とする研究者(特に優秀な研究者)が設計した言語が大きく普及しないという
のも、この辺りに遠因があるのではないかと邪推しております。
0008デフォルトの名無しさん
2013/03/14(木) 01:32:17.41こうかくとまで読んだ
0009デフォルトの名無しさん
2013/03/14(木) 02:40:53.89cKanrenって見捨てられてしまうの?
自分のプログラムで使いまくってのだけど
バグとかあっても自力で直さないと誰も直さないのかな
0010デフォルトの名無しさん
2013/03/14(木) 04:47:42.42i=99 ; history | tail -n ${i} | less ## on bashかな。変数iをhistory-tailとしておくと!英数字
で頭文字から始まる文字列の直前の履歴コマンドを実行するからこっちの方が便利か。例!history-t
lispで表すと((lambda (i) (less (tail :n i (history)))) 99) ;; on lisp で。Linuxってlambda的
なのか、lispが表現力豊かなのか。Linuxはlisp的であるという気づきは、lisp的考える事が好きな
ので嬉しい気づきだ。コマンドラインもlispで考えていいなんて。
あとこれ、地上最強の言語Cで表すとどうなるの?
0011デフォルトの名無しさん
2013/03/14(木) 08:04:00.650012デフォルトの名無しさん
2013/03/14(木) 13:19:21.00x=3 ; time nice -n ${i} xz -d -${x} ${j}${x}${k} ; \
x=6 ; time nice -n ${i} xz -d -${x} ${j}${x}${k} ; \
x=9 ; time nice -n ${i} xz -d -${x} ${j}${x}${k} ## on bash
0013デフォルトの名無しさん
2013/03/14(木) 13:21:29.61((lambda (i j k l) (mapcar
(lambda (x) (time (nice :n i (xz -d x
(string-renketsu j (integer->string x) k))))) l))
19 "~/bm/" "/10MiB.iso" '(1 3 6 9)) ;; on lisp
0014デフォルトの名無しさん
2013/03/14(木) 13:35:22.32lambdaを使えるようになるとREPLがより便利に感じるし、依存度が増すね。Python2をちょっぴり
かじったんだけど、その時にREPLは便利だと感じていたけど、lispのREPLを使うようになってもう一
0015デフォルトの名無しさん
2013/03/14(木) 14:09:48.090016デフォルトの名無しさん
2013/03/14(木) 14:15:12.78lambdaを使った事ない人にlambdaの効用を説明するポイントはワンライナーで書けて楽って事だよね。
wikipediaのlambdaのページを紹介されたら引くわ。
書いて思ったけど、lispは表現力豊かなのか。表現力豊か度で言うと三強はなんなんだろ。
0017デフォルトの名無しさん
2013/03/14(木) 14:32:32.220018デフォルトの名無しさん
2013/03/14(木) 14:36:53.140019デフォルトの名無しさん
2013/03/14(木) 15:52:03.95おま、それ言うなよ
0020デフォルトの名無しさん
2013/03/14(木) 17:38:57.26女性も再帰的に男性に優しくされたいワナ。
優しくしてくれるのは世界でlispだけだと割り切って、女性に再帰的に優しくしてやれ。
>>9
リンク未見。コミットして、手の届く範囲だけメンテすればいいんじゃないの。
>>15
オナニーは最大1日1回まで
>>17
あなたがね
0021デフォルトの名無しさん
2013/03/14(木) 17:46:44.15プログラミングしたいだけなのに、いきなり大学数学みたいな話になるのが良くないと思う。
個人的には小学校のドリルみたいなのをたくさんやらせるとLispにハマると思うんだけどね。
lispを使わなくなっても高機能電卓としては使ってしまうでしょ。bashで((2 ** 10))みたいな事
できるけど。もっと凝った事ができるのか、不明。表現力の最大限界はどんなもんなんだろ。
0022デフォルトの名無しさん
2013/03/14(木) 17:59:58.84>>18-19
let構文使うとタイプ量が多いし、変数は可変でletあたりまでタイプして改変するのが面倒臭い。
ケータイメールで前略ないって起こる人か?
あと>>18-19みたいなのが外部からの新規者を排他的に排除する信者って奴だ。let構文書けるように
なったのにそういう事は気が回らないのか。
信念持って排他しているなら肯定してあげるわ。
0023はちみつ餃子 ◆8X2XSCHEME
2013/03/14(木) 18:05:22.31すまんが言いたいことをもうちょっと推敲してから書込んでくれんかな。
0024デフォルトの名無しさん
2013/03/14(木) 18:16:29.58俺も最初はそう思いこんでたが、よく考えてみると自分の考えが稚拙だっただけで
一人空回りしていたというのがほとんどだった。
0025デフォルトの名無しさん
2013/03/14(木) 18:40:00.21世の中で使われるソフトひとつろくに作れないのに
0026デフォルトの名無しさん
2013/03/14(木) 19:08:50.27ここにいる人はみんなこれぐらい書けますよ
for x in 1 3 6 9; do i=19; j="~/bm/"; k="/10MiB.iso"; time nice -n ${i} xz -d -${x} ${j}${x}${k}; done
もっと頑張りましょう
0027デフォルトの名無しさん
2013/03/14(木) 19:20:32.72選民意識とは逆だと思う。
彼等に選民意識を感じるとしたらそれはおそらく鏡像ではないかな。
0028デフォルトの名無しさん
2013/03/14(木) 19:23:50.160029デフォルトの名無しさん
2013/03/14(木) 19:52:15.310030デフォルトの名無しさん
2013/03/14(木) 19:55:14.16本当にすごいと思っているならLispを使うだろ
0031デフォルトの名無しさん
2013/03/14(木) 19:56:14.59Lisperとかはプログラミングというものの捉え方がかなり違うから他と話がかみ合わない事があるんだよ。
上下という事ではなく、男女、犬猫くらい違う。
0032デフォルトの名無しさん
2013/03/14(木) 20:12:56.710033デフォルトの名無しさん
2013/03/14(木) 20:13:49.980034デフォルトの名無しさん
2013/03/14(木) 20:30:13.400035デフォルトの名無しさん
2013/03/14(木) 20:31:34.760036デフォルトの名無しさん
2013/03/14(木) 20:33:09.070037デフォルトの名無しさん
2013/03/14(木) 20:34:54.830038デフォルトの名無しさん
2013/03/14(木) 20:41:24.19そのLisp処理系はグレアムが実装した。
前のバージョンのグレアムがだ。
信じられるかい?そんなこと。
俺は信じないね。
けどLispならそれに近いことは出来るだろうな。
0039デフォルトの名無しさん
2013/03/14(木) 20:45:05.690040デフォルトの名無しさん
2013/03/14(木) 20:50:55.310041デフォルトの名無しさん
2013/03/14(木) 21:17:33.70私は納品するときは逆に一行にしてる
0042デフォルトの名無しさん
2013/03/14(木) 21:44:30.32・天はリスパーの上にリスパーを作らず
リスパーの下にリスパーを作らず
・リスパーの道はリスプ
・リスプの起源は韓国
まあ色々な格言があるけど、それくらい凄いってわけだ。
0043デフォルトの名無しさん
2013/03/14(木) 21:57:28.210044デフォルトの名無しさん
2013/03/14(木) 22:02:38.81儲かって会社を作る学生が続出したそうな
ビジネスで成功するには特別な才能がなくても大儲けできる
時と場所に居合わせるのが重要
グレアムとダン子飼いはその典型例
グレアムなんて今じゃ新言語ひとつ普及さえることのできない程度の能力
0045デフォルトの名無しさん
2013/03/14(木) 22:02:49.210046デフォルトの名無しさん
2013/03/14(木) 22:07:06.84見えた時にモノに出来なきゃあ、UFOか雪男かrmsを見たと言ってるのと変わりはない。
じゃあモノにするにはどうしたら良いかかって?
まずは世界の料理ショーを欠かさず見ることだHahaha
0047デフォルトの名無しさん
2013/03/14(木) 22:08:58.630048デフォルトの名無しさん
2013/03/14(木) 22:11:47.26便所の落書き以下の駄文を書いて小銭を稼いでいるのが残念な人
0049デフォルトの名無しさん
2013/03/14(木) 22:12:46.860050デフォルトの名無しさん
2013/03/14(木) 22:13:40.83もうmixiの時代は過ぎておる
0051デフォルトの名無しさん
2013/03/14(木) 22:18:38.98Javaだって物凄く時間がかかったし金もかかっただろう。
Rubyみたいにはなかなか成功するもんじゃないと思う。
例えばBrainfuckなんてまるで普及してないよな。
おっと例えがおかしいとか言いっこなしだぜHahaha…
0052デフォルトの名無しさん
2013/03/14(木) 22:28:27.130053デフォルトの名無しさん
2013/03/14(木) 22:31:40.67RubyとかPython程度の小変更ですら移行できないでいるし
0054デフォルトの名無しさん
2013/03/14(木) 22:33:36.55凄いっつうかヤバイ。Lispヤバイ。
0055デフォルトの名無しさん
2013/03/14(木) 22:41:25.550056デフォルトの名無しさん
2013/03/14(木) 22:41:50.86俺なんかこの3ヵ月間、客先で運用の立ち会いしたが
9割方お茶飲んでネットやって、お菓子食って、鼻くそほじって、
、、やることなかったからな。
一度、客が全員後ろ向いた瞬間にバグフィックスと機能追加したくらいで。
Lispがエレガント過ぎるせいでそうなっちゃうんだ。
いつか後ろ向いてる間にこそっと乗っ取りしてしまうかもしれない。
あ、こういうのが選民意識に見えるのかゴメン。
鼻くそほじったってのは嘘だから。
0057デフォルトの名無しさん
2013/03/14(木) 22:43:10.49その証拠はPrologで書かれてるんですね。
0058デフォルトの名無しさん
2013/03/14(木) 22:46:05.730059はちみつ餃子 ◆8X2XSCHEME
2013/03/14(木) 22:47:40.30一旦普及したならその後でそこそこのところまでは改善されるだろうという期待も込みだからね。
http://chasen.org/~daiti-m/text/worse-is-better-ja.html
0060デフォルトの名無しさん
2013/03/14(木) 22:48:11.790061デフォルトの名無しさん
2013/03/14(木) 22:49:43.020062デフォルトの名無しさん
2013/03/14(木) 22:49:47.750063デフォルトの名無しさん
2013/03/14(木) 22:53:09.47> 宇宙はLispでは書かれていないって証拠があるみたいよ
神様がそうやってlisperに不安定な感じにしているのよ
0064はちみつ餃子 ◆8X2XSCHEME
2013/03/14(木) 22:55:00.670065デフォルトの名無しさん
2013/03/14(木) 23:00:50.010066デフォルトの名無しさん
2013/03/14(木) 23:04:33.530067デフォルトの名無しさん
2013/03/14(木) 23:10:48.720068デフォルトの名無しさん
2013/03/15(金) 00:05:15.380069デフォルトの名無しさん
2013/03/15(金) 00:08:15.66(何かの)信者になる奴が排他的であって、(* 2ch lisp)になるとその奴の排他性が強化されるん
じゃない。
>>26
添削だけだとつまらんからネタ投下してよ
>>27
(+ 1 1)がそんなに難しいかな?
(+ 1 1)を選民思想と言われても。
0070デフォルトの名無しさん
2013/03/15(金) 00:13:07.360071デフォルトの名無しさん
2013/03/15(金) 00:16:41.23実用性の選択肢として入っていない話か。実用性アピールがまだ弱いのかね。
>>30
M社は欠陥OSを売って、みんなに喜ばれているからな。
>>46
深いね
>>50
ICQ関連アプリで儲けてやる
0072デフォルトの名無しさん
2013/03/15(金) 00:28:42.95Java、時間かかったよね。
超概算でいくらかけたんだろ。
>>60
人工知能の定義は? 拡張性はどこまでありなの? CPUとメモリとインターネットと電気だけだと
ほぼ植物人間だよな。あと賢いの定義は?
0073デフォルトの名無しさん
2013/03/15(金) 00:31:17.40スピンアトップ・スピンアトップ・スピンスピンスピンとか読んで理解できるの?
0074デフォルトの名無しさん
2013/03/15(金) 00:31:23.440075デフォルトの名無しさん
2013/03/15(金) 01:14:31.100076デフォルトの名無しさん
2013/03/15(金) 14:28:16.560077デフォルトの名無しさん
2013/03/15(金) 22:59:03.64統計処理すれば問題の文末の語尾だけで解答を特定できそうな気がする
0078デフォルトの名無しさん
2013/03/16(土) 07:36:07.282chブラウザにベイジアンフィルタ作るお仕事ですね。
0079デフォルトの名無しさん
2013/03/16(土) 07:37:42.79今年のセンター試験国語で出題された問題な
0080デフォルトの名無しさん
2013/03/16(土) 07:41:58.540081デフォルトの名無しさん
2013/03/16(土) 09:13:46.26みたいな。
0082デフォルトの名無しさん
2013/03/16(土) 10:42:10.700083デフォルトの名無しさん
2013/03/16(土) 11:12:56.530084デフォルトの名無しさん
2013/03/16(土) 13:54:52.160085デフォルトの名無しさん
2013/03/16(土) 14:06:00.67ドキュメントを読む時間のない人にはお勧めでない
0086デフォルトの名無しさん
2013/03/16(土) 14:11:28.080087はちみつ餃子 ◆8X2XSCHEME
2013/03/16(土) 16:36:19.74Windows 用のインストーラがあるし、IDE が含まれているので、これだけ入れれば始められるというところは初心者には楽。
機能が雑多に詰め込まれてるのは人によって評価が分かれるかも。
多機能とも言えるし、似たような機能が重複してて美しくないとも言える。
ドキュメントが英語なのは人によってはハードル高いかもしれない。
0088デフォルトの名無しさん
2013/03/16(土) 18:09:37.26>>85の1行目の言い分も分かるけど、>>82のかなりあいまいだけど憶測する用途だと>>83に同意。
で、gaucheで環境は何が鉄板なの?
>>85の用途の具体って何? 2行目の具体は? >>85の言いたい最低限読むべきドキュメントは
何? 推奨で読むべきドキュメントは何?
0089デフォルトの名無しさん
2013/03/16(土) 18:13:53.080090デフォルトの名無しさん
2013/03/16(土) 18:18:03.14べきだよね。値の数が多めに返ってくる分には無視すればいいわけだし。
質問者側も環境の具体と明確になっている用途を明記すべき。
0091デフォルトの名無しさん
2013/03/16(土) 18:25:03.35> 急患さんでーす
>>89は病人なのか。面倒くさいなあ。
青春18きっぷ時期だから被災地に行って、一皮剥いて来てよ。来週中にヤフオクで売りさばけば、
使用した回数分減らした額のほぼ定価で売れる。
0092デフォルトの名無しさん
2013/03/16(土) 18:45:04.33被災地の人をなんだと思ってるんですかね(迫真)
0093デフォルトの名無しさん
2013/03/16(土) 18:46:31.050094デフォルトの名無しさん
2013/03/16(土) 19:02:54.56要するに「初心者向けの処理系といっても色々あるから目的を書けカス」
「互換性がーとかドキュメントがーとかいうならもっと具体的に書け池沼が」
とかそういうことが言いたいのか?
0095デフォルトの名無しさん
2013/03/17(日) 03:57:55.36それとも、初心者でも互換性が問題になることがあるのだろうか
0096デフォルトの名無しさん
2013/03/17(日) 06:41:07.280097デフォルトの名無しさん
2013/03/17(日) 07:43:14.98そんな格好いい物じゃねぇだろw(括弧いい?)
0098デフォルトの名無しさん
2013/03/17(日) 11:51:49.750099デフォルトの名無しさん
2013/03/17(日) 13:44:48.79structでなくてunionというのがわからん
0100はちみつ餃子 ◆8X2XSCHEME
2013/03/17(日) 15:42:38.420101はちみつ餃子 ◆8X2XSCHEME
2013/03/17(日) 16:24:49.94だいたいは自前でビット操作してると思う。
C の規格で未定義の部分に踏込むことになるけど、
Union ではビットタグのレイアウトをコントロールできないので。
0102デフォルトの名無しさん
2013/03/17(日) 23:24:18.42M式かPythonじゃね?
0103はちみつ餃子 ◆8X2XSCHEME
2013/03/17(日) 23:30:12.62http://ncode.syosetu.com/n7632b/
0104デフォルトの名無しさん
2013/03/18(月) 00:15:47.27これって典型的な時間のない人だな
有益なことに費やす時間のない人
0105デフォルトの名無しさん
2013/03/18(月) 00:35:39.07だね。この人、自分の何がおかしいのか全然分からないんだろうな
0106デフォルトの名無しさん
2013/03/18(月) 15:19:04.19何もしないことです 怠惰や失敗への恐れや他人への迷惑への懸念、大元の理由は様々ですが
あそこにいる人たちの共通点は何もしてこなかった事に尽きます
0107デフォルトの名無しさん
2013/03/18(月) 17:37:51.14何話?
0108デフォルトの名無しさん
2013/03/18(月) 19:28:14.76はちみつ餃子たんから小説家になろうのリンクが出るとはおもわなんだw
0110デフォルトの名無しさん
2013/03/19(火) 04:39:33.07スクライブはtexの代わりになるかと思ったらテーブルが描けないとか
Gaucheってその辺どうなの?
0111はちみつ餃子 ◆8X2XSCHEME
2013/03/19(火) 07:38:07.44Gauche 自体にはドキュメントの記述をサポートする機能は特に無いぞ。
言語処理系に何もかも含めてしまうというような気持はないらしくて、
例えば gauche-install も wget, configure, make を呼出すだけの薄いラッパーだったりする。
(小さいファイルひとつで構成されるような Pure Scheme のライブラリでも
configure から呼出してしまうのは大袈裟だからなんとかしたいとどこかで書いてはいたが。)
開発環境全体の面倒を見るタイプの Racket と比較すれば Racket の方が多機能だよ。
そこから話題はちょっとそれるが、
Gauche で書かれたテキストプロセッサってことなら tex-modoki というのがある。
https://github.com/k16shikano/tex-modoki
出力は html だけだし、そんなに高機能でもないけど。
あくまで TeX のモドキという位置付け。
執筆と組版のサポートということならこんなのもある。
https://github.com/yuumi3/GaucheMinDTP
WiLiKi を拡張したシステムを使って執筆して wkihtmltopdf で pdf を生成する。
レンダリングは wkihtmltopdf に丸投げ。
0112はちみつ餃子 ◆8X2XSCHEME
2013/03/19(火) 22:06:26.35http://nomnel.net/blog/st2-gauche/
Eclipse の Lisp サポートなどより期待できるのでは?
長らく Emacs 系か Vi 系の二択だった Lisp 開発環境に新たな勢力が現れて喜ばしい。
0113デフォルトの名無しさん
2013/03/19(火) 22:16:52.70特に頻繁にマウス操作しなければならない点がイライラする
0114デフォルトの名無しさん
2013/03/20(水) 00:09:50.960115はちみつ餃子 ◆8X2XSCHEME
2013/03/20(水) 09:23:16.09http://practical-scheme.net/wiliki/wiliki.cgi?Lisp%3A%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E8%AA%A4%E8%A7%A3#H-1m6dvbw
SmallTalk 風に実行環境全部が統合されてたからうまくいってたのかな。
0116デフォルトの名無しさん
2013/03/20(水) 23:08:34.40(・∀・)イイネ!!
0117デフォルトの名無しさん
2013/03/20(水) 23:33:04.65確実にマウス触るの嫌ななってるわ
画面に没頭してキーボードだけ叩いて脳のクロックが極限までアップしてるときにに、マウスに手を伸ばすと意識が途切れるのが分かる
0118デフォルトの名無しさん
2013/03/20(水) 23:58:03.380119デフォルトの名無しさん
2013/03/21(木) 00:57:29.50逆にCommon LispによるEmacs Lispの実装があれば
今までのelisp資産を生かしたままに現代的なLispの開発がしやすくなるのに。
0120はちみつ餃子 ◆8X2XSCHEME
2013/03/21(木) 07:34:10.120121デフォルトの名無しさん
2013/03/21(木) 12:17:08.17ってのがコンセプトだったと記憶してるんだけど。
ストールマンが生きてる間に完成するのかな。
0122デフォルトの名無しさん
2013/03/21(木) 12:47:28.040123デフォルトの名無しさん
2013/03/21(木) 13:47:11.67GNUは、Unixのプログラムを実行できるようにするつもりだが、Unixとは同一
のものにはならない。(略)おそらく最終的には、いくつかのLispプログラム
と通常のUnixプログラムが1つの画面を共有できるようなLispベースのウィン
ドウ・システムを作る予定である。システム・プログラミング言語としては、
C言語とLispの両方が使用可能になるだろう
http://www.gnu.org/japan/manifesto-1993j-plain.html
0124デフォルトの名無しさん
2013/03/21(木) 15:00:25.82古いな
今だったらC++とPythonかJavaScriptだろう
0125デフォルトの名無しさん
2013/03/21(木) 15:16:46.420126デフォルトの名無しさん
2013/03/21(木) 15:35:19.79初期の配布にはAlgol風の言語のparserが含まれていたはず。
0127はちみつ餃子 ◆8X2XSCHEME
2013/03/21(木) 15:48:41.850128デフォルトの名無しさん
2013/03/21(木) 18:19:00.32C言語に固執してC++を受け入れず
GCC開発陣を苦しめたり
時代おくれな人になってしまったな
0129デフォルトの名無しさん
2013/03/21(木) 18:25:36.58>今までのelisp資産
めぼしいのあるか・・?
0130はちみつ餃子 ◆8X2XSCHEME
2013/03/21(木) 19:07:36.440131デフォルトの名無しさん
2013/03/21(木) 19:41:16.78多いかもしれんが, emacs の buffer edit 機能に頼りきってるアプリが多すぎて
CL的に emacs を実装して互換ライブラを誰かが作らないと無理ちゃう?
0132デフォルトの名無しさん
2013/03/21(木) 19:48:14.94復讐は予測しておくべきだった。
0133デフォルトの名無しさん
2013/03/21(木) 20:08:05.990134はちみつ餃子 ◆8X2XSCHEME
2013/03/21(木) 22:17:40.16xyzzy がほぼ Common Lisp な拡張言語でうまくやってる実績があるわけだから、
Common Lisp ベースなテキストエディタは可能ではあるだろ。
ただ、 Emacs Lisp と共存ってなるとかなり無理はあるよなぁ。
0135デフォルトの名無しさん
2013/03/21(木) 22:18:28.57あの世界のポール・グレアムが最初に学んだ言語でもある。
0136デフォルトの名無しさん
2013/03/21(木) 22:22:09.620137デフォルトの名無しさん
2013/03/21(木) 22:29:51.301993年は改訂であって、オリジナルは1985年
>>123の部分は特に変わっていないはず
0138デフォルトの名無しさん
2013/03/21(木) 22:42:48.260139デフォルトの名無しさん
2013/03/21(木) 23:23:15.68Likeなだけで使い勝手良いかと言われたらうーむな感じ
LispworksのIDEも微妙
アレグロさんは良いけど個人で買うにはめんどくさすぎる
0140デフォルトの名無しさん
2013/03/22(金) 01:06:37.48ttp://www.mit.edu/~raeburn/guilemacs/
CL+CLIMによるEmacsの実装(死んでる)
ttp://common-lisp.net/project/climacs/
死屍累々www
0141デフォルトの名無しさん
2013/03/22(金) 03:30:18.860142デフォルトの名無しさん
2013/03/23(土) 00:50:02.040143デフォルトの名無しさん
2013/03/23(土) 01:12:44.310144デフォルトの名無しさん
2013/03/23(土) 12:19:03.31Elisp で実装された Scheme
0145デフォルトの名無しさん
2013/03/23(土) 17:11:10.070146デフォルトの名無しさん
2013/03/26(火) 03:41:27.830147デフォルトの名無しさん
2013/03/26(火) 04:03:29.230148デフォルトの名無しさん
2013/03/26(火) 13:36:44.000149デフォルトの名無しさん
2013/03/26(火) 14:25:15.81使ってる機能を列挙した方が早いと思う
0150デフォルトの名無しさん
2013/03/26(火) 16:09:44.660151デフォルトの名無しさん
2013/03/26(火) 17:10:27.700152デフォルトの名無しさん
2013/03/26(火) 17:44:36.04その形を指すだけでは他人には伝わらない
0153デフォルトの名無しさん
2013/03/26(火) 18:00:29.410154デフォルトの名無しさん
2013/03/26(火) 18:28:56.170155デフォルトの名無しさん
2013/03/26(火) 18:40:01.250156デフォルトの名無しさん
2013/03/26(火) 19:25:09.15大抵のレポートはorg-modeだけで十分書ける。
0157デフォルトの名無しさん
2013/03/26(火) 19:45:27.22やたら無駄な努力を費やして *mode を作ってくれることじゃないか?
俺は elisp で世間様に公開できるようなものは作った記憶がない
0158デフォルトの名無しさん
2013/03/26(火) 21:21:56.54emacs(向けとしか言いようが無い)の機能を削ってlispをよくしたいってことなのかい?
0159デフォルトの名無しさん
2013/03/26(火) 21:34:41.60プログラミング言語用のモードのこと言ってるの?
0160デフォルトの名無しさん
2013/03/26(火) 22:45:51.320161デフォルトの名無しさん
2013/03/27(水) 03:22:26.66lisp用の統合開発環境のことかと
0162はちみつ餃子 ◆8X2XSCHEME
2013/03/27(水) 11:36:18.520163デフォルトの名無しさん
2013/03/27(水) 18:44:57.280164デフォルトの名無しさん
2013/03/31(日) 13:55:39.35ステップ1つ進めるのに3分ぐらい待つ
何か設定でメモリー使用量を減らせないのだろうか
0165デフォルトの名無しさん
2013/03/31(日) 14:28:36.780166デフォルトの名無しさん
2013/03/31(日) 19:33:47.410167デフォルトの名無しさん
2013/03/31(日) 20:27:57.760168デフォルトの名無しさん
2013/03/31(日) 21:53:36.690169デフォルトの名無しさん
2013/03/31(日) 22:03:44.660170デフォルトの名無しさん
2013/03/31(日) 22:38:10.73それ書くのはLisperでしょ。
0171デフォルトの名無しさん
2013/04/01(月) 06:33:01.85ってどういう意味の構文なのでしょうか
matchマクロを展開したもの眺めてるのですが、ここがわからない
0172はちみつ餃子 ◆8X2XSCHEME
2013/04/01(月) 07:58:00.680173デフォルトの名無しさん
2013/04/02(火) 08:43:30.831
(when false 2)
は1にならないの?
昔のRacketがそんな感じだった気がしたのだけど
0174デフォルトの名無しさん
2013/04/02(火) 09:23:08.100175デフォルトの名無しさん
2013/04/02(火) 10:31:59.350176デフォルトの名無しさん
2013/04/02(火) 14:32:05.330177はちみつ餃子 ◆8X2XSCHEME
2013/04/02(火) 15:21:59.86規格としては未定義。
何らかの値が返ってくることを期待したコードを書いちゃダメ。
とは言え、 REPL のことを考えたらクラッシュ上等ってわけにもいかないし、
意味不明な挙動をしても困るので、
未定義を表すオブジェクトを返す実装は多い。
直前の式の評価結果がたまたまスタックに残ってて返ってきてしまうような実装は有り得るけど、
処理系の公式な仕様ってことはまず無いと思われる。
0178デフォルトの名無しさん
2013/04/02(火) 22:12:28.600179デフォルトの名無しさん
2013/04/02(火) 22:36:21.58例外の一部とすべき
0180はちみつ餃子 ◆8X2XSCHEME
2013/04/02(火) 23:55:46.860181デフォルトの名無しさん
2013/04/03(水) 00:34:15.470182デフォルトの名無しさん
2013/04/03(水) 01:48:33.28逆に、未定義を関数の値域の中の値とするなら、未定義の定義そのものと矛盾するからまた納得いかない
0183デフォルトの名無しさん
2013/04/03(水) 01:51:50.28未定義は例外として関数の値域の中の値とは区別すべき
未実装なら値域のどれかの値を取り得る可能性があるが、未定義は値域の値のどれをも代表しない
0184デフォルトの名無しさん
2013/04/03(水) 02:16:15.08規格として未定義なんだが。
実装は何を返そうとかまわんよ。
それに依存したコードを書いたら他で動くことが期待できんだけ。
0185デフォルトの名無しさん
2013/04/03(水) 05:33:41.09>未定義は、引数が定義域の外にあるという意味
の出典を知りたい。
0186デフォルトの名無しさん
2013/04/03(水) 08:34:02.82>http://www.cs.utah.edu/plt/publications/gpce12-rf.pdf
マクロつきのJavascriptって感じか?
0187デフォルトの名無しさん
2013/04/03(水) 10:20:42.080188デフォルトの名無しさん
2013/04/03(水) 19:31:30.680189デフォルトの名無しさん
2013/04/03(水) 22:36:40.46その典型例がIEEE 754のNaNやC99のfetestexcept(3)。
処理系やライブラリの実装者としては
できるだけ自分の庭の中で処理したくなるのは当然です。
>>182-183
3-Lispはその辺をもうちょっと厳密にやってました。
>>179
値だろうと例外だろうと、ドメインをリフトしない限り、
特別な値/例外を扱う、つまりドメインに埋め込みでやらざるを得ないです。
0190デフォルトの名無しさん
2013/04/05(金) 17:24:15.48gosh> `(1 ,(append '(+ 2) '(3)) 3)
(1 (+ 2 3) 3)
gosh> `(1 ,(+ 2 3) 3)
(1 5 3)
gosh>
こうなるのですが、仕様的にはどういう説明になるのでしょうか?
個人的にはどちらも (1 5 3) になるべきな気がするのですが……
上の方の (+ 2 3) はリストで下の (+ 2 3) は procedure call
などというのは、概念的に変ではないかと
0191デフォルトの名無しさん
2013/04/05(金) 17:30:56.52(+ 2 3)
切り出して考えろよ 結果わかるだろ
0192デフォルトの名無しさん
2013/04/05(金) 17:43:38.73(eval (append '(+ 2) '(3)) (scheme-report-environment 5))
なら結果は5ですよね?
0193デフォルトの名無しさん
2013/04/05(金) 18:23:37.94`(1 ,(eval (append '(+ 2) '(3)) (scheme-report-environment 5)) 3)
それから>>191ももう一度読んでみよう。
0194デフォルトの名無しさん
2013/04/05(金) 19:53:27.49どうにも気色悪いとしか……
gosh> (eval (+ `,(append '(+ 2) '(3)) 1) (scheme-report-environment 5))
*** ERROR: operation + is not defined between 1 and (+ 2 3)
Stack Trace:
_______________________________________
gosh> (eval `,(append '(+ 2) '(3)) (scheme-report-environment 5))
5
gosh>
0195デフォルトの名無しさん
2013/04/05(金) 20:00:37.23何が分からないでもないの?なぜ自分の思いこみを疑わないの?
0196デフォルトの名無しさん
2013/04/05(金) 20:20:23.72みたいな謎の信仰を抱えてそう。
0197デフォルトの名無しさん
2013/04/05(金) 20:32:21.39これはまずいわな。
(+ (+ 2 3) 3)
との違いがわからないんだな。
S式がメタな構造であることがまだざっくりとしか理解できてない。
それから整定数が(eval x) == xであることにもまだ自覚的でないから、
backquoteが展開される時に1と3はquoteされてることにもたぶん気づいてない。
>>196
その逆で自分の気にいるところまで結果を再度evalして欲しいんでしょ?
(list '1 (append '(+ 2) '(3)) '3)の結果が、
(list '1 (+ 2 3) '3)の結果と一緒であって欲しい。
つまり(+ 2 3)をもう一度evalして欲しい。
0198デフォルトの名無しさん
2013/04/05(金) 22:45:20.51(eval '(append '(+ 2) '(3)) (interaction-environment))
を評価すると結果は
(+ 2 3)
になるんだよ すごいね!
これが>>190の一つ目の挙動なんだ
0199デフォルトの名無しさん
2013/04/06(土) 07:29:36.07boost.pythonみたいなもの作ろうとかしてるの?
0200デフォルトの名無しさん
2013/04/06(土) 10:13:05.300201はちみつ餃子 ◆8X2XSCHEME
2013/04/06(土) 13:07:18.09C++ は C と違って ABI がややこしいからめんどくさそう。
0202デフォルトの名無しさん
2013/04/06(土) 14:59:17.60C++ って, 処理系によってとかおなじ処理系によってもバージョン単位で
ABI 違ってたりすることもあるんだけど, C++ そのまま呼ぶわけじゃない
よね?
0203デフォルトの名無しさん
2013/04/06(土) 17:25:36.52Cじゃあるまいし、C++なんてそんなもんですよ
0204はちみつ餃子 ◆8X2XSCHEME
2013/04/06(土) 20:26:52.09でも gc が既に結構アーキテクチャ依存っぽいし、今更か。
0205デフォルトの名無しさん
2013/04/06(土) 20:46:19.65Boost.Pythonはこんなものらしい
0206デフォルトの名無しさん
2013/04/07(日) 03:06:32.19バイナリを作るときはそのC言語のコードをコンパイルするというスタイルで
昔smalltalkでやって完成したから、schemeでもできるはず
schemeの処理系はschemeで表現できるから、これができれば一気に処理系が精錬されるはず
0207はちみつ餃子 ◆8X2XSCHEME
2013/04/07(日) 03:31:15.44他にある?
0208デフォルトの名無しさん
2013/04/07(日) 06:41:44.41もうメンテされてないのまで含めれば、Scheme->CとかHobbit (SCMのコンパイラ)とか、vscmもそうだったかな。
Cを経由する処理系はたくさんあるよ。
ただ、継続の扱いによってCとのインタフェースに違いが出てくるから、単に「C経由してるから
Cから呼ぶのも簡単」というわけにはいかない。
0209デフォルトの名無しさん
2013/04/07(日) 06:53:23.11どれになるんですか?
0210はちみつ餃子 ◆8X2XSCHEME
2013/04/07(日) 09:39:15.660211デフォルトの名無しさん
2013/04/07(日) 12:42:04.230212デフォルトの名無しさん
2013/04/07(日) 13:56:44.16今は事実上3.4以降のABI version 2しかないと思っていい。
オプション指定するとABI壊すコードも吐けるけど。-no-exceptionとか。
これはそうしたい環境があるんだからg++としてはサポートせざるを得ない。
0213デフォルトの名無しさん
2013/04/07(日) 17:57:18.240214デフォルトの名無しさん
2013/04/07(日) 18:38:37.40> これができれば一気に処理系が精錬されるはず
SmalltalkっていうかSqueakのアレは、アラン・ケイたちがVMを全面的に書き直す必要に
迫られながらも、Cで(書くのはともかく)デバッグはしたくないという状況下での苦肉の策であって
http://www.mars.dti.ne.jp/~umejava/smalltalk/squeak/
処理系を洗練させる目的とは違うような気がする。
0215デフォルトの名無しさん
2013/04/07(日) 19:31:27.01バカ大学生たちがschemeで作ったscheme処理系をナメてはいけない
0216デフォルトの名無しさん
2013/04/07(日) 22:26:27.78信じられないような本当の話。
0217デフォルトの名無しさん
2013/04/07(日) 23:03:27.270218デフォルトの名無しさん
2013/04/09(火) 00:00:11.53こんな曖昧な質問でもコメント沢山つくんだな
面白かったけど
0219デフォルトの名無しさん
2013/04/09(火) 01:29:07.610220デフォルトの名無しさん
2013/04/09(火) 22:48:13.59templateで書かれたC++関数を呼んでくれる処理系ってないのでしょうか
template<typename T>
T f(T x){return x;}
みたいな関数をffiから呼びたい
0221デフォルトの名無しさん
2013/04/09(火) 22:54:36.50直接呼びたいとか面倒そうなこと考えてるなら、頑張ってください。
0222デフォルトの名無しさん
2013/04/09(火) 23:18:46.59T f(T x){return x;}
を一度特殊化した後ならどの処理系も読める
f<int>(x)
とか。
0223デフォルトの名無しさん
2013/04/09(火) 23:23:38.040225デフォルトの名無しさん
2013/04/10(水) 09:55:42.07例は実体化した関数だけだから駄目な予感が
0226デフォルトの名無しさん
2013/04/14(日) 20:10:13.86Http://qr. net/kh4y
0227デフォルトの名無しさん
2013/04/15(月) 05:29:24.060228デフォルトの名無しさん
2013/04/16(火) 02:06:42.71ないなら勝手に作れという返答まで出てくるのでLISPコミュニティは嫌いです
0229デフォルトの名無しさん
2013/04/16(火) 02:12:11.270230デフォルトの名無しさん
2013/04/16(火) 02:35:04.190231デフォルトの名無しさん
2013/04/16(火) 11:31:36.75欲しいものが無いなら作ればいいんじゃね?
0232はちみつ餃子 ◆8X2XSCHEME
2013/04/16(火) 11:33:24.73実際に無いことが多いんだもの。
0233デフォルトの名無しさん
2013/04/16(火) 13:47:27.161スレ埋めるより作った方が早くない?って感じで
0234デフォルトの名無しさん
2013/04/16(火) 14:57:40.52ライブラリ設計時に他の言語を参考にしてないのだろうか
0235デフォルトの名無しさん
2013/04/16(火) 21:28:10.65LISPは軍事研究から大学の研究室に解放するときに、ライブラリのいくつかを機密にしてしまったため、ライブラリのいくつかは一から作り直すハメになったという
0236デフォルトの名無しさん
2013/04/16(火) 22:39:40.010238はちみつ餃子 ◆8X2XSCHEME
2013/04/17(水) 12:36:20.31http://sourceforge.net/mailarchive/message.php?msg_id=30733568
0239デフォルトの名無しさん
2013/04/17(水) 18:59:20.53覚え違いかな
0240デフォルトの名無しさん
2013/04/17(水) 21:58:47.79・到底無理
・図表が多いのでページ数の割りに楽勝
・主要部分だけなら十分いける
くらいの感じで言うとしたらどんなもんでしょう>持ってる方
0241デフォルトの名無しさん
2013/04/17(水) 22:38:00.31どんなLispプログラムを書いたことがある?
0242デフォルトの名無しさん
2013/04/17(水) 22:56:09.490243デフォルトの名無しさん
2013/04/17(水) 23:17:13.87読めるよ。でも、手を動かしながら読まないともつたいないよ。
0244240
2013/04/17(水) 23:17:57.67HaskellとMLで関数型言語に対する壁はないのですが…
0245デフォルトの名無しさん
2013/04/18(木) 08:52:22.59その本、おもしろい 大笑いしてしまう
電車の中で読むときは注意
0246デフォルトの名無しさん
2013/04/18(木) 11:04:24.23真面目に考えてるところに余計な物語が入り込んできて思考をぶつ切りに中断させられるのがウザくて仕方がない。
Land of Lisp にも同じ匂いを感じるので今のところ敬遠してるんだけど、
物語部分と説明部分がうまく馴染んで滑らかに繋っているなら楽しく読めそうだとも思っているので、
そういう観点で見てどう思うかを尋きたい。
0247デフォルトの名無しさん
2013/04/18(木) 14:34:26.360248デフォルトの名無しさん
2013/04/18(木) 14:35:21.78ギャル絵が無いから大丈夫かも?
無いよね?
0249デフォルトの名無しさん
2013/04/18(木) 14:47:16.21Wow 絵しかないページがある
0250デフォルトの名無しさん
2013/04/18(木) 15:25:48.930251デフォルトの名無しさん
2013/04/18(木) 16:53:34.250252デフォルトの名無しさん
2013/04/18(木) 18:15:04.850253デフォルトの名無しさん
2013/04/18(木) 21:31:55.46という文の破壊力ってなんなの
0254デフォルトの名無しさん
2013/04/18(木) 22:01:31.03いま見たら404 not foundになってて悲しいんですけど
ttp://letoverlambda.com/
http://web.archive.org/web/*/http://letoverlambda.com/
0255はちみつ餃子 ◆8X2XSCHEME
2013/04/20(土) 01:18:42.870256デフォルトの名無しさん
2013/04/20(土) 02:19:12.04どういう手続きで決めることになってんのかわからん。
0257デフォルトの名無しさん
2013/04/20(土) 02:20:42.670258デフォルトの名無しさん
2013/04/20(土) 10:35:13.26むしろシェイプアップしていくべき
0259デフォルトの名無しさん
2013/04/20(土) 11:26:19.450260デフォルトの名無しさん
2013/04/20(土) 17:24:24.21規格としてモジュールがなかったんで困った。
GaucheがデファクトスタンダードだったけどR7RSで決まったら
それが以後、維持されていってほしい。
0261はちみつ餃子 ◆8X2XSCHEME
2013/04/20(土) 17:41:20.55あと、マクロを生成するマクロで省略子を使えない場面があるのも問題視されてた。
R6RS では (... ...) と書いて展開を抑制する (要はエスケープ) ことで解決してたんだけど、
R7RS (ドラフト) では省略子として使う識別子を別途与える方式。
どちらがいいかは色々意見はあると思うが、 R6RS からあえて変えるほどのものとは思えないんだよな。
0262デフォルトの名無しさん
2013/04/20(土) 22:26:17.070263デフォルトの名無しさん
2013/04/20(土) 23:06:41.440264デフォルトの名無しさん
2013/04/20(土) 23:16:10.34ここに書いてあるように型を手動指定したんだけど
全然高速にならない
型を手動指定したら高速になるような例って
どんなのあるのでしょうか
0265デフォルトの名無しさん
2013/04/20(土) 23:26:41.230266デフォルトの名無しさん
2013/04/21(日) 00:07:47.440267デフォルトの名無しさん
2013/04/21(日) 00:19:21.390268デフォルトの名無しさん
2013/04/21(日) 04:02:06.43そこをソースコードで指示してショートカットしても大して速度向上するとは思わない
携帯端末とかで空間効率を上げるというなら分かるが
0269デフォルトの名無しさん
2013/04/22(月) 01:10:44.950270はちみつ餃子 ◆8X2XSCHEME
2013/04/22(月) 01:14:11.090271デフォルトの名無しさん
2013/04/22(月) 01:35:06.400272はちみつ餃子 ◆8X2XSCHEME
2013/04/22(月) 17:31:56.460273デフォルトの名無しさん
2013/04/23(火) 00:38:49.840274はちみつ餃子 ◆8X2XSCHEME
2013/04/23(火) 00:47:00.960275デフォルトの名無しさん
2013/04/23(火) 01:07:44.190276デフォルトの名無しさん
2013/04/23(火) 02:47:24.850277デフォルトの名無しさん
2013/04/24(水) 01:32:53.050278デフォルトの名無しさん
2013/04/24(水) 02:38:26.860279デフォルトの名無しさん
2013/04/24(水) 10:25:48.21あら、typed racketにもオプティマイザー(デフォルト:オン)があって潜在的に速くなるって書いてある。
ということは実装がまだまだなのかな?
http://docs.racket-lang.org/ts-guide/more.html
#lang typed/racket で切り替えるせいか、アノテーションもスッキリしてるね。
0280デフォルトの名無しさん
2013/04/24(水) 11:23:19.10素朴集合論により導入された矛盾を除去するためのタイプ理論。
0281デフォルトの名無しさん
2013/04/24(水) 12:55:55.44トン。やっぱプログラミングは数学やん‥
0282デフォルトの名無しさん
2013/04/24(水) 12:57:58.470283デフォルトの名無しさん
2013/04/24(水) 13:23:07.09型のない(というか静的に付けられない)λ計算だってあるやん。
Y コンビネータが有名だけど。
0284デフォルトの名無しさん
2013/04/24(水) 13:46:01.21せやせや。俺もおまいも数学やがな。
0285デフォルトの名無しさん
2013/04/24(水) 14:04:44.63プログラミングと数学とが繋がってるのは必然。
計算不可能な領域が有ることが判った後、では計算可能な領域とはどの辺り
なのかを検証しようとした結果、今のアーキテクチャが出来たんだから。
0286デフォルトの名無しさん
2013/04/24(水) 15:15:09.800287デフォルトの名無しさん
2013/04/24(水) 22:21:16.18むしろ、計算機プログラムの分野が null を発明したせいで型の厳密性があやふやになった
0288デフォルトの名無しさん
2013/04/25(木) 01:01:18.350289デフォルトの名無しさん
2013/04/25(木) 01:17:07.97説教の部分だけざっと読んで感動してすませるのもよし
0290デフォルトの名無しさん
2013/04/25(木) 02:07:19.900291デフォルトの名無しさん
2013/04/25(木) 07:22:43.82もっとあやふやなチャーチ数の方が古いです。
0292デフォルトの名無しさん
2013/04/25(木) 07:54:30.360293デフォルトの名無しさん
2013/04/25(木) 09:51:27.430294デフォルトの名無しさん
2013/04/25(木) 09:52:11.670295デフォルトの名無しさん
2013/04/25(木) 10:39:19.900296デフォルトの名無しさん
2013/04/25(木) 10:43:00.73英語は結構いい感じになってきているし。
0297デフォルトの名無しさん
2013/04/25(木) 19:46:23.55あの本そんな面白そうな話が載っているのか。原書買って積んでたけど、開いてみるか…
0298デフォルトの名無しさん
2013/04/25(木) 20:00:03.100299デフォルトの名無しさん
2013/04/25(木) 21:10:18.23ジェネリック型や amb や 遅延ストリームの説明するついでに実装しちゃったという感じ
0300デフォルトの名無しさん
2013/04/25(木) 22:29:21.80新版出てるの出てないのって話もあったような
0301デフォルトの名無しさん
2013/04/25(木) 22:57:00.62これからMITの授業受けようという人が講義ビデオを見るのかね?
0302デフォルトの名無しさん
2013/04/26(金) 03:05:40.06(amb-collect
(let* ((y (list
(list 1 2 3 4 5 11)
(list 6 7 8 9 10 4)))
(x (list
;(apply (cons amb (list-ref y 0)))
;(apply (cons amb (list-ref y 01))
(amb ,@(list-ref y 0))
(amb ,@(list-ref y 1))
)) )
(if (not (= (+ (list-ref x 0) (list-ref x 1) ) 15))
(amb)
(list (list-ref x 0) (list-ref x 1)
))))
0303デフォルトの名無しさん
2013/04/26(金) 03:30:39.940304デフォルトの名無しさん
2013/04/26(金) 04:59:48.060305デフォルトの名無しさん
2013/04/26(金) 10:10:20.150306デフォルトの名無しさん
2013/04/26(金) 18:37:52.96チャーチ数とかラムダ式使った諸々、あとコンビネータとかも、定義通り計算すれば言ってる事は分かるけど、
こんなもんどうやって思いついたんだろうとか思ってしまう。
経緯とか元ネタとかアイデアの素とか分かる本とかサイトとかないですか。
lispっぽく無いからここでその手の話は止した方がいい?
0307デフォルトの名無しさん
2013/04/26(金) 18:59:01.89基本的にどの本もカッチリ理論を攻めていて、緩〜く解説した本ってあまりないんだよね。
0308デフォルトの名無しさん
2013/04/26(金) 19:02:50.93学習者の理解レベルに応じて、記述範囲・詳細度が動的に変化するテキストを作るんだ!
これくらいやって始めて、電子書籍と呼べる。
0309デフォルトの名無しさん
2013/04/26(金) 19:10:44.550310デフォルトの名無しさん
2013/04/26(金) 21:26:53.570311デフォルトの名無しさん
2013/04/26(金) 21:54:27.72もともとチャーチ先生は数学基礎論屋だったから、
数学の基礎付けをするための自分の論理体系を作ろうとしていた。
ところが自分の研究室の学生だったクリーネとロッサーが
その体型に矛盾を見つけてしまったので、
この体系を詳細に調べて、深く掘り下げいこうとした。
その過程で体系の一部分だったラムダ計算だけで充分なことが分かった。
クリーネと共著の論文でチャーチ数を発表してる。
クリーネ自身が「ゲーデルを語る」で話しているが、
チャーチの研究室はチャーチの体系のみ徹底して追及する研究室だったとのこと。
だからこんなに掘り下げることが出来たのだと思う。
上の本にその辺の経緯は少しだけ書いてある。
"The Collected Works of Alonzo Church"は、まだ頓挫中みたい。
0312デフォルトの名無しさん
2013/04/26(金) 22:56:09.73「やだ、恥かしぃ」
「講義ではあんな偉そうに喋ってたのにね」 (クスクス
0313デフォルトの名無しさん
2013/04/27(土) 00:21:07.92それ欲しい。
0314デフォルトの名無しさん
2013/04/27(土) 02:52:29.48読んで身に付いたこと
機械語やC言語を経由しないプログラミング入門
型にタグ付ける方法
scheme処理系の枠組の実装
ambの実装
遅延評価の実装
和田語
0315デフォルトの名無しさん
2013/04/27(土) 03:09:45.96lisp=期待される子、ってことでは?
0316デフォルトの名無しさん
2013/04/27(土) 11:19:21.203 = λf.λx.(f(f(f x))) S 0
ラムダ計算の変換のみでf^nの部分は生み出せないが、
モデル上では帰納的定義によって構築しておくことが可能。
既に集合論上での自然数の構築の例が複数あるから、;;ノイマン版 ∅, {∅}, {∅,{∅}},...
n = λf.λx.(f(f(f x))) としてしまうことを思いついたのだと思う。
本人の回顧によると、若干のチャーチ先生との議論、後はクリーネがほぼ独力で考えたらしいが、
プリンストンでノイマン、ゲーデルのセミナーを聴いていたので、
素の公理上で自然数のモデルを再帰的に構築する手法は体験済みだった。
http://en.wikipedia.org/wiki/Peano_axioms#Set-theoretic_models
http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers
0317デフォルトの名無しさん
2013/04/27(土) 12:15:17.10深く考えたことはないな
0318デフォルトの名無しさん
2013/04/27(土) 14:24:35.50ペアノの公理系とチャーチ数は同じものだと考えていいのかい?
0319デフォルトの名無しさん
2013/04/27(土) 14:41:23.87アーキテクチャに合わせた実装。
> ;;ノイマン版 懼, {懼}, {懼,{懼}},...
これが集合論というアーキテクチャに合わせたバージョン。
succも集合演算で定義できる。
0320デフォルトの名無しさん
2013/04/27(土) 14:43:56.42ついでに
< n = λf.λx.^n x)
と修正
0321デフォルトの名無しさん
2013/04/27(土) 14:48:57.31(), (()), (() (())), (() (()) (() (())),...
(defun succ (n) (append n (list n)))
0322306
2013/04/27(土) 16:53:54.93興味深い話題の紹介ありがとう。
なんか数学の世界のマシン語みたいなところだ、喩えが上手くないかもしれないけど。
また面白そうな世界へのドアを一つ開いてしまったか。。
0323デフォルトの名無しさん
2013/04/27(土) 17:42:03.22ちゃんと閉じれ。
0324デフォルトの名無しさん
2013/04/27(土) 20:54:21.62/|∧_∧|
||. (・ω・´| >>1乙!
||oと. U|
|| |(__)J|
||/彡 ̄ ガチャ
___
/|∧_∧|
||. ( | じゃ、そういうことで
||oと. |
|| |(__)J|
||/彡 ̄ ガチャ
___
| |
| o.|
| |
| |
 ̄ ̄ バタン
0325デフォルトの名無しさん
2013/04/27(土) 23:14:33.360326デフォルトの名無しさん
2013/04/27(土) 23:47:15.620327デフォルトの名無しさん
2013/04/27(土) 23:56:58.300328デフォルトの名無しさん
2013/04/28(日) 08:54:25.53SICPだとモデルって言ってるね。
計算モデルとか関数適用の置換モデルとか。
>>316のwikipediaでも。
通常、実装はさらに一枚現実側の層だから。
けどこの板は実装と言った方が分かりやすそう。
0329デフォルトの名無しさん
2013/04/28(日) 11:22:38.62ttp://shop.oreilly.com/product/0636920025481.do
言語がRubyだが。
0330デフォルトの名無しさん
2013/04/28(日) 12:02:46.18Realm of Racket: Learn to Program, One Game at a Time!
http://www.amazon.com/Realm-Racket-Learn-Program-Game/dp/1593274912/
Publication Date: July 5, 2013
0331デフォルトの名無しさん
2013/04/28(日) 14:21:41.83lolやlearn you a haskell的なノリか
0332デフォルトの名無しさん
2013/04/29(月) 15:34:51.06(amb lst)
)
がうまく動かないのですがマクロを関数化するのってlambdaで囲むだけじゃだめなんですか?
0333はちみつ餃子 ◆8X2XSCHEME
2013/04/29(月) 16:36:45.060334デフォルトの名無しさん
2013/04/30(火) 00:58:58.08を要約すると
>>332
(define (amb-as-function lst)
(apply (cons amb lst))
)
もうまくいかない
0335デフォルトの名無しさん
2013/05/01(水) 01:26:25.200336デフォルトの名無しさん
2013/05/01(水) 09:51:03.21apply の引数たりなくない?
0337はちみつ餃子 ◆8X2XSCHEME
2013/05/04(土) 21:44:17.020338デフォルトの名無しさん
2013/05/07(火) 09:00:38.050339はちみつ餃子 ◆8X2XSCHEME
2013/05/07(火) 10:34:47.49モジールやレコードを入れるのは順当な感じかな。
syntax-rules の改良は当然必要だからアリだろ。
バイトベクタや例外も細かいことは srfi でいいとしても最低限度の共通化は必要だろうし、こんなもんだろ。
datum labels はコアに入れる必要あるかなぁ? ちょっと微妙な気がする。
#true / #false は余計なマネって感じがしないでもない。
0340デフォルトの名無しさん
2013/05/07(火) 10:56:10.78http://ars.els-cdn.com/content/image/1-s2.0-S1570866708000026-gr003.jpg
こういうの記述したいから。図やコードをschemeで生成するために。
0341デフォルトの名無しさん
2013/05/08(水) 19:01:12.440342デフォルトの名無しさん
2013/05/10(金) 04:54:24.69それだけで、こんな感じで論文にできるものなの?
http://ci.nii.ac.jp/naid/110002726064
本当にそれでいいなら論文量産できそうな予感するのだけど
英語だとどんな雑誌あるんだろ
0343はちみつ餃子 ◆8X2XSCHEME
2013/05/10(金) 07:55:04.15掲載されても、それがどう評価されるかは別な話。
0344デフォルトの名無しさん
2013/05/10(金) 10:23:58.59ID:eEqt3xxD!何かアイディアがあって、その有効性を示す例のひとつとしてScheme処理系を作って見ました、
というパターンだね。あるいは、制約のあるシステムを考えて、そこでそれなりに使えるプログラムが
動くことを示す例としてScheme処理系を載せてみました、とか。
0345デフォルトの名無しさん
2013/05/10(金) 10:45:52.34実装系ではSoftware Practice and ExperienceとTOPLAS。
後は雑誌ではないがLisp系のconferenceのproceedings。
0346デフォルトの名無しさん
2013/05/10(金) 11:03:29.06処理系作ったというところより、
Javaと連携可能なScheme処理系で一級継続をうまく実装する方法を考えてやってみたらできたよ
継続持ってない他の言語でも実装可能かもね
というところが主題なんじゃないかなあ…
ちゃんと読んでないから違ってたらすまん
0347デフォルトの名無しさん
2013/05/11(土) 21:55:56.910348デフォルトの名無しさん
2013/05/16(木) 11:52:51.452ちゃんのlispスレとD言語スレの勢いは異常。普通と思ってはいけない
0349デフォルトの名無しさん
2013/05/16(木) 16:42:55.050350はちみつ餃子 ◆8X2XSCHEME
2013/05/22(水) 03:08:49.75投稿されてる作品の割合で異世界系が多いからしょうがないんだろうけど。
0351はちみつ餃子 ◆8X2XSCHEME
2013/05/22(水) 03:09:45.790352デフォルトの名無しさん
2013/05/22(水) 03:11:22.310353はちみつ餃子 ◆8X2XSCHEME
2013/05/22(水) 03:32:57.05ニコニコスクリプトでも Lisp 処理系作ってたりして、
良い意味で変な方向にガッツがあるよね。
そのガッツで教育用ソフトを作ろうと思ってくれたことには感謝したい。
なんだかんだで Lisp が使われないのは今 Lisp で動いているものが少なくて
Lisp に触れる機会が少ないというのは理由のひとつだと思うんだわ。
入口になりうるものがあれば紹介しやすいし、
ただ話題性があるものを提供するだけでも結構効果ありそう。
あとアリサかわいい。
0354デフォルトの名無しさん
2013/05/22(水) 03:47:41.490355デフォルトの名無しさん
2013/05/22(水) 03:59:07.280356デフォルトの名無しさん
2013/05/22(水) 07:42:46.360357デフォルトの名無しさん
2013/05/22(水) 07:57:30.570358デフォルトの名無しさん
2013/05/22(水) 15:45:57.400359デフォルトの名無しさん
2013/05/22(水) 15:46:26.870360はちみつ餃子 ◆8X2XSCHEME
2013/05/22(水) 16:08:56.81リリカルLispをあらためて確認してみたがアリサ・バニングスとは名乗ってないね。
でも鮫島が「バニングス家の科学力は、世界一ぃぃぃぃぃぃぃ――」と言っている場面があるのでリリカルLispのアリサはアリサ・バニングスと断定していいと思う。
>>354
アリサの輝きの前には他の全てはかすんでしまうんです。
0361はちみつ餃子 ◆8X2XSCHEME
2013/05/23(木) 08:15:40.79大半が賛成のようだ。
http://lists.scheme-reports.org/pipermail/scheme-reports/2013-May/003486.html
0362デフォルトの名無しさん
2013/05/23(木) 10:01:22.42とらハの設定がなのはシリーズでどこまで有効なのかよくわかりません。
アリサ・ローウェルは完全に無かったことになったものとしていいと思いますが、
すずかが吸血鬼であるという設定はなのはシリーズでも残っているのでしょうか?
強いて言えばコミックス版でのすずかはかなりの身体能力があるように描写されているのですが、
吸血鬼としての能力という設定なのか、単に優秀ということになっているのかはっきりしません。
なのはシリーズの作中で全く触れられないので設定でどうなっていようと関係ないと言えば関係ないのですが、
二次創作小説では吸血鬼であるという設定にしているものも少なからずあり、たいへん気になっています。
このあたりの設定についてわかる関係者の発言などの情報をお持ちの方がいればぜひ教えて下さい。
それと、恭也と美由希は高町士郎&桃子の実子ではなく養子であるという設定はなのはシリーズでも公式にされているのでしょうか?
もしそうでないとするなら桃子の年齢から言って色々とアレなので二次創作をするにしても考慮しないとならないので…。
0363デフォルトの名無しさん
2013/05/23(木) 10:41:29.460364デフォルトの名無しさん
2013/05/23(木) 11:13:42.170365デフォルトの名無しさん
2013/05/24(金) 11:03:55.050366デフォルトの名無しさん
2013/05/24(金) 11:20:34.03情報処理部
今日のまとめ
Yコンビネーター:難しい
0367デフォルトの名無しさん
2013/05/24(金) 11:43:37.58「これ何て言ってるのかな」
「なんじゃこりゃあ。condの括弧の数あわねえし」
0368デフォルトの名無しさん
2013/05/24(金) 12:59:31.960369デフォルトの名無しさん
2013/05/24(金) 15:29:30.850370はちみつ餃子 ◆8X2XSCHEME
2013/05/26(日) 13:36:54.53http://www.bookoffonline.co.jp/old/0012734475
「定価より \290 おトク!」って…。
まぁ値段分の価値はあると思うが…。
0371デフォルトの名無しさん
2013/05/26(日) 14:03:00.700372デフォルトの名無しさん
2013/05/26(日) 14:23:00.240373デフォルトの名無しさん
2013/05/26(日) 14:24:28.15円が2割くらい価値を失ったから仕方ないのだが。
0374デフォルトの名無しさん
2013/05/26(日) 15:33:53.180375デフォルトの名無しさん
2013/05/26(日) 19:12:28.500376デフォルトの名無しさん
2013/05/26(日) 19:21:21.98lispと関係ないけど
0377はちみつ餃子 ◆8X2XSCHEME
2013/05/27(月) 00:24:49.97燃料の高騰があるからどちらにせよ上がるよ。
燃料費を反映させるのは政府に申請する必要もなかったはずだし。
0378デフォルトの名無しさん
2013/05/27(月) 00:36:12.890379デフォルトの名無しさん
2013/05/27(月) 05:06:05.000380はちみつ餃子 ◆8X2XSCHEME
2013/05/27(月) 06:48:41.030381デフォルトの名無しさん
2013/05/28(火) 20:26:10.42ファインマン先生は, 幼少の頃からブリタニカを通読し大量に書き込みもしてていたらしいが
0382デフォルトの名無しさん
2013/05/28(火) 20:58:47.17ご冗談でしょう?
0383デフォルトの名無しさん
2013/05/31(金) 00:45:26.900384デフォルトの名無しさん
2013/05/31(金) 15:44:51.13じゃあ試しに...えーと、二都物語...の最初を暗唱してくれ」
ノイマン「(スラスラスラ)」
ノイマン「(スラスラスラ)」
ノイマン「(スラスラスラ)」
技師「わかった。もういい...」
0385デフォルトの名無しさん
2013/05/31(金) 15:55:25.620386デフォルトの名無しさん
2013/05/31(金) 16:08:12.600387デフォルトの名無しさん
2013/05/31(金) 17:47:47.13ていうか晩年の脳はだいぶヤバかったんじゃないか、フォン・ノイマンは。
脳が保存されたのはアインシュタイン。遺言に従って、ではなかったと思った。
0388デフォルトの名無しさん
2013/06/02(日) 11:00:07.02http://d.hatena.ne.jp/katzchang/20080807/p2
>私が考えるOOPはメッセージング、状態処理のローカルでの保有・保護・隠蔽、そして全ての物に対する強力な遅延束縛、これだけだ。
>これはSmalltalkとLISPだけが実現できている。他のシステムでも可能かもしれないが、私は知らない。
2003年の発言だけど、今でもsmalltalkとlispだけなんだろうか
0389デフォルトの名無しさん
2013/06/02(日) 15:59:10.66「メッセージング」の定義にもよるが
0390デフォルトの名無しさん
2013/06/02(日) 16:27:50.400391デフォルトの名無しさん
2013/06/03(月) 01:04:55.79実行時に型を変更できない言語は駄目。
0392デフォルトの名無しさん
2013/06/03(月) 23:34:13.37印象に残ったのはHaskell 共和国こえぇぇぇ
0393デフォルトの名無しさん
2013/06/04(火) 00:47:29.76>Haskell 共和国こえぇぇぇ
kwsk
0394デフォルトの名無しさん
2013/06/04(火) 07:58:15.400395デフォルトの名無しさん
2013/06/04(火) 08:12:54.260396デフォルトの名無しさん
2013/06/04(火) 12:29:19.690397デフォルトの名無しさん
2013/06/04(火) 18:58:41.90あのオフサイドルール自体がマクロみたいなもんだろ >Haskell
0398はちみつ餃子 ◆8X2XSCHEME
2013/06/04(火) 19:31:21.15あれはマクロだろ。
0399デフォルトの名無しさん
2013/06/06(木) 15:49:15.48SRFI-49がリーダーマクロっぽく定義されてるとしても、
それはHaskellと関係ないと思うが。
0400デフォルトの名無しさん
2013/06/08(土) 02:51:10.80javaだと素直に実装するとこんなものなのかな
これじゃベンチマークすらできなくて使い物にならない
0401デフォルトの名無しさん
2013/06/08(土) 04:09:45.220402デフォルトの名無しさん
2013/06/08(土) 04:16:06.840403はちみつ餃子 ◆8X2XSCHEME
2013/06/08(土) 08:53:18.960404デフォルトの名無しさん
2013/06/08(土) 09:52:06.82> javaだと
なんだってそうだ。
0405デフォルトの名無しさん
2013/06/08(土) 12:32:52.81=> (tak (tak 1 1 0) (tak 0 0 2) (tak -1 2 1))
=> (tak 0 2 1)
=> 1
こんだけじゃない?
インタプリタがバグってるか tak の定義が間違ってるのかどっちかだと思うよ。
0406400
2013/06/08(土) 13:06:00.39自前でスタック用意する方法も考えてみる
ありがとう
0407デフォルトの名無しさん
2013/06/08(土) 14:20:12.780408デフォルトの名無しさん
2013/06/08(土) 14:20:53.190409デフォルトの名無しさん
2013/06/08(土) 14:33:15.39あと、jvm上の言語実装だとrepl動かすときに -Xms=256m みたいなのがついてる。
そして、scalaやclojureはバイトコード生成するので、その部分をasmで実装してる。
0410デフォルトの名無しさん
2013/06/08(土) 15:40:11.880411400
2013/06/08(土) 17:03:38.88Javaの名誉のために訂正しとく
0412デフォルトの名無しさん
2013/06/08(土) 18:57:18.58まぁ2chに書くまえにもちつけ!ってことやね。
おつやよー
0413デフォルトの名無しさん
2013/06/08(土) 22:00:27.980414デフォルトの名無しさん
2013/06/09(日) 00:05:33.57taraiは普通に再帰しても、そもそもネストが深くならないから、末尾最適化は関係ない
0415デフォルトの名無しさん
2013/06/09(日) 07:06:22.010416デフォルトの名無しさん
2013/06/09(日) 07:48:22.740417デフォルトの名無しさん
2013/06/09(日) 07:53:27.600418デフォルトの名無しさん
2013/06/09(日) 16:04:47.010419デフォルトの名無しさん
2013/06/09(日) 18:56:56.08最近ホントによく見るヘンなお辞儀
http://blogimg.goo.ne.jp/user_image/0c/59/9be5080aa2dfadcea3612f5fee38b1c8.jpg
正しいお辞儀
http://blogimg.goo.ne.jp/user_image/0b/f7/d155241668efb09966c7f4ae387c4eff.jpg
ヘンなお辞儀の正体
http://blogimg.goo.ne.jp/user_image/10/f1/1dd1b9465881227b529fc9d894e4c44b.jpg
0420デフォルトの名無しさん
2013/06/09(日) 20:32:05.170421デフォルトの名無しさん
2013/06/10(月) 17:56:33.720422デフォルトの名無しさん
2013/06/10(月) 23:07:13.290423デフォルトの名無しさん
2013/06/11(火) 00:20:41.880424デフォルトの名無しさん
2013/06/11(火) 00:23:16.760425デフォルトの名無しさん
2013/06/11(火) 01:08:53.510426デフォルトの名無しさん
2013/06/11(火) 01:11:25.890427デフォルトの名無しさん
2013/06/11(火) 06:33:20.710428デフォルトの名無しさん
2013/06/11(火) 06:48:00.04クロージャーが一番いいのだろうけど
Scheme(Racket)のプログラムも流用したいなら
Kawaがいいのだろうか
他にもJavaで書かれたScheme処理系がいくもあるので
どれが一番いいのか
0429デフォルトの名無しさん
2013/06/11(火) 07:02:24.49いまさらClojureを覚えるのも面倒だし
0430デフォルトの名無しさん
2013/06/11(火) 10:11:18.15Schemeが良いならJVM用ならKawaじゃね?
0431デフォルトの名無しさん
2013/06/11(火) 10:31:35.840432デフォルトの名無しさん
2013/06/11(火) 12:00:53.300433デフォルトの名無しさん
2013/06/11(火) 13:34:43.03ID:15+H+6Gw!0434はちみつ餃子 ◆8X2XSCHEME
2013/06/11(火) 14:28:57.96Gauche や Sagittarius も gtk バインディングが有るから GUI に手間取ることはないと思う。
0435デフォルトの名無しさん
2013/06/11(火) 14:29:04.73きっと茨の道だ。
0436はちみつ餃子 ◆8X2XSCHEME
2013/06/11(火) 15:48:23.91Sagittarius には gtk バインディングは無かった。
sagittarius-turquoise で出来たような気がしてたが、
あらためて見たら TODO のところに書いてた。
現時点では Windows しか対応してねぇー
0437デフォルトの名無しさん
2013/06/11(火) 20:15:20.43Franz様一押し
0439デフォルトの名無しさん
2013/06/12(水) 00:37:41.150440デフォルトの名無しさん
2013/06/12(水) 02:56:05.88Allegro CommonLispの会社だろFrantz
0441デフォルトの名無しさん
2013/06/12(水) 10:46:07.26schemeなんて言語使ってると現実世界で生きていくのが面倒くさくなって
世捨て人になっちまうぞ。Common Lisp使え。Common Lisp。
0442デフォルトの名無しさん
2013/06/12(水) 19:14:58.69あのさ、なんでもいいけどSchemeって書いてくれない。気持ち悪いから。
0443デフォルトの名無しさん
2013/06/12(水) 19:59:01.330444デフォルトの名無しさん
2013/06/12(水) 20:06:05.35schemeでいいです。
0445デフォルトの名無しさん
2013/06/12(水) 20:59:45.940446デフォルトの名無しさん
2013/06/12(水) 21:25:50.190448デフォルトの名無しさん
2013/06/12(水) 22:49:25.69流石にしってますがな
0449デフォルトの名無しさん
2013/06/13(木) 03:08:16.130450デフォルトの名無しさん
2013/06/13(木) 22:03:46.64早く独り立ちして自分で楽しいこと見つけてね
0451デフォルトの名無しさん
2013/06/14(金) 01:08:19.33必要だよ、統合スレは冷たいひとが多いけど、CLスレは優しい人がいっぱいいるから棲み分けにいいじゃん。
0452デフォルトの名無しさん
2013/06/15(土) 02:48:38.820453デフォルトの名無しさん
2013/06/15(土) 14:50:57.800454デフォルトの名無しさん
2013/06/15(土) 15:31:20.27そういえば大昔にゲーム会社が品物があがらないのでタイトルだけソレの数当てゲームでも出せとか言ったとか言わなかったとか
0455デフォルトの名無しさん
2013/06/15(土) 16:47:45.140456デフォルトの名無しさん
2013/06/15(土) 20:40:36.70lambda関数で遅延リストをシミュレートしたいのですがどうすればいいでしょう
(car (funcall f)) ==> 1
(car (funcall (cdr (funcall f)))) ==> 2
(car (funcall (cdr (funcall (cdr (funcall f)))))) ==> 6
で以降n回目にnの階乗を返すようなfの定義をお願いします
0457デフォルトの名無しさん
2013/06/15(土) 23:16:40.26(let ((acc (* n acc)))
(cons acc
(lambda ()
(make-lazy-fact-stream acc
(+ n 1))))))
(defun f () (make-lazy-fact-stream))
ところで関数に別名つけるのどうやるんだっけ
(setf (function f) (make-lazy-fact-stream))
だと思ったら違った
0458デフォルトの名無しさん
2013/06/16(日) 00:53:18.610459デフォルトの名無しさん
2013/06/16(日) 05:40:50.47ふぅ
次にしたいことはmapcan関数のlazy化だな
0460デフォルトの名無しさん
2013/06/17(月) 14:56:50.39移植性?なにそれ美味しいの?
0461デフォルトの名無しさん
2013/06/17(月) 21:58:41.160462デフォルトの名無しさん
2013/06/18(火) 13:54:48.07Javaは意外と移植性高いんでね?
0463デフォルトの名無しさん
2013/06/18(火) 14:11:02.51処理系依存だって別に珍しいことじゃない。
嘘だと思うなら、LP64からLLP64にポートしてみればいい。
mozilla.orgでさえ諦めるレベル。
0464デフォルトの名無しさん
2013/06/18(火) 17:10:29.93pure javaの cursesライブラリが無いのがjava嫌いになる理由の一つかもしらん。
0465デフォルトの名無しさん
2013/06/18(火) 20:43:51.38大学はsolarisで家はwindows7
MinGW強すぎ
感動した
lispとjavaとprologとfortranは全滅
haskellはなかったけど、あったとしてもたぶん動かないだろう
0466はちみつ餃子 ◆8X2XSCHEME
2013/06/18(火) 20:55:09.94- 処理系が規格準拠ではない
- 規格の改訂が多くて処理系の実装が追い付いてない
- 規格が分裂して似たようなのが乱立している
- 規格の規定範囲が狭いので処理系の拡張を使わざるを得ない
- 規格なんかない
0467デフォルトの名無しさん
2013/06/18(火) 22:08:13.10と他の4つとの区別がつかないんだが?
0468デフォルトの名無しさん
2013/06/19(水) 00:23:53.68最強:「windowsでも動くコンパイラないですかね」と聞いて、何も考えずにそのコンパイラ入れて、ソースに何の手直しもしないのにコンパイルできてしかも実行できた
最悪:そもそもwindowsにコンパイラが入らない
0469はちみつ餃子 ◆8X2XSCHEME
2013/06/19(水) 00:29:52.72同等とはいかないっぽいな。
特にスレッドがからむとやっかいな感じ?
Common Lisp の事情はよく知らんけど。
0470デフォルトの名無しさん
2013/06/19(水) 01:46:03.760471デフォルトの名無しさん
2013/06/19(水) 04:39:38.38がっかlisp
もうこりごlisp
0472デフォルトの名無しさん
2013/06/19(水) 10:54:42.82典型的なキッチンシンクアプローチで、仕様策定されているから、
プラットフォームに関連する部分はどうしても処理系依存にならざるを得ないし。
この辺は、やっぱり昔の言語なんだと実感するね。
0473デフォルトの名無しさん
2013/06/20(木) 03:59:20.030474デフォルトの名無しさん
2013/06/20(木) 11:30:18.64コミュニティに利用者の少ないWindowsを無視すれば、
POSIX互換でほぼ問題ないわけだし。
0475デフォルトの名無しさん
2013/06/20(木) 13:45:05.51Lispは残りカス
0476デフォルトの名無しさん
2013/06/20(木) 19:44:27.35まだいたのか?
0477デフォルトの名無しさん
2013/06/20(木) 21:01:22.880478デフォルトの名無しさん
2013/06/20(木) 21:53:19.700479デフォルトの名無しさん
2013/06/20(木) 22:31:43.670480デフォルトの名無しさん
2013/06/20(木) 22:46:05.150481デフォルトの名無しさん
2013/06/20(木) 22:47:53.53そろそろland of lispの第4部読んだほうがいいかな
0482デフォルトの名無しさん
2013/06/20(木) 22:52:09.78テストする事が多すぎて自動化したい
0483デフォルトの名無しさん
2013/06/21(金) 00:55:35.190484デフォルトの名無しさん
2013/06/21(金) 01:12:06.510485デフォルトの名無しさん
2013/06/21(金) 01:43:29.83ハスケルはまともな数式処理ソフトないじゃん
0486デフォルトの名無しさん
2013/06/21(金) 01:51:29.550487デフォルトの名無しさん
2013/06/21(金) 03:19:38.170488デフォルトの名無しさん
2013/06/21(金) 03:40:50.670489デフォルトの名無しさん
2013/06/21(金) 06:03:26.24無料しか取り柄がない
0490デフォルトの名無しさん
2013/06/21(金) 11:38:58.14単なるmatchマクロに ? 構文つけたのと同じに見えるのですが
0491デフォルトの名無しさん
2013/06/21(金) 12:24:20.18お前は2ch有料な。
0492デフォルトの名無しさん
2013/06/21(金) 15:35:44.89Lispなんだから手続き型っぽく書いてもイイじゃん。
マルチパラダイム万歳。
Schemeはシラネ。
0493デフォルトの名無しさん
2013/06/21(金) 15:36:36.530494デフォルトの名無しさん
2013/06/21(金) 17:28:49.34なんか再帰的な書き方にしないとLisper失格と思ってたんだけどそうでもないのか
0495デフォルトの名無しさん
2013/06/21(金) 17:40:35.47やりたい事によって、関数型っぽく書いたり、手続き型っぽくなったり。
0496はちみつ餃子 ◆8X2XSCHEME
2013/06/21(金) 18:10:21.31SICP の3章の冒頭で銀行講座を表す「オブジェクト」と、
それに対するモディファイアやアクセサを定義している様子は
オブジェクト指向的なスタイル。
回路シュミレータのところは制約プログラミングっぽい感じか。
4章の非決定性計算は Prolog っぽいな。
>>494
手続き型的な書き方が適切なのでそれを選んだのならいいけど、
Lisp に慣れてなくてそういう書き方しか出来てないんだとしたら
ちょっともったいないなとは思う。
0497デフォルトの名無しさん
2013/06/21(金) 18:42:32.05色々と再帰的にリストを処理する関数は書いたけど
実際に何かを作るときにそれをうまく使えないんだよ
0498デフォルトの名無しさん
2013/06/21(金) 18:42:56.07みんな072のやり方なんて教わらなかったろ?
そのうちに、いろんな方法ができるようになるって。
0499デフォルトの名無しさん
2013/06/21(金) 18:58:36.36>手続き型的な書き方が適切なのでそれを選んだのならいいけど、
CTMCPで、計算モデルとは何かを知っておくと迷いが減るよな。
0500デフォルトの名無しさん
2013/06/21(金) 19:15:32.60CLにはloopがあるでしょ。
0501デフォルトの名無しさん
2013/06/21(金) 20:03:53.04072は中坊時代に保険の先生に…… orz
0502デフォルトの名無しさん
2013/06/21(金) 23:45:44.11べつに再帰つかわなきゃLispっぽくないなんてことはないだろうに。
Lispはプログラマーのやり方のほうに言語が歩み寄ってくれる稀有な言語なんだから、
「こんなやり方知らないなんて、もったいない」とか上から目線とかどうかと思うけどね。
バリバリ手続きっぽく書かれていても、ココぞの部分でピリッと効いてるマクロとか
俺なんかそれ見ただけで「お、Lispっぽいじゃーん」とか思っちゃうけどね。
0503デフォルトの名無しさん
2013/06/22(土) 00:03:28.500504デフォルトの名無しさん
2013/06/22(土) 00:27:04.330505デフォルトの名無しさん
2013/06/22(土) 00:36:45.24http://www.mew.org/~kazu/material/2011-fp.pdf
こっちは代入不可の話。自分はHaskellじゃなくてClojureにいっちゃったけど。
http://www.mew.org/~kazu/material/2013-cross.pdf
0506デフォルトの名無しさん
2013/06/22(土) 00:45:13.86そもそも自然数の定義があれでしょ?正方形を埋め尽くす曲線とか信じらんない
0507デフォルトの名無しさん
2013/06/22(土) 01:16:13.01>正方形を埋め尽くす曲線
クロネッカー?、それともカオス?
0508デフォルトの名無しさん
2013/06/22(土) 01:18:29.770509はちみつ餃子 ◆8X2XSCHEME
2013/06/22(土) 01:30:07.210511デフォルトの名無しさん
2013/06/22(土) 03:46:40.730512デフォルトの名無しさん
2013/06/22(土) 11:54:43.28元々のお題は連続な曲線で閉区間を覆い尽くす者があるかどうか?ってお題。
だから具体的に例を示すか、存在証明をしないといけない。
0513デフォルトの名無しさん
2013/06/22(土) 12:09:53.96無限舐めるな
0514デフォルトの名無しさん
2013/06/22(土) 12:35:00.630515デフォルトの名無しさん
2013/06/22(土) 12:59:52.970516デフォルトの名無しさん
2013/06/22(土) 13:23:10.790517デフォルトの名無しさん
2013/06/22(土) 13:43:10.98何が「あと,」だよw
どこかのレスをコピペするからそうなる
コピペプログラマーにお似合いだな
0518デフォルトの名無しさん
2013/06/22(土) 13:54:34.070519デフォルトの名無しさん
2013/06/22(土) 13:57:55.54w
0520デフォルトの名無しさん
2013/06/22(土) 14:31:46.12括弧と掛けてるんだろ
0521デフォルトの名無しさん
2013/06/22(土) 15:29:55.88曲線を1次元の図形だと考えると、これは曲線じゃなくね?
フラクタル曲線の次元は1次元よりも大きくて、その次元を限りなく2次元の図形に近づけることができる
次元が限りなく2次元に近い図形で、2次元図形の中を埋めるんだから、そりゃ、なにも不思議ではない
ずるい
0522デフォルトの名無しさん
2013/06/22(土) 18:37:09.690523デフォルトの名無しさん
2013/06/22(土) 23:04:48.310524デフォルトの名無しさん
2013/06/22(土) 23:23:43.800525デフォルトの名無しさん
2013/06/23(日) 01:42:54.18SINカーブだって、正方形の一辺の長さを「l」としたとき、
l・sin(nθ)でn→∞にすれば正方形埋め尽くせるんじゃね?
0526デフォルトの名無しさん
2013/06/23(日) 02:03:35.110527デフォルトの名無しさん
2013/06/23(日) 02:05:05.72δ「どーもデル↑タです。なんでためんねんw」
0528デフォルトの名無しさん
2013/06/23(日) 02:53:38.920529デフォルトの名無しさん
2013/06/23(日) 08:28:22.970530デフォルトの名無しさん
2013/06/23(日) 09:16:28.470531はちみつ餃子 ◆8X2XSCHEME
2013/06/23(日) 09:45:09.770532デフォルトの名無しさん
2013/06/23(日) 09:54:25.730533デフォルトの名無しさん
2013/06/23(日) 10:36:30.91神はLisperかもしれないぞ
0534デフォルトの名無しさん
2013/06/23(日) 11:41:32.360535デフォルトの名無しさん
2013/06/23(日) 12:56:44.670536はちみつ餃子 ◆8X2XSCHEME
2013/06/23(日) 13:11:48.410537デフォルトの名無しさん
2013/06/23(日) 13:20:23.54atom は S 式を生じ、
S 式は万物を生ず。
ってやつか。
0538デフォルトの名無しさん
2013/06/23(日) 13:22:33.890539デフォルトの名無しさん
2013/06/23(日) 15:35:12.61いつもは自分の言葉なのに今日はどうした?>>はちみつ餃子タン
0540デフォルトの名無しさん
2013/06/23(日) 17:00:30.28carは左
0541デフォルトの名無しさん
2013/06/23(日) 18:04:21.03Symbolicsは男性器の象徴
0542デフォルトの名無しさん
2013/06/23(日) 19:36:26.780543デフォルトの名無しさん
2013/06/23(日) 22:35:05.37ワラタ
タリーズのコーヒー吹いた、スマフォ汚れてションボリ
0544デフォルトの名無しさん
2013/06/24(月) 02:56:11.760545デフォルトの名無しさん
2013/06/24(月) 03:50:05.57でもElis中尉はおばちゃんにしかみえないよね
0546デフォルトの名無しさん
2013/06/24(月) 06:20:21.430547デフォルトの名無しさん
2013/06/24(月) 08:53:38.540548はちみつ餃子 ◆8X2XSCHEME
2013/06/24(月) 11:04:58.040549デフォルトの名無しさん
2013/06/24(月) 13:09:52.160550デフォルトの名無しさん
2013/06/24(月) 13:28:17.740551デフォルトの名無しさん
2013/06/24(月) 13:35:42.020552デフォルトの名無しさん
2013/06/24(月) 15:03:21.360553デフォルトの名無しさん
2013/06/24(月) 15:06:29.240554デフォルトの名無しさん
2013/06/24(月) 16:52:44.730555デフォルトの名無しさん
2013/06/24(月) 19:47:21.58(multiple-value-bind (vars vals)
(labels ((f (lst vars vals)
(if (null lst)
(values (nreverse vars) (nreverse vals))
(f (cdr lst)
(cons (caar lst) vars)
(cons (cadar lst) vals)))))
(f args nil nil))
`(labels ((,name (,@vars)
,@body))
(,name ,@vals))))
やったー
lisper見習いだけどschemeの名前付きlet出来たよ
0556デフォルトの名無しさん
2013/06/24(月) 20:07:26.81ID:S2JBsUZH!惜しい。初期値の評価は名前の束縛が無い環境でやらないとならない。
(recur-let name ((fn name)) (funcall fn ...) ...) となってる時、
2個目のnameはlabelsで束縛されるnameじゃなくて、その外側のスコープのnameってことね。
0557デフォルトの名無しさん
2013/06/24(月) 20:25:31.42その式変数の初期化の部分がなにかおかしい気がするけど
(let ((evaled-vals (gensym)))
`(let ((,evaled-vals ,@vals))
(labels ((,name (,@vars)
,@body))
(,name ,evaled-vals))))))
(defun f () (format t "called~%"))
(named-let f ((fn 'f)) (funcall fn))
これでいいのかな
0558557
2013/06/24(月) 20:30:43.800559デフォルトの名無しさん
2013/06/24(月) 22:18:58.09シンボル周りの扱いがさっぱりです。
0560デフォルトの名無しさん
2013/06/24(月) 22:39:26.4330秒でわかるcommon lispの式評価規則の解説しか知らないです
0561はちみつ餃子 ◆8X2XSCHEME
2013/06/24(月) 22:52:05.11どこがわからないのかわからないと説明しづらいと思う。
具体的な例を出してこう思うのにこうなるのは何でって質問してみそ。
俺は Common Lisp のことなんぞ知らんけど。
0562デフォルトの名無しさん
2013/06/24(月) 23:01:01.40・リストの先頭の場合、関数値が参照される
・それ以外は普通の値が参照される
・ただしsetqやsymbol-functionなど例外がある
・ラムダ式は関数値でなく関数の名前である
で1分
後は
・functionとsymbol-function、quoteの違いの話
・スコープの話
・setfの話
・マクロの話
で2分くらいか
0563デフォルトの名無しさん
2013/06/24(月) 23:02:10.730564デフォルトの名無しさん
2013/06/24(月) 23:28:36.530565デフォルトの名無しさん
2013/06/24(月) 23:40:20.92ANSI Common Lisp
3.1.2.1.1 Symbols as Forms
http://zeus.ing.unibs.it/ansi-cl/subsubsu/symbolsa.htm
0566デフォルトの名無しさん
2013/06/25(火) 00:02:25.97ありがとうございます。
たとえばsymbol-valueは仕様書には「symbolのvalue cellを参照する」と書かれています。
setfの第1引数を(symbol-value 'a)にするとaのvalue cellの中身を書き換えることができるので
(symbol-value 'a)はcellの中身でなくcellへの参照値に評価されると思うのですが、
トップレベルで(symbol-value 'a)を評価するとcellの中身が返ってきます。
ということは参照値から中身への暗黙の変換を行う規則があるのだと思うのですが、
そういった規則はどれだけあってどういうときにどう働くのか全体が把握できない
といった悩みです。
0567デフォルトの名無しさん
2013/06/25(火) 00:03:46.19評価方法は普通の関数呼び出しと違って、それぞれ独自。
0568デフォルトの名無しさん
2013/06/25(火) 00:05:14.0230秒で説明できるといった>560はたぶん冗談だろう。
0569デフォルトの名無しさん
2013/06/25(火) 00:05:16.880570デフォルトの名無しさん
2013/06/25(火) 00:57:02.60ハスケルで何か劇的な新機能でもできたのかな?
0571デフォルトの名無しさん
2013/06/25(火) 01:03:01.420572デフォルトの名無しさん
2013/06/25(火) 01:07:41.82結構簡単だから。例えばgclのとか。
http://www.cs.cmu.edu/afs/cs/project/cmt-55/lti/Lab/Depot/Old/gcl-2.2/lsp/setf.lsp
0573デフォルトの名無しさん
2013/06/25(火) 10:06:01.56暗黙に参照に変換されることはない。setfの定義がうまいこと作られている。
まずsetfは関数でなくマクロなので、各引数は評価*されない*。
(setf (symbol-value 'a) 2)
とかすると各引数は評価されないでsetfに渡される。するとsetfは第一引数がリストだということと、
このリストの先頭にある名前、この場合ではsymbol-value、を見て、
それに対応する(あらかじめ色々な関数やマクロそれぞれに対して定義された)処理を探してくる仕掛け。
www.asahi-net.or.jp/~kc7k-nd/onlispjhtml/generalizedVariables.html
の最初と最後の節を参照。
0574デフォルトの名無しさん
2013/06/25(火) 10:09:49.600575デフォルトの名無しさん
2013/06/25(火) 15:49:00.00式を完全に評価してしまう一歩手前で止める、という演算が
あればもっと汎用的にできた気がする(Cでいう&みたいな)
たとえば
(setq lst '(a b c))
のとき
(car lst)は (car '(a b c)) → a → aの値
と評価されていくけど、
新しい演算lvalueを使うと
(lvalue (car lst)) → (lvalue (car '(a b c))) → (lvalue a) → a
で止まるみたいな。
そうすると
(setf (car lst) 480)
でなく
(setq (lvalue (car lst)) 480)
と書けるし、 インバージョンを用意する必要もない。
0576デフォルトの名無しさん
2013/06/25(火) 16:02:02.46新規のキーに値を追加したいとき、その値を入れる場所は、まだ無いよ
0577デフォルトの名無しさん
2013/06/25(火) 16:31:11.62つ TAO
http://www.nue.org/nue/tao/bitao/s004.html
0578デフォルトの名無しさん
2013/06/25(火) 20:52:37.18そのLispも不自由なのな
0579デフォルトの名無しさん
2013/06/25(火) 21:38:24.740580はちみつ餃子 ◆8X2XSCHEME
2013/06/25(火) 22:59:34.240581デフォルトの名無しさん
2013/06/26(水) 02:28:44.32マクロに関してはsetfは勝手に展開して追ってくれるので、オレオレアクセッサも
マクロとして定義してやる限りインバージョンを自分で定義する必要はほとんど発生しないと思う。
>>577 のリンクの冒頭に出てくるmaxfだってcommon lispでは
(define-modify-macro maxf (val)
(lambda (place val) (max place val)))
で定義出来るし、添字計算だって1回しかしない(これも >>573 のリンク参照)。
しかしTAOよく知らないんだけど設計始まったのcommon lisp以前なんだな。
当時setfまわりあまり固まってなかったんだろうか。
0583デフォルトの名無しさん
2013/06/26(水) 12:01:49.02define-modify-macroの話はそのリンク先を最後まで読むと書いてあるよ
0584デフォルトの名無しさん
2013/06/27(木) 20:44:22.08David Moonのsetf hackとほぼ同時期なんじゃないか?
TAO関連はリアルタイムではほとんど発表してないはずだが。
若干日本語の報告があるだけで。
0585デフォルトの名無しさん
2013/06/28(金) 00:08:54.97http://d.hatena.ne.jp/camlspotter/20130626/1372228771
0586はちみつ餃子 ◆8X2XSCHEME
2013/06/28(金) 13:16:28.640587デフォルトの名無しさん
2013/06/28(金) 22:26:53.830588デフォルトの名無しさん
2013/06/29(土) 00:43:35.08miniKanrenが思ったように動いてくれないので少し改造した
0589デフォルトの名無しさん
2013/06/29(土) 13:52:16.430590デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANでfがvaluesを返す場合は動かない(racketの場合)
関数の返り値にvaluesなんか使うぐらいならlistで返した方がまし?
valuesのメリットって何があるの?
0591はちみつ餃子 ◆8X2XSCHEME
2013/07/09(火) NY:AN:NY.ANちょっと速度が速くなったりメモリ効率がよくなったりする可能性がある。
スタックに積んで呼出し元に戻るという戦略が可能であり、
その方法を使った場合はメモリアロケーションが発生しない。
が、実装によるんじゃねーの。
内部的にはリストを作って受渡すりょうな実装もあるから、そういうのなら結局は同じことになるか、
場合によってはリストを分解する手間の分だけ遅くなることも有り得る。
CPS 変換された世界では関数を呼出すのも戻ってくるのも同じことなので、
呼出しには複数の値を渡せるのに戻ってくるときはひとつだけってのでは理屈に合わなくなるっていう理由もあるっぽい。
規格の末尾にある形式的意味論では CPS で書かれてるとかなんとか聞いたけどよくわかんなかった。
ちなみに map の第一引数に渡す手続きは一個の値を返すことと規格では明記されてる。
0592デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN(lambda (x)
(let-values (((a b) (f x)))
a))
0593はちみつ餃子 ◆8X2XSCHEME
2013/07/09(火) NY:AN:NY.AN多値はファーストクラスじゃないんだし。
でもまぁ、値の個数が決まってる場面では多値にしとくとチェックが働くのが良いとは俺も思う。
0594デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0595デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0596595
2013/07/09(火) NY:AN:NY.AN0597デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0598デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0599デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0600デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN#lang racket
(require srfi/9)
(define-record-type *foo-type*
(make-foo name)
foo-type?
(name foo-id)
)
(let ([x (make-foo 'a)]
[y (make-foo 'a)]
)
(equal? x y)
)
;=> #f
0601はちみつ餃子 ◆8X2XSCHEME
2013/07/13(土) NY:AN:NY.ANR6RS の equal? はリスト、ベクタ、文字列、バイトベクタ以外は eqv? と同じになる。 (11.5)
そしてレコードを eqv? で比較した場合、同一のコンストラクタによって作られた構造体であっても、
別個の呼出しで作られた構造体である場合は #f になる。 (Standard Libraries: 6.1)
単純に再帰的に辿っちゃ駄目って話はここらへんで議論されてるみたい。 私はちゃんと読んでないけど。
http://www.r6rs.org/r6rs-editors/2005-August/000830.html
#lang racket の equal? はいくらか拡張されていたりはするみたいだが、
R6RS で #f となると定められているケースをあえて変更するほど強烈な動機があるかっていうとそうでもないように思う。
Racket は色々と冒険してるけど、 equal? はさすがにあまりに基本的な機能だからそうそう気軽に変えれないだろ。
0602はちみつ餃子 ◆8X2XSCHEME
2013/07/13(土) NY:AN:NY.AN>>600 のケースなら #f で確定っていう俺の解釈が間違ってたりする?
https://twitter.com/tk_riple/status/355748513826607105
0603デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0604デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANID:cGgXBVKi!用意しておいてそれに対する操作を選ぶのは使う側だ、っていう文化がある。
リストを二分木に見たり連想リストに見たりね。
レコードの等価性も、レコード自身が決めるんじゃなくて、使う人によって何が等しいかを
決めるのが良いって背景があるかも。主流のオブジェクト指向とは異質だけれど。
Kent Pitmanがこの文化についてちょっと書いてたと思う。これかな。
http://www.nhplace.com/kent/PS/EQUAL.html
0605デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0606デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0607はちみつ餃子 ◆8X2XSCHEME
2013/07/14(日) NY:AN:NY.ANhttp://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3AGenericFunction%E3%81%A8Module
いくつかの Scheme 処理系に入ってるオブジェクトシステムはやっぱり CLOS ベースだよね。
Schemer もなんだかそれに慣れてしまってるというのと、 CL からのライブラリの輸入のために
CLOS で妥協しちゃってるというのがあると思う。
あらためて Scheme 的なオブジェクトシステムを考えるとしたらどんな設計が綺麗だと思う?
0608デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.ANCLOS組み込むなら、型シグネチャを表現する仕組みをいれてほしかったり
0609デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.ANhttp://www.geidai.ac.jp/~marui/clojure/rationale/
http://eed3si9n.com/ja/simplicity-matters
変数代入を禁止するとオブジェクトは直接使うためじゃなく、互換性とるため程度のものになりやすいのかもね。
0610はちみつ餃子 ◆8X2XSCHEME
2013/07/14(日) NY:AN:NY.ANなるほど。 でも、 Lisper にとってはその「互換性をとるため」の重みは結構大きいのかもしれない。
http://practical-scheme.net/wiliki/wiliki.cgi?Lisp%3a%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E6%AD%A3%E8%A7%A3#H-z6b2ut
ここで言う「どんなに汚くても、打てる手段がある」の手段のひとつになり得る。
とは言うものの、ここで言う Lisp は Common Lisp のことだよな。
Scheme (特に R6RS) だとむしろ後から変更したり割込んだりできないようにカプセル化するのが好まれる気がする。
理屈重視の人はオブジェクトシステムにあまり関心がなくて、
実用重視の人は (多少の問題があっても) CLOS 風ので充分だって感じなんだろうか。
shiro さんはオブジェクトシステムの支援なしでまとまったプログラムを書くのはしんどいと書いてるように、
http://practical-scheme.net/wiliki/wiliki.cgi?l=jp&p=Scheme%3A%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E8%A1%A8%E7%8F%BE#H-ej37ta
実務で Scheme を使っている人にとってはオブジェクトという抽象単位は使い勝手が良いんだろうね。
0611デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN凄く型の強い言語(OCaml)でのOOPの不自由さを言ってる。
CLOSはずっとフリーダム。
0612デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN0613デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.ANそれ、CLOS関係ないし
0614デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN0615はちみつ餃子 ◆8X2XSCHEME
2013/07/17(水) NY:AN:NY.ANScheme では仮引数のこともパラメタと言う。
R5RS ではそのへん曖昧なんだけど、rest-parameter って言葉は使われてるな。
R6RS 以降でははっきりと argument と parameter が使い分けられるようになったっぽい。
srfi-39 のパラメタは動的スコープをエミュレートするオブジェクトだけど、
あくまでオブジェクト側の性質であって、
変数に属性が付いてるわけじゃない。
Common Lisp のスペシャル変数とは性質が違うので誤解なきように。
というわけで、「Lisp の世界で」と一括りにすることは出来ないんじゃないかなぁ。
他の Lisp を知ってる人のそこらへんの考察は尋いてみたいね。
0616デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.ANdefparameter で定義するのはプログラム全体に対するパラメタだと思う。
このパラメタは動的スコープの変数だけど、
全ての動的スコープの変数をパラメタと呼ぶわけじゃない。
それとは別に、いわゆる仮引数の事も普通にパラメタと呼んでると思う。
0617はちみつ餃子 ◆8X2XSCHEME
2013/07/18(木) NY:AN:NY.AN(訳がというわけじゃなくて英語での使い分けも)
parameter が仮引数で argument が実引数であるという誤解 (?) が一部で生じて
なんかもうそれでいこうみたいな空気だと思うんだけど、英語の話なのでよくわかんね。
0618はちみつ餃子 ◆8X2XSCHEME
2013/07/18(木) NY:AN:NY.ANhttp://gazo.shitao.info/r/i/20130718010245_000.png
0619デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0620デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN今度から
カラポって書かないと駄目か
0622デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANガッ?
0623はちみつ餃子 ◆8X2XSCHEME
2013/07/18(木) NY:AN:NY.ANhttp://www.logsoku.com/r/tech/1331786500/#173
http://www.logsoku.com/r/tech/1331786500/#266
私も「からポインタ」だと思ってたけど、 C の規格的には「くうポインタ」らしいんだわ。
情報処理一般としての用語と C の用語が一致するとは限らないけど、
なんだかんだで C の影響力は強いからな。
実用上はぶっちゃけどうでもいい話なんだけど、
思ってたのと違うってのは、雑談としては面白いよな。
0624デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN空文字列は「くうもじれつ」?
0625デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0626デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0627デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0628デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN集合と文字列の音読み訓読みはどうなってるわけなの
0629デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN小学生の時「引数」をインスウって読んでた orz
0630デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.ANまあ数学の世界の方から来た伝統なんで仕方ないが。
0631デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN0632630
2013/07/18(木) NY:AN:NY.AN0633デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN関数のパラメタとかアーギュメントを引数と訳したほうが先じゃないの?
0634630
2013/07/18(木) NY:AN:NY.AN三角関数表も対数表と組み合わせたものが使われていたのです。
ちなみに対数表や三角関数表が日本に入ったのは江戸時代初期です。
0635デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN0636デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANもっと本質的な議論しようぜ。
0637はちみつ餃子 ◆8X2XSCHEME
2013/07/19(金) NY:AN:NY.AN用語がわかると資料の検索効率がかなり良くなるぞ。
質問するにしてもうやむやな言葉じゃさっぱり伝わらん。
でも、同じ意味なのに分野によって違う言葉が使われてたりするのは、
もうちょっと統一してもいいのになぁと思わなくもない。
例えば Windows の世界ではカーソルって言うとマウスカーソルのことなんだよな。
じゃあテキスト入力のところに出てくるアレは何よってことになるとキャレットという名前が付いてる。
Emacs 用語ではポイントという。
違う名前が付いてるのはまだマシなほうで、
ウェブブラウザと Emacs ではフレームとウィンドウの意味が逆になってる。
考えてみれば窓の中に骨組があるのも変な話なので、
フレームの中にウィンドウがある Emacs の方が妥当なのかもしれないな!!
0638デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANそれどう考えてもエロフラグやろ…。
これのIF展開の薄い本が出ることを期待!!
0639デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN「ポイント」はアレの位置を表す整数。
www.gnu.org/software/emacs/manual/html_node/emacs/Cursor-Display.html
www.gnu.org/software/emacs/manual/html_node/eintr/Point-and-mark.html
0640はちみつ餃子 ◆8X2XSCHEME
2013/07/19(金) NY:AN:NY.AN0642デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.AN0643はちみつ餃子 ◆8X2XSCHEME
2013/07/20(土) NY:AN:NY.AN今時は割と普通な名前なのかね。
0644名無し募集中。。。
2013/07/20(土) NY:AN:NY.AN0645デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.ANそれどう考えてもエロフラグやろ…。
これのIF展開の薄い本が出ることを期待!!
http://nostarch.com/realmofracket
0646デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN0647デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN0648デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN実用/実践Common LispやLand of Lispなどの名著がたくさんあるのに
Schemeときたらねw
0649デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN0650デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.ANオレオレ実装をもってないのが許されるのは初心者まで
0651デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN0652はちみつ餃子 ◆8X2XSCHEME
2013/07/21(日) NY:AN:NY.AN0653デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN> Common LispにはOn LispやLet Over Lambdaを始め
> 実用/実践Common LispやLand of Lispなどの名著がたくさんあるのに
> Schemeときたらねw
英語の原書ではSchemeの方がCommon Lispよりも名著がずっと多い、昔からね。
しかもCommon Lispで名著や好著と呼べるレベルの本、つまり上に名前があげられてる類の本が
出版されるようになったのは最近のこと。10年前にはロクな本が出版されていなかったぞ。
Common Lispを取り巻く書籍の状況がようやくSchemeに近づいてきたってだけ。
ああ日本語しか読めない君みたいな人には関係ないか?w
上に名前あげてるのって全部翻訳ある本だよねw
0654デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.ANというか、そもそもscheme自身についての解説書は必要でしょうか
別の応用の解説書で、たまたまschemeを実装に使ってるという本なら必要だとは思いますが
0655デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN0656デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN0657デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN原書のほうじゃなくて?
あれは日本語訳が…
0658デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN0659デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN>>657,658
ちょうど今、読み始めているけど(節3.5.2を終えたところ)、
文章の日本語に何ら違和感を持たない自分は変なのだろうか?
誤って理解しないよういくらか冗長な文章であるけれど、
慎重に言葉使いを選んで翻訳されているように思える....
0660659
2013/07/21(日) NY:AN:NY.AN>そういえばSICPスレが落ちているね
勘違い、落ちていなかった...
0661デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN訳本だと分かってれば完璧な部類に入るが、「あ、これ日本人が書いたんだ〜」で読み始めた人は本を床に叩きつけるレベル
0662659
2013/07/21(日) NY:AN:NY.AN>今時にありがちな書籍のタイトル
>・はじめてのXXX
>・サルでもわかるXXX
>・ふつうのXXX
>
>これに当てはまるのは、どれも愚本のたぐい
>アマチュアとしてプログラミングを楽しみたい人には適しているかもしれないが、
>専門家/技術者の道に進もうと考えておるなら、避けるべき
>これら優しい口調の文章で「分かったつもり」の感覚に慣れてしまうと、
>次のステップへ進むために読む専門書の日本語文書に拒否反応を起こしてしまう
>>661
こういった本を期待するのが当たり前だ!と思うほど頭が慣れきってしまった人であれば、
SICP本を読んで床に叩きつけるのも合点がいくね
0663デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.ANそもそもSICPはscheme本じゃなくて計算機論の本だから、schemeの解説を期待して本を読んだ人は床に叩きつけると思う
0664デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN図を見てコードを見て、それから文章を読んで確認する
簡単だろ
0665デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.ANアレを床にたたきつける人は先に日本語の読解力を も っ と つけておくべきだと思う
0666はちみつ餃子 ◆8X2XSCHEME
2013/07/21(日) NY:AN:NY.ANデファクトスタンダードなライブラリとか SRFI も含めて言語としての Scheme を解説した本があれば、私は買っちゃうね。
それと、今 (日本語で) 出てる本はだいたい R5RS かそれより前の規格がベースになってるじゃん?
R6RS なり R7RS なりに改版するだけでもそれなりの需要があると思うんだけどどうよ?
0667デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN0668デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN論点違ってないか?
おそらく scheme の解説を期待する人に与えるほうが問題なんだが
0669デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN言語の解説をする本じゃないことは目次をみれば分かる。
0670デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANこの辺りからGoogle Scholar等で新しい文献を辿ってみるとか。
https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&item_id=30769&item_no=1&page_id=13&block_id=8
http://link.springer.com/chapter/10.1007%2F3-540-54415-1_62
0671デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANエスパーしてみると、>>668には「与える」とあるから、
おそらく>>668は学部の講義テキストとしてSICP本を「与えられた」けど、
「scheme の解説を期待する人」だったので、床に叩きつけたんじゃないかと....
いわゆる、講義に付いていけない(付いていけなかった?)落ちこぼれの
泣き言ないし恨みつらみだと思われる
もしも自己啓発として独学の為「自ら手にした」のであれば、普通は目次くらい目を通すから
これが言語解説本でないことは(>>669が言うように)猿でもわかるはず(決して安価じゃないし)
というか、英語であれば全文が公開されているのだから、目次以前の話のような気もするが....
0672デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN0673デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN0674はちみつ餃子 ◆8X2XSCHEME
2013/07/23(火) NY:AN:NY.AN「Scheme の本」の話なのに直後に >>654 が SICP の話題を出しやがるから、
「いやいや、 Scheme 自体を解説した本もいるだろ」っていう反応だで
0675デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN0676デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN0677デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN名古屋人をDISってんでにゃーよ
0678デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANγ⌒ヽハ,,ハ ニャ-
("_) (,, ・ェ・)
0679デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANほう、「本を床に叩きつける(>>661)」やら
「scheme の解説を期待する人に与えるほうが問題(>>668)」とやらが、
「いやいや、 Scheme 自体を解説した本もいるだろ」と解釈できるのか
さすがコテハン様、敬服しますわ
0681デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANPAIPがあるじゃないですか。やだー
0682はちみつ餃子 ◆8X2XSCHEME
2013/07/23(火) NY:AN:NY.AN0683デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANCommon LispとSchme合わせて一番古い著名本じゃないかな。
ほぼ同時にCLOS本。
仕様書で良ければCLtL(1983)が5年くらい先行。
Common LispはずっとMLとNetNews文化だったから
その後あまり本が出なかったね。
0684はちみつ餃子 ◆8X2XSCHEME
2013/07/23(火) NY:AN:NY.ANTSPL ?
最初の版が何年なのかよくわからんが第二版は 1996 てなってるな。
0685デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN目次など読まない
0686デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.ANhttp://www.osaka-kyoiku.ac.jp/~shakai/seiyosi/howtoread.htm
0687デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN0688デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANSICPの日本語版って危険な本みたいね
0689デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0690デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0691デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN2評に分かれるっていってもなぁ、SICP自体は言語解説の本ではなくアルゴリズムやデータ構造について学ぶコンピュータ概論みたいな書籍だから既知の事について学ばされる人が苛ついてるだけじゃないの?
0692デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0693デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0694デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANそりゃそういう人(理系)向けなんだからどうしようもないんじゃ?
0695デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN確かに数学やデジタル回路ならともかく、アナログ系は電子工学の基礎が無い人にはつらいわな
問題2.13の並列抵抗を仮に突破できたとしても、問題3.73から始まるRC回路で絶望するだろw
0696デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANそういう問題の目安として「E」を。
0697はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN多少はブレたり雑談をまじえたりはするにせよ、
SICP の内容そのものは本来は管轄外じゃねーの。
0698デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0699デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN同意する
でもなー、SICP読んで電子回路含めた理系の基礎教養も理解できないようじゃだめじゃないか?
とかも思ったりする。
#まぁ理系といっても医学とかだとまったく相容れないってのはあるけどさー
0700はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.ANそう思うんならその理由を書けよ。
0701デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN699だけど >>700の返しって俺?
#むしろワタクシが日本語と言う言語を勉強せにゃあかんかもしらん。
0703デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANここが「Lisp Scheme」スレであり「多少ブレたり雑談を交えたりはする」のに
Schemeを利用するSICPの内容についての軽い雑談がアウトというのは説得力に欠けるだろう
0704はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN基礎教養として必要かどうかってのはまた別問題だろ。
有用な参考書として SICP を挙げるのはいいと思うけど、
Lisp/Scheme という言語をちょろっと使いたいだけの奴だって別にいいと思うんだよ。
Lisp/Scheme はそれが出来る言語だし、
サイエンスと強力に結びついてるかのようにハードルを上げちゃってる感じがイケてないと思う。
>>703
アウトとは書いてないだろ。
「本来は管轄外」なのに、ちょっと執着しすぎじゃねーのという感じのことが言いたいだけ。
コンピューターサイエンスに関心がない奴だって Lisp/Scheme を使ったっていいだろ?
このスレに来るなら理解してて (最低限目を通してて) 当然みたいな態度がちょくちょく見えてヤな感じだと思うわけだよ。
0705698ではない
2013/07/25(木) NY:AN:NY.AN何か真面目な議論でスレが流れている時であれば
SICPの話題が目障りだというのなら分かるけど、
スレ(板?)全体が停滞気味なんだから、
(Schemeとも関連のある)SICP談義で雑談モードもいいんじゃねえの?
というか、自分の不幸を他人に八つ当たりして発散させるよりも、
自分から新鮮なネタを提供するほうが前向きな生き方だと思うよ
0706はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN> というか、自分の不幸を他人に八つ当たりして発散させるよりも、
> 自分から新鮮なネタを提供するほうが前向きな生き方だと思うよ
ほら、またこういうことを言う。
別に話題にすんなとは言ってなくて、
そういう態度がクソだって言ってるんだよ。
0707デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANこのスレ、別に初心者お断りではないけれど、理系お断りとも書いていない
もちろん文系向けの話題があっても大いに結構なわけで....
自分勝手に「本来は管轄外」などと宣言しても、説得力ねえよ
0708デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANクソとか下品な言葉な大好きな人に言われてもなあ....
何かSICPにトラウマがあるん?
0709はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN話題にすんなってわけじゃないつってんだろ。
ちゃんと読んでから反応しろよ。 もう一度 >>704 を読んでくれ。
0710デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN>>697
>SICP の内容そのものは本来は管轄外じゃねーの。
>>700
>そう思うんならその理由を書けよ。
完全な上から目線で「話題にすんな」って言ってる気がするけどなあ....
SICPに関してだけ、えらく過敏に反応してるように見える
自分の過去カキコを読み直してごらん
他人からは、かなり専門的なウンチクを自慢げに語っているように見えるけど気付かないのかな
(そのウンチク語りそのものを否定している訳じゃないから、念の為)
自分にとって嫌な話題であれば、華麗にスルーできる耐性が不足してるんじゃね?
単なるワガママとも言うが....
0711はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.ANSICP をとりあげてるのはそれが目立つからであって、私の主張は >>704 の通り。
コンピューターサイエンスに関心がない奴 (SICP を読まない奴、理解できない奴) を馬鹿にするような態度はイケてないだろって話。
普段使いの言語のひとつとして Lisp/Scheme を選ぶ奴だっていて、そういう奴も仲間だと俺は思う。
よりよく使うために SICP が役には立つのは確かだし、薦めることもあるけども。
0712デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0713はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN0714デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0715デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANなあーんだ、結局>>697,700は他人の成り済ましだったのか
よかった、よかったw
0716デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0717デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANCTMCPはどうもOzのせいで実習環境作るのに断念してしまう問題点があるらしい。
なので、Ozが簡単に動かせるようにするか、本をHaskellで書き換える人がいると、SICPの終焉に協力できる。
0718はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN誤解が有るなら訂正したい。
0719デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANHaskellやSchemeで書きなおすとすると、
かなり最初の部分からDSLを使うことになって、
本の趣旨が相当捻じ曲げられてしまうと思う。
0720デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN壁に向かって独り言?
それとも、また誰かアンカの付け方も知らない素人の成り済ましかな?
0721デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0722デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN>コンピューターサイエンスに関心がない奴 (SICP を読まない奴、理解できない奴) を馬鹿にするような態度はイケてないだろって話。
何か勘違いしやいないか?
コンピュータサイエンスに関心がないのに「見栄を張りたい」が為に手を出し、
自分が理解できないのを翻訳者や本のせいにする態度がイケてないだろって話なんだが。
コンピュータサイエンスに関心がある、または自己のプログラミング能力を向上させたいと
考えているヤツなら、目次や前書きくらいは目を通して買うか買わまいか真剣に考えるはず。
で、もし買ったのなら理解できないところは自分の経験不足だと考えて、
数学なり電子工学の初心者向け解説書に手を出して勉強するよ。時間はかかるがね。
そういった真面目に学ぼうとしているヤシラを馬鹿にしてやいないか?
別に普段使いの言語のひとつとして Lisp/Scheme を選ぶ奴だっていてもいいさ。
ただ、それが目的ならSICPよりももっと適した本があるだろ。
SICPが目立つのは理由がある訳で、それが目障りだからといって
執拗に叩くことを正当化する態度はイケてないと考えるよ。
0723はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.ANあのさー。 同じことを何度書かせりゃ気がすむんだよ。
俺は SICP を批判してるわけじゃねーし、話題にすんなとも書いてないのになんでそういう風になってるわけ?
SICP を買いたくて買った奴はそれでいいし、理解できるならそりゃ立派なことだよ。
普段使いの言語のひとつとして Lisp/Scheme を選ぶ奴に対してまで SICP を当然の知識として押し付ける奴のことを
イケてないと俺は書いてるつもりなんだがそんなにわかり難いか?
0724デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANプログラミング言語Harlanは最近、Eric Holk氏が発表した言語で、リッチなデータ構造をサポートしたGPU向けのプログラミング言語だ。Mac OS X 10.6, 10.7, 10.8とLinux系のOSで動作する。
Harlanを動かすには、Intel OpenCL SDK、NVIDIA CUDA Toolkit、AMD Accelerated Parallel Processing (APP) SDKのようなOpenCLの実装に加え、Petite Chez Schemeが必要だ。さらに、間もなく高階関数もサポートされる予定だ。
http://www.infoq.com/jp/news/2013/07/harlan
Schemeで書かれたGPU向け新プログラミング言語Harlan
2013年07月05日
GPU向けのプログラミング言語HarlanがGitHubで公開されました。 動作にはOpenCLとPetite Chez Schemeが必要で、Mac OS X 10.6以降とLinuxがサポートで動作が確認されているそうです。
元記事URL : http://www.phoronix.com/scan.php?page=news_item&px=MTQwMzE
0725デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN0726はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN0727デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANhttp://www.amazon.co.jp/dp/4563007846/
人工知能
http://www.amazon.co.jp/dp/4563007471/
この2冊で充分
0728デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.AN>話題にすんなとも書いてないのに
>>710
>>>697
>>SICP の内容そのものは本来は管轄外じゃねーの。
>
>>>700
>>そう思うんならその理由を書けよ。
>
>完全な上から目線で「話題にすんな」って言ってる気がするけどなあ....
この部分を無視しているけど、どう考えているのよ?普通は「話題にすんな」と受け取るだろ。
おまけに、>>674では「>>654 がSICP の話題を出しやがるから」などと言うしまつ。
こんなこと言っておいてから、>>704,710のちゃぶ台返しで「そんなこと言ってない」と
いわれてもなあ... 成り済ましでないのなら、多重人格症なのか?感受性がない人なの?
あと、「普段使いの言語のひとつとして Lisp/Scheme を選ぶ奴に対してまで SICP を
当然の知識として押し付ける奴」のカキコってどれよ?
>>654は「SICPは名著だ」と言ってるだけで押し付けてはいないし、
その後もSICPを読むには理系(工学系)の知識が必要だね、って話は続くが押しつけじゃないし。
0729はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN何がいいたいのかよくわからんのでもっとくやしく。
0730デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANこれは別人? @honeychiaotzu
0731728
2013/07/25(木) NY:AN:NY.AN誤) >こんなこと言っておいてから、>>704,710のちゃぶ台返しで「そんなこと言ってない」と
正) >こんなこと言っておいてから、>>704,711のちゃぶ台返しで「そんなこと言ってない」と
0732はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.AN> この部分を無視しているけど、どう考えているのよ?普通は「話題にすんな」と受け取るだろ。
それは言葉が足りなかったと思う。 だから >>704 で補ってるんだが。
例えばこのスレで遺伝子研究に Lisp を使いたいですとかいう話題が出たとしよう。
それはもちろんアリだろ。 わかるやつがわかる範囲で助言すりゃいい。
でも、そこで 「遺伝子の構造知らんのm9(^Д^)プギャーー」 ってなったら「ここ Lisp Scheme スレですし…」ってなるだろ。
遺伝子のことは管轄外だろ。
Lisp Scheme スレなのに、言語とは直接の関係がない SICP を読んでて当然、理解できて当然みたいにするのはちょっとちゃうやろ。
> >>654は「SICPは名著だ」と言ってるだけで押し付けてはいないし、
> その後もSICPを読むには理系(工学系)の知識が必要だね、って話は続くが押しつけじゃないし。
そいつは Scheme を解説した書籍の必要性を否定してるんだぞ。 言葉としては問い掛けという形にはしてるけど。
単に Scheme という言語を使いたいってだけの奴の道筋を否定してるように俺には取れたんだ。
0733はちみつ餃子 ◆8X2XSCHEME
2013/07/25(木) NY:AN:NY.ANそいつは別人。
Twitter で Scheme の話題を出してる奴って少なくね?
Scheme クラスタを根刮ぎフォローしたら俺かもしれないぞ。
俺が Twitter アカウントを持ってない可能性もあるし、
持ってたとしてもでは Scheme の話題を出さないかもしれないので、
いわゆるシュレジンガーの猫。
/l、
(゚、 。`フ ニャーン
」 "ヽ
()ιし(~)〜
0734デフォルトの名無しさん
2013/07/25(木) NY:AN:NY.ANstalinよりも速いの?
0736デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN>それは言葉が足りなかったと思う。 だから >>704 で補ってるんだが。
言葉が足りなかったのなら、前言を撤回した上で、それを直接言わなければ他人には分からんよ
>>704は言葉を補っているんじゃなくて、自己正当化の「いい訳」に聞こえた
>Lisp Scheme スレなのに、言語とは直接の関係がない SICP を読んでて当然、理解できて当然みたいにするのはちょっとちゃうやろ。
SICPはScheme解説書ではないけれど、
「理系(工学系)を題材にしてSchemeによるモデル化のプログラミング法を解説」
した、ム板のLisp Schemeスレと直接関係する本だよ
しかも「数学やら電子工学も知らんのm9(^Д^)プギャーー」とは誰も言っていないし、
題材が理系だから前提知識として必要だね、ハードルの高い本だよねと言ってるだけ
どこをどう受けとれば「SICP を読んでて当然、理解できて当然」に脳内変換されるのか、
訳がわからん
>単に Scheme という言語を使いたいってだけの奴の道筋を否定してるように俺には取れたんだ
ならば、>>654に対してそれを直接伝えればいい。それを上から目線で>>697,700みたいな
レスを返すから、「SICPを話題にするな」と受け取れられてしまう
全体を通して、コテハンを名乗るなら名乗るなりに、言葉を慎重に選ぶ大人の自覚が必要だと思う
0737デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANfirst edition は飯を食うのも忘れて読みふけった
0738デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANLISP本の中では、SICPの次に読むつもり
ある言語を理解したいと思ったなら、
その言語の処理系(インタプリタ)を書いてみるのが一番だと思う
0739デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN「歴史的名著『計算機プログラムの構造と解釈』、通称「SICP」は常に傍らにあった。この著作は
演習問題の膨大さでも知られている。初学者に読み難さを感じさせる最大の要因が、問題を解か
なければ次に進めない構造、解答がそのまま次のステップで必須とされる点にあるだろう」(p.844)
また>>722,736はこう述べる
「で、もし買ったのなら理解できないところは自分の経験不足だと考えて、
数学なり電子工学の初心者向け解説書に手を出して勉強するよ。時間はかかるがね」
「題材が理系だから前提知識として必要だね、ハードルの高い本だよね」
練習問題を飛ばして読み進めて頓挫する文系プログラマは後を絶たない
今回のやりとりはかれらへの福音となるであろう(文系しるす)
0740デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN自由度が高そうに見えるが、裏の原理とかに結構気を配ってコードを書かないと、
GPUの性能が台無しなコードになっちゃうじゃないかね。
それともコンパイラが上手く良きに計らってくれるのかね。
0741はちみつ餃子 ◆8X2XSCHEME
2013/07/26(金) NY:AN:NY.AN俺の文章ではわかりやすく言い方は誇張したけど、 >>662 とか >>671 みたいな奴はいてるやん。
それと、繰り返しになるけど、 SICP はこのスレでよく出てくるから取り上げただけだかんね。
Scheme (Lisp) が小難しいサイエンスと強く結び付いていてそれの理解が必須であるかのように言ってる奴はこのスレにいるだろ。
背景としての理屈はあるけど、それを理解できなくても理解できないなりに Scheme は使えるんだから、
変にハードルを上げるようなまねをして欲しくないってだけなんだよ。
0742デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANlispのこと語ろうよ。
0743デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANヘ_ヘ
ミ ・ ・ ミ
( ° )〜
0744デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN多少はブレたり雑談をまじえたりはするにせよ、
SICPについて話すべきかどうかは本来は管轄外じゃねーの。
0745デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN2010年代にはcorei100なんてのが出現しそうな勢いだが。
0746デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANConnection Machine Lispきたー
懼ァアLispきたー
> さらに、間もなく高階関数もサポートされる予定だ。
デジャブ
>>745
ファーストクラスの継続がないとSchemeとは言えないと思うが、
SIMDっぽい並列とScheme的継続をうまく整合させるのは難しい。
独自になるなら最初から俺Lispとなるのだと思う。
>>724は高階関数すらまだなくSchemeとしてはレアケースだろう。
0747デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN元ザ・シンキング・マシン、コネクション・マシン関係の人というわけではなさそうだ。
0748はちみつ餃子 ◆8X2XSCHEME
2013/07/26(金) NY:AN:NY.ANsmall に syntax-rules (高レベルマクロ) が有って large に低レベルマクロってなんか変じゃね?
0749デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.ANこういう機能は最小仕様には必要ないという考え方だろう。
0750はちみつ餃子 ◆8X2XSCHEME
2013/07/26(金) NY:AN:NY.AN低レベルな方をコア (small) に入れて高レベルな方をライブラリ (large) にするのが筋じゃねってことを言いたいんだけど。
0751デフォルトの名無しさん
2013/07/26(金) NY:AN:NY.AN0752はちみつ餃子 ◆8X2XSCHEME
2013/07/26(金) NY:AN:NY.AN0753デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN地道にアセンブラコード調べてアプリケーションプログラムをチューニングしてんだな。
clojureもcoreな部分で高速化頑張ってるけど、javaや同じイミュータブルなデータ構造を持つscalaと比べて等速までもってくのはなかなか難しい
0754はちみつ餃子 ◆8X2XSCHEME
2013/07/27(土) NY:AN:NY.AN0755デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN0756はちみつ餃子 ◆8X2XSCHEME
2013/07/27(土) NY:AN:NY.AN0757デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANID:qgSkmMC6!SchemeでFutureとか研究されてたのが20年くらい前だよ。
Lispと違ってSchemeだと並行計算に継続をどう絡めるかって話が多かったかな。
http://library.readscheme.org/page9.html
0758デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.ANCLにあわせたdeclareにした方が違う処理系でも取り込みやすいのでしょうか
0759はちみつ餃子 ◆8X2XSCHEME
2013/07/27(土) NY:AN:NY.ANTyped Racket あたりがまぁまぁ先駆的なんじゃね。
取込みやすいってのがどういうことを言ってるのかよくわからん。
0760デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.ANその方針でいくと将来的にCommon Lisp以上のモンスターが誕生するんだが。
0761はちみつ餃子 ◆8X2XSCHEME
2013/07/28(日) NY:AN:NY.AN> http://ccil.org/~cowan/scheme-2011-09.pdf
> A fully equipped R7RS-large system will almost certainly be larger than Common Lisp
完備された R7RS large システムはほぼ確実に Common Lisp より大きくなります。
0762デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0763デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN一冊の本にまとめられてるから大きく感じるだけで、
今やpython(および標準で配布されるライブラリ)とあまり大差ないくらいでしょ。
ワンパック実行/開発環境としてのJava JRE/JDK、
標準ライブラリ規約としてのJCPと比べるともの凄く小さい。
0764デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0765デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0766デフォルトの名無しさん
2013/07/28(日) NY:AN:NY.AN0767はちみつ餃子 ◆8X2XSCHEME
2013/07/28(日) NY:AN:NY.ANもしかすると Common Lisp が担ってきた分野の一部を Scheme が食うことになるかもな。
処理系の信頼性っていうのは実績で判断されるからそう簡単ではないだろうけど。
0768はちみつ餃子 ◆8X2XSCHEME
2013/07/29(月) NY:AN:NY.ANhttp://www.logsoku.com/r/tech/1348018916/321
Scheme でも同じだけど、 Lisp ってどれがプリミティブ (コンパイラ自身が特別なものとして認識する語彙) で
どれが標準ライブラリなのかっていうのは区別しづらいよな。
例えば Scheme の規格の後の方にあるマクロ使用例には lambda にマクロをかぶせて let を作る例は載ってるけど、
let から lambda を作ることも出来て規格上はどっちでも問題ない。
どちらがプリミティブであるべきかっていうのは意味付けの仕方によって変わってしまう。
(実装上は大抵の処理系が let を特別扱いしている。)
R6RS だとプリミティブな機能だろうが何だろうがライブラリは名前の束を管理するようになってるのを見て
こういうやりかたもあるのかとちょっと感心した。
define とか lambda とかいう基本的な機能も (rnrs base (6)) に属してる。
C で言えば for とか struct とかをモジュールに分けるみたいなもんだから、こりゃ Lisp でなきゃ出来んわと思った。
0769デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN良く吟味しないで仕様をガンガン入れると、仕様も無駄にデカくなるわレガシーなAPI引き摺ることになるわ、
Common Lispなんて目じゃない惨状を招くよ、って話なんだけど。Schemerってそういうの嫌いじゃなかったの?
0770デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.ANR7RS largeを本当にまとめきれるのかはかなり疑問。
ERR5RSみたいなのが出てくることにならなきゃいいけど。
0771はちみつ餃子 ◆8X2XSCHEME
2013/07/29(月) NY:AN:NY.AN低レベルマクロに関して言えば既にかなり議論されてて、
それでもなおどちらが相応しいとは言えないという感じなので、 >>755 の意見はそれを踏まえてのものだと思う。
R7RS large 全体に関して言えばもちろん長い時間をかけて検討すべきだよ。
他にもある程度煮詰ってる機能でも本質的な機能じゃないからとかなんとかで
規格に入れるには至ってないものもあったりするので、
そういうのは過去の議論を踏まえて比較的短い検討時間で済むんじゃないかな。
ソケットまわりなんかは POSIX のモデルをそのまま受入れるのなら話は早いんだが、
そういう前提を嫌う人は絶対いるからかなりもめそう。
0772デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN0773デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN古いものは捨てて新しくすればいいんだよ。
deprecatedのない仕様は生きてない仕様。
0774はちみつ餃子 ◆8X2XSCHEME
2013/07/29(月) NY:AN:NY.ANへー。 そうなのか。
でも、 Scheme としての API (インターフェイス) を決めるとなると、
イベントとかスレッドとかのモデルとも関係してくるんじゃないのかな。
非同期 I/O の枠組みを挟むべきかどうかとか、考えるときりが無いというか、
他の諸々との連携で考えるべきことは多そうに思う。
0775デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN>>769が懸念しているのは、Scheme作者様本人が書かれた文書にある
Schemeコミュニティの伝統的精神が変化しつつあることではないのだろうか?
==== Scheme 過去◇現在◇未来 ====
Schemeコミュニティはとてもフレンドリーです。ほとんど彼らはコンセンサス
で合意してきました。Revised reportの作業をしていたときの委員会の大原則
は、「もし変更が提案された場合、誰かがnoと言ったらそれは入れられない」
ということでした。別の言い方をすると、誰もがそれに同意しないと直さない。
これは言語を小さいものに保ちます。
これとCommon Lispコミュニティと比べてもいいかもしれません。Common Lisp
はフレンドリーではないとも言えるでしょう。コンセンサスで動くのではなかっ
た。5年間私は委員長をしていました。論点の調停をしていました。それは私の
一生でもっとも困難な仕事でした! Common Lispでの原則は、「変更が提案され
るとき、誰かがyesと言うとその機能は言語に入れられていきます!」だから、
Common Lispは大きくなりました。
ttp://www010.upp.so-net.ne.jp/okshirai/scheme-20070402222203.txt
0776はちみつ餃子 ◆8X2XSCHEME
2013/07/29(月) NY:AN:NY.ANどうだろう。 Scheme の「規格」はいつもコアとなる「言語」しか決めようとしなかった。
でも、コミュニティとしてはライブラリが無くていいと思ってたわけじゃなくて、
(実際、規格の範囲内で出来ることが限定的すぎて)
srfi なり処理系の拡張なりで勝手にやるよっていう雰囲気だっただけじゃん?
(その文書の当時はまだ srfi は無かったはずだけど)
言語コアについて一段落した今、ライブラリを拡充しようとするのが Scheme の精神に反するとは言えないんじゃないかな。
そのライブラリについて誰もが納得するまで議論を尽すのでなければ Scheme の精神に反することになるだろうけど。
R6RS に批判が集中したのも拙速すぎて議論が尽されてなかったからこそだし。
0777デフォルトの名無しさん
2013/07/29(月) NY:AN:NY.AN(それを反映してCLtLはSteele単独の著作になってる)
Common Lispについてはちょっと大げさに言ってるだけ。
本人はもっと過去の互換性を切り捨てて
設計した方が良かったと今では思っているので。
何でも入れられたってことはない。
lexical scopeのように、反対は大きかった関わらず、他は捨ててものもある。
そもそも初期は委員会じゃないし、
委員会になってからもCLOS関連は実際的なOOPSは何も入れずに、
カーネル言語であるCLOSだけ入れることで決着付けた。
0778デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.ANSchemeを逆にCから使うばあいのffiも統一してくれないものか
0779デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.ANそうしてPHP並に互換性の概念のない言語が誕生するんですね。
極論はさておき、Pythonとか見てると弊害が実に良く分かると思う。
利用人口少ない言語であんなことやったらマジ自滅。
0780はちみつ餃子 ◆8X2XSCHEME
2013/07/30(火) NY:AN:NY.AN0781デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.ANID:nYdZBhbg!0782デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.ANJavaはちゃんとこなしてるよ。
Pythonもメジャーバージョンアップはメリハリ付けてて問題ない。
0783デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.AN>Pythonもメジャーバージョンアップはメリハリ付けてて問題ない。
えー?
ruby並に酷いと思うんだけど。
少なくともJVMとかCLIのVMベースでここまで酷いのないし,CLはCLtLみたしてるし。
Schemeがひどいのは規格外の部分だし(そのせいで酷い目にはあったけど)
0784デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANソフトウェア板のGIMPスレは主にソフトの使い方についてなので。
二度手間にならないように質問を書かせてもらいます。
スレ違いならスルーでお願いします。
script-fu では
gimp-image-get-name, gimp-layer-get-opacity などの画像の状態を取得する関数があるのですが
返す値が1つであっても必ずリストで返ってくるため car で取り出さないといけません。
このような時にマクロを使って
g-image-get-name のような g-* という関数があれば、
それぞれに対応する元のgimp-から始まる関数を呼び出して、
返り値のリスト内の要素が1つであれば、リストではなく中の値だけを返す。
という処理は可能でしょうか?
可能ならどうすればできるのか教えて頂けないでしょうか。
0785はちみつ餃子 ◆8X2XSCHEME
2013/07/31(水) NY:AN:NY.ANGIMP をインストールするのはダルいのでとりあえず TinyScheme で動くように書いてみたけど、大丈夫かな?
もしかすると script-fu は古い TinyScheme をベースにしてたり制限されてたりしてて動かないかも?
(macro (define-car-only-proc sym)
`(define
,(let ((str (symbol->string (cadr sym))))
(if (and (>= (string-length str) 5)
(= 5 (do ((i 0 (+ i 1)))
((or (= i 5)
(not (char=? (string-ref str i)
(string-ref "gimp-" i))))
i))))
(string->symbol
(string-append "g-" (substring str 5 (string-length str))))
(string->symbol (string-append "g-" str))))
(lambda arg (car (apply ,(cadr sym) arg)))))
これを使って
(define-car-only-proc gimp-image-get-name)
とすると g-image-get-name が定義されるよ。
元の変数の名前に gimp- という接頭辞が付いていたらそれが g- に付けかえられて、
それ以外の接頭辞だったら元の変数名の頭に g- を追加したものが新しい手続きの名前になるようにした。
もしも Ruby で言うところの method_missing みたいなのを期待しているのなら、それは無理だと思う。
0786デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN0787デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN(define (g fn . sym)
(let ((lst (apply fn sym)))
(if (= 1 (length lst)) (car lst) lst)))
;; 使い方
(g gimp-image-get-name) ;=> 結果が1要素ならリストじゃなくて中の要素を返す。
(g gimp-layer-get-opacity)
0788デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.ANraco planet install コマンドでライブラリをインストールしたのですが、
インストールしたライブラリをプログラムに import する方法がわかりません。
require 構文でなら (require (planet ebellani/cyclic-redundancy-check:1:2)) といった要領で出来るのはわかっているのですが、
R6RS モードの import 構文での相当する記述方法を教えて下さい。
宜しくおねがいします。
0789デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.ANRacketやめて、Gaucheにしなはれ。Shiroさんが丁寧に教えてくれるよ。
0790788
2013/08/01(木) NY:AN:NY.AN普段は Gauche を使うことが多いです。
今回は Gauche 用に作ったライブラリを Racket へ移植しようとしているところなんです。
Gauche が優秀なのはよくわかっていますが、万能というわけでもないので。
IRC の方で質問しても racket モードならスムーズだとか言われて、そんなことは知っとんやと小一時間問い詰めたい。
(けど英語が下手くそ過ぎるので出来なかった。)
0791デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.AN0792デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.AN#!r6rs
(import (rnrs lists (6))
(rnrs base (6))
(rnrs io simple (6)))
とかそういうこと?
0793788
2013/08/01(木) NY:AN:NY.ANそう。 <import spec> で言うとどうなるのかを知りたいのです。
chicken で言う egg とかと同じように Racket のライブラリを集約した Planet というリポジトリあって、
raco コマンドひとつでインストールが出来る仕組があります。
で、それでインストールしたライブラリは #lang racket なら require 構文を使って指定することで使えるようになるんですが、
planet のライブラリを表わす専用の構文が require のサブフォームにあるんですよ。
http://docs.racket-lang.org/reference/require.html?q=require#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._planet%29%29
つまり、 Planet から入れたライブラリは Racket の中で特別扱いを受けてます。
ですが、もちろん R6RS の import ではそういった「特別扱い」を表現できないので、どうしたもんかなと。
0794788
2013/08/01(木) NY:AN:NY.AN私が Racket が Gauche より良いと感じている部分はライブラリの多さです。
ライブラリの量については足りないからと言って簡単に増やせるわけでもなく、
地道に蓄積するしか仕方ない話なので、
私自身もまとまった機能が作れたら小さなものでも公開するようにしています。
github に置かれているライブラリ等もありますが、
github には初心者が本を見て写経したコード等もたくさんあって紛れてしまうので、
ライブラリ作者の方や、良いライブラリを見付けた方は WiLiKi にある Gauche:Packages のページに
なるべく書いて頂けるとありがたいです。
0795デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.ANなるほど、ライブラリか。確かに、Racket いろいろ持ってるね。
Racket サイトつらつら見てみたけど、相当な人的リソースが突っこまれてる印象。
2D-plot 周りとか地味に欲しいと思った。
0796788
2013/08/02(金) NY:AN:NY.ANそのライブラリを管理するツール類やサポート体制にも違いがありますね。
ライブラリを扱うツールに関してですが、
Gauche では適切にパッケージしたライブラリは gauche-package コマンドひとつで
ダウンロードからインストールまで出来るようになっていますが、
これは configure やら make やらを自動で呼出すというものに過ぎず、
Windows では MinGW/Msys を事前に導入しておく必要があります。
C で書かれたコードが含まれないパッケージであってでもです。
これは Gauche を使いたいだけの人にとってはちょっとしたハードルです。
また、ライブラリの情報が集約されてないので、
依存関係の解決を自動化することも出来ていません。
とは言うものの、これは Gauche の意図的な選択だと思います。
Gauche のライブラリはバインディングが多く、
どうせ gcc とか開発環境は要るんだからもう頼っちゃえよという感じじゃないでしょうか。
Racket みたいに自前でパッケージ管理する機能を持つようになると、
Windows でも Unix 系 OS でも同じように使えて便利ではあるんですが、
OS の機能と衝突して混乱することがあるんですよね。
確か debian のメンテナが Ruby に文句言ってたことがあったように思います。
それぞれにメリット/デメリットがあり、
Racket と Gauche の方針の違いは両立できないでしょう。
私が >>790 で Gauche のことを「万能というわけでもない」と述べたのは、
Racket が万能ではないのと同様に Gauche もそうだという意味であって、
Gauche が Racket と比べて一方的に足りてないという意味ではないです。
Racket には日本語の情報が足りてない!!
0797デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.AN回答ありがとうございます。
Rubyの場合はmethod_missing というのを使っているんですね。
そちらも知らなかったので勉強になりました。
はちみつ餃子さんと>>787さんのコードを合わせて
-(lambda arg (car (apply ,(cadr sym) arg)))))
+(lambda arg (g apply ,(cadr sym) arg))))
として全部の関数を再定義して見ることにします。
0798デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.ANこのif式意味なくね?返り値捨ててるし。
0799はちみつ餃子 ◆8X2XSCHEME
2013/08/02(金) NY:AN:NY.AN識別子の頭に gimp- が付いてるかどうかで挙動を分けるのに使ってるし、
機能してると思うけど。
0800デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.AN0801デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.ANすまんこ
返り値はdefineの第二項なるんだな
0802788
2013/08/02(金) NY:AN:NY.ANドキュメントを見たら圧縮レベルとかのオプション指定が全くできなくて、
「どうせ zlib のバインディングなんだろ? インターフェイスを付けりゃいいだけなんだから手抜きすぎだろ」
と思ったら手抜きどころかまるっと Racket で書かれててむしろ要らん手間かけてました。
実用よりも Scheme (をベースとした言語) の可能性を突き詰めようとするところに漢気を感じますね。
0803デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.ANID:9ukL9ka4!つまりメジャーなR5RS処理系なら使える。
http://snow.iro.umontreal.ca/?tab=Packages
(zlibって名前だけど中身はScheme only)
しかしsnowも流行らなかったなあ。やっぱり各処理系がそれぞれがんばるしかないのか。
0804デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.ANname:space
name::space
どっちがいいのだろう
型情報にname:typeみたいなの使う処理系みた記憶あるから
name::spaceの方がいいような気もするけど
name:space使ってる人を見かける回数が多い
0805デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.AN0806デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.ANもしそうだとしたらどの方言のどの処理系でどういうライブラリを使ってどういうふうに開発してるかを参考にしたい
0807デフォルトの名無しさん
2013/08/03(土) NY:AN:NY.ANsome
every
に相当するものは
Schemeにはないのでしょうか
0808はちみつ餃子 ◆8X2XSCHEME
2013/08/03(土) NY:AN:NY.ANR6RS なら exists と for-all かな。
SRFI-1 には any と every がある。
0809806
2013/08/06(火) NY:AN:NY.ANRubyやPythonの方が扱いやすくてライブラリや情報も豊富だからかな
0810デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANこれはどういう意味?
Emacs以外って、Emacs以外のlisp組み込みツールのこと?
0811デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0812はちみつ餃子 ◆8X2XSCHEME
2013/08/06(火) NY:AN:NY.ANとりあえず Github に有った Lisp 系言語のプロジェクトの数を数えてみた。
Emacs Lisp 14052
Clojure 12633
Common Lisp 5041
Scheme 3132
Racket 1709
Arc 89
CLIPS 24
総計で 36680 だから、これだけ全部合わせても Ruby の 404243 に比べれば高々 1 割ではあるものの、充分に多い数だと思うがな。
回答がないのは質問が漠然としすぎだからじゃね。 俺も何を言っていいのかわからん。
0813デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN自分がそれで何を作ってるか聞きたかった
0814デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANなんか情報が散らばっててよくわからないというか
0815はちみつ餃子 ◆8X2XSCHEME
2013/08/06(火) NY:AN:NY.ANEmacs Lisp http://marmalade-repo.org/
Clojure https://clojars.org/
Common Lisp http://www.quicklisp.org/beta/releases.html
Scheme は互換性の問題で、各処理系に分かれちゃってる感じ。
Racket http://planet.racket-lang.org/
Chicken Scheme http://wiki.call-cc.org/chicken-projects/egg-index-4.html
Gauche http://practical-scheme.net/wiliki/wiliki.cgi/Gauche:Packages
0816デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0817はちみつ餃子 ◆8X2XSCHEME
2013/08/06(火) NY:AN:NY.AN0818デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANだからLispは言語としては柔軟でどの言語よりも優れてると言われても
実用的なものは作れないんじゃないかなと思ってる
それを払拭してほしくて作ったものを教えてとみんなに聞いたんだけど全然答えてくれない
だから3行目が否定されなくてLispで実用的なものは作れないが真になってしまう
0819はちみつ餃子 ◆8X2XSCHEME
2013/08/06(火) NY:AN:NY.ANhttps://github.com/search?l=Scheme&q=%22%22
これが全然見えてないか、全て実用的じゃないように見えてるのか、煽りたいのか、どれ?
0820デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0821デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN見えてなかった、すみません
>>820
Lispは素晴らしいと思うよ、本当に
0822デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0823デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0824デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANパラパラめくってみたけど、2章の図形のライブラリってあるの?
0825はちみつ餃子 ◆8X2XSCHEME
2013/08/06(火) NY:AN:NY.AN例えばここには Gauche の OpenGL バインディングを使う例が置いてあるね。
http://d.hatena.ne.jp/higepon/20060426/1145547441
0826はちみつ餃子 ◆8X2XSCHEME
2013/08/06(火) NY:AN:NY.ANhttps://twitter.com/eiitiwada/status/364698039102873602
0827デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0828デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANID:DXkUTaWQ!古典AIをスクリプトとして扱う組み込み機器で使われてるんじゃないの?
あのほら動く掃除機とかCADとか。
>>818
最初はgimpもcadもlispで書かれていた
0829デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN海外にいるのか?
0830デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANID:DXkUTaWQ!英語を読める方が、そこらの似たり寄ったりなプログラム言語の文法覚えるよか遥かに重要だから
0831デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN絶版かー
講義で買わされたことに感謝しておこ
0832デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANID:DXkUTaWQ!就職が決まらずに海外を放浪しようと、海外のProxyサーバーを利用していようと、海外へ留学してようと、仕事で来ていようと、それが何か?
>>831
Amazonなりスラドなり邦訳版って色んな場所で叩かれまくってなかった?
0833デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0834デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANgimpのscript-fuは今でもtiny schemeでしょ。
上にそのものの関連質問があるけど。
0835デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN実行環境も含めて解説してるページとかないでしょうか
0836デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANhttp://docs.gimp.org/2.8/en/gimp-scripting.html
http://www.gimp.org/docs/scheme_plugin/
http://developer.gimp.org/api/2.0/index.html
http://developer.gimp.org/plug-ins.html
0837デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.AN0838デフォルトの名無しさん
2013/08/06(火) NY:AN:NY.ANxcfファイル100個くらいの画像サイズを一気に変更する方法とかあったら知りたい
0839デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.ANスレチだが、irfan viewやimage magikとかならできるかもね
オリジナルは CC BY-SA 3.0で公開されているから wikisource に写経することが可能では?
CC-BY-SA
SA: Share Alike ? If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
0841デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.ANそうかやってくれるか、頼んだぞ。
0842デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.ANマケプレで値上がりしたら売り飛ばすか。
0843デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.ANImageMagik+シェルスクリプトで瞬殺だな。
0844デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.AN0845デフォルトの名無しさん
2013/08/07(水) NY:AN:NY.AN0846デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.ANみんな(俺以外)で翻訳してウェブにうpしちゃおうぜ
0847デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.ANそれじゃ夢がないだろ、そこはlispでなんとかしよう
0848デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN別にどうもならない
0849はちみつ餃子 ◆8X2XSCHEME
2013/08/08(木) NY:AN:NY.ANなんかよくわかんないんだよなー。
独占翻訳権の契約をしておきならが CC BY-SA 3.0 でも公開してたわけだろ。
デュアルライセンスってことなのかな。
それでも著作権
'transform' に translate を含むか含まないか‥‥でしょうね。
語学は苦手だし独露の翻訳家を尊敬する私としては翻訳者の著作権は尊重されるべき、と >>840 とは裏腹な想いではありますが。
春樹は「翻訳は極致としての精読」だったかな、そんなことをいってはったこともあるし、これは頑張る価値があるのかもしれません、未だに末尾再帰ですらよくわかっていないらしいし。
0852デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.ANの新しいのが来月でるけど
GaucheやRacketから使えるようにならないかな
旧版のマインドストームでCommon Lispはあるみたいだけど
0853デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.ANこういうのambで制御したら面白いと思うんだけどなあ
0854デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN含むに決まってるじゃん。
承知のうえで翻訳してるんだから問題ない。
自分もGPL(GFDLではなかった)の本を翻訳したことがある。
訳本として売ったけど、翻訳後のソースもtexinfoフォーマットで出版社が公開していた。
それでも本が売れて印税は入ってきた。
独占翻訳権=翻訳権の排他的利用許諾契約、はどうされたのですか?
0856デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN0857デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.ANhttp://www.publickey1.jp/blog/13/post_233.html
このピアソンってまさかsicpの訳本の出版社?
だとするともう絶望的なんじゃ…
0858デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN8月1日付けで新会社「ピアソン・ジャパン株式会社」がアナウンスされてる。
ttp://www.pej-hed.jp/info/new_items/1.html
書籍案内とか昔のまま存在してるけど、今後の詳細はやはり不明。
0859デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.ANアジソン ウェスレイ・トッパンが2000年に解散した時も、いったん絶版したような気がする。
アジソン ウェスレイはピアソンに買収されたはず。
http://ja.m.wikipedia.org/wiki/ピアソン_(企業)
0860デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.ANそのまま消えた本もあった。
0861デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN知らなかった
0862デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN0863デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.ANANSI Common Lispとプログラミング言語SCHEMEも絶版か
0864デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN仕様的にはevalの時に毎回展開してもいいのかな
0865デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN0866デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN俺俺 Lisp を作ろうってのなら好きにやればいいし。
0867デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN仕様読むの面倒だから知ってる人いたら教えてほしいなと思って
0868デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.AN自分が言う「Lisp」って何のこと?
Common Lisp ?
0869デフォルトの名無しさん
2013/08/10(土) NY:AN:NY.ANlisp-2でCommon Lispを中心にxlispとかそこら辺
曖昧だけど許して
0870デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANLisp 族は寛容なのでCL準拠とか名乗らなければ、何でも許容される。
0871デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANCLだと毎回展開してるとでも?
0873デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0874870
2013/08/13(火) NY:AN:NY.ANん?CLの場合に毎回展開している訳じゃない、ってのは当然分かってるよ。誤解を招いたならすまんが。
オレオレ処理系ならどういう仕様でも自由だ、と言いたかった。
0875デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN(存在しない関数を読んだ時に動的に処理する)
(defun cars () '(car cadr caddr))
(defun animals () '("dog" "cat" "elephant"))
(defun method-missing (name)
(let ((fn-str (symbol-name name)))
(if (equal (subseq fn-str 0 4) "CAR-")
(car (funcall (symbol-function
(intern (string-upcase (subseq fn-str 4)))))))))
(defmacro undefined-capable (&body body)
`(progn ,@(mapcar (lambda (sexp)
`(handler-case ,sexp
(undefined-function (var) (method-missing (cell-error-name var)))))
body)))
(undefined-capable
(car-cars)
(car-animals)
)
;=> "dog"
ただこれトップレベルでしか動かない。
(print (car-animals))も動くようにするには再起して
すべてのS式を包むしかない?いい方法あるのかな。
0876はちみつ餃子 ◆8X2XSCHEME
2013/08/14(水) NY:AN:NY.AN知らない関数の呼出しをフックするという意味で >>785 では method_missing を引き合いに出したけど、
Ruby の場合はオブジェクトが属するクラス (とそのスーパークラス) がメソッドの集合を持ってて、
CLOS の場合はジェネリック関数がメソッドを束ねるようになってるわけだから、
mthod_missing の相当品を CLOS で言えば no-applicable-method ってことになりそう。
要するに、そこで method-missing って名前を付けてるけどそれってメソッドじゃなくね?という違和感。
いや、名前だけの話であって、どうでもいいと言えばどうでもいいことなんだけどね。
それは置くとして、私は Common Lisp のことはあまり知らないので見当違いかもしれないけど、
関数が見付からないときの処理に割り込む方法がないか HyperSpec を検索した結果、
*DEBUGGER-HOOK* というのを見付けた。 どんなもんかな。
例を見るとなんかそれっぽいことをしてるような…。
http://www.lispworks.com/documentation/HyperSpec/Body/v_debugg.htm
0877デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0878デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN> InterLisp のとった方法はなかなか面白い.たとえば,
>
> (list (+ n count) n*count)
>
> という式の中で n*count が未定義変数だったとしよう.InterLisp はエラーからの
> 回復機能が優れており,エラー処理でいろんな仕事ができる.
以下略
www.nue.org/nue/tao/bitao/s005.html
0879デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANpngを byte-stringとして読み込んで
byte-stringにいろいろ処理するって事でいいの?
0880デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANracketからOpenCV使えるかと思ったらバグだらけだ
MacOSXではちゃんと動くのだろうか
Linuxだと最初のチュートリアルしか動かなかった
0881デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANmethod_missing自体がなんでも実行時にやろうとするRubyに寄ったやり方じゃないか?
0882デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANマクロの裏を覗きつつ、要約特定出来ました。
以下を実行するとsbcl、clisp共にフリーズします。
うまくクロージャが作れていないのはなぜなのでしょうか?
defparameterの行を消せばうまく動きます。
(defparameter *cont* #'1+)
(defun test (*cont* x)
(let ((*cont* (lambda (x) (funcall *cont* (* 2 x)))))
(funcall *cont* x)))
(test *cont* 5)
0883デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANwww.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/mac_defparametercm_defvar.html
を読んだら分かりました。
(defparameter *cont* #'1+)
(defun test (*cont* x)
(print *cont*)
(let ((*cont* (lambda (x) (funcall *cont* (progn (sleep 1) (* 2 (print x)))))))
(funcall *cont* x)))
(test *cont* 5)
特別扱いされて、スコープがダイナミックになるんですね。
(test *cont* 5)はマクロ展開後に現れるので、
defparameterがダメとなるとletで囲むなりしないと警告を消せないなぁ。
0884デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0885はちみつ餃子 ◆8X2XSCHEME
2013/08/18(日) NY:AN:NY.AN0886デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0887デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANcommon-lisp - REPL-Utilitiesでプロトタイピングを高速に - Qiita [キータ]
qiita.com/nitro_idiot/items/c8fe3f7136399709d250
LEX
LEXはグローバルなレキシカル変数を定義するマクロです。
(lex x (list 1 2 3))
(defun sum-of-x ()
(reduce #'+ x))
(sum-of-x)
;=> 6
(let ((x (list 1)))
(sum-of-x))
;=> 6
0888デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANなんで無限ループになるのかおいらにはわかりません
誰かおしえてください
0889デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN(let ((*cont* (lambda (x1) (print x1) (funcall *cont* (1+ x1)))))
(funcall *cont* x))
これでも無限ループになり1,2,3…と無限に数を出力し続ける
0890デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN(defun test (*cont* x)
(let ((*cont* (lambda (x1) (print x1) (funcall *cont* (1+ x1)))))
(funcall *cont* x)))
(defvar *cont* #'1+ x 1)であるとする。
一番下のfuncallで*cont*を呼び出すと、(progn (print x1) (funcall *cont* (1+ x1)))を評価しようとする。
まず(print x1)で数字を出力する、次に*cont*を呼びだそうとする。
しかし、*cont*は動的変数(だっけ?)として宣言されているので、
今の動的な環境で見える*cont*を使う。つまりletで宣言された*cont*と呼び出す。結果として、その呼びだされた*cont*の中でもletで宣言された*cont*が呼ばれ無限ループになる。
0891デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0892デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANおいらにもたぶんなんとなく理解できましたありがとう
(defvar *f*)
(let ((*f* (lambda () (funcall *f*)))) (funcall *f*)) ; => 無限ループ
(defun f (*f*) (funcall *f*))
(f (lambda () (funcall *f*))) ; => 無限ループ
0893デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0894デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0896デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN1レス読まずに勘違い書き込みしたことがある。
0897はちみつ餃子 ◆8X2XSCHEME
2013/08/20(火) NY:AN:NY.AN綺麗に切り分けられるようなことでもないしなぁ。
例えば >>882-883 だとスペシャル変数 (ダイナミックスコープ) の話だと思って見れば CL 固有ってわけでもないし、
defparameter というオペレータの挙動の話として見れば Common Lisp の話だし。
0898デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANLisp方言と表せばいいと思う
0899はちみつ餃子 ◆8X2XSCHEME
2013/08/20(火) NY:AN:NY.AN0900デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0901デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANmatzが言っているように、S式とマクロが無いのはLispじゃないだろう。
グレアムへの反論としてはこちらも参照。
ttp://practical-scheme.net/trans/IsPythonLisp-j.html
0902はちみつ餃子 ◆8X2XSCHEME
2013/08/20(火) NY:AN:NY.ANマクロとか lambda とかが無くてもS式だったらまぁ Lisp かなって思う。
(それが使い物になるかは別として。)
0903デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0904デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0905はちみつ餃子 ◆8X2XSCHEME
2013/08/22(木) NY:AN:NY.ANhttp://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%BC%E3%83%AB%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF
引数のやりとりとか呼出し元の記憶をしたりするスタックをコントロールスタックと呼んだりはするけど、
値のやり取りと制御フロー関係を別のスタックに分けたりすることもあるので、
他に「××スタック」がいくつかあるようなら制御フローに特化したスタックのことをそう言ってる可能性もあると思う。
昔の Ruby は 7 本のスタックに分けてたりもした。
http://loveruby.net/ja/rhg/book/module.html
(出典が見付からないけど今は一本化されていたはず。)
具体的にどう分けるかは設計思想によるのでなんとも言えない。
ソースコードがあるなら更に読み解いていくしか仕方ないんじゃないの。
具体的に処理系名をさらせるならもっと細かいことが言えるかもしれない。
0906デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANありがとう
コントロールスタックってコールスタックと似たようなものと思っていいのか
処理系の名前は作者の許可がないから言えないけどX68k用でした
0907デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0908デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN/* control stack */
typedef struct _c_stack {
CELLP value_env; /* 変数束縛 */
CELLP label_env; /* jump label */
CELLP *s_stack_p; /* s_stack pointer */
unsigned int jmp_env; /* jump address or call_next_method number */
} CSTACK;
0909デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANメモリを確保する時にそのアドレスを連結リストに追加する
マークの時にGCの時にその連結リストに入ってるセルのマークを全部はずしてからシンボルテーブルやスコープを起点にマークを付けていく
スイープは連結リストを順番に見ていってマークが付いてないものを開放していくやり方じゃ駄目なのかな
何故かうまく行かないのはマークの付け方が甘いからだろうか
実行中の局所的なセルの辺りが怪しい気がするけどどうなんだろう
0910はちみつ餃子 ◆8X2XSCHEME
2013/08/23(金) NY:AN:NY.ANGC はテストがやりづらいからよく見直して作り込むしか。
この本ではハマりどころも書いてあるから役に立つと思うよ。
http://www.amazon.co.jp/dp/4798025623
0911デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANこれ3年前に出たばかりなのにもう新品がないのか
欲しいけど高いしちょっと手が出しにくいな
0912デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0913デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANどこが違うかわかる人教えてください
0914デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANSECDマシンの持つスタック4つのうち
Cの文字で表されるスタックがコントロールスタックって呼ばれるね。
コンパイルされたコードが入っているスタック。
0915デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN4*x+3+z*y
みたいなのを
(+ (* 4 x) 3 (* z y))
に自動変換してくれるマクロやツールないのでしょうか
Racketで動くものあると嬉しい
0916デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANそのうち中置記法がめんどうになるから気にしなくてもいい
0917はちみつ餃子 ◆8X2XSCHEME
2013/08/23(金) NY:AN:NY.ANR6RS ポータブルな実装だとこれなんかどうかな。
https://github.com/marcomaggi/Infix
でも、こういったものは既存のものだと微妙に手に馴染まない感じだったりするので、
結局は自分で書くか諦めるかになったりするんだよね。
0918デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANそうは言っても中置記法の方が数式の表現として理解しやすいのでどうしようもないと思うが?
特に数値演算多用するようなもの作ってると実感すると思わん?
>>917
リーダーマクロで読ませたりしても分かち書きしないといけないから使いにくいんだよね。
0919918
2013/08/24(土) NY:AN:NY.AN行列やベクトルをこね回すときはあんまり不便感じないのはこれらを使うと他の言語でも読み辛いからなんだろうとは思う。
0920デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN同感
0921はちみつ餃子 ◆8X2XSCHEME
2013/08/24(土) NY:AN:NY.ANScheme だと名前の自由度が高くて曖昧さなくトークンを切出せないから仕方ない。
例えば foo+bar と書いてあってもこれ全体でひとつの変数名の可能性があるわけで。
自分で使う分には、変数名に記号は含まないとか、使う演算子の種類は四則演算に限るとか、
都合のいいところで割り切ることも出来るけど、汎用的に設計するのは難しいだろうな。
0922デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN数式以外の残りは全部、前置なんだから。
数式大量だとカッコが煩雑なのは分かるけど、頑張って中置にしても、コストに見合わない気がする。
0923デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN中置の方が理解しやすいってのはただの慣れ
0924デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANそうは言うがな大佐
義務教育からずっとinfixなのは結構辛いと思うぞ
制御構文とかは気にならないけどやっぱり純粋に数式使う時はより長い期間触れたinfixが望ましい気がしないでも無いのだわ
>>921
+はあんまりきにならんけど、名前をハイフンで結ぶので減算記号はどもならんわー
0925はちみつ餃子 ◆8X2XSCHEME
2013/08/24(土) NY:AN:NY.AN中置が前置より慣れてて受け入れやすいというのはわからんでもないけど、
中置が前置に混ざるという状況はどっちつかずで気色悪いとも思う。
0926デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN(cond ((atom lst) (if (symbolp lst) (symbol-value lst) lst))
((= (length lst) 3) (list (second lst) (infix-compiler (first lst)) (infix-compiler (third lst))))
(t (list (car lst) (mapcar #'infix-compiler (cdr lst))))))
昔書いた中置記法コンパイラだぜ
4行だぜ
(setq exp '((3 - 2) + ((8 + 4) / (8 - 4))))
(infix-compiler exp)
;=> (+ (- 3 2) (/ (+ 8 4) (- 8 4)))
;=> 4
0927デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANあれ?
0928デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANこれで。http://members.ozemail.com.au/~hodsond/dbp.html
もっと色々なことがしたいならbatchモードで。
0929デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0932デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN【悲報】2chの●購入者の個人情報やキャップパスなどヤバイ物多数がTorに流出part16
http://engawa.2ch.net/test/read.cgi/poverty/1377488375/
0933はちみつ餃子 ◆8X2XSCHEME
2013/08/26(月) NY:AN:NY.ANマジかよ
トリップまではともかく決済関連もとなるとえらいこっちゃ
大問題とかいうレベルでないぞ
0934デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANおそろしすぎ
2chに情報渡してなくてよかった
0935デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN気づくの早すぎ
お前ただ誤爆しただけじゃねーの
0936はちみつ餃子 ◆8X2XSCHEME
2013/08/26(月) NY:AN:NY.AN0937デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0938はちみつ餃子 ◆8X2XSCHEME
2013/08/27(火) NY:AN:NY.ANでも、 Scheme で書いてもそれほど難しくはなさそうだね。
0939デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN(setq nums (loop repeat 1000000 collect (random 1000000)))
(defun uniq-num (lst)
(time
(let ((hash (make-hash-table :size 1000000 :test #'equal)))
(dolist (x lst)
(setf (gethash x hash 0) t))
(hash-table-count hash))))
(uniq-num sexps)
(uniq-num nums)
0.395 seconds of real time :test #'eq num
2.168 seconds of real time :test #'equal num
6.937 seconds of real time :test #'equal str
54.463 seconds of real time :test #'equal sexp
0940939
2013/08/27(火) NY:AN:NY.ANremove-duplicateでは処理が終わらずhash-tableを使うことにしました。
上の式を実行すると 54秒で処理を終えることが出来ました。
しかしhash-tableを:test #'eqにしランダムな数値を100万個入れた所0.4秒で終わりました。
比較関数の違いで100倍も違うのか疑問に思い:test #'equalに変えてみた所2.1秒でした。
S式の場合は何故こんなに遅いのだろうと、試しに
(setf (gethash (format nil "~a" x) hash) t)としてみると6.9秒で済ますことが出来ました。
もっと早く重複を削除することは出来ないでしょうか?お知恵を拝借させてください。
0941はちみつ餃子 ◆8X2XSCHEME
2013/08/27(火) NY:AN:NY.AN数値を入れる場合なら比較関数として eq を使うと正しい結果にならないんじゃね?
0942デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0943デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN格納の時間を無視するなら、100万でも1秒かからない気がする
0944デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0945デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANしたらば
あたりに移動できないものかな
Gaucheのサイトの中に2chのcgi動かしてくれる場所あれば
一番いいのだけど
0946デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0947はちみつ餃子 ◆8X2XSCHEME
2013/08/28(水) NY:AN:NY.ANWiLiKi や Chaton があるんだから質問系はそっちに書けばいいじゃん。
ただ、 2ch くらいはっちゃけられる場所は欲しいよな。
ゆるく雑談しながらダベる場所としては IRC もあるぞ。
freenode の #Lisp_Scheme だ。
ずっと過疎っぱなしで寂しいのでみんなも来てくれよな!
0948939
2013/08/28(水) NY:AN:NY.ANこの重複削除の時間が10分の1にさえなればプログラム全体に大きな影響を与えられます。
ダーティハック的な手法さえ許容し高速化できないものでしょうか。
>>941
はい、eqはオブジェクト同一性による比較であり同じ数値が違うオブジェクトである可能性がある為eqlを使うべきでした。
>>942
lisp 自然結合 等で検索しても見つけることができませんでした。どのような処理をする関数なのでしょう(lisp内部にDBを作る?)。
0949939
2013/08/28(水) NY:AN:NY.AN>格納の時間を無視するなら、100万でも1秒かからない気がする
御免なさい格納の時間とは何を指しているのでしょう。
(setf (gethash x hash) t)) の処理時間の事を示すのであれば
現在の場合も格納を無視した時間は格納時間に比べ微である様に思います。
>>946
racketは型に応じて処理を切り替え、重複削除が高速に行えるということでしょうか。
今回はCLで書いている為残念ながら利用できませんが良いですね!
0952はちみつ餃子 ◆8X2XSCHEME
2013/08/29(木) NY:AN:NY.ANとりあえず同等のものがあるから言ってみただけ。
0953デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN格納の時間は、たぶんデータベースを使うならそのデータベースに登録するのにかかる
時間ということでしょう
まあ、100万レコード登録するとかなり時間かかるんじゃないかと思うけど
0954デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0955デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0956デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANapply - 関数に引数を適用する
0957デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0958デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANapplyは関数しか適用できない
0959デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0960デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN簡単にevalを書ける例の表現ではないけど。
0961デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN困ったときは泣いている顔文字でアピールしてくるので、お前らちゃんと助けてやれ
0962はちみつ餃子 ◆8X2XSCHEME
2013/08/31(土) NY:AN:NY.AN0963デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN複素数のsinってどうやるんだっけ?とかwikipedia先生に聞きながらちまちま実装してる今日このごろです
で本題なんですが + - * / の可変長引数版は引数を fold すればいいと思うんですが
= < <= > >= の可変長引数版を実装するのになんかいい高階関数とかないでしょうか
0964デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN相手が男もしくは利用価値のありそうなプログラマの場合は「だいじょぶです(;;)」
相手が女の場合は「大丈夫^^」ってレスする女のこと、Lisperの皆さんはどう思われますか?
0965デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANそれらに対する反応をナチュラルに使い分ける腹黒い女は、僕はどうかと思いますね
0966デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0967はちみつ餃子 ◆8X2XSCHEME
2013/08/31(土) NY:AN:NY.AN比較関数の場合でも持ち回る値の数は一個でよくて、但し、途中で脱出する場合がある。
Scheme では第一級継続のおかげで大域脱出が簡単に書けるので、こんな風に書ける。
(define (< arg1 . rest)
(call/cc
(lambda(cc)
(fold (lambda(elt acc) (if (<2 acc elt) elt (cc #f))) arg1 rest)
#t)))
ここでは <2 っていうのが二引数版の < ってことね。
この程度のものに継続を捕捉するのが非効率だということであれば、
何かの特別な値が発生したときにその場で脱出するような機能をもった fold を作ればいいと思う。
0968デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN処理系はマクロを廃止して仕様をコンパクトにしてダウングレードしたバージョンを作ってくれないでしょうか
0969デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0970デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN他のマクロはいらない
set!もいらない
もっと純粋さを追及してみてはどうか
0971デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN例外はマクロでなくてもいいかと
0972デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0973デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0974デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0975デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0976デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0977デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANその方が簡単だし、プログラミングするときに技術的な挑戦が存在する
0978デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN技術的な挑戦をしたいのなら、>977自身が挑戦的なオレオレ処理系を作ればいいのではないかと
0979デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANゴリゴリ決め打ち処理書けるので楽|雑にかける
0980はちみつ餃子 ◆8X2XSCHEME
2013/09/01(日) 00:02:11.48ブートストラッピング的なことをするときにマクロがないとつらたん。
という理屈でやっぱりマクロが欲しくなるものらしいけどね。
とりあえず必要なところから書いていけばいいんじゃないの。
マクロが要るようなら導入すればいいし、要らないなら後付けでいいじゃん。
うまく後付けできなくて最初から書き直しなんてのもよくあること。
0981デフォルトの名無しさん
2013/09/01(日) 01:21:25.46次スレよろしく
0982はちみつ餃子 ◆8X2XSCHEME
2013/09/01(日) 01:52:09.17Lisp Scheme Part37
http://toro.2ch.net/test/read.cgi/tech/1377967896/
0983デフォルトの名無しさん
2013/09/01(日) 13:56:58.490984デフォルトの名無しさん
2013/09/01(日) 19:51:27.12誤爆www
0985しょしんしゃ ◆/DG0Jy/HnA
2013/09/02(月) 10:29:09.390986デフォルトの名無しさん
2013/09/02(月) 10:55:40.66レス数が950を超えています。1000を超えると書き込みができなくなります。