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


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

Lisp Scheme Part18



1 名前:デフォルトの名無しさん [2007/08/12(日) 21:38:15 ]
過去スレ
Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html

463 名前:デフォルトの名無しさん [2007/10/16(火) 14:20:44 ]
やっぱりできないんで、答えお願いしてもいいですか

464 名前:デフォルトの名無しさん [2007/10/16(火) 14:25:18 ]
やっぱりできないんで、答えお願いしてもいいですか

465 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 14:31:04 ]
>>258
r6rsでは、
> Characters are objects that represent Unicode scalar values.

ちょっと困ったのが、stringはseqence of characterだから、
サロゲートペアを含めるには、stringじゃなくてbytevectorにしないと、
r6rs準拠にならない。

466 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 14:31:59 ]
>>463>>464
宿題スレに行け。

467 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 16:27:15 ]
>>465
なんで?
文字を素直に UCS-4 にしてしまえばいいじゃないか。

468 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 17:08:54 ]
それじゃ「Unicode scalar values」じゃなくなってしまう。


> (integer->char sv) procedure
>
> Sv must be a Unicode scalar value,
> i.e., a non-negative exact integer object
> in [0, #xD7FF] ∪ [#xE000, #x10FFFF].

469 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 17:31:53 ]
いや、サロゲートペアなんてのが出てくるのは UTF-16 をそのまま 16bit 値として
扱った場合だけでしょ。
string の内部形式として UTF-32 を使ってればそもそも気にする必要はないし、
内部形式に UTF-16 を使っていたとしても、char アクセス時にそれなりに変換
すればいい。
内部形式を UTF-16 にした string で、それをナイーブに char の配列として
実装しちゃいかんというだけのように読めるけどなあ。

470 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 18:05:26 ]
UTF-16とかUTF-32とか関係ないです。
R6RSの文字は"Unicode scalar value"を表現します。
またR6RSに従うならそれしかできません。
"Unicode scalar value"はちゃんとした定義のある言葉です。

471 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 20:10:07 ]
サロゲートペアってのは UTF-16 でしか使われないんだから、UTF-16 と無関係
なわけないじゃないか。
たとえば、U+2000B は UTF-16 で 0xD840 0xDC0B というサロゲートペアで
表されるけど、U+D840 や U+DC0B なんて文字があるわけではない。

あんたが (string (integer->char #xD840) (integer->char #xDC0B)) ができないって
言ってるみたいだから、俺は (string (integer->char #x2000B)) すればいいって
言ってるんだけど、何か勘違いしてる?



472 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 02:12:21 ]
468で既に自分が何言ってるのかわかってないことを暴露している奴に、
そんな親切につきあわなくても……。もはやスレ違い同然。

473 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 12:30:18 ]
Schemeのリスト操作関数について質問です。
Webでサンプルコードとかを検索すると、n番目のリストを参照するための
オペレーターとしてlist-refという名前の関数がよく使われてるっぽいんですが、
これに対応するlist-set!がみつかりませんでした。
ペアに対してのオペレーター(car cdr set-car! set-cdr!)は標準でありますが、
リストに対しては整備されてないんでしょうか。
↓みたいなのがSRFIとかで定義されていればそれを使いたいのですが。

;n番目以降の部分リストを返す
(define (list-tail l n) (if (zero? n) l (list-tail (cdr l) (- n 1))))
;n番目の要素を返す
(define (list-ref l n) (car (list-tail l n)))
; 破壊版 set
(define (list-set! l n obj) (set-car! (list-tail l n) obj) l)
; 非破壊版 set (list-replace?)
(define (list-set l n obj)
(let loop ((i 0) (x l) (r '()))
(if (pair? x)
(if (= i n)
(loop (+ i 1) (cdr x) (cons obj r))
(loop (+ i 1) (cdr x) (cons (car x) r)))
(reverse r))))

474 名前:473 mailto:sage [2007/10/17(水) 12:40:14 ]
ちょっと今調べたらlist-tailとlist-refはR5RSにあるみたいですが
list-set!やlist-set相当はありませんでした。

475 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 14:01:40 ]
そんな操作を使いまくるようならベクタを使う気がする。

476 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 19:55:25 ]
魔法言語リリカル☆Lispフリーウェア化
blog.bugyo.tk/lyrical/2007/10/post_40.html


477 名前:473 mailto:sage [2007/10/18(木) 00:18:00 ]
効率の話はともかくとして、list-setみたいなパターンはよく使うと思うんですが。
インターフェースを揃えておく利点として、他のコンテナに簡単に移行できる
という今更語るまでもなくCLや他の言語でも証明されてる事ですし。
takeやdropはSRFIで定義されてるのに不思議ですね。

478 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 00:23:43 ]
欲しいと思ったことないけどな。
ランダムアクセスするなら >>475 の言うようにベクタを使うべきなんじゃないの?

479 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:17:33 ]
>>478
〜するべき、とかの話はおいといて、
例えばプロトタイピグとかでコンテナをいちいち決めたくないと思いませんか。
list-set相当の処理は入るけど大部分が副作用なしのリスト処理の場合とか。



