Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-06-08

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:00 timotimo to be fair, the original used to have a getarg_o, so we turned the getarg_o into a getarg_i + boxing
00:00 timotimo that'll probably jit better
00:00 timotimo and that then got numified and the result of that intified
00:01 timotimo so we would really have to know more about boxing and such, which i'd like to do at some point
00:02 flussence is string_to_int called on every string to int coercion? as in, even the ones from parsing a script?
00:02 timotimo don't think so
00:02 timotimo it's inside nqp
00:02 timotimo in HLL::Actions, so only used during parsing, i'd bet
00:10 flussence I'm looking closer, and it looks like that path gets hit for *every* literal number in p6 code...
00:11 flussence during parsing, anyway, so it wouldn't make a difference after precomp.
00:22 pmichaud if it's modeled properly, then yes, string_to_int will happen during parsing.  Put another way, the string-to-integer conversion done at runtime is also used for compile-time parsing.
00:23 pmichaud m: sub xyz(@a) { @a.shift; }; my @b = 1,2,3;  xyz(@b); say @b.elems
00:23 camelia rakudo-moar 642946: OUTPUT«2␤»
00:23 pmichaud m: sub xyz(@a) { @a.shift; }; my @b = 1,2,3;  xyz(@b.values); say @b.elems
00:23 camelia rakudo-moar 642946: OUTPUT«3␤»
00:23 pmichaud m: my @b = 1,2,3;  say (0, @b, 4)[1];
00:23 camelia rakudo-moar 642946: OUTPUT«1 2 3␤»
00:23 pmichaud m: my @b = 1,2,3;  say (0, @b, 4)[3];
00:23 camelia rakudo-moar 642946: OUTPUT«Nil␤»
00:25 pmichaud m: say (:a(1):b(2)).WHAT
00:25 camelia rakudo-moar 642946: OUTPUT«(Parcel)␤»
00:25 pmichaud m: say (:a(1):b(2))[1]
00:25 camelia rakudo-moar 642946: OUTPUT«b => 2␤»
00:25 pmichaud m: say %(a => 1, b=> 2).hash
00:25 camelia rakudo-moar 642946: OUTPUT«a => 1, b => 2␤»
00:25 pmichaud m: say %(:a(1):b(2));
00:25 camelia rakudo-moar 642946: OUTPUT«a => 1␤»
00:25 laouji joined #perl6
00:25 pmichaud m: say (:a(1):b(2)).hash
00:26 camelia rakudo-moar 642946: OUTPUT«a => 1, b => 2␤»
00:26 pmichaud m: say (:a(1), :b(2)).hash
00:26 camelia rakudo-moar 642946: OUTPUT«a => 1, b => 2␤»
00:26 pmichaud m: say (:a(1), :b(2)).WHAT
00:26 camelia rakudo-moar 642946: OUTPUT«(Parcel)␤»
00:28 raydiak pmichaud: also noticed I can save my fingers a bit by reducing it to :a:b, same behavior
00:31 * Brock is annoyed that rakudo yells at me when trying to do $somethingn.somemethod during method chaining
00:35 aborazmeh joined #perl6
00:35 aborazmeh joined #perl6
00:39 SevenWolf joined #perl6
00:40 laouji joined #perl6
00:40 raydiak awwaiid: if I did "say sub {}␤.defined" would that be "say(sub {}); $_.defined" or "say(sub {}.defined)"?
00:43 awwaiid the latter
00:43 timotimo single-pass-parsing be damned
00:43 timotimo to be fair, we can do this in a single pass
00:43 awwaiid I'm sure this issue with whitespace surrounding method invocation has been hashed out already ... I'm just registering my irritation.
00:44 awwaiid my ongoing irritation, that is.
00:44 timotimo you most probably already know about putting a backslash in front of the newline?
00:45 awwaiid I do not! Yay back to C (or is it sh?) line continuations!
00:45 laouji joined #perl6
00:45 timotimo it's not the same, though
00:45 timotimo for example, it allows you to put comments in there, too
00:45 timotimo it's the more general concept of "unspace" and it works in many placse
00:45 raydiak oops, assumed you were irritated about having to put the backslash :)
00:46 timotimo m: "hello"\     .uc\    .say
00:46 camelia rakudo-moar 642946: OUTPUT«HELLO␤»
00:46 timotimo m: "hello"\  #`( this is an in-line comment in some unspace )   .uc\    .say
00:46 camelia rakudo-moar 642946: OUTPUT«HELLO␤»
00:46 awwaiid raydiak: well... _now_ i'm irritated with the backslash :)
00:46 timotimo haha
00:46 timotimo but at least you have a way to deal with the problem :)
00:46 awwaiid ya!
00:46 awwaiid gracias :)
00:47 raydiak heh I ought to not suggest new irritations :)
00:47 awwaiid naw. Now I can say to people "oh yeah, you can totally put whitespace before a method invocation. You just have to escape it. BECAUSE THAT MAKES SENSE"
00:48 awwaiid </sarcasm>
00:48 awwaiid well. easy to judge; not like I wrote any perl6 parsers lately :)
00:49 raydiak fwiw I have wanted to do that same thing and wonder about a slang for it
00:50 awwaiid Also from the same littlescript, I'm still irritated at .elems instead of .count or .size or .cardnality or anything that makes sense (or all of them) :)
00:51 timotimo perhaps use prefix:<+>?
00:51 awwaiid I forgot about that. lemme see here...
00:53 awwaiid @things .= grep(*.elems == 4)  becomes  @things .= grep(+* == 4) . Seems to work. Even less readable, which is impressive.
00:53 awwaiid also, .= amuses me endlessly
00:53 gagalicious what's the largest open source perl program (framework/software/etc etc ) out there? coz i would like to borrow some codes and peek at how they manage to get things to work together... db accesses , cache management etc.
00:53 raydiak or just * == 4, since == is implicitly numeric
00:54 awwaiid now there's an idea
00:54 * timotimo heads towards bed
00:54 raydiak \o timo
00:55 awwaiid See, this is why it is good to complain. Y'all get feedback about annoyances, and I get to learn about work arounds / simplifications :)
00:55 timotimo flussence: how about getting a --profile of a piece of perl6 that contains a lot of number literals?
00:56 awwaiid gagalicious: Good question. One source might be some of the libraries implemented in the Panda collection, http://modules.perl6.org/ . Not sure what is biggest
00:57 awwaiid hey were did "unit" in the front of things come from? I just started seeing that
00:57 gagalicious what about perl5 programs? by the way, how portable is perl5 to perl6?
00:58 awwaiid there are tons of large perl5 programs; perl5 and perl6 are quite different languages so not very portable (though there are some bridge libraries, but these are about the same as running python and perl together IMO)
00:59 BenGoldberg awwaiid, In the context of software (and especially of testing), a unit is the smallest testable part of an application.
00:59 awwaiid That is, Perl5 and Perl6 have diverged significantly, despite their apparent numerical relationship.
00:59 awwaiid BenGoldberg: I was referring to recent changes in libraries, such as https://github.com/masak/html-template/comm​it/0a1f2cbab495443efc092deec290e6c7eb981c57
01:00 BenGoldberg Hmm, ok, I have no idea what that does.  Sorry :)
01:00 gagalicious i'm extremely comfy with perl5... i've checked out on perl6... basically some... "tweak" and "programming style improvements"... what's the ultimate goal of perl6 again?
01:01 raydiak awwaiid: it's required when you're using the braceless form of a package decalration, where it governs the entire rest of the file...aiui, the unit keyword is meant to eliminate confusion about "class Foo;" looking like a stub, so now you have to write "unit class Foo;" instead
01:01 awwaiid gagalicious: here are some perl5 website codebases you could browse, http://perlmaven.com/web-sites-powere​d-by-perl-with-open-source-code-base
01:01 gagalicious thanks
01:01 BenGoldberg The ultimate goals of perl6 are just like that of any other high level language -- ease of writing, ease of testing, efficiency, etc.
01:02 raydiak awwaiid: unit also makes it easier to tell whether a .pm is P6 or P5
01:02 awwaiid ah. interesting way to disambiguate stub vs braceless. Does it apply to package as well?
01:02 raydiak yes
01:02 awwaiid cool, thanks!
01:03 raydiak you're welcome :)
01:03 timotimo I meant --profile-compile, flussence
01:19 kurahaupo1 joined #perl6
01:32 amurf joined #perl6
01:38 Ben_Goldberg joined #perl6
01:42 BenGoldberg_ joined #perl6
01:47 llfourn joined #perl6
02:16 yeahnoob joined #perl6
02:30 bjz joined #perl6
02:32 noganex joined #perl6
02:35 rmgk_ joined #perl6
02:52 aborazmeh joined #perl6
02:52 aborazmeh joined #perl6
03:11 BenGoldberg joined #perl6
03:15 aborazmeh joined #perl6
03:15 aborazmeh joined #perl6
03:23 cognominal joined #perl6
03:27 zoosha joined #perl6
03:27 nwc10 joined #perl6
03:27 sunnavy joined #perl6
03:27 awwaiid joined #perl6
03:28 pRiVi joined #perl6
03:28 mattp__ joined #perl6
03:28 jdv79 joined #perl6
03:28 vike1 joined #perl6
03:30 lestrrat joined #perl6
03:53 amurf joined #perl6
04:01 Util gagalicious: work-in-progress Perl 5->6 translator at https://github.com/Util/Blue_Tiger
04:02 adu_ joined #perl6
04:16 [Sno] joined #perl6
04:25 mr-foobar joined #perl6
04:39 telex joined #perl6
04:46 telex joined #perl6
04:58 mr-fooba_ joined #perl6
05:04 prevost joined #perl6
05:19 gagalicious i have a long list of variables : my($url,$website,$information,$desc); how do i make them all initialize with '' <-- nothing? just initialize it that's all... my list is like 50+ variables.
05:24 raydiak m: my ($a, $b) = '' xx *; say [$a, $b].perl
05:24 camelia rakudo-moar 642946: OUTPUT«["", ""]␤»
05:26 llfourn joined #perl6
05:27 Settwi joined #perl6
05:27 raydiak gagalicious: like that ^
05:28 gagalicious raydiak : wow... i have no idea what xx * means
05:29 Timbus list multiplier, multiplies it infinite times
05:29 raydiak gagalicious: it's a lazy list of infinitely many ''
05:29 gagalicious ok thanks
05:29 gagalicious where to read about that?
05:30 Timbus m: say 'a' xx 5
05:30 camelia rakudo-moar 642946: OUTPUT«a a a a a␤»
05:30 Timbus should be on doc.perl6.org
05:30 raydiak http://doc.perl6.org/routine/xx
05:33 gagalicious i've read a lot of funny things online... some i dont agree. i have a question... what's a "syntatically correct" way of breaking out of a "if" block? i dont mind even if it's not programmatically correct or good industry practise. i would like it to be "get the job done" kind of way. what do you guys recommend? a "last;" inside a very long if? http://stackoverflow.com/questions/17053​666/perl-breaking-out-of-an-if-statement
05:36 Timbus i think the only times ive had to do that.. is in a situation where i would return, or throw an error to get out
05:38 maettu or use dispatch tables http://en.wikipedia.org/wiki/Dispatch_table ?
05:42 amurf joined #perl6
05:45 Psyche^ joined #perl6
05:46 Woodi joined #perl6
05:52 diana_olhovik_ joined #perl6
05:53 gagalicious i have multiple regex config script for different websites... to scrape certain metadata off the site. what's the best way to do an eval() on code snippet where it matters? i mean.. as there are a lof of ' ' " <-- etc inside the eval statement, how should i go about it? i vaguely recall a way to put everything as it is... is it q//... i cant remember how to put everything as it is inside a $perlscriptcontent; does anyone know?
05:53 gagalicious Timbus : ok. thanks. i did if{ "the whole statement" } in the end... maybe.. that's programmatically advisable... oh well.
05:55 domidumont joined #perl6
06:00 Timbus gagalicious: If you want feedback, just paste a snippet of your code (gist.github.com) from time to time and see what people say :)
06:00 spider-mario joined #perl6
06:00 domidumont joined #perl6
06:00 Timbus .. it helps a lot if it's perl 6, though.
06:15 FROGGS joined #perl6
06:22 araujo joined #perl6
06:22 araujo joined #perl6
06:24 moritz hoelzro: fwiw, exception types is an area where the implementation generally leads and the design docs follow
06:27 dalek rakudo/nom: 0a8f51b | lizmat++ | t/01-sanity/55-use-trace.t:
06:27 dalek rakudo/nom: Hopefully fix test on Win, jnthn++
06:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a8f51bf48
06:29 RabidGravy joined #perl6
06:39 [Tux] lizmat, has that null-thing been identified yet?
06:39 [Tux] and performance is also worse again (compared to early this weekend)
06:39 lizmat [Tux]: I have no idea, been offline most of today... (yesterday for you)
06:40 lizmat I didn't even backlog yet
06:40 darutoko joined #perl6
06:45 lizmat gagalicious: there is a "leave" statement specced that leaves a block, much like a return, however that's NYI atm
06:45 gagalicious what's NYI?
06:45 [Tux] not yet implemented
06:45 moritz Not Yet Implemented
06:46 gagalicious i just put it in a file and then slurp it, then eval that slurp... works nicely. thanks btw
06:47 dalek rakudo/nom: 2281689 | lizmat++ | src/core/Hash.pm:
06:47 dalek rakudo/nom: Make my %h.perl and %h{An}.perl identical
06:47 dalek rakudo/nom:
06:47 dalek rakudo/nom: Fixes RT #125352
06:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2281689a0f
06:47 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125352
06:52 dalek roast: 60dd9f8 | lizmat++ | S32-num/rat.t:
06:52 dalek roast: Fix tests with new nu/de behaviour
06:52 dalek roast: review: https://github.com/perl6/roast/commit/60dd9f82a0
06:54 dalek Heuristic branch merge: pushed 41 commits to rakudo/newio by lizmat
06:55 lizmat and on that note, I wish #perl6 a good night!
06:56 domidumont joined #perl6
06:57 moritz \o
06:58 El_Che there are streams for YAPC::NA, are there perl6 talks planned?
06:59 bjz joined #perl6
07:00 dalek doc: 5458f98 | RabidGravy++ | bin/p6doc-index:
07:00 dalek doc: Hand merge c4125cbd2b1bedc1f16610043a7c1e6790049c05 from ab5tract
07:00 dalek doc: Avoid blowing up if a directory in @*INC doesn't exist
07:00 dalek doc: review: https://github.com/perl6/doc/commit/5458f985d8
07:00 dalek doc: 575666c | RabidGravy++ | bin/p6doc-index:
07:00 dalek doc: Merge branch 'ab5tract-inc'
07:00 dalek doc: review: https://github.com/perl6/doc/commit/575666cebb
07:08 [TuxCM] joined #perl6
07:14 [Sno] joined #perl6
07:15 g4 joined #perl6
07:19 _mg_ joined #perl6
07:27 rindolf joined #perl6
07:31 dalek doc: c6dc297 | ab5tract++ | lib/Type/Whatever.pod:
07:31 dalek doc: Add a few clarifications, re-wordings, and expansions to the Whatever docs
07:31 dalek doc: review: https://github.com/perl6/doc/commit/c6dc2977ae
07:31 dalek doc: 1ce879c | ab5tract++ | lib/Type/Whatever.pod:
07:31 dalek doc: Clarify a bit
07:31 dalek doc: review: https://github.com/perl6/doc/commit/1ce879ca1e
07:31 andreoss joined #perl6
07:32 RabidGravy that was harder than it should have been
07:39 larion joined #perl6
07:42 andreoss is there something like Moose builder routine for class variables?
07:42 mst andreoss: class variables are basically a way to hide a global - I'm not sure how it'd make sense to do that
07:43 moritz andreoss: what's your use case?
07:44 andreoss has $.x is rw, builder => sub { ... };
07:45 andreoss and i also want it lazy
07:45 moritz that's how you want it to look, which isn't the same as your use case
07:45 Ven joined #perl6
07:46 andreoss moritz: i didn't come up with a use case, yet, i know i could use ordinary cached method here
07:47 andreoss though having builder seems more explicit
07:47 moritz andreoss: but your example uses an attribute, not a class variable
07:47 mst (I've no idea if such a feature exists, but I'd avoid it if it did)
07:48 moritz andreoss: so I'm wondering what you really want/need
07:48 mst andreoss: yeah, the question is why you'd want that in the first place
07:48 mst step back. explain what you're trying to achieve.
07:49 abraxxa joined #perl6
07:50 El_Che mst: kudos on passing the torch for the state of the velociraptor.
07:50 jnthn morning, #perl6
07:50 andreoss i got class with methods in it, but i want to dry it out a bit, by replacing method with class variables and builder methods
07:51 moritz andreoss: just to get our terminology straight, a class variable exists once per class, not once per object/instance
07:51 moritz andreoss: is that what you want? and if yes, why?
07:51 andreoss oh. instance variable of course, sorry
07:51 moritz ah
07:51 mst oh, then ignore everything I said
07:51 moritz we call them "attributes"
07:51 mst I was talking about class variables
07:52 mst El_Che: it was always meant to happen at some point; I think this is the best chance I could possibly have gotten to make it work
07:52 moritz there was a "will lazy" patch in rakudo, but it was backed out
07:52 moritz can be done in a module
07:53 andreoss moritz: so a cached method will do something like that?
07:53 moritz andreoss: I'd rather go with the "will lazy" approach for lazily building it
07:53 moritz see my two lines above
07:54 mst moritz: really? we still don't have proper lazy build?
07:55 mst that's, like, the most common sort of Moose/Moo attribute other than ro+required in my code :(
07:55 mst (and, actually, the biggest reason I get annoyed trying to write OO in python/ruby/javascript, so perl6 missing it is ... wat ...)
07:55 andreoss is there : lvalue attributes in Perl 6?
07:56 moritz mst: seems like :(
07:56 moritz andreoss: it's spelled 'is rw'
07:56 [Tux] joined #perl6
07:57 brrt joined #perl6
07:57 andreoss m: class Y {method z is rw {} }; my $y = Y.new; $y.z = 1;
07:57 camelia rakudo-moar 228168: OUTPUT«Attempted to STORE to Nil.␤  in block <unit> at /tmp/z2cOZFCNNh:1␤␤»
07:58 moritz andreoss: you must return something that can hold the value you assign to
08:00 * jnthn still things an "is cached" method is the right way to go for "compute it once per instance". The fact you need some per-instance state to store it, which may be an attribute, feels like an implementation detail to me.
08:00 jnthn *thinks
08:00 andreoss m: class Y {method z is rw { state Int $x; return $x } }; my $y = Y.new; $y.z = 1;
08:00 andreoss
08:00 camelia rakudo-moar 228168: OUTPUT«Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/d0pSKklhxf:1␤␤»
08:00 RabidGravy lose the "return" and you're good
08:01 andreoss m: class Y {method z is rw { state Int $x; $x } }; my $y = Y.new; $y.z = 1;
08:01 camelia rakudo-moar 228168: ( no output )
08:01 andreoss
08:01 mst jnthn: I've used it as a cache, sure, but (1) cache invalidatation (clearers in Moose parlance) (2) computing it is allowed to have side effects
08:01 andreoss RabidGravy: why no return?
08:02 larion joined #perl6
08:02 RabidGravy because return doesn't itself return an lvalue
08:03 FROGGS m: class Y {method z is rw { state Int $x; return-rw $x } }; my $y = Y.new; $y.z = 1;
08:03 camelia rakudo-moar 228168: ( no output )
08:03 RabidGravy Now that I didn't know
08:07 andreoss only state variable could be rw?
08:09 RabidGravy andreoss, no but it doesn't really make a great deal of sense for e.g. a lexically scoped variable
08:09 RabidGravy e.g.
08:09 RabidGravy m: class Y {method z is rw { my Int $x; return-rw $x } }; my $y = Y.new; $y.z = 1;
08:09 camelia rakudo-moar 228168: ( no output )
08:09 RabidGravy that works but doesn't make sense
08:10 mst RabidGravy: "< RabidGravy> that works but doesn't make sense" is now the topic of my work social channel
08:11 mst RabidGravy++
08:11 RabidGravy :-\
08:12 FROGGS m: class Y {method z is rw { my Int $x; return-rw $x } }; my $y = Y.new; $y.z = 1; say $y.z
08:12 camelia rakudo-moar 228168: OUTPUT«(Int)␤»
08:13 FROGGS at least it is correct
08:14 RabidGravy andreoss, to be more specific it only makes sense if the lvalue you are returning will persist between invocations of the method, as is the case with "state" but also attributes or even class data
08:16 RabidGravy e.g.
08:16 RabidGravy m: class Y {my Int $x; method z is rw {  return-rw $x } }; my $y = Y.new; $y.z = 1; say Y.new.z
08:16 camelia rakudo-moar 228168: OUTPUT«1␤»
08:18 mst jnthn: OTOH if you wanted to call it 'is cached' I'd basically be ok with that so long as I can expire it
08:18 mst jnthn: I just want the feature. perl6 OO should not annoy me in ways perl5 doesn't :)
08:31 dalek doc: e792986 | paultcochrane++ | lib/Type/Str.pod:
08:31 dalek doc: State more clearly that substr-eq matches substring exactly
08:31 dalek doc: review: https://github.com/perl6/doc/commit/e79298699b
08:32 zakharyas joined #perl6
08:49 espadrine_ joined #perl6
08:49 bin_005 joined #perl6
08:52 gfldex joined #perl6
08:58 larion joined #perl6
09:00 tinyblak_ joined #perl6
09:04 llfourn joined #perl6
09:08 bin_005 joined #perl6
09:08 _mg_ joined #perl6
09:18 |Tux| joined #perl6
09:19 amurf joined #perl6
09:35 diana_olhovik_ joined #perl6
09:50 bin_005 joined #perl6
10:05 diana_olhovik_ joined #perl6
10:24 Vlavv joined #perl6
10:27 Ven joined #perl6
10:36 Sqirrel joined #perl6
10:39 laouji joined #perl6
11:13 Ven joined #perl6
11:22 masak good time, #perl6
11:26 RabidGravy erp
11:26 masak good erp, RabidGravy
11:29 sue_ :-)
11:29 _mg_ joined #perl6
11:32 Blub\0 joined #perl6
11:34 bjz joined #perl6
11:36 domidumont joined #perl6
11:42 flussence mst: I asked about the expiry thing a few months back, and the answer was something along the lines of "write your own trait_mod"
11:43 RabidGravy it seems entirely doable
11:43 flussence it also helps that "is cached" is a multi to begin with :)
11:55 _mg_ joined #perl6
11:56 RabidGravy on a related note, if one wanted to introduce a new trait auxillary like "might" how do you do it from user code?
12:02 domidumont joined #perl6
12:04 moritz RabidGravy: I don't think that's supported yet
12:06 RabidGravy boo! ;-)  It would go some way to simplifying the discussions about traits where people struggle to find a suitable name to follow e.g. 'is' :)
12:11 yqt joined #perl6
12:20 Sqirrel joined #perl6
12:28 hoelzro o/ #perl6
12:40 dalek rakudo-star-daily: 42f55ac | coke++ | log/ (2 files):
12:40 dalek rakudo-star-daily: today (automated commit)
12:40 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/42f55acb42
12:40 dalek rakudo-star-daily: b40b4bd | coke++ | log/ (2 files):
12:40 dalek rakudo-star-daily: today (automated commit)
12:40 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/b40b4bd671
12:40 dalek rakudo-star-daily: f54abcd | coke++ | log/ (2 files):
12:40 dalek rakudo-star-daily: today (automated commit)
12:40 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/f54abcd365
12:40 dalek perl6-roast-data: 26418ea | coke++ | / (9 files):
12:40 dalek perl6-roast-data: today (automated commit)
12:40 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/26418ea772
12:40 dalek perl6-roast-data: 37e3674 | coke++ | / (9 files):
12:40 dalek perl6-roast-data: today (automated commit)
12:40 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/37e3674194
12:40 dalek perl6-roast-data: 4c1dcb0 | coke++ | / (9 files):
12:40 dalek perl6-roast-data: today (automated commit)
12:40 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/4c1dcb0c75
12:41 rindolf joined #perl6
12:42 llfourn joined #perl6
12:45 xinming joined #perl6
12:46 zakharyas joined #perl6
12:49 spriggy joined #perl6
12:57 arnsholt moritz/RabidGravy: I guess the ability to add a new trait_mod:<foo> would work along the same lines of adding custom operators
12:58 moritz yeah, you just declare a new proto or multi
13:00 RabidGravy but as it currently stands the foos are in the grammar
13:00 arnsholt And there they have to stay. But the compiler knows how to insert new foos into the grammar
13:01 arnsholt That's how "sub infix:<blerg>" works
13:01 itz joined #perl6
13:01 dayangkun joined #perl6
13:03 dayangkun joined #perl6
13:03 RabidGravy right
13:06 llfourn joined #perl6
13:07 jnthn It's a bit trickier for trait mods, as there's no one way to parse them
13:07 jnthn is/does/will all parse differently after the trait mod word itself, for example
13:08 arnsholt Aha. That complicates things, yeah
13:11 domidumont joined #perl6
13:15 cschwenz joined #perl6
13:16 molaf joined #perl6
13:17 FROGGS jnthn: one can always write a slang though...
13:18 jnthn Indeed, that's how to do it today and may well be the long term answer too
13:25 Foxcool joined #perl6
13:33 Ven joined #perl6
13:36 RabidGravy speaking of slangs why isn't %*LANG bound into perl space?
13:36 spriggy I have been imagining a 'never' pragma where one can organize some compile-time failures based on syntax
13:37 spriggy use never :too-many-sigils
13:37 spriggy would make something like '!?$!object-bool' a compile time error
13:39 spriggy I don't see many details on pragmas, nor very many examples, either
13:40 TimToady joined #perl6
13:42 spriggy but I think "use never" will be a helpful tool for users to shape the language according to what they think is acceptable (I for one do not think !?@things is acceptable whatsoever)
13:42 FROGGS RabidGravy: because it is the wrong pig to hang something off, so to say
13:42 spriggy but perhaps a slang would be more appropriate?
13:42 FROGGS though, I have no idea about something better
13:43 FROGGS RabidGravy: though you can access %*LANG indirectly via $~MAIN etc
13:45 RabidGravy ah okay
13:52 RabidGravy so $~MAIN.grammar is the same as what you get from nqp::atkey(%*LANG, 'MAIN') ?
13:53 FROGGS m: say $~MAIN
13:53 camelia rakudo-moar 228168: OUTPUT«Slang.new(:grammar(Perl6::Grammar), :actions(Perl6::Actions))␤»
13:53 FROGGS aye
13:54 RabidGravy perfect
13:54 FROGGS RabidGravy: that's how we currently slang btw: https://github.com/rakudo/rakudo​/blob/nom/lib/NativeCall.pm#L486
13:58 cognominal FROGGS: that's the way to deal with nqp level variabies in Perl 6?
14:02 lolisa joined #perl6
14:02 dayangkun_ joined #perl6
14:04 cognominal m: my $l = nqp::atkey(%*LANG, 'MAIN');
14:04 camelia rakudo-moar 228168: OUTPUT«======================================​=========================================␤The use of nqp::operations has been deprecated for non-CORE code.  Please␤change your code to not use these non-portable functions.  If you really want␤to keep using nqp:…»
14:04 cognominal m: use nqp; my $l = nqp::atkey(%*LANG, 'MAIN');
14:04 camelia rakudo-moar 228168: OUTPUT«This type does not support associative operations␤  in block <unit> at /tmp/2xlKhz2VLN:1␤␤»
14:05 FROGGS cognominal: well yes, currently one has to be careful about what is from NQP and what is from Perl 6 when dealing with slangs
14:05 moritz m: say %*LANG.^name
14:05 camelia rakudo-moar 228168: OUTPUT«Failure␤»
14:05 [ptc] strange... I'm getting "Cannot invoke null object" errors when building DBIish and Linenoise via panda in a freshly-built Rakudo.
14:05 [ptc] any ideas what the problem could be?
14:06 cognominal how come %*LANG is visible in NativeCall and not in the REPL?
14:06 [ptc] i.e. what am I doing wrong...
14:06 FROGGS cognominal: it is visible in an EXPORT sub
14:07 FROGGS cognominal: because that one is called from the Perl6::Grammar directly
14:08 cognominal "that one"?  which one?  :)
14:08 RabidGravy [ptc], I don't think it's just you I smoked the whole ecosystem and saw it a couple of places
14:08 itz [ptc] I got that with DBIish as well
14:08 [ptc] RabidGravy: ok, good to know.  Usually I expect I've got a thinko somewhere
14:09 [ptc] the question is: where to dig first?
14:09 itz I suspect its a recent rakudo change since I don't see it with last months release
14:10 FROGGS cognominal: sub EXPORT
14:11 [ptc] itz: hrm, ok, I might try a git-bisect then
14:11 molaf_ joined #perl6
14:12 cognominal I probably need to read more of Grammar.pm to be able to pose more specific question because I still don't get it
14:16 cognominal eeems interesting, not sure it is relevant.  https://github.com/rakudo/rakudo/​blob/nom/src/Perl6/World.nqp#L603
14:16 RabidGravy I looked at Template6 yesterday that had the same issue and it seemed to be associated with the "use" of another module
14:16 cognominal need a walk to clarify my mind
14:18 jnthn (from backlog) !?@things is of course pointless since it's equivalent to !@things :)
14:24 ssqq joined #perl6
14:26 RabidGravy FROGGS, going back to the slang thing why is the role being applied to the grammar's metamodel rather than to the grammar directly or does mixin do something different to what I think
14:26 telex joined #perl6
14:27 [ptc] itz: I don't think it's Rakudo.  I just tested with the 2015.04 release candidate and the problem is still there.
14:27 [ptc] itz: it would seem the issue is lower down...
14:28 RabidGravy i.e. why can't you just do "$~MAIN.grammar does Foo"
14:28 FROGGS RabidGravy: A.HOW.mixin(A, Foo) is desugar for A.^mixin(Foo)... so the HOW knows how to mix into an object
14:28 itz maybe it's intermittent .. or dependent on panda install order of modules or something
14:28 FROGGS RabidGravy: because 'does' only works when you declare things
14:29 FROGGS RabidGravy: you are probably thinking of 'but'
14:29 cognominal FROGGS++ # got it
14:30 [ptc] itz: don't think it's dependent on panda module installation order; DBIish is the first module to install after a rebootstrap
14:30 [ptc] itz: I tested 2015.04 Rakudo with current nqp/MoarVM, and my guess is that something lower level has changed to cause the issue
14:30 * [ptc] trawls the git logs
14:31 itz I was able to install DBIish with rakudo-2015.05
14:31 itz although I didn't try and reproduce the problem
14:32 [ptc] I'll try with a completely fresh panda and see how I go
14:32 RabidGravy itz, [ptc] I just got "Cannot invoke this object (REPR: Null, cs = 0)"  (which I think is the error in question) without any panda involved at all
14:34 RabidGravy and that I achieved by accidentally commenting out a role in some code I was testing
14:35 FROGGS RabidGravy: can you gold that down to a simple test case?
14:36 RabidGravy GOLD! ALWAYS BELIEVE IN YOUR SOUL!
14:36 RabidGravy er, 'ang on - I'll remove some more code
14:36 FROGGS :P
14:36 FROGGS remove all the things! /o/
14:37 zostay m: my $t = "$*TMPDIR/test".IO; $t.f.say; my $h = $t.open:w; $h.perl.say;
14:37 camelia rakudo-moar 228168: OUTPUT«True␤IO::Handle.new(path => q|/tmp/test|.IO(:SPEC(IO::Spec::Unix)), ins => 0, chomp => Bool::True)␤»
14:39 RabidGravy m: multi trait_mod:<is>(Routine $r, :$foo!) { $r does Foo; }; class Bar { method boom() is foo {}; };
14:39 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lYJy8jS5Aa␤Cannot invoke this object (REPR: Null, cs = 0)␤at /tmp/lYJy8jS5Aa:1␤»
14:39 RabidGravy was the actual code
14:39 RabidGravy (it does work as expected with the role Foo defined
14:40 zostay for some odd reason, rakudo won't create files on my laptop, i just built a fresh rakudobrew and same thing :(
14:41 FROGGS zostay: can you explain what piece of code fails?
14:43 zostay that snippet i just sent to camilia fails
14:43 Su-Shee joined #perl6
14:43 Su-Shee good afternoon #perl6!
14:43 zostay actually, it fails before it tries to open, so i have to leave that part out
14:43 Su-Shee you monthly PLEASE SUBMIT A YAPC::EU TALK reminder has arrived! :)
14:44 zostay when it does the .f test, it reports: Failed to find '/var/folders/78/dj67wxmd6kz​fvrvzh5f5hdbh0000gn/T/test' while trying to do '.f' in block <unit> at <unknown file>:1
14:44 FROGGS hi Su-Shee
14:44 Su-Shee FROGGS: U NO TALK? ;)
14:44 zostay without that test it reports: Failed to open file /var/folders/78/dj67wxmd6kz​fvrvzh5f5hdbh0000gn/T/test: no such file or directory
14:44 FROGGS Su-Shee: I NO PARTICIPANT :o(
14:45 zostay the directory does exist and .f shouldn't fail even if it doesn't
14:45 FROGGS zostay: what's your $*TMPDIR?
14:45 itz is there a pastebot I forget?
14:45 Ven joined #perl6
14:45 Su-Shee FROGGS: WOW NO ATTENDING SUCH SAD? but granada is lovely!
14:45 FROGGS itz: gist?
14:45 zostay $*TMPDIR == '/var/folders/78/dj67wxmd6k​zfvrvzh5f5hdbh0000gn/T/'.IO
14:46 FROGGS Su-Shee: yes, but expensive, at least with $family which I would have to bring with me when I'd visit Spain
14:46 TimToady RabidGravy, FROGGS: note that we'd like to get rid of %*LANG someday, because slangs should be inherited along with current language, not current dynamic scope of the compiler
14:46 jnthn Su-Shee: I did submit one talk, and pondering a second :)
14:47 Su-Shee jnthn: I just saw, I'll yell at masak instead :)
14:47 FROGGS zostay: that almost sounds like it has no write perms...
14:47 zostay the perms are there
14:47 zostay it's definitely a problem in the moarvm/nqp/rakudo chain somewhere
14:47 itz https://gist.github.com/stmuk/25b0a169ac0ec7e130b0
14:48 FROGGS zostay: can you run nqp's tests? it creates files etc
14:48 smls joined #perl6
14:48 spriggy jnth: well, the idea was inspired by looking at a rosetta code example: http://rosettacode.org/wiki/Priority_queue#Perl_6
14:48 spriggy my version was simplified
14:48 spriggy but my point is, there are going to be a fair amount of complaints about some of the syntax that perl 6 affords
14:48 spriggy and I wonder whether having a standard pragma from which to disallow them might be useful
14:48 zostay (or let me clarify, it's definitely in moarvm/nqp/rakudo chain or my calling of it... i'm not ruling out my own stupidity yet)
14:49 FROGGS zostay: ooc, what filesystem do you have?
14:49 smls m: say $*TMPDIR
14:49 camelia rakudo-moar 228168: OUTPUT«"/tmp".IO␤»
14:49 smls ^^ Wasn't this deprecated in favor of $*SPEC.tmpdir ?
14:53 RabidGravy actually it does the same here
14:53 zostay OS X
14:54 spriggy the specific expression was:     !?@!elems.first
14:54 zostay watch your mouth
14:54 xinming joined #perl6
14:55 spriggy actually: !?@!tasks.first({$^_})
14:55 jnthn I'm bemused why that does !? instead of just !
14:55 spriggy that's the kind of code that is going to make people avoid perl 6, guaranteed
14:55 spriggy jnthn: fair
14:55 spriggy I am bemused at what the heck $^_ is
14:57 FROGGS $^a is a placeholder variable, which creates a signature is the surrounding block has none...
14:57 jnthn I'm also surprised to see it written like that
14:57 FROGGS $^_ is non-sense...
14:57 jnthn Well, _ is a valid variable name
14:57 jnthn I'm thinking it was meant to be $_
14:58 FROGGS you either write $_ there (the topic), or $^foo to give it a name
14:58 jnthn Yeah, $^_ is legal but...odd :)
14:58 spriggy :)
14:58 PerlJam .oO( or $^_ if you're going for obfuscation )
14:58 spriggy use never :odd
14:58 spriggy :)
14:58 FROGGS PerlJam: aye
14:59 spriggy I read it that was, as the $^anything style, but wasn't sure whether there was a subtle magic when used in conjunction with the traditional topic var
15:00 * FROGGS hates WTF-8
15:00 * FROGGS talks about Perl 5 at $work
15:00 * smls would probably write .first(?*)  instead of  .first({$^_})
15:01 RabidGravy zostay, I agree that .f shouldn't fail (it should just catch the fail from stat and return false) but
15:01 RabidGravy m:my $t = $*TMPDIR.child("test"); $t.e; my $h = $t.open(:w); $h.perl.say;
15:01 coffee` joined #perl6
15:01 RabidGravy m: my $t = $*TMPDIR.child("test"); $t.e; my $h = $t.open(:w); $h.perl.say;
15:01 camelia rakudo-moar 228168: OUTPUT«IO::Handle.new(path => q|/tmp/test|.IO(:SPEC(IO::Spec::Unix)), ins => 0, chomp => Bool::True)␤»
15:01 RabidGravy works fine for me
15:01 spriggy smls: that would also make sense, except why does it need the so in there?
15:02 smls dunno, haven't read the code in context :P
15:02 spriggy seems strange to me that @t.first($_) would be any different from @t.first(*)
15:03 smls oh, that's what you mean
15:03 smls Well, * by itself does not construct a WhateverCode
15:03 spriggy ah, yes fair point !
15:03 spriggy :)
15:03 smls that only happens when it interacts with operators or method calls
15:03 spriggy you need the (? *) for the currying
15:05 tinyblak joined #perl6
15:06 smls I guess the whole expression   !?@!tasks.first({$^_})   could be written much more readably as   not any(@!tasks)   couldn't it?
15:07 domidumont joined #perl6
15:07 smls or as:  ?none(@!tasks)
15:07 Ven ...which is none(@!tasks) ?
15:07 smls Ven: not quite
15:07 smls you also need to boolify to avoid surprises in the caller code
15:08 smls which might arise when from giving back a Junction :P
15:09 Ven m: sub it's($){}; say it's so True
15:09 camelia rakudo-moar 228168: OUTPUT«Nil␤»
15:09 spriggy smls: from a quick test over here, first({$_}) and first(*) are equivalent
15:10 smls m: say (0, 0, 4).first(*); say (0, 0, 4).first(?*);
15:10 camelia rakudo-moar 228168: OUTPUT«0␤4␤»
15:10 spriggy m: my @a = 40..100; @a.first({$_}).say; @a.first(*).say;
15:10 camelia rakudo-moar 228168: OUTPUT«40␤40␤»
15:10 smls nope :)
15:10 smls it seems that * simply gives the first element, period
15:10 smls without putting any constraints on it
15:11 spriggy what constraints are you seeing in {$_}  ? is it really taking into account whether so $_ is True or False ?
15:11 smls yes
15:12 spriggy ok
15:12 smls passing a code object to first, means "get the first one for which this evaluates to true"
15:12 smls apparently, passing a lone Whatever star means "get the first one."
15:13 smls s/this evaluates to true/evaluates to true when boolified/
15:13 spriggy ok
15:13 spriggy interesting
15:14 lizmat joined #perl6
15:14 smls I like the  (?*)  notation because it is both short, and makes it explicit what is going on.
15:14 skids joined #perl6
15:15 spriggy well, it certainly highlights that first({$_}) is not just interested in the first value, but the first (boolified-to) True value
15:15 spriggy smls: though I would write it as (so *) :)
15:15 spriggy or at least, I might :)
15:16 smls *.so  also works
15:16 zostay nqp tests pass... trying the spectests now... this is really weird
15:17 lizmat YAPC::NA 2015 about to begin
15:17 zostay wish i was there :-|
15:18 * PerlJam too
15:18 smls await...start  seems to work reliably again \o/
15:18 smls Is this your doing jnthn?
15:19 jnthn smls: I've done a bunch of stability work on concurrency stuff, yes
15:19 smls jnthn++
15:19 itz NA is being streamed isn't it?
15:20 FROGGS itz: correct
15:22 nwc10 denizens of #austria.pm reported earlier that the streaming URLs were grumpy and refused to play in Austria, claiming "rights issues"
15:22 Su-Shee tadzik: TALK! PERL6! you can't hide in japan from me!!
15:23 FROGGS I see a count down for https://www.youtube.com/watc​h?v=mQVUvAz3zhQ&amp;pxtry=1 - but the other one that started twenty minutes ago just shows "please stand by"
15:23 Su-Shee "live streaming is not possible in your country because of rights issues" (germany)
15:27 zostay roast never tests the .open the method, only the sub
15:27 itz I think this "Cannot invoke null object" is a heisenbug .. I saw it with Linenoise but repeated the panda install and it worked
15:28 zostay open the sub works find on my system, but .open only works when the file exists already
15:28 spriggy itz: I noticed exactly the same thing
15:28 spriggy I think it is a bug in Panda
15:28 zostay ah... maybe i'm full of it... nm
15:29 spriggy itz: it would always fail when installing Linenoise
15:29 spriggy thebn I installed the dependency of Linenoise manually
15:29 spriggy and on the next run Linemnoise installed fine
15:29 spriggy maybe panda needs to rehash the environment before the next package or something
15:29 [ptc] don't think it's in panda...  I'm running an involved git-bisect on the stack while keeping panda constant and panda's behaviour is consistent
15:29 RabidGravy zostay, I think your problem was .open:w rather than .open(:w)
15:30 zostay that's it! thank you RabidGravy
15:31 RabidGravy the : is swallowed by the method name and thus the argument is w which will be ignored as a positional or something like that
15:31 itz there is an odd line in panda which seems to look for just .pm6
15:31 zostay hmm... seems like that ought to error, though
15:31 PerlJam Ah ... /me finally sees Yaakov (and now Karen)
15:31 zostay .open :w works find too
15:32 RabidGravy yeah, it's just the colon adjacent to the method name
15:34 spriggy [ptc]: hmmm.... so which are you bisecting? the Linenoise repo?
15:34 zostay it's the disapearring letter error, i still don't understand how that parses, then
15:34 RabidGravy infact I'm wonder whether the open:w becomes an adverb on the method rather than an argument
15:34 [ptc] spriggy: rakudo
15:34 spriggy zostay: whitespace is not simply 'nothing' in perl 6
15:34 [ptc] spriggy: I have to make realclean and remove the install/ and nqp/ dirs each time so that I get consistent results
15:35 [ptc] spriggy: hence it's taking a while...
15:35 RabidGravy [ptc] it seems to be some uses of a type where it is not available at compilation time
15:35 zostay spriggy: understood, but i want to know where the :w went... why is this not an error?
15:36 zostay if it went nowhere, that sounds like an error
15:36 zostay that should be caught
15:36 * [ptc] worries that he won't be able to gold it once the commit has been found
15:37 RabidGravy [ptc]  "multi trait_mod:<is>(Routine $r, :$foo!) { $r does Foo; }; class Bar { method boom() is foo {}; };" does it every time
15:37 smls spriggy: I cleaned up & modernized the "Priority queue" example on rc; hope it's less offputting now :)
15:38 RabidGravy [ptc] which suggests to me that it's not failing correctly when it fails to find the type, blunders on and tries to use it in the belief that it exists
15:40 [ptc] interesting...
15:40 [ptc] m: multi trait_mod:<is>(Routine $r, :$foo!) { $r does Foo; }; class Bar { method boom() is foo {}; };
15:40 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dOsjJa0PNL␤Cannot invoke this object (REPR: Null, cs = 0)␤at /tmp/dOsjJa0PNL:1␤»
15:40 Foxcool joined #perl6
15:42 itz I'm not convinced RabidGravy's test is the same as the apparent panda issue since I see that as far back as "rakudo-star-2014.12.1"
15:43 spriggy zostay: ah yes, good point
15:43 itz unless its an old rakudo bug revealed by a recent  panda change
15:43 spriggy smls: thanks man!
15:45 Ven joined #perl6
15:45 RabidGravy itz, I think it's the same bug compounded by some compilation order change in panda or something
15:46 RabidGravy in e.g. Template6 it started after 2015.03
15:47 itz https://www.youtube.com/wat​ch?t=960&amp;v=88K1h1XhEeo sort of works
15:47 itz RabidGravy: yeah that makes sense
15:53 * [Coke] waves
15:54 [ptc] maybe the issue with Linenoise and DBIish is a different issue?  The perl6-examples tests on Travis only show the DBIish problem recently
15:54 cognominal joined #perl6
15:56 RabidGravy I'm making a great guess, but I think Panda::Builder.build needs to add a --libpath to the compiler when it does the compile
16:03 alexghacker joined #perl6
16:03 spider-mario joined #perl6
16:05 [ptc] rakudo d39fe1c is the first bad commit: "bump nqp/moar for fixing async stability"
16:06 [ptc] unfortunately, I don't know what that could mean in order to fix the issue
16:06 diana_olhovik joined #perl6
16:06 alexghacker jnthn++ for all his NFG work
16:08 RabidGravy or build-order is returning the files in the wrong order for some other reason now
16:10 Ven joined #perl6
16:18 uncleyea1 joined #perl6
16:18 alexghacker I have a question about the treatment of the [COMBINING GRAPHEME JOINER]
16:18 alexghacker it appears to be counted as a separate grapheme
16:18 Su-Shee left #perl6
16:18 alexghacker which I wasn't expecting, but I'm not Unicode expert
16:19 alexghacker m: say "o\c[COMBINING DOT BELOW]\c[COMBINING GRAPHEME JOINER]\c[COMBINING DOT ABOVE]"
16:19 camelia rakudo-moar 228168: OUTPUT«ọ͏̇␤»
16:20 alexghacker m: say "o\c[COMBINING DOT BELOW]\c[COMBINING GRAPHEME JOINER]\c[COMBINING DOT ABOVE]".chars
16:20 camelia rakudo-moar 228168: OUTPUT«2␤»
16:20 alexghacker m: say "o\c[COMBINING DOT BELOW]\c[COMBINING DOT ABOVE]"
16:20 camelia rakudo-moar 228168: OUTPUT«ọ̇␤»
16:20 alexghacker m: say "o\c[COMBINING DOT BELOW]\c[COMBINING DOT ABOVE]".chars
16:20 camelia rakudo-moar 228168: OUTPUT«1␤»
16:20 geekosaur "Its name is a misnomer and does not describe its function; the character does not join graphemes.[1] Its purpose is to separate characters that should not be considered digraphs."
16:21 alexghacker Yes, I've read that
16:22 geekosaur anyway "o\c[COMBINING DOT BELOW]\c[COMBINING GRAPHEME JOINER]\c[COMBINING DOT ABOVE]".chars looks like it should return 2: 1 for the o+dot below and one for the freestanding dot above
16:22 alexghacker however, see http://unicode.org/faq/char_combmark.html#14
16:23 jnthn m: say ord "\c[COMBINING GRAPHEME JOINER]"
16:23 camelia rakudo-moar 228168: OUTPUT«847␤»
16:23 alexghacker Q: Is U+03fF COMBINING GRAPHEME JOINER a combining mark?  A: Yes.
16:23 jnthn m: say uniprop
16:23 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qOsQdAH3XW␤Calling uniprop() will never work with any of these multi signatures:␤    (Str $str, Any |c) ␤    (Int $code, Stringy $propname = { ... })␤at /tmp/qOsQdAH3XW:1␤------> 3say 7⏏5uniprop␤»
16:23 jnthn m: say uniprop 847, 'Canonical_Combining_Class'
16:23 camelia rakudo-moar 228168: OUTPUT«0␤»
16:23 alexghacker typo in the above, should be U+034F
16:23 alexghacker (that's what I get for manually transcribing things)
16:24 jnthn That's why.
16:24 geekosaur wow, that's ... unicode, I guess. nearly the canonical example of bizarre
16:24 geekosaur (unicode, not that specific example)
16:24 jnthn The NFG algorithm is defined in terms of the NFC algorithm, and so works in terms of Canonical_Combining_Class.
16:24 jnthn If something has a ccc of 0 then it's a non-starter
16:25 alexghacker so, if I'm understanding you (and the faq) correctly
16:25 jnthn uh, non-combiner
16:25 jnthn As far as the NFG algo is concerned
16:25 alexghacker it's a combining character that is defined to combine with the empty set
16:25 jnthn m: say "o\c[COMBINING DOT BELOW]\c[COMBINING GRAPHEME JOINER]\c[COMBINING DOT ABOVE]".chars
16:25 camelia rakudo-moar 228168: OUTPUT«2␤»
16:26 jnthn Well, except by Canonical_Combining_Class it claims *not* to be a combining char
16:26 andreoss joined #perl6
16:27 alexghacker so how does the "The presence of a combining grapheme joiner in the midst of a combining character sequence does not interrupt the combining character sequence" work out then?
16:28 jnthn Badly, apparently.
16:28 smls joined #perl6
16:28 alexghacker I've had this picture in my head of how it would work at a grapheme level, but have never been able to test it out until recently
16:29 alexghacker not having read the detailed unicode specs, I'm going mostly on supposition
16:29 jnthn Well, NFG isn't defined by Unicode, so we have to define it somehow
16:30 jnthn And given it's been discussed as a kind of "NFC but make synthetics where there aren't precomposed", the implementation we have just extends the definition of NFC in that direction.
16:31 jnthn And the NFC spec uses the Canonical_Combining_Order property
16:31 _mg_ joined #perl6
16:34 smls m: (gather await do for ^10 { start { sleep rand; take $_ } }).map(*.say)
16:34 camelia rakudo-moar 228168: OUTPUT«Unhandled exception: take without gather␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/share/perl6/run​time/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:24410  (/home/camelia/rakudo-inst-1/share/p​erl6/runtime/CORE.setting.moarvm:…»
16:34 smls Hm, I guess it was naive to think that that might work :D
16:34 jnthn No, you can not gather/take across threads :P
16:34 smls right
16:35 RabidGravy if you wanted to do that I;d go with a Channel
16:35 jnthn Well, that example does exactly the right thing if you delete the gather and the take :P
16:36 RabidGravy :-)
16:36 smls except that is does not give back the result as a lazy list
16:36 smls so that the .map could start processing the first ones as soon as they arrive
16:37 alexghacker jnthn: this sentence from the answer to http://unicode.org/faq/char_combmark.html#16 also looks like it will be problematic: "[COMBINING GRAPHEME JOINER] has no impact on line breaking, except that as for other combining marks, it should be kept with its base when breaking a line."
16:38 alexghacker should I be submitting this as a bug to Unicode?  ;)
16:39 jnthn Well, not sure it's a submittable bug per se, but it's interesting to ask why CGJ ends up with a 0 ccc when it's clearly meant to function as a combining char
16:39 jnthn m: say uniprop ord('A'), 'Canonical_Combining_Class'
16:39 camelia rakudo-moar 228168: OUTPUT«0␤»
16:40 alexghacker the FAQ (which I understand isn't normative) explicitly says it has "ccc=0" and explicitly says it combines and should be kept with its base
16:40 jnthn Grumble.
16:40 alexghacker sorry  :(
16:41 fhelmberger joined #perl6
16:41 jnthn It's not your fault. Unicode is just...crazy in places.
16:41 jnthn I mean, the easy way out on this one is just to go and special case the problem char
16:41 jnthn But I always fear there'll be another one waiting to pop up.
16:42 fhelmberger joined #perl6
16:42 alexghacker I guess one of the problem with an expansive character set is that there's plenty of room for special cases
16:43 fhelmberger joined #perl6
16:44 jnthn Aye
16:44 fhelmberger joined #perl6
16:45 fhelmberger joined #perl6
16:46 fhelmberger joined #perl6
16:47 fhelmberger joined #perl6
16:48 muraiki joined #perl6
16:48 fhelmberger joined #perl6
16:49 fhelmberger joined #perl6
16:50 fhelmberger joined #perl6
16:51 fhelmberger joined #perl6
16:52 fhelmberger joined #perl6
16:52 jdv79 could someone shed a little light on http://paste.scsys.co.uk/487319
16:53 jdv79 i'm not sure why or how that's happening
16:53 fhelmberger joined #perl6
16:54 RabidGravy smls, https://gist.github.com/jonat​hanstowe/a93e637ef971e7eac92a
16:54 domidumont joined #perl6
16:55 fhelmberger joined #perl6
16:55 smls thanks
16:55 atweiden joined #perl6
16:55 smls although, didn't we have a shortcut for "loop { earliest $c { more * { ... }}}" ?
16:56 fhelmberger joined #perl6
16:56 atweiden m: class A1 { has $.a }; my @arr = 1, 2, A1.new; say @arr.grep({ A1 })
16:56 camelia rakudo-moar 228168: OUTPUT«␤»
16:56 smls wouldn't  for @channel.list { }  work?
16:56 RabidGravy yes it would
16:57 fhelmberger joined #perl6
16:57 atweiden m: class A1 { has $.a }; my @arr = 1, 2, A1.new(:a(1)); say @arr.grep({ A1 })
16:57 camelia rakudo-moar 228168: OUTPUT«␤»
16:57 atweiden is this the right way to grep for a class?
16:58 jnthn no
16:58 fhelmberger joined #perl6
16:58 jnthn m: class A1 { has $.a }; my @arr = 1, 2, A1.new(:a(1)); say @arr.grep(A1)
16:58 camelia rakudo-moar 228168: OUTPUT«A1.new(a => 1)␤»
16:58 atweiden m: class A1 { has $.a }; my @arr = 1, 2, A1.new(:a(1)); say @arr.grep({ Int })
16:58 camelia rakudo-moar 228168: OUTPUT«␤»
16:58 atweiden ah i see
16:59 fhelmberger joined #perl6
16:59 Ven joined #perl6
16:59 ab5tract speaking of 'gather', I had trouble finding it on docs.perl6.org
16:59 SevenWolf joined #perl6
17:00 fhelmberger joined #perl6
17:00 RabidGravy smls, though would still need the "last if $p" bit to break out the loop
17:00 ab5tract is that defined on Mu?
17:00 hoelzro ab5tract: I don't see it doc'd
17:00 hoelzro interestingly enough, take is: http://doc.perl6.org/routine/take
17:01 fhelmberger joined #perl6
17:02 fhelmberger joined #perl6
17:03 fhelmberger_ joined #perl6
17:04 fhelmberger joined #perl6
17:04 smls RabidGravy: It seems to work with  allof(@ps).then({ $c.close });  - see gist comment
17:05 fhelmberger joined #perl6
17:05 RabidGravy ab5tract, hoelzro it's one of those tricky things as it's a syntactic structure rather than a function - probably wants to go in some language/ page
17:05 RabidGravy smls, oh yeah nice
17:06 ab5tract RabidGravy: true, but then again perldoc -f gather should DWIM
17:06 fhelmberger joined #perl6
17:06 ab5tract sorry, p6doc -f gather
17:07 fhelmberger joined #perl6
17:08 ab5tract also, it is not clear to me how to reach the language/ docs from p6doc
17:08 fhelmberger joined #perl6
17:08 * ab5tract plays fhelmberger 'Should I Stay or Should I Go' by the Ramones
17:09 ab5tract or was that the Clash? *shrug*
17:09 fhelmberger joined #perl6
17:09 RabidGravy it was the Clash
17:10 jdv79 fhelmberger: you ok?
17:10 ab5tract thanks RabidGravy :)
17:10 tinyblak joined #perl6
17:10 fhelmberger joined #perl6
17:11 fhelmberger joined #perl6
17:12 dalek Inline-Python: 5865f28 | (Stefan Seifert)++ | t/p (2 files):
17:12 dalek Inline-Python: Replace deprecated is_deeply by is-deeply in tests
17:12 dalek Inline-Python: review: https://github.com/niner/Inl​ine-Python/commit/5865f28dc7
17:12 fhelmberger joined #perl6
17:13 ab5tract speaking of allof/anyof
17:13 ab5tract can we kebab case those too?
17:13 fhelmberger joined #perl6
17:14 fhelmberger joined #perl6
17:16 fhelmberger joined #perl6
17:17 fhelmberger joined #perl6
17:18 RabidGravy is $*SPEC going to stay? If so it I'll stick it in variables.pod
17:18 fhelmberger joined #perl6
17:19 timotimo o/
17:19 fhelmberger joined #perl6
17:19 lizmat RabidGravy: if it were up to me, it would go
17:19 lizmat m: role Foo { }; multi trait_mod:<is>(Routine $r, :$foo!) { $r does Foo }; sub boom() is foo {}   # works
17:19 camelia rakudo-moar 228168: ( no output )
17:19 lizmat m: multi trait_mod:<is>(Routine $r, :$foo!) { $r does Foo }; role Foo {}; sub boom() is foo {}   # does not work, should it ?
17:19 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Sr83img5F7␤Cannot invoke this object (REPR: Null, cs = 0)␤at /tmp/Sr83img5F7:1␤»
17:20 RabidGravy lizmat, yes it does.  The point being the error
17:20 fhelmberger joined #perl6
17:20 lizmat yes, I know
17:20 lizmat looking at fixing it, just wondering whether my second example should work or not
17:21 fhelmberger joined #perl6
17:21 lizmat aka, is the does bound at compile time, or at trait use time
17:22 fhelmberger joined #perl6
17:23 fhelmberger joined #perl6
17:24 ab5tract lizmat: Is The Does sounds like a decent band name :)
17:24 fhelmberger joined #perl6
17:25 fhelmberger joined #perl6
17:26 RabidGravy lizmat it should behave the same as:
17:26 fhelmberger joined #perl6
17:26 RabidGravy m: class Foo {}; my $e = Foo.new; $e does Bar; role Bar {}
17:26 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NuzwGhj8UL␤Illegally post-declared type:␤    Bar used at line 1␤␤»
17:26 timotimo oooh, it's monday, isn't it
17:26 lizmat timotimo++  # realizing what day it is  :-)
17:27 fhelmberger joined #perl6
17:28 fhelmberger joined #perl6
17:29 fhelmberger joined #perl6
17:29 pjscott joined #perl6
17:29 lizmat ab5tract:  :-)
17:30 pjscott left #perl6
17:30 _mg_ joined #perl6
17:30 ab5tract lizmat: heck, it could even be a great catch phrase for Perl 6
17:30 fhelmberger joined #perl6
17:30 lizmat But Is The Does
17:31 fhelmberger joined #perl6
17:32 fhelmberger joined #perl6
17:33 fhelmberger joined #perl6
17:34 ab5tract ""The syntax C<has $.x> is short for something like C<has $!x; method x() {
17:34 ab5tract $!x }>"
17:34 ab5tract sorry for the line-break in the paste
17:34 ab5tract is it another compiler transform?
17:35 fhelmberger joined #perl6
17:35 ab5tract and why the "something like" qualification? That just makes me want to know what it _really_ is!
17:35 fhelmberger joined #perl6
17:37 fhelmberger joined #perl6
17:37 timotimo it does generate a method for you, yeah, but it's not really a transformation
17:37 timotimo if it were a transformation - and we do want that at one point - we'd have a much more efficient version of that method
17:37 timotimo because the code we have right now goes via the attribute table ... by name :(
17:38 fhelmberger joined #perl6
17:38 ab5tract timotimo: ah, that's clear. and: ouch :(
17:38 ab5tract during method constuction or dispatch?
17:39 timotimo the method gets installed as a closure that closes over the name of the attribute
17:39 fhelmberger joined #perl6
17:39 timotimo and we can't optimize that in spesh or the jit
17:40 ab5tract timotimo: that explains "something like" quite well, I think
17:40 fhelmberger joined #perl6
17:40 timotimo i wonder how we could do much, much better on inlining
17:40 timotimo since AFAIU we inline a particular closure and thus should be able to get at the values ... ?
17:40 timotimo i shall discuss this in #moarvm
17:41 fhelmberger joined #perl6
17:41 masak m: my $x of Str = "42"; say $x
17:41 camelia rakudo-moar 228168: OUTPUT«42␤»
17:41 masak m: my $x of Int(Str) = "42"; say $x
17:41 camelia rakudo-moar 228168: OUTPUT«Type check failed in assignment to '$x'; expected 'Int(Str)' but got 'Str'␤  in block <unit> at /tmp/jJXxpKfyET:1␤␤»
17:41 Ven joined #perl6
17:41 masak m: my Int(Str) $x = "42"; say $x
17:41 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UEVDZmExaU␤Coercion Int(Str) is insufficiently type-like to qualify a variable␤at /tmp/UEVDZmExaU:1␤------> 3my Int(Str) $x7⏏5 = "42"; say $x␤    expecting any of:␤        constraint␤»
17:42 fhelmberger joined #perl6
17:42 ab5tract timotimo: it also feels a  it "macro-y" to me, but I say that without ever doing much with macros personally
17:42 masak why are coercions insufficiently type-like to qualify a variable?
17:42 masak the feel pretty type-like to me.
17:42 timotimo hmm.
17:43 lizmat masak: isn't that a case of NYI ?
17:43 fhelmberger joined #perl6
17:43 masak supposably.
17:44 fhelmberger joined #perl6
17:45 fhelmberger joined #perl6
17:45 ab5tract would that be an Int whihc only coerces to Str?
17:46 FROGGS joined #perl6
17:46 fhelmberger joined #perl6
17:46 masak no, it expects to get a Str, but converts it to an Int.
17:46 timotimo ab5tract: maybe it'd be interesting to install a method by using actual code-gen when we reach the end of the class definition and we have public attributes left that have not had their name shadowed by some other method
17:46 ab5tract or, to phrase it as an open question: what is the particular use case for that?
17:46 masak ab5tract: should read Int(Str) a bit like the conversion is a function, f(Str)
17:47 fhelmberger joined #perl6
17:47 ab5tract timotimo: honestly, that was how I assumed it already worked :)
17:48 skids gather is docced in language/control-flow.  It's a statement, not a routine, so it got passed over for /routines.  Likely there are other statements that do not have an entry there.
17:48 fhelmberger joined #perl6
17:48 timotimo ab5tract: it works in a way that's hard to distinguish if you don't look at the actual internals :)
17:48 RabidGravy yeah like e.g. earliest
17:49 fhelmberger joined #perl6
17:50 fhelmberger joined #perl6
17:51 skids Oh I'm mistaken.  gather is not docced yet.
17:51 fhelmberger joined #perl6
17:52 fhelmberger joined #perl6
17:53 fhelmberger_ joined #perl6
17:54 fhelmberger joined #perl6
17:55 fhelmberger_ joined #perl6
17:56 fhelmberger joined #perl6
17:58 fhelmberger joined #perl6
17:59 fhelmberger joined #perl6
18:00 fhelmberger joined #perl6
18:01 cognominal joined #perl6
18:01 fhelmberger joined #perl6
18:02 fhelmberger joined #perl6
18:03 fhelmberger joined #perl6
18:04 fhelmberger joined #perl6
18:05 fhelmberger joined #perl6
18:06 fhelmberger joined #perl6
18:07 fhelmberger joined #perl6
18:08 fhelmberger joined #perl6
18:09 fhelmberger joined #perl6
18:10 fhelmberger joined #perl6
18:11 fhelmberger joined #perl6
18:12 fhelmberger joined #perl6
18:13 fhelmberger joined #perl6
18:14 fhelmberger joined #perl6
18:15 ab5tract skids: but -f should still find it, right?
18:15 lizmat lunch&
18:15 fhelmberger joined #perl6
18:16 skids ab5stract: I actually don't see anything that mentios gather other than some docs for various take methods
18:16 cognominal Swift will be Open Source
18:16 fhelmberger joined #perl6
18:17 fhelmberger_ joined #perl6
18:18 ab5tract skids: oh, I meant conceptually :)
18:19 fhelmberger joined #perl6
18:19 ab5tract I couldn't find any gather either
18:19 skids I dunno.  Is lazy or eager docced?  That would e the same category.
18:19 ab5tract outside of the synopses
18:20 fhelmberger joined #perl6
18:20 bin_005 joined #perl6
18:20 ab5tract Does the nominative 'non-routine terms' fit as a name for this category?
18:20 skids I think "statement prefix"?
18:21 fhelmberger joined #perl6
18:21 ab5tract I would think that anything one might encounter in term position would be usefully accessible through -f
18:21 ab5tract not sure if the original perldoc -f was short for 'function', but we can choose it to be 'find' :)
18:22 fhelmberger joined #perl6
18:23 fhelmberger joined #perl6
18:23 ab5tract the recent documentation expansion has been both impressive and inspiring
18:24 fhelmberger joined #perl6
18:25 fhelmberger joined #perl6
18:26 fhelmberger joined #perl6
18:27 fhelmberger joined #perl6
18:27 anaeem1_ joined #perl6
18:28 fhelmberger joined #perl6
18:29 fhelmberger joined #perl6
18:30 fhelmberger joined #perl6
18:31 fhelmberger joined #perl6
18:32 fhelmberger joined #perl6
18:33 fhelmberger joined #perl6
18:34 fhelmberger joined #perl6
18:35 fhelmberger joined #perl6
18:36 fhelmberger joined #perl6
18:38 fhelmberger joined #perl6
18:38 skids I think it would be more useful to have at least one one-stop-shopping flag for doc, yes.
18:38 fhelmberger joined #perl6
18:39 RabidGravy maybe "-k" which could be "keywords"
18:40 fhelmberger joined #perl6
18:41 fhelmberger joined #perl6
18:41 brrt joined #perl6
18:42 fhelmberger joined #perl6
18:43 fhelmberger joined #perl6
18:44 fhelmberger joined #perl6
18:45 fhelmberger joined #perl6
18:45 anaeem1_ joined #perl6
18:46 fhelmberger joined #perl6
18:48 fhelmberger joined #perl6
18:49 fhelmberger joined #perl6
18:50 pmichaud m: say min(1/0, 2/0)
18:50 camelia rakudo-moar 228168: OUTPUT«Attempt to divide 1 by zero using div␤  in block <unit> at /tmp/H5YmvrxqMY:1␤␤»
18:50 fhelmberger joined #perl6
18:50 timotimo hm, "using div"? maybe that would have wanted to read "/"?
18:51 pmichaud m: say min( 1 div 0, 2 div 0)
18:51 camelia rakudo-moar 228168: OUTPUT«Inf␤»
18:51 pmichaud better.
18:51 fhelmberger joined #perl6
18:52 fhelmberger joined #perl6
18:53 fhelmberger joined #perl6
18:54 vendethiel joined #perl6
18:54 fhelmberger joined #perl6
18:55 fhelmberger joined #perl6
18:56 timotimo can all of our exceptions be resumed? o_O
18:56 fhelmberger joined #perl6
18:57 fhelmberger joined #perl6
18:59 fhelmberger joined #perl6
19:00 fhelmberger joined #perl6
19:01 fhelmberger joined #perl6
19:02 [Coke] m: say min( Failure.new(), Failure.new() )
19:02 camelia rakudo-moar 228168: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at /tmp/Ggv9rSYfhI:1␤␤»
19:02 fhelmberger joined #perl6
19:02 [Coke] m: say min( Failure.new(""), Failure.new("") )
19:02 camelia rakudo-moar 228168: OUTPUT«Method 'backtrace' not found for invocant of class 'Str'␤  in block <unit> at /tmp/Gf60JiSEFx:1␤␤»
19:02 pmichaud just replied to the ticket.
19:02 pmichaud well, I tried to reply... it's not showing up in RT yet.
19:03 pmichaud oh, there it is.
19:03 fhelmberger joined #perl6
19:03 jdv79 anyone? ^^
19:04 fhelmberger joined #perl6
19:04 brrt jdv79: missed the conversation. is there anything we can help you with?
19:05 fhelmberger joined #perl6
19:05 brrt timotimo: no, not all of them, only with a thrown object
19:05 brrt 'category' exceptions cannot
19:06 smls There was some way to bind a parameter to an outer lexical, right?
19:06 smls USe-case:
19:06 smls my $verbose;  sub MAIN (:$verbose) { ... foo() ... };  sub foo { if $verbose ... }
19:06 bin_005 joined #perl6
19:06 fhelmberger joined #perl6
19:06 pmichaud that's not an "outer" lexical, that's a "caller" lexical.
19:06 pmichaud the scope of $verbose is inside of MAIN's curlies.
19:07 smls yes, that's why I was asking for a way
19:07 smls (to bind the MAIN parameter to the previous my $verbose
19:07 fhelmberger joined #perl6
19:07 pmichaud oh
19:07 pmichaud sorry, I misread.
19:08 anaeem1_ joined #perl6
19:08 fhelmberger joined #perl6
19:09 smls_ joined #perl6
19:09 FROGGS my $verbose;  sub MAIN (:$verbose) { ... foo() ... };  sub foo { if OUTER::<$verbose> } # something like that
19:09 FROGGS smls: ^^
19:09 pmichaud at one time it was something like   sub MAIN( :$verbose = OUTER::<$verbose> ) { ... }
19:09 fhelmberger joined #perl6
19:09 FROGGS there is also OUTERS:: now IIRC
19:10 fhelmberger joined #perl6
19:11 smls_ m: my $x; sub set-x (:x(OUTER::<$x>)) {  }; set-x x => 42; say $x
19:11 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Xl1EXY92ZU␤Malformed parameter␤at /tmp/Xl1EXY92ZU:1␤------> 3my $x; sub set-x (:x(7⏏5OUTER::<$x>)) {  }; set-x x => 42; say $␤    expecting any of:␤        formal parameter␤»
19:11 fhelmberger joined #perl6
19:11 pmichaud smls_: are you trying to get foo to see MAIN's $verbose, or (and?) are you trying to get MAIN's $verbose to default to the mainline's verbose?
19:12 smls_ trying to set the MAIN variable automatically
19:12 smls_ of course I could just use an assignment statement in MAIN
19:12 FROGGS m: my $x; sub set-x (:x = OUTER::<$x>) {  }; set-x x => 42; say $x
19:12 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2htc96QFok␤Malformed parameter␤at /tmp/2htc96QFok:1␤------> 3my $x; sub set-x (:7⏏5x = OUTER::<$x>) {  }; set-x x => 42; sa␤    expecting any of:␤        formal parameter␤        named paramet…»
19:12 pmichaud m: my $a; sub xyz(:$b = $a) { say $b; }
19:12 camelia rakudo-moar 228168: ( no output )
19:12 fhelmberger joined #perl6
19:12 pmichaud m: my $a; sub xyz(:$b = OUTER::<$a>) { say $b; }
19:12 camelia rakudo-moar 228168: ( no output )
19:13 pmichaud m: my $a = 'hello'; sub xyz(:$b = OUTER::<$a>) { say $b; };   xyz()
19:13 camelia rakudo-moar 228168: OUTPUT«(Any)␤»
19:13 pmichaud m: my $a = 'hello'; sub xyz(:$b = OUTER::<$a>) { say $b; say OUTER::<$a>; };   xyz()
19:13 camelia rakudo-moar 228168: OUTPUT«(Any)␤hello␤»
19:13 smls_ I just thought since there was a way to automatically bind to object attributes in a method signature, maybe there was something similar for outer lexicals
19:13 pmichaud well, there's the obvious:
19:13 pmichaud oh, not so obvious
19:13 fhelmberger joined #perl6
19:13 pmichaud m: my $a = 'hello'; sub xyz(:$b = MY::<$a>) { say $b; say OUTER::<$a>; };   xyz()
19:13 camelia rakudo-moar 228168: OUTPUT«(Any)␤hello␤»
19:14 pmichaud I'm guessing the scoping rules aren't quite working properly in parameter lists.
19:14 pmichaud m: my $a = 'hello'; say MY::<$a>; sub xyz(:$b = MY::<$a>) { say $b; say OUTER::<$a>; };   xyz()
19:14 camelia rakudo-moar 228168: OUTPUT«hello␤(Any)␤hello␤»
19:14 fhelmberger joined #perl6
19:15 petercom1and joined #perl6
19:15 FROGGS m: my $a = 'hello'; say MY::<$a>; sub xyz($b = MY::<$a>) { say $b; say OUTER::<$a>; };   xyz()
19:15 camelia rakudo-moar 228168: OUTPUT«hello␤(Any)␤hello␤»
19:15 Juerd joined #perl6
19:15 FROGGS hmmm
19:15 fhelmberger joined #perl6
19:15 pmichaud I feel certain that the correct Perl 6 would be something like
19:16 pmichaud m: my $a = 'hello'; say MY::<$a>; sub xyz(:$b = OUTER::<$a>) { say $b; say OUTER::<$a>; };   xyz()
19:16 camelia rakudo-moar 228168: OUTPUT«hello␤(Any)␤hello␤»
19:16 FROGGS m: my $a = 'hello'; say MY::<$a>; sub xyz($b = OUTERS::<$a>) { say $b; say OUTER::<$a>; };   xyz()
19:16 camelia rakudo-moar 228168: OUTPUT«hello␤hello␤hello␤»
19:16 FROGGS m: my $a = 'hello'; say MY::<$a>; sub xyz($b = OUTER::<$a>) { say $b; say OUTER::<$a>; };   xyz()
19:16 camelia rakudo-moar 228168: OUTPUT«hello␤(Any)␤hello␤»
19:16 pmichaud because inside of the xyz parameter list, OUTER:: should refer to the scope containing xyz
19:16 FROGGS now I need to look at TimToady++'s commit about OUTERS
19:16 pmichaud oh, yeah.
19:16 pmichaud interesting.
19:16 fhelmberger joined #perl6
19:17 pmichaud well, at least we know the OUTERS:: scope works somewhat.
19:17 fhelmberger joined #perl6
19:18 pmichaud i'm afk again to finish preparing for my talk
19:18 FROGGS hmmm, that's not much: https://github.com/rakudo/rakudo/commit/​d3ba345b381bde8812619588fda60c2e468b6f94
19:18 FROGGS pmichaud: have fun!
19:18 FROGGS (and make the others have fun as well :o)
19:19 fhelmberger joined #perl6
19:20 fhelmberger joined #perl6
19:21 fhelmberger joined #perl6
19:22 fhelmberger joined #perl6
19:23 fhelmberger joined #perl6
19:24 fhelmberger joined #perl6
19:24 vendethiel So, seems like Apple will open-source swift. that's great to hear. http://www.apple.com/live/2015-june-event/9​d2ad033-d197-4009-96a7-2a97fd044cb7/?cid=li​-us-9d2ad033-d197-4009-96a7-2a97fd044cb7-im
19:25 fhelmberger joined #perl6
19:25 yqt joined #perl6
19:26 fhelmberger joined #perl6
19:26 anaeem1 joined #perl6
19:27 fhelmberger joined #perl6
19:28 anaeem1_ joined #perl6
19:28 fhelmberger joined #perl6
19:29 fhelmberger joined #perl6
19:30 fhelmberger joined #perl6
19:30 pyrimidine vendethiel: wonder if Go's popularity has something to do with that?
19:31 vendethiel pyrimidine: I think I'd say microsoft's new "popularity" has more to do with it. After all, people can't use Go for iOS apps, and apple was very happy with obj-c before
19:31 pyrimidine tru
19:31 fhelmberger joined #perl6
19:32 fhelmberger joined #perl6
19:33 anaeem1 joined #perl6
19:33 fhelmberger joined #perl6
19:33 anaeem1 joined #perl6
19:34 fhelmberger joined #perl6
19:35 fhelmberger joined #perl6
19:36 fhelmberger_ joined #perl6
19:37 moritz the cynical part in my wonders if swift is going open source because it didn't gain as much traction as apple hoped
19:37 fhelmberger joined #perl6
19:38 vendethiel moritz: I don't think so, considering how much traction it got
19:38 anaeem1 joined #perl6
19:38 fhelmberger joined #perl6
19:39 masak also -- I'd still consider it some kind of victory.
19:40 fhelmberger joined #perl6
19:40 espadrine_ joined #perl6
19:41 fhelmberger joined #perl6
19:41 brrt re: swift, it's rather typicial of 'us language geeks' to hold it in somewhat less esteem as the typical 'industry' programmer
19:42 brrt that is, we may think not too much of it but for the industry programmer, it's both an improvement and it's Sanctioned By Apple
19:42 nwc10 so, we get to see how well Swift marries ARC with threads?
19:42 fhelmberger joined #perl6
19:42 brrt now that's just mean :-P
19:43 smls I think we can all agree that Swift is a step up from Objective C... >.<
19:43 fhelmberger joined #perl6
19:43 brrt hmm. that depends. objective-c still had it's 'C parts' to fall back on
19:44 lizmat joined #perl6
19:44 fhelmberger joined #perl6
19:44 * moritz hasn't tried either yet
19:45 fhelmberger joined #perl6
19:46 fhelmberger joined #perl6
19:46 nwc10 no, I'm actually curious
19:46 nwc10 as I understood it, Swift makes a big thing of reference counting
19:47 nwc10 (and it makes sense in a memory constrained environment, as my understanding was that it needs less total memory than a "real" GC)
19:47 fhelmberger joined #perl6
19:47 nwc10 (with obvious downsides of reference counting)
19:47 nwc10 but the thing is multicore CPUs
19:47 nwc10 and I'm unaware of anyone getting reference counting to play nicely with threads
19:48 fhelmberger joined #perl6
19:48 cognominal joined #perl6
19:49 FROGGS does something rely on the refcounting nature of their GC? or are they free to change it in future to something else?
19:49 fhelmberger joined #perl6
19:50 fhelmberger joined #perl6
19:51 fhelmberger joined #perl6
19:51 jnthn I think the argument for refcounting on phones is that you're more memory constrained so timely reclamation matters
19:52 fhelmberger joined #perl6
19:52 nwc10 this was pretty much exactly my understanding. I read something online that seemed to be well explained, and it showed that a GC starts to perform very badly if you try to keep its total memory usage less than 4x the in use memory
19:53 nwc10 whereas reference counting gets you at or close to 1x
19:53 FROGGS jnthn: but how long will this be true?
19:53 fhelmberger joined #perl6
19:53 nwc10 FROGGS: I don't know what they rely on. (others might)
19:54 nwc10 also, as there's only one implementation, er, welcome to Perl 5
19:54 FROGGS yeah
19:54 jnthn FROGGS: It's less and less true already I suspect :)
19:54 FROGGS there is (almost) only one Perl 6 implementation tbh
19:54 fhelmberger joined #perl6
19:54 FROGGS jnthn: that's what I think too
19:54 nwc10 however, it is at least on >1 VM
19:55 FROGGS I mean ppl buy games that almost dont run smoothly on current hardware... why can't that work out for compilers too?
19:55 jnthn There's some amount of material out there on improving reference counting, coalescing counts, etc.
19:55 fhelmberger joined #perl6
19:56 jnthn However, my guess is some of the tricks might trade in timeliness
19:56 jnthn And if you're single impl then of course folks can come to depend on very exact timing, I'd guess.
19:56 FROGGS interestingly I can watch the yapc::na stream right now
19:56 fhelmberger joined #perl6
19:57 * FROGGS just spotted sjn++
19:57 nwc10 I was able to watch it during a lightning talk
19:58 fhelmberger joined #perl6
19:58 fhelmberger_ joined #perl6
20:00 fhelmberger joined #perl6
20:01 fhelmberger joined #perl6
20:02 fhelmberger joined #perl6
20:03 fhelmberger joined #perl6
20:04 fhelmberger joined #perl6
20:05 fhelmberger joined #perl6
20:05 [Sno] joined #perl6
20:06 fhelmberger joined #perl6
20:07 llfourn joined #perl6
20:07 fhelmberger joined #perl6
20:07 smls Is it normal for a 500 line Perl 6 script to take 1.7 seconds to parse?
20:08 spider-mario I’d say so
20:08 smls (as measured by a say now - BEGIN now; at the top)
20:08 spider-mario you don’t have to do that
20:08 fhelmberger joined #perl6
20:08 spider-mario just run perl6 --stagestats
20:08 smls good to know
20:09 fhelmberger joined #perl6
20:09 lizmat smls: that's why we precomp modules :-)
20:10 pyrimidine is there a way to run smoke tests w/o running 'panda install'?
20:10 fhelmberger joined #perl6
20:10 pyrimidine Based on the p6advent it's not apparent.
20:10 FROGGS pyrimidine: not yet
20:11 pyrimidine ok
20:11 FROGGS but it would be very awesome to have
20:11 smls Ok, only 1.3 seconds for actual 'parse' then :P
20:11 pyrimidine FROGGS: agreed
20:11 fhelmberger joined #perl6
20:12 jnthn smls: We build AST as we parse, however, so it's only so accurate. Also, make declarations and run any BEGIN-time code :)
20:12 spider-mario is Nil not a valid hash key anymore?
20:12 spider-mario I now get: “Use of Nil in string context”
20:12 fhelmberger joined #perl6
20:12 spider-mario but it used to work
20:13 amurf joined #perl6
20:13 spider-mario then, when I pass the resulting hash to a function that expects one, I get:
20:13 spider-mario Type check failed in binding %possibilités; expected 'Associative' but got 'Any'
20:13 smls lizmat: Are there plans for a solution for precompiling main programs too?
20:13 fhelmberger joined #perl6
20:14 smls Would have to be tied in with the build/install tool I guess
20:14 lizmat actually, you can already  :)  just running them is a bit of an issue
20:14 FROGGS m: say :{ CORE::Nil => 'bar' }
20:14 camelia rakudo-moar 228168: OUTPUT«(Any) => bar␤»
20:14 fhelmberger joined #perl6
20:15 FROGGS is... that one correct?
20:15 fhelmberger joined #perl6
20:16 fhelmberger_ joined #perl6
20:17 [Coke] m: class Any { }; say Any===Core::Any;
20:17 camelia rakudo-moar 228168: OUTPUT«Could not find symbol '&Any'␤  in block <unit> at /tmp/3IHHJ6MAM5:1␤␤»
20:17 [Coke] m: class Any { }; say Any===CORE::Any;
20:17 camelia rakudo-moar 228168: OUTPUT«True␤»
20:17 fhelmberger joined #perl6
20:18 spider-mario Nil seems to be treated differently in hash litterals and hash indexing
20:18 [Coke] seems like something should complain or be false there.
20:18 spider-mario m: say {a => 42}{'a'}
20:18 camelia rakudo-moar 228168: OUTPUT«42␤»
20:18 spider-mario m: say {Nil => 42}{Nil}
20:18 camelia rakudo-moar 228168: OUTPUT«Use of Nil in string context  in block <unit> at /tmp/M_DERvebsN:1␤(Any)␤»
20:18 fhelmberger joined #perl6
20:19 FROGGS spider-mario: the last example will treat the first Nil as a string
20:19 spider-mario oh, silly me
20:19 spider-mario it’s just because of =>
20:19 spider-mario my bad
20:19 FROGGS m: say {CORE::Nil => 42}{Nil}
20:19 camelia rakudo-moar 228168: OUTPUT«Use of uninitialized value of type Any in string context  in block <unit> at /tmp/kdahAyWVsc:1␤Use of Nil in string context  in block <unit> at /tmp/kdahAyWVsc:1␤42␤»
20:19 FROGGS aye
20:19 FROGGS though, still does not work
20:19 FROGGS m: say {CORE::Any => 42}{Any}
20:19 camelia rakudo-moar 228168: OUTPUT«Use of uninitialized value of type Any in string context  in block <unit> at /tmp/jtWYjpQD5z:1␤Use of uninitialized value of type Any in string context  in block <unit> at /tmp/jtWYjpQD5z:1␤42␤»
20:19 fhelmberger joined #perl6
20:20 FROGGS m: say {CORE::Any => 42}.perl
20:20 camelia rakudo-moar 228168: OUTPUT«Use of uninitialized value of type Any in string context  in block <unit> at /tmp/6yGY0k5UQu:1␤{"" => 42}␤»
20:20 FROGGS m: say :{CORE::Any => 42}.perl
20:20 camelia rakudo-moar 228168: OUTPUT«:{Any => 42}␤»
20:20 FROGGS m: say :{CORE::Any => 42}{Any}
20:20 camelia rakudo-moar 228168: OUTPUT«42␤»
20:20 FROGGS m: say :{CORE::Nil => 42}{Nil}
20:20 camelia rakudo-moar 228168: OUTPUT«(Any)␤»
20:20 anaeem1 joined #perl6
20:20 FROGGS so... you need to create an object hash and you cannot use Nil, at least not atm
20:21 fhelmberger joined #perl6
20:21 jnthn Also note that Nil, when assigned, evaporates into the type object of the type of the container you assigned it into
20:22 fhelmberger joined #perl6
20:22 jnthn m: my Int $x = 42; $x = Nil; say $x
20:22 camelia rakudo-moar 228168: OUTPUT«(Int)␤»
20:23 fhelmberger joined #perl6
20:23 smls heh: "*** Error in `.../moar': double free or corruption (fasttop): 0x00000000040d9770 ***"
20:23 Possum joined #perl6
20:23 RabidGravy good job!
20:24 fhelmberger joined #perl6
20:24 jnthn oh debugger...
20:25 RabidGravy smls: I'd be suggesting rakudobug with output of perl6-valgrid ;-)
20:25 fhelmberger joined #perl6
20:25 smls well, trouble is I can't reproduce it...
20:25 RabidGravy don't you just hate that
20:26 fhelmberger joined #perl6
20:27 jnthn Yes.
20:27 fhelmberger joined #perl6
20:28 smls Fro the prior program output, I do know that it happened during a   await do for @some-list { start .some-method }
20:28 fhelmberger joined #perl6
20:28 smls And  some.-method  does a bunch of IO operations (only reading, not writing)
20:29 smls is that not allowed?
20:29 fhelmberger joined #perl6
20:30 RabidGravy no it's definitely designed to allow that
20:30 fhelmberger joined #perl6
20:30 smls specifically, it uses  .IO, .resolve, .dirname, dir()
20:31 smls ohhhh, and it starts (and read from )an external provess using pipe()
20:31 smls is that allowed too?
20:31 fhelmberger joined #perl6
20:31 RabidGravy afaik that all uses libuv which can handle all
20:32 jnthn There can be trouble if you share the handle between threads at the moment
20:32 jnthn But doesn't look like you're doing that.
20:32 fhelmberger joined #perl6
20:33 smls no
20:33 fhelmberger joined #perl6
20:34 fhelmberger joined #perl6
20:35 fhelmberger joined #perl6
20:36 fhelmberger joined #perl6
20:37 zakharyas joined #perl6
20:37 fhelmberger joined #perl6
20:38 fhelmberger joined #perl6
20:40 fhelmberger_ joined #perl6
20:41 fhelmberger joined #perl6
20:41 spider-mario m: for <a b c> Z <d e f> -> $a, $b {say "a = {$a.perl}, b = {$b.perl}";}
20:41 camelia rakudo-moar 228168: OUTPUT«a = $("a", "d"), b = $("b", "e")␤Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at /tmp/YJ_oyco8Pp:1␤␤»
20:41 spider-mario does this not work like before?
20:41 spider-mario it used to be possible to deconstruct the result of Z this way
20:42 ab5tract m: my $x = Nil; my Int $y = $x;    # is the Nil eventually going to be sticky?
20:42 camelia rakudo-moar 228168: OUTPUT«Type check failed in assignment to '$y'; expected 'Int' but got 'Any'␤  in block <unit> at /tmp/4FkN3cP0st:1␤␤»
20:42 fhelmberger joined #perl6
20:42 jnthn m: for flat <a b c> Z <d e f> -> $a, $b {say "a = {$a.perl}, b = {$b.perl}";}
20:42 camelia rakudo-moar 228168: OUTPUT«a = "a", b = "d"␤a = "b", b = "e"␤a = "c", b = "f"␤»
20:43 ab5tract m: my Nil $x = Nil; my Int $y = $x; $y.say
20:43 camelia rakudo-moar 228168: OUTPUT«(Int)␤»
20:43 spider-mario oh, ok
20:43 spider-mario thanks
20:43 fhelmberger_ joined #perl6
20:43 ab5tract that answers that question :)
20:44 fhelmberger joined #perl6
20:44 ab5tract jnthn: the current behavior of Nil is becoming clearer to me. Other than it not disappearing in list context, are there other changes ahead?
20:45 fhelmberger joined #perl6
20:46 fhelmberger joined #perl6
20:46 jnthn ab5tract: Not that I'm aware of
20:46 ab5tract cool, I'll be done this PR to doc.git in a jiff then :)
20:47 fhelmberger joined #perl6
20:48 fhelmberger joined #perl6
20:48 telex joined #perl6
20:48 anaeem1 joined #perl6
20:49 fhelmberger joined #perl6
20:50 fhelmberger joined #perl6
20:51 ab5tract m: my Nil @e = Nil
20:51 camelia rakudo-moar 228168: OUTPUT«Unhandled exception: Type check failed in assignment to '@e'; expected 'Any' but got 'Any'␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/share/perl6/run​time/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:16647  (/home/camelia/raku…»
20:51 fhelmberger joined #perl6
20:52 fhelmberger joined #perl6
20:53 fhelmberger joined #perl6
20:54 fhelmberger joined #perl6
20:55 fhelmberger joined #perl6
20:56 fhelmberger_ joined #perl6
20:57 ab5tract LTA
20:57 fhelmberger joined #perl6
20:58 fhelmberger_ joined #perl6
20:59 diana_olhovik_ joined #perl6
20:59 fhelmberger joined #perl6
21:01 fhelmberger_ joined #perl6
21:02 fhelmberger joined #perl6
21:02 kurahaupo1 joined #perl6
21:02 brrt joined #perl6
21:03 fhelmberger joined #perl6
21:04 fhelmberger joined #perl6
21:04 brrt re: refcounting. the argument for refcounting is that it's what apple has been doing since the 1980s, and that it's simple to implement
21:05 fhelmberger joined #perl6
21:05 masak 'night, #perl6
21:05 brrt modern, efficient gc can do significantly better than refcounting. but it's harder
21:05 brrt goodnight masak :-)
21:05 skids And no stop-the-world, better for RT apps.
21:06 fhelmberger joined #perl6
21:06 jnthn Ref-count pause time is O(data structure size)
21:06 jnthn So the bound is only as good as you are at limiting how much data you let go of at a time :)
21:07 fhelmberger joined #perl6
21:07 brrt right. and in exchange for no stop-the-world, you get 'let's use atomic inc/dec for everything'
21:08 fhelmberger joined #perl6
21:08 dalek doc: ec2fc82 | ab5tract++ | lib/Type/Nil.pod:
21:08 dalek doc: Add a few examples for Nil; jnthn++ for the 'evaporation' example
21:08 dalek doc: review: https://github.com/perl6/doc/commit/ec2fc8265d
21:08 dalek doc: 2a755c1 | paultcochrane++ | lib/Type/Nil.pod:
21:08 dalek doc: Merge pull request #91 from ab5tract/nil
21:08 dalek doc:
21:08 dalek doc: Add a few examples for Nil; jnthn++ for the 'evaporation' example
21:08 dalek doc: review: https://github.com/perl6/doc/commit/2a755c1f55
21:09 skids Yeah you pay over time with all the inter-CPU mesage passing but it is muh smoother (currently).  Lot of interesting theories as to how to get GC to finer granularity.
21:09 fhelmberger joined #perl6
21:10 bin_005 joined #perl6
21:10 fhelmberger joined #perl6
21:11 fhelmberger joined #perl6
21:12 dalek doc: 87daf4e | paultcochrane++ | lib/Type/Nil.pod:
21:12 dalek doc: Add some missing punctuation
21:12 dalek doc: review: https://github.com/perl6/doc/commit/87daf4e7a4
21:12 dalek doc: 73c23ee | paultcochrane++ | lib/Type/Nil.pod:
21:12 dalek doc: Replace hard tabs with spaces
21:12 dalek doc: review: https://github.com/perl6/doc/commit/73c23ee93a
21:12 dalek doc: 8119091 | paultcochrane++ | lib/Type/Nil.pod:
21:12 dalek doc: Made example code more compact
21:12 dalek doc: review: https://github.com/perl6/doc/commit/81190918ef
21:12 brrt hmm... maybe i just hate rc irrationally
21:12 brrt or rather
21:12 fhelmberger joined #perl6
21:12 jdv79 could someone shed a little light on http://paste.scsys.co.uk/487319
21:12 brrt i hate how rc is treated as some sort of 'solution' to non-problems
21:13 jdv79 i'm a bit confused about the error message
21:13 espadrine_ joined #perl6
21:13 fhelmberger joined #perl6
21:14 skids Really GC exploits that fact that RAM is cheap these days (as long as it isn't being pulled in and out of cache too many times because time is money.)  Whenever that isn't true RC is tried-and-true, if a PITA.
21:14 fhelmberger joined #perl6
21:15 spider-mario RC is deterministic, which allows it to be used for more than just RAM
21:15 spider-mario (cf. C++)
21:15 jnthn jdv79: It means that somehow, a Failure "leaked" (that is, the error contained within it ws never checked)
21:15 spider-mario you can use it to manage files, locks, etc.
21:15 jnthn *was
21:15 fhelmberger joined #perl6
21:16 fhelmberger joined #perl6
21:17 fhelmberger joined #perl6
21:17 dalek specs: 5557888 | paultcochrane++ | S32-setting-library/Str.pod:
21:17 dalek specs: Correct "to" -> "too"
21:17 dalek specs: review: https://github.com/perl6/specs/commit/55578889f6
21:18 fhelmberger joined #perl6
21:19 jdv79 the error was thrown inside a "throws_like".  huh.  i'll try a few things.
21:19 llfourn joined #perl6
21:19 jnthn If you can golf it, that'd be great
21:19 * jnthn gets some rest o/
21:19 fhelmberger joined #perl6
21:20 fhelmberger_ joined #perl6
21:21 kurahaupo1 joined #perl6
21:22 fhelmberger joined #perl6
21:23 fhelmberger_ joined #perl6
21:24 fhelmberger joined #perl6
21:25 fhelmberger joined #perl6
21:26 fhelmberger joined #perl6
21:27 timotimo gnite jnthn :)
21:27 timotimo darn, late again :\
21:27 fhelmberger joined #perl6
21:28 fhelmberger joined #perl6
21:29 fhelmberger joined #perl6
21:30 fhelmberger joined #perl6
21:30 labster joined #perl6
21:31 fhelmberger joined #perl6
21:32 fhelmberger joined #perl6
21:33 fhelmberger joined #perl6
21:34 fhelmberger joined #perl6
21:34 lizmat joined #perl6
21:35 fhelmberger joined #perl6
21:36 fhelmberger joined #perl6
21:37 fhelmberger joined #perl6
21:37 muraiki vendethiel: re: go for iOS apps: https://talks.golang.org/20​15/state-of-go-may.slide#20
21:37 muraiki still has a ways to go, but it's coming :)
21:38 timotimo probably way closer than perl6 :)
21:38 muraiki hehe
21:38 * PerlJam just realizes that pmichaud is speaking on Perl 6
21:38 fhelmberger joined #perl6
21:39 bin_005 joined #perl6
21:39 lizmat yup, he is
21:39 timotimo right now? can has live stream?
21:39 fhelmberger joined #perl6
21:39 PerlJam https://www.youtube.com/watch?v=PNhofgKG1sc
21:40 fhelmberger_ joined #perl6
21:41 timotimo aaw come on
21:41 timotimo "not available in your country"?
21:41 fhelmberger joined #perl6
21:42 PerlJam Sorry timotimo :(
21:42 labster must be copyright problems, we just sang "Happy Birthday" earlier today
21:43 fhelmberger joined #perl6
21:43 timotimo god damn you, copyright industr
21:43 timotimo industry*
21:44 fhelmberger joined #perl6
21:45 fhelmberger joined #perl6
21:46 fhelmberger joined #perl6
21:46 dalek doc: c61d3c7 | paultcochrane++ | WANTED:
21:46 dalek doc: Add substr-rw to WANTED
21:46 dalek doc: review: https://github.com/perl6/doc/commit/c61d3c7da2
21:47 fhelmberger joined #perl6
21:47 PerlJam heh ... the video stream was interrupted and the frame is frozen with pmichaud's face looking like he's angry about something.
21:48 fhelmberger joined #perl6
21:49 fhelmberger joined #perl6
21:50 fhelmberger joined #perl6
21:51 lizmat we experienced a freeze type event on pmichaud's computer here as well
21:51 fhelmberger joined #perl6
21:52 fhelmberger joined #perl6
21:53 fhelmberger joined #perl6
21:54 fhelmberger joined #perl6
21:55 fhelmberger joined #perl6
21:56 fhelmberger joined #perl6
21:57 flussence .oO( let's blame it on solar flares )
21:57 fhelmberger joined #perl6
21:58 ab5tract the other stream is down as well. the error I see is 'The streamer stopped streaming'
21:58 fhelmberger joined #perl6
21:59 labster joined #perl6
21:59 diana_olhovik_ joined #perl6
21:59 fhelmberger joined #perl6
22:00 fhelmberger_ joined #perl6
22:01 fhelmberger joined #perl6
22:02 fhelmberger_ joined #perl6
22:03 Ulti weird the stream for pmichaud's talk just says streamer not streaming, did it happen?
22:03 Ulti :[
22:04 fhelmberger joined #perl6
22:04 * rjbs rebuilds moar.
22:04 PerlJam Ulti: did the talk happen?  yes, it's happening (AFAIK).   The video stoppped for me in the middle.
22:04 rjbs Ulti: I dunno, I'm in the room and there is a talk happening.  I dunno what's up with the streamer.  His video is a mess.
22:05 fhelmberger joined #perl6
22:05 rjbs his slides cut in and out every few minutes
22:05 PerlJam Does anyone know if the videos will also be available after the fact relatively quickly or if we'll have to wait N weeks?
22:05 labster flickered again
22:05 rjbs PerlJam: I believe that last year, it took hours.  I'm assuming the same this year.
22:05 rjbs #yapc probably has a staffer who knows. maybe. :0
22:06 fhelmberger joined #perl6
22:06 PerlJam .oO(  <rjbs> now the podium is on fire!  <labster> And the screen just exploded!  )
22:07 fhelmberger joined #perl6
22:07 labster And now there's lens flare.  Dammit JJ Abrams.
22:07 PerlJam :-)
22:08 fhelmberger joined #perl6
22:09 fhelmberger joined #perl6
22:09 rjbs o no, linenoise won't build in my new build
22:09 rjbs I did rakudobuild moar and I got a new rakudo with no linenoise. My life is over!
22:10 fhelmberger joined #perl6
22:10 rjbs Huh.  Worked on a reinstall. :)
22:11 fhelmberger joined #perl6
22:12 fhelmberger joined #perl6
22:13 fhelmberger joined #perl6
22:14 fhelmberger joined #perl6
22:15 fhelmberger joined #perl6
22:16 fhelmberger joined #perl6
22:17 ab5tract PerlJam: the youtube channel already has videos from earlier today
22:17 fhelmberger joined #perl6
22:18 fhelmberger joined #perl6
22:19 diana_olhovik_ joined #perl6
22:19 fhelmberger joined #perl6
22:20 fhelmberger_ joined #perl6
22:21 fhelmberger joined #perl6
22:22 fhelmberger joined #perl6
22:23 fhelmberger joined #perl6
22:25 fhelmberger joined #perl6
22:26 fhelmberger joined #perl6
22:27 fhelmberger joined #perl6
22:28 fhelmberger joined #perl6
22:29 fhelmberger joined #perl6
22:30 fhelmberger joined #perl6
22:31 fhelmberger joined #perl6
22:32 fhelmberger joined #perl6
22:33 fhelmberger joined #perl6
22:34 fhelmberger joined #perl6
22:35 fhelmberger joined #perl6
22:36 fhelmberger joined #perl6
22:37 fhelmberger joined #perl6
22:38 fhelmberger joined #perl6
22:39 fhelmberger joined #perl6
22:40 fhelmberger joined #perl6
22:41 fhelmberger_ joined #perl6
22:42 fhelmberger joined #perl6
22:44 fhelmberger joined #perl6
22:45 fhelmberger joined #perl6
22:46 fhelmberger joined #perl6
22:47 fhelmberger joined #perl6
22:48 fhelmberger joined #perl6
22:48 [Sno] joined #perl6
22:49 fhelmberger joined #perl6
22:50 fhelmberger joined #perl6
22:51 fhelmberger joined #perl6
22:52 fhelmberger joined #perl6
22:53 fhelmberger joined #perl6
22:54 bjz joined #perl6
22:54 fhelmberger joined #perl6
22:55 fhelmberger joined #perl6
22:56 fhelmberger joined #perl6
22:57 fhelmberger joined #perl6
22:58 fhelmberger joined #perl6
22:59 fhelmberger joined #perl6
23:00 amurf joined #perl6
23:00 fhelmberger joined #perl6
23:01 fhelmberger joined #perl6
23:02 fhelmberger joined #perl6
23:03 fhelmberger joined #perl6
23:05 fhelmberger joined #perl6
23:05 fhelmberger joined #perl6
23:07 fhelmberger joined #perl6
23:08 fhelmberger joined #perl6
23:08 llfourn joined #perl6
23:09 fhelmberger joined #perl6
23:10 fhelmberger joined #perl6
23:11 fhelmberger joined #perl6
23:12 fhelmberger joined #perl6
23:13 fhelmberger joined #perl6
23:14 fhelmberger joined #perl6
23:15 fhelmberger joined #perl6
23:16 fhelmberger joined #perl6
23:17 CurtisOvidPoe joined #perl6
23:17 fhelmberger joined #perl6
23:18 fhelmberger joined #perl6
23:19 fhelmberger joined #perl6
23:20 CurtisOvidPoe m: sub foo(Int $a) { say $a }; say foo(3.7)
23:20 camelia rakudo-moar 228168: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hIlHyZLBAf␤Calling foo(Rat) will never work with declared signature (Int $a)␤at /tmp/hIlHyZLBAf:1␤------> 3sub foo(Int $a) { say $a }; say 7⏏5foo(3.7)␤»
23:20 CurtisOvidPoe m: sub foo(Int $a where * >= 0) { say $a }; say foo(3.7)
23:20 camelia rakudo-moar 228168: OUTPUT«Type check failed in binding $a; expected 'Int' but got 'Rat'␤  in sub foo at /tmp/P7yUNmTTSC:1␤  in block <unit> at /tmp/P7yUNmTTSC:1␤␤»
23:20 fhelmberger joined #perl6
23:21 CurtisOvidPoe While I know that using a subset can’t be checked at compile time, the Int can still be checked at compile time, but adding the ‘where’ now skips this check if the type can’t possibly succeed. I assume this is known and not considered a bug?
23:21 fhelmberger joined #perl6
23:22 fhelmberger joined #perl6
23:23 fhelmberger joined #perl6
23:24 fhelmberger_ joined #perl6
23:26 fhelmberger joined #perl6
23:27 japhb CurtisOvidPoe: The "will never work" check is coming from the *optimizer*, which is attempting to do simple type proofs.  You don't get that message if the optimizer faces something it doesn't yet know how to handle.
23:27 fhelmberger joined #perl6
23:27 CurtisOvidPoe japhb: thank you.
23:27 japhb That said, we obviously want to strengthen the compile-time checks, it's just NYI to handle that sort of case.
23:28 fhelmberger joined #perl6
23:29 fhelmberger joined #perl6
23:30 fhelmberger joined #perl6
23:31 fhelmberger joined #perl6
23:32 fhelmberger joined #perl6
23:33 fhelmberger joined #perl6
23:34 fhelmberger joined #perl6
23:35 fhelmberger joined #perl6
23:36 fhelmberger joined #perl6
23:37 tinyblak joined #perl6
23:37 fhelmberger joined #perl6
23:38 fhelmberger joined #perl6
23:39 fhelmberger joined #perl6
23:40 fhelmberger joined #perl6
23:41 fhelmberger joined #perl6
23:42 fhelmberger_ joined #perl6
23:43 japhb .tell [ptc] Re: specs commit 5557888, I don't think the original meant "can be aliased also", I think it meant "can be the target of an alias", so the 'to' would be correct (though I recognize it's confusing wording all around)
23:43 yoleaux japhb: I'll pass your message to [ptc].
23:43 fhelmberger joined #perl6
23:45 fhelmberger joined #perl6
23:46 fhelmberger joined #perl6
23:47 fhelmberger joined #perl6
23:47 labster joined #perl6
23:48 fhelmberger joined #perl6
23:49 fhelmberger joined #perl6
23:50 fhelmberger joined #perl6
23:51 fhelmberger joined #perl6
23:52 fhelmberger joined #perl6
23:53 fhelmberger joined #perl6
23:54 fhelmberger joined #perl6
23:54 Uladox joined #perl6
23:54 Uladox Hello, I made a perl6 module
23:55 Uladox If anyone is interested it is https://github.com/Uladox/Editscr-Uggedit
23:55 fhelmberger joined #perl6
23:55 skids Uladox: congratulations!
23:56 labster joined #perl6
23:56 fhelmberger joined #perl6
23:56 jack_rabbit joined #perl6
23:57 fhelmberger joined #perl6
23:57 Uladox Part of the idea behind it is when I have to write a C library the header for it can be generated using datastructures found in headers in the project
23:58 fhelmberger joined #perl6
23:58 Uladox I think it can be used to do a fair bit more, so I wrote a module to automate problems that are similar
23:59 Uladox Would it be possible to add it to the modules list?
23:59 fhelmberger joined #perl6

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

Perl 6 | Reference Documentation | Rakudo