[前][次][番号順一覧][スレッド一覧][生データ]

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      ]