[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/17 12:59 / Filesize : 125 KB / Number-of Response : 513
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Lisp Scheme Part34



1 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:37:08.66 ]
Common Lisp、SchemeをはじめとするLisp族全般のスレです

■前スレ
Lisp Scheme Part33
toro.2ch.net/test/read.cgi/tech/1318150738/

■テンプレ
wiki.fdiary.net/lisp/

■関連スレ
【入門】Common Lisp その8【質問よろず】
hibari.2ch.net/test/read.cgi/tech/1309940115/

357 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 22:38:24.47 ]
ジャンルは違うが日本が誇る偉大なる日下部師も負けちゃいないぜ。

358 名前: ◆QZaw55cn4c mailto:sage [2012/04/04(水) 22:47:10.01 ]
>>357
それはどちらでみることができるのでしょうか?

359 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 01:36:12.72 ]
今は主にTwitterかね

360 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 04:25:53.87 ]
はつみみです

361 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 09:42:49.60 ]
ということにしたいのですね?

362 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 16:46:14.80 ]
n次元のリスト1つをつくりたいです
'(((2 2 2) (2 2 2)) ((4 4 4) (4 4 4)) ((6 6 6) (6 6 6)))
リストの内容はここでは一番外側のリストの順番に2をかけたものとします
(make-my-list (lambda (x) (* 2 x)) '(3 2 3))
このように引数を与えて上のようなリストをつくる関数orマクロはどうかけばよいですか
(use srfi-1)と(iota 3 1)をつかって(1 2 3)を作ったあとの処理が思いつきません

common lispならloopを重ねたうえでcollectを使えばなんとかなるきがするのですが
schemeの場合どこからどう手をつければいいかわかりません

363 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:10:30.94 ]
引数が何で結果を何にしたいのか
自分でしっかり決めてないからだと思うよ

364 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:11:28.49 ]
俺以外にも>>362が何言ってるのか分からない人がいて安心した

365 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:25:45.32 ]
(make-my-list (lambda (x) (* 2 x)) '(3 2 1))
(make-my-list (lambda (x) (* 2 x)) '(4 2 3))
(make-my-list (lambda (x) (x)) '(3 2 3))
の結果は?



366 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 18:40:54.71 ]
schene素人が作ってみた
(define (make-my-list proc l)
 (define (henna-list-tsukuruyo l x)
  (define num (car l))
  (if (null? (cdr l))
    (map (lambda _ x) (iota num))
    (map (lambda _ (henna-list-tsukuruyo (cdr l) x)) (iota num))))
 (map (lambda (x) (henna-list-tsukuruyo (cdr l) (proc x))) (iota (car l) 1)))
(write (make-my-list (lambda (x) (* 2 x)) '(3 2 3)))
> (((2 2 2) (2 2 2)) ((4 4 4) (4 4 4)) ((6 6 6) (6 6 6)))

367 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 19:27:43.96 ]
すみません
make-my-listの第一引数には一番外側のリストの順番に対して操作する関数を、
第二引数はリストをわたします。
第二引数のリストは、説明がしづらいのですが、1番目は生成されるリストのatomの数、2番目は1番目をいくつまとめるか、3番目は2番目をいくつまとめるか、という風になります

>>365
こうしたいです
>(make-my-list (lambda (x) (* 2 x)) '(3 2 1))
(
((2 2 2) (2 2 2))
)

>(make-my-list (lambda (x) (* 2 x)) '(4 2 3))
(
((2 2 2 2)(2 2 2 2))
((4 4 4 4)(4 4 4 4))
((6 6 6 6)(6 6 6 6))
)
>(make-my-list (lambda (x) (x)) '(3 2 3))
(
((1 1 1) (1 1 1))
((2 2 2) (2 2 2))
((3 3 3) (3 3 3))
)

368 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/13(金) 19:50:21.27 ]
>>367
部分的に共有構造になってるけどそれでもいいか?

(define (make-my-list p l)
(let ((n (car l))
(m (cadr l))
(z (caddr l)))
(map (lambda(x) (make-list m (make-list n (p x)))) (iota z 1))))

369 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 12:55:57.88 ]
ありがとうございます。

370 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 22:00:01.44 ]
質問です。プログラミングのコードって、Tabキーで解りやすくインデントがされますよね。

けれど、こういう掲示板にコードをコピペで張り付けると、インデントが全部消えちゃいます。

掲示板にコピペしても、インデントが残るようにするにはどうしたらいいんでしょうか。
ちなみにエディターはemacsです。

371 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 22:05:21.75 ]
気にしないでいいと思いますが
Pythonみたいなインデントに文法上の意味がある言語ならともかく
どうしてもというなら とか全角空白とか

372 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/16(月) 23:08:37.71 ]
>>370
このスレの住人なら emacs かそれに準ずる高機能エディタを使ってます。
それにコピペして数ストロークのコマンドでインデントは再現できます。
emacs なら C-x h でバッファ全体を選択した後に C-M-\ ですね。
なので、少なくともこのスレではあまり考えなくてかまいません。

>>371 の示す手順も掲示板のクセ次第です。
にちゃんねるでは通用しても掲示板の全てで通用するわけではないです。
見る側のブラウザやフォント指定次第では幅が合わずにやっぱり表示が崩れたりする上、
実際に実行させるために空白文字に戻す必要が生じてかえって手間だったりも。
それも数ストロークのコマンドで出来ますけど。

最近ではコードの断片を保存するサービスがいくつかあります。
そういうサイトを利用して掲示板には URL を貼り付けるといったこともよく行われています。
主なところでは、
ideone.com/
codepad.org/
codetter.com/
https://gist.github.com/
でしょうか。

各掲示板によって (にちゃんねるなら各スレごとに) だいたいの運用方法が暗黙に定着しているので、
過去のやりとりを参考にして下さい。

373 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 23:51:34.70 ]
Janeで見ているなら、レス番にアンカーがあればそこを右クリック
なければ選択状態にして右クリック

374 名前:370 mailto:sage [2012/04/17(火) 09:08:20.11 ]
>>372 動作確認(C-M-\)をしました。感動しました。マジでありがとう。

375 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 11:48:33.71 ]
>>370
2chでは行頭の半角スペース・Tab は何個あっても消える。

全角スペースならおk。



376 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 16:06:43.90 ]
dat上では消えてないから、専ブラで行頭空白保存する設定で使えばインデント復元できる。


377 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/18(水) 22:25:05.23 ]
Guile 2 って Windows で動かんの?

378 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:54:21.81 ]
Gauche0.9.3きちゃう?
これでGauche-tkも動く〜

379 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/21(土) 23:36:46.70 ]
Windows でスレッドが使えるようになったのが個人的にはかなりありがたい。
それと https 通信に stunnel が不要になったのもデカいかな。

リリースに向けた作業って地味に面倒でモチベーションを維持しにくいからそうすぐってわけでもないと思うな。

380 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 23:42:08.03 ]
まじか。Windows環境でもスレッドうごいちゃうの?ビルド環境ないんで 0.9.3 は wktk しながら待たせてもらいます。

381 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/21(土) 23:53:48.61 ]
そんなおまいらのために最新版を Windows 向けにビルドしてやったぞ。
www1.axfc.net/uploader/Ne/so/131324
Gauche-tk は入れといたけど tk そのものは別途インストールしてね。

382 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 01:08:43.25 ]
やだ…仕事はやい…
ありがとー

383 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 12:30:49.56 ]
なにこのキモイ流れ?

384 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 12:36:45.57 ]
河童のキモ流れ … 河童が肝を洗っているとうっかり流してしまいそのまま死ぬこと。 転じてキモがられて社会的に死ぬこと。

385 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 14:13:08.18 ]
ユーモアの欠片もないな



386 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 18:24:18.79 ]
すいません、質問です。
'((a b) c d)

(list (list 'a 'b) 'c 'd)
は、どこが違うんでしょうか?

