»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
japhb What copyright do people generally use for talks here? I was thinking the current international version of cc-by-sa. 00:28
colomon hmmm 02:55
colomon tadzik: when rakudobrew's call to rakudo's make install fails with the stupid meaningless copying error at the end, it doesn't call panda rebootstrap like it is supposed to 03:10
looking at the source, I'm not really sure why
japhb rakudo-jvm build fail: gist.github.com/anonymous/11361622 04:15
Huh, hadn't realized I wasn't logged in on that box.
japhb That's Oracle 32-bit JDK, shared build tree. I see a segfault in an earlier file on 64-bit OpenJDK, separate build tree. But in both cases, starting from fresh trees, NQP seems to build fine, but Rakudo build dies early. 04:17
FROGGS_ japhb: I am not sure but I think Java(TM) 1.7.0_21 is too old, IIRC a version >= 1.7.0__24 was needed 05:21
raydiak would be nice if configure complained about that 05:28
FROGGS_ true 05:29
jnthn: might remember the needed version? 05:30
bbl
japhb .tell FROGGS Oh, eww. Thanks for letting me know. It seemed strange no one else was hitting it. 05:48
yoleaux japhb: I'll pass your message to FROGGS.
japhb raydiak: Oh, definitely.
japhb raydiak: Just in case I haven't mentioned it, thank you for all your contributions to perl6-bench. Looks like good stuff. :-) 05:52
raydiak japhb: you're welcome :) will still get back to those details you noticed like the tooltip sticking, too 05:53
Su-Shee good morning everyone. 07:35
FROGGS morning Su-Shee
yoleaux 05:48Z <japhb> FROGGS: Oh, eww. Thanks for letting me know. It seemed strange no one else was hitting it.
moritz good morning Su-Shee, *
timotimo o/ 08:06
FROGGS o/ 08:08
sergot o/ 09:04
lizmat waits a bit before she can see good localtime afternoon 09:53
*say 09:54
grrr.... waking up late is difficult :-)
FROGGS :o) 09:58
woolfy it's still early... ehrm... not afternoon yet
dalek ast: 5967271 | (Elizabeth Mattijsen)++ | / (13 files):
Add tests for on demand/live state of Supply
10:24
jnthn lizmat: Getting up late isn't so hard, but yeah, waking up is another matter :) 10:25
tadzik colomon: probably because of autodie or something? Hard to sya 11:04
colomon yeah, I was wondering about that. OH! p5, not p6. Right. 11:10
lizmat is suffering from a braino while trying to implement Supply.Promise and gives up for now 11:26
jnthn method Promise() { my $l = Lock.new; my $p = Promise.new; my $v = $p.vow; my $t = self.tap(-> \val { $l.protect({ if $p.status == Planned { $v.keep(val); $t.close() } }); }, done => $v.break("No value received"), quit => -> \ex { ...similar to more code but .break }); $p } 11:35
lizmat takes it from there, jnthn++ 11:40
timotimo okay, let's see what i ought to mention in this week's report 11:46
jnthn back to teaching :) 11:46
FROGGS I only played around with labels :/
timotimo well, you implemented them for nqp-m 11:47
that's good enough to be mentioned :)
i should definitely link to jnthn's slides, but sadly the recordings haven't popped up yet
loads of supply tests from lizmat and a few implementations as well 11:49
FROGGS yeah, this usually takes a while
lizmat is checking on an ETA
timotimo -p and -pe were fixed, which i should mention 11:50
lizmat timotimo: I seem to recall jnthn implemented some stuff and gave a presentation :-)
timotimo yes, i'm definitely going to mention that
lizmat $ perl6 -e '42.Supply.Promise.result.say' 11:51
42
jnthn++
$ perl6 -e '().Supply.Promise.result.say' 11:52
No value received
:-)
tadzik nice! :) 12:00
lizmat++
timotimo strawberries :3
lizmat no definite ETA on video of NLPW just yet, definitely not this week :-( 12:08
timotimo okay, thank you for asking :)
FROGGS: can you quickly describe for me what the problem with moarvm's eof thing was? 12:10
was it the infinite number of errors when hitting ctrl-d?
FROGGS timotimo: github.com/MoarVM/MoarVM/commits?author=FROGGS 12:11
there were two issues
one about stating a filedescriptor when we have no filename, and the other one was about following symlinks
timotimo yes, i was wondering how to explain the first one 12:12
FROGGS stat file descriptor in eof() when filename is unset …
This can happen when we get a file redirected, and therefor open it via
MVM_file_handle_from_fd instead of MVM_file_open_fh.
timotimo i've read that and it doesn't help me too much :)
FROGGS when we do: perl6-m -e 'say lines' < foo.txt
timotimo i'd like to describe a "common" symptom
FROGGS we get a file descriptor only
timotimo okay, that's exactly what i was looking for :)
timotimo anything happening in branches i may not know about? 12:15
FROGGS timotimo: not from my side 12:16
timotimo p6weekly.wordpress.com/?p=150&...e492511fde - feel free to review and suggest additions, i'll be AFK for a bit first 12:27
dalek kudo-star-daily: c419461 | coke++ | log/ (5 files):
today (automated commit)
12:31
rl6-roast-data: 911424e | coke++ | / (6 files):
today (automated commit)
colomon so, I'm trying to look into the "make: write error" message I get so often from building perl6-m on my MBP. I just hacked the generated Makefile to test where the error is occuring, and it is *after* the last line of the m-runner-default-install. As I read it, that's also after m-install runs, so I don't see what could possibly be executing to cause that...
lizmat colomon: empirically, I only see this error when it needed to recompile any nqp files 12:36
btyler timotimo: perhaps just a little more detail on some of the cool supply-related things?
[Coke] colomon: when I tried to run make with the debug flag to track that down, *make* started segfaulting.
Someone suggested it had to do with redirecting output. 12:37
colomon segmentation fault duplicated. sigh 12:38
[Coke]: the segfault or the error message? 12:39
[Coke] the error message. the segfault makes me think that OS X make is buggy 12:41
(and that perhaps that bugginess is the problem, not our build file)
colomon there certainly are no obvious visible problems with the makefile
[Coke] I am tempted to install gmake with ports and use that. :|
jnthn timotimo: looks good at a quick glance through 12:47
colomon [Coke]: I'm worried trying to use a different make than perl 5 did will cause a different batch of problems here... 13:07
colomon already has gmake installed, it turns out.... 13:08
dalek kudo/nom: 1717d57 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
Add Supply.Promise, channeling from jnthn++
13:09
colomon [Coke]: "gmake: write error" 13:10
and it's definitely gmake installed by ports 13:12
and it frakking seg faults in the same place
[Coke] O_o
colomon it's definitely a different executable -- it's 3.82 versus 3.81 for make 13:13
colomon ponders building 4.0 by hand 13:14
lizmat jnthn: from a code simplification perspective, only those methods that have a class in them that "does Supply" 13:18
jnthn: really need to live in SupplyOperations, but others don't, right ?
moritz oh, fun. At $work we have a customer database, including a pseudo customer for the company itself, and all infrastructural services are associated with that self-customer 13:27
today, sombody managed to accidentally rename that self-customer
(before, it was unchanged since its creation 21 years ago) 13:28
"what could possibly go wrong" applies in full measure :-) 13:29
lizmat is reminded of a "test" hotel located at the head office of Booking 13:30
that should have always been disabled, but evidently wasn't when guests where starting to show up at the head office asking for their room :-)
moritz lol
guess the rooms had interesting prices :-) 13:32
lizmat yup :-)
[Coke] perl 6 alert found this: cyberuniverses.com/perl6-modules/ 13:39
moritz given that cyberuniverses.com/pray/ seems to be raydiak++'s cool rendering project, I'd guess that URL is his sandbox version of modules.perl6.org :-) 13:42
cognominal pray, eat and write code, love :) 13:47
[Coke] moritz: aye. I'm just happy the google alert found something other than the ir clogs. 13:49
colomon how do you eat code? 13:55
dalek ecs: 89aa2ca | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Spec Supply.(start|schedule-on), channeling jnthn++
13:58
colomon [Coke], lizmat: freshly built make 4.0 still gets the write error :\ 14:02
and the segfault
lizmat but if you do a make install immediately again, it works, no?
colomon lizmat: probably 14:03
as far as I can tell, EVERYTHING is successful the first time, the error message comes after the work of the install is 100% complete 14:04
lizmat ah, so it is technically not even needed ?
colomon as far as I can tell
the problem is that the error screws up rakudobrew 14:05
colomon it's hardly a catastrophe, it just makes rakudobrew less awesome on OS X 14:06
woolfy Pictures of last weekend's Dutch Perl Workshop (with jnthn and lizmat and others): www.flickr.com/photos/wendyga/sets...383486661/ 14:09
lizmat Camelia up to spec: www.flickr.com/photos/wendyga/1402...4383486661 14:11
Woodi heja everyone :) 14:14
vendethiel o/, *
Woodi r: grammar words { token TOP { \w+ % [\h?] }}; say words.parse("abc def ghi"); 14:15
camelia rakudo-{parrot,jvm,moar} c15415: OUTPUT«「abc def ghi」␤␤»
Woodi is that ok >
?
jnthn lizmat: yes, that's why they are in SupplyOperations 14:18
lizmat ok, then I'll move the ones that don't need to be there to Supply.pm, ok?
jnthn wfm, I think
but I'm brainfried and will need to help folks debug multi-threaded programs with locks now :)
FROGGS m: grammar words { token TOP { [$<word>=\w+]+ % [\h?] }}; say words.parse("abc def ghi"); # Woodi: kinda 14:19
camelia rakudo-moar c15415: OUTPUT«「abc def ghi」␤ word => 「abc」␤ word => 「def」␤ word => 「ghi」␤␤»
lizmat :-)
Woodi so, ok ? :)
lizmat jnthn: isn't that whole role problem down to the fact that: 14:21
m: role A { method a { say $?ROLE } }; A.new.a # works
camelia rakudo-moar c15415: OUTPUT«(A)␤»
lizmat and 14:22
m: role A { method a { BEGIN say $?ROLE } }; A.new.a # does not work
camelia rakudo-moar c15415: OUTPUT«===SORRY!===␤Could not instantiate role 'A':␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤» 14:22
lizmat because maybe otherwise you could say someting like:
m: role A { class Foo does $?ROLE {} }
camelia rakudo-moar c15415: OUTPUT«===SORRY!=== Error while compiling /tmp/HkPYMAkQlC␤Unable to parse class definition␤at /tmp/HkPYMAkQlC:1␤------> role A { class Foo does ⏏$?ROLE {} }␤ expecting any of:␤ statement list␤ p…»
lizmat std: role A { class Foo does $?ROLE {} } 14:23
camelia std ec3d853: OUTPUT«===SORRY!===␤Invalid role name at /tmp/GFZDvD1LVz line 1:␤------> role A { class Foo does ⏏$?ROLE {} }␤ expecting typename␤Parse failed␤FAILED 00:01 122m␤»
jnthn lizmat: um, but classes are built at BEGIN time :)
It's a bit more involved than that, though
lizmat ah, duh, of course
jnthn It's that you have to invoke the role's body block
it's like doing
sub foo() { BEGIN foo() } :)
lizmat gotcha 14:24
jnthn One of those "wish it weren't that way, but one-pass stuff means it likely has to be" things.
lizmat one would almost wish for a Promise, that would compile the classes inside the role after the role has been composed 14:28
jnthn lizmat: I...wha...my head hurts. :P 14:33
lizmat :-)
moritz role A { ... ; LEAVE { class B does A { ... } } } 14:42
jnthn LEAVE is also runtime :P 14:43
moritz
.oO( BEGINLEAVE )
jnthn You're the first person I've seen declare a class in a LEAVE block, though :P
lizmat wasn't COMPOSE supposed to do something like this ?
lizmat S12:2551 14:44
synopsebot Link: perlcabal.org/syn/S12.html#line_2551
lizmat no, actually S04:1420
synopsebot Link: perlcabal.org/syn/S04.html#line_1420
lizmat and that's also at the wrong time, according to spec :-) 14:45
dalek kudo/nom: 12338e6 | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
Migrate methods from SupplyOperations to Supply

