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/
445 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 02:18:53.89 ] ごめん。ひとつ大事なこと思い出した。 dotimesとかもそうなんだけど、dolistは www.lispworks.com/documentation/HyperSpec/Body/m_dolist.htm#dolist > It is implementation-dependent whether dolist establishes a new binding of var > on each iteration or whether it establishes a binding for var once at the > beginning and then assigns it on any subsequent iterations. って決まってて、処理系によってはループ変数が破壊的に変更される可能性がある。 そういう場合にクロージャとかでその変数を捕捉すると悲劇が起こる。 具体的にはこう(↓)なる。 blog.practical-scheme.net/shiro/20060110-for mapcは引数で渡すからこの問題は起きないはず。これは覚えておいた方が良いかも。
446 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 12:05:04.37 ] 動作がよくわからないので質問させてください。 (case 0 ((0) 1)) → 1 になるので (case 0 (((if #t 0)) 1)) → 1 になって欲しかったのですが → () になってしまいます。 case が eqv? で比較してるので (eqv? 0 (if #t 0)) が #f になるかと思ったんですが、これは #t になります。 case 文の 条件部分(呼び方がわかりません。)に if 文を使うことはできないんでしょうか?
447 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 12:21:55.04 ] >>446 (define a 0) (case 0 ((a) 1)) -> () (case 'a ((a) 1)) -> 1
448 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 19:06:31.53 ] >>446 case の条件部分はただのデータで、評価されない。 なのでその書き方は 0 という整数と (if #t 0) というリストを比較している。
449 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 20:18:39.48 ] >>446 今度からそういうときはcondを使ってね
450 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 20:30:54.67 ] ウズウズ
451 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 21:34:09.97 ] >>447-449 レスありがとうございます。 condを使えば思ったとおりに動かすことが出来ました。
452 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 19:26:16.97 ] この英語2chはなんなんだ。微妙に活気があるんだよなあ。 ttp://dis.4chan.org/tech/
453 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 19:36:34.40 ] 海外のオタクが双葉を元にしたサイトだよ
454 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 00:23:20.84 ] schemeで画像扱う時って普通にvectorのvectorにするものなの?
455 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 03:12:38.88 ] u8vectorで
456 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 23:59:47.79 ] M.Hiroi's Home Page / xyzzy Lisp Programming www.geocities.jp/m_hiroi/xyzzy_lisp/abclisp02.html listの説明の図がわかりやすいです 画像ならまだしも、テキストでセルの要素を表現できることに驚きました このような図を作成するにはどういうツールを使えばよいのでしょうか
457 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 00:18:56.26 ] そのサイトの管理人に聞いたほうが早いんじゃね?
458 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 01:33:40.73 ] まあたぶんテキストエディタで手書きだと思うけど
459 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 02:15:31.71 ] xyzzyの罫線モードとかじゃないの
460 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 04:05:42.47 ] lispはHaskellなんかと比べるとちゃんとした関数型言語じゃないって言う人がいますが、どうですか
461 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 04:49:30.79 ] >>460 副作用のある関数が普通に書けるからじゃろ
462 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 12:42:42.40 ] Haskellは副作用をする部分を隔離してるもんな。そこで副作用させてる から、あるなし論争があるけど、ML系でも異色でちょっと取り扱いづらい けど人気があるよね。モナド信仰なんだろうかな。サクサク作っていける 部分もある。
463 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 17:43:52.85 ] c++とlispはマルチパラダイム言語
464 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 18:04:26.40 ] プログラミングGauche の第15章 テキストの構築を読んで sxml形式で記述した外部ファイルを読み込み xmlに変換して他のファイルに出力したいと思いました。 ですが、方法がわかりません。 sxmlのデータが*sxml-data*にあるとき (use sxml.serializer) (print (srl:sxml->xml *sxml-data*)) とすればxmlのデータを整形して出力することと、 返還後のxmlデータが*xml-data*にあるとき (with-output-to-file filename (lambda () (format t "~A" *xml-data*))) と書くとfilenameで指定したファイルに*xml-data*が書き込まれるだろうことはわかりました ここで行き詰まったのは外部sxml(*.scm)を読み込んで変換し出力するという処理の とくにはじめの部分と処理全体です (with-input-from-file filename...) で読み込んだファイルを一文字ずつや一行ずつ処理できるのはわかったのですが、 一度に読み込む方法はあるのでしょうか 最終的には karetta.jp/book-node/programming-gauche/197708 の「SXMLでは次のとおりに記述します。」直後のコードを保存したファイルを読み込み、 それを別ファイルにxmlとして保存する関数を作成したいのですが 可能でしょうか?
465 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/12/11(日) 20:04:04.39 ] >>464 read
466 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2011/12/11(日) 20:28:21.93 ] >>460 関数型とは何かという明確な定義は無いので、ちゃんとしたというのがどの程度のことを言うのかで判断が分かれると思いますね。 Haskell が「純粋関数型」と呼ばれることからもわかるように、その逆の純粋でない関数型もあるわけで。 純粋でないことを以ってちゃんとしてないというのであれば「そうですね」という感じかなぁ。 純粋とそうでないのとを分ける基準があるのかもよくわかりませんが、 あたりまえに副作用を起こせるのを純粋とは言えないのは間違いないでしょう。 そもそも LISP は何でも有りの自由なところが特徴だし、 Common Lisp や Scheme はマルチパラダイムを標榜してもいるので、 LISP という言語が関数型としてどうかという問いはあまり意味がないですね。 あなたがそうしたければ純粋関数型的な語彙を組立ててそのスタイルを貫く自由は与えられています。
467 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 23:36:25.04 ] >>465 ありがとうございます
468 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 06:30:20.68 ] lispの特徴はS式構文でしょ。
469 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 11:33:48.29 ] 昔はGCとかSchemeの継続とか強力なOOシステム(Flavors, CLOS)も特徴だったけど、 今は他の言語でも見られるしね。S式+マクロはLisp族だけだね。
470 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 11:34:43.39 ] ADTを直接記述出来る事かと。
471 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 14:14:41.71 ] リストの操作で質問します (val (lis1) (lis2 (lis3))) このリストに別のリスト(lis4)を追加して (val (lis1) (lis2 (lis3) (lis4))) のようにlis2のリストの末尾に追加したいです そのあとで追加したリストも (val (lis1) (lis2 (lis3) (lis4) (lis5) (lis6))) というふうに後ろに挿入したいのですが、 どういう操作をすればよいでしょうか
472 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 14:57:15.97 ] >>471 そういうことをやりたくなるってことは、リストが分かってないってこと。
473 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 19:27:28.75 ] 深いすなあ
474 名前:デフォルトの名無しさん [2011/12/12(月) 21:30:27.25 ] (set-cdr! (last-pair (caddr ls)) (cons ls7 '()))
475 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 22:17:16.53 ] (setq l '((1) (2 (3)))) (defun append-tail (l m) (append (list (first l)) (list (append (list (first (second l))) (list (append (second (second l)) m)))))) CL-USER> (append-tail l '(4)) ((1) (2 (3 4))) CL-USER> (append-tail (append-tail l '(4)) '(5)) ((1) (2 (3 4 5))) CL-USER> (append-tail (append-tail (append-tail l '(4)) '(5)) '(6)) ((1) (2 (3 4 5 6)))
476 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 22:24:46.15 ] >>474 意図した通りに動きました!ありがとうございます
477 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 22:31:47.17 ] >>475 副作用無しのその動作も魅力的です ありがとうございます
478 名前:475 mailto:sage [2011/12/12(月) 22:45:13.92 ] ちなみにこの形だとpush, popが使えて楽だよ。 CL-USER> (setq n '(((3) 2) (1))) CL-USER> (push 4 (first (first n))) (4 3) CL-USER> n (((4 3) 2) (1)) CL-USER> (push 5 (first (first n))) (5 4 3) CL-USER> (push 6 (first (first n))) (6 5 4 3) CL-USER> (push 7 (first (first n))) (7 6 5 4 3) CL-USER> n (((7 6 5 4 3) 2) (1)) CL-USER> (pop (first (first n))) 7 CL-USER> n (((6 5 4 3) 2) (1))
479 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 22:52:01.53 ] >>471 リストをひとつのオブジェクトに見立ててるように見えるけど、 そういう場合は、各要素へのアクセサを定義した方が良いよ。 単純になるし、保守性が良くなる。 あるいは、素直にクラスとか構造体、レコードで定義した方が楽。 単なる演習とかならどんな書き方しても良いと思うけど。
480 名前:475 mailto:sage [2011/12/12(月) 23:42:26.08 ] >>471 具体的に書いてよ。 中高一貫校の中学1年生が英作文の問題を必死こいて解いている子に関係代名詞を使うとシンプルな文章になって 読みやすいよと言われても語彙や文法を知らないのですよ。Web参考書は揃っているんだけどw
481 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 00:18:03.51 ] >>480 詳しく説明するのが面倒だった。食いついて来たら説明する予定だったけど。 てーか取り敢えず落ち着けよ。明後日の方向に弾飛んでんぞw (define (value-name v) (cadr v)) (define (value-value v) (caddr v)) (define (set-value-name! v x) (set-car! (cdr v) x)) (define (set-value-value! v x) (set-car! (cddr v) x)) (define *x* '(value "x" ())) (value-name *x*) ;=> "x" (value-value *x*) ;=> () (set-value-name! *x* "y") (set-value-value! *x* (append (value-value *x*) (list 0 1 2))) (value-name *x*) ;=> "y" (value-value *x*) ;=> (0 1 2) こういうイディオムのこと。クラスやレコードはそれらのWeb参考書読んでくれ。
482 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 00:23:05.99 ] いや、イディオムってのも変か。パターンとか常套手段でひとつ。 なんでもリスト使うようなプロトタイプを最初に作るときとか、 後でデータ構造を差し替えたり、コードの可読性を上げるためにやるでしょ?
483 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 00:47:15.15 ] Schemeで書いたのは、いじめか。 Python使いにRubyで答えればプログラマとしての幅も広がるし、良いことづくしだ。
484 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 00:52:58.74 ] ?
485 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 00:56:25.81 ] いやいやいやいや。>>474 の人もSchemeだけど、「動きました!」って言ってんじゃん! そもそもCommon LispともSchemeとも書いてないんだから。 マジレスすると、CLerだった場合はset-car!をrplacaに読み替えれば分かると思います。 普通は汎変数使うと思うけど。
486 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 03:25:02.31 ] schemeは教養だから CLerは当然schemeぐらい読めるから
487 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 07:57:52.15 ] Cは教養だから万行デバッキングできるよね
488 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 09:49:08.78 ] racketはset-car!がありません
489 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 09:50:25.93 ] set-mcar! があるだろ。
490 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 22:15:12.19 ] Lisp方言で良いなら教養としてarcで書くのもあり? gaucheに接近するかと思ったら全然ダメだな。 arc> (time (tarai 12 6 0)) ;; arc3.1 time: 11241 msec. arc> (time (tarai 13 7 0)) time: 83869 msec. > (time (tak 12 6 0)) ;; Racket cpu time: 197 real time: 197 gc time: 0 > (time (tak 13 7 0)) cpu time: 1480 real time: 1481 gc time: 0 > (time (tak 14 8 0)) cpu time: 11046 real time: 11047 gc time: 0 gosh> (time (tak 12 6 0)) ;;gauche ; real 0.715 ; user 0.710 ; sys 0.000 gosh> (time (tak 13 7 0)) ; real 5.214 ; user 5.220 ; sys 0.000 gosh> (time (tak 14 8 0)) ; real 38.301 ; user 38.060 ; sys 0.000
491 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 08:06:59.33 ] Racket 速いな。
492 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 09:29:29.96 ] そりゃ、JIT搭載だもの。 docs.racket-lang.org/guide/performance.html#%28part._.J.I.T%29
493 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 10:04:57.25 ] やだ Racket 格好いい……
494 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 13:17:09.14 ] 既出した気がするけどこういうのもあるよ。 ttp://www.cs.utah.edu/~mflatt/benchmarks-20100126/log1/Gambit_20benchmarks.html ttp://www.cs.utah.edu/~mflatt/benchmarks-20100126/log2/Benchmarks.html
495 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:59:12.22 ] 387 名前:デフォルトの名無しさん[sage] 投稿日:2011/11/28(月) 14:59:20.86 馬鹿はお前だろうw shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=racket&lang2=lua
496 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 17:39:51.40 ] lisp.soup.io/post/8879455/Still-from-Serial-Experiments-Lain-via-lain これって、life関数を呼び出すたびにworldを作っているのか…
497 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 18:37:41.57 ] >>488 sicpプラグインではあるけど、set-mcar!をエイリアスしてるみたい
498 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 21:43:56.97 ] Lisperがgcc on LinuxでCの手習いで何かの分野の処理をやるとしたら何の分野がいいかな? コーディングがマゾい奴はやりたくない。うひょー、コーディング楽しいって感じの週末にしたい。
499 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 22:48:59.80 ] LISPインタープリタの原始的なやつを作る。
500 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 23:05:37.17 ] つまらん
501 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/12/16(金) 23:17:28.13 ] そしてその LISP で本格的な LISP 処理系を作る。
502 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 23:20:12.36 ] つまらん
503 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 04:11:27.04 ] >>498 マルチ死ね
504 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 04:39:57.42 ] >>499 だからマゾいの嫌だって言っているでしょ。インタプリタならlispで書いた方が楽でしょ。 Cで文字列処理はしない方が良いと思っているんだけど、偏見かな。 >>501 つまらないし、目的がみえてこない。
505 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 04:47:17.36 ] 自分で考えたら?
506 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 04:55:38.30 ] >504 おまえは499を否定しているがハードウェアべったりの処理系でGC付き言語を組むとかなり楽しいのだが。 GCは奥が深いぞ
507 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 06:08:02.26 ] >>504 どうせなにも出来ないから黙っとけ。
508 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 13:38:40.94 ] >>504 マゾいのが嫌だっていうから原始的なやつって書いたのに。 そもそも手習いが目的なのに「〜の方が楽」とかアホだろ。
509 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 00:07:58.23 ] >>504 >Cで文字列処理はしない方が良いと思っているんだけど、偏見かな。 はい
510 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 00:19:37.39 ] 必要な時に出来ないのは、偏見ではなく無能。
511 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 02:03:36.80 ] プログラムを組むときに一番大事なのは用件を最短で満たせる適切な言語を選ぶことだけど プログラムを楽しく組む為に必要な事は「いつでも初心でいられる」事だと思っている そんなわけで>>504 はこの土日もグズグズすると感じてしまうのであった。 ;;;仕事でもプライベートでもプログラムを書くのを楽しくするコツは2行目ね
512 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 02:20:46.27 ] ずいぶん参考になった ほんとうにありがとう
513 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 07:27:48.68 ] schelogってGPLなの? schelogをrequireしたらソース公開しないといけないの?
514 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 09:12:28.02 ] wiki.call-cc.org/eggref/3/schelog これを見る限りではLGPL LGPLは(GPLも)プライベートな利用では何の条件も要求しない 頒布する場合に条件が要求されるが、具体的な条件はお前のコードとSchelogを「リンク」する方法による
515 名前:デフォルトの名無しさん [2011/12/19(月) 15:37:56.70 ] LLGPL(Lisp-LGPL)とBSDライセンスのそれぞれのライブラリを使うアプリケーションを作り (clispとsbclの2パターン) lisp処理系をインストールせずに使えるよう 実行バイナリ化して配布しようと思うのですが、 配布する際のライセンスは結局どうなるのでしょうか lisp処理系とライブラリのライセンスそれぞれの影響がよくわかりません 使うのは↓のライブラリです www.cliki.net/Clack www.cliki.net/CL-PPCRE
516 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 23:47:34.98 ] >>515 cl.cddddr.org/index.cgi?%E8%89%AF%E3%81%8F%E3%81%82%E3%82%8B%E8%B3%AA%E5%95%8F#H-2v8nnc63s7pll ライブラリについては、手を加えなければ、ライセンスに影響を与えない。 その場合、アプリケーションには自分の好きなライセンスを設定できる。 ただ、含まれるライブラリのバージョンのソースコードの入手手段の保証や、 それぞれのライブラリのライセンス本文の提示とかはしないといけないから、 その辺はしっかり対応しないといけない。 ClackはGitHubだから、対応するリビジョンのリンクでも明記しておいて、 あとはそれぞれのライブラリがどのライセンスを採用してるのかを明記して、 LLGPLとBSDライセンスの本文を含めれば良いんじゃないのかなー。あと著作権表示。
517 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:32:23.27 ] >>516 まさに探していた説明です アプリケーションには任意のライセンスを設定できるのですね そのうえで使ったライブラリのソースコードのありかとライセンスを表示する すべきことがわかりました
518 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 01:55:11.33 ] ということは biglooやgambit-CでGPLなライブラリをuseやrequireしたものをCに変換して Cをバイナリーにした場合はソース公開の義務はないってことでいいのかな
519 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 03:17:22.44 ] GPLはリンクの方法を区別しないから(少なくともFSFはそう思ってる)、 それ普通にGPLに感染すると思う。 www.gnu.org/licenses/gpl-faq.ja.html#IfLibraryIsGPL LGPLならライセンスは影響を受けないと思うけど、 静的リンクだから全ソースコード公開の義務はあると思う。 ja.wikipedia.org/wiki/GNU_Lesser_General_Public_License#LGPL.E3.81.AE.E7.89.B9.E5.BE.B4 LLGPLなら確か大丈夫なはず。ただ、ライブラリのコード配布は必須。 最後の段落。 opensource.franz.com/preamble.html
520 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 03:30:15.93 ] chickenはeggの分割コンパイルできるんじゃないの? 動的リンクにできそうな予感が
521 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 11:04:08.18 ] >>519 の最後のリンク先を見ると LLGPLのライブラリを静的リンクして実行ファイルを作った人は 使ったライブラリのソースコードを(公式サイトだけではなくて)独自に配布しなければならぬ こう理解したけどこれでいいのかな
522 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 12:04:43.34 ] プラグインとかならともかく 動的リンクでも根本機能として必要ならダメだよ 使うのをきっぱりやめた方が早い
523 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 12:38:42.75 ] >>520 できるの? 初めて聞いたんだけど
524 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 14:05:09.96 ] >>522 それはGPLの話(>>518 )だよな? LGPLの4.d(LGPLv3の場合)では「"Minimal Corresponding Source"と"Corresponding Application Code"の配布」と 「適切な共有ライブラリ機構の使用」のどちらか一つの実行が条件だから 後者を選択した場合はソースの配布は義務付けられないと思うが
525 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 16:01:16.33 ] >>521 入手できる手段を保証すれば大丈夫じゃないかな。アクセスできるかが重要なので。 自分は、GitHubとかなら特定リビジョンのリンクの提示だけでいけると解釈してる。 もちろん、配布元が閉鎖とかしちゃったら、自分で配布しなくちゃいけない。 この辺はGPLやLGPLの思想を汲んでおけば、そう大外しはしないと思う。 もちろん、会社の商売でやるなら法務と相談必須だけど。
526 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 16:23:32.92 ] 一応根拠補足。 LLGPLの最後の段落に"in accordance with the terms and conditions of the LGPL"とあり、 LGPLの6.dでソースコードを同等のアクセス手段、同じ場所で提供すれば良いとされているため。 ダウンロードページに両方のリンクを張っておけば、多分これを満たすと思う。 sourceforge.jp/projects/opensource/wiki/licenses%2FGNU_Library_or_Lesser_General_Public_License
527 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 16:52:20.72 ] 心配ならソースのzipを読み込んだコアを配布すれば? ある関数実行したらファイルに書きだすようにしといて。
528 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 16:57:29.14 ] そんな面倒なことするくらいなら、普通にソースも一緒に配布するだろ……。
529 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 17:08:30.14 ] 元のお題(>>515 )が実行ファイル一つだけにしたいというものだから。
530 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 17:16:51.41 ] READMEすら同梱できないとか、>>515 のどこにそんなストイックな条件が書いてんだよw まあ、ある意味そういうのも厨二心をくすぐられてwktkするけど。
531 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 17:43:22.27 ] 気になったんだけど、common lisp絡みの案件で ライセンス上問題となった事件は何かある? それとfranzがllgplをわざわざ設けた経由が知りたい llgplでなくて修正BSDで実用上十分だと思うんだけど 裏事情があるのかしら
532 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 18:11:50.54 ] ソースコードの再利用について考え方が全く違うもので十分という意味がわからない。
533 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 00:56:24.51 ] GPL系と商用のデュアルライセンスの話なのか?
534 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 06:11:56.89 ] 名言来たな。「LLGPLじゃなくて修正BSDで十分」 どうみてもコピーレフトへの宣戦布告です本当にありがとうございました。
535 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 06:53:08.91 ] GoogleがV8に修正BSDを採用した経由が知りたい 修正BSDでなくてUnlicenseで実用上十分だと思うんだけど 裏事情があるのかしら
536 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 12:12:10.46 ] >>531 修正BSDを開発者の視点から考えてみるといいよ 修正BSDでライセンスされているプログラムは、著作権表示の点をクリアすれば ソースコードを公開しなくてもいい そのプログラムを開発した人にとっては自分が作成したコードを見せなくていいが 他の開発者からするとそのプログラムのコードを見る機会がなくなる 誰にとってそのライセンスがいいものかは立ち位置によって変わることには 注意したほうがいいかも
537 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 14:13:00.71 ] >>536 >そのプログラムを開発した人にとっては自分が作成したコードを見せなくていいが いまどきスパゲッティコードを書いているわけでもないだろうよ。 >他の開発者からするとそのプログラムのコードを見る機会がなくなる 見る機会がなくなるのも嘘な気がするなあ。最新技術としての賞味期限過ぎたら 公開しようかなと考える人・団体はかなり存在するんじゃないの。 BSDスタイルライセンスの良いところは公開しない・するといつでも自由に切り替えられる ところだよ。
538 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 18:38:52.63 ] >>537 NDAで公開出来ない物があるからじゃろ、自分のコードが綺麗でないから公開したくないってのとは別の問題。
539 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 00:06:49.95 ] >>537 納入するときはツールを使ってわざとスパゲッティコードにしてる俺が来ましたよ
540 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 02:15:29.56 ] >>539 そのツールは可逆性があるの? 鍵がないとそのツールを使えば可逆できるなあ。
541 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 02:29:56.35 ] 何を言ってるんだお前は。
542 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 07:37:11.95 ] 立て続けに見当外れなことを言ってる奴は釣ってんのか?
543 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 13:00:00.91 ] >>539 マクロを全部展開するだけでもスパゲッティー化できるよね 前に見たbiglooのソースもあきらかにやってたし
544 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 17:16:02.39 ] おれもコードランダム化させるの作ったよ 自分でハックしてみたが方式が判ってても追跡困難だった もう二度とやりたくない
545 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 17:53:04.64 ] コードランダム化のコードを 誰か公開したりしらいいなあ