387 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 18:48:39.11 ]
>>386
tips.lisp-users.org/scheme/index.cgi?%E3%83%AA%E3%82%B9%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B

388 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/04/28(土) 00:45:03.59 ]
>>386
C++ や Java の感覚で表現するなら前者はリテラルで後者はコンストラクタによってオブジェクトを作ってるイメージかなぁ。


389 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 02:16:59.90 ]
文字列と文字列の入った配列ぐらい違う

390 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 02:37:36.59 ]
>>389
いや、無理に参加しなくてもいいんだよ

391 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 03:11:40.27 ]
前者は処理系によっては変更不可属性を付けられてもおかしくない

392 名前:386 mailto:sage [2012/04/28(土) 08:23:46.72 ]
387みたけど、しっくりこない。
「quote を使うとリストを定数として書くことができる。」とか書いてあるけど

>(define symbol_1 '(1 2 3 4))
>ok
>(car symbol_1)
1
>(cdr symbol_1)
(2 3 4)
うーん、わかんない。symbol_1は定数なの?
(car 'symbol)をやってみると、
1st argument symbol to car not List object っていう風に怒られます。


393 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 08:39:01.76 ]
quoteは、渡されたS式をそもそもソースコードとして評価せずそのまま返す、という機能だよ

394 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 14:56:42.22 ]
>>392
CLで書いているけどこんな形で変わってくる
ttp://ideone.com/nT1Tr

quoteは読み込みのタイミングで一回だけリストを作っているけど、
listやconsなんかは評価ごとに新しいリストを作っている。

あと、もう一度symbol_1を評価してみれば分かるけど、
carやcdrはsymbol_1を変更してない。

395 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 21:03:13.31 ]
わかんない人は処理系のソースを読もうぜ
仕組みが一発でわかるぜ
このへんはLISPでLISP書いてもわかんないとこだぜ



396 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:10:46.39 ]
>>392
> (car 'symbol)をやってみると、
> 1st argument symbol to car not List object っていう風に怒られます。

readした後には[ car | [ symbol | nil ]]と言う二つのcons cellになってる。
[ car | [ quote | [ symbol | nil ]]]ではない。
carの引数がsymbolというシンボルオブジェクトなのだから、リストでないと怒られて当たり前。

397 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:51:05.97 ]
atomとlistとconsの違いも判ってないやつにquoteなんて教えても無駄

398 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:21:45.50 ]
うん、まあ判らないだろうなということ教えてるよね

399 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 05:15:35.89 ]
括弧で括った式
(関数 引数)
この形式は関数の適用を意味する
関数と引数は一度しか評価されない

括弧で囲った式には、関数ではない特殊形式も存在する
(特殊形式 引数)
特殊形式の引数が評価されるかは、その特殊形式によって決まる

引数の数は関数や特殊形式によって決まる

式(1 2 3 4)は、最初の要素が関数でも特殊形式でもないため、
評価するとエラーとなる

引用符の付いた式
'(1 2 3 4)は評価すると(1 2 3 4)が返る
'(1 2 3 4)は(quote (1 2 3 4))と書ける
quoteは特殊形式であり、
引数を評価せず、そのまま返すという機能を持つ

400 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 05:18:28.64 ]
(define symbol_1 '(1 2 3 4))
defineは特殊形式であり、右辺の式を評価した結果の別名を定義する
ここでは右辺の'(1 2 3 4)が評価され(1 2 3 4)となり、
symbol_1 → (1 2 3 4)という関連付けが行われる
symbol_1のようなシンボルは評価すると関連付けられた値を返す
式symbol_1を単体で評価すると(1 2 3 4)を返す

シンボルcarには関数が関連付けられており、
この関数はconsで作成された2値を格納するコンテナから、
最初の要素を返すという機能を持つ
式carを単体で評価するとその関数を返す

(car symbol_1)は上で説明した通り関数の適用であり、
symbol_1が評価され、その部分が(1 2 3 4)になり、
同時にcarが評価され、その部分が関数になる
それぞれの評価が終わるとcarの関数が適用され、
(1 2 3 4)の最初の要素の1が返る

401 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 05:27:06.74 ]
carの関数適用までが終わると、
式(car symbol_1)のすべての評価が終わったことになり、
結果を表示した後、次の式へ移るか、入力待ち状態になる
この一連の流れをread-eval-print-loop(REPL)という

