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


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

CommonLisp Scheme Part10



1 名前:デフォルトの名無しさん mailto:sage [04/02/01 19:10]
過去スレ
Part1: piza2.2ch.net/tech/kako/987/987169286.html
Part2: pc.2ch.net/test/read.cgi/tech/1002584344/
Part3: pc.2ch.net/test/read.cgi/tech/1008220265/
Part4: pc.2ch.net/test/read.cgi/tech/1016211619/
Part5: pc3.2ch.net/test/read.cgi/tech/1023091882/
Part6: pc3.2ch.net/test/read.cgi/tech/1031560687/
Part7: ruku.qp.tc/dat2ch/0311/20/1042167213.html
Part8: pc2.2ch.net/test/read.cgi/tech/1058263391/
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/

前、"Schemeスレはあるのになんでcommonlispスレはないの?"とか言って別のスレを建てた大馬鹿者がいたので、
標題にCommonLispと付けておきました。
Lispの話題でCommonLisp,Scheme,EmacsLisp(専用スレッドがある)以外のものが出ることはこのスレの歴史上でも
稀なので問題はほとんどないかと思います。

関連リンクは>>2-10あたり


577 名前:デフォルトの名無しさん mailto:sage [04/06/10 08:50]
>>565
その書き方のまま、高度なキャッシングをするよう最適化するような処理系があったらうれしいな。
仕様としては、R*RSには入らないだろうけどSRFIになら入りそう。
でもこれは夢のような技術っぽい。

578 名前:デフォルトの名無しさん [04/06/10 11:08]
Schemeは、どれをDLすればいいんだ?

579 名前:デフォルトの名無しさん [04/06/10 12:07]
>>576 ありがとうございます。
mitpress.mit.edu/sicp/full-text/book/book-Z-H-22.html#%_sec_3.3.3
www.geocities.co.jp/SiliconValley-PaloAlto/7043/index.html#memoize
を参考にして、以下のコードを書いてみました。

(define (memoize proc)
 (let ((cache '()))
  (lambda args
   (let ((hit (assoc args cache)))
    (if hit (cdr hit)
      (let ((result (apply proc args)))
       (set! cache (cons (cons args result) cache))
       result))))))

(define memo-fib
 (memoize (lambda (n)
       (if (< n 2)
         1
         (+ (memo-fib (- n 1))
          (memo-fib (- n 2)))))))

大変うまくいきました。コードはほぼ定義どおりで、しかも (memo-fib 10000)でも
即時に演算が終わるようになりました。memoize って素晴らしいです。

数年前、Java で数値計算をしていて、再帰で書いたら同じ問題に遭遇して、仕方なく
ループで書き直したことがあります。あのときに memoize を知っていたらなあ。

mitpress.mit.edu/sicp/full-text/book/book-Z-H-11.html#%_sec_1.2.4
は私には難しいので、時間をかけて考えてみます。


ということで皆さま、いろいろありがとうございました。

580 名前:デフォルトの名無しさん mailto:sage [04/06/10 18:05]
>>578
www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html
ここに処理系のリンク先あり

Windowsなら
  DrScheme 
  あるいは
  Petite Chez Scheme + ChezEdit
が簡単

581 名前:デフォルトの名無しさん mailto:sage [04/06/10 20:34]
>>580 ありがとう
DrSchemeを入れてみました。
40Mってのには驚きましたよ。


582 名前:デフォルトの名無しさん [04/06/10 23:26]
今日のセミナーに参加した人いる?
午前中は完全に雑談だった。せっかく早起きしたのにちょっと鬱。
明日に期待しよう。

583 名前:デフォルトの名無しさん mailto:sage [04/06/11 00:22]
>>582
まあそう言うな、生CEO や生和田先生や生Shiroさんが見れただけでもオレは満足だ
もっとちゃんと時間をとって役に立つ話をやって欲しいとは思ったけど


584 名前:デフォルトの名無しさん mailto:sage [04/06/11 07:17]
>>582, 583
漏れ行きたくても行けない地方在住者。
レポートキボンヌ!キボンヌ!

585 名前:デフォルトの名無しさん mailto:sage [04/06/11 09:17]
www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Seminar%3aCommonLisp



586 名前:デフォルトの名無しさん mailto:sage [04/06/11 23:12]
CL-USER(2): (require :regexp2)
; Fast loading /opt/franz/acl70b/code/regexp2.fasl
;;; Installing regexp2 patch, version 0
; yacc constructing #<GRAMMAR-CLASS REGEXP> ...
; Finished
T
CL-USER(3):

regexp2キター

587 名前:デフォルトの名無しさん [04/06/12 01:07]
これからはJavaよりもLispだと確信しました。
しかしACLの値段は高いのお…

588 名前:デフォルトの名無しさん mailto:sage [04/06/12 01:07]
現在プログラム板にはHSP関連スレに凶悪な荒らしどもが住みついています。

・HSPに関係の無い話題でスレッドを上げまくる
・HSPオフィシャルサイトの住人を名指しで誹謗中傷する
・重複スレを乱立させる

などの荒らし行為を行っています。
みんなで団結してム板のゴミどもを追い出しませんか?

【HSP関連スレ】
【皆のレイプ魔】HSP初質P25【WWEヲタ=ハゲ】
pc5.2ch.net/test/read.cgi/tech/1086878505/
HSP>>>>>>>>>>>>>C=糞w
pc5.2ch.net/test/read.cgi/tech/1071899663/
今日もどこかでHSP初心者が質問ですP19
pc5.2ch.net/test/read.cgi/tech/1084089079/
HSPについて
pc5.2ch.net/test/read.cgi/tech/1085149790/

589 名前:デフォルトの名無しさん mailto:sage [04/06/12 08:47]
scmutilsについて教えてくだされ。
Structure and Interpretation of Classical Mechanics
を読み進むのにScmutilsを使いたいのだが、MITScheme
は苦手だ。他の処理系に移植されていないだろうか?
Chez Scheme にあるとうれしいのだが。

590 名前:デフォルトの名無しさん mailto:sage [04/06/12 09:45]
>>589
私もぜんぜん知らないのだけど、Google で検索すると、
ChezEdit-NT の作者である 笹川さんが出てくる。
www.sampou.org/scheme/sicp/mailingList/msg01408.html

その結果は
chabo.kingdom.biglobe.ne.jp/93453084312522391/bbs/index9.html
> SICMのためのScmutilsを動かしたいんだけど、MIT-Schemeはどうも苦手だなぁ。
> かといって移植するのは大変な労力だ。どうしたもんだろう。

どうも移植はされていないっぽい。

Gauche 方面では、
Scheme:ライブラリ -> scmutils
www.shiro.dreamhost.com/scheme/wiliki/wiliki2.cgi?Scheme%3a%a5%e9%a5%a4%a5%d6%a5%e9%a5%ea#H-jmimjv
> MIT Scheme べったり。Gauche に移植しようとして途中で挫折。-- skimu

こちらもだめっぽい。
あきらめて Debian GNU/Linux と MIT-Scheme に行くしかなさそう。

591 名前:589 mailto:sage [04/06/12 10:40]
>>590
ありがとう。
MIT-Schemeでなんとかやってみるよ。

592 名前:デフォルトの名無しさん mailto:sage [04/06/12 15:20]
CPS(継続渡し)が今までどうしても理解できなかったのだけど、
このページの例を見て、目がさめるようによく分かりました。
www.namikilab.tuat.ac.jp/~sasada/diary/200308.html#d28

なあんだ、まず最初に巨大にネストした無名関数をこしらえて、
それを一気に実行するだけじゃないか。
それだったら、普通にスタックが積まれる再帰とコストが等しくて当然。

しかし、Petite Chez Scheme は CPS の方が二倍ほど速いのですね。
自分の手元で試してみても同様でした。不思議ですね。

593 名前:デフォルトの名無しさん [04/06/12 16:09]
すまねぇ、誰か助けてくれ。
こないだAllegroCommonLispのウワサを聞きつけトライヤル版を試してみたくて
ダウンロードしたんだが、さっきFranz.comのSalesManagerのクレイグから
いきなしメール来て、ACLを何処で知ったか、とかいって幾つか質問が
書かれたハードオファーなメールが来たんだよ。英語だし意味ワカンネエし、
毎日にチャンネルしかやってない俺にとって非常に恥ずかしいっていうか、
何で俺のようなアホにメールよこすんだよ!っていうか、「読んでくれて
ありがとう。私はあなたからすぐに便りをもらうことを期待します」とか
クレイグ書いてるし、そういう訳で困っています。
普段アホの新山とかblog読んでアヒャヒャと喜んでいるアホなのですが、天才新山名誉
教授でもなんでも良いのでだれか知恵を貸して下さい。
知名みにlispは初心者で、本当はAllegroCommonLispよりもGaucheを使って
半日ほどハアハアしてたりDを使っていました。


594 名前:デフォルトの名無しさん mailto:sage [04/06/12 22:35]
>>593
相手は単に商売なんだから、ほっといたらいいんではないかー?

595 名前:デフォルトの名無しさん mailto:sage [04/06/13 08:51]
どれシニョリーナ
「ウミネコ」の魔術をといてやるよ



596 名前:デフォルトの名無しさん mailto:sage [04/06/13 17:13]
>>593
トライアル版落とすとそのメール来るよね。
前に落としたときは日本の法人から営業担当者のメールが来ますたよ。
そんな高いもん個人で買えないからご遠慮メール出しちゃったら、担当が変わりましたメールが忘れた頃に(w
そこまで売りたいなら値段下げれ!とか思た(藁

597 名前:デフォルトの名無しさん mailto:sage [04/06/13 18:16]
とりあえずexe作る権限だけでも売れると思うんだけどなあ。

598 名前:595 mailto:sage [04/06/13 18:21]
すみません595 は誤爆…良スレを汚してごめんなさい



599 名前:デフォルトの名無しさん [04/06/13 21:26]
確かに個人で買えるような値段ではないよね。学生なら研究室の予算で買ってもらえるかも
知れないから指導教員に頼んでみるのもいいと思うけど。

600 名前:デフォルトの名無しさん mailto:sage [04/06/14 00:13]
かえなければほかのつかったらいいじゃん、ってきもするんだけど。
使ったことがある人のAllegro CLの「これはべんりだ」ってあたりを
聞かせてもらえるとうれしいかも。
あと、個人的にはAlleglo Storeがすごそうなんだけど、そのへんも。

601 名前:デフォルトの名無しさん [04/06/14 00:49]
Trial版しか使ったことないけど、日本語の文字がちゃんと扱えてWindows上でちゃんとした
処理系があるのはACLだけかな。Trial版でもちょっとしたプログラム開発には十分使えますよ。

602 名前:デフォルトの名無しさん mailto:sage [04/06/15 00:10]
VBやObjectPascalのイベントハンドラがLispで書かれていて萌えた(w

603 名前:デフォルトの名無しさん [04/06/15 23:31]
>>13
で紹介されているSECDR-Schemeですが、配布元のサイトが
無くなっているみたいです。
私が利用しているDNSが悪いのでしょうか?
誰か親切な人うぷしていただけませんか?

604 名前:603 [04/06/15 23:39]
今、鯖落ちてる?

605 名前:デフォルトの名無しさん mailto:sage [04/06/16 00:27]
>>601
LispWorksは?

>>603
覚えてたら暇なとき発掘してみるよ。flatlineさん(だっけ?)が上げてたサイト使わせて
もらってねら〜Lisper用ポータルでも作ろうか。
先週のセミナーでも思ったんだけど、Lisp興味あるけどどこから手を付けたらいいのか
わからないって人も結構居るみたいだし。



606 名前:デフォルトの名無しさん mailto:sage [04/06/16 01:08]
>Lisp興味あるけどどこから手を付けたらいいのか
わからないって人も結構居るみたいだし

禿げしく力強くうなづきつつ、同意。

607 名前:デフォルトの名無しさん mailto:sage [04/06/16 01:54]
そういえば初心者スレ無くなっちゃったね。
とりあえず c.l.l と Blog と wiki と *-dev 系の ML はチェックしてる。

608 名前:デフォルトの名無しさん mailto:sage [04/06/16 01:59]
>>606
そうだよなぁ。
Schemeに関して言えば、そういう情報を集積する場所としてWiLiKiがあると
思うのでがしがし「こんな情報はないのか?」って書き込んでみるといいかも。

609 名前:デフォルトの名無しさん mailto:sage [04/06/16 03:07]
>>607
次スレは
【common lisp】(S式のみで語らう漢のスレ)【scheme】
でお願いしm

610 名前:デフォルトの名無しさん mailto:sage [04/06/16 07:14]
>>609
(だが気をつけ給え。
((その論理)の行きつく先は)
(激しく読み難い(スレ)だ))


611 名前:デフォルトの名無しさん mailto:sage [04/06/16 07:59]
>>610
(and (気をつけ給え。 インデント)
(equal (修正すると >>610)
(気をつけ給え。
(equal (行きつく先 (その論理))
(激しく読み難い スレ)))))

612 名前:デフォルトの名無しさん mailto:sage [04/06/16 18:47]
このスレを見て思い出した・・・

去年、プログラミング言語2(Scheme)の単位落としたんだよな・・・
今年の後期プログラミング言語2(Lisp)取らないと・・・

613 名前:デフォルトの名無しさん mailto:sage [04/06/16 18:56]
おまいさんの大学は Scheme -> Lisp に変わったのか
おれんとこは2年前から逆になったわけだが

614 名前:デフォルトの名無しさん [04/06/16 22:19]
(age)

615 名前:605 mailto:sage [04/06/16 22:32]
>>603
Secdr.tar.bz2っての拾ってきたけど多分コレだろ。
ドコに置けばいいか教えれ。288KBくらい。



616 名前:デフォルトの名無しさん mailto:sage [04/06/16 23:06]
皆さんは、LISP を習得することで、他の言語でのプログラミングにどういう
メリットを感じましたか?

私は Scheme をある程度おぼえて、簡単なプログラムなら書けるようになったの
だけど、この知識が例えば Java でのプログラミングに生かせるかというと、
今のところ、よく分からない。
関数プログラミング、ファーストクラスクロージャ、継続、マクロなどはとても
面白いと思ったけれど、Java では使えないし。

今のところ、JavaScript で何かできるかな?と思うぐらいです。JavaScript には
ファーストクラスクロージャがあるから。

エリック・レイモンドが
cruel.org/freeware/hacker.html
「LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。
 この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。
 たとえ、実際には LISP そのものをあまり使わなくても。」

と言っていたのはどういう意味なんだろう?

617 名前:デフォルトの名無しさん mailto:sage(ネタ振り参加) [04/06/17 03:00]
>>616
> たとえ、実際には LISP そのものをあまり使わなくても。」

LISP を直接扱う仕事が少ない、LISP の技法が C に直接マッピングし辛い(クロージャとか)って
事ですよね。Java でも無名クラスとか CPS とか使う機会はそれほど無いのではないでしょうか。

618 名前:デフォルトの名無しさん mailto:sage [04/06/17 03:18]
>>615
Secdr.tar.gz が 313KB なんでそれくらいでしょうね。ライセンスは GPL みたいなんで
うぷろださえあれば私もうぷ出来ます。

ところで、SECD マシンじゃなくて SGCD マシン(G-Machine)というのがあるみたい
ですが、これってどういう物なのでしょうか?
ググって見たらグラフ理論と関係あるみたいですが、グラフ理論って最適化とかでよく
聞く物の、中身が良く分かりません。。。

619 名前:デフォルトの名無しさん mailto:sage [04/06/17 14:21]
>>617
 ちょっとメール欄が気になりますが、まあ、まさにその通りです。それだけでは
Java のプログラミングスタイルが大きく変わる、という気がしないんです。

 Lisp の良さは、どのようにも書けることだと思うんです。手続き型風にも、オブジェクト
指向風にも、関数型風にも書ける、何でもそろう百貨店のようです。

 ところが他の言語は専門店なんです。例えば Java はクラスベースの型制限のきつい
オブジェクト指向言語として書く以外に、あんまりできることがない。そうすると、
結局デザインパターンに従って書くより他にないのかな、ということになってしまう。

Java 捨てろ、と言われても、Lisp でやらせてもらえる仕事なんてないし。
皆さんはどのように考えていらっしゃいますか?


>>618
私もグラフ理論はぜんぜん知らないんですが、n次空間での点と線の組み合わせの性質を
研究する学問だと聞いたことがあります。応用としては、回路図を基盤に起こすとき、
どのように回路を取り回せばよいかを検討するのに役立つそうです。
レゲエ数学者の秋山仁先生が、日本における第一人者だそうです。

『秋山仁の 落ちこぼれは天才だ 』
www.amazon.co.jp/exec/obidos/ASIN/4062739623/

620 名前:デフォルトの名無しさん mailto:sage [04/06/17 14:31]
>>619
んー。逆方向で。
Lisp が百貨店だとしたら、他の言語で初めて触れるような機能に出くわしたとき、
「ああ、これは Lisp で言ったら○○だな」
て風に(Lisp にマッピングして)理解してみる、ということがやり易い、
ていう具合に考えてみるのはどうでしょう。

621 名前:デフォルトの名無しさん mailto:sage [04/06/17 15:35]
>>618
G-Machineは、lazyな言語向きの仮想機械で
実行にグラフ書換えを利用してるものだったような。
うろ覚えだけど。

グラフ書換えについては、
『コンピュータ基礎理論ハンドブック』のたぶん2巻に解説があった気がする。

622 名前:デフォルトの名無しさん mailto:sage [04/06/17 16:13]
>>620
確かにそれはできるかも知れません。実は Lisp を源流としている技術はこの業界には
すごく多いみたいですから。

Java には、フレームワークだとか、EJB とかさまざまな新技術が次々導入されて
いますが、「あ、これは Lisp のアレに相当するな」と分かれば習得は早いでしょうね。

しかし、もともと Lisp のエキスパートだった人はそれで良いでしょうが、今から
Lisp を学ぼうという人はどうでしょう?遠回りをせず、Java の新技術を学んだ
方が早いのではないかという気がします。

何しろサーバサイド・プログラミングは Java の一人勝ちで、Java だけ覚えれば
それで済んでしまうような状況ですから。代わりに Lisp が普及していてくれたらなあ。

623 名前:デフォルトの名無しさん mailto:sage [04/06/17 18:07]
それにしても、Scheme の世界観は本当に美しいと思います。
以前、「継続というのは、靴下を裏返すようにして、ひっくり返した ラムダ」
という話を聞いて感動したのですが、

この下のほうの Shiro さんの説明
www.shiro.dreamhost.com/scheme/wiliki/wiliki2.cgi?Seminar%3aKahua
「値を返す ≡ 値を継続手続きに渡す」
これを聞いて、さらに感動しました。
結局 Scheme の制御構造は ラムダしかない。関数もブロックも環境も、全部
ラムダ。なんか世界の見え方が変わってしまいますよね。

しかし、これを Java でのプログラミングに、どのように生かせばいいのだろう…。

624 名前:デフォルトの名無しさん mailto:sage [04/06/17 19:25]
例えば,今まで C しか知らず,そのままでいると:

1. 再帰を恐れる.再帰で考えられない.再帰のコーディングの仕方に慣れていない.
2. 配列ばっかり.
3. スコープについてしっかり理解できていない.
4. なぜか速度ばかり気にして,少ないステップ数を重視した見辛いコードを書く.

といった感じになると思います.
でも,これは「言語はいくつか学べ」の理由でしか無いかも.

625 名前:デフォルトの名無しさん mailto:sage [04/06/17 20:47]
>>624
お前、C使いに物凄い偏見を持っていないか?

または、たまたま >>624 の周りでCを使う奴は皆
その程度にしか使えないだけなのか?




626 名前:デフォルトの名無しさん [04/06/17 20:52]
scheme 使う人に質問です。

何故 scheme は list の末尾が nil ではないのですか?

末尾は nil にしておいた方が美しい設計だと思うのですが・・・


627 名前:デフォルトの名無しさん mailto:sage [04/06/17 21:00]
nil が存在しないからです。

628 名前:デフォルトの名無しさん mailto:sage [04/06/17 21:45]
scheme を知ってからは C でも alist もどきを多用するようになった。

629 名前:デフォルトの名無しさん [04/06/17 23:11]
>>626
リストの末尾は他と区別できる単一の要素(空リスト)があればいいだけなので、特にnilだと
美しいという根拠がわかりません。それよりも真偽値と区別のないLispよりはSchemeの方が
すっきりしているのではないでしょうか。そもそも真偽値とリストは型が違うわけですから。

630 名前:デフォルトの名無しさん mailto:sage [04/06/17 23:39]
>>626
名前が欲しいだけなら(define nil '())で。

631 名前:デフォルトの名無しさん mailto:sage [04/06/17 23:42]
>>630
'(a . nil) が (a) にならない罠


632 名前:630 mailto:sage [04/06/17 23:50]
あうち。リーダーマクロでなんとかとか...
ごめん、忘れてください。

633 名前:603 mailto:sage [04/06/18 01:39]
>>618
有難う御座います。↓とかにうpして貰えれば嬉しいです。
ttp://www.uploda.net/cgi/uploader2/index.php

>>605 = 615
ご親切に有難う御座います。
bz2でうpできる場所は、見つかれませんでした。
拡張子を誤魔化してうpするという方法が、可能かどうかまで調べていません。
気が向いたら、うpしてください。

634 名前:デフォルトの名無しさん mailto:sage [04/06/18 01:58]
うう…結局、Lisp を学んで、Java のプログラミングスタイルが変わった人は
いらっしゃらないのでしょうか。この言語はとても魅力的だけど、仕事にほとんど
生かせないのなら、なんとも悲しいものがあります。

Namazu の高林さんが
「Scheme を学んでからは、他の言語でプログラムを書くときの切れ味もずいぶん変わった
 気がする。」
namazu.org/~satoru/unimag/10/
と言っていたから、すごく期待していたんだけどなあ。

そう言えば高林さんは、Java が嫌いだとも言っていたか…。
www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview20.html

635 名前:デフォルトの名無しさん mailto:sage [04/06/18 02:05]
所詮その程度の人間だったということだ



636 名前:デフォルトの名無しさん mailto:sage [04/06/18 02:24]
>>633
上げといた。こういうの使うの初めてなんだけど、これで良いのかな。

637 名前:デフォルトの名無しさん mailto:sage [04/06/18 02:59]
>>634
今どきLispをやろうなんて物好きは、趣味で楽しんでやってるだけなんだから
仕事に生かそうなんて期待するな。

638 名前:603=633 mailto:sage [04/06/18 03:51]
無事↓できました。有難う御座いました。

勝手に想像していたものより良い意味で裏切られました。
まだ、ちょろっと読んだだけですが、付属のLibも一通り揃っている感じですし
SECDRのRを何故Sから分離したのか、勉強してみたいと思います。

そういえば、どこかでSECDH machineというのが有ると聞いたときがありますが
ここでのHの意味って、何なんでしょうね?

639 名前:デフォルトの名無しさん mailto:sage [04/06/18 09:23]
>>634
プログラミングスタイルが変わらないんだとしたら、要するにLispで
やってるような抽象化が必要とされるようなプロジェクトをやってない
ってことでは。実際、Paul Grahamがなんと言おうと、世の中の
プログラムの9割はそんな「力」を必要としないんだしさ。

漏れは、どうしても仕事でLisp以外の言語で書かざるを得ない時は、
人間コンパイラになったつもりで頭の中の高階関数のコードを静的な
クラスに展開したり、人間マクロエクスパンダになったつもりで
パターンに沿ったコード書いたりしてるけど。つくづく無駄なことを
してると思うが、そのぶん金払うのはお客さんだしね。
ただ、どうしても我慢ができなくなった時は、LispでJavaやらCやらの
簡易マクロプロセッサを書くこともある。


640 名前:デフォルトの名無しさん mailto:sage [04/06/18 10:36]
>>637
そう割り切ればいいのかもしれませんけど、仕事しんどいし、何かこの知見を
利用して楽になれないものかと思っちゃうんです。


>>639
> 要するにLispでやってるような抽象化が必要とされるようなプロジェクトをやってない
ああ、それはありますねえ。
せっかく CPS を理解したんだから、今度の Java の仕事で session に継続を
保持させてみよう、と思ったんですが、考えてみたら、CPS を用いるほど細かい
制御はまず必要ないんです。

Lisp が一番力を発揮するのは、構文解析とか、複雑な構造のデータを扱う場合
だと思うんですけど、そういう仕事やってないですし。DB に SQL を発行して、
返った値をオブジェクトに収めて、JSP で表示させて、ハイ、おしまい。
マクロで展開させたいと思うようなことも、あんまりないです。
嫌だと言っても、世の中の99%はそういう仕事ですし。

「技術野郎の復讐---Revenge of the Nerds---」への反響
www.shiro.dreamhost.com/scheme/trans/icadmore-j.html

>>635 氏の言う通り、私には Lisp は必要なかったのかな?いや、Lisp 業界が
私を必要としていないのか。…鬱だ死のう。

641 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:14]
IO操作はcall-with-うんたらかんたら系があると便利だよね。
標準IOをインターフェース変えずにファイルやソケットや文字列に割り当てたり。

C/C++言語もそういう仕様だったらよかったのに。
こっちは出来た時代が古かったんだね。

642 名前:デフォルトの名無しさん [04/06/18 11:27]
LISPのcarやcdrが基本なリスト操作知ってからは
ほかの言語でリストコンテナ書き直す回数が減った。
いまどきのC++やjavaには標準で付いてるけどね。
でもそういう標準コンテナを使うときも
LISPで培ったやり方が適用できると思う。
先にLISPのマクロ知ったおかげでboostとかのライブラリが幼稚に見える。


643 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:29]
Javaの仕事がきついって言うけど、
それなら一番手っ取り早いのはJavaのエキスパートにコードを見せて
何か改善点がないか相談することでしょ。
改善のしようがなかったら、転職するかその仕事に耐えるかしかない。
どうやったらJavaに生かせるかLisperに訊かれても、そんなん知らんがな。
自分で応用していくしかないんだよ。

644 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:30]
ま、仕事の質から言って、やっぱLISPが最強だったね。

645 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:35]
何でもかんでもLispでやりたがる奴はLisperじゃない



646 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:38]
Guy Steele Jr.のメアド教えてください。

647 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:38]
誰もそんなこと言ってないが。
>被害妄想な645

648 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:38]
>>646
どっかのMLにいたよ。

649 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:41]
`(Guy,@Steele.Jr)

650 名前:デフォルトの名無しさん mailto:sage [04/06/18 11:42]
最強厨、現る

651 名前:デフォルトの名無しさん mailto:sage [04/06/18 14:32]
>>647
お前に言ったわけじゃないんだが

652 名前:デフォルトの名無しさん [04/06/18 15:41]
Lispの本って高い!!

653 名前:デフォルトの名無しさん mailto:sage [04/06/18 16:19]
>>642
複雑なデータ構造の仕事をしている人だと、Lisp の経験が生かせるみたいですね。

>>643
なんというか最近、Java の世界そのものに息苦しさを感じてしまいまして。

Lisp の世界は自由自在・融通無碍だとどこかで聞きまして、Lisp だけで食っていける
人はまずいないそうですから、Lisper が Java を書くことも当然あるだろうと。
Java しか知らない人からじゃなくて、そういう視野の広い人から、話を聞いて
みたかったのです。

654 名前:デフォルトの名無しさん mailto:sage [04/06/18 18:41]
>>653
本物の Lisper なら、

>DB に SQL を発行して、
>返った値をオブジェクトに収めて、JSP で表示させて、ハイ、おしまい。

その作業を、システムを使うユーザーにやらせようとする。
つまりスクリプトを積む訳だ。
で、スクリプトには当然 Lisp を採用。


655 名前:605=615 mailto:sage [04/06/18 23:57]
>>603
SECDR入手済みだよね?親切な人が生息しているようで何より。

過去ログ眺めてきたけど、何か妙に卑屈になってるのが居るみたいね。
2chで泣き言いってる暇があったら自分でLisp使う仕事作りゃいいのに。
漏れは作ったぞ。他にLisper居ないから1人デスマーチだけどな(w



656 名前:デフォルトの名無しさん mailto:sage [04/06/19 00:11]
そうそう。Javaにうんざりしている同志がこんなもん作ってるけどこのスレでは紹介されてなかったよね?
暇なとき調べてみようと思って手付かずなので誰かが使用感レポートしてくれることを期待して貼っておこっと。
hxxp://www.evaluator.pt/linj.html

657 名前:デフォルトの名無しさん mailto:sage [04/06/19 05:54]
www.evaluator.pt/linj.html
めんどくせーことするな

658 名前:デフォルトの名無しさん mailto:デフォルトの名無しさん [04/06/19 23:40]
Meadowのrun-schemeで、Gauche(utf-8)を使いたいのですが、可能でしょうか。
いまの設定は、下の設定です。
(setq scheme-program-name "d:/cygwin/usr/local/bin/gosh.exe -i")
kawacho.don.am/win/meadow/customize/dot-emacs-sample.html#japanese

ご面倒ですが、アドバイスをお願いします。

659 名前:デフォルトの名無しさん [04/06/20 00:23]
>>658
Meadow1.15はutf-8対応でないそうなので、Meadow2をインストールしました。
そして、M-x set-buffer-file-coding-system utf-8にしました。
すると、こんな出力になっています。
gosh> (display "山下")
ツ山ツ可コ#<undef>

660 名前:デフォルトの名無しさん mailto:sage [04/06/20 01:14]
よう分からんけど set-process-coding-system の方じゃないかと疑ってみる。

661 名前:デフォルトの名無しさん [04/06/20 10:03]
>>660
ありがとうございました。
ご指摘のとおり、set-buffer-process-coding-systemで
inputもoutputもutf-8に設定することで、問題解決しました。
ども。

662 名前:デフォルトの名無しさん mailto:sage [04/06/20 11:24]
Lisp の知見を 他言語で、という話だけれど、継続を使えば、Web アプリが
スッキリ一つながりに書けるようになるよ。
tabesugi.net/memo/2003/b1.html#101129
普通なら HTTP リクエストごとに分断されたコードを書かなきゃいけないけど、
継続を使って、コードの実行を中断して、HTTPリクエストを処理してから再開、
といった作業がシームレスに行えるから。

だけど、この継続をいちいち手作業で作るのは面倒くさいね。言語自体が継続を
サポートしていないと、かえって面倒くさいと思う。Java じゃ無理か。

Perl6 は継続をサポートするようになるそうな。Perl使いの皆さん、おめでとう。
tabesugi.net/memo/2004/61.html#092240
Perl使いは誰も継続なんて知らないみたいだけどな。

新山氏のサイトを斜め読みしていたら、たまたま出てきたんで書きました。

663 名前:デフォルトの名無しさん mailto:sage [04/06/20 12:52]
以前も話題になりましたが,defpackage にはキーワードを使ったらいいのか
文字列を使ったらいいのか分かりません.

cliki に置いてあるコードでも両方見かけます.

叫ぶぼどではないので大文字は避け,キーワードを使いたいのですが,
どんなトラブルが起こりうるのでしょうか.教えていただきたいのです.

パッケージ名は :pkg-name のようになっていて,その中で :export される
シンボルは #:func1 のようにすれば絶対安心なのでしょうか?

664 名前:デフォルトの名無しさん mailto:sage [04/06/20 16:10]
最近 asdf というのがあるんですが,これは何ですか?
ちょっとしたプログラムを install するにもコレが必要らしいです.
google しても関係なさそうなサイトばかり引っかかります.

正直,べんり? 入れなきゃダメ?

665 名前:デフォルトの名無しさん mailto:sage [04/06/20 16:23]
asdf は lisp 版 make …という説明でわかるかな?
昔からある defsystem に代わるもの.CLOS ベースになってる.

依存関係や C ライブラリのビルドなどが設定可能な便利
ツールだが,どうしても嫌なら別に入れなくてもいいぞ.
全部手動でやる事も面倒だけど可能だし,defsystem 用の
ファイルも提供してるプロジェクトも多いしな.




666 名前:デフォルトの名無しさん mailto:sage 直リン廚いらっしゃ& [04/06/20 17:33]
マニュアルはここ。入れなきゃダメってことはないけどDebianでCommon Lisp Controller
使ってれば普通に入ってるし、正直便利。いろんな人が作ったライブラリ突っ込むのも
asdf-install一発で片付くんでらくちんだよ。
hxxp://constantly.at/lisp/asdf/

667 名前:664 mailto:sage [04/06/20 17:47]
>>665-666
恥ずかしながら,lisp プログラムのインストールに make のような
ものが必要ということさえ知りませんでした.
(load "hoge") 一発かと...

debian を使っているので,sarge あたりから
common lisp 周りのパッケージが増えたな,と感じていました.

ただ,自分の管理下でないシステムに,自分が書いたコードを持っていったとき
のことが気になります.そのコードが,asdf を使ってインストールされた
プログラムを使っていると,向こうのシステムにも色々持っていかないと
なぁ,,,という気がするのです.
とにかく試してみます.ありがとうございました.

668 名前:664 mailto:sage [04/06/20 22:15]
私は asdf も入れられないレベルのようです.どうか力を貸してください.

$ clisp -q

[1]> (load "load-asdf-install")
;; Loading file /home/yu/src/html/src/asdf-install/load-asdf-install.lisp ...
;;; ASDF-INSTALL: Loading ASDF-INSTALL package from directory
;;;               "/home/yu/src/html/src/asdf-install/"


*** - A file with name ASDF-INSTALL-LIBRARY:defpackage.lisp does not exist
1. Break ASDF-INSTALL-LOADER[2]>

defpackage.lisp を ASDF-INSTALL-LIBRARY:defpackage.lisp みたいな
変な名前にリネーム,,,するわけないですよね?
どうすればいいのでしょうか.まずは cl-ppcre を入れたいのに.

669 名前:デフォルトの名無しさん mailto:sage [04/06/20 22:15]
>>667
ある程度の規模になると依存関係とかロード順を考えなきゃならんでしょ?
C/C++ だってファイルが増えてくると make や IDE の支援が必要になるわけで。
で、C/C++ のソースを配るときに make があるか心配だから make を使わない
というほどの心配性ならともかく、asdf 自体は特に依存してないのでそんなに
心配する必要はないです。asdf.lisp 添付してもいいしね。

それでも、どーしても嫌なら自分で書いたコードには使わなきゃ良いだけです。

670 名前:デフォルトの名無しさん mailto:sage [04/06/20 22:20]
>>668
できれば自分の環境(特に使ってる clisp のバージョン)はかいといた
ほうがいい。なぜなら clisp で format のバグで asdf.lisp がコンパイル
できないバージョンとかあったからな。最新のは大丈夫なんだけど。

で、先に asdf.lisp をロードしてないとかそーゆうんでないかな。今手元に
clisp が無いんで推測なんだが。

671 名前:664 mailto:sage [04/06/20 22:31]
>>670
はい.clisp 2.27 です.
うっかり asdf-install/doc/index.html を読んでいませんでした.
README がインストール方法かと思ってしまいました.
そこで,index.html にある方法でやりましたが,,,

current directory には asdf があるディレクトリと,
asdf-install/asdf-install.asd へのリンクがあります.
$ clisp -q

[1]> (load "asdf/asdf")
;; Loading file /home/yu/src/html/src/asdf/asdf.fas ...
;; Loading of file /home/yu/src/html/src/asdf/asdf.fas is finished.
T
[2]> (asdf:operate 'asdf:compile-op :asdf-install)
; loading system definition from asdf-install.asd into #<PACKAGE ASDF1175>
;; Loading file asdf-install.asd ...
; registering #<SYSTEM ASDF-INSTALL #x203A4CB1> as ASDF-INSTALL

*** - handle_fault error2 ! address = 0x4556454F not in [0x202B6000,0x2037220C)!
SIGSEGV cannot be cured. Fault address = 0x4556454F.
セグメンテーション違反です

asdf って簡単そうな名前なのに orz

672 名前:デフォルトの名無しさん mailto:sage [04/06/20 22:36]
2.27 て…。まぁ、asdf.lisp がロードできてるなら cl-ppcre の
インストールに asdf-install は要らないよ。手動で cl-ppcre の
アーカイブをダウンロードしてきて
[1]> (load "asdf/asdf.lisp")
[2]> (load "cl-ppcre/cl-ppcre.asd")
[3]> (asdf:oos 'asdf:load-op :cl-ppcre)
だけ。あとは (saveinitmem) としてイメージ作れば良いじゃん。
あと 2.27 にこだわる理由がなければ 2.33.x にしとくのが吉。

673 名前:664 mailto:sage [04/06/20 22:43]
>>672
親切にありがとうございます.
いま,cmucl でやってみると,一通り終わるものの 5 errors 出ました.
;;; メインで clisp を使うのに *.x86f が出来ても...

はい.debian woody なのと HDD が小さいのでバージョンアップを
渋っておりましたが,以下の理由で考え直します.


[2]> (load "cl-ppcre/cl-ppcre.asd")
;; Loading file cl-ppcre/cl-ppcre.asd ...
*** - handle_fault error2 ! address = 0x4556454F not in [0x202B6000,0x2037220C)!
SIGSEGV cannot be cured. Fault address = 0x4556454F.
セグメンテーション違反です

674 名前:デフォルトの名無しさん mailto:sage [04/06/20 23:43]
やたっ! Mac OS X 上の ECL でスレッド使えた。
つっても無理矢理ビルド通しただけなんで、実用性はありませんけど。

素朴な疑問ですが、Lisper な人ってスレッドをあまり必要としていないんでしょうか?
ネイティブスレッドを使える環境がかなり限られている感じがします。

675 名前:674 mailto:sage [04/06/21 00:15]
と思ったら、重い処理させると落ちる・・・。



676 名前:デフォルトの名無しさん mailto:sage [04/06/21 01:14]
>>664
Debian使ってLispやるならsidがいいのではないかと。
Kevin M Rosenbergが精力的にパッケージ作ってくれてるのでマジで助かります。
バグ修正したり機能拡張したコード送ると(暇なら)次の日にはパッケージ更新してくれるし。
ディスク容量とかメモリとかはカネで時間(作業効率)が稼げると思えば安いもの。組み込み
用途を検討中とかなら話は別だけどね。
hxxp://b9.com/debian.html

>>674
Lisperがスレッドを必要としないってことはないでしょう。SBCLのウリのひとつだし。
Lisperは正規表現を必要しないってのは聞いたことがあるけど。リーダーマクロマンセー。

677 名前:664 mailto:sage [04/06/22 02:50]
clisp バージョンを上げて解決しました.
便利な正規表現を使えるようになりました.みなさんのおかげです.

ところで,
(asdf:oos 'asdf:load-op 'cl-ppcre)
が終わるのに 2 分くらいかかりますが,これは毎回必要なんですか?
実際に使うために動かすのは手元ではないので耐えられますが...

>>676 sid は色々気をつけないとならないので逃げます orz






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

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

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