Lisp Scheme Part18at TECH
Lisp Scheme Part18 - 暇つぶし2ch1:デフォルトの名無しさん
07/08/12 21:38:15
過去スレ
Part17: スレリンク(tech板)
Part16: スレリンク(tech板)
Part15: スレリンク(tech板)
Part14: スレリンク(tech板)
Part13: スレリンク(tech板)
Part12: スレリンク(tech板)
Part11: スレリンク(tech板)
Part10: スレリンク(tech板)
Part9: スレリンク(tech板)
Part8: URLリンク(pc5.2ch.net)
Part7: URLリンク(pc5.2ch.net)
Part6: URLリンク(pc3.2ch.net)
Part5: URLリンク(pc3.2ch.net)
Part4: URLリンク(pc.2ch.net)
Part3: URLリンク(pc.2ch.net)
Part2: URLリンク(pc.2ch.net)
Part1: URLリンク(piza2.2ch.net)

2:デフォルトの名無しさん
07/08/12 21:43:02
□参考リンク□
日本Lispユーザ会(日本語) URLリンク(jp.franz.com)
ここにかなりの情報があります。 削るとAllegro Common Lispのページへ

プログラミング言語Scheme(日本語)
URLリンク(www.sci.toyama-u.ac.jp)
Schemeの人はまずここを見ましょう。

Lisper への道(日本語)
URLリンク(www.geocities.co.jp)
判りやすいLISP入門サイト。

Schemeへの道(日本語)
URLリンク(www.stdio.h.kyoto-u.ac.jp)
ここはschemeの入門サイト。

慶応の授業のページ・記号処理プログラミング 2001
URLリンク(buri.sfc.keio.ac.jp)

Practical Scheme(日本語)
URLリンク(practical-scheme.net)
「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。
(Gaucheという完成度の高いscheme処理系作者さんのページでもあります。)


3:デフォルトの名無しさん
07/08/12 21:44:09
□仕様関係□
CLtL2: Common Lisp the Language 2nd edition
URLリンク(www-2.cs.cmu.edu)
CLHS: Common Lisp Hyper Spec
URLリンク(www.ai.mit.edu)
R5RS: Revised(5) Scheme(ja)
URLリンク(www.sci.toyama-u.ac.jp)

□SICP関係□

SICP(英語)
URLリンク(mitpress.mit.edu)
「計算機プログラムの構造と解釈」の原書です。 全てオンラインで読めます。

計算機プログラムの構造と解釈 第二版 (snip) に関連するホームページ
URLリンク(www.ipl.t.u-tokyo.ac.jp)

SICPの回答集
URLリンク(www.melt.kyutech.ac.jp)
URLリンク(pluto.aurorasd.co.jp)
URLリンク(www.ipl.t.u-tokyo.ac.jp)
URLリンク(www.sampou.org)


4:デフォルトの名無しさん
07/08/12 21:46:23
□wikipedia関連□
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)

□継続□
なんでも継続
URLリンク(practical-scheme.net)
Schemeへの道:継続
URLリンク(www.stdio.h.kyoto-u.ac.jp)
継続の使い方
URLリンク(www.geocities.co.jp)
継続の使用法
URLリンク(www.ice.nuie.nagoya-u.ac.jp)
CPS(継続渡しスタイル)の説明
URLリンク(www.csl.sony.co.jp)
Kahua: 継続ベースのアプリケーションサーバー
URLリンク(www.kahua.org)



5:デフォルトの名無しさん
07/08/12 21:50:29
□その他□ (便利な情報リソース)
John McCarthy's Home Page
URLリンク(www-formal.stanford.edu)
LISPの生みの親、J・マッカーシーのページだそうです。

Association of Lisp Users 米国のLispユーザ会
URLリンク(www.alu.org)

CMUのLisp Repository 新旧様々なプログラムが置いてある
fURLリンク(ftp.cs.cmu.edu)

The Common Lisp Cookbook: いわゆる Cookbook
URLリンク(cl-cookbook.sourceforge.net)

Bibliography of Scheme-related Research Scheme関連の論文リンク集
URLリンク(library.readscheme.org)

Scheme Hash(英語) S式でXMLを使える様にするSXMLなど
URLリンク(okmij.org)

幻の「入門Scheme」 オンラインで読める
URLリンク(www4.ocn.ne.jp)

各種scheme処理系をcygwin上からビルドする方法など。
URLリンク(www.geocities.co.jp)

encyCMUCLopedia (cmucl以外でも有益なはず )
URLリンク(www.isr.ist.utl.pt)

6:デフォルトの名無しさん
07/08/12 21:52:29
□実装□
Bit (mini-schemeよりも小さい(?)bytecode変換系 )
URLリンク(www.iro.umontreal.ca)
Lisp 言語処理系: CAMPUS LIsP, Lemon version (Cでわずか1000行)
URLリンク(aten.aial.hiroshima-u.ac.jp)
Schemix (Linuxのkernelへのパッチで/dev/として扱えるTinyScheme )
URLリンク(www.abstractnonsense.com)
awkで書かれたわずか500行のLispインタプリタ
URLリンク(www.accesscom.com)
Schemeで書かれた正規表現ライブラリ
URLリンク(www.cs.rice.edu)
Tiny CLOS Tutorial
URLリンク(home.adelphi.edu)
Hotdog Scheme MS が金出してたみたい
URLリンク(rover.cs.nwu.edu)
Bigloo CLR 用のコードを吐けるようになったらしい
URLリンク(www-sop.inria.fr)
SECDR-Scheme: SECD machine model に基づく実装
URLリンク(lily.fan.gr.jp)
Minischeme: 1 ファイルに凝縮された Scheme 処理系
URLリンク(tinyscheme.sourceforge.net)
TinyScheme: Minischeme を色々弄ったもの
URLリンク(tinyscheme.sourceforge.net)
KI-Scheme, AM-Scheme, etc...
URLリンク(www.nifty.com)
LispMe: Palm 上で動く Scheme 処理系. これも SECD virtual machine.
URLリンク(www.lispme.de)


7:デフォルトの名無しさん
07/08/12 21:55:40
□その他□ (抜け)
LISP Scheme Part9 (html化) って、なんでこれだけ
URLリンク(ruku.qp.tc)
独習 Scheme 三週間 (Schemeの教科書 )
URLリンク(www.sampou.org)
Cliki (CLコードがたくさん紹介されている。)
URLリンク(www.cliki.net)
よろずや (lispの実用的な情報が色々。 )
URLリンク(www.geocities.co.jp)
Common-Lisp.net: 多くのプロジェクトがホスティングされてる
URLリンク(common-lisp.net)
Bill Clementson's Blog: Lisp関連の話題が中心のBlog
URLリンク(home.comcast.net)
Practical Common Lisp: S式の羅列で現実的な問題をどう解くのかそのギャップに悩まされてる人に
URLリンク(www.gigamonkeys.com)

□イベント□
GaucheNight(2007-05-09)
URLリンク(practical-scheme.net)
川合史朗、黒田寿男、まつもとゆきひろ(Skype中継)、小飼弾、
伊東勝利、久井亨、小黒直樹、ほか

黒田氏関係 (黒板の人)
スレリンク(tech板:901-909番)
URLリンク(cl-www.msi.co.jp)
Scheme:マクロ:CommonLispとの比較
URLリンク(practical-scheme.net)
Script Languages
URLリンク(cl-www.msi.co.jp)


8:デフォルトの名無しさん
07/08/12 21:58:02
□2ch上にあるLISP関係のスレ□ (現在)

【入門】Common Lisp その3【質問よろず】
スレリンク(tech板)
【CGI】実用比較Lisp vs C/C++【GUI】
スレリンク(tech板)
C式(C言語風汎用データ形式)を作ろう!
スレリンク(tech板)
【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
スレリンク(tech板)
Emacs Lisp 2
スレリンク(tech板)
【叩かれて】Emacs Lisp道場【強くなれ】
スレリンク(unix板)
Lisp@UNIX版
スレリンク(unix板)


以上終わり。
適当に並べ替えてやった。

9:デフォルトの名無しさん
07/08/12 21:58:28
お疲れ。

10:デフォルトの名無しさん
07/08/12 21:59:01
>>8の抜け

【SICP】計算機プログラムの構造と解釈【Scheme】
スレリンク(tech板)


11:デフォルトの名無しさん
07/08/12 22:01:23
>>1乙だよ>>1

12:デフォルトの名無しさん
07/08/12 22:04:59
>>2 リンク先変更

プログラミング言語Scheme(日本語)
URLリンク(www.sci.u-toyama.ac.jp)
Schemeの人はまずここを見ましょう。

うお-っ>>1


13:デフォルトの名無しさん
07/08/12 22:11:41
>>1


14:デフォルトの名無しさん
07/08/12 22:55:05
いちもつ

15:デフォルトの名無しさん
07/08/13 06:22:03
最初に頭で浮かべるコードが
Scheme + Rubyって俺は少数派?

16:デフォルトの名無しさん
07/08/13 06:53:18
>>15
それ括弧が全て begin と end に置き換わった Scheme の事?

17:デフォルトの名無しさん
07/08/13 08:14:23
CL だけど前スレより転載。

SBCL Buildbot
URLリンク(sbcl.static.net)

LispUser.net (よろずや?)
URLリンク(lispuser.net)


18:デフォルトの名無しさん
07/08/13 08:29:31
begin-endはPascalだろw

19:デフォルトの名無しさん
07/08/13 08:44:25
これからLispを学ぼうとしてリンク先を一つ一つ見ていったんですけど結構リンク切れがあります。

Lisper への道(日本語)
URLリンク(www.geocities.co.jp)
慶応の授業のページ・記号処理プログラミング 2001
URLリンク(buri.sfc.keio.ac.jp)
R5RS: Revised(5) Scheme(ja)
URLリンク(www.sci.toyama-u.ac.jp)
SICPの回答集
URLリンク(www.melt.kyutech.ac.jp)
URLリンク(pluto.aurorasd.co.jp)
CPS(継続渡しスタイル)の説明
URLリンク(www.csl.sony.co.jp)
Lisp 言語処理系: CAMPUS LIsP, Lemon version (Cでわずか1000行)
URLリンク(aten.aial.hiroshima-u.ac.jp)
Schemeで書かれた正規表現ライブラリ
URLリンク(www.cs.rice.edu)
Tiny CLOS Tutorial
URLリンク(home.adelphi.edu)
Hotdog Scheme MS が金出してたみたい
URLリンク(rover.cs.nwu.edu)
SECDR-Scheme: SECD machine model に基づく実装
URLリンク(lily.fan.gr.jp)
KI-Scheme, AM-Scheme, etc...
URLリンク(www.nifty.com)
LispMe: Palm 上で動く Scheme 処理系. これも SECD virtual machine.
URLリンク(www.lispme.de)
LISP Scheme Part9 (html化) って、なんでこれだけ
URLリンク(ruku.qp.tc)


20:デフォルトの名無しさん
07/08/13 16:57:22
986 :デフォルトの名無しさん :sage :2007/08/12(日) 03:39:44
Gauche本、まだ出ないのかなぁ

中の人ですがgauche.nightの後shiroさんと打合せをして、
Web公開版とは構成が劇的に変わりました。

現在8/31 DTP入稿を目指して作業中、今秋発売予定です。


21:デフォルトの名無しさん
07/08/13 21:35:58
>>20
この4月に、Gauche本のことを知ったのがSchemeを始めるはずみになったので、
嬉しいっすね。出版されたらぜひ読みたいと思います。

22:デフォルトの名無しさん
07/08/13 22:03:48
表紙がなにか気になる

23:デフォルトの名無しさん
07/08/13 22:19:29
>>22
フムフムヌクヌクアプアアだよ

24:デフォルトの名無しさん
07/08/13 22:45:20
そういう名前の魚が本当にいるから困る

25:デフォルトの名無しさん
07/08/13 23:12:15
gauche ってまだ1.0にもなってないのに本が出るの?
時期尚早じゃね?

26:デフォルトの名無しさん
07/08/15 01:15:39
>>25
へへーんだっ

27:デフォルトの名無しさん
07/08/15 01:40:18
Perl6 は言語も処理系もできてないのに本がでてたくらいだから
いいんでないの? 0.8.10 とはいえかなり安定してるし。

まぁ、1.0 といってもたとえば SBCL なんかは特になにかあったわけではなく
マーケティングのために 1.0 にしただけ、ってのもあるけどね。

28:デフォルトの名無しさん
07/08/15 12:40:33
バージョン番号なんて作者やメーカーにより様々
1.0の定義だってバラバラなんだからこだわっても意味ないべ

29:デフォルトの名無しさん
07/08/15 23:12:01
じゃあ逆に gauche 1.0 で欲しいものは?


30:デフォルトの名無しさん
07/08/16 00:32:46
x86 用のネイティブコードコンパイラ
コンパイルした結果をオブジェクトファイルに保存出来る事

31:デフォルトの名無しさん
07/08/16 00:42:06
Schemeはみんなgauche使ってるの?

32:デフォルトの名無しさん
07/08/16 00:51:26
俺はKawaがメイン

33:デフォルトの名無しさん
07/08/16 01:00:59
俺はDrSchemeかな

34:デフォルトの名無しさん
07/08/16 01:01:04
俺はまだまだ入門レベルだけど、処理系は意味なく入れるだけは複数入れてみてる。
Guile,MzScheme,Petite Chez Scheme,Scheme48,mit-scheme,bigloo
他にもあったかも。でもGauche以外ほとんど使ってないなぁ。

35:デフォルトの名無しさん
07/08/16 02:29:22
機能的に拘らないときは guile を使ったりする。たいていプリインストールされているからね。

36:デフォルトの名無しさん
07/08/16 03:02:13
URLリンク(homepage3.nifty.com)
こんなん見つけたけどどうよ?

37:デフォルトの名無しさん
07/08/16 03:08:30
新しい言語の紹介ページ見るたびいつも思うけど
紹介文だらだら書かないで何か小さいプログラムを載せておいて欲しい

38:デフォルトの名無しさん
07/08/16 03:48:27
そうだな
その言語ならではの流儀ってもんが判らんと
その言語がどう良いのかよく分からん

Schemeで再帰使わないの勿体ないし
awkで「テキストファイルの各行に対して処理」する場合ほとんどループ書かないし
Perlは色んな処理にもっと短い書き方があるし
PHPで print "<HTML>"; なんてまずしないし
"SELECT * FROM テーブル"なんてSQLを発行してプログラム側で選択射影するのは勘弁だし
そういえばCOBOLですら「レコードを桁で区切る」コードは他の言語にはない書き方をする


39:デフォルトの名無しさん
07/08/17 20:15:20
2chに書き込んでも嫌みでない程度に短く、
Schemeの特長がよくでていて、
知らない人にも簡単に説明できる、
Scheme向きの例題となるとどんなものに
なりますか。

40:デフォルトの名無しさん
07/08/18 10:47:28
gauche 0.8.11おめ。

41:デフォルトの名無しさん
07/08/18 11:04:20
>>39 そゆのはスクリプト言語の得意分野だとおもうよ
Scheme が目指してるのは数行で特徴を自慢することじゃないから

42:デフォルトの名無しさん
07/08/18 12:01:18
schemeを会社で使ったりしますか?
常識的に考えれば Haskell を使いますが。


43:デフォルトの名無しさん
07/08/18 12:45:47
どういう常識だろう。

44:デフォルトの名無しさん
07/08/18 12:47:31
>>43
「非」


45:デフォルトの名無しさん
07/08/18 20:37:17
>>39
こんなのとか?
(let f ((a 0) (b 0) (r '()))
(if (> b 10000) (reverse r)
(f b (+ a b) (cons a r))))

46:デフォルトの名無しさん
07/08/18 22:40:32
>>39
"Hello,world!"


47:デフォルトの名無しさん
07/08/18 22:41:59
>>46
確かにSchemeの特長がよくでていて、知らない人にも簡単に説明できるな。w

48:デフォルトの名無しさん
07/08/19 00:35:50
>>45
なんか最後にreverseするのがダサい

49:デフォルトの名無しさん
07/08/19 02:12:33
じゃあどうしろと

50:デフォルトの名無しさん
07/08/19 02:35:20
named letはダサい

51:デフォルトの名無しさん
07/08/19 02:41:27
>>50
ダサい部分も含めてSchemeの特徴がよく出ている例なの鴨

52:デフォルトの名無しさん
07/08/19 02:42:19
>>49
漢なら reverse! だな

53:デフォルトの名無しさん
07/08/19 02:50:23
ムチャシヤガッテ

54:デフォルトの名無しさん
07/08/19 03:53:21
((lambda (lambda) (lambda lambda)) (lambda (lambda) (lambda lambda)))


55:デフォルトの名無しさん
07/08/19 13:29:20
>>54
無限ループった

56:デフォルトの名無しさん
07/08/19 17:55:57
>>45ってaもbも増えずに無限ループするんじゃないの ?


57:デフォルトの名無しさん
07/08/19 18:07:06
>56
俺のGaucheでは動いた
フィボナッチ数列の頭にゼロが入ったものが返る式

58:デフォルトの名無しさん
07/08/19 18:26:43
これ a も b も増えないな

59:デフォルトの名無しさん
07/08/19 19:30:02
>>57
ウソ付いちゃいかん、aもbも初期値が0なので(+ a b)が0のままだぞ


60:デフォルトの名無しさん
07/08/19 19:51:38
カウンタを書くとこんな感じ

(define (returnobj x)
(define (proc1)
(set! x (+ x 1)))
(define (proc0)
(set! x (- x 1)))
(define (count)
x)
(define (interface z)
(cond((eq? z 'age)
(proc1))
((eq? z 'sage)
(proc0))
((eq? z 'count)
x)
(else (display "(www" ))))
interface)

61:デフォルトの名無しさん
07/08/19 19:54:14
実行結果

Welcome to DrScheme, version 370 [3m].
Language: Standard (R5RS).
> (define obj (returnobj 6))
> (obj 'count)
6
> (obj 'age)
> (obj 'age)
> (obj 'count)
8
> (obj 'sage)
> (obj 'count)
7
> (obj 'els)
(www
>

62:デフォルトの名無しさん
07/08/19 20:06:06
>>59
すまん (b 1) に脳内変換してくれ

63:デフォルトの名無しさん
07/08/19 21:47:25
フィボナッチしたいならどちらにしろ
初期値は a も b も 1 で始めなきゃおかしくね?

64:デフォルトの名無しさん
07/08/19 22:14:57
フィボナッチの定義次第

65:デフォルトの名無しさん
07/08/19 22:57:26
>>62
コードみてfibっぽいな~とは解ったんだが何で初期値が0かと考えたらタダの嫌がらせにしか見えなくなった俺の立場は?


66:デフォルトの名無しさん
07/08/19 23:02:29
「バグったプログラム」の実例としては良くできていた

67:デフォルトの名無しさん
07/08/19 23:24:17
>>48
(let f ((a 1) (b 1))
(if (> b 100)
'()
(cons a (f b (+ a b)))))

というかnamed letって構文はじめて知った

68:デフォルトの名無しさん
07/08/19 23:28:30
見づらいリスト・・・?

69:デフォルトの名無しさん
07/08/19 23:34:00
named let に付ける名前って loop とか良く見掛けるけど
あれはあくまで慣例に過ぎないの?

70:デフォルトの名無しさん
07/08/19 23:46:23
慣例じゃないという発想がどこから沸いて出たのかが知りたいところ

71:デフォルトの名無しさん
07/08/19 23:57:46
>>69
うん

72:デフォルトの名無しさん
07/08/20 00:05:19
>>54
((call/cc call/cc) (call/cc call/cc))

73:デフォルトの名無しさん
07/08/20 00:37:55
schemeは素晴らしいな

74:デフォルトの名無しさん
07/08/20 01:55:51
(内包表記マクロ)って当たり前のように使ってますか?

75:デフォルトの名無しさん
07/08/20 03:00:04
内包表記ってのが SRFI-42 のことならlet するよりてっとりばやいしよく使う。

76:デフォルトの名無しさん
07/08/20 03:53:29
そう、SRFI-42 のことです。

>> let するよりてっとりばやい

うーん、全然ピンと来ません。とても難しいと感じてるんですが、
どの辺から入っていけば良いのか…

77:デフォルトの名無しさん
07/08/20 05:47:05
URLリンク(practical-scheme.net)
数の対(x y)の集合を生成します。ここでxは 2以上 5未満、yは1以上 x 未満です。

(list-ec (: x 2 5) (: y 1 x) (list x y))
⇒ ((2 1) (3 1) (3 2) (4 1) (4 2) (4 3))

これの意味がわからない

78:デフォルトの名無しさん
07/08/20 06:19:04
>>77
ループの入れ子になる、と考えれば判るかな。
dotimes 使って同じ結果を得るにはこんな感じ。

(let1 acc '() (dotimes (x 3 (reverse! acc)) (dotimes (y (+ x 1)) (push! acc (list (+ x 2) (+ y 1))) )))

79:デフォルトの名無しさん
07/08/20 06:22:39
>>77
x は 2 .. 5 で、 y は 1 .. x の範囲の x y をリストにしたものの集合を返す。
どのレベルでわかんないの?逆に↓だとどのへんまでわかる?
1. (list-ec (: x 0 10) x) == (iota 10)
2. (list-ec (: x 0 10) (* x 2)) == (mapcar (lambda (x) (* x 2)) (iota 10))
3. (list-ec (: x 0 10) (: y 0 10) (cons x y))
4. (list-ec (: x 0 10) (: y 0 x) (cons x y))
(: ...) の意味がわからんとかそーゆう意味だろうか。

80:デフォルトの名無しさん
07/08/20 18:43:19
あー意味わかった
なんか「集合」って言葉に惑わされてた
対のユニークな組み合わせ生成するのかと思って
>>77のどこがそうなんだとか変に難しく考えてた
ただのループ生成器か

81:デフォルトの名無しさん
07/08/20 20:09:48
(comprehension-macro qualifier … body)
ということですが、むしろ body の書き方のほうがよくわからんです。

(do-ec (:range i 0 10)
(display i))

=>0123456789

偶数の場合に2回出力させてみようとして、(if test) を付けると前の (display i) を
begin で括らないとならない…。更に、3回出力させようとすると後の (display i) も
begin で括らないとならない…。何ででしょう?

(do-ec (:range i 0 10)
(begin (display i))
(if (even? i))
(display i))

=>001223445667889

(do-ec (:range i 0 10)
(begin (display i))
(if (even? i))
(begin (display i)
(display i)))

=>00012223444566678889


82:デフォルトの名無しさん
07/08/21 03:56:19
URLリンク(ll.jus.or.jp)
(use srfi-42)
(list-ec (: n 2 101) (if (not(any?-ec(: j 2 n)(zero?(modulo n j)))))n)
これで100までの素数が出るみたいですがわかりません


83:デフォルトの名無しさん
07/08/21 13:28:21
どうわからないのかくらい書ける人間になりましょう

84:デフォルトの名無しさん
07/08/21 20:36:12
こうですか、わかりません!!!

85:デフォルトの名無しさん
07/08/21 21:54:32
(: j 2 (sqrt n))じゃないのがわかりません。


86:デフォルトの名無しさん
07/08/22 01:12:37
Eager Comprehensions が少し見えてきたので記念パピコ
(let1 l (list-ec (:range n 2 101)
(list-ec (:range j 2 n)
(cons n (modulo n j))))
(list-ec (:list x (cdr l))
(if (not (any?-ec (:list y x) (zero? (cdr y)))))
(caar x)))


87:デフォルトの名無しさん
07/08/22 18:50:40
IronLisp きました
URLリンク(ironpython-urls.blogspot.com)

88:デフォルトの名無しさん
07/08/22 22:05:00
ダメだ、夏場に読むとアイロンLISPに見えて暑くてかなわん。


89:デフォルトの名無しさん
07/08/23 13:10:35
>>85
ちゃんと見ないでコメントするけど、
平方根の計算でループの終端をnにするか√nにするかは本質じゃないだろ

90:デフォルトの名無しさん
07/08/23 13:11:40
平方根の計算、じゃなくて素数の計算だ
すまん

91:デフォルトの名無しさん
07/08/23 18:48:29
そうですか
はい次

92:デフォルトの名無しさん
07/08/23 22:36:23
>>87
また俺LISPか

93:デフォルトの名無しさん
07/08/23 23:07:41
IronCommonLispなら欲しい

94:デフォルトの名無しさん
07/08/23 23:12:11
L#はどう?

95:デフォルトの名無しさん
07/08/24 00:22:33
IronGaucheが欲しいw

96:デフォルトの名無しさん
07/08/24 01:49:26
Iron Chefがほしい


97:デフォルトの名無しさん
07/08/24 01:58:07
IronErlangがほしい

98:デフォルトの名無しさん
07/08/24 03:15:16
スレチどすえ

99:little schemer
07/08/24 05:19:11
某scheme本の中で分からない部分があって質問させてください。
以下の定義のmultirember-coをつかって
(multirember-co 'a '((a) ((a))) (lambda (x y) y))
とすると、
((a) ((a)))
が返るのですが、これを(a a)とするにはどうすればよいでしょうか?


(define multirember-co
(lambda (a lat col)
(cond
((null? lat)
(col '() '()))
((atom? (car lat)) (cond
((eq? (car lat) a)
(multirember-co a (cdr lat)
(lambda (newlat seen)
(col newlat (cons (car lat) seen)))))
(else
(multirember-co a (cdr lat)
(lambda (newlat seen)
(col (cons (car lat) newlat) seen))))))
(else (multirember-co a (car lat)
(lambda (newlat seen)
(multirember-co a (cdr lat) (lambda (newlat2 seen2)
(col (cons newlat newlat2)
(cons seen seen2))))))))))


100:little schemer
07/08/24 12:07:05
99です。
上記の質問よりも、最後のelse以下のところをどのように理解すればよいのか
ヒントとかをもらえたら助かります。上記の処理の内容は、
(multirember-co 'a '(a b c) (lambda (x y) x))
=> (b c)
というように、1つめの引数(atom)を2つめの引数(list)から取る処理です。
このとき、2つめの引数が((a b) a b c d)の時に、つまり(car lat)が
atomでないときの動作が理解しにくいです。一旦(car lat)に対する処理を
行って、それが最後までいった後に、残りの(cdr lat)への処理を続ける
のだと思うのですが、、、、

長々と失礼しました。



101:デフォルトの名無しさん
07/08/24 13:34:47
>>97
アーランは既に JIT あるじゃん。

102:デフォルトの名無しさん
07/08/24 14:18:14
>>99-100
その本は読んでないのでコード見た印象で。

要は継続渡しなんだと思うけど、else のところは
1 まず (car lat) に対する処理をする
2 次に (cdr lat) に対する処理をする
3 二つの結果を cons してから残りの処理をする
という手順で処理するということが書いてある。

> (lambda (newlat seen)
>       (multirember-co a (cdr lat) (lambda (newlat2 seen2)
>                                     (col (cons newlat newlat2)
>                                          (cons seen seen2)))))
ここが 2,3 をまとめたもので、これを 1 のあとにやるべき処理として渡してる。
その内側の lambda が 3 に対応してる。

103:デフォルトの名無しさん
07/08/24 21:44:40
gosh> (gauche-version)
"0.8.11"

gosh> (read)
(foo, bar)
(foo ,bar)

あるいは、

gosh> '(foo, bar, baz)
(foo ,bar ,baz)

となりますがこれはこういうものなんでしょうか?

104:デフォルトの名無しさん
07/08/24 22:16:20
カンマをunquoteとして見てないとか、そういう話かな。
ちゃんと基礎やってから出直しておいで。

105:デフォルトの名無しさん
07/08/24 22:28:47
>>103
他の言語のリストやタプルの書き方と混同してない?

106:デフォルトの名無しさん
07/08/24 23:03:19
そういえば LISP 1.5 はカンマとスペースが等価だった。45年も前の話だが。
URLリンク(community.computerhistory.org)

107:デフォルトの名無しさん
07/08/24 23:19:46
そういえば","をマクロの非展開指示子にするようになったのっていつの何からなんだろう?

108:デフォルトの名無しさん
07/08/25 00:02:17
103です
ファイルに (Fri, Aug 24 23:30:43+0900 2007) のように記録されていて
(read) で読み取ろうと思ったんですが
=>(Fri ,Aug 24 |23:30:43+0900| 2007)

("Fri, Aug 24 23:30:43+0900 2007")
のように記録しとかないとならなかったということでした
readはあまり使ったことないんです、_| ̄|○

109:デフォルトの名無しさん
07/08/25 00:22:23
>>107
1980年頃のMaclispには有った

110:デフォルトの名無しさん
07/08/25 00:36:27
URLリンク(www.lingr.com)

MSVC版ktkr

111:デフォルトの名無しさん
07/08/25 02:07:07
emacs 18 にはなかった... >> quasiquote & unquote


112:little schemer
07/08/25 03:01:28
>>102
なるほど、これが継続なんですね。
もうちょっとで二冊目に行けそうなんですが、
これが理解できずに止まってました。
処理を一つ一つ追っていくとこんがらがってきてたのですが、
してくれた説明を読んだおかげでコードがわかりやすくなった感じです。
(ただ、自分ではまだ書ける気がしません)

ありがとうございました!


113:デフォルトの名無しさん
07/08/26 03:48:10
おまいらは俺schemeを実装するときの仮想マシンの設計どうしてますか?


114:デフォルトの名無しさん
07/08/26 04:08:36
SECD

115:デフォルトの名無しさん
07/08/26 08:18:04
andやorって
関数で定義したほうがapply出来たりして柔軟性が増すと思うんですが、
R5RSだと7.3でsyntax-rulesで定義がされてます。
関数で定義するとなんか問題が発生したりするんでしょうか。


116:デフォルトの名無しさん
07/08/26 08:29:19
関数にしちゃうと、必ず全引数評価しちゃうから困る。
(and (pair? foo) (car foo))
みたいなのができない。

117:デフォルトの名無しさん
07/08/26 08:34:05
どう違うかぐらい自分で確かめなさい

118:デフォルトの名無しさん
07/08/26 09:10:38
>>115
そこまでやるなら if や define も関数にしたら如何?w

119:デフォルトの名無しさん
07/08/26 09:26:33
andにしろifにしろ
陽にlambdaを渡すようにすれば関数でもいいわけだよな
果てしなく面倒くさいが

120:デフォルトの名無しさん
07/08/26 09:48:25
Haskell みたいにデフォルトで遅延評価にしちゃえば、関数で問題ないんだけどね。

>>119
その場合、各引数を lambda で包んでその関数に渡すようなマクロが欲しくなるかもw

121:デフォルトの名無しさん
07/08/26 13:16:00
スペシャルフォームじゃだめなん?


122:デフォルトの名無しさん
07/08/28 00:40:10
スッペシャルジェネレーションのほうがすき

123:デフォルトの名無しさん
07/08/29 14:14:20
デフォルトで遅延評価にしちゃえばマクロは用なしになるのかな?
現在のマクロは
Schemeだと名前呼び+レキシカルスコープの関数
CLだと名前呼び+ダイナミックスコープの関数と等価?

124:デフォルトの名無しさん
07/08/29 15:00:15
r6rsキタ

125:デフォルトの名無しさん
07/08/29 16:25:14
へー、批准されたんだ…

126:デフォルトの名無しさん
07/08/29 17:04:59
scheme構文もCLマクロもファーストクラスじゃないから関数と等価ではないかな
R6+RSで構文オブジェクトもファーストクラスにならないかな

ところでR6RSどこにキタの?

127:デフォルトの名無しさん
07/08/29 17:33:57
単純に、関数で setq って書けないよね。
引数を評価しないでシンボルのまま扱う手段が必要で、遅延評価だけじゃ足りない。

128:デフォルトの名無しさん
07/08/29 20:33:34
LISP 1.5にはマクロは無く、代わりにFSUBR/FEXPRという引数を評価しない関数があった。
評価すべき部分(例えば setq の第2引数みたいなの)は明示的に eval を呼ぶわけだが、
スコープの関係とかぐちゃぐちゃになって使いにくかったらしい。

129:デフォルトの名無しさん
07/08/31 04:16:32
>>126
URLリンク(lists.r6rs.org)
URLリンク(www.r6rs.org)

YESの人たちとNOの人たちのコメントの差が物悲しい(量・質共に)。

preliminary resultsが出た時は承認ラインが全投票人数の60%と
なぜか思い込んでたもんで、僅差(67/112)で届かないと思って
ホッとしてたりもしたんだけど、まぁ有効投票数ですよね、普通。

130:デフォルトの名無しさん
07/08/31 07:27:54
little schemerを読み終わったのですが、
どうして
(atom? (1 2 3))
はだめで、
(atom? '(1 2 3))
はよいのか、わかりません。
どうかおしえてください。

131:デフォルトの名無しさん
07/08/31 09:35:50
>>130
「よい」「だめ」とは?

132:デフォルトの名無しさん
07/08/31 11:05:24
>>130
上は手続きの呼び出し
下はリスト

133:デフォルトの名無しさん
07/08/31 12:47:30
1 っていう名前の関数はないから、(1 2 3) っていう関数呼び出しは実行できないってことだな

134:デフォルトの名無しさん
07/09/08 22:47:23
ここで聞く話じゃないのかもしれないが....

設定言語みたいなのから, マクロ使いまくりで関数自動生成しまくってる
lisp プログラムを "C に移植して" ってな話を持ちかけられたんだけど,
やっぱ yacc とか bison のお世話になるしかないのかな?

ここでまずけりゃ, 適当なところにルーティングして...


135:デフォルトの名無しさん
07/09/08 23:40:39
その仕事は ECL をリンクしたらお終いなんじゃないの。

136:デフォルトの名無しさん
07/09/09 01:13:57
>>135
おぉ... ありがとん


137:デフォルトの名無しさん
07/09/18 10:33:07
ERR5RS (Extended R5RS Scheme)
URLリンク(scheme-punks.cyber-rush.org)

どうよ

138:ZRBeILAFMGofkjIGHrE
07/09/20 12:33:38
Q5V0we <a href="URLリンク(ghquxaunglno.com) [url=URLリンク(vvxxkzczfvpn.com) [link=URLリンク(nvygioywhlms.com) URLリンク(pscwakgskwjm.com)

139:SSVIenDRWPT
07/09/20 12:33:43
ulTr67 <a href="URLリンク(uqsisuuxrasb.com) [url=URLリンク(qqpugdriqdic.com) [link=URLリンク(wxhmyrzltzhg.com) URLリンク(fmwwcqtbhkjz.com)

140:デフォルトの名無しさん
07/09/20 21:56:24
> 138-139
これってどういう事?

141:デフォルトの名無しさん
07/09/21 08:59:22
2chと互換性のある掲示板にスパム飛ばそうとしてたら2chに間違えて飛ばしちゃったみたいなことかな

142:KNvYxfMgSFWzOWxbL
07/09/22 02:55:55
PinlxK <a href="URLリンク(www.pic.ucla.edu) cock</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) cocks</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) dick</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) dicks</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) naturals</a>
[URL=URLリンク(www.pic.ucla.edu)

143:ycyihMlyObYpqBH
07/09/22 04:15:03
nleTxn <a href="URLリンク(www.pic.ucla.edu) cock</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) cocks</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) dick</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) dicks</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) naturals</a>
[URL=URLリンク(www.pic.ucla.edu)

144:デフォルトの名無しさん
07/09/22 04:27:45
よくわからんが、誰か通報しとけ

145:デフォルトの名無しさん
07/09/22 09:07:54
お前が通報しろ。

146:デフォルトの名無しさん
07/09/22 11:40:03
じゃあ俺がやるよ

147:デフォルトの名無しさん
07/09/22 12:06:42
いやいや俺が

148:デフォルトの名無しさん
07/09/22 12:12:04
そんじゃ俺が・・・

149:デフォルトの名無しさん
07/09/22 12:14:34
俺は断る

150:デフォルトの名無しさん
07/09/22 12:21:08
>>149
wwwwww

151:OniOoXUFcrjMlcjpz
07/09/22 12:21:12
7S9kFC <a href="URLリンク(www.pic.ucla.edu) nipples</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) tits</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) tits round asses</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) lesbians</a>
[URL=URLリンク(www.pic.ucla.edu)
<a href="URLリンク(www.pic.ucla.edu) pussy</a>
[URL=URLリンク(www.pic.ucla.edu)

152:デフォルトの名無しさん
07/09/22 23:05:19
嘘だけど通報しといた

153:デフォルトの名無しさん
07/09/22 23:06:36
嘘かよw

154:デフォルトの名無しさん
07/09/22 23:21:00
じゃあ俺がやるよ

155:デフォルトの名無しさん
07/09/22 23:35:29
俺はもうやったぜ

156:デフォルトの名無しさん
07/09/22 23:39:18
いや、俺がやったんだし

157:デフォルトの名無しさん
07/09/23 10:58:34
はあ?お前がやったんだろ

158:デフォルトの名無しさん
07/09/23 11:58:24
ということは、俺じゃなかったの?

159:デフォルトの名無しさん
07/09/23 12:55:34
え、つーか俺やった記憶あるんだけど

160:デフォルトの名無しさん
07/09/23 13:08:43
お前がやったの見たぜ

161:デフォルトの名無しさん
07/09/23 13:56:58
俺は、髪の長い女がやってるのを見た

162:デフォルトの名無しさん
07/09/23 14:37:12
ずっと見てたのか?

163:デフォルトの名無しさん
07/09/23 15:34:44
そうだ、着替えまで見てた

164:デフォルトの名無しさん
07/09/23 15:47:02
それは俺のをか?


165:デフォルトの名無しさん
07/09/23 15:49:18
着替えがあるならそう言ってくれなくちゃだよ。俺帰っちゃったじゃん。

166:デフォルトの名無しさん
07/09/23 15:51:50
甘いな、俺は風呂まで見たぜ

167:デフォルトの名無しさん
07/09/23 16:00:12
でも誰も入っていなかったのが残念だ

168:デフォルトの名無しさん
07/09/23 16:18:46
勝手に決めつけんなよ
俺にはフルチンのイジが見えたのだが

169:デフォルトの名無しさん
07/09/23 18:46:26
((quote))
こんなんみえた

170:デフォルトの名無しさん
07/09/24 01:21:54
,@female
脱がしてる感するよね

171:デフォルトの名無しさん
07/09/24 01:57:38
劇ワロタw

172:デフォルトの名無しさん
07/09/24 02:52:11
DrSchemeでtraceは使えないんでしょうか?

173:デフォルトの名無しさん
07/09/28 19:43:31
Allegro CL free express editionて良いの?

174:デフォルトの名無しさん
07/09/28 20:24:41
用途によるな。どんな用途を考えてる?あと環境は?

175:デフォルトの名無しさん
07/09/28 22:49:03
プログラミング初心者でLispを覚えたいのです。
CLISP+Emacsなどでも覚えられると思うのですが、ACLが素晴らしいIDEだと書いてあったので
最初からそういうものを使うのが良いのか悪いのかもわかりませんが(^^;)


176:デフォルトの名無しさん
07/09/28 22:50:16
環境はWindowsXPです。

177:デフォルトの名無しさん
07/09/28 22:54:11
ACL の IDE(elisp) はいいよ。Emacsをちゃんと使えるなら。
ストレスなくlispを勉強できると思うよ。

つか、elisp なのにあれほど完成度高いのは異常。


178:デフォルトの名無しさん
07/09/28 23:01:46
Lisp を覚えたいという点なら、あとは Free Edition の制限に心理的抵抗がなければ良い環境だ。
ただし「IDE が素晴しい」ってのは微妙だな。どこで読んだの?
VB みたいな GUI ビルダーとかプロファイラとかが充実してるという意味ならそうだが、
コードを書く作業だけは Emacs と SLIME もしくは ELI (ACL附属の SLIME みたいなもん) を使うほうが一般的。

車の免許にたとえると、
- ACL Express: 初心者向けに調整されてリミッターかけまくったレーシングカー
- CLISP: リミッターはなしの限界まで使いたおせる軽自動車

Emacs のセットアップがめんどうなら LispWorks なんかもいいかもね。エディタも Emacs ライクだし。
まぁ、かくいう俺は学生時代はリミッターつきというのが気に入らなくて CLISP とかフリーのを使ってたけどね。

179:デフォルトの名無しさん
07/09/29 00:34:20
LispWorkssのフリー版はcons cellの数に制限があって、リミットがくるとダイアログがでる。
で、値段も手頃とは言い難いが手が出ないほどじゃない(ACLは無理!)ので購入しようとしたのだけど。
国内じゃ扱ってないのでしょんぼり。



180:デフォルトの名無しさん
07/09/29 00:44:55
そこでコーマンリスプですよ

181:175
07/09/29 01:21:28
ありがとうございます。
なんとなくイメージがつかめました。かな?

> ただし「IDE が素晴しい」ってのは微妙だな。どこで読んだの?
ここです。
URLリンク(tamago-club.cocolog-nifty.com)

Emacsは大学で端末室にあったUNIXでパンキョウの課題のレポートなどを
書くときに使ったり、設定をコピペして変えて遊んだりしたくらいでして、
使いこなしているというレベルではありませんw
一応Emacsではこれを最近ダウソして弄くってみているところです。
URLリンク(www.gigamonkeys.com)

182:デフォルトの名無しさん
07/09/29 10:33:22
お話の途中で申し訳ないんですが、質問させてください。
第2引数のリストから第1引数と同じ要素を取り除くプログラムを下のように書いたのですが上手く動きません。
どこがどう間違っているのでしょうか。インタプリタはgaucheです。
(begin
 (define rember
  (lambda (a l)
   (cond
   ( (null? l) () )
   ( (list? (car l) ) (cons (rember a (car l)) (rember a (cdr l))))
   ( else
    ( cond
    ( (string=? a (car l)) (rember a (cdr l)))
    ( else ( cons (car l)(rember a (cdr l))))
   )))))
 (rember "hoge" '("hello" '("hello" "world" ) "hoge" "world")))

183:デフォルトの名無しさん
07/09/29 10:43:01
実行しただけだが、1行( (null? l) '()) と直しただけで、
後は説明通りに動いてるように見えるけど。
どう上手く動かしたいのかな?

ちなみにこれが返ってきたが
=>("hello" '("hello" "world") "world")

184:182
07/09/29 11:02:27
>>183
自分の環境で実行すると下のようにエラーが出てしまうんです。
何が悪いのか全然わからなくて…

gosh> *** ERROR: string required, but got quote
Stack Trace:
_______________________________________
0 (string=? a (car l))
At line 219 of "(stdin)"
1 (rember a (car l))
At line 216 of "(stdin)"
2 (rember a (cdr l))
At line 220 of "(stdin)"

185:デフォルトの名無しさん
07/09/29 11:50:36
そういうことならリスト中のquoteを外せば動くけど、
string=?する前にはstring?の述語入れた方がいいね。
こっちで試した処理系はたまたまsymbolと文字列が
同じ扱いなんで混乱させてしまった。

186:デフォルトの名無しさん
07/09/29 11:51:27
やれやれ

187:デフォルトの名無しさん
07/09/29 11:54:04
- ( (string=? a (car l)) (rember a (cdr l)))
+ ( (and (string? (car l)) (string=? a (car l))) (rember a (cdr l)))

symbol に string=? を適用したので error になってる、っていってるじゃん。


188:デフォルトの名無しさん
07/09/29 11:54:36
そういうアバウトな要素の比較はequal?のが良いと思う。
string=?は文字列が来る事が確実な時にのみ使うべき。

189:デフォルトの名無しさん
07/09/29 12:01:44
おいおいw

190:デフォルトの名無しさん
07/09/29 12:04:15
→ (rember "hoge" '("hello" ("hello" "world" ) "hoge" "world")))
→ remover
ってことじゃないんですかねw

191:182
07/09/29 13:01:54
>>185 >>187 >>188
symbolについての理解不足を指摘していただいてありがとうございます。
schemeの理解が少し進みました。
symbolだから何が入っててもおかしくないわけですね。listでも、文字列でも、関数でも。
関数のリストって考えもできるのがおもしろそうです。
ありがとうございました。

192:175
07/09/30 00:51:48
ACLのインストーラ落として起動したら、「200Mあるおw」
って言われたので断念しました。
LISPBoxで勉強します。

193:デフォルトの名無しさん
07/09/30 02:53:24
よくわからん…ドキュメントとかライブラリとか込みで 200MB だろ?
VisualStudio なんかに比べたら激しく小さいと思うけど、どれくらいのサイズなら OK なの?

194:デフォルトの名無しさん
07/09/30 03:01:55
200M入らなくて諦めるってのはその程度の意気込みと言うこと

195:デフォルトの名無しさん
07/09/30 03:13:15
そんなふうに意見を切りすてるのは勿体無い。理由をちゃんと聞けば対応できるかもしれないじゃん。
ドキュメントをあきらめて Web 参照にするだけで数十M減らせるし。ただでさえマイナーで、俺たちは死滅しかけているんだぞっと。
意気込みとかなくても気軽に Lisp の世界に参加できる事をもっとアピールしたい。Emacs からでもいいじゃない。

196:デフォルトの名無しさん
07/09/30 03:24:08
関係者居るんだな…

197:デフォルトの名無しさん
07/09/30 03:30:32
ん? ACL のってことか?全然関係ねーよ。でも Franz の人は c.l.l とかに出てきてるから意見を言うくらいはできるだろう。

198:デフォルトの名無しさん
07/09/30 03:31:33
悪いこととは思ってないんだが。

199:デフォルトの名無しさん
07/09/30 03:55:55
>>196=>>198
「関係者」とか「悪いこと」とか、
自分の脳内だけでこの場と関係してる概念持ち出されても
何がやりたいのかさっぱりなんだけど。

200:デフォルトの名無しさん
07/09/30 05:07:55
いいよもう黒板で。

201:デフォルトの名無しさん
07/09/30 10:59:31
200MB?
Schemeってそんなにあんの?
cygwinのSchemeとかもそんくらいあんの?

202:デフォルトの名無しさん
07/09/30 11:29:16
そんな話題どうでもええ

203:デフォルトの名無しさん
07/09/30 11:32:21
little schemer,seaseoned schemer,reasoned schemerはちゃんと読みたいし、
SICPも読んでみたいし、λ計算とかの数学的な背景もきちんと勉強したいが、
仕事しながらだと何年たってもおわらなそう。
みんなはやっぱ情報専攻で大学の時にやったの?うらやましいわ。

204:デフォルトの名無しさん
07/09/30 11:53:07
寝食を忘れて読めばいい
少年老いやすく学成りがたし、一瞬の光陰軽んずべからず
λ計算に王道なし

205:デフォルトの名無しさん
07/09/30 12:31:56
睡眠はとれよ

206:デフォルトの名無しさん
07/09/30 12:52:16
やだよ

207:デフォルトの名無しさん
07/09/30 12:58:47
禿げるよ

208:デフォルトの名無しさん
07/09/30 13:04:32
剥げるか、読み通すか、それが問題だ。

209:デフォルトの名無しさん
07/09/30 13:05:08
ぜんぜん

210:デフォルトの名無しさん
07/09/30 13:06:19
呼んだ~?
URLリンク(eecsfacweb.mit.edu)

211:デフォルトの名無しさん
07/09/30 13:09:02
どうして Lisp と関係ない話題だと元気になるのですか?自演なのですか?

212:デフォルトの名無しさん
07/09/30 13:46:46
>>203
経験を積んだ大人じゃないとLispの良さは分からない。

213:デフォルトの名無しさん
07/09/30 13:47:13
どうも2ちゃんに来ると攻撃的なレスつけちゃうよね。
Lispに関して気軽に話せる場なんて他にないんだし仲良くやってこうよ。

214:デフォルトの名無しさん
07/09/30 13:50:36
>>212
Paul Grahamが25,6歳以上の奴にはLispは無理って言ってなかったっけ

215:デフォルトの名無しさん
07/09/30 13:53:33
LISPで2chツール(ブラウザ他)作ったら人気出ると思うんだ。

216:デフォルトの名無しさん
07/09/30 13:56:49
歳をとると経験のバイアスがかかって新しい事へ挑戦しにくくなるってのはあるけど、本当は歳なんて関係ない。

217:デフォルトの名無しさん
07/09/30 13:57:39
LISPは自然言語だからな。

218:デフォルトの名無しさん
07/09/30 14:03:47
Paul Grahamが「裸エプロンより裸ランドセルだ」って言っていた

219:デフォルトの名無しさん
07/09/30 14:13:04
>>215
Navi2ch とか 2ch-mode for xyzzy はLispでないと?

220:デフォルトの名無しさん
07/09/30 14:13:44
>>214
Orz

221:デフォルトの名無しさん
07/09/30 14:19:45
>>213
お前はなにか勘違いしている
2chは議論をするところでも仲良しごっこをするところでもない
レスで喧嘩して遊ぶところだ

その中にたまにいい情報が混じっている、くらいのもんだ

222:デフォルトの名無しさん
07/09/30 14:24:47
萌Emacsとかあったらいいな。
2chブラウザもWinnyもShareも出来て、もちろんだが全てメイドが奉仕してくれるんだ。
つまりそれを使っているとそのうち魔法使いになれる。どうかな。


223:デフォルトの名無しさん
07/09/30 14:43:44
>>219
それはEmacsやXyzzyを使う人にしか魅力がないよね。
そうじゃなくて独立したアプリなんだけどLISPでないと出来にくいような
そして魅力的なものってこと。
作れたら作ってるんで所詮ないものねだりだけど。
普及させたいって人が居るみたいだから言ってみた。

224:デフォルトの名無しさん
07/09/30 14:48:14
LISPでないと出来にくいようなって物が、そもそも無いんじゃないの?

専ブラに関して言えば、出尽くした感があるし。


225:デフォルトの名無しさん
07/09/30 14:56:45
>>223
ランタイムライセンスがフリーでギコナビレベルのGUIの作れるLispってあったけ?


226:デフォルトの名無しさん
07/09/30 15:00:54
>>223
しようと思えばnavi2chは独立なアプリにもできるよ。
普通にインストールされた状態のEmacsはつまるところ、
elisp言語処理系にエディタ用拡張モジュールをビルトインした状態のものだから。

普通はEmacsを立ち上げてその中で作業の一環としてM-x navi2chするから
わざわざ独立したコマンドに仕立てないだけ。

227:デフォルトの名無しさん
07/09/30 15:03:15
独立したアプリという意味がまったくわかってないな
頭悪そう

228:デフォルトの名無しさん
07/09/30 15:05:38
>>224
人工ポールグレアムはLispじゃないと作れなかったよ。
このスレで初級的な質問に回答させてるけど、よくできてるだろ?



229:デフォルトの名無しさん
07/09/30 15:08:13
227のいう意味とやらがはっきりしないが、もしかしてdumpということをご存じないのかな?

230:デフォルトの名無しさん
07/09/30 15:08:57
マジでか!

231:デフォルトの名無しさん
07/09/30 15:15:19
そうそう。EmacsとかなしでWYSIWYGで誰でも簡単に使えなきゃ、ってこと。
そういうとこから入る訳じゃない。子供は。

232:デフォルトの名無しさん
07/09/30 15:20:26
こんにちは人工苫米地です。洗脳しにきました。

233:デフォルトの名無しさん
07/09/30 15:25:44
どったのこの速さ?
と思ったらキチガイが一匹紛れ込んでるだけかよ

234:デフォルトの名無しさん
07/09/30 15:29:38
> (= (+ 1 1) 1)
t
ほんとだ!

235:デフォルトの名無しさん
07/09/30 16:01:21
僕のオナニーみてください>< まで読んだ

236:デフォルトの名無しさん
07/09/30 16:04:16
>>229
毎回あの糞重い起動で?
設定を全部テキストとS式で設定して?
ファイルサイズは?

独立アプリとしてかなり致命的だと思うんだけど
つーか話の流れを見ればただたんに「できる」って話をしていないのは判るだろう
読解力無いのかよ・・・

237:デフォルトの名無しさん
07/09/30 16:08:00
>>215
>LISPで2chツール(ブラウザ他)作ったら人気出ると思うんだ。

まずこの仮定が間違ってるから仕方がない。

238:デフォルトの名無しさん
07/09/30 16:13:43
LISPerはプログラムは作ってもアプリは作らない

239:デフォルトの名無しさん
07/09/30 18:34:50
>>238
!!!

240:デフォルトの名無しさん
07/09/30 18:40:57
処理系作りで忙しいから応用には興味がないとかw

241:デフォルトの名無しさん
07/09/30 19:21:17
言語の乗り換えの契機になるようなアプリって何だろうね。
Rails は Ruby 書く人を (たぶん) 増やしたのだろうけど、
それは、今の時代の空気 (「WEB2.0」だの「アジャイル」だの) に
良く合っていたからかな。Rails はアプリじゃないが。
次の時代の空気を先取りする Lisp 製アプリ


242:デフォルトの名無しさん
07/09/30 19:26:33
を、俺が作ろうと思っている。ちょっとまちなー


243:デフォルトの名無しさん
07/09/30 19:26:52
アプリが増えても書く人は増えないな。やっぱフレームワークですよ。
魔法のようなやつだれか作ってくれ。

244:デフォルトの名無しさん
07/09/30 19:28:18
47氏キター!

245:デフォルトの名無しさん
07/09/30 19:30:35
記念真紀子age

246:デフォルトの名無しさん
07/09/30 19:30:53
schemeがどこまでできるのかわからん・・・
組み込み関数のリファレンス的なページないですか><

247:デフォルトの名無しさん
07/09/30 19:52:00
ocamlとかhaskellなら開発効率が全然違うって話だけどね。
pugsとかいうperl6の処理系を作った大学生はhaskellの勉強から3ヶ月でpugs完成させたっていうけど。
俺は3ヶ月じゃhaskell使いこなせ無さそうだし。

248:デフォルトの名無しさん
07/09/30 20:13:07
Haskellから得るものは大きいが
Lispから得たものはないと言ってみる

249:デフォルトの名無しさん
07/09/30 20:25:27
>>246
ここに全部書いてあるよ
URLリンク(www.r6rs.org)

250:デフォルトの名無しさん
07/09/30 20:30:48
個人的な感覚では、ocamlは型にうるさいschemeって感じだけど、
haskellは全然別物って気がしてる。
haskellは入門書を読んで、ちょろちょろ書いてみる程度しか知らないが。


251:デフォルトの名無しさん
07/09/30 20:41:40
R6RSでたんだ。知らなかったよ。
どこが変わったのかな・・・

252:デフォルトの名無しさん
07/09/30 21:17:23
REPL が無くなったんだっけ? >> R6RS

253:デフォルトの名無しさん
07/09/30 23:12:29
WindowsのUIがまともに使えるLispってACL以外にあるのけ?


254:デフォルトの名無しさん
07/09/30 23:31:48
>>253
>>180

255:デフォルトの名無しさん
07/10/01 00:15:59
つ LispWorks

256:デフォルトの名無しさん
07/10/01 00:21:12
分散処理のライブラリを書いてたらLispっぽくなってきた
/( ^o^ )\なんてこったい

257:デフォルトの名無しさん
07/10/01 00:29:05
>>254
Corman、日本語扱えるようになったの?

258:デフォルトの名無しさん
07/10/01 00:42:12
日本語っつーかunicode対応してないの?

259:デフォルトの名無しさん
07/10/01 00:52:46
>>256
グリーンスパンの(ry

260:デフォルトの名無しさん
07/10/01 01:26:32
>>249
㌧クス!

261:デフォルトの名無しさん
07/10/01 19:53:54
なんで誰も>>204に「“一寸”ですよ」と教えてあげない件

262:デフォルトの名無しさん
07/10/02 00:32:38
宣言的という事がよくわかりません。どうしたらいいですか。
タコな質問ですみません。

263:デフォルトの名無しさん
07/10/02 03:01:18
処理の手順を書くのは手続き型言語で良いんだけど
その中でも、何かを求める式を考えるときは Scheme を使う俺
手続き型言語で複雑な式は考えたくない

264:デフォルトの名無しさん
07/10/02 22:06:16
しっかしLispってマイナーだよね…
誰も知らんぞ

265:デフォルトの名無しさん
07/10/02 22:13:15
どんなとこに居るんだよw

266:デフォルトの名無しさん
07/10/02 22:30:38
>>264
中学高校のパソ部ですか?ww

267:デフォルトの名無しさん
07/10/02 22:32:52
このつまらない流れは自演なの?

268:デフォルトの名無しさん
07/10/03 00:37:23
しっかしLispってマイナーだよね…
×誰も知らんぞ
○誰も開発に使ってないぞ

269:デフォルトの名無しさん
07/10/03 00:38:27
Lispなら聞いたことあるくらいは言ってもらえる。
Schemeとなると更に知名度下がるけど。

270:デフォルトの名無しさん
07/10/03 00:50:54
俺の周りの奴には一通りプログラミング言語の歴史を説明しておいたから
Lisp を知らない人は居ない。まあ憶える必要の無い言語くらいに思われている
みたいだけど。

271:デフォルトの名無しさん
07/10/03 01:11:04
これを見せればOK\(^o^)/
URLリンク(www.asahi-net.or.jp)

272:デフォルトの名無しさん
07/10/03 01:13:30
URL切れちゃった/(^o^)\
URLリンク(www.asahi-net.or.jp)

273:デフォルトの名無しさん
07/10/03 01:20:20
次からテンプレに貼ります。

274:デフォルトの名無しさん
07/10/03 01:23:52
>>272のリンクにあるみたいにLispがそんなにすげーなら
なんで>>268みたいなことになるんだ?
逆に言えばLispって誰も使わないってことは…

275:デフォルトの名無しさん
07/10/03 01:35:13
Lisperはジェダイかニュータイプなんだよ。

276:デフォルトの名無しさん
07/10/03 01:39:46
>>274
凄すぎて普通程度の脳みそだと使いにくいってことじゃね?

277:デフォルトの名無しさん
07/10/03 01:52:47
>>274
Lisperは一向に完成する見込みのない「LISP以上の何か」を作るのに忙しい



278:デフォルトの名無しさん
07/10/03 08:10:41
マジレスすると、仕事でプログラムやってる奴の
ほとんどは仕事として淡々と与えられたものを使っているだけ。
プログラム自身に興味がある奴はごく一部。

279:デフォルトの名無しさん
07/10/03 08:24:13
programing言語を選択する managerには有り難味がわからない言語だからな。


280:デフォルトの名無しさん
07/10/03 08:43:56
Lispの凄さが真実なら、マネージャーにはすげーありがたい話だろ。
でも誰も使わないっていうんはつまりそういうことなんじゃね?

281:デフォルトの名無しさん
07/10/03 08:45:01
なんで日本政府は一般的にもっと教育、啓蒙しなかったのかな。
その尻拭いに日本政府が金出して安い開発環境作れよ\(^Λ^)/
Allegro高いから買えないんだよ/(^Λ^)\

282:デフォルトの名無しさん
07/10/03 08:46:45
頭のとんがったマネージャーが悪いんだなw

283:デフォルトの名無しさん
07/10/03 08:55:47
啓蒙しようとして先行き過ぎて第5世代がこけちゃったんだよ。
それにちゃんと国のお金で Kyoto Common Lisp (aka GCL) をつくってるじゃん。


284:デフォルトの名無しさん
07/10/03 08:59:37
そうでしたか。すみません\(^λ^)\

285:デフォルトの名無しさん
07/10/03 10:17:54
r5rs→r6rsのdiff解説ページありますか?

286:デフォルトの名無しさん
07/10/03 10:19:28
URLリンク(practical-scheme.net)

287:デフォルトの名無しさん
07/10/03 11:21:28
>>280
つまりそういうこと。
たまたま巡り合わせで一緒に仕事してるだけの玉石混合の面子の中に、
「全員が使いこなせること」を期待して投入できる言語じゃないんだな。
だからマネージャーにはLispは選べない。ほぼ全員が「できる奴」である稀な場合を除いて。
マネージャーに選んでもらえるように作られたJavaあたりとは、そのへん対極だね。

288:デフォルトの名無しさん
07/10/03 18:34:43
"Common Scheme"キタコレ

289:デフォルトの名無しさん
07/10/03 21:40:00
質問させてください。
gaucheでマクロを展開した結果を確認したいのですが、
macroexpandで完全に(展開できなくなるまで)展開されません。

例えば

(define-syntax my-let
(syntax-rules ()
((_ () . body)
(begin . body))
((_ ((var expr) . binds) . body)
(let1 var expr (my-let binds . body)))))

(macroexpand '(my-let ( (b 3)) (list a b)))
;;=> (#<identifier gauche#let> ((b 3)) (#<identifier user#my-let> () (list a b)))

という感じです。my-letが1段階しか展開されません。

完全に展開した結果を得るにはどうしたらよいのでしょうか?

290:デフォルトの名無しさん
07/10/03 22:14:15
>>287
しかしできない奴はとことんできないので、言語はあまり関係ないかも。
言語よりも開発を進めやすいツール・環境を整えられるかが大事だと思った。

そういう意味でJavaは選ばれやすいかもしれない。
Lispにチーム開発向けのツール類ってあるのかな。

291:デフォルトの名無しさん
07/10/03 22:20:24
Lisp信者が言うほどにLispが優れてるって証拠が出て来ないんだよね。
俺たちはLispが最高だって信じてるぜ!って話しでいいならそれでいいけど。

292:デフォルトの名無しさん
07/10/03 22:22:46
自分の周囲を一般化しすぎなんだろう…。
米軍とかスピンアウトしたロボティクス企業とかはいまだに使ってるし、
ちゃんとその手のエンジニアを募集している。
A. 自分の周囲でだれも使ってない → 世間でだれも使ってない
B. 自分の周囲ではマニアが趣味でやってる → 世間でもマニアしか使ってない
は飛躍しすぎだろう。人数ベースでいえば Java より使われていない事は事実だけど、
コンパイラメーカーがやっていける程度の需要はあるってこと。

293:デフォルトの名無しさん
07/10/03 22:23:16
勉強もしないでうわべだけ知ってるつもりになりたいだけならあきらめたほうがいいよ

294:デフォルトの名無しさん
07/10/03 22:30:56
>>291
別に優れてはいないと思うよ。自分で好きにいじくれるところが好きなんであって、
1. 速度ではアセンブラや C でチューニングしたものには劣る
2. 文字数単位での表記の簡潔さやライブラリの充実度では LL 言語よりすくない
3. ユーザー数は C/C++/Java/LL言語 あたりよりすくない
あたりなら大抵の Lisper/Schemer なら認めるところだろう。

少なくとも俺が Lisp をやめらんないのは自由さ、それだけが理由。
師匠の受けうりだが、他にもっといい言語や表記方法があれば速攻乗りかえるよ。

295:デフォルトの名無しさん
07/10/03 23:42:54
そのマイナー言語で何が達成されたのか?
その自由な言語で何が達成されたのか?
新卒の学生だって面接で聞かれるようなことなのに、Lisp信者が全然答えられないってことが問題なんだ。
Java,C++はいろんなところでたくさんの人の役に立ってる。
Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
同じ関数型言語のhaskellはpugsの実装を3ヶ月と経たずに達成した。
じゃあLispは一体何をもたらしたんだ?

296:デフォルトの名無しさん
07/10/03 23:44:35
>>289
macroexpandはよくわからんが、
そのマクロ自体がR5RS的には変じゃね?

(define-syntax my-let
(syntax-rules ()
((_ () body ...)
(begin body ...))
((_ ((var expr) binds ...) body ...)
(let1 var expr (my-let (binds ...) body ...)))))

たぶん、この辺の話題と絡んでくると思う。
URLリンク(practical-scheme.net)

なんか俺もあんまり理解できてないので詳しい人の見解が聞きたい。

297:デフォルトの名無しさん
07/10/03 23:48:00
本気で逝ってるの?釣り?

298:デフォルトの名無しさん
07/10/03 23:53:35
>>295
釣り師いいかげんうざいよ。それとも本気?
本気で知りたいならまず1年Lispを使ってみな。

残念ながらここは面接室じゃないんだよ。

299:あえてつられてみよう
07/10/03 23:59:34
>そのマイナー言語で何が達成されたのか?
我々のプロジェクトのプロトタイプをクライアントに承認させるに十分な性能を短期間で叩き出した
>その自由な言語で何が達成されたのか?
同上
>新卒の学生だって面接で聞かれるようなことなのに、Lisp信者が全然答えられないってことが問題なんだ。
小僧の人生経験なんか知ったことか
>Java,C++はいろんなところでたくさんの人の役に立ってる。
それを否定した事はいちどもねぇよ
>Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
LLが役に立つ分野を否定した覚えもないが?
>同じ関数型言語のhaskellはpugsの実装を3ヶ月と経たずに達成した。
それがどうした?
>じゃあLispは一体何をもたらしたんだ?
生まれてから今までいくつネタを提供したとおもっているんだ?
だいたいマジな理由なら最初に答えたよ。


300:デフォルトの名無しさん
07/10/04 00:03:33
米軍の兵站システムや軍事シミュレーション、ロボット制御で役に立ってるよ。
過去の実績というなら Prolog、ML、JavaScript、Haskell の実装をもたらした。
あと GUI 統合システムの先駆けで、ガベージコレクション技術を進歩させ、
ファミコン時代の開発環境を提供し、3D-CG 開発環境としてマリオ64などをもたらした。
あと Java 作者の Gosling や Guy L Steel、Java の世界に世代別 GC を導入した David Moon、
Ghostscript の作者 Peter といった分野で貢献してるね。そうか Richard M Stallman がいなけば GNU はなかったので GCC もなかったね。
まぁ、ひたすら難癖をつけるのが目的なんだろうけど…

301:デフォルトの名無しさん
07/10/04 00:06:22
あー有名人の名前を出すとよけい粘着否定したくなるか。300 は忘れてくれ。

302:デフォルトの名無しさん
07/10/04 00:06:52
Lisp を否定する物ではないけど、Lisp は常にプロトタイプの為の言語かもしれない、
とは割と本気で思う。Lisp が解くのは先端の尖った領域の課題で、
一般的に広まるようなものは、きっとLispでは解かれた後に別の言語で
書きなおされるんだろう。

303:デフォルトの名無しさん
07/10/04 00:08:57
Lispは継続的に宣伝してくれるSun並みの規模の企業いないだろ。
まずそれが第一の問題。

304:デフォルトの名無しさん
07/10/04 00:09:20
ていうかマジでもう答でてるよな。
自由で柔軟で強力で、ゆえに「言語の意味と生産性」が使い手の能力の高純度の反映となる言語。

だいたい、多くの人間に等しく効能を与えるタイプの言語じゃないことは散々触れられているのに、
ここに来てまだ
> Java,C++はいろんなところでたくさんの人の役に立ってる。
> Perl,JavaScriptは業界標準だし、Rubyにはrailsがある。
みたいな「たくさんの人が使うことがその言語の凄さ」という価値観から来る例をもってくるあたり、
いかに「人の話をまったく聞かずに、誰も俺に答えない誰も俺に答えないと連呼してる」かってのがよくわかる。

305:デフォルトの名無しさん
07/10/04 00:10:59
>>300
有名人云々はともかく、昔GCCをhackしていて、ターゲットアーキテクチャの定義とかがなんか
Lispっぽい言語で書いてあって驚いたことがある。Lisp(的な発想)が無ければあれだけ簡潔に
ポータブルなコンパイラを作るのは難しかったかもしれないね。

306:デフォルトの名無しさん
07/10/04 00:11:46
>>304
たぶんプログラムなんて書いたこともない人なんだろうね。

307:289
07/10/04 00:12:54
>>296
. bodyみたいな使い方は
URLリンク(www.ice.nuie.nagoya-u.ac.jp)
を見て知ったんですが、どうなんでしょう。

define-syntaxはdefine-macroより制約が多すぎてなかなか書けない……

308:デフォルトの名無しさん
07/10/04 00:13:14
>>300
OO, generics, reflectionの世界に果たした貢献も大きい。
今も昔もプログラミング言語の実験場の一つ。


309:デフォルトの名無しさん
07/10/04 00:14:51
一部の人間の宣伝文句の割りにはマイナーなのも事実。
ラテン語みたいなもんかなあ。

310:デフォルトの名無しさん
07/10/04 00:14:59
>>303
だけど、宣伝されて皆が興味を持つLisp、なんてありえると思う?
Lispは永遠にスーパーエンジニアの秘密兵器なんじゃないだろうか。
ま、おれはLispで凄いキラーアプリつくる予定だけど。

311:デフォルトの名無しさん
07/10/04 00:17:35
>>238

312:デフォルトの名無しさん
07/10/04 00:20:05
>>305
RMS の経歴を考えれば妥当でしょ。俺は↓のほうがびっくりした。
URLリンク(lispuser.net)
AoE II 遊んでただけど知らなかったわ。

313:デフォルトの名無しさん
07/10/04 00:22:55
慣れないうちは()の多さに目が疲れる
それを乗り越えれればきっとはまれる

314:デフォルトの名無しさん
07/10/04 00:23:01
KiczalesだってAMOPの中の人だもんなあ

315:デフォルトの名無しさん
07/10/04 00:25:49
最初気になった括弧が、段々ただの「紙の端」くらいにしか思わなくなってくるから不思議だ。

昔の自分は何故、閉じ括弧が連続している部分をあんなに不安げに見つめていたのか、
もううまく思い出せないよ。あんな箇所、全然見る必要無いのにな。

316:デフォルトの名無しさん
07/10/04 00:26:26
>>313
エディタの設定で括弧の色を薄くするという、なんともチープなハックもあるがw


317:デフォルトの名無しさん
07/10/04 00:29:33
ところで括弧の話が出たついでにおまえらに聞くが、R6RSの [ ] ってどう思う?
Lisp慣れてる人は「そんなの要らん」だろうけど、これで少しでも慣れない人に
わかりやすくなるならアリなのかな、とも思うのだが。

318:308
07/10/04 00:30:52
あら、ちょっと探している間にずいぶんと流れてる…
>>307
URLリンク(practical-scheme.net)

って探すのに15分以上かかったのね…

319:デフォルトの名無しさん
07/10/04 00:32:28
工学の為の工学か

320:デフォルトの名無しさん
07/10/04 00:32:39
>>317
おれは関数適用以外の括弧に[]つかうのはアリだと思うけど、
R6RSの投票結果ページにあった反対意見の中には、
処理系独自の拡張用に[]をとっておいて欲しい、というのもあった。
なるほどなあとも思った。

321:デフォルトの名無しさん
07/10/04 00:33:45
独自拡張は#~使えよ。

322:デフォルトの名無しさん
07/10/04 00:34:28
>>315
その不安感分かるw
そして慣れると段々とカッコが見えなくなってくる。脳での処理方法が変わるんだろうね。
>>317
初心者に何の助けにもならないと思う>>[]
別に()の数が減るわけじゃないし。「異様」なカッコだらけのLispプログラムに、
ちょっと違うカッコ付けたって、普通のプログラムになるわけじゃないし。

323:デフォルトの名無しさん
07/10/04 00:35:35
>>320
確か CLtL にも [ ] を(デフォルトでは)定義しない理由でそんなことが書いてあったな

324:デフォルトの名無しさん
07/10/04 00:35:51
>>317
最小にこだわってたんじゃなかったか?とツッコミたくなるね。[ ] をユーザーに解放しないなんてとんでもない。

つうか define-syntax もよー。チューリング完全ならいいってもんじゃねーだろ。
パターンマッチ + 実用上十分な衝突の回避を defmacro の上に実装してよって思うね。

325:デフォルトの名無しさん
07/10/04 00:38:16
KOKUBANに書ければどうだっていいんだよ

326:デフォルトの名無しさん
07/10/04 00:38:52
>>316
括弧の良さというのは表現の“軽さ”だと思うんだよね。あれ以上シンプルな記号はあまりない。
これが begin ~ end とか、XMLみたいな表記だったら、仮に論理的に同じこと書けても使い物にならんと思う。

327:デフォルトの名無しさん
07/10/04 00:39:35
その昔スーパー括弧閉じってのがあってですね。


328:デフォルトの名無しさん
07/10/04 00:40:53
>>327
パンチカードでは重宝であったw

329:デフォルトの名無しさん
07/10/04 00:43:13
支援機能つきエディタの発展とともに消えたんだよな >スーパー括弧

330:デフォルトの名無しさん
07/10/04 00:45:52
どんなことがあってもXSLTの再帰関数よりは簡潔です

331:デフォルトの名無しさん
07/10/04 01:25:55
vimですら、対応する括弧が常にハイライト表示なのに、
今時、括弧羅列が見にくいなんてあり得ないわ。

332:デフォルトの名無しさん
07/10/04 02:17:29
本とかで習うとそういう印象なのかもね

333:デフォルトの名無しさん
07/10/04 07:47:34
適切にインデントされてるのとインデントの部分に薄い縦線引いてくれるといいんだけどなぁ。>本


334:デフォルトの名無しさん
07/10/04 10:43:55
>>318
R6RSでそのへんの意味論が決定されたってことは、
R6RS的には後者もOKってことでいいのかな?

335:デフォルトの名無しさん
07/10/04 10:45:33
S式に対する意味論だからそうだね。
まあ以前でも . 使えない実装の方が珍しかっただろうけど。

336:デフォルトの名無しさん
07/10/04 12:56:53
C系から来た人間には、閉じ括弧を纏めちゃうのも疑問だったよ。
閉じ括弧は一つ一つ書いた方が判りやすいのに、って。
実際最初はそうやって書いてた。
今は閉じるのが楽だし慣れたけど。

337:デフォルトの名無しさん
07/10/04 13:57:22
まっとうなインデントの為されたソースなら、何がどう書いてあっても
(hoge (fuga ...
    (hage (higii 10 ...
      (ahya ...
    (pugera ...
このあたりの形で「骨組みの把握」は済んじゃうんだよね。「右っかわ」は殆どディテール専門。
だから閉じ括弧を纏めたほうがスッキリなんだろうな。
もちろん極論だけど、閉じ括弧はリーダが構造を捉える為のものであって、人間が構造を捉える為の
ものではない、という感じ。

これ、Pythonソースの見方に近いのかな? Python触ったことないけど。
少なくともC系のソースは、同じ「骨組みの把握」をするにも、もうちょっとこう、文のアタマ側とケツ側、
両方からじわじわ捉えていく感覚が必要になる。俺の場合は。

338:デフォルトの名無しさん
07/10/04 14:29:27
パイソンは;等を省略すると、
構文構造を追うものがインデントしかない。
だから構文解析から得た情報で、
正しいインデント処理をエディタに任せる書き方慣れていると、
いろいろと面倒な時もある。
インデントは人間が明示的に行う場面が多くなる。
行末で)や}や;の代りに、次の行でのインデント上げを行う。


339:デフォルトの名無しさん
07/10/04 22:36:18
それが良いんだよ。

340:デフォルトの名無しさん
07/10/05 02:31:10
工学のための工学とか頭悪すぎて笑った。


341:デフォルトの名無しさん
07/10/05 02:51:44
自演乙

342:デフォルトの名無しさん
07/10/05 17:26:29
Lisper/Schemerオナニー見せ合いきめえwwwwwwwwwwwwwwwww


343:デフォルトの名無しさん
07/10/05 19:22:42
オナニーすら出来ない技術者以前の厨が喚いてます

344:デフォルトの名無しさん
07/10/05 22:29:28
R6RSの日本語訳マダー?

345:デフォルトの名無しさん
07/10/06 18:33:04
Common LispでもSchemeでもない俺様Lispって今どれぐらいあるのかな
どこかに一覧無い?

346:デフォルトの名無しさん
07/10/06 18:36:11
いったいどうやってそんな一覧を作るんだよ。

347:デフォルトの名無しさん
07/10/06 18:43:56
そのオレ様リスプ使用者が集まってくれないと作りようがないんだがw

348:デフォルトの名無しさん
07/10/06 19:34:59
俺様リスプをつくるような奴が、一覧をつくるとか、そんな無駄なことをする人間だと思うのか?

349:デフォルトの名無しさん
07/10/06 19:44:43
"俺様"抽出は他の人で
URLリンク(www.dmoz.org)
URLリンク(www.dmoz.org)

350:デフォルトの名無しさん
07/10/06 21:38:29
Lisp処理系の作成って情報系じゃ普通に宿題で出るらしいね

351:デフォルトの名無しさん
07/10/06 21:47:01
たしかにMLで作った気がするなあ。しょぼいやつだったけど。

352:デフォルトの名無しさん
07/10/07 00:03:07
設定ファイルが必要になった->XMLで->なんか項目が増えすぎ->動的変更したくなった->なんかLispみたいになった->どうせならLispでいいじゃん->そのまま製品に

こういう事なら2度あった


353:デフォルトの名無しさん
07/10/07 00:15:29
Lisp使って仕事させてくれるなんて羨ましいな。
俺の会社じゃ絶対無理だ。「Lisp?何それ?それで書くと何人月減るのか証明しろよ」って言われる。
…やっぱschemeで仕事できる会社探すわ。

354:デフォルトの名無しさん
07/10/07 00:55:02
馬鹿だな、こっそり使うんだよ。とんがり頭の上司にバレた頃にはもう手遅れなのだ。

355:デフォルトの名無しさん
07/10/07 02:50:19
見付かったら
「これはXMLファイルですよ。<>の変わりに()を使うのがWeb2.0なんですよ?」
と言えばおk。

356:デフォルトの名無しさん
07/10/07 04:33:50
巡回構造のS式の印字表現(read/writeできる)てありますか?
なんかGaucheでは#なんとか#みたいなのを見た事ありますが、
一般的なんでしょうか。

357:デフォルトの名無しさん
07/10/07 04:35:21
すいません
巡回じゃなくて循環ですた


358:デフォルトの名無しさん
07/10/07 05:55:18
>>356
srfi なので一般的って言っていいんじゃないでしょうか。
URLリンク(srfi.schemers.org)

common lisp 由来ですね。
URLリンク(www.lispworks.com)


359:デフォルトの名無しさん
07/10/07 08:28:49
あ、SRFIにあるんすね。
こういうのって、相互参照してる場合どうなるのかなと。
(define x (list 'a 'b))
(define y (list 'c 'd))
(begin (set-cdr! (cdr x) y) #t)
(begin (set-cdr! (cdr y) x) #t)
(write-with-shared-structure x)
#1=(a b c d . #1#)
(write-with-shared-structure y)
#1=(c d a b . #1#)

やっぱこうなるか。
write-with-shared-structureで各々の変数を保存して、
後でread~で取り出せるかなと思ったんですが、
共有関係が消えてしまいますね。
(define x '#1=(a b #2#))
(define y '#2=(c d #1#))
みたいな事は可能なのかな。
完全に構造を保存する場合はセルをダンプするしかない?


360:デフォルトの名無しさん
07/10/07 08:37:11
(define x '#1=(a b . #2#))
(define y '#2=(c d . #1#))
の間違いです。
参照先が全部確定するまでread-with-shared-structureは結果を
保留する必要があるし、write~も一度に関係するリストを全て渡すか
しないと無理だから、このサンプルみたいなインターフェースじゃ無理ですね。


361:デフォルトの名無しさん
07/10/07 11:47:08
Lisper&Schemerの誰か、異論・反論よろしく

スレリンク(prog板:311番)
311 名前: 仕様書無しさん [sage] 投稿日: 2007/10/07(日) 02:56:19
> ではメッセージをちゃんとメッセージ(オブジェクト)として実装している言語はないか
> というとそんなこともなくて、古くは、メッセージングのOOの影響を受けて作られた
                   ~~~~~~~~~~~~~~~~~~~~~~
> ACTOR という言語(これは、メッセージングのOOから派生したアクター理論に基づいて
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 作られました)では、メッセージもちゃんとオブジェクト(ACTOR ではアクターと呼ぶ)で
 ~~~~~~
> 表わされていましたし、最近の言語なら Io という言語で、同じくメッセージは
> 実体のあるオブジェクトとして内部的にも表現されている、という例があります。でも希有です。



362:デフォルトの名無しさん
07/10/07 11:57:52
Racter懐かしいな。「警官の髭は完成半ば」だっけ?

363:デフォルトの名無しさん
07/10/07 12:04:14
昔は「OOを思想からマスターしてオッサン技術者共を超えてやるぜ!」
とか思ってた。
で、CLOS勉強したら結局OOって単なるメソッドディスパッチなのね、
と思って萎えた…。


364:デフォルトの名無しさん
07/10/07 14:11:37
CLOS の記法は即物的で夢が無い

365:デフォルトの名無しさん
07/10/07 14:27:34
マルチプルディスパッチの夢は見ないのか?

366:デフォルトの名無しさん
07/10/07 14:36:43
>>364
だが、そこがいい

367:デフォルトの名無しさん
07/10/07 14:54:14
夢は無くとも簡潔さがある!効率がある!自由度がある!
…なんかLispが人気にならない理由が分かった気がする。

368:デフォルトの名無しさん
07/10/07 15:13:32
>>365
夜は:around methodに包まれて寝る。

369:デフォルトの名無しさん
07/10/07 16:19:38
人気がないのは新しくないからじゃね?

370:デフォルトの名無しさん
07/10/07 17:19:05
>>238

371:デフォルトの名無しさん
07/10/07 19:47:44
関数名で処理内容がわかりづらいのはどうにかしてほしいな
○○*とかprincとかprin1とか


372:デフォルトの名無しさん
07/10/07 19:54:56
まあそこらへんは……歴史が長い言語だからねぇ

373:デフォルトの名無しさん
07/10/07 19:58:52
OOは、実用的には呼び出し元の再利用と考えると良いと思う。

374:デフォルトの名無しさん
07/10/07 21:07:49
実用的には特に何も考えなくて良いだろう。

375:デフォルトの名無しさん
07/10/07 23:46:23
Lisp使えるからってオブジェクト指向がばっちりなわけでも無ければ、
SICPをちゃんと読んだわけでも無さそうだね。


376:デフォルトの名無しさん
07/10/08 00:01:47
>>375
おれはオブジェクト指向バッチグーだけど、
SICPにオブジェクト指向なんてあったっけ?抽象化はあったけど。

377:デフォルトの名無しさん
07/10/08 00:17:14
>>376
「~でもなければ~でもない」の意味も分からないのか

378:デフォルトの名無しさん
07/10/08 00:38:54
>>377
自分の句読点の位置を見直しましょう。

379:デフォルトの名無しさん
07/10/08 00:45:04
、< もうやめて!わたしの為に争わないで!

380:デフォルトの名無しさん
07/10/08 08:18:46
このタイミングでSICPを持ってくるのか
schemeキチガイは黒板と現実の区別がつかないのな

381:デフォルトの名無しさん
07/10/08 09:01:58
高度に発達した黒板は現実と区別がつかない。

382:デフォルトの名無しさん
07/10/08 09:35:14
オーオー、お前等楽しそうじゃん#AA略

383:デフォルトの名無しさん
07/10/08 10:25:39
>>380はLisp>schemeって考えてんのか?

384:デフォルトの名無しさん
07/10/08 10:28:45
不等号キター!

385:デフォルトの名無しさん
07/10/08 10:50:05
schemeとLispはイスラム教とキリスト教の関係なのか?

386:デフォルトの名無しさん
07/10/08 10:57:37
>>383
コンピュータで動かすことを考えればね。
黒板上なら別にそんなことはないと思う。

387:デフォルトの名無しさん
07/10/08 11:47:26
>>383
中置記法か。お前Lisperじゃないな

388:デフォルトの名無しさん
07/10/08 12:12:42
なんかこういう
URLリンク(www.prescod.net)
事を言っている人が居るみたいなんですが、
どうも的外れな気がするんですが…
皆さんどう思われますか?


389:デフォルトの名無しさん
07/10/08 13:28:54
CommonLispは土方専用だろ
洗練された知的階級の為のSchemeと同じスレで扱う事自体がおかしい

390:デフォルトの名無しさん
07/10/08 13:30:57
schemeはpythonとかと同じで教育用っつーかお試し用っつーかそういうもんだろ

391:デフォルトの名無しさん
07/10/08 13:33:41
↑土方乙。しかもPythonすら理解できてないのかwwwww

392:デフォルトの名無しさん
07/10/08 13:36:58
Common Lisp: 土方歳三
Scheme: 原田左之助

393:デフォルトの名無しさん
07/10/08 13:38:58
洗練された知的階級なんて言葉で自己言及した時点で洗練された知的階級じゃないよ!

ってことを身をもって明らかにするschemerならではの反面教師的教育なのです

394:デフォルトの名無しさん
07/10/08 13:40:05
教育用の言語使ってる割には頭悪そうだな

395:デフォルトの名無しさん
07/10/08 13:43:36
これから教育を受ける段階にある奴ってことだからね。

396:デフォルトの名無しさん
07/10/08 13:45:45
教育すら受けられない中卒Common Lisper

397:デフォルトの名無しさん
07/10/08 13:52:34
そもそも >>389 は Common Lisp も Scheme も使った事が無いんだから
放っといたら良いじゃん

398:デフォルトの名無しさん
07/10/08 15:13:52
つれないこというなよ

399:デフォルトの名無しさん
07/10/08 15:45:11
>383
仕様のサイズ的には合ってね?

400:デフォルトの名無しさん
07/10/08 15:49:15
SchemeはR6RSでかなり分厚くなったと聞いたが

401:デフォルトの名無しさん
07/10/08 16:51:33
それだけ不純になったのよ

402:デフォルトの名無しさん
07/10/08 17:19:43
>>388
斜め読みしただけだけど、やってることは S 式の標準的な書式の見た目を
XML 文書と比較してるだけなのかな。
だとすると
> XML is not S-Expressions
このタイトルは不適切だな。

403:デフォルトの名無しさん
07/10/08 17:33:39
S式はCSVみたいにRFCに定義されたりしないの?

404:デフォルトの名無しさん
07/10/08 17:37:24
ISLISPがRFCになってなかったっけ?

405:デフォルトの名無しさん
07/10/08 17:59:10
ISLISPって全然はやってないんだなw

406:デフォルトの名無しさん
07/10/08 19:11:14
>>392
Mormon Lisp (Ruby): まつもと ゆきひろ

407:デフォルトの名無しさん
07/10/08 20:28:44
CommonLisp+末尾最適化+継続 = 大方のSchemerは文句いわない
Scheme - 末尾最適化 - 継続 = 粗大ゴミ



408:デフォルトの名無しさん
07/10/08 20:42:00
つまり素のLISPはゴミって事?

409:デフォルトの名無しさん
07/10/08 20:42:29
CL = RedHat Linux
Scheme = Plan9

てな感じ

410:デフォルトの名無しさん
07/10/08 20:44:23
今となっては RHL はあんまりw

411:デフォルトの名無しさん
07/10/08 20:46:58
>>408
そりゃCommonLisp以前に戻るんだからしょうがないべよ
その他大勢の方言の一つでしかないんだもの。

412:デフォルトの名無しさん
07/10/08 21:06:18
CommonLISPは分別ゴミ


413:デフォルトの名無しさん
07/10/08 21:11:16
>>408
素のLispはただの理論だからなぁ。
道具として便利であるためには、当然肉付けが必要になるよ。

414:デフォルトの名無しさん
07/10/08 21:26:50
クロージャすらないようではゴミと言われてもしかたあるまい

415:デフォルトの名無しさん
07/10/08 21:28:27
>>414


416:デフォルトの名無しさん
07/10/08 21:35:07
>>414
つ FUNARG

417:デフォルトの名無しさん
07/10/08 21:43:34
CL = スイスアーミーナイフ
Scheme = 肥後の守

418:デフォルトの名無しさん
07/10/08 21:49:56
Lispとかけてイケメンととく。

419:デフォルトの名無しさん
07/10/08 22:03:51
その心は、


「かっこが大変よろしゅうございますw」

とかヌカスつもりじゃないだろーな?

420:デフォルトの名無しさん
07/10/08 22:12:48
あーそれ俺が言おうと思ってたやつなのに・・・ひどい

421:デフォルトの名無しさん
07/10/08 22:23:18
むしろ「カッコばかりで中身がありません」じゃないのか?

422:デフォルトの名無しさん
07/10/08 22:25:16
でも簡単にペアになれるんだぜ?

423:デフォルトの名無しさん
07/10/08 23:37:14
少数点以下多数ある数値少数第1位までにして、切り上げして出力する方法ってある?
20.767841011743453→20.8
処理系はgaucheで。

424:デフォルトの名無しさん
07/10/09 00:09:52
ほんとにそれだけしたいなら(10進で)10倍してceiling(かな?)でいいんとちゃう?
単純でわかりやすいし。

425:デフォルトの名無しさん
07/10/09 00:29:55
>>422
うまいこと言うなあ

426:デフォルトの名無しさん
07/10/09 21:15:28
>>422
ウホッ

427:デフォルトの名無しさん
07/10/09 23:32:08
>>424
ありがとうございます。出来ました。
もうひとつ同じような内容ですが、
例えば、-1.0という答えを-1.000という回答に小数点以下第3位まで出す場合はどうすればよろしいですか?
やはりgaucheで

428:デフォルトの名無しさん
07/10/10 00:10:43
URLリンク(www.premiumtv.12gbfree.com)

429:デフォルトの名無しさん
07/10/10 00:17:47
>>406
Moron Lispだと思った。

430:デフォルトの名無しさん
07/10/10 00:25:30
どうでもいいけど、S式でXML表現するときって名前空間はどうすんの?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch