Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 185 commits
  • 59 files changed
  • 10 contributors
Dec 28, 2012
Moritz Lenz catch p5 regex adverbs after s/// a11bad6
Moritz Lenz [ROADMAP] add two missing language features 69bbd1a
Moritz Lenz work around missing sink context from traits
fixes "is assoc"
Dec 29, 2012
Moritz Lenz run tests for "is assoc" trait c7479c3
Jonathan Worthington Mark %structural as non-assoc. 7d3e01f
Dec 30, 2012
Moritz Lenz throw typed exception for non-associative operators 13e8052
Jan 02, 2013
Jonathan Worthington Teach compile time bind analysis about (|) sig.
It now recognizes such a signature as accepting anything, and thus
certain to be a successful match.
Jonathan Worthington Check proto as well as candidates in optimizer.
This fixes issues where we could end up inlining calls to candidates
that would never be reachable due to restrictions in the proto. Also,
we catch some such issues at compile time now.
Jonathan Worthington Fix incorrect exp proto. 799d759
Jonathan Worthington Improve error reporting when proto is to blame. bd41d2f
Tobias Leich possible fix for multi-method import bug
This patch allows you to import multi methods from several modules.
It merges the dispachtee lists. Two identical dispatchee signatures
dont clash yet, since I am unable to compare signatures.
Moritz Lenz remove "SAFE" setting f5037ef
Jan 03, 2013
Tobias Leich fixed typos of X::Import::Redeclaration's message
The list of symbols at the end only makes sense to print if they were not mentioned before.
Tobias Leich Merge branch 'nom' of into froggs_mergemulti 8ae44d9
Jan 04, 2013
Tobias Leich throw X::Import::OnlystarProto
Only if both sides have an onlystar proto the merge is allowed.
Tobias Leich added test file import-multi.t
These tests cover the import and merging of multi subs and traits.
Moritz Lenz delete old perl6doc files 70262f8
Moritz Lenz fix DateTime.Date (RT #114758)' 6d4b902
Jan 05, 2013
Tobias Leich Merge branch 'nom' of into froggs_mergemulti 1685f09
Moritz Lenz RT #109586: .pick on a large range has too little entropy
fixed by using nqp::rand_I instead of Num.rand
Tobias Leich Merge branch 'nom' of into froggs_mergemulti ad93780
Jan 06, 2013
Moritz Lenz crude implementation of "require ::($modulename) <importlist>
only works for a single chunk, e.g. "require Test::($name) <&symbols>" does not work
Moritz Lenz document environment variables
patch by flussence++
Jan 07, 2013
Moritz Lenz implement the rest of require + indirect lookup c072f82
Moritz Lenz require + indirect names deserves a ChangeLog entry ffde430
Jan 09, 2013
Moritz Lenz RT #116288: $$bytes) now retruns $bytes btyes, if available d2d2c85
Jonathan Worthington Bump NQP_REVISION. 57989bc
Jonathan Worthington Remove some ops that are now core ones. b36616b
Jonathan Worthington Some BUILDPLAN handling updates. af76e6d
Jonathan Worthington Fix $obj.Some::Role::meth(...).
Previously, it did not convey the correct self, since it relied on the
punning mechanism, which must invoke on the pun. Now it's fixed to do
the right thing.
Jan 10, 2013
Jonathan Worthington Make try/CATCH exception case result in Nil.
This brings it in line with the try without explicit CATCH case.
Jonathan Worthington 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.
Jonathan Worthington Failure.sink should not throw if handled. 45c445a
Jonathan Worthington Remove bogus defined test in sink handling.
This means that Failure is now correctly sunk.
Jonathan Worthington Implement whatever star cases of splice. 099d0ec
Jan 11, 2013
Jonathan Worthington Bump NQP_REVISION to get REPL fix. 4eca84f
Jonathan Worthington Fix sequences with Junction endpoints. 3c475e3
Tobias Leich fix for .write( Buf )
Before one got: No such method get_string for invocant of type str
Tobias Leich 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.
Tobias Leich allow to decode a Buf to a binary Str
This is needed for IO::Socket.write.
Tobias Leich .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.
Jonathan Worthington Update precedence of setops to match updated spec. 8edd740
Jonathan Worthington Merge branch 'nom' into froggs_mergemulti e08b311
Jonathan Worthington Eliminate $*W mentions in
This was always a hack, unrequired for a while now.
Jonathan Worthington Fix hash/array binding constraints. f083685
Jonathan Worthington 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.
Jonathan Worthington Merge branch 'froggs_mergemulti' into nom fec0ef8
Jonathan Worthington Remove out of date comment. fda63ce
Jonathan Worthington Update ChangeLog. 463daf0
Jan 12, 2013
Jonathan Worthington 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...
Jonathan Worthington 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.
Jonathan Worthington Fix (my %) over-sharing. bd9bc6f
Jonathan Worthington Add missing parameterize method.
Fixes bug with providing args to an imported parameteric role.
Tobias Leich fix for .write( Buf )
Before one got: No such method get_string for invocant of type str
Tobias Leich 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.
Tobias Leich allow to decode a Buf to a binary Str
This is needed for IO::Socket.write.
Tobias Leich .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.
Tobias Leich Merge branch 'froggs_multibyte' of into frog…
Jan 16, 2013
Jonathan Worthington Bump NQP_REVISION to get ** fix. efac0f1
Jan 17, 2013
updated tai-utc 179fd4b
Updated release guide d0e16da
[Release] Bump NQP_REVISION 0de5379
[Release] Bump VERSION 59c2982
[Release] Add 2013.01 Rakudo compiler release announcement. 69b53cf
Remove Sonoma from suggested pm names 3ee51ac
Moritz Lenz Merge pull request #94 from svatsan/rel-2013.01
Rakudo compiler release 2013.01
Jan 18, 2013
Jonathan Worthington Add some missing compose calls.
Prevents some weird errors when trying to look through CORE.
Jonathan Worthington Get NQPCursorRole non-explodey fix. 98a4a8a
timo a levenshtein implementation in nqp dcf49e6
timo when a parent class doesn't exist, throw X::Inheritance::UnknownParent d8cc616
timo when a parent class isn't known, search through all blocks (WIP) 0dad898
timo these hacks are no longer needed ad8449f
timo this code caused strange exceptions:
Method 'ast' not found for invocant of class 'String'
timo some ineffective faffing about. d270cb1
timo fix the rethrow and message. thanks jnthn++ 3825b6f
Jan 19, 2013
timo reinstate the give-up-early code. fcc4e4e
timo whitespace fixes for UnknownParent exception. 119e3ba
timo new threshold logic for levenshtein
it's complicated, so it must be good, right?
timo changing the case of a letter costs 0.5 9d605f7
timo switching two adjacent letters costs 1 instead of 2. 8f0e920
timo factor out $achar, $bchar 80fc56a
timo hyphens and underscores are cheap. 6e2ef03
timo skip the name of the class itself. 0d60f32
timo quote all the symbols in UnknownParent exception. c05a587
timo fix the seen array cd74784
timo the lower bound code is flawed in some way. 6c48f3b
timo add an empty line after the suggestions. 128ad79
timo changing sigils is cheap, too. 1a77e66
timo the bound check was wrong. e29f2c9
timo factored out levenshtein evaluator code e220768
timo suggest variables for X::Undeclared. 20d38ca
Jonathan Worthington Fix parsing of 'say "$a!"'. e80cfd6
timo suggest similar named routines for undeclared routines. e3ec003
timo a dot was missing. a76e80d
timo factor out candidate selection heuristic. 134be29
Jonathan Worthington Merge pull request #95 from timo/levenshtein
Use Levenshtein to suggest variables/routines/superclasses
timo don't ask "did you mean" for 0 suggested routines. 108e37f
Tobias Leich Merge pull request #96 from timo/levenshtein
don't ask "did you mean" for 0 suggested routines.
Will Coleda Merge pull request #98 from timo/levenshtein
More Levenshtein stuff:types in parameters. code cleanups. Self-Inherit error.
Jan 20, 2013
timo abort after finding 20 results of any quality. bebe8f9
timo factor out suggest_typename d8df9e5
timo added X::Parameter::InvalidType with suggestions. 0fd030a
timo abort after 1000 fails, too. 22e7c10
timo actually abort after 1000 tries now. 933d422
timo Throw Inheritance::SelfInherit. 84271dd
Jonathan Worthington 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).
Jonathan Worthington Add missing dependency. 2752787
Jonathan Worthington Start using new REPR compose protocol. 35b2a92
Jan 21, 2013
Tobias Leich 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.
Jan 22, 2013
Tobias Leich Merge branch 'froggs_multibyte' of into nom a26956d
Jan 23, 2013
Tobias Leich 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.
Tobias Leich allow the use of $()
... which is a shorthand for $($/.ast // ~$/).
Tobias Leich fix, so that $(0) isnt treated like $() 7707e42
Jan 24, 2013
Moritz Lenz attempt to fix $socket.get with non-ASCII characters 0b5899a
Carl Mäsak [core/] implemented 943ecc5
Carl Mäsak switched .truncated-to to enum
The exception type X::Temporal::Truncation also goes away,
being replaced by ordinary parameter type checking.
Carl Mäsak [core/] implemented b49cbe0
timo Constructor::Positional tells what class it came from. b5a63c6
Tobias Leich Merge pull request #99 from timo/positional_new_error
Constructor::Positional tells what class it came from.
Jan 25, 2013
Tobias Leich bump nqp rev for $(...) in regexes d97ad43
Tobias Leich pass type object to exception X::Constructor::Positional 6b0cea6
timo use @.suggestions.join instead of nqp::join. 014f8ca
timo add a token typo_typename and use it in "my" declarations. 9a889fd
timo throw the sorry anyway, since we did match a longname. 0ceef80
timo suggest names for --> Unknown, too. b97fb88
timo suggest Types, too for Undeclared::Symbols. 25d87ef
timo throw a sorry instead of an exception, remove old error. 0ae1e8d
Jonathan Worthington Merge pull request #100 from timo/typename_suggestions
Typename suggestions: in signatures, declarations, return types, ...
Jan 26, 2013
Jonathan Worthington Fix degenerate /< hello >/. c356d8e
timo unfold junctions at compile time sometimes. 433dca6
timo build a new "is_from_core". 8f80e88
timo fixed junction ops, fixed is_from_core, added %!foldable_junction 58646f3
Jan 27, 2013
timo the optimisation works for while/until, too. cccd1cb
timo a bit prettier code. 6b78bbc
timo allow any and all, use a hash for the outer check. caa06c2
timo simplify can_chain_junction_be_warped. 81dc550
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 remove any/all again due to flattening woes 58dd3c7
timo why not make this a level 2 optimization? :) 9494956
Arne Skjærholt Start integrating with native size support in NQP. f7a5a2f
Jonathan Worthington Merge pull request #101 from timo/junction-opt
Partially inline junctions in bool context at compile time
Moritz Lenz mark some numeric operators as pure a1bcaa6
Jan 28, 2013
Arne Skjærholt Fix braino. NativeHOW sent bad data to the REPR compose. c7fe112
Jan 29, 2013
Moritz Lenz reverse order of <perl vendor site> dirs in @*INC
we do not have to repeat all of the mistakes Perl 5 has made.
Arne Skjærholt Merge branch 'nom' into dyncall-sized-num e079812
Jan 30, 2013
Moritz Lenz update ChangeLog b3fc32a
Jonathan Worthington Bump NQP_REVISION for REPL improvements. 9dfa827
Jonathan Worthington Support lexical type introspection. 0fd4ee8
Jonathan Worthington Better REPL exception reporting; updates. 9ec0a59
Jan 31, 2013
Moritz Lenz 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 Lenz move constant folding code to the correct location; some small fixes cd64560
Feb 01, 2013
Moritz Lenz Merge remote branch 'origin/nom' into constant-folding 03cce4d
Moritz Lenz 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!
update ChangeLog 33d8dd0
Jonathan Worthington Updates to work with latest NQP additions. 5e5a76f
Arne Skjærholt 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 Lenz Do not inline stuff that warns 8f39611
Moritz Lenz mark more subs and ops as pure 6d5dc67
Feb 02, 2013
Arne Skjærholt Update sixmodelobject.h. 80dc914
Feb 03, 2013
Moritz Lenz Calculate each year's Rakudo releases
also fill up the dates for 2013.
Feb 05, 2013
Tobias Leich move $( ~ ) into variable token
Contextualizers do work and litvar.t is parseable now.
Tobias Leich bump NQP revision 0dda4c8
Feb 06, 2013
Moritz Lenz constant-fold some range operators
the others cause the setting compilation to fail when constant-folded. Not sure yet why.
Feb 07, 2013
Jonathan Worthington Merge remote-tracking branch 'origin/dyncall-sized-num' into nom e59ba28
Jonathan Worthington Bump NQP_REVISION for natives improvements. fc3f0d8
Tobias Leich remove circumfix:sym<sigil>
This was already moved to method variable.
Feb 09, 2013
Jonathan Worthington Make sure we call compose_repr early enough.
Should always call it before the first intantiation.
Jonathan Worthington Fix anonymous state variable regression. 7ad6e63
colomon Add Cool.set and Cool.bag. d76f9b2
Jonathan Worthington Update to build on latest NQP.
REPR API additions force a fresh sixmodelobject.h, so also needed to
do an NQP_REVISION bump.
Feb 12, 2013
Jonathan Worthington Chase !cursor_start changes. 7e22a79
Feb 13, 2013
Jonathan Worthington Bump to an NQP with a build fix. 5a12919
Moritz Lenz RT #107992: make $_ writable in -n/-p code fdbba70
Feb 14, 2013
Moritz Lenz speed up eqv for Buf 8369e63
Moritz Lenz [Configure] stop on unknown command line options, [Coke]++ 1e85ffd
Feb 16, 2013
Moritz Lenz 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 Lenz be a bit less wrong about void context detection
still does not work at all :(
Moritz Lenz fix logic error in void context detection
still has quite a fe false positives
Moritz Lenz track declaration bits in the QAST d501814
Moritz Lenz use %!worrying mechanism for string constants in void context 9244510
Moritz Lenz give string literal QAST nodes a Match object 7636b79
Moritz Lenz 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 Lenz give numeric constant QAST nodes a .node
now Int and Num literals warn in void context
Moritz Lenz warn when inlining constant expressions in void context f6a731c
Feb 17, 2013
Moritz Lenz steal match widening from rakudo-debugger
now "23 + 4" in sink context reports the whole expression, not just the operator