develooper Front page | perl.perl6.language | Postings from February 2010

r29741 - docs/Perl6/Spec/S32-setting-library

From:
pugs-commits
Date:
February 15, 2010 20:51
Subject:
r29741 - docs/Perl6/Spec/S32-setting-library
Message ID:
20100216045035.18226.qmail@feather.perl6.nl
Author: lwall
Date: 2010-02-16 05:50:34 +0100 (Tue, 16 Feb 2010)
New Revision: 29741

Modified:
   docs/Perl6/Spec/S32-setting-library/Numeric.pod
Log:
[Numeric] make it possible to have fast trig functions


Modified: docs/Perl6/Spec/S32-setting-library/Numeric.pod
===================================================================
--- docs/Perl6/Spec/S32-setting-library/Numeric.pod	2010-02-16 02:14:55 UTC (rev 29740)
+++ docs/Perl6/Spec/S32-setting-library/Numeric.pod	2010-02-16 04:50:34 UTC (rev 29741)
@@ -19,8 +19,8 @@
 
     Created: 19 Mar 2009 extracted from S29-functions.pod
 
-    Last Modified: 27 Nov 2009
-    Version: 4
+    Last Modified: 15 Feb 2010
+    Version: 5
 
 The document is a draft.
 
@@ -294,7 +294,7 @@
 
 =item I<Standard Trig Functions>
 
- Numeric multi method func ( Numeric  $x: TrigBase $base = $?TRIGBASE ) is export
+ Numeric multi method func ( Numeric  $x: TrigBase $base = CALLER::($?TRIGBASE) ) is export
 
 where I<func> is one of:
 sin, cos, tan, asin, acos, atan, sec, cosec, cotan, asec, acosec,
@@ -314,10 +314,16 @@
  Circles     1
 
 To change the base within your own lexical scope, it suffices to redefine the
-compiler constant:
+compiler constant with the C<trigbase> pragma:
 
- constant $?TRIGBASE = Degrees;
+ use trigbase Degrees;
 
+In addition to setting the new lexical C<$?TRIGBASE>, this also
+curries a new set of functions into the current lexical scope that
+assume the new base.  (Note that methods calls cannot be curried, so
+methods must still look up the caller's trigbase.  The optimizer may,
+of course, optimize these into fast function calls.)
+
 =item atan2
 
  our Numeric multi method atan2 ( Numeric $y: Numeric $x = 1 )




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About