»ö« 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.
raydiak that's on multiple machines and multiple backends, but not a very recent build, no...maybe a month or so old 00:00
(is why I haven't reported it yet)
Mouq lue: That line works perfect AFAICT on near-to-latest perl6-m and perl6-j
lue: *for me 00:01
OSX
lue Lemme spend a quarter of an hour getting the latest rakudo and see if it works.... 00:02
(not counting the time it'll take to reinstall panda and associated modules)
Mouq :/
lue I can't wait to be able to drop parrot, that's where the quarter-hour comes from. 00:05
raydiak I dropped parrot long ago, b/c for me it is multiple hours 00:06
Mouq lue: My perl6-p remarkably still runs; perl6-p -v says it's from November
tadzik in my File-Find benchmarks it's 1.5 slower than moar 00:07
lue I can't use moar for what I'm doing at the moment because something in the Regex language is broken on Moar
jnthn lue: Did you mangae to golf/ticket that?
lue jnthn: no, not yet. Should get to that soon though. 00:08
timotimo lovely! :) 00:10
Mouq O.o `prove -eperl6-j t` → `t/01.t ................... ok`; `panda install URI` → `t/01.t ................... 12/47 java.lang.NullPointerException` 00:13
lue jnthn: As soon as I'm done updating rakudo, and get a module for perl6-debug-m, I'll be able to look into that bug. 00:14
00:16 xenoterracide left
tadzik oh wow 00:17
timotimo wow?
much moar? 00:18
tadzik infix:«<» is called almost 200k times during find(".") on File::Find repo
timotimo so works?
oh wow.
tadzik (less than 500 actual files)
timotimo how does that even ...
tadzik what's more, defined() is called 330k times
and that's all with checkrules() commented out
so it's almost exclusively gather-take
timotimo impressive.
lue o.o
jnthn o.O 00:19
tadzik ok, on the plus side, it has nothing to do with gather-take 00:20
it's exactly as bad without it
timotimo phew.
how do you measure that, ooc? 00:21
tadzik --profile
on parrot backend
timotimo oh, parrot
okay
tadzik yeah
oh well 00:22
the top topmost Inclusive suspects are catdir and canonpath
catdir accounting for about 80% of the time spent
timotimo does that include or exclude time spent in canoning the dir? 00:23
tadzik include
canonpath is making between 4 and 6 regex substitutions 00:24
timotimo right.
yeah, canonpath was already horribly slow the last time we looked there :(
tadzik almost always 5 or more
timotimo i tried to make some fastpaths in there to make already canonical paths fall through much quicker 00:25
tadzik so, yeah, there
on the plus side, not my fault :D
timotimo did they ever make it in, though?
tadzik no idea
timotimo nope.
00:26 hoverboard left
japhb [File::Find] sub find -> [Rakudo] sub dir -> Str.path (-> IO::Path.new) + IO::Path.contents -> IO::Path.absolute -> IO::Spec.rel2abs (-> IO::Spec.is-absolute + IO::Spec.canonpath | IO::Spec.catdir (-> IO::Spec.canonpath)) + IO::Path.new 00:26
(I just was following that to show how you end up at canonpath whether you like it or not.)
:-(
tadzik right
well, the price of correctness
I don't have any immediate idea what to do with this 00:28
timotimo you should print a few before/after canonpaths
maybe you'll see the fastpath i wanted to take some time ago clear as day
i *think* i had written a semi-short regex that just returned the path if it was already canonical 00:29
hm. how expensive is a substitution that makes no changes?
00:30 xenoterracide joined
timotimo oh hey 00:31
subst does getlexcaller for $/
00:31 btyler joined
timotimo and then it calls self.match which does the same thing 00:32
does that maybe do something troubling?
hm. so self.match will do a gather/take that self.subst will immediately gobble up; maybe a feasible optimization would be to introduce a simpler match method that does "nothing fancy" 00:33
tadzik well, I wonder, canonpath seems to be doing things that are nice to have for a human to read 00:34
they're all the same paths as far as OS is concerned
so do we really always have to do it?
can we do it lazily?
Mouq {Set,Bag,Mix}{,Hash} haven't been updated for the docs. Should the docs have the hypothetical parametric QuantHash-based set-up described in S32, or the less ideal way they're implemented in Rakudo? 00:43
00:43 PZt joined
Mouq r: say QuantHash ~~ Mixy 00:44
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«False␤»
jnthn Mouq: Documenting it as it is probably helps users more
timotimo i wonder: would subst be any faster if we replace $result ~= self.substr(...) with @result.push(self.substr(...)) followed by a join?
Mouq jnthn: Works for me, thanks 00:45
gist.github.com/Mouq/9042876 00:52
00:55 ggoebel1116 joined 00:57 ggoebel1115 left
timotimo so yeah. if anybody wants to, there's probably some optimizations to be had in src/core/Str.pm in the subst method 00:59
01:03 virtualsue left
dalek p: 28b9c29 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Make various 6model type ops decont the first arg.

Some Rakudo code was accidentally trying to tweak the method cache on Scalar, in turn triggering a bogus STable repossession. This fixes that particular issue, and also marks up other ops in hope of avoiding other similar ones.
01:07
raydiak speaking of str-like things, are mutable bufs close to bubbling up to the top of anyones todo list yet? 01:08
timotimo jnthn: it's interesting that that only blew up on moar. 01:10
wouldn't this also cause .moarvm and .pir files to shrink, loading times to decrease ever so slightly?
jnthn raydiak: All the native things are relatively high on mine. 01:11
raydiak: They're tied with concurrency support on Moar, and the Moar specializer.
01:11 hoverboard joined
timotimo oh, the moar specializer is *that* close? 01:11
raydiak \o/
timotimo wowza.
we really do live in exciting times.
hoelzro: very much looking forward to the first hoelzro-improved kate-highlighting :D 01:12
jnthn timotimo: I have specializer-related code sketches hanging around.
timotimo oh wow!
i didn't even realize
jnthn timotimo: Got CFGs figured out, currently working on computing dominance.
timotimo context free grammars? 01:13
jnthn timotimo: Well, it's all local while I experiment/explore/research :)
Control Flow Graph.
hoelzro timotimo: heh. it could take me a few days to get around to it =)
timotimo oh
you got me excited now. but i wanted to go to bed :|
jnthn timotimo: It's going to be a couple of weeks before any code lands, I suspect. 01:14
timotimo that's okay. i think i'll be able to sleep between then and now
jnthn timotimo: The dominance algo I picked gives me the frontiers trivially, but then I still gotta do the rest of the SSA transform.
timotimo: And then be able to transform back into working bytecode.
It's only *then* that I can start doing the interesting stuff.
timotimo i know almost nothing about this :) 01:15
jnthn :)
Yeah, it's been quite a while since I was doing these things too. :)
And not sure I ever actually coded up SSA, even if I studied it somewhat.
timotimo i've once used SSA "by hand" to figure out some bit-arithmetic puzzle 01:16
jnthn ah :) 01:17
raydiak jnthn: thanks for the update; just figured I'd make sure it's still prominent on the radar...I can't imagine how you prioritize the tremendous number of important things you could be working on
jnthn Half of my code is already in SSA form...
Well, depends on language. :)
raydiak: Yeah, there's quite a lot of things I want to be doing. 01:18
raydiak: And some I don't. This weekend's tuits went on the Moar I/O refactors, but they really had to happen.
Good news is it forced me to figure out libuv more deeply, which'll make the async I/O stuff easier. 01:19
timotimo any word on having "select" or something similar in the core without having the whole async i/o shebang? 01:20
jnthn timotimo: As a stopgap, or because you want it there longterm?
timotimo well, every other language i know has a way to set a timeout for sockets and files :) 01:21
and when you set that timeout to 0, you usually get poll-semantics
i would like at least that
though i suppose in the long-term, async i/o is going to be so easy to use that it will hardly matter 01:22
anyway. i'm off to bed
o/
jnthn 'night
raydiak g'night timotimo 01:23
yes, async IO is another big one...I plan to write an html5 websocket game w/p6 on the server side
I wrote a toy version of it in p5 last year, but it needs a serious rewrite, and I'm slowly in the process of moving my eggs out of the P5 basket, so haven't touched it for a long time 01:25
lee__ aye, i would also play around with that. currently use AnyEvent for just about everything
and would love to use p6 instead :)
01:26 jnap joined
raydiak should stop asking these questions before someone pins him down and tries to make him learn C or something :) 01:26
01:27 dayangkun joined
Mouq lee__: We do have MuEvent, an "AnyEvent lookalike for Perl 6" 01:27
dalek ast: cf43276 | (Rob Hoelz)++ | S04-exception-handlers/catch.t:
Add test for RT 121213
Mouq lee__: I don't know if it works right now though
lee__ Mouq: yeah, i wasn't sure if that still worked. worth a try i suppose
Mouq knows nothing of AnyEvent in the first place 01:28
01:28 woosley joined
Mouq is of middling helpfulness 01:29
jnthn 'night, #perl6 01:35
raydiak good night jnthn
01:45 raiph joined 01:46 bad144 joined
Mouq p6: my \term:<`> = 1; say `+` # I swear Rakudo used to be able to do this... 01:47
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Term definition requires an initializer␤at /tmp/tmpfile:1␤------> my \term⏏:<`> = 1; say `+` # I swear Rakudo used ␤ …»
..niecza v24-109-g48a8de3: OUTPUT«2␤»
01:51 bad144 left 01:56 molaf joined
Mouq p6: constant \term:<`> = ->\n{n**2}; say `(3) # At least constant works 02:00
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54, niecza v24-109-g48a8de3: OUTPUT«9␤»
lue Grr. I get a segfault trying to use perl6-debug-m :( 02:15
02:17 vendethiel left 02:23 Sqirrel_ joined
lue By the way — updating rakudo did not fix my qqx bug :( 02:23
Mouq r: say Set.^mro 02:25
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«(Set) (Any) (Mu)␤»
Mouq ^^ Notice how !Cool Set is?
I'm not sure if this is intentional
02:26 FROGGS_ left 02:27 Sqirrel left
Mouq r: say EnumMap.^mro 02:27
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«(EnumMap) (Iterable) (Cool) (Any) (Mu)␤»
02:27 dayangkun left
Mouq r: say PairMap.^mro 02:27
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared name:␤ PairMap used at line 1␤␤»
Mouq Hm
02:39 FROGGS_ joined, kbaker joined
raydiak I was sure someone mentioned something about the code blocks in the docs looking wrong somehow, I just can't remember who or what... 02:42
ah, found it...the background doesn't contrast enough 02:45
dalek c: 4c568cf | raydiak++ | / (7 files):
Add Camelia, adjust colors, various other tweaks
02:52
lue .tell jnthn I've narrowed it down to the 'frag' rule accidentally eating a closing > (but it doesn't do this on closing »), not yet sure exactly why that is. 02:59
yoleaux lue: I'll pass your message to jnthn.
raydiak .tell smls I changed the colors today, in case that affects anything you are/will be working on 03:01
yoleaux raydiak: I'll pass your message to smls.
03:02 kbaker left
lue .tell jnthn strangely, I can't seem to isolate the rule, or any of its parts, without it working on perl6-m :/ 03:06
yoleaux lue: I'll pass your message to jnthn.
Mouq raydiak: Here's an interesting issue: "postcircumfix { }", "postfix ++", "circumfix [ ]" etc are not jumped to by my browser correctly
E.g. type "++" in the search box, go to the first result, end up sitting at the top of operators.html 03:07
The "id"s of these things are escaped properly, it seems
but that means that "operators#prefix+%2B%2B" won't jump to the anchor: it needs to either be "operators#prefix+%252B%252B" or a different id 03:08
In the case of anything with "[", "<", etc., it's enough to simply change the id in Firebug (id="postcircumfix+[+]" instead of id="postcircumfix+%5B+%5D") 03:11
but I'm not sure how the case of postfix ++ would work
Since "+" is already being substituted for " ". I mean, it would be enough to fix it, but it seems hack-y 03:13
lue I'd think prefix+++ , unless multiple spaces are encoded with multiple +'s 03:14
raydiak thanks Mouq, I'll put it on a list somewhere; I know there are a couple issues with certain characters and the search 03:15
03:15 BenGoldberg left 03:16 molaf left
raydiak there are special rules for what can be an id, and different browsers react differently when you break the rules 03:16
timotimo i guess i didn't want to sleep anyway. 03:17
Mouq some W3C document I saw points out you can use anchor tags with name attributes for more choice (I think) of characters 03:18
timotimo: Awww
raydiak: But I have not tried this
raydiak well, I'm familiar with <a name="...">, but there are things like for example, for a long time (dunno about now), using underscores anywhere would break in some browsers, much less more specially-interpreted chars like + 03:19
raydiak will dig up the spec again, and make sure things are escaped to the same name for the anchors and the urls in the search 03:21
Mouq raydiak++ # not for this specific issue, but general doc work
raydiak thanks :) just glad I found something genuinely useful to do around here 03:22
ooc Mouq, what browser are you using? 03:23
03:23 btyler left, araujo left
Mouq Firefox 28.0 03:24
Mouq accidentally clicks the "Restart to Update" button. "Noooo! All the tabs I don't care about!" 03:25
raydiak yay, it breaks for me too...that makes things so much easier to fix
heh 03:26
I see the index links are broken in the same way, as you'd expect 03:28
03:31 raiph left 03:32 dayangkun joined 03:34 FROGGS[mobile] left
raydiak yep, you're right...it is weird :) you might have hit the nail on the head in the first place (just use anchor names instead of IDs) 03:35
03:35 sivoais left
raydiak ouch, and I need to take a serious run through with a validator too...that page is too broken for the validator to even reach the funny chars 03:36
Mouq r: say 1.4e1 div 5.9e1 03:41
camelia rakudo-parrot 230a54: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in any at gen/parrot/BOOTSTRAP.nqp:1219␤ in any at gen/parrot/BOOTSTRAP.nqp:1210␤ in sub infix:<div> at gen/parrot/CORE.setting:4015␤ in…»
..rakudo-moar 230a54: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in sub infix:<div> at src/gen/m-CORE.setting:4011␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 230a54: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in any at gen/jvm/BOOTSTRAP.nqp:1212␤ in any at gen/jvm/BOOTSTRAP.nqp:1202␤ in sub infix:<div> at gen/jvm/CORE.setting:4011␤ in block at /…»
03:43 fridim_ left 03:44 FROGGS[mobile] joined 03:45 sivoais joined
dalek c: 30411da | Mouq++ | type-graph.txt:
Update {Set,Bag,Mix}{,Hash} typegraph
03:48
c: caeb481 | Mouq++ | type-graph.txt:
Fix text alignment
c: f442101 | Mouq++ | lib/Set.pod:
Begin Set documentation
c: 0c23b44 | Mouq++ | / (7 files):
Merge branch 'master' of github.com/perl6/doc
Mouq r: say Mix.new(1,2,3,4,2,5,2){2} 03:52
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«3␤»
Mouq r: say Mix.new(1,2,3,4,2,5,2){2} = 15 03:53
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«Cannot assign to a readonly variable or a value␤ in block at /tmp/tmpfile:1␤␤»
Mouq r: say (Mix.new(1,2,3,4,2,5,2){2} = 15)
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«Cannot assign to a readonly variable or a value␤ in block at /tmp/tmpfile:1␤␤»
Mouq Looks immutable to me
timotimo yeah, it gets mutable if you have a *Hash
like a MixHash or BagHash
Mouq timotimo: Oh, cool. Thanks! 03:54
r: say (MixHash.new(1,2,3,4,2,5,2){2} = 15)
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«15␤»
Mouq r: say MixHash.new(1,2,3,4,2,5,2).total
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«7␤»
03:59 jnap left
lue my $a = "LOHELLO"; say $a ~~ /EL/; $a .= subst(/LO/, "HI", :p); say $a 04:22
r: my $a = "LOHELLO"; say $a ~~ /EL/; $a .= subst(/LO/, "HI", :p); say $a
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«「EL」␤␤LOHELLO␤»
lue r: my $a = "LOHELLO"; say $a ~~ /EL/; $a .= subst(/LO/, "HI", :p($/.to)); say $a
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«「EL」␤␤LOHELHI␤» 04:23
lue files rakudobug 04:25
Mouq lue: Isn't that right? 04:26
lue nope
S05: "If the argument is omitted, it defaults to ($/ ?? $/.to !! 0). "
Mouq Ohh, I thought there was an issue with the last example
coolll 04:27
lue Funny thing is, :c works just fine with m// (though it doesn't guarantee anchoring like :p does, so it can't be used on subst)
04:30 jnap joined
dalek c: 6d17e91 | Mouq++ | lib/Mix (3 files):
Add some documentation for Mixy objects
04:31
04:34 jnap left 04:35 colomon joined
colomon o/ 04:35
04:35 Myk267 left 04:43 crab2313 joined
dalek c: 25858b8 | Mouq++ | lib/ (4 files):
Minor additions, typo+code fixes
04:48
c: 1669f74 | Mouq++ | lib/Bag.pod:
Begin Bag documentation akin to Set documentation
04:58
c: 7bbf2d1 | Mouq++ | lib/Bag.pod:
Fix code example in Bag.pod
05:00
05:02 jdv79 left
dalek c: fa694fa | Mouq++ | lib/ (3 files):
Use infix:<*> for infixes
05:12
Mouq Why infix:<div> is defined in Int.pod and nothing else, I do not know 05:13
lue div is for integer division 05:15
r: say 3 / 2; say 3 div 2; 05:16
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«1.5␤1␤»
Mouq lue: But why not infix:<mod> for example
I mean, maybe it just wasn't added...
lue I can't think of a reason for integer-only modulus.
Mouq r: 2.3 mod 15 05:17
camelia rakudo-moar 230a54: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in sub infix:<div> at src/gen/m-CORE.setting:4011␤ in sub infix:<mod> at src/gen/m-CORE.setting:4221␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 230a54: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in any at gen/jvm/BOOTSTRAP.nqp:1212␤ in any at gen/jvm/BOOTSTRAP.nqp:1202␤ in sub infix:<div> at gen/jvm/CORE.setting:4011␤ in sub infix:<…»
..rakudo-parrot 230a54: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in any at gen/parrot/BOOTSTRAP.nqp:1219␤ in any at gen/parrot/BOOTSTRAP.nqp:1210␤ in sub infix:<div> at gen/parrot/CORE.setting:4015␤ in…»
lue Oh, I thought you were saying C<mod> didn't exist. Nevermind then. 05:18
Mouq lue: Nope.
I'm just kind of debating... I put these Set/Bag operators in the Set.pod and Bag.pod files based on the operators in Int.pod and Bool.pod 05:19
05:20 SamuraiJack joined
Mouq But I do question whether they maybe should go in operators.pod, though I thought that was for operators hard-coded in the grammar 05:20
lue Mouq: I'd recommend putting them with their associated types for clarity, they can be moved to operators if necessary. 05:22
05:23 [Sno] left
Mouq lue: That's what I conclude as well. And I suppose if I wanted to look up Set operators, I'd look in Set.pod 05:24
05:30 jnap joined 05:31 crab2313 left, kaleem joined 05:35 jnap left
dalek c: dcbdcb6 | Mouq++ | lib/QuantHash.pod:
Steal most of S32/Containers QuantHash description
05:47
c: 6a375a2 | Mouq++ | lib/ (4 files):
Stub Baggy, Setty, BagHash, and SetHash
05:51 denisboyun joined
Mouq is done for tonight 05:52
\o #perl6
06:01 Mouq left 06:02 zby_home_ joined 06:11 darutoko joined, FROGGS_ left 06:21 denisboyun left, [Sno] joined 06:31 jnap joined 06:34 thou left 06:36 jnap left 06:42 Pleiades` left 06:43 Pleiades` joined 06:59 dayangkun_ joined, dayangkun_ left, dayangkun left 07:05 virtualsue joined, Timbus left 07:06 Timbus joined 07:12 Timbus left, Timbus joined 07:32 jnap joined 07:36 berekuk joined 07:37 jnap left 07:43 zby_home_ left 07:45 kshannon left, kshannon joined 08:00 berekuk left 08:01 zakharyas joined 08:05 tgt joined 08:17 tgt left 08:19 FROGGS joined, tgt joined 08:22 ens_ left 08:28 tgt left 08:32 bjz left 08:33 jnap joined, pdcawley joined 08:37 jnap left 08:41 rindolf joined, dmol joined 08:51 SamuraiJack left 08:55 tgt joined 09:03 SamuraiJack joined
jnthn morning o/ 09:07
yoleaux 02:59Z <lue> jnthn: I've narrowed it down to the 'frag' rule accidentally eating a closing > (but it doesn't do this on closing »), not yet sure exactly why that is.
03:06Z <lue> jnthn: strangely, I can't seem to isolate the rule, or any of its parts, without it working on perl6-m :/
09:09 Shozan is now known as SHODAN 09:11 hoverboard left 09:29 dakkar joined 09:33 salv0 joined
nwc10 jnthn: in the native call code, I really don't understand dyncall_wb_ca and dyncall_wb_cs. In that, it's not clear why they aren't usually needed. Or why the only action they seem to take is body->child_objs[slot] = NULL; 09:46
ie they just seem to update the PMC to NULL. Never to anything else.
09:47 denis_boyun joined
nwc10 er, a pointer within the PMC to NULL. 09:47
09:48 daniel-s_ joined 09:50 tgt left 09:52 pecastro joined
jnthn nwc10: I didn't write that bit, but iirc, they're dealing with the case where something changes in C land "out of band", and we need to re-compute the wrapper object. 09:53
nwc10: So setting it to NULL just means "it's missing" and causes re-computation on the next access.
nwc10 ah OK 09:54
that was my guess. That there is a cached wrapper object
09:56 xenoterracide left
FROGGS jnthn: you fixed the STable thingy?? 09:56
FROGGS is excited
tadzik hah, 'realclean' changes names all the time, it seems :) 10:00
10:00 yeltzooo joined
tadzik rakudobrew shouts at me every once in a while: "there's no such thing as realclean! It's called j-realclean!" 10:02
10:02 yeltzooo left
tadzik now it's the other way around :P 10:02
10:02 yeltzooo joined 10:04 woosley left 10:07 ens joined 10:17 denis_boyun left 10:18 sqirrel__ joined 10:27 daniel-s_ left 10:29 daniel-s_ joined 10:30 bjz joined 10:34 jnap joined 10:39 jnap left
FROGGS tadzik: I can almost bootstrap panda now, there is just a failing test 10:42
10:42 bjz left, bjz joined
tadzik oh :) 10:43
jnthn tadzik: ooh, nice :)
uh, FROGGS ^^ :)
10:44 SamuraiJack left, SamuraiJack_ joined 10:45 daniel-s_ left 10:46 daniel-s_ joined
FROGGS jnthn++ # btw :o) 10:46
10:56 daniel-s_ left 10:57 daniel-s_ joined, crab2313 joined
tadzik ah 11:05
so even though panda is not copying .git files, file-find is still traversing those
masak good noon, #perl6 11:06
tadzik hi masak
hah 11:07
r: 'foo/.git/bab' ~~ / <!.git> /
camelia rakudo-parrot 230a54: OUTPUT«No such method 'git' for invocant of type 'Cursor'␤ in regex at /tmp/tmpfile:1␤ in method ACCEPTS at gen/parrot/CORE.setting:12577␤ in method ACCEPTS at gen/parrot/CORE.setting:780␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 230a54: OUTPUT«No such method 'git' for invocant of type 'Cursor'␤ in method ACCEPTS at gen/jvm/CORE.setting:12556␤ in method ACCEPTS at gen/jvm/CORE.setting:784␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 230a54: OUTPUT«No such method 'git' for invocant of type 'Cursor'␤ in method ACCEPTS at src/gen/m-CORE.setting:12554␤ in method ACCEPTS at src/gen/m-CORE.setting:784␤ in block at /tmp/tmpfile:1␤␤»
tadzik hmm
p: 'foo/.git/bab' ~~ / <!\.git> /
camelia rakudo-parrot 230a54: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at /tmp/Ht6itilAVi:1␤------> 'foo/.git/bab' ~~ / <!⏏\.git> /␤Unrecognized regex metacharacter ! (must be quoted to match li…»
tadzik well, locally I get null pmc access :P 11:08
jnthn <!before '.git'> 11:09
11:10 crab2313 left
tadzik r: say so '.git' ~~ / <!before '.git'> /; 11:11
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«True␤»
tadzik hrm
jnthn Anchor
But why not !~~ /'.git'/ :) 11:12
tadzik well, I'm looking for an equivalent of... exactly
but I want to pull the ! inside the regex
jnthn Oh...
tadzik because file-find uses ~~ to match against :$name param 11:13
and I'd rather pass a different regex there than teach File-Find how to do not-name
jnthn If ::: were implemented that'd do it... 11:14
moritz tadzik: aren't you smart-matching against whatever is passed in 11:15
jnthn Cheating way is / ^.+$ <?{ $/ !~~ /'.git'/ }> /
moritz ?
tadzik moritz: if it's a regex, yes
or, maybe...
moritz tadzik: why not always smart-match?
then you could pass in { $^name !~~/\.git/ } 11:16
and be happy
tadzik ah, because it's using .basename for Str arguments
hrm
I wonder if I'll break someone's code if I unified that
not sure why it's this way
masak raiph: thank you for www.youtube.com/watch?v=dFs9WO2B8uI -- the message of that talk will be integrated in one of my talks at PLPW. 11:20
tadzik well, it breaks the tests :/
I think I found a way to please everyone :) It's not pretty, but at least shouldn't break existing code 11:23
11:23 denisboyun joined
tadzik bah, that won't help at all :/ 11:30
find-find will traverse the entire .git, it just won't take() any of what's inside
tablethrow.png
11:31 SamuraiJack__ joined
hoelzro tadzik: maybe you should teach yoleaux how to flip tables? =P 11:33
11:33 bjz left, bjz joined
Timbus (╯°□°)╯︵ ┻━━┻ 11:35
11:35 jnap joined, SamuraiJack_ left
tadzik I wanted to be sneaky and do say <40 9583 176 9633 176 65289 9583 65077 32 9531 9473 9531>.comb».chr 11:35
doesn't work for some reason 11:36
oooh
of course
m: say <40 9583 176 9633 176 65289 9583 65077 32 9531 9473 9531>».chr
camelia rakudo-moar 230a54: OUTPUT«( ╯ ° □ ° ) ╯ ︵ ┻ ━ ┻␤»
tadzik m: say <40 9583 176 9633 176 65289 9583 65077 32 9531 9473 9531>».chr.join
camelia rakudo-moar 230a54: OUTPUT«(╯°□°)╯︵ ┻━┻␤»
Timbus haha neat
tadzik FROGGS: hmm, my panda still cannot build because of this STable problem 11:37
This is perl6 version 2014.01-94-g230a54b built on MoarVM version 2014.01-181-gbf9c708
11:37 bjz left 11:38 bjz joined
jnthn tadzik: The NQP_REVISION didn't get mumped yet - maybe that's it? 11:40
11:40 jnap left
jnthn uh, bumped 11:40
tadzik jnthn: I usually do --gen-nqp=master 11:41
11:41 fhelmberger joined
tadzik but seems like it didn't work now :) 11:41
11:42 dmol left
FROGGS tadzik: so you've fixed the failing test already? 11:57
t/installer.t (Wstat: 0 Tests: 8 Failed: 1)
Failed test: 3
tadzik FROGGS: nope, I didn't manage to build panda 11:58
hm 11:59
ah, it didn't bother updating nqp at all
I had to nuke install/ 12:00
FROGGS ohh
12:00 newbie_Perl6 joined 12:01 crab2313 joined 12:08 sqirrel__ left
timotimo o/ 12:16
today is the day for a new p6weekly 12:22
12:23 newbie_Perl6 left
tadzik nah, that still didn't help :( 12:24
I'll look at it later time
eiro [hello] @perl6 12:27
tadzik hello eiro! 12:29
masak herro eilo! 12:32
12:36 jnap joined
eiro haha... what's the shortest perl6 script to do that ? :) 12:38
i mean "hello eiro!" to "herro eilo!"
masak r: say "hello eiro".trans( "rl" => "lr" ) 12:39
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«herro eilo␤»
eiro y/lr/rl/ in perl5
masak r: given my $ = "hello eiro" { tr/rl/lr/; .say }
camelia rakudo-parrot 230a54: OUTPUT«herro eilo␤»
..rakudo-moar 230a54: OUTPUT«===SORRY!===␤Cannot find method 'Str'␤»
..rakudo-jvm 230a54: OUTPUT«===SORRY!===␤No such method 'Str' for invocant of type 'NQPMu'␤»
masak interesting.
moritz bugs! 12:40
masak could somebody submit that as a rakudobug? I'm about to run off to catch a train.
eiro :)
masak eiro++ # indirectly uncovering bugs
eiro thanks
12:40 jnap left
moritz submits 12:40
r: $_ 'herro eilo'; tr/rl/lr/; .say 12:41
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> $_ ⏏'herro eilo'; tr/rl/lr/; .say␤ expecting any of:␤ postfix…»
moritz r: $_ = 'herro eilo'; tr/rl/lr/; .say
camelia rakudo-moar 230a54: OUTPUT«===SORRY!===␤Cannot find method 'Str'␤»
..rakudo-jvm 230a54: OUTPUT«===SORRY!===␤No such method 'Str' for invocant of type 'NQPMu'␤»
..rakudo-parrot 230a54: OUTPUT«hello eiro␤»
13:00 skids left 13:05 benabik left
masak moritz++ 13:06
herro flom a tlain! :P 13:07
13:07 colomon left
masak perl6: y/lr/rl/ 13:07
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Unsupported use of y///; in Perl 6 please use tr/// at /tmp/tmpfile line 1:␤------> y⏏/lr/rl/␤␤Parse failed␤␤»
..rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> y/lr/rl/⏏<EOL>␤ expecting any of:␤ argument list␤ post…»
masak submits LTA rakudobug
13:08 Alula left 13:14 SamuraiJack__ left 13:21 Alula joined 13:24 kaare_ left 13:32 ajr joined, kaleem_ joined 13:33 ajr is now known as Guest42709, Guest42709 is now known as ajr_ 13:35 kaleem left 13:37 jnap joined 13:41 jnap left
masak somewhere we should probably put together a nice list of "OO done right" tends to consist of. 13:44
such lists will always be opinionated/subjective, but I have a feeling the people on #perl6 could reach an interesting/useful consensus. 13:45
some suggestions:
* doesn't use inheritance for everything (as per yesterday's discussion/SO thread)
* doesn't create abstractions/classes just because they have a real-world equivalent
* uses objects for somethings and functions for others, in a nice mix 13:46
* respects exceptions as first-class OO entities with potentially interesting fields/methods
* sees OO as a means to an end, on par with (and often combinable with) FP, logic programming, and Just Plain Procedural programming 13:47
* sees the value of SRP/cohesion, and so doesn't try to make objects do too much 13:49
* recognizes that objects that actually uphold their invariants (and thus never get into an "invalid state") are much easier to program with in the long run 13:50
jnthn * tends to view the fields inside the object as a representation of the concept being modeled by the object, and keeps them sufficiencly encapsulated that it's easy to change representation when new behaviors are required 13:54
Seems that the models we are most confident in tend to want to escape object boundaries, though, such that you end up with a very stable data structure and many things manipulating it (ala Git) 13:56
masak *nod* 13:58
see also Unix files/pipes/processes
jnthn *nod*
masak I don't know what's up there, exactly. I think it's something to do with C programmers not really believing in encapsulation :) 13:59
Linus' quote about good programmers worrying about data structures is interesting in that regard.
if you encapsulate well, you shouldn't *need* to worry up-front about data structures, because you can always refactor.
jnthn Well, when I write C, I tend to find sometimes I'll have a struct and a bunch of functions you always use to manipulate it, and other times I'll have a struct I've no qualms about lots of things poking in to.
masak right. 14:00
jnthn The latter kind are where I expect a lot of stability.
masak it's two modes of thinking.
and only the former mode is really "represented" within OO thinking.
jnthn Functional thinking seems to lean more strongly towards the t'other. 14:01
I guess it could be argued that refactoring is easier on immutable data structures, though...
masak yeah, ADTs are meant to be destructured. that's how you use them. 14:02
timotimo anything happened today that needs to go on the p6weekly?
moritz not that I'm aware of 14:10
timotimo shame on you for slacking off! ;))
masak heh. 14:12
well, in our defense, it *is* Monday...
timotimo :)
you are pardoned
JimmyZ 16:34 <newbie_Perl6> 您好,我是一个Perl6的初学者,最近在阅读语言标准,想联系到您,并且想请教如何融入这个社区,请问能帮一下小 弟吗? 14:13
16:40 <newbie_Perl6> 由于今天太晚了,如果您愿意帮一下小弟,能通过电邮和我联系吗,我的邮箱是
masak: ^^ :P
14:13 araujo joined, araujo left, araujo joined
moritz might contribute something to the discussion if it were in English 14:16
JimmyZ it's easy by google translation 14:18
masak moritz: I think this is a copy-paste of an original discussion.
moritz: so it's not to exclude you specifically :)
JimmyZ well, someone msged to me through there when I was not online 14:19
s/there/here/
masak moritz: the translation seems to be "if you will, please help a neophyte get started with Perl 6"
JimmyZ right 14:20
masak JimmyZ: need any action on my part? I'm always 很愿意帮助 :) 14:21
14:21 jnap joined
JimmyZ something like 'I will translate SYN to chinese' will be welcome :P 14:22
masak ehm. 14:24
14:24 raydiak left
masak th... thanks for your obviously high regard for my mastery of Chinese. 14:24
14:25 raydiak joined
masak I think such a task needs to be undertaken by a native speaker of the target language, though. 14:25
JimmyZ hehe :)
moritz and don't send newbies to perlcabal.org/syn/
(unless that's what they are looking for)
14:26 camelia left
JimmyZ yeah, He said he is reading 语言标准 14:26
I think he meant SYN
14:26 skids joined
masak better to send them to perl6advent.wordpress.com if they want lots of examples. 14:27
or rosettacode.
JimmyZ agress
btw: there are some chinese version articles of perl6advent 14:28
14:28 sqirrel__ joined, camelia joined
masak ooh 14:28
JimmyZ www.php-oa.com/perl-6 here 14:29
yakudza php-oa hehehe
moritz there's also doc.perl6.org
14:29 kbaker joined
JimmyZ www.php-oa.com/category/perl/perl6 14:29
14:29 ChanServ sets mode: +v camelia
masak translating all of perl6advent would have a better benefit to the Chinese Perl 6 community than translating all of the Synoses, IMHO. 14:29
Synopses* 14:30
JimmyZ www.php-oa.com/2012/05/05/use-perl6...-with.html is chinese version of stevieb-tech.blogspot.de/2012/04/us...-with.html
timotimo so, what's the status of panda on moar now? 14:33
we can get the module list via sockets 14:34
but bootstrap is still b0rked?
jnthn timotimo: And the STable blocker got fixed, which also got it further
timotimo: Last I heard, it built but failed a test.
timotimo excellent :) 14:35
what is missing from nativecall on jvm now? 14:50
moritz CArray, iirc 14:51
timotimo CArray of specific things only, right?
moritz dunno 14:52
just something arnsholt++ mentioned yesterday (or so) 14:53
timotimo right
i'm a journalist now
i don't have a reason to do research
moritz lol 14:54
these lines together are hilarious 14:55
timotimo it's funny because it's true
14:55 pmurias joined
timotimo oh wait, there's actually a commit saying "implement remaining cases of CArray" 14:55
and "all that's remaining for JVM NativeCall now is nqp::nativecallrefresh" 14:56
which i don't really know what that's needed for
pmurias jnthn: you using ssa to optimize qast?
timotimo pmurias: probably mast instead of qast
also
o/ pmurias
pmurias timotimo: hi 14:57
JimmyZ ssa? 14:58
timotimo single static assignment
or static single assignment?
pmurias the first one
jnthn: I have played around with ssa for smop/mildew, and in my experience the data flow stuff (like hoopl) would be better for doing complex optimalisations like Perl 6 seems to need to optimize out the tricky stuff 15:00
jnthn: but the ssa stuff seems to be better for doing simple optimalisations efficently 15:02
15:03 btyler joined 15:04 thou joined
timotimo so, what little projects should i mention on the weekly this time? 15:06
in the "what's cooking" section
15:07 xinming left
pmurias timotimo: is there a "this week in perl 6"? 15:08
15:08 xinming joined
timotimo there now is :) 15:09
p6weekly.wordpress.com
last week was the first one i did
15:15 virtualsue left 15:19 virtualsue joined
timotimo p6weekly.wordpress.com/?p=59&sh...228d9b1eba 15:21
moritz timotimo: you might want to mention what the varint branch actually does 15:23
timotimo: otherwise: awesome
timotimo oh, right
i'm not happy about the "what's cooking" section, because it focuses so strongly on me 15:25
15:25 kurahaupo left
moritz maybe mention that gsoc ideas are cooking? 15:26
timotimo oh, that's a good idea
oh, how about a section "what you could do right now to get into perl6 development"?
like a little summary of LHF?
moritz +1 15:27
15:31 ajr_ left
timotimo now i have to think a bit harder :P 15:32
15:33 daniel-s_ left, ajr joined, daniel-s_ joined, ajr is now known as Guest7724
btyler timotimo: not that troll responses should deter you from writing what you want, but perhaps be wary of encouraging the 'perl 6 devs start lots of things and finish very few of them' meme 15:35
15:36 Guest7724 is now known as ajr_
timotimo hah :) 15:36
seems like i've been predestined to be a perl 6 developer from the very beginning of my life then :)
15:37 kaleem_ left
timotimo but you're right about that. that blog isn't the right place for self-deprecation :P 15:37
15:37 colomon joined 15:38 kurahaupo joined 15:46 kurahaupo left
timotimo moritz: any LHF you can think of right now? 15:47
anyone else? 15:52
i had some ideas recently, but i forgot them again :|
TimToady if we say S09 is LHF, can we trick someone into doing it? 15:53
FROGGS timotimo: labels? 15:54
jnthn pmurias: No, not on QAST. On MoarVM bytecode.
pmurias jnthn: and specialisation is type inference? 15:57
jnthn pmurias: Well, it takes what is discovered at runtime, butfrom those starting points you can infer further things. 15:58
15:59 bjz left
TimToady timotimo: straightening out .lol vs .tree might be LHF 15:59
jnthn uh, takes/will take/ :)
s/
:)
TimToady but it's gonna take a pass through to find everywhere that expects .tree to default to .lol rather than .tree(*) 16:00
well, it should probably be called Parcel of Parcels, but .pop is taken :) 16:01
TimToady isn't awake yet, PoP is what it starts as, not what it finishes as
pmurias jnthn: will that be a part of a jit?
16:01 sqirrel__ left
TimToady more like parcel of items, which would give us .poi :) 16:02
jnthn pmurias: At first it will be used to produce specialized bytecode, but the same data structure it'll use will be the starting point for JIT too, yes
16:03 kurahaupo joined
TimToady timotimo: porting some socket-based stuff from P5 might be LHF now 16:04
oh, wait, we already had sockets, just not much on moarvm 16:05
jnthn Yeah, MoarVM just got them too. 16:07
TimToady making a Supply out of Posix signals?
jnthn Parrot and JVM had them for a while.
timotimo that's right 16:08
signals would be an interesting thing
TimToady is having his morning paroxysmal coughing fit, so is a bit low on oxygen at the moment 16:09
timotimo TimToady: i was actually mostly interested in LHF for people who haven't done any perl6 yet
so things like .lol vs .tree seem a bit daunting :)
TimToady otoh, we obviously need someone who isn't familiar with Perl 6 but maybe familiar with APL who would think "What's so hard about S09?" :) 16:11
16:11 SamuraiJack__ joined
TimToady or a C programmer who thinks native types are really easy :) 16:12
FROGGS *g*
16:14 arnsholt joined
arnsholt o/ 16:14
timotimo :D 16:15
16:15 virtualsue left
arnsholt timotimo: I checked the ir-clogs a bit back and saw your question 16:16
The only thing missing is the refresh op, which should be pretty quick
timotimo didn't mean to startle you :)
Arnsholt has almost finished NativeCall for the JVM, the only thing missing now is the nqp::nativecallrefresh op which I don't even know what it does :P
this is what i wrote
arnsholt Yeah
It's basically a way to force a re-read of native memory
We cache the sixmodel objects for struct members and array elements, which means that sometimes the cache gets out of date and we need to flush it 16:17
TimToady
.oO(is volatile)
arnsholt We check things after they've been passed to a native call, but sometimes it's not that simple 16:19
But with last night's commits, DBIish should run
16:19 dmol joined
arnsholt Not sure if it'll run 100% correctly, but it should run 16:19
pmichaud Good morning, #perl6 16:20
nwc10 good UGT, pmichaud
TimToady o/
arnsholt timotimo: Implementing the refresh op is mostly a question of me reading the JNA docs a bit closer I think, after that a quick bout of hacking 16:21
jnthn o/ pmichaud 16:22
timotimo o/ pmichaud
nwc10 arnsholt: that sounds excellent
16:22 denisboyun left
nwc10 arnsholt: so you're pretty close to making "JVM Star" SEP? 16:23
masak pmichaud! \o/
timotimo post publish'd
arnsholt nwc10: Indeed I am. And looking forward to it!
16:25 [Sno] left
masak timotimo: url? 16:25
FROGGS hi pmichaud
timotimo p6weekly.wordpress.com 16:26
rjbs For "messing around and stuff," what's the recommended rakudo backend these days, if any? 16:28
masak timotimo: ah, p6weekly.wordpress.com/2014/02/17/c...7-of-2014/ :) 16:29
timotimo++
also, ++timotimo for doing the Rakudo release this week.
16:29 grondilu joined
timotimo yays 16:30
nwc10 rjbs: I'd suggest Moar, unless it turns out you need nativecall
PerlJam rjbs: I've been using moarvm myself, but I think the jvm backend is still more featureful but with abysmal startup time.
masak who wants to do March? March is still wide open.
rjbs Okay, I'm ./configure-ing now, thanks.
masak I'll make a deal with someone who steps up: $someone does March, and I'll do April.
rjbs I thought I had a built p6, but I must've lost it at some point.
16:31 arnsholt left
rjbs perl6: <<a b c>>.perl.say 16:32
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54, niecza v24-109-g48a8de3: OUTPUT«("a", "b", "c")␤»
rjbs perl6: my @x = <a b c>; <<x @x z>>.perl.say 16:33
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54, niecza v24-109-g48a8de3: OUTPUT«("x", "\@x", "z")␤»
16:33 vendethiel joined
rjbs That's the question I wanted to answer with perl6. Is there a channel for bugging the bot without bugging the humans? :) 16:33
jnthn perl6: my @x = <a b c>; <<x @x[] z>>.perl.say 16:34
PerlJam rjbs: you can always msg the bot
camelia niecza v24-109-g48a8de3: OUTPUT«("x", "a", "b", "c", "z").list␤»
..rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«("x", ("a", "b", "c").list, "z")␤»
rjbs jnthn: oh, nice, thank you
jnthn rjbs: Note that @foo needs a postcircumfix to interpolate
rjbs PerlJam: Thanks! Although I guess if I didn't do that, jnthn wouldn't show me the light.
PerlJam indeed ;)
jnthn rjbs: Not just there, but in general.
16:34 crab2313 left
rjbs I was thining earlier about what qqw would do in perl5 with arrays. 16:34
jnthn Means [email@hidden.address] doesn't accidentally try interpolating :) 16:35
rjbs jnthn: ugh, I know all about that problem. :(
PerlJam perl6: my @x = <a b c>; <<x {@x} z>>.perl.say 16:36
camelia niecza v24-109-g48a8de3: OUTPUT«("x", "a", "b", "c", "z").list␤»
..rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«("x", ("a", "b", "c").list, "z")␤»
rjbs oh, yes, I forgot about {}, yeesh. it's been too long since I wrote any p6!
PerlJam (for some reason I wasn't expecting all of them to give the same answer on that one. yay perl6! :-) 16:37
TimToady one way or another, needs brackets :)
perl6: my @x = <a b c>; <<x $(@x) z>>.perl.say
camelia niecza v24-109-g48a8de3: OUTPUT«("x", "a", "b", "c", "z").list␤»
..rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«("x", ("a", "b", "c").list, "z")␤»
TimToady perl6: my @x = <a b c>; <<x $(@x) z>>[1].perl.say
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54, niecza v24-109-g48a8de3: OUTPUT«"a"␤»
16:38 BenGoldberg joined, bjz joined
rjbs What's the $(...) do? I'd have expected something like "put into item context and interpolate that", though I'm not even sure that makes sense. 16:39
Or, perhaps: how are {...} and $(...) distinct there?
Huh. (make: write error 16:40
16:40 zakharyas left
jnthn Well, {...} introduces a lexical scope, while $(...) doesn't. 16:40
rjbs ) I guess I'll get perl6 built again after work. :)
btyler rjbs: yeah, apparently some goofy make issue. make install still works (and the 'write error' goes away if you make install a second time)
jnthn And $(...) calls .item on the thing inside of it. 16:41
TimToady and in theory $() itemizes, but that doesn't seem to happen here
rjbs btyler: funny, thanks
16:41 rindolf left
pmichaud yeah, I think $(@x) is being interpreted wrongly there. 16:41
I would've expected "x", "a b c", "z"
rjbs perl6: my @x = <a b c>; <<x $(1;@x) z>>.perl.say 16:42
pmichaud no... hmm
camelia niecza v24-109-g48a8de3: OUTPUT«("x", "a", "b", "c", "z").list␤»
..rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«WARNINGS:␤Useless use of constant integer 1 in sink context (line 1)␤("x", ("a", "b", "c").list, "z")␤»
pmichaud I would've expected "x", ["a", "b", "c"], "z"
rjbs Interesting, so I can have more than one statement inside $(...) but there's no scope created?
jnthn rjbs: correct
rjbs Thanks. #perl6 is helpful as always!
16:43 SamuraiJack__ left, bjz left
TimToady p6: say "foo$( my $x = 42; '' )bar"; say $x 16:44
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54, niecza v24-109-g48a8de3: OUTPUT«foobar␤42␤»
TimToady p6: say "foo{ my $x = 42; '' }bar"; say $x
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$x' is not declared␤at /tmp/tmpfile:1␤------> say "foo{ my $x = 42; '' }bar"; say $x⏏<EOL>␤ expecting any o…»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Variable $x is not predeclared at /tmp/tmpfile line 1:␤------> say "foo{ my $x = 42; '' }bar"; say ⏏$x␤␤Potential difficulties:␤ $x is declared but not used at /tmp/tmpfile line 1:␤--…»
TimToady $() is particularly useful to interpolate a $^placeholder 16:45
well, when you have to process it somehow, since $^placeholder would interpolate itself
PerlJam p6: my @x = <a b c>; <<x @(@x) z>>.perl.say 16:48
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«("x", "\@(\@x)", "z")␤»
..niecza v24-109-g48a8de3: OUTPUT«("x", "a", "b", "c", "z").list␤»
PerlJam curious.
timotimo isn't <<...>> known to not work properly on rakudo?
not exactly an LHF, is it?
TimToady PerlJam: @() does not count the () as a final subscript, so you need @()[] 16:50
PerlJam oh.
16:53 sqirrel__ joined
TimToady $() works 'cause it's a $, not because of the (); in general we always consider sigil plus () to be equivalent to sigil plus name 16:54
so @() is equivalent to @foo there
jnthn Aye; falls out of @(...) being parsed by token variable, iirc 16:55
TimToady nodnod
16:55 telex left 16:56 telex joined 17:05 mtk left 17:06 fhelmberger left 17:08 mtk joined 17:11 ens left 17:15 pmurias left, virtualsue joined
masak r: say "OH $( class Joiner { has @.pieces handles 'join' }; Joiner.new(:pieces<H A I>).join )" 17:16
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«OH HAI␤»
masak \o/
17:17 vendethiel left
masak r: say "OH $( q[only pay attention to tHe capitAlized letters In this sentence].comb(/<[A..Z]>/).join )" 17:20
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«OH HAI␤»
masak r: say "OH $( my regex capitals { /<[A..Z]>/ }; q[only pay attention to tHe capitAlized letters In this sentence].comb(capitals).join )" 17:23
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter / (must be quoted to match literally)␤at /tmp/tmpfile:1␤------> say "OH $( my regex capitals { ⏏/<[A..Z]>/ }; q[only pay attenti…»
17:23 hoverboard joined
masak ghh. 17:23
r: say "OH $( my regex capitals { <[A..Z]> }; q[only pay attention to tHe capitAlized letters In this sentence].comb(capitals).join )"
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤ in regex capitals at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤» 17:24
masak r: say "OH $( my regex capitals { <[A..Z]> }; q[only pay attention to tHe capitAlized letters In this sentence].comb(&capitals).join )"
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«OH HAI␤»
masak \o/
17:32 ajr joined, ajr_ left 17:33 ajr is now known as Guest36201, Guest36201 is now known as ajr_ 17:37 [Sno] joined 17:50 dakkar left 17:51 FROGGS left 17:58 vmspb joined 18:02 pecastro left, benabik joined
timotimo so little going on today here :( 18:03
18:03 xenoterracide joined
moritz you have high standards :-) 18:04
timotimo yeah, i guess
18:04 mcglk joined 18:05 vendethiel joined
raydiak we could spontaneously burst into a musical number.... 18:06
TimToady
.oO(Spam, spam, spam, spam...)
18:07
btyler timotimo: here's something: "==> Successfully installed panda" (moarvm)
timotimo \o/
btyler just needed a placeholder .moarvm file in the compiled__module test
timotimo i'm now annoyed by overscan on my "tv" 18:08
i'd have to figure out a proper affine transformation matrix to make it work, but that's work :|
raydiak your tv lets you input transformation matrices? 18:09
jnthn timotimo: Sounds like a fine idea... ;) 18:10
TimToady some video drivers give you an overscan/underscan adjustment
geekosaur which is still a hack
18:10 Rotwang joined
timotimo raydiak: xrandr does 18:12
geekosaur not all drivers support xrandr (or support it fully) though
timotimo right. this is an intel graphics card, though :)
sadly when doing specific changes to the matrix the output will turn off and on briefly at least on this device 18:13
so i can't use it to make a wildly spinning desktop with it :P
raydiak there has to be a compiz plugin for that :P 18:14
timotimo most probably
geekosaur wonders if there's a cairo-compmgr plugin
probably not...
timotimo there may be 18:15
raydiak compiz has the market cornered on useless plugins (in addition to having some very handy ones)
I didn't even know cairo-compmgr had plugins 18:17
rjbs (Thanks again for the help, I have a working ./perl6-m now.)
btyler++ 18:18
timotimo \o/ 18:19
btyler rjbs: sweet, have fun :)
tadzik/FROGGS: sent a pull request which fixes the failing panda test on moar-support 18:23
18:26 ajr_ left
dalek nda/moar-support: fdee20a | (Ben Tyler)++ | lib/foo.moarvm b/testmodules/compiled__module/blib/lib/foo.moarvm:
Add a fake .moarvm file to the compiled module test dir.

