Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-06-29

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 klapperl_ joined #perl6
00:01 yakudzo joined #perl6
00:02 carlin_ joined #perl6
00:03 pdcawley joined #perl6
00:03 risou_ joined #perl6
00:04 araujo joined #perl6
00:04 larks_ joined #perl6
00:04 atrodo joined #perl6
00:04 kweetal_ joined #perl6
00:04 clkaoud joined #perl6
00:04 erkan joined #perl6
00:05 yeltzooo joined #perl6
00:06 cotto joined #perl6
00:06 sivoais_ joined #perl6
00:07 masak 'najt, #perl6
00:08 noganex_ joined #perl6
00:08 mikegrb_ joined #perl6
00:09 rurban2 joined #perl6
00:09 retupmoca joined #perl6
00:09 lizmat good night, masak
00:09 Bucciarati joined #perl6
00:09 sivoais joined #perl6
00:09 cooper joined #perl6
00:09 dylanwh joined #perl6
00:10 rurban joined #perl6
00:10 cooper joined #perl6
00:10 rjbs joined #perl6
00:10 sorear joined #perl6
00:11 atrodo joined #perl6
00:12 isacloud__ joined #perl6
00:12 ivan`` joined #perl6
00:14 jnthn 'night, #perl6
00:14 lizmat gnight jnthn
00:18 vendethiel- joined #perl6
00:18 pdcawley joined #perl6
00:19 akagi201 joined #perl6
00:21 Bucciarati_ joined #perl6
00:22 TimToady yay, plane got here from Detroit
00:23 carlin_ \o/
00:23 orevdiabl joined #perl6
00:23 TimToady catch y'all on the flip side &
00:24 epochbell joined #perl6
00:24 cotto joined #perl6
00:24 japhb joined #perl6
00:24 larks joined #perl6
00:25 yeltzooo joined #perl6
00:25 pdcawley joined #perl6
00:25 isacloud__ joined #perl6
00:29 [Sno]_ joined #perl6
00:29 Maddingu1 joined #perl6
00:30 liztormato joined #perl6
00:31 retupmoc1 joined #perl6
00:31 jnthn_ joined #perl6
00:31 markov1 joined #perl6
00:31 TimToady_ joined #perl6
00:31 nebuchad` joined #perl6
00:32 segomos joined #perl6
00:32 japhb_ joined #perl6
00:32 clkao_ joined #perl6
00:33 c1sung_ joined #perl6
00:33 jercos_ joined #perl6
00:33 revdiablo joined #perl6
00:33 ponbiki_ joined #perl6
00:36 Gruber joined #perl6
00:38 cotto joined #perl6
00:38 raiph joined #perl6
00:38 camelia joined #perl6
00:38 Exodist joined #perl6
00:43 oetiker joined #perl6
00:43 liztormato joined #perl6
00:51 timotimo gnite everyone
00:51 * timotimo drives home
00:57 carlin joined #perl6
00:59 pdcawley joined #perl6
01:03 Sqirrel_ joined #perl6
01:06 klapperl joined #perl6
01:11 Su-Shee joined #perl6
01:18 FROGGS joined #perl6
01:23 BenGoldberg joined #perl6
01:32 amkrankruleuen joined #perl6
01:39 sjn_ joined #perl6
02:23 xiaomiao joined #perl6
02:46 pdcawley joined #perl6
02:52 hoverboard joined #perl6
03:12 xenoterracide_ joined #perl6
03:21 rindolf joined #perl6
03:24 xragnar_ joined #perl6
03:33 HACKING-TWITTER joined #perl6
03:42 HACKING-TWITTER joined #perl6
03:51 pdcawley joined #perl6
03:51 PZt joined #perl6
03:53 HACKING-TWITTER joined #perl6
04:01 BenGoldberg joined #perl6
04:09 HACKING-TWITTER joined #perl6
04:40 Gondii joined #perl6
04:41 Gondii Moin
04:41 Gondii Jemand da, der mir ne Frage beantworten kann?
04:43 Gondii Someone there, who can answer me a question?
04:44 PerlJam I'm here.  Dunno if I can answer your question though  :)
04:44 PerlJam I certainly can't answer it if the question isn't in english  ;)
04:48 Gondii So my question is: I have installed Perl 6 (Rakudo) on my Windows system, but I don't know how to search for new modules and install them...
04:49 PerlJam Gondii: you may want to install panda and use that: https://github.com/tadzik/panda
04:50 Gondii Yes, that's exactly what i tried, but for some reasons I couldn't install it, due to some error... I'll try again, but last time it didn't work
04:50 PerlJam Gondii: you can also try to go to modules.perl6.org and install modules manually
04:51 PerlJam Gondii: Can you paste the error that you get when trying to install panda on gist.github.com (or some other paste site)
04:51 PerlJam ?
04:52 PerlJam (If you get it again)
04:52 Gondii at the page you liked, there is a describtion how to install it on windows... so I shall type this "git clone --recursive git://github.com/tadzik/panda.git" in my console... but "git" is no command and I don't know how to execute that line
04:53 Gondii linked*
04:54 PerlJam ah.  You have to first install git.  See http://msysgit.github.io/ maybe.  (caveat lector, I don't use windows, so I have no first-hand knowledge of using git there)
04:55 Gondii Alright, that sounds good, that might be the software that provides the command
04:56 PerlJam Gondii: you could ask on #git for the "most popular" solution to using git on windows.   I just remember msysgit from other people getting help there.
04:58 [Coke] you can probably download a snapshot of that repo from github
04:58 [Coke] but you'll need git installed for panda to download anything else...
05:01 Gondii installing git now... can't be so complicated... and then I'll just execute the commands written at https://github.com/tadzik/panda ... that should fix the error I got
05:05 Gondii seems to work...
05:09 PerlJam excellent
05:09 Gondii looks good, the tests all passed
05:15 woolfy joined #perl6
05:24 cotto joined #perl6
05:24 ivanshmakov joined #perl6
05:34 kaare_ joined #perl6
05:38 gfldex joined #perl6
05:42 Gondii left #perl6
05:47 cognominal joined #perl6
05:51 darutoko joined #perl6
06:04 FROGGS joined #perl6
06:14 [Coke] Gondii++
06:20 labster joined #perl6
06:22 lizmat_ joined #perl6
06:31 moritz good morning
06:31 labster good morning
06:41 lizmat joined #perl6
07:03 lizmat_ joined #perl6
07:04 ClarusCogitatio joined #perl6
07:13 pdcawley joined #perl6
07:23 lizmat joined #perl6
07:24 pdcawley joined #perl6
07:31 noganex joined #perl6
07:38 clkaoud joined #perl6
07:39 akagi201 joined #perl6
07:39 isacloud__ joined #perl6
07:41 khisanth_ joined #perl6
07:42 ribasushi joined #perl6
07:47 dmol joined #perl6
07:59 FROGGS ohh noes!!
08:00 FROGGS perl -E 'say -e "CHANGES" && -s _'
08:00 FROGGS 22849
08:00 FROGGS why?
08:00 telex joined #perl6
08:02 denis_boyun joined #perl6
08:04 pdcawley joined #perl6
08:09 schogen joined #perl6
08:12 Rotwang joined #perl6
08:25 FROGGS moritz: will my blog show up here? http://planeteria.org/perl6/
08:33 itz_ joined #perl6
08:45 spider-mario joined #perl6
08:45 masak good antenoon, #perl6
08:47 FROGGS hi masak
09:01 moritz FROGGS: it seems my changes to the feed list were lost; trying again now
09:01 FROGGS moritz++
09:01 FROGGS :o)
09:07 ivanshmakov joined #perl6
09:25 molaf__ joined #perl6
09:32 Khisanth joined #perl6
09:38 cognominal__ joined #perl6
09:38 klapperl_ joined #perl6
09:40 molaf joined #perl6
09:44 kaare__ joined #perl6
09:51 oetiker joined #perl6
09:52 SamuraiJack joined #perl6
10:04 mikegrb joined #perl6
10:04 isacloud___ joined #perl6
10:04 akagi201_ joined #perl6
10:10 _sri joined #perl6
10:15 yogan joined #perl6
10:24 itz_ anyone know how to use a ipv4 socket only (not ipv6)?
10:24 itz_ I'm trying my $s = IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000), :family(2));
10:24 itz_ but see "Cannot find method 'postcircumfix:<( )>'"
10:31 kaare_ joined #perl6
10:31 Su-Shee joined #perl6
10:31 ivan`` joined #perl6
10:32 masak two questions about parsing, vaguely but not exclusively directed at TimToady:
10:33 masak (a) sublanguages. let's take HTML and JavaScript as an example. the <script>...</script> tags delimit the inner language, and the inner language doesn't really have a say in where it gets interrupted. how does this work in one-pass parsing? i.e. the JavaScript parser might be in the middle of a rule when the '</script>' shows up.
10:35 _sri joined #perl6
10:36 masak (b) failures and resumption. for a syntax highlighter it might be desirable to recognize an error (such as a '>' in the middle of an attribute string in a tag), flag it as an error and then *continue parsing from a different rule* -- in this case, we want to terminate the element rule but tentatively continue from outside of it. how is this notion captured in Perl 6 grammars?
10:39 moritz html/js isn't one-pass parsing
10:40 moritz html is parsed first, then js
10:40 moritz I don't see how it could be different here
10:41 vendethiel- WRT: recovering from failures -- please don't :P
10:45 moritz vendethiel-: it makes a lot of sese for syntax hilighters
10:45 moritz not in a compiler
10:45 vendethiel- syntax highlighters shouldn't need it, because they should be much less complicated, imho
10:46 vendethiel- well, I talk with perf. in mind
10:47 masak I'm currently messing around with thoughts of syntax highlighting and AST-based refactoring.
10:47 masak I've realized that a big difference between those two processes is that the syntax highlighter is expected to be robust and resilient in light of failure.
10:48 virtualsue joined #perl6
10:48 masak but the refactoring tool requires an AST, which hinges on the parse tree forming properly.
11:00 pmurias joined #perl6
11:00 moritz having never used a refactoring tool, what do those things usually do?
11:06 masak moritz: mark an expression, hit "extract variable". tool makes up a name (derived from context), inserts a declaration in an appropriate place, and replaces all occurrences of the expression with the fresh variable.
11:06 masak moritz: or similarly for "extract function/method" or "extract class".
11:07 masak moritz: or "turn constant into parameter" -- that one requires finding all callsites and inserting the extra argument, too.
11:07 smls joined #perl6
11:07 masak needless to say, this is mostly done in languages with certain static guarantees. :)
11:09 masak though in all cases involving "replace stuff at callsites", the strongest guarantee tends to be "...in all the code we know of".
11:11 moritz masak: ok, thanks
11:12 vendethiel- masak: Intellij does that with ruby and php, and it works great :)
11:13 xfix joined #perl6
11:22 vendethiel- (the refactoring part, variable/method extraction, I mean)
11:23 masak sure. those two are unproblematic.
11:24 vendethiel- well, method renaming is, and then everything else
11:24 vendethiel- and yeah, that's where it starts to fall down. I renamed a controller action (rails project), and it changed all occurences of old_name to new_name in the whole project :B
11:25 masak one refactor I'd like in JavaScript (and Perls 5 and 6) is "make a type out of this ad-hoc hash".
11:25 vendethiel- (but to be honest, I just didn't check what it was going to replace, it's my fault)
11:25 moritz masak: +1
11:25 vendethiel- masak: what about "make an ADT of this ad-hoc hash" :P
11:26 masak vendethiel-: sure, occasionally that's what I want, too.
11:26 masak vendethiel-: but neither of those languages have native support for ADTs. (mostly missing destructuring)
11:27 vendethiel- masak: yah, but that's easy to fix through macros (for JS and Perl6)
11:27 vendethiel- (adt.js is a very powerful library)
11:28 vendethiel- (and matches.js provides the pattern-matching part)
11:29 masak macros, but mostly bundling up declaration, destructuring and tighter given/when semantics into a slang.
11:30 masak I'm eager to see us have the flexibility and power in Perl 6 to do that \o/
11:31 masak concerted language extension is still the *one* field where I think Perl 6 will beat Perl 5 in a tortoise-vs-Achilles but very unmistaking way.
11:31 masak we have some of the building blocks, but we're not there yet.
11:31 schogen joined #perl6
11:42 * vendethiel- is confident enough
11:42 vendethiel- (well, it's easy to be confident in others, right ?)
11:50 PZt joined #perl6
12:01 timotimo o/
12:03 BenGoldberg joined #perl6
12:04 vendethiel- look at me mom, I've got 100 followers on gh now!
12:04 timotimo wow, how'd you manage that?
12:04 timotimo ah, you also do js
12:04 timotimo that explains it :P
12:05 vendethiel- timotimo: wow, brushing off all the time I put into open-source like that.
12:05 vendethiel- You boor.
12:10 tadzik huh?
12:10 vendethiel- (timotimo: plus it's not for the JS, it's for my work on livescript/coffee :<)
12:15 timotimo OK :)
12:18 vendethiel- ( timotimo: actually, at the fpw2014, Maddingue kept saying that jsers were hipsters. So for the rest of the day, I called myself a hipster -- works for me )
12:23 kurahaupo joined #perl6
12:27 tadzik hmm. I call myself a tech-hipster because I avoid everything that's widely used. How is JS a hipster language? It's used by everyone everywhere :o
12:30 vendethiel- tadzik: exactly because "hipsters" has degenerated to be a mockery
12:31 vendethiel- "hipsters" aren't people on the edge -- they're people thinking they're cool because they think they're on the edge
12:31 cognominal__ well, livescript and coffeescript are not exactely mainstream. And like Perl 6, their focus is to create a palatable concrete syntax.
12:31 jnthn TimToady_: Turns out that "my @a = 0 xx 500000" is 210 times slower than in Perl 5. It ends up using gather/take, like many other things. And it seems that even though it can sort of batch, we never ask it to. Applying https://gist.github.com/jnthn/ad3f630158cbe969b62a cuts the time it takes to less than half - but makes spectest way slower and probably busts laziness in various ways.
12:32 jnthn TimToady_: I'm fairly fed up of the lists code by now. It seems to pessimize for laziness, even though right at the top we know list assignment is mostly eager.
12:34 jnthn TimToady_: And it seems there's no model for passing down information like that, just "reify whatever", which seems to mean "do the safest but slowest possible thing".
12:36 jnthn I suspect I can make GatherIter batch much more efficiently by having take append to a buffer rather than take a continuation for every single darn element, but right now it doesn't seem to ever get called with a request to batch at all, meaning it makes a new GatherIter every element too.
12:38 jnthn As it stands, we do 500,000 exception throws, 500,000 continuation create/invoke sequences, 500,000 GatherIter creations, and 500,000 iterations of the "find something to expend" loop in ListIter.
12:39 FROGGS O.O
12:39 jnthn While Perl 5 is doing something like, allocate an AV with space for 500,000 SVs, and stick a zero in them - if that isn't already optimized out due to getting zeroed memory.
12:42 carlin joined #perl6
12:46 jnthn In fact, if you do the math, that means Moar can throw an exception, take a continuation, make an object and populate it, return it, do a bunch of other stuff, invoke that continuation again, resume from the exception handler...in 0.000025s.
12:46 jnthn (Amortizing the GC costs, etc.)
12:46 jnthn Well, and that's including building up a list of the results too.
12:48 masak \o/
12:48 jnthn So I don't think the problem is down at that level. It's the darn lists design.
12:48 masak Moar, you so fast at doing lots of unnecessary work half a million times!
12:48 jnthn (Which has many good aspects, but really shows its weakness here, when we'd want to streamline a completely eager operation.)
12:50 masak aye.
12:50 jnthn tl;dr yes, gather/take is slow, but it's really because the primitives its built out of are, it's because the model we have means we can never tell it that it doesn't need to work in an utterly pessimal way.
12:50 jnthn uh, it's *not* really because the primitives are...
12:50 masak jnthn: is any of these blocking on pmichaud?
12:50 jnthn Yeah. Though, I think TimToady_++ understands the lists model better than I do.
12:50 masak jnthn: or is it a matter of thinking sufficiently hard on the problem, making a column of good things/bad thins
12:51 masak things*
12:51 masak with the current design, plus what we are currently missing?
12:53 jnthn masak: Well, yeah, it's a modeling problem really.
12:53 jnthn The model isn't sufficiently representative of the eager case.
12:53 masak *nod*
12:54 jnthn Which, given assignment is mostly eager, is overwhelmingly common.
12:55 smls So, separate Seq and List again? :P
12:56 jnthn I don't immediately see it as a "not enough types" problem.
12:56 jnthn Not to mention that folks already find Array vs List vs Parcel vs LoL quite enough to get their head around. :)
12:56 smls I'm starting to like Python 3's model of dealing with iterators in many places, *but* at the same time allowing built-in features like for loops to pretend that iterators are just lists
12:58 jnthn Anyway, so far as I can analyze this, until we can deal with this sort of lists issue, we're doomed to be slow at benchmarks like rc-self-describing-numbers and rc-forest-fire.
13:00 cognominal Somehow, pessimizing was a way to design Perl 6 to be capable to handle the lazy case, it has not to be the default everywhere.
13:00 jnap joined #perl6
13:03 colomon_ for what it's worth, I did some really cool stuff based around lazy lists earlier this month, involving reading in a file two lines at a time.  I've been meaning to blog on it.
13:05 jnthn colomon_: I'm not saying they ain't cool, or ain't desirable. Just that we can't currently convey "this is eager" to enough places to be able to optimize those.
13:05 colomon_ jnthn: right, just trying to put in a good word for them.  Of course, I want things to be faster, too…
13:05 smls LoL is needed so .[] can multi-dispatch based on type rather than having to introspect lists for multi-dimensionality, right?
13:07 jnthn colomon_: I'm pretty sure we can have both, it's just that the current model doesn't get us there.
13:07 smls and Parcel is needed to support run-time delayed flattening...
13:08 colomon_ Do we need to send someone to Texas for a few weeks?
13:09 jnthn Well, I suspect getting Pm, TimToady_, and me in the same room for some days with nothing to focus on except improving lists would yield results. Not sure how easy it is to make that happen.
13:13 colomon_ sounds kind of like a job for lizmat++ and woolfy++
13:19 lizmat_ joined #perl6
13:20 geekosaur joined #perl6
13:23 FROGGS jnthn: there is a chance for that in october, but there would be distraction
13:25 smls_ joined #perl6
13:28 FROGGS I'd like to port Perl 5's lines() optimization within the next month... according to leont++ it is about 100 times faster than reading byte by byte
13:28 colomon_ lines() optimization?
13:29 * colomon_ hopes we're not actually reading files byte-by-byte….
13:29 * colomon_ has just noticed he has an underscore now.
13:29 FROGGS colomon_: no, we probably read chunks and then split and concat
13:29 colomon_ how do you get 100x faster than that?
13:30 FROGGS colomon_: http://youtu.be/ybTFXG9HWUk?t=6m43s
13:31 FROGGS I guess we are somewhere in the middle of Perl 5's complicated but fast version and the stupid one...
13:31 FROGGS but I still thing there is something to improve there
13:31 FROGGS think*
13:32 user3 joined #perl6
13:35 jnthn bah, turns out for (1 .. 10000000) { } failed to get the opt that for 1 .. 10000000 { } does
13:35 jnthn And the benchmarks put in the parens
13:44 FROGGS well, that is a good thing I think
13:44 FROGGS so there are faster benchmarks to come :P
13:45 user3 left #perl6
13:45 ChoHag At some point between yesterday and now I keyboard mashed and lowercased a random section of this source file.
13:47 xenoterracide_ joined #perl6
13:48 masak ChoHag: thank heavens for (a) undo, (b) source control, or (c) backups!
13:49 ChoHag or (d) patience.
13:49 ChoHag Its undo was lost in the mists of vim arcanity.
13:50 ChoHag How can I put defined or undefined as checks (in addition to default) in a given block?
13:50 masak Python 3 picks infix:<@> for matrix multiplication. o.O -- https://asmeurer.github.io/pyth​on3-presentation/slides.html#5
13:52 ChoHag Wasn't python basically a reaction to perl's line-noise-like use of symbols?
13:53 zakharyas joined #perl6
13:53 masak even looking past that, it's a weird match of symbol and meaning.
13:53 ChoHag Not if you think of matrix multiplication as some weird magic.
13:53 ChoHag Then @ is quite applicable.
13:53 ChoHag Because if you don't grok it, it is some weird twisty loopy thing.
13:54 masak I guess that's where I disagree -- I think of matrix multiplication as *multiplication* (that happens to not commute).
13:54 masak so, I dunno, infix:<*> feels appropriate.
13:54 ChoHag Well yes, and so do I,
13:54 masak mathematicians tend to treat matrices as a number type.
13:54 ChoHag Except you know the terms. I don't do nouns.
13:55 masak I think the modern noun is https://en.wikipedia.org/wiki/Module_(mathematics)
13:55 ChoHag But at one point I didn't have any idea how matrix multiplication worked. @ would have been a pretty good choice of symbol then.
13:55 virtualsue joined #perl6
13:56 ChoHag But anyway, since I agree completely agree and there is no argument, how do I treat undefinedness as a check in a given block?
13:57 ChoHag !Any
13:57 ChoHag ?
13:59 masak could you rephrase your question?
13:59 masak is this about "how do I distinguish between 'caller passed undefined' and 'caller didn't pass anything'?" ?
14:00 kaare_ joined #perl6
14:00 jnthn FROGGS: Aye. Pushed it :)
14:00 ChoHag No.
14:01 masak m: constant NOT_PASSED = Any.new; sub foo($param = NOT_PASSED) { if $param == NOT_PASSED { say "not passed" } else { say "passed" } }; foo; foo 42
14:01 ChoHag This is 'How do I change if !$foo:defined { ... } to given $foo { when (?) { ... } }?'
14:01 camelia rakudo-moar ea396d: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in sub infix:<==> at src/gen/m-CORE.setting:4249␤  in sub foo at /tmp/IIjExIhJfC:1␤  in block  at /tmp/IIjExIhJfC:1␤␤»
14:01 masak m: constant NOT_PASSED = Any.new; sub foo($param = NOT_PASSED) { if $param === NOT_PASSED { say "not passed" } else { say "passed" } }; foo; foo 42
14:01 camelia rakudo-moar ea396d: OUTPUT«not passed␤passed␤»
14:01 masak ChoHag: `when !.defined`
14:02 masak or `when not .defined`, I guess.
14:02 ChoHag Oh good that does it.
14:04 sxw2k joined #perl6
14:28 spider-mario joined #perl6
14:30 user3 joined #perl6
14:32 spider-mario joined #perl6
14:36 user3 left #perl6
14:48 colomon_ is there a good way to trap hitting "use of uninitialized value of type Any in string context" in Moar using the debugger?
14:48 chenryn joined #perl6
14:48 colomon_ I need to make my code stop outputing that before it drives me insaner.
14:51 ChoHag Why do I have a Capture (from 'method foo(|args) {...}') with named arguments (verified with 'say args'), but args.hash is an empty EnumMap?
14:51 xenoterracide_ joined #perl6
14:53 jnthn m: class C { method foo(|args) { say args.hash } }; C.foo(a => 1, b => 2)
14:53 camelia rakudo-moar a9a500: OUTPUT«EnumMap.new("a", 1, "b", 2, )␤»
14:53 jnthn Not sure...it seems to work in that isolated example
14:58 ChoHag Hmm
14:59 ChoHag The method in question is BUILDALL, if that makes a difference.
15:01 ChoHag m: class C { method foo(|args) { say args.list } }; C.foo(a => 1, b => 2)
15:01 camelia rakudo-moar a9a500: OUTPUT«␤»
15:01 ChoHag m: class C { method BUILDALL(|args) { say args.hash;callsame } }; C.new(a => 1, b => 2)
15:01 camelia rakudo-moar a9a500: OUTPUT«EnumMap.new()␤»
15:01 ChoHag m: class C { method BUILDALL(|args) { say args.list;callsame } }; C.new(a => 1, b => 2)
15:01 camelia rakudo-moar a9a500: OUTPUT«"a" => 1 "b" => 2␤»
15:01 ChoHag Why does it do that?
15:03 colomon_ jnthn: how does one invoke the rakudo debugger these days?
15:06 colomon_ ah, perl6-debug-m ?
15:06 colomon_ hmmm...
15:06 jnthn ChoHag: BUILDALL doesn't receive a bunch of pairs
15:06 jnthn AT least, I don't think so
15:06 jnthn Think it's passed an actual hash.
15:07 jnthn colomon_: perl6-debug or perl6-debug-m, yeah. And make sure the debugger frontend is installed.
15:07 colomon_ jnthn: I'm not getting perl6-debug at all, just perl6-debug-m.  (or whatever, for the other backendss0
15:08 jnthn ok
15:08 lizmat_ has dalek gone awol ?
15:09 colomon_ hmm… actaully, I'm not getting perl6 built either, just perl6-m.  may be a rakudobrew thing?
15:10 dalek joined #perl6
15:10 jnthn colomon_: Not sure; maybe
15:10 jnthn lizmat_: yes
15:10 jnthn Well, had...
15:11 moritz there was no tmux session running
15:11 xenoterracide_ joined #perl6
15:12 colomon_ jnthn: >>> LOADING /Users/colomon/tools/hw-du​mp-compare/diff-report.pl
15:12 colomon_ Unhandled exception: ctxlexpad needs an MVMContext
15:12 colomon_ :(
15:17 colomon_ same thing on linux as well.
15:19 colomon_ tried a different script:
15:19 colomon_ >>> LOADING /home/colomon/tools/hw-dump-compare/compare.pl
15:19 colomon_ Unknown compilation input 'optimize'
15:23 guru joined #perl6
15:32 cognominal joined #perl6
15:36 carlin I can replicate that with this: perl6-debug-m -e "my constant $mm = 25.4 / 72;"
15:36 carlin >>> LOADING -e Unknown compilation input 'optimize'
15:37 dalek rakudo/nom: 8900d97 | jnthn++ | src/core/Str.pm:
15:37 dalek rakudo/nom: Small optimizations to number parsing.
15:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8900d97dd7
15:38 colomon_ carlin++ # always nice to know it's not just me
15:39 lizmat_ getting ready to checkout...
15:40 jnthn walk &
15:40 lizmat will probably do some hacking while watching the game NL - Mex
15:41 FROGGS jnthn++
15:42 FROGGS dalek is back \o/
15:42 * colomon_ feels terrible that he's mostly contributing bug reports to p6 these days.
15:43 FROGGS moritz++ I presume
15:46 moritz yes, I started it
15:46 xenoterracide_ joined #perl6
15:49 carlin seems the debugger can't handle anything with BEGIN blocks
15:50 carlin colomon_: does your code that it dies on use BEGIN, or constants?
15:50 xenoterracide__ joined #perl6
15:52 lizmat checking out&
15:54 colomon_ carlin: not directly.  it does load JSON::Tiny, not sure what's going on in there.
15:55 * colomon_ has nearly tracked down his bug using say statements.
15:57 hoverboard joined #perl6
16:00 * colomon_ has officially tracked down his bug
16:00 carlin \o/
16:02 ClarusCogitatio joined #perl6
16:05 MilkmanDan joined #perl6
16:09 raiph joined #perl6
16:15 japhb_ timotimo: Saw the highlight at http://irclog.perlgeek.de/​perl6/2014-06-28#i_8944084 ... It was you that did that in the first place.  :-)  I'd be happy to change it; it always bugged me, but not enough to go editing over a co-author's work.  Lets go with -moar, because short.
16:19 * japhb_ goes to do that now, actually
16:25 timotimo i kinda thought i already tried to make them named the same
16:28 dalek perl6-bench: c306d57 | (Geoffrey Broadwell)++ | microbenchmarks.pl:
16:28 dalek perl6-bench: Curated tags for the microbenchmarks
16:28 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/c306d57b60
16:28 dalek perl6-bench: b933f73 | (Geoffrey Broadwell)++ | comp (2 files):
16:28 dalek perl6-bench: Rename nqp-moarvm component to nqp-moar
16:28 dalek perl6-bench:
16:28 dalek perl6-bench: This is shorter and matches rakudo-moar.  If you already have an active
16:28 dalek perl6-bench: perl6-bench tree, you must either remove components/nqp-moarvm or rename
16:28 dalek perl6-bench: it to components/nqp-moar.  You should then run `bench setup` followed
16:28 dalek perl6-bench: by `bench fetch` so that your components tree is back in a consistent state.
16:28 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/b933f732fa
16:30 japhb_ ... and I guess I should point out that old timings files for nqp-moarvm aren't all that useful.  :-)
16:30 jnthn japhb_: ooc, should perl6-bench work out of the box on Windows?
16:31 japhb_ jnthn: I would really like it to, but I don't have access to a Windows system to test on.  (I'm not sure what kind of smiley to put on the end of that.)
16:31 jnthn japhb_: Well, I should probably have asked it like this: are you aware of anything that'd be a blocker for it working, or will it just be at worst niggly small things?
16:31 japhb_ I'm more than happy to access patches/PRs/collaborators.  :-)
16:32 timotimo most of what it does should be shelling out to perl5 and then back to perl6 with some commandline flags
16:32 japhb_ I'm pretty sure it will mostly be niggly things.  I didn't use much that would be non-portable.
16:32 jnthn ok
16:33 japhb_ By far the most likely issue will be bare / used when constructing commands to be run in a shell.
16:33 japhb_ And that we can fix.
16:34 japhb_ @history[*-4].subst(/access/, 'accept')
16:35 jnthn OK. I'll give it a try sometime.
16:47 ChoHag If I have given $foo { when ? { ... } }, what do I put in place of the ? to check against $foo and then, if that is true, something totally unrelated (which may have unwanted side-effects if the first check is not true).
16:48 ChoHag ie. do what given $foo { when "foo" && $bar.is_bar { ... } } looks like it should do.
16:48 ChoHag ie. do what it looks like 'given $foo { when "foo" && $bar.is_bar { ... } }' should do.
16:49 timotimo the argument to "when" is used with a "smart match" operator internally
16:50 timotimo one kind of thing you can smartmatch against is a block, that may be helpful here
16:50 japhb_ Oh interesting, I went looking for obvious sources of non-portability in perl6-bench, and found this in the build instructions for the perl5 component: "./Configure -des -Dprefix=`pwd`/install"
16:50 timotimo given $foo { when { $_ eq "foo" and $_.is_bar } { ... } } could work
16:50 timotimo but in that case, it'd probably be better not to use given/when
16:50 japhb_ Something tells me that won't work without change on Windows ....
16:50 ChoHag Ah good I can put { $_ ~~ "foo" && $bar.is_bar }
16:51 ChoHag Can the $_ ~~ remain implicit somehow?
16:51 timotimo you can m/^ "foo" $/
16:52 ChoHag Right, but $foo is a Promise so it's actually the bareword Kept.
16:52 ChoHag Are they still called barewords?
16:52 timotimo oh
16:52 timotimo i don't think we call them that
16:53 timotimo it's an enum value ... dunno what the nicest name for them is
16:53 ChoHag It works now though. Kept when $p is a type of foo, Kept otherwise, and Broken.
16:54 jnthn japhb_: yeah, that'll be an issue
16:54 japhb_ timotimo: 'enumerant'?
16:54 jnthn japhb_: That sounds like an angry speech about enums... :P
16:54 japhb_ :-D
16:55 smls_ How is it possible that the  xx  operator evaluates its argument repeatedly?  (re  http://rosettacode.org/wiki/Repeat#Perl_6)
16:55 smls_ Is is a macro?
16:55 jnthn The compiler thunks the LHS
16:55 smls_ *it
16:56 japhb_ Hmmm, unsure how to either A. fix the general problem presented by that perl5 Configure line, or B. hack it to make it magically work on both platforms.
16:56 smls_ jnthn: I mean more from a language design perspective, rather than compiler implementation wise
16:56 smls_ is it a special case in the grammar?
16:56 smls_ Or a general semantic than can be used by user functions?
16:57 japhb_ smls_: That *is* the design.  xx thunks LHS.  And we use 'thunks' in a conceptual way, not just implementation.
16:57 jnthn smls_: It's a special case, like || and && and // are too, for example
16:57 jnthn smls_: In userland you'd probably get such behavior by writing a macro
16:57 smls_ ok
16:58 jnthn Having to implement macros before implementing ||, xx, and so forth would be annoying though ;)
16:58 jnthn Most languages just special-case these sorts of things in the compiler.
16:59 vendethiel- (lazy eval ftw)
17:05 ClarusCogitatio joined #perl6
17:08 dalek rakudo-star-daily: 19128e2 | coke++ | log/ (14 files):
17:08 dalek rakudo-star-daily: today (automated commit)
17:08 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/19128e2800
17:08 dalek perl6-roast-data: d1c7819 | coke++ | / (6 files):
17:08 dalek perl6-roast-data: today (automated commit)
17:08 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/d1c7819d7f
17:13 smls joined #perl6
17:22 guru joined #perl6
17:25 Sqirrel joined #perl6
17:26 [particle] joined #perl6
17:48 kurahaupo joined #perl6
18:07 xinming joined #perl6
18:18 dalek rakudo/nom: c915622 | jnthn++ | src/Perl6/ (2 files):
18:18 dalek rakudo/nom: Move return handler elimination to optimizer.
18:18 dalek rakudo/nom:
18:18 dalek rakudo/nom: It already is doing the analysis we need to do a better job than it is
18:18 dalek rakudo/nom: possible to do in the actions. Thus, have the optimizer toss unneeded
18:18 dalek rakudo/nom: return handlers, and clean up Actions.pm quite a bit thanks to this.
18:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c915622aa4
18:18 masak infix:<xx> thunking its lhs is relatively recent.
18:19 vendethiel- oh, is it ?
18:19 * vendethiel- used it in his first p6 program, but then, he's relatively recent here too ...
18:20 lizmat joined #perl6
18:21 jnthn I remember it changing. I think I implemented the change, even.
18:21 jnthn Yesterday, while dalek wasn't watching, I popped in a patch that made it not bother to thunk if it's a compile time constant.
18:21 colomon_ \o/
18:22 vendethiel- .oO( nobody expects the dalek disparition )
18:22 colomon_ wouldn't it be more like those blinky angels?
18:23 * colomon_ is not a Doctor Who fan.
18:24 * lizmat is back from watching the game and is waiting for the next one, after which we'll decommute&
18:25 * jnthn guesses lizmat is quite happy with the result :)
18:26 lizmat woolfy is happier about it  :-)
18:26 jnthn Didn't look like it was gonna go that way for a while
18:26 lizmat indeed...  nobody expects the...
18:26 jnthn Ah, dang. So my patch ealier that tossed the return handler analysis from actions...
18:27 lizmat yeah>
18:27 lizmat ?
18:27 jnthn ...breaks making inline_info available.
18:27 [Sno] the result was not a surprise - a team beating spain should kick out mexico without being on the place :P
18:30 lizmat jnthn: after your last patches, running spectests twice, I'm seeing spurious errors in unexpected tests
18:30 lizmat which only seem to happen during the parallel test and fully loaded CPU, not when run seperately
18:32 jnthn lizmat: Yeah, I've seen them become increasingly noisy
18:32 jnthn lizmat: More efficient code = less messing around = more likey for races to materialize, I guess.
18:32 lizmat yup
18:33 jnthn I'm planning to look into a bunch of those tomorrow
18:41 jnthn lizmat: btw, did you make any progress on our startup time?
18:42 lizmat yeah, I made it worse :-(
18:42 lizmat working on making it better again now
18:42 lizmat it appears that path.contents and path.basename are *very* expensive
18:44 jnthn Yeah :(
18:44 jnthn But glad you're working on it. It's quite a regression.
18:45 dalek rakudo/nom: 77024fd | jnthn++ | src/Perl6/Actions.nqp:
18:45 dalek rakudo/nom: Need returnless analysis in actions for subs.
18:45 dalek rakudo/nom:
18:45 dalek rakudo/nom: This is needed to support making things statically inlinable. No need
18:45 dalek rakudo/nom: for it to analyze methods or macros, however. So, a partial revert of
18:45 dalek rakudo/nom: the removals in the previous commit.
18:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/77024fd172
18:47 denis_boyun_ joined #perl6
18:51 grondilu joined #perl6
18:53 * grondilu feels like adding ome pointers about where to get more
18:53 grondilu oops wrong copy/paste
18:54 grondilu so, I was saying that I feel like adding http://rosettacode.org/wiki/Evalu​ate_binomial_coefficients#Perl_6 to https://github.com/perl6/perl6-examp​les/tree/master/best-of-rosettacode
18:55 grondilu (sub infix:<choose> { [*] $^n - $^p ^.. $n Z/ 1 .. * })
18:56 colomon_ it is purty
18:56 zakharyas joined #perl6
18:56 vendethiel- is `is pure` doing something right now ?
18:56 denis_boyun_ joined #perl6
18:57 vendethiel- I was thinking we could warn if a pure function is used in sink context
18:57 colomon_ m: sub infix:<choose> { [*] $^n - $^p ^.. $n Z/ 1 .. * }; say (5 choose 3).WHAT
18:57 camelia rakudo-moar 8900d9: OUTPUT«(Rat)␤»
18:57 colomon_ :\
18:59 colomon_ m: sub infix:<choose>($n, $p) { ([*] $n - $p ^.. $n) div [*] 1 .. $p }; say (5 choose 3).WHAT; say 5 choose 3
18:59 camelia rakudo-moar 8900d9: OUTPUT«(Int)␤10␤»
19:00 colomon_ less magic, better type for result.  but… not as elegant
19:01 FROGGS perl6-m -MCompress::Zlib -e 'say Compress::Zlib::Wrap.new( "Inline-v1.tar.gz".IO.open(:r) ).read(1)'
19:01 FROGGS ...
19:01 FROGGS in method Str at src/gen/m-CORE.setting:12858
19:01 FROGGS :o(
19:01 grondilu r: sub infix:<choose> { [div] [*]($^n - $^p ^.. $n), 2 .. $p }; say (5 choose 3).WHAT
19:01 camelia rakudo-jvm 8900d9: OUTPUT«(timeout)»
19:01 camelia ..rakudo-{parrot,moar} 8900d9: OUTPUT«(Int)␤»
19:01 colomon_ grondilu: if you're not careful, that one will give you the wrong result
19:02 colomon_ m: sub infix:<choose> { [div] [*]($^n - $^p ^.. $n), 2 .. $p }; say (5 choose 3).WHAT; say 5 choose 3
19:02 camelia rakudo-moar 8900d9: OUTPUT«(Int)␤10␤»
19:02 grondilu std: say narrow 10/1
19:02 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'narrow' used at line 1�Check failed�FAILED 00:01 123m�»
19:02 colomon_ m: sub infix:<choose> { [div] [*]($^n - $^p ^.. $n), 2 .. $p }; say (5 choose 3).WHAT; say 6 choose 3
19:02 camelia rakudo-moar 8900d9: OUTPUT«(Int)␤20␤»
19:02 colomon_ m: sub infix:<choose>($n, $p) { ([*] $n - $p ^.. $n) div [*] 1 .. $p }; say (5 choose 3).WHAT; say 6 choose 3
19:02 camelia rakudo-moar 8900d9: OUTPUT«(Int)␤20␤»
19:04 colomon_ huh
19:05 * colomon_ realizes grondilu's code wasn't doing what he thought it was; but he still doesn't know what it is doing
19:05 colomon_ oh
19:05 masak grondilu: +1 on adding that example
19:05 colomon_ yeah, that will work
19:05 grondilu though I whish there was a way to have the result be an Int
19:06 grondilu couldn't we have narrow as a sub as well?
19:07 dalek perl6-examples: 8a4d87f | (Carl Mäsak)++ | best-of-rosettacode/balanced-brackets.pl:
19:07 dalek perl6-examples: [balanced-brackets] fix typo
19:07 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/8a4d87f25f
19:09 vendethiel- m: my $a = 1; my $b = 2; say $a === $b;
19:09 camelia rakudo-moar 8900d9: OUTPUT«False␤»
19:09 vendethiel- m: my $a = 1; my $b = 1; say $a === $b;
19:09 camelia rakudo-moar 8900d9: OUTPUT«True␤»
19:10 vendethiel- oh, it's for mutable types
19:11 vendethiel- m: say (1, 2) == (1, 3);
19:11 camelia rakudo-moar 8900d9: OUTPUT«True␤»
19:14 ChoHag Is there an example of how to write and use postcircumfix:<( )> as a class (or role) method?
19:16 pdcawley joined #perl6
19:16 vendethiel- why do we have `lt` and `<` ?
19:17 vendethiel- they're for strings ?
19:18 * vendethiel- WATs
19:24 colomon_ lt is for strings, < is for numbers, before is for whatever
19:24 colomon_ if that was the question?
19:25 vendethiel- yeah, I don't see string sorting comparison that useful haha
19:26 dalek perl6-examples: f19628b | (L. Grondin)++ | best-of-rosettacode/binomial-coefficient.pl:
19:26 dalek perl6-examples: adding binomial coefficient example
19:26 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/f19628b900
19:26 dalek perl6-examples: 912947a | (L. Grondin)++ | best-of-rosettacode/binomial-coefficient.pl:
19:26 dalek perl6-examples: fixed typo
19:26 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/912947a085
19:30 dalek perl6-examples: c284d6a | (L. Grondin)++ | best-of-rosettacode/binomial-coefficient.pl:
19:30 dalek perl6-examples: fix formula
19:30 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/c284d6a4c2
19:31 dalek rakudo/nom: 8ed248e | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Local/File.pm:
19:31 dalek rakudo/nom: Eliminate use of .basename to gain back some speed
19:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8ed248ef8c
19:33 vendethiel- do list-associative operators flatten by themselves ?
19:35 moritz no
19:35 moritz the comma is list-associative, and doesn't flatten
19:35 vendethiel- mmh.
19:35 vendethiel- then I'm just wondering what a($b; $c) means
19:40 jnthn m: class A { method postcircumfix:<( )>() { say 'omg invoked' } }; my $a = A.new; $a()
19:40 camelia rakudo-moar 77024f: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in method postcircumfix:<( )> at /tmp/H2tNhMFpck:1␤  in block  at /tmp/H2tNhMFpck:1␤␤»
19:40 jnthn ah, yeah
19:40 jnthn m: class A { method postcircumfix:<( )>($cap) { say 'omg invoked' } }; my $a = A.new; $a()
19:40 camelia rakudo-moar 77024f: OUTPUT«omg invoked␤»
19:41 rindolf joined #perl6
19:43 * vendethiel- just updated https://github.com/Nami-Doc/learnxinyminu​tes-docs/blob/master/perl6.html.markdown
19:43 vendethiel- if I list every single operator, it's gonna be pretty long, hahaha
19:45 jnthn Good job y minutes is a variable :P
19:47 dalek ecosystem: e23f624 | (David Warring)++ | META.list:
19:47 dalek ecosystem: Add CSS::Specification
19:47 dalek ecosystem:
19:47 dalek ecosystem: This implements the W3C property specification grammar - http://www.w3.org/TR/CSS21​/about.html#property-defs
19:47 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/e23f6243dc
19:47 virtualsue joined #perl6
19:48 vendethiel- I guess I'll stop at that point and start describing class. I'll most probably even move the associativity / kinds explanations down, along with the before/after and <=> stuff.
19:51 kookie joined #perl6
19:55 dalek rakudo/nom: b80cf18 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Local/File.pm:
19:55 dalek rakudo/nom: next LABEL seems to be more expensive than last
19:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b80cf18535
20:04 vendethiel- (the main problem with Perl 6 is that it has too much stuff for a "tutorial" to explain :P)
20:04 dalek rakudo/nom: e602e68 | jnthn++ | src/Perl6/Optimizer.nqp:
20:04 dalek rakudo/nom: Avoid messing up nqp::handle in block inlining.
20:04 dalek rakudo/nom:
20:04 dalek rakudo/nom: This deals with most of the breakages that making block inlining a
20:04 dalek rakudo/nom: level 2 (default) optimization causes.
20:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e602e6856b
20:04 dalek rakudo/nom: f12ff54 | jnthn++ | src/Perl6/Optimizer.nqp:
20:04 dalek rakudo/nom: Check for poisoned for trying to inline blocks.
20:04 dalek rakudo/nom:
20:04 dalek rakudo/nom: Should, of course, pay attention to the analysis that's been done.
20:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f12ff54304
20:04 dalek rakudo/nom: a39c092 | jnthn++ | src/Perl6/Optimizer.nqp:
20:04 dalek rakudo/nom: Make block inlining a level 2 optimization.
20:04 dalek rakudo/nom:
20:04 dalek rakudo/nom: It's quite worthwhile; we've had it as a level 3 optimization for a
20:04 dalek rakudo/nom: long while now, applying it to the setting. perl6-bench also used it.
20:04 dalek rakudo/nom: For a while, lack of OSR in MoarVM meant it could make things worse in
20:04 dalek rakudo/nom: the odd case; now that's dealt with, and the issues that caused it to
20:04 dalek rakudo/nom: blow up a few spectests have been isolated, we'll try enabling it as
20:04 dalek rakudo/nom: a default optimization. Plenty of time up to release for testing.
20:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a39c092b4e
20:09 rindolf joined #perl6
20:10 pdcawley joined #perl6
20:12 no_libsoup_for_y joined #perl6
20:17 no_libsoup_for_y On Windows x86_64 (with Rakudo Star 2014.04 and Cygwin x86_64), is it possible to use dir on a different drive (e.g. 'E:')? I may have configured something wrong, but /cygdrive seems to be nonexistent to Perl6.
20:17 no_libsoup_for_y *Windows 7 x86_64
20:17 pdcawley joined #perl6
20:20 FROGGS no_libsoup_for_y: you could chdir 'E:', no?
20:23 no_libsoup_for_y FROGGS: I feel dumb now, `chdir('E:/');` did the trick. Thanks!
20:23 FROGGS :o)
20:23 FROGGS glad to be able to help
20:24 no_libsoup_for_y Thanks again. I've been exploring Perl6 for the past few days and so far I'm enjoying it.
20:24 no_libsoup_for_y left #perl6
20:24 jnthn_ joined #perl6
20:24 FROGGS nice
20:24 khisanth_ joined #perl6
20:25 pdcawley joined #perl6
20:27 orevdiabl joined #perl6
20:28 flussenc1 joined #perl6
20:28 FROGGS \o/
20:29 FROGGS I'm able to extract a tarball from CPAN!
20:29 larks_ joined #perl6
20:29 FROGGS (a .tar.gz)
20:29 masak \o/
20:29 carlin O frabjous day! Callooh! Callay!
20:29 woosley joined #perl6
20:29 jercos joined #perl6
20:29 timotimo cool! :)
20:29 lizmat FROGGS++
20:30 FROGGS and I just ported 50% of Archive::Tar :o)
20:30 FROGGS I wonder what the rest does
20:31 lizmat :-)
20:31 jnthn FROGGS++
20:31 * lizmat is about to lose the last power from her notebook's battery
20:31 lizmat and is too lazy to get the power supply
20:32 vendethiel- just use your psychic powers to make it come here :-)
20:32 FROGGS or ask wendy in your loveliest voice :o)
20:32 akagi201_ joined #perl6
20:33 lizmat :-)
20:33 lizmat we need to leave the hotel shortly anyway...
20:34 jnthn lizmat: Safe travels home...or onwards :)
20:34 c1sung joined #perl6
20:34 lizmat will look for my power supply when we get to the airport
20:35 dalek rakudo/nom: 34bf025 | jnthn++ | src/Perl6/World.nqp:
20:35 dalek rakudo/nom: Fix on-demand compilation wrapper block mark.
20:35 dalek rakudo/nom:
20:35 dalek rakudo/nom: Accidentally marked the code itself as the dynamic compilation wrapper
20:35 dalek rakudo/nom: rather than the actual wrapper. This led to sub-optimal code-gen of
20:35 dalek rakudo/nom: lexical accesses for lexicals entirely within the code to compile.
20:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/34bf0259e4
20:37 lizmat catch you all later&
20:37 colomon_ o/
20:37 denis_boyun_ joined #perl6
20:52 flussence joined #perl6
21:02 FROGGS gnight all
21:02 ChoHag Debug output: :(:())
21:02 ChoHag Looks like a monkey.
21:03 jnthn 'night, FROGGS o/
21:04 colomon_ \o
21:09 masak looks like a monkey with a monkey in its mouth.
21:10 masak 'nacht, FROGGS
21:10 jnthn yo monkey, I heard you like...
21:13 ClarusCogitatio joined #perl6
21:16 dalek perl6-most-wanted: 7eac5ac | (David Warring)++ | most-wanted/modules.md:
21:16 dalek perl6-most-wanted: Added CSS::Grammar (WIP) and CSS::Lite (OPEN)
21:16 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/7eac5ac1ed
21:17 dalek perl6-most-wanted: b68e296 | (David Warring)++ | most-wanted/modules.md:
21:17 dalek perl6-most-wanted: typo
21:17 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/b68e2964e7
21:18 Rix joined #perl6
21:20 dalek perl6-most-wanted: d141171 | (David Warring)++ | most-wanted/modules.md:
21:20 dalek perl6-most-wanted: more typos!
21:20 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/d141171d2f
21:26 dalek perl6-most-wanted: 18b14ed | (David Warring)++ | most-wanted/modules.md:
21:26 dalek perl6-most-wanted: CSS::Lite => CSS:Tiny (oops)
21:26 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/18b14edf34
21:27 jnthn It's not on the ecosystem, and I don't have tuits to make it happen, but anyone is free to take my work in https://github.com/jnthn/css-tiny​-presentation/blob/master/Tiny.pm and get it ecosystem'd.
21:27 jnthn Main remaining work is porting the tests.
21:29 * jnthn would highlight (David Warring)++, but doesn't know if he's here or what his handle is ;)
21:31 firefish joined #perl6
21:33 pdcawley joined #perl6
21:38 masak think it's dwarring++ or some such.
21:53 vendethiel- .oO( I should make that ++ part of my username )
21:54 vendethiel-- .oO( I'm a terrible user )
21:57 carlin vendethiel--++
21:57 vendethiel carlin: that's undefined behavior :P
21:58 carlin m: 42--++
21:58 camelia rakudo-moar 77024f: OUTPUT«Cannot assign to an immutable value␤  in sub postfix:<--> at src/gen/m-CORE.setting:4558␤  in block  at /tmp/zVKZJJNceA:1␤␤»
21:59 vendethiel m: my $a = 42; say $a++--;
21:59 camelia rakudo-moar 77024f: OUTPUT«Cannot assign to an immutable value␤  in sub postfix:<--> at src/gen/m-CORE.setting:4558␤  in block  at /tmp/bejLNvoV9j:1␤␤»
22:01 firefish Good day everyone. I am new to perl6 and have a question regarding method calls with Hash slurping and numeric keys...
22:01 firefish with the " method HashSlurper (*%Hash) { ... } " and call  " $Class.HashSlurper( 1 => 'Val 1' , 10c => 'Val 2', In => @Lines ) "  are numeric keys, or rather, keys that start with numbers not allowed? (Is it trying to create a variable named $1 ? Can I pass these as keys without a named hash)
22:08 jnthn No, named parameter names - weird tricks aside - need to follow the usual rules about identifiers
22:08 jnthn (which can't start with digits)
22:12 firefish Thanks jnthn, I guess I will need to add some prefix or pass a hash.
22:13 ggherdov_ joined #perl6
22:13 ggherdov_ joined #perl6
22:16 jnthn firefish: There is a special syntax like :1st which makes a named arg like st => 1
22:16 jnthn firefish: It's typically used by regex-y things, like .match(/pattern/, :2nd) or so
22:16 jnthn But made available for general use
22:17 jnthn Not sure that helps in this case, mind.
22:24 masak 'night, #perl6
22:25 firefish Thanks, It's good to know for future reference. Although in this case prefixing the numbers is probably easier (one less character, plus I was already using type suffixes )
22:28 ChoHag I have a method which returns '@(%!foo.values, %!bar.value, %!baz.values, self.frobnicate).uniq;
22:29 ChoHag I know it can look less long-winded but I can't get it to.
22:30 colomon_ maybe (%!foo, %!bar, %!baz)>>.values ?
22:31 * colomon_ has not tried that, and it might try to go hyper into the various hashes instead of on them.
22:31 * colomon_ is pretty sure the rules on doing that have changed at least once since he started working with p6
22:54 PZt joined #perl6
22:58 dmol joined #perl6
23:08 labster joined #perl6
23:10 kaiserpathos joined #perl6
23:12 jeffreykegler joined #perl6
23:14 jeffreykegler left #perl6
23:17 liztormato joined #perl6
23:24 btyler joined #perl6
23:26 ClarusCogitatio joined #perl6
23:34 bluescreen10 joined #perl6
23:36 liztormato joined #perl6
23:37 * liztormato has boarded
23:37 liztormato See you in the other side of the pond
23:38 liztormato left #perl6
23:43 cognominal In rakudo token code for pod, we see many times :      '<'+ <![<]>
23:44 cognominal Why the <![<]> part would be necessary knowing that token do ratchet?
23:45 cognominal * does
23:46 cognominal https://github.com/rakudo/rakudo/b​lob/nom/src/Perl6/Grammar.nqp#L618
23:49 ClarusCogitatio joined #perl6
23:54 xiaomiao joined #perl6
23:54 xenoterracide__ joined #perl6
23:59 markov joined #perl6

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

Perl 6 | Reference Documentation | Rakudo