»ö« 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.
lizmat wants to go to bed and finds out she broke parrot *again* :-( 00:01
a simple boxing should probably fix it 00:02
woolfy1 timotimo++ 00:04
(weekly)
dalek kudo/nom: b1ce7e0 | (Elizabeth Mattijsen)++ | src/core/IO/Spec.pm:
Unbreak panda build

Apparently we *do* need an explicit box when doing a //= in parrot
00:10
lizmat good night, #perl6!
japhb o/ lizmat and woolfy1!
00:18 ajr_ left 00:33 leont left 00:34 chipotle left
BenGoldberg We should rename panda to china, since broken china sounds funnier than broken panda. 00:35
tadzik we can call it china when it's broken :) 00:38
00:41 kurahaupo left
japhb It is frustrating even to me how much time lizmat is spending on working around r-p differences from r-m and r-j. I can only imagine how frustrating it is for her at this point. 00:41
Anyone happen to know how much trouble an English monoglot would have in Salzburg? Any particular hints for working around that? 00:45
gtodd Google translate .... :-) 00:46
japhb gtodd: Yeah, I was just checking that I had a current version on my phone. And then it occurred to me that the most important thing is finding someone who speaks English and sells local SIM cards. :-) 00:47
gtodd heh yeah ... well vienna is very international don't know about salzburg 00:48
00:48 Hor|zon joined 00:53 Hor|zon left
japhb ISTR some time ago that English was supposed to be spoken at airports worldwide, but perhaps that only applies to ATC/Tower radio. 00:56
BenGoldberg I'm not sure how well this works on a mobile phone, but google's shopping search has an option to only show items "Available Nearby". You could use that for finding a local SIM card, once you're there. 01:02
01:03 chipotle joined
BenGoldberg Obviously you'd need to be near a wireless hotspot, or else it's a catch 22 ;) 01:04
01:12 kurahaupo joined 01:13 Mso150 joined 01:30 cognome left, cognome joined 01:35 Mso150 left, cognome left 01:36 Mso150 joined
[Coke] gsoc 2015 announced. 01:37
BenGoldberg Imagine if it were early, and gsoc actually meant google spring of code? 01:43
01:45 ilbot3 left
japhb I always think about Australian summer whenever I see GSOC 01:45
01:46 ilbot3 joined 01:47 Mso150 left
BenGoldberg Yeah, it's a mite chilly in the land down under, when gsoc happens. 01:47
01:50 rmgk left
japhb How is our record on bringing people into the project via GSOC that weren't already in the Perl 6 community? 01:50
01:52 rmgk joined 01:58 cognome joined 02:02 cognome left 02:08 pat_js joined 02:46 xinming joined 02:48 kurahaupo left 02:49 Hor|zon joined 02:54 Hor|zon left 02:57 noganex joined 03:00 [particle] left, noganex_ left 03:12 [particle] joined 03:19 yeahnoob joined 03:31 xenoterracide joined 03:37 fhelmberger joined 03:40 kaare_ joined 03:41 fhelmberger left 03:49 xenoterracide left 04:08 lsm-desktop left 04:09 kurahaupo joined 04:22 xenoterracide joined 04:27 BenGoldberg left, MikeFair left 04:32 kaare_ left 04:43 [Sno] left 04:44 ggoebel1111112 joined 04:46 ggoebel1111111 left 04:50 Hor|zon joined 04:51 MikeFair_ joined 04:52 tinyblak joined, MikeFair_ is now known as MikeFair 04:53 MikeFair left 04:55 Hor|zon left 04:57 pat_js left
moritz japhb: well, I got deeply involved with the test suite so that I could mentor Auzon++ 05:04
but I was in the p6 community before
05:05 kaare_ joined, xenoterracide left 05:13 notfix is now known as xfix
masak morning, p6 community 05:22
masak commutes 05:32
japhb associates and permutes 05:34
05:40 tinyblak left 05:42 [Sno] joined 05:48 gfldex joined 05:56 kurahaupo left 05:58 bartolin joined 06:02 virtualsue joined 06:06 SamuraiJack_ joined 06:09 bartolin left 06:10 bartolin joined
nine timotimo: at APW I will show what can already be done with Inline::Perl5. It's been almost two weeks since I had to change anything in Inline::Perl5 to get something working. So yes, it's already quite powerful and other than minor adjustments I wouldn't know what to add. 06:14
japhb: what I still would like to do is improve exception handling so you would get a unified stack trace including frames of both languages. Have no idea if that's possible though. 06:16
japhb: I hope to get new ideas at APW though :) 06:17
06:18 gfldex left 06:47 chipotle left
nine japh: Salzburg is a popular tourist destination, so I guess you can quite far with English only. 06:48
06:51 Hor|zon joined
jnthn morning, #perl6 06:52
06:56 Hor|zon left, ribasushi left
moritz \o 06:57
06:57 yeahnoob left 06:59 denis_boyun_ joined
jnthn japhb: I've always got by fine in Salzburg 07:01
japhb: And I don't really speak German. I can pretend to if it gets me a beer and some food... :) 07:02
.oO( But why do I have to bitter when I want a pilsner? )
07:03 molaf_ joined 07:04 ribasushi joined 07:06 molaf left 07:10 yeahnoob joined, FROGGS joined 07:11 rindolf joined, immortal joined, erkan left, tinyblak joined 07:19 darutoko joined 07:20 xfix is now known as notfix 07:22 Mso150 joined, abraxxa joined
abraxxa good morning! 07:22
07:23 tinyblak left 07:24 tinyblak joined
lizmat morning, #perl6! 07:25
FROGGS good morning
07:27 denis_boyun_ left
jnthn o/ all 07:28
07:29 mathw joined
nwc10 good *, * 07:32
lizmat FROGGS jnthn nwc10 \o 07:33
FROGGS nwc10: would it be possible to purchase extra t-shirts in case you've got too many? 07:35
(like, one extra for my $wife)
nwc10 FROGGS: we'd love your money! However, we'll have to see whether there are actually any extra 07:36
FROGGS yes, of course :o)
nwc10 right now there are 60 registered people on act.useperl.at/apw2014/stats 07:37
and I believe that the order was for 60 t-shirts
OK, not everyone registered will confirm (and pay), but other poeple might show up, so it's probably pretty close
07:38 pecastro left
jnthn ooh, another t-shirt :) 07:41
moritz got a gsoc t-shirt 07:42
one or two weeks ago, iirc
FROGGS jnthn: nnOoooonnnooooo! IT IS ALLL MINE!!11 07:44
jnthn FROGGS: Oh, I only meant "I get another t-shirt to add to my collection", not that I'm competing with you to get an extra one ;) 07:45
07:48 kjs_ joined
FROGGS ahh 07:48
jnthn: then I'm happy to see you there :o) 07:49
jnthn :P
FROGGS *g*
jnthn is looking forward to it, except he still has to write his talk :P
nwc10 and some bugger put the hackathon *after* the conference :-)
jnthn At least my talk isn't until the Saturday...
First thing, though. I hope you're laying on good coffee for the poor folks who're going to be subjected to a concurrency talk first thing on the morning :P 07:51
07:51 rurban joined 07:54 leont joined
FROGGS nwc10: I guess that is awesome in at least two ways: a) the one you mentioned ages ago and b) the talks are usually quite motivating so the hackathon might be more productive 07:54
(and it won't be a greetathon either)
abraxxa arnsholt: the problem with not getting an error message was in get_errortext where i exited the loop on \0 07:58
it seems Buf.decode takes care of the null termination
08:00 kaleem joined, tinyblak_ joined
dalek ast: a68446c | (Elizabeth Mattijsen)++ | S32-io/spurt.t:
Fudge for test that gets into infinite recursion

is() on bufs in rakudo on parrot can't handle Bufs
08:01
lizmat
.oO( seems I'm repeating myself )
08:02
08:03 tinyblak left
abraxxa can someone please explain to me why BUILD is useful here? github.com/abraxxa/DBIish/blob/mas...g.pm6#L345 08:05
doc.perl6.org/language/objects#Classes says that BUILD should always be a submethod which it isn't here 08:06
08:09 kjs_ left 08:11 jack_rabbit left
moritz abraxxa: it should be a submethod; I'll fix it 08:13
abraxxa: it doesn't break anything here, because there's no inheritance; but it's not a good idea
abraxxa: and the submethod is necessary to initialize $!pg_conn (because private attributes aren't initialized by default)
abraxxa moritz: understood 08:14
why not define those attrs as read-only public?
and required!
moritz abraxxa: because the connection in really something internal, and an implementation detail
08:14 zakharyas joined
abraxxa yes, but how does that influence its implementation? 08:15
can i also define that an attribute is required when i define it?
like has $.svchp!;
moritz has $.thing = die "attribute 'thing' is required";
is the easiest way 08:16
or you can check in BUILD or BUILDALL
abraxxa is there already an established best practise?
what I've done now is define my attrs as private: has $!svchp; has $!errhp; 08:17
and have a BUILD submethod that requires them: submethod BUILD(:$!svchp!, :$!errhp!) { }
lizmat m: say ("⓪" ... "㊿").elems # expected 51 from the spec at S03:2109
synopsebot Link: perlcabal.org/syn/S03.html#line_2109
camelia rakudo-moar b1ce7e: OUTPUT«3542␤»
moritz abraxxa: sounds good
lizmat it appears the circled numbers are not consecutive in Unicode ? 08:18
abraxxa moritz: i thought it's more consice to not have a submethod BUILD and define the class attrs as required
but I prefer the automatic error text generation of $!varname!
i can't see how RaiseError is passed to Connection, it doesn't have such an attr 08:20
i wonder if we should really replicate DBI and having a RaiseError option 08:22
I'd prefer die all the way
if you don't like it, wrap your calls
moritz +1 08:23
abraxxa opens an issue 08:24
moritz a more interesting question, IMHO, is whether an error should automatically roll back the current transaction
probably not
lizmat afk for a few hours& 08:25
08:25 Alina-malina left, Alina-malina joined
dalek Iish: a7597d3 | moritz++ | lib/DBDish/Pg.pm6:
[Pg] fix BUILD, abraxxa++
08:27
08:27 tinyblak_ left
abraxxa moritz++ #quick 08:27
moritz it would have been even quicker, had I not forgotten to push :-)
abraxxa github.com/perl6/DBIish/issues/4 08:30
is there an easy way to rebase my fork? 08:31
08:31 dakkar joined, Hor|zon joined 08:32 bjz joined
moritz you can rebase branches, not forks 08:32
08:35 Mso150 left
rurban yes, just $ git rebase up/master 08:36
up being the remote which your forked from
abraxxa rurban: ah, not on the github website but just my local clone 08:37
rurban: thanks Reini!
08:53 Hor|zon left 08:54 _slade_ left 09:01 ghostlines joined, Hor|zon joined, Sqirrel joined 09:05 bjz left 09:07 bjz joined 09:10 pecastro joined 09:17 pecastro left
timotimo hooray, my mobile service provider offers a tarif that costs only 5 euros for 7 days and i'd have 100 mb of data for that whole time 09:18
if i don't use that offer, it'd cost 25 euros for the 100 mb
if i didn't have to roam at all, i'd pay 10 euros for 1gb in 30 days
09:19 pecastro joined 09:38 fhelmberger joined 09:41 SamuraiJack__ joined 09:43 fhelmberger left, [Coke]_ joined, ponbiki_ joined, wk_ joined 09:46 wk left, [Coke] left 09:47 SamuraiJack_ left 09:49 zakharyas left 09:51 ponbiki left 09:52 zakharyas joined
jnthn such raining... 09:58
jnthn is happy to see Salzburg weather looks rather nicer :)
09:59 chenryn joined 10:01 fhelmberger joined 10:02 cognome joined 10:07 Hor|zon left 10:08 laben joined
laben hai #perl6, how are you all today? 10:09
nwc10 no-one here but us autoresponder "good *, *" bots :-) 10:10
good *, laben
timotimo i'm here 10:11
10:11 Sqirrel left 10:12 Sqirrel joined, cognome left, chenryn left
laben i would like to ask what is this APW i read in the logs 10:12
10:12 cognome joined
timotimo austrian perl workshop 10:12
10:14 Hor|zon joined
abraxxa too bad it isn't in Vienna 10:14
jnthn But Vienna's hills aren't alive with the sound of Perl 6... 10:16
tony-o also here
10:17 cognome left, sqirrel_ joined
laben when does it take place? 10:18
nwc10 this weekend 10:20
act.useperl.at/apw2014/
timotimo blog.gerv.net/2014/10/new-class-of-...lications/ - hooray, perl6 does away with this source of danger 10:23
laben will there be slides and/or videos of the talks? 10:24
timotimo slides are usually made available by The Usual Suspects
nwc10 "Videos" is looking unlikely - I'm not aware of anyone sponsoring it
10:25 kurahaupo joined
laben ofc i'm interested in the p6 talks, but the one here act.useperl.at/apw2014/talk/5769 seems interesting too 10:27
carlin keeps reading "austrian" as "australian" 10:28
timotimo i'm interested to see what the toolchain is doing good 10:29
nwc10 laben: that one is mine. There's (roughly) a script for that (but no slides made yet), so you can have a "transcript" even if there's no video
but "next" week :-) 10:30
laben nwc10: thanks man, are you going to publish it somewhere after the workshop? 10:31
nwc10 I'm not certain how/where, but I can make sure that it is available somewhere 10:32
laben btw, are there some specific goals for the hackaton? 10:35
timotimo we're certainly hoping to get rather far on the GLR
colomon GLR? 10:36
nwc10 I'n not aware of any formally
laben how about the modules?
nwc10 but GLR, NFG and native & shaped arrays are the 3 big things left
timotimo great list refactor 10:37
laben i mean, i saw several modules that give warnings (not considering the recent ones due to IO refactor)
timotimo that's certainly something we can spend time on
laben and even one which fails even basic test due to how class are constructed
i tried working it out, but unfortunately i don't have much skill (yet i hope) 10:38
timotimo did you see the smoke testing we have?
laben yeah, but host08.perl6.com looks down from here 10:39
maybe i got the wrong url? 10:40
timotimo host08.perl6.com:8080/report
the port seems to be im port ant 10:41
wow, that's a lot of fails all in all
tony-o not sure how to set up db::orm::quicky to say it requires sqlite drivers
laben timotimo: thanks, i got the port wrong, wouldn't be bad to redirect there though
timotimo tony-o: we don't have something good for that yet :( 10:42
laben: agreed, it's probaly just that there's no "regular" web server on that machine
10:43 chenryn joined
laben isn't that Dancer? can't the admin just put a redirect easily? maybe it host other things? 10:43
timotimo www.marshut.net/kprthy/moarvm-port...stuck.html - interesting 10:45
someone is actually trying to emscripten MoarVM? that's cool
laben i think many of these just need a little cleanup in the META.info and for recent changes like IO
10:46 slavik left 10:47 Hor|zon_ joined, chenryn left
tony-o my html/xml parser is definitely broken 10:47
dalek kudo/nom: 8e32d07 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Make slurp($handle) warn once about deprecation
10:48
laben the one im interested in is XML::Query, which fails the test with Default constructor for 'Query' only takes named argument 10:50
but i did not dig too deep
tony-o yea i wrote the parser so i could use it with xml::query :-) 10:51
on html
timotimo how does that even work, html is usually SO broken :D
laben but the fact is that i do not see how XML::Query.new takes named args... 10:52
tony-o auto close some tags (like <br> tags), checks for closing tags that don't have opening, etc
it works pretty well, well enough to write web scraper on 10:53
it's pp so it's pretty slow atm, though 10:54
timotimo pp is "pure perl"?
tony-o yea
laben tony-o: you're the author of HTML::Parser::XML or of XML::Query?
10:54 Hor|zon left, Sqirrel left
tony-o the former 10:54
i've used xml::query though 10:55
XML::Query.new: xml => ${XML::Document || XML::Element} 10:56
is the usage for it
10:57 denis_boyun joined, sqirrel_ left
laben i was interested in using it, but even the basic test fails, and i do not know why, which means i first need to learn more P6 10:57
tony-o wonder if it's causing mine to fail, i don't understand my error message 10:59
:q
hugme hugs tony-o, good vi(m) user!
tony-o oops
lol
laben :wq
hugme hugs laben, good vi(m) user!
laben lol
10:59 slavik joined
laben tony-o: yep, here the tests for HTML::Parser::XML fail too 11:02
tony-o: i get some warnings from the test for the XML module, maybe you can get info out of them 11:05
tony-o tracking down errors in XML::Query test
at some point i should go back to sleep though 11:06
laben tony-o: will you got to APW? 11:07
s/got/go/
timotimo seems like tony-o is in a far-away timezone?
11:08 Sqirrel joined
tony-o i'm in california 11:08
laben timotimo: probably you're right, it was careless of me, sorry
tony-o i crashed my bike so i'm waking up every couple of hours for the next week or so 11:09
laben tony-o: did you hurt yourself and wake up from the pain?
tony-o yea
bicycle crash 11:10
laben tony-o: i wish you good recovery, sleep good then
tony-o thanks, still looking at xml::query for a while i think though :-) 11:11
laben timotimo: i would be grateful if during APW some time could be spent to review and fix the little things 11:12
timotimo sure 11:13
laben after all, they don't seem too big of a problem and could inversely appreciate the perl 6 ecosystem
timotimo tony-o: get well soon!
tony-o thank you! 11:15
11:16 prevost joined
laben well, break time is almost gone for me, have a good day perl6'ers :) 11:16
11:16 laben left
tony-o you do the same 11:16
11:22 brrt joined
brrt \o 11:23
timotimo oh hey brrt 11:24
will you be attending the hackathon in spirit?
tony-o .tell laben xml::query test fail is probably safe to ignore, the test is written strangely. github.com/supernovus/perl6-xml-qu...asic.t#L68
yoleaux tony-o: I'll pass your message to laben.
brrt nwc10: what's a shaped array 11:25
tony-o .tell laben if you rewrite that line as $xq(qw<.flagged .odd>) everything works fine
yoleaux tony-o: I'll pass your message to laben.
nwc10 brrt: I don't have an exact enough feeling to give you a good definition
brrt timotimo: maybe sunday :-) actuaylly hopefully sunday
what's it supposed to do
timotimo it's an array that has a set of indices set for each dimension 11:28
brrt ahah 11:29
ok
that's doable i think
do we want that in core?
python has it in numpy
that works really well (as long as you let numpy do the actual work)
timotimo we want to have it in core 11:30
brrt ok
timotimo especially because we want the jit to do cool stuff with it
brrt yes
but
timotimo but the jit part is more interesting for the native array stuff
dalek ecs: 148469c | (Elizabeth Mattijsen)++ | S16-io.pod:
Elaborate a bit on IO::Path.all