This fixes the failing test under MoarVM.
18:26
nda/moar-support: 441d2ce | tadzik++ | lib/foo.moarvm b/testmodules/compiled__module/blib/lib/foo.moarvm:
Merge pull request #67 from kanatohodets/moar-support

Add a fake .moarvm file to the compiled module test dir.
tadzik btyler: I should've probably checked or asked earlier, but did you check if it breaks other platforms? :P
dalek p/r2-lex-to-local: 2a13276 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
try to turn lexicals into locals.
18:28
p/r2-lex-to-local: 63945cb | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
first version to pass rakudo spectests
p/r2-lex-to-local: 7e670d4 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
handle the outermost block as well. it's special.
p/r2-lex-to-local: 48f6dbf | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
merge two implementations of find_lex.
btyler I didn't...apologies. I can check on my windows vm later today
tadzik it probably won't, as there's a similar one for jvm :)
btyler++ # good job
btyler that was my thinking, but then I started wondering about treatment of empty files on various platforms... 18:29
anyways, thanks for merging so quickly :) tadzik++
FROGGS[mobile] \o/ 18:32
18:33 kivutar joined 18:39 tgt joined, BenGoldberg left 18:45 FROGGS joined
timotimo my brain is a bit derped today, not having much luck with the block inlining code-design wise :| 18:49
18:49 benabik left
dalek nda/eleven: 359402d | (Tobias Leich)++ | lib/Panda/Fetcher.pm:
moar does not like to take a substr OOB
18:52
panda/eleven: 3c47a06 | (Tobias Leich)++ | lib/Panda/Common.pm:
panda/eleven: fix spello
18:52 dalek left
FROGGS sorry dalek 18:52
18:52 dalek joined, ChanServ sets mode: +v dalek
dalek Heuristic branch merge: pushed 30 commits to rakudo/eleven by FROGGS 18:53
18:56 sqirrel__ left
dalek kudo/eleven: 6d53dd9 | (Tobias Leich)++ | src/core/JSON/Pretty.pm:
fix for flat $/.ast

See github.com/moritz/json/commit/601d...d708c6f133
19:00
lue Is there a way I can find the line on which a match was made? Something like $/.line-from ? 19:01
PerlJam I don't think anything in the matching mechanics tracks "lines" 19:02
lue Could also be something like $str.pos-to-line($/.from), doesn't have to be specifically in $/ :) 19:03
moritz lue: $/.prematch.comb("\n").elems + 1 19:04
PerlJam moritz++ you beat me to it :)
FROGGS nqp/src/HLL/Compiler.nqp:538:method lineof($target, int $pos, int :$cache = 0) { 19:05
lue r: say "a\n\nb\nc" ~~ /c/; say $/; say $/.prematch.comb("\n").elems + 1'
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> $/; say $/.prematch.comb("\n").elems + 1⏏'␤ expecting any of:␤ …»
lue r: say "a\n\nb\nc" ~~ /c/; say $/; say $/.prematch.comb("\n").elems + 1 19:06
camelia rakudo-moar 230a54: OUTPUT«「c」␤␤「c」␤␤Cannot call 'comb'; none of these signatures match:␤:(Cool: *%_)␤:(Cool: Regex $matcher, Any $limit = { ... }, *%_)␤:(Str:D: *%_)␤:(Str:D: Regex $pat, Any $limit = { ... }, Any :match($match), *%_)␤ in method comb at sr…»
..rakudo-parrot 230a54: OUTPUT«「c」␤␤「c」␤␤Cannot call 'comb'; none of these signatures match:␤:(Cool: *%_)␤:(Cool: Regex $matcher, Any $limit = { ... }, *%_)␤:(Str:D: *%_)␤:(Str:D: Regex $pat, Any $limit = { ... }, Any :match($match), *%_)␤ in any at gen/par…»
..rakudo-jvm 230a54: OUTPUT«「c」␤␤「c」␤␤Cannot call 'comb'; none of these signatures match:␤:(Cool: *%_)␤:(Cool: Regex $matcher, Any $limit = { ... }, *%_)␤:(Str:D: *%_)␤:(Str:D: Regex $pat, Any $limit = { ... }, Any :match($match), *%_)␤ in any at gen/jvm/BO…»
FROGGS r: say "a\n\nb\nc" ~~ /c/; say $/; say $/.prematch.Str.comb("\n").elems + 1
camelia rakudo-moar 230a54: OUTPUT«「c」␤␤「c」␤␤Cannot call 'comb'; none of these signatures match:␤:(Cool: *%_)␤:(Cool: Regex $matcher, Any $limit = { ... }, *%_)␤:(Str:D: *%_)␤:(Str:D: Regex $pat, Any $limit = { ... }, Any :match($match), *%_)␤ in method comb at sr…»
..rakudo-parrot 230a54: OUTPUT«「c」␤␤「c」␤␤Cannot call 'comb'; none of these signatures match:␤:(Cool: *%_)␤:(Cool: Regex $matcher, Any $limit = { ... }, *%_)␤:(Str:D: *%_)␤:(Str:D: Regex $pat, Any $limit = { ... }, Any :match($match), *%_)␤ in any at gen/par…»
..rakudo-jvm 230a54: OUTPUT«「c」␤␤「c」␤␤Cannot call 'comb'; none of these signatures match:␤:(Cool: *%_)␤:(Cool: Regex $matcher, Any $limit = { ... }, *%_)␤:(Str:D: *%_)␤:(Str:D: Regex $pat, Any $limit = { ... }, Any :match($match), *%_)␤ in any at gen/jvm/BO…»
FROGGS r: say "a\n\nb\nc" ~~ /c/; say $/; say $/.prematch.comb(/\n/).elems + 1 19:07
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«「c」␤␤「c」␤␤4␤»
dalek kudo/eleven: f24fd83 | (Tobias Leich)++ | src/core/CompUnitRepo/Local/Installation.pm:
handle .jar and .moarvm file extensions
19:09
19:12 pecastro joined 19:13 berekuk joined 19:15 BenGoldberg joined
lue I've been wondering: could/should the synopses become a part of doc.perl6.org ? 19:19
19:22 darutoko left
moritz lue: no. They are not written for users, but for compiler writers. 19:23
19:23 tgt left
lue Ah, alright. Guess I'm too used to the synopses then :P 19:23
FROGGS and since the synopsis do not match the implementation(s), it might be confusing for a user to read it 19:24
PerlJam There should still probably be a link to the synopses with a nice "proceed with caution" message
we have all different manner of "users", some of them would benefit from the synopses. 19:25
geekosaur inserts the TeX swerve sign
moritz PerlJam: I'm open to "read more" links to the synopses
and maybe a link on the front page 19:26
but I don't want doc.perl6.org to be a www.perl6.org-style link collection
PerlJam aye, agreed 100% on that. 19:27
19:36 kaare_ joined 19:37 denis_boyun joined 19:38 tgt joined
btyler where's the appropriate place to file a bug against perl6-debug-m? I get a segfault when debugging a program that reads lines from an open file: gist.github.com/kanatohodets/18669...9b59931873 19:40
lue btyler: at least for me, it just segfaults, I don't think a specific piece of P6 code does it. 19:41
FROGGS it was working yesterday O.o
btyler lue: hm, not sure what's up. I'm on OSX. I was trying to debug a grammar and had already golfed the grammar itself down to a TOP and one token, so decided to try removing the other significant bit (the open/read) and it stopped segfaulting. does the gist I posted segfault for others? 19:44
FROGGS ~/dev/rakudo$ perl6-debug-m 19:45
> 1
>>> LOADING <REPL 1>
lue Ooh, I might have been encountering the segfault on USAGE unless [&&] ($backlinks, $synopses, $outdir)».IO».d;
vendethiel moritz: not that there's lots of stuff for users :p. So I've been reading synopsis, it's cool 19:47
lue btyler: I get a segfault with your code.
vendethiel When there'll be tutorials (more in-depth), I can agree that synopsis would be a bit too complex/deep for users 19:48
FROGGS btyler: RT would be the right place
vendethiel but as of right now, for users your main source of informations is perl6advent (read up to 2011) and the synopsis
btyler FROGGS: ok, thanks. 19:49
moritz vendethiel: the goal of doc.perl6.org is to change that 19:51
and yes, I know we're not there yet :-)
vendethiel moritz: that's API docs, pretty different from synopsis. I do think it should link to them 19:52
moritz vendethiel: not only API docs 19:53
for example doc.perl6.org/language/containers
or doc.perl6.org/language/classtut
yes, we need more of those :-) 19:54
lue moritz: is there a list of "Most Wanted Documentation" ? 19:55
vendethiel moritz: most definitely ! :) 19:56
moritz: I'm still not sure about what \x means (I guess a parcel ?) or some other rules (container stuff)
moritz lue: not really; I could start such a list if you are interested 19:57
vendethiel: it means "bind that thing, whatever it is"
vendethiel moritz: like := ?N
moritz if there's a container, it contains a container. If there's a value, it contains a value
lue moritz: I'd like to write some documentation, though I can't think of a specific topic, so MWD would be nice :)
moritz if you give it a parcel, it'll be a parcel
lue: would you like to write a concurrency tutorial? 19:58
lue: or about creating classes and the like via the MOP?
lue: or about lazy lists?
lue moritz: I'd probably go with lazy lists, because that's the one I have the most existing knowledge in :) . 19:59
20:01 LordVorp joined
raydiak lue: perldoc.perl.org/perl.html # port the things listed here to P6 :) 20:02
dalek c: aeb06d8 | moritz++ | WANTED:
add WANTED

  lue, take your pick :-)
20:05
kudo/eleven: 618c0bd | (Tobias Leich)++ | src/core/CompUnitRepo/Local/Installation.pm:
add -m wrapper too
kudo/eleven: 87f37d5 | (Tobias Leich)++ | src/core/CompUnitRepo (2 files):
consider .jvm/.moarvm candidates besides .pir
20:10 kivutar left 20:13 kivutar joined
lue In related news, my synopses generator functions, at least to the point of placing backlinks under the appropriate section header. I've been calling it "syngen", though if you want it as a different name under perl6/*, that's fine by me. 20:14
Afterwards I can start a pod6ify branch on specs/ to bring the other synopses to Pod6.
masak lue++ 20:16
lue masak: does perl6/syngen sound alright to you? 20:20
masak no idea. haven't been following along. 20:22
what is it and why does it belong under the perl6 namespace?
lue It's meant to replace the crusty old POD synopses generator we have, and IIRC moritz wanted something that could be maintained by many people, which is easier under perl6/ than lue/ :) 20:23
masak ok, sounds good to me.
syngen or syn-gen sound fine to me, if a bit short. 20:24
synopsis-generator is a bunch clearer.
but here I am, bikeshedding. it's not like the name can't be changed later.
PerlJam I thought TimToady was our synopsis generator? :)
lue I'll go with the long form, clarity > compactness in this situation, I feel. 20:25
"You don't appear to have permission to create repositories for this organization. Sorry about that. " way to entice me with an "Add Repository" button, github.
(I was gonna call it "synopses-generator", if someone out there will create the repo) 20:26
masak lue: maybe add it to your github account first, and worry about the creation-in-perl6 later?
(also, I humbly suggest synops*i*s-generator, not synops*e*s-generator) 20:27
lue masak: could do that, there's a "Transfer Ownership" button I could push later, if I were an admin to Perl 6.
FROGGS perl6-m -e 'use JSON::Tiny; say from-json "/home/froggs/dev/nqp/install/languages/perl6/site/panda/projects.json".IO.slurp'
("" => []).hash ("" => []).hash ("" => []).hash ("" => []).hash ("" => [""]).hash ("" => []).hash ("" => []).hash ("" => []).hash ("" => []).hash[...]
lue for some reason doesn't want perl6/ to have this repo as a fork, and thus is desperate to make sure perl6 owns the original eventually :)
FROGGS :o(
lue masak: I was just thinking that it generates more than one synopsis, but I can go with "synopsis" 20:28
masak lue: or, you know, the one who creates the repo on perl6 could just push (a clone of) your repo to it ;)
lue :) 20:29
masak lue: a machine that generates hats is still called a hat-generator, not a hats-generator
lue Yeah, I see your point.
PerlJam "syngen" would have avoided all this discussion ;)
masak :P 20:30
lue Ready to be picked apart! \o/ github.com/lue/synopsis-generator 20:31
I think I'll start that pod6ify branch in a minute, if no-one objects... 20:32
FROGGS star: use JSON::Tiny; say to-json 1
camelia star 2013-09: OUTPUT«1␤»
FROGGS star: use JSON::Tiny; say from-json to-json 1
camelia star 2013-09: OUTPUT«(Any)␤»
moritz lue: which backends does it work with? 20:34
lue All but moar, because moar has a bug in the regex lang at the moment.
(a bug which is narrowed down to the 'frag' rule, but no narrower) 20:35
Basically, the ending > in things like L<S02/sec/frag> gets picked up by 'frag' when it shouldn't (L«S02/sec/frag» and L<S02/sec> work though)
moritz lue: what is the --backlinks option about? 20:37
lue That points to the directory containing test files with L<> backlinks, usually roast (or bltest for fast testing) 20:38
moritz so, backlinks = smartlinks? 20:39
lue yes. I can change the terminology if necessary.
moritz not necessary
if roast is the "normal" use case, mention it in the docs/usage message 20:40
20:41 arnsholt joined
dalek c: 3a608da | (Prog Rammer)++ | lib/AST.pod:
within typo
20:41
c: 718f98a | (Tobias Leich)++ | lib/AST.pod:
Merge pull request #15 from prammer1/typos