402 名前:392 mailto:sage [2012/04/29(日) 14:57:46.86 ]
わかりました。すごくありがとう。

carに束縛された関数が評価されるのと同時に、
symbol_1が評価されて(1 2 3 4)が返り、

(1 2 3 4)は、carに束縛された関数に渡されるから、
>(car (1 2 3 4))
>1
となるわけね。みんな、ほんとうにありがとう。

403 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 00:07:01.81 ]
本屋で「scheme手習い」と「scheme修行」がScalaのコーナーにあったんで
Lispコーナーに移してきた。


404 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:13:09.57 ]
俺も分離状態にあった『手習い』と『修行』をセットにしておいた。

405 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 18:43:33.28 ]
プログラミングGaucheがscheme関連の良書だと気付かれてないのはどうすれば良いの



406 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 20:31:54.05 ]
>>405
第4部がつまんないからだろ?
その他の部分はありきたりの言語入門書と大して変わらんし…


407 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 20:55:25.75 ]
ありきたりと言うが、schemeにはまっとうな言語入門書が他にないじゃん

408 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 21:17:48.45 ]
入門書は必要ないだろ

409 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/01(火) 21:21:41.12 ]
前にも書いたような気がするが、言語そのものに関する解説はケント・ディヴィグの「プログラミング言語SCHEME」が一番まともだと思う。
このレベルなら入門者にも充分に理解できる範囲だと思うし。
が、俺はだいぶん後になってから読んだので本当に入門に適しているかどうかわかんね。

410 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 22:17:12.12 ]
「プログラミング言語SCHEME」が入門者用だと?ふざけんな!
若い頃あれよんで、あまりのストイックさに泣いたわ。

411 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 22:53:15.92 ]
今なら『Scheme手習い』も『Scheme修行』も本屋に行けばあるだろうが。

これで岩波コンピュータサイエンスの『Scheme入門』も再版されたら文句なしなのだが。

412 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 23:03:21.11 ]
岩波のcommon lisp入門は持っているけど
schemeの方はどんな感じ?

413 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 23:11:06.87 ]
>>405
半年強ぐらい前に日本語ネイティブな入門書として勧めたら、環境構築か忘れたけど何か欠けてるという指摘があった。

その時節電で止まってたオンライン版はみられる状態になってた。
karetta.jp/book/programming-gauche

414 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/01(火) 23:41:52.38 ]
>>410-411
手習いと修行は問題集みたいな感じだと思うけどな。
何もしらないところから手探りで問題を問いていく内に
Scheme への理解へも深まっている、というようなコンセプト。
それはそれで入門書としてよく出来てるいい本だと思うけど、
「言語」が前面に出てるのは「プログラミング言語SCHEME」
じゃないかという感じ。 やっぱ一番最初に読む本では無いかなぁ。

415 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 04:24:10.08 ]
>>414
俺はネットで公開してる原著の方でScheme入門したけどすんなり読めたよ。
プログラミング言語そのものが初心者という人向けではないけど
Javaなり何なりわかってる人がSchemeを扱えるようになるには平易でいい。



416 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/06(日) 22:23:10.69 ]
>>378
リリースに向けた作業が大詰めに入ってる模様。

417 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:40:20.76 ]
>>416
おー
msysで野良ビルドしちゃる
exeで勝手にインスコされるようなのは嫌なんよね

418 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 02:32:53.29 ]
gaucheはぜひネイティブコンパイルを実装してほしい


419 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 05:12:40.78 ]
以前、試しにJITコンパイラまでなら実装してみたけど、
保守コストとのトレードオフで採用は難しいみたいな話してなかったっけ?
ほぼひとりで開発してる上に本業もあるわけだし、時間足りんでしょう。