And hopefully remove possible confusion with regards to what a path and an IO::Path object is.
11:31
brrt how many dimension will we support
lizmat *
timotimo yup. all of them. 11:32
tony-o what is the value in that?
lizmat theoretical physics ? 11:33
brrt i have a very simple and dumb reason to ask
tony-o i can think of times it would have been useful, just not sure how it's different than a loop of Array.new ?
brrt basically, how will you specify the dimensions to accessors / mutators
lizmat ease of writing code and performance
brrt 'as an array' - no
tony-o: that's really inefficient compared to allocating a big block 11:35
dalek ast: 6cc8c38 | usev6++ | S04-declarations/constant.t:
Add test for RT #115132
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115132
brrt associated with dimensional coefficients
which is basically how you'd want to do it
timotimo that stuff is hard, though ... especially if you want to store P6opaque in there ... anything that can have mixins 11:36
brrt what 11:37
wait
:-)
hmmm
tony-o figured from lizmat's answer, not sure how that works with types but it's interesting
timotimo like, we can't just put the data into a contiguous segment of memory
.o( i still want a type constraint that forbids mixins ) 11:38
.o( forbids mixins as well as subclasses )
dalek ecs: e7593f0 | (Elizabeth Mattijsen)++ | S03-operators.pod:
Prevent more handle/io confusion, remove .M fossil
11:39
lizmat afk for a bit 11:40
11:41 daxim_ left 11:43 chenryn joined
brrt timotimo - you mean, you can't block-allocate objects (like i suppose you can in c++ and you certainly can in go and c) 11:44
if you think that these objects may be different 11:45
but that seems to be a different matter to me
timotimo yeah, we'd have to allocate a bunch of pointers
brrt nothing wrong with that
timotimo with native typed arrays we can get pretty nice stuff, especially for int and num
11:45 pecastro left
timotimo sadly, Int isn't really native, as it's big ints :P 11:45
11:48 chenryn left, notfix is now known as xfix 11:53 kjs_ joined 11:56 tinyblak joined, colomon left 12:00 colomon joined, Hor|zon_ left 12:03 daxim_ joined
leont Just compiled a new rakudo, have seen errors about deprecated thingies used in the core setting, forgot how I triggered that 12:11
FROGGS we should watch the daily spectest run closely then 12:12
timotimo yeah, the backtraces erroneously don't show where it's used
FROGGS eww
timotimo m: my %foo; %foo.delete("hi") 12:13
camelia rakudo-moar 8e32d0: OUTPUT«Saw 1 call to deprecated code during execution.␤================================================================================␤Method delete (from Hash) called at:␤ /tmp/LDMM6Ah8CI, line 1␤Please use the :delete adverb with postcircumfix:<{ }> i…»
timotimo hm. apparently sometimes it will show the right one?
FROGGS hmmm
leont Also, just got bitten by eqv matching more tightly than I thought. Typed array and untyped array with the same content are not considered equivalent apparently. 12:16
jnthn eqv wants same type iirc
timotimo aye
FROGGS if you want to compare its content then you have to compare .list of each or some such 12:17
jnthn .lsit is identity on an Array, no?
colomon Zeqv ? 12:18
jnthn colomon: Yes, that'll work provided they're the same length :)
uh, maybe it works anyway...
colomon fine, >>eqv<<
jnthn: maybe?
leont .list on a typed array still gives a typed array
jnthn Right, sicne list on an array returns self. 12:19
'cus ti already is a list-y thing
leont And given the input is generic, I don't think I can fix it up generically 12:20
I guess I'll have to resort to [@( <expression> )]
dalek kudo-star-daily: 0415db6 | coke++ | log/MoarVM-version.log:
today (automated commit)
leont In general, typed non-scalars feel very unfinished :-/ 12:22
jnthn leont: Even when they are more polished, you'll still want to use them consistently 12:23
12:23 chenryn joined
jnthn Rather than crossing between typed/non-typed all over the place. 12:24
leont Probably, but this was just a test
In this context, I don't care about the type, just about the values in it 12:25
12:26 Ven joined
Ven m: 1 ==> say(*) # hey #perl6 12:26
FROGGS hi Ven
camelia rakudo-moar 8e32d0: OUTPUT«*1␤»
Ven m: sub a($a, $b=0){say $a, $b; } 1 ==> say(*) # hey #perl6
camelia rakudo-moar 8e32d0: OUTPUT«===SORRY!=== Error while compiling /tmp/JT2dpM_CrT␤Two terms in a row␤at /tmp/JT2dpM_CrT:1␤------> sub a($a, $b=0){say $a, $b; } ⏏1 ==> say(*) # hey #perl6␤ expecting any of:␤ postfix␤ st…»
Ven m: sub a($a, $b=0){say $a, $b; }; 1 ==> say(*) # hey #perl6 12:27
camelia rakudo-moar 8e32d0: OUTPUT«*1␤»
colomon jnthn: wait, is there a sane way to compare the contains of two containers for eqv?
Ven mh, well, I think this could be pretty cool to be honest, but might break symmetry
[Coke]_ m: 1 ==> { .say }
camelia rakudo-moar 8e32d0: OUTPUT«===SORRY!=== Error while compiling /tmp/TQ2vDChoc_␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/TQ2vDChoc_:1␤------> 1 ==> { .say }⏏<EOL>␤ expecting any of:␤ method ar…»
[Coke]_ m: { .say } <== 1 12:28
camelia rakudo-moar 8e32d0: OUTPUT«===SORRY!=== Error while compiling /tmp/ATW8ZISxJI␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/ATW8ZISxJI:1␤------> { .say } <== 1⏏<EOL>␤ expecting any of:␤ postfix␤»
Ven (1 ==> say; being say(1); 1 ==> say() being say()(1); ! ==> say(*) being say(*)(1))
colomon m: my @a = 1..3; my @b = 1..4; say @a >>eqv<< @b
camelia rakudo-moar 8e32d0: OUTPUT«Lists on both side of non-dwimmy hyperop of infix:<eqv> are not of the same length␤left: 3 elements, right: 4 elements␤ in sub hyper at src/gen/m-CORE.setting:19081␤ in block at src/gen/m-CORE.setting:19061␤ in block <unit> at /tmp/tfTNqdJmai:1…»
Ven I actually think there's a part of the spec that implies >>eqa<<
colomon is starting to think maybe there is a missing meta op here... 12:29
Ven is still dwimmy. lemme look at s03..
jnthn colomon: Just checked S03 and it notes that "Two values are never equivalent unless they are of exactly the same type"
colomon jnthn: oh, I agree absolutely that eqv on the containers shouldn't be true
Ven Maybe it wasn't in s03, hu.
jnthn colomon: So yeah, I can see we'd want something that descends but shrot-circuits... 12:30
colomon jnthn: But if you're looking for sequential/parallel eqv on the contents of the containers, seems like there should be a way to do that.
jnthn: I was also thinking it needed to be length sensitive
jnthn *nod*
colomon and it should work for any equals type operator, so a meta op. 12:31
Ven colomon: : it also needs to understand the recursive case
colomon recursive case? 12:32
Ven comparing nested cntainers
colomon is fearing that writing this meta op is probably easier than naming it.
Ven: I don't have any clear notion how nested containers should be handled. 12:33
Ven exactly :P
jnthn C for compare, clearly :P 12:34
colomon Container Compare, even 12:35
Ven .say unless (my %){$_}++ given .split(' ')[0] for lines()
m: .say unless (my %){$_}++ given .split(' ')[0] for lines() # uh? 12:36
camelia rakudo-moar 8e32d0: OUTPUT«===SORRY!=== Error while compiling /tmp/unv2AqwEhT␤Missing semicolon.␤at /tmp/unv2AqwEhT:1␤------> nless (my %){$_}++ given .split(' ')[0] ⏏for lines() # uh?␤ expecting any of:␤ postfix␤ s…»
Ven m: (.say unless (my %){$_}++ given .split(' ')[0]) for lines() # uh? 12:41
camelia rakudo-moar 8e32d0: OUTPUT«Céad␤Agus␤Nuair␤I␤␤Ag␤Ní␤Go␤D’fhág␤Níorbh␤Ach␤B'é␤'S␤fá␤Slán!␤Is␤Tá␤Atá␤»
Ven alrighty then. Needs these parens 12:43
tadzik permalink.gmane.org/gmane.comp.db.s...eral/90549 praise microoptimisations :o 12:49
lizmat leont: today and yesterday I fixed some internal deprecation warnings
if you find any more, please let me know!
leont It was a 􏿽xABMethod rel2abs (from IO::Spec) called at: src/gen/m-CORE.setting, line 14284􏿽xBB, which does 􏿽xABIO::Spec.rel2abs($path);􏿽xBB 12:51
lizmat good spot! 12:52
12:52 SamuraiJack__ left
Ven tadzik: wow. 12:56
m: .say given $_ for 1
camelia rakudo-moar 8e32d0: OUTPUT«===SORRY!=== Error while compiling /tmp/Xndzf0PCYA␤Missing semicolon.␤at /tmp/Xndzf0PCYA:1␤------> .say given $_ ⏏for 1␤ expecting any of:␤ postfix␤»
Ven okay, oo that's general precedence rule
so*
12:57 kaare_ left
dalek kudo/nom: 19d2de5 | (Elizabeth Mattijsen)++ | src/core/IO/Spec.pm:
Fix internal depr warning, spotted by leont++
13:00
13:00 woolfy1 left
Ven lizmat: does that mean there's no test going through that path :)? 13:01
leont It triggered for me when I couldn't load a module due to a missing -I 13:05
13:05 tinyblak left, pecastro joined 13:06 tinyblak joined
FROGGS m: use Bar 13:07
camelia rakudo-moar 8e32d0: OUTPUT«===SORRY!===␤Could not find Bar in any of: /home/p6eval/rakudo-inst-2/languages/perl6/lib, /home/p6eval/rakudo-inst-2/languages/perl6␤Saw 1 call to deprecated code during execution.␤====================================================================…»
lizmat FROGGS: that one I just killed :-) 13:08
FROGGS yeah, just wanted to see it with my own eyes :o) 13:09
lizmat commute to Amsterdam.PM meeting& 13:11
colomon is trying to build rakudo on an ancient PowerPC Mac (now with Linux installed)
13:11 lizmat left
colomon hmmm, just ran spectest on my Mac, and I'm getting four test files failing. S17 seems like it's probably expected, but delete-adverb.t and roll.t ?!? 13:12
[Coke]_ colomon: ISTR seeing roll fail occasionally
colomon hmmm, yes, ran fine on its own just now. :\ 13:13
13:14 [Coke]_ is now known as [Coke]
FROGGS colomon: probably due to how we (or libuv) uses the RNG 13:15
I've seen BSD patches in this area just lately 13:16
m: say IO::Spec::Unix.canonpath("$*CWD/foo/bar") 13:17
camelia rakudo-moar 8e32d0: OUTPUT«/home/p6eval/foo/bar␤»
13:17 lichtkind joined
lichtkind greeting earthlings 13:17
i found another solution for my issue: (($a += 2) %= 6) 13:18
colomon src/profiler/profile.c: In function ‘dump_call_graph_node’:
src/profiler/profile.c:81:19: warning: cast from pointer to integer of different size
lichtkind so my question is why can we make metaop = left associative to i can omit braces
colomon expected? 13:19
lichtkind feel the right thing anyway to me
FROGGS m: say IO::Spec.rel2abs( IO::Spec.curdir ) # three tests use deprecated methods: t/spec/S32-io/{io-spec-unix.t,io-spec-cygwin.t,io-spec-win.t}
camelia rakudo-moar 8e32d0: OUTPUT«(timeout)»
lichtkind btw good work, moar compiled for first time here today 13:20
FROGGS lichtkind: it compiles on my boxes for ages now without a single problem
13:21 virtualsue left
lichtkind FROGGS, i know but i had an issue last month 13:21
FROGGS lichtkind: weird
lichtkind one bad .so file
FROGGS lichtkind: ohh, interesting... so it might a problem with our build system?
13:22 rurban left
FROGGS colomon: is that a 32bit system? 13:22
colomon FROGGS: yes
FROGGS: 32-bit PowerPC
FROGGS colomon: that would explain it
13:22 rurban joined
lichtkind i have 64 2 core AMD 13:23
13:23 tinyblak left
lichtkind but like said all is well now 13:23
FROGGS well, that's something :o)
lichtkind my to my proposal what is assoziativity of = as meta 13:24
13:24 Ven left
FROGGS Perl6::Grammar.O(':prec<i=>, :assoc<right>, :dba<item assignment>', '%item_assignment'); 13:26
Perl6::Grammar.O(':prec<i=>, :assoc<right>, :dba<list assignment>, :sub<e=>, :fiddly<1>', '%list_assignment');
lichtkind FROGGS, yes i just read it in syn3 13:34
dalek href="https://perl6.org:">perl6.org: a2b365a | moritz++ | source/ (2 files):
Use working blog aggregator URL
FROGGS moritz: you're going to close the PR? 13:35
[Coke] Does anyone still use the perlfoundation wiki?
lichtkind FROGGS but is there a way to make $a += 2 %= 6 work
[Coke] not for years :)
FROGGS lichtkind: I guess not
lichtkind but i wondered about it last week too
FROGGS std; my $a; $a += 2 %= 6
std: my $a; $a += 2 %= 6 13:36
[Coke] We have perl6.org; I don't think we need the wiki.
camelia std fc92e1e: OUTPUT«ok 00:01 142m␤»
[Coke] (and a bunch of other sites)
FROGGS okay, it parses... but it will fail anyway
lichtkind yes all what i want to achieve i do now with the tablets
so i have my playground there
dalek href="https://perl6.org:">perl6.org: 5be15ff | moritz++ | source/community/index.html:
Fix link
13:36 Hor|zon joined
lichtkind welcome Hor|zon 13:37
[Coke] I would edit that front page, remove everything except a link to perl6.org, and add a note that it's not being used, and remove any links to it from perl6.org
(and camelia, she can stay. :)
lichtkind FROGGS question is this a good thing becasue my proposal looks a bit ambigous and leaning toward "OMG perl is dirty we all gona die"
colomon Stage start : 285928808.715 13:38
tadzik put that abacus back on the shelf colomon, don't be silly 13:39
FROGGS lichtkind: what *is* your proposal?
lichtkind FROGGS it was to make $a += 2 %= 6 work
tadzik :o
lichtkind but like said it already looks a bit dirty to me
but also fancy :)
colomon IMO $a += 2 %= 6 is a not a good idea 13:40
$a = $b = 6 has to be right assoc, no? 13:41
lichtkind yes
FROGGS lichtkind: ahh, I was hoping there are more information about *how* to make it work...
colomon should $a += $b %= 6 really be different?
lichtkind but meta op is different animal technically
i somewhay thought that making it to left associativity would be anough 13:42
i just thinking out loud
dont worry
jnthn m: say "{285928808.715 / (3600 * 24)} days" 13:43
camelia rakudo-moar 8e32d0: OUTPUT«3309.36121198 days␤»
jnthn I think that's longer than the Rakudo codebase has existed :P
FROGGS m: say 3309 / 365 13:44
camelia rakudo-moar 8e32d0: OUTPUT«9.065753␤»
FROGGS might be true :o)
when was rakudo actually born?
tadzik 2007? 13:45
FROGGS (or its codebase, not the name)
tadzik moved away from Parrot repo, iirc
[Coke] hurls github.com/perl6/perl6.org/issues/14
13:45 SamuraiJack__ joined
colomon Stage parse has been running for seven minutes now... 13:45
FROGGS colomon: is that a G3? 13:46
colomon FROGGS: yes
it's woofully underpowered
but it was sitting around the house unused
jnthn doesn't feel too wooed by it... :P 13:47
It'll be cool if it completes the build, though :)
colomon I'm actually hoping to be able to build my $work stuff on it
and perl6 is now a part of my $work build chain.
FROGGS I hope to power up my PowerPC server today-ish 13:48
colomon I can probably work around it if rakudo won't build, but it would be very cool if it will
jnthn colomon: Well, if you're this far it means NQP built
colomon: I suspect the most likley issue will be if it hits swap while building Rakudo. then it really will take ages. 13:49
colomon FROGGS: yes, you kind of inspired me here. I spent a couple of days eyeing used G4/G5 Macs, then I figured I might as well just try it with what I've got.
jnthn: oh, it's going to hit swap. it's only go 256 MB RAM.
colomon can wait
jnthn :) 13:51
FROGGS eww, 256 MB RAM is not that much :o)
jnthn I think probably NQP can build withhout swap in that these days...
But Rakudo is gonna hurt.
FROGGS I will have 4gig, wow *g*
jnthn That's loads :P 13:52
FROGGS more than I'm willing to count on my fingers :o)
carlin wasn't there a workaround to move a compiled setting from another machine
I remember doing something like that on my N900
sergot hi ! o/
after a while
:)P)
:))
FROGGS carlin: when the paths are identical... maybe
hi sergot! 13:53
sergot FROGGS: o/
lichtkind colomon i think you nailed it
yes with several variable it becomes clear
[Coke] has 16G on his worklaptop these days, yikes. 13:55
rurban uh!
lichtkind hai rurban
rurban I got 8G 13:56
lichtkind i have 4 :)
tadzik I don't have a worklaptop :) 13:57
rurban still better than 2
tadzik but my regular laptop has 8 I think
2 was not enough to compile rakudo and have chromium open at some point :)
[Coke] with nqp & moar already built, "make -j9 install" takes about 53s here on moar.
lichtkind allright my macbook has 8 but for my main machine which i do just browsing and coding with 4 is still enough i think
thanks colomon 13:58
FROGGS [Coke]: if could manage to make a cluster out of my bladecenter, I could probably do: make -j56 install
jnthn [Coke]: Even with non-parallel build on my Windows box, I get Rakudo in 60s or so these days :) 13:59
(On Moar that is)
Still some improvement needed, but it ain't bad :)
FROGGS but when looking at frontpages of magazines it looks like one can have 18 cores in a single chip, plus HT
jnthn FROGGS: That may dependent on one having enough to buy said hardware... :P 14:00
rurban I still got 192s parse and 70s post with parrot (if nqp-p is not broken)
FROGGS jnthn: well, it will more about 1k€ per chip :o)
rurban: I usually have stage parse for perl6-p around 106s, when perl6-m is about 35s
jnthn has 16GB or RAM in home box and laptop these days, because $boss thinks RAM is cheap and that you can't have too much of it :D 14:01
rurban Note that I want to add Coroutine.reset() in parrot. Do you really need that? github.com/parrot/parrot/issues/564
jnthn *of
FROGGS jnthn: do we? I can't tell
14:02 kaare_ joined, treehug88 joined
jnthn rurban: I think we use coroutines only for gather/take 14:02
[Coke] does a moar spectest in 163 seconds. wow.
14:02 laben joined
FROGGS [Coke]: yeah, much enjoyable :o) 14:02
jnthn So the PGE note is irrelevant now 14:03
laben hello again #perl6 people
yoleaux 11:24Z <tony-o> laben: xml::query test fail is probably safe to ignore, the test is written strangely. github.com/supernovus/perl6-xml-qu...asic.t#L68
dalek ast: dea36c4 | usev6++ | S06-operator-overloading/sub.t:
Add test for RT #116643
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116643
yoleaux 11:25Z <tony-o> laben: if you rewrite that line as $xq(qw<.flagged .odd>) everything works fine
FROGGS hi laben
jnthn And tbh, the only thing I care about wrt r-p these days - especiallly fiddly things like gather/take - is "don't break it" :P
laben wut, yoleaux is a bot, right?
moritz laben: yes
FROGGS laben: yes, message bot 14:04
and unicode lookup stuff...
.u BABY
yoleaux U+0264 LATIN SMALL LETTER RAMS HORN [Ll] (ɤ)
U+1F37C BABY BOTTLE [So] (🍼)
U+1F424 BABY CHICK [So] (🐤)
laben let's see some logs 14:05
14:06 kurahaupo left
laben .tell tony-o dunno man, how recent is your rakudo? i get a failure at github.com/supernovus/perl6-xml-qu...asic.t#L14 which is problematic in my opinion 14:06
yoleaux laben: I'll pass your message to tony-o.
14:08 chenryn left
gtodd fears the APW perl6 hackathon GLR will constantly push cool updates to github ... 14:10
nwc10 "fear"?
gtodd :-)
I'll have to keep recompiling all the time
it's a nice fear ... I have 16gb more ram and some SSD's at the ready ... 14:11
colomon 's PowerPC build is still in Stage Parse; but at least the machine hasn't melted yet. 14:12
gtodd heh
FROGGS p: sub prefix:<\p>($) {} 14:15
camelia rakudo-parrot 8e32d0: OUTPUT«(timeout)»
FROGGS p: sub prefix:<\p>($) {}
camelia rakudo-parrot 8e32d0: OUTPUT«(timeout)» 14:16
FROGGS bartolin: that stuff does not fail on my box
14:16 sjn_^ joined
bartolin FROGGS: Oh! 14:16
FROGGS $ perl6-p -e 'sub postfix:<\\>($) {}; say "alive"'
alive
bartolin FROGGS: I tested with a Parrot from 5 days ago. 14:17
FROGGS hmmm, strange
laben so, since i recognize my incompetence in Perl 6, i have decided to learn it fully and not piece-wise. I started reading doc.perl6.org but it lacks many arguments it seems. Should i just go with perlcabal.org/syn ?
PerlJam laben: yes? 14:19
14:19 chenryn joined
masak evn'n, #perl6 14:19
PerlJam laben: though, I'm not sure you'll ever "learn it fully". I've been using Perl 5 since forever and I still learn things about it every once in a while.
grondilu laben: yes
bartolin FROGGS: can you try this: $ perl6-p -e 'use Test; lives_ok { sub prefix:<\o/>($) {} }, "can declare operator with a backslash (1)";'
nwc10 haragood UGT heresy, masak 14:20
nwc10 bravely hits return, despite the local lag
masak :)
FROGGS bartolin: now it fails
bartolin FROGGS: your first command works for me, too
PerlJam btw, perl6++ .... I was doing some number manipulation and when I made a mistake P6 not only told me I was doing it wrong, but it told me what the right thing was 14:21
laben PerlJam: that's true for me too, P5 still has many misteries to be unveiled, but P6 seems a lot more regular
bartolin FROGGS: Have to go now, will try to have another look at this later
FROGGS $ perl6-p --ll-exception -e '{ sub prefix:<\o/>($) {} }'
Null PMC access in find_method('clone')
PerlJam laben: the synopses + experimentation + #perl6 will take you far in your learning. 14:22
FROGGS bartolin: see you :o)
14:22 tinyblak joined
lichtkind stage parse is 270s on my fast macbook 14:23
parrot i have to admit 14:24
timotimo PerlJam: can you tell us a bit more about what exact mistake it pointed out successfully? 14:25
lichtkind nono it sompiles now
just not moar but 14:26
14:26 tinyblak left
lichtkind wanted say how fast because jnthn said it compiles under 60 s 14:26
14:27 Hor|zon left
PerlJam timotimo: Sure ... it was nothing big, I had done something like :2(0xa5) in an attempt to convert a number to a particular base. 14:27
But it was still nice since I clearly didn't have that information in my head and having Rakudo tell me exactly what I should have done. 14:29
timotimo ah, right 14:30
FROGGS lichtkind: yes, only rakudo on moar is expected to compile quite fast 14:33
14:33 kaleem left 14:34 kaleem joined
masak japhb++ # the term "mantle developer" 14:36
14:37 Hor|zon joined
masak by the way, I'm with japhb in the discussion from yesterday's log: "closing" the spec will result in it becoming disconnected from reality. 14:38
though I don't really think "closing" is what's on the agenda. at least I hope not.
I hope it's more like "these parts are for 6.0 -- these parts are for later"
which is unrelated to "don't touch this part, because we already implemented it and don't want to change it ever" 14:39
14:40 guru joined, guru is now known as Guest18417
FROGGS masak: well, we have github branches... maybe an after-6dot0 branch will do? 14:40
14:41 Guest18417 is now known as ajr_
masak I don't see why. what's the end goal in such a thing? 14:41
if someone wants a snapshot of the spec on a certain date, there's this thing called Git...
timotimo that is my expectation, masak (that it will be a 6.0 / post-6.0 planning thing)
FROGGS how do you mark something 6.0 when you already changed it to something after 6.0-y? 14:42
nwc10 masak: I've head about this "git" thing - it will never catch on
masak nwc10: "No wireless. Less space than a nomad. Lame." 14:43
FROGGS okay... then we have to "freeze" on synopsis file name + git revision or so... and keep a list :o)
masak FROGGS: I guess I don't see the whole point of this "freezing" business in the first place.
FROGGS: one of Perl 6's strengths has been daring to keep the spec up to date with reality and sanity.
FROGGS I guess it is more about knowing what 6.0 was meant to be 14:44
masak oh, that's fine.
FROGGS that's why I quoted the word ""freezing""
masak ok. 14:45
FROGGS if we could tag certain areas of the spec we would be fine
14:47 grondilu left
lichtkind there are still these failing tests on jvm backend, when is there movement to ecpect? hopefully not soon :) 14:49
14:49 Hor|zon left
FROGGS lichtkind: what do you mean exactly? 14:50
something in S17?
lichtkind test coverage on rakudo backend on jcm still hast not 100%
mom habe to look up what s17 is
i i think was also due to this but is seemd to be something basic becasue it prevents some modules from running 14:51
FROGGS lichtkind: the test coverage has nothing to do with failures 14:52
14:53 kaleem left
lichtkind but from what i know both is true 14:53
gtodd laben: the perlcabal synoipses (not sure why they are hosted there instead of perl6.org) are more like documentation of what perl6 should be able to do organized by categories as opposed to by each internal function or operator. But you can find descriptions and some examples of builtin functions and operators and other bits there - I think docs will gradually migrate to docs.perl6.org (??) but there the organization i
FROGGS lichtkind: yes, but unrelated to each other
14:53 pat_js joined
lichtkind thanks 14:53
gtodd laben: plus there's the examples and the tests and a sort of one-pager tutorial (learnXinYminutes) ... rosettacode etc. 14:54
FROGGS lichtkind: for example we run a lot of unicode tests on moarvm only... because only on moar we can lookup chars by their name 14:55
pat_js Hello, is there a way to chek if a Signature matches a Capture? 14:57
lichtkind looks like both backends compile under macos 10.9.5
moritz pat_js: smartmatching
lichtkind just look at the table in s3
in in the b index of tablets
moritz m: my $capture = :('abc', 42); my $sig = \(Str, Int); say $capture ~~ $sig 14:58
timotimo gtodd: cut off after "but there the organization i"
camelia rakudo-moar 8e32d0: OUTPUT«(timeout)»
gtodd laben: occasionally code examples don't run due to what seem like typos but it could be a syntax change that's life :-) ... but if those errata are on rosettacode or in the perlcabal synopses or the perl6/perl6-examples giithub repo they should be reported somehow since those places can be kept up to date and you may well have found a bug
moritz huh, that says False locally 14:59
gtodd timotimo: ... there the organization is a bit different
moritz oh, because : is Signature
pat_js moritz: thanks
moritz > my $capture = \('abc', 42); my $sig = :(Str, Int); say $capture ~~ $sig
True
lichtkind moar stage parse is 147s / compared to 270 on parrot 15:00
FROGGS lichtkind: "<lichtkind> just look at the table in s3" what's that?
moritz lichtkind: it uses Faster Than Light parsing technology :-) 15:01
FROGGS *g*
lichtkind its perlcabal.org/syn/S03.html#Smart_matching
or tablets.perl6.org/appendix-b-groupe...smartmatch 15:02
15:02 [Sno] left
FROGGS lichtkind: still, you don't find any s3 on that tablets page 15:02
lichtkind i dont quite undertand but he asked IMO about smartmatch syntax 15:04
15:06 SamuraiJack__ left 15:07 leont left, Hor|zon joined
FROGGS lichtkind: and your answer was not helpful... you said the he/she should "just look at the table in s3", "in in the b index of tablets" 15:07
and somebody that might not know what "tablets" or "s3" is might feel lost 15:08
jnthn today's teaching done 15:09
FROGGS so I thought that I might find it on the tablets pages, and failed
jnthn hotel &
15:15 davido__ left 15:17 davido__ joined 15:19 denis_boyun left 15:21 Hor|zon left 15:25 Hor|zon joined
japhb .tell woolfy1 Haven't been able to reach you this morning. Ping when you're back? 15:25
yoleaux japhb: I'll pass your message to woolfy1.
15:29 virtualsue joined 15:30 virtualsue left 15:32 brrt left
laben oh, i did not know perl 6 was made to have multiple inheritance 15:35
i thought new languages wouldn't have it 15:36
timotimo it has it, but you are not encouraged to do it 15:37
laben then wouldn't it be better not to have it
? 15:38
timotimo not necessarily 15:39
sometimes you do end up needing it, i suppose
nwc10 I think it's something similar to: “Perl doesn't have an infatuation with enforced privacy. It would prefer that you stayed out of its living room because you weren't invited, not because it has a shotgun”
japhb Perl has always given you enough rope to shoot yourself in the foot, but trusted that either you won't do that, or you will accept the consequences. :-) 15:40
nwc10 I didn't remember *this* one:
A couple of years ago, I ran into someone at a trade show who was representing the NSA (National Security Agency). He mentioned to someone else in passing that he'd written a filter program in Perl, so without telling him who I was, I asked him if I could tell people that the NSA uses Perl. His response was, “Doesn't everyone?” So now I don't tell people the NSA uses Perl. I merely tell people the NSA thinks everyone uses Perl. They should know, aft
laben mh, i don't really care much about it, since i've been bitten by that in C++ way too many times (not my code), but in this case, if this "tool" doesn't have a use, why include it? 15:41
nwc10 interview with Larry that it's in dates from 1999: www.linuxjournal.com/article/3394
but might be even more (visibly) topical these days
laben nwc10: if you visit linuxjournal, you're on a NSA list, xD 15:42
japhb laben: Perl 6 has a very general metamodel (and getting more general all the time). It tries not to decide the rules of your object model for you, but rather support whatever method you use to approach your problem space.
It's not above strongly suggesting Roles, however .... 15:43
nwc10 just the one list?
nwc10 wonders how many other NSA lists he got on today 15:45
laben japhb: i understand that, but i think that supporting an use case which is already not recommended and anyway not useful would just waste energies
nwc10 I read the wikipedia page on Bombe - that might do it
laben nwc10: at least one, i'm sure to be on several, since i usually visit the deep net 15:46
i think the simple mention of Usenet will send every #perl6'ers on another 15:47
japhb laben: People coming from Perl 5 are going to be expecting it. Not that this makes it a requirement for Perl 6, but "embracing all the cultures" ought to apply to our own, at least. :-)
laben japhb: Moose supports that? i never used it...
timotimo nwc10: that earlier line was cut off after "they showd know, aft" 15:49
i suppose it continues more or less like "they should know, after all they spy on everyone"
colomon 's PowerPC Stage Parse is still running, 2 hours and 11 minutes so far.
FROGGS :/
15:50 ghostlines left
timotimo japhb: how does our object model become more general still? 15:50
15:50 Hor|zon left
nwc10 timotimo: so close. "They should know, after all." 15:50
colomon on his modern Mac, however: 15:51
Stage parse : moar(39654,0x7fff73a01180) malloc: *** error for object 0x7fd0b98500d0: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
timotimo mhm mhm
FROGGS eww
15:51 Hor|zon joined
colomon admittedly I was trying to add something to the CORE, but that seems like an odd and disturbing error message. 15:51
japhb timotimo: jnthn++'s work on SUPERSEDE, DECLARE, etc. When you can replace the basic meanings of OO keywords, and even invent new ones, that counts as "more general" in my mind 15:52
nwc10 colomon: I had some sort of explosion building the setting on PPC Linux 15:53
rerunning make made it go away :-/
which makes it hard to track down 15:54
but I'm wondering if there's some big endian daftness as yet unfixed
colomon nwc10: I duplicated that crash twice. backing out my change just now made it go away.
nwc10 ah OK.
colomon but I'm not sure I see how adding a sub to metaops.pm should result in a malloc error??!? :\
timotimo japhb: ah, ok. well, to me that's just already existing functionality being accessible much more easily :) 15:55
FROGGS colomon: paste your diff and I test it on linux
15:57 zakharyas left
laben mh, i think there's a huge hole of missing material in doc.perl6.org : no mention of blocks and (conditional) statements and more importantly, signature and captures are relegated into the class list 15:57
at least signatures should get their own page into the main docs 15:58
FROGGS we clearly need more contributions to the docs, aye
colomon FROGGS: gist.github.com/colomon/815c50621858c086e461
japhb timotimo: I'll grant you that point, from the view of someone on the inside. I think for someone outside the #perl6 bubble, it will look like a new thing. 15:59
FROGGS colomon: that compiles just fine 16:00
colomon FROGGS: huh
Just duplicated the error here for a third time. :\ 16:01
Can someone else try gist.github.com/colomon/815c50621858c086e461 on a Mac? 16:02
FROGGS brb
16:02 FROGGS left
colomon I get the same result as FROGGS: my code builds perfectly on Linux. Huh. 16:11
16:13 tinyblak joined
timotimo japhb: you're right 16:13
16:14 Mso150 joined 16:17 FROGGS joined 16:19 yeahnoob left
tony-o laben: xml::query should pass tests now 16:20
yoleaux 14:06Z <laben> tony-o: dunno man, how recent is your rakudo? i get a failure at github.com/supernovus/perl6-xml-qu...asic.t#L14 which is problematic in my opinion
16:21 lizmat joined, SamuraiJack__ joined
tony-o i rebuilt rakudo yesterday 16:21
16:22 clkao left
laben tony-o: did you sleep well? anyhow, as i was telling you, i get the failure at line 14, where it creates the XML::Query object 16:22
tony-o what error? 16:23
laben tony-o: Default constructor for 'Query' only takes named arguments
tony-o how new is your rakudo? 16:25
laben not even 24 hours
tony-o i'll rebuild mine too, are you using j or m? 16:26
oh rak
laben m
tony-o weird, too, my html parser works in -j and not in -m 16:27
16:32 grondilu joined 16:33 nebuchadnezzar left, [Sno] joined, fhelmberger left 16:34 nebuchadnezzar joined 16:36 wtw joined
lizmat colomon: wrt to malloc errors while building the core settings: 16:36
I've had *many*, *many* of them in the past weeks
masak :/ 16:37
lizmat also, when making silly mistakes, like misspelling a variable name, will have stage parse go into a loop and never stop
it's one of these things when you're working on the core settings :-) 16:38
like not being able to use typed hashes, or "handles" or any other set of things :-)
lizmat is about to order dinner at the Amsterdam PM meeting
colomon :( 16:40
lizmat colomon: one approach I did to get around this, is to first remove all lines from your patch that would still make a change
16:40 Mouq joined
laben since there are type objects, would it be possible to have prototype style inheritance a la JavaScri- sorry, that's Oracle(TM), i meant ECMAScript? 16:40
Mouq laben: re: irclog.perlgeek.de/perl6/2014-10-07#i_9469777
lizmat and then start adding lines back in until it fails again
colomon I can understand setting mistakes causing weird things to happen.
but correct setting code causing a malloc error? That sounds like a real and serious bug to me.
Mouq laben: I did start a page for functions, which planned to include a description of signautures/captures 16:41
laben: But I haven't had time to actually fill it out
lizmat colomon: on looking at your code
Mouq Also
laben Mouq: great
16:41 dwarring joined
lizmat I would look at "my \elem" as something that looks like it might not work in the settings 16:42
Mouq OTOH, as a general announcement, there's a lot of LHF in the docs
colomon lizmat: that's copied and pastied from the METAOP_ZIP sub
lizmat ah, ok 16:43
Mouq So any contributions will be greatly appreciated by everyone ^_^
lizmat ^lol.elems ?
16:44 ajr_ left
laben Mouq: well, i guess i see what you mean with this, and i would like to, but i need to learn the language before being able to explain it :) i'll do what i can, meanwhile i can proofread it 16:44
16:45 guru joined
tony-o laben: 2014.09-165-g19d2de5 built on MoarVM version 2014.09-14-g0df2d6f 16:45
freshly squeezed p6 + xml::query both pass for me
Mouq laben: certainly :)
16:45 guru is now known as Guest40878
laben tony-o: linux? 16:46
16:46 Guest40878 is now known as ajr_
tony-o osx 16:46
Mouq laben: If you come across things stumbling blocks, though, I think those are very important to document to make it easier for others to get past them in the future
laben tony-o: that may explain many things, still i'll try to update everything and retest
Mouq: certainly, btw what are the tablets? 16:47
16:47 spider-mario joined
gtodd Mouq: LHF ... yes for general descriptive stuff ... I kept a notes_to_self.txt file that I gradually split into perl6 copy of some of perl5's perl*.pods meant to keep doing it :-) literally I had perl6sub perl6run perl6ref etc. 16:47
Mouq: perl6oo :-)
tony-o laben: windows?
laben tony-o: i'm on linux 16:48
16:48 clkao joined
tony-o weird 16:48
gtodd Mouq: mostly each of those was a collection of links to docs on line :-)
Mouq: examples and such
Mouq gtodd: They still sound very useful
laben: I haven't worked on the tablets
laben: I get the impression that they are more structured than the docs 16:49
laben Mouq: they seemed more like a easier synopses
Mouq laben: Whereas with the docs you can, e.g., define a term in a broader document/tutorial, and have a seperate, searchable page for it automatically be created 16:50
laben: There's still work to be done on the docs in terms of organization
laben Mouq: yeah, that's how i found Signature and Capture, else i would have never searched for them in the class list 16:51
gtodd Mouq: you get used to perldoc :-) ...
Mouq So I go to doc.perl6.org/language.html and it's just a mess of links -- I'd like these pages to have assciated metadata so the indices arrange and display them better... 16:52
16:53 samebchase left
gtodd Mouq: laben: I still think one of the very first killer apps for perl6 is going to be incredibly jaw droppingly good docs with a searchable interface; help for code completion from local to system and github gist examples/snippets ... it will work seamlessly in vim emacs eclipse and in the will be even more amazing REPL itself à la R's console 16:53
laben a good thing would be to order them in a meaning ful way and not alphabetically. I mean, glossary should be last, traps should be second to last, regexes before grammars, etc... 16:54
tony-o laben: are you testing XML::Query by cloning the repo and testing or are you showing me panda build output? the two seem to be different 16:55
Mouq gtodd: It would certainly be nice :) One of the things is that writing well takes a lot of work (IMO). Getting good docs is more about the content than the infrastructure (I say hypocritically)
gtodd (R can control browser interface or popping up man pages pod text in another buffer etc.) ... I really do believe that is going to happen and once it start to happen it will fast because it will be done *in* perl6 using perl6
... it's just right now there's an order of operations that we need to follow
laben tony-o: i did both, and both tell me the same thing
16:57 cognome joined, dakkar left
laben sorry people, but now i gotta go, see you and leave messages if you need me :) 16:57
gtodd once things get going and the modules start flowing the REPL could well become self documenting a la emacs lisp ...
16:58 laben left
gtodd laben: if you are learning document things for yourself and gradually make them public ... that's probably what motivated the learnXinYminutes "tutorial" 16:58
lizmat Tux just pointed out that there is no documentation on D: and U: in signatures 17:02
and a quick grep shows it is not specced even
lizmat goes back to socializing
17:06 Hor|zon left 17:08 lizmat left, lizmat joined
abraxxa what's the perl 6 equivalent of /= ? 17:11
i can't find it in the list of operators and also no equivalent other one 17:12
Mouq m: my $a = 15; $a /= 5; say $a # ?
camelia rakudo-moar 19d2de: OUTPUT«3␤»
Mouq abraxxa: Is that what you mean?
abraxxa Mouq: no, not divide but assign if undef 17:13
timotimo that's //=
literally just the // operator with the = metaop
Mouq abraxxa: It's not documented because it's automatically created by the = metaop
timotimo it kind of feels like that's a bad reason to not document something 17:14
oh ...
m: my $a = True; $a === 1; say $a 17:15
camelia rakudo-moar 19d2de: OUTPUT«WARNINGS:␤Useless use of "===" in expression "$a === 1" in sink context (line 1)␤True␤»
timotimo m: my $a = True; $a [==]= 1; say $a
camelia rakudo-moar 19d2de: OUTPUT«True␤»
abraxxa Mouq: thanks
timotimo m: my $a = True; $a [==]= 0; say $a
camelia rakudo-moar 19d2de: OUTPUT«False␤»
timotimo i'm glad the === doesn't automatically parse as [==]= m)
Mouq timotimo: True, but... 17:16
timotimo: Idk, maybe for something that seems like it would be common like that.. It'd be nice to have something kind of like gtodd was talking about where it was actually parsing the Perl 6 and knew what you were talking about 17:17
So you search for info about //= and it points you to infix // and metaop = 17:18
17:19 kjs_ left
timotimo that sounds a bit like WITCH 17:20
Mouq lol 17:23
masak: I'm not sure the thing I was trying to explain actually made sense. But I'll think about it harder.. 17:24
for now
\o #perl6
17:24 molaf_ left, Mouq left
vendethiel o/, #perl6 17:26
17:26 molaf joined
vendethiel Been re-reading synopses.. S06 does sell some sweet dreams 17:26
timotimo well, there's already --target=ast; building something on top of that stage's output that figures out a file + line number from something like "&infix:<+>" would be nice to have, but i don't currently see how we can actually get the line number from a callable 17:27
17:31 Hor|zon joined
timotimo i suppose perhaps one could EVAL a call to the given callable and put in a Failure in one of the arguments and then parse the backtrace or extract the backtrace from the exception ... 17:33
17:33 chenryn left 17:36 Hor|zon left
gtodd WITCH-craft :-) 17:38
17:38 kurahaupo joined
abraxxa how do i define a void param in NativeCall? 17:39
timotimo an actual void param? i don't think that exists at all
do you mean void pointer?
17:39 azawawi joined
azawawi hi 17:40
timotimo hello
azawawi what's the recommended backend for perl6 development these days (parrot, jvm or moarvm)?
timotimo almost all developers are developing on moarvm
abraxxa docs.oracle.com/cd/E11882_01/appdev...LNOCI17130 17:41
timotimo especially if you're doing internals work or work on the CORE setting, its very fast compilation times are super comfortable
abraxxa timotimo: *attributep can be a pointer to an int but also to a string
timotimo ah, yes, void pointers
well... 17:42
abraxxa CArray[int]?
azawawi i will be working a bit again on some perl 6 modules, so moarvm right?
timotimo since pointers are all the same size, you can safely define one version of that sub that takes an int pointer and one that takes a string pointer
yes, with CArray
yeah, moarvm
azawawi timotimo: thx
abraxxa timotimo: i was thinking the same too @define twice 17:43
timotimo you can probably define it as multi subs, too
17:44 gfldex joined
timotimo azawawi: you're azawawi on github, too, right? want to tell what you're going to be working on? :) 17:45
abraxxa timotimo: multi sub? how?
timotimo multi sub thething(the signature) is native('the library') { }; multi sub thething(the other signature) is native('the library') { } 17:46
17:47 sjn_phone_ joined
azawawi timotimo: perl6 fun for now :) 17:48
timotimo sounds good to me :)
17:50 sjn_^ left
vendethiel okay, well, spent all day showing jnthn++'s commit with that "controller" thingie :P 17:51
timotimo heh heh heh 17:52
no other language lets you do that!
(also, this makes IDE development hell i'd imagine)
vendethiel timotimo: ... always replace "no other language" by "except common lisp" :P 17:53
timotimo common lisp doesn't really have syntax the same way perl6 does :)
vendethiel timotimo: common lisp has far more syntax than perl6 does ;-) 17:54
timotimo please elaborate
nine Well Perl 5 allows similiar tricks. But there it's really just tricks.
vendethiel timotimo: you can change the syntax as you please in common lisp. 17:55
jnthn wondered if vendethiel showed the feature or actually showed his commit :P 17:56
timotimo vendethiel: like "reader macros"?
vendethiel timotimo: reader macros exactly
timotimo ah
vendethiel jnthn: I did show the commit, because I could show people "it's turtles all the way down!"
timotimo well, perl6 is going to get parsed macros, too :)
jnthn vendethiel: Ah :)
vendethiel: Yes, it wasn't so hard to implement DECLARE :)
vendethiel timotimo: there are packages that add interpolation, that add json as syntax, XML as syntax, infix operators or whatever
timotimo perl6 is far from turtleless 17:57
jnthn vendethiel: But mostly 'cus all the infrastructure for doing such hard things was done :P
vendethiel jnthn: well, then I just explained "oh yeah, did I forgot to mention? Most of Perl6 (except vms) is in perl6. The meta-model can be swapped out, for a protoype-thingie if you'd like. Actually, you can just change the language, we have some basic <<languages>> that embed python or perl5 or whatever 17:58
Oh, and, every operator you use is actually defined in perl6, with syntax available to you. Everything is available to you"
jnthn :)
timotimo perl6: definitely not for those afraid of turtles 17:59
we already have YAPSI, why not build a moarvm compatible vm in perl6? %)
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routines:␤ afraid used at line 1␤ definitely used at line 1␤ for used at line 1␤ of used at line 1. Did you mean 'on'?␤ those used at line 1. Did you me…»
..rakudo-parrot 19d2de: OUTPUT«(timeout)»
colomon now has Cop patched into the grammar 18:00
timotimo what is Cop? 18:01
jnthn
.oO( Good Cop, bad Cop? :P )
colomon container compare metaop :)
timotimo oh
18:04 ajr_ left
jnthn Well, if it gets committed, please put it in a branch...such a thing really needs TimToady++'s input 18:06
colomon jnthn: absolutely
jnthn: I just wanted to play with it and see what I got.
timotimo i already forgot what it was meant for
TimToady std: my $a = True; $a [==]= 0; say $a 18:07
camelia std fc92e1e: OUTPUT«===SORRY!===␤Cannot make assignment out of == because chaining operators are diffy at /tmp/vq5nPhoShs line 1:␤------> my $a = True; $a [==]=⏏ 0; say $a␤Check failed␤FAILED 00:01 142m␤»
colomon TimToady! \o/
timotimo host08.perl6.com/report seems b0rked 18:08
oh
now it works again
colomon very slow
(host08, I mean)
timotimo are we rebuilding ten instances of rakudo-jvm at the same time?
18:09 kjs_ joined
dalek ast: 781e478 | (David Warring [email@hidden.address] | S10-packages/precompilation.t:
added precompilation test for RT #122447
18:18
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122447
timotimo are there best (or good) practices of testing gui applications if the system you're running on may or may not be headless? 18:21
also, if you don't want to interrupt a user's gui session? 18:22
pat_js is that part already implemented? github.com/perl6/specs/blob/master...parameters
18:22 denis_boyun joined
timotimo aye 18:23
pat_js m: my class A {has $!stuff}; (sub (A ($stuff)){$stuff})(A.new(:stuff<1>))
camelia rakudo-moar 19d2de: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature␤ in sub at /tmp/AYoz6JhTuU:1␤ in block <unit> at /tmp/AYoz6JhTuU:1␤␤» 18:24
timotimo you want :$stuff i believe
oh an dalso
that's a private attribute
you can't match based on that, or create a new instance with a value given for a private attribute
pat_js but in the spec it says, it's fine without 18:25
or am I misreading something
timotimo oh, interesting
i thought it was different
pat_js ànd yeah that `!' was a typo 18:26
timotimo m: my class Test { has $.left; has $.right }; sub test (Test ($left, $right)) { say $left; say $right; }; test(Test.new(:left<hi>, :right<bye>));
camelia rakudo-moar 19d2de: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature␤ in sub test at /tmp/lafXWBADJl:1␤ in block <unit> at /tmp/lafXWBADJl:1␤␤»
timotimo m: my class Test { has $.left; has $.right }; sub test (Test (:$left, :$right)) { say $left; say $right; }; test(Test.new(:left<hi>, :right<bye>));
camelia rakudo-moar 19d2de: OUTPUT«hi␤bye␤»
timotimo i didn't know it was supposed to bind positionals by name like in the very first example 18:28
18:33 fhelmberger joined
abraxxa DDL statements work, enough for today! 18:34
timotimo neat
18:36 pyrimidine joined
itz packs for AWP 18:36
18:38 fhelmberger left 18:41 grondilu left 18:42 grondilu joined 18:43 kjs_ left, lichtkind left
dalek nda/CPAN: 370c903 | (Tobias Leich)++ | lib/Panda/CPAN.pm:
properly compare Version objects
18:48
18:51 Hor|zon joined
dalek kudo/container-compare-metaop: 4b310dc | (Solomon Foster)++ | src/ (3 files):
First stab at the proposed C metaop.
18:53
colomon there, pushed as a branch
less than elegant, but it works on all the test cases I've thought of so far. 18:54
vendethiel I think comparisons are one of p6's weak points 18:56
18:56 Hor|zon left 18:57 sjn_^ joined, sjn_phone_ left
vendethiel erm, also, I tend to do `last $some_operation_while_i'm_at_it if ...` ... is that safe? 18:57
18:58 pmurias joined, sjn_phone_ joined, sjn_^ left
FROGGS vendethiel: does that actually work? 18:58
timotimo it's a bad idea
pmurias re IDE development hell, the only sane way is for the IDE's to use parts of the compiler
timotimo pmurias: aye
FROGGS m: my $foo = 42; while 1 { last $foo if 1 }; 18:59
timotimo but it's kinda hard to just evaluate code you may not fully trust, as there could be any kind of evil stuff hidden in BEGIN blocks and such
camelia ( no output )
timotimo BEGIN blocks, initializers of constants, ...
vendethiel FROGGS: it does :-)
18:59 sjn_phone_ left, sjn_^ joined
FROGGS vendethiel: that parameter to last might be a noop right now 18:59
vendethiel timotimo: I guess so :P
FROGGS: yeah, I saw it was specced in S06 19:00
though, s02 says that only LABEL.leave/next/... is valid
19:00 sjn_^ left
FROGGS vendethiel: aye, you also should be able to.. yes that 19:00
19:00 Mso150 left
FROGGS though, NYI 19:00
timotimo vendethiel: maybe "something_else andthen last if foobar" works? not 100% sure on the precedence there
vendethiel timotimo, pmurias: the problem is: we have begin-time side effects 19:01
those suck :(
compile-time*, even.
FROGGS timotimo: we have andthen?
19:01 Mso150 joined
vendethiel yes. 19:01
timotimo m: say "hi" andthen say "goodbye"
FROGGS m: say 1 andthen 2
camelia rakudo-moar 19d2de: OUTPUT«hi␤goodbye␤»
rakudo-moar 19d2de: OUTPUT«1␤»
FROGGS "nice"
timotimo m: say "hi" andthen say "goodbye" if False
camelia ( no output )
vendethiel I remember writing test for andthen with timotimo++
timotimo m: say "hi" andthen say "goodbye" if True
camelia rakudo-moar 19d2de: OUTPUT«hi␤goodbye␤»
dalek ast: 5be8db2 | (David Warring [email@hidden.address] | S10-packages/precompilation.t:
added precomp tests for resolved RT #115240
19:02
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115240
FROGGS wow, that's ugly :o)
vendethiel that was my first contribution to perl6, actually...
and it was an utter and complete fail :-)
timotimo yeah, we both misunderstood what the spec said
FROGGS eww, it is not that ugly actually
*cough*
I might use it from now on in *every* project
:P
timotimo the andthen thing?
FROGGS yeah
19:03 beastd joined
timotimo it's better than just passing an argument to "last" that's the result of some operation ... 19:03
FROGGS I can't say that it is ugly when this was Ven++'s first contribution :o)
vendethiel yeah, actually, I understood what it means now..
dalek p-js: 88b42ce | (Pawel Murias)++ | / (9 files):
Load a precompiled setting instead concatenating it with the compiler input.
vendethiel It's just an anaphoric and
bartolin FROGGS: regarding the "Null PMC access error" earlier: I found that putting the declaration in an extra block (like lives_ok does) results in this error: 19:04
perl6-p -e '{ sub postfix:<\\>($) {} }' ## this dies
perl6-p -e 'sub postfix:<\\>($) {}' ## this lives
FROGGS bartolin: correct
timotimo vendethiel: i don't know what "anaphoric" means in this case :\
FROGGS I also golfed it down to that
bartolin ;-) I added it to the ticket 19:05
FROGGS bartolin: and I also have some sort of solution
bartolin++
vendethiel timotimo: it's like... "keeping" the value. Say, `if a() -> $a {}` is an anaphoric if
timotimo ah
now i know the word for that, neato.
bartolin FROGGS++ # "some sort of solution"
FROGGS well, it has to manifest into a commit first :o)
btw, with panda/CPAN one can install P6 dists from CPAN like: panda --cpan install Inline 19:06
(though, I just uploaded a new Inline version that is not buggy, and that needs to be rsynced around the world first) 19:07
timotimo oh btw froggs
what's our status regarding SDL2 binding?
FROGGS timotimo: no status
timotimo is something blocking us?
FROGGS I've not done anything yet
timotimo like, a missing feature?
FROGGS time perhaps...
we don't know until we try :o) 19:08
timotimo that's a ... meta-blocker i guess :P
rurban I know that the SDL bindings for parrot are broken when someone removed some signatures from the ffi. It's in a branch of mine. 19:12
19:13 kjs_ joined
FROGGS I did SDL bindings using NativeCall... these would needs some update since NativeCall git more robust (and got nativecast for example) 19:14
timotimo your SDL bindings used to need Inline::C, right?
FROGGS but I did these bindings even when there were bindings written int PIR.... because... who wants to maintain that code written in PIR? 19:15
timotimo could have at least written them in winxed, eh?
FROGGS timotimo: I guess they still do, until it gets properly refactored :o)
dalek ast: ec8b16f | (David Warring [email@hidden.address] | S10-packages/precompilation.t:
typo
19:16
19:17 darutoko left
timotimo what did you need that for? 19:17
the Inline::C part
FROGGS for unpacking memory managed by C into structs *shudder*
because depending on flags you got different structs back... 19:18
and NativeCall back that could not cast conditionally... but now we can :o)
timotimo ah! 19:19
very good
FROGGS I guess I should fix up SDL and BubbleBreaker some day in near future
19:19 SamuraiJack__ left 19:24 javan joined, javan left 19:25 ezra1 joined, ezra1 left 19:26 ezra1 joined 19:27 ezra1 left, prevost left
gtodd M: @A =< har pet info>; for @A { say .comb } 19:30
m: @A =< har pet info>; for @A { say .comb }
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/hhYET_Hdvd␤Variable '@A' is not declared␤at /tmp/hhYET_Hdvd:1␤------> @A⏏ =< har pet info>; for @A { say .comb }␤ expecting any of:␤ postfix␤»
lizmat my ?
gtodd oh right ... used to the repl now 19:31
lizmat m: my @A =< har pet info>; for @A { say .comb }
camelia rakudo-moar 19d2de: OUTPUT«h a r␤p e t␤i n f o␤»
timotimo er, the repl is "no strict" by default?
gtodd mine sems to be :)
lizmat looks like
FROGGS hmmm 19:32
gtodd ot I declared @A a long time ago :-\
anyway I wanted to comb each value as a method @A.words.comb
but ... @A.words(*).comb 19:33
and it ddn't work
m: my @a=< har pet info>; @a.words(*).comb 19:34
camelia ( no output )
lizmat m: my @A =< har pet info>; .say for @A.words
camelia rakudo-moar 19d2de: OUTPUT«har␤pet␤info␤»
timotimo gtodd: you want >>.comb then
lizmat m: my @A =< har pet info>; .say for @A.words>>.comb
camelia rakudo-moar 19d2de: OUTPUT«h␤a␤r␤p␤e␤t␤i␤n␤f␤o␤»
gtodd my @a=< har pet info>; say @a.words(*).comb
ok
m: my @a=< har pet info>; say @a.words(*).comb ; 19:35
camelia rakudo-moar 19d2de: OUTPUT«h a r p e t i n f o␤»
gtodd oh good
ok phew
timotimo i think that turns @a into a string with .Str and calls .words on that
why would you need to (*), though?
gtodd I was using different machines and versions by a few days and it was PEBKAC 19:36
timotimo: hehe I just wanted it to do the same thing not to be correct :-)
lizmat maybe we need a .letters :-)
gtodd yes!
hehe
I was goofing around with "*" my @a=< har pet info>; @a.words(*.values).comb ## bzzzt wrong! 19:37
etc etc
timotimo oh
did someone teach panda to $*SPEC.catpath? 19:39
lizmat no, because of compatibility 19:40
timotimo OK
well, it still works
gtodd to me (*) just meant "send all of the indexed stuff I output to the next method"
lizmat after 204.10 I will fix panda
timotimo gtodd: i'd be interested to know how you got to that impression
gtodd synopsis 9 :-) 19:41
FROGGS lizmat: what I don't quite understand... methods directly on IO::Spec are deprecated but on IO::Spe::Unit are not? is that correct?
Spec*
gtodd m: my @data = 21, 43, 9, 11; say @data[*]; 19:42
camelia rakudo-moar 19d2de: OUTPUT«21 43 9 11␤»
lizmat indeed, because then you indicate *what* FS semantics you want
timotimo gtodd: but that's for [*] and not (*)
hm, do we have anything like {*}?
gtodd yeah ? so :-) heheh
FROGGS lizmat: and that is what is bound to $*SPEC according to the platform? that makes sense now :o)
timotimo and what about having a closure inside { }?
lizmat FROGGS: yes 19:44
FROGGS as I understand one has to create a .words candidate that can handle WhateverCode to allow .words(*.values)
lizmat it is basically what IO::Spec.select returns
timotimo well, WhateverCode or Callable really
gtodd timotimo: was just borrowing from other e.g.s and it worked ... TIMTOWDI but not all are equal :-)
19:44 spider-mario left
timotimo hm. 19:45
19:45 Psyche^_ joined
FROGGS hmmmm, now that panda/CPAN kinda works I'd like to work on Panda::Reporter instead of portability :/ 19:46
gtodd >>.comb ends up combing everything at once no? where as I thought I wanted (*.values).comb (which didn't work) or (*).comb ... i.e. do comb on each word
FROGGS I'm weak
19:47 Mouq joined
timotimo that's not at all what (*...) means 19:47
gtodd but of course it was actually shorter to do for @A { say .comb }
FROGGS gah, I do that Reporter stuff after APW... after we have at least a portable Compress::GZip and HTTP::UserAgent
timotimo .say for @a>>.comb is a tiny bit shorter, too
Mouq timotimo: {*}, I believe, is reserved for whenever custom indicies become thing 19:48
gtodd timotimo: I know but that's how it *feels* :-)
timotimo (*) is about passing a little lambda to a function
>>. is about calling a method on all the items in a list
well, in fact: (*) just passes Whatever rather than making a closure 19:49
19:49 Psyche^ left
gtodd timotimo: you see things like .pairs.sort(*.value) ... 19:51
Mouq @a.words.map(*.comb) is very different from @a.words(*).comb. The former passes *.comb to .map, and the latter passes * to words and calls .comb on the entire list
timotimo gtodd: that's right, .sort takes a closure as first argument 19:52
Mouq Where *.comb is a shortcut for -> $_ { $_.comb }
timotimo compare:
gtodd so to me but it seems surprising that @A.words(*).comb works
Mouq gtodd: Same
timotimo m: my @a = <foo bar baz quux blubber 1 2 3 4>; say @a.sort(-> $item { $item.chars }); say @a; 19:53
camelia rakudo-moar 19d2de: OUTPUT«1 2 3 4 foo bar baz quux blubber␤foo bar baz quux blubber 1 2 3 4␤»
timotimo ah, .sort acts more like .sorted actually
Mouq m: .say for "abcd efgh ijk".words(1) 19:54
camelia rakudo-moar 19d2de: OUTPUT«abcd␤»
gtodd Mouq: should that happen?
Mouq I guess :9
timotimo m: say +* 19:55
camelia rakudo-moar 19d2de: OUTPUT«WhateverCode.new()␤»
timotimo :\
Mouq m: say +(my$ =*)
camelia rakudo-moar 19d2de: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: *%_)␤ in sub prefix:<+> at src/gen/m-CORE.setting:4335␤ in block <unit> at /tmp/PCcUNOo6Gq:1␤␤»
timotimo m: my $foo = *; say +$foo
camelia rakudo-moar 19d2de: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: *%_)␤ in sub prefix:<+> at src/gen/m-CORE.setting:4335␤ in block <unit> at /tmp/jMRR4uzM5B:1␤␤»
timotimo %)
moritz works as designed
19:56 jack_rabbit joined
timotimo aye 19:56
gtodd I thought to put methds in a row with dots you did method(*.othermthod)
moritz Whatever-currying is purely syntactic
19:56 pat_js left
timotimo yes, fortunately 19:56
moritz the first implementation in rakudo wasn't
timotimo oh? really?
moritz (and the spec was unclear at that point)
timotimo you could pass a whatever to a function and things would magically closurify? 19:57
moritz iirc methods on * automatically closurified
timotimo that sounds a bit scary
moritz just a wee bit :-) 19:58
gtodd so if method(*.othermethod) is a kind syntax for curryinng/closures etc then words(*).comb should give me an error no?
timotimo no, you're also allowed to pass a literal Whatever to things
Mouq m: .perl.say for (+**)(<12 34 56 3e2>)
camelia rakudo-moar 19d2de: OUTPUT«12␤34␤56␤300e0␤»
moritz gtodd: routine arguments don't autocurry
timotimo and the method( ... ) part isn't really part of the syntax
gtodd oh ok :-) 19:59
moritz gtodd: just operator arguments
m: sub f($x) { say $x.perl }; f *
camelia rakudo-moar 19d2de: OUTPUT«*␤»
moritz (and invocants)
lizmat m: class A { has Str:D $.a }; say A.new.a # should this be "" ??? 20:00
camelia rakudo-moar 19d2de: OUTPUT«(Str)␤»
lizmat or should the Str.D be a compile error?
Mouq m: class A { has Str:D $.a }; say A.new(a => Str) 20:01
camelia rakudo-moar 19d2de: OUTPUT«A.new(a => Str)␤»
Mouq :/
timotimo that should definitely die
Mouq m: class A { has Str:D $.a }; say A.new(a => [])
camelia rakudo-moar 19d2de: OUTPUT«Type check failed in assignment to '$!a'; expected 'Str' but got 'Array'␤ in block at src/gen/m-CORE.setting:958␤ in method BUILDALL at src/gen/m-CORE.setting:950␤ in method bless at src/gen/m-CORE.setting:939␤ in method new at src/gen/m-CORE.…»
gtodd OK I'm going to read the logs over slowly to be sure :-) ... as long as @A.words(*).comb is a PEBKAC and not an error in perl6 ... I though in an earlier version it didn't work :-) 20:04
timotimo words seems to accept a Whatever and not do anything with it, maybe it means the same thing as "Inf" in this case 20:05
gtodd m: my @A = <bye for now>; @A.words(*).say 20:06
camelia rakudo-moar 19d2de: OUTPUT«bye for now␤»
rurban Am I the only one? ./perl6-p --target=pir --output=lib/Test.pm.pir lib/Test.pm
Makefile:541: recipe for target 'RESTRICTED.setting.pbc' failed
timotimo er, what was the official word on what a nativecall bound sub should have in its { }? 20:11
lizmat rurban: works for me
timotimo is {*} still correct?
20:13 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
jnthn timotimo: I think so. It matches proto-dispatcher-y things 20:13
dalek p-js: 2f987a2 | (Pawel Murias)++ | / (3 files):
Add a node stage which run the generated code with node.

