Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: rakudo/rakudo
base: 2d0e2dec93
head fork: rakudo/rakudo
compare: new-nil
This comparison is big! We’re only showing the most recent 250 commits
Commits on Jan 09, 2013
@jnthn jnthn Make try/CATCH exception case result in Nil.
This brings it in line with the try without explicit CATCH case.
Commits on Jan 10, 2013
@jnthn jnthn Fix a broken case of autosink.
$ will not be a top-level callmethod, but will actually wrap
it in something to do Perl 6 type coercion if the method returns some
other object. This we need p6type in the autosink list too.
@jnthn jnthn Failure.sink should not throw if handled. 45c445a
@jnthn jnthn Remove bogus defined test in sink handling.
This means that Failure is now correctly sunk.
@jnthn jnthn Implement whatever star cases of splice. 099d0ec
@jnthn jnthn Bump NQP_REVISION to get REPL fix. 4eca84f
@jnthn jnthn Fix sequences with Junction endpoints. 3c475e3
Commits on Jan 11, 2013
@FROGGS FROGGS fix for .write( Buf )
Before one got: No such method get_string for invocant of type str
@FROGGS FROGGS proper try to get the string as utf8
If the recieved data cant be decoded to utf8 it will stay
a binary bytestream. This allows one to recv utf8-strings
and/or binary data.
@FROGGS FROGGS allow to decode a Buf to a binary Str
This is needed for IO::Socket.write.
@FROGGS FROGGS .recv will return a Buf in binmode, Str otherwise
So you wont end up with binary data in a Str. If binmode is
turned off, the received data will be an utf8 encoded string.
An exception is thrown if it is unable to do so.
@jnthn jnthn Update precedence of setops to match updated spec. 8edd740
@jnthn jnthn Merge branch 'nom' into froggs_mergemulti e08b311
@jnthn jnthn Eliminate $*W mentions in
This was always a hack, unrequired for a while now.
@jnthn jnthn Fix hash/array binding constraints. f083685
@jnthn jnthn Simplify and make multi merging a bit more robust.
Better duplicate elimination, and more reliable determination of what
is/isn't a dispatcher. Passes all the same tests.
@jnthn jnthn Merge branch 'froggs_mergemulti' into nom fec0ef8
@jnthn jnthn Remove out of date comment. fda63ce
@jnthn jnthn Update ChangeLog. 463daf0
@jnthn jnthn Make Junction.Str return...a Str!
Previously, it would form a Junction with everything Str'd. Thing is,
things that (fairly) expect to get back a Str when they call .Str will
then explode when they try to unbox it. This brings us in line with
Niecza's semantics, so at the very least it's convergence...
@jnthn jnthn Specialize compilation of defor to fix bugs.
This makes defor use a call to .defined, not go via the Parrot v-table
function. There were some inconsistencies there somehow for roles and
modules; this makes sure defor will never give results inconsistent
with .defined.
@jnthn jnthn Fix (my %) over-sharing. bd9bc6f
@jnthn jnthn Add missing parameterize method.
Fixes bug with providing args to an imported parameteric role.
Commits on Jan 12, 2013
@FROGGS FROGGS fix for .write( Buf )
Before one got: No such method get_string for invocant of type str
@FROGGS FROGGS proper try to get the string as utf8
If the recieved data cant be decoded to utf8 it will stay
a binary bytestream. This allows one to recv utf8-strings
and/or binary data.
@FROGGS FROGGS allow to decode a Buf to a binary Str
This is needed for IO::Socket.write.
@FROGGS FROGGS .recv will return a Buf in binmode, Str otherwise
So you wont end up with binary data in a Str. If binmode is
turned off, the received data will be an utf8 encoded string.
An exception is thrown if it is unable to do so.
@FROGGS FROGGS Merge branch 'froggs_multibyte' of into frog…
Commits on Jan 16, 2013
@jnthn jnthn Bump NQP_REVISION to get ** fix. efac0f1
@svatsan svatsan updated tai-utc 179fd4b
@svatsan svatsan Updated release guide d0e16da
@svatsan svatsan [Release] Bump NQP_REVISION 0de5379
@svatsan svatsan [Release] Bump VERSION 59c2982
Commits on Jan 17, 2013
@svatsan svatsan [Release] Add 2013.01 Rakudo compiler release announcement. 69b53cf
@svatsan svatsan Remove Sonoma from suggested pm names 3ee51ac
@moritz moritz Merge pull request #94 from svatsan/rel-2013.01
Rakudo compiler release 2013.01
Commits on Jan 18, 2013
@jnthn jnthn Add some missing compose calls.
Prevents some weird errors when trying to look through CORE.
@jnthn jnthn Get NQPCursorRole non-explodey fix. 98a4a8a
@timo timo a levenshtein implementation in nqp dcf49e6
@timo timo when a parent class doesn't exist, throw X::Inheritance::UnknownParent d8cc616
@timo timo when a parent class isn't known, search through all blocks (WIP) 0dad898
@timo timo these hacks are no longer needed ad8449f
@timo timo this code caused strange exceptions:
Method 'ast' not found for invocant of class 'String'
@timo timo some ineffective faffing about. d270cb1
@timo timo fix the rethrow and message. thanks jnthn++ 3825b6f
Commits on Jan 19, 2013
@timo timo reinstate the give-up-early code. fcc4e4e
@timo timo whitespace fixes for UnknownParent exception. 119e3ba
@timo timo new threshold logic for levenshtein
it's complicated, so it must be good, right?
@timo timo changing the case of a letter costs 0.5 9d605f7
@timo timo switching two adjacent letters costs 1 instead of 2. 8f0e920
@timo timo factor out $achar, $bchar 80fc56a
@timo timo hyphens and underscores are cheap. 6e2ef03
@timo timo skip the name of the class itself. 0d60f32
@timo timo quote all the symbols in UnknownParent exception. c05a587
@timo timo fix the seen array cd74784
@timo timo the lower bound code is flawed in some way. 6c48f3b
@timo timo add an empty line after the suggestions. 128ad79
@timo timo changing sigils is cheap, too. 1a77e66
@timo timo the bound check was wrong. e29f2c9
@timo timo factored out levenshtein evaluator code e220768
@timo timo suggest variables for X::Undeclared. 20d38ca
@jnthn jnthn Fix parsing of 'say "$a!"'. e80cfd6
@timo timo suggest similar named routines for undeclared routines. e3ec003
@timo timo a dot was missing. a76e80d
@timo timo factor out candidate selection heuristic. 134be29
@jnthn jnthn Merge pull request #95 from timo/levenshtein
Use Levenshtein to suggest variables/routines/superclasses
@timo timo don't ask "did you mean" for 0 suggested routines. 108e37f
@FROGGS FROGGS Merge pull request #96 from timo/levenshtein
don't ask "did you mean" for 0 suggested routines.
Commits on Jan 20, 2013
@timo timo abort after finding 20 results of any quality. bebe8f9
@timo timo factor out suggest_typename d8df9e5
@timo timo added X::Parameter::InvalidType with suggestions. 0fd030a
@timo timo abort after 1000 fails, too. 22e7c10
@timo timo actually abort after 1000 tries now. 933d422
@timo timo Throw Inheritance::SelfInherit. 84271dd
@coke coke Merge pull request #98 from timo/levenshtein
More Levenshtein stuff:types in parameters. code cleanups. Self-Inherit error.
@jnthn jnthn Update 6model header and bump NQP_REVISION.
This tracks the REPR API change, and will allow Rakudo to make use of
it (will happen in future commits).
@jnthn jnthn Add missing dependency. 2752787
@jnthn jnthn Start using new REPR compose protocol. 35b2a92
Commits on Jan 21, 2013
@FROGGS FROGGS RT #116224, Str.match and Str.subst set $/
In case the pattern is a regex match() and subst() will set $/.
If it cant match, $/ will be a #<failed_match>.
Setting $/ is protected by "try" because it might be readonly.
Commits on Jan 22, 2013
@FROGGS FROGGS Merge branch 'froggs_multibyte' of into nom a26956d
Commits on Jan 23, 2013
@FROGGS FROGGS proper return value for smartmatching against a substitution
We will return True if there was a match, otherwise False.
If the rhs is not a substitution, we still will call ACCEPTS
and return its result.
@FROGGS FROGGS allow the use of $()
... which is a shorthand for $($/.ast // ~$/).
@FROGGS FROGGS fix, so that $(0) isnt treated like $() 7707e42
Commits on Jan 24, 2013
@moritz moritz attempt to fix $socket.get with non-ASCII characters 0b5899a
@masak masak [core/] implemented 943ecc5
@masak masak switched .truncated-to to enum
The exception type X::Temporal::Truncation also goes away,
being replaced by ordinary parameter type checking.
@masak masak [core/] implemented b49cbe0
@timo timo Constructor::Positional tells what class it came from. b5a63c6
@FROGGS FROGGS Merge pull request #99 from timo/positional_new_error
Constructor::Positional tells what class it came from.
@FROGGS FROGGS bump nqp rev for $(...) in regexes d97ad43
Commits on Jan 25, 2013
@FROGGS FROGGS pass type object to exception X::Constructor::Positional 6b0cea6
@timo timo use @.suggestions.join instead of nqp::join. 014f8ca
@timo timo add a token typo_typename and use it in "my" declarations. 9a889fd
@timo timo throw the sorry anyway, since we did match a longname. 0ceef80
@timo timo suggest names for --> Unknown, too. b97fb88
@timo timo suggest Types, too for Undeclared::Symbols. 25d87ef
@timo timo throw a sorry instead of an exception, remove old error. 0ae1e8d
@jnthn jnthn Merge pull request #100 from timo/typename_suggestions
Typename suggestions: in signatures, declarations, return types, ...
Commits on Jan 26, 2013
@jnthn jnthn Fix degenerate /< hello >/. c356d8e
@timo timo unfold junctions at compile time sometimes. 433dca6
@timo timo build a new "is_from_core". 8f80e88
@timo timo fixed junction ops, fixed is_from_core, added %!foldable_junction 58646f3
@timo timo the optimisation works for while/until, too. cccd1cb
Commits on Jan 27, 2013
@timo timo a bit prettier code. 6b78bbc
@timo timo allow any and all, use a hash for the outer check. caa06c2
@timo timo simplify can_chain_junction_be_warped. 81dc550
@timo timo bail out before doing any analysis
analysis in this case doesn't contribute anything helpful
to the process, unlike the "call to &foo with arguments (bar)
will never work" for example.
@timo timo remove any/all again due to flattening woes 58dd3c7
@timo timo why not make this a level 2 optimization? :) 9494956
@arnsholt arnsholt Start integrating with native size support in NQP. f7a5a2f
@jnthn jnthn Merge pull request #101 from timo/junction-opt
Partially inline junctions in bool context at compile time
@moritz moritz mark some numeric operators as pure a1bcaa6
Commits on Jan 28, 2013
@arnsholt arnsholt Fix braino. NativeHOW sent bad data to the REPR compose. c7fe112
Commits on Jan 29, 2013
@moritz moritz reverse order of <perl vendor site> dirs in @*INC
we do not have to repeat all of the mistakes Perl 5 has made.
@arnsholt arnsholt Merge branch 'nom' into dyncall-sized-num e079812
Commits on Jan 30, 2013
@moritz moritz update ChangeLog b3fc32a
@jnthn jnthn Bump NQP_REVISION for REPL improvements. 9dfa827
@jnthn jnthn Support lexical type introspection. 0fd4ee8
@jnthn jnthn Better REPL exception reporting; updates. 9ec0a59
Commits on Jan 31, 2013
@moritz moritz first shot at constant folding
so far it does nothing, but also breaks nothing. It seems that the multi dispatch call optimization comes first, and interferes with this one
@moritz moritz move constant folding code to the correct location; some small fixes cd64560
Commits on Feb 01, 2013
@moritz moritz Merge remote branch 'origin/nom' into constant-folding 03cce4d
@moritz moritz constant folding cleanup
* catch it when the routine to be folded errors out
* make sure to preseve namedness of named arguments
* remove debug output
=> all spectests pass!
Moritz Lenz update ChangeLog 33d8dd0
@jnthn jnthn Updates to work with latest NQP additions. 5e5a76f
@arnsholt arnsholt Make NativeHOW set float as well as integer bitsize.
Since NativeHOW is used for all native types (int, num, str) we don't know a
priori whether we're setting the bitwidth of an int of a float. So we set
@moritz moritz Do not inline stuff that warns 8f39611
@moritz moritz mark more subs and ops as pure 6d5dc67
Commits on Feb 02, 2013
@arnsholt arnsholt Update sixmodelobject.h. 80dc914
Commits on Feb 03, 2013
@moritz moritz Calculate each year's Rakudo releases
also fill up the dates for 2013.
Commits on Feb 05, 2013
@FROGGS FROGGS move $( ~ ) into variable token
Contextualizers do work and litvar.t is parseable now.
@FROGGS FROGGS bump NQP revision 0dda4c8
Commits on Feb 06, 2013
@moritz moritz constant-fold some range operators
the others cause the setting compilation to fail when constant-folded. Not sure yet why.
Commits on Feb 07, 2013
@jnthn jnthn Merge remote-tracking branch 'origin/dyncall-sized-num' into nom e59ba28
@jnthn jnthn Bump NQP_REVISION for natives improvements. fc3f0d8
@FROGGS FROGGS remove circumfix:sym<sigil>
This was already moved to method variable.
Commits on Feb 09, 2013
@jnthn jnthn Make sure we call compose_repr early enough.
Should always call it before the first intantiation.
@jnthn jnthn Fix anonymous state variable regression. 7ad6e63
@colomon colomon Add Cool.set and Cool.bag. d76f9b2
@jnthn jnthn Update to build on latest NQP.
REPR API additions force a fresh sixmodelobject.h, so also needed to
do an NQP_REVISION bump.
Commits on Feb 11, 2013
@jnthn jnthn Chase !cursor_start changes. 7e22a79
Commits on Feb 13, 2013
@jnthn jnthn Bump to an NQP with a build fix. 5a12919
@moritz moritz RT #107992: make $_ writable in -n/-p code fdbba70
Commits on Feb 14, 2013
@moritz moritz speed up eqv for Buf 8369e63
@moritz moritz [Configure] stop on unknown command line options, [Coke]++ 1e85ffd
Commits on Feb 16, 2013
@moritz moritz try to track void context in the optimizer
does not work yet, it seems to consider all string literals in void context.
No idea why :(
@moritz moritz be a bit less wrong about void context detection
still does not work at all :(
@moritz moritz fix logic error in void context detection
still has quite a fe false positives
@moritz moritz track declaration bits in the QAST d501814
@moritz moritz use %!worrying mechanism for string constants in void context 9244510
@moritz moritz give string literal QAST nodes a Match object 7636b79
@moritz moritz detect Int and Num literals in void context
Does not trigger yet, probably because they have no .node info.
Also replace the constant QAST node with a null op
@moritz moritz give numeric constant QAST nodes a .node
now Int and Num literals warn in void context
@FROGGS FROGGS Apparent subscript will be treated as regex
Throw the same warning as STD does for things like
@var[0], $var{a} and $var<a> in regexes.
@moritz moritz warn when inlining constant expressions in void context f6a731c
Commits on Feb 17, 2013
@moritz moritz steal match widening from rakudo-debugger
now "23 + 4" in sink context reports the whole expression, not just the operator
@moritz moritz Merge remote-tracking branch 'origin/optimizer-void-context' into nom df3a732
@moritz moritz update ChangeLog with new warnings d2795bb
@jnthn jnthn Support for nqp::const. 10dac76
@jnthn jnthn Some pir:: => nqp:: for the setting. b9ee89a
Commits on Feb 18, 2013
@moritz moritz warn about variables in sink context 018b73b
@moritz moritz add some type annotations to the Optimizer code 5101a54
Commits on Feb 19, 2013
@FROGGS FROGGS add array in regex interpolation feature
Arrays withinn regex will be treated as alternations of its elements.
Preceding | or || will change its behaviour, || means sequential alt-
ernation and | LTM, while the LTM is just a basic approach and needs
@moritz moritz Warn when pure expressions are used in sink context
even if the arguments are not constant, or the expression warns.
By explicit request from TimToady++ at
@moritz moritz awesomify sink context warning text 2f210be
Commits on Feb 20, 2013
@arnsholt arnsholt Add int64 type. 6392d64
Commits on Feb 21, 2013
@cotto cotto clean up some op definitions c3dc86e
@coke coke Merge pull request #105 from cotto/nom
clean up some op definitions
@moritz moritz /./ and rx/./ literals now match against $_ in sink context cd95e40
@moritz moritz avoid sinking of state initializers 5dfb733
@timo timo turn LTA error for coercive type declarations into NYI. 9c59a13
Commits on Feb 22, 2013
@moritz moritz update ChangeLog a763a18
@tadzik tadzik [release] bump NQP revision 256339c
@tadzik tadzik [release] bump VERSION c89dd87
@tadzik tadzik [release] Add a new release announcement 78d2a2a
@tadzik tadzik Update the release guide f67e101
@pmichaud pmichaud Some formatting updates to 2013.02 announcement. 42f8ead
@moritz moritz [docs] update the download step in the release guide 483ce86
Commits on Feb 23, 2013
@FROGGS FROGGS interpolation of e.g. regexes in arrays in regexes c255f1d
@moritz moritz bump VERSION and NQP_REVISION to 2013.02.1
this gets us non-broken native call suport
@FROGGS FROGGS force regexes in array to match at pos 0 only ff2ceee
@moritz moritz switch type name gistification from Type() to (Type) cfee628
Commits on Feb 24, 2013
@jnthn jnthn Fix an incorrect package name.
Not sure how this ever worked before; fixes the failing tests.
@FROGGS FROGGS bump nqp revision 80f798b
@moritz moritz Merge remote-tracking branch 'origin/agressive-sink-warnings' into nom b205e66
Commits on Feb 25, 2013
@jnthn jnthn Tweak an error message; TimToady++. 4d9c34a
@moritz moritz [docs] release announcements in markdown
* update release_guide
* add a template for the announcement for next month, provided by uvtc++

the format we use is quite close to markdown already, and writing it
in proper markdown makes them display nicely on github, and easier to
translate to HTML
Commits on Feb 26, 2013
@jnthn jnthn Updates to work with latest HLL::Compiler.
Makes things a little cleaner, by not coupling to the backend stages
at all. Should cut out one bit of what the --target=pbc support had
to update.
Commits on Feb 27, 2013
@jnthn jnthn Be sure to use line info cache. c2910e2
@moritz moritz README: update download location for star packages f4e96b0
Commits on Feb 28, 2013
Moritz Lenz run S02-magicals/vm.t, timotimo++ 22b3cf3
@jnthn jnthn Remove bogus coercion from Cool.substr.
Found by labster++.
Commits on Mar 01, 2013
@jnthn jnthn Eliminate a no-longer-needed hack. a72f82d
@jnthn jnthn Eliminate pir:: usage in Perl6::Grammar. edeeaf3
@jnthn jnthn Eliminate pir:: in Perl6::Actions. 6ce3130
@jnthn jnthn Turn some QAST::VM into QAST::Op. 680d86a
@jnthn jnthn Some pir:: => nqp:: in Perl6::World. 2303d19
@jnthn jnthn Eliminate some property usages. 6f5cfc1
@jnthn jnthn Some pir:: => nqp:: in BOOTSTRAP. 40069f9
Commits on Mar 02, 2013
@jnthn jnthn Toss dead code. ec1c81a
@jnthn jnthn Remove redundant op mappings. 0087ce6
@jnthn jnthn Toss two dead ops. 7de7725
@FROGGS FROGGS bump nqp rev for cclass subtractions 82de32e
@FROGGS FROGGS bump nqp revision 7a41b98
@FROGGS FROGGS RT #116979 check for variable in regex assertions 123dfa3
Commits on Mar 03, 2013
@pmichaud pmichaud Have Rat.perl return decimal numbers if denominator is normalizable t…
…o a power of 10. Fixes RT #117013.
@FROGGS FROGGS RT #77410 bump nqp rev for :ignorecase in character classes 87ad7c6
Commits on Mar 04, 2013
@kboga kboga pir::repr_clone__PP -> nqp::clone 34a7973
@kboga kboga pir::shr__0II -> nqp::bitshiftr_i baf0f5e
@kboga kboga pir::find_dynamic_lex__Ps -> nqp::getlexdyn 74b7f2a
@kboga kboga pir::getstdin__P -> nqp::getstdin 789a9c9
@kboga kboga pir::getstdout__P -> nqp::getstdout 793ff48
@kboga kboga pir::getstderr__P -> nqp::getstderr 6baa174
@kboga kboga pir::set_who__0PP -> nqp::setwho 62f5bfa
@kboga kboga pir::compreg__Ps -> nqp::getcomp 1208feb
@kboga kboga pir::set_container_spec__vPPsP -> nqp::setcontspec 35ec5b7
@kboga kboga pir::repr_get_primitive_type_spec__IP -> nqp::objprimspec f29a119
@kboga kboga pir::nqp_decontainerize__PP -> nqp::decont c369f0e
@kboga kboga pir::set_boolification_spec__0PiP -> nqp::setboolspec 392f208
@kboga kboga pir::repr_type_object_for__PPS -> nqp::newtype 014e156
@kboga kboga pir::set_method_cache_authoritativeness__vPi -> nqp::setmethcacheauth 5d36bdf
@kboga kboga pir::publish_method_cache__0PP -> nqp::setmethcache 4ccfdba
@kboga kboga pir::set_hll_global__1SP -> nqp::bindcurhllsym 238b1bf
@kboga kboga pir::get_hll_global__Ps -> nqp::getcurhllsym be75b01
@kboga kboga pir::setattribute__vPPsP -> nqp::bindattr d5c6fa7
@kboga kboga pir::load_bytecode__vs -> nqp::loadbytecode 017f093
@kboga kboga pir::nqp_disable_sc_write_barrier__v -> nqp::scwbdisable 5b7786b
@kboga kboga pir::nqp_enable_sc_write_barrier__v -> nqp::scwbenable bebba55
@kboga kboga pir ctx -> nqp ctx 5d306d9
@kboga kboga pir::set_method_cache_authoritativeness__0Pi -> nqp::setmethcacheauth c85d3aa
@kboga kboga publish_type_check_cache__0PP -> nqp::settypecache 3b004e5
@kboga kboga pir::exit__0i -> nqp::exit ce18272
Commits on Mar 05, 2013
@moritz moritz bring Nil more in line with newest spec af2e7e1
Commits on Mar 06, 2013
@FROGGS FROGGS bump nqp revision, this unbreaks JSON::Tiny c315c8b
@FROGGS FROGGS bump NQP revision fec64aa
@pmichaud pmichaud A better factoring of Rat.perl. 90bd93d
@pmichaud pmichaud Rat.perl should provide angle brackets around fractional forms. 11157e9
Commits on Mar 08, 2013
@jnthn jnthn Add missing shellwords postcircumfixes.
Resolves oops-hyper parse bug due to them being missing, and as a bonus
means we now support them.
@jnthn jnthn Generalize "can we augment this" checking.
Make it an archetype, and then opt classes in. Also tweak the exception
type that is used to be more general, and try to make the wording of it
general enough for all the cases we could get it, so it won't mislead.
@jnthn jnthn Align user-defined circumfix parsing with STD.
Means that we now use semilist (thus getting whitespace righter) and
set a stopper appropriately.
@jnthn jnthn Forbid null operators.
Adds a typed exception for them also.
@jnthn jnthn Add coloncircumfix.
Brings us further in line with STD's approach, and gets rid of a
misleading message.
@jnthn jnthn Sync some errors with STD. 8c0f875
Commits on Mar 09, 2013
@thundergnat thundergnat fix error message typo; associtiave -> associative baa9b00
@jnthn jnthn Sync integer parsing warnings/errors with STD.
Of note, the one that warns about leading 0 not being octal is now
@jnthn jnthn Merge pull request #111 from thundergnat/nom
Update  Fix error message typo; associtiave -> associative
@jnthn jnthn Add $*IN_META and use it as STD does. d9dc404
Commits on Mar 12, 2013
@gerdr gerdr Change IO::Socket::INET.get to return undef on EOF, matching IO seman…

Also make sure that the line separator is encoded correctly.

Now, if only someone could show me a good way to make the transcoding happen
at attribute assignment and not at every readline call...
@gerdr gerdr Fix IO::Socket::INET.lines - now with actual looping f54e210
@moritz moritz Merge branch 'fix-socket-get-2' of in…
…to new-nil