480 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:22:37 ]
正直言って思わない。1分で作れるし。

481 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:23:49 ]
setfみたいのならいいけど、
〜-set!が、コンテナの数だけあるのも、なんだかな。

やっぱOOが必要なんだろうけど、
プログラミング業界で一番OOに盛り上がりがないからな。
CLOSの頃と違って。



482 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:29:42 ]
とりあえずlist-set相当は無いらしいという事は判ったので
この話は終わりますね。

>>481
OOというよりイディオムとしてのインターフェースは統一した方が
判りやすいと考えてるんですが。(今のところOOは必要と思ったことないです)

483 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:32:39 ]
>>480みたいな人が多くて、
方言上等!みたいなのがこの世界です。

484 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 04:11:35 ]
君が思ってるほどよく使われるイディオムでは無いってこと。ベクタってものがあるから。

485 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 05:03:08 ]
>>481
setf 的な set! だったら srfi にあるね。
srfi.schemers.org/srfi-17/srfi-17.html

486 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 09:39:14 ]
>>482
> (今のところOOは必要と思ったことないです)

今のところlist-set!は必要と思ったことないです



487 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:45:40 ]
クラス作ってどうこうのOOじゃなくて、MP的な意味でのOOじゃだめなの?

488 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 17:53:16 ]
MPってなんや

489 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:20:21 ]
Meta Programmingちゃいまっか?

490 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 19:15:23 ]
MP = Message Passing

491 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 19:46:49 ]
Magic Point



492 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:33:35 ]
もっとぷにぷにして

493 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:34:45 ]
マッスルパワーだろ、常考

494 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:56:36 ]
『みじめな ポインター』じゃねーの?

495 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:30:32 ]
もぷー

496 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:38:49 ]
お前ら何言ってるんだ。
「Mですか?」の略だろ。LISP的に考えて。

497 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:17:01 ]
My Program?

498 名前:oWlyiBCrkzVQNj mailto:fzjqnf@zedulo.com [2007/10/19(金) 04:20:45 ]
KXW9XK <a href="nycokewromgk.com/">nycokewromgk</a>, [url=bezgtedzkmkl.com/]bezgtedzkmkl[/url], [link=ckqlcozchtel.com/]ckqlcozchtel[/link], mtedzghiaczp.com/

499 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 16:40:57 ]
バカな流れになるとこれが沸いてくるのはなんでだ

500 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 21:58:19 ]
偶然です

501 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 01:49:22 ]
以前、このスレ(だっけ)でも話題になった、eclipse用のslimeの様なもの。
swank backend を使った、開発環境が、取り上げられています。

ttp://www.ibm.com/developerworks/library/os-eclipse-lispcusp/index.html

screen shotを見る限りでは、現時点でも、ずいぶんイケてるっぽいです。

わたしは、eclipse環境を使ってないので、今すぐに試す気はしませんが、
補完候補が、GUIで縦に表示されるのを、そのうち味わってみたいです。



502 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 14:23:53 ]
Schemeってなんか使いやすくないですか?

503 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 23:05:43 ]
そうですね

504 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 23:49:33 ]
だよね

505 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 00:30:44 ]
やっぱりね

506 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 01:03:12 ]
でもそんなの関係ねー

507 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 20:39:42 ]
はい、おっぱっぴー

508 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 23:30:00 ]
前にもそういう一発系のネタあったよね。
どんなだったか忘れちゃったけど。
LISPの永続性と真逆の関係だね。

509 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 22:16:11 ]
YコンビネータってなんでY ?
「ワイはコンビネーターや」ってことかい?

510 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 23:57:15 ]
そんなあほな

511 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 03:00:23 ]
「ワイは猿や!コンビネーター猿や!」
「必殺、包み包み!」



512 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 12:20:54 ]
なにゆうてまんねん

513 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 18:13:59 ]
ポール・グレアムが耳だけ出した覆面かぶってるって話

514 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 01:41:26 ]
>>513
それはポール大好きグラハム・ちゃっぷまん@世界の料理ショーじゃまいか?

515 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 13:57:51 ]
グラハム・カー@世界の料理ショー
ビリー・グラハム@テレビ宣教師

516 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:37:32 ]
このスレは勉強になります

517 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 11:46:07 ]
うそをつかないでください

518 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 12:25:45 ]
グラハム・ボネット@横山やすし

519 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 20:31:26 ]
r6rsってスタンダードになれなさそうだよねぇ
後始末が面倒くさそう

520 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 22:28:03 ]
Cltl3はまだですか?

521 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 00:05:28 ]
君が書くんだ



522 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 07:33:45 ]
電話帳なみにぶ厚い仕様書を頼む

523 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 10:32:29 ]
黒板に書けば1枚でも分厚いよ

524 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 12:31:12 ]
うちの村の電話帳は薄いよ

525 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 17:33:45 ]
>>520
アレをかける人で執筆時間がとれる人いるんだろうか。


526 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 19:22:26 ]
GLSを拉致して・・・

527 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 23:24:20 ]
3冊ほどLisp本キボン


528 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 01:08:37 ]
Common Lisp the Language, 2nd Edition
On Lisp
Practical Common Lisp

529 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 04:27:03 ]
入門書がないのはナゼ。

530 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 07:48:55 ]
始めるならschemeがいいよ
CLはつまんない制約ばっかりで最初は滅入るから

531 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 12:53:03 ]
>>529
入門は一生に一度だけだから、比較的マイナーな分野だと言えよう



532 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 12:53:34 ]
>>530
そんなこたあない

533 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 14:09:03 ]
>>531
そんなこたあない


534 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 14:28:16 ]
>>528
thx
>>534-
他の皆さんは?(・∀・ )っ/凵 ⌒☆チンチン


535 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 22:25:23 ]
>>531
BSD類のインストーラに凝ったものが無い、というのと同じような気がする

536 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 23:23:43 ]
ttp://www.hi-ho.ne.jp/a_ogawa/oedit/

・マクロ(schemeインタプリタ)を実装

だって。


537 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 05:04:00 ]
>>535
浦島かよ。
PC-BSDのインストーラはLinuxみたいに凝ってるし、
FreeBSDも7からGUIインストーラが用意される予定。

538 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 09:16:35 ]
予定に過ぎないのであれば大筋合ってるじゃん

539 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 09:35:42 ]
>>537
OpenBSDのインストーラは最後の砦だw

540 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 12:11:48 ]
>>537
浦島かよ。
FreeBSDのGUIインストーラは7に入らないことが決定済み。

541 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 12:20:59 ]
もまえら、Unix板に返れ。




542 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 16:33:01 ]
もまえら、Unix板に変えれ。

543 名前:デフォルトの名無しさん [2007/11/06(火) 22:29:14 ]
SFUが.NETみたいに標準搭載になればいいのにねえ。
WinFXでWin32を順次置き換えていくらしいから、
もう既にWin32で囲い込みする必要もないだろうに。
サポートの手間がメンドクサイからまあ、なさそうだけど。


544 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 22:45:05 ]
マイクロカーネルだって事を M$ 自身が忘れてしまっている

545 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:20:35 ]
>>543
なぜこのスレで書いてるのか知らんが、Windows Vista では
Enterprise、Ultimate 版に SFU の後継である SUA が載ってるよ。

546 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 14:26:53 ]
slime専用sbcl coreをmake一発で作りたいとおもい、
sbcl-core:
rm -f ${SBCL_CORE}
sbcl <<EOF
(load "${SRC_DIR}/${PACKAGE_NAME}/swank-loader.lisp")
(save-lisp-and-die "${SBCL_CORE}")
EOF
としてみたのですがうまくいきません
どうしたらよいでしょうか。

547 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 18:49:20 ]
エラーメッセージは?

makeの継続行は最後に\
here documentでは必要ないが、
makeは一行で1 shell script。行継続しないと。ってことかな?

548 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 02:50:15 ]
schemeで
common lispの
(let ((count 0))
 (defun increment ..
 (defun decrement ..

のような処理をしたい場合はどうすればいいのでしょうか?

549 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 04:32:17 ]
>>548
(define inc #f)
(define dec #f)
(let ((count 0))
  (set! inc (lambda ...))
  (set! dec (lambda ...)))

550 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 20:42:17 ]
>>549
schemeの理論をそれほどちゃんと理解しているわけじゃないが、
厳密に言えばincrementをlambdaに束縛するのがincrementを呼ぶ前に
行われるとは限らないんじゃないか?

551 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 21:52:25 ]
(let ((count 0))
 (define inc (lambda ...))
 (define dec (lambda ...)))
ってできないの?



552 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 23:42:14 ]
最近勉強始めたんだけどschemeで作るプログラムのアーキテクチャが全然想像できない
オブジェクト指向だったらMMVCとかあるけどschemeでオブジェクト指向やってもうれしくもなんともないし

553 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:06:31 ]
うれしくなければやらなければいい。

>>551
r5rs - 5.2.2 Interanal Definition

554 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:12:47 ]
初心者で質問なんだけど、手続きが可変長引数を取るとき、
その全てを引数として他の可変長引数を取る手続きに渡すにはどうすれば良い?

(define (f1 . x)
x)
(define (f2 . x)
(f1 x))
(f2 1 2 3 4 5 6) ; ((1 2 3 4 5 6))になっちゃう(1 2 3 4 5 6)にしたい


555 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:20:39 ]
(apply f1 x)

556 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:24:09 ]
>>555
ありがとー

557 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:27:48 ]
>>552
scheme とか lisp には言語を自由に拡張できるマクロが...
なので
> プログラムのアーキテクチャ
てなものを考えてもしょうがないと思うけど...

「特定の言語とかモデルに捕らわれないで問題領域解決用の専用言語を作る」
のが lisp 系言語の流儀だと思う.



558 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:38:39 ]
Lisp : 粘土
Java : 煉瓦
Ruby : 絵の具

559 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:42:26 ]
俺言語とかDSLを作らなくても最終目的に向かう途中で実行系自体がDSLみたいな状態になる。
プログラムを作るというより実行系の環境を最終目的物に書き換えていくみたいな感じ。

粘土細工作るときの作業台全体みたいな物だと思ってるんだけどどうなんだろう。


560 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:42:57 ]
うわ、くだらねぇもの書いている間にシンプルなお答えが orz


561 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 02:20:03 ]
その点、haskellとかocamlとかどー考えてんだろ



562 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 02:44:35 ]
Haskell 実行する前に問題解決

563 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 07:59:36 ]
>>551
出来る
けど内部定義のdefineだから
グローバルな束縛にならない

一方set!なら可視な束縛の変更だから
グローバルな環境の変更もできる

553がシンプルな答えだけど






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

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

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