Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: ng-compat
Commits on Apr 7, 2011
  1. [GGE::Perl6Regex] made $!exp public

    So that we can iterate on the expression tree after generating the regex.
  2. updated s/done_testing/done/

    Chasing the spec.
Commits on Jun 2, 2010
  1. removed configure files and

    ufo can create them now.
Commits on May 31, 2010
  1. rolled back a number of workarounds

    Things are starting to work almost as well as, sometimes better than, alpha.
    This makes me very happy. :>
Commits on May 30, 2010
  1. [GGE::Exp] moved enum types into classes

    The longer names make it clearer where they belong. Also, they're not enums
    yet because I couldn't get named enums to work in this situation.
Commits on May 29, 2010
  1. [GGE::Perl6Regex] renamed s/parse_regex/regex/

    Realized that I could call this sub if I prefixed it with a '&'. (Not doing
    that still triggers sadness in Rakudo.)
    Also removed no-longer-necessary parentheses in a return statement. Oh, and
    a fossil comment.
Commits on May 28, 2010
  1. [GGE::Match] removed silly workarounds

    postcircumfix:<{ }> and postcircumfix:<[ ]>, also known as hash and array
    indexing, didn't work too well on alpha. They do now, so the workarounds
    can be removed and replaced by sanity. Also renamed the .llist method back
    to .list, now that that works.
  2. [GGE::Perl6Regex] testing definedness

    There's been a problem with testing values for definedness, when the undefined
    value being returned is Nil, because Nil when stored in a variable mutates
    into a defined value. Instead, we return Mu for the time being, a solution
    which is impure but workable.
    GGE is now fully ported to Rakudo master! \o/
Commits on May 27, 2010
  1. [GGE::Match] is now Cool

    This fixed a couple of failures where .chars was called on a GGE::Match at
    regex runtime.
  2. [GGE::Match] s/List/Array/

    When I once put in 'List' there instead of 'Array', it was in the name of
    generality. Then Array stopped inheriting from List... :)
  3. [GGE::Perl6Regex] worked around more uncoolness

    Regex::Match doesn't do .substr, and all over the codebase that bites us.
    Found and fixed yet another place.
Commits on May 22, 2010
  1. [GGE::Perl6Regex] check .Bool rather than .defined

    The code was the way it was because it turns out that Nil is defined in
    Rakudo, whereas it should be undefined. The solution employed involved
    descending into some nodes twice, which caused other problems. The solution
    new employed simply checks for boolean truth... which should work in all
    cases. I think.
  2. [GGE::Perl6Regex] adaptations to Rakudo master

    - s/continue/proceed/ inside a 'given' block.
  3. [GGE::Exp] fixed index definedness bug

    Caused a couple of %0 occurrences not to be substituted one one level, and
    then to be substituted on the wrong level, leading to insane generated code
    producing highly erratic behavior. Lesson: when doing a while loop with
    &index (something not needed often when .subst works as it should), remember
    to write `while defined(index(...))`.
  4. [GGE::Exp] s/undef/Mu/

    These days, using 'undef' produces a runtime error. So we use Mu instead.
    It's debatable whether it should really be Nil, though. Time will tell.
  5. [GGE::OPTable] cloned closure

    Another closure that misbehaved if it wasn't cloned explicitly.
Commits on May 21, 2010
  1. replaced \e by \c[27]

    Rakudo has regressed and no longer recognizes \e. [RT #75244]
  2. [GGE::OPTable] cloned closure

    Triggered a nasty reentrancy bug if the closure wasn't manually cloned.
Commits on Apr 18, 2010
  1. [GGE] Further adaptations to Rakudo master

    - Worked around the lack of hash slices.
    - s/continue/proceed/ inside a 'given' block.
    - More gratuitious stringifications due to Regex::Match not being cool.
  2. oops; fixed botched implementation from last commit

    '\x' is two characters, not one.
  3. [GGE] Further adaptations to Rakudo master

    - Replaced more Str.trans calls with Str.subst calls.
    - 'our'-scoped the workarounded enums so that they'll be reachable from
      outside the GGE::Exp module.
    - Worked around the lack of hash slices.
    - Turned off calls to .name on enums, because these are workarounded as
      functions returning ints.
    - Added a {} to some function calls whose function has a '%hash? is copy'
    - Added stringifications to a lot of places, because Regex::Match is not cool.
    - Made the 'parse_*' subs in GGE::Perl6Regex 'our'-scoped so that they could
      be referred to in their package.
    - Discovered (and fixed) a bug wherein a Nil value evaluated as defined
      because it had been stored in a variable and expanded into a Seq object,
      contrary to S02.
    - Worked around the lack of functioning $/ in closures in Str.subst, by
      writing a sub 'replace_x' doing string plumbing.
Commits on Apr 17, 2010
  1. [GGE] Further adaptions to Rakudo master

    - Put in a stringification of what's sometimes a Regex::Match object, because
      Regex::Match won't call .substr et al properly.
    - Replaced all 'break' statements with the new 'succeed' statement.
  2. [GGE] Further adaptions to Rakudo master

    - Rewrote CodeString.emit to do string plumbing instead of using .subst --
      slightly more kosher, but still uses /\d/ and /\w/ for convenience.
    - Changed a class-bound variable from 'my' to 'our'. (The alpha branch of
      Rakudo wrongly accepted the former variant.)
    - Added an extra layer of parens in the parameter list of
      GGE::Perl6Regex.postcircumfix:<( )>
    - Worked around the <-[\t]> bug. \T is a much better way to write this
    - Put in a few stringifications where they were suddenly needed.
    - Cured a case of sudden overinterpolation in a qq string.
    - Replaced two well-placed Str.trans calls with a lot of Str.subst calls,
      since we don't have the former properly yet in Rakudo master.
Commits on Apr 12, 2010
  1. [03-optable.t] more workarounds

    They're all the same as the last one.
  2. [GGE::Match] true -> Bool method

    Guessing 'so' should work as well, but right now it doesn't.
  3. [GGE::Match] made method 'our'-scoped

    This is required if we want to get at the method from the outside using
    a routine reference.
Commits on Apr 10, 2010
  1. adaptations to the new Rakudo master

    - Named enums are not in place yet; swapped them out for simple subroutines.
    - As a consequence, needed to put parens in some places where subs would
      otherwise gobble up things as arguments.
    - The quote qq[<$prefix\[$list\]>] is now interpreted as an indexing into
      $prefix, what with the new correct-er interpolator and all. (jnthn++) But
      that wasn't at all what was intended -- the inner brackets are escaped in
      a misguided attempt to have them not be interpolated. Split the string up
      into smaller ones for clarity.
    - Changed one 'class ... is also' into a stub class and a real declaration,
      and another one into a class declaration and an 'augment class'. Had to
      add 'use MONKEY_TYPING;' for the latter.
    - Changed a large number of subs in a class (which were already a workaround
      for constants) into 'our sub' declarations.
    - Became a bit more honest with a hash parameter %opts, which was detected to
      be changing inside the method even though it was readonly. We got away with
      this earlier, because assignment to elements of a hash wasn't checked.
    - Removed an 'undef'. Since the method body is empty, it should now return
      Nil instead, which should work just as well.
    - Removed a no-longer-necessary workaround with '// undef' on hash lookups
      which might return a miss. Such return values used to be nuclear, but that
      problem has since been fixed.
    - Workedaround the lack of '<->' signatures. The code didn't become *that*
      much more repetitious.
    - Switched the engine over from 'alpha' to 'perl6'.
Commits on Feb 24, 2010
  1. [examples/algebra] updated

    - ShowContents is now GGE::ShowContents
    - $match<expr> is $match.hash-access('expr') until hash stuff is fixed
    - changed a 'say' to a 'warn'
Commits on Feb 20, 2010
  1. [README] updates

    Also pushed COOLTHINGS down into new docs/ directory, and added a list of
  2. [STATUS] updated

    Moved lookarounds to the end, un-todo'd one test with lookahead in it.
Something went wrong with that request. Please try again.