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


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

CommonLisp Scheme Part13



1 名前:デフォルトの名無しさん [2005/05/12(木) 21:44:01 ]
過去スレ
Part1: piza2.2ch.net/tech/kako/987/987169286.html
Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part7: pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part8: pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/
Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/
Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/
Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/

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

237 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 23:53:03 ]
tarai(192, 96, 0)と使えるように直した

class tarai {
 int x, y;
 const tarai* tp;
public:
 tarai(int y) : x(0), y(y), tp(0) {}
 tarai(int x, int y, const tarai& t) : x(x), y(y), tp(&t) {}
 operator int() const {
  if (x <= y) return y;
  int z = *tp;
  return tarai(tarai(x-1,y,*tp),tarai(y-1,z,x),tarai(z-1,x,y));
 }
};

238 名前:209 mailto:sage [2005/06/07(火) 08:18:39 ]
209 です.ろくにレスもしなくてすみませんでした.>>209-237 の流れを,大
変興味深く読ませていただきました.正直,>>236-237 はすばらしいと思いま
す.

>>232 のレスを見て,自分もC で遅延評価を実装しようと考えて,かなり汚い
コードしか思いつかず,ああクロージャ(関数閉包)って本当に便利なんだな,
と思った矢先に>>236-237 が書き込まれました.自分は C++ はよく知らない
のですが,とてもすっきり書けているように見えます.

日本の Lisp の巨人というと,竹内郁雄先生(たらいまわしべんちの生みの親)
と萩谷昌己先生がまず挙げられると思います.竹内先生は「Lispは確かに遅い
が,言語としての生産性は格段に高い.トータルのコストはLispの方がずっと
小さい」という考えであり,萩谷先生は「Lisp はあくまでプロトタイプのた
めのもので,本物のプログラムは C で書かなければならない」という考えだ
と聞いております.

Lispというのはとにかく書きやすい言語ですから,解くべき問題の複雑さによっ
て,どちらが正しいかは変わるのだと思うのですが,竹内関数(たらいまわし
べんち)に関しては,現時点では萩谷教授が正しいということになるようです.
この逆説めいた結末に,私は興奮すら覚えました.


239 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 08:20:50 ]
Bill Clementson's Blog が復活したみたい

ttp://bc.tech.coop/blog/

何時もこっちを見てるけど

planet.lisp.org/

240 名前:209 mailto:sage [2005/06/07(火) 08:59:31 ]
今回の流れを見て,もう1つ思い出したのがこの言葉です.

「10年前ならLispは大きなアドバンテージを持っていたけれど、現在は他の言
語が追い付いて来てLispのメリットは小さくなっている。」Peter Norvig

今回のC++のエレガント(と私には見える)な回答を見て,確かにいくつかの
洗練は,Lispの占有物ではなくなったのだ,と感じた方もおられるのではない
でしょうか.

しかし,聞きかじりで書くのですが,C++にはテンプレートを多用した新しい
スタイルが登場しつつあるそうです.それは Lisp や関数型言語から大きな影
響を受けているそうです.つまり,Lisp は2005年の現時点でも,豊かなアイ
ディアの源泉でありつづけているのではないでしょうか.もちろん(不幸にも)
Lispの進歩が停滞して,その差が縮まりつつあるのかも知れませんが.

ところで,Lisp 側は最速のものがまだ出ていません.Allegro Common Lisp
(ACL) と Chez Scheme コンパイラの,二つの商用ソフトです.これらなら,
C++とも結構いい勝負をするかもしれません.

それにしても,最初にたらいまわしべんちを書き込んだ時にはまったく予想し
なかった展開になりました.大変勉強になりました.ありがとうございました.


241 名前:209 mailto:sage [2005/06/07(火) 09:01:28 ]
参考リンク(うざいので最後にまとめました)

竹内郁雄『初めての人のためのLISP』
www.amazon.co.jp/exec/obidos/ASIN/4781904548
萩谷昌巳「たかが論理 されど論理」
nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/7bits/saredo
Lisp:読み物
www.shiro.dreamhost.com/scheme/wiliki/wiliki2.cgi?Lisp%3a%c6%c9%a4%df%ca\
%aa
Modern C++ Design
www.amazon.co.jp/exec/obidos/ASIN/4894714353
The Great Computer Language Shootout
web.archive.org/web/20030602185735/www.bagley.org/~doug/shootout/craps.s\
html


242 名前:209 mailto:sage [2005/06/07(火) 09:09:16 ]
リンク貼り失敗.本当にウザくてごめんなさい.

竹内郁雄『初めての人のためのLISP』
www.amazon.co.jp/exec/obidos/ASIN/4781904548
萩谷昌巳「たかが論理 されど論理」
nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/7bits/saredo
Lisp:読み物
www.shiro.dreamhost.com/scheme/wiliki/wiliki2.cgi?Lisp%3a%c6%c9%a4%df%ca%aa
Modern C++ Design
www.amazon.co.jp/exec/obidos/ASIN/4894714353
The Great Computer Language Shootout
web.archive.org/web/20030602185735/www.bagley.org/~doug/shootout/craps.shtml


243 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 10:39:40 ]
C++のテンプレートは、色々やろうとすると制限が多すぎてちょっと嫌になる

244 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 11:21:50 ]
>>243
boost の lambda なんかを見ると、一見 Lisp チックなんだけど、正確な挙動を
理解するのはなかなか大変。C++ って複雑な言語だなと思う。
そのくせ、制限が多いというのには同意。

Common Lisp なんかも「大きな言語」と言われるけど、C++ に比べれば子供
みたいなもんだなと思うよ。(もちろん良い意味でね)

245 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 11:58:44 ]
>>240
過剰なお褒め、恐縮です。というか、気恥ずかしいです
でも、自分でも思った以上にエレガントだなと、思っていたり
ちなみに、Cでもやってみました
CでやるなんてlazyというよりCrazyかとおもったけど
書いてみたら、非常に簡単でした

struct tarai { int x, y; const struct tarai* tp; };

int tarai_sub(int x, int y, const struct tarai* tp) {
 if (x > y) {
  int z = tarai_sub(tp->x, tp->y, tp->tp);
  struct tarai t[3] = { { z, z, 0 }, { x, x, 0 }, { y, y, 0 } };
  struct tarai tz = { z-1, x, t+2 };
  return tarai_sub(tarai_sub(x-1,y,t), tarai_sub(y-1,z,t+1), &tz);
 }
 return y;
}

int tarai(int x, int y, int z) {
 struct tarai tz = { z, z, 0 };
 return tarai_sub(x, y, &tz);
}

C++よりも、速いっぽい



246 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 11:59:15 ]
C++版もちょっと手直し

int tarai(int x, int y, int z) {
 class Tarai {
  int x, y;
  const Tarai* tp;
 public:
  Tarai(int y) : x(y), y(y), tp(0) {}
  Tarai(int x, int y, const Tarai& t) : x(x), y(y), tp(&t) {}
  operator int() const {
   if (x <= y) return y;
   int z = *tp;
   return Tarai(Tarai(x-1,y,z), Tarai(y-1,z,x), Tarai(z-1,x,y));
  }
 };
 return Tarai(x,y,z);
}

このコードなら、人に見せても恥ずかしくないかな

247 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 12:13:50 ]
>>245
struct tarai に tp 入れる必要なくない?
typedef struct { int x, y, z; } tarai_t;
int tarai(int, int, int);
int tarai_1(int x, int y, tarai_t *tp) {
if (x <= y) return y;
int z = tarai(tp->x, tp->y, tp->z);
return tarai_1(tarai(x - 1, y, z), tarai(y - 1, z, x),
&(tarai_t){ z - 1, x, y });
}
int tarai(int x, int y, int z) {
if (x <= y) return y;
return tarai_1(tarai(x - 1, y, z), tarai(y - 1, z, x),
&(tarai_t){ z - 1, x, y });
}

248 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 15:18:08 ]
個人的には興味深い話題ではあるのだけど、延々とC++の話が続くのはさすがに
スレ違いだと思う。もうちょっとLisp絡みの話へ軌道修正してほしい。

249 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 17:54:02 ]
もうちょっとだけ、Cで
245を書いて、247を読んで、ちょっと考えてやっと気づいたんですけど
この問題の本質って、実はめちゃめちゃ簡単ですね
LISPのコードで書かれてる段階では全く気づかなかったんですけど
Cで書いて、読んでみたら、やっと気づきました

必要になるかどうか分からない関数値は、
事前に計算しないで引数のまま渡す
タダそれだけですね

int tarai(int x, int y, int z);
int tarai_sub(int x, int y, int z_x, int z_y, int z_z) {
 if (x > y) {
  int z = tarai(z_x, z_y, z_z);
  return tarai_sub(tarai(x-1,y,z), tarai(y-1,z,x), z-1, x, y);
 }
 return y;
}
int tarai(int x, int y, int z) { return tarai_sub(x, y, z, z, 0); }

このコードなら、Cに疎いLISPerの方々でも余裕で理解できるでしょう

なんかこう、高度なというか表現力や抽象化能力の高い道具が
問題の本質を逆に隠してしまっていたような、そんな気がします

250 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 18:03:57 ]
…………………… 頭悪いのが粘着してるの放置 ……………………

251 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 18:07:32 ]
確かに。tarai関数の主旨もわからず、Lazy Evaluationの例>>220の30スレも後になって
そんな事言い出すとは、かなり逝かれてるな。

なんつうか、人の話聞いた後「ところで話題変わるんだけど・・・」とか言って同じ話しだすドキュソを思い出した。

252 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 18:12:14 ]
>>241-242もかなりイタタ。
こんなの(理系全般板の悪名高い荒らし)にURL覚えられちゃった
はぎゃ先生も災難だな

253 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 18:27:00 ]
>>249
> なんかこう、高度なというか表現力や抽象化能力の高い道具が
> 問題の本質を逆に隠してしまっていたような、そんな気がします
そんなことないよ。>>220 の labels を分解して
(defun tarai (x y z)
(labels ((tarai-1 (x y fz) (if (<= x y) y
(tarai-2 x y (funcall fz))))
(tarai-2 (x y z) (if (<= x y) y
(tarai-1 (tarai-2 (1- x) y z)
(tarai-2 (1- y) z x)
(lambda () (tarai-2 (1- z) x y))))))
(tarai-2 x y z)))
tarai-1 をインライン展開して
(defun tarai (x y z)
(labels ((tarai-2 (x y z)
(if (<= x y) y
(let ((xx (tarai-2 (1- x) y z)) (yy (tarai-2 (1- y) z x)))
(if (<= xx yy) yy
(tarai-2 xx yy (funcall (lambda ()
(tarai-2 (1- z) x y)))))))))
(tarai-2 x y z)))

254 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 18:27:54 ]
まとめると
(defun tarai (x y z)
(if (<= x y) y
(let ((xx (tarai (1- x) y z)) (yy (tarai (1- y) z x)))
(if (<= xx yy) yy (tarai xx yy (tarai (1- z) x y))))))
それを C にすると
int tarai(int x, int y, int z) {
for (;;) {
if (x <= y) return y;
int xx = tarai(x - 1, y, z), yy = tarai(y - 1, z, x);
if (xx <= yy) return yy;
z = tarai(z - 1, x, y); x = xx; y = yy;
}
}
こうなるんだけど、>>249 よりシンプルだし速度も倍。

255 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 18:31:21 ]
…………………… 頭悪いのが自作自演始めたので放置 ……………………



256 名前:209 mailto:sage [2005/06/07(火) 21:45:06 ]
勝手ながら,flatline 氏の Wiliki を借りました.
www.komaba.utmc.or.jp/~flatline/wiliki.cgi?%bb%a8%c3%cc&l=jp

このスレでは,ちょっとこれ以上の話は皆さんにご迷惑のようです.
しかし,できるならもう少し続けたい気持ちが私にはあります.
いっしょにこちらに移動していただけませんか?>> C++ の人


257 名前:209 mailto:sage [2005/06/07(火) 21:48:32 ]
補足.Wilikiのリファレンスです(私も不慣れなのですが).

www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?WiLiKi%3a%a5%ea%a5%d5%a5%a1%a5%ec%a5%f3%a5%b9%a5%de%a5%cb%a5%e5%a5%a2%a5%eb

ということで,大変ご迷惑をおかけしました.申し訳ありません.>>ALL


258 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 22:38:25 ]
今度はwiki荒らしか

259 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 22:57:12 ]
>>253-254
どうもすみません。勉強になりました
勉強ついでに、249のCコードをそのままLISPにしてみました
(defun tarai (x y z)
 (labels ((tarai-1 (x y zx zy zz) (if (<= x y) y
  (let ((z (tarai zx zy zz))) (tarai-1 tarai((1- x) y z) tarai((1- y) z x) (1- z) x y)))))
 (tarai-1 x y z z 0)))

そこで、let式を関数呼び出しに変えて
(defun tarai (x y z)
 (labels ((tarai-1 (x y zx zy zz) (if (<= x y) y
   (tarai-2 (x y (tarai zx zy zz)))))
   (tarai-2 (x y z) (tarai-1 tarai((1- x) y z) tarai((1- y) z x) (1- z) x y)))
 (tarai-1 x y z z 0)))

さらに、tarai-1呼び出しをlet式に変えてみました
(defun tarai (x y z)
 (labels ((tarai-2 (x y z)
  (let ((xx (tarai((1- x) y z)) (yy (tarai((1- y) z x)))
   (if (<= xx yy) yy (tarai-2 (xx yy (tarai (1- z) x y)))))))))
 (if (<= x y) y (tarai-2 x y z))))

260 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 22:57:25 ]
これをそのままCにすると、こうで
int tarai_sub(int x, int y, int z);
int tarai(int x, int y, int z) {
 if (x <= y) return y;
 return tarai_sub(x, y, z);
}
int tarai_sub(int x, int y, int z) {
 for (;;) {
  int xx = tarai(x-1,y,z), yy = tarai(y-1,z,x);
  if (xx <= yy) return yy;
  z = tarai(z-1,x,y);
  y = yy;
  x = xx;
 }
}

最初のifがループの外に出せて、なんか倍くらい速くなります。
それともこれ、何か間違ってますか?

261 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 23:33:28 ]
フリーのCommon Lisp処理系で、threadをサポートしているのって有ります?
SchemeはDrSchemeがサポートしているけど。。

262 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 00:16:13 ]
>>261
www.sbcl.org/manual/Threading.html

263 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 03:59:01 ]
>>239
おお、待ち焦がれてたよ BIll さん。
blog 関連のリンクはテンプレに入れるとしたら Planet Lisp のがいいかもね。

さておき、記念に前に出たトランポリン関連のネタを引っ張っておく。

ttp://bc.tech.coop/blog/040613.html

リストに詰めて apply、ってやり方だから大量のゴミを作るだろうあたりが気になるけど。
相互末尾再帰でもかかわってくる関数それぞれが取る引数の数は大抵の場合は同じだろうから、
そこを固定したコードを吐くマクロを書いた方が実用上は好ましいかな。


264 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 07:46:38 ]
>>261
ECL もオケ

DrScheme のスレッドは所謂 Green Thread でしょ。
Native Thread じゃなくていいなら CMUCL にもある。

265 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 08:01:30 ]
連投スマソ

>>261
PowerPC 使いなら OpenMCL も Native Thread 使える
Intel Mac の登場で x86 にポーティングされないかな…
作業大変だろうけどね



266 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 12:31:04 ]
.coopなんてTLDできてたのか……。.bizとか.infoと同時に作られたのだな。



267 名前:デフォルトの名無しさん [2005/06/08(水) 20:54:46 ]
すいません
スレ間違えたっぽいので誰か知ってたら答えてください

pc8.2ch.net/test/read.cgi/tech/1115335709/380

エラー検出とかのためにリストがどの行のものか保存する
LISP処理系ってありますか?

268 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 06:50:31 ]
Shiro Kawaiの演技にカツモクせよ
[ドラマ] 恋におちたら 〜僕の成功の秘密〜 第01話 「ずっと探してた人」 (D-KTV 1024x576 DivX511).avi aaLPbRVQ8B 1,089,947,648 56df0ca851a66ec551b59c6a54db9978

269 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 08:05:03 ]
一瞬、誤爆かとおもた(w

270 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 16:28:51 ]
>>268
こらこらこら


271 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 05:07:09 ]
一瞬、ny導入しようとした俺guile

272 名前:ミミ [2005/06/11(土) 07:54:40 ]
Scheme 関係の文書に arity ってよく出てくるけど、うまい訳語ある?

273 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 09:24:39 ]
一応、『項数』ってのがあるけど、使わない方が無難だと思う。
直感的じゃないし、初学者には意味不明な単語が増えるだけ。
『引数の数』じゃダメな理由でもあるの?

274 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 09:24:54 ]
ttp://en.wikipedia.org/wiki/Arity 読んでみたけど、
カジュアルには「引数の数」かな。
もう少し丁寧に「手続き(関数)が受け取り可能な引数の数」とか。
精確に行くなら「アリティ」で。

275 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 09:38:15 ]
ちなみに中国語では元数と書くみたいだね
引数はそのまま引数みたい



276 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 10:25:32 ]
有体

277 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 10:40:51 ]
可変個の引数も扱うわけだから
引数として受け付ける個数の範囲かな


278 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 10:41:05 ]
algorithmに語源はあるけど、
arityに語源はないの?

279 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 11:48:59 ]
unary, binary の ...ary ----> arity

280 名前:ミミ mailto:sage [2005/06/11(土) 14:34:38 ]
ありがとうございます。
やはり「引数の数」が一番分かりやすそうですね。
でも用語に「の」が入ると、「の」が沢山でてきて
読みにくい文章になったりするんですよね。
そういう意味では「アリティ」のほうがましかも。

281 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 16:02:01 ]
>>280
> そういう意味では「アリティ」のほうがましかも。

それはない。


282 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 17:52:52 ]
アリティ(引数の個数)...

として、以降アリティで良いんじゃないかな

283 名前:ミミ mailto:sage [2005/06/11(土) 18:15:03 ]
ちなみに、「引数の数」と「引数の個数」では、
後者ののほうが分かりやすいと思うんだけど、
「個数」って訳する人、意外と少ないんだよねぇ。

284 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 18:18:41 ]
アニキィ


285 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 18:26:10 ]
ありていにいって>>281に同意。



286 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 18:35:56 ]
>>285
全米が凍った

287 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 20:54:02 ]
確かにGaucheのマニュアルで説明無しにarityという
用語が出てきて困ったな〜。

288 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 21:25:31 ]
めんどいからもう引数数でいいんじゃね

289 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 21:26:57 ]
アミティ

290 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 21:27:48 ]
arityという単語を覚えて貰うためにも、ちゃんと説明した上で「アリティ」で良いと思う。
どうせいつかは英文のマニュアルとか読む機会もあるだろうからね。

291 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 22:15:51 ]
だったら変なカタカナにするよりarityのままの方がいいような

292 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 22:39:14 ]
それは翻訳としては不完全。
商用レベル文書の品質としては失格。

293 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 22:46:35 ]
そんな業界基準があるなら正してもらう必要があるな。
間違っている。

294 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 22:56:50 ]
そろそろ誰かコードを…
コードをくれ

295 名前:デフォルトの名無しさん mailto:sage [2005/06/11(土) 23:05:08 ]
商用レベルの邦訳って変な拘りがあるんですね。
それで分かり難い訳本が多いんですね。
納得しますた。



296 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 00:15:55 ]
まともな翻訳には日本語で表現できる概念を増やすという役割もあるから。


297 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 00:22:08 ]
. o O (理想が高過ぎると返って悪い結果を生む良い例だな...)

298 名前:通りすがり mailto:sage [2005/06/12(日) 00:29:43 ]
いやだから、人類の知性の向上に役立ってない屑は関係ないって。
屑はいつもみたくν速で一日中遊んでりゃいいやん

299 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 00:38:36 ]
元数は納得できる訳語だな。
方程式でも変数がxだけなら1元、xとyなら2元というのを
そのまま函数にも適用したという感じだ。
(方程式の変数の数を元数というのは日本でも普通)

今辞書を引いて初めて知ったんだが、函数というのは中国由来で
functionのfunと同音の字を当てたらしい。関数は日本で更に同音の字を
当てて書き換えたものとか。
googleで関数(簡体字で)を検索すると世界で4件しか引っ掛からん。


300 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 00:56:59 ]
四元数とかの元数か。悪くないね。
ただ、やっぱり使う前に説明が必要だね。

301 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 01:10:03 ]
ここ数ヶ月、随分レベルの低い話題ばっかだな。

302 名前:3歳児 mailto:sage [2005/06/12(日) 01:11:00 ]
レベルが低いのは、ここ数ヶ月ではなく
ここ数日のまちがいだとおもいます。

303 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 01:20:17 ]
>>302 3歳は もう寝ろYO!

304 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 01:21:48 ]
最高につまんねぇレスだな。

305 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 01:27:16 ]
自演コテが湧くよりゃマシだ



306 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 02:17:46 ]
Joswig タンの Concordia デモムービー見たんだが、あれが本物の CLIM かぁ
今見ると、やっぱりちょっと古くさいね…

307 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 13:23:58 ]
えぇぇ〜CLIM(Common Lisp Interface Manager)?
Symbolics みたいなタイルウィンドウシステムでしょ。
一度触ってみたいなぁ。
Macintosh CommonLispのdigitoolには Mac用バイナリがまだ置いてあるみたいだけど


308 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 20:45:30 ]
>>301
君のいうレベルの高い内容を提示してくれよ。

309 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 21:24:01 ]
(gc)

310 名前:デフォルトの名無しさん [2005/06/12(日) 21:29:58 ]
OS ネイティブのスレッドを扱える Lisp/Scheme 処理系はありますか?

311 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 22:14:02 ]
>>310 >>262

312 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 22:27:55 ]
誰かILC2005行く香具師いる?

313 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 02:08:41 ]
Commonclipseかと思った。
www.eclipsewiki.net/eclipse/?Commonclipse

314 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 04:05:46 ]
>>310
scheme なら gauche と KSM も

Lisp/Scheme 以外でもフリーの処理系でネイティブスレッドを
サポートしている物は非常に少ない
知ってるのは OCaml, GHC, Perl, Python, Erlang くらいかな
SML 系は全滅っぽいね

315 名前:デフォルトの名無しさん [2005/06/13(月) 11:31:38 ]
>>314
> サポートしている物は非常に少ない
なぜ少ないのでしょうか?



316 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 11:55:13 ]
>>315
面倒なんだろ。

317 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 12:02:55 ]
>>315
おこちゃまだから。。

318 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 12:07:21 ]
頭の悪いレスだ

319 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 12:52:33 ]
>>318 おまえがな。

320 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 13:04:14 ]
必死だな

321 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 13:12:15 ]
>>320
See: 319

322 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 13:18:21 ]
× おまえがな
○ おまえモナー

323 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 13:37:46 ]
>>322
See: 320

324 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 14:02:20 ]
・・・・・・ここからはLispに関係ないレスは禁止・・・・・・

325 名前:デフォルトの名無しさん [2005/06/13(月) 20:38:12 ]
後藤英一先生のご冥福をお祈りします。



326 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 20:49:40 ]
IPSJ コンピュータ博物館
後藤英一 - 日本のコンピュータパイオニア
www.ipsj.or.jp/museum/pioneer/gotou.html

327 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 20:57:40 ]
この人か。HLISP 作った人なんだね。

www.ipsj.or.jp/katsudou/museum/pioneer/gotou.html
www.mainichi-msn.co.jp/shakai/fu/news/20050614k0000m060060000c.html
ttp://nicosia.is.s.u-tokyo.ac.jp/pub/essay/hagiya/essay/omoide

>>315
理由はここら辺じゃないかな
1. 実装が面倒
2. 1CPU のマシンではネイティブスレッドのメリットが見えにくい
3. Linux のスレッドがイケてなかった

1 は GC 絡みとかなのかな
2 は最近の CPU のデュアルコア化でちょっとはメリットが出てくるかも
3 は 2.6 以降問題なくなった(らしい)

328 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 21:01:10 ]
スマソ。リロードしてなくて被った。
Lisp Machine ってスレッドとか LWP みたいな概念はあったのでしょうか?

329 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 21:04:33 ]
GUI作ったりメリットは沢山あるよ。
やっぱ面倒なんじゃないかね。

作るとしたら、GCやコンストラクタは排他制御して、
オブジェクトの更新毎にWriteバリアかね。
やっぱGC周り面倒だなあ。
適当に作ったらすぐ破綻しそう。

330 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 21:54:17 ]
JavaのGCなんかを見るとネイティブスレッディング自体はそれほど性能的な
ハンデにはならないのかなという気もする。面倒なのは同意だけど。w

331 名前:デフォルトの名無しさん mailto:sage [2005/06/13(月) 22:03:28 ]
>>325
まじか。
中西(正和)先生も少し前に亡くなったが、今度は後藤先生か。

332 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 10:56:27 ]
このスレでもおなじみの新山ゆうすけ氏が、Common Lisp の仕事を始めたらしい。
tabesugi.net/memo/2005/62.html#111413

> しかし相手はそこそこ有名なLisp ハッカーであり、習うべきことは多い。
> Lisp で仕事できる機会なんてそんなにないと思う。

などと書いている。今まで Lisp の悪口ばかり書いていたのになあ。

と思ったら、今日はさっそく Lisp の悪口であった。
tabesugi.net/memo/2005/62.html#131404

やっぱり新山氏はそう来なくっちゃ!


333 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 12:56:36 ]
>>332
なんか有名な人なの?
嫌いな言語使って仕事してるっていう愚痴のようにしか読めんが。

334 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 14:50:02 ]
>>333
NY市立大の院生で、Python や Scheme、OpenSSH の世界ではそこそこ有名な人。
www.unixuser.org/~euske/doc/index.html

Shiro さんが wiliki で取り上げたこともある。
www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Shiro%3alog%3a2004%b8%e5%c8%be


335 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 15:01:18 ]
>>334
何言ってんの? この人ぜんぜん有名じゃないよ。



336 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 18:25:51 ]
有名かどうかは人それぞれが判断すればいいこと。それより、内容についての
話をしようよ。

Common Lisp のライブラリが、過去互換性のために見通しが利きにくいこと、
package は実用上不可欠なのに、Scheme にはまだ標準がなく、実装依存だと
いうこと、これらはもっともな批判だと思うのだけど。


337 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 19:06:44 ]
ごく一部の日本人で英語が読めない奴限定で有名かも知れんが

>>334
> Python や Scheme、OpenSSH の世界ではそこそこ有名

なんていうような仕事はしとらん。

まあ言ってみればプチ岩谷宏。







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

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

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