»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
timotimo possibly it's trying to prevent "<unit-outer>" from appearing even though the exception comes from some inside-ish place? 00:01
actually, the --ll-exception output has <unit-outer> in the middle somewhere
00:07 telex left 00:08 telex joined 00:19 beastd left 00:30 larion left 00:40 BenGoldberg joined 00:43 gfldex left 01:17 firefish5000 left 01:45 ilbot3 left 01:47 ilbot3 joined 01:54 yqt left
grandtehftjiujit hello, I'd like to contribute to the perl6 docs on GitHub, however, when trying to build from the instructions I get an error when running htmlify.p6 02:01
02:01 JimmyZ_ joined
grandtehftjiujit for the third build in a row I get "dot command failed! (did you isntall Graphviz?) 02:02
raydiak grandtehftjiujit: do you have graphviz installed on your system? it is used to render the type diagrams 02:05
grandtehftjiujit no, I was confused since the instructions hadn't mentioned it 02:06
that, of course, worked though :)
raydiak grandtehftjiujit: yeah I did the same thing the first time I contributed to the docs, and accidentally uploaded a version with no images :)
grandtehftjiujit I'm not sure how / if i'll be able to contribute... but I've been looking for a jumping in point 02:07
the right brew of things at the right time i suppose 02:08
raydiak yep, whatever suits you...btw, Welcome!
02:10 scribouilleur left
raydiak writing and maintaining a module or two can be an easy way to start also 02:10
02:10 coffee` joined 02:12 hovering joined 02:13 nys left, hovering left
grandtehftjiujit thanks, I'm not a very experienced programmer, but I do have a general exposure to html, css, python, and sheel, so maybe I can whip something up :) 02:16
*shell
02:17 noganex joined
raydiak nice...never too late to learn more either; perl 6 is a lot of fun when you get the hang of it 02:17
not that I'm biased :) 02:18
02:20 noganex_ left
raydiak usually you'd get much more vocal reception, but a good portion of our contributors are asleep atm, in Europe 02:20
02:21 laouji joined
grandtehftjiujit ic, that's quite alright 02:23
i'm finding it quite fun already. I felt like i was grinding my teeth a bit on perl5 so when I whipped my first rakudo spin I was pleasantly surprised / relieved / excited :) 02:25
raydiak glad to hear it :) I thought parts of it were a bit odd at first when I came from a p5 background, but I'm quite happy I switched now 02:29
TimToady isn't here either :) 02:33
yoleaux 19 Jun 2015 21:24Z <jnthn> TimToady: in STD, "my $exists = @foo[0]:exists" puts the adverb on the whole scope decl, because adverbs have item assignment precedence, put the initializer preclimits to item assignment. In Rakudo we wrongly had preclimit doing exclusive, not inclusive, checking, so we never noticed until now.
19 Jun 2015 21:26Z <jnthn> TimToady: s/put/but/. Also I don't immediately see a good fix; I suspect changing adverb's prec will have bad effects, but initializer doesn't feel like the right change either. Ideas welcome. :)
02:34 grandtehftjiujit left 02:38 rmgk_ joined, rmgk is now known as Guest55898, Guest55898 left, rmgk_ is now known as rmgk
raydiak wonders if TimToady's quasiabsent state too closely resembles a ghost and scared grandtehftjiujit away 02:39
TimToady .tell jnthn well, it looks to me as though initializers are already correctly parsing at i= prec, so it seems like it would be pretty easy to give adverbs a precedence "slightly tighter" than that as it says in S03:1533, maybe "i^=" or so 02:43
yoleaux TimToady: I'll pass your message to jnthn.
02:46 kivutar joined 03:11 CQ_ joined 03:13 CQ left, CQ_ is now known as CQ 03:43 schmooster joined 03:49 kivutar left 04:03 gtbjj joined 04:09 gtbjj left 04:20 BenGoldberg left 04:25 skids left 05:04 zacts joined 05:21 kaare__ joined 05:23 kivutar joined 05:29 aborazmeh joined, aborazmeh left, aborazmeh joined 05:31 krishna1 joined 05:32 laouji left 05:33 laouji joined 05:38 laouji left 05:41 krishna1 left 05:46 Psyche^_ joined, laouji joined 05:48 krishna1 joined 05:50 Psyche^ left 06:10 araujo_ joined, araujo left 06:18 kivutar left 06:19 Sqirrel left 06:26 krishna1 left 06:33 Sqirrel joined 06:47 aborazmeh left 06:52 aborazmeh joined, aborazmeh left, aborazmeh joined 06:55 bin_005 left 06:56 bin_005 joined 07:00 TEttinger joined
TEttinger someone in another channel was describing the trouble he was having designing a compiler in Java. "It's just like, you want to start with no types, like ruby or something, and only once you understand it you assign the types." I smirked inside and said "like... gradual typing?" 07:02
07:04 ShimmerFairy left 07:06 RabidGravy joined
TEttinger so if I want to describe something in NQP that gets completely ignored after it's parsed, not even counting as a part of other parsed forms, how would I do that? 07:08
in clojure, the language feature that I want to implement is done with #_ followed immediately by the form to be ignored. something like (def myVar #_(/ 10 0) "the value I want") wouldn't ever evaluate the 10 divide by 0 07:09
07:12 _mg_ joined 07:16 ShimmerFairy joined 07:17 _mg_ left
TEttinger looks like I need to add it to the ws token? 07:18
07:30 kivutar joined 07:41 FROGGS joined 07:44 salv00 left 07:45 _mg_ joined 07:47 _mg_ left 08:00 diana_olhovik joined
xinming Just cruious, When we have ~$object Is there a way to override the default behavior so $object can return the different things in Str context? 08:00
moritz TEttinger: or you can simply not return an AST from the action method; or a null op 08:01
xinming: yes, define a method Str
xinming ah, sorry, I tried that, But I put it into the wrong class. >_< 08:02
that's what I did, I just now realized I put the method in wrong class
08:11 diana_olhovik left
dalek ast: 4366d91 | usev6++ | S04-exceptions/fail.t:
Add test (fudged 'todo') for RT #115436
08:14
ast: fa9de57 | usev6++ | S02-types/lazy-lists.t:
Unfudge passing test for JVM, RT #121994
08:16 darutoko joined
RabidGravy er, "Cannot find method 'is_composed'" that's helpful 08:22
yoleaux 19 Jun 2015 12:28Z <jnthn> RabidGravy: if rt.perl.org/Ticket/Display.html?id=125408 also seems fixed for him (I just tried it and it doesn't fail)
08:27 _mg_ joined 08:28 salva joined, aborazmeh left
TEttinger oh boy, this is gonna be fun... how do I either make the existing ww method recognize more characters as valid components of names (that need spaces between tokens), or make my own equivalent to ww for a more permissive identifier char set? 08:32
the rule I have for a variable is : 08:33
token value:sym<variable> { <-[\d\c[APOSTROPHE]\c[QUOTATION MARK]\c[NUMBER SIGN]\{\}\(\)\[\]\~\,\s\/]> <-[\c[APOSTROPHE]\c[QUOTATION MARK]\c[NUMBER SIGN]\{\}\(\)\[\]\~\,\s\/]>* }
(can't start with a number, can't ever contain the other chars)
RabidGravy jnthn, nope #125408 still fails with the same error 08:35
08:40 rindolf joined 08:44 tinyblak joined
dalek ast: 6ea448b | usev6++ | S03-operators/arith.t:
Add test for RT #123077
08:50
xinming Just curious, Is there something like lazy build feature for class attributes? 08:51
I mean object attributes 08:52
08:52 steve_mc left
RabidGravy ah, found it 08:53
m: enum Error ( Metadata => -20); class Metadata { } 08:54
camelia rakudo-moar d47424: OUTPUT«===SORRY!===␤Cannot find method 'is_composed'␤»
RabidGravy xinming, I think someone made something experimental a while back but it's not in rakudo
timotimo right, it's supposed to go into module space, but nobody put it up yet 08:55
xinming RabidGravy: will that be something like has $.attr is lazy { }... ?
08:55 gfldex joined
timotimo xinming: github.com/rakudo/rakudo/commit/34788bf - you can basically put the reverse of this commit into a .pm file and use that, then you can has $.attr will lazy { ... } 08:56
08:57 tinyblak left
timotimo there should be an earlier commit that explains it in a bit more detail, i imagine 08:57
but i gotta go for now
TTYL!
RabidGravy byeeeeee
xinming Ok, Thanks 08:59
xinming waves
09:05 steve_mc joined 09:07 _mg_ left 09:12 _mg_ joined 09:13 _mg_ left
masak good antenoon, #perl6 09:20
jnthn o/
yoleaux 02:43Z <TimToady> jnthn: well, it looks to me as though initializers are already correctly parsing at i= prec, so it seems like it would be pretty easy to give adverbs a precedence "slightly tighter" than that as it says in S03:1533, maybe "i^=" or so
09:22 araujo_ left 09:24 kivutar left
TEttinger good <time of day> jnthn, masak! 09:26
I'm not sure here, how do I either make the existing ww method recognize more characters as valid components of names (that need spaces between tokens), or make my own equivalent to ww for a more permissive identifier char set?
if I just steal nqp's ww, it only uses word chars, but I allow more than taht 09:27
moritz TEttinger: you can implement the equivalent of ww with look-ahead and look-behind assertions 09:28
TEttinger I know in JVM regexes that uss something like (?>![my thing]) 09:30
I have no idea how perl assertion regexy things do it
RabidGravy m: enum Error ( Metadata => -20); class Metadata { }; # I may RT this as a somewhat less than awesome diagnostic message, it took me ages to find it in a large enum 09:31
camelia rakudo-moar d47424: OUTPUT«===SORRY!===␤Cannot find method 'is_composed'␤»
09:35 spider-mario joined
jnthn RabidGravy: Please do, it's an easy fix 09:35
09:36 _mg_ joined 09:42 _mg_ left
RabidGravy jnthn, in as #125441 09:46
jnthn, in regard to the RT#125408 it still appears to be doing it for me 09:48
09:49 muethos joined
jnthn RabidGravy: Odd, I ran the code from RT#125408 and it completed successfully, and I bumped up the thresholds and the same... :S 09:49
RabidGravy: Will have to give it another guy, mebbe will try it on another platform
RabidGravy Would it be fixed in some bump of moar that a plain rakudobrew wouldn't get? 09:51
(this on a linux x86_64 btw) 09:52
timotimo damn this guy 09:55
TEttinger timotimo: mips stuff?
timotimo no, just punning off jnthn's typo
TEttinger so, how bout them look-ahead and look-behind assertions? where would I look to learn more about those? 09:57
jnthn oh wow, "another try" :)
RabidGravy: No, I don't think there's been any relevant commits since 2015.06 09:58
09:58 tinyblak joined, spintronic left, spintronic joined
jnthn yay, the TimToady++ suggestion on fake infix prec seems to help... 10:01
Though only so much...
(Helps the adverb issue, but seems there's still spectest fallout) 10:02
dalek kudo/nom: 146ad05 | usev6++ | src/core/Failure.pm:
Type check when creating Failure object with '.new'

fixes RT #115436
10:03
kudo/nom: 1cc73fc | jnthn++ | src/core/Failure.pm:
Merge pull request #442 from usev6/type_check_for_failure

Type check when creating Failure object with '.new'
jnthn m: my $pair = 'foo' => 'bar'; say $pair 10:04
camelia rakudo-moar d47424: OUTPUT«foo => bar␤»
jnthn Damm it, we've broken that one too... 10:05
TEttinger so currently my ws token is this:
token ws { <!ww> [\s | ',' | <.comment> ]* }
I'm not sure what the ! before ww means 10:06
jnthn TEttinger: "does not match here" 10:07
(And zero-width)
TEttinger good
thanks, jnthn++
10:08 kivutar joined
TEttinger moritz++ mentioned that lookaround could be used here to replicate ww, but AFAICT the syntax is going to be different 10:08
(than other regex engines, since this isn't a regex, or is it?)
10:11 espadrine joined
jnthn Depends how you define "regex". token/rule turn off backtracking, which means you san performantly parse, but Perl 6 regexes are using the same syntax as the rule/token stuff you're using 10:13
m: my $b = 2; my $a = $b = 3; say $a; say $b; 10:16
camelia rakudo-moar d47424: OUTPUT«3␤3␤»
jnthn .tell TimToady While that helps the colon pair case, we run into problems with pairs, as in "my $a = 'foo' => 'bar'", because those are %item_assignment too. Also chained assignments to declarators seem to go wrong (e.g. my $a = $b = 2).
yoleaux jnthn: I'll pass your message to TimToady.
10:16 lizmat joined
lizmat waves from home 10:18
vendethiel o/ lizmat!
lizmat vendethiel o/
jnthn o/ lizmat
lizmat jnthn o/
TEttinger hallo
jnthn Hope the journey was uneventful :)
lizmat yes, smooth and uneventful
jnthn yay
lizmat first thing to do: git pull; make; make spectest 10:21
when running as part of the spectest, t/spec/S17-supply/unique.t hangs for me
runs fine by itself :-(
TEttinger I'm really sorry to keep bothering everyone, but... where would I learn more about how NQP grammar stuff works? I'm most of the way through Edument's NQP thing ( edumentab.github.io/rakudo-and-nqp-...s-day1.pdf ), even though it doesn't make that much sense yet because I'm still learning... Perl. 10:24
the Edument course didn't explain <!...> at all, so I am not thinking it will explain stuff like other regex-style matching 10:25
jnthn TEttinger: Did you read the Perl 6 regex/grammar docs yet?
TEttinger: 'cus the syntax is the same
TEttinger I have no idea where they are
I'd guess perl6.org
jnthn doc.perl6.org/language/regexes and doc.perl6.org/language/grammars 10:26
TEttinger doc.perl6.org/language.html ? ah ok
10:28 laouji left
lizmat jnthn: datapoint: it hangs without using any CPU 10:28
hmmm... and now it was t/spec/S17-supply/map.t that hang
*hung :-)
TEttinger huh, lookahead is empty, it's just <?before foo> right? 10:29
jnthn TEttinger: Yes, <?before foo> or if you just have a char class <?[abc]>, or you can use any other token/rule as a lookahead with <?name>
And ! in all of those places instead for negative lookahead 10:30
TEttinger gotcha, thanks!
so if I wanted to check if there was this token, neither ahead or behind: token value:sym<variable> { ... } (there's a very long character class in there) 10:31
I would use <?!after variable> <?!before variable> 10:32
or would it need value:sym<variable>
jnthn Any time you see foo:sym<bar> it's part of an alternation (known as a "protoregex"
You can't talk about those directly
TEttinger ok, so put that in its own thing, have the protoregex reference it? 10:33
jnthn You should factor the shared stuff out to a token of its own, have your token value:sym<variable> look more like <variable>, and then use that.
Yes, you've got it.
lizmat takes a geezette nap 10:34
TEttinger oh, and <?!after variable> <?!before variable> will make it require Both of those, right?
similar to ww 10:35
jnthn TEttinger: ?! looks...odd
If you mean "not after a variable" and "not before a variable" just <!after <variable>> <!before <variable>> would do it 10:36
TEttinger doc.perl6.org/language/regexes#Look...assertions ?
huh
ok
jnthn Oddness 10:37
The ? is redundant, I thought...
TEttinger it also hasn't filled in lookahead in the section above
maybe outdated?
jnthn I suspect the lookahead bit is just "not written yet" 10:39
The docs situation has gotten loads better over the last year, but there's still gaps.
m: my $a = a => b => c; say $a.perl 10:40
camelia rakudo-moar 1cc73f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QXFMqTPXnl␤Undeclared routine:␤ c used at line 1␤␤»
jnthn m: my $a = a => b => 'c'; say $a.perl
camelia rakudo-moar 1cc73f: OUTPUT«:a(:b("c"))␤»
jnthn m: my $a = a => 'b' => 'c'; say $a.perl
camelia rakudo-moar 1cc73f: OUTPUT«:a(:b("c"))␤»
jnthn m: multi foo($a where { $_ == False } = True) { }; foo(False); 10:46
camelia rakudo-moar 1cc73f: OUTPUT«Cannot modify an immutable Block␤ in sub foo at /tmp/KKGuUn55Kc:1␤ in block <unit> at /tmp/KKGuUn55Kc:1␤␤»
dalek p: 046eb33 | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for updated MAST::Nodes.

The previous version was accidentally invalid NQP syntax, but a precedence limit handling bug in NQP meant we got away with it.
10:48
10:48 kivutar left
dalek p: 1d5165f | jnthn++ | src/HLL/Grammar.nqp:
Correct EXPR precedence limit test.

As per STD, it should be an inclusive, not exclusive, test.
10:49
RabidGravy is making a trait that "auto-handles" all the methods in the object that are marked with another trait a completely insane idea 10:52
I'm a lazy typist
timotimo sounds fine to me
10:55 telex left 10:56 telex joined
jnthn RabidGravy: I'm guessing you're putting the first trait on the class itself? 10:57
dalek kudo/nom: 9ed8577 | jnthn++ | / (2 files):
Get EXPR preclim fix; cope with its fallout.

The EXPR method used to incorrectly test against the precedence limit. This commit bumps to an NQP without this bug. This entails three small changes to Perl6::Grammar. First, we undo a hack in infix:<?? !!> that worked around the precedence limit bug, bringing us in line with STD. The second two changes are needed because we previously parsed both initializers and fatarrows as intended only due to the bug that is now fixed. STD gets things incorrect in these two cases also, but since it only does syntax, not semantics, it has never been noticed until now.
There is no spectest fallout with this patch. There may be a little ecosystem fallout, possibly because we were a little too liberal. With this change, RT #123623 is also fixed.
RabidGravy something like "class Foo { method bar is delegated { .. } } class Bar { has Foo $!foo is auto-proxy }" and an object of Bar has the bar method 10:58
jnthn .tell TimToady I ended up doing github.com/rakudo/rakudo/commit/9ed8577888 which I suspect you'll want to review; as far as I can tell, STD is wrong for ages on these things and we never noticed.
yoleaux jnthn: I'll pass your message to TimToady.
jnthn RabidGravy: You do know about "handles"? 10:59
RabidGravy yes
jnthn RabidGravy: Including the forms where you don't list the method names, but use a type as the matcher? 11:00
Either that or I'm missing some aspect of your problem...
RabidGravy oh wait, no not that part
looks at the handles code again
11:01 FROGGS[mobile] joined
jnthn iirc, "handles Foo" means "fall back to delegate all methods Foo can do to the attribute" 11:01
*delegating
RabidGravy yeah see that now 11:05
FROGGS[mobile] o/
TEttinger QAST::Var.new() takes a :scope like :scope('lexical') or :scope('attribute'); where's the list of the possible scopes and/or what they mean? it isn't in QAST::Var, as far as I can tell 11:08
dalek ast: 40fa9bf | jnthn++ | S (2 files):
Tests covering RT #123623.
11:09
jnthn TEttinger: The course is probably the best best for examples of that
TEttinger ok
jnthn I think it should cover most of them 11:10
RabidGravy though, the subtle difference with what I am thinking is that the delegated class can indicate which methods are thus delegated which I guess could be achieved with some matcher
jnthn You can always look into the QAST -> MAST
11:11 larion joined
jnthn Phew, now our RT queue "only" goes up to page 21, not 22... 11:14
FROGGS ó.ò
jnthn: we'll get that down
jnthn Indeed
FROGGS I will do only RT tickets in near future I guess... in case there are some that I can do
11:15 Ven joined
jnthn I'm sure there will be :) 11:17
timotimo RabidGravy: you can build a role that "marks" all methods that you want to delegate
and then "... handles MyRole" 11:18
jnthn will do some more RTs soon...but lunch first :)
RabidGravy timotimo, ah hah! yes of course 11:19
Ven m: role A[::T] {}; sub f(A[::T]) 11:20
camelia rakudo-moar 9ed857: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol T␤»
Ven m: role A[::T] {}; sub f(A[::T]) { say T.perl }
camelia rakudo-moar 9ed857: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol T␤»
11:20 tinyblak left 11:21 tinyblak joined
Ven I'm not sure I get that error 11:21
(I mean -- I get *why* it happens, but isn't ::T supposed to work here?)
TEttinger m: [+] ^100^3 11:24
camelia ( no output )
TEttinger m: say [+] ^100^3
camelia rakudo-moar 9ed857: OUTPUT«one(100, 3)␤»
TEttinger huh
m: say [+] ^(100^3) 11:25
camelia rakudo-moar 9ed857: OUTPUT«one(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65…»
TEttinger nooooo
Ven m: say (100 ^ 50)
camelia rakudo-moar 9ed857: OUTPUT«one(100, 50)␤»
Ven m: say so 50 == 100 ^ 50)
camelia rakudo-moar 9ed857: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1vudac6KhC␤Unexpected closing bracket␤at /tmp/1vudac6KhC:1␤------> 3say so 50 == 100 ^ 507⏏5)␤»
Ven m: say so 50 == 100 ^ 50 # whoops
camelia rakudo-moar 9ed857: OUTPUT«True␤»
TEttinger is there an exponentiation op?
Ven m: say 50 ** 4
camelia rakudo-moar 9ed857: OUTPUT«6250000␤»
TEttinger m: say [+] ^100**3
camelia rakudo-moar 9ed857: OUTPUT«499999500000␤»
TEttinger nice
golf winnar
m: say [+]^100**3 # curious 11:26
camelia rakudo-moar 9ed857: OUTPUT«one(0, 1000000)␤»
TEttinger ha
timotimo jnthn: you remember my little SMOP? :) 11:31
bartolin m: class A { has @.ints }; my $one = A.new; $one.ints = [1, 2]; say $one.ints.elems 11:34
camelia rakudo-moar 9ed857: OUTPUT«1␤»
bartolin m: class A { has @.ints }; my $one = A.new( ints => [1, 2] ); say $one.ints.elems 11:35
camelia rakudo-moar 9ed857: OUTPUT«2␤»
bartolin I wonder whether that's correct 11:36
11:36 kurahaupo left
timotimo m: my @foo; @foo = [1, 2]; say @foo.elems 11:37
camelia rakudo-moar 9ed857: OUTPUT«1␤»
bartolin RT #123757 seems to state that the second evaluation shoud give 1 as well.
timotimo probably should
masak no please no
bartolin but we have a test for RT #74636 which seems to go with itemization
masak: ?
masak I fought at one point for the second evaluation giving 2.
timotimo oh
masak it still seems like an eminently good idea to me 11:38
timotimo listen to the masak with the experience
masak let's at least please discuss this first
Ven m: class A { has @.ints; submethod BUILD(:@.ints) {} }; my $one = A.new( ints => [1, 2] ); say $one.ints.elems 11:39
camelia rakudo-moar 9ed857: OUTPUT«2␤»
masak `my @foo = 1, 2; say A.new( ints => @foo ).ints.elems;` -- 1 or 2?
Ven two
masak agreed.
so `ints => [1, 2]` should also give 2
not a very solid argument, but maybe the beginning of a solid one 11:40
Ven I don't understand the argument. (1, 2) is (*currently*) different from [1,2]
masak basically, list assignment is not the same as attr initialization by constructor argument 11:41
Ven m: class A { has @.ints }; my $one = A.new( ints => (1, 2, (3, (4,))) ); say $one.ints.elems
camelia rakudo-moar 9ed857: OUTPUT«4␤»
masak if GLR makes that one into 3, I'm fine with that.
I'm talking specifically about [] DWIMming when passing constructor arguments. 11:42
I could probably dig up a very old RT ticket about this, too.
Ven m: class A { has @.ints; }; my $one = A.new( ints => $(1, 2) ); say $one.ints.elems
camelia rakudo-moar 9ed857: OUTPUT«2␤»
masak I remember discussing this in 2010 with mberends and jnthn, in the back of a car moving some of jnthn's stuff to .se
Ven (I don't have an opinion on that, FWIW. I can agree with both point of views) 11:43
bartolin masak++ # stories from the past ;-)
11:43 kurahaupo joined
Ven masak: what do you think of irclog.perlgeek.de/perl6/2015-06-20#i_10777713 ? 11:44
masak I'll also try to dig up the spec change that made things more in line with what I'm arguing for now.
Ven m: class A{}; role T[A]{}; T[5]; # <- doesn't fail 11:45
camelia ( no output )
Ven m: class A{}; role T[A]{}; T[5].perl.say; # <- but does here
camelia rakudo-moar 9ed857: OUTPUT«No appropriate parametric role variant available for 'T'␤ in any specialize at src/gen/m-Metamodel.nqp:2437␤ in any specialize at src/gen/m-Metamodel.nqp:2031␤ in any compose at src/gen/m-Metamodel.nqp:2747␤ in any make_pun at src/gen/m-Metamod…»
masak Ven: I... think that's the first time I see a type capture inside a [] after a role in a type signature. 11:46
Ven: I agree it'd be lovely if that worked, but I'm not sure how realistict it is to expect it to work.
Ven: either way, please rakudobug it.
Ven I might've pasted another one like that before, not sure if that's been rakudobugged though
I think jnthn++'s answer was a bit of the same :-)
masak: well, I'm just wondering -- how could I write a polymorphic reverse? 11:47
timotimo jnthn: it could very well be that send-more-money-subs doesn't lower one of the sigs because the choose and guard subs take an &-sigiled variable and the lowerer doesn't check for that
Ven m: multi role T[5] { method f { "first" } }; multi role T[6] { method f { "second " } }; say T[6].f;
camelia rakudo-moar 9ed857: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1GKegXIpAh␤Missing block␤at /tmp/1GKegXIpAh:1␤------> 3multi role7⏏5 T[5] { method f { "first" } }; multi ro␤ expecting any of:␤ new name to be defined␤»
Ven m: role T[5] { method f { "first" } }; role T[6] { method f { "second " } }; say T[6].f; 11:48
camelia rakudo-moar 9ed857: OUTPUT«second ␤»
Ven m: role T[5] { method f { "first" } }; role T[6] { method f { "second " } }; BEGIN say T[6].f;
camelia rakudo-moar 9ed857: OUTPUT«second ␤»
timotimo hm, i don't think that's it 11:49
11:49 bin_005 left
masak bartolin, timotimo: found the relevant backlog: irclog.perlgeek.de/perl6/2010-03-07#i_2073494 11:50
<pmichaud> masak: we're still working out list issues, sadly.
(from 2010!)
yeah, good thing we managed to get past that stage! :P:P:P 11:51
bartolin masak: thanks a lot for digging!
bartolin reads
masak m: class A { has @.ints }; my @ints = 1, 2; my $a = A.new(:@ints); say $a.ints.elems; @ints.push(3); $a.ints.elems 11:53
camelia rakudo-moar 9ed857: OUTPUT«2␤»
masak m: class A { has @.ints }; my @ints = 1, 2; my $a = A.new(:@ints); say $a.ints.elems; @ints.push(3); say $a.ints.elems
camelia rakudo-moar 9ed857: OUTPUT«2␤2␤»
Ven (there's no way to access type parameters from "outside", right? like List[Int].^something
)
masak seems we got it exactly right since that backlog in 2010.
Ven: .of ? 11:54
Ven masak: in the case of List, yes :). I meant a more general "role A[::X] {}; say A[Int]::X" (or .X)
masak m: my Array[Int] $l; say $l.of
camelia rakudo-moar 9ed857: OUTPUT«(Int)␤»
masak Ven: then why ask the more specific question? I'm confused.
11:55 nys joined
Ven masak: that's why my question said "type parameters", but yeah :) 11:55
masak ok.
anyway, I think the answer to your general question is "no, unfortunately not" 11:56
Ven masak: (just in case, the stuff I was trying to do lives here: github.com/vendethiel/6meta-experi...rch.pl#L18 ) 11:58
11:58 cognominal joined 12:01 cognominal left 12:06 Ven left 12:08 diana_olhovik joined
timotimo multi sub squish(*@values, |c) { @values.squish(|c) } 12:17
oh, i was about to ask "what is this", but it's just %*
basically
masak vendethiel: thank you for pushing the limits of Perl 6 implementations the way you do. I find it very interesting. 12:19
timotimo we don't lower the signature of Capture.new, which is method new(:@list,:%hash) { 12:20
vendethiel masak: you must not consider yourself an "implementor" for thanking me *g* 12:21
(but really, thank everyone who did that in other languages / papers in literature / etc. I'm barely trying to translate it to p6)
masak vendethiel: I'm actually not sure whether I consider myself an implementor. but I see what you mean ;) 12:22
vendethiel: I am invested in Perl 6 converging on solid theory in cases like this. 12:23
12:24 AlexDaniel joined, Ven joined
Ven masak: I'm very scared by all the possible interactions. But perl6 is *consistent* at its core, or cheats really well to get there :) 12:24
masak walk & 12:25
timotimo aha! 12:26
it's quite possible that the slow-path binder gets invoked because Setty's submethod BUILD (does it even get called if it comes in from a role?) doesn't get lowered 12:27
submethod BUILD (:%!elems) { self }
TEttinger I'm trying to wrap my head around some of the rubyish code from the course. github.com/perl6/nqp/blob/master/e...#L694-L704 12:29
it assigns to $var , it puts it in the block[0] , but then later it does a make on a different variable 12:30
Ven also funny that this works:
m: my role X[::T] { my T $x; method f { say $x.perl } }; say X[Int].f; 12:31
camelia rakudo-moar 9ed857: OUTPUT«Int␤True␤»
TEttinger is the make really putting an identifier into the AST, not making a new Var ?
Ven but this doesn't:
m: my role X[::T] { method create(--> T) { T.new } }; say X[Int].create; say Int.new;
camelia rakudo-moar 9ed857: OUTPUT«Type check failed for return value; expected 'T' but got 'Int'␤ in any return_error at src/vm/moar/Perl6/Ops.nqp:650␤ in method create at /tmp/abDgsxjbd5:1␤ in any at src/gen/m-Metamodel.nqp:1643␤ in block <unit> at /tmp/abDgsxjbd5:1␤␤»
12:32 cognominal joined, _mg_ joined
timotimo TEttinger: it looks like $block.symbol is also a setter, more or less 12:32
TEttinger: also, pushing something onto a block's first child is what you do to add lexical definitions properly 12:33
and the thing it makes is a reference to the created variable
TEttinger oh ok
timotimo you can see the difference in whether or not :decl is present
TEttinger so it's returning a reference regardless, but if it isn't declared already, it declares it first? 12:34
got it
timotimo sounds sensible to me 12:36
jnthn timotimo: It's entirely possible we don't know how to compile attributive param binds, yes 12:39
timotimo yes, we bail out for that explicitly
i was thinking i could probably implement it easily
dalek kudo/nom: 6bba8ab | jnthn++ | src/Perl6/Grammar.nqp:
Fix bad error on redeclaring an enum element.

Fixes RT #125441.
12:40
ast: 7404f8c | jnthn++ | S32-exceptions/misc.t:
Test for RT #125441.
jnthn timotimo: I think it shoudln't be too bad to do, yeah
Woodi hallo #perl6 :) 12:43
dalek ast: dbf53cb | usev6++ | S12-attributes/instance.t:
Add tests for RT #118559 and RT #120059
12:44
Woodi skids: what exactly must-haves Emacs have ? maybe rest of the World could use thes too ? :) 12:45
Ven Woodi: evil-mode :P 12:47
dalek ast: f86283d | jnthn++ | S12-introspection/meta-class.t:
No longer have prefix ^ meaning "HOW".

Resolves RT #125016.
12:48
Woodi Ven: but this is vi4emacs, I thinked skids was talking about something in emacs what is missed anywhere else 12:51
dalek ast: 3a01073 | jnthn++ | S12-introspection/meta-class.t:
.^layout is spelled .REPR these days; update test.

Resolves RT #125018.
12:52
Woodi anyway I prefer to do not play with any evil(s) :)
12:53 Ven left, spintronic left, Ven joined 12:54 _mg_ left
dalek kudo/nom: a0fa1a7 | jnthn++ | src/core/operators.pm:
Add HOW(...); it's mentioned in spec and tested.

And is consistent with having WHAT and VAR.
12:56
Ven jnthn: shouldn't that "Wants" become "Want" them? 12:57
Woodi masak: "model refactoring" looks a bit like ORM layer and it would be simplest way for some tool. I think Positional role is step in such direction. now we need a meta roles that know how to automatically convert things :)
12:57 spintronic joined
jnthn Like I know how to English... 12:57
timotimo now i've changed the output of my "failure to lower signature" complain sub so that vim understands it 12:58
dalek ast: 4ee860b | jnthn++ | S12-introspection/meta-class.t:
Unfudge test for HOW(...).
colomon imagines Englishing involves walking around saying “What, what” and “Sorry old chap”
Ven m: macro MYHOW($x) { quasi { {{{$x}}}.HOW } }; say MYHOW(3);
camelia rakudo-moar 9ed857: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»
Woodi so <?foo> is zero-width lookahead and it do not moe cursor... what it do ? marks some bit in engine and allows to construct some if(<?foo>) then { ... } ? 13:00
*move 13:01
timotimo what engine?
jnthn: are you aware we seem to bail out of every method defined in a role because type_captures is set? at least it seems to be that way 13:03
um 13:05
or maybe that's the signature of the role itself? 13:06
jnthn Probably that of the role itself 13:08
[ptc] colomon: there's probably a lot of "quite", "indeed" and "rather" as well ;-)
jnthn I think we'd be seeing a lot more bails otherwise.
timotimo yes, you are right 13:09
Woodi timotimo: the thingie that moves corsor :) I assumed it's about grammars
timotimo Woodi: that's correct. where does "if(<?foo>) then { ... }" come from? that doesn't seem like anything in perl6
jnthn: what's tricky about doing method new(:@list,:%hash) { 13:10
Woodi no 'if's. just description how it could work...
timotimo it seems like it's a bail because we don't have a default value for @list
jnthn timotimo: Not sure without looking. Is it perhaps optional array/hash args?
timotimo yeah 13:11
i just put a ! at the end to see if the bail disappears :)
13:13 diana_olhovik left
timotimo hm. i have no idea what nominal_generic does 13:15
"this can happen in (::T, T)" 13:16
hm. we quite often have ::?CLASS:D in signatures just because we want the :D, but don't necessarily know the class 13:18
that keeps the binder lowerer from lowering
bind_accessor being set in %info is never the reason for a bail 13:20
dalek kudo/nom: 936ef82 | jnthn++ | src/Perl6/Grammar.nqp:
Allow invocant colon at EOF.

Fixes RT #125440.
13:21
13:21 rindolf left
dalek ast: 8724f14 | jnthn++ | S12-methods/indirect_notation.t:
Test for RT #125440.
13:21
jnthn timotimo: Hm, the ::?CLASS:D one is probably fixable 13:22
timotimo i thought it would be, but i'm not 100% sure how. just detecting it's ::?CLASS and as such we don't actually set the value of ::?CLASS
and also ::?CLASS: is never actually worth a type check
hm. actually ... not never 13:23
jnthn It can matter
timotimo like if we .^find_method for example
jnthn Well, it's more that we should emit code to look up the type var
(lexically)
timotimo fair enough
jnthn There's even a typevar scope iirc
So that spesh would know that it can cache the lookup if it's specializing on invocant type 13:24
Which means it could even eliminate the type check
timotimo i'm more worried about the reason why :%!config, for example, bails out because of "no default value, but we have a % sigil"
that means it doesn't properly set bind_accessor in the %info hash 13:25
oh, hold on
bind_accessor is for %.config
bind_attr is for ! twigils
and we do support that 13:26
AlexDaniel timotimo: p6monthly :(
:)
timotimo i've been a bit tuitdrained and i - for some reason - didn't ask lizmat for assistance 13:27
jnthn errands & 13:31
13:35 araujo joined, araujo left, araujo joined
dalek line-Perl5: 54672b6 | (Stefan Seifert)++ | t/from.t:
Simplify test code a bit by using "new" features.
13:38
line-Perl5: db5dff2 | (Stefan Seifert)++ | README.md:
Major documentation update.

Added documentation for all implemented features. Updated examples to reflect the development of the past months. Document more details like return values.
13:40
timotimo m: sub test(:@arr) { say @arr.perl }; test();
camelia rakudo-moar a0fa1a: OUTPUT«[]<>␤»
timotimo m: sub test(:@arr) { say @arr.DUMP }; test(); 13:41
camelia rakudo-moar a0fa1a: OUTPUT«Array<1>(␤ :$!flattens(True),␤ :$!items(▶Mu),␤ :$!nextiter(▶Mu)␤)␤»
timotimo m: say Array.new().perl
camelia rakudo-moar a0fa1a: OUTPUT«[]<>␤»
timotimo m: say Array.new().DUMP
camelia rakudo-moar a0fa1a: OUTPUT«Array<1>(␤ :$!flattens(True),␤ :$!items(▶Mu),␤ :$!nextiter(ListIter<4>(␤ :$!list(=Array<1>),␤ :$!reified(▶Mu),␤ :$!nextiter(▶Mu),␤ :$!rest(BOOTArray<5>())␤ ))␤)␤»
dalek ast: 21babba | usev6++ | S04-exceptions/fail.t:
Unfudge test for RT #115436
13:43
timotimo ah, i know what i have to do: 13:47
m: use nqp; my $a := nqp::create(Array); nqp::bindattr($a, List, '$!flattens', True); say $a.dump; 13:48
camelia rakudo-moar a0fa1a: OUTPUT«Method 'dump' not found for invocant of class 'Array'␤ in block <unit> at /tmp/OJ33USE0Ix:1␤␤»
timotimo m: use nqp; my $a := nqp::create(Array); nqp::bindattr($a, List, '$!flattens', True); say $a.DUMP;
camelia rakudo-moar a0fa1a: OUTPUT«Array<1>(␤ :$!flattens(True),␤ :$!items(▶Mu),␤ :$!nextiter(▶Mu)␤)␤»
timotimo m: use nqp; my $a := nqp::create(Array); say $a.DUMP;
camelia rakudo-moar a0fa1a: OUTPUT«Array<1>(␤ :$!flattens(▶Mu),␤ :$!items(▶Mu),␤ :$!nextiter(▶Mu)␤)␤»
timotimo right.
13:50 _mg_ joined
timotimo m: use nqp; my $a := nqp::bindattr(nqp::create(Array), List, '$!flattens', True); say $a.DUMP; 13:55
camelia rakudo-moar 936ef8: OUTPUT«True␤»
timotimo damn, it doesn't return its first param :(
13:56 aborazmeh joined, aborazmeh left, aborazmeh joined 13:58 Sqirrel left, skids joined 14:01 Sqirrel joined 14:04 brrt joined, Ven left
timotimo commutes 14:05
brrt \o
14:07 domidumont joined 14:08 xxx left 14:10 xxx joined 14:11 domidumont left, domidumont joined
ugexe ultimately should a package/module manager only build/test/install items listed in the `provides`? 14:13
as in, it shouldnt walk the directories looking for files 14:14
14:15 Aurelie joined
ugexe also regarding `provides`, is having 2 unit names point to the same file OK? A => lib/module.pm, B => lib/module.pm 14:16
14:17 domidumont left 14:19 aborazmeh left 14:20 domidumont joined 14:21 Ven joined
brrt ugexe: counterargument: source code should be authorative over some configuration file 14:22
ugexe the source code doesnt link to files 14:23
you need to map the source's use/require whatever to a file name somehow
brrt hmm
i see what you mean
having the full fileset in a module explicit would be a big advantage in precompilation / packaging scenario 14:24
skids jnthn++ RT slaughtering 14:27
14:27 Ven left
ugexe brrt: the other thing is you still need to find which files are part of a package. In the best case scenario you just look at the provides in META.info. The other way is to do a recursive file search for all .pm/.pm6 files from a base directory and try to precompile them... maybe this is ok, but if extra stuff ends up in that directory later it may try to precompile/run code that doesnt belong belong to the c 14:31
rusty old repo you thought you were installing
14:31 yqt joined
brrt hmmm 14:33
yes
RabidGravy can I reliably do this:
m: my $a = sub foo() returns Bool {} ; my $b = $a.signature.returns; say $b(0)
camelia rakudo-moar 936ef8: OUTPUT«False␤»
RabidGravy for all built in types?
14:34 skids left
ugexe i hope so, thats nifty 14:34
14:41 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo m: say Bool(0); say Int(0); say List(0) 14:42
camelia rakudo-moar 936ef8: OUTPUT«False␤0␤0␤»
timotimo m: say Bool(0).perl; say Int(0).perl; say List(0).perl
camelia rakudo-moar 936ef8: OUTPUT«Bool::False␤0␤(0,)␤»
14:42 _mg_ left
moritz no 14:50
you can't create a Code object like that, for example 14:51
14:56 domidumont left 14:59 ugexe left
RabidGravy sorry, not quite sure what you mean 15:00
timotimo m: Code(0).perl.say
camelia rakudo-moar 936ef8: OUTPUT«(signal SEGV)»
timotimo ^- he means that
RabidGravy oh, I see
15:02 ugexe joined
cognominal jnthn empties RT faster than masak can pour :) 15:03
RabidGravy but for a given type $a and type $b where $b.can($a.perl) one can do $a($b) 15:07
I think that's safe
lizmat timotimo: I will do the P63W next Monday then?
timotimo for 63 weeks? 15:08
wow, ambitious!
but yeah, i'd appreciate it
nwc10 I think it's the Perl 3 for 6 weeks. Or something like that :-)
timotimo %) 15:09
15:10 naptastic left 15:11 kurahaupo left
lizmat nononono It's the new Perl 63 :-) that's 9 * 7 to you :-) 15:11
brrt perl 61 would be prime 15:15
timotimo a prime example 15:17
huf why restrict yourself to just traditional numbers? what about perl galoshty-four?
15:18 espadrine left
jnthn FROGGS: Didn't you implement ignoremark already? If so, is rt.perl.org/Ticket/Display.html?id=116256 resolvable? 15:23
15:23 kurahaupo joined 15:25 aindilis left 15:27 aborazmeh left
jnthn m: say "ü" ~~ /:ignoremark 'u'/ 15:36
camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
jnthn m: say "ü" ~~ /:m 'u'/ 15:37
camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
jnthn hm, mebbe not
bartolin m: say "ü" ~~ m:ignoremark/ u / 15:39
camelia rakudo-moar 936ef8: OUTPUT«「ü」␤»
dalek kudo/nom: bbc369b | jnthn++ | src/Perl6/Optimizer.nqp:
Do not inline blocks with exit handlers.

Otherwise, we'll miss running any LEAVE, POST, etc. Fixes RT #113950.
15:40
15:40 setty1 joined
dalek ast: f15b126 | jnthn++ | S04-phasers/enter-leave.t:
Unfudge test for RT #113950.
15:41
jnthn Another one down.
bartolin jnthn++ 15:42
jnthn Hm, and now let's see if I can fix one that goes all the way back to 2010...
brrt \o/ 15:43
jnthn Filed by masak, of course...
:)
FROGGS m: say "ü" ~~ /:ignoremark 'u'/
camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
FROGGS m: say "ü" ~~ /:m 'u'/ 15:44
camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
FROGGS ahh
hmmm
jnthn heh, glad the ticket found an actual bug
FROGGS jnthn: yes, should be doable without much fuzz 15:45
jnthn Yeah, I figured you already did the hart part :)
uh, hard
bartolin well, schwierig :-)
FROGGS jnthn: will fix it this evening, dont wanna switch branches right now 15:49
15:49 silug joined
jnthn m: class A { submethod m() { } }; class B is A { }; B.m 15:49
camelia rakudo-moar 936ef8: OUTPUT«Method 'm' not found for invocant of class 'B'␤ in block <unit> at /tmp/uxkvnmpXLh:1␤␤»
15:49 espadrine joined
jnthn m: class A { submethod m() is default { } }; class B is A { }; B.m 15:49
camelia ( no output )
15:50 Aurelie left 15:51 schmooster left
moritz m: say "ä" ~~ /:m a/ 15:52
camelia rakudo-moar 936ef8: OUTPUT«「ä」␤»
moritz m: say "ä" ~~ /:m zkya/ 15:53
camelia rakudo-moar 936ef8: OUTPUT«Nil␤»
moritz we can't do the index search when :m is in scope
dalek kudo/nom: a59d812 | usev6++ | src/core/Mu.pm:
Use nqp::decont on attributes passed with .clone

Fixes RT #120059
kudo/nom: f658992 | lizmat++ | src/core/Mu.pm:
Merge pull request #443 from usev6/clone_attributes

Use nqp::decont on attributes passed with .clone
FROGGS moritz: good catch
m: say "ä" ~~ m:m/zkya/
camelia rakudo-moar 936ef8: OUTPUT«False␤»
moritz wonders if he did that optimization in rakudo or in nqp 15:54
FROGGS m: say "ü" ~~ m:ignoremark/ au /
camelia rakudo-moar 936ef8: OUTPUT«False␤»
FROGGS I thought that gets tested...
zostay m: sub x { }; GLOBAL::<&x>.perl.say 15:56
camelia rakudo-moar 936ef8: OUTPUT«Any␤»
zostay m: sub x { }; GLOBAL::.perl.say 15:57
camelia rakudo-moar 936ef8: OUTPUT«{}<>␤»
zostay are the symbol tables not being populated yet or am i missing something?
jnthn Subs are lexical by default.
dalek kudo/nom: be122ad | lizmat++ | lib/Test.pm:
Fix 2 throws_like omissions
15:58
zostay m: our sub x { }; GLOBAL::.perl.say
camelia rakudo-moar 936ef8: OUTPUT«{"\&x" => sub x () { #`(Sub|44146728) ... }}<>␤»
zostay thx
moritz the index_s optimization already checks for 'ignorecase', 'ignoremark' and 'ignorecase+ignoremark' 16:07
16:12 rindolf joined 16:20 uncleyear left 16:21 uncleyear joined 16:24 muethos left, lolisa joined 16:27 brrt left, araujo left 16:29 araujo joined
RabidGravy okay going, going back to the earlier casting thing,is there a generalised way of testing whether one can cast the value of variable $a to type $b? my previous assumption doesn't work for enums 16:34
16:34 salva left
itz_ :p for pipe seen at: src/gen/m-CORE.setting, line 18605 Deprecated since v2015.6, will be removed with release v2015.9! Please use pipe($path,...) instead. 16:36
timotimo itz_: yeah, we saw that :S
FROGGS is dilligently at work in that area
and i believe this issue is already on his radar
itz_ ah yes sorry I should have checked scrollback 16:37
timotimo no worries
dalek kudo/nom: 784ce58 | jnthn++ | / (4 files):
Add Perl6::Metamodel::Configuration.

