Common Lisp、SchemeをはじめとするLisp族全般のスレです
■前スレ
Lisp Scheme Part40
http://mevius.5ch.net/test/read.cgi/tech/1426481152/
■テンプレ
ttp://wiki.fdiary.net/lisp/
■関連スレ
【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net
http://mevius.5ch.net/test/read.cgi/tech/1483498849/
【GNU】スクリプト言語 Guile【scheme】
http://mevius.5ch.net/test/read.cgi/tech/1239985829/
【入門】Common Lisp その11【質問よろず】
http://peace.2ch.net/test/read.cgi/tech/1411307361/
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
http://peace.2ch.net/test/read.cgi/tech/1272469779/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/
Lisp@UNIX版
http://mevius.5ch.net/test/read.cgi/unix/1019926525/
探検
Lisp Scheme Part41
2018/07/15(日) 02:05:28.62ID:oGr67yTf
2018/07/15(日) 03:57:54.29ID:mQtsqebE
乙
3デフォルトの名無しさん
2018/07/15(日) 04:45:43.53ID:+G2qeWeL (Lisp 笑)
2018/07/17(火) 22:34:02.03ID:6cKB2nCo
>>1乙
5はちみつ餃子 ◆8X2XSCHEME
2018/07/29(日) 18:08:39.36ID:bQEgGaK2 Racket の 7.0 が出た。
コアを chez に置き換える方向で進んでるんだね。
コアを chez に置き換える方向で進んでるんだね。
a little schemer/「scheme 手習い」 https://www.amazon.co.jp/dp/4274068269/
を読んでいます(ずいぶんと時間がかかっています)が、次のプログラムがさっぱり理解できなくて困っています
第5章「*すごい* 星がいっぱいだ」
この章の最初の方までは困難を伴いながらも、なんとか理解できました、この章でのこんな感じのコードを、仕様をみて独力で書きおこすことはできています https://ideone.com/fPHC2z
ところが、p.92 から
>Q: eqlist? はなんですか。
>A: 2つのリストが等しいかどうかを決める関数です。…@
>Q: eqlist? は、その引数についていくつ質問をしますか。
>A: 9つです。…A
>Q: なぜ 9 つの質問があるか説明できますか。
>A: 自分の言葉で説明すると次のようになります。
>「各引数は次のいずれかです。・空リスト・アトムがリストに cons されたもの・リストが別のリストに cons されたもの
>たとえば、最初の引数が空になるのと同時に、2番目の引数は、空リストか、car の位置に1つのアトムまたはリストを持っています。…B
>Q: eqan? を使って eqlist? を書きましょう
>A: https://ideone.com/vjYCZ5
この解答例がさっぱりです、実はAからよくわかっていません
コードのコメントは私がつけたのですが、最後の方は混乱してしまって…何がわからないかわからない状況です。
何か理解するための手がかり足がかりヒントはないでしょうか?
を読んでいます(ずいぶんと時間がかかっています)が、次のプログラムがさっぱり理解できなくて困っています
第5章「*すごい* 星がいっぱいだ」
この章の最初の方までは困難を伴いながらも、なんとか理解できました、この章でのこんな感じのコードを、仕様をみて独力で書きおこすことはできています https://ideone.com/fPHC2z
ところが、p.92 から
>Q: eqlist? はなんですか。
>A: 2つのリストが等しいかどうかを決める関数です。…@
>Q: eqlist? は、その引数についていくつ質問をしますか。
>A: 9つです。…A
>Q: なぜ 9 つの質問があるか説明できますか。
>A: 自分の言葉で説明すると次のようになります。
>「各引数は次のいずれかです。・空リスト・アトムがリストに cons されたもの・リストが別のリストに cons されたもの
>たとえば、最初の引数が空になるのと同時に、2番目の引数は、空リストか、car の位置に1つのアトムまたはリストを持っています。…B
>Q: eqan? を使って eqlist? を書きましょう
>A: https://ideone.com/vjYCZ5
この解答例がさっぱりです、実はAからよくわかっていません
コードのコメントは私がつけたのですが、最後の方は混乱してしまって…何がわからないかわからない状況です。
何か理解するための手がかり足がかりヒントはないでしょうか?
7SCHEME餃子 ◆8X2XSCHEME
2018/09/08(土) 01:10:14.26ID:VmsJpbI+ >>6
私はその本を持ってないのでそのあたりの問題を取り上げたブログ記事を見ながら説明しようかと思ったが、
その Q&A の通りとしか言いようがないんで、何がわからないのかよくわからない。 困ったな。
リストの先頭を見た時にあり得るパターンが 3 通りで、
l1 が 3 通りと l2 が 3 通りなら組合せは 9 通り。
9 通りのパターンは 3 種類に分類できて、
・ l1 と l2 の先頭が空リストなら真
・ l1 と l2 の先頭が一致すれば次の要素に対して再帰的に同じ処理をする
・ l1 と l2 の先頭が一致しないなら偽
となる。
実際のコードにするにあたって、空リストに car, cdr 手続きは適用できないんで、チェックの順番を気にするくらいかな。
私はその本を持ってないのでそのあたりの問題を取り上げたブログ記事を見ながら説明しようかと思ったが、
その Q&A の通りとしか言いようがないんで、何がわからないのかよくわからない。 困ったな。
リストの先頭を見た時にあり得るパターンが 3 通りで、
l1 が 3 通りと l2 が 3 通りなら組合せは 9 通り。
9 通りのパターンは 3 種類に分類できて、
・ l1 と l2 の先頭が空リストなら真
・ l1 と l2 の先頭が一致すれば次の要素に対して再帰的に同じ処理をする
・ l1 と l2 の先頭が一致しないなら偽
となる。
実際のコードにするにあたって、空リストに car, cdr 手続きは適用できないんで、チェックの順番を気にするくらいかな。
2018/09/08(土) 05:07:37.63ID:GHaullf6
引数が2つあり、それぞれは3通りの場合があるわけだから
引数の組み合わせとしては3×3=9通りの場合がある。
※引数はリスト(空リストを含む)と仮定していいようだ。
愚直にこの9通りの場合分けを展開するとこの表↓のようになるので、それをそのままコードにしたのがその解答例。
A B 等しい?
() () #t
() (アトム . リスト) #f
() (リスト . リスト) #f
(アトム . リスト) () #f
(アトム . リスト) (アトム . リスト) (and アトム同士が等しい リスト同士が等しい)
(アトム . リスト) (リスト . リスト) #f
(リスト . リスト) () #f
(リスト . リスト) (アトム . リスト) #f
(リスト . リスト) (リスト . リスト) (and carのリスト同士が等しい cdrのリスト同士が等しい)
引数の組み合わせとしては3×3=9通りの場合がある。
※引数はリスト(空リストを含む)と仮定していいようだ。
愚直にこの9通りの場合分けを展開するとこの表↓のようになるので、それをそのままコードにしたのがその解答例。
A B 等しい?
() () #t
() (アトム . リスト) #f
() (リスト . リスト) #f
(アトム . リスト) () #f
(アトム . リスト) (アトム . リスト) (and アトム同士が等しい リスト同士が等しい)
(アトム . リスト) (リスト . リスト) #f
(リスト . リスト) () #f
(リスト . リスト) (アトム . リスト) #f
(リスト . リスト) (リスト . リスト) (and carのリスト同士が等しい cdrのリスト同士が等しい)
2018/10/07(日) 02:51:53.80ID:n2yn9/Ec
他のソフトウェアに組み込むスクリプト環境でTinySchemeを使おうかと思っているんですが
スクリプトの中からファイルIO関係の機能は使えないようにしたいです。
この場合、走らせるスクリプトの前に、open-input-file等のIO関係の関数を無害な関数で再定義する部分をくっつけてしまえばOKでしょうか?
スクリプトの中からファイルIO関係の機能は使えないようにしたいです。
この場合、走らせるスクリプトの前に、open-input-file等のIO関係の関数を無害な関数で再定義する部分をくっつけてしまえばOKでしょうか?
10SCHEME餃子 ◆8X2XSCHEME
2018/10/07(日) 14:31:36.10ID:77445U4A >>9
なんらかの方法で元の定義にアクセスできたら脆弱性になっちゃうから、
要らないなら削除する方が確実だと思う。
どのくらい確実にするかってのは程度問題だけど
削除する分にはそんなに手間でもないし。
なんらかの方法で元の定義にアクセスできたら脆弱性になっちゃうから、
要らないなら削除する方が確実だと思う。
どのくらい確実にするかってのは程度問題だけど
削除する分にはそんなに手間でもないし。
2018/10/07(日) 16:22:54.47ID:n2yn9/Ec
2018/10/08(月) 11:15:35.46ID:s+P1p206
>>12
ありがとうございます、やってみます!
ありがとうございます、やってみます!
2018/10/09(火) 08:07:54.35ID:dwdUWAaf
依存型についてのテキストが出てるよ。
Daniel P. Friedman, David Thrane Christiansen "The Little Typer"
Boro Sitnikovski "Gentle Introduction to Dependent Types with Idris"
Edwin Brady "Type-Driven Development with Idris"
Adam Chlipala "Certified Programming with Dependent Types"
Aaron Stump "Verified Functional Programming in Agda"
Idris と Pie言語 ではλ関数とπ関数が同じように導入されているので相互に勉強できるのがいい。
Daniel P. Friedman, David Thrane Christiansen "The Little Typer"
Boro Sitnikovski "Gentle Introduction to Dependent Types with Idris"
Edwin Brady "Type-Driven Development with Idris"
Adam Chlipala "Certified Programming with Dependent Types"
Aaron Stump "Verified Functional Programming in Agda"
Idris と Pie言語 ではλ関数とπ関数が同じように導入されているので相互に勉強できるのがいい。
2018/10/09(火) 15:29:09.16ID:dwdUWAaf
π算法
Robin Milner "Communicating and Mobile Systems: The Pi Calculus"
Davide Sangiorgi, David Walker "The Pi-Calculus: A Theory of Mobile Processes"
Matthew Hennessy "A Distributed Pi-Calculus"
π算法はもともとCCSの拡張としてRobin Milnerらによって考案された、並行計算(π算法はλ算法の並行版)を表すモデルであり、プロセス計算の一種。
Robin Milner "Communicating and Mobile Systems: The Pi Calculus"
Davide Sangiorgi, David Walker "The Pi-Calculus: A Theory of Mobile Processes"
Matthew Hennessy "A Distributed Pi-Calculus"
π算法はもともとCCSの拡張としてRobin Milnerらによって考案された、並行計算(π算法はλ算法の並行版)を表すモデルであり、プロセス計算の一種。
2018/10/11(木) 04:45:55.72ID:kRD0TmZA
A Little Taste of Types - Code Mesh 2017 - David Christiansen
https://www.youtube.com/watch?v=3z9nISI4ppw
A Little Taste of Dependent Types 2018 - David Christiansen
https://www.youtube.com/watch?v=1BWYy2-WM-o
https://www.youtube.com/watch?v=3z9nISI4ppw
A Little Taste of Dependent Types 2018 - David Christiansen
https://www.youtube.com/watch?v=1BWYy2-WM-o
2018/10/16(火) 23:34:54.71ID:D0vhWqBd
Gaucheのリファレンスマニュアル日本語版pdfはないのでしょうか?
18SCHEME餃子 ◆8X2XSCHEME
2018/10/17(水) 01:03:06.73ID:BPtTatWV >>17
Gauche のソースツリーの doc ディレクトリで make pdf コマンドを実行すれば、
pdf 形式のドキュメントのビルドプロセスが走ることになってるよ。
ただ、 TeX を使うみたいなんで、 TeX を導入するのが面倒ってことはあるかも。
公式からは PDF 形式の日本語マニュアルは出してないっぽいね。
Gauche のソースツリーの doc ディレクトリで make pdf コマンドを実行すれば、
pdf 形式のドキュメントのビルドプロセスが走ることになってるよ。
ただ、 TeX を使うみたいなんで、 TeX を導入するのが面倒ってことはあるかも。
公式からは PDF 形式の日本語マニュアルは出してないっぽいね。
1917
2018/10/17(水) 21:27:28.91ID:MYn8m29E ありがとうございます。挑戦してみます。
2018/11/19(月) 21:32:10.84ID:Ebw/7CYM
はちみつ餃子しかいないスレになってしまった
2018/11/19(月) 22:07:56.77ID:FLKvqXWs
よく見ろ別人だぞ。
まさか同一人物なわけがあるまい。
まさか同一人物なわけがあるまい。
22はちみつ餃子 ◆8X2XSCHEME
2018/11/19(月) 22:58:27.29ID:EqyITMeu 話題がなさすぎるので近頃は C++ スレばかりにいるんだけど、
なんか面白い話題があればどんどん書いてよ。
なんか面白い話題があればどんどん書いてよ。
2018/11/20(火) 01:03:10.36ID:Bz9DRyU5
そんなとこにいたら頭がガベージまみれになるぞ
2018/11/22(木) 08:37:23.04ID:idUjP7lK
東方算法騎士団ってどうやって入るの
2018/11/22(木) 11:14:07.32ID:PNeid+Qy
Jupyter with Schemeってどう?
2018/11/25(日) 11:38:51.25ID:yUG3gEBB
Try Jupyter で試してみ
27はちみつ餃子 ◆8X2XSCHEME
2018/12/21(金) 18:19:35.67ID:2lFdE5qB2019/01/08(火) 17:40:17.47ID:n4V6aMpj
WindowsでMinGWがインストールされておらずMSVCだけある状態で
C言語のhelloworldプログラムでgauche.hをインクルードすると
gauche.h内の#include <sys/time.h>の部分でエラーになります。
C言語からGaucheを利用する場合はMinGWがインストールされていることが前提という解釈であっているでしょうか?
C言語のhelloworldプログラムでgauche.hをインクルードすると
gauche.h内の#include <sys/time.h>の部分でエラーになります。
C言語からGaucheを利用する場合はMinGWがインストールされていることが前提という解釈であっているでしょうか?
29はちみつ餃子 ◆8X2XSCHEME
2019/01/08(火) 21:15:36.70ID:YHlgtmk9 >>28
はい。
Gauche をビルドするためには MinGW というか (MinGW を含めた開発環境であるところの) MSYS2 を要求しています。
https://github.com/shirok/Gauche/blob/master/doc/HOWTO-mingw.adoc
少し古いバージョンは (MSYS2 ではなく) MSYS を要求していました。
gauche.h もその開発環境に依存しているので、 gauche.h を include した C のコードは MSVC ではコンパイルを通りません。
つまり、 Gauche の拡張モジュールや Gauche を呼び出すプログラムを C で書こうとするなら、
Windows では MSYS2 を使う方法しか想定されていません。
ただ、過去に「VC++用ポート」を試みた記事が WiLiKi に残っていますし、
ある程度は動いていたようですので、手間を書ければ全く不可能なことというわけでもなさそうです。
https://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3AWindows%2FVC%2B%2B
Gauche の実態は単なる DLL ですから、Gauche 自体を MSVC でコンパイルするのは難しくても
Gauche を呼び出すプログラムを MSVC で作る分には頑張ればなんとかなる可能性は充分にあるように思います。
はい。
Gauche をビルドするためには MinGW というか (MinGW を含めた開発環境であるところの) MSYS2 を要求しています。
https://github.com/shirok/Gauche/blob/master/doc/HOWTO-mingw.adoc
少し古いバージョンは (MSYS2 ではなく) MSYS を要求していました。
gauche.h もその開発環境に依存しているので、 gauche.h を include した C のコードは MSVC ではコンパイルを通りません。
つまり、 Gauche の拡張モジュールや Gauche を呼び出すプログラムを C で書こうとするなら、
Windows では MSYS2 を使う方法しか想定されていません。
ただ、過去に「VC++用ポート」を試みた記事が WiLiKi に残っていますし、
ある程度は動いていたようですので、手間を書ければ全く不可能なことというわけでもなさそうです。
https://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3AWindows%2FVC%2B%2B
Gauche の実態は単なる DLL ですから、Gauche 自体を MSVC でコンパイルするのは難しくても
Gauche を呼び出すプログラムを MSVC で作る分には頑張ればなんとかなる可能性は充分にあるように思います。
30はちみつ餃子 ◆8X2XSCHEME
2019/02/01(金) 16:27:31.29ID:jPYNOX7L Racket のコアを chez のに置き換える話が以前に出てたけど、
もうほとんどできたみたいね。
次のリリースあたりからはそれになるのかな。
もうほとんどできたみたいね。
次のリリースあたりからはそれになるのかな。
31はちみつ餃子 ◆8X2XSCHEME
2019/02/05(火) 04:44:00.67ID:VmiK9YL/ R7RS-Large の Tangerine Edition は議論・投票への参加者が少なすぎてちょっとアレな状況みたいね。
積極的に参加してあげて!
積極的に参加してあげて!
32はちみつ餃子 ◆8X2XSCHEME
2019/02/08(金) 19:33:54.35ID:U10rELvE 界隈でなんだかちょっとだけ ISLISP の人気が出てきてるというか
ここ最近になっていくつか新しい実装が発表されてるんだけど、
使ってみた人いる?
ここ最近になっていくつか新しい実装が発表されてるんだけど、
使ってみた人いる?
2019/02/10(日) 03:09:59.76ID:ZBYYirVg
>>32
新しい実装ってどれのことよ?
新しい実装ってどれのことよ?
2019/02/11(月) 02:00:38.22ID:eS7AzULV
2019/02/11(月) 03:37:14.19ID:JleTlNG9
日本製ばっかりなんだ
2019/02/11(月) 23:47:14.75ID:sKwQy+pT
そりゃ日本人が中心になって考えた規格だし
37はちみつ餃子 ◆8X2XSCHEME
2019/02/12(火) 01:54:55.89ID:jYEPbswv へー。 そうなのかと思って経緯を調べてみたりしてたんだが、
その過程で ISLISP の IS は International Standard の略だと見つけた。
id.nii.ac.jp/1001/00003362/
仕様にも書いてないから知らんかった。
もっと古い時代に STANDARD LISP という名前の Lisp があったそうで、
http://www.softwarepreservation.org/projects/LISP/stanford/Hearn-StandardLisp-AIM-90.pdf
それ故に標準化にあたって単に Standard とは名乗れず、
Common Lisp が Common Lisp という名前になったのもこのあたりの事情があるらしい。
単に名前を付けるだけでも変な苦心をしてるんだな。
その過程で ISLISP の IS は International Standard の略だと見つけた。
id.nii.ac.jp/1001/00003362/
仕様にも書いてないから知らんかった。
もっと古い時代に STANDARD LISP という名前の Lisp があったそうで、
http://www.softwarepreservation.org/projects/LISP/stanford/Hearn-StandardLisp-AIM-90.pdf
それ故に標準化にあたって単に Standard とは名乗れず、
Common Lisp が Common Lisp という名前になったのもこのあたりの事情があるらしい。
単に名前を付けるだけでも変な苦心をしてるんだな。
2019/02/12(火) 02:23:54.71ID:xM7yD0R2
イスラミックステートLISP
処女とヤリまくれるらしいぞ!
処女とヤリまくれるらしいぞ!
39はちみつ餃子 ◆8X2XSCHEME
2019/02/13(水) 00:07:17.42ID:VqRfiaP440はちみつ餃子 ◆8X2XSCHEME
2019/02/13(水) 00:10:08.40ID:VqRfiaP42019/02/14(木) 21:27:33.66ID:jKX9xayO
金払わないと正式な仕様書読めないのか、と諦めた記憶がある>ISLISP
ドラフト?は読めたけど
ドラフト?は読めたけど
2019/02/19(火) 03:58:50.76ID:seNTvLzD
餃子はISLISPerなの?
44デフォルトの名無しさん
2019/02/19(火) 09:00:07.28ID:4kP+wC3u45はちみつ餃子 ◆8X2XSCHEME
2019/02/20(水) 00:03:33.61ID:C98K3aY72019/02/20(水) 02:34:03.07ID:hNG331p8
>>45
ISLispってJIS規格になったんでしたっけ?
ISLispってJIS規格になったんでしたっけ?
2019/02/21(木) 00:45:26.47ID:vZ2CpAoq
>>47
お返事、ありがとうございます
そうですかISLispはJIS化されてたんですね
でも日本で使われてるんですかね?
Lispで日本で使われてるのはやっぱりCommon Lispだと思うんですけど(それと教育とかだとScheme(含Racket)が少しあるかな)
お返事、ありがとうございます
そうですかISLispはJIS化されてたんですね
でも日本で使われてるんですかね?
Lispで日本で使われてるのはやっぱりCommon Lispだと思うんですけど(それと教育とかだとScheme(含Racket)が少しあるかな)
49はちみつ餃子 ◆8X2XSCHEME
2019/02/21(木) 01:05:58.63ID:9MRHAYbl ISLISP のことはなんも知らんけど、
急に ISLISP 処理系が立て続けに出てきたみたいやから
なんか動きがあったんか? と思って >>32 を書いたんで、
私も質問者の立場なんやわ。
大した理由はないのであっても、
始まったならこのまま発展していくといいね。
急に ISLISP 処理系が立て続けに出てきたみたいやから
なんか動きがあったんか? と思って >>32 を書いたんで、
私も質問者の立場なんやわ。
大した理由はないのであっても、
始まったならこのまま発展していくといいね。
2019/02/22(金) 06:25:30.84ID:6MhIDIeu
ISLispのプログラミングテキストや解説書って笹川賢一って人が書いたKindle用の電子的なのが2タイトルあるだけで
それ以外は海外でも何も出てないんですかね、Amazon USでタイトルを“ISLisp”で検索しても、その2タイトル以外は
ISOの規格票しか出てきませんね
とにもかくにも国際規格になったんだから、規格案をプッシュした連中がプログラミングの教科書や言語解説書や入門書ぐらいは
書いて出版するぐらいのことはやるべきなんじゃないかと思うんですが、見事なほどに何も出ていないようで驚きました
それ以外は海外でも何も出てないんですかね、Amazon USでタイトルを“ISLisp”で検索しても、その2タイトル以外は
ISOの規格票しか出てきませんね
とにもかくにも国際規格になったんだから、規格案をプッシュした連中がプログラミングの教科書や言語解説書や入門書ぐらいは
書いて出版するぐらいのことはやるべきなんじゃないかと思うんですが、見事なほどに何も出ていないようで驚きました
2019/02/22(金) 12:52:25.98ID:+Ub0CFOo
common lispとどれくらい違うん?
52はちみつ餃子 ◆8X2XSCHEME
2019/02/22(金) 17:25:28.63ID:PAJj2OJU >>51
Common Lisp の規模が大きくなってまとまらなかった中で
別の提案を整理して100 ページもないような規模の ISLISP を確立したという事情があるので、
完全なサブセットではないけど言語の考え方としては近い部分が多くて
かなり小さいサブセット「的」なものという感じ。
つっても、やっぱり別言語ではあるので、それを「どれくらい」とは一言では表せないな。
個人的には、あくまで私の感想としては Lua と JavaScript くらいの距離はあるかなぁ……と思ってる。
Common Lisp の規模が大きくなってまとまらなかった中で
別の提案を整理して100 ページもないような規模の ISLISP を確立したという事情があるので、
完全なサブセットではないけど言語の考え方としては近い部分が多くて
かなり小さいサブセット「的」なものという感じ。
つっても、やっぱり別言語ではあるので、それを「どれくらい」とは一言では表せないな。
個人的には、あくまで私の感想としては Lua と JavaScript くらいの距離はあるかなぁ……と思ってる。
2019/03/05(火) 05:20:40.92ID:1ASLdeDU
昔の情報処理試験で人工知能の分野ときたらLispだったけど今違うのかな?
54はちみつ餃子 ◆8X2XSCHEME
2019/03/05(火) 09:20:27.48ID:mHzXPPXa >>53
このスレ (の過去スレ) では何度も話題になっている気がするが、
「人工知能」とは何か、それに「向いている」とはどういう意味かが曖昧なので、
Yes とも No とも言えるというのがおおよその結論。
人工知能を定義するなら「人間の知的活動を代行するもの」であり、
かつてはコンパイラや数式処理なども人工知能の範疇だった。
でも、分野として確立して以降は
コンパイラはコンパイラだし、数式処理は数式処理であって、
今ではそれを人工知能と呼ぶ人なんかいない。
逆に言えば分野として確立していない知的な処理はなんだって
人工知能なので、範囲がざっくりしすぎて
どんな言語が向いているかなんて言いようが無い。
強いて言うなら、かつては人工知能の主役は記号処理を基礎に据えたものであったので、
そのときの事情を前提にするならば、
それらを記述するには (当時あった他の主要な言語よりは) LISP が向いていると
言ってもそこそこ妥当ではあった。
このスレ (の過去スレ) では何度も話題になっている気がするが、
「人工知能」とは何か、それに「向いている」とはどういう意味かが曖昧なので、
Yes とも No とも言えるというのがおおよその結論。
人工知能を定義するなら「人間の知的活動を代行するもの」であり、
かつてはコンパイラや数式処理なども人工知能の範疇だった。
でも、分野として確立して以降は
コンパイラはコンパイラだし、数式処理は数式処理であって、
今ではそれを人工知能と呼ぶ人なんかいない。
逆に言えば分野として確立していない知的な処理はなんだって
人工知能なので、範囲がざっくりしすぎて
どんな言語が向いているかなんて言いようが無い。
強いて言うなら、かつては人工知能の主役は記号処理を基礎に据えたものであったので、
そのときの事情を前提にするならば、
それらを記述するには (当時あった他の主要な言語よりは) LISP が向いていると
言ってもそこそこ妥当ではあった。
2019/03/05(火) 20:46:21.78ID:XYJ+jVyT
人工知能でLISPを扱ってる本の巻末付録は大抵駅すぱあとシステムだからな
2019/03/05(火) 22:17:29.86ID:Wd2YNpFb
餃子がスゲー良いこと言ったな…
> 逆に言えば分野として確立していない知的な処理はなんだって人工知能
機械学習みたいないかにも人工知能っぽいものでも、人間が理解して理論的に確立してしまえばなんてことない在り来たりな技術になるんだろうな
> 逆に言えば分野として確立していない知的な処理はなんだって人工知能
機械学習みたいないかにも人工知能っぽいものでも、人間が理解して理論的に確立してしまえばなんてことない在り来たりな技術になるんだろうな
57はちみつ餃子 ◆8X2XSCHEME
2019/03/06(水) 03:45:46.67ID:7/fqDaVy 人工知能のカテゴリのひとつに「ルールベース」があるけど、
これって要するに if 文を並べて判断するようなシステムのことで、
現代的な感覚だと人工知能とは言わんよな。
ひとつのカテゴリとして名前を付けることすら馬鹿馬鹿しい。
(あくまでも現代の感覚で見ればという話なので、
当たり前のものにしてきた先人の努力を貶めるものではないことは断わっておく。)
そんなごく当たり前のプログラムも昔は人工知能と呼ばれていたんだから、
人工知能という言葉が指す範囲はとてつもなく広いし、今後も変遷を続けていくと思う。
結果的に LISP が人工知能の記述に「適していた」あるいは「適している」のが事実であってもなくても、
LISP が人工知能の記述を目指しているというわけでもないし、
(LISP 系言語は幅広いので特に人工知能を指向したものも有りはするかもしれないが)
主要な LISP 系言語は Python やら Ruby やらと並べても違和感のないごく普通の汎用言語なんで、
用途を限定してしまうような言説は、個人的にはあまり好きじゃないな。
使いたいように使っていいんだよ。
これって要するに if 文を並べて判断するようなシステムのことで、
現代的な感覚だと人工知能とは言わんよな。
ひとつのカテゴリとして名前を付けることすら馬鹿馬鹿しい。
(あくまでも現代の感覚で見ればという話なので、
当たり前のものにしてきた先人の努力を貶めるものではないことは断わっておく。)
そんなごく当たり前のプログラムも昔は人工知能と呼ばれていたんだから、
人工知能という言葉が指す範囲はとてつもなく広いし、今後も変遷を続けていくと思う。
結果的に LISP が人工知能の記述に「適していた」あるいは「適している」のが事実であってもなくても、
LISP が人工知能の記述を目指しているというわけでもないし、
(LISP 系言語は幅広いので特に人工知能を指向したものも有りはするかもしれないが)
主要な LISP 系言語は Python やら Ruby やらと並べても違和感のないごく普通の汎用言語なんで、
用途を限定してしまうような言説は、個人的にはあまり好きじゃないな。
使いたいように使っていいんだよ。
2019/03/06(水) 23:50:18.20ID:pTvDqBNf
>>57
> そんなごく当たり前のプログラムも昔は人工知能と呼ばれていたんだから、
> 人工知能という言葉が指す範囲はとてつもなく広いし、今後も変遷を続けていくと思う。
70年代前半だと数式処理(記号微分とか記号積分とか、特に記号積分はね)も立派な人工知能の一分野
ついでに言えば50年代後半だと今で言うコンパイラの研究も人工知能の1テーマだったらしい
> そんなごく当たり前のプログラムも昔は人工知能と呼ばれていたんだから、
> 人工知能という言葉が指す範囲はとてつもなく広いし、今後も変遷を続けていくと思う。
70年代前半だと数式処理(記号微分とか記号積分とか、特に記号積分はね)も立派な人工知能の一分野
ついでに言えば50年代後半だと今で言うコンパイラの研究も人工知能の1テーマだったらしい
2019/03/07(木) 00:08:40.76ID:3nOoPCck
2019/03/08(金) 01:59:42.89ID:PoFzWHgZ
ごめん、見落としてた
2019/03/09(土) 18:08:55.14ID:AFl9pnGp
研究者や企業による実験段階+アルファまでAI
商品化され一般に流通したらIT
商品化され一般に流通したらIT
2019/03/20(水) 16:56:57.86ID:Cy24MG6x
>>61
👍
👍
63デフォルトの名無しさん
2019/03/23(土) 22:34:59.05ID:xopjuNQ8 Scheme というか、Lisp のことを少ししか分かっていないんですども、μKanren を使ってみたくて
Sheme の処理系をインストールしたんですが Gauche、Guile、MT/GNU Sheme と、入れた全部
に assp がアンバウンドだと言われて動きません。
1.解決方法が分からなくて、自前で assp を書いて動かしてますが、本当はどうやったら assp が
使えるか教えてください。ライブラリをロードするのでしょうか?
2.せっかく書いたので、自前の関数の働きが本当の assp と同じなのか知りたいです。
みなさんならどのように書きますか? 最初に見つかったときに止める場合のセオリー
はありますか?
書いてみた関数:
(define (assp fn assoc)
(let ((rtn #f))
(for-each (lambda (x)
(if (not rtn)
(if (fn (car x))
(set! rtn x))))
assoc)
rtn))
Sheme の処理系をインストールしたんですが Gauche、Guile、MT/GNU Sheme と、入れた全部
に assp がアンバウンドだと言われて動きません。
1.解決方法が分からなくて、自前で assp を書いて動かしてますが、本当はどうやったら assp が
使えるか教えてください。ライブラリをロードするのでしょうか?
2.せっかく書いたので、自前の関数の働きが本当の assp と同じなのか知りたいです。
みなさんならどのように書きますか? 最初に見つかったときに止める場合のセオリー
はありますか?
書いてみた関数:
(define (assp fn assoc)
(let ((rtn #f))
(for-each (lambda (x)
(if (not rtn)
(if (fn (car x))
(set! rtn x))))
assoc)
rtn))
64はちみつ餃子 ◆8X2XSCHEME
2019/03/23(土) 23:08:12.36ID:ByL/s3eU >>63
μKanren のことはよくしらないけど、
assp は R6RS (※1) では rnrs lists ライブラリに含まれるので、
R6RS 処理系ではこのライブラリを import すると使えるようになる。
R6RS 以外には無い。
自分で書くとしたら SRFI-1 (※2) を使える状況なら
こんな感じで書くなぁ
(define (assp proc alist)
(find (lambda(x)(proc (car x)))
alist))
※1
RnRS は Scheme の仕様書の通称。
n に改定番号が入る。
※2
小さい言語である Scheme では日常的に使うにはライブラリが足りなさげなので、
ユーザーコミュニティとしてライブラリの仕様を考えて文書化したものの集合体が SRFI 。
(RFC みたいな感じ?)
SRFI-1 はその最初期のもので、リスト操作系のライブラリ。
仕様の一部ではないので処理系によって SRFI の採用の程度は色々だけど、
実用嗜好の処理系は主要なものはまあまあ取り込んでいる。
今では仕様の検討の前段階として一旦 SRFI にしたりもしている。
μKanren のことはよくしらないけど、
assp は R6RS (※1) では rnrs lists ライブラリに含まれるので、
R6RS 処理系ではこのライブラリを import すると使えるようになる。
R6RS 以外には無い。
自分で書くとしたら SRFI-1 (※2) を使える状況なら
こんな感じで書くなぁ
(define (assp proc alist)
(find (lambda(x)(proc (car x)))
alist))
※1
RnRS は Scheme の仕様書の通称。
n に改定番号が入る。
※2
小さい言語である Scheme では日常的に使うにはライブラリが足りなさげなので、
ユーザーコミュニティとしてライブラリの仕様を考えて文書化したものの集合体が SRFI 。
(RFC みたいな感じ?)
SRFI-1 はその最初期のもので、リスト操作系のライブラリ。
仕様の一部ではないので処理系によって SRFI の採用の程度は色々だけど、
実用嗜好の処理系は主要なものはまあまあ取り込んでいる。
今では仕様の検討の前段階として一旦 SRFI にしたりもしている。
6563
2019/03/24(日) 10:14:45.86ID:UnbL980K >>64
ありがとうございます。Gauche は find があるみたいなので、早速置き換えてみました。
Scheme の規格は、過去のものを包括しているわけでもなく、なかなか難しいものなんですね。
μKanren だけに限らないかもしれませんが、μKanren の Scheme のコードは、普通の
オブジェクト指向言語と違って型を作って使い分けするのでなくて、そういう意図でベクトルや
ドット対やリストを使い分けていたり、戻す値が何を意図したものなのかわかりにくくて、
短いけど難しいですね〜
ありがとうございます。Gauche は find があるみたいなので、早速置き換えてみました。
Scheme の規格は、過去のものを包括しているわけでもなく、なかなか難しいものなんですね。
μKanren だけに限らないかもしれませんが、μKanren の Scheme のコードは、普通の
オブジェクト指向言語と違って型を作って使い分けするのでなくて、そういう意図でベクトルや
ドット対やリストを使い分けていたり、戻す値が何を意図したものなのかわかりにくくて、
短いけど難しいですね〜
2019/03/24(日) 12:59:34.15ID:0UFOFyyE
μKanrenてユニフィケーションの亜種みたいなもんだから多分どの言語でも大丈夫だぞ
6763
2019/03/26(火) 10:45:46.30ID:qv9oqtep >>66
μKanren や miniKanren はいろんな言語に移植されていますね。
実は私も、ある超マイナー言語に移植することでその言語の勉強と、移植したライブラリで
なんかしてみようと始めたんですけど、スタック系言語なんで、なかなかすんなりいきません。
あと、コア部分はいいとしても、Shceme でマクロを使っているところをどうするかって
ところが悩みどころ。他の言語の移植をみても、そのへんはつくってないものも多い様で。
μKanren や miniKanren はいろんな言語に移植されていますね。
実は私も、ある超マイナー言語に移植することでその言語の勉強と、移植したライブラリで
なんかしてみようと始めたんですけど、スタック系言語なんで、なかなかすんなりいきません。
あと、コア部分はいいとしても、Shceme でマクロを使っているところをどうするかって
ところが悩みどころ。他の言語の移植をみても、そのへんはつくってないものも多い様で。
2019/03/26(火) 12:30:38.77ID:rfZeS/lQ
powershell上のC#で持っとくと捗りそう
2019/05/17(金) 11:21:22.79ID:5wW1YVrN
なんか書けよおまえら
2019/05/17(金) 20:28:12.22ID:yF96juLt
Racket 7.3 でたね。上げ
71はちみつ餃子 ◆8X2XSCHEME
2019/06/16(日) 17:10:40.09ID:NdE++jZZ Gauche も 0.9.8 が出たよー
72通りすがりの名無しさん
2019/06/17(月) 15:39:20.44ID:GZApyxPH73はちみつ餃子 ◆8X2XSCHEME
2019/06/17(月) 21:26:53.35ID:PcIXrAci サポートは永遠ではないんやで。
2019/07/27(土) 11:20:29.96ID:B7vPYzXg
何か面白いことないか?
2019/07/27(土) 19:13:31.49ID:oO/GdmlC
>>72
サイトのオーナーは個人みたいだけどDNSから消えてるね
アーカイブには残ってるんでそっちをみれば?
http://web.archive.org/web/20120305231338/http://karetta.jp/book-cover/programming-gauche
サイトのオーナーは個人みたいだけどDNSから消えてるね
アーカイブには残ってるんでそっちをみれば?
http://web.archive.org/web/20120305231338/http://karetta.jp/book-cover/programming-gauche
2019/07/27(土) 19:18:18.62ID:oO/GdmlC
あ、Kahuaプロジェクトの中の人か
2019/08/06(火) 11:57:55.79ID:NEGlosyW
webで公開されてるsicpのレビューを
なんで翻訳者が違うamazonの書籍のところに書いてるんだ?
qiitaにでも書いとけよ
なんで翻訳者が違うamazonの書籍のところに書いてるんだ?
qiitaにでも書いとけよ
79はちみつ餃子 ◆8X2XSCHEME
2019/08/17(土) 02:28:56.98ID:ePDK/uqj Chez を組み込んだ Racket が出たぞー
2019/09/19(木) 02:40:36.60ID:90sjVPq/
chicken scheme のサイト( www.call-cc.org ) が ここ数日ダウンしたままだ
流石にこのままフェイドアウトではないと信じたい
流石にこのままフェイドアウトではないと信じたい
2019/09/21(土) 19:25:17.46ID:vGpgqd5W
lisp一本で食っていけますか?
2019/09/23(月) 00:25:37.40ID:yOVeMM4I
パーソナルコンピュータの父アラン・ケイが選ぶ「プログラマー必読の古典本」とは?
https://gigazine.net/news/20190813-alan-kays-best-classic-book-programmers/
アラン・ケイ氏が「大ファンだ」と絶賛する本が、プログラミング言語LISPを生み出した
ジョン・マッカーシー自身の手による解説書「LISP 1.5 Programmer's Manual」です。
アラン・ケイ氏によると、この本を読んで成長するためには「どうすべきなのか」
「実際にどうしているのか」を意識しながら本を読むだけではなく、13ページに書かれた
例を「自力で書き直す」ことが重要とのこと。
アラン・ケイ氏は「LISPは単なるプログラミング言語にとどまらず、思考を鍛えるのに最適な言語です」
と述べており、「LISP 1.5 Programmer's Manual」を「完璧な古典」だと絶賛しています。
https://gigazine.net/news/20190813-alan-kays-best-classic-book-programmers/
アラン・ケイ氏が「大ファンだ」と絶賛する本が、プログラミング言語LISPを生み出した
ジョン・マッカーシー自身の手による解説書「LISP 1.5 Programmer's Manual」です。
アラン・ケイ氏によると、この本を読んで成長するためには「どうすべきなのか」
「実際にどうしているのか」を意識しながら本を読むだけではなく、13ページに書かれた
例を「自力で書き直す」ことが重要とのこと。
アラン・ケイ氏は「LISPは単なるプログラミング言語にとどまらず、思考を鍛えるのに最適な言語です」
と述べており、「LISP 1.5 Programmer's Manual」を「完璧な古典」だと絶賛しています。
2019/09/23(月) 06:18:18.85ID:HVpBuK3H
Smalltalkのオッサンだっけ
2019/09/23(月) 13:19:32.86ID:CUAPT5Qo
LISP知らん人に勧めても判るのかね
MITってschemeやめてpython教えてるんでしょ
MITってschemeやめてpython教えてるんでしょ
2019/09/24(火) 15:17:40.15ID:YoZGtfWP
これマジ?
2019/09/25(水) 09:30:17.28ID:kJSqg5q2
紫のSICPやめてpythonの教科書になったのは知ってたけど
何年か前のことだよね
何年か前のことだよね
2019/09/26(木) 01:23:29.85ID:ofkTv/yu
> chicken scheme のサイト( www.call-cc.org ) が ここ数日ダウンしたままだ
> 流石にこのままフェイドアウトではないと信じたい
この件、googleの最新キャッシュ日付(2019年9月24日 12:18:42 GMT )を考えると
もしかして "おま国" 的なアクセス制限されちゃってる?
> 流石にこのままフェイドアウトではないと信じたい
この件、googleの最新キャッシュ日付(2019年9月24日 12:18:42 GMT )を考えると
もしかして "おま国" 的なアクセス制限されちゃってる?
2019/09/26(木) 02:15:15.69ID:1Fe6CtGg
昨日見られたけど
2019/09/26(木) 02:15:57.93ID:4iviDWAb
今やってみたら普通に表示されてるみたいだけど。
2019/09/26(木) 02:26:34.15ID:ofkTv/yu
確認ありがとうございます。
"おま環" (お前の環境だけだろ) のようですね...
"おま環" (お前の環境だけだろ) のようですね...
2019/09/26(木) 02:31:17.21ID:79UYLKSt
ぼくも今見られたけど…
2019/09/26(木) 21:05:13.34ID:Jjm8Fxg+
chicken scheme ( www.call-cc.org ) にアクセスできない件、スレ違い気味で申し訳ありません。
0. Googleのキャッシュから ⇒ ◯ (見えないよりマシ...)
1. ルーターのアクセスポート制限を解除 ⇒ ×
2. プロバイダー設定( plala ネットバリアベーシック) をフィルタリングOFFに ⇒ ×
3. VPN (L2TP/IPsec) で接続 ⇒ ◯ (繋がった!)
とりあえず、こういう結果になりました。
plalaが規制してる/ plalaが規制されている どっちにせよこれ以上はどうにもならなそうです。
見れるようになったのでヨシとします。
0. Googleのキャッシュから ⇒ ◯ (見えないよりマシ...)
1. ルーターのアクセスポート制限を解除 ⇒ ×
2. プロバイダー設定( plala ネットバリアベーシック) をフィルタリングOFFに ⇒ ×
3. VPN (L2TP/IPsec) で接続 ⇒ ◯ (繋がった!)
とりあえず、こういう結果になりました。
plalaが規制してる/ plalaが規制されている どっちにせよこれ以上はどうにもならなそうです。
見れるようになったのでヨシとします。
93デフォルトの名無しさん
2019/09/27(金) 12:20:26.81ID:dgplOwXb sicpはそんなに良い本?
どういうふうに良い本なのか教えてほしい
どういうふうに良い本なのか教えてほしい
2019/10/03(木) 21:39:01.39ID:5qBGt8Nl
jpドメインは拒否されてるのかもね
契約してる激安海外VPS経由でアクセスしたら見れたけど、プロバイダ経由だとpingも通らんわ
契約してる激安海外VPS経由でアクセスしたら見れたけど、プロバイダ経由だとpingも通らんわ
2019/10/04(金) 01:18:49.35ID:8amtWMNV
>>95
私の場合は日本のISP(海外の出版社のサイトとかでアクセスした側の国を自動判別している場合は日本と判定される形の接続法)で
インターネット接続しているけれどwww.call-cc.orgのHPやその下の様々なページは普通に見えるよ
私の場合は日本のISP(海外の出版社のサイトとかでアクセスした側の国を自動判別している場合は日本と判定される形の接続法)で
インターネット接続しているけれどwww.call-cc.orgのHPやその下の様々なページは普通に見えるよ
97デフォルトの名無しさん
2019/10/04(金) 16:00:04.95ID:QJ6Astzp Common lispよりschemeの方がユーザ多いの?
一番人が多そうなのはracket?
一番人が多そうなのはracket?
98デフォルトの名無しさん
2019/10/04(金) 16:48:57.33ID:QJ6Astzp https://www.european-lisp-symposium.org/2019/index.html#programme
common lispの方が発表多いですね
common lispの方が発表多いですね
2019/10/05(土) 12:25:09.41ID:f93dK2tU
schemeは実装多すぎてどれを選べばいいのか分からん、 特定実装に依存すると いつか廃れたときに困る。RnRSやらsrfi-xx どこまで使えるのかマチマチだからね。
common lispは今のとこ sbcl にしとけば間違いなさそうな安心感がある
common lispは今のとこ sbcl にしとけば間違いなさそうな安心感がある
100デフォルトの名無しさん
2019/10/05(土) 12:32:44.20ID:oRBX06Fv ほんとぉ?
101デフォルトの名無しさん
2019/10/05(土) 20:42:35.85ID:havjxsgq >>99
ちゃんとメンテされている商用以外のフリーの処理系はSBCLしかないという…
ちゃんとメンテされている商用以外のフリーの処理系はSBCLしかないという…
102はちみつ餃子 ◆8X2XSCHEME
2019/10/06(日) 01:02:08.24ID:RRBV0NuF Scheme で安心感の強い処理系っていうと Racket とか Guile とかかな。
そう簡単に廃れなさそう。
そう簡単に廃れなさそう。
レスを投稿する
ニュース
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★2 [♪♪♪★]
- 戦略的互恵関係望むなら答弁撤回せよと中国 [どどん★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 ★2 [お断り★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」 [♪♪♪★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★11 [BFU★]
- デヴィ夫人、悪化の日中関係に言及「戦いましょう」「日本の経済人よ、日本総力で戦えば勝てるはず」 [muffin★]
- 【悲報高市】外国人「日本に休暇で行くことの最悪な点は、中国人観光客がたくさんいたことだった」 [614650719]
- 戦略的互恵関係望むなら答弁撤回せよと中国。高市、もう後がなくなる [805596214]
- 【鈴木早苗】お米券おひとり様3000円に閣議決定 [993451824]
- 【悲報】日本、中国に対して切れるカードが1枚もないことが発覚… 中国にボロクソ言われても高市さんは黙り込むしかなかった [271912485]
- 架空を滑空ビューーーン👊😅👊三三☁😶‍🌫🏡
- ごはんに合うおかずなに
