1 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 17:58:58.06 ] Common Lisp、SchemeをはじめとするLisp族全般のスレです ■前スレ Lisp Scheme Part32 hibari.2ch.net/test/read.cgi/tech/1303299696/ ■テンプレ wiki.fdiary.net/lisp/ ■関連スレ 【入門】Common Lisp その8【質問よろず】 hibari.2ch.net/test/read.cgi/tech/1309940115/
636 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 00:08:32.94 ] call/ccでも使えば
637 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 00:28:53.24 ] >>636 使いましたがリスト先頭のみ処理されました。
638 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 00:33:43.11 ] >>632-633 ありがとうございます。
639 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 00:53:13.56 ] ≡≡≡≡ 癶( 癶;:゚;益;゚;)癶 カサカサカサ
640 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 01:55:16.48 ] AmazonのプログラミングGauche売れとるな
641 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 17:28:00.78 ] プログラミングgaucheの中に出てくるjames clark's notationについて どこかに詳しい説明はありませんか search.cpan.org/~rbs/XML-Filter-Essex-0.01/lib/XML/Essex/Model.pm を見るとどうもjames clark's notationは別物のように思えるのですが
642 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 17:45:55.73 ] その本は読んでないが、 www.jclark.com/xml/xmlns.htm では足りないのかい?
643 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 17:49:55.17 ] 俺の記憶にあるのは、 ttp://jp.rubyist.net/magazine/?0012-qwikWeb#l14 これだけだな。 確か高林氏が最初に「わびさび方式」を紹介した時に、氏のコードが生成してるスタイルについて そのように呼んでた記憶があるんだが、氏の勘違いじゃなかろうかと俺は思っている。 字下げ付けないでべたっと生成してるぶんにはさほどでもないが、字下げを付けようとしたら 割と変態っぽくなった記憶がある(まぁPPなんて複雑になりたがるもんだけど)。
644 名前:641 mailto:sage [2011/12/27(火) 22:48:00.53 ] なるほどわかりました
645 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 00:16:15.10 ] 「プログラミング不器用な」 が売れてるのか。
646 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 14:29:47.83 ] www.cl.cam.ac.uk/teaching/1011/ConceptsPL/ これのlispのスライドにreflectionとあるのですが >Fully reflective languages are still just research prototypes >(e.g. Maude), but limited forms of reflection appear in >several languages (e.g. LISP, Prolog, Python) これはどういうことなのでしょうか?
647 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 13:06:33.10 ] なんぞ [腐lisp]腐女子のためのlisp入門 #0 - Oh! Can Not Diary piro.hatenablog.com/entry/2011/12/28/232146
648 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 13:20:58.48 ] あのpiro氏とは無関係か。 腐はともかくとして、今時elispってのはこれまた微妙な。
649 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 14:50:37.28 ] 学生プログラマ日本一決定戦(予選は社会人も参加可) ttp://codevs.jp/howto.html 現在予選開催中 応募締切 2012.1.6 12:00 おもしろいことやっているじゃん。誰か今から参加しろよ。
650 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 15:06:15.26 ] >>649 社会人でも予選は参加可能らしいしやってみれば? 時間制限あるしsbclとか使えば多少有利かもね
651 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 17:33:07.12 ] つまらんわ
652 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 17:37:36.79 ] ほうしゃのうを除去するプログラム作ってくれ 「ほうしゃのうを除去するプログラム作ってくれ」 ↓ 「を除去するプログラム作ってくれ」
653 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 11:42:28.01 ] R7RSのドラフト読んでみたけど、R6RSは本気で黒歴史にする方向みたいだな。
654 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 12:07:30.67 ] >>653 >R6RSは本気で黒歴史にする方向 詳しく聞きたい
655 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 16:35:22.18 ] 互換性切って捨てられるとかpython3みたいだな。
656 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 16:59:16.85 ] rubyよりまし
657 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 18:50:38.47 ] Perl6は赦された
658 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 23:54:15.03 ] R6RSとかいらないし
659 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 01:08:33.13 ] Windows2000と7に挟まれたVista扱いですか…
660 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 01:16:29.67 ] 7も正直微妙なんだけど8で大コケの予感 UIいじるのは完全に死亡フラグ
661 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 01:18:26.33 ] 単なるマーケティングの問題と一緒にすんな
662 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 02:43:46.81 ] racketに慣れきってしまったので6を黒歴史にされると困る
663 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 02:55:14.14 ] RacketはもうArcよろしく我が道を往くことになってるから安心しろ。 あれはLispではあるけど、もうSchemeじゃない。RnRSをサポートしてても。
664 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 12:10:07.16 ] iphoneでもluaはちゃんと動く lua上で動くschemeがあるので iphoneでも無料でscheme動かすことできる
665 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 12:44:02.99 ] de?
666 名前:デフォルトの名無しさん [2011/12/31(土) 13:06:19.87 ] >>663 だとすると、結局のところschemeのエッセンスって何なの?
667 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 13:21:55.67 ] >>666 実装して楽しいことじゃね?
668 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 13:48:45.98 ] 誰かアンドロイドタブレットで動くgaucheインタープリタ作って
669 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 16:49:22.06 ] >>666 純粋な計算機科学の話ではなくて、どちらかと言えば政治的な話。 "a dialect of Lisp and a descendant of Scheme"のRacketの処理系であって、 今後もRnRS Schemeをサポートするけど、それは彼らにとって一番の目的じゃない。
670 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 22:39:05.56 ] gaucheで テキストファイルの内容をテキストとしてそのまま出力するcgiと ダウンロードページのように、アクセスすると指定したtar.gzをダウンロードさせるcgiを作りたいのですが どういう風にすればいいのでしょうか
671 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 22:51:56.15 ] お前 Gauche 以前の問題だろ
672 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 23:28:54.18 ] gaucheで の部分を何に変えても同じことだな
673 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 23:55:16.29 ] テキストファイルやtar.gzを読んで適切なhttpヘッダーつけて標準出力に 書き出せばいい。
674 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 00:06:12.05 ] >>671-673 ありがとうございました
675 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 14:58:10.32 ] iphoneのgambit cが便利。しかしソースの保存先が不明。どこから見れるんだろ
676 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 15:47:38.47 ] >>675 アプリつくれるんだっけ?
677 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 16:03:17.95 ] >>670 高校生の時を思い出したわ。 今の時代はこんなの中学生か小学生かな。
678 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 17:05:47.37 ] >>676 >>>675 >アプリつくれるんだっけ? 単にどこでもスキームコードが書けるだけみたい。
679 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 22:00:21.15 ] >>677
680 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 15:11:07.42 ] Gambitの継続をスレッドで実装する方法ってどこかに文献ないのでしょうか
681 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 15:23:00.76 ] lists.racket-lang.org/users/archive/2008-June/025051.html 結局、どっちの挙動が正しい挙動なの?
682 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 15:27:02.33 ] トップレベルの解釈って処理系がそれぞれ適当に決めてるんじゃないの
683 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 16:50:27.30 ] 処理系作ってみればわかるが どっちもどっち
684 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 17:17:36.26 ] axisofeval.blogspot.com/2011/07/some-nice-paperz.html Some nice paperz on delimited continuations and first-class macros
685 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 19:45:58.29 ] schelogでちょっと複雑なプログラム組むと 無限ループから帰ってこなくなるのは 自分の使い方が悪いだけなんだろうか
686 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 21:34:21.86 ] >>685 github
687 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 23:30:34.59 ] srfi-*とかクソわかりづらいんだけど慣れるもん?
688 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 23:44:01.52 ] いや、メモを参照すべきだと思うぞ。
689 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 23:48:31.33 ] RFCなんかに比べりゃかわいいもんよ
690 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 01:21:07.60 ] >>688 なんのメモを参照しているの?
691 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 06:07:02.56 ] srfi とslibの関係がよくわからない
692 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 07:40:07.85 ] srfiは仕様案を出してみんなで議論して形にする。一応参考実装があるけど、 「仕様」が本体なので、仕様だけ見て独自実装している処理系も多い。 slibはSCMの作者が中心となってメンテしているライブラリの集合。仕様に こだわるよりも実装が主体。 両者は基本的に無関係だけど、SCMの作者がslibの一部の仕様をsrfiとして 提出して承認されているものはある。
693 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 06:38:20.67 ] racketはシェルとの融合性が悪すぎる パイプとportつなげたいだけなのに出来ないとか
694 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 14:24:29.54 ] (call-with-output-string (lambda (out) (call-with-input-string "aaaaaa" (lambda (in) (exec-shell-pipe "cat -" in out) )))) みたいなことしたいのだけどRacketはできないみたい Gaucheならできる?
695 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 14:29:27.07 ] みたいなことはどれでも出来るんじゃね
696 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 14:47:53.08 ] shellの標準入力とパイプ入力で扱いが違うらしく 動かないshell コマンドがある
697 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 16:32:57.47 ] common lispとscheme(gauche)のソースを見やすくする javascriptでできたシンタックス・ハイライトはありますか? webでそれらのソースを見せたいので
698 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 17:52:28.72 ] >>697 see demo at pygments.org/
699 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 08:55:25.13 ] >>696 なにいってんだ?
700 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 15:22:37.44 ] >>699 Racketで694に相当するのが(process "cat")だけど 実行してみると何処がおかしいのかわかると思うよ
701 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 00:48:18.63 ] 何言ってんだか全くわからん。 $ cat foo.ss (define-values (p stdout stdin stderr) (subprocess #f #f #f "/bin/cat")) (display "aaaaaa\n" stdin) (close-output-port stdin) (display (read-line stdout)) (display "\n") $ racket -f foo.ss aaaaaa
702 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 03:34:47.61 ] >>701 ls, top, cat hoge.log | tail -n 99 | grep abとかは、どうやるの?
703 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 10:48:07.24 ] (subprocess #f #f #f "/bin/sh" "-c" "ls | grep ab")でいいんじゃない?
704 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 20:46:41.56 ] >>698 すみません、それはpythonでファイルを新たに生成するものではないでしょうか
705 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 07:08:13.54 ] www.1stwebdesigner.com/css/16-free-javascript-code-syntax-highlighters-for-better-programming/
706 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 08:15:50.26 ] >>704 単独で生成もできるし、jekyllみたいなものから静的なhtml作成 もできるよ。common lisp,scheme,clojure含めて対応言語が多いので、 重宝する。705にも紹介されてるよ。
707 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 09:23:26.10 ] 環境を変更せず、お手軽にJavaScriptでやりたいんじゃないのかな。 自分もブログサービスで簡単に利用できるのを探したりした。 google-code-prettify code.google.com/p/google-code-prettify/ なんかは、Lisp界隈で何度か使われてるのを見たことがある。 ただ、厳密に構文解析してるわけじゃないみたいなので、 何かのタイミングでハイライトが崩れる場合もあったと記憶してる。
708 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 12:53:31.40 ] >>705-707 ありがとうございます。 >>707 のおっしゃるとおり手軽に行いたかったのです あげてもらったものを試してみます
709 名前:デフォルトの名無しさん [2012/01/16(月) 16:31:35.37 ] ttp://d.hatena.ne.jp/higepon/20120116/1326674950
710 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:13:42.03 ] ステマスレと間違えたんですね
711 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 19:28:17.79 ] d.hatena.ne.jp/r-west/20090417/1239972722 大変わかりやすいエントリーなのですが、読んで疑問を持ちました 1.lispやschemeとycombinatorはどういうところで結びつくのでしょうか 2.ところでpaul grahamが設立したy combinatorはy combinatorの意味と何らかの関係があるのですか
712 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 01:39:33.32 ] Ycombinator懐かしいな (define (Y F) ((lambda (s) (F (lambda x (apply (s s) x)))) (lambda (s) (F (lambda x (apply (s s) x)))))) (define length (Y (lambda (f) (lambda (ls) (if (null? ls) 0 (+ 1 (f (cdr ls))))))))
713 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 10:04:35.84 ] >>711 2についてはpaulが答えてる。 ycombinator.com/faq.html Why did you choose the name "Y Combinator?" The Y combinator is one of the coolest ideas in computer science. It's also a metaphor for what we do. It's a program that runs programs; we're a company that helps start companies.
714 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 17:16:22.14 ] >>712-713 ありがとうございます。わかってすっきりしました。
715 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 10:37:22.18 ] Lispには歴史的価値しかない Lispからはもう新しいものは生まれない
716 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 12:24:53.66 ] うん、過去ログを読めない人にとってはそうだな
717 名前:デフォルトの名無しさん [2012/01/18(水) 12:40:32.37 ] 2ch監視し続けないと目に触れないようなもん 大したものじゃないな
718 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 15:36:39.08 ] >>715 のお勧め言語は?
719 名前:デフォルトの名無しさん [2012/01/19(木) 01:07:41.25 ] 別に新しいの生み出さないでも、 俺一人が気分良く使えればそれでいいし。
720 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 02:51:38.27 ] schemeで 文字列 "aabb" から同じ名前の変数に何か割り当てたい (define aabb "some") string->symbolで変換しても無理だったのだけど何か方法ないのでしょうか
721 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 06:39:10.99 ] 適当に加工してevalかマクロ
722 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 09:01:00.29 ] 関数に値を渡す時 vectorとlistは参照渡し それ以外は値渡し なんかすっきりしない
723 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 09:44:03.25 ] Schemeに参照渡しなんて無い
724 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 12:58:50.56 ] (lambda (x) (set! x))は、xが関数の中にあるのか外にあるのか、分からない (lambda _ (let ((x (car _))) (set! x)))は分かる パラメータを宣言するのをやめてローカル変数を宣言すればいい
725 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:11:18.05 ] 誰か>>724 を翻訳してくれ
726 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:12:42.87 ] perl大好き
727 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:39:15.59 ] RnRS にも載っているように let は lambda に変換されるマクロ ローカル変数を作ってるのは実は lambda の方
728 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 14:18:10.31 ] (my-let ((x 1)) x) から ((lambda (x) x) 1) に変換するこんなマクロ一度は作るよね
729 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 14:23:54.29 ] 参照渡しなんて無いほうがいいと思うなら 引数を評価しないで渡すマクロも無いほうがいいと思うだろうな
730 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 14:56:52.91 ] 参照渡しと参照の値渡しを混同してるやつが居るな
731 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 14:58:08.78 ] Lispは他の言語と比べたら 全くと言っていいほど役に立ってないのに なんでLisperはあんなに威張りくさっていて態度がでかいんだろう
732 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 15:03:26.05 ] ↑こんな風に
733 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 15:03:33.38 ] 下から目線キター
734 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 15:05:07.77 ] たしかにバカを相手に威張ってもなんの得にもならないし ろくなことはない。愚かな行為ではあるな
735 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 15:11:48.97 ] >>730 その理論でマクロは説明できないの? quoteの値渡しとか
736 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:10:34.30 ] 値渡しを理解してない初心者がなぜか動かないと疑問に思う例 (define (push stack objct) (set! stack (cons objct stack))) (define (pop stack) (prog1 (car stack) (set! stack (cdr stack)))) やりたいことはこう (define (make-stack) (list '())) (define (push stack objct) (set-car! stack (cons objct (car stack)))) (define (pop stack) (prog1 (caar stack) (set-car! stack (cdar stack))))