Lets us factor out various bits of configuration we do on the MOP so we can share the data easily amongst various meta-objects. Use it to clean up the stash type handling.
16:40
kudo/nom: 425679e | jnthn++ | src/Perl6/Metamodel/ (3 files):
Fix fragile submethod testing.

We would fail to consider a submethod with a role mixed in to be a submethod.
ast: b99ebea | jnthn++ | S14-traits/routines.t:
Test submethods and traits interaction.

Covers a (seemingly unreported) bug discovered while investigating a different RT.
ast: a63aa1d | jnthn++ | S05-grammar/methods.t:
Don't be case-sensitive in text test.
jnthn shoppin n cookin &
16:41 oetiker_ joined
timotimo is enter-leave failing for other people as well? 16:50
ah, i probably just got that in via rebase 16:53
dalek line-Perl5/fix_precomp: be6e160 | (Stefan Seifert)++ | / (3 files):
WiP
16:54
17:00 muethos joined 17:06 _mg_ joined
dalek kudo/nom: 70c5bc5 | timotimo++ | src/Perl6/Actions.nqp:
we can now lower signature binding with optional @ and % vars.
17:11
17:14 dha joined
dalek line-Perl5: fdc218f | (Stefan Seifert)++ | / (3 files):
Support P6 objects with overloaded stringification

A Perl 6 object's Str() method will now be called when the object is used as string in Perl 5 code. This is for example most helpful when a Perl 6 exception is cought by Perl 5 code that just tries to print the error message.
17:16
17:18 tinyblak left 17:19 LonelyGM joined
tony-o m: use MONKEY-TYPING; augment class Mu { method ddump { "ddump".say; } }; my Int $a = 5; $a.ddump 17:23
camelia rakudo-moar be122a: OUTPUT«Method 'ddump' not found for invocant of class 'Int'␤ in block <unit> at /tmp/23lpzqhIxK:1␤␤»
17:27 muethos left
timotimo known problem; we don't propagate changes down the inheritance chain yet 17:29
flussence m: 'hello world'.encode('ASCII').index(Buf.new(0x20)) 17:32
camelia rakudo-moar be122a: OUTPUT«Method 'index' not found for invocant of class 'Blob[uint8]'␤ in block <unit> at /tmp/XAdWxbWsU7:1␤␤»
17:35 Sqirrel left, muethos joined
tony-o timotimo: ty 17:36
flussence wishes Bufs had all the string methods that could be made to work sensibly...
tony-o m: 'hello world'.encode('ASCII').index(Buf.new(0x20).decode('ascii'))
camelia rakudo-moar be122a: OUTPUT«Method 'index' not found for invocant of class 'Blob[uint8]'␤ in block <unit> at /tmp/d5dHVCe8DM:1␤␤»
tony-o oops 17:37
flussence that one in particular is LHF, because it could just call strstr 17:39
17:40 Sqirrel joined
dalek ast: cad696a | usev6++ | S12-attributes/instance.t:
Unfudge test for RT #120059
17:47
bartolin is it just me or is the jvm build broken atm?
17:50 lolisa left
bartolin (I get a NullPointerException in 'add_method' (from src/Perl6/Metamodel/MethodContainer.nqp)) 17:50
17:51 lolisa joined 17:57 kst left
xinming I saw that in ::= the example does something like { my $*OUT ::= open(...); dosomething... } <--- Isn't this example contradicting with the dyanmic scoped var with 'temp'??? 17:58
17:58 lolisa left
xinming Just curious what are the differences between the { my $*OUT .. } and { templ $*OUT ... } in this case. 17:59
18:00 dha left 18:01 kst joined
xinming It's in design.perl6.org/S03.html under the introduction about ::= 18:01
And another question, Why is andthen uses $_ but orelse uses $! Doesn't make much sense to me. seems to be inconsistent. Just to indicate orelse is "error" ? 18:10
18:13 Sqirrel left
RabidGravy is there any way of knowing whether a type object is *really* Mu , obviously $type ~~ Mu is always True 18:17
hoelzro =:= should do it, right?
m: Any =:= Mu
camelia ( no output )
hoelzro m: Mu =:= Mu
camelia ( no output )
hoelzro m: say(Any =:= Mu)
camelia rakudo-moar be122a: OUTPUT«False␤»
hoelzro m: say(Mu =:= Mu) 18:18
camelia rakudo-moar be122a: OUTPUT«True␤»
RabidGravy perfect
hoelzro camelia: y u no print output?!
RabidGravy so many operators
;-)
poor little brane not big enuff
18:19 lolisa joined, espadrine left
xinming Anyone here would answer my question? :-) 18:21
hoelzro I think that Perl 6's operators are pretty consistent; =:= follows :=
18:21 Sqirrel joined
hoelzro xinming: I don't know about your first question, but I think your assumption about orelse is correct 18:21
xinming Ok, Thanks. Will ask when the next time I re-read the doc from start. :-) 18:25
18:30 dha joined
dha So, is pod syntax changing in Perl 6? 18:31
yoleaux 17 Jun 2015 23:34Z <b2gills> dha: I sure hope you aren't trying to re-implement the Test::Builder module from Perl 5, which they are currently trying to replace with a better model
timotimo yeah, we have "pod6" now 18:32
dha In answer to that question, Test::Builder seems to have been implemented already. I'm working on Test-Simple stuff. But I'm probably going to take a break from that to expand heavily on the 5to6 translation docs. 18:33
timotimo - great! Where are those changes documented? 18:34
(see comment about writing docs above :-) 18:35
18:35 zacts left
dha It suddenly occurs to me that github will be made ill from p6 pod. :-/ Which I guess raises the question: would it be better to just write in p5 pod or plain text and convert to p6 pod later? 18:37
timotimo design.perl6.org has a document on it
18:38 zacts joined
dha How fixed is the information in that document? 18:39
18:40 lolisa left
timotimo relatively, i suppose 18:40
dha And, I guess for my purposes, is p6 pod a superset of p5 pod, or are there conflicts?
timotimo i don't know, i never did any perl5 18:41
dha Ah, so I guess what I'm working on is not really of use to you. :-) 18:42
timotimo pod5 to pod6 converter? :) 18:44
18:45 zakharyas joined 18:47 espadrine joined
dha I'm sure that would be handy. :-) 18:47
RabidGravy dha: at minimum your p5 pod needs a =begin pod .. =end pod round it and drop =over .. =back for lists 18:48
most of the rest will work
dha What do you use for lists in p6?
Just use =item ? 18:49
RabidGravy yeah
dha And does the requirement of =begin...=end hold for documents that are entirely pod?
RabidGravy yes (it is still parsed as perl 6) 18:50
dha *nod* Thanks RabidGravy
Oh, that's you. Didn't recognize the new handle. ;-) 18:51
Although I probably should have...
RabidGravy :) 18:52
japhb Oooh, someone (usev6?) fixed a 2-year old RT of mine, nice! 18:53
RabidGravy it was just an accident, I'd been using IRC for the radio station
18:53 espadrine left
dha Ah. 18:53
dalek kudo/nom: 37ab741 | timotimo++ | src/Perl6/Actions.nqp:
elaborate more on generic archetypes and uncuddle else
19:05
kudo/nom: 020b2f2 | hoelzro++ | docs/release_guide.pod:
Remove myself from upcoming releases
19:09
dha Ok, so I put a bunch of stuff in @array. then I go "say @array". It prints out the elements with spaces in between them. a) this is the behaviour of 'say "@array"' in p5, so does p6 say autoquote its arguments? Or is there some other thing going on here? b) Is it necessarily space separated, or is there a way of changing that, a la p5's $" var? 19:32
masak (b) no way, at least not currently. 19:33
dha Also, my brain hurts.
ok, that's definitely helpful.
masak m: my @array = 1, 2, 3; say @array
camelia rakudo-moar be122a: OUTPUT«1 2 3␤»
masak m: my @array = 1, 2, 3; say @array.list
camelia rakudo-moar be122a: OUTPUT«1 2 3␤»
masak m: my @array = 1, 2, 3; say(|@array)
camelia rakudo-moar be122a: OUTPUT«123␤»
masak m: say(1, 2, 3) 19:34
camelia rakudo-moar be122a: OUTPUT«123␤»
19:34 LonelyGM left
dha I should probably at some point figure out what that pipe character is doing. 19:34
masak this is one way in which (argument) lists and arrays differ.
dha: that pipe character flattens the array into the argument list.
dha: happens automatically in Perl 5 if you pass in a non-reference array. 19:35
dha Right. ok.
19:36 zakharyas left
dha I see the difference, but still not clear why the @array, rather than the argument list, gets the behaviour it does. 19:36
masak the proximal reason is that Array has a Str method which puts in the spaces. 19:37
dha So... basically... "Arrays just do that now." 19:38
masak m: my @array = 1, 2, 3; say @array.has("Str"); my $s = @array.Str; say $s
camelia rakudo-moar be122a: OUTPUT«Method 'has' not found for invocant of class 'Array'␤ in block <unit> at /tmp/s9NkyVZAY1:1␤␤»
masak m: my @array = 1, 2, 3; say @array.can("Str"); my $s = @array.Str; say $s
camelia rakudo-moar be122a: OUTPUT«Str Str Str␤1 2 3␤»
masak m: my @array = 1, 2, 3; say ?@array.can("Str"); my $s = @array.Str; say $s
camelia rakudo-moar be122a: OUTPUT«True␤1 2 3␤»
masak dha: you'll have to ask TimToady for a deeper reason than that. 19:39
dha: but one difference between Perl 5 and Perl 6 is that arrays *don't* autoflatten. this at least forms the basis for the different behavior in the first place, if not a complete rationale. :)
dha So, if I'm understanding this right, @array's Str method is automatically invoked when it's used in a context that expects a string, and that stringifies it with the spaces? 19:40
masak aye. you are understanding this right.
dha The irony here is that I don't know why I'm trying so hard to understand this, since what I was really looking for was whether $" had a p6 equivalent... :-) 19:41
Oh good. I like understanding things right. :-)
masak hits S28 to look for a $" analog
yeah, S28 says there is none :/ 19:42
dha Does it say there will never be?
19:42 bin_005 joined
masak I'm not sure it has the authority to say that. :) but it doesn't look like there are plans for any. 19:42
dha For context, I've decided we need more info for people going from p5 to p6, so I'm starting that by going through all the special variables and pointing to what you would use instead in p6. 19:43
masak then S28 is definitely for you.
dha So, for $" the answer is "You're screwed."
masak the answer was literally "-" in S28.
dha How fixed is the information in S28? or any of those documents, for that matter? 19:44
masak it varies. S28 can sometimes get out-of-date with respect to more current documents.
(in this case I have no reason to believe it is, though)
dha ok. I guess I'll just have to live with that. Thanks for the pointer, though. 19:45
masak S02..S06 and S12 are "core" in some sense, and almost always the most current. 19:46
(and they thankfully don't change much these days)
RabidGravy dha, currently List.Str is literally: "multi method Str(List:D:) { self.join(' ') }" 19:47
dha Gesundheit. :-)
Actually, most of that makes sense. clearly I'm starting to ingest the Kool-Aid.
RabidGravy so if one cared one could augment Array with some different implementation or something 19:48
masak wishes the IT world hadn't landed on a metaphor which involves suicide cults :/
19:50 _mg_ left
RabidGravy masak, depends which origin you go for. It could be (and *I* tend to think of it more as, ) Ken Kesey and the Merry Pranksters rather than Jonestown :) 19:54
bartolin m: my %hash = (a => 42); for %hash.pairs -> $p { $p.value += 100 }; say %hash<a>
camelia rakudo-moar be122a: OUTPUT«42␤»
bartolin m: my $pair = (a => 42); for $pair.pairs -> $p { $p.value += 100 }; say $pair<a>
camelia rakudo-moar be122a: OUTPUT«142␤»
bartolin ^^ is there a reason for % and $ behaving differently here? 19:55
dha Yeah, I'm going to go with the pranksters.
19:56 sjn_phone_ joined
masak RabidGravy: interesting. that seems to also be the origin of the term "acid test" (of CSS fame). unless that term is much older, which is not at all unlikely, come to think of it. 19:56
colomon pretty sure “acid test” goes way way back 19:57
“Any decisive test or ordeal; from the former use of nitric acid to test a metal for its gold content.”
www.thefreedictionary.com/acid+test
masak oh! I stand corrected. 19:58
that makes a whole lot of sense.
colomon “Acid test is American English, 1892, from the frontier days, when gold was distinguished from similar metals by application of nitric acid.” www.etymonline.com/index.php?term=acid
masak in other words, as most computer terminology, it comes out of California :P 19:59
dha Of course, in the case of the Pranksters, the use of "acid test" was punny.
Ew. $*PROGRAM does not what I expect. 20:00
oh. You *have* to explicitly stringify it to get what I was expecting. 20:01
20:01 sjn_phone joined 20:02 rindolf left
masak $*PROGRAM_NAME 20:02
20:03 labster_ joined 20:04 TEttinger left, sjn_phone_ left 20:05 d4l3k_ joined, pRiVi_ joined 20:06 rindolf joined, cognominal_ joined, muethos left 20:07 BooK_ joined, nowan_ joined, BinGOs_ joined, mephinet- joined, bobkare_ joined, ilbelkyr_ joined, integral_ joined, integral_ left, integral_ joined 20:08 nine_ joined, ilbelkyr left, ilbelkyr_ is now known as ilbelkyr, cow-orker joined
dha Oh. That's what I get for paying attention to S28, then... :-/ 20:08
20:08 pmichaud_ joined
masak dha: yes, that should clearly be updated in S28. 20:09
dha: care to supply a patch?
(in either case, thanks for discovering it)
dha Sure. What's the patch process for those documents? 20:10
masak usually we just give people commit access. what's your github id?
dha dha
masak invitation sent. 20:11
20:11 JimmyZ_ left
dha I note that stringification of $*PROGRAM gives you what $*PROGRAM_NAME gives you, which is what S28 says now. 20:12
thanks.
Is there any reason to put both in there? Or just equate $0 to $*PROGRAM_NAME and be done with it?
20:13 setty1_ joined
ugexe $*PROGRAM returns an IO object. you do IO on it 20:13
20:13 Timbus_ joined
dha Well, ok, but if you stringify it, it *does* give you the program name. 20:13
masak dha: my opinion: put $*PROGRAM_NAME as the primary suggestion, but mention $*PROGRAM too 20:14
(as $*PROGRAM_NAME is the closest analog of $0)
dha ok, as I said, stringification of $*PROGRAM is how it is in s28 now. So I guess it doesn't hurt to put both on that line.
20:14 cognominal left, setty1 left, ShimmerFairy left, nowan left, dalek left, njmurphy left, labster left, Timbus left, BooK left, pnu left, pRiVi left, camelia left, mephinet left, bobkare left, vytas left, cow-orke1 left, BinGOs left, labster_ is now known as labster 20:15 bobkare_ is now known as bobkare
masak I don't think stringification of $*PROGRAM is all that important to mention. 20:15
if someone wants the stringified form, they'd more likely use $*PROGRAM_NAME
RabidGravy I think it's just there to make "say $*PROGRAM.slurp" really eay ;-)
20:15 d4l3k_ is now known as dalek, ChanServ sets mode: +v dalek
masak for all we know, the note about stringification predates $*PROGRAM_NAME 20:15
RabidGravy easy
dha True. 20:16
ugexe it also keeps you from doing "-e".slurp
20:17 BinGOs_ is now known as BinGOs
masak which would even count as a security risk. 20:17
20:17 BinGOs left, BinGOs joined 20:19 vytas joined, felher joined, ShimmerFairy joined, felher is now known as Guest53465
ugexe looks like IO coerces "-e" to "", i.e. "-e".IO.say gives "".IO But of course you can actually have a file/folder named "-e" on windows 20:20
20:20 telex left
ugexe maybe on linux too... but at least its trying to make it hard for me 20:21
20:21 d4l3k_ joined, camelia joined 20:23 gagalicious left, ChanServ sets mode: +v camelia 20:24 integral joined, integral left, integral joined, BooK joined 20:25 mrf_ joined, danstone1 joined, StavroMu1ller joined 20:26 kaare__ left 20:28 tardisx` joined, rvchangu- joined 20:29 telex joined, integral_ left, BinGOs left, BooK_ left, dalek left, sjn_phone left, skarn left, mrf left, maettu left, hobbs left, mattp_ left, StavroMueller left, lsm-desktop left, tardisx left, chansen_ left, Spot__ left, fernando___ left, danstoner left, rvchangue left 20:30 rvchangu- is now known as rvchangue, d4l3k_ is now known as dalek, ChanServ sets mode: +v dalek
dalek kudo/nom: de76003 | timotimo++ | src/Perl6/Actions.nqp:
we can now lower binding to @ and % + "is copy"

sadly, we only hit this 4 times in all of CORE.setting
20:30
20:31 pnu joined, darutoko left
ugexe ah, i take that back after seeing the difference in .IO.perl and .IO.gist 20:32
20:32 chansen_ joined 20:33 hobbs joined 20:34 uncleyea1 joined 20:35 BinGOs joined 20:36 sjn_phone_ joined 20:37 dsm_ joined, vendethiel- joined, telex left, telex joined 20:38 Juerd_ joined, maettu joined, mattp_ joined, lsm-desktop joined, jdv79_ joined 20:39 flussenc1 joined, pmichaud joined, DrForr_ joined, cosimo_ joined 20:40 gfldex_ joined, nine joined, flussenc1 left, flussenc1 joined, jnthn_ joined, flussence left 20:41 flussenc1 is now known as flussence, sivoais_ joined, eviltwin_b joined, fernando___ joined 20:42 vike1 joined 20:43 burnersk_ joined
dalek ecs: 1a69575 | (David H. Adler)++ | S28-special-names.pod:
Changed equivalent of Perl 5's $0 from C<$*PROGRAM> to C<$*PROGRAM_NAME>
20:43
RabidGravy dha++
masak dha++ 20:44
dha Decided not to put in the bit about stringification of $*PROGRAM as a) it's probably confusing and b) wouldn't fit on the line well. :-)
Thanks. :-)
20:44 Spot__ joined
dha So I have added FIVE WHOLE CHARACTERS to a p6 design document! ;-D 20:44
RabidGravy perfect 20:45
20:45 eviltwin_b is now known as geekosaur
ugexe dynvars escaped name kabobing 20:45
masak am I the only one who thinks PROGRAM_NAME is both a little less ugly than PROGRAM-NAME, and easier to type on most keyboard layouts? 20:46
timotimo i have the least keyboard layouts 20:47
masak I've mostly come to peace with calling my identifiers things like `program-name`, even when vim gets the syntax highlighting wrong.
ugexe i like underscores asthetically for all uppercase stuff
masak but I would still go for `PROGRAM_NAME`, at least in my own code.
20:48 skarn joined, pmichaud_ left, nine_ left, uncleyear left, spintronic left, gfldex left, vendethiel left, sivoais left, Foxcool left, tadzik left, vike left, ggherdov left, clkao left, Juerd left, jdv79 left, DrForr left, cosimo left, burnersk left, Jonis left, yogan left, jnthn_ is now known as jnthn, tadzik joined 20:49 Foxcool joined 20:52 pRiVi joined 20:53 daxim left, eternaleye left, eternaleye_ joined, yeltzooo9 left, jercos_ joined, dj_goku_ joined, araujo left, jasonmay_ joined, jdv79 joined, daxim joined 20:54 Pauekn_ joined, spintronic joined, eternaleye_ is now known as eternaleye, BenGoldberg joined, freeze_ joined 20:55 Jonis joined 20:56 dsm joined 20:58 cognominal_ left, pyrimidi_ joined, mr-fooba_ joined 20:59 jasonmay1 joined, skarn left, Spot__ left, burnersk_ left, fernando___ left, flussence left, jdv79_ left, Juerd_ left, dsm_ left, integral left, vytas left, mephinet- left, pRiVi_ left, dha left, ugexe left, dj_goku left, jack_rabbit left, jasonmay left, jercos left, hoelzro left, freeze left, Obbi_ left, garu_ left, avuserow left, garu joined 21:00 cow-orke1 joined 21:01 freeze_ is now known as freeze, Gruber joined, mr-foobar left, cow-orker left, btyler left, jasonmay_ left, maddingue left, DrForr_ left, pyrimidine left, Foxcool left, jferrero left, dg left 21:02 Foxcool joined, jferrero joined, tictac joined, simcop2387 left, tictac is now known as Guest84625
masak m: my %h = foo => 42; %h does role { method bar { say "OH HAI" } }; %h.bar 21:02
hello? camelia?
camelia rakudo-moar be122a: OUTPUT«OH HAI␤»
21:04 maddingue joined 21:07 ggherdov joined 21:08 clkao joined, dg joined 21:09 DrForr joined 21:11 Juerd joined, bin_005 left 21:12 flussence joined, sivoais_ is now known as sivoais, sivoais left, sivoais joined, bin_005 joined 21:13 ggoebel2 joined, [dpk] joined 21:14 Quom joined, [Coke]_ joined 21:15 bloonix_ joined, tinita_ joined, pochi_ joined, integral joined, integral left, integral joined 21:16 spider-mario_ joined, lizmat_ joined, zostay_ joined, nine_ joined, dpk left, [dpk] is now known as dpk, haroldwu_ joined
dalek kudo/nom: 6481e24 | timotimo++ | src/Perl6/Actions.nqp:
let the binding lowerer cope with ::?CLASS and role parameters
21:16
21:16 [ptc]_ joined, Sqirrel_ joined 21:17 spider-mario left, spider-mario_ is now known as spider-mario, hahainte1net joined 21:18 Util_ joined, Sqirrel left, FROGGS left, hoelzro joined, arnsholt_ joined, FROGGS joined 21:19 yogan joined, mephinet joined, clkao_ joined, mr-fooba_ left, Obbi joined 21:20 skarn joined, oetiker left, yoleaux left, [ptc] left, Mouq left, yoleaux joined, DrForr left, nine left, grondilu left, ggoebel left, [Coke] left, tinita left, bloonix left, [ptc]_ is now known as [ptc], Exodist left, clkao left, zostay left, sftp left, tadzik left, Util left, renormalist left, literal left, jfried left, haroldwu left, jantore left, woshty left, avar left, pochi left, arnsholt left, ggherdov left, steve_mc left, yoleaux left, lizmat left, CQ left, risou left, yoleaux joined, ChanServ sets mode: +v yoleaux, jantore_ joined, avar joined, avar left, avar joined
masak stormy on the IRCs tonight. 21:20
21:20 sftp_ joined, raydiak joined, Bucciarati left 21:21 sftp_ is now known as sftp, tadzik joined, steve_mc joined, Bucciarati joined, risou joined 21:22 ugexe joined, clkao_ is now known as clkao, simcop2387 joined, Exodist joined, oetiker joined
AlexDaniel masak: yup, but it's even worse on other channels 21:22
21:23 DrForr joined 21:24 literal joined, ggherdov joined 21:25 woshty joined, stux|RC joined 21:26 jfried joined, wtw joined
masak huh. 21:26
even with regards to netsplits, #perl6 is unusually nice? :)
AlexDaniel masak: netsplits? It is an attack, as far as I can see 21:27
21:28 psch_ joined, bowtie joined, ruoso_ joined, bowtie is now known as Guest88664 21:29 oetiker left, oetiker joined 21:31 stux|RC-only left, zoosha_ joined 21:32 dagurval_ joined 21:35 ashleyde1 joined 21:36 CQ joined 21:38 Guest85966 left, oetiker_ left, ruoso left, zoosha left, dagurval left, colomon left, ashleydev left, masak_ joined 21:40 muethos joined 21:42 rindolf left
RabidGravy boo! 21:42
masak_ jumps 21:43
21:43 masak_ is now known as masak
RabidGravy has some one already RT'd that 21:43
m: Code(0) 21:44
camelia rakudo-moar be122a: OUTPUT«(signal SEGV)»
RabidGravy thing
masak RabidGravy: don't think so. please do.
21:44 espadrine joined 21:45 uncleyea1 is now known as uncleyear, uncleyear left, uncleyear joined
jnthn Add it to the Code.new ticket 21:45
Which also SEGV'd and is almost certainly the same thing
21:46 diego_k joined
masak ah, good idea. 21:46
RabidGravy I've concluded that rather than trying to guess whether SomeRandomType($some-value) will work is a mugs game, just trying it is best
21:47 diegok left
RabidGravy but a SEGV somewhat militates against that approach ;-) 21:47
dalek href="https://perl6.org:">perl6.org: 78e2927 | Austin++ | source/style.css:
nav menu mobile overlap fix
href="https://perl6.org:">perl6.org: 65c5460 | ab5tract++ | source/style.css:
Merge pull request #18 from grandtheftjiujitsu/master

Navigation Menu Entries Overlap in Mobile View
21:48 Some-body_ joined, DarthGandalf left, Khisanth left, sjn_phone_ left
RabidGravy I think that one was mine too :-\ serial Code abuser innit 21:48
21:49 Some-body_ is now known as DarthGandalf, apejens left, sjn_phone_ joined, Jonis left, muethos left, apejens joined 21:50 Khisanth joined
dalek kudo-star-daily: 5f7875c | coke++ | log/ (2 files):
today (automated commit)
21:51
kudo-star-daily: 21c2945 | coke++ | log/ (2 files):
today (automated commit)
rl6-roast-data: dfb8e7e | coke++ | / (9 files):
today (automated commit)
rl6-roast-data: 73b9e32 | coke++ | / (9 files):
today (automated commit)
21:54 Jonis joined 21:56 dj_goku_ left
dalek ast: 8b5aeb6 | usev6++ | S26-documentation/09-configuration.t:
Use existing ticket number RT #124970
21:59
ast: 3d4f970 | usev6++ | S (2 files):
Use unique ticket numer for RT #124640
RabidGravy jnthn, was it #125376 you meant? 22:00
jnthn yes but *sigh* 22:01
RabidGravy If so it's slightly different 22:02
jnthn Fixing a VM level SEGV by papering over it in Rakudo is just plain stupid.
RabidGravy I'll re-open and update
jnthn Thanks.
Will see if I can hunt it down tomorrow 22:03
masak should I revert the fix?
jnthn masak: The Rakudo patch may still be the best way to give a good message there. 22:04
masak ok, leaving it in.
22:04 burnersk joined
bartolin ha, I closed that one too early? 22:04
jnthn It's not that the patch is bad in itself, it's just sweeping a SEGV under the carpet is only asking for trouble later. 22:05
masak bartolin: no, it's fixed according to the letter of the law :)
22:05 cognominal_ joined
bartolin g 22:05
masak (which is what a ticketing system should run on)
jnthn *nod*
Please do try and make sure SEGV-ing things get fixed deeply. 22:06
22:06 espadrine left
jnthn I'm jumping on those I can. In the worst case, they can be exploitable security issues. 22:06
bartolin okay, I'll keep that in mind.
masak that is indeed worth remembering. 22:07
RabidGravy in my mind the VM should never segfault
jnthn RabidGravy: Mine too, which is why I want us to fix those places it does. 22:08
masak in my mind software should never behave not to spec. 22:09
RabidGravy looking at the BT of the Code(0), I think it may be completely different though
masak,aye but nobody every puts "must not segfault/must not GPF" in a spec, 'cause y'know .... 22:11
masak maybe they should. :> 22:12
'night, #perl6 22:13
japhb RabidGravy: People do put "must be warnings- and sanitizer-clean" in specs though.
o/ masak
bartolin o/
22:13 acsigusz left
RabidGravy true 22:14
also difficult to test 22:17
well a pain to test as you'd have to run each potential failure in a seaparate process and see how it exited 22:19
not sure you can even do that properly on windows
22:20 jack_rabbit joined 22:22 dha joined
RabidGravy mebbe a Test::NoSegfault would be useful to module developers though 22:28
jnthn wonders if a "SEGV report" on testers.perl6.org would be do-able easily 22:30
RabidGravy It reports the exit code of the tests, this could be munged to determine whether there was a segfault (on Unux-like operating systems anyway) 22:33
dha s28 indicates that $( and $) are replaced in p6 with $*GID and $*EGID, but the docs on Variables only shows $*GROUP which, I'm guessing, is the real GID? Does this mean p6 actually has no $EGID equivalent? 22:36
22:37 Al-Caveman left
RabidGravy not presently, $( is $*GROUP.Int IIRC 22:37
22:38 vytas joined
RabidGravy (that is I put those things in the Varaiables page but drank a lot of beer since ;-) 22:39
dha nope, Int isn't doing that, although since $*GROUP in numeric context is supposed to return the group number, I'm not sure why. $*GROUP.Str *does* return the group name.
RabidGravy let me look
dha $*GROUP.perl gives me IdFetch.new 22:40
RabidGravy ah $*GROUP.Numeric
dha Ugh. 22:41
And $EGID is currently not a thing?
[Coke]_ wishes irssi
nevermind. 22:42
22:42 [Coke]_ is now known as [Coke]
dha Well, I'm certainly glad you gave me that commit bit on the design docs. Looks like I'll be using it a bit... :-) 22:43
And, oddly, $( in Perl 5 is giving me a whole bunch of numbers. weird. 22:45
RabidGravy actually, IdFetch is probably odd, I think those things are broken and should be IdName objects 22:47
22:47 kurahaupo left 22:48 jercos_ is now known as JERCOS, JERCOS is now known as jercos
dha So... Obviously s28 should be amended with respect to $*GID/$*GROUP. Should I leave $*EGID alone there or indicate non-implementation? 22:48
RabidGravy I'd leave it for the time being. I don't believe the population of $*USER/$*GROUP is doing what it is intended to do 22:51
dha ok, I won't mess with s28 on user and group vars. FOR NOW. 22:52
RabidGravy (in src/core/Process.pm in rakudo at least )
22:54 Sqirrel_ left 22:55 Sqirrel joined 22:59 spider-mario left 23:00 Al-Caveman joined 23:01 raiph joined
RabidGravy with my code archaeology hat on, I think someone forgot the .fetch in the BUILD of the IdFetch and some one implemented the rest of the code as if that was deliberate 23:03
23:05 btyler joined
RabidGravy will do patch in morning 23:06
dha Ok, moving on... $a and $b: no longer special at all, or does "Just params to anonymous block" (from s28) really mean something?
lizmat_ dha: there is no special meaning 23:07
23:07 lizmat_ is now known as lizmat
dha ok. Should that line be taken out of s28, then? 23:07
dalek ecs: bbb0e90 | lizmat++ | S28-special-names.pod:
Clarify lack of special meaning of $a,$b in Perl 6
23:09
lizmat dha: yes ^^^ :-)
RabidGravy :)
lizmat calls it a day (again)
.oO( sleeping in on my own bed for a change )
23:10
dha Yay!
RabidGravy yaw, bed time for me too 23:19
23:23 larion left 23:24 RabidGravy left 23:27 telex left 23:28 telex joined 23:32 Celelibi left
dha What? You can't go to bed! Who will answer all my annoying questions?? 23:32
23:33 go|dfish left 23:34 eiro left, eiro joined, go|dfish joined
timotimo i'm going to bed soon as well, so ... i might not :\ 23:35
23:35 rjbs joined, Celelibi joined 23:36 Ben_Goldberg joined
timotimo i mean: i might not answer your annoying questions 23:36
dha Right. :-) 23:37
maybe I'll take a break, then.
23:37 BenGoldberg left, dha left 23:50 raiph left 23:52 regreg left