Get rid of the ./nqp-js-compile, as we can use ./nqp-js --target=js for that now.
jnthn timotimo: Once we had ... I think, which conflicted with pre-decl syntax 20:14
20:14 chipotle joined
timotimo ah 20:15
i seem to recall something recently being changed
TimToady ... makes more sense, and I think we ran into trouble with * for some reason 20:16
but why not just {}
bartolin rurban: works for me as well (on linux; not build with --gen-parrot=master)
jnthn Oh...how was * problematic? :S
TimToady forgets 20:17
timotimo i think we got Whatever returned by some things in some cases
and the code was "but you said this function returns int! :("
jnthn Oh...
TimToady something in the optimizer, I seem to remmeber
jnthn But I thought I fixed that :)
TimToady I seem to recall that too 20:18
jnthn And I seem to recall the optimizer was naughty there
20:18 denis_boyun left
jnthn Because if you wrap something at BEGIN time (as "is native" does) then it should not be making such assumptions about what's in the body. 20:18
TimToady {...} at least says "this is defined somewhere else"
jnthn True, I just worry (perhaps for no good reason) that some day we might end up making it do what a pre-decl of a class does 20:19
(Which is whine that the thing never actually got defined, at CHECK itme).
timotimo damn it: Internal error: Unwound entire stack and missed handler
jnthn timotimo: That tends to mean "did a native callback and leaked the exception" 20:20
timotimo yes
i put a say in the very first line of my callback
it doesn't happen.
jnthn should really get around to making that case work out better
20:20 guru joined
lizmat MVM_SPESH_DISABLE=1 ? 20:21
jnthn It's nothing to do with spesh
20:21 jack_rabbit left
lizmat goes back to lurking :-) 20:21
jnthn It's that nativecall callbacks are the only place we have a nested runloop.
20:21 guru is now known as Guest77300
jnthn And...I hate them for good reasons. :) 20:21
20:21 Guest77300 is now known as ajr_
timotimo i have method add_draw_handler(&handler (GtkWidget, a_cairo_t, OpaquePointer)) { 20:21
and when i pass my little -> GtkWidget $w, cairo_t $cairo, OpaquePointer $data {, i get this exception: 20:22
Too few positionals passed; expected 3 arguments but got 0 in sub-signature of parameter &handler
does that mean this syntax only works when i have an "is native" routine?
and it does magic with that subsignature?
jnthn Yes
timotimo OK ... when i remove the part in ( ) i get the "unwound" problem instead
jnthn I suspect an initial answer will be "detect that we've an unhandled exception leaking out of the callback and panic with it" 20:23
timotimo that would be a good start 20:24
jnthn So then at least you get the correct error, and an explanation of why it brought down the VM.
timotimo and perhaps even a spot where it happened?
a little piece of stack trace?
jnthn I think we can get the backtrace out.
Don't see why not.
Really though we have two options if we want a more "robust" approach
azawawi what's the recommended module name extension these days for Perl 6 (.pm6 or .pm) ?
jnthn 1) longjmp over the C frame
20:25 Mso150 left
moritz azawawi: "yes" :-) 20:25
jnthn 2) Return a dummy value of some kind
timotimo aha
azawawi moritz: hi :)
jnthn And both feel fragile in different ways :)
azawawi moritz: so it is pm6?
timotimo if i pass -> *@a instead and say @a, i get: GtkWidget.new() OpaquePointer<0x55e0400>
so i may need to NativeCallCast the second argument to become a cairo_t
and the exception happened in trying to bind the signature
jnthn aha 20:26
moritz azawawi: both are recommended; the days I'm leaning slightly toward pm6
but I don't feel I can speak for the community in this regard 20:27
azawawi moritz: i see. thanks
20:29 kaare_ left 20:30 FROGGS left 20:31 FROGGS joined
timotimo um ... when i nativecast an OpaquePointer to something that's repr CPointer, shouldn't passing it to say give me something with the memory address in it? 20:31
well, defined returns True ...
i don't understand why this segfaults :(
lizmat Amsterdam.PM meeting shutting down, afk for a bit& 20:32
FROGGS nativecasting a pointer to a pointer is in fact a deref
20:33 lizmat left, kjs_ left, Hor|zon joined
timotimo it ... it is? 20:33
FROGGS yes... I did that actually
timotimo so how do i reinterpret an OpaquePointer as a cairo_t properly?
FROGGS do you have to?
timotimo maybe i don't have to? 20:34
FROGGS can't you pass that OpaquePointer along?
questions after questions... *g*
timotimo i have to make it a cairo_t, as the class i want to give it to "has cairo_t $!ctx" 20:35
FROGGS OpaquePointer.gist will give you the memory address, but CPointer does not have a .gist method
timotimo OK, fair enough
but how do i makes my type checking happy?
FROGGS hmmm 20:36
timotimo can we get a nativereinterpretcast instead? >_<
er, in addition
20:37 Hor|zon left
timotimo i don't really want to replace every occurence of cairo_t with OpaquePointer 20:37
FROGGS you could nqp::box_i($cairo_ctx, $opointer.Int) or so 20:38
timotimo oh, huh.
FROGGS star-m: my $p = OpaquePointer.new; say $p
camelia star-m 2014.08: OUTPUT«===SORRY!=== Error while compiling /tmp/PJHBo31wPa␤Undeclared name:␤ OpaquePointer used at line 1␤␤»
20:39 mattp_ joined
FROGGS star-m: use NativeCall; my $p = OpaquePointer.new; say $p 20:39
camelia star-m 2014.08: OUTPUT«OpaquePointer<NULL>␤»
timotimo "cannot unbox a type object"; do i need to decont or something?
FROGGS star-m: use NativeCall; my $p = OpaquePointer.new; say $p; nqp::box_i(nqp::decont($p), 42); say $p
camelia star-m 2014.08: OUTPUT«OpaquePointer<NULL>␤OpaquePointer<NULL>␤»
FROGGS :/
timotimo the first argument wants a type, not a target
FROGGS star-m: use NativeCall; say nqp::box_i(nqp::unbox_i(42), OpaquePointer) 20:41
camelia star-m 2014.08: OUTPUT«OpaquePointer<0x2a>␤»
FROGGS multi method new(Int $addr) {
nqp::box_i(nqp::unbox_i(nqp::decont($addr)), OpaquePointer)
}
timotimo what now?
oh, i used box_i the wrong way around 20:42
derp.
pmurias wouldn't it be best to choose a recommended Perl 6 module extension?
FROGGS nqp::box_i(nqp::unbox_i(nqp::decont($addr)), cairo_t) should do
20:42 beastd left
timotimo ERMERGERD RECTENGEL 20:42
FROGGS *g*
pmurias: but there is no recommendation
star-m: use NativeCall; class cairo_t is OpaquePointer { }; my $p = cairo_t.new(42); say $p 20:45
camelia star-m 2014.08: OUTPUT«OpaquePointer<0x2a>␤»
FROGGS ahh, dang
but that is just something weird in .gist
dalek ast: 47f209b | usev6++ | S32-exceptions/misc.t:
Add test for RT #115362
20:46
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115362
TimToady vendethiel: re irclog.perlgeek.de/perl6/2014-10-02#i_9448377, it's not really ambiguous, since a method's colon is parsed as part of the term, and the indirect object colon, which is parsed as a comma variant, would never see it 20:50
FROGGS TimToady: I think it is more a problem for the user, because it looks almost identically 20:51
I mean... it might be okay as long nobody mixes both variants in the same code :o) 20:52
TimToady otoh it resembles a method signature, with a colon in the same place
20:54 kjs_ joined
vendethiel TimToady: yes, not ambiguous as a parse for the grammar, only for the user 20:54
"confusing" being a better wor
+d
annd I just realized I misspelled "inconsistent" in the log. (Misspel? misspell?) 20:55
TimToady not nearly as confusing as P5 indirect objects :)
vendethiel TimToady: I don't know those :P. the object-is-a-key-and-every-property-of-the-class-instances-are-in-a-hash?
TimToady no, it's just syntax; in P5 you can say "print $OUT 42" without a colon and get $OUT->print(42), basically 20:57
but it's terribly ambiguous and far too dwimmy
the colon makes it far less ambiguous, at least as far as the parse is concerned
20:58 rurban1 joined 20:59 rurban left
japhb Am I correct in reading the APW schedule as being single-track? 21:00
FROGGS yes
doesnt make sense to have more rooms then attendees *g* 21:01
vendethiel :')
I... actually don't even know yet if my talk will be accepted
FROGGS well, it does not make sense to have more than one room when you have 60 attendees
vendethiel: yeah :/
pesky little deadlines
vendethiel I received an email telling me that the schedule would be final by yesterday 21:02
FROGGS at the german perl workshop were 135 ppl in 2013 and a single room was okay-ish
timotimo can you turn it into a lightning talk instead? :P
also: where do i ask if a lightning talk slot is still available?
FROGGS into several maybe :o)
vendethiel timotimo: erm, not really :P. but it still might get accepted
tadzik hmm, so it's this weekend, you say
timotimo also: i didn't start on my lightning talk yet
tadzik I may be able to ninja-attend...
FROGGS timotimo: usually at the conf
timotimo tadzik: that would be pretty nice 21:03
vendethiel ohh, tadzik++ :-)
tadzik I have my bachelor defense 14 hours from now
just started sketching the slides :P
rurban1 good luck!
FROGGS tadzik: >.<
tadzik thank you :)
FROGGS tadzik: even more luck!!
vendethiel good luck :-)
tadzik it's supposed to be no longer than 10 minutes, so I should be fine if I prepare a 40-minute-long talk
vendethiel thinks he'll be the youngest one at apw
timotimo :) 21:04
vendethiel I'm not sure if the austrian community is as... "old" as the french one :P
tadzik FROGGS: well, you remember when I did the PLPW slides, didn't you :P
at least I'm not half-drunk today
FROGGS *g*
jnthn This time, please spell doge correctly.
vendethiel you're totally drunk today? :P 21:05
21:05 treehug88 left
tadzik I always spell doge correctly 21:05
FROGGS tadzik: yes, I remember watching you and brabbling things that I don't wanna repeat here :P
tadzik :D
damn, I don't >.<
but! The talk _did_ go well
vendethiel wonders 21:06
tadzik flawless strategy
timotimo so ... i have "use Cairo" and then pass "Cairo" to a sub somewhere ... how do i figure out how to get at something? 21:08
tadzik get at what exactly? 21:09
timotimo oh, i think i know what's wrong
Cairo contains Cairo::Surface for example, but i want to get at cairo_t ... which is not inside Cairo::
tadzik ah 21:10
timotimo eeennnnhhhh
tadzik if it's not inside, maybe you shouldn't look inside :P
timotimo that's right 21:11
i'm trying to build a Cairo module and GTK::Simple in a way that neither depends on the other
but i still need access to the cairo_t type inside GTK::Simple if the user has loaded Cairo in their program...
FROGGS ::('cairo_t') ftw 21:12
timotimo well, that wouldn't give me access to a user's UNIT's cairo_t if i write it inside GTK::Simple ...
and there is no USER:: pseudopackage :P
FROGGS ohh... it only works in HTTP::UserAgent with ::('IO::Socket::INET') because it does try require IO::Socket::INET, aye 21:14
timotimo maybe i should do it that way
er ... why would IO::Socket::INET not be importable?
tadzik well, it's not a module:) 21:15
FROGGS err, IO::Socket::SSL, sorry
tadzik: bah
tadzik :)
timotimo m: say ::('Cairo')::('Test') 21:16
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!===␤No such symbol 'Cairo::Test'␤»
FROGGS m: say ::('Cairo')::('Test') ~~ Failure 21:20
camelia rakudo-moar 19d2de: OUTPUT«True␤»
FROGGS m: say ::('Cairo::Test') ~~ Failure
camelia rakudo-moar 19d2de: OUTPUT«True␤»
FROGGS both will do
timotimo ermergerd 21:21
21:30 gfldex left 21:36 rurban1 left, virtualsue joined
timotimo hm. do i need to declare an enum "is export"? 21:36
dalek ast: 98ef6a0 | usev6++ | S05-mass/rx.t:
Add test for RT #115294
21:37
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115294
timotimo m: say now 21:39
camelia rakudo-moar 19d2de: OUTPUT«Instant:1412717983.790776␤»
timotimo m: my $start = now; for ^1000 { now }; say "this took { now - $start } s for 1k now calls"; 21:41
camelia rakudo-moar 19d2de: OUTPUT«this took 3.9566381 s for 1k now calls␤»
timotimo srsly? :(
21:41 jack_rabbit joined 21:42 _slade_ joined
timotimo ooooh 21:43
that goes through from-posix to do leap second stuff 21:44
21:46 leont joined 21:47 bartolin left 21:49 kurahaupo left 21:53 Hor|zon joined 21:55 kjs_ left 21:58 jack_rabbit left 22:00 PZt left 22:01 Hor|zon left, teagan joined
teagan Hello! I'm just starting to learn Perl6 and I'm trying to read an XML file using the XML module I got through Panda 22:02
timotimo hi there :)
how far do you get?
teagan So I've used the function from-xml-file() to read it in
The XML file is pretty simple right now, just a single <user> with a <name> and a <pass> 22:03
I'm thinking I should probably try to store it as a hash?
22:04 virtualsue left
teagan But I don't know how to parse the xml to establish the necessary levels of the hash 22:05
tony-o is there something like distzilla for p6?
FROGGS tony-o: no, but panda could be the right base to implement such features 22:06
tony-o FROGGS: does panda have any hooks for me to write a 'plugin' type thing for it? 22:07
or should i fork and submit a PR 22:08
FROGGS tony-o: fork it :o)
timotimo teagan: well, the return value of from-xml-file is an XML::Document, which has all the methods a XML::Node has
FROGGS it has plugin stuff ala custom build and test hooks... that works due to checking for a custom Build.pm 22:09
gnight
tony-o i'll probably just add a verb for panda to build
timotimo it should also give you all the methods from XML::Element, so you can access the .nodes as a list of nodes
for example 22:10
22:10 PerlJam left 22:11 Util left, [Coke] left, dalek left
tony-o wouldn't it be cooler if it was MD instead? that seems like the next logical step.. 22:11
oops
timotimo what now? 22:12
22:12 tadzik left
teagan timotimo: So if my xml document is <user><name>admin</name><pass>admin</pass></user> how might I (using a loop) establish the <user> as an object? 22:13
timotimo what exactly do you wish to loop over?
teagan I'm thinking in the future I will have more <user> blocks, so structuring it to loop through all users even though there's just one seemed right for future-proofing 22:16
timotimo OK
i'm not 100% sure how XML represents multiple "top-level nodes"
22:16 lizmat joined
timotimo i mean the xml module you're using 22:16
did you already look at the module's readme, btw?
tony-o teagan: you need to wrap <user> with something if you want multiple blocks 22:17
<users><user> ... </user></users>
teagan I did, but as both perl and xml are new to me I was having trouble taking in what it meant and what I should do :P
timotimo i can't reach modules.perl6.org at the moment; what's the github repository for that module?
teagan timotimo: github.com/supernovus/exemel/ 22:18
tony-o: Okay, thanks!
timotimo thank you
tony-o teagan: if you want to iterate the xmldoc, you can use XML::Query for an easier interface
or you can recursively check your tags for 'user' and then pluck the information you want that way 22:19
22:19 bjz_ joined
tony-o via $.xmldoc.elements 22:19
teagan tony-o: So to do that I add "use XML::Query;" to the top of my document and then it lets me use new methods?
22:19 woolfy joined
tony-o teagan: yes, it's a separate module but the interface is much cleaner if you're wanting to do a lot of 'finding' nodes and extracting values from their children 22:20
you probably have to install it
written by the same cool guy github.com/supernovus/perl6-xml-query/ 22:21
teagan tony-o: So it didn't come with the XML package then?
tony-o correct
teagan And to install I do "$ panda install XML::Query"?
22:21 bjz left, araujo left
tony-o that should work, yea 22:22
teagan Hmm, that failed
22:23 PerlJam joined
timotimo hm. i feel like panda should not "exit 0" when it failed to install one or more modules that i've asked it to install .. 22:23
teagan "Non-zero exit status: 255"
tony-o teagan: do panda install --notests XML::Query
22:23 Util joined
teagan "Parse errors: Bad plan. You planned 28 tests but ran 0." 22:23
22:23 FROGGS left, [Coke] joined
tony-o the test on it is wonky, it works fine for me from the git repo, it fails when panda tries to run the tests 22:23
22:23 dalek joined, ChanServ sets mode: +v dalek
teagan tony-o: Okay! 22:23
22:23 FROGGS joined
teagan That worked! 22:24
22:24 tadzik joined
teagan Thanks :) 22:24
22:25 araujo joined
teagan So I might be able to create a user object in perl using "my $user = $XMLVARNAME('user').elem;"? 22:26
tony-o if you want to create then you need to construct an XML::Element manually
teagan $XMLVARNAME being whatever I call the return of from-xml-file()
tony-o and then append it to the doc root 22:27
teagan Hmm - could there maybe be a way to like... slurp the xml file straight into a hash?
Working with the hash would be much easier, ya?
tony-o you could probably write something, nothing exists right now 22:28
it'd probably be pretty easy
teagan Haha I think I should probably have more than four hours of perl experience for that!
leedo XML can be amiguous on how things be coverted though, so it generally sucks 22:29
tony-o leedo++
leedo i.e. if there is just one <user> inside <users> would it be an array?
teagan Hmm, would you recommend JSON or YAML over XML?
22:29 Psyche^ joined
tony-o JSON is cleaner, the tools are easier in p6 right now 22:29
what are you trying to do? 22:30
or are you just messing around and learning?
leedo: other stuff too, how to handle attributes, what if the container for the attributes coincides with a child's name, etc etc etc 22:31
22:31 Psyche^_ left
teagan I've got a friend who suggested I get into Perl because I want to learn/use file io (among other reasons) so I'm playing around with the idea of a really simple rpg with a character that has certain attributes but can be saved to files and retrieved later 22:31
tony-o m: use XML; say XML::Element.new(name => 'users'); 22:32
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!===␤Could not find XML in any of: /home/p6eval/rakudo-inst-2/languages/perl6/lib, /home/p6eval/rakudo-inst-2/languages/perl6␤»
teagan I picked xml because I heard that yaml wasn't completely working with perl6 yet and json I kept reading was best used with js
tony-o XML is probably just as good as any others for that, certainly more readable after the fact. could also go the DBIish route
timotimo json works pretty well everywhere, IMO. 22:33
tony-o i agree with timotimo
Mouq My main issue with json is that it's annoying to write
teagan In terms of learning curve, might json be a bit easier for a beginner?
Mouq Unless you use json5 ;)
22:34 fhelmberger joined
tony-o json5 looks like the stuff that would make json not so irritating 22:34
timotimo aye 22:36
DSON is also a good alternative
jercos Trailing commas are the real winner here.
You can jabber all you want about how good prefixed-comma is for that sort of thing
but trailing comma is love, trailing comma is life, etc.
Juerd Except of course that prefixed comma is rarely supported at all 22:37
teagan I hate to do this because you're all very helpful, but it's dinner time for me so I'll try to come back in an hour or two!
Thank you so much!
timotimo jercos: except you're not allowed to prefix the very first element with a , in any data format
teagan: bon appetit :)
Juerd You can write foo(1\n, 2\n, 3\n) all you want, but that's still infix. Prefixed would be foo(, 1, 2, 3).
(Or listfix, or however you wish to call it, but not prefix :-))
jercos Well yes. On the other hand, you can claim all arrays start with [0 instead of [, and always index arrays from 1 instead of 0 22:38
Juerd %% ',' for the win.
jercos but now we're getting into supervillain territory
tony-o lol
Mouq teagan: No problem! :)
22:38 fhelmberger left 22:39 azawawi left
timotimo aaarrrgghhhh 22:39
we're not lua here!
Juerd jercos: Please don't remind me of this bug I had to hunt down yesterday. Code was passing indices of some array around, except with 1 as the first item, so everything on the Perl side did $foo[ $index - 1 ]. Except, of course, someone managed to introduce the concept of undefinedness, and as such, an index 0. Enter element -1. 22:40
First fix that came to mind: push @foo, "not defined" and be done with it.
Fixed it the right way though :)
lizmat that is what we don't allow for -1 as indexes by default in P6 22:41
tony-o i was looking at fortran's shaped arrays when lizmat was schooling me earlier, i thought -1 should be an allowed index for the array 22:42
lizmat it will be for shaped array, if the shape allows it :-) 22:43
but that's NYI atm
tony-o nyi?
lizmat Not Yet Implemented (TM) 22:44
Juerd aka ... :P
Although the use of ... as a heredoc terminator that we saw today at Amsterdam.PM was pretty too. 22:45
Mouq Ooo, very YAML
Juerd Yea. 22:46
I don't know if his Perl influenced YAML or the other way around, though :)
lizmat cross-pollination :-) 22:47
Juerd lizmat: Possibly not the case here :) 22:48
ingy: Can you demystify this? :P
tony-o something going on with the perl6 modules list?
lizmat goes to bed in a circular hotel 22:49
good night, #perl6! &
Juerd lizmat: Just try not to get beamed up in the shower :P
Good night
woolfy Juerd: the shower is even weirder than the pictures show.
Mouq 'night lizmat
Juerd woolfy: I wonder how that is even possible 22:50
tony-o link?
woolfy Come over and I'll show you.
Juerd No thanks :)
22:51 pmurias left
woolfy www.booking.com/hotel/nl/fletcher-a...en-gb.html sixth picture on top row of pics. That's the oval, transparent shower. 22:51
Juerd I drove past the building on my way home though. Recognised it from the pictures.
woolfy I am so going to bump into that horrid thing when I stumble out of bed on my way to the toilet tonight... 22:52
tony-o whoa
woolfy Juerd, we waved, we saw you driving. :-)
Juerd Mark its location with towels and a blinking hazard light.
woolfy (kidding)
Juerd Or wear protective gear to avoid injury 22:53
woolfy The towels are white. The walls are white. I forgot my blinking hazard light...
Juerd Well, I guess you'll just have to bump into it then 22:54
Good luck with that
woolfy Maybe I'll even like it... ;-) 22:55
23:02 tinyblak left
timotimo m: class Foo::Bar { ... }; class Foo::Baz is Foo::Bar { ... }; class Foo::Bar { }; class Foo::Baz is Foo::Bar { }; 23:05
camelia rakudo-moar 19d2de: OUTPUT«===SORRY!=== Error while compiling /tmp/kjMlyCtmtL␤Package 'Foo::Baz' already has parent 'Foo::Bar'␤at /tmp/kjMlyCtmtL:1␤------> ␤»
timotimo m: class Foo::Bar { ... }; class Foo::Baz is Foo::Bar { ... }; class Foo::Bar { }; class Foo::Baz { };
camelia ( no output )
timotimo interesting
23:07 ponbiki_ is now known as ponbiki 23:14 kurahaupo joined, tadzik left, [Coke] left 23:15 dalek left, Util left, PerlJam left, tadzik joined 23:16 bjz_ left 23:18 xenoterracide joined, _slade_ left 23:20 dalek joined, ChanServ sets mode: +v dalek, [Coke] joined, Util joined 23:21 PerlJam joined 23:24 davido__ left 23:25 davido__ joined 23:28 ajr_ left 23:33 haroldwu joined 23:34 haroldwu left, haroldwu joined
sjn watches www.youtube.com/watch?v=bo36MrBfTk4 about upcoming features in ECMAScript 6th edition 23:38
some interesting thoughts there :) 23:39
Like "Class-free inheritance" (meaning, "Prototypal inheritance") 23:40
kinda weird listening to Douglas Crockford about what he thinks will be the "The Better Parts" of JS 23:43
timotimo imgur.com/9SGCx38 - pretty, isn't it!
sadly, #cairo is a bit quiet on the matter ... 23:47
sjn ooh, Crockford mentions dec64.com/ .. cool! 23:56
23:58 Hor|zon joined 23:59 _slade_ joined