within typo
FROGGS Prog Rammer, lol *g* 20:42
star: use JSON::Tiny; say from-json q/{ "a" : "b" }/ 20:43
camelia star 2013-09: OUTPUT«("a" => "b").hash␤»
FROGGS this is broken on my perl6-m
jnthn Ugh 20:44
20:44 Mouq joined
jnthn Golf time ;) 20:44
FROGGS damn, precomp messes it up :/
lue & 20:45
moritz can't bootstrap panda with perl6-j, tests fail in t/tester.t (after using up enough RAM to make the laptop sluggish) 20:46
20:47 Adriaaan joined
moritz perlpunks.de/paste/show/5302758f.7675.199 20:48
r: say 'a' ~~ /^<![b]>/ 20:51
camelia rakudo-parrot 230a54, rakudo-jvm 230a54, rakudo-moar 230a54: OUTPUT«「」␤␤»
moritz doesn't understand token frag
20:52 cooper left
moritz if $*GUILLEMETS is true, then it matches: "the following character must not be a »", and then either any character, or » 20:53
erm, what?
why not do something like <?{$*GUILLEMETS}> <-[»]>+ | <!{$*GUILLEMETS}> <-[>]>+ 20:56
21:01 cooper joined, cooper left, cooper joined, labster left
moritz or get rid of dynamic variables altogether, and simply say '<' ( <-[>]>+ '>' | '«' ( <-[»]>+ ) '»' 21:07
21:07 Adriaaan left
FROGGS there is a ) missing 21:07
moritz right 21:08
it be before '>'
*should
FROGGS yeah
moritz '<' ( <-[>]>+ ) '>' | '«' ( <-[»]>+ ) '»'
possibly refactor the the inner capture into two different subrules 21:09
btyler moritz: perl6-j panda 'make test' worked ok for me. rakudo 230a54b, nqp 28b9c2, panda 934a4f3.
moritz '<' <frag=frag-ascii> '>' | '«' <frag=frag-guillemets> '»'
btyler trying bootstrap now (first ran it on moar-support by accident), it just takes a while
was the verbose test output any more helpful? 21:10
moritz btyler: I don't even know how to get from bootstrap 21:11
btyler moritz: hm, sorry, not sure I understand 21:14
raydiak shouldn't we delete the rakudo moar-support branch since its been merged?
*it's 21:15
moritz raydiak: we should 21:17
vendethiel moritz: also, doc.perl6.org/language/classtut, should have .bless(* <- whatever must be removed now, right?
moritz vendethiel: right
vendethiel PR'd :p 21:18
dalek c: 76044ba | moritz++ | lib/classtut.pod:
bless(*) is deprecated, vendethiel++
lue moritz: yeah, when trying to figure out what went wrong, I noticed how weird that was. I think it's supposed to match "any one character or \> / \»". Thought I fixed that, but seems I didn't. 21:21
FROGGS jnthn: okay, there is no precomp issue, it is just that the eleven branch ships its own JSON::Tiny which messes with the installed one 21:22
jnthn FROGGS: ah...
phew :) 21:23
So can you actually install a module with Panda?
On Moar?
FROGGS jnthn: so, it seems like I can install panda (and its deps) into a repository, and I have now panda-m and panda-p executables
I am trying in a sec
==> Successfully installed JSON::Pretty 21:24
\o/
jnthn: yes --^ 21:25
I did it in the "eleven" branches, because panda/master will invoke perl6, which is perl6-p on my box 21:26
and the eleven branch handles multiple backends better
hoelzro timotimo: postjes
er
that was supposed to be timotimo++
lemme try again 21:27
timotimo++ # postje
lue moritz: hopefully this makes more sense now: github.com/lue/synopsis-generator/...100fce242f 21:31
(interestingly, things aren't more or less broken than before that change)
I'll take the dynamic-less approach into consideration; I just wanted to make sure we weren't checking for the wrong closer when I wrote the grammar. 21:32
21:35 labster joined 21:37 sjn left
dalek kudo/eleven: 13635b4 | (Tobias Leich)++ | src/core/JSON/Pretty.pm:
choose names that do not hide JSON::Tiny
21:37
c: e5d116a | Mouq++ | lib/Set.pod:
Document some more Set operators
21:38
c: 2e116e2 | Mouq++ | lib/Set.pod:
Links should point to L«infix:<(*)>», not L<(*)>
c: 9f194bf | Mouq++ | lib/Set.pod:
Finish bare-bones documentation for Set operators
c: 80fc869 | Mouq++ | lib/classtut.pod:
Merge branch 'master' of github.com/perl6/doc
Mouq ^^ My spend tuits for today
*spent
I'm not actually a good documentation writer, but my hope here is that some documentation is better than none 21:39
TimToady Mouq++ 21:40
arnsholt Some documentation is better than none, and if someone complains about the documentation they volunteer to make it better =)
21:42 sjn joined
jnthn REally happy to see lots of docs work recently :) 21:45
lue jnthn: especially since it implies the biggest priority is not a working compiler :) 21:46
sjn \o 21:47
jnthn: you mentioned another trip to Oslo, didn't you? :)
21:47 beastd joined
sjn next week? 21:48
jnthn sjn: Nah...not got anymore travel this month, it turns out. 21:49
sjn: Got a (not 100% confirmed) Oslo visit next month.
hoelzro what's the eleven branch? 21:54
jnthn You switch to it, and Panda plays Spinal Tap.
hoelzro ok, that's what I thought. 21:55
=P
jnthn I think it's a reference to S11, though :)
arnsholt jnthn: Which bit of March is your potential Oslo visit? 22:02
jnthn lemme check
I'd be teaching 17th/18th
So could meet on evening of 17th easily 22:03
sjn jnthn: ook, cool
hmm
17th, eh
jnthn: courses again? 22:04
jnthn Of course. :)
And not Git, for once!
arnsholt I saw a recording of a guy showing how to write .Net assembly and his first program wrote "OH HAI" 22:05
I wonder if he may have taken one of your courses =D
jnthn That *is* the kinda thing that might show up in one of my courses. 22:06
jnthn is writing *loads* of examples up at the moment and has some fun things :)
sjn jnthn: what's your schedule for March 19th? :)
jnthn sjn: Madly writing yet more course material, says le schedule :) 22:07
sjn hopes damian is in Oslo that week
jnthn sjn: I seem to recall you mentioning something was happening around that date...
Ah, that was it.
sjn arnsholt: did Damian reply to you yet? 22:08
22:08 skids left
arnsholt Not yet. Still pretty early in the day his time though, assuming he's still in .au 22:09
sjn mm
arnsholt Besides, I expect he gets lots of mail, so some latency is probably to be expected
sjn is arriving from the QA hackathon around 22-ish on march 17th 22:10
lue Is TheDamian still involved with Perl 6? I can't tell, because he apparently doesn't IRC.
sjn plane lands at 21:15
jnthn: let's see what we can make happen :) 22:13
jnthn: in any case; Damian is definitely here the week after (March 24-28), and has said he might be able to come in the week before 22:14
arnsholt and I (mostly arnsholt) are trying to make something happen at UiO 22:15
jnthn 263 22:16
uh
masak jnthn: at least!
sjn so arnsholt would also like to see if you or masak would like to come :)
and/or
masak .oO( /win 263 )
jnthn sjn: OK, hmm.
sjn timing permitted and stuff
jnthn masak: It's, uh, the number of minutes by train from London to Edinburgh :P
22:16 kbaker left
masak sjn: doubtful in my case, as much as I'd like to. 22:17
sjn: I'll add it to my calendar just in case.
22:17 berekuk left
masak 'night, #perl6 22:18
dalek ecs: 03d49e0 | lue++ | c (2 files):
Make create_contents.p6 generate a valid Pod6 file.
sjn masak: well, part of the thing is that (if all goes well) we get to give a Perl 6 presentation for the staff and students at the Informatics dept. at UiO
sjn needs to hit the sack too
lue masak o/
sjn o/
22:19 eternaleye joined 22:23 Rotwang left 22:34 Mouq left 22:35 slavik joined 22:40 tgt left
jnthn lue: Got a link to that failing grammar and some test input handy? 22:41
lue jnthn: everything you need is here: github.com/lue/synopsis-generator I can pull out the grammar and make a test script if you'd prefer though. 22:43
jnthn lue: Yes, that'd be great if I've something I can just run. 22:45
lue just a moment :)
jnthn: here you go: gist.github.com/lue/9060818 22:49
22:49 virtualsue left
jnthn lue: Thanks 22:52
lue Oh, I didn't realize L<S**/Sec only> was failing, seems it only works with L<S**/"Sec only">. (There's no similar double-quote handling for frag, so it wouldn't/shouldn't work in that portion) 22:53
dalek ast: 33ba343 | (Rob Hoelz)++ | S04-exception-handlers/catch.t:
Fix syntax error in catch.t
22:54
22:55 berekuk joined
jnthn lue: OK, I see the difference in output of that between rp and rm. 22:55
lue jnthn: updated the gist with two more tests
22:56 dmol left
jnthn lue: Those bottom two already work on Moar, yes? 22:56
It's 1 and 3 that don't?
lue yes, L<Syn/"Sec"> works everywhere. It's L<Syn/Sec> and L<Syn/*/Frag> that don't work 22:57
hoelzro mokudo is still awaiting socket support, yes? 22:58
timotimo nope 23:00
we have that :)
jnthn hoelzro: Has TCP client/server sockets as of Sunday.
timotimo didn't you read my weekly changes post? :P
jnthn lue: Think I found it. Working on a fix. 23:03
lue ooh! Can't wait to see what caused it :) .
23:03 colomon left 23:04 denis_boyun left
hoelzro sweeeet 23:05
timotimo: I must've missed that part =/
23:05 berekuk left
jnthn lue: spectesting a patch that seems to fix it. 23:12
23:18 colomon joined
jnthn hoelzro: t\spec\S04-exception-handlers\catch.t 23:22
Parse errors: Bad plan. You planned 28 tests but ran 29.
23:23 btyler left
dalek p: 17bf0fd | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
Add missing decont of qastnode rxtype.