Many of these are not creating inner classes that "does Supply", so they can live inside the Supply role proper, thereby eliminating a layer of indirection.
14:55
tadzik hehe, on this pic from NLPW mst looks like a giant: i.imgur.com/9qnE814.jpg 14:58
"what is this? A laptop for ants?"
FROGGS he looks like a skinny hagrid, aye :o) 15:00
jnthn well, there's today's class done. 15:03
lizmat jnthn++ 15:05
jnthn Nice group. And I like teaching concurrency :)
jnthn hotel & 15:07
lizmat and concurrently, as you taught several people on several channels
dalek kudo/nom: e75fd4a | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Esthetics: $s -> $source, :source($s) -> :$source
15:12
timotimo post published 15:19
lizmat timotimo++ 15:20
japhb timotimo: Thank you again for doing p6weekly. On weeks that I'm caught up, it serves as good reminders; on weeks I'm way behind (like this one) it helps me get a good idea what I've missed. And you're doing a damn good job of it (I've seen weekly #perl6 summaries come and go, and yours is excellent). 15:27
FROGGS timotimo++ 15:28
japhb timotimo++ # quite
timotimo: Can you change the stylesheet so that unvisited links are a bit more obvious? (If it seems obvious now, it may be my color blindness is the issue.) Sometimes I have to roll over all the text to see what I can click on. 15:29
Checking now, it looks like visited v. unvisited doesn't matter. They're both very hard for me to see. 15:30
lizmat m: say 1 ~~ Duration # wonders how we can make that True 15:36
camelia rakudo-moar 1717d5: OUTPUT«False␤»
vendethiel m: 1 does Duration; say 1 ~~ Duration; # don't hit me, please 15:37
camelia rakudo-moar 1717d5: OUTPUT«Cannot mix in non-composable type Duration into object of type Int␤ in sub infix:<does> at src/gen/m-CORE.setting:16755␤ in block at /tmp/fjICy51Hgd:1␤␤»
dalek kudo/nom: 165bb97 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Add noop handling to Supply.(stable|delay)
BenGoldberg m: 1 but Duration; 15:38
camelia rakudo-moar 1717d5: OUTPUT«Cannot mix in non-composable type Duration into object of type Int␤ in sub infix:<but> at src/gen/m-CORE.setting:16782␤ in block at /tmp/4J0B6Ww1fJ:1␤␤»
lizmat vendethiel: it's more about subs/methods taking a Duration, and allowing specification like delay(1)
vendethiel lizmat: I'm just kidding :-) 15:39
BenGoldberg m: say Duration(1)
camelia rakudo-moar 1717d5: OUTPUT«Cannot find method 'Duration'␤ in block at /tmp/za0oRMS3FN:1␤␤»
BenGoldberg m: say 1.Duration
camelia rakudo-moar 1717d5: OUTPUT«No such method 'Duration' for invocant of type 'Int'␤ in block at /tmp/Kdxm0vflbY:1␤␤»
BenGoldberg m: say Duration.new(1)
camelia rakudo-moar 1717d5: OUTPUT«1␤»
dalek ast: 2db6b29 | (Elizabeth Mattijsen)++ | S17-supply/delay.t:
Add tests for Supply.delay

We seem to have a problem with the ThreadPool scheduler case :-(
15:40
BenGoldberg If all else fails, make those subs into multisubs, with one version taking Duration, and another version taking Int, wrapping the Int in a Duration, and calling the other version. 15:41
dalek kudo/nom: 50b69ee | (Elizabeth Mattijsen)++ | t/spectest.data:
Add testing of Supply.delay
lizmat BenGoldberg: yes, but it feels to me that anything that takes a Duration, should also be taking "1"
so making multis is a workaround in my view 15:42
TimToady that is not how type systems work
yoleaux 27 Apr 2014 17:27Z <raiph> TimToady: is timotimo's approach sufficient to mean no need for non-consuming |args? ^^ irclog.perlgeek.de/perl6/2014-04-27#i_8644698
BenGoldberg That's why I said, "If all else fails" ;)
TimToady how do you know the 1 doesn't mean 1 turtle, or 1 megaparsec, or 1 element in the array? 15:43
BenGoldberg How about have the subs take Duration|Int?
TimToady if that's your intent, that's what Duration() is supposed to do 15:43
BenGoldberg The more important thing, I think, is that if there's one version of a sub which takes a duration, and another which takes a epoch time, does an int get turned into a duration or a time? 15:44
TimToady but coercion types are not yet implemented
type systems cannot read yourmind
lizmat S02:1487 seems to indicate that you *are* allowed to just specify a real to a sub 15:45
synopsebot Link: perlcabal.org/syn/S02.html#line_1487
lizmat I guess this would mean multis in your view, TimToady ? 15:46
and not some magic that would accept 1 as a Duration?
TimToady currently, yes, until coercion types like Duration(Real) are implemented
BenGoldberg How about another solution: Create a small handful of postfix operators, "millisecond", "second", "minute", etc, which take Ints and return Durations, so that a person can pass "1 second" to a sub which wants a duration. 15:47
timotimo japhb, raiph, thank you :)
lizmat BenGoldberg: this was actually discussed at the NLPW :-) 15:47
timotimo unfortunately i don't have access to the stylesheet, i'd have to either pay $bignum money, set up my own wordpress (and expose my server to oodles of attacks) or change the theme completely
lizmat but I'm not sure how TimToady would feel about that
TimToady 1\mille\second 15:49
timotimo raiph, japhb: i changed to a different theme that ought to be a bit more readable 15:50
lizmat m: say 2i; say 2 i' 15:53
camelia rakudo-moar 12338e: OUTPUT«===SORRY!=== Error while compiling /tmp/KWc7hOIxHB␤Two terms in a row␤at /tmp/KWc7hOIxHB:1␤------> say 2i; say 2 ⏏i'␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infi…»
lizmat m: say 2i'
camelia rakudo-moar 12338e: OUTPUT«===SORRY!=== Error while compiling /tmp/vNclXmCgNm␤Two terms in a row␤at /tmp/vNclXmCgNm:1␤------> say 2i⏏'␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ …»
lizmat so why is "2 i" TTIAR? is that a rakudobug? 15:54
FROGGS lizmat: remove that single quote 15:58
bbiab
moritz m: say 2 i 15:59
camelia rakudo-moar 12338e: OUTPUT«===SORRY!=== Error while compiling /tmp/1NS8ddxDmr␤Two terms in a row␤at /tmp/1NS8ddxDmr:1␤------> say 2 ⏏i␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ …»
moritz m: say (my $) ++
camelia rakudo-moar 12338e: OUTPUT«===SORRY!=== Error while compiling /tmp/UIGLtPKLgZ␤Unsupported use of $) variable; in Perl 6 please use $*EGID␤at /tmp/UIGLtPKLgZ:1␤------> say (my $)⏏ ++␤»
moritz my: say $_ ++
m: say $_ ++ 16:00
camelia rakudo-moar 12338e: OUTPUT«===SORRY!=== Error while compiling /tmp/9MWkQtzQ_e␤Two terms in a row␤at /tmp/9MWkQtzQ_e:1␤------> say $_ ++⏏<EOL>␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix…»
lizmat ok, gotcha :-)
moritz lizmat: no whitespace allowed between term and postfix
lizmat make sense if you're a little more awake :-)
dalek kudo/nom: 3f74909 | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
Supply.schedule_on -> schedule-on (Perl6ish++)
16:08
lizmat jnthn: ^^^ this probably breaks your presentation 16:09
BenGoldberg m: say (my $ )++
camelia rakudo-moar 12338e: OUTPUT«0␤»
vendethiel would really like a `use noperl5` :( 16:10
moritz std: say (my $)++
camelia std ec3d853: OUTPUT«ok 00:01 126m␤»
BenGoldberg r: say 2i 16:11
camelia rakudo-jvm 12338e: OUTPUT«(timeout)»
..rakudo-{parrot,moar} 12338e: OUTPUT«0+2i␤»
BenGoldberg attempts to apply boot to jakudo's rear end. 16:12
jnthn lizmat: I...don't know if I like htat. 16:21
*that
We've tended not to use - in setting methods... 16:22
FROGGS m: say 2\ i 16:23
camelia rakudo-moar 12338e: OUTPUT«0+2i␤»
japhb jnthn: Just read your 2014-nlpw-reactive talk (thanks timotimo++ for linking to it). It's really impressive, even for you. Halfway through I was getting ready to ask you if I could adapt some of the examples for the "make the hard things possible" section of my talk-in-progress. By the end, I was thinking "Now I'm going to have to find a new hard thing, because this makes hard things *easy*."
japhb Speaking of which ... what is the license on example code from your talks? 16:25
jnthn japhb: Well, they're the things that sound easy until you try to do them.
jnthn japhb: And most ways to do them hurt.] 16:25
japhb True. :-/
jnthn I don't think "wait for this to be unchanged for a second" is a hard concept. 16:26
If you don't a non-programmer about it, they'd probably grok it rather quickly and then wonder why it's a big deal :)
s/don't/told/ 16:27
japhb True, but for an at least somewhat experienced programmer, the mind reels.
jnthn The code...hm, this talk actually resulted in a suffcient amount that it probably does want a license rather than just "fair use" :)
jnthn japhb: github.com/jnthn/perl6-reactive-samples now has a license. 16:31
Lemme know if you need anything more than that. 16:32
japhb Nah, that's good.
jnthn k :)
Have fun :)
japhb Thx 16:33
jnthn lizmat: On the Duration thing - I think multi candidates that take them and delegate to the number-taking ones make sense. 16:33
Hm, I think that suggestion agrees with what TimToady said... :) 16:34
colomon lizmat++ # passed me on her number of commits to rakudo! 16:41
japhb jnthn: Do you happen to know why r-j requires a newer JDK than 1.7.0_21 to build? What bug are we triggering? 16:43
woolfy (lizmat is 'afk' for the moment) 16:44
colomon woolfy: give her a hug from me. 16:45
woolfy colomon: will do 16:46
jnthn japhb: Hm, I boild on 1.7.0_21 at home, I *think*. Or maybe it's one later. 16:47
colomon so… if I run make in valgrind, no memory errors detected, no error message from make, and everything appears to have worked correctly. (this on OS X)
woolfy++
jnthn japhb: But it basically boils down to, "invokedynamic sucks on earlier JVMs", typically. :(
BenGoldberg Is there any workaround for lack of working invokedynamic? Even a horribly slow (but correctly functioning) workaround might be acceptable, if only to show that it's doable. 16:51
jnthn BenGoldberg: The "workaround" is to use a new enough JVM. 16:52
BenGoldberg: We're onto JDK8 now, and discussing problems in >20-update old JDK7. 16:53
BenGoldberg: I'm inclined to let time solve us this one. :)
Given we don't exactly have an epic abundance of resources.
raiph timotimo++ # weekly news and switch to theme that makes links pop
BenGoldberg Fair enough :)
jnthn Granted it's annoying that the old ones may be what's packaged, but givne that Java 8 seems to have some stuff that might make me find the language tolerable, I hope 8 will be swiftly packaged and upgraded to :) 16:55
dalek ecs: 4a114b7 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
s/schedule-on/schedule_on
jnthn Phew, now we're back to is-prime being the only exception I can remember I have to remember ;) 16:56
dalek kudo/nom: ab7b1fe | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
Revert "Supply.schedule_on -> schedule-on (Perl6ish++)"
lizmat :-) 16:57
cycling&
jnthn enjoy :)
tadzik hmm, why don't we like schedule-on?
japhb Why _?
jinx
jnthn japhb: There's nothing else anywhere in the concurrency stuff that I know of that uses - over _, so it'd be a bit of a surprise to find an odd one out.. 17:00
japhb Oh sure, I meant in the larger sense of "Why should we choose _ over - anywhere in the standard sub/method names?"
jnthn japhb: Ah. I was mostly just going for consistency with things we already have more than having any particular preference. 17:01
woolfy colomon++ : hug done :-) 17:02
colomon woolfy: thank you. :)
jnthn dinner & 17:22
[Coke] I would tend to prefer - over _ but have no desire to go through that deprecation phase. 17:26
TimToady
.oO("We can't fix that--we already have five users!")
17:29
[Coke] Didn't say shouldn't, said I didn't want to. :) 17:30
TimToady didn't say anything at all 17:31
japhb At least now we have a nice way to deprecate, notify users, and still keep things working. 17:32
[Coke] japhb: aye, definitely doable. 17:34
dalek p/loop_labels: e76f290 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
replace op throwlabel by throwdyn for labels
18:10
kudo/loop_labels_test: ed78569 | (Tobias Leich)++ | src/ (4 files):
test for supporting loop labels
18:11
Rotwang druga transza tez przyszla? 18:33
masak .oO( waiting for the druga transza to drop... ) 18:47
nwc10 Google Translate was unable to make sense of Rotwang's line form e 18:51
me
Rotwang wrong window, heh [; 18:58
FROGGS Rotwang: so you are selling drugs on the other window? 18:59
masak nwc10: oh? it gave me something like "is a second instalment on the way?"
jnthn I can deal with z after s just fine. After c and d is ok too. But after r? :D 19:00
nwc10 masak: yes, strange, for me it wouldn't translate druga
jnthn guesses it's either "other", "second", or some case declension of "friend" :) 19:01
masak jnthn: it's just a /ʐ/
jnthn Also I guess rz may be like the Czech ř, but I never learned how to say that...
masak: Oh...
masak jnthn: you probably know it as ż
jnthn aha :)
masak or, hm, ř 19:02
jnthn I'm a dire critic of writing that "rz" :P
masak :P
as long as you don't pronounce it with an acute accent, it's fine...
FROGGS that seems to be the right moment to *groan*
masak *gřoan* 19:03
jnthn Seems I've made my mark... :)
nwc10 caron everyone, like nothing happened...
FROGGS nwc10: btw, somehow I can't build moar with clang :/ 19:04
nwc10 oh mmm, odd. I've not tried that
mmm, "my" machine has clang version 3.0 (tags/RELEASE_30/final)
FROGGS perl Configure.pl --compiler=clang
Configuring native build environment ................... OK
probing whether your compiler thinks that it is gcc Can't compile simple gcc probe, so something is badly wrong at build/probe.pm line 92.
jnthn burries the háček
FROGGS Debian clang version 3.2-7ubuntu1 (tags/RELEASE_32/final) (based on LLVM 3.2) 19:05
masak .oO( MJD burritos the monad ) 19:06
nwc10 FROGGS: I don't know if there's a good way to diagnose that, other than removing the >$devnull 2>&1 from build/probe.pm
FROGGS In file included from try.c:1: 19:07
/usr/include/stdlib.h:32:10: fatal error: 'stddef.h' file not found
ahh, so clang has not the right include paths built in? 19:08
nwc10 no good idea, but that seems to be a particularly impressive error 19:13
FROGGS *g* 19:15
raydiak * *, * o/ 19:22
vendethiel do you speak smurf, raydiak? 19:23
raydiak *! 19:24
erm, good afternoon, that is :) 19:25
FROGGS nwc10: adding -I/usr/lib/llvm-3.2/lib/clang/3.2/include seems to help
raydiak jnthn: do you know the exact minimum required java version for nqp and rakudo on jvm?
masak m: sub term:<*> { "smurf" }; say *
camelia rakudo-moar ab7b1f: OUTPUT«*␤»
masak dang.
vendethiel welp.
that's a bit surprising
colomon m: say *
camelia rakudo-moar ab7b1f: OUTPUT«*␤»
vendethiel that's a bit *less* surprising now 19:26
masak any reason I can't override *?
vendethiel m: sub term:<+> { "smurf" }; say +
camelia rakudo-moar ab7b1f: OUTPUT«===SORRY!=== Error while compiling /tmp/Zb6DKCSMbu␤Confused␤at /tmp/Zb6DKCSMbu:1␤------> sub term:<+> { "smurf" }; say +⏏<EOL>␤ expecting any of:␤ argument list␤ prefix or term␤ p…»
vendethiel I guess it has to exist
masak aww.
vendethiel: never heard of such a rule. 19:27
vendethiel "technically has to"
raiph A 'use Grammar::Generative' (copy of raw.githubusercontent.com/jnthn/gr...ative.pm6) gets me a "Merging GLOBAL symbols failed: duplicate definition of symbol &EXPORT". FROGGS, jnthn, anyone, know what I need to do? 19:29
FROGGS raiph: can you strip the 'our' of the 'our sub EXPORT'? does that help 19:32
?
jnthn confuses raydiak's greeting with a crontab 19:33
jnthn raydiak: No, I don't know the exact minimum. I know 7.0.21 or so at home works...and I had "fun" with things below that. 19:34
raydiak jnthn: just thought it'd be nice if configure checked the java version
jnthn raiph: Whoa, I thought that module caused blindness to all who looked... :) 19:35
Agree with FROGGS though, the "our" is probably bad. 19:36
raiph FROGGS++ # yet another of your many fixes in one guess, thanks :)
FROGGS \o/
jnthn whoa, that code... 19:37
raiph jnthn: i'm having a lot of fun working with grammars and the debugger :) 19:39
jnthn The mutiple mutually recursive use of gather/take. The fact that the only comment in the most hundred lines of it is "# Bit of a cheat...". A variable named $submatchish. A class called "grammar". And mixing in to the importing language's actions. 19:41
*most complicated
I either should or shouldn't be allowed to write code when suffering depression :P 19:42
masak ...mutually recursive...? o.O
vendethiel
.oO(mutually depressive)
FROGGS hehe 19:43
jnthn masak: method compile, in class Generator 19:45
The one-line implementation of co-LTM is also somewhat entertaining :) 19:47
.take for @possibles.sort(-*.chars);
masak :) 19:48
that's so co! 19:49
[Coke] hugs jnthn++
masak hugs jnthn++ 19:50
jnthn [Coke]: Well, I wrote it quite a lot of months ago. I'm kinda better these days. :)
On average, at least.
jnthn Mouq! \o/ 19:53
masak Mouq! \o/
masak igorsutton: greetings. 19:55
igorsutton masak:hi
masak ...earthling. 19:57
masak :/ 19:57
raiph FROGGS: I'm considering options for the output of the CPAN/MIRRORED_BY parse 19:58
jnthn
.oO( Playing the role of channel alien: the leading way to make folks feel welcome! )
FROGGS raiph: what options?
raiph FROGGS: raw parse tree? some cleaner data structure? JSON? 19:59
masak jnthn: I didn't mean to alienate him!
raiph FROGGS: also, you presumably want just the subset of mirrors that have P6 code on them 20:01
FROGGS: and presumably the idea is that MIRROR_BY includes the metadata to indicate that
FROGGS raiph: this file just needs to be turned into a list or hashes or so, we will not gain the knowledge what mirrors do provide P6 stuff in future 20:02
raiph: I do not think we can change the information of MIRRORED.BY at all
FROGGS raiph: it really is about parsing the given file, not to create the file with information we'd like to have in there 20:04
raydiak raiph: I roughed out a crude version for fun, dunno if it's any use but figured I'd share: gist.github.com/raydiak/11382643 20:11
raiph FROGGS: I realize it's just about parsing, not changing it 20:14
FROGGS raiph: exactly, we get this file from servers of the cpan network 20:15
FROGGS and since we want to connect to them, we need to know what mirrors are there, to let the user pick nearest neighbours 20:15
raiph FROGGS: I was assuming at least one of the 250+ mirrors would choose to not mirror P6 stuff 20:17
FROGGS raiph: that might be possible that they set up their rsync to drop /Perl6/, but there is no intention to write that down to that file 20:18
so we won't know
lizmat let's not assume /Perl6/ is dropped 20:24
it would require action from the mirror admins
and most mirrors are really low maintenance afaik
FROGGS lizmat: yes, I also assume that they do not really care what is in the tar.gz, and therefore not actively blocck Perl6
because, there is no reason to do so, it is not like we will upload terrabytes of dists soon 20:25
that reminds me that I'm still waiting for a reply from andk :/ 20:26
raiph FROGGS: your simple version will inevitably be faster than the code I've created 20:30
(a grammar, and warnings about syntax changes, so takes order of a second to run)
woolfy I mention to lizmat that a new neighbour to the sun is discovered: a brown dwarf, the coldest star sofar ever discovered, at 7,2 lightyears distance... her reaction: "cool" ( www.iflscience.com/space/coldest-kn...our-system ) 20:31
BenGoldberg One of these days, scientists will rename Saturn from being a planet to being some some sort of dwarf start -- that'll be really close ;) 20:34
dalek ecs: 85d112f | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
Spec List.(grep-index|first-index|first-rindex)
20:37
geekosaur unlikely, although it's still an open question whether what they found is brown dwarf or planet 20:40
(the cutoff is something like 13x Jupiter's mass; unless we find some really wild physics somewhere that will rewrite a lot more than just the definition of planet, it's unlikely to shrink) 20:42
dalek ast: 73c090c | (Elizabeth Mattijsen)++ | packages/Test/Tap.pm:
Spaceo in conditional text
20:57
ast: f3f563b | (Elizabeth Mattijsen)++ | S17-supply/stable.t:
Add simple tests for Supply.stable

