Mon Mar 28 12:13:41 EST 2005  Mark Stosberg <[EMAIL PROTECTED]>
  * add PORTING_HOWTO to darcs.

Mon Mar 28 12:19:27 EST 2005  Mark Stosberg <[EMAIL PROTECTED]>
  * add request for specific example subroutine signature porting

Mon Mar 28 12:24:10 EST 2005  Mark Stosberg <[EMAIL PROTECTED]>
  * enhance Regexp porting notes
New patches:

[add PORTING_HOWTO to darcs.
Mark Stosberg <[EMAIL PROTECTED]>**20050328171341] 
<
> {
addfile ./modules/PORTING_HOWTO
hunk ./modules/PORTING_HOWTO 1
+Mini HowTo: How to port Perl 5 modules to Perl 6
+
+  - Before you start porting a module, make sure you understand the class
+    hierarchy of that module. It helps if you've actually used that module in
+    Perl 5 :)
+
+  - Port a module even if it depends on some other (not yet ported) modules --
+    the dependencies can be ported later on.
+
+  - Often, the translation P5 -> P6 is quite mechanic:
+    - $array[idx] -> @array[idx]
+    - a ? b : c -> a ?? b :: c
+    - $self->method(...) -> .method(...)
+    - sub { my ($self, $a, $b) = @_; ... } ->
+      method($a, $b) { ... }
+    - $x =~ s/.../.../g -> $x ~~ s:g/.../.../
+    - $self->{foo} -> $.foo
+    - $foo = "bar" unless defined $foo ->
+      $foo //= "bar" # (//) and (//=) will be in 5.9, too, IIRC
+    - if($foo eq "a" or $foo eq "b" or $foo eq "c") {...} ->
+      if $foo eq "a"|"b"|"c" {...}
+    - foreach my $foo (@baz) {...} ->
+      for @baz -> $foo {...}
+    - Regular expressions:
+      [abc]   -> <[abc]>
+      [^abc]  -> <-[abc]>
+      (?:...) -> [...]
+
+  - Often, you can remove all that Perl 5 argument parsing and simply
+    substitute it by a nice signature.
+
+  - require Exporter;
+    our @ISA    = qw< Exporter >;
+    our @EXPORT = qw< foo >;
+    sub foo { ... }
+    # ->
+    sub foo(...) is export { ... }
+
+  - return map {.4.} sort {.3.} grep {.2.} map {.1.} ->
+    map {.1.} ==> grep {.2.} ==> sort {.3.} ==> map {.4.} ==> return
+
+  - Especially Perl 6's translation of Perl 5's getter/setter idiom is cool:
+
+    # Perl 5
+    sub get_foo {
+      my $self = shift;
+
+      my $ret = $self->{foo};
+      return lc $ret; # always normalize
+    }
+    
+    sub set_foo {
+      my ($self, $to) = @_;
+
+      $to =~ s/\s+$//; # strip whitespace at the end
+      $self->{foo} = $to;
+    }
+
+    # -> Perl 6 (see L<S06/"Lvalue subroutines"> for information about Proxy)
+    has $:foo;
+    sub foo() is rw {
+      return new Proxy:
+        FETCH => { lc $:foo },
+        STORE => -> $to is copy {
+          $to ~~ s/\s+$//;
+          $:foo = $to;
+        };
+    }
+    # And then:
+    say $obj.foo;
+    $obj.foo = "..."; # Notice: Standard assignment syntax!
+                      # Assignments should look like assignments, not like
+                      # method calls
+  
+  - If you trust the user to give correct data to accessors, you can also use:
+    has $.foo is rw;
+  - Or:
+    subtype OddInt of Int where { $^n % 2 == 1 }
+    has OddInt $.foo is rw;
+    # And then:
+    $obj.foo = 12; # will die
}
[add request for specific example subroutine signature porting
Mark Stosberg <[EMAIL PROTECTED]>**20050328171927] 
<
> {
hunk ./modules/PORTING_HOWTO 30
       (?:...) -> [...]
 
   - Often, you can remove all that Perl 5 argument parsing and simply
-    substitute it by a nice signature.
+    substitute it by a nice signature. (TODO: give examples of this.)
 
   - require Exporter;
     our @ISA    = qw< Exporter >;
}
[enhance Regexp porting notes
Mark Stosberg <[EMAIL PROTECTED]>**20050328172410] 
<
> {
hunk ./modules/PORTING_HOWTO 16
     - $self->method(...) -> .method(...)
     - sub { my ($self, $a, $b) = @_; ... } ->
       method($a, $b) { ... }
-    - $x =~ s/.../.../g -> $x ~~ s:g/.../.../
+    - $x =~ s/.../.../g -> $x ~~ s:perl5:g/.../.../
     - $self->{foo} -> $.foo
     - $foo = "bar" unless defined $foo ->
       $foo //= "bar" # (//) and (//=) will be in 5.9, too, IIRC
hunk ./modules/PORTING_HOWTO 25
     - foreach my $foo (@baz) {...} ->
       for @baz -> $foo {...}
     - Regular expressions:
+      The simplest way to port is to declare that you are using the Perl5 syntax:
+      m/$my_re/ ->  m:perl5/$my_re/
+    
+      Here are some specific differences with Perl 6 Regexp syntax:
       [abc]   -> <[abc]>
       [^abc]  -> <-[abc]>
       (?:...) -> [...]
hunk ./modules/PORTING_HOWTO 32
+
+      More details of Perl6 REs: 
+      http://dev.perl.org/perl6/synopsis/S05.html
 
   - Often, you can remove all that Perl 5 argument parsing and simply
     substitute it by a nice signature. (TODO: give examples of this.)
}

Context:

[r2522
[EMAIL PROTECTED] 
[r2520
[EMAIL PROTECTED] 
[r2516
[EMAIL PROTECTED] 
[r2512
[EMAIL PROTECTED] 
[r2502
[EMAIL PROTECTED] 
[r2494
[EMAIL PROTECTED] 
[r2488
[EMAIL PROTECTED] 
[r2484
[EMAIL PROTECTED] 
[r2476
[EMAIL PROTECTED] 
[r2474
[EMAIL PROTECTED] 
[r2472
[EMAIL PROTECTED] 
[r2466
[EMAIL PROTECTED] 
[r2464
[EMAIL PROTECTED] 
[r2462
[EMAIL PROTECTED] 
[r2460
[EMAIL PROTECTED] 
[r2456
[EMAIL PROTECTED] 
[r2452
[EMAIL PROTECTED] 
[r2450
[EMAIL PROTECTED] 
[r2446
[EMAIL PROTECTED] 
[r2444
[EMAIL PROTECTED] 
[r2442
[EMAIL PROTECTED] 
[r2438
[EMAIL PROTECTED] 
[r2436
[EMAIL PROTECTED] 
[r2434
[EMAIL PROTECTED] 
[r2432
[EMAIL PROTECTED] 
[r2430
[EMAIL PROTECTED] 
[r2428
[EMAIL PROTECTED] 
[* add files
[EMAIL PROTECTED] 
[r2420
[EMAIL PROTECTED] 
[r2412
[EMAIL PROTECTED] 
[r2410
[EMAIL PROTECTED] 
[r2408
[EMAIL PROTECTED] 
[r2402
[EMAIL PROTECTED] 
[r2392
[EMAIL PROTECTED] 
[r2384
[EMAIL PROTECTED] 
[r2374
[EMAIL PROTECTED] 
[r2372
[EMAIL PROTECTED] 
[r2368
[EMAIL PROTECTED] 
[r2352
[EMAIL PROTECTED] 
[r2350
[EMAIL PROTECTED] 
[r2348
[EMAIL PROTECTED] 
[r2344
[EMAIL PROTECTED] 
[r2340
[EMAIL PROTECTED] 
[r2336
[EMAIL PROTECTED] 
[r2332
[EMAIL PROTECTED] 
[r2326
[EMAIL PROTECTED] 
[r2310
[EMAIL PROTECTED] 
[r2308
[EMAIL PROTECTED] 
[r2306
[EMAIL PROTECTED] 
[r2302
[EMAIL PROTECTED] 
[r2300
[EMAIL PROTECTED] 
[r2298
[EMAIL PROTECTED] 
[r2296
[EMAIL PROTECTED] 
[r2294
[EMAIL PROTECTED] 
[r2292
[EMAIL PROTECTED] 
[r2290
[EMAIL PROTECTED] 
[r2288
[EMAIL PROTECTED] 
[r2286
[EMAIL PROTECTED] 
[r2284
[EMAIL PROTECTED] 
[r2282
[EMAIL PROTECTED] 
[r2278
[EMAIL PROTECTED] 
[r2272
[EMAIL PROTECTED] 
[r2270
[EMAIL PROTECTED] 
[r2264
[EMAIL PROTECTED] 
[r2262
[EMAIL PROTECTED] 
[r2256
[EMAIL PROTECTED] 
[r2252
[EMAIL PROTECTED] 
[r2248
[EMAIL PROTECTED] 
[r2244
[EMAIL PROTECTED] 
[r2238
[EMAIL PROTECTED] 
[r2236
[EMAIL PROTECTED] 
[r2234
[EMAIL PROTECTED] 
[r2232
[EMAIL PROTECTED] 
[r2230
[EMAIL PROTECTED] 
[r2228
[EMAIL PROTECTED] 
[r2226
[EMAIL PROTECTED] 
[r2220
[EMAIL PROTECTED] 
[r2218
[EMAIL PROTECTED] 
[r2216
[EMAIL PROTECTED] 
[r2214
[EMAIL PROTECTED] 
[r2212
[EMAIL PROTECTED] 
[r2210
[EMAIL PROTECTED] 
[r2208
[EMAIL PROTECTED] 
[r2200
[EMAIL PROTECTED] 
[r2196
[EMAIL PROTECTED] 
[r2194
[EMAIL PROTECTED] 
[pcre
[EMAIL PROTECTED] 
[r2194
[EMAIL PROTECTED] 
[r2190
[EMAIL PROTECTED] 
[r2188
[EMAIL PROTECTED] 
[r2186
[EMAIL PROTECTED] 
[r2180
[EMAIL PROTECTED] 
[r2178
[EMAIL PROTECTED] 
[r2174
[EMAIL PROTECTED] 
[r2172
[EMAIL PROTECTED] 
[r2168
[EMAIL PROTECTED] 
[r2164
[EMAIL PROTECTED] 
[r2162
[EMAIL PROTECTED] 
[r2160
[EMAIL PROTECTED] 
[r2154
[EMAIL PROTECTED] 
[r2152
[EMAIL PROTECTED] 
[r2150
[EMAIL PROTECTED] 
[r2148
[EMAIL PROTECTED] 
[r2146
[EMAIL PROTECTED] 
[r2144
[EMAIL PROTECTED] 
[r2142
[EMAIL PROTECTED] 
[r2140
[EMAIL PROTECTED] 
[r2136
[EMAIL PROTECTED] 
[r2134
[EMAIL PROTECTED] 
[r2130
[EMAIL PROTECTED] 
[r2126
[EMAIL PROTECTED] 
[r2124
[EMAIL PROTECTED] 
[r2116
[EMAIL PROTECTED] 
[r2110
[EMAIL PROTECTED] 
[r2104
[EMAIL PROTECTED] 
[r2102
[EMAIL PROTECTED] 
[r2100
[EMAIL PROTECTED] 
[r2096
[EMAIL PROTECTED] 
[r2092
[EMAIL PROTECTED] 
[r2090
[EMAIL PROTECTED] 
[r2088
[EMAIL PROTECTED] 
[r2086
[EMAIL PROTECTED] 
[r2082
[EMAIL PROTECTED] 
[r2080
[EMAIL PROTECTED] 
[r2074
[EMAIL PROTECTED] 
[r2070
[EMAIL PROTECTED] 
[r2068
[EMAIL PROTECTED] 
[r2064
[EMAIL PROTECTED] 
[r2062
[EMAIL PROTECTED] 
[r2060
[EMAIL PROTECTED] 
[r2056
[EMAIL PROTECTED] 
[r2054
[EMAIL PROTECTED] 
[r2052
[EMAIL PROTECTED] 
[r2050
[EMAIL PROTECTED] 
[r2048
[EMAIL PROTECTED] 
[r2046
[EMAIL PROTECTED] 
[r2044
[EMAIL PROTECTED] 
[r2042
[EMAIL PROTECTED] 
[r2040
[EMAIL PROTECTED] 
[r2038
[EMAIL PROTECTED] 
[r2036
[EMAIL PROTECTED] 
[r2034
[EMAIL PROTECTED] 
[r2032
[EMAIL PROTECTED] 
[r2030
[EMAIL PROTECTED] 
[r2028
[EMAIL PROTECTED] 
[r2026
[EMAIL PROTECTED] 
[r2024
[EMAIL PROTECTED] 
[r2018
[EMAIL PROTECTED] 
[r2014
[EMAIL PROTECTED] 
[r2012
[EMAIL PROTECTED] 
[r2010
[EMAIL PROTECTED] 
[r2008
[EMAIL PROTECTED] 
[r2002
[EMAIL PROTECTED] 
[r2000
[EMAIL PROTECTED] 
[r1996
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[Basic test for try { CATCH {} }
Yuval Kogman <[EMAIL PROTECTED]>**20050304175151
 No good examples in exegis/apocalypse
 Only does CATCH (no other constructs, no default)
 Does not tests 'use fatal' stuff
] 
[Test for given blocks
Yuval Kogman <[EMAIL PROTECTED]>**20050304170743] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[suncyp
[EMAIL PROTECTED] 
[yncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[zh-* for pa01
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[more -Wall work, esp in Rule/
Isaac Jones <[EMAIL PROTECTED]>**20050228062214] 
[refactored src/Rule/Pos to use field accessors
Isaac Jones <[EMAIL PROTECTED]>**20050228061407] 
[turned off certain warnings. leaving the most important ones
Isaac Jones <[EMAIL PROTECTED]>**20050228055609] 
[toward -Wall cleanliness. focus on non-used variables. see notes!
Isaac Jones <[EMAIL PROTECTED]>**20050228043931
 
 Here are some funny things I ran into while removing references to
 unused variables:
 
 suspicious shadowing of the "sub" symbol in reduceStatements
 Eval.hs:145
 
 suspicious non-use of "name" parameter to "subs" (removed)
 
 why throw away the cxt in foldParam Prim.hs:470
 - and Evalute Eval.hs:72
 - and Eval.hs:180
 
 
] 
[fixed bug where RuleParser passed into runRule not being used. please double-check.
Isaac Jones <[EMAIL PROTECTED]>**20050228040725] 
[added error messages for non-exhaustive patterns
Isaac Jones <[EMAIL PROTECTED]>**20050228035431
 
 Please be sure to check over these in case any of them are actually
 bugs.  The "char" related ones in Bind.hs (bindEmpty for instance)
 might be better fixed with a type so that the type system will enforce
 well-formedness?
 
] 
[toward -Wall cleanliness
Isaac Jones <[EMAIL PROTECTED]>**20050228031404] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup.
[EMAIL PROTECTED] 
[import for today.
[EMAIL PROTECTED] 
[syncup
[EMAIL PROTECTED] 
[syncup from svn
[EMAIL PROTECTED] 
[still 6.0.8
[EMAIL PROTECTED] 
[6.0.8
[EMAIL PROTECTED] 
[juerd's works
[EMAIL PROTECTED] 
[posix.
[EMAIL PROTECTED] 
[split.
[EMAIL PROTECTED] 
[unbreak quicksort
[EMAIL PROTECTED] 
[juerd's dialect test
[EMAIL PROTECTED] 
[lvalue context via envLValue; qq[] literals; hash/array/list/undef/scalar casting ; evalVar now casts correctly; @*INC; the "join" primitive; list and chain associations in Lexer.hs
[EMAIL PROTECTED] 
[inline Parsec Expr for heavy rework; prefix and postfix operators may now nest.
[EMAIL PROTECTED] 
[fix abstract; !! works thanks to juerd
[EMAIL PROTECTED] 
[build tweaks from ingy
[EMAIL PROTECTED] 
[hashes.
[EMAIL PROTECTED] 
[ TBONE suggested that we drop the half-joking abstract,   as to not mislead CPAN readers.
[EMAIL PROTECTED] 
[isable readline by default.
[EMAIL PROTECTED] 
["unless"
[EMAIL PROTECTED] 
[Polymorphic parser lands!  The list for unary and list prefix functions are now generated during the parse.  Thanks for viirya for prompting me.
[EMAIL PROTECTED] 
[vbool to vrat, thanks to viirya
[EMAIL PROTECTED] 
[ycheng's mkdir/rmdir patch
[EMAIL PROTECTED] 
[life and quicksort examples
[EMAIL PROTECTED] 
[add PugsTest.pm
[EMAIL PROTECTED] 
[more tests from alin
[EMAIL PROTECTED] 
[alin's tests
[EMAIL PROTECTED] 
[add t/base/* into tests; don't use full path in Makefile because dmake hates that
[EMAIL PROTECTED] 
[grep and map
[EMAIL PROTECTED] 
[add quicksort example; new "cxt" Syn construct to force Scalar slurpy values; the () signature will match slurpy empty lists; empty list via () is parsed; OPs are now under Eval monad; optional prms in Prim now 
[EMAIL PROTECTED] 
[it's ternary, not trinary
[EMAIL PROTECTED] 
[6.0.7
[EMAIL PROTECTED] 
[6.0.6.
[EMAIL PROTECTED] 
[slices in scalar context; glider now glides; punctuation now nests
[EMAIL PROTECTED] 
[trinary operators ; error now propagates upward via shiftT ; foreach ; if/then/else ; fix hc's 02atom.t
[EMAIL PROTECTED] 
[fixed symbol lookahead at word boundaries
[EMAIL PROTECTED] 
[add meta and sig
[EMAIL PROTECTED] 
[assignment now works separately than binding
[EMAIL PROTECTED] 
[postfix ++ and -- works
[EMAIL PROTECTED] 
[loop constructs; various postfix dereferencing syntax
[EMAIL PROTECTED] 
[some I/O primitives: open/close/<> etc
[EMAIL PROTECTED] 
[add suitable magic to run t/*.t with pugs!
[EMAIL PROTECTED] 
[temporarily disable unary - as it clashes with ->; blocks now evaluate on spot
[EMAIL PROTECTED] 
[blocks in void context now works; anonymouse subs works; pugs (the command line) now won't print toplevels anymore
[EMAIL PROTECTED] 
[invalid casting into VSub now raises errors
[EMAIL PROTECTED] 
[scoped variables landed
[EMAIL PROTECTED] 
[better boolean prettyprinting thanks to larry
[EMAIL PROTECTED] 
[ scoped subroutine parsing; void context
[EMAIL PROTECTED] 
[space is no longer required after params
[EMAIL PROTECTED] 
[dotdotdot
[EMAIL PROTECTED] 
[bandaid to fix lexical scoping
[EMAIL PROTECTED] 
[the "Return" primitive (and lexically bound shiftT); SubPrim; @*ARGS and $*PROGNAME; scopes are now symbols
[EMAIL PROTECTED] 
[stringification of bools
[EMAIL PROTECTED] 
[add eclipse project metadata
[EMAIL PROTECTED] 
["print" primitive; VControl value
[EMAIL PROTECTED] 
[ditch unsafePerformIO from rand generation
[EMAIL PROTECTED] 
[6.0.5
[EMAIL PROTECTED] 
[enable selective debugging; lists length > 100 is prettified finitely
[EMAIL PROTECTED] 
[Syn prettyprinting
[EMAIL PROTECTED] 
[proper handling of error propagation
[EMAIL PROTECTED] 
[better debug info (eval/result chain)
[EMAIL PROTECTED] 
[spaces parsing in reservedOp fixed
[EMAIL PROTECTED] 
[op1 now takes values.
[EMAIL PROTECTED] 
[monadic evaluator transition complete.
[EMAIL PROTECTED] 
[subroutine parsing fixes, promted by viirya
[EMAIL PROTECTED] 
[viirya's patch to fix leading whitespace
[EMAIL PROTECTED] 
[the predicate of VErr should also be monadic
[EMAIL PROTECTED] 
[the parser is now responsible to return an Env as well.
[EMAIL PROTECTED] 
[StateEnv is now Eval.
[EMAIL PROTECTED] 
[add monads to manifest
[EMAIL PROTECTED] 
[hopefully correct treatment at JOne().
[EMAIL PROTECTED] 
[shift-to-control based Eval monad lands!
[EMAIL PROTECTED] 
[beginning of monadic evaluator code
[EMAIL PROTECTED] 
[rename commands as Cmd* to make room for the Eval monad
[EMAIL PROTECTED] 
[manage junctions with two sets
[EMAIL PROTECTED] 
[continuation monad
[EMAIL PROTECTED] 
[partial collapsing (removing duplicates) for JuncOne.
[EMAIL PROTECTED] 
[turn the evaluator into a State monad (unfinihsed)
[EMAIL PROTECTED] 
[beginning of mergeup with Perl6.grammar; lexical pads
[EMAIL PROTECTED] 
[lexical symbols: first phase
[EMAIL PROTECTED] 
[chained comparison now works again, thanks to tom moertel
[EMAIL PROTECTED] 
[pluggable evaluator finished
[EMAIL PROTECTED] 
[illegal division should be caught.
[EMAIL PROTECTED] 
[Division by zero now raises exception, thanks to viirya
[EMAIL PROTECTED] 
[don't autothread over the "Any" prototype.
[EMAIL PROTECTED] 
[rand()
[EMAIL PROTECTED] 
[junctive refactoring to Junc.hs; "eval".
[EMAIL PROTECTED] 
[6.0.3
[EMAIL PROTECTED] 
[the "all" junction now collapses nested junctions
[EMAIL PROTECTED] 
[implement the "nor" operator inspired by Sandlass.
[EMAIL PROTECTED] 
[use mapSet for autothreading
[EMAIL PROTECTED] 
[proper handling of nonterm; sorting of sets.
[EMAIL PROTECTED] 
[junctions are now proper sets
[EMAIL PROTECTED] 
[invocation parsed.
[EMAIL PROTECTED] 
[short circuitting for junctions
[EMAIL PROTECTED] 
[normalize subnames with prefix:
[EMAIL PROTECTED] 
[fix op0 prim dispatching
[EMAIL PROTECTED] 
[patch from viirya to fix expo expression
[EMAIL PROTECTED] 
[re-apply everything to combat darcs brokenness.
[EMAIL PROTECTED]
 
 Fri Feb 11 16:21:34 CST 2005  [EMAIL PROTECTED]
   * viirya's patch to fix 1e-2.
 
 Fri Feb 11 15:44:48 CST 2005  [EMAIL PROTECTED]
   * array and hash casting; slurpy scalar
 
 Thu Feb 10 23:47:22 CST 2005  [EMAIL PROTECTED]
   * add manifest
 
 Thu Feb 10 23:46:18 CST 2005  [EMAIL PROTECTED]
   * parameter binding.
 
 Thu Feb 10 23:45:33 CST 2005  [EMAIL PROTECTED]
   * full Synopsis 06 implemented!
 
 Wed Feb  9 21:19:29 CST 2005  [EMAIL PROTECTED]
   * global subroutines and variables.
 
 Wed Feb  9 20:42:32 CST 2005  [EMAIL PROTECTED]
   * global variables and subroutines!
 
 Wed Feb  9 19:59:57 CST 2005  [EMAIL PROTECTED]
   * higher order parameters
 
 Wed Feb  9 19:10:08 CST 2005  [EMAIL PROTECTED]
   * extract higher-order function parameters.
 
] 
[viirya's patch to fix 1e-2.
[EMAIL PROTECTED] 
[add manifest
[EMAIL PROTECTED] 
[parameter binding.
[EMAIL PROTECTED] 
[global subroutines and variables.
[EMAIL PROTECTED] 
[formal parameters. it is done.
[EMAIL PROTECTED] 
[add basic unit test
[EMAIL PROTECTED] 
[add bestian to authors
[EMAIL PROTECTED] 
[array literal ; add multiple syms; @_ aliasing; parenless function application
[EMAIL PROTECTED] 
[user-defined subroutine lands!!
[EMAIL PROTECTED] 
[full support for variables; allow mixing of nonparenthetic preOps with infixOps ( 1 + any 2..4 ); autothreading works with shortcutting logicals
[EMAIL PROTECTED] 
[variables.
[EMAIL PROTECTED] 
[chained associativity done!
[EMAIL PROTECTED] 
[list associativity done!
[EMAIL PROTECTED] 
[primitive symbol table ; fixity ; arity
[EMAIL PROTECTED] 
[finished general junctive autothreading for arbitarily nested junctive values and arity; also converted operators into the App data structure.
[EMAIL PROTECTED] 
[add context
[EMAIL PROTECTED] 
[multimethod dispatch and new application core!
[EMAIL PROTECTED] 
[added castV, cast to Val from anbitary context.  We still need a better subtyping definition though.
[EMAIL PROTECTED] 
[rationalize all numbers!
[EMAIL PROTECTED] 
[minor punctuation
[EMAIL PROTECTED] 
[fill in DATE and VERSION from lib/Perl6/Pugs.pm.
[EMAIL PROTECTED] 
[TAG 6.0.1
[EMAIL PROTECTED] 
Patch bundle hash:
0e66f6320f9ddaee5e6985e9c8a1f332a9bd4c3b

Reply via email to