Assertions <?{$*FOO}> and <!{$*FOO}> didn't work out properly; the Scalar container was tested instead of the contents.
23:23
hoelzro jnthn: I just pushed a fix for that about 30 mins about 23:24
timotimo ah! :)
jnthn: it seems like adding decont() everywhere makes stuff work instead of break
should we just replace each line with nqp::decont($0);?
jnthn timotimo: Well, you can't just throw it everywhere... :) 23:25
hoelzro: You fixed the test, but not the plan.
hoelzro oh, crap =/
working on it 23:26
jnthn lue: That NQP fix should do it.
dalek ast: 32602d2 | (Rob Hoelz)++ | S04-exception-handlers/catch.t:
Fix plan for catch.t
hoelzro ok, done
23:26 kivutar left
lue tries it 23:26
jnthn r: use Test; my $*x = 0; nok '' ~~ /<?{$*x}>/;
camelia rakudo-moar 230a54: OUTPUT«not ok 1 - ␤»
..rakudo-parrot 230a54, rakudo-jvm 230a54: OUTPUT«ok 1 - ␤»
arnsholt Whee! Refreshing! 23:27
jnthn lue: It golfs to ^ :)
23:27 vmspb left, jnap left
lue jnthn: what's funny is that I had a feeling that <?{}> was what causing it, if only because it's the most exotic regex feature I used :P 23:28
23:29 jnap joined
dalek ast: 5386c20 | jnthn++ | S05-metasyntax/angle-brackets.t:
Test for contextuals in <?{...}> assertions.
23:30
arnsholt jnthn: What's the purpose of the class_handle parameter to the get and bind attribute REPRops? All of a sudden I wonder if I'm not doing it rong 23:31
dalek kudo/nom: 3062617 | jnthn++ | tools/build/NQP_REVISION:
Latest NQP, for <?{$*x}> fix.
jnthn arnsholt: class A { has $!x }; class B is A { has $!x };
arnsholt: It's what tells you which $!x
arnsholt Ah, right 23:32
jnthn lue: Hopefully now your thingy runs on Moar :)
arnsholt I have no idea what'll happen if we start subclassing CStructs
Hilarity (and segfaults), no doubt 23:33
lue :) it'll take ≈quarter-hour before I can see ('cos I still insist on having r-p for some reason), but I believe it'll work all the same.
jnthn Floods! Locust plagues! Haskell programmers switching to PHP!
timotimo wow, that's harsh
arnsholt makes a Zavolaj issue to remember to find out
jnthn timotimo: Dont' subclass CStructs then :P 23:34
23:35 raiph joined
jnthn tries to remember if there were any other bugs he'd said he'd fix... 23:35
hoelzro: catch.t looks fine now, thanks. 23:36
23:37 skids joined
lue For converting the synopses to Pod6, would it be more worthwhile to write a POD2Pod script? I at least am not much in the spirit to convert S02 by hand :P 23:40
dalek volaj: db4fee8 | (Arne Skjærholt)++ | t/07-writebarrier.t:
Remove bogus refresh test.

The test checked that a covertly modified struct member wasn't discovered until after we explicitly call for a refresh, but that's probably not something we want to require.
23:42
arnsholt crosses fingers and runs the full NativeCall test suite 23:43
dalek volaj: 6c38010 | (Arne Skjærholt)++ | t/07-writebarrier.t:
Also update test count. Derp.
23:50
p: 9635b9f | (Arne Skjærholt)++ | src/vm/jvm/ (5 files):
Implement nqp::nativecallrefresh() and related logic.

This is a first rough version that simply clears all the caches, all the time, whenever a refresh is required. That's probably going to be a bit slow, as we refresh all function arguments after the call, to guard for functions that modify their arguments.
A better version of this would only invalidate the cached objects that are actually different from the pointer in C memory.
As of this commit, we pass all the NativeCall tests.
23:50 BenGoldberg left
arnsholt There. Have the appropriate amount of fun! 23:51
raiph \o/ arnsholt++ 23:52
timotimo ooooh awesome
so, jakudo star/rakudo coffeecup this month? :D
who's up for the release this time?
jnthn arnsholt++
lue arnsholt++
arnsholt The NQP release for this month is already done, isn't it? 23:53
timotimo don't remember seeing it
i think i have to make it, too?
arnsholt Oh, in that case a JVM star should be possible I think
timotimo that's awesome! good work! :) 23:54
and now i'll have to do good work, too
jnthn tries to remember if he got perl6-debug-j into the build... 23:55
timotimo oh, that would be important as well
jnthn Will look at it tomorrow, or failing that certainly on Wed.
timotimo that doesn't delay the nqp release, so that's good :) 23:57
jnthn Will cut a Moar release on Wed too, in time for your work on Thu. 23:58
timotimo oh, but we have to do the nqp release after the moar release :)
oh
but that's plenty of time
jnthn Sure, but on Thursday I'll be off to a concert, so won't be about so much. So better I cut it on Wed. :) 23:59
Time for some sleep
timotimo sounds great :)
good night jnthn!
jnthn 'night