Unfortunately, some of them fail, so there is more work to be done
lizmat jnthn: ^^^ seems there is something wrong in Supply.stable, and its derivative Supply.delay 20:58
jnthn
.oO( stability is integral to delay... )
21:07
lizmat: What fails, exactly?
I'm...uh...a bit surprised to see that being tested on currentthreadscheduler
lizmat the timing related things
feels like the timer is not started 21:08
well, delay and stable are the first ones that fail with CurrentThreadScheduler
so maybe I shouldn't test with that scheduler in those tests ?
actually, delay *works* with CurrentThreadScheduler 21:09
jnthn Does CurrentThreadScheduler know what to do with :in and :every?
if it does, I suspect it may immediately block
lizmat but it's the ThreadPoolScheduler case I'm worried about really 21:10
japhb How does one resolve links (., .., and soft links) in a path? I'm finding that when I call a script with an up-and-over path like '../tools/foo', and then try to manipulate $PROGRAM_NAME.path to e.g. find the project root, I get insane responses. And .absolute, .cleanup, IO::Spec.canonpath, etc. don't fix it. 21:16
masak japhb: I have a feeling you're in "no-ones ever tried that" territory. 21:17
no-one's
*
japhb D'oh!
lizmat r: my @list = (1..10); my @result = grep-index {$_ % 2}, @list; say @result 21:38
camelia rakudo-{parrot,jvm,moar} ab7b1f: OUTPUT«9 9 9 9 9␤»
lizmat r: my @list = (1..10); say grep-index {$_ % 2}, @list;
camelia rakudo-{parrot,jvm,moar} ab7b1f: OUTPUT«0 2 4 6 8␤»
lizmat jnthn: ^^^ feels like a bug to me 21:39
lizmat when storing into an array, it is by reference apparently (the highest value of the index) 21:41
lizmat otherwise it is by value 21:41
perhaps some optimization kicking in when it shouldn't?
masak yes, that feels like a bug. 21:42
geekosaur (when you store into the array, the array stores also into you?)
masak you can't step down into the same array twice.
jnthn lizmat: Looks like a bug, but I wonder what it's in... 21:43
grep-index is the new thing...
lizmat fixed by prefixing a +
dalek kudo/nom: 3a69624 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Make grep-index work when returning into an array

This feels like a work around for some obscure scoping issue.
21:44
dalek ast: 5f2eb65 | (Elizabeth Mattijsen)++ | S32-list/grep-index.t:
Add tests for grep-index
21:47
jnthn lizmat: Will have to look at the two tomorrow... 21:48
lizmat ok 21:48
about to sleep& myself as well :-)
jnthn Tired now...had to hack up some web cache stuffs for make smooth tomorrow's exercises :)
dalek kudo/nom: dfd343d | (Elizabeth Mattijsen)++ | t/spectest.data:
Add Supply.stable and grep-index tests
21:53
lizmat and with that I have nothing further to commit today 21:54
gnight, #perl6!
jnthn 'night, lizmat++
masak 'night, lizmat++ 21:58
timotimo i wonder fi $index += 1 would change the behavior 22:05
raiph m: my @a = ^1000; sub foo ($a) { for @a.kv -> $l, $p { if $p > $a { return } } }; foo(1000); say now - INIT now 22:19
camelia rakudo-moar ab7b1f: OUTPUT«0.36347707␤»
jnthn 'night, #perl6 22:21
timotimo gnite jnthn!
good luck with your teachings tomorrow :)
raiph: wow, for a loop that just does 1k iterations, that's pretty slow :\
dalek kudo/loop_labels_test: a08ae07 | (Tobias Leich)++ | src/ (2 files):
add method Label.gist, .redo and .next

Label.gist looks like this (with colors): perl6-m -e 'my $x; my $y; BAR: while $x++ < 2 { }; say BAR' Label<BAR>(at -e:1, 'my $x; my $y; ⏏BAR:while $x++ < 2 { };')
22:22
FROGGS gnight jnthn 22:23
and gnight #perl6 (again)
timotimo wow
gnite froggs :)
FROGGS :o)
raiph \o jnthn, FROGGS
timotimo: didn't mean that to be in channel, but running a 200 line program under the debugger runs 100X slower with a breakpoint on line 1 22:26
and it's the line_of sub which is basically the loop I was testing
timotimo line_of should be cached, no?
raiph i don't yet think a cache is what's needed 22:28
masak 'night, #perl6 22:28
timotimo i may be thinking of something else 22:29
timotimo is heading to bed as well 22:30
or am i headed to a bad-ass well?
i can't decipher this handwriting!
raiph good night departing p6ers 22:33