Common Lisp、SchemeをはじめとするLisp族全般のスレです
■前スレ
Lisp Scheme Part39
http://peace.2ch.net/test/read.cgi/tech/1408017352/
■テンプレ
ttp://wiki.fdiary.net/lisp/
■関連スレ
【入門】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】プログラミング言語 Clojure #3【JVM】
http://peace.2ch.net/test/read.cgi/tech/1380333808/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/
探検
Lisp Scheme Part40 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/03/16(月) 13:45:52.92ID:EEYZoZ1i
305デフォルトの名無しさん
2015/12/23(水) 14:03:22.77ID:f3OkJGUt miniKanrenの日本語解説本
誰も書かないなら個人出版で出しちゃうぞ
誰も書かないなら個人出版で出しちゃうぞ
306デフォルトの名無しさん
2015/12/23(水) 14:48:16.43ID:7PvFiWtw307デフォルトの名無しさん
2015/12/27(日) 21:55:10.69ID:3xQA5Ryh 自分もサンプル版を読んでみたけど、言語の解説という雰囲気ではなく、自分の勉強した内容を箇条書きっぽく書いてあるように感じた。
サンプルは最初の方しか読めないから、LISPそのものの説明のところだけしか読めてないけど、後半の応用部分は面白くなる可能性はあるかもしれないな。
英語学習法の部分については、
http://primitive-lisp.blog.so-net.ne.jp
独学でこのくらい書けるようになるのであればスゴイと思うし、ブログを日本から発信するのには十分かと。
でもネイティブの人はカタコトのように感じるレベル。
サンプルは最初の方しか読めないから、LISPそのものの説明のところだけしか読めてないけど、後半の応用部分は面白くなる可能性はあるかもしれないな。
英語学習法の部分については、
http://primitive-lisp.blog.so-net.ne.jp
独学でこのくらい書けるようになるのであればスゴイと思うし、ブログを日本から発信するのには十分かと。
でもネイティブの人はカタコトのように感じるレベル。
308307
2015/12/27(日) 21:56:57.03ID:3xQA5Ryh 英語学習法の部分はサンプルに入ってないので、自分テキトーなことを言ってるぜ!?
309デフォルトの名無しさん
2015/12/28(月) 08:21:49.27ID:7tFHoB70 Lispの別スレ出来てる
310デフォルトの名無しさん
2015/12/28(月) 09:49:46.17ID:1a7EtF6d キチガイコテスレじゃん
311デフォルトの名無しさん
2015/12/31(木) 23:31:36.96ID:qS77pLNQ Deep Learningの人達はpythonフレームワークを乱立させてるけどlispのマクロ下位互換マクロ作ってるだけなのにいつ気がつくんだろ。lisp使えばフレームワークとかそもそも必要ないのに
312デフォルトの名無しさん
2016/01/01(金) 03:49:37.78ID:xJBQ4MUG フレームワークを乱立させやすい言語は流行る
Lispもそうだった
Lispもそうだった
313デフォルトの名無しさん
2016/01/01(金) 16:20:50.48ID:0qf9SqH8 え、あ、うん
314デフォルトの名無しさん
2016/01/04(月) 02:33:01.83ID:cqU/6Lnz Theanoとかlispで書き直したらかなりスッキリするのに
ごちゃごちゃしすぎ
ごちゃごちゃしすぎ
315デフォルトの名無しさん
2016/01/04(月) 17:11:28.45ID:Bo8UyxL4 他人の書いたpythonコードを解析しないといけなくなって
「めんどくさい
何でLispで書かないんだ
解析させられる俺の身にもなれ
Lispなら長さが半分以下の読みやすいコードになるのに」
という感情がとても高まってきている
「めんどくさい
何でLispで書かないんだ
解析させられる俺の身にもなれ
Lispなら長さが半分以下の読みやすいコードになるのに」
という感情がとても高まってきている
316デフォルトの名無しさん
2016/01/05(火) 12:25:36.29ID:o0yppUdN お前が書いたlispのコードの方がもっとひどいんだがw
317デフォルトの名無しさん
2016/01/06(水) 02:03:24.51ID:DSMnLqrW windows内蔵言語のvbscriptでschemeモドキを作ろうと目論んでる
つってもちゃんとやるのはマクロと末尾再帰だけでね
variant型使ったリスト処理がどんだけ遅くなるか見ものだ
つってもちゃんとやるのはマクロと末尾再帰だけでね
variant型使ったリスト処理がどんだけ遅くなるか見ものだ
318デフォルトの名無しさん
2016/01/08(金) 22:26:33.75ID:V05Ed+eX 100Gぐらいのメモリーに入りきらないデータを扱う時にpythonではジェネレター式というのを使うけどschemeやlispではどういうふうにするの?
319はちみつ餃子 ◆8X2XSCHEME
2016/01/09(土) 00:13:08.70ID:5sGg2rIv 典型的なのはストリーム (srfi-41)
http://srfi.schemers.org/srfi-41/srfi-41.html
ジェネレータの形にする場合もある。
http://practical-scheme.net/gauche/man/?l=jp&p=gauche.generator
Gauche だと遅延シーケンスがある。
でも、これは処理系自体に組み込みじゃないと後付けでは難しいので遅延リストに依存したコードは移植性に難があるかもしれない。
http://practical-scheme.net/gauche/man/?l=jp&p=%E9%81%85%E5%BB%B6%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B9
単なるバイト列やテキストであればカスタムポートも使いやすいと思う。
http://srfi.schemers.org/srfi-41/srfi-41.html
ジェネレータの形にする場合もある。
http://practical-scheme.net/gauche/man/?l=jp&p=gauche.generator
Gauche だと遅延シーケンスがある。
でも、これは処理系自体に組み込みじゃないと後付けでは難しいので遅延リストに依存したコードは移植性に難があるかもしれない。
http://practical-scheme.net/gauche/man/?l=jp&p=%E9%81%85%E5%BB%B6%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B9
単なるバイト列やテキストであればカスタムポートも使いやすいと思う。
320デフォルトの名無しさん
2016/01/14(木) 11:57:12.25ID:PerBWHT+ https://github.com/dherman/c.rkt
これでC言語のプログラムを自由に加工したりできるっぽいのだけど
ドキュメントらしきものがない
誰かexample usageみたいなものどこかにないか知りませんか?
使えればかなり便利そうなんだけど
これでC言語のプログラムを自由に加工したりできるっぽいのだけど
ドキュメントらしきものがない
誰かexample usageみたいなものどこかにないか知りませんか?
使えればかなり便利そうなんだけど
321デフォルトの名無しさん
2016/01/14(木) 13:17:40.77ID:6Qr9td66 Racket はなんだか独自の世界で生きてるよね
322はちみつ餃子 ◆8X2XSCHEME
2016/01/14(木) 17:10:36.81ID:c+6p1wle323デフォルトの名無しさん
2016/01/16(土) 22:19:21.86ID:80NpOkXH Edi Weitzの新著の書評誰かplz.
324デフォルトの名無しさん
2016/01/19(火) 19:19:06.15ID:85OnXpOR325デフォルトの名無しさん
2016/01/19(火) 22:51:56.91ID:GxT4J/Gp326はちみつ餃子 ◆8X2XSCHEME
2016/01/26(火) 01:38:54.53ID:k1cf3USC327デフォルトの名無しさん
2016/03/20(日) 14:40:59.70ID:B3NGK1ug schmeme 手習いを反復してやってます
(cond ((eq? a (car lat)) ....
で eq? が真を返すときの実行文の文法がわかりません
教科書では
(cond ((eq? a (car lat))(cdr lat))
となっていますが
(cond ((eq? a (car lat))(print "abc")(cdr lat))
と真の時の従属節に関数実行のS式を追加することはOKでしょうか?
目的はデバッグのため
処理系はgauche です,プログラミングgaucheを手元に置いていますがよく読めてません
よろしくお願いいたします
(cond ((eq? a (car lat)) ....
で eq? が真を返すときの実行文の文法がわかりません
教科書では
(cond ((eq? a (car lat))(cdr lat))
となっていますが
(cond ((eq? a (car lat))(print "abc")(cdr lat))
と真の時の従属節に関数実行のS式を追加することはOKでしょうか?
目的はデバッグのため
処理系はgauche です,プログラミングgaucheを手元に置いていますがよく読めてません
よろしくお願いいたします
328デフォルトの名無しさん
2016/03/20(日) 21:20:49.05ID:8k7APoZN beginすればいいんじゃね
329デフォルトの名無しさん
2016/03/20(日) 21:41:03.51ID:B3NGK1ug >>328
if のときじゃなくて cond のときはどうでしょうか?
if のときじゃなくて cond のときはどうでしょうか?
330デフォルトの名無しさん
2016/03/21(月) 00:04:00.00ID:4m5Wnyvm >>329
condはifとbeginに置き換えられる
condをマクロとして実装してる処理系は多い
まず処理系のソースを見てごらんよ
(cond (test1 body1) (test2 body2) (else bodyn))は
(if test1 (begin body1) (if test2 (begin body2) (begin bodye)))
に一旦展開された後で項書き換えとかコンパイルとかされる
要するにcondのbody節は複文相当で最後の式の値が全体の式の値になる
構文が判らないレベルなら教科書は一旦捨てて処理系のソース読んだ方が早い
condはifとbeginに置き換えられる
condをマクロとして実装してる処理系は多い
まず処理系のソースを見てごらんよ
(cond (test1 body1) (test2 body2) (else bodyn))は
(if test1 (begin body1) (if test2 (begin body2) (begin bodye)))
に一旦展開された後で項書き換えとかコンパイルとかされる
要するにcondのbody節は複文相当で最後の式の値が全体の式の値になる
構文が判らないレベルなら教科書は一旦捨てて処理系のソース読んだ方が早い
331デフォルトの名無しさん
2016/03/21(月) 00:27:45.71ID:4m5Wnyvm ちなみにschemeはマクロを除いて基本構文は5つしか必要ない
define lambda set! if beginだったかな?
でも厳密にはquote関係も数に入れると10個ぐらいかもしれない
それ以外は全て上の5構文を組み合わせたマクロとして定義できる
つまり上の5構文だけマスターしとけばよい
例えばletがマクロなら(let((var value)) 〜)は((lambda(var) 〜)value)
のように意味を全く違えずに置き換えられる
残りのマクロも同様に基本構文への展開形を連想できるようになれば
schemeの基本はマスターしたと思ってよい
ただし肝心のschemeのマクロの定義は手段が沢山あってカオスなので
schemeマクロの闇については自分で調べて下さい
gaucheなら大きく分けて2つだろうけど
define lambda set! if beginだったかな?
でも厳密にはquote関係も数に入れると10個ぐらいかもしれない
それ以外は全て上の5構文を組み合わせたマクロとして定義できる
つまり上の5構文だけマスターしとけばよい
例えばletがマクロなら(let((var value)) 〜)は((lambda(var) 〜)value)
のように意味を全く違えずに置き換えられる
残りのマクロも同様に基本構文への展開形を連想できるようになれば
schemeの基本はマスターしたと思ってよい
ただし肝心のschemeのマクロの定義は手段が沢山あってカオスなので
schemeマクロの闇については自分で調べて下さい
gaucheなら大きく分けて2つだろうけど
332はちみつ餃子 ◆8X2XSCHEME
2016/03/21(月) 02:54:24.39ID:+baaFkVo 最近の Gauche には explicit renaming マクロ変換器が入ってるよ。
333デフォルトの名無しさん
2016/03/21(月) 23:00:02.23ID:b2VQ+ga6 ノートぱちょこん買い替える非業界人なんだけど、最近話題沸騰中の
LispとSchemeにちょっと興味があって。やっぱりマックにしたほうが
幸せになれるんでせうか?それとも、今までのぱちょこんをLinixに
したほうがいいのかな?
LispとSchemeにちょっと興味があって。やっぱりマックにしたほうが
幸せになれるんでせうか?それとも、今までのぱちょこんをLinixに
したほうがいいのかな?
334デフォルトの名無しさん
2016/03/22(火) 00:06:38.20ID:RD0Fka3a 割とどうでもいい
335デフォルトの名無しさん
2016/03/22(火) 10:26:28.38ID:R/0zYJ9m マックにArchLinux入れろ
336デフォルトの名無しさん
2016/03/22(火) 13:25:51.72ID:YJW8F40f >>333
LispとSchemeで遊びたいならWindowsでもMacでも好きな方買って大丈夫
WindowsならWindowsに適したものが、MacだとUnix処理系から普通にって感じで入れられるよ。
LispとSchemeで遊びたいならWindowsでもMacでも好きな方買って大丈夫
WindowsならWindowsに適したものが、MacだとUnix処理系から普通にって感じで入れられるよ。
337デフォルトの名無しさん
2016/03/22(火) 13:35:28.39ID:dJvZYtfq 最近どこで話題沸騰中なんだ?
338デフォルトの名無しさん
2016/03/22(火) 13:36:45.17ID:dBsj80+9 Windowsでコーディングとか正気か
339デフォルトの名無しさん
2016/03/22(火) 14:50:32.81ID:mpnhn3sE Gauche で OpenGL 使うときは Windows の方がよい
340はちみつ餃子 ◆8X2XSCHEME
2016/03/22(火) 18:32:27.01ID:0IAY/SZb メモリを多めに積んだやつに VMware なり Virtual PC なりの仮想化ソフトを入れて使い分ければいいよ。
341デフォルトの名無しさん
2016/03/22(火) 20:45:35.89ID:58hJQcjT レスありがとうございます。質問者です。
やっぱりマックがいいという意見が多いみたいですね。
そろそろ新型出るという噂もあるようなので様子見て買ってみたいです。
LinuxはArchってのがいいんですかね?
昔のスラックウェアみたいなかんじなのかな。古いPCでも遊べそうですね。
やっぱりマックがいいという意見が多いみたいですね。
そろそろ新型出るという噂もあるようなので様子見て買ってみたいです。
LinuxはArchってのがいいんですかね?
昔のスラックウェアみたいなかんじなのかな。古いPCでも遊べそうですね。
342デフォルトの名無しさん
2016/03/22(火) 21:21:52.81ID:+NAfQbj2 ・・・!?
343デフォルトの名無しさん
2016/03/23(水) 01:26:34.91ID:wTacfG6W Lispで書かれた対話botか?!
344デフォルトの名無しさん
2016/03/24(木) 16:51:59.81ID:l5cXeIqY はじめてのLisp関数型プログラミング――ラムダ計算からリファクタリングまで一気にわかる (Software Design plus) 五味 弘
ていう本が出てるけど、これはISLispなの?CL?
ていう本が出てるけど、これはISLispなの?CL?
345デフォルトの名無しさん
2016/03/24(木) 17:29:50.47ID:swZqoyDh >>344に限らず本スレの皆様への質問とお願い
> これはISLispなの?CL?
そもそもISLispを主たる対象とした日本語で書かれた本(言語仕様の詳解中心でもプログラミング中心でもどちらでも可)って
(個人や大学・研究所などのWebサイトにPDFファイル等の形でアップされているとかでなく印刷され商業的に通常の書店で
購入可能な形で販売されているという意味で)出版されているのですか?
日本語でLispの本というとSchemeかCLかしか存在しない(英語圏でも状況は変わらない)と個人的には思っていたのですが?
日本語に限らず英語でも構わないのでISLispを主題とした書籍をご存知でしたら教えて下さい
> これはISLispなの?CL?
そもそもISLispを主たる対象とした日本語で書かれた本(言語仕様の詳解中心でもプログラミング中心でもどちらでも可)って
(個人や大学・研究所などのWebサイトにPDFファイル等の形でアップされているとかでなく印刷され商業的に通常の書店で
購入可能な形で販売されているという意味で)出版されているのですか?
日本語でLispの本というとSchemeかCLかしか存在しない(英語圏でも状況は変わらない)と個人的には思っていたのですが?
日本語に限らず英語でも構わないのでISLispを主題とした書籍をご存知でしたら教えて下さい
346デフォルトの名無しさん
2016/03/24(木) 18:12:32.28ID:l5cXeIqY ISLisp は、Lisp言語のISO標準であり、1997年にISO規格が制定されました。
ISLispは、業界標準となっていたCommon Lisp の言語仕様の巨大さに対して、
処理系の効率と学習・利用の容易さを向上するために, Common Lispを継承
しつつ EuLisp, Le Lisp, Scheme を参考としてコンパクトで一貫性のある
言語を目標に 開発されました。
とあるけど、そういえばISLispの本って見たことないかも。
ISLispは、業界標準となっていたCommon Lisp の言語仕様の巨大さに対して、
処理系の効率と学習・利用の容易さを向上するために, Common Lispを継承
しつつ EuLisp, Le Lisp, Scheme を参考としてコンパクトで一貫性のある
言語を目標に 開発されました。
とあるけど、そういえばISLispの本って見たことないかも。
347デフォルトの名無しさん
2016/03/24(木) 18:48:59.27ID:kQfTb2jB ISLisp、惹句はいいんだど、いかんせんまともな実装が無いのがな。
348デフォルトの名無しさん
2016/03/24(木) 23:12:30.66ID:hVZ/HIjt 著者「関数型おしえます!」(お?どれどれ)
著者「Lisp最高です!」(あ、うん)
著者「…islispデス…」(は?!なにそれ?伊豆lisp?)
ブロガーA「良著なのでコードをschemeで書きなおしました」(いいねえ)
ブロガーB「haskellでかきました」(うおおおおおおお!!!!!)
という反応になるよね。一般的には。
common lispかschemeで書き直したものをHPにアップすべきだと思う。
著者「Lisp最高です!」(あ、うん)
著者「…islispデス…」(は?!なにそれ?伊豆lisp?)
ブロガーA「良著なのでコードをschemeで書きなおしました」(いいねえ)
ブロガーB「haskellでかきました」(うおおおおおおお!!!!!)
という反応になるよね。一般的には。
common lispかschemeで書き直したものをHPにアップすべきだと思う。
349デフォルトの名無しさん
2016/03/25(金) 01:17:44.26ID:FCMJUdPN せめて伊豆用slimeぐらい用意しないと女子高生には読んでもらえないと思うんだ
350デフォルトの名無しさん
2016/03/25(金) 01:47:25.19ID:U5kXnQYj はじめてのLisp関数型プログラミング、昨日買ったばかりなんだけど
ハズレ感が半端ない
ハズレ感が半端ない
351デフォルトの名無しさん
2016/03/25(金) 03:50:58.11ID:Ah1QRPII で、ISLispなんですか?
352デフォルトの名無しさん
2016/03/25(金) 15:57:20.68ID:NttqmT06 ISLisp でggrと「ISLISPを使うべきでないたった1つの理由」がトップに並ぶ哀しさよ
353デフォルトの名無しさん
2016/03/27(日) 18:34:21.16ID:0WFKXpdM サンプルプログラムダウンロードしてみればわかるのでは。
354デフォルトの名無しさん
2016/03/27(日) 18:46:04.64ID:0WFKXpdM ちなみに本の最初の方ではclisp導入してた。
355デフォルトの名無しさん
2016/03/27(日) 18:57:11.14ID:0WFKXpdM 最近は、RHがclojureでうまく整理して、関数型含めてjsに広まる概念もあったりする。
逆の流れでいうとtransducerをhaskellで説明しようとしたけどちょっと足りない話。
https://reddit.com/r/haskell/comments/2cv6l4/clojures_transducers_are_perverse_lenses/
いまだとshapeless使えば静的な型検査通る可変な型扱うコレクションつくれるらしいので、上のやつみたいなのも着実に減っててるとは思う。
https://github.com/mandubian/scaledn
結局のところC#などにもそうやって取り込まれてるんじゃないかなと。
react(.js)もphpのテンプレートエンジンの置き換えからだそうで。
逆の流れでいうとtransducerをhaskellで説明しようとしたけどちょっと足りない話。
https://reddit.com/r/haskell/comments/2cv6l4/clojures_transducers_are_perverse_lenses/
いまだとshapeless使えば静的な型検査通る可変な型扱うコレクションつくれるらしいので、上のやつみたいなのも着実に減っててるとは思う。
https://github.com/mandubian/scaledn
結局のところC#などにもそうやって取り込まれてるんじゃないかなと。
react(.js)もphpのテンプレートエンジンの置き換えからだそうで。
356デフォルトの名無しさん
2016/03/27(日) 20:51:20.75ID:0fEHBexO clojure が lisp方言として紹介されてると違和感がある
357デフォルトの名無しさん
2016/03/27(日) 21:15:00.46ID:/EOuwLtH >>356
すまぬが理由がわからないのでkwsk解説を求む
すまぬが理由がわからないのでkwsk解説を求む
358デフォルトの名無しさん
2016/03/27(日) 21:24:01.32ID:0fEHBexO >>357
・特に [ ] のあたりの文法が違うのでLispの資産を移行できないから
・Lisp の ( ) の対応に慣れた人には、罠のようにはりめくらされた文法不一致があるから
・S式だけで構成できないから
・再帰末尾最適化に制限があるから
・特に [ ] のあたりの文法が違うのでLispの資産を移行できないから
・Lisp の ( ) の対応に慣れた人には、罠のようにはりめくらされた文法不一致があるから
・S式だけで構成できないから
・再帰末尾最適化に制限があるから
359デフォルトの名無しさん
2016/03/27(日) 21:47:19.72ID:/EOuwLtH360デフォルトの名無しさん
2016/03/30(水) 01:19:52.13ID:4Lxy3Poc361デフォルトの名無しさん
2016/03/30(水) 11:18:07.37ID:7zl3Df3d > ISLisp でggrと「ISLISPを使うべきでないたった1つの理由」がトップに並ぶ哀しさよ
これ根本的に間違えてんね.ユーザーいないし訂正する人もいないからこのページが消滅するとよいね
これ根本的に間違えてんね.ユーザーいないし訂正する人もいないからこのページが消滅するとよいね
362デフォルトの名無しさん
2016/03/30(水) 23:06:00.56ID:7AHXAhDb 算法表現論ゲット
読みやすそうで少し安心
読みやすそうで少し安心
363デフォルトの名無しさん
2016/04/01(金) 19:48:09.65ID:3RzF36/0364デフォルトの名無しさん
2016/04/01(金) 23:04:20.67ID:cY7z571b > 「実行時情報」が使えないということは,つまり,自分で定義した関数によるマクロの展開は行えない,ということです.
ココ。つまりこのページの主張全部
ココ。つまりこのページの主張全部
365デフォルトの名無しさん
2016/04/01(金) 23:32:51.04ID:TfQnAKLt 自分で定義した関数ってコンパイル時情報だよな?
366はちみつ餃子 ◆8X2XSCHEME
2016/04/02(土) 04:27:14.45ID:4LcO4yg1 仕様から関連しそうな箇所を抜き出してみた。
> 4.8 定義演算子
> 定義形式によって定義される名前は、最上位有効範囲全体で使うことができるが、
> ISLISP テキスト単位における実行準備された最上位形式は、左から右に順に実行される。
> (略)
> (defun function-name lambdaform*) → <symbol>
>
> defun 形式は、 function-name を、関数名前空間の識別子として定義する。 function-name は、 (lambda
> lambda-list form*) と等価な関数オブジェクトに束縛される。
> 8. マクロ
> (略)
> マクロは、実行準備時に展開される。 いかなる実行時情報も使えない。使用可能な操作は、単純なデー
> タ構造の生成及び処理に制限される。すなわち、(端末への入出力のような) 環境への副作用、(記号の属
> 性リストの変更のような)外部的にアクセスできるデータ構造への副作用、及びマクロ形式自身への副作用
> を起こす操作は禁止する。
「4.6 評価モデル」も関連するけど長くなるので要約。
・ まず実行準備される
・ 実行準備が完了してから実行される
・ 実行準備完了時点でマクロ展開は終わっている
・ 実行準備のための処理は処理系依存
断言できるほどはっきりしてないけど、関数の定義名はマクロ展開時にも見えてて、
関数名と関数オブジェクトを結びつけるのは「実行」だと解釈するのが妥当だと思う。
マクロ定義中にユーザー定義関数を使えないとする解釈を私も支持する。
ただ、全体を通して見ると副作用のない (プログラマが定義した関数を含む) 関数なら使えると想定しているっぽい雰囲気
はあるような気がする。
> 4.8 定義演算子
> 定義形式によって定義される名前は、最上位有効範囲全体で使うことができるが、
> ISLISP テキスト単位における実行準備された最上位形式は、左から右に順に実行される。
> (略)
> (defun function-name lambdaform*) → <symbol>
>
> defun 形式は、 function-name を、関数名前空間の識別子として定義する。 function-name は、 (lambda
> lambda-list form*) と等価な関数オブジェクトに束縛される。
> 8. マクロ
> (略)
> マクロは、実行準備時に展開される。 いかなる実行時情報も使えない。使用可能な操作は、単純なデー
> タ構造の生成及び処理に制限される。すなわち、(端末への入出力のような) 環境への副作用、(記号の属
> 性リストの変更のような)外部的にアクセスできるデータ構造への副作用、及びマクロ形式自身への副作用
> を起こす操作は禁止する。
「4.6 評価モデル」も関連するけど長くなるので要約。
・ まず実行準備される
・ 実行準備が完了してから実行される
・ 実行準備完了時点でマクロ展開は終わっている
・ 実行準備のための処理は処理系依存
断言できるほどはっきりしてないけど、関数の定義名はマクロ展開時にも見えてて、
関数名と関数オブジェクトを結びつけるのは「実行」だと解釈するのが妥当だと思う。
マクロ定義中にユーザー定義関数を使えないとする解釈を私も支持する。
ただ、全体を通して見ると副作用のない (プログラマが定義した関数を含む) 関数なら使えると想定しているっぽい雰囲気
はあるような気がする。
367363
2016/04/02(土) 07:29:47.03ID:A2SWmCys >>364,365,366
みなさん情報ありがとう。
ISLISPの日本語の仕様書はどこかなと思ったら、ここにあった。
http://www.jisc.go.jp/app/pager?id=1759608
ダウンロードしての閲覧禁止って。変な制限かけてるなぁ。
みなさん情報ありがとう。
ISLISPの日本語の仕様書はどこかなと思ったら、ここにあった。
http://www.jisc.go.jp/app/pager?id=1759608
ダウンロードしての閲覧禁止って。変な制限かけてるなぁ。
368はちみつ餃子 ◆8X2XSCHEME
2016/04/02(土) 12:56:38.38ID:4LcO4yg1 >>367
その URL では見れないよ。
URL 中の番号はあなたがアクセスしたときのセッション番号。
文書に固有の番号ではないので、パームリンクとして使えない。
ダウンロード禁止なだけじゃなく、たぶんサーチンエンジンのクロールも避けてるんだと思う。
その URL では見れないよ。
URL 中の番号はあなたがアクセスしたときのセッション番号。
文書に固有の番号ではないので、パームリンクとして使えない。
ダウンロード禁止なだけじゃなく、たぶんサーチンエンジンのクロールも避けてるんだと思う。
369デフォルトの名無しさん
2016/04/02(土) 13:43:35.05ID:5+CR+tn7 表示中オフラインにするとpdf中のjsに怒られたような記憶がある
370デフォルトの名無しさん
2016/04/02(土) 15:42:26.21ID:qu6I3qRA 普及させる気ないんだろうね
371デフォルトの名無しさん
2016/04/02(土) 15:51:19.10ID:5+CR+tn7 買ってもらってるから、不公平って話だと思われる。
紙も実費で配れる財源あるといいんだけどね。
isoは販売になってるけど、他団体と共同でたまに公開されてるのがある。
草稿は公開してるところもある。
紙も実費で配れる財源あるといいんだけどね。
isoは販売になってるけど、他団体と共同でたまに公開されてるのがある。
草稿は公開してるところもある。
372デフォルトの名無しさん
2016/04/02(土) 15:59:10.41ID:5+CR+tn7 ここで公開してたやつも草稿であって、ってリンク切れしてるのな。
http://www.open-std.org/JTC1/SC22/WG16/
http://www.islisp.com/jp/ISLisp-spec-jp.html
http://www.open-std.org/JTC1/SC22/WG16/
http://www.islisp.com/jp/ISLisp-spec-jp.html
373デフォルトの名無しさん
2016/04/02(土) 16:12:01.04ID:5+CR+tn7 isoやansiよりはjisの方がweb公開進んでるのだけど、
ecmaならecmascript(js)やclr(.net)みたいに公開されるのか。
ecmaならecmascript(js)やclr(.net)みたいに公開されるのか。
374はちみつ餃子 ◆8X2XSCHEME
2016/04/02(土) 17:41:26.10ID:4LcO4yg1 日本の法律だと JIS 規格に著作権が認められるかどうかははっきりしない。
総合的には認められないとする説の方が有力らしいんだが、
ISO は規格の著作権を主張してるからそれに加盟してる JISC も倣うしかなくて、
間をとって閲覧だけは無料という曖昧なところでぼやかしてるらしい。
総合的には認められないとする説の方が有力らしいんだが、
ISO は規格の著作権を主張してるからそれに加盟してる JISC も倣うしかなくて、
間をとって閲覧だけは無料という曖昧なところでぼやかしてるらしい。
375デフォルトの名無しさん
2016/04/02(土) 18:45:29.01ID:8BHbSdoO 工業規格は事実上の業界標準を後追いで規格化したのがほとんどだから、著作権どころか特許が生きてるのが混じってるので注意が必要
376デフォルトの名無しさん
2016/04/02(土) 23:14:35.48ID:1yEjd1gy > 366
> 断言できるほどはっきりしてないけど、関数の定義名はマクロ展開時にも見えてて、関数名と関数オブジェクトを結びつけるのは「実行」だと解釈するのが妥当だと思う。
入手できたISLISP Working Draft 23.0をベースにして述べるが,その理屈だと備え付けの関数も展開には使えないように思える.
備え付け関数もユーザ定義の関数もpreparation for executionの間に実行可能という記述はない.
不可能という記述もない.(定義はしないとある)
仮にユーザ定義の関数は使えないとしよう.
ローカル関数 (flet labels)が,defmacro 内で使えないようには見えないのでこれで対処できる.
また,マクロは使用場所に先行して定義があることが必須とあるということは,ユーザ定義のマクロは使えるように見えるので,補助関数の所を補助マクロとするのも良いだろう.
CommonLispでもマクロ展開の補助でユーザー定義関数の利用は必須ではないし,利用するには評価フェイズを合せなくちゃならない問題がある.(ISLISPはこれを回避したのかもしれない)
これをもって「ISLISPを使うべきでない」とするのは誇張が過ぎるし,真に受ける者が出るとしたら害悪だろう.
> 断言できるほどはっきりしてないけど、関数の定義名はマクロ展開時にも見えてて、関数名と関数オブジェクトを結びつけるのは「実行」だと解釈するのが妥当だと思う。
入手できたISLISP Working Draft 23.0をベースにして述べるが,その理屈だと備え付けの関数も展開には使えないように思える.
備え付け関数もユーザ定義の関数もpreparation for executionの間に実行可能という記述はない.
不可能という記述もない.(定義はしないとある)
仮にユーザ定義の関数は使えないとしよう.
ローカル関数 (flet labels)が,defmacro 内で使えないようには見えないのでこれで対処できる.
また,マクロは使用場所に先行して定義があることが必須とあるということは,ユーザ定義のマクロは使えるように見えるので,補助関数の所を補助マクロとするのも良いだろう.
CommonLispでもマクロ展開の補助でユーザー定義関数の利用は必須ではないし,利用するには評価フェイズを合せなくちゃならない問題がある.(ISLISPはこれを回避したのかもしれない)
これをもって「ISLISPを使うべきでない」とするのは誇張が過ぎるし,真に受ける者が出るとしたら害悪だろう.
377デフォルトの名無しさん
2016/04/03(日) 00:12:06.32ID:TLDHNLo8 そのページの害悪よりも、isLispの素晴らしさが伝わるようなページが
検索トップに来ないことの方がずっと問題だと思うけど
検索トップに来ないことの方がずっと問題だと思うけど
378はちみつ餃子 ◆8X2XSCHEME
2016/04/03(日) 01:50:33.42ID:KHszJMdl >>376
「実行準備」「実行」の繰り返しがどういう単位なのかっていう、フェイズの分離の仕方の問題だよな。
ひとつの式ごとなのかプログラム全体にわたってなのかでも解釈が違ってくる。
まあ最大限に安全な方向に見積もって未定義だと解釈しても、
それで ISLISP の有用性が全部失われるわけではないということには賛成できる。
あの記事はよくある誇張した煽り記事だろ。 センセーショナルなタイトルをつけてるだけで大したこと言ってない。
しょうもない記事が上位にきてしまう程度に ISLISP に関する記事が少ないってだけ。
「実行準備」「実行」の繰り返しがどういう単位なのかっていう、フェイズの分離の仕方の問題だよな。
ひとつの式ごとなのかプログラム全体にわたってなのかでも解釈が違ってくる。
まあ最大限に安全な方向に見積もって未定義だと解釈しても、
それで ISLISP の有用性が全部失われるわけではないということには賛成できる。
あの記事はよくある誇張した煽り記事だろ。 センセーショナルなタイトルをつけてるだけで大したこと言ってない。
しょうもない記事が上位にきてしまう程度に ISLISP に関する記事が少ないってだけ。
379デフォルトの名無しさん
2016/04/05(火) 19:32:30.73ID:wN+QNOe5 ISLispを普及させるために必要な10のこと
・ISLispBoxを無償提供する
・ISLisp Hyperspecを無償提供する
・SICPをISLispで書き換える
・On ISLisp、Little ISLisper、Land of ISLispを出す
・ISLisp for Dummies、すごいISLisp楽しく学ぼう!も
・WhyのISLisp感動的ガイドを公開する
・ISLispBoxを無償提供する
・ISLisp Hyperspecを無償提供する
・SICPをISLispで書き換える
・On ISLisp、Little ISLisper、Land of ISLispを出す
・ISLisp for Dummies、すごいISLisp楽しく学ぼう!も
・WhyのISLisp感動的ガイドを公開する
380デフォルトの名無しさん
2016/04/05(火) 23:12:23.26ID:XIj7GX7+ 他の実装へのトランスレータがあれば普及させる必要はない
381デフォルトの名無しさん
2016/04/07(木) 01:17:53.66ID:y6T+G0tp God Wrote in Lisp (The Eternal Flame)
http://www.catonmat.net/blog/musical-geek-friday-god-wrote-in-lisp-eternal-flame/
http://www.catonmat.net/blog/musical-geek-friday-god-wrote-in-lisp-eternal-flame/
382デフォルトの名無しさん
2016/04/07(木) 02:51:00.20ID:J/4BCUlz >Lispを普及させるために必要なこと
括弧が少ない言語の方が好まれる傾向にある
よって括弧が一切存在しないLispが誕生すれば爆発的に普及するだろう
括弧が少ない言語の方が好まれる傾向にある
よって括弧が一切存在しないLispが誕生すれば爆発的に普及するだろう
383デフォルトの名無しさん
2016/04/07(木) 03:03:03.39ID:69hNyYMv 今年のscheme workshopは日本
いつもwebdbfと重なって行けなかったが今年は行けそう
いつもwebdbfと重なって行けなかったが今年は行けそう
384デフォルトの名無しさん
2016/04/07(木) 13:28:18.97ID:bXWnnDCw 言語で使う括弧の量と、括弧打つのが面倒な場面の数ってあんま関係ないよね。
括弧使う言語を書いてるときに面倒なのは、今書いた式を引数にして別の関数を更に適用しようかとかなったときに、
後に閉じ括弧つけてカーソル前に戻して関数名書いて括弧つけて、ってやるときがほとんどなんだけど、
例: foo(x,y)_ → bar(_foo(x,y)) # "_"はそのときのカーソルの位置
Emacsなら一発で飛べる分、むしろLispの方が楽なときがある。
そういう意味だとOCamlの foo x y _ → foo x y |> bar_ は便利だった。
括弧使う言語を書いてるときに面倒なのは、今書いた式を引数にして別の関数を更に適用しようかとかなったときに、
後に閉じ括弧つけてカーソル前に戻して関数名書いて括弧つけて、ってやるときがほとんどなんだけど、
例: foo(x,y)_ → bar(_foo(x,y)) # "_"はそのときのカーソルの位置
Emacsなら一発で飛べる分、むしろLispの方が楽なときがある。
そういう意味だとOCamlの foo x y _ → foo x y |> bar_ は便利だった。
385デフォルトの名無しさん
2016/04/09(土) 00:31:51.25ID:V5jcD4gz Lispが普及しないのはEmacsで開発するのが当たり前ってところでしょ?それじゃ新規は増えないよ。
386デフォルトの名無しさん
2016/04/09(土) 01:09:17.67ID:K2fjpu1X それはいいんだよ
CLやscheme, Racketに比べてISLISPが普及してないのはもったいないよね
という話
CLやscheme, Racketに比べてISLISPが普及してないのはもったいないよね
という話
387デフォルトの名無しさん
2016/04/09(土) 07:59:30.45ID:vy7ZgTpp >>385
F#はVisual Studioだけど普及してないし
F#はVisual Studioだけど普及してないし
388デフォルトの名無しさん
2016/04/09(土) 12:25:09.55ID:RLrf2DHR >>387
F#は好きな言語ではあるが、C#と比べるとVSの動作が重くてしんどいよ。
型推論が遅いのか構文解析が面倒なのか、自動でエラー箇所表示させると凄く反応が悪くなる。
FParsecとか関数型言語ならではの便利ライブラリ使うとより顕著に。
ISLispはロクな実装無いし真面目に使っている人がいないから、どこが便利でどこに課題があるかも分からんのがね。
F#は好きな言語ではあるが、C#と比べるとVSの動作が重くてしんどいよ。
型推論が遅いのか構文解析が面倒なのか、自動でエラー箇所表示させると凄く反応が悪くなる。
FParsecとか関数型言語ならではの便利ライブラリ使うとより顕著に。
ISLispはロクな実装無いし真面目に使っている人がいないから、どこが便利でどこに課題があるかも分からんのがね。
389デフォルトの名無しさん
2016/04/10(日) 00:55:16.70ID:o+jF8W/p >>387
なら開発環境と言語の両方に魅力がないとダメってことじゃない?
なら開発環境と言語の両方に魅力がないとダメってことじゃない?
390デフォルトの名無しさん
2016/04/10(日) 01:04:07.52ID:FW5ih/4i smalltalkは普及してないけど、objective-cは普及した
つまり、Lispを普及するには中間言語をcにして、、、
つまり、Lispを普及するには中間言語をcにして、、、
391デフォルトの名無しさん
2016/04/10(日) 01:05:20.48ID:FW5ih/4i そういえばsqueakがレイヤごとに言語変えるとかどっかでチラと読んだような気がする
392デフォルトの名無しさん
2016/04/10(日) 09:59:42.62ID:OHXqjM6F >>390
Objective-Cは絶滅危惧種だったがジョブズのおかげで生き延びた
Objective-Cは絶滅危惧種だったがジョブズのおかげで生き延びた
393デフォルトの名無しさん
2016/04/10(日) 13:13:21.92ID:FW5ih/4i 最も愛されているプログラミング言語や技術
1. Rust(79.1%)
2. Swift(72.1%)
3. F#(70.7%)
4. Scala(69.4%)
5. Go(68.7%)
http://news.mynavi.jp/news/2016/04/07/062/
Most Loved Programming Languages Of 2016 ? Rust, Swift, F#, Scala, Go
http://fossbytes.com/loved-programming-languages-rust-swift-go/
だそうです
1. Rust(79.1%)
2. Swift(72.1%)
3. F#(70.7%)
4. Scala(69.4%)
5. Go(68.7%)
http://news.mynavi.jp/news/2016/04/07/062/
Most Loved Programming Languages Of 2016 ? Rust, Swift, F#, Scala, Go
http://fossbytes.com/loved-programming-languages-rust-swift-go/
だそうです
394デフォルトの名無しさん
2016/04/10(日) 14:19:08.33ID:OHXqjM6F >>393
愛人にしても本妻には決してしたくない言語だね
愛人にしても本妻には決してしたくない言語だね
395デフォルトの名無しさん
2016/04/10(日) 15:37:29.95ID:1G8jL9C/ Rustは好き。C/C++が引き受ける低レベルな領域に型システムの安全性と利便性を突っ込んでみたっていう発想は良い。
けど、コンパイル時間がコード量から予測しづらい(イテレータやジェネリクスを使ってると特に)のと、
莫大なライブラリを資産に持つC/C++と比べたときの実用性の差を考えると、
潤沢な計算資源があって、比較的優秀な人材が揃えられるところ向け。
Schemeのような、スタンドプレーの生産性を莫大に高める言語じゃあないと思う。
けど、コンパイル時間がコード量から予測しづらい(イテレータやジェネリクスを使ってると特に)のと、
莫大なライブラリを資産に持つC/C++と比べたときの実用性の差を考えると、
潤沢な計算資源があって、比較的優秀な人材が揃えられるところ向け。
Schemeのような、スタンドプレーの生産性を莫大に高める言語じゃあないと思う。
396デフォルトの名無しさん
2016/04/10(日) 16:24:09.38ID:GJqGP9+Q 俺もRust好きだな、ただObjective-Cみたいに言語のはらわたまで触れる(smalltalk由来の部分ね)緩さをもった言語も大好きなんだよな
あとはClojureが好き、これはWebアプリ書いてるとき限定だけど。
LispスレなのにLisp系がClojureとかでスマヌ
あとはClojureが好き、これはWebアプリ書いてるとき限定だけど。
LispスレなのにLisp系がClojureとかでスマヌ
397デフォルトの名無しさん
2016/04/10(日) 19:11:20.69ID:bGdugtOr Lisp系言語のネックは言語実装じゃなくて実行環境だと思う
398デフォルトの名無しさん
2016/04/10(日) 20:22:50.36ID:OHXqjM6F >>397
マルチプラットフォームでコンパイラで実行バイナリも吐けるし何が問題?
マルチプラットフォームでコンパイラで実行バイナリも吐けるし何が問題?
399デフォルトの名無しさん
2016/04/10(日) 20:44:51.47ID:bGdugtOr >>398
「Common Lisp なら問題なく安定して高速な実行バイナリを吐ける」 という前提が必要かと
「Common Lisp なら問題なく安定して高速な実行バイナリを吐ける」 という前提が必要かと
400デフォルトの名無しさん
2016/04/10(日) 21:07:38.87ID:fTRAmtFw マルチプラットフォームとかより.NET Frameworkとか使えるかが問題
401デフォルトの名無しさん
2016/04/10(日) 21:42:33.45ID:hia67FmN Biglooは高速なんじゃないの?
402デフォルトの名無しさん
2016/04/11(月) 19:30:23.23ID:B6eduLpk Hyper Specが日本語に翻訳されたら増えるかもね。
日本語の情報が少なすぎだよ。
日本語の情報が少なすぎだよ。
403デフォルトの名無しさん
2016/04/12(火) 07:35:10.05ID:cHC5205s Racketからpython使うだいぶ楽になったけど、逆はどうすればいいんだ?
404デフォルトの名無しさん
2016/04/15(金) 16:27:17.39ID:SDnTU4FS Deep Learningライブラリkeras
がニューラルネットワークのグラフ処理と数式処理を組み合わせた
ちょっと気の利いた自動処理をやってくれてたんだけど,バグだらけで
pyrhonで数式処理やるの無茶だしこんなものだろうと思ってたら
最新版で気の利いたグラフ処理を全部削除してきた
数式処理をLisp以外でやるのは,やっぱり無理だったんだな
がニューラルネットワークのグラフ処理と数式処理を組み合わせた
ちょっと気の利いた自動処理をやってくれてたんだけど,バグだらけで
pyrhonで数式処理やるの無茶だしこんなものだろうと思ってたら
最新版で気の利いたグラフ処理を全部削除してきた
数式処理をLisp以外でやるのは,やっぱり無理だったんだな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… [BFU★]
- 高市早苗首相。財務省の経済対策草案を「しょぼすぎる」と一刀両断し自らテコ入れ [バイト歴50年★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★4 [♪♪♪★]
- 日中関係悪化で「日本からもうすぐパンダがいなくなる」 中国SNSでトレンド1位に★2 [♪♪♪★]
- 【旧統一教会】年度内に解散命令請求に結論 教団は最終主張書面を東京高裁に提出 [1ゲットロボ★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」 [115996789]
- 【実況】白銀ノエルと博衣こよりのえちえちパワフルプロ野球
- インド空軍さん、40年かけて開発した自慢の戦闘機を航空ショーのデモ飛行中に墜落させて最高の盛り上がりを演出。高市もにっこり [624898991]
- 【速報】高市早苗「答弁撤回はしない」経済制裁へ★2 [931948549]
- 【んな専🏡】ルーナイトたち~1週間お疲れ様なのらぁ~(・o・🍬)🏰
- 【んな専🏡】華金もんなっしょいとはやれやれなのらね🍬(・o・🍬)🏰
