Lisp Scheme Part40 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
渋谷Lispとかの勉強会、以前は誰でも発表できたはずなのに 今は有名人以外はお断りになったの? Lisperなんてマニアックな奴が多いから 相当な知識がないと発表できないだろ 聴衆のレベルが高いことがわかっている場所でアホなことは言いたくないだろうし、 そういうところで気後れしやすい素地はあるのかもしれんなぁ。 わかってる人には今更すぎることでも知りたい人はいると思んだが。 レベルが高すぎると思うんならそうでもない人向けの勉強会を開催してもいいんですよ。 >>647 ほんと何から何まで他人のせいにしてて2chの化身みたいな意見だな 誰一人おまえの邪魔なんかしてないから.おまえが勝手に障壁つくってるだけだから. 初歩的な質問いいっすか? ドット(.)とかカンマ(,)を標準入力で文字列として受け取るにはどうすればいい? readじゃ無理ですよね? ボードゲームの盤面を表したような、空白で区切られた複数文字を受け取ることを想定してたんですが、read-lineで受け取ってsplitとかするのが無難ですかね 空白で区切られているのにカンマやピリオドも出てくるの? セミコロンやカンマで区切られた文字の中に空白が入っていることもある形式って意味かな? >>647 むしろshibuya.lispは事前審査も何もないし、入門してみた的な内容でも全然大丈夫だと思うぞ。LTでもいいし。 発表登録も単にconnpassのページのコメント欄で表明するだけだし。 記号処理ってC言語で言ったらどういう処理のことですか? 記号処理は文字列処理のうち 人工知能の分野に関係する処理 たとえば機械翻訳とか コンパイラの字句解析、構文解析みない処理といことですかね。 Lispはそういうのが得意なんですか? まだ関数型言語の実装イメージがよくわかりません。 そういうコンパイラなどの言語処理系も記号処理と言える Lispは言語処理系の実装が得意 LISP言語の設計は人工知能とはまったく関係がない。 機械翻訳は翻訳であって人工知能ではないが、LISPの記号処理の使用例でもない。 コンパイラはコンパイラ技術であって記号処理ではない。Cで書かれた処理系は幾らでもある。 だからといってCが記号処理得意なんですか?違うでしょ? LISPはコンパイラ処理が得意という訳ではない。LISP製コンパイラを見たことがない。 LISPだからといって何でもAIと結び付けて考えるのが間違い。 コンパイラはAIですか?->違います。LISPはAIツールですか->違います。 これははっきりしてる。だから90-2000年代になってLISP==AIという認識が間違いだよねという コミュニティの認識があった。今再びAIと叫ばれ、LISPに対する誤解が再生産されている。 全てをAIと表現して記号処理もAIとしてしまうと、コンピュータサイエンスも何も無い。 AIというバズワードこそが詐欺的だということです。 >>662 >LISP製コンパイラを見たことがない それは知らないだけだろ なんで開き直って確信してるのか >>663 >コンパイラはAIですか?->違います いやそれは現在の認識だろ 当時は言語処理系もAIだと認識されていた Common Lispはネイティブコードへのコンパイルも仕様に入ってなかったっけ? Lispで書かれたコンパイラ、、、そう言えば20年くらい前だったか Zeta C ってのがあったなぁ >>662 あーでもない、こーでもないと、外堀埋め的説明じゃなくて、 LISPとは何なのか、記号処理とは何なのか、AIとは何なのか、結論だけ教えて。 記号処理は記号を処理することだよ。 数値演算ではなく、たとえば数式みたいなものをいじってなんやかんや。 というのでなんとなくコンパイラ技術とも関係があるというのがわかると思う。 AI (人工知能) は人の知能を真似ようとするもの。 かつては (数値計算ではなく) 数式の変形をするのは機械には出来ない人間的なことだったから、 それをやるのは人工知能というカテゴリだった。 やり方がある程度確立した今では知能もクソもない、普通の数式処理じゃんって話になるから人工知能だとは思われない。 人工知能という言葉が指す具体的な技術の範囲は時代によって変わることになる。 LISP が直接的に得意としているのは名前が示す通りにリスト操作でしかないよ。 それが記号操作に便利だったし、記号操作はかつては人工知能の重要トピックだったって話。 lispアイデンティティの最後の砦はs式と同図像性であろう。 ライブラリがあるのと言語に組み込まれてるのは違うよな >>672 区別なく使える程度の抽象化能力が有ればどうでもよくなる。 あのさ、俺小学生なんだけど、HaskellとLispどっちが強いの? おっさん、おばさん教えてよ。 どっちも信者しか使う必要を感じない方向での強さしかない だから信者対策にどっちも舐めとけ >>677 それはたんに「仕事で使わざるを得ないランキング」に見える Lispは最初から仕事で使われないから対象外なだけ それに23位にClojureがあるし普及したらもっと上がりそう 入門サイトを読んでみたが必要性が分からない言語だな。 >>681 勉強用には最適だと思うけど実用性はかなり低いからね。 2020年のプログラミング教育必修化の教育に使ってほしいが可能性は0.0000000000000000000001%くらいか。 >>682 Lispは学習用言語に向いてるとは思う 実用できなくはないが大変 あとLisp教えられる教師なんか ほとんどいないだろ 大学じゃないと無理 プログラミング言語の習得とは、 基本的なデータ構造とアルゴリズムが実装できるようになることだとすると、 この言語は向いてると言えるのか。 言語の習得のための言語ではなく、プログラミングを習得するための言語だよね >>683 MITでもScheme教えられる教師が居ないと言うのに 汎用言語じゃね? 特別に何かに特化しているわけじゃないと思うが。 レイモンドは「悟り体験のため」って言ってるけど、 グレアムはそんなこと言わずに使えばいいじゃないのという立場で莫大な収入を得ているので、 使いたいように使えよ〜 >>687 ああそうか LispからPythonに変えたんだろ もう大学でも無理って時代になってきたかもな 教える人がいないからってわけじゃないよ。 Sussman 自身もまだ現役だし。 Sussman が語った内容の日本語訳がここにある。 https://cpplover.blogspot.jp/2016/05/mitsicp.html >>690 「教わる人がいないから」 「教える意味がなくなったから」 って方が実態に近いかもな 主にC++な自分にとって、Lispはmodern C++が目指す最先端なんだけど、 Lispの人たちゃもうどっかに行っちゃってるのかね。 >>691 要約すると「総合的に考えて Scheme は入門講義ではベストではなくなった」って話で、 MIT での教育・研究全てから LISP が排除されたって話ではない (大幅に縮小はしてるかもしれない) ので、 Scheme が手頃な場面では Scheme だって使うだろうし、 時代の変化とそれに合わせた適材適所っていう当たり前の話なんだよね。 >>690 70の爺さまだぞ モチベーションなかろ >>695 言語を変更するにあたってサスマン自身も主導者のひとりであるように書かれてる。 モチベーションがないならむしろそのまま続けるんじゃね? だいたい LISP と言ってもフルセットの Common Lisp を隅々まで使おうってんじゃないんだ。 SICP で使ってるのは R4RS 時代の Scheme だぞ。 MIT の教員レベルならどうということのないものだろ。 >>696 >>690 の中で1997年の時点で教えるの嫌になったって書いてる。サスマン50歳でモチベ低下w >>697 「今のエンジニアリングに求められるエンジニアを育てる」ということにモチベーションがあったから、 「それに合ってないカリキュラム (SICP) で指導する」というモチベーションが低下したんだよ。 >>698 そうなのかw 今でもエンジン設計できるヤツとかエンジンの部品を開発できるやつは必要だな。 出来合いの部品買おうにも部品屋がいないと駄目だ。 >>699 MIT で SICP を使ってた講義ってのはあくまでも入門講義であって、それだけで課程が終わるわけじゃないかんね。 そこんところ誤解なきよう。 >>700 その入門レベルで挫折したわけだが 決して翻訳のせいなどではない >>701 入門って言っても MIT のレベルの入門だから仕方がない アメリカの大学は1〜2年生の時に適正ない奴をふるい落とすんだよ ジョエルがJavaスクールのなんたらで書いているように MITは、入学は簡単、卒業は難しいと言うアメリカの大学の常識は当てはまらないな。 どっちも超難しい。 Common Lisp でscheme と同じ感じで...の使えるMatch マクロ使う方法ないですか? >>706 部分的に syntax-rules を再現したようなライブラリはこういうのがあるよ。 http://www.ccs.neu.edu/home/dorai/mbe/mbe-lsp.html 省略子は ... ではなく *** になってるのと、ハイジニック性は再現されてないことに注意。 マクロ展開器としてだけでなく、パターンマッチ関数を直接使うことも出来る。 >>704 それは両方の敷居が高い方にスライドしてるだけとも言えるのでは つまり反論になってない cpsスタイルはクロージャの応用にすぎない。慣れれば難しくないし、jsのコールバック地獄の意味も分かってくる。 難しいのは各種継続オペレーターのセマンティクスと使いこなし。 SCM_VM_MAX_VALUES を適当な値に書き換えてからgaucheコンパイルすれば? そんなことはないはずだが、少ない多値を扱うときに特別な最適化をしていたような気がする (apply values (iota 25))でtoo many valuesとか出る オセロとかチェスの座標(SQ_A1, SQ_B1, ... , SQ_G8, SQ_H8)に連続した数字を割り当てるにはどうすればいいでしょう? へー、そんな制限があったのか。 まあそんな多値を使うのはアレであることには違いないのでしょうがないといえばしょうがない。 識別子に連続した数値を割り当てるにはマクロが必要だが Scheme 的には R6RS を仮定するか処理系の拡張を使う必要がある。 Gauche を使う前提でいいの? racketとchickenではエラーが出ないのでgaucheやめるかも✋ でも (define-values (SQ_A1 SQ_B1 ... SQ_G8 SQ_H8) (apply values (iota 64))) と同じぐらい簡単な他の表現をぜひ知りたいです Gauche だとこういう風にすれば識別子の方の自動生成も含めて出来るけど、 なんかイマイチすっきりしないなー。 もっといい方法ありそうだと思うんだけど。 (use util.combinations) (use gauche.sequence) (define-macro (define-serial-numbers) `(begin ,@(map-with-index (^(i x) `(define ,(string->symbol (apply format #f "SQ_~a~a" x)) ,i)) (cartesian-product `((A B C D E F G H) ,(iota 8 1)))))) (define-serial-numbers) scheme勉強するならこのコード読んどけみたいなのあります? せいぜい1000~2000行程度の綺麗に書かれてるコードを探してるんですが 3x3の0Xゲームの評価関数をこの言語なら簡単に書けると思いましたが無理でした。 言語のせいです。ぶっちゃけAI記述に向いてません。 今風AI記述向けDSLってできるよねきっと 内部でマクロ書く言語ならアドバンテージあるんじゃないか? >>725 マクロの有無(内部でマクロ書けるってのはC的なんじゃなくてLisp的なマクロって意味なのか?)がAIプログラミングと何の関係があるの? AI書いたことない人がLISPはAIに向いていると言ってるだけ。 お前の言うAIはAIというよりディープラーニング限定だろ >>727 LISPを知らない奴ほどLISPについて語りたがる、とどこかの先生が言っていたけど、 まさに君のことだな >>730 キミがどーんとLISPにおけるAI記述を語ってもいいんだよ。 まぁ書いたことないから低レベルな煽りしかできないんだろうけど。 80年台に腐るほど論文が書かれてるから勝手に探して読んでよ 集大成的なのは人工知能学会から出ている「人工知能ハンドブック」とか、まあ探せばいくらでもある AI=ディープラーニング前提で話をしてんのかね >>732 1980年代の人工知能の研究成果で現在でも役に立ってるのあるのか? 80年代といえばエキスパートシステム。壮大な詐欺だったな。 >>732 で? キミはその詐欺に加担した一人? >>725 LISPのマクロってたいしたことないよ。それがLISPの本質でもないし。 ただインタプリタでC風にマクロが書けるというだけで。 マクロはマクロなんで、LISP内部で置き換えするだけで本質的なコード処理はしてないし。 それ(マクロ)が記号処理の本質ではないし。 何ならCのマクロ使って記号処理しましたって公開してみ。笑われるだけだから。 LISPの世界はこの程度の話すら理解できてないから誤解されているといっている訳。 だいたい最近までOpenSourceでScheme処理系開発してた連中が居たけれども、 彼らがAIと言った事はただの一つもないよ(w おいらも735に賛成。 エキスパートシステムは失敗と無駄そのもの。第五世代も。 現実には民間企業ではMSエクセルが経営支援機能を果たしている。 表計算がAIより機能を果たしている皮肉。 いやマクロ使わなかったら Lisp使う意味ほとんどないだろ インタプリタだとかCのプリプロセッサマクロだとか、イカレ過ぎててツッコミどころすらわからんw ディープラーニングを機械学習と言えば詐欺臭はでない。人工知能なんて言うから投資詐欺に使う奴が出てくる。 既存のTCP/IP使ったクライアントサーバシステムをクラウドなんて言い出すのと同じ。 みんなschemeで何作ってるの? これからscheme始める人は何作るべき? ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる