Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-05-02

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 ZeroSkill joined #perl6
00:19 xenoterracide joined #perl6
00:25 roll left #perl6
00:39 grondilu yet an other Rosalind problem where Perl6 is too slow:  http://rosalind.info/problems/itwv/
00:40 dayangkun joined #perl6
00:41 dalek perl6-examples: b841ad6 | (L. Grondin)++ | rosalind/itwv-grondilu.pl:
00:41 dalek perl6-examples: (rosalind) ITWV [much too slow but added nevertheless]
00:41 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/b841ad6833
00:41 dalek perl6-examples: a933e5a | (L. Grondin)++ | parsers/CSSGrammar.pm:
00:41 dalek perl6-examples: Merge branch 'master' of github.com:perl6/perl6-examples
00:41 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/a933e5ad11
00:43 grondilu please guys work on improving performance.
00:43 berekuk joined #perl6
00:44 pmichaud r: say 'def' ~~ /abc/
00:44 camelia rakudo 802574: OUTPUT«Nil␤»
00:48 grondilu rn: my $x = "foo" | "bar"; say "foo" ~~ / $x /;  #  I wonder if this is specced
00:48 camelia niecza v24-37-gf9c8fc2: OUTPUT«Nil␤»
00:48 camelia ..rakudo 802574: OUTPUT«Can not get attribute '$!pos' declared in class 'Cursor' with this object␤  in regex  at /tmp/_Eo0OX4ldt:1␤  in method ACCEPTS at src/gen/CORE.setting:11180␤  in method ACCEPTS at src/gen/CORE.setting:683␤  in block  at /tmp/_Eo0OX4ldt:1␤␤»
01:04 TimToady grondilu: it's not
01:04 TimToady but it was suggested a day or three ago
01:07 pmichaud the tricky part there would be knowing what actually matched
01:07 pmichaud since junctions only tell you if something matched, but not what actually matched.
01:10 MrMeek-afk joined #perl6
01:20 robinsmidsrod joined #perl6
01:30 FROGGS_ joined #perl6
02:26 kurahaupo joined #perl6
02:37 orafu joined #perl6
02:55 cognominal__ joined #perl6
03:13 jaldhar joined #perl6
04:22 thou joined #perl6
04:25 Psyche^ joined #perl6
04:42 Kharec joined #perl6
04:48 diakopter oy
05:07 moritz_ joined #perl6
05:12 hami joined #perl6
05:45 asdfgh joined #perl6
05:47 eternaleye joined #perl6
05:55 eternaleye joined #perl6
06:01 cognominal joined #perl6
06:14 dayangkun joined #perl6
06:16 frdmn joined #perl6
06:17 frdmn|afk joined #perl6
06:17 FROGGS_ joined #perl6
06:18 eternaleye joined #perl6
06:19 frdmn|afk joined #perl6
06:20 skids joined #perl6
06:22 tangentstorm joined #perl6
06:26 FROGGS_ <pmichaud> since junctions only tell you if something matched, but not what actually matched. <-- why not treat junctions like arrays there?
06:39 raiph joined #perl6
06:45 domidumont joined #perl6
06:51 baest_ joined #perl6
07:02 ilbot_bck joined #perl6
07:02 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend! ! temporary logs at http://colabti.org/irclogger/irclogger_log/perl6
07:05 domidumont joined #perl6
07:06 skids joined #perl6
07:12 [particle]1 joined #perl6
07:13 sqirrel joined #perl6
07:18 masak morning, #perl6
07:18 camelia joined #perl6
07:19 FROGGS_ morning masak
07:20 moritz \o
07:20 FROGGS_ moin moritz
07:28 satyavvd joined #perl6
07:29 satyavvd what happend no release of rakudo last month and this month?
07:30 satyavvd and http://irclog.perlgeek.de/perl6/today  is not working..
07:30 FROGGS satyavvd: look at the topic
07:30 FROGGS there are compiler releases: http://rakudo.org/downloads/rakudo/
07:30 moritz and pmichaud is working on the star release
07:31 FROGGS the star release is in preparation though, there are to-be-fixed bugs
07:31 moritz and logs are down due to hardware failure
07:31 lizmat rn: class A { }; my $a= A.new( foo => 1 ); $a # shouldn't this complain about trying to initialise a non-existing attribute?
07:31 camelia rakudo 802574, niecza v24-37-gf9c8fc2:  ( no output )
07:31 satyavvd i am checking on home page of rakudo.. ok got it
07:32 lizmat it would seem to me that at least in this example, this should be possible at compile time
07:32 lizmat or am I missing something?
07:33 satyavvd thnx FROGGS
07:33 FROGGS lizmat: I'm not sure if this really can happen at compile time, but I agree that slurping args to nirvana is a bit odd
07:34 moritz lizmat: see http://perlcabal.org/syn/S12.html#Interface_Consistency
07:36 hoelzro good morning #perl6!
07:36 lizmat morning hoelzro!
07:36 xinming joined #perl6
07:37 lizmat hmmm… suddenly the named parameters of Perl 6 just look a lot more like just passing a hash and not giving a damn as it is in Perl 5 :-(
07:37 labster good $localtime, all
07:41 daxim joined #perl6
07:42 hoelzro if I wanted to add Positional capabilities to a value, I could create a role that does Positional and apply it to the value in question, right?
07:43 hoelzro ex. role PositionalPair does Positional { #`(implement) } $pair but PositionalPair;
07:43 skids joined #perl6
07:46 cognominal joined #perl6
07:46 kaleem joined #perl6
07:50 labster perl6 -c rebootstrap.pl > ===SORRY!=== No object at index 16
07:50 labster huh, I have no idea how I broke panda
07:50 rindolf joined #perl6
07:52 FROGGS may run rebootstrap?
07:53 FROGGS recompiling+installing rakudo breaks it
07:53 labster uh, that's rebootstrap dying on me.
07:53 FROGGS ahh -.-
07:53 FROGGS sorry, looks like I need more coffee :o)
07:56 labster > require "Shell/Command.pm";  Missing or wrong version of dependency 'src/gen/CORE.setting'
07:56 labster maybe that has something to do with it.  Really though, LTA error.
07:56 labster the "No object at index 16" one.
08:03 FROGGS true
08:04 labster well, that wasn't the problem.
08:07 labster the error is in /nqp/src/vm/parrot/6model/serialization_context.c  -- now I'm even more confused.
08:10 FROGGS O.o
08:16 labster okay, I guess I broke "use lib".  somehow.
08:19 FROGGS r: say @*INC
08:19 camelia rakudo 802574: OUTPUT«/home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib /home/p6eval/.perl6/2013.04-22-gd2af402/lib␤»
08:19 FROGGS r: use lib 'rary'; say @*INC
08:19 camelia rakudo 802574: OUTPUT«rary /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib /home/p6eval/.perl6/2013.04-22-gd2af402/lib␤»
08:19 FROGGS r: use lib 'rary'; say @*INC; use 'None'
08:19 camelia rakudo 802574: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    use used at line 1��»
08:20 FROGGS r: use lib 'rary'; say @*INC; use 'None';
08:20 camelia rakudo 802574: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    use used at line 1��»
08:20 FROGGS r: use lib 'rary'; say @*INC; use None;
08:20 camelia rakudo 802574: OUTPUT«===SORRY!===␤Could not find None in any of: rary, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib, /home…
08:20 labster ./perl6
08:20 labster > use lib 'foo';
08:20 FROGGS looks good here at least
08:20 labster No object at index 16
08:21 FROGGS is it the same if you do: :7perl6 -e 'use lib "foo"' ?
08:21 FROGGS err, ./ ...
08:21 labster not sure now... just did make realclean
08:22 FROGGS do you have PERL6LIB set to something?
08:22 labster no
08:23 kresike joined #perl6
08:23 kresike hello all you happy perl6 people
08:23 dalek nqp: 5cf0134 | (Donald Hunter)++ | / (3 files):
08:23 dalek nqp: Added remaining bigint nqp ops.
08:23 dalek nqp: review: https://github.com/perl6/nqp/commit/5cf01349a7
08:23 dalek nqp: f3551cf | jonathan++ | / (3 files):
08:23 dalek nqp: Merge pull request #94 from donaldh/master
08:23 dalek nqp:
08:23 dalek nqp: Added remaining bigint nqp ops
08:23 dalek nqp: review: https://github.com/perl6/nqp/commit/f3551cf36d
08:23 labster wait, maybe I have an idea.
08:24 labster hello kresike
08:24 jnthn morning, #perl6
08:25 FROGGS \o/, looks like I fixed: sub choop (*@s is rw)
08:26 kresike labster, o/
08:26 labster \o
08:29 jnthn FROGGS: Would be curious to see the patch.
08:33 FROGGS jnthn: like that, though I want to clean it up: https://gist.github.com/FROGGS/7af9fcdda8dc7db39316
08:33 pmichaud 07:37 <lizmat> hmmm… suddenly the named parameters of Perl 6 just look a lot more like just passing a hash and not giving a damn as it is in  Perl 5 :-(
08:34 pmichaud lizmat: note that it's only methods that have this... subroutines don't implicitly/quietly slurp named arguments
08:35 pmichaud also, I suspect it would be possible (but perhaps not easy) to define .new so that it warns/carps about any unused named parameters.
08:36 FROGGS jnthn: updated the patch, I moved the last call to Rakudo_binding_bind_one_param to the else too
08:42 jnthn FROGGS: I...don't understand how that works.
08:42 arnsholt jnthn: Regarding the PPC/SPARC build fixes on GH, perhaps we should see if there's a newer version of dyncall we can bundle?
08:42 arnsholt I'm a bit wary of making our own changes to a third party lib, TBH
08:43 jnthn arnsholt: Yeah, or we should at least pass them upstream
08:43 arnsholt Yeah, if there's no new version that'd be my next preferred move
08:44 jnthn FROGGS: What happens if you call sub foo(*@x) { } with foo($x, $y, $z) ?
08:44 jnthn FROGGS: It looks like it'd just try binding the $z there
08:44 jnthn (overwriting the binding of $x and $y
08:44 jnthn )
08:44 FROGGS jnthn: currently compiling, but wanted to add tests and spectest now
08:44 FROGGS I'll report in a bit
08:45 jnthn /* We have to bind every slurped parameter to apply 'is rw' on them */
08:46 jnthn That comment confuses parameter and argument, which is not helpful in a piece of code that needs to keep the two straight...
08:47 FROGGS maybe that is because I tend to be confused there :/
08:49 rindolf joined #perl6
08:49 jnthn sub foo($x) { }
08:49 jnthn # $x is a parameter
08:49 jnthn foo(1) # 1 is the argument. Maybe 'cus we can argue about whether it shoulda been 2 instead...
08:50 FROGGS so an argument is the value of a param?
08:50 jnthn It's the thing that you pass
08:50 fhelmberger joined #perl6
08:50 pmichaud parameters are parts of signatures.  arguments are the things you pass
08:50 FROGGS ahh, okay
08:51 jnthn The reason I'm about certain that code is wrong is because bind_one_param is menat to be called once for each *parameter*
08:51 FROGGS ahh, I see
08:52 pmichaud sub xyz($x) { say($x); }    #  $x is a parameter of &xyz, and it's an argument to say().  :-)
08:54 pmurias joined #perl6
08:54 FROGGS jnthn: but in case of a is rw slurpy param, pushing the args to an PMCA isnt a good thing, right?
08:55 FROGGS i.e., making copies and such
08:56 pmurias what would be a good target for the gsoc nqp/rakudo js backend? boostraped nqp passing all tests?
08:56 pmurias or should I extend that to rakudo passing some tests (sanity for example) too?
08:57 pmichaud pmurias: I'd be happy with bootstrapped nqp passing all of its tests, I think.
08:57 FROGGS hmm, I think that is a bit much for a gsoc project, I think making nqp pass all is pretty good
08:58 pmichaud you could put that your expected target is bootstrapped nqp passing tests, and the "stretch target" is having rakudo pass sanity.
08:58 FROGGS jnthn: it explodes if I pass something else than a single array
08:59 pmichaud r: sub xyz(*@a) { say @a.WHAT };   xyz(1,2,3);
08:59 camelia rakudo 802574: OUTPUT«(Array)␤»
09:00 pmichaud In order for @a to be "is rw" there, it will need to be a List instead of an Array
09:01 jnthn FROGGS: Right, that's what I suspected :)
09:01 pmichaud Array elements don't typically bind to other containers.
09:01 pmichaud whereas List elements can do that.
09:01 jnthn pmurias: Bootstrapped would be pretty awesome
09:02 jnthn pmurias: Doing Rakudo too may be a bit of a stretch.
09:02 pmichaud in fact, it may be that "is rw" simply tells the slurpy parameter whether it needs to be an Array or a List
09:06 jnthn That would be elegant...
09:07 FROGGS I am a bit lost, where do I have to tweak that?
09:08 pmichaud FROGGS: lost on the concept, or lost on how that would be implemented?
09:08 FROGGS I understand the concept
09:08 pmichaud okay
09:08 pmichaud you're probably looking for whatever creates the slurpy array
09:08 pmichaud and make that switchable so that it can be a list instead
09:09 FROGGS well, there is a line about Rakudo_binding_create_positional() and Rakudo_binding_create_lol()
09:10 FROGGS ahh, that looks good
09:15 pmichaud indeed, I wonder if the slurpy parameter needs a third case...   as an Array, slurpies have "is copy" semantics.
09:16 pmichaud as a List, they'd tend to be "is rw" semantics
09:16 pmichaud we don't have anything with "is readonly" semantics
09:16 jnthn Parcel? :)
09:16 pmichaud Seq.
09:17 pmichaud Parcel's don't have flattening or readonly semantics.
09:17 jnthn Hm, true.
09:17 pmichaud and yes, we've been eliminating Seq....   but in earlier version of Rakudo, Seq was the "lazily flatten into values" type.
09:18 pmichaud Array is the "lazily flatten into copies" type
09:20 jnthn Can a Seq be pushed/popped/shifted/unshifted?
09:20 pmichaud yes
09:20 pmichaud Seq is List
09:20 jnthn Ah, it's that way around. OK.
09:20 berekuk joined #perl6
09:20 * jnthn can see this
09:20 pmichaud yeah, that's something that earlier specs had backwards :)
09:21 jnthn It may almost be a good way to teach the three too: show how *@a is rw vs. *@a is copy vs. *@a is readonly work.
09:22 pmichaud well, the current implementation hasn't had much need for Seq, which makes me wonder if it's hiding somewhere else.
09:22 pmichaud but Seq is/was also a common place for being able to handle/specify decontainerization
09:23 pmichaud essentially, whatever we're doing to make return values readonly is similar to what slurpies need to do with their arguments when "is readonly"
09:23 jnthn Is there a parallel in the associative world?
09:23 jnthn I'm wondering if
09:24 jnthn constant @x = ...;
09:24 jnthn That @x should be a Seq
09:24 pmichaud well, that @x should probably not be an Array :-)
09:24 pmichaud it could be a List.
09:24 jnthn Today that form doesn't really work
09:24 jnthn 'cus I didn't know what to do with it
09:24 pmichaud List is fine for constant values, as long as you don't put any writable containers into the List
09:25 jnthn Yeah, I was thinking Seq as that deconts...
09:25 kivutar joined #perl6
09:25 pmichaud how are we handling deconts of return values now?
09:26 jnthn There's a p6decontrv op
09:26 FROGGS that seems to do it (updated): https://gist.github.com/FROGGS/7af9fcdda8dc7db39316
09:26 jnthn I'd have to go look at it to remember exactly what it does
09:27 FROGGS $ perl6 -e 'my @a = <abc def ghi>; sub choop (*@s is rw) { for @s -> $s is rw { $s.=chop } }; my $s = "hurz"; choop(@a, $s); say "@a[] $s"'
09:27 FROGGS ab de gh hur
09:27 jnthn FROGGS: I'm much more comfortable with that.
09:27 FROGGS cool
09:28 jnthn Though pmichaud++ should probably glance it too :)
09:28 pmichaud I didn't see the earlier patch, but this one matches my notion of what's been missing with slurpy handling.
09:28 * jnthn is kinda distracted finnishing slides... :)
09:28 FROGGS pmichaud: same gist, prev revision
09:28 pmichaud I hadn't seen anything in the spec that indicated how is rw / is copy  would apply to slurpies.
09:28 FROGGS pmichaud: http://perlcabal.org/syn/S06.html#Parameter_traits
09:28 arnsholt jnthn: I didn't know you spoke Finnish O:)
09:30 pmichaud FROGGS:  I'm not sure what that parenthetical part means.
09:30 pmichaud I agree that it explains "is rw" on variadics
09:31 jnthn arnsholt: I don't...they're just for delivery on Finland. :)
09:31 jnthn *in
09:31 FROGGS pmichaud: you mean that sentence? (The variadic array as a whole is always modifiable, but such modifications have no effect on the original argument list.)
09:31 pmichaud yeah
09:32 pmichaud I guess "as a whole" is referring to the ability to shift/unshift/push/pop
09:32 pmichaud as opposed to "always modifiable" referring to the elements
09:32 FROGGS yeah, that is what I think too
09:33 FROGGS I understand it as an implicit is copy trait
09:33 pmichaud oh, an implicit "is copy" trait would mean it refers to the elements as well
09:33 pmichaud i.e., the elements of a variadic array are always modifiable
09:35 pmichaud I should try to get back to sleep; I'm going to be paying for this later today, I suspect.  :-|
09:35 FROGGS sleep well then :o)
09:35 jnthn yes, I was trying to figure if this was very late or very early...
09:35 nwc10 #perl6 - not a cure for insomnia
09:36 jnthn .oO( insomnia - not a cure for #perl6 )
09:37 pmichaud it's very early... 04:36 here
09:37 pmichaud I woke up a couple of hours ago and hadn't been able to get back to sleep... but I have to be up again in 1h30 sooooo....
09:38 birdwindupbird joined #perl6
09:40 pmichaud http://perlcabal.org/syn/S06.html#Perl5ish_subroutine_declarations also mentions "is rw" and slurpy stars.
09:41 pmichaud what bugs me about the synopses' description of slurpies is that while "is rw" is well described, it's not clear what happens with slurpies when it's not present.
09:42 pmichaud in the section on Perl5ish declarations, for example, the sentence beginning with "More precisely" doesn't seem to be making anything more precise.. it looks like a new statement to me.
09:48 pmichaud anyway, I'm going to try again for sleep -- bbl, perhaps.  (today is full/hectic day at the house)
09:48 pmichaud afk
09:57 donaldh joined #perl6
10:05 atroxaper joined #perl6
10:08 atroxaper left #perl6
10:24 berekuk joined #perl6
10:28 FROGGS what does "splat"/"splatted" mean here? https://github.com/perl6/roast/blob/master/S06-traits/slurpy-is-rw.t#L16
10:29 moritz slurpy
10:31 FROGGS k, thanks
10:31 daxim tell masak I now will reveal the source data for the hash from 2013-04-24:   $ cat prediction
10:31 daxim echo "masakism will be full of math, but not actually useful programming" | sha1sum
10:31 daxim I am pleased to be mostly wrong - only FRINGE and GRAPH, arguably HEX are mathy (== your bias).
10:31 daxim you can do better; stack overflow is full of real world problems, mostly mundane of course, but also sometimes illustrative of program design, pick from them instead
10:34 jnthn Graphs come up all over the place in the real world. Or at least, they do in my real world. :)
10:34 masak daxim: heh.
10:34 masak daxim: happy to see I at least foiled your pessimistic prediction :)
10:35 masak daxim: I agree that the workshop was high-level and strained the capabilities of the participants... but it was *meant* to.
10:36 masak daxim: if I had known that there would be that many complete beginners, I would have invested in a track for them, too.
10:36 daxim really?  doesn't look that difficult to me, I've done half of "promise" but then got bored
10:36 masak daxim: if there's a next iteration, these are things I can do better then
10:36 masak daxim: I'm glad you find my difficult tasks easy to the point of boredom. :>
10:37 masak granted, it's not difficult in the sense of p6cc. (which is also more math-y)
10:37 daxim perhaps the elevator will tickle my fancy
10:37 masak daxim: I'll let you know when it's ready.
10:37 masak (probably later this week)
10:45 masak daxim: after your relevation, I'm mystified as to why you didn't simply warn me beforehand, if you thought "full of math" was a potential risk ;)
10:45 masak revelation*
10:45 * daxim likes to gamble
10:46 masak well, I'm not actually able to check your sha1sum, because irclog is down.
10:46 masak but I'll take your word for it :)
10:47 daxim pfeh, foiled by software
10:47 lizmat hardware actually
10:47 daxim IT ALL SUCKETH
10:56 GlitchMr masak, http://olive.undo.it/log?channel=perl6&amp;time=20130424
10:56 GlitchMr "masak, here's a prediction: 4c6348acc9ce3d37ff5930209fe2eb602db64d91 I will reveal it later. this hash proves I have made the prediction at this time"
11:01 GlitchMr I also think I should add searching functionality to my log page.
11:02 masak GlitchMr++
11:02 masak sha1sum verified.
11:07 masak daxim: anyway, trawling through stackoverflow (and perlmonks, I guess) looking for inspiration for tasks sounds like a good idea.
11:07 masak I will do that.
11:14 nebuchadnezzar joined #perl6
11:18 berekuk joined #perl6
11:23 drbean joined #perl6
11:25 tgt joined #perl6
11:38 drbean joined #perl6
11:41 GlitchMr http://olive.undo.it/log?channel=perl6&amp;search=sha\d%2B
11:41 GlitchMr Just testing
11:43 FROGGS btw, I got some information on how to build nqp/rakudo debian packages
11:48 hoelzro FROGGS: I would like to hear about that
11:49 hoelzro I put some energy into packaging a while ago, but summoning the energy/time to do Perl 6 stuff after I got back from my vacation in the US has been difficult
11:49 GlitchMr ok, I've working regular expression based searching
11:49 hoelzro to my credit, I started two classes the week I got back =/
11:50 arnsholt I'd be interested to hear about packaging for .deb
11:50 GlitchMr The search allows PCRE regular expressions, but I trust you to not abuse it :-). Besides, I have 1 second timeout, just in case.
11:51 tangentstorm joined #perl6
11:51 arnsholt It'd be very cool if it were possible to do it so that the packages can be generated directly as part of the Star release
11:51 FROGGS the current maint uses git-buildpackage for http://anonscm.debian.org/gitweb/?p=pkg-rakudo/nqp.git;a=summary
11:51 hoelzro arnsholt: I was working on a script/makefile target for star release managers
11:54 arnsholt hoelzro: Oh, that's very cool!
11:55 arnsholt Do you have the in-progress stuff somewhere/what's left to do?
11:55 hoelzro it's sitting at home atm =/
11:55 hoelzro I can upload it somewhere in the meantime!
11:55 hoelzro I had some basics working
11:55 hoelzro you could say 'make pkgbuilds' and it would create arch linux PKGBUILD files for all of the modules in star
11:56 hoelzro I think my roadblock was they needed ufo to build, but I had no package for ufo or something
11:56 hoelzro catch 22 =/
12:01 woosley1 joined #perl6
12:09 GlitchMr Pointless linking: http://olive.undo.it/log?channel=perl6&amp;date=20130502#391
12:10 pmichaud I like the formatting being used on olive.undo.it
12:10 pmichaud very easy to read
12:11 GlitchMr Actually, the formatting is just few small CSS rules. But thanks.
12:14 GlitchMr I'm just trying to make nice temponary logs.
12:19 GlitchMr http://olive.undo.it/log?channel=perl6&amp;search=[%E2%99%94-%E2%99%9F]
12:19 GlitchMr Just having fun with searching.
12:19 sizz joined #perl6
12:25 dayangkun joined #perl6
12:26 dayangkun joined #perl6
12:28 mavcunha joined #perl6
12:29 [Coke] .tell moritz yes, that makes the failure go away, but it seems to sweep it under the rug. If that behavior is really platform dependant, it shouldn't be in roast, and if it's not, we should open a ticket.
12:29 yoleaux [Coke]: I'll pass your message to moritz.
12:30 sizz joined #perl6
12:30 [Coke] ... that said, good enough for me for now.
12:32 toebu joined #perl6
12:34 tgt joined #perl6
12:36 moritz [Coke]: then we should remove the tests
12:36 yoleaux 12:29Z <[Coke]> moritz: yes, that makes the failure go away, but it seems to sweep it under the rug. If that behavior is really platform dependant, it shouldn't be in roast, and if it's not, we should open a ticket.
12:36 pmichaud which test, ooc?
12:37 moritz worse than OS specific, it's specific to combinations of OS, file system and file system configuration
12:37 moritz pmichaud: IO.accessed
12:37 moritz and even mount options (noatime) can make that test fail
12:38 sqirrel joined #perl6
12:39 ldthien0 joined #perl6
12:39 pmichaud yeah, many of my filesystems have noatime
12:40 pmichaud anyway, I agree -- tests that are platform specific and/or not required by the spec shouldn't be in roast.  Coke++
12:40 nwc10 most *nix systems I have access to seem to have noatime, or the variant where the atime is only updated if it's more than 24 hours old
12:40 nwc10 only OS X seems to default mounts to the good old "every read is actually a write action"
12:41 nwc10 it's just like the Perl 5 internals :-)
12:41 pmichaud here I am in Texas, a little over four weeks before YAPC::NA, and the outside temperature is 10 degC.  *10*
12:41 pmichaud weird weather this year.  :)
12:41 nwc10 see, last year in Frankfurt you promised that it wouldn't be as hot in Austin
12:41 nwc10 very wierd here. Was >25 recently
12:41 nwc10 but snow 3 weeks ago
12:42 nwc10 and it's currently early spring and late spring all mushed together
12:42 nwc10 as everything is flowering at the same time
12:42 pmichaud oh yes, yesterday was warmer.  31 degC, iiRC
12:43 pmichaud but tonight it's supposed to get down to 1 degC
12:44 pmichaud anyway, housework here... bbiaw
12:45 colomon crazy, our low for the night is more like 5C
12:55 masak there's a "hidden theme" in the masakism workshop which I'm not sure if I managed to underscore enough. it's the semi-belief that (when the problem is complex enough to call for that much structure), the solution is a bunch of "core objects" supplying the desired behavior, supported by TDD and maybe DI.
12:56 masak the clearest example of this was perhaps BOT.
12:57 daxim I thought it was "principles of good software design", perhaps completely lost on said "complete beginners"
12:57 masak yes, it was.
12:57 masak (that was the topic, I mean)
12:57 timotimo i don't feel i got yelled at enough for my programming style to have learnt how to make elegant programming :P
12:57 masak timotimo: :)
12:58 masak timotimo: I didn't really have time to look at people's solutions, only to add them to that list.
12:58 ajr joined #perl6
12:58 masak I wouldn't mind terribly if we went over the solutions afterwards and spent some time commenting on style, etc.
12:58 timotimo yeah, that's going to be a problem. turn on your cloning machine one more time, masak :)
12:58 masak :)
13:03 Util What is the equivalent of `nqp --target=PIR foo.nqp` for the JVM branch of NQP?
13:03 Util When I run `nqp --stagestats foo.nqp`, I see these stages: <start classname parse ast jast classfile jvm>
13:03 Util Stages <start classname> fail as targets, with error "Cannot dump this object; no dump method"
13:04 Util Stages <parse ast jast> seem to work correctly.
13:04 Util Stages <classfile jvm> both fail as targets, with error "java.lang.NullPointerException in dumper"
13:04 tgt joined #perl6
13:04 brrt joined #perl6
13:05 brrt ping moritz
13:05 brrt perlgeek.de down?
13:05 GlitchMr brrt, yep, it is
13:05 nwc10 you can read the discussion in the IRC log... oh, wait :-/
13:06 nwc10 or, probably here: http://olive.undo.it/log?channel=perl6
13:06 nwc10 but a few days ago
13:06 brrt yay!
13:06 moritz brrt: yes, hardware failure
13:06 brrt thanks
13:06 brrt shame
13:07 bluescreen10 joined #perl6
13:07 moritz I'm in the process of procuring a replacement
13:08 moritz but thing. take. time.
13:08 moritz *things.
13:09 brrt well, thanks for the service, anyway :-)
13:10 GlitchMr http://olive.undo.it/log?channel=perl6&amp;search=perlgeek
13:10 GlitchMr Yeah...
13:11 GlitchMr It's down for 6 days.
13:12 MrMeek joined #perl6
13:12 spider-mario joined #perl6
13:13 masak moritz: as for me, I've learned in the past week or so how much I depend on (and appreciate) perlgeek.de and irclog in particular.
13:13 masak moritz++
13:13 GlitchMr Hardware failures happen... sadly.
13:14 moritz masak: and I've learned how much I rely on that host. My primary email address was on it :(
13:14 moritz you can reach me at moritz.lenz@gmail.com in the interim
13:15 gtodd perlgeek is a great resource ... hope you had backups!!
13:15 * gtodd does a open tab search ....
13:15 GlitchMr I just have logs for three months. I really wouldn't want perlgeek to disappear forever.
13:15 gtodd hmm I had 4 tabs open on perlgeek!
13:16 GlitchMr Then again, the temponary logs have data since 2005.
13:16 gtodd let's move perlgeek to Heroku ! ;-)
13:17 moritz gtodd: yes, backups are available (at least of the IRC logs)
13:17 gtodd ah ok .. I quite liked the blog/journal entries
13:18 gtodd http://perlgeek.de/blog-en/perl-5-to-6  ++
13:18 gtodd etc.
13:18 moritz those sites are backed up on github :-)
13:18 moritz (just not the comments that some folks left on the blog)
13:19 gtodd \o/
13:19 GlitchMr https://github.com/moritz/perlgeek.de
13:19 jnthn Util: --target=jast is closest
13:19 GlitchMr You can run mowyw, and browse the website locally.
13:19 jnthn Util: However, it's nearly impossible to read, so in reality you do --classfile --output=blah.class
13:19 jnthn Util: And then javap -c blah.class
13:20 GlitchMr Similarly, if the perlcabal.org would die (it happened few times), you can browse the synopsis on GitHub.
13:21 skids joined #perl6
13:21 GlitchMr I think that many people here have copies of their blogs on GitHub.
13:22 gtodd and the source for mowyw (http://perlgeek.de/en/software/mowyw) is on github ...
13:22 gtodd :)
13:22 moritz and on CPAN
13:23 GlitchMr and in Arch Linux repository
13:23 GlitchMr It's already everywhere
13:23 Util jnthn: What command gets the --classfile option? `./nqp --classfile --output=z.class foo.nqp` fails with "Illegal option --classfile".
13:24 gtodd interesting how a Distributed Concurrent Versions System (git)  is errm fairly centrally concentrated on github
13:24 dalek ufo: 79b8f5c | moritz++ | bin/ufo:
13:24 dalek ufo: fix for latest IO::Path
13:24 dalek ufo: review: https://github.com/masak/ufo/commit/79b8f5c218
13:24 * gtodd has silly github question
13:25 GlitchMr I think that panda even supports other distributed concurrent version systems, but practically only Git (and only on GitHub) is used.
13:26 [Coke] and it should be noted that not generating java directly is a win.
13:26 Util jnthn: nm; I see that `--target=classfile` is what was needed. Thanks; very helpful!
13:27 GlitchMr Actually, no, panda only appears to support git.
13:27 gtodd I get github features mixed up with git all the time :-) ... so if I fork a repot on github and make a few changes send a pull request and they are merged ...  can/do I then just delete my fork and refork to get the latest version of the master I forked.  forking (github) seems not the same as cloning
13:28 GlitchMr Fork is just a clone
13:28 daxim no, GH forking establishes a parent-child relationship between the old repo and the new one
13:28 GlitchMr Just in GitHub database itself.
13:28 GlitchMr Just so you could easily do things like pull requests.
13:29 gtodd I can't figure out how to "git pull" my fork so it is up to date after my pull requests are merged
13:29 GlitchMr You have to add a remote.
13:29 GlitchMr And fetch from it.
13:29 gtodd oh I mean on github (webgui)
13:29 GlitchMr But I prefer to make changes in branches.
13:30 GlitchMr gtodd, well, you... cannot.
13:30 gtodd ok good
13:30 gtodd :-)
13:30 GlitchMr I think GitHub had button for that once, but they have removed it.
13:30 GlitchMr Not sure why.
13:30 gtodd then I'll just delete it
13:31 tgt joined #perl6
13:32 gtodd if I clone to my local system and make a pull request that way then ... hmm do the deltas get uploaded to git hub and wait for merging or ... do I have to leave my system turned on?!? I've only ever used VCS from workstations (always on) so making pull requests from a laptop seems well
13:32 gtodd it seems like I might be better off using the webUI
13:33 timotimo the pull request feature is depending on there to be a github repository that has your changes
13:33 gtodd ok then once they are merged I just delete my fork :)
13:33 timotimo other ways to do it is to use git format-patch to create a series of mail messages (don't have to send them per mail) to someone who is allowed access to the "authoritative repo"
13:34 timotimo or, of course, host your changes somewhere where git pull works properly. that can be your home computer, if you set up a small git server or http server and forward ports on your router etc etc
13:34 PacoAir joined #perl6
13:35 gtodd ah ok ... so pull reqeests from a local git repo (I mostly do stuff in vim in a terminal) would require my laptop to be running unless I make patches and send by mail etc.
13:35 tgt joined #perl6
13:35 GlitchMr But why bother will local git repo?
13:35 timotimo you need a local git repo to have a working copy that you can still create commits from
13:35 gtodd only because I mostly do stuff in vim in a terminal
13:35 GlitchMr Of course you have to
13:36 GlitchMr But why bother with having local git repo that is available remotely.
13:36 gtodd ?
13:38 daxim because internet
13:38 timotimo because if you don't have any other remotely available repository, nobody can get your changes, unless you get them to them some other way
13:38 Targen joined #perl6
13:39 GlitchMr timotimo, you can easily get a remotely available repository on GitHub, BitBucket, Google Code, and other services.
13:39 timotimo this isn't about how to do it the best way you can, just about how to make it work without putting your stuff on github
13:40 moritz free backups :-)
13:40 gtodd well if it's a project that needs compiling I build from the sources (but probably would never commit to it unless it's documentation, Makefiles etc) so I do git clone git://someplace/repot/project.git  (fiddle fiddle) ... perl ./Configure.pl make install (fiddle fiddle) ... git pull ... git status ... etc
13:43 gtodd if I was an active committer developer on a project I'd probably make pull requests from my repo or one of many branches of stuff I was testing or something like that ... the git cli and what you can do with a local repo seems to have more bells and whistles than github's webGUI
13:44 timotimo or you'd have direct access to the "authoritative repo" and work on branches there 
13:46 daxim awesome, your ␡ totally breaks the rendering here
13:47 gtodd right ... then I could just "push" a branch ??  but for quick changes to website documentation and the like where the project is using github  I might fork on github make a few changes and do a pull request from github gui ... if 6 months later the changes aren't merged ;-) I could delete my fork ... or if the changes get merged right away I could delete my fork ... I'm just adapting my workflow to the projects github p
13:48 gtodd project's
13:48 timotimo you can make pull requests form repo A branch X to repo A branch Y, fwiw
13:48 timotimo so you don't even need a full github-fork to make a pull request
13:48 gtodd right ... git makes it easy to make branches
13:59 squ joined #perl6
13:59 squ take that
13:59 squ http://this-plt-life.tumblr.com/post/36425230743/when-i-read-about-perl-6-semantics
13:59 timotimo it seems to me that picture is meant to ridicule, not to praise
14:00 crab2313 joined #perl6
14:00 squ left #perl6
14:00 lizmat and squ has left the building
14:01 lizmat too soon to be hugged
14:01 cognominal joined #perl6
14:02 timotimo but seriously, is that supposed to make fun of perl6?
14:02 timotimo because when i read about perl6 semantics, it usually makes me happy
14:03 SmokeMac_ joined #perl6
14:04 lizmat first they ignore you, then they ridicule you, then they fight you, then you win
14:04 lizmat I guess we're getting out of the ridicule phase now
14:07 dalek rakudo/nom: 639d7f8 | (Tobias Leich)++ | / (2 files):
14:07 dalek rakudo/nom: fix slurpy is-rw array-parameters
14:07 dalek rakudo/nom:
14:07 dalek rakudo/nom: This also adds the test file: S06-traits/slurpy-is-rw.t
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/639d7f8c68
14:08 lizmat afk
14:08 eternaleye joined #perl6
14:08 Util I think that picture and caption are better understood in the context of the whole blog. See the other entries in http://this-plt-life.tumblr.com/ for comparison.
14:08 dalek roast: ac30e28 | (Tobias Leich)++ | S06-traits/slurpy-is-rw.t:
14:09 dalek roast: added a second variable to the sub call
14:09 dalek roast:
14:09 dalek roast: Which shows better what "$@array is rw" does. Also fixed synopsis link.
14:09 dalek roast: review: https://github.com/perl6/roast/commit/ac30e28d2e
14:09 xinming joined #perl6
14:09 masak Util: :)
14:10 masak I can certainly relate to http://this-plt-life.tumblr.com/post/43238102123/when-im-working-on-a-hygienic-macro-system
14:11 timotimo wow, that looks like some intense swearing right there
14:12 drbean joined #perl6
14:14 Util Here is the original blog of the same person: http://axisofeval.blogspot.com/
14:15 Util The tumblr looks like an extract of just the funny PLT-Life tagged posts.
14:22 kaare_ joined #perl6
14:23 PacoAir joined #perl6
14:32 Targen joined #perl6
14:33 echo joined #perl6
14:34 Guest51656 left #perl6
14:34 swuecho joined #perl6
14:35 swuecho Hi,It seems that the irc log site is down.
14:36 swuecho is there another site for the log?
14:36 swuecho thanks
14:37 masak yes, it's linked to in the backlog :P
14:38 swuecho find it.
14:38 swuecho thanks
14:38 moritz http://olive.undo.it/log?channel=perl6
14:40 rindolf left #perl6
14:44 kbenson joined #perl6
14:44 pmichaud it's also in the topic, I think.
14:44 am0c joined #perl6
14:49 tadzik r: say so "00"
14:49 camelia rakudo 639d7f: OUTPUT«True␤»
14:52 skyheights joined #perl6
14:53 sizz joined #perl6
14:53 FROGGS tadzik: is that DWIM?
14:55 tadzik FROGGS: hardly :)
14:55 diakopter hey y'all.. I need some help with a few YAPC::NA planning/organizing/preparation tasks... would anyone like to help?
14:55 tadzik I was just checking if it's the same as in P5 (it is)
14:55 tadzik diakopter: what's to be done?
14:56 diakopter some administrivia and website updating and some emails
14:56 ajr joined #perl6
14:57 diakopter also, organizing/planning/prioritizing a bunch of other tasks and finding appropriate people to do them and delegating them then making sure they get done. :)
14:57 ajr_ joined #perl6
14:58 diakopter privmsg me if you'd like to help out. :)
14:58 diakopter no prior experience required except passable English and mild computer skills
14:59 am0c joined #perl6
15:03 avar joined #perl6
15:03 avar joined #perl6
15:04 birdwindupbird joined #perl6
15:07 groky joined #perl6
15:07 Bucciarati joined #perl6
15:07 kresike bye folks
15:07 tadzik bye kaare_ e
15:08 tadzik :(
15:08 tadzik kaare_: sorry, tabfail
15:08 kbenson Are the backlogs of this channel available anywhere else but at http://irclog.perlgeek.de/perl6/, or in raw form somewhere?
15:08 pecastro joined #perl6
15:09 geekosaur [02 10:38] <moritz> http://olive.undo.it/log?channel=perl6
15:09 geekosaur we should just have something spit that out every time someone uses the word 'log'
15:09 kbenson ah, thanks!  Have to get my fix. :)
15:12 gtodd should this exist --> http://doc.perl6.org/language/operators#infix+ff
15:14 tadzik fun fact: I copied .ssh from one laptop to another
15:14 tadzik feather lets me in on pubkey, github doesn't
15:14 FROGGS gtodd: I think so
15:16 kbenson Are the logs available in raw form anywhere?  I was thinking IRC logs would actually be a good candidate to use for git as a DB, and github as a distribution channel.
15:18 gtodd FROGGS: am I correct that is equivalent to ".." :-)
15:18 moritz kbenson: not as raw, just as sqldump
15:18 kbenson Oh, I can work with that. :)
15:29 FROGGS gtodd: I have no idea, it is the first time I see infix:ff
15:29 gtodd FROGGS: it seems not
15:29 timotimo GCC 4.9 introduces support for colored outputs in debugging - yay, they're taking good ideas from perl6! ;)
15:29 tadzik yeah, flip-flop
15:30 tadzik from clang, more like ;)
15:30 gtodd yeah
15:30 tadzik r: for 1..10 { say if /3/ ff /8/ }
15:30 camelia rakudo 639d7f: OUTPUT«␤␤␤␤␤␤»
15:30 FROGGS ahh, there is even fff^ and ^ff^ and ^fff and others
15:30 tadzik r: for 1..10 { say 'DING' if /3/ ff /8/ }
15:30 camelia rakudo 639d7f: OUTPUT«DING␤DING␤DING␤DING␤DING␤DING␤»
15:31 FROGGS r: for 1..10 { say /3/ ff /8/ }
15:31 camelia rakudo 639d7f: OUTPUT«Nil␤Nil␤1␤2␤3␤4␤5␤6␤Nil␤Nil␤»
15:31 FROGGS do I have to understand that?
15:31 gtodd r: for 1..10 { say /3/ .. /8/ }
15:31 camelia rakudo 639d7f: OUTPUT«regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }␤regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }␤regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }␤regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }␤regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_…
15:31 gtodd hahah
15:31 tadzik FROGGS: no :)
15:31 FROGGS r: say /3/ .. /8/
15:31 camelia rakudo 639d7f: OUTPUT«regex(Mu : Mu *%_) { ... }..regex(Mu : Mu *%_) { ... }␤»
15:32 FROGGS regex ranges O.o
15:32 FROGGS ahh, the ff thing didnt work because it doesnt do smartmatching yet, right?
15:32 gtodd r: say 1 .. 8
15:32 camelia rakudo 639d7f: OUTPUT«1..8␤»
15:33 tadzik FROGGS: it's not limited to regex, I think
15:33 tadzik it's just what its name says, flip-flop :)
15:33 tadzik a condition flips on the left side, flops on the right side. On-off
15:33 gtodd it's not "fast forward" :-)
15:33 tadzik haha
15:33 gtodd say 1 ... 8
15:34 gtodd c: say 1 ... 8
15:34 frdmn joined #perl6
15:36 tadzik hmm, building rakudo on i5 is almost a pleasant and fast experience
15:36 tadzik took about 2 minutes, compared to 5-6 on c2d
15:38 FROGGS but not 2min in total
15:38 FROGGS only stage parse, right?
15:39 thou joined #perl6
15:45 gtodd r:  my @list =  '1' .. '8'   ; say @list
15:45 camelia rakudo 639d7f: OUTPUT«1 2 3 4 5 6 7 8␤»
15:45 gtodd my @list =  1 ... 8  ; say @list ;
15:46 gtodd is equivalent
15:49 colomon r:  my @list =  '1' .. '8'  ; say @list.perl
15:49 camelia rakudo 639d7f: OUTPUT«Array.new("1", "2", "3", "4", "5", "6", "7", "8")␤»
15:50 colomon r: my @list =  1 ... 8  ; say @list.perl
15:50 moritz FROGGS: on my $work machine, parsing the setting takes about 70s
15:50 camelia rakudo 639d7f: OUTPUT«Array.new(1, 2, 3, 4, 5, 6, 7, 8)␤»
15:51 Targen_ joined #perl6
15:52 gtodd my @list = 1 .. 8  ; say @list  <--- perl6
15:52 gtodd my @list = 1 .. 8  ; say "@list" <--- perl5
15:52 gtodd but perl5  say "@list[4..6]"
15:54 tgt joined #perl6
15:55 gtodd is like  perl6  say "@list[4..6]"  and nothing like  "for @list {say /4/ ff /6/}"
15:56 gtodd (sorry for figuring this out in the channel)
15:56 gtodd r: my @list =  1 ... 8  ; say @list[4..6] ; for @list {say /4/ ff /6/}
15:56 camelia rakudo 639d7f: OUTPUT«5 6 7␤Nil␤Nil␤Nil␤1␤2␤3␤Nil␤Nil␤»
15:57 gtodd is {say /4/ ff /6/} just counting members of the list/array when it says 1 2 3 ?
15:59 masak gtodd: I'm mystified by that output.
16:03 gtodd I thought it would say 5 6 7 ... but if ff means "flip flop" then I guess the last bit should be: for @list {say "beep" if /4/ ff /6/}
16:03 moritz r: for 1..8 { .say if /4/ ff /6/ }
16:03 camelia rakudo 639d7f: OUTPUT«4␤5␤6␤»
16:03 gtodd oh
16:03 gtodd the >.< infernal dot strikes me again
16:03 moritz r: for 1..8 { my $a = /4/ ff /6/; say "$_: $a" }
16:03 camelia rakudo 639d7f: OUTPUT«1: ␤2: ␤3: ␤4: 1␤5: 2␤6: 3␤7: ␤8: ␤»
16:04 * gtodd stares  at screen and burns dot into retina
16:04 moritz and yes, it seems to count the number of times it returned True, starting from 1
16:06 gtodd moritz: heh I figured that part out!! :-)
16:06 gtodd what I thought ff would be useful for in that sort of construction is for printing values from a list by position like you just did so
16:07 gtodd I feel I'm getting closer and closer to being a perl6 newborn
16:08 masak we'll try to not throw you out with the bathwater.
16:10 gtodd :)
16:10 PerlJam gtodd: maybe you wanted: say grep { /4/ ff /6/ }, @list;  #  ?
16:16 masak hm, how would that use case interact with the proposed change to make infix:<ff> smartmatch...?
16:19 woosley1 left #perl6
16:21 dmol joined #perl6
16:25 domidumont joined #perl6
16:31 FROGGS joined #perl6
16:40 alester joined #perl6
16:42 snearch joined #perl6
16:55 Chillance joined #perl6
17:22 Celelibi joined #perl6
17:27 frdmn joined #perl6
17:31 frd|afk joined #perl6
17:33 * timotimo tries, on a whim, to build EXPORT_HASH merged with nom and hopes to see it suddenly magically work
17:40 arnsholt You never know =D
17:42 timotimo well ... it doesn't build the CORE.setting :(
17:43 timotimo maybe git failed to properly merge the rename of the .pm to .nqp files?
17:43 dalek specs: 6e2d9c9 | larry++ | S03-operators.pod:
17:43 dalek specs: Define flipflops to use smartmatch semantics
17:43 dalek specs: review: https://github.com/perl6/specs/commit/6e2d9c944c
17:43 arnsholt timotimo: Could be, but if the merge isn't fully automatic, it usually complains pretty loudly
17:45 timotimo the merge seems to have worked fine, but somehow the world around it must have changed
17:45 timotimo Method 'stash' not found for invocant of class 'DEFAULT'  -  not sure ... what?
17:48 timotimo the changes i made should not make the build break. i'll try building nom to make sure it's my changes that make it break
17:51 dalek perl6-roast-data: bf2fdf0 | coke++ | / (4 files):
17:51 dalek perl6-roast-data: today (automated commit)
17:51 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/bf2fdf06e5
18:25 brrt1 joined #perl6
18:26 TimToady masak: by current semantics, grep { /a/ ff /b/ } cannot work because ff is returning integers, not Match, Nil, or Bool.  You'd need to say grep { so /a/ ff /b/ }
18:28 TimToady a full-fledged OKness solution would have forced those numbers into the OK category to prevent that, but right now we simply enumerate the "OK" types that smartmatching treats as success/failure, and Int cannot be one of them, since Int.ACCEPTS is important
18:28 PerlJam yeah ... is ff specced to return ints?  Or is that more of an implementation accident?
18:28 TimToady "anything not specced is like Perl 5"
18:29 PerlJam Perl 5 doesn't have ff  ;)
18:29 TimToady :P
18:29 masak TimToady: why does .grep care whether infix:<ff> emits Bool or (boolable) Int?
18:30 TimToady grep does smartmatching on its own, apart from ff
18:30 moritz_ TimToady: grep doesn't smart-match against the return value of the block
18:30 moritz_ it smart-matches against the block, which invokes it
18:30 moritz_ and then it boolifies the result
18:30 TimToady Oh, yeah, I guess that fixes it
18:30 masak thought so.
18:30 TimToady nevermind
18:31 * TimToady would like to think he's still overly stupid from the surgery...
18:31 * masak hugs TimToady
18:31 TimToady but probably the surgery merely removed my memories of how stupid I was before...
18:31 * lizmat hugs TimToady as well
18:31 PerlJam If only there were an easy way to tell each other's cognitive capacity and current cognitive load
18:32 lizmat and OS running
18:34 lizmat rn: my @a; my $b; @a.push $b
18:34 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row (method call requires colon or parens to take arguments) at /tmp/u_r1eaHmQi line 1:�------> [32mmy @a; my $b; @a.push [33m�[31m$b[0m��Parse failed��»
18:34 camelia ..rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/6oBSTH7N1f:1�------> [32mmy @a; my $b; @a.push [33m�[31m$b[0m�    expecting any of:�        method arguments�        postfix�        infix stopper�        infix or meta-infix�        statement end�      Ã¢â‚¬Â¦
18:34 lizmat rn: my @a; sub foo {1}; @a.push &foo
18:34 camelia rakudo 639d7f, niecza v24-37-gf9c8fc2:  ( no output )
18:35 lizmat the last one doesn't give a "two terms in a row" error because it is parsed like: "my @a; sub foo {1}; @a.push & foo" (note the space after &)
18:35 rindolf joined #perl6
18:35 moritz_ lizmat: yes, there's an infix:<&> but not an infix:<$>
18:35 lizmat masak earlier today stated that he also got caught by the duality of & in the past
18:36 colomon rn: my @a; sub foo { say 1}; @a.push &foo; say @a.perl
18:36 moritz_ and the interpretation as @a.push() & foo() is perfectly valid
18:36 camelia niecza v24-37-gf9c8fc2: OUTPUT«1␤[].list␤»
18:36 camelia ..rakudo 639d7f: OUTPUT«1␤Array.new()␤»
18:37 colomon why does @a.push() make sense?
18:37 moritz_ you can't expect the parser to catch all of your thinkos
18:37 lizmat and had it been written like that (with whitespace after &), I would have seen that immediately as well
18:37 TimToady we could probably cobble together a warning that would operate only if the whitespace around & was unbalanced
18:37 moritz_ colomon: why shouldn't it?
18:37 TimToady people usually write 1&2 or 1 & 2
18:37 TimToady if they mean the infix
18:37 lizmat colomon: you should be able to push an empty list
18:37 colomon moritz_: you're not pushing anything.
18:38 moritz_ colomon: which is perfectly fine. Consider @a.push: @b
18:38 moritz_ would you want that to fail just because @b is empty?
18:38 moritz_ or @a.push: |@b;
18:39 colomon no, but @a.push() is clearly *wrong*
18:39 TimToady only if you haven't redefined .push
18:39 PerlJam depends on the meaning you assing to those () if it's wrong or not :)
18:39 colomon whereas @a.push(|@b) is perfectly sensible
18:39 lizmat colomon: as masak stated, there are other situations where &foo can be a surprise
18:40 moritz_ colomon: the parser does't know about the type of @a (other then it's positional), and at runtime it's too late to know how the empty list was passed
18:40 moritz_ colomon: so I don't see which part could decide that it's "wrong"
18:40 TimToady we can certainly treat operators as verbs known at compile time, but it's much dicier to assume we know what method names mean in the current language
18:40 TimToady since it's the object that's deciding, not the lexical scope
18:41 lizmat so I wonder, maybe it would be an idea to *force* whitespace around an infix &, to visually seperate this from the sigil & ?
18:41 TimToady no, only force balance
18:41 TimToady 1&2 is also okay
18:41 moritz_ not even perl 5 descends into this madness (guessing the arity of methods)
18:42 moritz_ lizmat: forcing stuff that doesn't need to be forced isn't the Perl way
18:42 TimToady the other option is for & to refuse to parse as in infix if the &foo can be taken as a known function name
18:42 TimToady then you'd actually get a TTIAR error there
18:42 lizmat that would actually make more sense
18:43 TimToady well, except for things like sin($x)&cos($x)
18:43 lizmat I suggested "termizing &foo" earlier today on #masakism
18:44 lizmat ok, back to unbalanced whitespace warning
18:45 masak moritz_: heh, calm down. not suggesting madness here ;)
18:45 lizmat too bad we can't have another sigil for subroutines
18:45 masak moritz_: suggesting catching a thinko in the vicinity of '@a.push &fn', which caught out lizmat and would catch out me just as well, if I hadn't been bitten by similar things before.
18:45 TimToady all the good ones are taken
18:46 PerlJam There's a whole bunch of unicode ones  ;)
18:46 moritz_ masak: I'm not against trying to catch thinkos, I just strongly oppose that one road
18:46 masak moritz_: I'm arguing for something like "no-one would ever write '@a.push &fn' if they meant '@a.push & fn()'"
18:46 TimToady it's not being considered
18:47 masak moritz_: a suppressible warning?
18:47 TimToady by balancing the whitespace
18:47 PerlJam TimToady: why balanced exactly?   1& 2  wouldn't trip up any one, would it?
18:47 masak moritz_: to help people who really didn't mean that.
18:47 TimToady PerlJam: they probably think they're backgrounding the 1 there :)
18:48 TimToady the point is, silently doing the wrong thing is Very Upsetting
18:50 FROGGS maybe there should be a warning "... better written as ..." in general for: thing.method\s&alpha
18:50 FROGGS ... thing.method\s&\salpha to mean a junction
18:50 moritz_ or more general, for  <term> <?term><infix><term>
18:50 FROGGS ... thing.method: &alpha to pass it as an arg
18:51 lizmat moritz: I think the problem really only exists when & is involved, because of its duality as a sigil and an operator
18:52 FROGGS % too
18:52 lizmat damn, you're right
18:52 FROGGS r: my @a; sub foo { }; @a.push %foo
18:52 camelia rakudo 639d7f: OUTPUT«use of uninitialized value of type Nil in numeric context  in block  at /tmp/GNbCPGARwM:1␤␤»
18:53 moritz_ and don't forget that there can be user-defined operators too
18:53 FROGGS hmm, or? % may be not
18:53 moritz_ sure, it's both an infix and a sigil
18:53 FROGGS r: my @a; my %foo; @a.push %foo # TTIAR
18:53 camelia rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    foo used at line 1��»
18:53 masak r: sub infix:<@> { return 7 }; my @a; sub foo; @a.push @foo; say @a
18:53 camelia rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block�at /tmp/9lUs6EyT7H:1�------> [32mb infix:<@> { return 7 }; my @a; sub foo[33m�[31m; @a.push @foo; say @a[0m�    expecting any of:�        scoped declarator�        constraint�        postfix�        statement end�   …
18:54 masak r: sub infix:<@> { return 7 }; my @a; sub foo {}; @a.push @foo; say @a
18:54 camelia rakudo 639d7f: OUTPUT«Too many positional parameters passed; got 2 but expected 0␤  in sub infix:<@> at /tmp/woJQHGDvpN:1␤  in block  at /tmp/woJQHGDvpN:1␤␤»
18:54 masak r: sub infix:<@>($, $) { return 7 }; my @a; sub foo {}; @a.push @foo; say @a
18:54 camelia rakudo 639d7f: OUTPUT«␤»
18:54 masak heh :)
18:54 masak r: sub infix:<@>($, $) { return 7 }; my @a; sub foo {}; say @a.push @foo
18:54 camelia rakudo 639d7f: OUTPUT«7␤»
18:54 TimToady much likelier with &foo since there's going to be something callable as 'foo'
18:54 FROGGS true
18:54 masak yeah.
18:56 masak we help fivers who accidentally infix:<.> when they should infix:<~>. we help them when they accidentally 'say' instead of '.say' (though it's a longstanding Rakudo bug that we don't any more). we help them when they 'while (<>)'. I think we should do something when they '@a.push &foo', too.
18:57 lizmat ich bin ein fiver!
18:57 TimToady well, though that's not a fivers-ish error
18:57 TimToady since methods require parens for args, and there's no colon equivalent
18:57 lizmat aspiring to be more ;-)
18:59 lizmat I think my error came from mentally translating p5: "push @a" to just "@a.push" in perl 6
19:00 lizmat in p5 I wouldn't have done any parens
19:00 TimToady because push isn't a method
19:00 masak TimToady: saying it's not a fivers-ish error is fine and all, but lizmat making the error is still a data point.
19:00 masak :)
19:00 TimToady well, and a very fine datapoint it is
19:00 huf but what color is it?
19:00 lizmat well, not an important one
19:01 lizmat I wouldn't have pushed this without masak's datapoint
19:01 TimToady we wouldn't be wast^Winvesting all this time discussing it if it weren't a good datapoint
19:01 census joined #perl6
19:01 PerlJam lizmat: two data points shows a trend right?  :)
19:02 lizmat I suggest we turn this into a rakudobug and let this simmer for a while, until we get more data points?
19:02 huf PerlJam: and one shows all the trends, surely that's even better!
19:02 TimToady it's more of a STDbug
19:02 dmol joined #perl6
19:02 masak lizmat: let me find you the RT ticket wher I get bitten.
19:02 masak might be interesting.
19:04 TimToady ooh, I already have a baremeth memo, so this should be easyish
19:06 FROGGS TimToady: btw, should I report STDbugs when I hit them?
19:06 FROGGS err, STD_P5 bugs I mean
19:06 TimToady you could just, like, fix 'em instead :)
19:07 FROGGS okay, that is fine too :o)
19:07 FROGGS like:
19:07 FROGGS std: use v5; say 1 foreach 1
19:07 camelia std 316b40b: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/wqkpzudKHB line 1:�------> [32muse v5; say 1 [33m�[31mforeach 1[0m�    expecting any of:�       p5infix�        p5statement_mod_loop�   statement modifier�Parse failed�FAILED 00:01 52m�»
19:08 timotimo moritz_: you were the one who was helping me make EXPORT_hash, right?
19:08 TimToady mind you, I'd love to kill 'foreach' as a synonym for 'for' in P5 too...
19:08 TimToady it's ugly, ugly, ugly...
19:09 FROGGS well, we are here to kill ugly things, but not in Perl 5 :P
19:09 masak lizmat: here: https://rt.perl.org/rt3/Ticket/Display.html?id=76432
19:09 TimToady </whimper>
19:09 FROGGS *g*
19:09 moritz_ timotimo: well yes, I tried to
19:09 moritz_ timotimo: and I asked jnthn++ for help, who was overloaded
19:09 lizmat fwiw, I always used "foreach" in P5 as true Perl style loop, and "for" for C-style loops
19:09 timotimo what exactly is the sub EXPORT supposed to return again? i'm getting get_iter() not implemented in class List or Hash depending on what i return from that sub
19:10 timotimo i have only one WIP commit up on my rakudo fork and it doesn't seem to be correct enough yet
19:10 timotimo do you still have your code somewhere?
19:11 moritz_ timotimo: a hash
19:12 timotimo in that case i must be using it wrong. probably need to decont it before passing it to $*W.import?
19:12 tgt joined #perl6
19:13 jnthn If you're writing NQP code, you need to grab the underlying storage of the hash, not work with the Perl 6 Hash object.
19:13 FROGGS timotimo: I pretty much interested in this too, do you have local patches to make something work or are you just testing someting?
19:13 moritz_ decont and de-6ize
19:13 timotimo ah, grabbing the underlying storage, i think i've done that somewhere else before.
19:13 jnthn .FLATTENABLE_HASH() is the current hack for doing it.
19:13 lizmat masak: and of course, that ticket gets worse if there actually had been a "x" sub
19:14 lizmat because then there would have been a good chance it would fail silently
19:14 jnthn In the future you'll be able to write nqp::hllize($a_p6_hash) in NQP code.
19:14 jnthn But I'm not quite there with that yet.
19:14 jnthn Like so many things I should do but ain't got to...
19:14 moritz_ but the real problem was taht the serialization context was null
19:15 jnthn Was it being used in a wval?
19:15 moritz_ yes
19:15 moritz_ timotimo: the code is in your fork in branch EXPORT_hash
19:15 moritz_ timotimo: five commits related to that branch, in fact
19:15 jnthn Shouldn't be much worse than: if nqp::isnull(nqp::getobjsc($obj)) { $*W.add_object($obj); }
19:16 jnthn There may already be a method inherited from HLL::World that does this.
19:16 timotimo huh. i must have pulled wrong!
19:16 FROGGS /o\ pulled at the wrong end
19:17 timotimo indeed it is!
19:17 moritz_ jnthn: iirc it was during PAST compilation, I don't even know if there's a $*W still around
19:17 moritz_ anyway, time for me to sleep; might try again tomorrow
19:17 FROGGS gnight moritz_
19:17 timotimo good night moritz_!
19:18 * moritz_ waves
19:18 pmurias joined #perl6
19:18 pmurias is there a backup irc log?
19:18 FROGGS look at the topic
19:18 masak 'nacht, moritz_
19:19 lizmat pmurias: see topic, http://olive.undo.it/log?channel=perl6
19:19 jnthn moritz_: That needs doing at the point the thing is put in a WVal, I suspect.
19:19 jnthn So, in World somewhere
19:25 grondilu_ joined #perl6
19:25 grondilu_ wtf, someone stole my nick?!
19:26 FROGGS timotimo: so this is about ex-/importing a single symbol?
19:26 pmurias jnthn: what was nessecary to go from nqp-running-on-parrot passing all tests with the jvm backend to nqp-running-on-jvm passing all tests with the jvm backend?
19:27 FROGGS timotimo: since I need that too for v5 and I have some knowledge about this, I'd like to hook in
19:27 * pmurias is writing the schedule for his gsoc nqp-javascript proposal
19:27 FROGGS pmurias++
19:27 grondilu_ joined #perl6
19:28 jnthn pmurias: Well, you can't quite do the cross-compile thing to get all of the tests.
19:28 cognominal joined #perl6
19:28 jnthn pmurias: 49-regex-interpolation.t requires eval functionality, essentially. Which you can't get until selfhost.
19:29 jnthn pmurias: I remember doing quite a bit of work in that stage, but I think most of it was actually mostly about abstracting things so they could be ported.
19:30 jnthn pmurias: The rest is adding various missing ops that don't show up in the test suite and hunting bugs, by and large.
19:30 jnthn pmurias: For bootstrap, the big task is to write the serialization side of things (to get to a selfhost you need a deserializer, but to get it to build itself you need the serializer part too). There are tests that guide you through much of that.
19:32 jnthn (The "abstracting things so they could be ported" was mostly a one-shot thing, so you don't need to do that again.)
19:32 grondilu \o/
19:32 diakopter left #perl6
19:37 timotimo "the thing", that is being returned from the EXPORT sub? but it would probably be put into a WVal when the EXPORT sub is being run from the piece of Grammar.nqp code that parses and executes the use statement?
19:38 jnthn timotimo: I dunno, what are you putting in WVals? :)
19:39 timotimo i don't manually add anything yet. i will probably have to, since the EXPORT sub is being called "outside of the world", is that somewhat right?
19:39 jnthn I dunno...I probably need to see the code.
19:40 timotimo easy, i'll give you a link
19:40 timotimo https://github.com/timo/rakudo/tree/EXPORT_hash - this is the one
19:40 ajr joined #perl6
19:42 jnthn ah, you're treating it as a stash and passing it to import...
19:42 jnthn So I guess the question is what import does
19:42 timotimo didn't manage to fully grok it last time; or maybe i did and forgot until now ;)
19:43 jnthn hmmmm
19:43 jnthn OK, I don't immediately see what's wrong.
19:45 pmurias does the plan look sane thus far (Inch-Stones in http://pastie.org/7754601)?
19:46 jnthn timotimo: Try applying https://gist.github.com/jnthn/5504848 and seeing what kind of object it complains about in the QAST::WVal compilation. That should give us a much better clue at what is going on, I hope.
19:46 ajr_ joined #perl6
19:48 jnthn pmurias: On "Implement grammars." it's really "implement QAST::Regex compilation and the NFA-related nqp:: ops"
19:48 labster https://github.com/perl6/specs/commit/206af036da0c0622394eb1af70b1b2ea11fed5e8#S28-special-names.pod  -- this change for $*OS to $*KERNEL happened 4 years ago and still isn't implemented.  Anyone know what mailing list the message is talking about?
19:49 jnthn pmurias: No strong objection to the current wording really though
19:49 jnthn pmurias: "Implement multi methods." is in a similar camp - the actual candidate sort is done in NQP code now, it's a cache and a few other capture related ops that need adding.
19:50 jnthn pmurias: Overall, looks good
19:50 jnthn pmurias: It doesn't quite get that 49 needs self host, not bootstrapped.
19:51 jnthn (self host = you can use the cross-compiler to get an NQP that runs without Parrot; bootstrapped = that NQP running purely in JavaScript can compiler itself.)
19:51 jnthn 49 requires selfhost, not bootstrap.
19:52 jnthn But the plan seems sane and I like we'll get a better test suite from this too \o/
19:52 jnthn pmurias++
19:52 ajr_ joined #perl6
19:53 lizmat std: my @a[*]
19:53 camelia std 316b40b: OUTPUT«ok 00:00 43m␤»
19:53 lizmat std: my @a[4]
19:53 camelia std 316b40b: OUTPUT«ok 00:00 43m␤»
19:54 lizmat rn: my @a[4]
19:54 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![31m===[0m��Postconstraints, and shapes on variable declarators NYI at /tmp/fdcLYd_um9 line 1 (EOF):�------> [32mmy @a[4][33m�[31m<EOL>[0m��Potential difficulties:�  @a is declared but not used at /tmp/fdcLYd_um9 line 1:�------> [3…
19:54 camelia ..rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�Shaped variable declarations not yet implemented. Sorry. �at /tmp/YTrNN7zyqV:1�------> [32mmy @a[4][33m�[31m<EOL>[0m�»
19:57 masak Rakudo says sorry twice.
19:57 lizmat RSN, Real Sorry Now  :)
19:57 masak :)
19:58 * masak .oO( YTYST -- You Think You're Sorry Today )
20:00 tgt joined #perl6
20:09 bruges_ joined #perl6
20:11 [Coke] I come not to bury Perl 5 but to Bayes it?
20:12 TimToady probably
20:12 lizmat :-)
20:13 [Coke] TimToady++
20:14 pmichaud Rakudo feels especially bad about the lack of shaped variable declarations.
20:15 pmichaud jnthn: I've been thinking we might want t/ops in nqp to test the nqp:: ops.
20:16 pmichaud I might start a few examples.
20:18 TimToady wow, these habaneros are almost like having real hot sauce...
20:19 timotimo is "cakes" really one syllable?
20:19 TimToady yes
20:19 PerlJam timotimo: no, I pronounce it "CA-kes"
20:19 PerlJam ;>
20:20 PerlJam This guy is really not a good Go advocate: http://devslovebacon.com/conferences/bacon-2013/talks/why-node-and-scala-will-dry-up-go-will-drink-their-milkshake
20:22 masak PerlJam: I tried watching that video, but my hotel connection is too slow. :/ do you think you could summarize why he's not a good Go advocate?
20:22 masak PerlJam: I only got a few minutes in, and noticed that he's not an experienced speaker, because he had already criticized his own slides twice by the fourth slide.
20:25 PerlJam my summary would be: the first 10 or 15 minutes is whinging about javascript and scala, and then gives fairly weak examples of why Go is great.  It seems to boil down to "Go is simple and I can understand it"
20:26 lizmat which might actually be important
20:26 PerlJam aye 'tis true.
20:26 lizmat I've come to the conclusion that writing threaded programs is not for most, even experienced, programmers
20:26 PerlJam still very one dimenisonal though
20:27 lizmat there are too many ways for creating deadlocks
20:27 PerlJam There's always "other stuff" that comes into play when actually using a language.
20:27 lizmat or have race conditions that won't show up until a system is actually loaded
20:28 PerlJam lizmat: parallelism is not natural for humans :)
20:28 lizmat that's what I like about Perl 6: it will do a lot of that automagically under the hood
20:28 lizmat indeed
20:30 jnthn pmichaud: That may make sense. 59-nqpops.t is rather long and will only get longer.
20:30 masak "Unaligned end in UTF-8 string"
20:30 * masak curses under his breath
20:31 masak I thought we had gotten rid of that bug. :/
20:31 pmichaud jnthn: I'll give it a start, then.  That's a good LHF task for others, too.
20:32 kivutar joined #perl6
20:37 jnthn pmichaud: Yeah. When porting, the feedback being "we either can compile this whole big test file or we can't" is a little LTA
20:44 dalek rakudo/jvm-support: 4917384 | jnthn++ | src/vm/jvm/Perl6/Ops.nqp:
20:44 dalek rakudo/jvm-support: Map p6getcallsig for JVM.
20:44 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/4917384d8a
20:44 dalek rakudo/jvm-support: db60056 | jnthn++ | src/ (2 files):
20:44 dalek rakudo/jvm-support: Eliminate or add JVM options to some QAST::VM.
20:44 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/db600566be
20:45 dalek nqp/rak-jvm-support: 6a561fc | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
20:45 dalek nqp/rak-jvm-support: Implement missing sub want.
20:45 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/6a561fccc2
20:46 tgt joined #perl6
20:46 swuecho joined #perl6
20:47 toebu joined #perl6
20:54 labster Okay, that was exciting.  I finally found the bug that made panda fail on my IO::Path branch.  lib.pm failed because I used MAKE_REGEX in IO::Spec::Win32.
20:55 FROGGS ahh, wow
20:56 labster Not that lib.pm actually uses regexes or anything... I honestly have no idea why it fails, as it alternates between "No object at index 16" and "get_attr_str() not implemented in class 'NQPMu'" errors
20:57 labster MAKE_REGEX was sort of my last ditch attempt to make Win32 readable, because rx// and regex {} make the core not compile :(
20:58 labster But I have no idea how those functions even interact at all.
21:02 dalek v5/experimental: 63f1ed2 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
21:02 dalek v5/experimental: ?-quantifier doesnt make PMCA's now, moving towards rakudo
21:02 dalek v5/experimental: review: https://github.com/rakudo-p5/v5/commit/63f1ed231d
21:02 dalek v5/experimental: 64b67da | (Tobias Leich)++ | lib/Perl5/Terms.pm:
21:02 dalek v5/experimental: (almost) support chop and chomp properly
21:02 dalek v5/experimental: review: https://github.com/rakudo-p5/v5/commit/64b67da4f5
21:05 dalek v5/experimental: 4ef1315 | (Tobias Leich)++ | rakudo.patch:
21:05 dalek v5/experimental: latest rakudo changes
21:05 dalek v5/experimental: review: https://github.com/rakudo-p5/v5/commit/4ef131546f
21:06 dalek v5: 311d5e3 | (Tobias Leich)++ | lib/ (3 files):
21:06 dalek v5: a try to replace Cool from CORE.setting with our own fivy stuff
21:06 dalek v5: review: https://github.com/rakudo-p5/v5/commit/311d5e3bd0
21:06 dalek v5: 60402f5 | (Tobias Leich)++ | / (11 files):
21:06 dalek v5: rename all Perl6::P5... to Perl5::...
21:06 dalek joined #perl6
21:07 FROGGS labster: the problem is that you are between the chairs, so not everything is available at that time
21:10 lizmat sleep&
21:17 snoopy joined #perl6
21:18 masak could someone try and reproduce this? https://gist.github.com/masak/5505540 -- I thought we had gotten rid of those problems, but it seems not :/
21:21 FROGGS file q
21:21 FROGGS q: HTML document, UTF-8 Unicode text, with very long lines
21:21 FROGGS froggs@TL02L-R8RXTCW-linux:~/dev$ perl6 -e 'qx[cat q]'
21:21 FROGGS froggs@TL02L-R8RXTCW-linux:~/dev$
21:21 FROGGS masak: no problems
21:22 jnthn Worked for me on Windows.
21:22 jnthn Well, I don't have the "file" program
21:22 jnthn And s/cat/type/
21:22 masak :)
21:23 FROGGS masak: what is your locale? maybe this is the difference?
21:23 masak hm, I copied the file from the gist, and that works here, too :/
21:23 FROGGS I'm on ubuntu btw, LANG=de_DE.UTF-8
21:23 FROGGS O.o
21:23 masak what's a safe way to transfer the file in binary form?
21:24 masak here, let me put it online.
21:24 masak http://masak.org/carl/tmp/q
21:24 timotimo gzip it, that'll either give you a faithful replication on the other end, or it will maim the file so bad that it will fail to come out at the other end at all
21:24 masak yes, that triggers it.
21:25 masak please try with that one :)
21:25 FROGGS no, doesnt trigger it
21:25 FROGGS ohh, hold on
21:25 FROGGS wget makes a q.1
21:25 masak yeah.
21:25 masak if you already had a q
21:25 FROGGS yeah, triggers it
21:25 masak bingo.
21:25 timotimo reproduced here, too
21:25 masak now let's diagnose the file.
21:25 timotimo and now i'll go to bed
21:25 FROGGS masak: line ending?
21:26 masak looks like.
21:26 masak a bunch of whitespace is the only diff between the innocent one that I copied from the gist, and the one that fails.
21:26 masak so we all agree that there's nothing wrong with q.1, UTF-8-wise?
21:26 flussence "iconv q.txt | wc" and "iconv -c q.txt | wc" both give identical results, so that doesn't seem to mind whatever it is...
21:26 FROGGS no, there is another whitespace
21:27 masak I tried to golf the input file, but then the bug goes away :(
21:27 FROGGS masak: the diff just shows a regular space char before LN on the blank lines
21:28 masak yeah.
21:28 FROGGS so the bad file has LNLN
21:28 * masak would like to find a better way to reproduce the file q before submitting this
21:28 FROGGS if I add a space to line 2 and four it parses
21:29 FROGGS I guess this is about chunks
21:29 FROGGS maybe like: 256 bytesLNLN breaks, while 256bytesLN\sLN does not
21:29 FROGGS will try
21:30 masak FROGGS++
21:31 flussence all the byte values look 7-bit-clean to me too, other than the two em dashes
21:31 masak yeah.
21:34 tgt joined #perl6
21:35 masak hm, I can create a Perl script that just recreates q from hex numbers...
21:35 FROGGS .u —
21:35 yoleaux U+2014 EM DASH [Pd] (—)
21:35 FROGGS this might cause it
21:35 FROGGS last text line col 89
21:36 flussence ...*sigh*
21:36 flussence that char is RIGHT ON a 1024-byte boundary
21:37 kurahaupo joined #perl6
21:37 FROGGS that is what I testing right now..
21:38 FROGGS hmmm
21:38 masak flussence: aha!
21:38 jnthn r: say self.WHERE.WHAT
21:38 camelia rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�'self' used where no object is available�at /tmp/ghY53UTauT:1�------> [32msay [33m�[31mself.WHERE.WHAT[0m�    expecting any of:�        argument list�        prefix or term�        prefix or meta-prefix�»
21:38 jnthn r: say Any.WHERE.WHAT
21:38 camelia rakudo 639d7f: OUTPUT«(Int)␤»
21:38 masak flussence: so we should be able to generate a file with 1023 spaces and an EM DASH, which blows up?
21:40 flussence doesn't happen if I pipe it and print $*IN...
21:41 FROGGS I tried: perl6 -e 'qx[perl6 -e "say 1 x 2047,q|—|"]'
21:41 FROGGS doesnt trigger it either
21:41 [Coke] r: say Any.WHERE.WHAT.HOW
21:41 camelia rakudo 639d7f: OUTPUT«Perl6::Metamodel::ClassHOW.new()␤»
21:41 masak FROGGS: perl -e 'print " " x 2047, q|—|'
21:41 masak FROGGS: pipe it to a file. triggers it here.
21:42 FROGGS masak: shortest example evar!!: perl6 -e 'qx[perl6 -e "say 1 x 2047,q|—|" | cat]'
21:42 flussence yep, just did the same thing here
21:42 flussence (mine was a bit more long-winded though: for i in `seq 2042 2048`; do perl6 -e "say q{ } x $i ~ qq{\x[2014]}" > r.txt; perl6 -e 'say qx[cat r.txt]'; done;  )
21:42 masak FROGGS++
21:42 * masak submits rakudobug
21:43 FROGGS looks like chunksize is 2048
21:43 FROGGS since 1023 and 2048 is fine
21:43 masak in short, Parrot blows chunks. and it's not pretty.
21:45 masak FROGGS++ flussence++ # helping narrow this down
21:46 FROGGS these are fun tasks actually :o)
21:48 jnthn They ain't fun if you're trying to get shit done. :/
21:48 [Coke] maybe we can catch more of Util's tuits.
21:48 FROGGS jnthn: I know that, do you think working on a should-be-simple problem for a week is fun? nah :o)
21:49 jnthn FROGGS: Know it all to well.
21:49 * jnthn has spent the last couple of hours trying to de-magic the way we handle $/ and $!.
21:49 * FROGGS is still waiting for his learning curve to pay off
21:50 jnthn Joy, a segfault.
21:50 flussence I think I'm desensitized to the wonders of parrot IO already because I wrote PHP code for a few years
21:52 FROGGS hmmm, I never have problems with file IO and php
21:52 flussence (my favourte bug there was that their equivalent of a LEAVE-block at the top level would run outside their equivalent of the setting, but only when run as a fastcgi)
21:53 FROGGS but, I usually run a regex of an input stream to make it (non-)utf8
21:53 labster FROGGS++ #excellent golfing
21:53 FROGGS :o)
21:53 FROGGS thanks
21:55 masak this last bug made me depressed. if it had happened in 2008 I wouldn't have blinked. but we should really have shaken out simple stuff like that by now.
21:56 masak well, Parrot should have.
21:58 FROGGS :/
21:59 FROGGS masak: so an answer is the selfhosting nqp on Go?
21:59 FROGGS :o)
21:59 FROGGS I really like that idea
21:59 masak well, the JVM is closer to being available.
22:00 FROGGS yeah, of course
22:00 FROGGS and it will give us major improvements
22:01 FROGGS and one of the best things: we can fiddle with it
22:01 FROGGS I just can give up when lookup at parrots code, it is so damn huge
22:01 [Coke] masak: Does ranting about what parrot should have done by now help fix the problem or identify a process problem that could be fixed?
22:02 labster I think that means I'm going to have to finally upgrade from Mac OS X 10.6 -- I'm currently stuck with Java 1.6
22:02 labster [Coke]: that's not really a rant.
22:02 FROGGS I think ranting about parrot just helps the ranter
22:03 tgt joined #perl6
22:03 [Coke] No, that particular send wasn't a rant, no.
22:03 labster Well, ranting about Perl 6 doesn't seem to make it go any faster, either.
22:04 FROGGS it just makes the few devs depressive
22:04 robinsmidsrod joined #perl6
22:05 masak [Coke]: ranting about Parrot doesn't fix anything.
22:05 masak [Coke]: let's just say I'm eager to get off it.
22:05 masak I don't want to fix it.
22:05 dalek rakudo/jvm-support: 8a33dd1 | jnthn++ | src/core/Mu.pm:
22:05 dalek rakudo/jvm-support: Avoid possible infinite recursion in setting comp.
22:05 dalek rakudo/jvm-support:
22:05 dalek rakudo/jvm-support: Certain errors hit Mu.Str, which uses Int.Str, before Int.Str had been
22:05 dalek rakudo/jvm-support: defined. The result was infinite recursion.
22:05 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/8a33dd1518
22:05 dalek rakudo/jvm-support: 5dd6eb7 | jnthn++ | src/Perl6/Actions.nqp:
22:06 dalek rakudo/jvm-support: Don't use add_implicit_var for $*DISPATCHER.
22:06 dalek rakudo/jvm-support:
22:06 dalek rakudo/jvm-support: That will be about doing $/ and friends.
22:06 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/5dd6eb75ca
22:07 masak [Coke]: here's the process problem that should be fixed: a "refactor" that has negative effects for actual production code months later should be rolled back, or preferably not happen in the first place.
22:08 masak [Coke]: here's what Parrot should have done: care deeply about UTF-8. test it thoroughly. consider it a process error if something as blatant as the just-reported RT ticket snuck past the tests.
22:09 masak here's what I'm going to do about it: focus my energies elsewhere, on more mature stacks.
22:14 donaldh_ joined #perl6
22:15 mtk joined #perl6
22:18 wooden joined #perl6
22:18 wooden joined #perl6
22:19 FROGGS did you guys know? 2+0+1+3 is actually 6, this has to mean something.... gnight
22:19 masak coincidence? I think not!
22:19 FROGGS :o)
22:20 masak rn: say [+] "2013".comb
22:20 camelia rakudo 639d7f, niecza v24-37-gf9c8fc2: OUTPUT«6␤»
22:20 labster If you add the first and last digits, it makes 5, which means that the Law of Fives holds.
22:27 labster is there something similar to the /o switch in perl 6 -- make a regex compile only once?
22:28 jnthn labster: Are you doing some kind of interpolation?
22:28 labster yes
22:29 jnthn Of the <$x> kind, interpolating a textual thing?
22:29 * jnthn ponders a bit
22:29 labster I'd precompile, but everything I've tried to do that in the setting fails by either parsefailing or breaking random (and I do mean random) modules
22:29 arlinius joined #perl6
22:30 labster I can just put everything in the regex expressions, it's just ugly and harder to maintain.
22:31 jnthn labster: Have you taken a look at where in the setting you're putting it, ooc?
22:31 jnthn labster: Order can matter.
22:31 lue hello world o/
22:32 * lue saw "parrot" and general bad vibes, thus he backlogs
22:33 masak 'night, #perl6
22:33 labster Well, it needs to be before IO.pm, which doesn't leave me a lot of options.  I can play with it a bit, I guess.
22:37 jnthn Just looking through the order though, at the moment all the IO stuff comes before any of Match, Cursor or Regex.
22:38 jnthn It may be you can move all the IO stuff after those, and that it helps.
22:44 sizz joined #perl6
22:51 donaldh_ jnthn: java.lang.RuntimeException: Method code too large! when compiling src/stage1/gen/QAST.nqp on MacOS
22:52 sorear does it know that methods are limited to 65534 bytes of code?
22:52 sorear and is that what the error means?
22:52 jnthn Yes. *sigh*
22:53 donaldh_ I guess that's what the error means
22:53 sizz joined #perl6
22:54 nyuszika7h joined #perl6
22:55 jnthn It's probably because the mainline of that file is *huge*, combined with me not having got around to improving various bits of code-gen.
22:55 woosley1 joined #perl6
22:56 woosley1 left #perl6
22:57 jnthn I'm presuming it's the mainline, anyways.
22:57 donaldh_ Yeah, I was guessing that too.
22:58 jnthn Well, the workaround is easy: move a chunk of the mainline into a sub and call it.
22:58 donaldh_ :)
22:58 jnthn otoh, that mainline should not take 64kb of code :)
22:58 donaldh_ I'll give it a try.
22:59 [Coke] gzip it! ;)
22:59 [Coke] (sorry, I've been living inside .xlsx files for the last few months. :P
22:59 flussence .oO( :set ts=2 )
22:59 jnthn heh
22:59 * jnthn wonders if we shouldn't just have some array of all the ops
22:59 jnthn And loop over it, adding them.
23:00 skids joined #perl6
23:00 jnthn At the moment we end up with a CallSite for all of those setup method calls which we only do once...
23:04 shachaf_ joined #perl6
23:04 shachaf_ joined #perl6
23:05 dalek rakudo/jvm-support: 4ea6b14 | jnthn++ | src/ (5 files):
23:05 dalek rakudo/jvm-support: Eliminate $! and $/ magic tricks in lexpad PMC.
23:05 dalek rakudo/jvm-support:
23:05 dalek rakudo/jvm-support: This is part of trying to eliminate the Perl6Lexpad PMC overall. This
23:05 dalek rakudo/jvm-support: does also make $! and $/ more "normal" and we can probably generate
23:05 dalek rakudo/jvm-support: better lookups for them in some cases now (which at the times the
23:05 dalek rakudo/jvm-support: tricks were put in didn't exist; they landed with QAST).
23:05 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/4ea6b14cd7
23:06 dalek rakudo/jvm-support: b84e933 | jnthn++ | src/vm/parrot/pmc/perl6lexpad.pmc:
23:06 dalek rakudo/jvm-support: Remove left behind debugging code.
23:06 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/b84e933b6b
23:07 pmichaud I added to the RT ticket, but I'm not able to reproduce the 2048-byte-boundary bug on my system.
23:08 mikemol joined #perl6
23:14 donaldh_ Mmm, yes. Method is 65838 bytes long and has 739 local vars :-)
23:14 jnthn Wow. :-)
23:15 jnthn YOu get 64K vars in a method too I guess, but I dunno how you can ever use them with only 64K of code :)
23:15 jnthn Is it the mainline?
23:16 jnthn .oO( The joy of things made in the 90s... :) )
23:16 jnthn .oO( At least it drives code-gen improvements... )
23:17 sorear wait, how can you define a method that long?
23:17 jnthn donaldh_: oh, question...
23:17 jnthn Are you in the master branch?
23:17 sorear the length field is only 16 bits no?
23:17 jnthn Or on rak-jvm-support?
23:17 donaldh_ master
23:17 jnthn Ah.
23:17 jnthn Because the stage0 in master still uses the pre-indy code-gen.
23:18 jnthn Which meant every method call was, um, impressive. :)
23:18 donaldh_ pre-indy?
23:18 donaldh_ Happy to switch to rak-jvm-support
23:18 jnthn Before I updated method calls to use invoke dynamic.
23:18 donaldh_ ah
23:19 jnthn Which took the size of QAST.class from something like 1.2MB down to the 500KB or so it is today.
23:20 donaldh_ I have moved a big bunch of opcodes into a sub and it compiles again.
23:20 jnthn Yeah. I'd try in the branch, though. I suspect we're well within the limits there.
23:20 jnthn Feel free to merge latest master into that branch if you need to.
23:21 donaldh_ I'm just looking at the REPL so can work off the branch.
23:22 jnthn ah, cool
23:22 jnthn I'm not attached to the way I did any of the IO ops, fwiw.
23:23 jnthn If you're looking at it and thinking "huh, I know how to use the Java class libraries better than this!", you probably do. :)
23:24 donaldh_ there is a System.console() when run n a console, but it looks like the readlinefh ops won't be able to make use of it.
23:24 donaldh_ *in*
23:25 donaldh_ Possibly just make the Console available and use it if present.
23:26 jnthn Note that the REPL uses nqp::readlineintfh
23:26 jnthn (int as in interactive)
23:30 donaldh_ which gets passed an IOHandleInstance created by nqp::getstdin ?
23:30 jnthn Yeah
23:32 donaldh_ Oh, okay, I might be able to mark the IOHandleInstance as stdin, or get nqp::getstdin to stash the Console in the IOHandleInstance
23:33 donaldh_ hacky, but it should give us a REPL.
23:33 jnthn \o/
23:36 sorear jnthn: later I'm going to have to ask about indy.  When I read the spec for indy I couldn't think of what it was possibly any good for.
23:38 jnthn sorear: Sure, feel free...thought maybe when it's not 2am my time ;-)
23:38 jnthn sorear: I'll be at YAPC::NA if you're making that.
23:39 donaldh_ night /
23:39 jnthn yeah, I should prolly rest... :) 'night o/
23:45 tgt joined #perl6
23:45 lue r: class Foo {has $.bar; }; my $a = 42; my $b = Foo.new; $b.bar := $a; say $b.bar; # I'm not sure if it's me or not (I get the feeling it is)
23:45 camelia rakudo 639d7f: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot use bind operator with this left-hand side�at /tmp/sWJCaCE2EK:1�------> [32my $a = 42; my $b = Foo.new; $b.bar := $a[33m�[31m; say $b.bar; # I'm not sure if it's me [0m�    expecting any of:�        postfix�»

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

Perl 6 | Reference Documentation | Rakudo