Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-02-23

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:01 sivoais lizmat++ FROGGS++ for working on getting P6 on CPAN. Came here from raiph's post on reddit.
00:08 sivoais p6: %karma< :lizmat, :FROGGS >.map: ++*
00:08 camelia rakudo-moar d850a9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Variable '%karma' is not declared␤at /tmp/tmpfile:1␤------> 3%karma< :lizmat, :FROGGS >.map: ++*7⏏5<EOL>␤»
00:08 sivoais p6: my %karma; %karma< :lizmat, :FROGGS >.map: ++*
00:08 camelia rakudo-moar d850a9: ( no output )
00:08 sivoais p6: my %karma; %karma< :lizmat, :FROGGS >.map: ++*; say %karma
00:08 camelia rakudo-moar d850a9: OUTPUT«:FROGGS => 1, :lizmat, => 1␤»
00:08 sivoais there we go :-)
00:08 * sivoais is learning
00:09 sivoais maybe there is a more idiomatic way to do that
00:09 ruoso jnthn: right, so my problem is that package_def doesn't have a hook for a package_declarator with a different syntax... I think for now I can duplicate most of the code in package_def, but maybe in the future it could be refactored for better reuse of the package declaration bit...
00:10 jnthn m: my %karma; %karma< :lizmat, :FROGGS >>>++; say %karma
00:10 camelia rakudo-moar d850a9: OUTPUT«:FROGGS => 1, :lizmat, => 1␤»
00:10 jnthn sivoais: ^^ :)
00:11 sivoais ah, that's how the hyperop works
00:11 jnthn ruoso: Hm, or maybe you can override package_def in your slang, mix something in such that the block will parse in your slang instead, and callsame up to the original package_def
00:11 vendethiel joined #perl6
00:12 raydiak related to masak's questions, I was wondering if there aren't parts of the Grammar->Actions->AST pattern which could be abstracted away to simplify/standardize all the *::Actions and *::AST
00:13 raydiak such an abstraction might enable more extensibility too
00:14 ruoso jnthn: the problem is that the code blocks in package_def are intermingled with the expectation that it is Perl 6 syntax
00:14 sivoais m: my %karma; %karma< :lizmat, :FROGGS > >>++; say %karma # can Perl6 parse this in the spec?
00:14 camelia rakudo-moar d850a9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PHn25NGUzt␤Missing << or >>␤at /tmp/PHn25NGUzt:1␤------> 3y %karma; %karma< :lizmat, :FROGGS > >>+7⏏5+; say %karma # can Perl6 parse this in ␤    expecting any of:␤        infix stopper␤      …»
00:15 fernand__ joined #perl6
00:15 sivoais I would prefer some spaces to help my eye follow the tokens
00:16 ruoso jnthn: maybe if it was refactored into package_def_perl6 that includes a package_def that makes the initialization without the syntax-bits...
00:17 jnthn m: my %karma; %karma< :lizmat, :FROGGS >»++; say %karma # easier on the eye
00:17 camelia rakudo-moar d850a9: OUTPUT«:FROGGS => 1, :lizmat, => 1␤»
00:19 sivoais yeah, but spaces still don't work. Looks like the operator is "glued" to the hash slice :-/
00:19 ruoso jnthn: do you think it would make sense to make this change in rakudo? or should I just duplicate that code for now/
00:19 laouji joined #perl6
00:19 jnthn ruoso: I'd dupe it for now...
00:20 jnthn sivoais: That's just normal Perl 6 syntax rules: postfixes come directly afterwards.
00:20 jnthn sivoais: You'll need to unspace it if you really want spaces there
00:20 jnthn m: my %karma; %karma< :lizmat, :FROGGS >\ »++; say %karma # easier on the eye
00:20 camelia rakudo-moar d850a9: OUTPUT«:FROGGS => 1, :lizmat, => 1␤»
00:20 jnthn m: my %karma; %karma< :lizmat, :FROGGS >\ >>++; say %karma # easier on the eye
00:20 camelia rakudo-moar d850a9: OUTPUT«:FROGGS => 1, :lizmat, => 1␤»
00:20 avuserow m: my %karma; %karma< :lizmat, :FROGGS >.»++; say %karma # this maybe?
00:20 camelia rakudo-moar d850a9: OUTPUT«:FROGGS => 1, :lizmat, => 1␤»
00:21 jnthn Yeah, or can put a . there :)
00:21 ruoso jnthn: ok...
00:21 jnthn ruoso: But it's useful feedback into something that isn't yet as easy as it should be.
00:21 sivoais I see. I like the . form better :-)
00:22 jnthn The >> doesn't tend to look so bad if it's not a thingy ending in > :)
00:27 sivoais haha, yeah, that's the main issue here... I'll have to take a navigate the grammar
00:31 virtualsue_ joined #perl6
00:32 sivoais interesting... I see that the operators in the grammar can be tagged as :pure
00:37 timotimo in the grammar?
00:37 timotimo i believe there is also an "is pure" trait you can use with any sub
00:40 laouji joined #perl6
00:41 sivoais ok, that *is* neat! Once I finish my thesis, I'll be able to play more with that.
00:41 timotimo it doesn't do terribly much yet, sadly
00:41 * jnthn gets some rest
00:54 virtualsue_ joined #perl6
01:00 fernand__ should perl6 --doc=Pod::To::URI show me the URI's pod?
01:01 Guest46119 joined #perl6
01:01 Guest46119 Hello
01:07 laouji_ joined #perl6
01:09 timotimo greetings, guest
01:13 timotimo what can we do for you today?
01:21 vendethiel joined #perl6
01:41 colomon joined #perl6
01:42 gfldex joined #perl6
01:44 colomon joined #perl6
01:45 skids joined #perl6
01:45 vendethiel joined #perl6
02:09 vendethiel joined #perl6
02:15 raydiak timotimo: could you please mention Inline::Lua in the next weekly?
02:15 timotimo will do
02:15 timotimo will you give me a brief summary of what it can already do?
02:16 raydiak README details that; https://github.com/raydiak/Inline-Lua
02:17 timotimo fantastic
02:17 raydiak thank you :)
02:18 timotimo m: my ($arg, $sum) = 1e8; say $arg; say $sum
02:18 camelia rakudo-moar d850a9: OUTPUT«100000000␤(Any)␤»
02:18 timotimo looks weird to do it like that, IMO
02:18 raydiak good point, probably a clearer example if I split it into two statements
02:19 timotimo and with that, i'm off to bed
02:19 timotimo good night! :)
02:19 raydiak g'night timo \o
02:46 ilbot3 joined #perl6
02:46 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!
02:47 colomon joined #perl6
03:00 ruoso yay... tests 1 and 2 of https://github.com/ruoso/Grammar-EBNF/blob/master/t/004_slang.t already pass
03:00 ruoso now I need to find the correct incantation of turning a regex into a method
03:08 ruoso oooh... found the problem... and now all those tests pass!
03:10 noganex joined #perl6
03:11 skids joined #perl6
03:18 Psyche^ joined #perl6
03:20 vendethiel joined #perl6
03:50 ruoso m: grammar A { rule b { "1" }; my $subrule = "b"; rule c { <::($subrule)> };
03:50 camelia rakudo-moar d850a9: OUTPUT«===SORRY!===␤cannot stringify this␤»
03:50 ruoso anyone knows if this is reported?
03:53 ruoso ah, it is #117397
03:53 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=117397
03:57 vendethiel joined #perl6
04:01 * ruoso stops for today....
04:03 colomon hurm, lots of new breakage: http://smoke.perl6.org/report
04:03 colomon fallout from the NativeCall changes, maybe?
04:04 raiph m:   my enum Day <Su M Tu W Th F Sa>; subset Wday of Day where M .. F;
04:04 camelia rakudo-moar d850a9: ( no output )
04:09 Mouq m: grammar A { rule b { "1" }; BEGIN my $subrule = "b"; rule c { <::($subrule)> };
04:09 camelia rakudo-moar d850a9: OUTPUT«===SORRY!===␤cannot stringify this␤»
04:09 Mouq Hrmf
04:11 Mouq m: grammar A { rule b { "1" }; BEGIN my $subrule = "<A::b>"; rule c { <$subrule> }; }; say A.parse("1", rule => "c")
04:11 camelia rakudo-moar d850a9: OUTPUT«「1」␤»
04:12 Mouq m: grammar A { rule b { "1" }; BEGIN my $subrule = A.^find_method("b"); rule c { <$subrule> }; }; say A.parse("1", rule => "c")
04:12 camelia rakudo-moar d850a9: OUTPUT«「1」␤»
04:12 Mouq m: grammar A { rule b { "1" }; my $subrule = A.^find_method("b"); rule c { <$subrule> }; }; say A.parse("1", rule => "c")
04:12 camelia rakudo-moar d850a9: OUTPUT«「1」␤»
04:25 kaleem joined #perl6
04:27 Exodist joined #perl6
04:32 rmgk_ joined #perl6
04:45 laouji_ joined #perl6
05:07 vendethiel joined #perl6
05:18 dalek roast: 1777fbd | Mouq++ | S32-exceptions/misc.t:
05:18 dalek roast: Add test for RT #123884
05:18 dalek roast: review: https://github.com/perl6/roast/commit/1777fbd8cf
05:18 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123884
05:35 vendethiel joined #perl6
05:38 dalek rakudo/nom: bb3a3df | Mouq++ | src/core/Parameter.pm:
05:38 dalek rakudo/nom: Don't warn when gisting &map, &grep, etc.; RT #123895
05:38 dalek rakudo/nom:
05:38 dalek rakudo/nom: The issue was that these subs had signatures with an unnamed "|"
05:38 dalek rakudo/nom: parameter in them, and a check was never made to see if "|" or "\"
05:38 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123895
05:38 dalek rakudo/nom: parameters had names.
05:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb3a3df1ab
05:39 myp joined #perl6
05:42 Rounin joined #perl6
05:58 dalek roast: 317b088 | Mouq++ | S06-signature/introspection.t:
05:58 dalek roast: Add tests for RT #123895
05:58 dalek roast: review: https://github.com/perl6/roast/commit/317b088b19
05:58 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123895
05:58 myp joined #perl6
06:09 Mouq std: class { has ($!a, $!b) }
06:09 camelia std f9b7f55: OUTPUT«ok 00:00 138m␤»
06:10 Mouq m: class { has ($!a, $!b) }
06:10 camelia rakudo-moar d850a9: ( no output )
06:10 Mouq huh, that's a cute one
06:14 vendethiel joined #perl6
06:15 laouji joined #perl6
06:19 bjz joined #perl6
06:47 gfldex joined #perl6
06:48 vendethiel joined #perl6
06:51 MilkmanDan joined #perl6
06:54 bjz joined #perl6
06:54 rindolf joined #perl6
07:18 diana_olhovik joined #perl6
07:21 wicope joined #perl6
07:26 virtualsue joined #perl6
07:28 anaeem1 joined #perl6
07:36 FROGGS[mobile] joined #perl6
07:37 FROGGS[mobile] that could be (mis)used for unions in CStructs
07:46 TimToady but please don't, since that already means something reasonable
07:47 darutoko joined #perl6
07:52 FROGGS joined #perl6
07:52 FROGGS TimToady: ahh, and what does it mean?
07:52 FROGGS is it the same as declaring to attributes separately?
07:53 rurban joined #perl6
07:54 vendethiel joined #perl6
07:55 Rounin joined #perl6
07:56 zakharyas joined #perl6
07:58 TimToady m: my Int ($a,$b); $a = 42; $b = "foo"
07:58 camelia rakudo-moar bb3a3d: OUTPUT«Type check failed in assignment to '$b'; expected 'Int' but got 'Str'␤  in block <unit> at /tmp/d8Mo4YxCwS:1␤␤»
07:59 TimToady it's a way of declaring multiple names with the same type (and maybe traits)
08:00 FROGGS I see
08:00 TimToady besides, C really wants a union to have a name
08:01 FROGGS so, nothing beyond my expectations in retrospect :o)
08:01 FROGGS yeah, I guess we want to have a CUnion repr or a typed CUnion role or something like that...
08:02 TimToady unions aren't all that common that they need syntactic relief anyway
08:02 FROGGS true
08:02 TimToady that is, they don't need to be *easier* than structs
08:02 FROGGS aye
08:02 FROGGS just possible somehow
08:02 TimToady nod
08:03 FROGGS a CUnion repr almost seems to be a LHF
08:04 FROGGS I wonder if I miss something in my thoughts
08:04 TimToady it's just a struct with funny layout rules
08:04 laouji_ joined #perl6
08:06 Ven joined #perl6
08:09 prime joined #perl6
08:10 anaeem1 joined #perl6
08:12 anaeem1 joined #perl6
08:12 * TimToady -> zzz
08:12 jbotz joined #perl6
08:12 jbotz hello..?
08:14 raydiak hello
08:15 Ven o/, #perl6
08:15 jbotz Documentation for containers says:
08:16 jbotz To place a non-Array into an array variable, binding works:  my @a := (1, 2, 3);
08:16 jbotz But this doesn't work in Rakudo 15.1.
08:17 Rounin m: my @a := (1, 2, 3); say @a
08:17 camelia rakudo-moar bb3a3d: OUTPUT«1 2 3␤»
08:17 Rounin jbotz: Seems fine?
08:17 Rounin Ah, but 15.1, you say
08:17 Rounin I don't know about that
08:18 jbotz sure, but: say @a.WHAT;
08:18 FROGGS m: my @a := (1, 2, 3); say @a.WHAT
08:18 camelia rakudo-moar bb3a3d: OUTPUT«(Parcel)␤»
08:18 jbotz and: @a[0] = 1;
08:19 FROGGS jbotz: that's fine... you bound an immutable Parcel there
08:19 Rounin m: my @a := (1, 2, 3); @a[0] = 9; say @a;
08:19 camelia rakudo-moar bb3a3d: OUTPUT«Cannot modify an immutable Int␤  in method assign_pos at src/gen/m-CORE.setting:8841␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3280␤  in block <unit> at /tmp/3blfRK5jxz:1␤␤»
08:19 jbotz I know it should allow assignment, but the error I get is different...
08:19 jbotz @a.WHAT says "Mu"
08:20 jbotz s/should/shouldn't/
08:20 moritz jbotz: what version of rakudo are you using?
08:20 jbotz This is perl6 version 2015.01-88-gd728669 built on MoarVM version 2015.01-28-ga910556
08:21 moritz shouldn't be too old
08:21 moritz jbotz: can you nopaste your exact code please?
08:21 FROGGS yeah
08:22 jbotz holdon
08:22 jbotz my @a := (1, 2, 3); OUTPUT: 1 2 3
08:23 jbotz say @a.WHAT; OUTPUT: (Mu)
08:23 moritz ah, in the REPL
08:23 jbotz say @a[1]; OUTPUT: Cannot call 'postcircumfix:<[ ]>'; none of these signatures match:
08:23 moritz seems to be a bug in the interactive shell
08:24 jbotz (and a lot of lines with : :(Any \SELF, Any: ...
08:25 FROGGS jbotz: do that: perl6-m -e 'my @a := (1, 2, 3); @a[0] = 9; say @a;'
08:25 FROGGS jbotz: that should give the error message shown here
08:26 FROGGS (the REPL really needs some love)
08:26 jbotz yes, you're right
08:26 jbotz bug in the REPL
08:26 jbotz thanks!
08:30 abraxxa joined #perl6
08:36 pdcawley joined #perl6
08:41 _mg_ joined #perl6
09:07 moritz https://rt.cpan.org/Ticket/Display.html?id=102293 a fun bug
09:10 FROGGS *g*
09:10 FROGGS nice one
09:13 Mouq binding not working in the REPL is already bugged somewhere, btw
09:14 FROGGS ahh, good to know
09:15 Mouq https://rt.perl.org/Ticket/Display.html?id=122914
09:23 Kristien joined #perl6
09:25 dalek doc: 97c24a5 | smls++ | lib/Language/5to6.pod:
09:25 dalek doc: Copy-edit and expand the first few sections of 5to6.pod
09:25 dalek doc: review: https://github.com/perl6/doc/commit/97c24a5187
09:38 moritz why did I read "copy-paste" at first? :-)
09:49 jnthn morning, #perl6
09:50 moritz \o jnthn, *
09:51 * pdcawley shudders at the evil bit of weirdly whitespaced Perl 5 code in that commit.
09:55 nine_ timotimo: If you're mentioning Inline::Lua, you may as well mention Inline::Perl6 :)
09:56 moritz pdcawley: you mean with whitspace after the sigil?
09:57 nine_ First FOSDEM videos are being uploaded! SDR and distributions rooms.
09:57 FROGGS O.o
09:59 FROGGS " Unfortunately, the file you requested is not yet available on our mirrors. Please try again later. " :o(
09:59 rindolf joined #perl6
10:00 kjs_ joined #perl6
10:00 espadrine joined #perl6
10:01 [Sno] joined #perl6
10:01 pdcawley moritz: All of lines (green) 52-56 of that commit are just gruesome.
10:01 pdcawley moritz: A fine piece of evil on the part of their creator.
10:01 moritz pdcawley: indeed, smls++
10:02 moritz though of course the space in [$ i] could have been a newline too :-)
10:02 moritz somehow I'm reminded of https://twitter.com/thedirtycoder/status/569339014085517312
10:02 pdcawley usually I've been trying to find ways of _not_ inserting whitespace while golfing, but I have done the odd bit of obfu with spaces after sigils.
10:03 pdcawley "!"if$foo[$i] is more the sort of abuse I've perpetrated in my time.
10:04 DrForr_ Heh. I'm wearing my devroom volunteer shirt as it happens.
10:04 pdcawley How is 6 for golfing, btw.
10:04 moritz pdcawley: not bad. Those meta ops do help
10:04 moritz pdcawley: as well as * currying
10:04 pdcawley I'm sure.
10:05 moritz http://perlgeek.de/blog-en/perl-6/starry-obfu.html an obfu I wrote in 2009
10:05 diana_olhovik_ joined #perl6
10:05 moritz (I know, golf != obfu)
10:06 huf they're overlapping magisteria at least :)
10:06 pdcawley golf often ends up being about finding a smarter algorithm.
10:07 pdcawley There's a few standard shortening tricks you can then apply to code in almost automatable fashion.
10:08 pdcawley (See the work done on javascript code shorteners for examples of what can be done when you can easily parse the language).
10:08 * raydiak note 'o' andthen sleep $too-little
10:09 huf pfah, easily parseable languages... what do they know! we had to get up at midnight to slog through 92 miles of snow and lava ...
10:10 pdcawley Hmm... that's annoying... panda install p6doc and the tests barfed. t/pod-htmlify.t has a 'use_ok' that it seems should probably be a 'use-ok'
10:11 pecastro joined #perl6
10:11 FROGGS m: use Test; use_ok()
10:11 camelia rakudo-moar bb3a3d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kOdIt1YOyx␤Undeclared routine:␤    use_ok used at line 1. Did you mean 'use-ok', 'isa_ok'?␤␤»
10:12 FROGGS yeah
10:19 baest_ joined #perl6
10:21 virtualsue joined #perl6
10:39 larion joined #perl6
10:40 Quom joined #perl6
10:44 Kristien joined #perl6
10:47 anaeem1 joined #perl6
10:53 dalek rakudo/union: b640002 | FROGGS++ | t/04-nativecall/13-union. (2 files):
10:53 dalek rakudo/union: add tests for CUnion representation
10:53 dalek rakudo/union:
10:53 dalek rakudo/union: This works for not-inlined unions only atm.
10:53 dalek rakudo/union: review: https://github.com/rakudo/rakudo/commit/b64000247f
10:53 coffee` joined #perl6
10:54 Tux__ joined #perl6
10:54 smcateer joined #perl6
10:55 smcateer left #perl6
11:01 Ven joined #perl6
11:08 baest joined #perl6
11:11 xfix joined #perl6
11:21 Kristien joined #perl6
11:23 laouji_ joined #perl6
11:26 masak good afternoon, #perl6
11:28 jnthn o/ masak
11:28 Kristien hola
11:32 colomon \o
11:40 Ven o/
12:46 telex joined #perl6
12:48 nine_ In a token regex_atom { <regex_group> | <regex_alternation> | <regex_literal> } what would a regex_atom action method look like that just passes through the made object from whatever token matched? make $/.hash.values[0].ast looks a bit too complicated for such a common case.
12:50 colomon nine_: I remember asking the exact same question a few years back.  I don’t remember ever getting a satisfactory answer.
12:51 Quom This came up maybe a week or two ago when Kristien asked something similar
12:53 jnthn Maybe it'd be better done as a protoregex.
12:53 Quom http://irclog.perlgeek.de/perl6/2015-02-10#i_10093200
12:54 jnthn Otherwise, $<chosen>=[ <.regex_group> | <.regex_alternation> | <.regex_literal> ]
12:54 jnthn And then make $<chosen>.ast
12:54 jnthn Should work out.
12:54 jnthn Uh
12:54 jnthn May need to be
12:55 kjs_ joined #perl6
12:55 jnthn <chosen=.regex_group> | <chosen=.regex_alternative> | ...
12:55 jnthn But I'd probably still consider the proto-regex route first.
12:55 Quom jnthn: Either works, AIUI
12:56 Quom %() is supposed to do what nine_ wants, but doesn't
12:57 [ptc] m: my $n = 5; gather for (2, 3, *+2 ... * > $n) -> $k { $k.say }
12:57 camelia rakudo-moar bb3a3d: OUTPUT«Unhandled exception: No exception handler located for warn␤   at src/gen/m-CORE.setting:785  (/home/camelia/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:warn:29)␤ from src/gen/m-CORE.setting:781  (/home/camelia/rakudo-inst-2/languages/perl…»
12:59 [ptc] weird, in the REPL that gives: use of uninitialized value of type Any in numeric context  in whatevercode  at <unknown file>:1
12:59 FROGGS we should probably rename the REPL to WEIRDL
13:00 rindolf joined #perl6
13:00 [ptc] m: sub pf(Int $n) { gather for (2, 3, *+2 ... * > $n) -> $k { $k.say } }; pf(5)
13:00 camelia rakudo-moar bb3a3d: OUTPUT«Unhandled exception: Cannot call 'infix:<>>'; none of these signatures match:␤:(Any $?)␤:(Any \a, Any \b)␤:(Real \a, Real \b)␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤:(Num:D \a, Num:D \b --> Bool)␤:(num $a, num $b --> Bool)␤:(Rational:D \a,…»
13:00 [ptc] ok, now that I don't understand.
13:00 [ptc] as soon as the same code is wrapped in a sub, the '>' can't be called anymore
13:00 [ptc] is that a bug?
13:04 Kristien joined #perl6
13:07 nine_ jnthn: looks to me like I'd need to parameterize the proto-token, but I can't see any usefull parameter. It's really just an ordered list of alternatives.
13:07 Ven nine_: what do you mean, parameterize?
13:09 nine_ Ven: as in token sigil:sym<$>  { <sym> }
13:10 nine_ http://perlgeek.de/en/article/mutable-grammar-for-perl-6
13:10 Ven nine_: it's the "name" of the variation
13:11 Quom proto token regex_atom {*}; token regex_atom:group { <regex_group> }; token regex_atom:alt { <regex_alternation> } …
13:11 Quom Except that, presumably, you'd embed <regex_group> into regex_atom:group
13:11 _mg_ joined #perl6
13:15 nine_ Oh that makes sense. How would the corresponding action method for regex_atom:group be called?
13:15 lizmat m: say "foo".substr(1,*)  # feels like a Perl6'ish idiom, yet not allowed yet
13:15 camelia rakudo-moar bb3a3d: OUTPUT«No such method 'Int' for invocant of type 'Whatever'␤  in sub substr at src/gen/m-CORE.setting:8390␤  in method substr at src/gen/m-CORE.setting:4542␤  in block <unit> at /tmp/Sm5fVxGnuX:1␤␤»
13:19 dalek perl6-roast-data: baf2cc0 | coke++ | / (13 files):
13:19 dalek perl6-roast-data: First pass at daily NQP runs
13:19 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/baf2cc0f21
13:19 dalek perl6-roast-data: 7916f41 | coke++ | / (9 files):
13:19 dalek perl6-roast-data: today (automated commit)
13:19 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/7916f419c9
13:22 kaleem joined #perl6
13:25 lizmat m: my $f = "foobar"; my $r := substr-rw($f,0,3); say $f; $r = "bazbaz"; say $f; $r = "dip"; say $f  # wonder whether the writable reference concept needs to keep the length of the string spliced in
13:25 camelia rakudo-moar bb3a3d: OUTPUT«foobar␤bazbazbar␤dipbazbar␤»
13:25 lizmat like such: $ 6 'my $f = "foobar"; my $r := substr-rw($f,0,3); say $f; $r = "bazbaz"; say $f; $r = "dip"; say $f'
13:25 lizmat foobar
13:25 lizmat bazbazbar
13:25 lizmat dipbar
13:25 Ven joined #perl6
13:25 Possum joined #perl6
13:25 [Coke] just force removed that last "today" commit, it wasn't run through cron and therefore was wonky.
13:26 lizmat [Coke]++ # nonetheless
13:26 [Coke] I don't have the data getting collated into a .csv yet, but that should give us daily runs of nqp-{moar-jit,moar-nojit,jvm,js,parrot}
13:27 coffee` joined #perl6
13:28 jnthn [Coke]++
13:29 oliver___ joined #perl6
13:29 oliver___ Hello
13:31 laouji joined #perl6
13:34 Quom nine_: same name
13:37 muraiki_ joined #perl6
13:37 kaare_ joined #perl6
13:39 Kristien joined #perl6
13:45 [Coke] np.
13:47 [Coke] moritz++ profile blog post, using that to try to convert some folks.
13:47 [Coke] mouq; bb3a3df1abe27ae53e8f299b579edfcd89710a76 looks like it has wonky formatting compared to other code in tha tfile.
13:48 [Coke] anyone mind if I indent those blocks?
13:49 dalek specs: b4d74fa | lizmat++ | S32-setting-library/Str.pod:
13:49 dalek specs: Elaborate a bit on substr-rw()
13:49 dalek specs: review: https://github.com/perl6/specs/commit/b4d74fa049
13:49 dalek specs: ff214be | lizmat++ | S99-glossary.pod:
13:49 dalek specs: Add FOSS lemma
13:49 dalek specs: review: https://github.com/perl6/specs/commit/ff214bee0d
13:49 lizmat comments on https://github.com/perl6/specs/commit/b4d74fa049 *very* welcome
13:50 gfldex joined #perl6
13:58 lucas__ joined #perl6
14:01 timotimo o/
14:03 lucas__ hello
14:04 dalek Heuristic branch merge: pushed 25 commits to rakudo/newio by lizmat
14:05 lucas__ How much P6 is still malleable to changes?
14:05 lizmat depends on the size of the changes: if you want to post an RFC, you're probably 10+ years too late  :-)
14:06 lizmat afk&
14:07 jnthn Also depends a lot on what you're wanting to change.
14:07 nine_ Let's do away with those darn sigils!
14:07 lucas__ I don't understand why the RFC process stopped at the first year. Maybe the community should reboot the idea.
14:07 lucas__ nine_: :D
14:08 jnthn lucas__: These days, such things happen more through discussion here and prototyping.
14:09 lucas__ My ideas are not so radical. For example, I'm curious if I'm the only one who wishes keywords were lowercase:
14:09 lucas__ my @values = true, false, nil, inf, nan;
14:09 lucas__ (I know Nil is wrong in this context)
14:09 jnthn None of those are keywords in any sense whatsoever.
14:10 Ven True and False are enum values :)
14:10 Ven (at least in the spec)
14:10 jnthn Right, which are camel-cased.
14:10 jnthn And Nil/Inf/NaN are constants.
14:12 lucas__ I accept. I guess I just don't like too much shift-key presses :)
14:13 timotimo you can write a module that exports lower-case names for these
14:17 Kristien joined #perl6
14:18 lucas__ This rigid convention on enums force everything to be capitalized. It makes things like MyEnum::FOO or MyEnum::foo look strange. Maybe it should be more relaxed.
14:18 [Sno]_ joined #perl6
14:19 timotimo huh?
14:19 timotimo oh, convention
14:20 timotimo https://github.com/timo/SDL2_raw-p6/blob/master/lib/SDL2/Raw.pm#L31 - my enums are capslocked here
14:20 FROGGS lucas__: you often dont type MyEnum::FOO, you'd just type FOO
14:20 Ven .oO( no class in our enums )
14:21 Ulti lucas__ I think you might be the only one who thinks nan instead of NaN is a good idea :P
14:21 Ulti since NaN is used in nearly every other language with the caps
14:21 FROGGS Nan is also quite delicious
14:22 lucas__ Ulti: Yes, I understand nan and inf instead of NaN and Inf is *very* controversial :)
14:22 Ulti FROGGS also the short version of Grandmother ;)
14:22 lucas__ but doesn't P5 allows it? (I'm not sure)
14:22 Ulti I don't want Nans in my data either I guess
14:22 jnthn lucas__: Perl 6 doesn't *disallow* it.
14:23 jnthn lucas__: It just tries to be consistent in the stuff you get "out of the box"
14:23 jnthn m: sub OoohI'mARebel() { }; class can't-touch-this { }
14:23 camelia rakudo-moar bb3a3d: ( no output )
14:24 masak m: constant nan = NaN; say "Look ma, no caps: ", nan;
14:24 camelia rakudo-moar bb3a3d: OUTPUT«Look ma, no caps: NaN␤»
14:24 masak er :)
14:24 masak m: constant nan = NaN; say "Look ma, no caps: ", nan.lc;
14:24 camelia rakudo-moar bb3a3d: OUTPUT«Look ma, no caps: nan␤»
14:24 masak (it still self-identifies as "NaN", of course)
14:24 [Coke] ok, I added a symlink so that /usr/bin/node -> /usr/bin/nodejs. Now instead of working, with the latest patch from pmurias, I'm told I can't use nqpjs because my node is installed wrong.
14:24 diakopter .u 200B
14:24 yoleaux U+200B ZERO WIDTH SPACE [Cf] (<control>)
14:25 [Coke] so, no nqp js daily tests until we can run on debian.
14:25 [Coke] (which I think is the OS in question)
14:27 Kristien joined #perl6
14:27 diakopter irssi *really* doesn't like U+200B in its input line
14:28 raiph joined #perl6
14:28 Kristien we can conclude that irssi is shit
14:29 diakopter ermkay
14:30 * jnthn is quite happy with it
14:30 masak that Kristien sure does have a way with words.
14:30 masak no wait. the other thing.
14:30 * sjn has used irssi for a long time, and hasn't noticed problems with it :-|
14:30 Ven masak: ... and people say my one-liners are harsh :P
14:30 MadcapJake joined #perl6
14:30 masak Ven: :P
14:31 brrt joined #perl6
14:32 diakopter
14:32 diakopter ergh, oops
14:32 diakopter .u H
14:32 yoleaux U+0048 LATIN CAPITAL LETTER H [Lu] (H)
14:33 diakopter .u
14:33 yoleaux Search for a Unicode character by codepoint, name, or raw character
14:33 diakopter sigh
14:33 davido___ joined #perl6
14:34 [Coke] We can write you a p6 module that has an app you can run that'll do what .u does if you like. :)
14:36 [Coke] (not sure if the issue you're having is with getting the data, or with getting these chars to travel on irc)
14:36 diakopter sure, but can I send it things through irssi to test how it appears in combination with my terminal? [I started /msg'ing it]
14:36 diakopter lots of issues: font, terminal, keyboard, irc, irssi
14:37 diakopter computer is hard
14:39 sjn .u 🐯
14:39 yoleaux U+1F42F TIGER FACE [So] (🐯)
14:39 fernando___ m: my subset Even of Int where * % 2 == 0; multi sub is_even_and_not_zero($x) {False}; multi sub is_even_and_not_zero(Even $x) {True}; multi sub is_even_and_not_zero(0) {False}; is_even_and_not_zero($_).say for 0 .. 5
14:39 camelia rakudo-moar bb3a3d: OUTPUT«True␤False␤True␤False␤True␤False␤»
14:40 fernando___ shouldn't be False, False, True, False, True, False?
14:41 esaym153 joined #perl6
14:41 moritz fernando___: multiple subset/where constraints don't consistitute a narrower match, iirc
14:42 diakopter .. if it could derive that 0 is a smaller subset of Even... o_O
14:42 jnthn Put the 0 one before the Even one if you want it to be considered with higher priority
14:42 jnthn Once you get into non-nominal-type matching, they're tested in order.
14:43 fernando___ m: my subset Even of Int where * % 2 == 0; multi sub is_even_and_not_zero($x) {False}; multi sub is_even_and_not_zero(0) {False}; multi sub is_even_and_not_zero(Even $x) {True}; is_even_and_not_zero($_).say for 0 .. 5
14:43 camelia rakudo-moar bb3a3d: OUTPUT«False␤False␤True␤False␤True␤False␤»
14:43 prime joined #perl6
14:44 fernando___ could it know that 0 is more specific than Even?
14:44 jnthn No
14:44 jnthn Not in any usefully general way
14:45 jnthn A type system that wants to start doing such distinguishing likely belongs in module space
14:45 masak +1
14:45 geekosaur ...and will probably be unstable
14:45 masak also +1 to having pluggable type systems
14:46 jnthn We do. :)
14:46 masak and I endorse it \o/
14:46 * jnthn re-read http://bracha.org/pluggableTypesPosition.pdf just a couple of days ago
14:48 brrt left #perl6
14:53 [ptc] should the hailstone sequence rosettacode example supposed to chew up so much memory?
14:54 [ptc] s/should/is/
15:00 nine_ m: my @a = ("error", "icons", "htdig"); say @a.splice(@a.grep-index("error"), 1); say @a;
15:00 camelia rakudo-moar bb3a3d: OUTPUT«icons␤error htdig␤»
15:00 nine_ That's....unexpected?
15:00 nine_ m: my @a = ("error", "icons", "htdig"); @a.splice(@a.grep-index("error"), 1); say @a;
15:00 camelia rakudo-moar bb3a3d: OUTPUT«error htdig␤»
15:01 nine_ m: my @a = ("error", "icons", "htdig"); say @a.grep-index("error"); @a.splice(@a.grep-index("error"), 1); say @a
15:01 camelia rakudo-moar bb3a3d: OUTPUT«0␤error htdig␤»
15:01 nine_ grep-index returns the correct index but splice removes the wrong element
15:03 nine_ Argh....because grep-index returns a list
15:04 masak yep.
15:04 masak of length 1.
15:04 masak that's bitten me also.
15:04 masak you probably want .first-index, but it's still annoying.
15:04 * masak suddenly wonders why we didn't think to make the API .grep :index and .first :index instead of proliferating subs and methods
15:05 nine_ Indeed, I do. After writing several constructs where grep-index was the right choice I kind of wrote it automatically.
15:05 moritz or we could use the :k :v :kv :p indexes that [] uses
15:05 ruoso I was thinking, maye I can work-around the lack of /::($subrulename)/ by writing the code tha...
15:05 masak moritz: even better.
15:05 masak moritz: is it too late to overhaul? pretty please? :D
15:06 masak maybe check ecosystem fallout first...
15:06 timotimo ruoso: you can actually compose regexes from QAST nodes ... not sure if you'd want that
15:07 ruoso timotimo: I considered that, it'd be kind of like a macro in that sense...
15:07 colomon btw, modules are a mess at the moment
15:07 colomon http://smoke.perl6.org/report
15:07 ruoso on the other hand, I could just implement a code-ref that manually manipulate the match and the cursor to believe it's invoking a capturing subrule and just invoke the regex coderef in a closure
15:08 colomon m: say (1..10)[3]
15:08 camelia rakudo-moar bb3a3d: OUTPUT«4␤»
15:08 colomon m: say (1..10)[3]:kv
15:08 camelia rakudo-moar bb3a3d: OUTPUT«␤»
15:09 colomon m: say (1..10)[3:kv]
15:09 camelia rakudo-moar bb3a3d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6yk5p2y4rJ␤You can't adverb that␤at /tmp/6yk5p2y4rJ:1␤------> 3say (1..10)[3:kv7⏏5]␤    expecting any of:␤        pair value␤»
15:09 colomon m: say (1..10).Hash
15:09 camelia rakudo-moar bb3a3d: OUTPUT«No such method 'Hash' for invocant of type 'Range'␤  in block <unit> at /tmp/boc3ZmzVUE:1␤␤»
15:09 colomon m: my %a = a=>10, b=>2; say %a{“a”}:kv
15:09 camelia rakudo-moar bb3a3d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4fH7bMEP0Z␤Bogus statement␤at /tmp/4fH7bMEP0Z:1␤------> 3my %a = a=>10, b=>2; say %a{7⏏5“a”}:kv␤    expecting any of:␤        lol composer␤        prefix or term␤        prefix or meta-p…»
15:10 colomon m: my %a = a=>10, b=>2; say %a{“a”}
15:10 camelia rakudo-moar bb3a3d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ncj4AwkYE3␤Bogus statement␤at /tmp/Ncj4AwkYE3:1␤------> 3my %a = a=>10, b=>2; say %a{7⏏5“a”}␤    expecting any of:␤        lol composer␤        prefix or term␤        prefix or meta-pref…»
15:10 colomon arrrgh!  idiot client
15:10 FROGGS[mobile] colomon: Inline and Compress::Zlib really should work
15:10 skids joined #perl6
15:11 colomon FROGGS[mobile]: *everything* really should work.
15:11 colomon ==> Testing Inline
15:11 colomon ===SORRY!=== Error while compiling t/c.t
15:11 colomon Cannot unbox a type object
15:11 colomon at t/c.t:12
15:11 FROGGS[mobile] colomon: I mean that I tested it the last days
15:11 colomon FROGGS[mobile]: see above
15:12 timotimo colomon: can we perhaps get a different icon for "fails because of missing native library"?
15:12 colomon timotimo: well volunteered
15:12 timotimo hah
15:12 FROGGS[mobile] colomon: is it possible that your smoker still uses the outdated nativecall? it moved to rakudo...
15:13 colomon FROGGS[mobile]: nope, I had to blow away the moar-HEAD rakudobrew directory and build from scratch yesterday
15:14 timotimo that should have improved things
15:15 colomon Just rebuilt my home linux server to moar-latest, and Inline still fails for me.
15:16 FROGGS[mobile] weird
15:16 FROGGS[mobile] gimme a sec
15:17 pyrimidine moritz: remember when I posted a few months back re: panda not upgrading with the switch in URL to ecosystem?  Found out why.
15:17 pyrimidine moritz: had an old Cisco VPN client installed. removing it fixed the issue.
15:17 nine_ colomon: Inline::Perl5 tests just fine on a just updated rakudo here.
15:17 FROGGS joined #perl6
15:18 nine_ colomon: is there a possibility to get the error message from your smoker?
15:19 colomon nine_: not easily
15:19 * colomon wishes panda had a “test but don’t install” command
15:19 pyrimidine moritz: seemed like IO::Socket::INET wasn't using port forwarding?
15:19 FROGGS colomon: yes, we really need that
15:20 pyrimidine colomon: I used panda-test for that
15:21 colomon huh
15:21 colomon pyrimidine: panda-test command is installed, but it doesn’t seem to do anything?
15:22 pyrimidine colomon: when I run it in bioperl6 it runs tests but doesn't install
15:22 colomon pyrimidine: you run it in your bioperl6 directory?
15:22 pyrimidine yep
15:23 colomon I think it needs better error messages.  :)
15:23 colomon but hmmm, might work well with panda look?
15:23 colomon yeah, that seems to work okay. pyrimidine++
15:25 pyrimidine colomon: also, I sometimes use panda-build to test the build, then follow up w/ panda-test as well.  Found one compilation bug that way
15:30 FROGGS colomon: I committed a workaround just now...
15:30 colomon FROGGS: what was going on/
15:30 colomon ?
15:31 brrt joined #perl6
15:31 hoelzro o/ #perl6
15:31 FROGGS colomon: I'm not sure yet: https://github.com/FROGGS/p6-Inline-C/commit/e2ad5f95c9f655f23abd95aa4e3a324a10baab03
15:32 FROGGS I need to bisect that
15:32 hoelzro .tell pmurias, unfortunately, although I cloned all the necessary repos to my laptop for offline hacking this weekend, I neglected to install node =/
15:32 yoleaux hoelzro: What kind of a name is "pmurias,"?!
15:32 hoelzro .tell pmurias unfortunately, although I cloned all the necessary repos to my laptop for offline hacking this weekend, I neglected to install node =/
15:32 yoleaux hoelzro: I'll pass your message to pmurias.
15:32 FROGGS hehe
15:34 skids Sigh, there barely is such a thing as "hacking offline" these days :-)
15:35 spider-mario joined #perl6
15:39 colomon FROGGS++
15:42 hoelzro on a side note, I've updated my Docker image for the new R*: https://registry.hub.docker.com/u/hoelzro/rakudo-star/
15:44 timotimo neato
15:51 kjs_ joined #perl6
16:06 bcode joined #perl6
16:14 mr-foobar joined #perl6
16:21 laouji joined #perl6
16:23 kaleem joined #perl6
16:25 raydiak good morning #perl6
16:26 hoelzro o/ raydiak
16:26 leont joined #perl6
16:27 hoelzro .tell pmurias https://github.com/mgutz/execSync/issues/38
16:27 yoleaux hoelzro: I'll pass your message to pmurias.
16:28 leont I'm getting a «Failed to find '_testing/source1' while trying to do '.d' in method d at src/gen/m-CORE.setting:17201» exception, not sure what to do with it :-/
16:30 moritz leont: try a .e && .d instead
16:30 moritz leont: iirc lizmat++ has that fixed in a branch already
16:31 leont It's doing that inside of open somewhere.
16:31 leont Ah, then I guess I should try to update again.
16:31 moritz well, the fix inside a not-yet-merged branch won't help you much :(
16:32 leont http://paste.scsys.co.uk/465484
16:32 moritz leont: are you trying to spew() to a file whose directory doesn't exist?
16:33 leont It should have just created that directory, but I suspect something is going wrong there
16:40 grondilu joined #perl6
16:43 Ven joined #perl6
16:45 dalek rakudo-star-daily: fe2e061 | coke++ | log/ (11 files):
16:45 dalek rakudo-star-daily: today (automated commit)
16:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/fe2e061dc2
16:45 dalek perl6-roast-data: b8d7196 | coke++ | / (9 files):
16:45 dalek perl6-roast-data: today (automated commit)
16:45 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/b8d719676a
16:52 [Coke] https://github.com/coke/perl6-roast-data/blob/master/log/nqp.js_summary.out - (if someone can get nqp.js to build on hack.p6c.org, lemme know)
16:52 dalek doc: 280bb5b | moritz++ | lib/Type/Cool.pod:
16:52 dalek doc: Document a few more method in Cool
16:52 dalek doc: review: https://github.com/perl6/doc/commit/280bb5b76d
16:58 colomon Hmmm, re-ran the smoke test and Inline::Perl5 and Inline are both back in the land of the working modules again.  still lots of new failures since the 20th, though.
17:01 adu joined #perl6
17:01 [Sno] joined #perl6
17:05 raydiak hrm; Inline passes tests but Compress::Zlib fails to compile at its first inline('C') sub
17:18 lizmat leont: what is the problem exactly ?
17:19 diana_olhovik_ joined #perl6
17:19 lizmat leont: which checkout?  complete stacktrace ?
17:19 lizmat (with --ll-exception)
17:20 leont 2015.01-49-g7fd2f64
17:21 Kristien joined #perl6
17:21 timotimo http://doc.perl6.org/type/Automated%20Translation - linked to from the "perl 5 to perl 6" article
17:21 timotimo so the link links to a type instead of to a section of the document
17:23 laouji joined #perl6
17:23 Kristien How does Perl 6 know which brackets belong to each other? E.g. ( belongs to ) and { belongs to }.
17:23 Kristien Does Unicode specify it?
17:25 jnthn I don't think so; I think we just keep a huge mapping.
17:25 leont lizmat: the problem seems to be «use fatal;» related
17:26 Quom Unicode has a list somewhere, but we need a 1-to-1 mapping
17:26 jnthn Kristien: https://github.com/perl6/nqp/blob/master/src/HLL/Grammar.nqp#L4 is the list iirc
17:26 leont http://paste.scsys.co.uk/465523
17:26 Kristien Is that human-made?
17:26 Kristien Or generated from the Unicode DB?
17:26 Kristien apart from <>
17:26 lizmat leont: code snippet ?
17:27 jnthn Kristien: Not sure; I think we nabbed the list from STD, which TimToady++ did
17:29 Kristien hmm
17:32 locsmif joined #perl6
17:32 [ptc] timotimo: which perl 5 to 6 article exactly?  The one on docs.perl6.org?
17:34 grettir joined #perl6
17:34 timotimo yes
17:34 timotimo two of the three things it mentions for automated translation i've never even heard of
17:35 timotimo the third is perlito which only covers a quite thin subset of perl6 :(
17:35 locsmif joined #perl6
17:37 leont lizmat: I just pasted that
17:38 timotimo ohai leont
17:38 lizmat leont: looking :-)
17:38 [ptc] timotimo: Util wrote it recently, so for details probably best to ask him about the automated translation stuff
17:38 [ptc] timotimo: I can fix up the link if you want
17:39 timotimo interesting
17:40 lizmat leont: reproduced, loooking at fixing it
17:40 [ptc] timotimo: when the HTML is generated, plain L<blah> links get translated to <a href="/type/blah">
17:41 FROGGS[mobile] joined #perl6
17:41 * [ptc] waves his hands vaguely
17:41 [ptc] timotimo: which is why the link is incorrect at present.
17:43 Quom [ptc]: Which should be fixable…
17:44 * Quom double-checks his empty tuits bag
17:46 dalek rakudo/nom: c8d3e64 | lizmat++ | src/core/IO/Handle.pm:
17:46 dalek rakudo/nom: Allow opening non-existing file with 'use fatal'
17:46 dalek rakudo/nom:
17:46 dalek rakudo/nom: leont++ for reporting
17:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8d3e64d70
17:46 lizmat leont: ^^^
17:46 leont :-)
17:46 timotimo https://p6weekly.wordpress.com/?p=415&amp;shareadraft=54eb678a0e54f - first draft of weekly
17:47 lizmat leont: fwiw, this was fixed already in newio branch
17:47 * lizmat should be less distracted and work more on newio branch
17:48 [ptc] Quom: yes, it should be fixable.  I'm about to push a simple change which "fixes" the link (i.e. changes it into C<>), as it doesn't really need to be linked atm
17:48 [ptc] Quom: nevertheless, it would be good to get internal links working
17:48 mohij joined #perl6
17:50 lizmat timotimo: maybe mention http://blogs.perl.org/users/ovid/2015/02/avoid-a-common-software-bug-by-using-perl-6.html
17:50 lizmat and/or http://perlgeek.de/blog-en/perl-6/2015-profiling-on-irc.html
17:50 lizmat and/or http://www.dagolden.com/index.php/2406/thoughts-on-getting-perl-6-for-christmas/
17:50 lizmat ??
17:51 lizmat also of note (and just in):
17:52 lizmat on Tuesday 10 march, Damian Conway will be giving 2 presentations at the Pathé Tuschinski in Amsterdam
17:54 lizmat 1. Instantly Better Presentations
17:54 lizmat 2. Everyday Perl6
17:55 timotimo oh yes profiling on irc
17:55 timotimo <3
17:55 lizmat The latter should be interesting for the crowd here
17:55 timotimo what's the current blocker for multiple versions at the same time of a library and other packaging changes in general?
17:55 lizmat afterwards, there are drinks and a chance to meet Damian
17:56 timotimo all the CUR stuff has been in rakudo for a while now
17:56 lizmat timotimo: in my opinion: moving most of the module loading logic into Perl 6, rather than nqp
17:56 timotimo but i haven't seen a blog post or proof of concept that'd show off crazy powers
17:56 [ptc] timotimo++
17:56 lizmat that is correct
17:56 lizmat :-(
17:59 * leont does agree with dagolden that the module toolchain is currently rather neglected
18:01 dalek rakudo/newio: c8d3e64 | lizmat++ | src/core/IO/Handle.pm:
18:01 dalek rakudo/newio: Allow opening non-existing file with 'use fatal'
18:01 dalek rakudo/newio:
18:01 dalek rakudo/newio: leont++ for reporting
18:01 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/c8d3e64d70
18:01 dalek rakudo/newio: 98d08d3 | lizmat++ | /:
18:01 dalek rakudo/newio: Merge branch 'nom' into newio
18:02 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/98d08d321d
18:03 pyrimidine lizmat: I know you've been bugged about this in the past, but any idea when newio would merge in master
18:03 pyrimidine ?
18:04 * vendethiel has been watching fosdem's video directory for ada, perl, lisp, ruby and smalltalk all day :P
18:05 |Tux| All tests successful.
18:05 |Tux| Files=10, Tests=18540, 64 wallclock secs ( 2.05 usr  0.12 sys + 64.09 cusr  0.73 csys = 66.99 CPU)
18:05 dalek Heuristic branch merge: pushed 31 commits to roast/newio by lizmat
18:06 lizmat |Tux|: is that better or worse than before?
18:06 |Tux| better: more and more tests
18:06 dalek doc: d057dad | paultcochrane++ | htmlify.p6:
18:06 dalek doc: Correct wording when pod doesn't have a SUB|TITLE
18:06 dalek doc: review: https://github.com/perl6/doc/commit/d057dad3b4
18:06 dalek doc: ac99514 | paultcochrane++ | lib/Language/5to6.pod:
18:06 dalek doc: Change misdirected link into C<>
18:06 dalek doc:
18:06 dalek doc: L<> links end up having a "kind" prefix in the generated html (e.g.
18:06 |Tux| but I am still working on my own approach (which was not the fastest)
18:06 dalek doc: "/type/"), thus the link within a single POD document didn't link to the
18:06 dalek doc: section intended.
18:06 dalek doc: review: https://github.com/perl6/doc/commit/ac99514005
18:06 dalek doc: fb88605 | paultcochrane++ | htmlify.p6:
18:06 dalek doc: Use url attr from pod to determine html filename
18:06 dalek doc:
18:06 dalek doc: Now the C<int> class links correctly to the C<nativeInt> url.  This resolves
18:06 dalek doc: GitHub issue #50.
18:06 dalek doc: review: https://github.com/perl6/doc/commit/fb8860518d
18:06 dalek doc: 1a535de | paultcochrane++ | / (5 files):
18:06 dalek doc: Merge branch 'master' of github.com:perl6/doc
18:06 dalek doc:
18:06 dalek doc: Conflicts:
18:06 dalek doc: lib/Language/5to6.pod
18:06 dalek doc:
18:06 dalek doc: Conflicts resolved successfully.
18:06 dalek doc: review: https://github.com/perl6/doc/commit/1a535dec93
18:07 pyrimidine lizmat: re: newio landing, couldn't find anything on it. Apologies if it
18:07 lizmat pyrimidine: it's been a while since I dared running a spectest
18:07 obra joined #perl6
18:07 lizmat while on newio
18:07 |Tux| I promised myself to try very hard to do some perl6 every day till NLPW
18:08 pyrimidine lizmat: ok.  What you're doing there looks great, spec tests to the contrary :)
18:08 lizmat |Tux|++
18:08 obra left #perl6
18:08 lizmat pyrimidine: every now and then it's hard to interpret lack of feedback as looking great  :-)
18:08 |Tux| It is hard to tell what is noise, but I'm now down to 37 sec from 42
18:09 pyrimidine lizmat: consider this positive feedback :_
18:10 pyrimidine * :)
18:10 * pyrimidine is having a bad keyboard day
18:12 * |Tux| was amazed how effective objects are implemented. I did a small test in object re-use instead of dropping and creating objects and the whole thing got considerably slower
18:12 pecastro joined #perl6
18:12 timotimo what does "synchronization" refer to in the feature matrix?
18:12 El_Che |Tux|: how is the cvs module going?
18:13 |Tux| Files=10, Tests=18540, 64 wallclock secs ( 2.05 usr  0.12 sys + 64.09 cusr  0.73 csys = 66.99 CPU)
18:13 |Tux| but I see a brick waal it the near distance :)
18:14 |Tux| all of what I implemented and tested so far is valid ISO-8859-1 or UTF-8
18:14 |Tux| that all fits in Str
18:14 grettir joined #perl6
18:14 timotimo Synchronization
18:14 |Tux| I have no idea yet what will need to become Buf when binary data is to be parsed
18:14 jnthn timotimo: Weekly looks good
18:15 jnthn timotimo: I'm not entirely sure what that line in the feature matrix refers to; I think it pre-dates the current S17 design doc too
18:15 |Tux| badminton time. mental rest
18:15 timotimo 0000000000jyd......................................dtbnssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
18:15 timotimo ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssszzzzzzzzzzzzzsn
18:15 timotimo (cat sat on keyboard)
18:15 pyrimidine heh
18:15 [ptc] haha
18:16 [Coke] mmhehehe
18:16 echowuhao joined #perl6
18:17 Kristien cat /dev/tty
18:17 Kristien cat > /dev/tty, rather
18:18 coffee` joined #perl6
18:18 [Coke] /dev/kitty
18:19 [Coke] ... wow, that seems pretty plausible.
18:19 dalek rakudo/nom: 0966e98 | coke++ | src/core/Parameter.pm:
18:19 dalek rakudo/nom: fix whitespace
18:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0966e989f1
18:19 larion joined #perl6
18:20 anaeem1_ joined #perl6
18:20 jluis joined #perl6
18:20 raydiak m: say :16(uniprop("(", "Bidi_Mirroring_Glyph")).chr R~ ":"
18:20 camelia rakudo-moar c8d3e6: OUTPUT«:)␤»
18:25 dalek rakudo/newio: 71129ea | lizmat++ | src/core/IO/Dup.pm:
18:25 dalek rakudo/newio: Make IO::Dup.WHICH/Str work
18:25 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/71129ea63d
18:25 lizmat one spectest failure fixed
18:25 [ptc] moritz: the automatic doc build cronjob is commented out.  Is there a reason for that?
18:26 vendethiel timotimo: oh, it's 2015.08 already?
18:26 timotimo published
18:26 timotimo vendethiel: it's the ISO something-or-other week number
18:26 vendethiel uhmm
18:26 vendethiel alright, noted
18:30 lizmat timotimo++
18:31 nwc10 where is the Test::Util of which t/spec/S06-signature/introspection.rakudo.moar speaks?
18:31 dalek rakudo/newio: 0966e98 | coke++ | src/core/Parameter.pm:
18:31 dalek rakudo/newio: fix whitespace
18:31 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/0966e989f1
18:31 dalek rakudo/newio: fb24e4b | lizmat++ | src/core/Parameter.pm:
18:31 dalek rakudo/newio: Merge branch 'nom' into newio
18:31 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/fb24e4baa3
18:32 lizmat nwc10: t/spec/packages/Test/Util.pm, it lives in roast
18:33 lizmat fwiw, I wouldn't mind merging that into lib/Test.pm
18:33 nwc10 OK, hmm. This fails for me (from the rakudo directory):
18:33 nwc10 ./perl6-m -Ilib t/spec/S06-signature/introspection.t
18:33 vendethiel raydiak++ # Inline::Lua
18:34 [Coke] nwc10: wouldn't you need -It/spec/lib ?
18:34 lizmat feels like it is missing a 'use lib 't/spec/packages'"
18:35 nwc10 [Coke]: possibly, but I'm trying to get to the bottom of why it (also) failed on a `make spectest`
18:35 anaeem1 joined #perl6
18:38 [Coke] nwc10: missing use lib 't/spec/packages';
18:38 [Coke] see, e.g. integration/weird-errors.t
18:38 timotimo do we want to make doc.perl6.org mobile-friendly?
18:39 nwc10 ah OK, thanks. I can't fix this, but I'll assume that it will be soon.
18:39 jnthn Nah, smartphones are just a passing fad... :P
18:39 [Coke] ok, I'll doit.
18:39 lizmat [Coke]++
18:39 nwc10 thanks (a second time)
18:39 jnthn timotimo: Sounds worth doing.
18:40 dalek roast: 5fec139 | coke++ | S06-signature/introspection.t:
18:40 dalek roast: need lib to find Test::Util.
18:40 dalek roast:
18:40 dalek roast: nwc10++ for reporting
18:40 dalek roast: review: https://github.com/perl6/roast/commit/5fec1395f1
18:42 dalek roast/newio: 061637e | lizmat++ | S02-types/deprecations.t:
18:42 dalek roast/newio: Fix deprecation message testing
18:42 dalek roast/newio:
18:42 dalek roast/newio: The message no longer contains an absolute path.  Not sure whether that is a
18:42 dalek roast/newio: good thing or not, but this change at least fixes the tests.
18:42 dalek roast/newio: review: https://github.com/perl6/roast/commit/061637e318
18:42 * timotimo updates the doc repo locally to play around with it
18:42 raydiak timotimo: most of doc's stylesheet is already in ems (except for the hr), so adding some more rules in there to override the ones from perl.css should get you most of the way there in terms of proper scaling
18:43 timotimo raydiak: it seems like a viewport would be the first necessary step
18:43 timotimo https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fdoc.perl6.org%2F
18:44 dalek roast/newio: 470acb5 | lizmat++ | S06-signature/introspection.t:
18:44 dalek roast/newio: Need to look for Test::Util in t/spec/packages
18:44 dalek roast/newio: review: https://github.com/perl6/roast/commit/470acb5fb3
18:45 raydiak timotimo: yep absolutely, but beyond that you'll probably want to selectively override any css rules we're using from perl.css which is all in px
18:46 H2O1 joined #perl6
18:46 H2O1 left #perl6
18:47 timotimo i don't actually know alot about webdev :)
18:47 timotimo hrmpf
18:47 timotimo i can't Configure.pl nqp because moarvm doesn't seem to base its version off of the 2015.02 tag :(
18:47 dalek Heuristic branch merge: pushed 34 commits to roast/newio by lizmat
18:48 raydiak ++timotimo # expanding himself :)
18:48 grondilu joined #perl6
18:49 FROGGS timotimo: just `git fetch` or `git pull` should give you the tag
18:49 FROGGS and then reconfigure+rebuild moar
18:51 _mg_ joined #perl6
18:51 timotimo i do have the tag
18:51 FROGGS then you'd just need to reconfigure+rebuild
18:52 timotimo oh, hold on
18:52 timotimo the install seems to have put the wrong moar binary in place OSLT?
18:52 mohij joined #perl6
18:52 timotimo i nuked install, so now i tworks
18:53 lizmat .oO( I have difficulty in tworking myself )
18:56 dalek doc: a161fe0 | moritz++ | lib/Type/Cool.pod:
18:56 dalek doc: Cool.chop
18:56 dalek doc: review: https://github.com/perl6/doc/commit/a161fe05b1
18:56 [Coke] man is my connection to hack laggy. box itself seems fine...
18:57 moritz my connection to it is also fine
18:57 * TimToady was trying to figure out why you were trying to "hack laggy", and why you named the connection "man"...
18:58 timotimo i can see that
18:59 timotimo would you change use_ok to use-ok in t/pod-htmlify.t?
19:02 TimToady I wouldn't, I'd make someone else do it... :P
19:03 jluis joined #perl6
19:03 dalek doc: 648ca23 | paultcochrane++ | util/update-and-sync:
19:03 dalek doc: Turn off Inline::Python
19:03 dalek doc:
19:03 dalek doc: The documentation build is segfaulting again and we'll have to settle for
19:03 dalek doc: the slower shell version until I::P works stably again.
19:03 dalek doc: review: https://github.com/perl6/doc/commit/648ca23128
19:08 nine_ So what do I have to do to reproduce this htmlify segfault?
19:13 timotimo "Type Punning not found in type-graph data
19:13 timotimo :S
19:14 telex joined #perl6
19:14 dalek doc: f7606d3 | paultcochrane++ | htmlify.p6:
19:14 dalek doc: Uncuddling else statements in htmlify
19:14 dalek doc: review: https://github.com/perl6/doc/commit/f7606d3b22
19:15 * lizmat wonders how https://medium.com/@keithwhor/nbeam-how-i-wrote-an-ultra-fast-dna-sequence-alignment-algorithm-in-javascript-c199e936da would translate to P6
19:16 lizmat .oO( I only skimmed the article )
19:16 timotimo just remove the "ultra-fast" part :P
19:16 dalek rakudo/union: 875f50b | FROGGS++ | lib/NativeCall.pm:
19:16 dalek rakudo/union: implement typed Pointer type
19:16 dalek rakudo/union: review: https://github.com/rakudo/rakudo/commit/875f50be55
19:16 dalek rakudo/union: 1d9aee5 | FROGGS++ | t/04-nativecall/13-union. (2 files):
19:16 dalek rakudo/union: test inlined and referenced CUnions in CStructs
19:16 dalek rakudo/union: review: https://github.com/rakudo/rakudo/commit/1d9aee5f4d
19:17 FROGGS jnthn: I'd like to cherry-pick 875f50b into nom
19:17 raiph hi #perl6
19:17 raydiak hello raiph
19:17 FROGGS jnthn: (now not necessarily, but this week)
19:17 raiph I would appreciate on channel feedback about two comments I've written as part of trying to understand/explain P6's "types" and its dispatch (more)
19:17 FROGGS hi raiph
19:18 raiph 1)  http://blogs.perl.org/users/ovid/2015/02/avoid-a-common-software-bug-by-using-perl-6.html#comment-1547960
19:18 jnthn git show 875f50b
19:18 raiph I'll pause on the other to avoid confusion
19:18 jnthn oops
19:18 timotimo just adding the viewport seems to make the "mobile version" much friendlier
19:19 dalek doc: b755f22 | timotimo++ | template/head.html:
19:19 dalek doc: mobile: set a viewport and async-load javascript
19:19 dalek doc: review: https://github.com/perl6/doc/commit/b755f22394
19:20 jnthn FROGGS:
19:20 FROGGS jnthn:
19:20 FROGGS :D
19:20 jnthn FROGGS: Not sure I like the two commented out lines...
19:21 FROGGS jnthn: ahh, yes...
19:21 FROGGS jnthn: maybe I should uncomment them by making them work?
19:21 jnthn FROGGS: But otherwise, think I'm happy with it. Though cherry picking a branch you plan to later merge is always a good recipe for conflicts.
19:21 jnthn FROGGS: +1 ;)
19:21 FROGGS :o)
19:21 avuserow colomon: re module breakage, WebService::Lastfm shouldn't be failing tests, because it doesn't have any.
19:22 FROGGS I will have a conflict anyway, because the patched lines are included in another (slightly bigger) commit in branch cpp :/
19:22 avuserow colomon: where are these tests running?
19:22 raiph (Oops. The `my enum Day ;` line in the comment I linked above ought to have been `my enum Day <Su M Tu W Th F Sa>;`)
19:23 colomon avuserow: hack.p6c.org
19:23 Hor|zon joined #perl6
19:25 colomon avuserow: the problem appears to be LWP::Simple.  emmentaler (or panda in general?) frequently gets confused about whether it was the current module or a dependency whose tests failed.
19:26 avuserow that makes some sense
19:26 FROGGS jnthn: nah, I guess I remove these two lines... long double would mean that the MVMP6numBody has to grow
19:26 avuserow it seems that LWP::Simple currently has a test that uses https (accidentally?), and that requires IO::Socket::SSL which isn't installing for me either
19:26 jnthn FROGGS: Only when it's going to hold a long double, though, if we get it right
19:27 colomon avuserow: failing modules all the way down…
19:27 avuserow .ask moritz Can we get libsnappy1 and libsnappy-dev installed on hack.p6c.org? Thanks
19:27 yoleaux avuserow: I'll pass your message to moritz.
19:27 avuserow ^^ that should fix Compress::Snappy on hack.p6c.org
19:28 FROGGS jnthn: yes, I was talking about long double
19:28 colomon avuserow: though that must be some sort of new change, because LWP::Simple has only failed on smoke twice in the last two weeks, and IO::Socket::SSL has never worked in that time
19:29 avuserow colomon: one of the URLs that LWP::Simple fetches is a wordpress blog, which now redirects to SSL
19:29 avuserow the test is in get-chunked-6guts.t
19:30 * avuserow files an issue
19:31 moritz avuserow: installed
19:31 yoleaux 19:27Z <avuserow> moritz: Can we get libsnappy1 and libsnappy-dev installed on hack.p6c.org? Thanks
19:31 avuserow thanks moritz++
19:31 colomon Time warp!
19:32 jnthn Again?
19:34 moritz let's do the %s %s
19:35 dalek rakudo/union: ad88cf9 | FROGGS++ | lib/NativeCall.pm:
19:35 dalek rakudo/union: export longlong, remove spurious comment and fix typo
19:35 dalek rakudo/union: review: https://github.com/rakudo/rakudo/commit/ad88cf9417
19:39 lizmat .oO( waiting for DrForr_ to insert some transsylvanian reference :-)
19:42 anaeem1 joined #perl6
19:44 dalek doc: 1e44bb2 | moritz++ | lib/Type/Cool.pod:
19:44 dalek doc: Cool.substr
19:44 dalek doc: review: https://github.com/perl6/doc/commit/1e44bb255e
19:45 nine_ [ptc]: htmlify.pl completes without hickups using Inline::Python on my system. Any idea how I could reproduce the segfault?
19:48 moritz nine_: I've managed to run it fine with Inline::Python on the same host and with the same rakudo version that the cron job uses
19:48 moritz nine_: and yet the cron job seems to segfault
19:48 moritz does python do something funny when no terminal is available?
19:48 nine_ moritz: maybe it runs out of memory?
19:49 moritz nine_: I'm not aware of any memory limits that the cron job has that a normal user doesn't
19:50 moritz nine_: the memory limit should be around 8 or 12 GB, which is two or three times more than my laptop has (which runs htmlify too :-)
19:50 jnthn If valgrind is on the box, can always try it under that
19:50 jnthn I guess it'll take forever
19:50 moritz nine_: ok, now managed to reproduce the segfault in the interactive session
19:50 [ptc] nine_: unfortunately, no idea
19:50 moritz nine_: want an account on the boxß
19:50 moritz s/ß/?/
19:51 [ptc] .... and ptc's too late again...
19:51 nine_ moritz: that may help, yes!
19:51 jnthn But if the cron environment is just different enough to mean we don't "get lucky"...
19:51 nine_ moritz: maybe even a stack trace may help
19:51 [ptc] moritz, nine_ it always seemed to happen just after generating the document for List  (if that helps with debugging)
19:52 moritz [ptc]: here just after Str
19:52 moritz how do I run perl6-m with gdb?
19:52 timotimo cat (which perl6)
19:52 timotimo and put (most of) that into gdb --args
19:53 [ptc] question: if I push 20+ commits, will I kick dalek, or will I fill the irc logs with lots of (probably unnecessary info)?
19:53 dalek doc: c6babf0 | TimToady++ | lib/Language/5to6.pod:
19:53 dalek doc: some clarifications on whitespace requirements
19:53 dalek doc: review: https://github.com/perl6/doc/commit/c6babf055b
19:54 FROGGS [ptc]: it'll just print a single line if there are too many commits at once
19:54 FROGGS [ptc]: like: <dalek> Heuristic branch merge: pushed 34 commits to roast/newio by lizmat
19:54 [ptc] FROGGS: thanks.  Didn't want to do anything dumb
19:55 dalek Heuristic branch merge: pushed 25 commits to perl6-examples by paultcochrane
19:55 [ptc] ah, cool!
19:55 FROGGS :o)
19:55 lizmat FROGGS: I think the limit is set too high, I frequently kill dalek with merges of <10 commits
19:55 FROGGS Heuristic branch merge - that sounds like science baby! /o/
19:55 [ptc] more of the perl6-examples are working again :-)
19:55 FROGGS lizmat: yeah
19:55 FROGGS [ptc]++
19:57 moritz now running with valgrind
19:58 timotimo how often does the cron job do doc.perl6.org now?
19:58 timotimo er. how frequently, to be precise
19:58 eternaleye joined #perl6
19:59 moritz timotimo: every 5 minutes
19:59 moritz timotimo: but it only runs if the previous one isn't still running, and if something changed in git
20:00 nine_ No wonder it succeeds locally. My pygmentize is too old, so Inline::Python does not even get used
20:00 moritz :-)
20:04 FROGGS m: class Foo { method ^name { 'Bar' } }; say Foo.^name # I was under the impression you implemented that lately...
20:04 camelia rakudo-moar 0966e9: OUTPUT«Foo␤»
20:04 nine_ The backtrace does not even involve Inline::Python at all
20:05 hoelzro timotimo++ # weekly
20:05 nine_ It does contain MVM_nativecall_invoke however
20:07 jnthn FROGGS: Hm, me too...
20:07 jnthn FROGGS: Oh, maybe it's in native-ref branch...
20:07 brrt joined #perl6
20:08 FROGGS dang, I could make use of it :o)
20:08 jnthn FROGGS: Yes, confirmed.
20:10 grettir joined #perl6
20:12 moritz no segfault under valgrind
20:12 timotimo hoelzro: thanks :)
20:12 FROGGS moritz: does it show invalid reads or invalid writes or something like that?
20:13 moritz FROGGS: nope; running it again...
20:15 nine_ no lexer for alias 'perl6' found?
20:15 nine_ with Pygments 2.0.2
20:17 moritz huh
20:17 moritz on hack there's 2.0.1 that includes the perl6 lexer
20:17 nine_ even though pygmentize -L lists it
20:17 dalek doc: c7cc8fb | TimToady++ | lib/Language/5to6.pod:
20:17 dalek doc: mention method call syntax right up front
20:17 dalek doc: review: https://github.com/perl6/doc/commit/c7cc8fba32
20:18 dalek doc: 4fccd29 | moritz++ | lib/Language/objects.pod:
20:18 dalek doc: Fix heading
20:18 dalek doc:
20:18 dalek doc: htmlify thought that "=head2 Role Punning" introduce a role named Punning
20:18 dalek doc: and I am too lazy to fix it
20:18 dalek doc: review: https://github.com/perl6/doc/commit/4fccd29de6
20:19 moritz I'm feeling stupid
20:19 moritz with valgrind, it still runs in ~5min
20:19 grondilu joined #perl6
20:19 moritz am I valgrinding only the shell wrapper?
20:19 FROGGS unlikely
20:19 FROGGS err, probably :o)
20:20 FROGGS you do: cat `which perl6-m`
20:20 nine_ moritz: made the same mistake a couple of minutes ago :)
20:20 FROGGS then copy the stuff between 'exec' and '"$@"' (not inclusive)
20:20 * moritz tries with --trace-children=yes
20:20 FROGGS append you script name or one-liner
20:20 FROGGS and prepend either 'valgrind' or 'gdb --args'
20:22 moritz now the familiar slow-down occurs
20:23 moritz ok, I'll try it with --sparse :-)
20:27 kjs_ joined #perl6
20:28 nine_ I can now get it to segfault on my machine, too. Segfaults after X::Parameter::Default
20:28 nine_ So it's probably not something very deterministic
20:28 moritz .oO( only reproducible segfaults are good segfaults )
20:29 moritz ok, valgrind is spewing out dags
20:29 moritz *diags
20:29 moritz muhaha
20:30 moritz even /usr/bin/pygmentize -V produces invalid reads
20:30 moritz from inside python's GC
20:31 nine_ AFAIK Python comes with a valgrind error supression file that should mask false positives
20:32 moritz but that's not enabled by default?
20:33 moritz https://svn.python.org/projects/python/trunk/Misc/README.valgrind
20:33 moritz uhm, is python still on SVN?
20:33 nine_ http://svn.python.org/projects/python/trunk/Misc/README.valgrind
20:33 nine_ seems like
20:34 sydneyca joined #perl6
20:35 nine_ Lovely! Seems to be a Heisenbug. Simply warn()ing the result in p6format before returning makes the segfault go away.
20:36 ecocode joined #perl6
20:36 nwc10 nine_: https://hg.python.org/cpython/
20:37 nwc10 https://hg.python.org/cpython/log/bb67b810aac1/Misc/README.valgrind
20:37 nwc10 but last change was 2006
20:39 lizmat m: role S { method bind($s) { nqp::bindattr(self,Str,'$!value',nqp::unbox_s($s)) } }; my $a = "foo" but S; $a.bind("bar")  # does anybody have any idea what's going wrong here ?
20:39 camelia rakudo-moar 0966e9: OUTPUT«P6opaque: representation mismatch when storing value to attribute␤  in method bind at /tmp/ozA9DJ7rFk:1␤  in block <unit> at /tmp/ozA9DJ7rFk:1␤␤»
20:40 lizmat jnthn FROGGS ^^  ??
20:40 jnthn lizmat: nqp::bindattr_s
20:41 jnthn lizmat: But that's...uh...horribly dangerous.
20:41 jnthn lizmat: I mean, you won't SEGV the VM or anything, but we put Str instances into a constant pool when compiling.
20:41 Kristien joined #perl6
20:41 lizmat well, I'm testing code to get substr-rw to be more DWIM
20:42 lizmat basically, calling substr-rw on a Str would add a role to the string
20:42 jnthn Yeah but substr-rw should never mutate a Str
20:42 jnthn No, that's just plain wrong.
20:42 jnthn You have to pass something that "is rw"
20:42 lizmat yes, that is what substr-rw does
20:42 jnthn That "is rw" binds to a non-container at the moment is a bug
20:43 jnthn Once native-ref lands, passing a Str directly to something declared "is rw" will be a signature binding error, most likely.
20:43 lizmat yeah, but that's not the problem I was facing
20:43 lizmat the idea I had is that the *first* time you call substr-rw on a string
20:44 lizmat it will add a role to the string with some logic in it
20:44 lizmat anytime you would assign to the proxy, it would know where each field in the Str was
20:44 lizmat and assign that, and regenerate the underlying string
20:44 jluis joined #perl6
20:45 jnthn That sounds costly?
20:45 jnthn I'd imagine the vast majority of uses of substr-rw will be one-shot
20:45 lizmat well, substr-rw *is* costly, no matter how you do it
20:45 lizmat ok, maybe it should be another substr-xx fiuncttion then
20:46 jnthn What's the use case?
20:46 japhb I saw "segfault" on the screen here, and it reminded me: I can't reply to [perl #123883] to add that for recent r-m, the bar for segfault has risen: Like the person who replied to my bug, 100_000 now seems to work, but 1_000_000 segfaults again.  Can someone else confirm and update the bug, since RT seems to dislike me today?
20:46 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123883
20:46 Kristien holy shit I just realised
20:46 Kristien Perl Girl rhymes great
20:46 lizmat jnthn: making sure that multple substr-rw on the same string will always work
20:46 dalek doc: e2d6ed7 | timotimo++ | html/images/camelia (3 files):
20:46 dalek doc: smallify png: faded 14%, small 9% and camelia.png 16% decrease
20:46 dalek doc: review: https://github.com/perl6/doc/commit/e2d6ed7958
20:47 lizmat jnthn: they currently don't reliably, if your replacement string has a different length from the original
20:47 jnthn lizmat: In which way does it not work now?
20:48 nine_ I got it!
20:48 timotimo yays
20:48 jnthn lizmat: If we really want those semantics, is not having substr-rw just snapshot the prefix and suffix, and have the Proxy STORE close over them and then just construct prefix ~ new thing ~ suffix not good enough?
20:49 lizmat m: my $a = "foo"; my $r1 := substr-rw($a,0,1); my $r2:= substr-rw($a,1,1); $r1 = "ab"; $r2 = "cd"; say $a
20:49 camelia rakudo-moar 0966e9: OUTPUT«acdoo␤»
20:49 lizmat expected abcdoo here
20:49 lizmat the $r2 didn't see the $r1 increasing the length
20:50 lizmat (actually, expecting abcdo)
20:50 18VACA12B joined #perl6
20:51 TimToady Kristien: yes, that has occurred to me before, but I haven't pushed it till now because, well, I'm not a girl, so if I pushed the concept, it would be taken as just more patriarchy.  From you, it wouldn't be taken that way.  :)
20:51 lizmat jnthn: what you describe, is how it works now
20:51 lizmat need to be afk&, will check back tomorrow most likely
20:51 Kristien I'll change my Twitter and Stack Overflow bios to "Perl Girl" :P
20:51 jnthn lizmat: OK. I don't think I'm upset about how it works now; for me it's "you asked for trouble and you got it". But it's by now lang design, so I'll defer to TimToady++ :)
20:51 Kristien They are currently "DAT ASS"
20:52 jnthn lizmat: From an impl point of view, the mixing in thing bothers me a little, but I understand what you're trying to achieve, at least :)
20:54 dolmen joined #perl6
20:57 nine_ Does NativeCall free a string returned from a C function?
20:59 jnthn I think that's configurable
20:59 FROGGS nine_: there is a trait explicitly_managed or so
21:00 Hor|zon joined #perl6
21:03 FROGGS jnthn: that's where I am now... https://gist.github.com/FROGGS/ae724e5dcf4a2fe902fe
21:04 FROGGS jnthn: it passes on jvm and on moar, and I'm going to test some of my modules, but I dont expect any surprise
21:05 virtualsue joined #perl6
21:06 jnthn FROGGS: It means OpaquePointer.^name won't come back with OpaquePointer any more
21:06 FROGGS true
21:06 FROGGS jnthn: OpaquePointer is just, well, a long word
21:07 FROGGS especially in OpaquePointer[MyStruct]
21:07 jnthn *nod*
21:07 jnthn Well, my question is more if we want to encourage people towards Pointer in general
21:07 jnthn With an eye to deprecating OpaquePointer in the end.
21:07 FROGGS that is what I want :o)
21:07 FROGGS aye
21:08 jnthn I think I'm good with that.
21:08 FROGGS phew
21:09 hoelzro nine_: I just tried Inline::Perl5.  that is AMAZING
21:09 hoelzro nine_++
21:09 hoelzro nine_++ for 1 .. *
21:09 PerlJam hoelzro: what did you use it for?
21:10 hoelzro just using Mojo::UserAgent from Perl 6
21:10 timotimo for 1 .. * obviously, PerlJam
21:10 PerlJam nice.
21:10 PerlJam timotimo: :-P
21:11 PerlJam a few times now I've used P6 for parsing and other data manipulation, and Inline::Perl5 + some P5 module for either reading or writing the data from/to a data structure.
21:13 dalek Inline-Python: a561275 | (Stefan Seifert)++ | / (2 files):
21:13 dalek Inline-Python: Fix segfaults caused by py_unicode_to_char_star
21:13 dalek Inline-Python:
21:13 dalek Inline-Python: PyString_AsString returns a pointer to the PyString's buffer. So when we
21:13 dalek Inline-Python: Py_DECREF the string immediately afterwards, this buffer is already free'd.
21:13 dalek Inline-Python: It still works, but is not reliable.
21:13 dalek Inline-Python:
21:13 dalek Inline-Python: Instead, move more of the processing to Perl 6, so we can safely py_dec_ref
21:13 dalek Inline-Python: the string after NativeCall copied it to a Perl 6 string.
21:13 dalek Inline-Python:
21:13 dalek Inline-Python: Fixes htmlify.p6 in perl6/doc.git
21:13 dalek Inline-Python: review: https://github.com/niner/Inline-Python/commit/a56127508d
21:14 nine_ moritz: ^^^
21:14 nine_ [ptc]: ^^^
21:14 PerlJam nine_++ some more :)
21:14 dalek doc: f5f22d3 | TimToady++ | lib/Language/5to6.pod:
21:14 dalek doc: add a p6 translation under glob
21:14 dalek doc: review: https://github.com/perl6/doc/commit/f5f22d3c42
21:18 bjz joined #perl6
21:19 [Coke] I'd like to propose a style for core where we cannot start a line with "//" # because that looks like a c++ comment.
21:19 [Coke] Not entirely serious, but that did confuse me for about 30s looking at a commit last week.
21:21 TimToady well, if your terms are that big that you need a newline, you might want orelse anyway just for clarity, since // is mostly for defaulting small things
21:21 TimToady if it's being used for flow control, orelse is probably better anyway
21:22 PerlJam Does NQP grok orelse?
21:22 * TimToady has no qlew
21:22 jnthn PerlJam: Not as far as I know
21:23 [ptc] nine_: fantastic!
21:23 [ptc] nine_++
21:23 TimToady as for nqp...forget I said anything about readable :)
21:24 TimToady I hear python is pretty readable though :P
21:28 nine_ Python's readability is vastly overrated
21:29 Kristien I have yet to find a language in which code tends to be readable and in which there is no block closing token like '}' or 'end'.
21:30 TimToady there are many dimensions of readable
21:30 masak Python does its darndest to go with Least Surprise. sometimes it fails.
21:30 TimToady python optmized in different ones than Perl
21:30 Kristien such as the readable-without-syntax-highlighting dimension which Go has :P
21:30 Kristien masak: for…else and def f(x=[]) :(
21:31 pyrimidine I seen lots of terribly written but perfectly readable python code.  Suppose the fact one can spot the terribleness is something...
21:31 raiph joined #perl6
21:31 dalek doc: 5c54e6c | smls++ | lib/Language/5to6.pod:
21:31 dalek doc: more 5to6 tweaks (and moved the two method call sections together)
21:31 dalek doc: review: https://github.com/perl6/doc/commit/5c54e6c5f3
21:31 masak Kristien: point taken.
21:32 diakopter m: https://gist.github.com/anonymous/2cdc65d6b2913ace1a45
21:32 camelia rakudo-moar 0966e9: OUTPUT«gist not found»
21:32 diakopter aww, bitrotted again
21:32 masak Kristien: the for/else thing is *weird*, and furthermore doesn't align with my first guess as to what it'd do.
21:32 Kristien It should have been that else is executed if for didn't run at least once.
21:32 masak Kristien: the x=[] thing has a certain sad logic to it, falling out of earlier decisions about Python being interpreted.
21:32 Kristien It's far more useful and less surprising.
21:33 masak Kristien: yes, that's what I expected it to do.
21:33 Kristien I don't even know what it does. I have to look it up every time.
21:33 dolmen joined #perl6
21:34 Kristien m: https://gist.github.com/rightfold/7d1de64e8f344434e3df
21:34 camelia rakudo-moar 0966e9: OUTPUT«gist not found»
21:34 Kristien well, did it find it or not? :)
21:34 diakopter heh
21:35 timotimo i'm pretty sure camelia was never able to do secret gists
21:35 Kristien it's a public gist
21:35 diakopter but yeah, even the anonymous & public ones look more like the secret ones
21:35 Kristien gist changed the IDs to all be hexadecimal a year ago
21:35 Kristien it broke lots of tools
21:36 Kristien including http://gist.io/, which for some reason still hasn't been updated
21:36 * diakopter is a broke tool
21:36 Kristien Tool is a good band.
21:36 FROGGS nod
21:37 echowuhao joined #perl6
21:39 TimToady smi1er: the method call syntax still needs to be first, or you have all sorts of WTF directly thereafter
21:39 pmurias joined #perl6
21:39 pmurias hoelzro: hi
21:39 yoleaux 15:32Z <hoelzro> pmurias: unfortunately, although I cloned all the necessary repos to my laptop for offline hacking this weekend, I neglected to install node =/
21:39 yoleaux 16:27Z <hoelzro> pmurias: https://github.com/mgutz/execSync/issues/38
21:39 TimToady it's also there by virtue of "most obvious change"
21:40 hoelzro pmurias: hello
21:40 pmurias hoelzro: this execSync is causing problems for you?
21:40 * TimToady assumes smls === smiler
21:40 hoelzro pmurias: yes, I just upgraded to node 0.12 on my desktop, and now nqp-js no longer works =/
21:40 hoelzro for now, I can downgrade to 0.10, but I think maybe we should address this
21:41 pmurias hoelzro: I can replace execSync with something else
21:41 hoelzro there seem to be some suggested migrations
21:41 hoelzro referenced in that PR
21:41 hoelzro er, issue
21:42 smls joined #perl6
21:42 TimToady smls: are you also smiler?
21:42 smls no :)
21:43 smls just saw your comment in the public irc logs though
21:43 smls i think whitespace and sigils are more "fundamental" syntax from a perl 5 perspective
21:43 Kristien I heard a python can eat a camel.
21:43 Kristien Should we be scared?
21:44 dalek perl6-examples: eac20d1 | paultcochrane++ | euler/prob0 (13 files):
21:44 dalek perl6-examples: Purge trailing whitespace from euler examples
21:44 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/eac20d1c31
21:44 dalek perl6-examples: ab97e1a | paultcochrane++ | euler/prob (5 files):
21:44 dalek perl6-examples: Wrap comment/pod paragraphs consistently
21:44 smls method calls are a more specialized thing
21:44 TimToady I disagree
21:44 dalek joined #perl6
21:45 Juerd Kristien: Have you ever seen a python catch a butterfly, though? :)
21:45 masak vendethiel: oh! I just thought of the followup question I should have asked you at once: if you want sub calls and ops to somehow be the "same" Q type -- what about method calls? should they also be bunched with the other two?
21:45 Kristien Juerd: !!
21:46 TimToady if you immediately have to start talking about method calls under whitespace, then method calls are more fundamental from a user's learning trajectory
21:46 smls TimToady: Hm I don't feel that strongly about it. I mostly chose the current position as a "compromise" between the two separate method call related sections written by you and Util... ;)
21:46 TimToady and the choice of dot drove a lot of the rest of the design
21:47 pmurias hoelzro: on node 0.12 execSync is no longer needed
21:47 hoelzro ah ha
21:48 TimToady it's also frequently the first thing many P5 programmers complain about as a "gratuitous change"
21:49 TimToady so I wanted to rationalize it before they take a "set" against it
21:50 dalek doc: a42f276 | smls++ | lib/Language/5to6.pod:
21:50 dalek doc: 5to6: move method call section to the top
21:50 dalek doc: review: https://github.com/perl6/doc/commit/a42f276d04
21:50 smls fair enough
21:50 hoelzro pmurias: so maybe check for node 0.12 and fallback to execSync?  what about io.js?
21:51 TimToady and more subtly, I wanted to get an "easier to type" in there before denigrating golf :)
21:52 pmurias hoelzro: io.js has execSync
21:52 hoelzro ok
21:52 pmurias I'm not sure if I should just raise the dependency to 0.12
21:53 pmurias checking for node 0.12 a fallbacking to execSync will be ugly
21:53 hoelzro true
21:53 hoelzro I don't know if it's just a problem with 0.12, or if it's a problem with 0.12 + python3
21:54 * hoelzro wonders if there's a scripting language that is pre-installed on most OSen, and has remained remarkably stable over the past decade. hmm...
21:55 moritz nine_: now I get a test failure for Inline::Python
21:55 moritz No such method '' for invocant of type 'Foo' in method handle_python_exception at lib/Inline/Python.pm6:333
21:55 moritz in method call at lib/Inline/Python.pm6:351
21:55 moritz in block <unit> at t/call_back.t:38
21:55 vendethiel masak: hi, sorry, not sure I understand
21:55 vendethiel yes, I believe they should be a Call as well. with an invocant
21:57 masak vendethiel: ok. I will process this.
21:57 masak thank you.
21:57 vendethiel masak: do you see, at hand, an issue with that?
21:58 dalek nqp/js: 042dab4 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (2 files):
21:58 dalek nqp/js: Replace execSync with fallback-exec-sync
21:58 dalek nqp/js: review: https://github.com/perl6/nqp/commit/042dab4e18
21:58 pmurias hoelzro: ^^ this might help
21:58 masak vendethiel: I think we have different aesthetics. I don't want to say more right now.
21:59 vendethiel uhm
21:59 vendethiel *suspense*
21:59 * hoelzro tries
22:04 hoelzro pmurias: that did it, thanks!
22:06 pmurias hoelzro: I reverted your 'make -j' enabling commit as it was forcing a rebuild everytime
22:07 hoelzro =(
22:07 hoelzro ok, fair enough
22:07 hoelzro maybe I can fix that, get the best of both worlds
22:08 pmurias you just need to turn the dependency on m-all to $(JS_M_ALL)
22:08 pmurias and you should be editing tools/build/gen-js-makefile.nqp
22:09 FROGGS m: sub foo(int32, int32) { 42 }; foo(int32, int32) # that's my Inline::C bug
22:09 camelia rakudo-moar 0966e9: OUTPUT«Cannot unbox a type object␤  in block <unit> at /tmp/wvbTvcbL8G:1␤␤»
22:09 hoelzro ah, ok
22:10 FROGGS star-m: sub foo(int32, int32) { 42 }; foo(int32, int32) # that's my Inline::C bug
22:10 camelia star-m 2015.01: OUTPUT«Cannot unbox a type object␤  in block <unit> at /tmp/RzRS6rALzO:1␤␤»
22:14 [Coke] pmurias: any idea how to fix thigns so I can build nqp-js on hack.p6c.org ?
22:14 [Coke] I linked node to nodejs - but it seems that with your commit earlier, it's seeing nodejs at all and then immediately dying.
22:15 [Coke] do you have an account on hack you could try a build on?
22:15 hoelzro [Coke]: I could hop on and try to build it if pmurias doesn't have time
22:16 [Coke] Thanks.
22:16 hoelzro I, however, would need a hack account, but there's something else I was hoping to do on there, so this would kill two birds with one stone =)
22:16 [Coke] I wonder if I can make you one. checking
22:17 moritz hoelzro: haven't we killed enough birds recently?
22:17 moritz [Coke]: https://github.com/perl6/infrastructure-doc/blob/master/hosts/hack.p6c.org.pod#new-users
22:17 [Coke] already there!
22:19 * hoelzro needs an alternative idiom
22:19 dalek infrastructure-doc: 00dc3f2 | moritz++ | hosts/hack.p6c.org.pod:
22:19 dalek infrastructure-doc: Fix typo
22:19 dalek infrastructure-doc: review: https://github.com/perl6/infrastructure-doc/commit/00dc3f274f
22:19 dalek infrastructure-doc: 39e8e7e | moritz++ | hosts/www.p6c.org.pod:
22:19 dalek infrastructure-doc: elaborate on the www server a bit
22:19 dalek infrastructure-doc: review: https://github.com/perl6/infrastructure-doc/commit/39e8e7e638
22:19 moritz hoelzro: zwei Fliegen mit einer Klappe schlagen :-)
22:19 [Coke] Done.
22:20 hoelzro moritz: perfect, I don't care for flies =)
22:20 moritz woah, I think this is the first time that somebody other than me has given out a hack account
22:20 moritz so, it's going viral!
22:20 moritz [Coke]++
22:21 moritz time for sleep here
22:21 timotimo joined #perl6
22:21 masak moritz: you should incentivize the behavior by handing out badges for handing out accounts :P
22:21 dalek perl6-examples: 6c028f8 | paultcochrane++ | euler/prob021-gerdr.pl:
22:21 dalek perl6-examples: Add sigils so that example runs as perl
22:21 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/6c028f813a
22:21 dalek perl6-examples: 5b612a8 | paultcochrane++ | euler/prob021-gerdr.pl:
22:21 dalek perl6-examples: Increase loop limit to equal that of Euler problem 21
22:22 dalek joined #perl6
22:25 hoelzro moritz, [Coke]: any chance we could get zsh on hack?
22:26 TimToady > perl6 -e "say “I'm ”, ‘“client-friendly”.’;"
22:26 TimToady I'm “client-friendly”.
22:26 TimToady colomon: ^^^ so you don't have to curse your client anymore
22:26 TimToady and because we can :)
22:27 dalek nqp/js: 7a15dd2 | (Pawel Murias)++ | tools/lib/NQP/Configure.pm:
22:27 dalek nqp/js: Check if node.js is installed properly first and then check if it's installed incorrectly.
22:27 dalek nqp/js: review: https://github.com/perl6/nqp/commit/7a15dd21c5
22:28 pmurias [Coke]: I fixed how node.js is probed
22:29 dalek rakudo/nom: a2a1afb | TimToady++ | src/Perl6/ (2 files):
22:29 dalek rakudo/nom: lose the battle, win the war
22:29 dalek rakudo/nom:
22:29 dalek rakudo/nom: We'll just support smart quotes because auto-"correcting" clients aren't going away.
22:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a2a1afb9e9
22:29 pmurias debian-- # renaming node.js
22:29 pmurias they shouldn't have added a package just to screw people over
22:30 TimToady (and because it'll give a better dba message if only the opener is smart-quoted)
22:30 * hoelzro tries the new match
22:32 hoelzro looks good pmurias
22:34 Kristien time to sleep. goodbye!
22:34 hoelzro nine_: is there a way to invoke Perl 5 stringification on a P5 object when using Inline::Perl5?
22:34 hoelzro o/ Kristien
22:38 pmurias hoelzro: new match?
22:39 hoelzro pmurias: er, I meant patch =/
22:40 dalek std: efd2de0 | TimToady++ | STD.pm6:
22:40 dalek std: allow smart quotes
22:40 dalek std: review: https://github.com/perl6/std/commit/efd2de08cd
22:41 kjs_ joined #perl6
22:42 timotimo what's wrong, dalek?
22:49 laouji joined #perl6
22:49 dalek rakudo/nom: 5ec0c6e | FROGGS++ | / (6 files):
22:49 dalek rakudo/nom: add typed Pointer type as replacement for OpaquePointer
22:49 dalek rakudo/nom:
22:49 dalek rakudo/nom: A Pointer can still be used as is, and will Pointer[void] (void*).
22:49 dalek rakudo/nom: When a Pointer points to something more useful(i.e. Pointer[int32]),
22:49 dalek rakudo/nom: one can call method 'deref' on the pointer to reveal the the thing
22:49 dalek rakudo/nom: it is pointing to. Besides that a Pointer can still be instantiatet
22:49 dalek rakudo/nom: using a memory address and numifies back to that mem address.
22:49 dalek rakudo/nom: We export the OpaquePointer type as an alias to Pointer, to allow
22:49 dalek rakudo/nom: adoption before we OpaquePointer gets deprecated.
22:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5ec0c6ef98
22:49 Hor|zon joined #perl6
22:50 FROGGS colomon: Inline::C and Compress::Zlib(::Raw) should be fine for the next run (I fixed it correctly in Inline::C)
22:50 FROGGS #perl6: do good things with this Pointer type, I really <3 it...
22:51 FROGGS gnight
22:52 avuserow FROGGS++ # "transparent" pointers
22:57 pippo joined #perl6
22:58 pippo moritz: on your commit here http://irclog.perlgeek.de/perl6/2015-02-23#i_10162952 I think "say 20151224.substr(*-2);" should be 24 and not 12.
23:00 dalek nqp: e7710ac | TimToady++ | src/QRegex/P6Regex/Grammar.nqp:
23:00 dalek nqp: support smart quotes in P6 regex
23:00 dalek nqp: review: https://github.com/perl6/nqp/commit/e7710acf6b
23:00 ecocode left #perl6
23:03 joshismyname joined #perl6
23:05 joshismyname hi all
23:05 joshismyname i have a question i hope someone here could answer for me
23:05 joshismyname can I pick and remove in one step.... like a random pop?
23:07 leont joined #perl6
23:08 timotimo well
23:08 timotimo there's the :delete adverb you can use like @arr[123]:delete
23:08 grettir joined #perl6
23:09 timotimo however, that'll leave a hole in the array, rather than moving all elements after that one step back
23:09 masak m: my @a = 1..5; @a[2]:delete; say @a.perl
23:09 camelia rakudo-moar a2a1af: OUTPUT«Array.new(1, 2, Any, 4, 5)␤»
23:09 masak joshismyname: you're after .splice
23:09 masak m: my @a = 1..5; my $elem = @a.splice(2, 1); say @a.perl; say $elem
23:09 camelia rakudo-moar a2a1af: OUTPUT«Array.new(1, 2, 4, 5)␤3␤»
23:10 timotimo so you'll end up having to use splice instead
23:10 jnthn And splice a random element.
23:10 joshismyname ok, that works
23:10 joshismyname thanks
23:11 jnthn @a.rand is a cute way to get a random number that'd work
23:11 joshismyname nice
23:12 masak ooh, hadn't thought of that idiom before.
23:12 joshismyname thanks again
23:12 masak jnthn++
23:12 timotimo indeed
23:12 timotimo except .rand gives you a float num :)
23:12 timotimo m: say 100.rand
23:12 camelia rakudo-moar 5ec0c6: OUTPUT«34.9006711060583␤»
23:12 masak m: my @a = 1..5; my $elem = @a.splice(@a.rand, 1); say @a.perl; say $elem
23:12 camelia rakudo-moar 5ec0c6: OUTPUT«Array.new(2, 3, 4, 5)␤1␤»
23:12 maettu joined #perl6
23:12 masak timotimo: doesn't matter, the decimal part gets truncated by .splice
23:13 timotimo oh, it automatically ints
23:13 timotimo right
23:13 masak we're not Python... :)
23:13 timotimo :)
23:14 Humbedooh surely splice(2.5, 1) should splice half of the element...somehow ;3
23:14 masak Humbedooh: this is why we listen to RFCs, and then exercise our right to ignore them :P
23:15 * masak .oO( implementation details: heck if I know )
23:16 masak s/exercise/reserve/
23:17 grettir joined #perl6
23:17 raydiak .oO( start by converting all operations and values and their definedness to some fuzzy-logic representation )
23:18 fernand__ joined #perl6
23:18 masak raydiak: I love how people's guesses in these situations almost always are the same. it must be mostly cultural osmosis. like, "the fourth dimension is time", which annoys me sometimes.
23:19 Juerd masak: It's not? Damn. :(
23:19 lnr joined #perl6
23:19 * masak gnashes teeth, slowly
23:19 Juerd What should I read to educate myself about this?
23:20 raydiak maybe more accurate to say "it is sometimes useful to model time as a fourth dimension for geometric analysis"
23:21 masak Juerd: just saying that there's nothing a priori that would make the fourth dimension time. rather, it's a kind of notational convenience or whatever. I could just as well say "the fourth dimension is cabbage" -- it would probably be less of a useful abstraction, but it would not be less true.
23:21 Juerd masak: Isn't that equally true for the first three?
23:22 masak Juerd: in some sense, yes.
23:22 masak Juerd: but the first three are at least all spatial.
23:22 masak Juerd: I have no problems with Euclidian N-space in general.
23:22 Juerd Are there any more than three spatial dimensions?
23:22 masak it's easy to imagine more.
23:23 Juerd It seems as arbitrary to mandate this property :)
23:23 Juerd I find it very hard to imagine more.
23:23 vendethiel joined #perl6
23:23 joshismyname left #perl6
23:23 masak that's just because you grew up in 3-space. besides that, there's nothing that stops one from reasoning in 4-space, say.
23:24 masak where intuition fails, logic and algebra and reasoning help instead.
23:24 Juerd Reasoning lead to assumings the 4th dimension was time.
23:24 Juerd s/assumings/assuming/
23:26 masak like, I can say "there are 6 regular 4-polytopes" and that's a true statement just as much as "there are 5 platonic solids".
23:26 masak the former statement involves four spatial dimensions. it doesn't involve time.
23:27 masak I can talk about rotations in 4-space. two such rotations can be independent of each other in a way two rotations in 3-space cannot (because 4-space has four axes.) thinking about these rotations involves only space, not time.
23:28 * grondilu thinks the world is full of "cultural osmosis", apart from it there would be only atoms and void.
23:30 dalek rakudo/nom: 0ec17f3 | jnthn++ | src/Perl6/Metamodel/Archetypes.nqp:
23:30 dalek rakudo/nom: Avoid leaking NQPMu from archetypes.
23:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0ec17f303e
23:34 masak Juerd: perhaps more mind-blowingly: the complex numbers are not the only way to extend the reals. so while, in some sense, the reals are "inside" (embeddable in) the complex numbers, the complex numbers are not unambiguously "outside" the reals. they're just one of many possible extensions. the most family-friendly, no doubt, but still -- one of many.
23:36 * masak learns on Wikipedia that the split-complex numbers also go by the name of "perplex numbers", and enjoys this fact greatly
23:36 lnr left #perl6
23:36 BenGoldberg joined #perl6
23:37 * grondilu is not sure who ever said the complex numbers where the unique extension of real numbers.
23:37 dalek Heuristic branch merge: pushed 35 commits to rakudo/native-ref by jnthn
23:37 jnthn (Just a rebase on top of latest nom)
23:38 masak grondilu: not necessarily anyone. but the presentation of them in that way is fairly strong.
23:39 dalek rakudo/newio: a2a1afb | TimToady++ | src/Perl6/ (2 files):
23:39 dalek rakudo/newio: lose the battle, win the war
23:39 dalek rakudo/newio:
23:39 dalek rakudo/newio: We'll just support smart quotes because auto-"correcting" clients aren't going away.
23:39 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/a2a1afb9e9
23:39 dalek rakudo/newio: 5ec0c6e | FROGGS++ | / (6 files):
23:39 dalek rakudo/newio: add typed Pointer type as replacement for OpaquePointer
23:39 dalek rakudo/newio:
23:39 dalek rakudo/newio: A Pointer can still be used as is, and will Pointer[void] (void*).
23:39 dalek rakudo/newio: When a Pointer points to something more useful(i.e. Pointer[int32]),
23:39 dalek rakudo/newio: one can call method 'deref' on the pointer to reveal the the thing
23:39 dalek rakudo/newio: it is pointing to. Besides that a Pointer can still be instantiatet
23:39 dalek rakudo/newio: using a memory address and numifies back to that mem address.
23:39 dalek rakudo/newio: We export the OpaquePointer type as an alias to Pointer, to allow
23:39 dalek rakudo/newio: adoption before we OpaquePointer gets deprecated.
23:39 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/5ec0c6ef98
23:39 dalek rakudo/newio: 0ec17f3 | jnthn++ | src/Perl6/Metamodel/Archetypes.nqp:
23:39 dalek rakudo/newio: Avoid leaking NQPMu from archetypes.
23:39 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/0ec17f303e
23:39 dalek rakudo/newio: 96a69ac | lizmat++ | / (9 files):
23:39 dalek rakudo/newio: Merge branch 'nom' into newio
23:39 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/96a69ac2f6
23:48 grondilu oh, a significant move there^
23:48 lizmat well, on nom  :-)
23:48 lizmat I was just merging :-)
23:49 grondilu hopefully those decisions will be documented on S21 soon
23:52 vendethiel joined #perl6
23:52 dalek rakudo/newio: e5bbe42 | lizmat++ | t/04-nativecall/01-argless.c:
23:52 dalek rakudo/newio: Fix compiler warnings on OS X / JVM backend
23:52 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/e5bbe42605
23:53 grondilu would it be insane to use prefix:<*> for deref?
23:53 pippo left #perl6
23:53 lizmat .oO( Whatever :-)
23:53 grondilu m: say so defined &prefix:<*>
23:53 camelia rakudo-moar 0ec17f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ETVNiHXOH2␤Undeclared routine:␤    &prefix:<*> used at line 1. Did you mean '&prefix:<~>', '&prefix:<?>', '&prefix:<!>', '&prefix:<+>', '&prefix:<->'?␤␤»
23:54 grondilu ^there is room to use &prefix:<*>
23:54 grondilu and that would match the C syntax.
23:54 lizmat looks like
23:54 lizmat now if that's a good thing, I don't know
23:55 lizmat but I'll sleep on it
23:55 lizmat good night, #perl6!
23:55 grondilu plus it can be defined only on Pointer ( sub prefix:<*>(Pointer $) {...} )
23:56 adu joined #perl6
23:56 grondilu (or rather as a multi, to give liberty for other usage)
23:57 * grondilu thinks everything that is relative to native C should use the C syntax as much as possible.  He already stated that opinion when advocating for sizeof instead of nativesizeof
23:58 dalek rakudo/nom: 4659f32 | lizmat++ | t/04-nativecall/01-argless.c:
23:58 dalek rakudo/nom: Fix compiler warnings on OS X / JVM backend
23:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4659f32c70
23:58 lizmat no need to wait for newio merge
23:58 lizmat now really sleep&  :-)

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

Perl 6 | Reference Documentation | Rakudo