Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-03-01

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:09 ash_gti Whats the perl6 alternative to `<cmd>`
00:14 ash_gti ah, I found it, shell and run
00:17 aborazmeh joined #perl6
00:17 aborazmeh joined #perl6
00:29 kaare__ joined #perl6
00:56 Hor|zon joined #perl6
01:02 jnthn_ joined #perl6
01:03 dalek rakudo/nom: 61c59db | (Geoffrey Broadwell)++ | src/core/IO/Path.pm:
01:03 dalek rakudo/nom: Implement IO::Path.resolve on r-m/POSIX
01:03 dalek rakudo/nom:
01:03 dalek rakudo/nom: ONLY expected correct on POSIX filesystems, but committing now because
01:03 dalek rakudo/nom: "implemented on r-m/POSIX" is better than purely NYI.  Other backends
01:03 dalek rakudo/nom: need only support nqp::readlink to get the POSIX support, but someone
01:03 dalek rakudo/nom: else will need to do the non-POSIX filesystem work.
01:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/61c59db4d5
01:06 dalek rakudo-star-daily: 421b28d | coke++ | log/ (9 files):
01:06 dalek rakudo-star-daily: today (automated commit)
01:06 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/421b28d6ba
01:06 dalek perl6-roast-data: 624dda9 | coke++ | / (9 files):
01:06 dalek perl6-roast-data: today (automated commit)
01:06 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/624dda97a2
01:09 aborazmeh joined #perl6
01:09 aborazmeh joined #perl6
01:21 aborazmeh joined #perl6
01:21 aborazmeh joined #perl6
01:22 ash_gti does `qx/foobar/` set any variable like $? to indicate the exit status of the subprocess?
01:22 psch ash_gti: &shell gives you a Proc::Status
01:23 psch ash_gti: qx// only cares about stdout
01:23 ash_gti can you also get the output with &shell?
01:23 psch http://doc.perl6.org/type/Proc::Status
01:23 psch m: Proc::Status.^methods.say
01:23 camelia rakudo-moar 61c59d: OUTPUT«status Numeric Bool <anon> <anon> <anon>␤»
01:25 psch m: say Proc::Status.^can('out')
01:25 camelia rakudo-moar 61c59d: OUTPUT«␤»
01:26 psch ah, no, i'm remembering Test::<&is_run> i think...
01:27 ash_gti Proc::Async seems like it would work for both reading from stdout and finding the exit status
01:27 ash_gti $? is pretty easy though, oh well
01:28 telex joined #perl6
01:29 psch on a different note, i have a «public String run(String code)» in EvalServer that works
01:29 psch unfortunately it needs a ~2600 characters long CLASSPATH
01:30 psch because our .jar loading is patently weird™
01:33 psch though for some reason i get an «unitialized value of type Any in string context» in ModuleLoader.nqp, from the looks of it in a nqp::loadbytecode call..?
01:46 laouji joined #perl6
02:14 colomon joined #perl6
02:16 colomon don’t suppose we have rakudo to C++ NativeCall working yet?  processing command line args is a pain in C++
02:20 ash_gti that would be nice
02:22 psch the tests in rakudo/cpp look rather minimal at present, but i don't know what there really is on C++ feature that's needed to make NativeCall neat for it
02:22 ash_gti colomon: getopt_long ?
02:24 colomon looking at it now…
02:26 ash_gti for me its man 3 getopt_long
02:28 * psch &
02:29 bjz joined #perl6
02:32 raiph joined #perl6
02:40 ash_gti can you have a named param with a default value?
02:40 jack_rabbit joined #perl6
02:43 colomon joined #perl6
02:46 Hor|zon joined #perl6
02:48 ilbot3 joined #perl6
02:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
02:49 aborazmeh joined #perl6
02:49 aborazmeh joined #perl6
02:55 ssutch joined #perl6
03:07 jack_rabbit joined #perl6
03:18 TimToady .tell lizmat (key => 0).Bag must remove key or it violates the bag's contract; the whole point of a Bag with 0 items in it is that that is no different from an empty Bag
03:18 yoleaux TimToady: I'll pass your message to lizmat.
03:19 TimToady .tell lizmat Throwing info away is not our lowest ideal, or however you say that...
03:19 yoleaux TimToady: I'll pass your message to lizmat.
03:22 TimToady ash_gti: are you asking about getopt_long or about Perl 6?  In P6, sure, just add "= stuff()"
03:22 ash_gti no, I metioned getopt_long for @colomon
03:23 colomon TimToady: I was lamenting not having sub MAIN in C++
03:23 ash_gti I was putting the ‘= stuff’ before I closed the ), thats all, sub MAIN(:t(:$theme) = 'atom-light-syntax’) vs sub MAIN(:t(:$theme = 'atom-light-syntax’))
03:25 Mouq m: sub (:t(:th)) {}
03:25 camelia rakudo-moar 61c59d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0AEXZTScqb␤Malformed parameter␤at /tmp/0AEXZTScqb:1␤------> 3sub (:t(:7⏏5th)) {}␤    expecting any of:␤        named parameter␤        formal parameter␤»
03:25 Mouq m: sub (:t(:$th)) {}
03:25 camelia rakudo-moar 61c59d: ( no output )
03:26 Mouq m: sub (:t( :$th )) {}
03:26 camelia rakudo-moar 61c59d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0yAAc9tKQn␤Unable to parse named parameter; couldnt find right parenthesis␤at /tmp/0yAAc9tKQn:1␤------> 3sub (:t( :$th7⏏5 )) {}␤    expecting any of:␤        shape declaration␤»
03:26 Mouq std: sub (:t( :$th )) {}
03:26 camelia std 28329a7: OUTPUT«ok 00:00 138m␤»
03:26 * Mouq rakudobugs
03:27 cognominal joined #perl6
03:35 noganex_ joined #perl6
03:36 Mouq I'm closing RT #123939, moritz++ TimToady++
03:36 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123939
03:37 TimToady m: sub foo(::T $f, ::T $g) { say T }; foo(1,"foo")
03:37 camelia rakudo-moar 61c59d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iBATkJS9lD␤Redeclaration of symbol T␤at /tmp/iBATkJS9lD:1␤------> 3sub foo(::T $f, ::T 7⏏5$g) { say T }; foo(1,"foo")␤»
03:37 TimToady \o/
03:40 PerlJam m: Bag.new-from-pairs( tea => 42 ).perl.say;
03:40 camelia rakudo-moar 61c59d: OUTPUT«().Bag␤»
03:41 Mouq m: Bag.new-from-pairs( 'tea' => 42 ).perl.say;
03:41 camelia rakudo-moar 61c59d: OUTPUT«("tea"=>42).Bag␤»
03:41 Mouq :|
03:42 PerlJam aye.  But I'm also wondering why it didn't complain about an unexpected named parameter
03:42 Mouq Methods don't
03:42 Mouq generally
03:42 PerlJam ah.
03:42 PerlJam oh, that's right.  I forgot
03:42 PerlJam Mouq++
03:43 Mouq Should I bug that too :9
03:44 PerlJam I'm not sure it is a bug.  But it could surely surprise people.
03:45 * ShimmerFairy forgot if there was a reasonable explanation for an implicit *% parameter on methods, which she still disagrees with
03:47 TimToady http://design.perl6.org/S12​.html#Interface_Consistency is the argument
03:48 Mouq PerlJam: Considering that method is neither designed nor tested, except a bit on MixHashes, I'd say it'd be good to at least get in the system
03:48 TimToady jnthn++ has said that we might be able to find a bit in the captures to tell whether a given argument has ever been bound, and warn on unbounds at the end
03:49 PerlJam That would help
03:49 ShimmerFairy The reason why I disagree with it is that I've yet to see a case where implicit *%_ was a helpful thing to have, and plenty of times where you really wanted to pass a Pair instead of a named argument.
03:49 TimToady m: ( tea => 42 ).Bag.perl.say
03:49 camelia rakudo-moar 61c59d: OUTPUT«("tea"=>42).Bag␤»
03:50 TimToady how is that method needed?
03:50 Mouq m: ( 'tea' => 42 ).Bag.perl.say
03:50 camelia rakudo-moar 61c59d: OUTPUT«("tea"=>42).Bag␤»
03:50 Mouq Hmm
03:50 PerlJam huh
03:50 TimToady coercion to Bag already handles pairs
03:50 PerlJam I just saw it in the email thread.
03:50 TimToady and doesn't have the named arg problem
03:50 Mouq m: say MixHash.new-from-pairs("blood" => 1.1, "love" => 1.3, "rhetoric" => 2.2); say ("blood" => 1.1, "love" => 1.3, "rhetoric" => 2.2).MixHash
03:50 camelia rakudo-moar 61c59d: OUTPUT«MixHash.new(blood(1.1), love(1.3), rhetoric(2.2))␤MixHash.new(blood(1.1), love(1.3), rhetoric(2.2))␤»
03:51 Mouq (That's the way it's used in the tests we have involving new-from-pairs)
03:52 ShimmerFairy I wonder if %_.unbounded-pairs would be a feasible thing, either for standard Perl 6 or some sort of module...
03:52 TimToady that's why coercers are different from composers
03:52 Mouq So, new-from-pairs is really in want of deprecation?
03:53 colomon joined #perl6
03:53 Mouq ShimmerFairy: Isn't that just *%_ ? :P
03:54 ShimmerFairy well, it would have to account for arguments that get bounded later on.
03:55 TimToady unfortunately, polymorphism kinda demands that you be able to talk to each layer in the hierarchy in its own terms, and you have to do that through a single method call that can go to multiple methods
03:55 TimToady but we can certainly find some way of detecting when you misspelled a named arg
03:56 TimToady btw, ShimmerFairy++ on new name :)
03:56 ShimmerFairy thanks :)
03:57 colomon joined #perl6
04:00 Mouq m: say {a => "b", c => "d"}.pairs.Bag
04:00 camelia rakudo-moar 61c59d: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏b' (indicated by ⏏)␤  in method Int at src/gen/m-CORE.setting:15023␤  in method Int at src/gen/m-CORE.setting:6830␤  in block  at src/gen/m-CORE.setting:1975…»
04:01 FROGGS_ joined #perl6
04:01 PerlJam WAT
04:01 TimToady coercers are not composers
04:02 TimToady m: say {a => "b", c => "d"}.pairs.bag
04:02 camelia rakudo-moar 61c59d: OUTPUT«No such method 'bag' for invocant of type 'List'␤  in block <unit> at /tmp/nx8OLNFwNz:1␤␤»
04:02 TimToady m: say bag {a => "b", c => "d"}.pairs
04:02 camelia rakudo-moar 61c59d: OUTPUT«bag(a => b, c => d)␤»
04:02 ShimmerFairy last I checked, "b" is not a number :) (nor is "d")
04:02 TimToady that's a composer
04:02 PerlJam that first message is _so_ LTA though
04:03 TimToady m: say new Bag: {a => "b", c => "d"}.pairs
04:03 camelia rakudo-moar 61c59d: OUTPUT«bag(a => b, c => d)␤»
04:03 TimToady that's also a composer
04:03 TimToady m: say Bag({a => "b", c => "d"}.pairs)
04:03 camelia rakudo-moar 61c59d: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏b' (indicated by ⏏)␤  in method Int at src/gen/m-CORE.setting:15023␤  in method Int at src/gen/m-CORE.setting:6830␤  in block  at src/gen/m-CORE.setting:1975…»
04:03 TimToady coercer, so fails
04:04 Mouq Gotcha
04:04 colomon output seems wrong, though?  shouldn’t it be bag(a => b => 1 …) or something like that?
04:04 colomon m: say bag <a b c>.list
04:04 Mouq m: say {a => "b", c => "d"}.pairs.&bag.perl
04:04 camelia rakudo-moar 61c59d: OUTPUT«bag(a, b, c)␤»
04:04 camelia rakudo-moar 61c59d: OUTPUT«("a" => "b"=>1,"c" => "d"=>1).Bag␤»
04:04 TimToady .gist
04:04 colomon m: say bag <a b c a>.list
04:04 camelia rakudo-moar 61c59d: OUTPUT«bag(a(2), b, c)␤»
04:04 colomon ah
04:05 colomon interesting
04:07 TimToady we really did name "gist" that to mean something tl;dr-ish
04:07 TimToady chops infinite lists off too
04:07 TimToady m: say 1,2,4 ... *
04:07 camelia rakudo-moar 61c59d: OUTPUT«1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736…»
04:07 TimToady that used to fail
04:08 TimToady m: say 1 xx *
04:08 camelia rakudo-moar 61c59d: OUTPUT«1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...␤»
04:08 TimToady note the Texas ...
04:08 TimToady that was put by .gist
04:08 ShimmerFairy was about to say; any reason it's different from the other list's … ?
04:09 TimToady the other one was truncated by evalbot
04:09 ShimmerFairy ah
04:10 TimToady colomon: is your client still doing smart quoting for you? :)
04:10 colomon TimToady: ya sure
04:10 TimToady I fixed it fer ya
04:11 colomon ??
04:11 Mouq haha
04:11 TimToady colomon: try typing an expression to camelia with "" or ...
04:12 colomon m: say “like this?”
04:12 camelia rakudo-moar 61c59d: OUTPUT«like this?␤»
04:12 colomon TimToady++
04:12 TimToady .u ’
04:12 yoleaux U+2019 RIGHT SINGLE QUOTATION MARK [Pf] (’)
04:12 TimToady I notice it puts that for your apostrophe though
04:12 colomon m: say ‘hmm'
04:12 camelia rakudo-moar 61c59d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BJFc1i3828␤Unable to parse expression in smart single quotes; couldn't find final "’" ␤at /tmp/BJFc1i3828:1␤------> 3say ‘hmm'7⏏5<EOL>␤    expecting any of:␤        argument list␤        p…»
04:12 TimToady we don't handle that one yet as part of an identifier
04:13 TimToady they have to balance
04:13 TimToady m: say ““like this?””;  # curious
04:13 camelia rakudo-moar 61c59d: OUTPUT«“like this?”␤»
04:13 TimToady \o/
04:14 Mouq QLang++
04:14 lizmat joined #perl6
04:16 ShimmerFairy m: say „hallo!“ # I obviously don't expect this to work
04:16 camelia rakudo-moar 61c59d: OUTPUT«5===SORRY!5===␤No valid term seen where one is required␤at /tmp/jvue_Uqrkw:1␤------> 3say 7⏏5„hallo!“ # I obviously don't expect this␤Bogus term␤at /tmp/jvue_Uqrkw:1␤------> 3say 7⏏5„hallo!“ # I obviously don't expect thi…»
04:16 TimToady m: my \Q = "protogospel"; say Q
04:16 camelia rakudo-moar 61c59d: OUTPUT«protogospel␤»
04:16 TimToady ShimmerFairy: other night I said we should make that work :)
04:16 TimToady shouldn't be a problem, since only the opener has to be unique
04:17 TimToady the closers can be shared like that
04:18 ShimmerFairy I vaguely remember the general rule was in S02, but there was already an exception to that rule, so it shouldn't be an issue :)
04:21 colomon joined #perl6
04:23 TimToady oh, except that's the wrong closer
04:24 Mouq m: say q„
04:24 camelia rakudo-moar 61c59d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cHVl03sPhc␤Couldn't find terminator ”␤at /tmp/cHVl03sPhc:1␤------> 3say q„7⏏5<EOL>␤»
04:24 TimToady > say „hallo”
04:24 TimToady hallo
04:25 dalek rakudo/nom: 37f8dd9 | TimToady++ | src/Perl6/ (2 files):
04:25 dalek rakudo/nom: reduce cultural imperialism slightly
04:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37f8dd9667
04:27 ShimmerFairy TimToady: it's the right closer in German, though :)
04:29 ash_gti so, I made a set of scripts for using the perl.tmbundle perl6 grammar to create an html page https://github.com/ashgti/perl​6-syntax-highlight-validation
04:29 dalek nqp: 63987b2 | TimToady++ | src/QRegex/P6Regex/Grammar.nqp:
04:29 dalek nqp: allow low openers in regex too
04:29 dalek nqp: review: https://github.com/perl6/nqp/commit/63987b2de8
04:30 * TimToady thinks there are more Spanish speakers in the world than German...
04:31 ash_gti http://en.wikipedia.org/wiki/List_of_l​anguages_by_number_of_native_speakers agrees with you
04:33 * TimToady waits for someone to put in a vote for high-reversed-9 quotes..
04:34 TimToady m: say q‟foo”
04:34 camelia rakudo-moar 61c59d: OUTPUT«foo␤»
04:34 Hor|zon joined #perl6
04:34 TimToady who uses those?
04:37 ash_gti would that make “ not interpolate?
04:37 ash_gti m: my $f = 123; say q”f is $f”;
04:37 camelia rakudo-moar 61c59d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7MM6CvEVEM␤Use of a closing delimiter for an opener is reserved␤at /tmp/7MM6CvEVEM:1␤------> 3my $f = 123; say q7⏏5”f is $f”;␤»
04:39 ash_gti m: my $f = 123; say q"f is $f";
04:39 camelia rakudo-moar 61c59d: OUTPUT«f is $f␤»
04:39 TimToady actually, the Spanish don't apparently use the low quotes, according to http://en.wikipedia.org/wiki/Quotation_mark
04:39 ShimmerFairy Dutch does the „...” thing, though
04:39 TimToady that's mostly in .eu, and it's a mess, not surprisingly :)
04:41 ShimmerFairy at least we won't be supporting lojban quotes any time soon :P
04:47 TimToady I think we can handle Esperanto though
04:49 ShimmerFairy Hmm... I'm not sure about that one. :P
04:49 Mouq mo nabmi zo'e lu nu curmi la lojbo sitsku valsi… dang that's verbose
05:07 adu joined #perl6
05:29 ash_gti heres an example of the syntax I started for TextMate and atom if anyone is curious https://rawgit.com/ashgti/b9f21f21bbc​c63e4cf9d/raw/296c6084a44ede66f311785​254a23d1c34ad2366/syntax-sample.html
05:29 ash_gti I think I am going to work on quotes next, like regexp and heredocs
05:36 sivoais joined #perl6
05:37 renormalist joined #perl6
05:37 Mouq ash_gti: Nice!
05:44 ash_gti does anyone know off the top of their head where the .LANG('MAIN','quote') is found?
05:45 ash_gti or how I would find out where its defined?
05:53 tmch joined #perl6
05:58 asdf12z_ joined #perl6
06:04 ash_gti joined #perl6
06:16 colomon joined #perl6
06:22 Hor|zon joined #perl6
06:54 xfix joined #perl6
07:15 rindolf joined #perl6
07:18 Mouq ash_gti: https://github.com/perl6/nqp/blob​/master/src/HLL/Grammar.nqp#L643
07:18 Mouq (sorry for late reply)
07:19 Mouq Or do you mean…
07:19 Mouq What do you mean?
07:19 Sqirrel joined #perl6
07:19 laouji joined #perl6
07:20 ash_gti well, I am trying to figure out how to match different types of quotes so I was looking up the grammar for them
07:20 ash_gti but in the rakudo perl6 grammar it loads the .LANG(‘MAIN’, ‘quote’)
07:21 Mouq .LANG('MAIN', 'quote') looks up the 'quote' rule in 'MAIN', which just means Perl6::Grammar
07:21 Mouq (usually :P)
07:22 Mouq m: my $interpolation = "here"; say 'no $interpolation\qq[ $interpolation]!'
07:22 camelia rakudo-moar 37f8dd: OUTPUT«no $interpolation here!␤»
07:22 Mouq ^^ That's what it means
07:24 Mouq Does that help?
07:25 ash_gti https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Grammar.nqp#L4661 is where I think the ‘q{foobar}’ is parsed, I think
07:25 ash_gti m: say q{{foo bar foobar}}.perl;
07:25 camelia rakudo-moar 37f8dd: OUTPUT«"foo bar foobar"␤»
07:25 ash_gti m: say qw{{foo bar foobar}}.perl;
07:25 camelia rakudo-moar 37f8dd: OUTPUT«("foo", "bar", "foobar")␤»
07:31 davido_ joined #perl6
07:44 gfldex joined #perl6
07:47 fhelmberger joined #perl6
07:48 jack_rabbit joined #perl6
07:52 pyrimidi_ joined #perl6
08:03 aborazmeh joined #perl6
08:03 aborazmeh joined #perl6
08:07 Alina-malina joined #perl6
08:11 virtualsue joined #perl6
08:11 Hor|zon joined #perl6
08:11 prime joined #perl6
08:16 darutoko joined #perl6
08:22 Kristien joined #perl6
08:28 diana_olhovik_ joined #perl6
08:29 ash_gti https://rawgit.com/ashgti/055797e1199b​5cff4e43/raw/01cdafbd5d0f680fd8f6dc191​42726669ce347e2/Perl6Grammar.pm.html I ran the Perl6/Grammary from Rakudo through the syntax highlighter, let me know if anyone sees any glaring mistakes, its not complete yet, but its an improvement
08:30 Mouq ash_gti++
08:30 Mouq ash_gti: It doesn't seem to handle "$<B>"
08:31 ash_gti ya, its not recongizing any of the regexp language either yet
08:31 ash_gti I also need to match package names and subnames
08:33 ash_gti I am getting a bit tired, but I’ll try to work on this a bit more tomorrow, cya
08:36 diana_olhovik__ joined #perl6
08:43 MadcapJake joined #perl6
08:44 Aurelie joined #perl6
08:53 _mg_ joined #perl6
08:54 virtualsue joined #perl6
08:55 wicope joined #perl6
09:04 lizmat .botsnack
09:04 yoleaux :D
09:04 yoleaux 03:18Z <TimToady> lizmat: (key => 0).Bag must remove key or it violates the bag's contract; the whole point of a Bag with 0 items in it is that that is no different from an empty Bag
09:04 yoleaux 03:19Z <TimToady> lizmat: Throwing info away is not our lowest ideal, or however you say that...
09:12 Hor|zon joined #perl6
09:14 rurban joined #perl6
09:20 espadrine joined #perl6
09:23 dalek rakudo/nom: 300167d | lizmat++ | src/core/Baggy.pm:
09:23 dalek rakudo/nom: Allow Failure to percolate up
09:23 dalek rakudo/nom:
09:23 dalek rakudo/nom: Pretty sure this is tested with a "dies_ok" in the spectest, and not with a
09:23 dalek rakudo/nom: "throws_like", so the test was passing for the wrong reason on (a=>-1).Bag
09:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/300167dafd
09:25 Rounin joined #perl6
09:27 dj_goku joined #perl6
09:27 dj_goku joined #perl6
09:34 diana_olhovik joined #perl6
09:43 DrForr_ G'morning. Is there a specific place to report bugs? I've got a fairly simple test case that takes out te VM I ru perl6 on.
09:43 DrForr_ (was looking at the p6 wiki for a site, nothing really stood out.)
09:46 moritz DrForr_: rakudobug@perl.org
09:46 DrForr_ Thanks. I'm stripping down the test case, will send it soonish.
09:48 jnthn .tell TimToady it's a little pain with our one-passness, but I wonder if *%_ generation being triggered by the presence of a nextsame/callsame somewhere in the method body would do it.
09:48 yoleaux jnthn: I'll pass your message to TimToady.
09:50 mr-foobar joined #perl6
10:02 lizmat joined #perl6
10:03 rurban joined #perl6
10:06 kst` joined #perl6
10:06 kjs_ joined #perl6
10:10 dalek doc: ea1a253 | moritz++ | lib/Type/Cool.pod:
10:10 dalek doc: Cool: sub forms of abs, sqrt; examples
10:10 dalek doc: review: https://github.com/perl6/doc/commit/ea1a2536b5
10:16 jack_rabbit joined #perl6
10:18 mr-foobar joined #perl6
10:42 lizmat commute&
10:47 kjs_ joined #perl6
10:47 dalek rakudo/nom: dcda6c3 | (Carl Masak)++ | src/core/Temporal.pm:
10:47 dalek rakudo/nom: disallow .later() without any named arguments
10:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dcda6c3205
10:48 masak someone(tm) is welcome to add a spectest to check for that, too.
10:50 jnthn m: use Test; dies_ok { now.later }
10:50 camelia rakudo-moar 300167: OUTPUT«ok 1 - ␤»
10:50 jnthn m: now.later
10:50 camelia rakudo-moar 300167: OUTPUT«No such method 'later' for invocant of type 'Instant'␤  in block <unit> at /tmp/V9f7kygmlw:1␤␤»
10:50 jnthn Oh :)
10:50 jnthn m: DateTime.now.later
10:50 camelia rakudo-moar 300167: OUTPUT«use of uninitialized value $unit of type Any in string context  in sub thread_junction at src/gen/m-CORE.setting:1␤␤use of uninitialized value $unit of type Any in string context  in sub thread_junction at src/gen/m-CORE.setting:1␤␤use of uninitial…»
10:50 jnthn m: dies_ok { DateTime.now.later }
10:50 camelia rakudo-moar 300167: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ajkgtwv4Vw␤Undeclared routine:␤    dies_ok used at line 1␤␤»
10:50 jnthn m: use Test; dies_ok { DateTime.now.later }
10:51 camelia rakudo-moar 300167: OUTPUT«use of uninitialized value $unit of type Any in string context  in sub thread_junction at src/gen/m-CORE.setting:1␤␤use of uninitialized value $unit of type Any in string context  in sub thread_junction at src/gen/m-CORE.setting:1␤␤use of uninitial…»
10:51 jnthn masak: Does that one pass with your branch?
10:51 jnthn uh, your commit
10:54 masak $ perl6 -e 'use Test; dies_ok { DateTime.now.later }'
10:54 masak ok 1 -
10:54 DrForr_ bug report sent.
10:54 masak DrForr_++
10:57 laouji joined #perl6
11:00 DrForr_ It's a rare edge case I imagine, but it should still throw a compile-time error rather than what it did.
11:01 Hor|zon joined #perl6
11:04 jnthn m: say 5.54 / 19.86
11:04 camelia rakudo-moar 300167: OUTPUT«0.278953␤»
11:09 FROGGS_ you are calculating your hight divided by the year of birth in percent?
11:14 jnthn haha :P
11:14 jnthn That's off by one on my birth year though :P
11:15 DrForr_ Is that the bug? :)
11:16 jnthn No, the calc was time after / time before of a benchmark (the after being when I implemented a few things missing in the JIT so it could JIT-compile a benchmark :))
11:16 jnthn Which accounts entirely for some of the native-ref performance slowdowns.
11:16 jnthn And partially for a couple of them.
11:17 sirdancealot joined #perl6
11:18 FROGGS_ ewww
11:19 [ptc] how does one extract the Pod structure of a file containing code and Pod?  I've found that EVAL("filename") on a pure-Pod file returns this structure, but a file containing both runs the code only
11:20 [ptc] there's probably something simple I'm missing, but grepping the specs, docs, rakduo hasn't turned up much
11:20 spider-mario joined #perl6
11:27 jnthn m: say 606 / 1155
11:27 camelia rakudo-moar dcda6c: OUTPUT«0.524675␤»
11:46 telex joined #perl6
11:55 vendethiel joined #perl6
12:02 [Tux] FROGGS_, Slang::Tuxic fails on nameless sub with arg-spec - https://gist.github.com/Tux/c57969dc265fb0012408
12:02 FROGGS_ [Tux]: that's kinda expected
12:02 [Tux] :(
12:03 FROGGS_ since 'sub' can be a subroutine name, unlike in other lanugages
12:03 FROGGS_ languages*
12:03 [Tux] hmmm
12:04 kjs_ joined #perl6
12:05 jnthn Try spelling it out as "anon sub" maybe
12:06 jnthn Alternatively, if you don't need to use "return" in there, go with a pointy block
12:08 isBEKaml joined #perl6
12:09 [Tux] anon sub works. I'll go with that for now
12:10 dalek rakudo/native-ref: ed74d05 | jnthn++ | src/Perl6/Optimizer.nqp:
12:10 dalek rakudo/native-ref: Annotate return type on node post-inline.
12:10 dalek rakudo/native-ref:
12:10 dalek rakudo/native-ref: Allows full inlining on chains like '$x ~ $y ~ $z', where the types of
12:10 dalek rakudo/native-ref: $x, $y, and $z are all known.
12:10 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/ed74d053de
12:17 vendethiel joined #perl6
12:22 virtualsue joined #perl6
12:23 perl6_newbee joined #perl6
12:28 perl6_newbee hi all
12:28 perl6_newbee what happened to MIME::Base64?
12:28 perl6_newbee I want to install LWP::Simple but got error: MIME::Base64 is not present in the module ecosystem
12:28 perl6_newbee temporarly vanished?
12:28 laouji joined #perl6
12:29 perl6_newbee also gone by purpose?
12:29 dalek rakudo/native-ref: 1145f2a | jnthn++ | src/Perl6/Optimizer.nqp:
12:29 dalek rakudo/native-ref: Optimize away ref taking when args are known ro.
12:29 dalek rakudo/native-ref:
12:29 dalek rakudo/native-ref: This only works for subs, and then only those we can compile-time
12:29 dalek rakudo/native-ref: analyze. Still, that covers quite a lot of ground for code using
12:29 dalek rakudo/native-ref: native types.
12:29 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/1145f2ad85
12:29 dalek rakudo/native-ref: 45f77e5 | jnthn++ | src/core/Stringy.pm:
12:29 dalek rakudo/native-ref: Add prefix:<~> candidates for native int/num.
12:29 dalek rakudo/native-ref:
12:29 dalek rakudo/native-ref: We can handle these very cheaply, and have them inlinable.
12:29 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/45f77e57bd
12:30 jnthn perl6_newbee: No idea, it's still listed on http://modules.perl6.org/
12:30 perl6_newbee yeah, listed it is.
12:31 perl6_newbee I will update rakudobrew and panda and try again
12:34 moritz http://ecosystem-api.p6c.org/projects.json also includes it
12:35 coffee` joined #perl6
12:40 perl6_newbee I had to update panda, now it is installing. However, I had to git ignore the panda/ext directory, before it did the pull request
12:43 dalek Heuristic branch merge: pushed 44 commits to nqp by jnthn
12:43 jnthn That was the merge of native-ref in NQP
12:43 moritz \o/
12:45 [ptc] moritz: have you got a minute?
12:45 moritz [ptc]: yes
12:46 dalek nqp: a01002f | jnthn++ | tools/build/MOAR_REVISION:
12:46 dalek nqp: Bump MoarVM for JIT of some native ref ops.
12:46 dalek nqp: review: https://github.com/perl6/nqp/commit/a01002f5ed
12:46 [ptc] I'm trying to extract pod from source files containing both code and pod, however have hit a bit of a wall
12:46 [ptc] I've worked out that one can slurp in the file and EVAL that (with $=pod on the end) and that creates a pod structure
12:46 [ptc] however, that's only if there is *only* pod in the file
12:47 moritz right, otherwise it runs the code
12:47 [ptc] how does one extract the pod structure without running the code in the file?
12:47 [ptc] exactly
12:47 moritz [ptc]: maybe it requires a rakudo patch
12:47 [ptc] and the EVAL trick I found inside htmlify, hence why I thought you'd know :-)
12:47 moritz [ptc]: at least off-hand, I can't think of anything clever
12:47 [ptc] oh
12:47 [ptc] how does --doc work then?
12:48 moritz from inside rakudo :-)
12:48 [ptc] ah
12:48 moritz but that's a good lead
12:48 moritz check what it does
12:48 [ptc] already have, and got a bit lost...
12:48 moritz here's a really, really hacky idea
12:48 moritz write to Pod::To::Perl module
12:48 moritz that simply returns $pod.perl
12:49 moritz then run   perl6-m --doc=Perl thefile
12:49 moritz capture the output, eval it
12:49 moritz did I mention it was really, really hacky? :-)
12:49 [ptc] you're right, that *is* hacky!  :-D
12:49 * [ptc] grings
12:49 [ptc] *grins
12:50 Hor|zon joined #perl6
12:50 [ptc] how do I write to the Pod::To::Perl module?
12:51 moritz class Pod::To::Perl { method render($pod) { $pod.perl } }
12:51 [ptc] ok
12:52 * [Tux] wonders if he did not understand defaults correct ...
12:52 [Tux] method foo (Str $needed, Int $optional = 0) { ... }
12:53 [Tux] $optional being default, right? And set to 0 if not passed
12:53 jnthn [Tux]: Yes
12:53 moritz yes
12:53 [Tux] but it *also* renders it to be readonly
12:53 jnthn Sure
12:53 [Tux] if '$optional--' is used inside the sub, Cannot assign to an immutable value
12:53 moritz all parameters are
12:54 jnthn Just making something have a default doesn't magic up a container.
12:54 jnthn Add "is copy" for that
12:54 moritz unless marked 'is rw' or 'is copy'
12:54 * [Tux] alters assumptions in his mind (that might take a bit)
12:55 perl6_newbee FYI: installing LWP::Simple failed, because get-unsized.t tries to get http://rakudo.org, and that is down. Had to install with --notests
12:56 vendethiel joined #perl6
12:56 rurban joined #perl6
12:56 [ptc] moritz: it works!
12:56 moritz [ptc]: that's a bit scary
12:57 [ptc] it's also very cool, and allows me to get a bit further :-)
12:57 [ptc] thanks heaps!
13:01 moritz you're welcome
13:06 moritz jnthn: fwiw I got no new spectest failures due to the nqp merge (with a rakudo that uses the new nqp, of course)
13:07 FROGGS_ moritz: there seems to be a problem with NULLs in DBIish with the Pg driver
13:08 moritz FROGGS_: care to elaborate (or even better, open an issue?)
13:08 FROGGS_ moritz: when I select row, I get a NULL back as an empty string
13:08 moritz :(
13:09 FROGGS_ when I then select rows with a where clause and that empty string, I of course dont get back the said rows
13:09 jnthn moritz: Yay. And rakudo native-ref merge coming up soon too :)
13:09 FROGGS_ moritz: so I think we want to use the Str type object for NULLs
13:15 dalek Heuristic branch merge: pushed 63 commits to rakudo/nom by jnthn
13:15 jnthn Vive le native-ref
13:15 jnthn Or something. :)
13:15 laouji joined #perl6
13:16 isBEKaml_ joined #perl6
13:17 [Tux] if @aoa is a list of @aof's, like [[1,2,3],[4,5,6],[6,7,8]], how do I do «for @aoa -> @aof { for @aof -> $f { ... }}»?
13:18 jnthn [Tux]: As in, without needing the outer loop?
13:18 [Tux] no, as in how will @aof be a list
13:18 [Tux] as in perl5's @$ref
13:20 jnthn m: sub foo(@a) { say elems @a }; foo(my @ = 1, 2, 3); foo([1,2,3]);
13:20 camelia rakudo-moar dcda6c: OUTPUT«3␤3␤»
13:20 jnthn The signature binding itself removes the outer Scalar
13:21 jnthn And -> @aof { ... } is just a lambda, so the @aof is a signature, so it's normal sig binding semantics there
13:21 arnsholt jnthn++ # Habemus i++!
13:21 Alina-malina joined #perl6
13:21 [Tux] my sub has a (*@args) signature. If @args.elems == 1 and @args[0].^name ~~ /Array/ I want to expand @args[0] instead of using @args
13:22 [Tux] arnsholt, for native int ?
13:22 * [Tux] compiles again
13:23 jnthn oh...
13:23 [Tux] https://gist.github.com/Tux/a1e61d22f31d30a5c8bf <= code example speaks louder than words
13:24 moritz FROGGS_: can you please open an issue for the NULL thingy?
13:24 FROGGS_ moritz: will do in a bit
13:24 jnthn m: sub has-a(*@args) { @args = @args>>.flat; say @args.perl; }; has-a(1); has-a(1, 2, 3); has-a([1,2,3]);
13:24 camelia rakudo-moar dcda6c: OUTPUT«Array.new(1)␤Array.new(1, 2, 3)␤Array.new(1, 2, 3)␤»
13:24 jnthn [Tux]: Like that?
13:24 [Tux] :)
13:25 [Tux] see, how much I still need to learn? :)
13:25 [Tux] Inline::Perl5 now fails on moar
13:26 [Tux] getlexref_i: lexical is not an int
13:26 [Tux] in method unpack_return_values at lib/Inline/Perl5.pm6:413
13:26 jnthn Hmm
13:26 jnthn Trust a module I have no idea how to build on Windows to be the one that fails :/
13:26 [Tux] but yeah $i++ FIX !!!!
13:26 [Tux] jnthn++
13:27 [Tux] http://tux.nl/Files/20150301142709.png
13:27 * jnthn notes that $native-i++ needs some perf work yet
13:28 jnthn [Tux]: :)
13:29 jnthn [Tux]: Is the s{} one the thing you already filed in RT?
13:29 [Tux] don't know. that was one of the first and I am not really sure if it is a bug or something actually impossible
13:30 [Tux] https://gist.github.com/Tux/8d83069f3bb2b87cf98c <= that is the test case
13:31 [Tux] => Cannot call 'subst-mutate'; none of these signatures match:
13:33 [Tux] jnthn, I cannot use >>.flat, as it seems to remove undefined items from the list :(
13:33 [Tux] probably related to dropping Nill
13:35 jnthn Ugh
13:35 [Tux] bug?
13:35 jnthn Well, we know Nil should not be dropped
13:36 jnthn Is there any reason you don't write a pair of multis to handle the case?
13:36 jnthn multi foo(@arr) { }; multi foo(*@arr) { }
13:36 bartolin |Tux|: wrt to your gist: there is RT #123597 about s{} only working on strings
13:36 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123597
13:36 bartolin and jnthn++
13:37 [Tux] bartolin, yep, that one
13:37 [Tux] thanks
13:37 jnthn I think I know the problem with Inline::Perl5, but gotta go for a bit...
13:37 jnthn bbi~1h
13:37 bartolin [Tux]: np
13:39 * [Tux] must go
13:39 [Tux] thanks again for the help
13:42 isBEKaml joined #perl6
13:51 Hor|zon joined #perl6
13:54 grondilu joined #perl6
13:54 grondilu m: my int $n = 0; say $n++
13:54 camelia rakudo-moar 8e0cc1: OUTPUT«0␤»
13:55 grondilu m: say (my int $ = 0)++
13:55 camelia rakudo-moar 8e0cc1: OUTPUT«Expected a native int argument for '$a'␤  in sub postfix:<++> at src/gen/m-CORE.setting:5617␤  in block <unit> at /tmp/0iP02V4nhw:1␤␤»
13:55 Aurelie joined #perl6
13:55 grondilu m: say (my int $n = 0)++
13:55 camelia rakudo-moar 8e0cc1: OUTPUT«Expected a native int argument for '$a'␤  in sub postfix:<++> at src/gen/m-CORE.setting:5617␤  in block <unit> at /tmp/kuO7g1tuB2:1␤␤»
14:10 masak jnthn++ # vive le native-ref! \o/
14:10 mj41 joined #perl6
14:19 vendethiel masak: it's "la" ;p
14:20 masak vendethiel: vive la reference native!
14:24 [TuxCM] joined #perl6
14:30 laouji joined #perl6
14:31 mj41 Hi, rakudo.org down?
14:33 masak seems like. :( http://www.downforeveryoneorjustme.com/rakudo.org
14:33 masak "It's not just you! http://rakudo.org looks down from here."
14:37 FROGGS_ m: my $s = "foo"; $s &&~= "bar"; say $s # :o(
14:37 camelia rakudo-moar 8e0cc1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/o8vdT8b39p␤Preceding context expects a term, but found infix ~= instead␤at /tmp/o8vdT8b39p:1␤------> 3my $s = "foo"; $s &&~=7⏏5 "bar"; say $s # :o(␤»
14:40 Humbedooh joined #perl6
14:40 Humbedooh joined #perl6
14:42 masak FROGGS_: &&~= ?
14:43 FROGGS_ like &&=
14:43 FROGGS_ concat if lhs is trueish
14:45 masak m: sub infix:<&&~>($l, $r) { $l ?? $l ~ $r !! $r }; my $s = "foo"; $s &&~= "bar"; say $s
14:45 camelia rakudo-moar 8e0cc1: OUTPUT«foobar␤»
14:45 masak there ya go.
14:45 psch \o
14:45 masak o/
14:46 FROGGS_ masak++
14:46 zakharyas joined #perl6
14:47 psch vendethiel: i have a «public String run(String code)» prototype running, albeit with a few weirdnesses
14:47 vendethiel psch: sounds amazing.
14:47 psch vendethiel: first call is expectedly slow, but it gets faster after that
14:47 vendethiel oooh :o)
14:48 virtualsue joined #perl6
14:48 psch reusing CompilationUnits doesn't work, which probably has reasons, i'm not particularly knowledgable what those might be
14:49 psch the weirdest bit is that for some reason it tries to load CORE.setting, doesn't find it, but still works :s
14:50 psch vendethiel: https://gist.github.com/pes​chwa/96571d2ce74cedeea055O
14:50 psch colomon++ seems to be smoking currently, which influences the timings
14:50 vendethiel psch, four o four
14:51 psch huh
14:51 psch https://gist.github.com/pe​schwa/96571d2ce74cedeea055
14:51 psch where did that O come from...
14:53 rmgk_ joined #perl6
14:55 [TuxCM] "WHICH" link on http://doc.perl6.org/routine/%3D%3D%3D is 404
14:55 psch getting the CLASSPATH right is also rather arcane currently, because we need not only the jars in there, but also the path for at least one of them, because we're looking through CLASSPATH ourselves to find a specific jar
14:56 raiph joined #perl6
14:59 colomon joined #perl6
15:06 colomon joined #perl6
15:07 Hor|zon joined #perl6
15:12 jnthn m: say nqp::iscont_i(my int $n)
15:12 camelia rakudo-moar 8e0cc1: OUTPUT«1␤»
15:12 jnthn m: say nqp::iscont_i(my int $n = 0)
15:12 camelia rakudo-moar 8e0cc1: OUTPUT«0␤»
15:12 vendethiel psch: thanks
15:12 jnthn Ah
15:12 jnthn m: say nqp::iscont(my $n)
15:12 camelia rakudo-moar 8e0cc1: OUTPUT«1␤»
15:12 jnthn m: say nqp::iscont(my $n = 0)
15:12 camelia rakudo-moar 8e0cc1: OUTPUT«1␤»
15:12 jnthn Innerestin
15:14 jnthn m: my int $n = 0; say $n++; say $n;
15:14 camelia rakudo-moar 8e0cc1: OUTPUT«0␤1␤»
15:14 jnthn 0 is of course the correct answer for the first say :)
15:15 jnthn Got a couple of quick errands, then will do tests/fix to fix my bustage of IP5...
15:16 bcode joined #perl6
15:20 vendethiel psch: linked that to blackrush. he seemed pretty happy :)
15:21 diana_olhovik joined #perl6
15:23 laouji joined #perl6
15:25 psch vendethiel: well, it's a start.  glad they like it though
15:26 vendethiel psch: sure, but you've been consistently doing a sizeable amount of sheer improvements to the jvm side
15:31 masak psch++
15:37 psch vendethiel: i've updated the gist with a bit of details and current state.  i'll probably PR this as soon as i figure out why the ModuleLoader tries to nqp::loadbytecode(Any)
15:37 adu joined #perl6
15:39 [TuxCM] if |@x is flattening a list, why is «$x=[|@x]» wrong?
15:39 dalek rakudo/nom: 4e8be35 | usev6++ | t/02-rakudo/repl.t:
15:39 dalek rakudo/nom: Add test file for REPL to t/02-rakudo
15:39 dalek rakudo/nom: (moritz++ mentioned on #perl that the REPL is not part of the design documents,
15:39 dalek rakudo/nom: therefore I copied one test from t/spec/S19-command-line/repl.t to a new
15:39 dalek rakudo/nom: test file under t/02-rakudo.
15:39 dalek rakudo/nom: I added two further tests for the REPL taken from RT tickets.
15:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4e8be35131
15:39 dalek rakudo/nom: 88e2ef4 | jnthn++ | t/02-rakudo/repl.t:
15:39 dalek rakudo/nom: Merge pull request #377 from usev6/nom
15:39 dalek rakudo/nom:
15:39 dalek rakudo/nom: Add test file for REPL to t/02-rakudo
15:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88e2ef4284
15:41 psch [TuxCM]: i think of foo(|@bar) not as flattening @bar but as lowering it's values into the signature
15:41 psch that seems to be closer to what it actually does.  i'm not sure how the synopses call it
15:42 jnthn The way it is at prevent, | is only meaningful inside an argument list
15:42 jnthn *present
15:42 dalek mu: 40862e1 | usev6++ | misc/rt.perl.org/tickets_closed_parrot_only.txt:
15:42 dalek mu: Some more closed 'parrot only' tickets
15:42 dalek mu: review: https://github.com/perl6/mu/commit/40862e1c2c
15:42 [TuxCM] sometimes it feels that I am working on the ede of legal perl6 :)
15:42 [TuxCM] edge
15:43 jnthn bartolin: Test 2 fails on Windows
15:43 adu \o
15:44 bartolin jnthn: :-/
15:44 jnthn bartolin: It's not an issue yet though as it's not actually been added to the set of things "make test" runs... ;)
15:44 jnthn I see:
15:44 jnthn ) was unexpected at this time.
15:44 jnthn not ok 2 - >>.() does not crash in REPL
15:44 jnthn And
15:44 jnthn # expected: 'foo'
15:44 jnthn #      got: ''
15:44 bartolin jnthn: I'll take a look later
15:45 jnthn bartolin++
15:45 bartolin it passes on my linux box ...
15:45 jnthn m: my $b = Buf.new(0, 0); $b[0, 1] = 2, 3;
15:45 camelia rakudo-moar 8e0cc1: ( no output )
15:45 jnthn m: my $b = Buf.new(0, 0); $b[0, 1] = 2, 3; say $b;
15:45 camelia rakudo-moar 8e0cc1: OUTPUT«Buf:0x<02 03>␤»
15:45 jnthn \o/
15:46 [TuxCM] m: my@x=(1,"ff",Str,"",3);.perl.say for @x;"==".say;.perl.say for @x>>.flat;
15:46 camelia rakudo-moar 8e0cc1: OUTPUT«1␤"ff"␤Str␤""␤3␤==␤1␤"ff"␤""␤3␤»
15:46 [TuxCM] Str got lost (because of ().list)
15:47 dalek roast: 09e4acc | jnthn++ | S09-subscript/slice.t:
15:47 dalek roast: Unfudge test for RT#123594.
15:47 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123594
15:47 dalek roast: review: https://github.com/perl6/roast/commit/09e4acc34e
15:49 laouji joined #perl6
15:49 skids jnthn++ \o/
16:03 beastd joined #perl6
16:05 nine_ jnthn: there's a trivial workaround for the Inline::Perl5 fail. But since I am actually using a native int there and the bug is trivial to golf down, I guess it's in your domain.
16:05 nine_ m: loop (my int32 $i = 0; $i < 5; $i++) { say $i; }
16:05 camelia rakudo-moar 8e0cc1: OUTPUT«getlexref_i: lexical is not an int␤  in block <unit> at /tmp/ObJHmTssLT:1␤␤»
16:06 jnthn nine_: Yes, I already golfed it to that
16:06 jnthn nine_: Most of the way to a fix too :)
16:06 jnthn And will add spectests also
16:07 nine_ jnthn++ :)
16:08 nine_ So it's actually cool that my code helped uncover a bug :)
16:09 * masak loves when that happens :>
16:09 nine_ I guess loop is not very common in Perl 6 code ;)
16:09 jnthn Bug and insufficient spectest coverage, aye :)
16:10 masak nine_: I never use the C-style `loop`, no.
16:12 nine_ masak: I guess I can count the number of times I used one in the past decade in Perl on one hand. But on occasion it's really just the right tool.
16:13 masak nine_: not gonna argue with you. we don't have to have widely different styles for that to be true. let's just say I'm a fan of `next` in my loops.
16:15 nine_ masak: I do remember some good arguments of your's for 'next' from the passt few days, yes.
16:16 nwc10 jnthn: hangon, so NQP native-ref branch is now dead (no lnger needed)?
16:16 nwc10 oh, and Rakudo?
16:17 nine_ nwc10: both merged
16:18 brrt joined #perl6
16:18 xinming joined #perl6
16:18 jnthn nwc10: Yeah, though I'm still dealing with one bit of fallout
16:18 nwc10 ASAN was happy with nom.
16:19 nwc10 I wasn't aware that nom had new superpowers
16:19 brrt jnthn, this native-ref thing, what is it's purpose?
16:19 brrt and more importantly, i think i can jit that much better :-)
16:20 jnthn brrt: Oh, it's designed so we will be able to JIT it way better.
16:20 jnthn brrt: My JIT patches were purely "simplest thing that unbreaks our ability to JIT things using these ops" :)
16:21 brrt yeah, i supposed that
16:21 jnthn brrt: The purpose is so we can use a bunch of native things as real first-class l-values.
16:22 brrt i see.. so that'd be at the compiler end i suppose
16:23 dalek nqp: c32d7f2 | jnthn++ | tools/build/MOAR_REVISION:
16:23 dalek nqp: Bump MOAR_REVISION for sized native lex ref fix.
16:23 dalek nqp: review: https://github.com/perl6/nqp/commit/c32d7f239f
16:23 jnthn The VM knows about them for various reasons, not least so that it can elide a load of them over inlining boundaries that the static optimizer can't
16:24 jnthn Or even do escape proofs and do something scary but cheap (like, pass raw C-level pointers into things)
16:25 masak escape proofs! \o/
16:25 dalek rakudo/nom: 669f482 | jnthn++ | tools/build/NQP_REVISION:
16:25 dalek rakudo/nom: Bump NQP_REVISION for Moar sized native lex refs.
16:25 dalek rakudo/nom:
16:25 dalek rakudo/nom: This fixes a regression that Inline::Perl5 showed up.
16:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/669f4828da
16:26 jnthn nwc10: Yes, the native-ref branches are no more.
16:26 jnthn nwc10: There'll quite likely be one for native arrays at some point, though probably a rakudo only one
16:26 rurban joined #perl6
16:26 mr-foobar joined #perl6
16:28 masak ♡ native arrays ♡
16:28 jnthn .u ♡
16:28 yoleaux U+2661 WHITE HEART SUIT [So] (♡)
16:30 dalek roast: 11c7d22 | jnthn++ | S02-types/native.t:
16:30 dalek roast: Tests for aliasing different kinds of native.
16:30 dalek roast:
16:30 dalek roast: This covers a bug found in Inline::Perl5 where a lexref to an int32
16:30 dalek roast: didn't work out. However, the exact case in Inline::Perl5 is not an
16:30 dalek roast: ideal test case as a slightly smarter optimizer will elide the lexref.
16:30 dalek roast: Writing a test like this, however, will be a bit harder on it.
16:30 dalek roast: review: https://github.com/perl6/roast/commit/11c7d2280e
16:30 [TuxCM] if I want to support new () *AND* new ("String"), where string is *NOT* bound to an attribute, is it enough to just define «method new (Str $s) {...}»?
16:30 jnthn [TuxCM]: You'd better put a multi on that
16:31 [TuxCM] right, understood, but that would suffice?
16:32 jnthn Think so
16:32 dalek DBIish/pg-null: 73e39ad | moritz++ | t/99-common.pl6:
16:32 dalek DBIish/pg-null: Test case for returning NULL
16:32 dalek DBIish/pg-null: review: https://github.com/perl6/DBIish/commit/73e39ad998
16:33 nine_ jnthn: confirmed Inline::Python working again :)
16:33 jnthn \o/
16:33 nine_ s/Inline::Python/Inline::Perl5/
16:33 dalek DBIish/pg-null: 313ecec | moritz++ | lib/DBDish/Pg.pm6:
16:33 dalek DBIish/pg-null: Remove outdated comment
16:33 dalek DBIish/pg-null: review: https://github.com/perl6/DBIish/commit/313ecece06
16:34 jnthn Bah, they start with the same letter and originated in the same millenium... :P
16:35 nine_ They're actually just two months apart.
16:36 dalek roast: a86da61 | jnthn++ | S02-types/native.t:
16:36 dalek roast: Partial RT #102416 unfudge.
16:36 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=102416
16:36 dalek roast: review: https://github.com/perl6/roast/commit/a86da6189b
16:38 jnthn .tell TimToady I've tended to consider .WHAT as an object-y operation, so even though it's macro-esque already and not in any sense a method call, it still compiles the thing it's operating such that it wants a boxed object. Thus I'd not expected it ever could return a native type. Is there anything in the design docs supporting any view besides mine? :)
16:38 yoleaux jnthn: I'll pass your message to TimToady.
16:39 masak interesting post about author's dream language: http://eev.ee/blog/2015/02/28/sylp​h-the-programming-language-i-want/
16:39 masak whoever wrote that sure seems to know about Perl 6 :)
16:40 dalek DBIish/pg-null: 152aa65 | moritz++ | lib/DBDish/Pg.pm6:
16:40 dalek DBIish/pg-null: Pg: Return Str type object for NULL, FROGGS++
16:40 dalek DBIish/pg-null: review: https://github.com/perl6/DBIish/commit/152aa655b9
16:41 moritz ufo in the DBIish directory dies with  This type cannot unbox to a native string
16:41 moritz in method APPLY-MATCHES at /home/moritz/p6/rakudo/install/languag​es/perl6/runtime/CORE.setting.moarvm:1
16:42 Kristien joined #perl6
16:43 lsm01 joined #perl6
16:44 moritz the liner number is less-than-useful
16:46 moritz m: $_ = "abc"; s[b] = 42; .say
16:46 camelia rakudo-moar 669f48: OUTPUT«a42c␤»
16:47 moritz m: $_ = "abc"; .=subst(/b/, 42); .say
16:47 camelia rakudo-moar 669f48: OUTPUT«a42c␤»
16:47 moritz m: $_ = "abc"; .=subst('b', 42); .say
16:47 camelia rakudo-moar 669f48: OUTPUT«This type cannot unbox to a native string␤  in method APPLY-MATCHES at src/gen/m-CORE.setting:7572␤  in method subst at src/gen/m-CORE.setting:7501␤  in method subst at src/gen/m-CORE.setting:4688␤  in method dispatch:<.=> at src/gen/m-CORE.setting…»
16:48 jnthn Hm, that comes out with a saner line number...
16:49 skids m: sub f ($p, :$n, *% where { not +$_ }) { "$p $n".say }; f(1, :n); f(1, :n, :g); # IIRC someone wanted to shut down unknown nameds?
16:49 camelia rakudo-moar 669f48: OUTPUT«1 True␤Constraint type check failed for parameter '<anon>'␤  in sub f at /tmp/JsfpmLGswz:1␤  in block <unit> at /tmp/JsfpmLGswz:1␤␤»
16:50 masak skids: ...though for subs, that's done for you anyway. you'd want a method.
16:50 dalek rakudo/nom: e7a666c | moritz++ | src/core/Str.pm:
16:50 dalek rakudo/nom: Fix Str.subst(Str, Int)
16:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e7a666ca56
16:50 Humbedooh joined #perl6
16:50 moritz and while it works that way, it doesn't give good error messages either
16:50 Humbedooh joined #perl6
16:50 laouji joined #perl6
16:50 jnthn moritz: oh, you beat me to it
16:51 masak skids: it's an intriguing idea, and one I didn't think of. but it doesn't solve the fundamental issue: we (reluctantly) like Interface Consistency.
16:51 jnthn moritz: You gonna add a spectest?
16:51 moritz jnthn: sorry, shoulda said something
16:51 moritz jnthn: yes
16:51 jnthn OK, np
16:51 jnthn moritz++
16:54 moritz finding rakudobugs while working on DBIish... that hasn't happened in a while :-)
16:56 Hor|zon joined #perl6
16:56 masak moritz++ # working on DBIish
17:00 nine_ Oh, my "No such method '' for invocant of type 'Foo'" nemesis is back. And it's a real heisenbug. Really any kind of change to the test file will make it vanish.
17:00 masak sounds like you can easily make it go away, then :P
17:01 dalek DBIish/pg-null: a78149b | moritz++ | t/25-mysql-common.t:
17:01 dalek DBIish/pg-null: Reset mysql test user/password to what is documented
17:01 dalek DBIish/pg-null: review: https://github.com/perl6/DBIish/commit/a78149b8e5
17:01 nine_ masak: I don't have anything to do then. It will go away just by upgrading rakudo. Just to reappear with some other future upgrade.
17:01 dalek rakudo/nom: fe55c0e | jnthn++ | src/ (2 files):
17:01 dalek rakudo/nom: Fix inlining/coercion type bad interaction bug.
17:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fe55c0edb0
17:01 b2gills m: class c { method d ( *% [] ){} }; c.d( :a )
17:01 camelia rakudo-moar 669f48: OUTPUT«Unexpected named parameter 'a' passed in sub-signature␤  in method d at /tmp/HzQSEClFgI:1␤  in block <unit> at /tmp/HzQSEClFgI:1␤␤»
17:02 dalek DBIish: 73e39ad | moritz++ | t/99-common.pl6:
17:02 dalek DBIish: Test case for returning NULL
17:02 dalek DBIish: review: https://github.com/perl6/DBIish/commit/73e39ad998
17:02 dalek DBIish: 313ecec | moritz++ | lib/DBDish/Pg.pm6:
17:02 dalek DBIish: Remove outdated comment
17:02 dalek DBIish: review: https://github.com/perl6/DBIish/commit/313ecece06
17:02 dalek DBIish: 152aa65 | moritz++ | lib/DBDish/Pg.pm6:
17:02 dalek DBIish: Pg: Return Str type object for NULL, FROGGS++
17:02 dalek DBIish: review: https://github.com/perl6/DBIish/commit/152aa655b9
17:02 dalek DBIish: a78149b | moritz++ | t/25-mysql-common.t:
17:02 dalek DBIish: Reset mysql test user/password to what is documented
17:02 dalek DBIish: review: https://github.com/perl6/DBIish/commit/a78149b8e5
17:02 dalek DBIish: 4eb3a17 | moritz++ | / (3 files):
17:02 dalek DBIish: Merge branch 'pg-null'
17:02 dalek DBIish: review: https://github.com/perl6/DBIish/commit/4eb3a175f4
17:02 pmichaud 17:07 <japhb> Was pmichaud able to do GLR work, or did the "if I can't, someone else do it" clause get activated?
17:02 moritz sorry for duplicate commits reported here, that was the branch merge
17:02 dalek roast: ba92bce | jnthn++ | S12-coercion/coercion-types.t:
17:02 dalek roast: Update fudging after fixing an optimizer bug.
17:02 dalek roast:
17:02 dalek roast: Win 2 tests that the optimizer broke. Lose 1 that it made appear to
17:02 dalek roast: work enough to pass the test bogusly.
17:02 dalek roast: review: https://github.com/perl6/roast/commit/ba92bceaae
17:02 pmichaud pmichaud still expects to do the GLR work, starting tomorrow.
17:02 moritz \o/
17:02 masak \o/
17:02 nine_ pmichaud: great news :)
17:02 pmichaud my "if I can't someone else do it" clause activates in April.
17:02 b2gills \DITTO/
17:03 jnthn pmichaud: Yay, look forward to it :)
17:03 skids GLR++ pmichaud++
17:03 jnthn pmichaud: Landed the native types improvements leading up to native arrays today :)
17:04 pmichaud jnthn++
17:05 nwc10 \o/
17:05 nwc10 pmichaud: but only on the morning of the 1st April? (better be quick)
17:06 nine_ masak: the funny thing is that the exact same error exists in Inline::Python and Inline::Perl5. An extremely fleeting heisenbug that occurs in two totally different code bases.
17:08 masak nine_: it's been a looong time since I had a heisenbug of the severity you describe.
17:08 masak nine_: massive kudos if you catch it.
17:10 jnthn They're horrible to find.
17:11 moritz any luck with asan?
17:12 nine_ Even debug statements that never actually get called make it go away. What are the odds to hit the exact code to trigger the bug when there are so many possibilities to make it vanish?
17:12 nine_ moritz: trying my luck with valgrind right now
17:12 japhb ++pmichaud
17:12 japhb :-)
17:13 japhb jnthn++ # Native ref merge!
17:14 arnsholt nine_: Debug statements at the C level, or Perl 6 level?
17:16 moritz wow, hack has a load average of 12
17:17 moritz lots of people spectesting
17:17 kjs_ joined #perl6
17:17 moritz and still 7GB free :-)
17:18 * masak hasn't really internalized that in a rule, `<trait>*` and `<trait> *` mean different things...
17:19 nine_ arnsholt: Perl 6 and Python. Debug statements at the C level do work but there's not much happening at this level :/
17:25 b2gills Speaking of heisenbugs, how random is the order of the keys of a hash? In Perl 5.18.0 the order was made very randomized, and it caused some heisenbugs to show up more often.
17:27 masak b2gills: I think the consensus is that any code that leans on the keys in a hash being in any *particular* order, is in the wrong.
17:28 masak (and might work as intended, or might not)
17:28 b2gills I was just wondering if the order of keys in Rakudo are anywhere near as random as Perl 5.18+
17:28 skids ISTR think they are not.
17:29 nine_ masak: since Perl 5.18 the hash key order is different on every run of the program. This uncovered lots of bugs where one indirectly depended on some hash key order. Like expecting parameters of URIs created by the URI module being in a certain order.
17:30 arnsholt nine_: Yeah, that's what I thought. Of course, if they had been at the C level, it'd be a strong indicator of pointer shenanigans
17:30 b2gills 5.18 uses One-at-a-time-hard for the hashing algorithm, which has three places where it adds randomness
17:31 masak nine_: yes.
17:31 nine_ Is there a way to have the GC run more often?
17:31 nine_ Like after every allocations or something like that?
17:33 arnsholt I think there's an op to force a gc, at least
17:34 b2gills m: sub add ( ::T $a, T $b --> T ){ $a + $b }; say add 5,6
17:34 camelia rakudo-moar fe55c0: OUTPUT«Type check failed for return value; expected 'T' but got 'Int'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:640␤  in sub add at /tmp/e1qgMiX8rF:1␤  in block <unit> at /tmp/e1qgMiX8rF:1␤␤»
17:42 coffee` joined #perl6
17:43 jnthn nine_: You can nqp::forcegc() or so
17:44 jnthn nine_: Alternatively, if you're dealing with MoarVM, edit src/gc/collect.h
17:44 jnthn nine_: And make MVM_NURSERY_SIZE much smaller
17:50 nine_ jnthn: even the smaller nursery size hides the bug :/
17:50 nine_ With 8K nursery size I get a Heap corruption detected: pointer 0x13c5880 to past fromspace. But 8K might really be too extreme
17:54 nine_ 16K lets all tests pass.
17:55 nine_ 8M lets all tests pass. Only with 4M I get the fail. So many variables that have to be right to trigger the bug
17:56 Hor|zon joined #perl6
17:58 raydiak \o morning #perl6
18:01 Kristien joined #perl6
18:02 gamo joined #perl6
18:03 raiph joined #perl6
18:03 gamo I'm having speed issues with rakudo 2015.02
18:03 nine_ Does NativeCall free char*s passed from C to Perl6 callbacks?
18:05 FROGGS_ nine_: I think so, but you can tell it to not do that
18:05 FROGGS_ m: use NativeCall; my Str $str is explicitly_managed; # something like that
18:05 camelia rakudo-moar fe55c0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/THahC32ZHO␤Can't use unknown trait 'is explicitly_managed' in a variable declaration.␤at /tmp/THahC32ZHO:1␤------> 3eCall; my Str $str is explicitly_managed7⏏5; # something like that␤    expecting…»
18:06 FROGGS_ m: use NativeCall; my Str $str is explicitly-manage; # something like that
18:06 camelia rakudo-moar fe55c0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XZuaUkYY8m␤Can't use unknown trait 'is explicitly-manage' in a variable declaration.␤at /tmp/XZuaUkYY8m:1␤------> 3veCall; my Str $str is explicitly-manage7⏏5; # something like that␤    expecting …»
18:07 b2gills gamo: could you please be a little more specific?
18:07 FROGGS_ nine_: ahh, it is a sub explicitly-manage($str)...
18:07 gamo yes, I have a program that uses a lot of rand
18:07 gamo and it runs very bad
18:07 b2gills m: say (^5).pick
18:07 camelia rakudo-moar fe55c0: OUTPUT«3␤»
18:08 b2gills m: say 5.rand
18:08 camelia rakudo-moar fe55c0: OUTPUT«2.54880842188154␤»
18:08 b2gills m: say (^5).roll(*)
18:08 camelia rakudo-moar fe55c0: OUTPUT«4 2 0 3 4 4 4 0 4 4 2 4 1 0 1 2 0 4 2 0 0 3 1 1 0 2 0 4 0 2 2 2 0 4 0 1 3 0 0 3 0 4 3 3 0 4 1 3 1 3 3 3 0 4 3 0 1 0 3 2 2 2 2 2 0 3 2 3 2 2 1 1 0 2 3 4 1 1 3 4 3 1 0 2 0 0 0 3 3 1 0 0 4 2 0 4 1 4 3 2 ...␤»
18:09 b2gills gamo: It would be helpful to see an example, there may be a better way to write it ^^
18:09 nine_ FROGGS_: looks to me like that affects only the other direction? Str passed from Perl 6 to C
18:10 gamo given @cand.pick {
18:10 gamo when 0 {
18:12 b2gills gamo: what is in @cand?
18:12 gamo a short list
18:14 b2gills gamo: perhaps you could show us a more comprehensive example with a GitHub gist or using a nopaste service
18:14 FROGGS_ nine_: from reading this I think it does not free it: MoarVM/src/core/nativecall.c:249
18:14 gamo ok, thanks
18:15 jnthn m: my @a = 1..10; @a.pick for ^100000; say now - INIT now
18:15 camelia rakudo-moar fe55c0: OUTPUT«0.9019056␤»
18:15 Kristien eheheh
18:16 gamo that's quick
18:16 Kristien I answered a Python question with AWK code on Stack Overflow and got an upvote.
18:16 nine_ FROGGS_: unmarshal_string is AFAIK again Str -> char*, not char* -> Str. The latter seems to be make_str_result
18:16 nine_ FROGGS_: confused me as well.
18:16 FROGGS_ dang
18:16 FROGGS_ :P
18:17 nine_ FROGGS_: but make_str_result again may or may not free the string depending on some MVM_NATIVECALL_ARG_FREE_STR flag
18:17 gamo thanks, bye
18:17 FROGGS_ nine_: true
18:18 FROGGS_ nine_: and line 383 strips it? do I read that right?
18:18 jnthn gamo: Well, it's not crazy quick, but not too awful...
18:19 jnthn gamo: If you are seeing awful speed it's likely something else...
18:19 FROGGS_ nine_: I would suggest you write a short example code (using nativecalls tests in rakudo), and printf the result in nativecall.c at make_str_result
18:19 nine_ FROGGS_: yes, the line strips it from...somewhere.
18:20 nine_ FROGGS_: good empirical suggestion in the absence of people who know it for certain. I'm quite sure it does not free those strings. But there's so many places where I might read the code wrong.
18:22 zakharyas joined #perl6
18:22 gamo jnthn: I don't what thing could be
18:22 nine_ FROGGS_: the NativeCall callback test passes a string constant to the P6 callback. I guess if NativeCall were to free the string it would blow up right there.
18:22 FROGGS_ okay, now I understand it... line 383 makes sure that the free_str flag is not set, so later the string wont get freed
18:23 FROGGS_ nine_: I also remember fixing parrot just recently were this line was missing and it tried to free a constant string pointer
18:23 FROGGS_ aye
18:24 nine_ FROGGS_: then I guess we have enough certainty for a doc patch :) Where do the NativeCall docs live nowadays?
18:24 gamo jnthn: thanks, bye
18:24 Humbedooh joined #perl6
18:24 Humbedooh joined #perl6
18:24 FROGGS_ nine_: there is a synopsis and there are docs and examples in its former repository
18:25 FROGGS_ I dunno where it *should* live though
18:25 moritz I'd be fine with having them in perl6/doc
18:25 moritz otherwise, inside the rakudo repo
18:26 FROGGS_ yeah, I guess perl6/doc is the place where users would look first
18:27 FROGGS_ m: say $*PERL.compiler.version
18:27 camelia rakudo-moar fe55c0: OUTPUT«v2015.2.153.gfe.55.c.0.e␤»
18:27 FROGGS_ m: say $*PERL.compiler.version.^methods
18:27 camelia rakudo-moar fe55c0: OUTPUT«new Str gist perl ACCEPTS WHICH <anon> <anon>␤»
18:28 nine_ Pull request sent
18:30 moritz pull request merged.
18:30 dalek zavolaj: 0c8704a | niner++ | README.markdown:
18:30 dalek zavolaj: Document memory management of strings passed to callbacks
18:30 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/0c8704af64
18:30 dalek zavolaj: c2ff93a | moritz++ | README.markdown:
18:30 dalek zavolaj: Merge pull request #58 from niner/master
18:30 dalek zavolaj:
18:30 dalek zavolaj: Document memory management of strings passed to callbacks
18:30 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/c2ff93a115
18:30 moritz nine_++
18:33 nine_ One just cannot be too explicit with regard to memory management when talking about C :)
18:34 rindolf joined #perl6
18:38 raydiak nine_++ answers my questions before I ask them :)
18:40 moritz that's what documentation is all about, no?
18:40 moritz for perl6/doc I try to answer previous #perl6 questions with doc, in the hopes that they'll come up again :-)
18:43 dalek perl6-roast-data: 0a245ff | coke++ | / (9 files):
18:43 dalek perl6-roast-data: today (automated commit)
18:43 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/0a245ffc17
18:43 raydiak that's a smart pattern...I guess there isn't much that *isn't* documented in our irclog
18:43 sivoais I'm curious. Why is the grammar so strict with whitespace? For example,
18:44 sivoais m: my $g = 41; $g ++; say $g
18:44 camelia rakudo-moar fe55c0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pseLed5rqz␤Preceding context expects a term, but found infix + instead␤at /tmp/pseLed5rqz:1␤------> 3my $g = 41; $g ++7⏏5; say $g␤»
18:44 sivoais versus just using $g++
18:45 sivoais I know that both Perl5 and C allow for having a space between the identifier and the operator
18:47 dalek Inline-Python: a9e1c2a | (Stefan Seifert)++ | pyhelper.c:
18:47 dalek Inline-Python: Fix arguments of P6 callbacks being leaked
18:47 dalek Inline-Python:
18:47 dalek Inline-Python: PySequence_GetItem returns a new reference to the item while PyTuple_GetItem
18:47 dalek Inline-Python: returns a borrowed reference. Switch to the latter so we don't have to
18:47 dalek Inline-Python: Py_DECREF the items.
18:47 dalek Inline-Python: review: https://github.com/niner/Inl​ine-Python/commit/a9e1c2a9f8
18:47 dalek Inline-Python: e7f924b | (Stefan Seifert)++ | pyhelper.c:
18:47 dalek Inline-Python: Fix leaking P6 method names on call
18:47 dalek Inline-Python:
18:47 dalek Inline-Python: No need to copy the string holding the method's name, since NativeCall
18:47 dalek Inline-Python: does not free() it anyway.
18:47 dalek Inline-Python: review: https://github.com/niner/Inl​ine-Python/commit/e7f924b201
18:48 vendethiel psch: nice! 900ms for "say 1" is still a bit slow, but I'm sure something will happen :P
18:48 psch vendethiel: i had it at ~350ms with less load on hack at least once ;)
18:49 cognominal joined #perl6
18:51 Kristien Does Perl 6 to JS compiler emit Google Closure annotations?
18:52 Kristien won't do much good I guess
18:52 Kristien since a type mismatch in Closure is UB and in Perl 6 it's an exception
18:53 vendethiel pmichaud++
18:53 b2gills m: sub infix:<++> ($a is rw, $b){ $a += $b }; my $a = 5; $a ++ 5; say $a; # sivoais: to allow infix operators of the same "name"
18:53 camelia rakudo-moar fe55c0: OUTPUT«10␤»
18:54 psch postcircumfix too
18:56 [Coke] we have psch's CLA if someone wants to pull the trigger on the rights.
18:56 psch cf. $itemhash<5> vs $itemhash < 5
18:56 psch and LTM/one-pass parsing
18:56 vendethiel psch: nice ;-).
18:57 FROGGS_ [Coke]: I'd like to but I'm not an admin for the rakudo repository :o(
18:57 Hor|zon joined #perl6
18:57 sivoais I see, so it is meant as a way to make the grammar extensible and fast at the same time.
18:58 dalek rakudo/nom: 383f45d | usev6++ | t/02-rakudo/repl.t:
18:58 dalek rakudo/nom: Fix test; a lot of quoting needed for Windows
18:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/383f45de82
18:58 dalek rakudo/nom: b8aa076 | FROGGS++ | t/02-rakudo/repl.t:
18:58 dalek rakudo/nom: Merge pull request #378 from usev6/nom
18:58 dalek rakudo/nom:
18:58 dalek rakudo/nom: Fix test; a lot of quoting needed for Windows
18:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b8aa07661b
19:00 psch i don't get where that silly warning comes from though :/
19:05 vendethiel masak: eevee has very interesting tweets at time. But this doesn't seem to go well with the p6 mind: "Importing a module dumps the entirety of its contents into your namespace. "
19:15 fun joined #perl6
19:19 timotimo gamo: are you still here?
19:19 yoleaux 28 Feb 2015 21:56Z <[ptc]> timotimo: unfortunately the require version wasn't working at all (errors with and without prove).  The check needs to take place at compile time.  Don't know what the best solution is though...
19:20 timotimo gamo: you can run perl6 --profile yourscript.p6 to get a better idea of what's going on performance-wise
19:20 moritz psch: welcome as a rakudo contributor, you've got a commit bit now
19:20 timotimo ++pmichaud # time for GLR allocated tomorrow
19:21 gamo thank you timotimo
19:22 timotimo gamo: i'm very performance-interested, FWIW
19:22 FROGGS_ moritz++ # pg-null
19:22 timotimo even if i'm not very good at making things faster, i do have an idea or two about what things may be slower
19:23 jnthn psch++ # welcome!
19:23 timotimo psch++ # rightfully a rakudo contributor now!
19:23 gamo thanks
19:23 timotimo not having been on IRC all day, backlogging was very enjoyable today
19:24 psch thanks :)
19:27 adu joined #perl6
19:32 gfldex joined #perl6
19:35 dalek infrastructure-doc: 8aacc52 | moritz++ | hosts/hack.p6c.org.pod:
19:35 dalek infrastructure-doc: linkify rakudo
19:35 dalek infrastructure-doc: review: https://github.com/perl6/infras​tructure-doc/commit/8aacc52645
19:38 cognominal joined #perl6
19:40 literal http://hinrik.github.io/perl6.vim-gets-more-love/ # thought some of you might like this :)
19:40 laouji joined #perl6
19:40 timotimo literal: oh god yes
19:42 spider-mario joined #perl6
19:42 kaare__ joined #perl6
19:43 timotimo that is seriously amazing
19:43 timotimo thank you!
19:43 timotimo literal++ # a whole lot of magic for perl6.vim
19:45 vendethiel literal++
19:45 bartolin literal++
19:46 FROGGS_ literal++
19:46 raydiak *gasp*! literal++ xx *
19:47 * arnsholt goes to update his dotfiles
19:47 vendethiel literal++ # again, because the amount of work is just real amazing :o)
19:49 flussence literal++ # that shortlog is long
19:49 dalek DBIish: bc80488 | moritz++ | lib/DBDish/Pg.pm6:
19:49 dalek DBIish: Use native types in DBDish::Pg native functions
19:49 dalek DBIish:
19:49 dalek DBIish: because we can. And maybe we save some boxes that way
19:49 dalek DBIish: review: https://github.com/perl6/DBIish/commit/bc80488d7d
19:50 nwc10 moritz: is the "Because we can" only possible because nativeref has landed?
19:51 moritz nwc10: no, I'm pretty sure it was possible before
19:51 FROGGS_ moritz: using 'int' or 'Int' in native subs is problematic
19:51 FROGGS_ moritz: you should use int32 or long instead
19:52 moritz nwc10: DBDish code goes back 6 years, and I don't know if rakudo had native lexicals back then :-)
19:52 flussence .oO( random thought I had earlier today - I've hit "I want to, but can't yet" enough times to justify collecting it all in a dedicated repo... )
19:52 moritz FROGGS_: if the C api docs say 'int', should I then use 'long' for NativeCall?
19:53 moritz FROGGS_: that sounds wrong
19:53 jdv79 moritz: how come JSON::Tiny doesn't have some basic funtionality that i want:)  like canonicalization and prettification.
19:53 moritz jdv79: look at that name again :-)
19:53 FROGGS_ moritz: C's int is int32
19:54 FROGGS_ our int is almost C's long, but not quite
19:54 jdv79 Tiny, as originally defined by Adam K, doesn't preclude that sort of functionality
19:54 moritz I'm not Adam K :-)
19:54 moritz nor do I take his words to be normative
19:55 jdv79 i just don't want to fork - seems unproductive
19:55 jdv79 but ok...;)
19:55 moritz jdv79: not fork; just create a JSON that's based on JSON::Tiny
19:56 flussence and literal++ *again*, because my heredocs no longer look like rainbow confetti \o/
19:56 moritz literal++
19:57 dalek DBIish: 461b573 | moritz++ | lib/DBDish/Pg.pm6:
19:57 dalek DBIish: Pg: use int32
19:57 dalek DBIish:
19:57 dalek DBIish: because FROGGS++ says it is more correct that way
19:57 dalek DBIish: review: https://github.com/perl6/DBIish/commit/461b5735db
19:57 timotimo literally literal++
19:58 Hor|zon joined #perl6
19:59 [Tux] Inline::Perl5 broke again:
19:59 [Tux] t/call.t ...................... ok
19:59 [Tux] ===SORRY!===
19:59 [Tux] No such method '' for invocant of type 'Foo'
19:59 timotimo yeah, nine saw that recently, too :(
20:01 [Tux] it was broken after jnthn++'s int $i++ fix this morning (MET), but repaired shortly after, now it is broken again
20:01 timotimo literal: could you also put a piece of code into the perl-vim repo that'd automatically detect .nqp files as perl6 syntax?
20:02 moritz [Tux]: seems to be an intermittent bug
20:03 literal timtimo: yeah. I see that hoelzro already added something like that: https://github.com/vim-perl/vim-perl/commi​t/02d62d31d0b6dcd6bb5ca533cf2a1f2dad736e7c
20:03 literal but it isn't working for me either
20:03 nine_ [Tux]: it's a heisenbug that first appeared sometime in January. Same bug hits Inline::Python but so far it eludes any debugging attempt
20:03 literal timotimo even
20:04 [Tux] panda install Inline::Perl5 PASS'd indeed now
20:04 timotimo "setf"?
20:04 literal it sets the filetype
20:04 nine_ [Tux]: it can even be different if the test runs using prove or make test (which just calls prove!)
20:04 timotimo ah
20:04 [Tux] :)
20:04 nine_ [Tux]: if you find some code other than this test that reproduces the bug I'd be highly interested. May help nail this.
20:04 [Tux] I made big progress today
20:05 [Tux] at least, that is how I experience it
20:10 telex joined #perl6
20:11 raiph joined #perl6
20:11 literal timotimo: this solves it for me, does it work for you? https://github.com/vim-perl/vim-perl/commi​t/db166846f216d4635f89fa93bd151dba803190fa
20:15 dalek roast: 21e81c7 | usev6++ | S04-declarations/my.t:
20:15 dalek roast: Unfudge two passing tests for rakudo.jvm
20:15 dalek roast: review: https://github.com/perl6/roast/commit/21e81c728e
20:16 timotimo oh, actually
20:16 timotimo it seems like it already works? perhaps?
20:16 moritz nativecall question: there's a function that returns a pointer, and I know that it points to a buffer with $n bytes
20:16 moritz how do I get those $n bytes in a Buf?
20:16 timotimo yeah, it seems it already worked before that commit; sorry!
20:16 FROGGS_ moritz: you don't :/
20:16 literal timotimo: it worked already, but only for previously existing files
20:16 timotimo oh!
20:17 moritz FROGGS_: that sucks
20:17 FROGGS_ moritz: I know
20:17 timotimo yes, indeed. literal++ # again
20:17 ash_gti joined #perl6
20:18 FROGGS_ moritz: we'd need to be able to declare a buffer with the number of expected elements in order to do that
20:19 FROGGS_ moritz: that's also needed to have inlined CArray/buffers in CStructs
20:19 moritz FROGGS_: 'cause that's how postgresql transfers binary data
20:20 FROGGS_ jnthn: is it on our todo to allow the pendant to 'int *foo[32]' ?
20:20 FROGGS_ moritz: you can return a CArray, and then slice n elements into a buffer
20:20 moritz FROGGS_: sounds possible, but slow and ugly
20:21 FROGGS_ but that's all you can do because we dont know the number of elements early enough
20:21 FROGGS_ aye
20:21 wicope joined #perl6
20:22 FROGGS_ std: my Array[32] @a
20:22 camelia std 28329a7: OUTPUT«ok 00:00 137m␤»
20:23 FROGGS_ is that what I think it is?
20:23 moritz no
20:23 FROGGS_ :o(
20:23 FROGGS_ m: my Array[32] @a
20:23 camelia rakudo-moar b8aa07: ( no output )
20:23 moritz it's an array of arrays
20:23 FROGGS_ m: my Array[32] @a; say @a
20:23 camelia rakudo-moar b8aa07: OUTPUT«␤»
20:23 FROGGS_ m: my Array[32] @a; say @a.perl
20:23 camelia rakudo-moar b8aa07: OUTPUT«Array[Array[Int]].new()␤»
20:24 FROGGS_ moritz: is there anything in the design docs about an element number constraint?
20:24 moritz yes
20:24 moritz std: my @a[32]
20:24 camelia std 28329a7: OUTPUT«ok 00:00 137m␤»
20:24 FROGGS_ ohh
20:24 FROGGS_ m: my @a[32]
20:24 camelia rakudo-moar b8aa07: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GIvLM_vwln␤Shaped variable declarations not yet implemented. Sorry. ␤at /tmp/GIvLM_vwln:1␤------> 3my @a[32]7⏏5<EOL>␤»
20:25 FROGGS_ then we need to make that work
20:25 tmch joined #perl6
20:25 moritz though I don't know the number of elements at compile time
20:25 moritz FROGGS_: I think it's on jnthn++'s agenda
20:25 FROGGS_ ahh, good point
20:28 timotimo whatever_curry only ends up eating 0.37s out of about 30s in core setting parse time
20:29 moritz m: say 0.37 / 30
20:29 camelia rakudo-moar b8aa07: OUTPUT«0.012333␤»
20:32 timotimo it gets called 13078 times over the course of stage parse
20:32 timotimo m: say 0.37 / 13078
20:32 camelia rakudo-moar b8aa07: OUTPUT«0.00002829␤»
20:32 timotimo that's kinda quick
20:32 masak literal++ # serious props for http://hinrik.github.io/perl6.vim-gets-more-love/
20:32 timotimo sometimes i forget how quick moarvm is when all you're doing is operations on basic-ish data structures
20:34 dalek rakudo/nom: a6746fa | timotimo++ | src/Perl6/Actions.nqp:
20:34 dalek rakudo/nom: just a tiny and ineffective micro-optimization
20:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a6746facdf
20:35 moritz timotimo: also note that if we replace the whatever-stars, the time is then spent compiling the replacement
20:36 timotimo "replace the whatever stars"?
20:36 moritz well, they are what causes the calls to the whatever_curry, no?
20:37 timotimo no, they are not :)
20:37 timotimo we call whatever_curry in pretty much every little operator
20:37 timotimo hence the 13k calls
20:37 xfix_ joined #perl6
20:39 * timotimo isn't really making headway with the whatever curry chain + other operators work
20:39 ash_gti literal: have you ever looked at atom or textmates highlighting system? I am working on updating the perl.tmbundle to recognize perl6 better and I am basing it on the perl-vim syntax
20:43 Humbedooh joined #perl6
20:43 psch /o\
20:43 psch rebasing my EvalServer improvements
20:44 psch and it doesn't work anymore
20:44 psch something about native-ref, i think.  i get a «VerifyError: Bad type on operand stack»
20:45 psch "Type long_2nd (current frame, stack[3]) is not assignable to 'org/perl6/nqp/sixmodel/SixModelObject'"
20:45 psch i'm not sure if there's a useful way to find out which p6-level method a given jvm-method in e.g. CORE.setting.jar corresponds to
20:46 moritz psch: fwiw for the evalserver to be useful for our IRC bot, I'd need to be able to set a CPU time limit per execution
20:46 timotimo something not being automatically boxed again?
20:46 psch s/useful/useable/
20:46 psch moritz: i'm currently just trying to get it useable from some java application with an easy interface
20:46 psch moritz: but i'll keep that in might
20:47 psch timotimo: the bytecode method that dies calls p6decontrv, which doesn't appear to be called often in CORE.setting
20:47 moritz psch: I didn't expect a quick implemention
20:47 moritz :-)
20:48 jnthn FROGGS_: Shaped arrays are on the agenda, at least :)
20:48 jnthn FROGGS_: That includes size
20:49 O_o_ joined #perl6
20:50 O_o_ p6
20:50 * [Tux] closed 123924
20:51 literal ash_gti: I looked at Perl.plist in perl.tmbundle and immediately felt sorry for the person who wrote it :)
20:52 literal vimscript is bad enough, but this markup seems like a big pain to maintain
20:52 ash_gti ah, the TextMate editor has a better interface than the plist directly
20:52 jnthn psch: Ugh...let me know if you have a golf...
20:52 moritz some kind of transformation between shaped int arrays and bufs would be great
20:52 literal ash_gti: oh, I see
20:52 literal I haven't used Textmate
20:52 ash_gti https://gist.github.com/as​hgti/fb444fd8af4daa68409f is the syntax I see in the editor
20:53 ash_gti better~ish at least its not plist-xml
20:54 FROGGS_ jnthn: is there a syntax for returning a fixed sized buffer type?
20:54 FROGGS_ jnthn: since TypeObj[size] seems to mean something different
20:54 jnthn Yes, that is parameterization
20:54 O_o_ 3
20:55 jnthn Probably there's a way, and if not there sure should be :)
20:55 FROGGS_ O_o_: do 'm: say 42'
20:55 moritz you can use parameterization both for type specialization and sizes, if that's what you want to do :-)
20:55 O_o_ 42
20:55 jnthn moritz: We may just :)
20:55 FROGGS_ jnthn: I think it is kinda weird that Foo[42] just seems to be the same as Foo[Int]
20:55 O_o_ m: say 42
20:55 camelia rakudo-moar a6746f: OUTPUT«42␤»
20:56 FROGGS_ O_o_++
20:56 jnthn FROGGS_: Not really, if it's defined as role Foo[::T] { } or so for example :)
20:56 ash_gti literal: also https://github.com/vim-perl/vim-pe​rl/blob/master/tools/preproc.pl#L1 I think is supposed to read #!/usr/bin/env perl
20:56 FROGGS_ hmmmm
20:56 masak O_o_: welcome! :)
20:57 O_o_ TYVM
20:58 O_o_ m: say 3
20:58 camelia rakudo-moar a6746f: OUTPUT«3␤»
20:58 FROGGS_ btw, dev releases are now collapsed: http://testers.p6c.org/dist/A/Acm​e::Addslashes/%3Cunknown%3E.html
20:58 FROGGS_ m: say 3 +< 5 # O_o_
20:58 camelia rakudo-moar a6746f: OUTPUT«96␤»
20:58 FROGGS_ (numeric bit shifting to the left)
20:59 O_o_ left #perl6
20:59 masak aww
21:00 FROGGS_ :/
21:00 FROGGS_ I scared him/her away
21:00 masak shouldn't have bit shifted
21:01 FROGGS_ yeah
21:01 timotimo FROGGS_: YES! lovely
21:01 FROGGS_ *g*
21:03 Ulti literal++ yay things that were annoying went away
21:03 [Coke] to use the new vim-perl, is "make install" sufficient?
21:04 flussence (I wonder if that's one of the occasional randoms who mentally pattern-match the word "bot" via /list or search engine who believe it'll dispense leet haxor magic if they say the sekrit password. I've seen one or two attempts on that here in the past)
21:05 silug joined #perl6
21:07 masak flussence: you mean... no-one told you about the leet haxor magic camelia dispenses if you tell her the sekrit password? o.O
21:07 raydiak [Coke]: worked for me
21:08 ash_gti [Coke]: do you use vundle or pathogen? If so, you can just checkout the vim-perl repo to ~/.vim/bundle/vim-perl and it should autoload them, or if your not using one of those systems make install works as well
21:08 nine_ literal++ # you've just fixed the thing that literally annoyed my the most when using Perl 6 :)
21:10 flussence masak: I never asked for the sekrit password... lazy evaluation and all that :)
21:11 brrt joined #perl6
21:11 moritz flussence: you probably also never got the leet haxor Unicorn magic from camelia :-)
21:12 moritz it doesn't *ask* your for a password, for sure
21:12 nine_ /away asleep
21:12 raydiak 'night nine_
21:12 FROGGS_ gnight nine_
21:13 moritz good night nine_, and dream of reproduced and fixed heisenbugs
21:14 psch jnthn: i have no idea how i could even approach golfing this outside of the evalserver that it happens with
21:14 psch jnthn: and i'm actually thinking that i'm probably not setting up the CompilationUnit correctly or somesuch, to have this happen
21:16 [Coke] was just picking random p6 files to test with: t/spec/S05-modifier/perl5_6.t loses it on line 47
21:17 dustinm` joined #perl6
21:19 ash_gti what does it look like for you [Coke] ? it seems okay at the moment to me
21:20 ash_gti like 47, as in the line: #?rakudo 2 todo "needs RT"
21:20 ash_gti ?
21:21 [Coke] it turns purple from that point on.
21:22 [Coke] which makes me think that "make install" didn't work.
21:23 dalek roast: 8d25686 | usev6++ | S04-phasers/init.t:
21:23 dalek roast: Add test for RT #122765
21:23 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122765
21:23 dalek roast: review: https://github.com/perl6/roast/commit/8d25686f90
21:24 ash_gti [Coke]: also are you using vim 7.4? I opened a file in vim 7.3 and it barfed on some of the perl6 syntax regexp so I think it must require vim 7.4+
21:27 dalek rakudo/eval-server-improvements: 5f3cd01 | peschwa++ | src/vm/jvm/runtime/org/perl6/​rakudo/RakudoEvalServer.java:
21:27 dalek rakudo/eval-server-improvements: Add a RakudoEvalServer to call Rakudo from Java.
21:27 dalek rakudo/eval-server-improvements:
21:27 dalek rakudo/eval-server-improvements: This builds on the NQP EvalServer and simplifies the Interface.
21:27 dalek rakudo/eval-server-improvements: review: https://github.com/rakudo/rakudo/commit/5f3cd0116c
21:27 dalek nqp/eval-server-improvements: 782e496 | peschwa++ | src/vm/jvm/runtime/org/perl6​/nqp/tools/EvalServer.java:
21:27 dalek nqp/eval-server-improvements: Simplify running NQP code from Java.
21:27 dalek nqp/eval-server-improvements:
21:27 dalek nqp/eval-server-improvements: This adds two 'run' methods to the EvalServer which lets us use the EvalServer
21:27 dalek nqp/eval-server-improvements: from any Java application.
21:27 dalek nqp/eval-server-improvements: review: https://github.com/perl6/nqp/commit/782e49678d
21:29 laouji joined #perl6
21:30 psch jnthn: those two branches and the following gist is what i'm doing https://gist.github.com/pe​schwa/96571d2ce74cedeea055
21:30 raydiak [Coke]: any chance your vim settings ignore/override the modeline?  I notice that's the same line where it goes wrong if you :set ft=perl (instead of perl6)
21:32 dalek rakudo/nom: 28fddba | peschwa++ | src/Perl6/Actions.nqp:
21:32 dalek rakudo/nom: Fix a bug related to RT #123407.
21:32 dalek rakudo/nom:
21:32 dalek rakudo/nom: For some reason MoarVm and JVM react differently to binding an NQPMu as
21:32 dalek rakudo/nom: attribute of a class. This patch side-steps this issue by stringifying a
21:32 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123407
21:32 dalek rakudo/nom: potential NQPMu.
21:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28fddbaaea
21:34 timotimo FROGGS_: can i help you make /recent.html work again on pandatesters?
21:34 FROGGS_ timotimo: sure, if you want
21:35 FROGGS_ timotimo: generate the html when this script runs: https://github.com/perl6/cpandatesters.p​erl6.org/blob/master/jobs/gen-report.pl
21:36 timotimo "#!perl6"?
21:37 FROGGS_ timotimo: who cares? :o)
21:37 timotimo fair enough
21:38 FROGGS_ timotimo: that's from the old Bailador app: https://gist.github.com/FR​OGGS/bf3174f484b3458fc4a4
21:39 FROGGS_ maybe it makes more sense to create a jobs/gen-recent.pl, that runs every N minutes
21:43 timotimo sounds sensible
21:47 Hor|zon joined #perl6
21:48 dalek roast: 8022cc3 | usev6++ | S02-types/isDEPRECATED.t:
21:48 dalek roast: Add test for RT #120908
21:48 dalek roast: review: https://github.com/perl6/roast/commit/8022cc3d4c
21:48 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=120908
21:50 fhelmberger joined #perl6
21:53 FROGGS_ timotimo: btw, every push to the repo will be pull to the server within minutes
21:55 mohij joined #perl6
21:56 mohij o/
21:56 timotimo OK
21:58 virtualsue joined #perl6
22:06 [Coke] yes, 7.3
22:07 dolmen joined #perl6
22:09 [Coke] I tried adding "set modelines=1" to my .vimrc, then I get a huge # of output trying to vim that file.
22:10 [Coke] (which is probably the 7.3 vs. 7.4 issues?)
22:12 [Coke] there we go. upgrade to 7.4 via macports fixed it.
22:13 raydiak \o/
22:13 literal ah yes, I just realized that vim 7.4 introduced a regex feature (to limit backtracking) that I'm using in perl6.vim, so vim 7.3 complains
22:22 raydiak literal: perhaps it could check the version and fail with a more helpful error message?
22:24 vendethiel "Wow Perl 6 uses colon for a lot of things" as larry said -- "everyone wants the colon"!
22:26 kst`` joined #perl6
22:33 japhb .ask jnthn Could you explain the reason for the performance difference between \a and $a params mentioned in 9cb3d64faab881cd8b4082f59417f98fea057d4b?
22:33 yoleaux japhb: I'll pass your message to jnthn.
22:38 adu joined #perl6
22:41 * timotimo builds a perl6 for himself on hack.p6c.org
22:51 psch m: my int $a = 1; my $b := $a; $a++; # fails on jvm for me
22:51 camelia rakudo-moar 28fddb: ( no output )
22:51 psch with "Expected a native int argument for '$a'"
22:52 * psch hopes that's what's blowing up the EvalServer
22:55 dalek perl6-examples: 38228e0 | paultcochrane++ | euler/prob001-cspencer.pl:
22:55 dalek perl6-examples: Document Euler problem 1
22:55 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/38228e0ce9
22:55 dalek perl6-examples: 606f851 | paultcochrane++ | rosalind/aspc-grondilu.pl:
22:55 dalek perl6-examples: Document rosalind problem aspc
22:56 dalek joined #perl6
23:02 * raydiak is hoping to finish a giant, chunky Inline::Lua commit today...has proper refs, first-class functions, and tables exposed as array/hash/object/role/class...just needs some adjustment to precomp properly, a ton of typing in the README, and maybe some new tests
23:04 timotimo is it expected that when i fetch a value from a row that's declared to hold integers that DBIish gives me a string?
23:06 masak 'night, #perl6
23:06 raydiak good night masak
23:07 psch g'night masak
23:08 timotimo gnite masak
23:08 japhb o/
23:12 dalek perl6-examples: 2160478 | paultcochrane++ | htmlify.pl:
23:12 dalek perl6-examples: Create the menu items
23:12 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/216047845d
23:13 kjs_ joined #perl6
23:14 timotimo weird. DBIish says "can't locate native library libpq.so', but it's definitely installed
23:17 jack_rabbit joined #perl6
23:18 timotimo .tell FROGGS can you put a cron job in that runs jobs/gen-recents.pl for cpandatesters so i can test my stuff?
23:18 yoleaux timotimo: I'll pass your message to FROGGS.
23:22 raydiak timotimo: on my system sometimes ldconfig doesn't seem to do its job very well and I have to manually create links in the relevant lib/ along the lines of 'sudo ln -s libwhatever.so.0.1.2 libwhatever.so'
23:25 timotimo huh
23:25 timotimo mebbeh
23:26 raydiak e.g. it stopped me from trying some of your own early nativecall work until I figured it out
23:27 timotimo my own nativecall work?
23:27 timotimo i wonder what that was
23:28 timotimo hm. perhaps it was zeromq?
23:30 raydiak gtk and cairo I think?
23:31 timotimo oh, that's not early :)
23:31 timotimo i suppose you could consider gtk early
23:32 literal raydiak: https://github.com/vim-perl/vim-perl/commi​t/587a278596dda1d7a4a22d1ffc2e45d1ba15d69b
23:33 raydiak oh nice, literal++ again
23:34 psch huh, those tests fudged with only «"?"» are kind of appropriately labeled
23:35 psch S12-stubs/stubs.t has one
23:35 psch it dies when unfudged, with NPE, when run from that file or even when only the first two tests are copied to a different file
23:35 psch when *not* run through eval_lives_ok, it works
23:36 Hor|zon joined #perl6
23:37 raydiak timotimo: yeah I guess "early nativecall" is a little different in my case...some time mid last year, the combination of rakudo performance advancements and getting a newer laptop made those things reasonably accessible to me :)
23:37 psch running the test code through EVAL also works...
23:37 dalek doc: c1ef617 | paultcochrane++ | lib/Language/traps.pod:
23:37 dalek doc: Replace #=> with #->
23:37 dalek doc: review: https://github.com/perl6/doc/commit/c1ef617f51
23:37 literal psch: where is S12-stubs? I don't see it in roast.git
23:38 timotimo raydiak: ah, makes sense :)
23:38 psch literal: oh, yeah.  it's S12-class/stubs.t :)
23:38 SHODAN joined #perl6
23:43 timotimo damn, i can't run my gen-recents.pl through perl6-debug-m
23:43 timotimo my &main           := Template::Mojo.new(slurp 'views/main.tt').code; #!> Cannot assign to a readonly variable or a value
23:49 timotimo tadzik: https://github.com/tadzik/Template-Mojo/pull/12 - please review
23:51 psch golfed it \o/
23:51 timotimo p6: \o/
23:51 camelia rakudo-moar 28fddb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Bogus statement␤at /tmp/tmpfile:1␤------> 3\o/7⏏5<EOL>␤    expecting any of:␤        prefix or term␤        prefix or meta-prefix␤»
23:51 psch something about callframe, from the looks of it
23:52 psch m: say "\o/"
23:52 camelia rakudo-moar 28fddb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_osTERpBgs␤Unrecognized backslash sequence: '\o'␤at /tmp/_osTERpBgs:1␤------> 3say "\7⏏5o/"␤    expecting any of:␤        argument list␤        prefix or term␤        prefix or meta-prefix…»
23:54 timotimo m: say Q[\o/]
23:54 camelia rakudo-moar 28fddb: OUTPUT«\o/␤»
23:57 psch huh, no, not callframe
23:58 psch https://gist.github.com/pe​schwa/ea19c808a7603e3fdddb that's a golf
23:59 psch the fun bit is that running the role stub in the mainline works, but evaling it two subs deeper doesn't \o/
23:59 dayangkun joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo