Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-04-09

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:02 diakopter your mom is an umarshallable value
00:05 japhb_ .ask jnthn Could you take a look at the 'has' stuff in the clog starting at http://irclog.perlgeek.de/perl6/2013-04-09 ? I'm curious if what I'm seeing is an artifact of the implementation (and perhaps a bug), or if Rakudo's behavior is intended.
00:05 yoleaux japhb_: I'll pass your message to jnthn.
00:16 diakopter japhb_: but.. there's nothing at that link yet.
00:17 diakopter except that message I just wrote
00:17 diakopter and that one
00:17 diakopter and that one
00:17 diakopter and that one
00:17 diakopter and that one
00:18 japhb_ .ask jnthn Sorry, I meant http://irclog.perlgeek.de/​perl6/2013-04-08#i_6679299
00:18 yoleaux japhb_: I'll pass your message to jnthn.
00:35 census_ joined #perl6
01:02 dalek perl6-roast-data: b00393c | coke++ | bin/days_since.pl:
01:02 dalek perl6-roast-data: diagnose days running clean/dirty
01:02 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/b00393cb54
01:02 dalek rakudo/nom: 51c9784 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
01:02 dalek rakudo/nom: More minor cleanups, native typing, etc. in Mu.DUMP
01:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/51c97843aa
01:02 dalek rakudo/nom: a822ca4 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
01:02 dalek rakudo/nom: DUMP(): Handle unmarshallable values in native hashes by marking the entire native hash contents unmarshallable and continuing
01:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a822ca4d8d
01:03 japhb_ diakopter, once a822ca4 builds, batter up for more fuzzing.  :-)
01:03 diakopter oh boy
01:06 anuby joined #perl6
01:11 grondilu joined #perl6
01:15 FROGGS_ joined #perl6
01:16 diakopter r: ;
01:16 p6eval rakudo a822ca:  ( no output )
01:16 japhb_ btw diakopter, say DUMP(.^methods) is almost 1000 lines, containing some stuff I'd never heard of before.  What's an OwnedResizablePMCArray, anyway?
01:16 japhb_ (The RPA I get, but what's the Owned part?)
01:17 diakopter https://github.com/perl6/nqp/blob/mast​er/src/pmc/ownedresizablepmcarray.pmc
01:17 mls joined #perl6
01:17 diakopter no clue other than that comment
01:17 japhb_ Now *that's* a mouthful: pmclass OwnedResizablePMCArray extends ResizablePMCArray provides array auto_attrs dynpmc group nqp
01:18 japhb_ I think I can see why it appears in method DUMP results -- probably needed to invalidate caches or somesuch.
01:21 japhb_ So diakopter, found any sufficiently evil expressions to break DUMP() again?
01:23 diakopter finishing my dinner, I mean box of girl scout cookies
01:23 japhb_ heh
01:26 Psyche^ joined #perl6
01:30 japhb_ Mini-contest idea: most characters of DUMP for smallest expression.  Perhaps ratio of DUMP(expr).chars.say to length of expr (so the characters in 'DUMP().chars.say' don't count for the ratio).
01:32 japhb_ r: DUMP(%*ENV).chars.say
01:32 p6eval rakudo a822ca: OUTPUT«2593␤»
01:32 japhb_ r: 2593 / 5
01:32 p6eval rakudo a822ca:  ( no output )
01:32 japhb_ r: say 2593 / 5
01:32 p6eval rakudo a822ca: OUTPUT«518.6␤»
01:33 japhb_ r: DUMP(.^methods).chars.say
01:33 p6eval rakudo a822ca: OUTPUT«28898␤»
01:33 diakopter r: say (9999999**9999).DUMP.chars / 13
01:33 p6eval rakudo a822ca: OUTPUT«5384.076923␤»
01:33 japhb_ r: say 28898 / 9
01:33 p6eval rakudo a822ca: OUTPUT«3210.888889␤»
01:34 japhb_ Oooh, diakopter, that's going to be hard to beat.
01:35 japhb_ r: say (9999999**9999 x 99).DUMP.chars / 18
01:35 p6eval rakudo a822ca: OUTPUT«(timeout)»
01:35 japhb_ heh
01:35 japhb_ r: say ((9999999**9999) x 99).DUMP.chars / 20
01:35 p6eval rakudo a822ca: OUTPUT«(timeout)»
01:36 japhb_ r: say (9999999**9999 x 9).DUMP.chars / 17
01:36 p6eval rakudo a822ca: OUTPUT«(timeout)»
01:36 japhb_ heh
01:36 diakopter mwahaha
01:36 japhb_ r: say (9999999**9999 xx 9).DUMP.chars / 18
01:36 p6eval rakudo a822ca: OUTPUT«15.722222␤»
01:36 japhb_ DANG!
01:37 japhb_ r: say (9999999**9999 xx 9).DUMP.say
01:37 p6eval rakudo a822ca: OUTPUT«List<1>(␤    :$!flattens(Mu),␤    :$!items(â–¶Mu),␤    :$!nextiter(ListIter<3>(␤        :$!list(=List<1>),␤        :$!reified(â–¶Mu),␤        :$!nextiter(â–¶Mu),␤        :$!rest(RPA<4>(GatherIter<5>(␤            :$!reified(â–¶Any),␤            :$!coro(Coroutine<7>(...))␤  â€¦
01:37 japhb_ ah
01:38 * japhb_ imagines lurkers /msg'ing p6eval trying to beat diakopter's best ...  :-)
01:38 * diakopter imagines no lurkers
01:39 japhb_ I'm including clog lurkers
01:39 japhb_ (and time skewed ones as well)
01:55 arlinius joined #perl6
02:21 moritz r: say (1 xx 9**99).DUMP.chars
02:21 p6eval rakudo a822ca: OUTPUT«283␤»
02:21 moritz r: say (map {1 xx 9 } xx 9**99).DUMP.chars
02:21 p6eval rakudo a822ca: OUTPUT«Cannot call 'map'; none of these signatures match:␤:(&code, *@values)␤  in sub map at src/gen/CORE.setting:1801␤  in block  at /tmp/aXAB4Tzx7T:1␤␤»
02:22 moritz r: say (map {1 xx 9 }, 1 xx 9**99).DUMP.chars
02:22 p6eval rakudo a822ca: OUTPUT«2702␤»
02:22 * moritz hasn't even backlogged
02:23 dalek roast: 9c1a668 | (Solomon Foster)++ | S32-num/power.t:
02:23 dalek roast: Tests raising small integers to the power of very large integers.
02:23 dalek roast: review: https://github.com/perl6/roast/commit/9c1a66803c
02:28 lustlife joined #perl6
02:28 japhb_ moritz, the key thing is ratio of .DUMP.chars to length of expression dumped.  :-)
02:29 moritz japhb_: thought so
02:29 moritz r: say (my @ = 1 xx 9**99).DUMP.chars
02:29 p6eval rakudo a822ca: OUTPUT«(timeout)»
02:29 moritz r: say (my @ = 1 xx 99).DUMP.chars
02:29 p6eval rakudo a822ca: OUTPUT«2883␤»
02:30 moritz r: say (my @ = 1 xx 999).DUMP.chars
02:30 p6eval rakudo a822ca: OUTPUT«26283␤»
02:30 moritz r: say (my @=1 xx 999).DUMP.chars
02:30 p6eval rakudo a822ca: OUTPUT«26283␤»
02:31 moritz r: say 26283 / '(my @=1 xx 999)'.chars
02:31 p6eval rakudo a822ca: OUTPUT«1752.2␤»
02:49 orafu joined #perl6
02:49 fgomez joined #perl6
02:52 preflex_ joined #perl6
02:57 dalek niecza: f9c8fc2 | (Solomon Foster)++ | lib/Builtins.cs:
02:57 dalek niecza: Special cases for big_pow.
02:57 dalek niecza: review: https://github.com/sorear/niecza/commit/f9c8fc25f9
02:58 dalek roast: 5058d2a | (Solomon Foster)++ | S32-num/power.t:
02:58 dalek roast: Fudge for niecza.
02:58 dalek roast: review: https://github.com/perl6/roast/commit/5058d2a5d1
02:59 rindolf joined #perl6
03:09 woosley joined #perl6
03:34 fgomez joined #perl6
03:37 * [Coke] tries to find .DUMP in spec.
03:38 [Coke] ENODUMP
03:40 [Coke] r: /123/.DUMP
03:40 p6eval rakudo a822ca:  ( no output )
03:40 [Coke] r: /123/.DUMP.say
03:40 p6eval rakudo a822ca: OUTPUT«Regex<1>(␤    :$!caps(Hash<2>(␤        :$!descriptor((null)),␤        :$!storage(Hash<3>( => â–¶0))␤    )),␤    :$!nfa(Parcel<5>(:$!storage(RPA<6>(␤        RPA<7>(),␤        RPA<8>(␤            Integer<9>(...),␤            Integer<10>(...),␤            Integer<11>(..…
03:45 timotimo r: /123/.DUMP.chars.say
03:45 p6eval rakudo a822ca: OUTPUT«2734␤»
03:45 timotimo we have a winner
03:46 [Coke] r: /1/.DUMP.say
03:46 p6eval rakudo a822ca: OUTPUT«Regex<1>(␤    :$!caps(Hash<2>(␤        :$!descriptor((null)),␤        :$!storage(Hash<3>( => â–¶0))␤    )),␤    :$!nfa(Parcel<5>(:$!storage(RPA<6>(␤        RPA<7>(),␤        RPA<8>(␤            Integer<9>(...),␤            Integer<10>(...),␤            Integer<11>(..…
03:46 [Coke] r: /1/.DUMP.chars.say
03:46 p6eval rakudo a822ca: OUTPUT«2510␤»
03:46 [Coke] some fine tuning there on the regex logic.
03:47 [Coke] r: /{9**999}/.DUMP.chars.say
03:47 p6eval rakudo a822ca: OUTPUT«2299␤»
03:47 [Coke] r: /{1 xx 9**99}/.DUMP.chars.say
03:47 p6eval rakudo a822ca: OUTPUT«2299␤»
03:48 [Coke] r: eval("/"~1xx9**99~"/").DUMP.chars.say
03:48 p6eval rakudo a822ca: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse expression in argument list; couldn't find final ')'�at /tmp/DdVgAKk2x4:1�------> [32meval("/"~1[33m�[31mxx9*​*99~"/").DUMP.chars.say[0m�    expecting any of:�        whitespace�»
03:58 [Coke] r: "/{1 xx 318}/".eval.DUMP.chars.say
03:58 p6eval rakudo a822ca: OUTPUT«(timeout)»
03:58 [Coke] r: "/{1 xx 316}/".eval.DUMP.chars.say
03:58 p6eval rakudo a822ca: OUTPUT«(timeout)»
03:58 [Coke] r: "/{1 xx 310}/".eval.DUMP.chars.say
03:58 p6eval rakudo a822ca: OUTPUT«37969␤»
03:59 * diakopter wonders how long [Coke] took to get to 318
03:59 [Coke] r: "/{1 xx 315}/".eval.DUMP.chars.say
03:59 p6eval rakudo a822ca: OUTPUT«(timeout)38544␤»
03:59 [Coke] re-bazinga.
03:59 diakopter nice.
04:00 [Coke] about 5 minutes of tweaking the original, 5 minutes of binary search.
04:07 [Coke] r: "/{'.*' xx 186}/".eval.DUMP.chars.say
04:08 p6eval rakudo a822ca: OUTPUT«(timeout)»
04:08 [Coke] r: "/{'.*' xx 184}/".eval.DUMP.chars.say
04:08 p6eval rakudo a822ca: OUTPUT«(timeout)»
04:08 [Coke] r: "/{'.*' xx 182}/".eval.DUMP.chars.say
04:08 p6eval rakudo a822ca: OUTPUT«(timeout)39087»
04:09 [Coke] r: "/{'.*' xx 183}/".eval.DUMP.chars.say
04:09 p6eval rakudo a822ca: OUTPUT«39289␤»
04:09 [Coke] so, close to 40K given feather's load.
04:09 [Coke] I suspect you could mine some gold in the regexp space to get that higher.
04:10 fgomez joined #perl6
04:34 rvchangue joined #perl6
04:52 jferrero joined #perl6
04:56 denisboyun joined #perl6
05:46 dmol joined #perl6
05:55 SamuraiJack joined #perl6
05:56 rindolf joined #perl6
06:04 shlomif joined #perl6
06:16 Heather joined #perl6
06:17 Heather hello !
06:17 Heather this video is very much fits As I see Gentoo developers:  http://www.youtube.com/watch?v=xr22jMkMZQk
06:35 lustlife joined #perl6
06:39 grondilu joined #perl6
06:42 bonsaikitten Heather: random offtopic stuff is random?
06:45 fgomez joined #perl6
06:45 labster did /dev/urandom pick that video?
06:47 domidumont joined #perl6
06:47 Heather bonsaikitten well I usually call it another words
06:50 fgomez joined #perl6
06:54 frdmn joined #perl6
07:01 domidumont joined #perl6
07:13 kaleem joined #perl6
07:19 woolfy joined #perl6
07:36 kurahaupo joined #perl6
07:38 * Heather bought grooveshark premium...
07:40 nwc10 jnthn: the usual
07:52 hoelzro good morning, #perl6!
07:53 Heather hood morning, hoelzro
07:57 hoelzro has anyone had a chance to look at my research for https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=117377 ?
08:04 FROGGS joined #perl6
08:23 jnthn Good morning, #perl6
08:23 yoleaux 00:05Z <japhb_> jnthn: Could you take a look at the 'has' stuff in the clog starting at http://irclog.perlgeek.de/perl6/2013-04-09 ? I'm curious if what I'm seeing is an artifact of the implementation (and perhaps a bug), or if Rakudo's behavior is intended.
08:23 yoleaux 00:19Z <japhb_> jnthn: Sorry, I meant http://irclog.perlgeek.de/​perl6/2013-04-08#i_6679299
08:23 * labster should really update rakudo so I have eager for loops
08:23 labster good morning, jnthn!
08:23 fhelmberger joined #perl6
08:24 jnthn japhb: has $!x, like my $x, has a constraint of Mu and a default value of Any
08:26 jnthn japhb: However, the default type of paramters is Any
08:26 jnthn japhb: Type constraint, that is
08:28 denisboyun_ joined #perl6
08:28 sqirrel joined #perl6
08:30 grondilu joined #perl6
08:32 felher joined #perl6
08:52 dakkar joined #perl6
08:54 Heather wow https://github.com/MoeOrganization/moe
08:57 tadzik yep
08:58 Heather https://speakerdeck.com/player/b​402d2a03f3c01304c57123138154bc3?# - interesting deck
09:07 Heather masak what do you think about moe?
09:11 cognominal joined #perl6
09:11 hoelzro I have encountered the strangest bug ever.
09:11 hoelzro </exaggeration>
09:12 hoelzro I was trying to add ttyname to POSIX
09:12 domidumont joined #perl6
09:12 hoelzro and depending on the presence of *other* functions in the module, one of the following happens:
09:12 hoelzro 1) a weird boxing/unboxing error in NativeCall
09:12 hoelzro 2) segfault
09:12 hoelzro 3) the string being returned is an integer garbage value
09:13 hoelzro 4) the actual proper behavior
09:17 jnthn Smells like memory corruption somewhere.
09:17 hoelzro yeah
09:17 hoelzro something is *weird*
09:17 hoelzro I'll try to isolate some of the more bizarre cases after work
09:18 jerome joined #perl6
09:18 FROGGS hoelzro: are the errors you get constant? I mean, do you always get error #1 for a given piece of code?
09:19 hoelzro FROGGS: the errors are consistent; by that I mean that if I don't change the source from one run to the next, the error remains the same
09:20 FROGGS well, that is actually a good thing
09:20 hoelzro yes
09:20 hoelzro I plan on creating minimal reproductions for each error
09:20 hoelzro and submitting them here =)
09:20 FROGGS bah
09:21 FROGGS fix'em :o)
09:21 hoelzro heh
09:21 hoelzro I can try
09:21 hoelzro emphasis on the "try" part ;)
09:21 hoelzro my delve into Rakudo for postcircumfix:<()> taught me a lot, though
09:21 FROGGS ++hoelzro # you now have to succeed to get the karma
09:21 cognominal joined #perl6
09:30 masak Heather: I'm all excited about moe.
09:31 masak Heather: for many reasons. I like stevan and trust his judgment.
09:31 arlinius joined #perl6
09:32 Heather masak well how to use it :D
09:32 masak Heather: and I think his conclusion -- which seems increasingly to be "if you set out to improve Perl 5, you get Perl 6 or something very much like it" -- is very beneficial for the p5-p6 relationship.
09:32 masak Heather: haven't actually tried it yet. :)
09:32 masak Heather: I meant to do that for Easter, but got sidetracked :/
09:32 Heather I see
09:33 berekuk joined #perl6
09:33 moritz speaking of "meant do that for Easter" -- how's the t2 review coming along?
09:33 Heather masak bin/moe looks very strange for me )
09:34 masak moritz: it's progressing, but still suffering from $work grabbing priority. :/
09:34 masak moritz: realistically, I won't have time for it until the weekend. all of my day- and evening-time is going to $work presently.
09:36 daxim joined #perl6
09:36 Heather maybe talk / try moe today evening?
09:38 Heather masak I wonder about picture The Community with evil door "Don't open Dead inside"
09:39 masak Heather: :)
09:40 masak Heather: so, there's this thing called p5p.
09:40 masak Heather: think of it as the Linux kernel development list, but for Perl 5.
09:41 masak Heather: it's very high-traffic, far more than I can keep up with every day.
09:41 masak Heather: many people on there are also very conservative, basically working against everything that could work to improve p5.
09:42 masak Heather: for reasons such as "we cannot break backwards compatibility" or "there's a DarkPAN out there full of users who depend on our old bugs!"
09:42 masak Heather: don't get me wrong -- they definitely have a point. it's important not to pull the carpet out from under users.
09:43 Heather I understand
09:43 masak Heather: but there comes a point where you cannot do *anything* to improve the state of Perl 5.
09:43 masak Heather: Perl 6 was created out of that realization. and now Moe, too.
09:43 Heather masak but moe support moe...
09:43 Heather moar
09:43 Heather )
09:44 masak WHAT IN THE WORLD DO YOU MEAN?
09:44 masak er.
09:44 masak what do you mean? :P
09:44 Heather ))))
09:44 masak oh, it was a... pun.
09:44 Heather masak they say they work on perl5 compatibility as well
09:44 masak I see. :P
09:45 * masak .oO( moe languages, moe problems )
09:45 masak Heather: yeah, well. it's difficult. as anyone who's tried will tell you.
09:45 Heather sorta
09:46 masak Heather: but realistically, it seems that Moe is becoming a "stepping-stone" between Perl 5 and Perl 6. linguistically and (more importantly) socially.
09:46 Heather well...
09:47 Heather all the JVM mess I don't like doesn't testes good until I will see perl code with llvm compiled to native image
09:47 Heather *machine code
09:48 masak Heather: the consensus here seems to be that LLVM is not as wonderful as you would think.
09:48 masak mainly because it's, well, low-level. ;)
09:49 jnthn I suspect LLVM is rather good at doing what it is typically used for. It's just not the JVM/CLR/Parrot alternative that some confuse it as.
09:50 Heather oh hell I hate my english /s/testes/tastes
09:50 jnthn .oO( what a balls-up :P )
09:50 nwc10 today is punday?
09:50 dalek nqp-jvm-prep: 4a6d986 | jnthn++ | / (3 files):
09:50 dalek nqp-jvm-prep: Prepare for StackState improvements.
09:50 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/4a6d986946
09:50 nwc10 or is every day punday?
09:51 nwc10 oh, goalposts just moved...
09:51 jnthn Yeah...
09:51 * jnthn hit the point where he has to hack on one of the hairier parts of the code-gen...
09:51 Heather masak well everyone loves jit in java world
09:52 Heather instead ARMJ* kernels
09:52 Heather *EXCEPT
09:52 * FROGGS loves jit at the bus station
09:52 masak and with good reason.
09:52 Heather well jit can use llvm backend
09:53 jnthn The JVM JIT is very good, and it's especially cool that invokedynamic lets us teach it how to efficiently handle constructs and type systems different to the Java one.
09:54 masak hm, this bit of news doesn't seem to have reached #perl6: https://twitter.com/kraih/​status/321385887042772993
09:56 masak also, http://blogs.perl.org/users/tinita/2013/04/​why-the-perl-community-is-no-boys-club.html
09:57 Heather wait what's boy's club?
09:57 tadzik is it just me, or perlmonks is a PITA to browse
09:57 masak tadzik: it's not just you.
09:58 masak I distinctly feel that #perl6 is no boys club, and I'd like to keep it that way.
09:58 Heather what is boy's club?
09:58 labster Heather: male-exclusive zone
09:58 masak Heather: a metaphor for a community that's meant for guys, not gals.
09:59 Heather alike?
09:59 masak Heather: in this case, by making fun of strawman feminist over-reactions.
09:59 masak Heather: there's enough background in those two links if you're interested.
10:00 Heather alright
10:00 masak (but as tadzik pointed out, actually reading PerlMonks is a PITA)
10:00 masak at some point, we're going to replace PerlMonks, I hope everyone understands that :)
10:00 tadzik "And 7 people upvoted that post. That makes perlmonks look quite bad"
10:00 masak and by "we", I mean "the Perl 6 community".
10:00 tadzik I disagree. 7 bad examples is not that bad for that community size
10:01 masak tadzik: how many downvotes?
10:01 tadzik I dunno
10:01 tadzik I quote tinita's post
10:01 nwc10 which "we" is going to replace PerlMonks? I'm a bit confused
10:02 tadzik I can see that the poll joke is quite on the edge
10:03 labster It's definitely not a boy's club in here, even if a lot of us are male. We welcome everyone who comes into the community.
10:03 labster (even if they really want perl5 help)
10:03 tadzik on one hand it's ridicouling those few situations when women do overreact over some issues. On the other, well, that's thin ice
10:03 nwc10 oh, Perl 5 needs help :-)
10:04 Heather masak another oftopic - I found golo more interesting than scala
10:05 huf is that go on the jvm?
10:05 masak Heather: url?
10:05 Heather masak for golo?
10:05 labster I just read https://speakerdeck.com/stevan_littl​e/perl-is-not-dead-it-is-a-dead-end  As I'm in the process of porting core modules, I couldn't agree more about the whole perl 5 is "supporting too much old buggy code" thing.
10:05 masak Heather: yes.
10:05 Heather masak http://golo-lang.org/
10:05 tadzik labster: hah, I remember when I decided to write File::Find for Perl 6
10:06 Heather very "rusty" -- http://static.rust-lang.org/doc/0.6/tutorial.html
10:06 tadzik I was like "I'll just look at Perl 5 for inspiration. OOHHH NOPE"
10:06 domidumont joined #perl6
10:08 labster Working on File::Path right now (which first of all is a bad name, should be File::Directory::Tree or something).  Thankfully someone made a ::Tiny version, so I didn't have to look for inspriation in the 3 existing formats for functions.
10:08 tadzik heh
10:09 masak Heather: cute little language indeed.
10:09 masak Heather: though I note it copies Java's (bad taste) can't mutate closed-over variables. :/
10:10 Heather masak it looks very similar to rust for me
10:10 masak sort of.
10:10 masak I'm definitely keeping my eye on Rust. it's an interesting experiment. :)
10:10 masak with nice velocity.
10:11 masak golo seems sort of partway between Java and Rust, yes.
10:11 Heather and I feel like all of them just inspired by ML
10:19 Heather masak 16 UTC is still being party time here?
10:20 masak Heather: are you talking about the workshop? it's on May 1st. :)
10:21 masak Heather: I need to prepare, lots, for handling the simultaneous guiding of 7 people through interesting programming topics, in real time! :P
10:21 Heather masak aaah....
10:21 Heather masak I was thinking that it's today :P
10:22 masak Heather: but yeah, I think we're running with 16:00 UTC, if that's fine with you. if you feel that midnight becomes too late to stay up for, there's always the backlog later.
10:22 masak 8 people. timotimo++ signed up, too \o/
10:23 Heather masak no, 16 UTC is good for me.
10:26 masak \o/
10:27 dalek nqp-jvm-prep: 37116c4 | jnthn++ | lib/QAST/JASTCompiler.nqp:
10:27 dalek nqp-jvm-prep: Implement stack to local spilling for handle.
10:27 dalek nqp-jvm-prep:
10:27 dalek nqp-jvm-prep: This gets the general mechanism in place, or general enough for now at
10:27 dalek nqp-jvm-prep: least. This means that 'try' now works as an expression; before it was
10:27 dalek nqp-jvm-prep: broken due to the JVM mandating an empty stack for a try/catch. Most
10:27 dalek nqp-jvm-prep: likely we need this in a few more places; it's also a key piece for
10:27 dalek nqp-jvm-prep: the fragmenting transform that will be needed to support gather/take
10:27 dalek nqp-jvm-prep: in the future.
10:27 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/37116c4614
10:27 dalek nqp-jvm-prep: 8acffb0 | jnthn++ | t/nqp/44-try-catch.t:
10:27 dalek nqp-jvm-prep: We now fully pass 44-try-catch.t.
10:27 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/8acffb0c77
10:27 dalek nqp-jvm-prep: 50c35da | jnthn++ | docs/ROADMAP:
10:28 tadzik ...dalek, you there bro?
10:29 jnthn :)
10:29 jnthn The ROADMAP update was just removing a completed item.
10:29 jnthn That was a slightly fiddly thing to do...
10:29 tadzik so asm_port is merged?
10:29 jnthn tadzik: yeah, and we even make very basic use of invokedynamic already. Not for calls yet.
10:30 tadzik nice
10:30 jnthn Just for wval resolution.
10:30 jnthn But it means the invokedynamic code-gen is in place and working. \o/
10:30 rindolf joined #perl6
10:33 jnthn General question: I'm planning to move the NQP on JVM work into the main NQP repository in the next week or so. It shares far more code than it differs by. Does anybody strongly feel that I should carry the full history of the nqp-jvm-prep repository over when I do this?
10:33 * jnthn is personally fine with not doing that, because it almost certainly makes his life easier.
10:34 jnthn Also many things that have existed in the nqp-jvm-prep repo are copies of stuff in the NQP repo.
10:34 jnthn Unless anybody cries out in favor of doing something clever with the history, I suspect I'll just pull in the files as needed. :)
10:38 FROGGS jnthn: will you keep the nqp-jvm-prep repo?
10:38 jnthn FROGGS: I can keep it around for historical interest, if that's considered valuable.
10:39 FROGGS maybe just make a note at its README, and let it lay around
10:39 FROGGS I think I won't need its history fwiw
10:41 masak jnthn: if you don't think the history is important, and you're responsible for most of that history, feel free to flatten it :P
10:42 jnthn Yes, I think I'm to blame for the majority of it :P
10:45 timotimo jnthn: do you know how you can just merge commits from a different repository?
10:46 * masak .oO( jnthn is to `git blame` for the majority of it )
10:47 jnthn timotimo: subtree merge
10:47 jnthn Well, it's more like you do the read-tree trick with a prefix, then merge -s ours actually, I guess...
10:48 jnthn And massage from there.
10:48 timotimo i don't really know exactly how your directory structure differs from the one in nqp, but i woud just make one commit to make the folder structures agree, then git fetch nqp-jvm-prep and git merge than in there
10:53 timotimo wow, the only test files that are still missing are 67-errno one and 24-module?
10:54 jnthn Yeah
10:54 jnthn Excluding the few Parrot-specific ones.
10:56 timotimo i excluded them "manually" ;)
10:58 timotimo masak: looking forward to the workshop
10:59 timotimo i'll be visiting my parents at that time, but i should be able to make it no-problem
11:04 masak I'm looking forward to it too.
11:05 timotimo should i directly post my code to rosettacode or should i gist it here first to ask for feedback?
11:05 brrt joined #perl6
11:10 masak timotimo: the former.
11:10 masak timotimo: forgiveness > permission.
11:14 timotimo right.
11:14 rvchangue joined #perl6
11:14 timotimo it needs a bit of fine-tuning first
11:14 timotimo and i wish it wasn't so utterly slow
11:20 timotimo jftr, \c[...] is really nice to have
11:24 lizmat good afternoon #perl6
11:25 Heather hello
11:25 lizmat with the QA Hackathon coming up, I'm planning on expanding the concepts used in my Perl5 module Devel::MaintBlead to Perl 6
11:26 lizmat and, if possible, integrate them into CPAN.pm
11:26 lizmat so that you could have a distribution of a module on CPAN, which would have a Perl 5 and a Perl 6 version
11:27 lizmat and have tools like cpan / cpanm be able to install Perl 6 modules from these distributions as well
11:27 lizmat is that a plan?
11:35 masak lizmat: that sounds very attractive, yes.
11:35 masak lizmat: I refer you to moritz++ and szabgab++, who have both released Perl 6 modules on CPAN before, and have had some interaction with the CPAN admins about the ways that worked less-than-perfect.
11:36 masak ly*
11:36 * lizmat goes to check those modules
11:38 timotimo r: my @l = ["â–ˆ", "â–ˆ", " ", "â–ˆ", "â–ˆ"]; say join "", @l;
11:38 p6eval rakudo a822ca: OUTPUT«█ â–ˆ   â–ˆ █␤»
11:38 timotimo why do i get spaces in between, even though i'm joining with ""?
11:38 tgt joined #perl6
11:38 timotimo r: my @l = ["a", "b", "c"]; say join "", @l;
11:38 p6eval rakudo a822ca: OUTPUT«a b c␤»
11:39 timotimo r: my @l = ["a", "b", "c"]; say (join "", @l).perl;
11:39 p6eval rakudo a822ca: OUTPUT«"a b c"␤»
11:39 timotimo r: my @l = ["â–ˆ", "â–ˆ", " ", "â–ˆ", "â–ˆ"]; say join ",", @l;
11:39 p6eval rakudo a822ca: OUTPUT«█ â–ˆ   â–ˆ █␤»
11:40 timotimo oh, am i calling it the wrong way around?
11:40 timotimo r: my @l = ["â–ˆ", "â–ˆ", " ", "â–ˆ", "â–ˆ"]; say join @l, "";
11:40 p6eval rakudo a822ca: OUTPUT«␤»
11:40 timotimo r: my @l = ["â–ˆ", "â–ˆ", " ", "â–ˆ", "â–ˆ"]; say @l.join("");
11:40 p6eval rakudo a822ca: OUTPUT«█ â–ˆ   â–ˆ █␤»
11:41 lizmat my @l = <a b c>; say join "", @l'
11:41 lizmat rn: my @l = <a b c>; say join "", @l'
11:41 p6eval niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![31​m===[0m��Confused at /tmp/AFDxusrdS2 line 1:�------> [32mmy @l = <a b c>; say join "", @l[33m�[31m'[0m��Parse failed��»
11:41 p6eval ..rakudo a822ca: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/wRBS9AaNzl:1�------> [32mmy @l = <a b c>; say join "", @l[33m�[31m'[0m�    expecting any of:�        postfix�        infix stopper�        infix or meta-infix�        statement end�        statement modi…
11:41 lizmat rn: my @l = <a b c>; say join "", @l
11:41 p6eval rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«abc␤»
11:42 timotimo did i break my array?
11:42 lizmat rn: my @l = ["a", "b", "c"]; say @l[0]
11:42 p6eval rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«a b c␤»
11:42 timotimo oh!
11:42 timotimo indeed!
11:42 lizmat it's a one element array
11:42 timotimo thank you, good eye
11:43 lizmat rn: say join *, <a b c>
11:43 p6eval niecza v24-37-gf9c8fc2: OUTPUT«aWhatever()<instance​>bWhatever()<instance>c␤»
11:43 p6eval ..rakudo a822ca: OUTPUT«aWhatever<1752397876​>bWhatever<1752397876>c␤»
11:44 lizmat I sort of expected * to revert to an empty string here
11:56 masak never thought of * in that role there.
11:57 lizmat it's one character less than "" and better readable
11:57 timotimo indeed
11:57 lizmat however, maybe there is a more Perl6ish way of joining strings without anything in between >
11:57 lizmat ?
11:57 timotimo well ,the only thing that would make sense there would be "", or maybe " ". so principle of least surprise?
11:57 jnthn [~] <a b c>
11:58 timotimo oh, good point. even shorter and still readable.
11:58 jnthn r: say <a b c>.join
11:58 p6eval rakudo a822ca: OUTPUT«abc␤»
11:58 jnthn Or that :)
11:59 lizmat :-)
11:59 nwc10 jnthn: the ususal, again.
11:59 jnthn nwc10: yay :)
12:02 kaare_ joined #perl6
12:05 kivutar joined #perl6
12:08 woosley joined #perl6
12:12 lizmat looks like '[~] <a b c>' is preferable from a performance point of view
12:12 jnthn That...surprises me.
12:12 lizmat it surprised me too
12:14 lizmat $ time perl6 -e '[~] (<a b c> xx 10000)'
12:14 lizmat real    0m3.573s, user    0m3.333s, sys 0m0.235s
12:14 lizmat $ time perl6 -e '(<a b c> xx 10000).join'
12:14 lizmat real    0m4.794s, user    0m4.584s, sys 0m0.198s
12:17 moritz huh.
12:17 moritz might be related to weirdnesses in list flattening
12:19 Heather I want gui toolkit
12:19 timotimo how would you implement mapping True, False to "\c[UPPER HALF BLOCK]", False, True to "\c[LOWER HALF BLOCK]", True, True to "\c[FULL BLOCK]" and False, False to " "?
12:19 timotimo i made a given with four whens, but i was hoping there could be a nicer way
12:21 lizmat 2 dimensional array with numified booleans as indexes ?
12:21 rindolf joined #perl6
12:21 moritz timotimo: stringify the bools, but it into a hash table
12:22 moritz my %h = ('True True' => "\c[FULL BLOCK]", ...);
12:22 timotimo hmm
12:22 moritz say %h{"$bool1 $bool2"}
12:23 timotimo well, things are more complicated, because i actually have 1 or Any :P
12:24 jnthn walk; bbiab
12:24 moritz boolify them :-)
12:25 domidumont joined #perl6
12:25 anant joined #perl6
12:29 domidumont joined #perl6
12:32 lizmat rn: my @a= [" ","\c[LOWER HALF BLOCK]"], ["\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"]; say @a[so "foo"][so "bar"]
12:32 p6eval rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«█␤»
12:33 lizmat rn: my @a= [" ","\c[LOWER HALF BLOCK]"], ["\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"]; say @a[so "foo"][so ""]
12:33 p6eval rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«▀␤»
12:33 timotimo that's not very much prettier :(
12:34 timotimo the output code is so slow ;_;
12:38 kaleem joined #perl6
12:41 FROGGS rn: my @a= [" ","\c[LOWER HALF BLOCK]"], ["\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"]; say @a[?"foo"][?""]
12:41 p6eval rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«▀␤»
12:41 Heather left #perl6
12:43 lizmat FROGGS++
12:53 lizmat maybe this is faster?
12:53 gtodd masak: amazingly I have been able to clone the repo locally and then add 9 pull requests "manually" (by adding repos with "git remote add" ; then "git fetching" then "git cherry-picking" each pull request's SHA ... and I have almost completed following the instructions in docs/release_guid.pod
12:53 lizmat rn: my @a= (" ","\c[LOWER HALF BLOCK]","\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"); say @a[?""+ 2*(?"foo")]
12:53 p6eval rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«▀␤»
12:53 gtodd release_guide.pod even ...  I realize these pull requests would not all go into a release without testing/discussion/review  I was just "practicing"
12:54 gtodd masak:  let me do this 25-30 more times to practice then sign me up for June :-)
12:55 timotimo niecza runs lots of laps around rakudo on this implementation
12:55 timotimo that's both good and bad :|
12:56 FROGGS lizmat: I don't think there is a difference in performance of so vs. ?
12:57 asogani joined #perl6
12:57 FROGGS rn: my @a= [" ","\c[LOWER HALF BLOCK]"], ["\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"]; sub infix:<â–ˆ> { @a[?$^a][?$^b] }; say True â–ˆ False
12:57 p6eval rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«▀␤»
12:57 FROGGS but it takes ages :/
12:57 timotimo 1000 particles simulated by niecza in the time rakudo does 50
12:57 lizmat my last one used a flat array
12:57 lizmat wonder whether that would make a difference
12:58 FROGGS hmmm
12:58 * FROGGS benches that
12:58 FROGGS *benchmarks or so
13:00 stevan_ joined #perl6
13:01 timotimo FROGGS: allow the creation of the array to be pre-loaded before the access happens in the benchmark
13:01 FROGGS lizmat: the flat one takes 2.3s for 1000 say's, 2.8 seconds for the 2d one
13:02 FROGGS timotimo: what do you mean by 'preloaded'?
13:02 timotimo well, create the array, then try 10000 accesses on the array
13:02 FROGGS I did: time perl6 -e 'my @a= (" ","\c[LOWER HALF BLOCK]","\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"); say @a[?""+ 2*(?"foo")] for ^9999'
13:02 FROGGS ohh, 10k says
13:03 FROGGS printing that stuff to my terminal should cost the most time
13:04 lizmat do it without the say?
13:04 timotimo yeah, that would be okay
13:04 wolverian joined #perl6
13:04 lizmat timotimo: maybe additional gains can be had by reducing the number of prints/says (by joining values up beforehand)
13:05 FROGGS 1.4s flat, 2.1s 2d
13:05 timotimo indeed.
13:05 wolverian joined #perl6
13:05 masak gtodd: ;)
13:06 * jnthn back
13:06 masak gtodd: I can add you right now.
13:07 gtodd masak: :-) I need more training master
13:07 gtodd masak: still building parrot :)
13:08 gtodd by June I should have it down :)  OTOH the April release seems like it will be uneventful
13:10 FROGGS gtodd: we'll support you, so april might be doable as well
13:11 gtodd masak: do the pull requests (after discussion review whatever) get moved into an official "pull request repository" so they can all be pulled at once (instead of cherry-picking) or are they handled in the github web gui or is there some kind of github "tooling"?  (there's a ruby tool called "hub" and matsuno's "ph").
13:11 gtodd FROGGS: heh .. well then ok  ...
13:12 gtodd FROGGS: as you know this channel is being recorded ... :-)
13:12 nwc10 jnthn: the ususal, again.
13:12 FROGGS hehe
13:13 nwc10 jnthn: I'm not acutally sure if that's an update. That was actually from command history as I was trying to use scrollback to work out when I last reported it
13:13 FROGGS gtodd: no problem, I usually do what I promise :o)
13:13 nwc10 jnthn: but that's for 50c35da46c94149cd47fa8af6a9fd940e6579cd5, so try is done
13:16 jnthn :)
13:19 grondilu joined #perl6
13:20 gtodd FROGGS: :-)
13:20 FROGGS gtodd: what's your timezone?
13:21 masak gtodd: people tend to handle the pull requests through the github web interface.
13:21 gtodd masak: oops on "tooling" I forgot to mention "pithub" which seems to facilitate dealing with pull requests in a locally cloned repos but I can't get it working just now (firewalled for a bit)
13:22 masak ok.
13:22 moritz its-a-pity-hub?
13:22 gtodd masak: ok I just wanted to practice a bit locally ... I'm a RCS subversion and fossil user but git is foreign :)
13:23 gtodd FROGGS: EDT/EST Montreal Canada
13:23 gtodd FROGGS: (I'm in Ottawa)
13:23 FROGGS gtodd: ahh, okay
13:23 gtodd so GMT -5 or something
13:25 gtodd moritz: haven't heard of that one  :-)
13:27 gtodd moritz: but I like the name
13:27 SamuraiJack joined #perl6
13:30 rindolf joined #perl6
13:31 timotimo okay, not quite surprisingly, writing ($x, $y) = map { ($_-1, $_, $_+1).pick }, ($x, $y); as two lines without maps is about 5x faster
13:31 timotimo that makes a huge difference in the performance of the whole thing
13:33 timotimo i don't think that quite qualifies for an optimization ... map unrolling :)
13:35 timotimo on niecza the difference is almost 0%
13:36 timotimo that's what JIT can do ... i'm envious
13:36 gtodd masak:  so perl6 bugs are tracked on RT (along with perl5) which is nice ... they aren't being moved or reported (or lost) on github ..
13:36 jnthn timotimo: I'm...not sure if that's JIT to thank or something else
13:36 moritz well, I think we pay heavily for laziness. If we could statically analyze out laziness in this case, we'd be much faster
13:36 masak gtodd: Rakudo bugs are being tracked on RT for now, yes.
13:37 timotimo moritz: that makes sense. how hard do you think that would be? at least for some cases?
13:37 skids joined #perl6
13:37 timotimo wait, would using for instead make it faster, as for is eager by default now?
13:38 masak rn: my ($x, $y) = 100, 1000; ($x, $y).=map({ ($_-1, $_, $_+1).pick }); say $x; say $y
13:38 p6eval rakudo a822ca: OUTPUT«100␤1000␤»
13:38 p6eval ..niecza v24-37-gf9c8fc2: OUTPUT«101␤1000␤»
13:38 frdmn joined #perl6
13:38 pmichaud good morning, #perl6
13:38 masak pmichaud! \o/
13:38 masak rn: my ($x, $y) = 100, 1000; ($x, $y).=map({ ($_-1, $_+1).pick }); say $x; say $y
13:38 p6eval niecza v24-37-gf9c8fc2: OUTPUT«101␤1001␤»
13:38 p6eval ..rakudo a822ca: OUTPUT«99␤999␤»
13:38 hoelzro why are issues enabled for Rakudo on GH if they're not migrated to RT?
13:39 moritz timotimo: the hard part is probably what code to run in the eager case
13:39 moritz hoelzro: they shouldn't be
13:39 masak hoelzro: good question. I don't know.
13:39 * hoelzro moves to disable them on GH or migrate issues there
13:39 * moritz just gets a Unicorn from github
13:39 pmichaud issues aren't enabled on Rakudo at GitHub, afaict
13:40 jnthn o/ pmichaud
13:40 pmichaud I don't see an "issues" link.
13:40 pmichaud https://github.com/rakudo/rakudo/issues   # 404 not found
13:41 gtodd masak: I looked and saw many bugs I won't paste here :-) (I wish RT's search URLs were a bit more RESTful) but was unable to follow the advice of the release_guide.pod since I had no way of determining what "needs resolving" :)
13:42 PerlJam good $localtime all
13:42 pmichaud PerlJam o/
13:42 PerlJam What's new in the world of #perl6 ?
13:42 PerlJam (or even of Perl 6 :)
13:43 hoelzro ah, they are indeed disabled
13:43 gtodd pmichaud: I have a sense that dvcs works better than distributed bug reporting but ...  as long as everything is in sync I guess ...
13:44 jnthn PerlJam: NQP on JVM is progressing steadily again :)
13:44 timotimo interesting, the code with for is a tiny bit faster
13:44 PerlJam jnthn: cool!  :-)
13:44 PerlJam timotimo: "tiny bit" sounds like "measurement error" to me :)
13:45 timotimo jnthn: what interesting challenges lie ahead before rakudo can run on the jvm, too?
13:45 PerlJam timotimo: or perhaps "noise"
13:45 colomon jnthn: \o/
13:46 jnthn timotimo: Dealing with the various remaining Parrot-specific bits of Rakudo is a big part of it.
13:46 jnthn timotimo: Though finishing up the stuff to make gather/take work on the JVM decidedly also counts as "interesting" :)
13:47 timotimo i read about that
13:47 PerlJam jnthn: is there a feature-matrix style list of what works and what doesn't?
13:48 jnthn PerlJam: Well, at the moment Rakudo doesn't run on the JVM at all, so no :)
13:48 jnthn PerlJam: I guess we could do one for NQP but most things from NQP now work too :)
13:49 PerlJam I meant parrot-nqp vs jvm-nqp.  Bits that are done, bits that are todo
13:49 jnthn Ah.
13:49 jnthn There's no matrix for that at the moment, no
13:49 jnthn But most of what remains is abstractions that don't exist yet on either side.
13:50 timotimo PerlJam: it's 21 seconds vs 28 seconds.
13:55 nyuszika7h joined #perl6
13:55 PerlJam jnthn: if all of those things were written down (existing or not), then the other *-nqp implementations would have some clear targets for parity.
13:57 PerlJam (and would be able to show ways in which they are "better" because they may implement some abstraction that parrot-nqp or jvm-nqp don't have :)
14:03 nyuszika7h joined #perl6
14:12 rindolf joined #perl6
14:12 fgomez joined #perl6
14:13 timotimo arnsholt: does the report on the zavolaj ticket help us fix the problem entirely and all at once?
14:14 timotimo seems like someone did a great job finding the problem
14:19 isBEKaml joined #perl6
14:21 gtodd so if a VM can handle nqp then perl6 can be made to run somehow
14:21 masak heh :)
14:22 masak gtodd: you make it sound so easy! :)
14:22 gtodd but so far there are only 2-3 workable/working VMs (parrot and  niezca and ... I forgot) ....
14:22 moritz well, rakudo needs a bit more than nqp does
14:22 gtodd masak: that's what I meant :-)
14:22 moritz for example support for continuation-y bits
14:23 raiph joined #perl6
14:23 gtodd masak: *now* it looks like there's "only 2 VMs" but ... being careful what one wishes for is important ;-)
14:24 lizmat afaik, niecza is not a VM, but rather a rakudo on .NET
14:25 jnthn a Perl 6 implementation of .Net
14:25 jnthn It's independent of the Rakudo codebase
14:26 gtodd lizmat: ok .. that makes future development of "places where perl6 can run" seem even more possible or errm "easy" :-)
14:26 lizmat s/rakudo/Perl6
14:26 lizmat as jnthn pointed out
14:29 gtodd it's not really comparable but there was once upon a time people who said "linux is a kernel people need more than just a kernel to have unix workalike"  ... jump ahead 10+ years and ... there's N++ distros :-)
14:30 xilo joined #perl6
14:34 prammer joined #perl6
14:37 gcole joined #perl6
14:47 gtodd masak: btw as it stands merging some of the git pulls (there are 9) breaks the build :-)
14:47 hoelzro where is this Perl 6 workshop happening?
14:48 SmokeMachine joined #perl6
14:48 gtodd it is probably easy to fix or possibly I made a mistake but I wouldn't want to presume merging them was necessary ... I was just "practicing" with git
14:51 masak hoelzro: https://github.com/perl6/mu/​wiki/perl6-workshop-may-2013
14:52 hoelzro masak: yes, but where?
14:53 hoelzro on the internet?
14:53 isBEKaml irc
14:54 japhb (backlogging)  [Coke]: DUMP is not in the spec, it's a Rakudo tool for looking "under the covers".  At most the spec could specify that such a thing *exists*, but the output would of necessity be very implementation-dependent, so not spectest-able.
14:54 crab2313 joined #perl6
14:54 masak hoelzro: on a channel near you.
14:55 japhb jnthn, Why the dichotomy between parameters having Any/Any for default constraint/default type, but has and my having Mu/Any?
14:55 hoelzro masak: neat
14:55 masak hoelzro: interested?
14:55 hoelzro yes
14:55 hoelzro I just added myself =)
14:55 japhb (And FWIW, I had trouble finding the Mu-ness of has in the spec by searching.  If it was anywhere, I think it must have been implicit.
14:56 japhb )
14:56 timotimo japhb: so that methods will autothread on junctions
14:56 masak hoelzro++
14:56 jerry66 joined #perl6
14:56 jerry66 http://xgermanamateur.blogspot.com/2013/04/​taylor-rain-hottest-anal-slut-in-world.html
14:56 masak I love you people ♡
14:56 timotimo looking for a somewhat nice, but not completely easy to parse text-based format
14:57 masak er. I didn't mean that expression of love to come right after an unfortunate drive-by porn link :P
14:57 japhb timotimo, Hmmm, yes, and you don't exactly want to autothread across setting object attributes ...
14:57 FROGGS masak: LIAR *g*
14:57 masak ;)
14:57 japhb timotimo, thanks for the reminder.
14:58 isBEKaml masak: you got atrocious timing! :P
14:58 jerry66 joined #perl6
14:58 masak seems so.
14:58 jnthn japhb: Because people generally expect to be able to store anything they like in a scalar they declared, but don't expect to have junctions floating into their code unexpectedly.
15:00 japhb jnthn, yep, makes sense.
15:00 jnthn Note that pointy blocks have Mu as the type constraint, as those tend to come inside of your routine
15:00 jnthn And for @foo -> $x { } auto-threading on the $x confused people :)
15:01 japhb Oh, makes total sense, yes.
15:02 japhb Is there somewhere in the spec that all these default constraint / default type choices are compared, like a table or something?
15:02 japhb Like I said, when I searched yesterday, I had searchfail.
15:03 jnthn I *think* these things live in S06 or maybe S09 where auto-threading is defined, but I forget exactly where...
15:03 jnthn I'm pretty sure there's not a nice table like you describe, though.
15:03 nwc10 I don't think that it's S06, as I read it end-to-end yesterday/today
15:11 FROGGS japhb: maybe add a nice table?
15:14 gtodd hmm I thought I just clicked on the IRC workshop link ... :-|
15:17 gtodd masak:  I think can be in the audience  2013-05-01T16:00Z -- 2013-05-01T20:00Z
15:18 gtodd i.e. in my local time zone (EST)
15:18 [Coke] japhb: I think I won your DUMP contest.
15:18 gtodd masak: I won't understand anything it will be more of an ethnographic thing for me
15:22 masak gtodd: hey, don't undersell yourself. either way, you're welcome to attend.
15:23 gtodd thanks
15:27 [Coke] r: say 39289 /22
15:27 p6eval rakudo a822ca: OUTPUT«1785.863636␤»
15:28 [Coke] ah, no diakopter did.
15:29 japhb [Coke], diakopter is the current leader, IIRC, with a ratio of 5384.076923
15:29 japhb right
15:29 japhb FROGGS, currently suffering a little tuit shortage, but I may be able to yes.
15:29 japhb Where *should* such a table live?
15:31 [Coke] japhb: I misread his original as only generating that many, not having that ratio. Just noticed the div on the reread.
15:31 FROGGS japhb: what about that place? http://doc.perl6.org/language/variables
15:42 japhb FROGGS, yes, should most likely go there (or have a link from there), but that's documentation, not spec.  Should be in the spec too.
15:42 japhb [Coke], ah, gotcha
15:42 kaleem joined #perl6
15:43 [Coke] I assume one of the unwritten rules is "via the evalbot" so anything that times out doesn't count.
15:43 isBEKaml joined #perl6
15:44 lizmat S03:2751 states: "An C<IO> object has a C<.file> method that can be queried for its filename (if known)."
15:44 isBEKaml joined #perl6
15:44 lizmat shouldn't that be <.path> ?
15:45 lizmat rn: my $x="fooz".IO; say $x
15:45 p6eval niecza v24-37-gf9c8fc2: OUTPUT«"fooz".IO␤»
15:45 p6eval ..rakudo a822ca: OUTPUT«IO.new(ins => 0, chomp => Bool::True, path => "fooz")␤»
15:46 PerlJam I think that depends on who you believe :)
15:48 lizmat out for dinner, bbl&
15:49 lizmat rn: my $x="fooz".IO; say $x.path
15:49 p6eval rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«fooz␤»
15:49 lizmat rn: my $x="fooz".IO; say $x.file
15:49 * masak votes for '.path' being the correct one, and the spec being fossilized
15:49 * lizmat will then fix trhe
15:50 p6eval rakudo a822ca: OUTPUT«No such method 'file' for invocant of type 'IO'␤  in block  at /tmp/uoXs3nr2Hc:1␤␤»
15:50 p6eval ..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Unable to resolve method file in type IO␤  at /tmp/LvkmQ_GOOK line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583) ␤  at /home/p6…
15:50 lizmat the spec when I get back
15:50 masak ++lizmat
15:50 masak rationale: 'file' tells you nothing, 'path' tells you that you're wanting the location of the thing.
15:54 PerlJam masak: and so when you have an IO object that's really and HTTP request to some resource, "path" will tell you the URI?
15:54 PerlJam (not arguing, just pushing the analogy)
15:55 PerlJam s/and/an/
15:57 masak PerlJam: I think the analogy breaks down sooner than that. with $*IN and $*ERR, for example.
15:58 PerlJam aye, so what should .path return in those instance?
15:58 masak PerlJam: but I don't see how that makes "path" worse than "file". :)
15:58 PerlJam no, path is certainly better than file :)
15:58 masak PerlJam: also, this is just the usual confusion that our IO class suffers.
15:59 masak it's become better with the last refactor, but I forget the details.
15:59 masak moritz++ might remember.
15:59 grondilu_ joined #perl6
16:00 * moritz wakes-on-IRC
16:00 moritz remember what?
16:01 moritz oh, IO refactor
16:01 moritz it mostly deleted a bunch of design astronautism that was way too vague to implement
16:01 moritz and added IO::Path
16:02 moritz and specced a few functions that existed in the implementations
16:02 moritz and unconfused Str and Buf in a few places
16:03 masak oh right, IO::Path.
16:14 japhb [Coke], yeah, 'via the evalbot' also makes things fair for use of system-dependent values, like %*ENV.  :-)
16:31 dalek nqp/hll: 09d22fc | jnthn++ | src/ (2 files):
16:31 dalek nqp/hll: Add arnsholt++ nqp::sethllconfig implementation.
16:31 dalek nqp/hll:
16:31 dalek nqp/hll: Also teach it a bunch of extra HLL-interop related keys.
16:31 dalek nqp/hll: review: https://github.com/perl6/nqp/commit/09d22fc145
16:31 dalek nqp/hll: 6b1f913 | jnthn++ | src/ (4 files):
16:31 dalek nqp/hll: Start of new HLL-interop infrastructure.
16:31 dalek nqp/hll:
16:31 dalek nqp/hll: Builds upon the Parrot HLL identifiers. This mechanism will be used to
16:31 dalek nqp/hll: fix various Rakudo issues when NQP-defiend objects are encountered. It
16:31 dalek nqp/hll: will also replace the special-case perl6ize_type with a more general
16:31 dalek nqp/hll: and more portable mechanism, that can work in an environment where all
16:31 dalek nqp/hll: objects are 6model objects.
16:31 dalek nqp/hll: review: https://github.com/perl6/nqp/commit/6b1f91303b
16:31 Chillance joined #perl6
16:35 grondilu joined #perl6
16:44 FROGGS joined #perl6
16:46 _jaldhar joined #perl6
16:49 dalek rakudo/hll: 78665ec | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
16:49 dalek rakudo/hll: Set up some HLL interop configuration.
16:49 dalek rakudo/hll: review: https://github.com/rakudo/rakudo/commit/78665ecca1
16:49 dalek rakudo/hll: 5de401d | jnthn++ | src/ (5 files):
16:49 dalek rakudo/hll: First round of pir::perl6ize_type => nqp::hllize.
16:49 dalek rakudo/hll: review: https://github.com/rakudo/rakudo/commit/5de401d557
16:49 dalek rakudo/hll: 879a068 | jnthn++ | src/ (9 files):
16:49 dalek rakudo/hll: Replace remaining perl6ize_type uses with hllize.
16:49 dalek rakudo/hll: review: https://github.com/rakudo/rakudo/commit/879a068e09
16:58 arnsholt jnthn: Would that branch be a good place to start from for a saner version of my vmarray work?
16:59 jnthn arnsholt: It's opening commit is actually directly nabbing stuff you did.
17:00 jnthn arnsholt: This branch should merge soon-ish. It relates to your work in so far as making it possible to handle a world where NQP's basic types (like arrays) are 6model objects.
17:00 jnthn arnsholt: I was about to hit the issue on the JVM port, plus I want to fix some long-standing ugliness in Rakudo with regard to using objects from NQP land.
17:01 arnsholt Spiffy!
17:01 jnthn arnsholt: But it direclty helps your work too :)
17:01 arnsholt In that case I may well just wait for the branch to master
17:01 jnthn Yeah. It's going smoothly so far.
17:01 arnsholt Now that I have a better idea of what needs doing, I think I can do it saner and with far less invasive changes to the NQP code in nqp
17:02 jnthn OK
17:02 prammer_ joined #perl6
17:02 isBEKaml arnsholt: heh, everytime I see someone saying "Spiffy", I visualise a guy spitting into his hands and rubbing on his pants. :P
17:02 arnsholt The current state of it is such that I'm pretty certain there are sad-paths that aren't triggered in the NQP/Rakudo compile cycles
17:03 PerlJam Spiffy
17:03 arnsholt For example "@vmlist == 3" doesn't work, which is a fairly common idiom. So coercion to I should probably go through the smart_numify op
17:03 PerlJam (I'm hacking your brane isBEKaml! ;-)
17:03 dalek rakudo/hll: 8627b69 | jnthn++ | src/ops/perl6.ops:
17:03 dalek rakudo/hll: Toss perl6ize_type dynop.
17:03 dalek rakudo/hll: review: https://github.com/rakudo/rakudo/commit/8627b69d38
17:03 dalek rakudo/hll: a7e8fbf | jnthn++ | src/Perl6/Metamodel/ (11 files):
17:03 dalek rakudo/hll: Tag all types as being Perl 6 types.
17:03 dalek rakudo/hll: review: https://github.com/rakudo/rakudo/commit/a7e8fbfd49
17:03 jnthn arnsholt: Yes, I think that's how I have it on the JVM>
17:03 isBEKaml SpiffyJam! :D
17:04 jnthn Well, my replacement of perl6ize_type with hllize busts no spectests so far. :)
17:04 arnsholt jnthn: Oh, that's good too. Independently coming up with the same idea as you have on the JVM is a fairly good sign =)
17:05 jnthn r: say Sub.^methods
17:05 p6eval rakudo a822ca: OUTPUT«No such method 'gist' for invocant of type 'Sub'␤  in method gist at src/gen/CORE.setting:5259␤  in method gist at src/gen/CORE.setting:902␤  in sub say at src/gen/CORE.setting:7787␤  in block  at /tmp/l7D2UoP5bg:1␤␤»
17:05 jnthn I should be able to fix things like this soon too :)
17:06 jnthn Dinner first, though
17:06 arnsholt jnthn: In the end, do you expect any of the custom Parrot ops in Rakudo to survive?
17:07 jnthn arnsholt: Some will, but some things really want pushing a little deeper.
17:07 jnthn arnsholt: And some need not be ops.
17:08 domidumont joined #perl6
17:12 Chillance_ joined #perl6
17:13 arnsholt Yeah, that's what I thought. The less VM-specific stuff the better
17:18 [Coke] question I had - what about custom rakudo ops? will those be pushed down into nqp, or will those go away some other how?
17:19 arnsholt Pretty much what jnthn just said I think. Some things are going away, but I suspect there will always be a bit of VM-specific stuff
17:19 arnsholt If nothing else performance may force VM-specific stuff
17:22 cognominal joined #perl6
17:34 [Coke] whoops, I misread arnsholt's question as being "in NQP". so, deeper = "move to nqp" ?
17:50 sergot hi ! o/
17:53 masak sergocie! \o/
17:57 fhelmberger joined #perl6
17:58 xilo joined #perl6
17:59 tgt joined #perl6
18:00 timotimo ooooh, YAML is bitrotted a bit
18:00 timotimo i should fix it.
18:01 denisboyun_ joined #perl6
18:06 tadzik hello hello
18:06 moritz ohle leho
18:06 moritz or so :-)
18:06 isBEKaml tadzik: 'elo
18:07 colomon o/
18:10 fhelmberger joined #perl6
18:10 masak tadziku! \o/
18:10 isBEKaml tadzik: [brane-bust] have you started counting leaves to build forests? :P
18:11 tadzik oh, hm
18:11 tadzik nope :)
18:18 timotimo oh, it's TestML that's bitrotted, not YAML
18:19 timotimo and moritz++ already added patches and a pull requests
18:21 PerlJam twice now today I've glanced at a Perl 6 program and thought it was Perl 5.
18:21 PerlJam (granted, since the program were written by me, that could be saying something about how I write Perl 6 code )
18:22 PerlJam *programs
18:27 perigrin PerlJam: are you saying that's a good thing or a bad thing?
18:27 dmol joined #perl6
18:28 timotimo bleh, no comments in this thing
18:29 * jnthn back
18:31 moritz Yay. The first evening for three days that bringing $daughter to bed didn't involve 2 hours of her screaming
18:32 isBEKaml moritz: was it 1 hr 59 mins of screaming? (I should really shut up) :P
18:32 moritz I might get around to actually do something
18:32 prammer joined #perl6
18:32 moritz isBEKaml: even better, no screaming at all
18:33 * moritz too tired to think of a witty response
18:34 isBEKaml moritz: nice, rest and be frei!
18:35 isBEKaml hmm, *free
18:35 moritz he, "frei" is the correct word in German :-)
18:35 masak moritz: parenting sounds awesome, where do I sign up? :)
18:36 isBEKaml moritz: yeah, I got briefly confused where that came from. :)
18:36 nwc10 it's easiest with a co-conspirator
18:36 * masak decides to get one of those non-scream models
18:36 isBEKaml masak: they don't make such stock anymore.
18:36 timotimo knowing absolutely nothing about testml, i may not want to tackle YAML and TestML at this point
18:37 kivutar joined #perl6
18:37 moritz to be fair, Ronja usually one of those non-scream models
18:37 moritz *is
18:38 moritz but no smill child takes it well when the mother is away for several days
18:40 isBEKaml o.O( das kind nicht den mund halten! )
18:41 sergot nom: sub readme_file(Str $path) { return "README$_" if "$path/README$_".IO.e for "", ".md"; }
18:41 p6eval rakudo a822ca:  ( no output )
18:41 sergot star: sub readme_file(Str $path) { return "README$_" if "$path/README$_".IO.e for "", ".md"; }
18:41 p6eval star 2013.02:  ( no output )
18:43 moritz sergot: note that p6eval runs on an installed R*, and I don't think the README is installed
18:44 masak moritz: oh, so that was the explanation. I wish you a lot of patience and perseverance, then.
18:44 sergot What does "Attempt to return outside of any Routine" mean?
18:44 sergot moritz: I have another problem I think.
18:44 masak sergot: means you put a return in a lazy 'for' loop :(
18:44 masak sergot: or in a .map
18:45 sergot What does lazy 'for' loop mean? :)
18:45 sergot It worked some time ago.
18:45 sergot :)
18:45 FROGGS sergot: try the following locally: sub readme_file(Str $path) { return "README$_" if "$path/README$_".IO.e for "", ".md"; return Mu }
18:45 moritz and it'll work with the 2013.04 star release again
18:45 moritz masak: thanks
18:46 isBEKaml sergot: yup, I can reproduce that in 2013.02. Was that fixed since?
18:48 isBEKaml moritz: oh, I didn't see your message. 2013.04, okay. :)
18:48 * isBEKaml really goes back to lurking
18:48 moritz basically, rakudo made for-loops lazy by default, as per spec
18:48 tgt joined #perl6
18:48 moritz and it was surprising in so many ways that I switched it back to being eager
18:50 japhb For which I most sincerely thank you, moritz++
18:51 moritz the next question is whether loops should return values at all when they are statements on their own
18:51 timotimo i find this grammar is written in an annoying way.
18:51 moritz (and not part of any other expression)
18:55 japhb My personal feeling, on unexpected bad performance grounds, is no -- seeing an O(n) algorithm become O(n**2) because of hidden scan semantics kinda sucks.
18:55 japhb I do not want performance of an algorithm to be different depending on order of statements in a sub.
18:56 japhb (When the algorithm itself is not changing.)
18:56 perigrin thanks you saved me from snark overload there.
18:57 timotimo no wonder it says "couldn't find TestML meta declaration". the grammar looks for a colon, but it's not there in the files.
19:10 kivutar joined #perl6
19:11 fhelmberger joined #perl6
19:14 spider-mario joined #perl6
19:17 timotimo i have the feeling that those testml files from the tests from TestML aren't actually valid testml
19:18 * FROGGS .oO( beetlejuice beetlejuice beetlejuice )
19:19 timotimo FROGGS: the grammar things there should be a : between TestML and the version, for instance. that is not the case.
19:21 FROGGS maybe the author was in lax mode when writing it?
19:21 moritz ask ingy :-)
19:21 FROGGS but the question (for me is), is the test file right or the grammar?
19:22 moritz and the answer is an emphatic "yes!"
19:22 FROGGS hehe
19:22 timotimo oh, i could ask ingy
19:22 FROGGS moritz: that is the answer I get from my son usually
19:22 timotimo ingy: can you give me a bit of guidance with TestML-p6? i'd like to unbitrot YAML, but it uses TestML and that totally does no twork
19:23 FROGGS that's why I tend to not ask or-questions
19:23 berekuk joined #perl6
19:25 masak moritz: the 'x' in 'xor' is pronounced like a cat hissing loudly, or like static from an old-skool TV set.
19:26 moritz masak: even with xor, the answer is "yes" :-)
19:28 masak dang!
19:35 timotimo i guess i'll just have a look at the official specification
19:37 colomon no twork!
19:40 * masak .oO( sporks are old hat, meet the twork! )
19:40 colomon no!  no tworks!
19:42 * colomon wonders if there's a way to teach TextMate to use < > as quotes.
19:42 * PerlJam tworks the pkench
19:43 dalek nqp/hll: 5f9c348 | jnthn++ | src/ (2 files):
19:43 dalek nqp/hll: Code object mapping support.
19:43 dalek nqp/hll: review: https://github.com/perl6/nqp/commit/5f9c34855d
19:43 dalek nqp/hll: 0e3f03c | jnthn++ | src/6model/sixmodelobject.c:
19:43 dalek nqp/hll: Interop mapping support for 6model objects.
19:43 dalek nqp/hll: review: https://github.com/perl6/nqp/commit/0e3f03c00c
19:49 araujo_ joined #perl6
19:55 dalek rakudo/hll: 5cb7046 | jnthn++ | / (4 files):
19:55 dalek rakudo/hll: Add ForeignCode, to wrap foreign code objects.
19:55 dalek rakudo/hll:
19:55 dalek rakudo/hll: This means they behave sufficiently Perl 6-like to not blow up:
19:55 dalek rakudo/hll:
19:55 dalek rakudo/hll:     say Sub.^methods
19:55 dalek rakudo/hll:
19:55 dalek rakudo/hll: And similar.
19:55 dalek rakudo/hll: review: https://github.com/rakudo/rakudo/commit/5cb7046ffb
19:56 * colomon has TextMate handling < > as quotes!  o/
19:56 dalek nqp: 09d22fc | jnthn++ | src/ (2 files):
19:56 dalek nqp: Add arnsholt++ nqp::sethllconfig implementation.
19:56 dalek nqp:
19:56 dalek nqp: Also teach it a bunch of extra HLL-interop related keys.
19:56 dalek nqp: review: https://github.com/perl6/nqp/commit/09d22fc145
19:56 dalek nqp: 6b1f913 | jnthn++ | src/ (4 files):
19:56 dalek nqp: Start of new HLL-interop infrastructure.
19:56 dalek nqp:
19:56 dalek nqp: Builds upon the Parrot HLL identifiers. This mechanism will be used to
19:56 dalek nqp: fix various Rakudo issues when NQP-defiend objects are encountered. It
19:56 dalek nqp: will also replace the special-case perl6ize_type with a more general
19:56 dalek nqp: and more portable mechanism, that can work in an environment where all
19:56 dalek nqp: objects are 6model objects.
19:56 dalek nqp: review: https://github.com/perl6/nqp/commit/6b1f91303b
19:57 dalek rakudo/nom: 78665ec | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
19:57 dalek rakudo/nom: Set up some HLL interop configuration.
19:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/78665ecca1
19:57 dalek rakudo/nom: 5de401d | jnthn++ | src/ (5 files):
19:57 dalek rakudo/nom: First round of pir::perl6ize_type => nqp::hllize.
19:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5de401d557
19:57 dalek rakudo/nom: 879a068 | jnthn++ | src/ (9 files):
19:57 dalek rakudo/nom: Replace remaining perl6ize_type uses with hllize.
19:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/879a068e09
19:57 dalek rakudo/nom: 8627b69 | jnthn++ | src/ops/perl6.ops:
19:57 dalek rakudo/nom: Toss perl6ize_type dynop.
19:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8627b69d38
19:57 dalek rakudo/nom: a7e8fbf | jnthn++ | src/Perl6/Metamodel/ (11 files):
19:57 dalek rakudo/nom: Tag all types as being Perl 6 types.
19:58 dalek rakudo/nom: 8051900 | jnthn++ | tools/build/NQP_REVISION:
19:58 dalek rakudo/nom: Bump NQP_REVISION.
19:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8051900555
19:58 dalek roast: 4ac2c2b | jnthn++ | S12-introspection/methods.t:
19:58 dalek roast: Test for RT#115658.
19:58 dalek roast: review: https://github.com/perl6/roast/commit/4ac2c2be9f
19:58 fhelmberger joined #perl6
19:59 FROGGS cool!
20:00 moritz \o/
20:00 nwc10 and now beer
20:00 nwc10 ?
20:00 FROGGS hehe
20:00 jnthn Soon :)
20:00 * jnthn resolves the RT
20:03 gtodd masak: so there were a few problems with the build not working when I added some of the pull requests so .. I did:     git reset --hard 51c97843a.....
20:03 gtodd and rebuilt
20:04 * tadzik is tempted to photoshop "SOON" onto a picture of jnthn++ with beer
20:04 tadzik similarly to http://img.izismile.com/img/img5/201202​24/640/soon_meme_collection_640_03.jpg for example
20:04 FROGGS hehe
20:04 PerlJam tadzik: I thought beer is was actually fueled all of his work?
20:04 FROGGS ++tadzik
20:04 PerlJam tadzik: it would be more like "ALWAYS"
20:04 tadzik :)
20:04 gtodd masak:  git has strange docs and --help flags ... lots of sub commands remain mysterious to me but it is not too different than fossil
20:04 FROGGS tadzik: I'll order a shirt
20:06 moritz git has the "dungeons to be discovered, princesses to be rescued" feel to it
20:07 moritz which is also well-known from Perl 5 :-)
20:07 diakopter except without cheat codes
20:07 moritz oh, I forgot "dragons to be slain"
20:07 moritz diakopter: oh, google is the cheat code :-)
20:09 rjbs jnthn++ # 115658
20:10 [Coke] jnthn++
20:14 gtodd moritz: hah
20:15 gtodd so if dalek says:
20:16 gtodd (15:58:46) dalek: roast: Test for RT#115658.
20:16 gtodd (15:58:46) dalek: roast: review: https://github.com/perl6/roast/commit/4ac2c2be9f
20:16 gtodd does that men the commit 4ac2c2be9f has been reviewed and stuck into nom or it's waiting for review?
20:17 tadzik it's commited and pushed, if you want to review click here
20:17 tadzik it could as well say "summary:"
20:19 dalek specs: 18c2444 | (Elizabeth Mattijsen)++ | S03-operators.pod:
20:19 dalek specs: Replace mention of now defunct .file method by de-facto .path
20:19 dalek specs: review: https://github.com/perl6/specs/commit/18c24443c4
20:20 moritz it gives you a link where *you* can review the commit
20:21 [Coke] as we discussed yesterday, there's no formal "review" process for incoming commits, esp. if you've got commit privs.
20:22 PerlJam lizmat++
20:25 * labster wonders if .path on IO should return IO::Path instead
20:26 araujo joined #perl6
20:26 PerlJam https://www.facebook.com/photo.php?fbid=51​7647738281767&amp;set=a.389410087772200.80​992.389217161124826&amp;type=1&amp;ref=nf  reminds me of #perl6 for some reason  :)
20:26 Tene Heh.
20:27 masak :D
20:27 lizmat s/eat/program and it would be entirely appropriate
20:27 * masak .oO( code-pendence )
20:28 lizmat labster: I would think yes, as it would getting an absolute path from it automatic, no?
20:29 labster not quite, you have to do .absolute on it.
20:32 PacoAir joined #perl6
20:33 labster So if I wanted to install File::Spec as a core module, would all I have to do is drop it in /rakudo/src/core?
20:35 tadzik core module, or part of CORE.setting?
20:36 tadzik labster: obligatory reading: http://perlgeek.de/blog-en/p​erl-6/how-core-is-core.html
20:41 labster It's core as in: IO::Path which is in S32 needs it to work properly, but it doesn't need to be added to the namespace by  default.
20:42 labster Thanks for the link tadzik++
20:44 dalek rakudo/nom: 003d5cf | jnthn++ | src/Perl6/Metamodel/ContainerDescriptor.pm:
20:44 dalek rakudo/nom: A simple pir:: => nqp:: in the MOP.
20:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/003d5cffc3
20:44 dalek rakudo/nom: 4402426 | jnthn++ | src/ (4 files):
20:44 dalek rakudo/nom: Replace an op and a dozen C lines with 1 NQP line.
20:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4402426eb2
20:44 bbkr joined #perl6
20:47 tadzik wow :)
20:47 * lizmat always likes it when code get better by (mostly) removing code
20:47 tadzik . o O ( Code is best when it's gone )
20:48 lizmat . o O ( that's another way of finishing a project )
20:49 Tene http://c2.com/cgi/wiki?LinesOfCode
20:51 Tene jnthn: any chance you'll be blogging again soon?
20:52 lee_ my @list = 0..1_000_000; # should not take 30s and over a 1G of RAM right?
20:52 jnthn Tene: Yeah, it's pretty high on my todo list, now that I'm back in action after my break :)
20:52 lee_ i was looking at http://en.wikibooks.org/wiki/Perl_6_Pr​ogramming/Lazy_Lists_and_Feeds#Ranges and it says it should be lazy
20:52 Tene Glad to hear it. :)
20:53 lee_ so i'm surprised it takes so long
20:53 tadzik r: my $list = 0..1_000_000
20:53 p6eval rakudo 805190:  ( no output )
20:53 tadzik lee_: if you assign it to a list container (@foo) it expands the range into a list
20:53 splitcells joined #perl6
20:53 labster r: my @list := 0..1_000_000;
20:53 p6eval rakudo 805190:  ( no output )
20:53 tadzik I suppose wikibooks may be outdated here and there
20:54 lee_ tadzik: what i am really trying to speed up is 'say [+] 0..1_000_000' which also takes 30s
20:56 tadzik ah, there are plans for things like this
20:56 tadzik I mean optimizing these sort of cases
20:56 tadzik we're not quite there yet, sorry
20:56 lee_ ok, just curious if i was missing something
20:56 lee_ thanks!
20:57 tadzik I suppose that at this moment it generates the entire list in memory and sums its elements
21:00 lee_ is there a suggested way to iterate over a lazy list like that?
21:01 lee_ without generating the entire list
21:02 tadzik if you iterate over the lazy list you will generate it in memory, but not at once :)
21:02 anocelot lee_ A for loop...?
21:02 dmol joined #perl6
21:03 * anocelot read "like that" very, very litterally.
21:04 lizmat map is supposed to be lazy, no?
21:04 labster ($end-$begin)/2*($end-$begin+1)  ?
21:05 gcole joined #perl6
21:06 dmol joined #perl6
21:06 dalek nqp: 18f5d04 | jnthn++ | src/ops/nqp.ops:
21:06 dalek nqp: Make nqp::setcodeobj cool with coroutines.
21:06 dalek nqp: review: https://github.com/perl6/nqp/commit/18f5d04277
21:09 tgt joined #perl6
21:09 dalek rakudo/nom: ccaae41 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
21:09 dalek rakudo/nom: Change text for unmarshallable hash value to '...' to match unmarshallable objects
21:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ccaae412a6
21:09 dalek rakudo/nom: df6a910 | (Geoffrey Broadwell)++ | src/ (5 files):
21:09 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
21:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df6a910e4b
21:10 dmol joined #perl6
21:15 labster lee_: maybe this will help: http://rosettacode.org/wiki/Sum_of_a_series#Perl_6
21:17 lee_ labster: perfect, thanks
21:23 LlamaRider joined #perl6
21:23 shachaf_ joined #perl6
21:23 shachaf_ joined #perl6
21:25 LlamaRider masak: just signed up for your tutorial, looks interesting :) Have you decided what it will cover?
21:26 LlamaRider s/tutorial/workshop/
21:28 ironcame1 joined #perl6
21:28 zamolxes_ joined #perl6
21:28 nwc10_ joined #perl6
21:30 fgomez joined #perl6
21:35 masak LlamaRider: I'm fairly clear on what it will cover, but I haven't written it down yet. I will need to do that first before divulging a schedule.
21:35 masak LlamaRider: also, welcome aboard! \o/
21:38 lizmat rn: my ($a, $b, $c) = 1, 2, 3, 4; say $c
21:38 p6eval rakudo 440242: OUTPUT«3␤»
21:38 p6eval ..niecza v24-37-gf9c8fc2: OUTPUT«Potential difficulties:�  $a is declared but not used at /tmp/fo6SjcCcWT line 1:�------> [32mmy [33m�[31m($a, $b, $c) = 1, 2, 3, 4; say $c[0m�  $b is declared but not used at /tmp/fo6SjcCcWT line 1:�------> [32mmy [33m�[31m($a, $b, $c) = 1, 2, 3, 4;…
21:39 lizmat S03:2918 states: "This, however, warns you of information loss: ($a, $b, $c) = 1, 2, 3, 4;"
21:40 FROGGS ya, I remember a discussion about that
21:40 lizmat so is this a matter or NYI ?
21:40 FROGGS NYI, I believe it should warn about 4 being in sink context
21:40 lizmat n: my ($a, $b, $c) = 1, 2, 3, 4; say $a, $b, $c
21:40 p6eval niecza v24-37-gf9c8fc2: OUTPUT«123␤»
21:41 rking joined #perl6
21:41 * lizmat registers this as NYI then
21:43 hugme joined #perl6
21:44 dalek rakudo/nom: e088624 | jnthn++ | / (5 files):
21:44 dalek rakudo/nom: Eliminate a Perl 6 dynop in favor of an NQP one.
21:44 dalek rakudo/nom:
21:44 dalek rakudo/nom: They did pretty much the same thing, just ended up with both for
21:44 dalek rakudo/nom: historical reasons.
21:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e088624c28
21:44 dalek rakudo/nom: 83d0f6c | jnthn++ | src/ (5 files):
21:44 dalek rakudo/nom: Toss another Perl 6 op that duplicated an NQP one.
21:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/83d0f6c195
21:44 dalek rakudo/nom: 00ca10a | jnthn++ | src/ (4 files):
21:44 dalek rakudo/nom: Assorted pir:: => nqp::.
21:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/00ca10a811
21:51 woolfy left #perl6
22:04 kurahaupo joined #perl6
22:14 dalek specs: 5ca8187 | (Elizabeth Mattijsen)++ | S03-operators.pod:
22:14 dalek specs: Added semi-colons so that examples work in cut'n'paste situation
22:14 dalek specs: review: https://github.com/perl6/specs/commit/5ca81879f7
22:20 lizmat goodnight #perl6!
22:20 jnthn 'night, lizmat
22:21 erkan joined #perl6
22:21 erkan joined #perl6
22:24 lee_ tadzik: i took a look at rakudo's reduce implementation and it appears to use a for loop, which i gather is now eager?
22:24 lee_ would it be worth changing?
22:25 jnthn A reduce operation is inherently eager in so far as it needs all the values...
22:25 lee_ yes, doh
22:25 masak :)
22:25 jnthn I think the range special case is optimizable as a special case.
22:26 lee_ i'll play around with that
22:26 jnthn Needs care to cope with the fact that range end points can be inclusive/exclusive.
22:27 jnthn And that not all ranges are integer or even numeric
22:32 skids joined #perl6
22:32 colomon reduce is only eager if it isn't triangle, right?
22:33 jnthn Right.
22:33 jnthn Hmm. Seems I kinda considers that as a different meta-operator... :)
22:38 fhelmberger joined #perl6
22:47 japhb tadzik, what are your thoughts on panda supporting multiple projects.json files, fetched from multiple locations?
22:47 japhb My use case is to have a private Perl 6 module collection at $day-job for the stuff I can't release into the wild ... but I still want to use standard tools to handle it.
22:49 japhb So I want to be able to fetch the public projects.json for all the open source modules, and a separate projects.json from our repo server for the private ones, and be able to specify that the private projects list overrides the public one.
22:51 japhb (Most of the time they won't conflict, but I'd hate to have a huge mess because sometime down the road someone created a public module that happened to name-collide with one of ours.)
22:51 FROGGS japhb: if we had the <auth> adverbs on use-statements yet you would be safe
22:52 japhb .ask tadzik Please take a gander at the panda enhancement idea starting at http://irclog.perlgeek.de/​perl6/2013-04-09#i_6684351 and let me know what you think
22:52 yoleaux japhb: I'll pass your message to tadzik.
22:52 FROGGS use File::Tools:auth<MyCompany>;
22:52 japhb Ah yes, true enough.
22:52 japhb Maybe what I'm asking for then is to finally have auths.
22:52 FROGGS but I guess it is still a long way to that point :/
22:53 japhb Why do I get the feeling before I do a talk on this, I'm going to have to fix the stuff that's not Right yet?
22:53 FROGGS the panda way should be much easier
22:53 FROGGS because that is hoe community-ware works?
22:55 japhb FROGGS, sure, but there's a nice stepping stone by which panda learns about auths and understands multiple sources of auth (and other meta) data, and uses a static rule about which to install, before we get the whole multi-install everything goes happy place.
22:55 japhb TDD: Talk Driven Development
22:55 FROGGS hehe
22:56 masak 'night, #perl6
22:56 japhb That said, when we do automated recompiles, we're going to have to be working with files by content hash anyway, so might as well take that opportunity to start doing All The Things
22:57 japhb 'night, masak, sleep well
22:57 FROGGS night masak
22:58 FROGGS well, I made a proposal about the module-loadery... but I had no time yet to implement it
22:59 japhb ditto on both counts :-) -- though as I recall mine tried to prematurely optimize, and it turned out the full generality was needed anyway.
23:00 FROGGS ya, I tried to optimize less at first, so you can better peek and poke and see what is (not) happening
23:01 FROGGS that's why I put "so much" information in the manifest files, so you dont need extra debug information when starting with it
23:02 japhb I think I've got a better idea (than my original, I forget how yours varies) churning in my head about handling manifest files efficiently.
23:02 * japhb wants to avoid the "startup involves thousands of stat()s" that certain other languages fall prey to.
23:03 FROGGS well, my first goal is to provide stability and reliability
23:03 japhb Sure, but I'm trying to keep startup time from getting *even worse* than it already is.
23:03 FROGGS sure sure
23:04 japhb (At least, thanks to the herculean efforts of the Rakudo devs, it's way better than it once was.)
23:07 jnthn sleep &
23:07 japhb good dreams, jnthn
23:07 jnthn here's hoping :)
23:07 jnthn o/
23:08 FROGGS gnight jnthn
23:20 lue S02/Names/Dynamic variable creation: "It will not be created in GLOBAL (or PROCESS) automatically, nor is it created in any lexical scope." Does that mean my own $* variable won't be treated the same as the core ones unless I use the example at the bottom?
23:24 telex joined #perl6

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

Perl 6 | Reference Documentation | Rakudo