[perl #113394] Returning from an exhausted routine causes segmentation fault
# New Ticket Created by Moritz Lenz # Please include the string: [perl #113394] # in the subject line of all future correspondence about this issue. # URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=113394 09:47 moritz p6: sub f { gather loop { take 1; return } }; say f 09:47 +p6eval rakudo e75663: OUTPUT«(signal SEGV)» I expected an error along the lines of Cannot return from exhausted routine (because by the time the return() is run, the function already has returned a lazy list.
[perl6/specs] 8c3efe: [S04] small nit
Branch: refs/heads/master Home: https://github.com/perl6/specs Commit: 8c3efe4bf60065452c453cae3e7d4187e750d1be https://github.com/perl6/specs/commit/8c3efe4bf60065452c453cae3e7d4187e750d1be Author: Moritz Lenz mor...@faui2k3.org Date: 2012-05-27 (Sun, 27 May 2012) Changed paths: M S04-control.pod Log Message: --- [S04] small nit let and temp are prefix operators, not ordinary functions
[perl #113398] [BUG] LTA internal error message when repeating a quantifier as in 'a+ +' in Rakudo
# New Ticket Created by Carl Mäsak # Please include the string: [perl #113398] # in the subject line of all future correspondence about this issue. # URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=113398 colomon r: / a+ + / p6eval rakudo 300327: OUTPUT«===SORRY!===Method 'rxtype' not found for invocant of class 'Integer'» colomon std: / a+ + / p6eval std 8632387: OUTPUT«===SORRY!===Quantifier quantifies nothing at /tmp/pMpmohyp_Z line 1:-- / a+ +⏏ /Check failedFAILED 00:00 41m» jnthn STD's output is the one I expected. * masak submits rakudobug
[perl6/specs] 084e81: [S32-setting-library/Exception.pod] remove stray '...
Branch: refs/heads/master Home: https://github.com/perl6/specs Commit: 084e814a25628854458e38f17192bc178d448dd0 https://github.com/perl6/specs/commit/084e814a25628854458e38f17192bc178d448dd0 Author: Siddhant Saraf siddhantsa...@gmail.com Date: 2012-05-27 (Sun, 27 May 2012) Changed paths: M S32-setting-library/Exception.pod Log Message: --- [S32-setting-library/Exception.pod] remove stray '=head2'
[perl6/specs] 71cb5d: [S05] document ** backcompat mode for colomon and ...
Branch: refs/heads/master Home: https://github.com/perl6/specs Commit: 71cb5d2b6682a697cbf65371685e62d733e67238 https://github.com/perl6/specs/commit/71cb5d2b6682a697cbf65371685e62d733e67238 Author: Stefan O'Rear stefa...@cox.net Date: 2012-05-27 (Sun, 27 May 2012) Changed paths: M S05-regex.pod Log Message: --- [S05] document ** backcompat mode for colomon and masak
On fashion, in Re: The trouble with awesome
On 05/23/2012 03:35 AM, Parrot Raiser wrote: Perl 6 is awesome. agreed snip In short, Perl 6 is awesome: Extremely impressive or daunting, inspiring awe. http://oxforddictionaries.com/definition/awesome?view=uk That is a problem, if we want to get it adopted widely and quickly. Not convinced 'getting it adopted' should be a goal in itself. A major goal is to ensure perl6 implementations can be utilized in every relevant environment. We have unix and windows, but I'm not sure we have android or iOS. And other important environments include browsers (scripts embedded in html). The popularity of a language amongst programmers seems to be a function of fashion and ease of doing something that is fashionable. So perl became THE language for the internet at one time because it linked in so easily to the scripting url syntax. php became popular due to the ease of mixing html code with scripting language, and so on. Personally, I would like to be able to write perl6 scripts (even if only a subset of perl6 was available) that can be embedded in html files. Since perl6 is just so much more elegant than javascript, it would attract a lot of programmers. Fashion is not everything of course. perl was well designed, so even though the internet fashion for perl declined, to be replaced by other languages, programmers continue to use it for other reasons. For the same reason, once perl6 infects the programmer population, it will be used more widely because it is well designed. At some point, I think, there will be a fashionable problem area which will be most easily solved using perl6 - eg., the grammar aspect is just so different from anything else I have seen that I am sure it will find a use. In short, the gap between the status of perl6 as an interesting phenomenon for computer language scientists and the status of perl6 as a widespread standard for programming will be bridged - I suggest - by the appearance of a killer problem domain, a type of problem that is faced by many programmers and which is more easily handled in perl6 than in any other language. It would also help for perl6 activists to demonstrate just how well perl6 works in that domain, and that will require tutorials, articles, etc. So educational texts are important, but secondary to the problem domain. snip The problem we have is to provide a path for learning 6, that presents a comprehensible but useful subset of the language to the average user as soon as possible, while leading the programmer with more complex needs, (and greater abilities), to the features they need or will appreciate. Crucial to this post is the set of assumptions around 'average user', assumptions that appear to me to be US-centric. The population of programmers resident outside the USA will soon exceed (if it has not already exceeded) the number within the USA. perl6 has been designed to be agnostic to human readable languages and scripts, and that might have an effect too if it is easier in perl6 to deal with non-English texts.
[perl #113404] [BUG] -32768 * -65536 yields a negative number (one some setups) in Rakudo
# New Ticket Created by Carl Mäsak # Please include the string: [perl #113404] # in the subject line of all future correspondence about this issue. # URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=113404 sisar i get 28 failures in t/spec/S03-operators/overflow.t sisar ^rakudo sisar (fresh build) moritz sisar: did you get them before too? sisar moritz: yes. moritz sisar: and are you on a 32bit machine? sisar moritz: yes sisar hmm, i did report it earlier but got no response, but it doesn't matter now (http://irclog.perlgeek.de/perl6/2012-05-18#i_5609766 ) moritz sisar: I think [Coke]++ has reported similar behavior moritz I just have trouble reacting to stuff I can't reproduce, even when I know why sisar Woodi++ reported it on OpenBSD, though don't know if it was 32-bit or 64-bit: http://irclog.perlgeek.de/perl6/2012-05-15#i_5596082 sisar r: say -32768 * -65536 ; p6eval rakudo 6555ab: OUTPUT«-2147483648» sisar moritz: ^ one of the bugs moritz r: say (-32768) * (-65536) sisar feather is 32-bit ? p6eval rakudo 6555ab: OUTPUT«2147483648» moritz no moritz hm moritz not sure actually jnthn What about with --optimize=0, ooc? moritz the problem is probably that the (int, int) version of infix:* is used moritz and that can overflow * masak submits -32768 * -65536 rakudobug masak sisar++
[perl #74326] [BUG] LTA error message when passing the invocant parameter as a named argument in Rakudo
On Tue Apr 13 03:05:56 2010, masak wrote: masak rakudo: class A { method foo($bar:) { say $bar.WHAT } }; A.new.foo( :bar(42) ) p6eval rakudo b9aaa3: OUTPUT�Too many positional parameters passed; got 1 but expected 1 [...] * masak submits LTA rakudobug It's questionable whether an invocant can be specified both by the dot-call form and by passing a named parameter. In any rate, the nonsensical error can be improved; we're not passing *any* positional parameters, and if Rakudo got 1 but expected 1 it should not throw an error. This now outputs: class A { method foo($bar:) { say $bar.WHAT } }; A.new.foo( :bar(42) ) A() -- Will Coke Coleda
[perl #66152] Rakudo consumes excessive resources for a simple loop
On Sat May 30 10:58:04 2009, a...@ali.as wrote: As requested by chromatic http://use.perl.org/~korpenkraxar/journal/39051 This url is now a 404. Anyone have the original text? -- Will Coke Coleda
[perl #77426] [BUG] Possible duplication bug in the backtrace printer in Rakudo
On Tue Aug 24 17:03:23 2010, masak wrote: jnthn rakudo: my @a = 1,2,3,4; say @a[1..*-1] p6eval rakudo 82c9e9: OUTPUT«Method 'Num' not found for invocant of class WhateverCode' in 'Cool::Numeric' at line 1745:CORE.setting in 'Cool::Numeric' at line 1746:CORE.setting [...] jnthn ew er jnthn Why on earth does Cool::Numeric show up twice in the backtrace? masak multi delegation? jnthn Doesn't look very delegatory to me. masak then I have no idea why. masak backtrace printer bug? jnthn yeah, that's what I'm fearing jnthn Feel free to file it, I can take a look when I'm back. * masak submits suspected backtrace printer bug RT ticket my @a = 1,2,3,4; say @a[1..*-1] 2 3 4 No backtrace at all anymore. Closable? -- Will Coke Coleda
[perl #77644] memory leak on eval
On Thu Sep 02 08:37:25 2010, pmichaud wrote: On Thu, Sep 02, 2010 at 11:20:52AM -0400, Will Coleda wrote: Currently each eval() execution results in compiling and loading at least two additional Parrot subs into memory that represent the eval'ed code. �As far as I can tell, once loaded there's currently no way for a Parrot Sub PMC to become unloaded or GC'ed -- it stays in memory until the process ends. �So, it's not too surprising the above leaks. We probably need to file a Parrot ticket to get Parrot to support garbage collection of Sub PMCs when they're no longer used. I wonder if this related to http://trac.parrot.org/parrot/ticket/783 Indeed it is, the script in that ticket is quite similar to the one I used to verify that anonymous subs don't get gc'd. Great catch, we can keep an eye on TT #783 for this one. Pm This trac ticket was closed 7 months ago: This issue is going to be fixed with GC-able packfiles, which are high up on our TODO list of development priorities. Since this is basically just a TODO item, I'm going to close this ticket. There's no chance that we just forget about the underlying need. -- Will Coke Coleda
[perl #78200] [BUG] LTA error message when using attributes on type objects
On Mon Oct 04 04:15:25 2010, masak wrote: From the backlog: hudnix well I just spent a miserable two hours figuring out that the error message Type objects are abstract and have no attributes, but you tried to access @!foo in fact had nothing to do with the attribute @!foo or anything else in my class, but was really complaining that I had declared my object with my $obj; instead of my $obj .= new Would it be possible to have the error message be something like Tried to use type object $obj as an instance object? Especially having the name of the variable with the object being improperly accessed seems like it would be a big help in a situation such as the above. Can we get some sample code that demonstrates this problem? -- Will Coke Coleda
[perl #78258] [BUG] %*ENV doesn't work from within a use'd module in Rakudo
On Wed Oct 06 16:01:03 2010, masak wrote: mberends++ reports the following bug: $ cat testenv.pm6 print 'Test existence of %*ENVPERL6LIB: '; print %*ENV.exists('PERL6LIB'); say OK, still alive; $ rakudo testenv.pm6 Test existence of %*ENVPERL6LIB: Bool::True OK, still alive $ rakudo -e 'use testenv' Test existence of %*ENVPERL6LIB: Method 'exists' not found for invocant of class 'Failure' in main program body at line 2:testlib.pm6 ... In other words, %*ENV doesn't exist early enough for it to work within a use'd module. This works now: $ PERL6LIB=masak ./perl6 testenv.pm6 Test existence of %*ENVPERL6LIB: True OK, still alive $ PERL6LIB=masak ./perl6 -I. -e use testenv Test existence of %*ENVPERL6LIB: True OK, still alive Closable with tests. -- Will Coke Coleda
[perl #75958] [BUG] The REPL itself can die if something dies during autoprinting in Rakudo
None of these kill the REPL now: ... Stub code executed class B { method f { ... } }; B.new.f Stub code executed class A { method Str { die OH HAI } }; A.new A.new() 'x'.HOW multi_dispatch_over_lexical_candidates was unable to find a candidate list Closable with tests. -- Will Coke Coleda
[perl #78876] [BUG] Null PMC access when defining a sub trait_auxiliary:a in Rakudo
On Sat Nov 06 12:25:05 2010, masak wrote: tadzik rakudo: role something {}; multi trait_auxiliary:is(something $trait, $block, $arg) { .WHAT.say for $trait, $block, $arg} # what's wrong? p6eval rakudo 142d22: OUTPUT«===SORRY!===Null PMC access in get_string()» * masak submits rakudobug tadzik right :) masak rakudo: sub trait_auxiliary:a() {} p6eval rakudo 142d22: OUTPUT«===SORRY!===Null PMC access in get_string()» masak that's what's wrong. jnthn huh :S jnthn You wanted trait_mod anyway, if you're trying to write a trait, though. But yes, something's wrong there. masak something that seems to have evaded the spectests. Output has changed: role something {}; multi trait_auxiliary:is(something $trait, $block, $arg) { .WHAT.say for $trait, $block, $arg} # what's wrong? Cannot add tokens of category 'trait_auxiliary' Is this sufficient? -- Will Coke Coleda
[perl #79160] [TODO] Rakudo doesn't support the syntax 'my Type subset NewType' (but STD.pm6)
On Sat Nov 13 08:27:52 2010, masak wrote: masak std: my Str subset Username; p6eval std a194beb: OUTPUT«ok 00:01 118m» masak rakudo: my Str subset Username; p6eval rakudo 2c66f9: OUTPUT«===SORRY!===Unknown declarator type at line 22, near ;» tadzik . o O (masak submits rakudobug) * masak submits rakudobug my Str subset Username; Username() Closable with tests. -- Will Coke Coleda
[perl #77458] [BUG] $*VM.perl and %*ENV.perl don't work in Rakudo
On Sat Nov 20 12:27:54 2010, cosimo wrote: On Gio. 26 Ago. 2010 13:31:26, masak wrote: masak rakudo: say $*VM.perl p6eval rakudo df38ac: OUTPUT�Cannot substr on a null string [...] * masak submits rakudobug moritz_ rakudo: %*ENV.perl p6eval rakudo df38ac: OUTPUT�Method 'key' not found for invocant of class 'String' [...] Bug still valid. Method 'key' not found for invocant of class 'String' in anon at line 5038:CORE.setting in 'Any::join' at line 1 in 'EnumMap::perl' at line 5044:CORE.setting in main program body at line 1 This is Rakudo Perl 6, version 2010.10-48-gf73bf4d built on parrot 2.9.1 RELEASE_2_9_1-261-g495feaf Copyright 2008-2010, The Perl Foundation These now both output .perl-ish values. Closable with tests. -- Will Coke Coleda
[perl #65654] Texas quotes do The Wrong Thing when interpolating vars with strings with spaces in them in Rakudo
On Sun Jan 30 22:14:47 2011, coke wrote: On Thu May 14 07:48:19 2009, masak wrote: pmichaud rakudo: my $foo = 'hello world'; say «$foo».elems p6eval rakudo 705cb2: OUTPUT«1» pmichaud oops. pmichaud oh well :-) moritz_ it's not yet christmas ;-) * masak submits rakudobug Expected value from the evaluation: 2, because hello and world should end up as different elements. Misbehavior has changed: 01:11 [Coke] rakudo: my $foo = 'hello world'; say «$foo».elems 01:11 p6eval rakudo 549d2a: OUTPUT«===SORRY!===Can't form :w list from non-constant strings (yet) at line 22, near .elems» Behavior's the same, but the error changed: my $foo = 'hello world'; say «$foo».elems :w list value must be known at compile time -- Will Coke Coleda
[perl #69178] [BUG] Null PMC access when definedness of placeholder parameter is evaluated inside 'repeat while' block in Rakudo
On Wed Sep 16 14:51:47 2009, masak wrote: masak I smell a Null PMC access in the Force... masak rakudo: repeat while True {} p6eval rakudo 446d49: ( no output ) masak rakudo: my $a = 1; repeat while $a 10 { $^a.defined.say; } p6eval rakudo 446d49: OUTPUT�Null PMC access in find_method() * masak submits rakudobug Minimizing this a bit further, the program 'repeat while True { $^a.defined }' seems to do the trick This now loops infinitely, generating a lot of output. Closable with tests. -- Will Coke Coleda
[perl #86880] [BUG] Null PMC access when instantiating a class doing a role with a private 'my'-scoped attribute in Rakudo
On Wed Mar 23 15:17:03 2011, masak wrote: colomon rakudo: role Breakable { my $!broken = Bool::False; }; class Frobnitz does Breakable {}; say Frobnitz.new() p6eval rakudo d5ccf9: OUTPUT«===SORRY!===Null PMC access in get_attr_str()» * masak submits rakudobug colomon masak++ masak rakudo: class Frobnitz {}; say Frobnitz.new().broken p6eval rakudo d5ccf9: OUTPUT«Method 'broken' not found for invocant of class 'Frobnitz' [...] Behavior changed: role Breakable { my $!broken = Bool::False; }; class Frobnitz does Breakable {}; say Frobnitz.new() Cannot use ! twigil on my variable -- Will Coke Coleda
[perl #87076] [BUG] Null PMC access when calling built-in token as a method in Rakudo
On Sat Mar 26 10:48:03 2011, masak wrote: masak rakudo: say Perl6::Grammar.identifier p6eval rakudo 792e86: OUTPUT�Null PMC access in get_integer() [...] * masak submits rakudobug Is this better? Perl6::Grammar.identifier Could not find symbol 'Perl6::Grammar' -- Will Coke Coleda
[perl #88708] [BUG] Rakudo wrongly allows $x..$y..$z
On Sat Apr 16 08:33:34 2011, masak wrote: masak std: 1..2..3 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m.. and .. are non-associative and require parens [...] FAILED 00:01 120m» masak oh, good. masak rakudo: say (1..2..3).perl p6eval rakudo 5ac05e: OUTPUT«2..3» * masak submits rakudobug masak rakudo: say (7..8..9).perl p6eval rakudo 5ac05e: OUTPUT«2..9» Changed: say (1..2..3).perl 1..2..3 say (7..8..9).perl 7..8..9 -- Will Coke Coleda
[perl #95514] [BUG] Bogus error message about not enough positional parameter when role method calls another after a role method delegation in Rakudo
On Sun Jul 24 07:11:16 2011, masak wrote: masak rakudo: role R { method foo { self.bar(42) }; method bar($x) { say OH HAI } }; class C does R { method foo { self.R::foo } }; C.new.foo p6eval rakudo 922500: OUTPUT«OH HAI» masak rakudo: role R { method bar($x) {}; method foo { self.bar(42) } }; class C does R { method foo { self.R::foo } }; C.new.foo p6eval rakudo 922500: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in 'bar' at line 22:/tmp/N060_2D3In in 'C::foo' at line 22:/tmp/N060_2D3In in main program body at line 22:/tmp/N060_2D3In» * masak submits rakudobug masak only the order of the method declarations in the role differs. masak rakudo: role R { method bar($x) { say OH HAI }; method foo { self.bar(42) } }; R.new.foo p6eval rakudo 922500: OUTPUT«OH HAI» masak and it seems that, somehow, the role method delegation is necessary to trigger it. The second variant no longer errors. If you put a say $x in the bar method, it's printed out. Closable? -- Will Coke Coleda
[perl #72830] [BUG] Parse difficulties with '::%%r' in Rakudo
On Tue Sep 13 06:16:21 2011, bbkr wrote: NOM: still broken bbkr:nom bbkr$ ./perl6 -e 'my %r = 4; say ::%%r' ===SORRY!=== Cannot look up empty name Changed again: my %r = 4; say ::%%r CHECK FAILED: Undefined routine 'r' called (line 1) -- Will Coke Coleda
[perl #99658] sequence operator '...' timeout
On Tue Sep 20 23:03:06 2011, woosley.xu wrote: (13:50:48) woosley: rakudo: my @a = 1,3,5 ... *; say @a[^4] (13:50:49) p6eval: rakudo f1c805: OUTPUT«1 3 5 7» (13:46:40) woosley: perl6: my @odd = 1,3,5 ... 8; say @odd[^4] (13:47:05) p6eval: rakudo f1c805, niecza v9-32-g380d891: OUTPUT«(timeout)» according to S03, '1,3,5 ... 8' should act as '1,3,5 ... *' S03 now says the opposite: -- Likewise, this is all of the even numbers: my $end = 7; 0,2,4 ... $end -- Rejecting ticket. -- Will Coke Coleda
[perl #99658] sequence operator '...' timeout
On Sun May 27 21:13:06 2012, coke wrote: On Tue Sep 20 23:03:06 2011, woosley.xu wrote: (13:50:48) woosley: rakudo: my @a = 1,3,5 ... *; say @a[^4] (13:50:49) p6eval: rakudo f1c805: OUTPUT«1 3 5 7» (13:46:40) woosley: perl6: my @odd = 1,3,5 ... 8; say @odd[^4] (13:47:05) p6eval: rakudo f1c805, niecza v9-32-g380d891: OUTPUT«(timeout)» according to S03, '1,3,5 ... 8' should act as '1,3,5 ... *' S03 now says the opposite: -- Likewise, this is all of the even numbers: my $end = 7; 0,2,4 ... $end -- Rejecting ticket. Whops. This isn't the opposite of what you said, ti's the same thing. Reopening ticket. (note to self, don't wrangle tickets at this hour.) -- Will Coke Coleda