r31533 -[S12] Clarify phasing of lexical classes

2010-07-03 Thread pugs-commits
Author: sorear
Date: 2010-07-03 11:14:27 +0200 (Sat, 03 Jul 2010)
New Revision: 31533

Modified:
   docs/Perl6/Spec/S12-objects.pod
Log:
[S12] Clarify phasing of lexical classes


Modified: docs/Perl6/Spec/S12-objects.pod
===
--- docs/Perl6/Spec/S12-objects.pod 2010-07-03 04:39:32 UTC (rev 31532)
+++ docs/Perl6/Spec/S12-objects.pod 2010-07-03 09:14:27 UTC (rev 31533)
@@ -184,6 +184,15 @@
 is lexical by default also means that any names your class imports
 are also private by default.
 
+Class declarations (in particular, role composition) are strictly
+compile time statements.  In particular, if a class declaration appears
+inside a nested scope, the class declaration is constrained to compose
+in exactly the same way on any possible execution.  All named roles and
+superclasses must be bound as non-rebindable readonly values; any
+parameters to traits will be evaluated only in a non-cloning context.
+Names bound by the class declaration are made non-rebindable and read
+only so they may be used as superclasses.
+
 In an anonymous class declaration, C:: by itself may represent the
 anonymous class name if desired:
 



Re: Perl 6 in non-English languages

2010-07-03 Thread Gabor Szabo
On Wed, Jun 23, 2010 at 1:34 AM, SundaraRaman R
sundaryourfri...@gmail.com wrote:
 Hi,

 This is an idea that originated in #perl6 during a discussion with slavik (
 http://irclog.perlgeek.de/perl6/2010-01-17#i_1907093). The goal is to allow
 Perl 6 source code to be written in natural languages other than English.
 The motivation would be to make programming accessible to a lot of people
 who don't know English well (or at all), to make it easier to teach
 programming to kids in non-English speaking countries, and just plain fun.

 Currently, since Perl 6 (afaik) supports Unicode identifiers, the only place
 a modification is required would be in the keywords. However, it is not a
 simple matter of substituting s/keyword/local_language_keyword/ since the
 resultant phrasing might be awkward or meaningless and unreadable (examples
 in the linked discussion). It requires reordering the syntax of each
 construct.

 Is it possible to do this at a module level? If so, how much English usage
 would that require before someone could start programming in their own
 language - say, two, for a shebang line and a use Lang::Language line?
 or zero, by using perl6 -MLang::Language in the command line?

 Are there any ongoing works in this vein?

It is a bit hard for me to imagine how that would look like in RTL
languages such as Hebrew or Arabic.
Would the sigils be still at the beginning of the word?
Would the assignments go from left to right?

;שלי $משתנה = 42

and I could not manage to type in a for loop via the Gmail interface
as it was turning around all the time.


What I'd like to see is a Scratch-like tool for a subset of Perl 6
that can actually generate Perl 6 code.
http://scratch.mit.edu/

I know, I talked about it already a year ago.

Gabor