420 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 07:05:34.34 ]
CPUは1つじゃないからな
ARMなんかは複数命令混ざってるから
JIT専門業者がいたら丸投げした方がいい

421 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 09:17:19.99 ]
ネイティブコンパイル信仰者は、まずは既存のコンパイラをちゃんと調べて、
どういうpros-consがあるかちゃんと示せばいいのに、なんで「ネイティブネイティブ」って
うわごとのようにくりかえすだけなんだろうか。

StalinとかChickenとか既にあるんだから。

422 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 09:44:36.96 ]
gaucheが良いけどネイティブでないのが不満なのでは。
自分用にgaucheで書いたのを、配布段階でD言語で書き直した経験がある。
一般人への処理系インストールサポートは無理だった。

423 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:40:46.38 ]
動的型がどうしよもない
ネイティブ化してもスレッデドコードに毛が生えた程度
ボトルネックをなんとかしないと個人でやる限界に近い

424 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:32:42.66 ]
配布だけの問題ならちょっとした工夫でなんとかなるだろ。
形式だけ exe になってりゃいいって言うなら mingw-exify が使えるし、
プリコンパイルしておけば速度も多少は改善できる。
もともとスクリプト言語として使う分には充分すぎる速さだしな。

いずれにしても配布しにくいという問題については考えているところみたいなので、
blog.practical-scheme.net/shiro?20120506-being-used
どういう解決がいいのか希望があれば今の内に提案すれば方向性に
影響を与えられるかもしれないよ。

425 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 13:29:19.90 ]
all in one な exe ファイルが欲しい、ということなら全く別の話だね



426 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 13:58:13.39 ]
元のexe欲しいって話からは外れていっていると思うけれど、
>>424
そこに書いてある配布は、処理系自身の問題で。
>>422の言っているのはアプリの話でしょ。

最近、スクリプト系は、
処理系自身がコード配布も含めたパッケージシステム持つのが多いよね。
WindowsもMacも、aptみたいに依存関係まで管理するオープンな機構がないから。

node.jsはnpmってのが出来た。
ただ事前にnode.js, python, gitをインストールしなければいけない。
schemeで全部書いて配布に含めることである程度解決できるんじゃないか。
R(r-project.org)は配布に含まれてる。そしてCRANからインストール。

427 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 14:29:13.64 ]
最適化の話でなくてexeにするだけなら難易度はかなり低い
gaucheもできたような
つーかexeにしたいなんて誰か書いたか?

428 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 16:53:39.03 ]
>>426
gaucheも gauche-package install <URL> で一応webから直接インストールできる。
依存関係はみてくれないみたいだし、CPANみたいに一ヶ所にまとまっててほしいけど。


429 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 17:00:58.33 ]
やっぱり芋づる式にインストールしたいね。

430 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 20:31:22.63 ]
処理系やライブラリをインストールしてもらうのって難しいからな。
CUIを使うと壊れると思ってやがる。GUIのパッケージ管理システムも欲しい。

431 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 21:07:41.24 ]
Rは、R commandarってGUIラッパーもパッケージとして配布されてる。

432 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 21:16:37.47 ]
py2exeならぬgo2exeか

433 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/08(火) 21:46:15.10 ]
>>426
そもそも >>422 がネイティブコードが欲しい理由は処理系のインストールをサポートすることにネックがあると述べている。
ここではネイティブコードにするのは処理系のインストールの手間を無くす手段のひとつとしてやっているので、
処理系のインストールが充分に簡単、あるいは意識されないならばネイティブコードにする必要もなかったことになる。
確かにそれぞれ処理系の話とアプリケーションの話だけど根は同じだよ。


434 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/08(火) 21:47:32.52 ]
>>427
> 最適化の話でなくてexeにするだけなら難易度はかなり低い
> gaucheもできたような

mingw-exify だな。 コードを文字列のままくっつけるだけだけど。
速度が要る場合にはライブラリをプリコンパイルする仕組 (gencomp) を使えばちょっと速くなるし最適化も
普通にスクリプトをロードするよりはちょっと強くかかるはず。

> つーかexeにしたいなんて誰か書いたか?

exe を作らずにネイティブコンパイルする実行モデルに慣れてない人が
ネイティブコンパイル = exe を作ると理解したんじゃない?

435 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 21:55:55.75 ]
>>432
exeじゃなくてhellじゃなかろか、extension名




436 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:02:13.79 ]
mingw-exifyっての使えば数メガバイトで
普通のexeアプリのようにschemeアプリを配布できるの?

437 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/08(火) 22:06:36.70 ]
>>436
Gauche のライブラリがいずれにせよ必要なので単一の exe に出来るわけではない。
windows 用 gauche のパッケージに入ってる gauche-install.exe 等は mingw-exify によって処理して
作っているのでソース読めば意味がわかるよ。

438 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:56:15.91 ]
delphiだって糞でかいランタイムが必要なんだぜ
気にすんな

439 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/08(火) 23:04:26.33 ]
まったくだ。

440 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:28:39.38 ]
むしろ、Gaucheのバイナリ用ランタイム作ればいいのに
配布して終わりの形にできないと、作っても売れないのでおもちゃの域を出ない

441 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/08(火) 23:47:14.53 ]
dll 類はともかく、 scm ファイルが多すぎるな。
zip にまとめたアーカイブから直接ロードする機能の提案はあったので、コア付近で実装すれば scm を全部アーカイブしてしまえるかも。
zip からロードする拡張パッケージはあるけど、それが依存しているライブラリを zip に入れるわけにはいかないので、
本格的にやろうとすると Gauche 本体で対応する必要はあると思う。

442 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 00:31:32.02 ]
でも、そこまでできるようになったら
scheme処理系の中でも群を抜いて使われるようになると思う

443 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 04:49:51.25 ]
でもdllは実行時までに別ファイルになってないとならないだろ? 実行前に展開してもらう
なら、アプリとGauche一式をzipで配っても同じことのような気もするんだが。
どうしてもexeひとつがいいなら、自己解凍アーカイブにしてexeをクリックしたら
一時ディレクトリに展開してアプリ起動する、とか?

444 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 21:11:32.34 ]
>>433
それが困る理由は、メモ帳で改造できちゃうこと

445 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 21:32:56.06 ]
>>444
オープンソース派から見ればむしろ望ましい。



446 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 21:39:11.08 ]
秘密がないと金にならない

447 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 22:20:58.23 ]
現実は厳しいんだな

448 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 02:47:58.65 ]
ゴミみたいなネイティブコードバックエンドなら
ちょっと頑張れば実装できるだろうけど
難読化のために機械語を使うのは正しいのか……?

449 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 03:10:09.28 ]
gaucheのwilikiで
bad type of argument for str: #<<regmatch> ほにゃらら>というエラーメッセージが出たら、
編集ボタンが消えてしまい、そのページを編集することができなくなってしまいました
データそのものは消えていないと思うのですが、どうすればよいのでしょうか。

450 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 03:34:20.49 ]
ソース配布が嫌ってだけなら今でもVMコードをdllにできるでしょ (Gauche本体のビルド時にやってる)
非公式みたいだけど。

451 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 09:06:02.53 ]
>>449 practocal-schemeのwilikiならこんな所に書いたりせず、Shiroさんに連絡汁

452 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 09:07:29.26 ]
>>451
そうですね。そうします。

453 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/05/10(木) 18:53:41.68 ]
Gauche 0.9.3 キター

454 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 19:39:47.88 ]
WinのPortable版が来るらしいぞ。配布がかなり楽になるな。

455 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 22:28:50.49 ]
お、来たのか



456 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 22:42:12.60 ]
chatonでshiroさんが投稿しているね。
sourceforge.net/projects/gauche/files/Gauche-mingw/Gauche-mingw-0.9.3.zip/download
素晴らしい。これでusbメモリに入れて持ち運べる。

457 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 23:24:22.05 ]
おいらは今cygwinでビルド中
こいつが終わったらmsysのもやんなきゃ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<125KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef