langsmith:282
From: SASADA Koichi <ko1 atdot.net>
Date: Mon, 29 Aug 2005 02:25:47 +0900
Subject: [langsmith:282] Re: perlのuse
ささだです。 Yukihiro Matsumoto wrote: > セマンティクスに関して言えば、useはコンパイル時にロードされ > るため、useした内容がコンパイルに影響を与えることができます。 > そこで、useをpragmaとして使うことができます。たとえば > > use integer; > > でスコープの範囲内では数値を(デフォルトの浮動小数点数ではな > く)整数として扱う事ができます。 > > しかし、Rubyではなんらかのフラグやライブラリのロードがコンパ > イルに影響を与えるのは望ましくない(文法や言語仕様は変動すべ > きではない)と思っているので、このようなpragmaを導入する予定 > はありません。よってPerloのuseのうれしさが実現されることもな > いわけです。ですから、useのようなものを導入する予定もありま > せん。 use がプラグマのように作用する、というのがやっとわかりました。 これは、use がどうの、というよりは pragma をどう言語として実装する、と いう話で、require などの問題と分けて考える必要があるような気がします。 個人的には、Ruby にはプラグマをもっと書きやすく書く記法が欲しい、とい うか、まつもとさんのご意見とは真っ向から反対なんですが、コンパイラの動作 を制御する方法がほしいなー、とは思います。 たとえば、このファイルでは eval なんてしないことを前提にコンパイル、と か、Fixnum#+ は再定義しないことを前提にコンパイル、とか、String リテラル は Freeze しておく(だから、毎回 dup しない)、とか。この辺は実装べった りだな。 -- SASADA Koichi at atdot dot net -- ML: langsmith quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
270 2005-08-28 19:59 [ko1 atdot.net ] perlのuse 271 2005-08-28 20:43 ┣[matz ruby-lang.org ] 273 2005-08-28 21:06 ┃┣[hyuki hyuki.com ] 275 2005-08-28 22:00 ┃┃┗[matz ruby-lang.org ] 280 2005-08-29 02:18 ┃┃ ┗[ko1 atdot.net ] 288 2005-08-29 12:00 ┃┃ ┗[ko1 atdot.net ] 289 2005-08-30 00:28 ┃┃ ┗[matz ruby-lang.org ] 274 2005-08-28 21:41 ┃┣[matz ruby-lang.org ] 283 2005-08-29 02:29 ┃┃┗[ko1 atdot.net ] 286 2005-08-29 06:52 ┃┃ ┗[matz ruby-lang.org ] -> 282 2005-08-29 02:25 ┃┗[ko1 atdot.net ] 287 2005-08-29 06:55 ┃ ┗[matz ruby-lang.org ] 272 2005-08-28 20:58 ┗[shiro lava.net ] 276 2005-08-28 22:23 ┣[dankogai dan.co.jp ] 277 2005-08-28 23:03 ┃┣[matz ruby-lang.org ] 278 2005-08-28 23:20 ┃┣[shyouhei ice.uec.ac.] 279 2005-08-29 01:53 ┃┃┗[dankogai dan.co.jp ] 281 2005-08-29 02:21 ┃┗[ko1 atdot.net ] 284 2005-08-29 02:39 ┗[ko1 atdot.net ] 285 2005-08-29 04:57 ┗[shiro lava.net ]