Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-10-07

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 * lizmat wants to go to bed and finds out she broke parrot *again*  :-(
00:02 lizmat a simple boxing should probably fix it
00:04 woolfy1 timotimo++
00:04 woolfy1 (weekly)
00:10 dalek rakudo/nom: b1ce7e0 | (Elizabeth Mattijsen)++ | src/core/IO/Spec.pm:
00:10 dalek rakudo/nom: Unbreak panda build
00:10 dalek rakudo/nom:
00:10 dalek rakudo/nom: Apparently we *do* need an explicit box when doing a //= in parrot
00:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b1ce7e036a
00:10 lizmat good night, #perl6!
00:10 japhb o/ lizmat and woolfy1!
00:35 BenGoldberg We should rename panda to china, since broken china sounds funnier than broken panda.
00:38 tadzik we can call it china when it's broken :)
00:41 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:45 japhb Anyone happen to know how much trouble an English monoglot would have in Salzburg?  Any particular hints for working around that?
00:46 gtodd Google translate .... :-)
00:47 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:48 gtodd heh yeah ... well vienna is very international don't know about salzburg
00:48 Hor|zon joined #perl6
00:56 japhb ISTR some time ago that English was supposed to be spoken at airports worldwide, but perhaps that only applies to ATC/Tower radio.
01:02 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:03 chipotle joined #perl6
01:04 BenGoldberg Obviously you'd need to be near a wireless hotspot, or else it's a catch 22 ;)
01:12 kurahaupo joined #perl6
01:13 Mso150 joined #perl6
01:30 cognome joined #perl6
01:36 Mso150 joined #perl6
01:37 [Coke] gsoc 2015 announced.
01:45 BenGoldberg Imagine if it were early, and gsoc actually meant google spring of code?
01:46 ilbot3 joined #perl6
01:46 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
01:47 BenGoldberg Yeah, it's a mite chilly in the land down under, when gsoc happens.
01:50 japhb How is our record on bringing people into the project via GSOC that weren't already in the Perl 6 community?
01:52 rmgk joined #perl6
01:58 cognome joined #perl6
02:08 pat_js joined #perl6
02:46 xinming joined #perl6
02:49 Hor|zon joined #perl6
02:57 noganex joined #perl6
03:12 [particle] joined #perl6
03:19 yeahnoob joined #perl6
03:31 xenoterracide joined #perl6
03:37 fhelmberger joined #perl6
03:40 kaare_ joined #perl6
04:09 kurahaupo joined #perl6
04:22 xenoterracide joined #perl6
04:44 ggoebel1111112 joined #perl6
04:50 Hor|zon joined #perl6
04:51 MikeFair_ joined #perl6
04:52 tinyblak joined #perl6
04:53 MikeFair left #perl6
05:04 moritz japhb: well, I got deeply involved with the test suite so that I could mentor Auzon++
05:04 moritz but I was in the p6 community before
05:05 kaare_ joined #perl6
05:22 masak morning, p6 community
05:32 * masak commutes
05:34 * japhb associates and permutes
05:42 [Sno] joined #perl6
05:48 gfldex joined #perl6
05:58 bartolin joined #perl6
06:02 virtualsue joined #perl6
06:06 SamuraiJack_ joined #perl6
06:10 bartolin joined #perl6
06:14 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:16 nine 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:17 nine japhb: I hope to get new ideas at APW though :)
06:48 nine japh: Salzburg is a popular tourist destination, so I guess you can quite far with English only.
06:51 Hor|zon joined #perl6
06:52 jnthn morning, #perl6
06:57 moritz \o
06:59 denis_boyun_ joined #perl6
07:01 jnthn japhb: I've always got by fine in Salzburg
07:02 jnthn japhb: And I don't really speak German. I can pretend to if it gets me a beer and some food... :)
07:02 jnthn .oO( But why do I have to bitter when I want a pilsner? )
07:03 molaf_ joined #perl6
07:04 ribasushi joined #perl6
07:10 yeahnoob joined #perl6
07:10 FROGGS joined #perl6
07:11 rindolf joined #perl6
07:11 immortal joined #perl6
07:11 tinyblak joined #perl6
07:19 darutoko joined #perl6
07:22 Mso150 joined #perl6
07:22 abraxxa joined #perl6
07:22 abraxxa good morning!
07:24 tinyblak joined #perl6
07:24 lizmat morning, #perl6!
07:25 FROGGS good morning
07:28 jnthn o/ all
07:29 mathw joined #perl6
07:32 nwc10 good *, *
07:33 lizmat FROGGS jnthn nwc10 \o
07:35 FROGGS nwc10: would it be possible to purchase extra t-shirts in case you've got too many?
07:35 FROGGS (like, one extra for my $wife)
07:36 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)
07:37 nwc10 right now there are 60 registered people on http://act.useperl.at/apw2014/stats
07:37 nwc10 and I believe that the order was for 60 t-shirts
07:37 nwc10 OK, not everyone registered will confirm (and pay), but other poeple might show up, so it's probably pretty close
07:41 jnthn ooh, another t-shirt :)
07:42 * moritz got a gsoc t-shirt
07:42 moritz one or two weeks ago, iirc
07:44 FROGGS jnthn: nnOoooonnnooooo! IT IS ALLL MINE!!11
07:45 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:48 kjs_ joined #perl6
07:48 FROGGS ahh
07:49 FROGGS jnthn: then I'm happy to see you there :o)
07:49 jnthn :P
07:49 FROGGS *g*
07:49 * jnthn is looking forward to it, except he still has to write his talk :P
07:49 nwc10 and some bugger put the hackathon *after* the conference :-)
07:49 jnthn At least my talk isn't until the Saturday...
07:51 jnthn 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 rurban joined #perl6
07:54 leont joined #perl6
07:54 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 FROGGS (and it won't be a greetathon either)
07:58 abraxxa arnsholt: the problem with not getting an error message was in get_errortext where i exited the loop on \0
07:58 abraxxa it seems Buf.decode takes care of the null termination
08:00 kaleem joined #perl6
08:00 tinyblak_ joined #perl6
08:01 dalek roast: a68446c | (Elizabeth Mattijsen)++ | S32-io/spurt.t:
08:01 dalek roast: Fudge for test that gets into infinite recursion
08:01 dalek roast:
08:01 dalek roast: is() on bufs in rakudo on parrot can't handle Bufs
08:01 dalek roast: review: https://github.com/perl6/roast/commit/a68446c5db
08:02 lizmat .oO( seems I'm repeating myself )
08:05 abraxxa can someone please explain to me why BUILD is useful here? https://github.com/abraxxa/DBIish/blob/master/lib/DBDish/Pg.pm6#L345
08:06 abraxxa http://doc.perl6.org/language/objects#Classes says that BUILD should always be a submethod which it isn't here
08:13 moritz abraxxa: it should be a submethod; I'll fix it
08:13 moritz abraxxa: it doesn't break anything here, because there's no inheritance; but it's not a good idea
08:13 moritz abraxxa: and the submethod is necessary to initialize $!pg_conn (because private attributes aren't initialized by default)
08:14 abraxxa moritz: understood
08:14 abraxxa why not define those attrs as read-only public?
08:14 abraxxa and required!
08:14 moritz abraxxa: because the connection in really something internal, and an implementation detail
08:14 zakharyas joined #perl6
08:15 abraxxa yes, but how does that influence its implementation?
08:15 abraxxa can i also define that an attribute is required when i define it?
08:15 abraxxa like has $.svchp!;
08:15 moritz has $.thing = die "attribute 'thing' is required";
08:16 moritz is the easiest way
08:16 moritz or you can check in BUILD or BUILDALL
08:16 abraxxa is there already an established best practise?
08:16 abraxxa what I've done now is define my attrs as private: has $!svchp; has $!errhp;
08:17 abraxxa and have a BUILD submethod that requires them: submethod BUILD(:$!svchp!, :$!errhp!) { }
08:17 lizmat m: say ("⓪" ... "㊿").elems  # expected 51 from the spec at S03:2109
08:17 synopsebot Link: http://perlcabal.org/syn/S03.html#line_2109
08:17 camelia rakudo-moar b1ce7e: OUTPUT«3542␤»
08:17 moritz abraxxa: sounds good
08:17 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
08:18 abraxxa but I prefer the automatic error text generation of $!varname!
08:20 abraxxa i can't see how RaiseError is passed to Connection, it doesn't have such an attr
08:22 abraxxa i wonder if we should really replicate DBI and having a RaiseError option
08:22 abraxxa I'd prefer die all the way
08:22 abraxxa if you don't like it, wrap your calls
08:23 moritz +1
08:24 * abraxxa opens an issue
08:24 moritz a more interesting question, IMHO, is whether an error should automatically roll back the current transaction
08:24 moritz probably not
08:25 lizmat afk for a few hours&
08:25 Alina-malina joined #perl6
08:27 dalek DBIish: a7597d3 | moritz++ | lib/DBDish/Pg.pm6:
08:27 dalek DBIish: [Pg] fix BUILD, abraxxa++
08:27 dalek DBIish: review: https://github.com/perl6/DBIish/commit/a7597d3e55
08:27 abraxxa moritz++ #quick
08:27 moritz it would have been even quicker, had I not forgotten to push :-)
08:30 abraxxa https://github.com/perl6/DBIish/issues/4
08:31 abraxxa is there an easy way to rebase my fork?
08:31 dakkar joined #perl6
08:31 Hor|zon joined #perl6
08:32 bjz joined #perl6
08:32 moritz you can rebase branches, not forks
08:36 rurban yes, just $ git rebase up/master
08:36 rurban up being the remote which your forked from
08:37 abraxxa rurban: ah, not on the github website but just my local clone
08:37 abraxxa rurban: thanks Reini!
09:01 ghostlines joined #perl6
09:01 Hor|zon joined #perl6
09:01 Sqirrel joined #perl6
09:07 bjz joined #perl6
09:10 pecastro joined #perl6
09:18 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 timotimo if i don't use that offer, it'd cost 25 euros for the 100 mb
09:18 timotimo if i didn't have to roam at all, i'd pay 10 euros for 1gb in 30 days
09:19 pecastro joined #perl6
09:38 fhelmberger joined #perl6
09:41 SamuraiJack__ joined #perl6
09:43 [Coke]_ joined #perl6
09:43 ponbiki_ joined #perl6
09:43 wk_ joined #perl6
09:52 zakharyas joined #perl6
09:58 jnthn such raining...
09:58 * jnthn is happy to see Salzburg weather looks rather nicer :)
09:59 chenryn joined #perl6
10:01 fhelmberger joined #perl6
10:02 cognome joined #perl6
10:08 laben joined #perl6
10:09 laben hai #perl6, how are you all today?
10:10 nwc10 no-one here but us autoresponder "good *, *" bots :-)
10:10 nwc10 good *, laben
10:11 timotimo i'm here
10:12 Sqirrel joined #perl6
10:12 laben i would like to ask what is this APW i read in the logs
10:12 cognome joined #perl6
10:12 timotimo austrian perl workshop
10:13 Hor|zon joined #perl6
10:14 abraxxa too bad it isn't in Vienna
10:16 jnthn But Vienna's hills aren't alive with the sound of Perl 6...
10:16 tony-o also here
10:17 sqirrel_ joined #perl6
10:18 laben when does it take place?
10:20 nwc10 this weekend
10:20 nwc10 http://act.useperl.at/apw2014/
10:23 timotimo http://blog.gerv.net/2014/10/new-class-of-vulnerability-in-perl-web-applications/ - hooray, perl6 does away with this source of danger
10:24 laben will there be slides and/or videos of the talks?
10:24 timotimo slides are usually made available by The Usual Suspects
10:24 nwc10 "Videos" is looking unlikely - I'm not aware of anyone sponsoring it
10:24 kurahaupo joined #perl6
10:27 laben ofc i'm interested in the p6 talks, but the one here http://act.useperl.at/apw2014/talk/5769 seems interesting too
10:28 * carlin keeps reading "austrian" as "australian"
10:29 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
10:30 nwc10 but "next" week :-)
10:31 laben nwc10: thanks man, are you going to publish it somewhere after the workshop?
10:32 nwc10 I'm not certain how/where, but I can make sure that it is available somewhere
10:35 laben btw, are there some specific goals for the hackaton?
10:35 timotimo we're certainly hoping to get rather far on the GLR
10:36 colomon GLR?
10:36 nwc10 I'n not aware of any formally
10:36 laben how about the modules?
10:36 nwc10 but GLR, NFG and native & shaped arrays are the 3 big things left
10:37 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)
10:37 timotimo that's certainly something we can spend time on
10:37 laben and even one which fails even basic test due to how class are constructed
10:38 laben 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?
10:39 laben yeah, but host08.perl6.com looks down from here
10:40 laben maybe i got the wrong url?
10:40 timotimo http://host08.perl6.com:8080/report
10:41 timotimo the port seems to be im port ant
10:41 timotimo wow, that's a lot of fails all in all
10:41 tony-o not sure how to set up db::orm::quicky to say it requires sqlite drivers
10:41 laben timotimo: thanks, i got the port wrong, wouldn't be bad to redirect there though
10:42 timotimo tony-o: we don't have something good for that yet :(
10:42 timotimo laben: agreed, it's probaly just that there's no "regular" web server on that machine
10:43 chenryn joined #perl6
10:43 laben isn't that Dancer? can't the admin just put a redirect easily? maybe it host other things?
10:45 timotimo https://www.marshut.net/kprthy/moarvm-porting-im-stuck.html - interesting
10:45 timotimo someone is actually trying to emscripten MoarVM? that's cool
10:45 laben i think many of these just need a little cleanup in the META.info and for recent changes like IO
10:47 Hor|zon_ joined #perl6
10:47 tony-o my html/xml parser is definitely broken
10:48 dalek rakudo/nom: 8e32d07 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
10:48 dalek rakudo/nom: Make slurp($handle) warn once about deprecation
10:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8e32d07d49
10:50 laben the one im interested in is XML::Query, which fails the test with Default constructor for 'Query' only takes named argument
10:50 laben but i did not dig too deep
10:51 tony-o yea i wrote the parser so i could use it with xml::query :-)
10:51 tony-o on html
10:51 timotimo how does that even work, html is usually SO broken :D
10:52 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
10:53 tony-o it works pretty well, well enough to write web scraper on
10:54 tony-o it's pp so it's pretty slow atm, though
10:54 timotimo pp is "pure perl"?
10:54 tony-o yea
10:54 laben tony-o: you're the author of HTML::Parser::XML or of XML::Query?
10:54 tony-o the former
10:54 tony-o i've used xml::query though
10:56 tony-o XML::Query.new: xml => ${XML::Document || XML::Element}
10:56 tony-o is the usage for it
10:57 denis_boyun joined #perl6
10:57 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:59 tony-o wonder if it's causing mine to fail, i don't understand my error message
10:59 tony-o :q
10:59 * hugme hugs tony-o, good vi(m) user!
10:59 tony-o oops
10:59 tony-o lol
10:59 laben :wq
10:59 * hugme hugs laben, good vi(m) user!
10:59 laben lol
10:59 slavik joined #perl6
11:02 laben tony-o: yep, here the tests for HTML::Parser::XML fail too
11:05 laben 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
11:06 tony-o at some point i should go back to sleep though
11:07 laben tony-o: will you got to APW?
11:07 laben s/got/go/
11:07 timotimo seems like tony-o is in a far-away timezone?
11:08 Sqirrel joined #perl6
11:08 tony-o i'm in california
11:08 laben timotimo: probably you're right, it was careless of me, sorry
11:09 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?
11:09 tony-o yea
11:10 tony-o bicycle crash
11:10 laben tony-o: i wish you good recovery, sleep good then
11:11 tony-o thanks, still looking at xml::query for a while i think though :-)
11:12 laben timotimo: i would be grateful if during APW some time could be spent to review and fix the little things
11:13 timotimo sure
11:13 laben after all, they don't seem too big of a problem and could inversely appreciate the perl 6 ecosystem
11:13 timotimo tony-o: get well soon!
11:15 tony-o thank you!
11:16 prevost joined #perl6
11:16 laben well, break time is almost gone for me, have a good day perl6'ers :)
11:16 tony-o you do the same
11:22 brrt joined #perl6
11:23 brrt \o
11:24 timotimo oh hey brrt
11:24 timotimo will you be attending the hackathon in spirit?
11:24 tony-o .tell laben xml::query test fail is probably safe to ignore, the test is written strangely.  https://github.com/supernovus/perl6-xml-query/blob/master/t/basic.t#L68
11:24 yoleaux tony-o: I'll pass your message to laben.
11:25 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
11:25 yoleaux tony-o: I'll pass your message to laben.
11:25 nwc10 brrt: I don't have an exact enough feeling to give you a good definition
11:25 brrt timotimo: maybe sunday :-) actuaylly hopefully sunday
11:25 brrt what's it supposed to do
11:28 timotimo it's an array that has a set of indices set for each dimension
11:29 brrt ahah
11:29 brrt ok
11:29 brrt that's doable i think
11:29 brrt do we want that in core?
11:29 brrt python has it in numpy
11:29 brrt that works really well (as long as you let numpy do the actual work)
11:30 timotimo we want to have it in core
11:30 brrt ok
11:30 timotimo especially because we want the jit to do cool stuff with it
11:30 brrt yes
11:30 brrt but
11:30 timotimo but the jit part is more interesting for the native array stuff
11:31 dalek specs: 148469c | (Elizabeth Mattijsen)++ | S16-io.pod:
11:31 dalek specs: Elaborate a bit on IO::Path.all
11:31 dalek specs:
11:31 dalek specs: And hopefully remove possible confusion with regards to what a path and an
11:31 dalek specs: IO::Path object is.
11:31 dalek specs: review: https://github.com/perl6/specs/commit/148469ce7a
11:31 brrt how many dimension will we support
11:31 lizmat *
11:32 timotimo yup. all of them.
11:32 tony-o what is the value in that?
11:33 lizmat theoretical physics ?
11:33 brrt i have a very simple and dumb reason to ask
11:33 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 ?
11:33 brrt basically, how will you specify the dimensions to accessors / mutators
11:33 lizmat ease of writing code and performance
11:33 brrt 'as an array' - no
11:35 brrt tony-o: that's really inefficient compared to allocating a big block
11:35 dalek roast: 6cc8c38 | usev6++ | S04-declarations/constant.t:
11:35 dalek roast: Add test for RT #115132
11:35 dalek roast: review: https://github.com/perl6/roast/commit/6cc8c38a1c
11:35 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=115132
11:35 brrt associated with dimensional coefficients
11:35 brrt which is basically how you'd want to do it
11:36 timotimo that stuff is hard, though ... especially if you want to store P6opaque in there ... anything that can have mixins
11:37 brrt what
11:37 brrt wait
11:37 brrt :-)
11:37 brrt hmmm
11:37 tony-o figured from lizmat's answer, not sure how that works with types but it's interesting
11:37 timotimo like, we can't just put the data into a contiguous segment of memory
11:38 timotimo .o( i still want a type constraint that forbids mixins )
11:38 timotimo .o( forbids mixins as well as subclasses )
11:39 dalek specs: e7593f0 | (Elizabeth Mattijsen)++ | S03-operators.pod:
11:39 dalek specs: Prevent more handle/io confusion, remove .M fossil
11:39 dalek specs: review: https://github.com/perl6/specs/commit/e7593f0510
11:40 lizmat afk for a bit
11:43 chenryn joined #perl6
11:44 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:45 brrt if you think that these objects may be different
11:45 brrt but that seems to be a different matter to me
11:45 timotimo yeah, we'd have to allocate a bunch of pointers
11:45 brrt nothing wrong with that
11:45 timotimo with native typed arrays we can get pretty nice stuff, especially for int and num
11:45 timotimo sadly, Int isn't really native, as it's big ints :P
11:53 kjs_ joined #perl6
11:56 tinyblak joined #perl6
12:00 colomon joined #perl6
12:03 daxim_ joined #perl6
12:11 leont Just compiled a new rakudo, have seen errors about deprecated thingies used in the core setting, forgot how I triggered that
12:12 FROGGS we should watch the daily spectest run closely then
12:12 timotimo yeah, the backtraces erroneously don't show where it's used
12:12 FROGGS eww
12:13 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…»
12:13 timotimo hm. apparently sometimes it will show the right one?
12:13 FROGGS hmmm
12:16 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
12:16 timotimo aye
12:17 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?
12:18 colomon Zeqv ?
12:18 jnthn colomon: Yes, that'll work provided they're the same length :)
12:18 jnthn uh, maybe it works anyway...
12:18 colomon fine, >>eqv<<
12:18 colomon jnthn: maybe?
12:18 leont .list on a typed array still gives a typed array
12:19 jnthn Right, sicne list on an array returns self.
12:19 jnthn 'cus ti already is a list-y thing
12:20 leont And given the input is generic, I don't think I can fix it up generically
12:20 leont I guess I'll have to resort to [@( <expression> )]
12:20 dalek rakudo-star-daily: 0415db6 | coke++ | log/MoarVM-version.log:
12:20 dalek rakudo-star-daily: today (automated commit)
12:20 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/0415db6013
12:22 leont In general, typed non-scalars feel very unfinished :-/
12:23 jnthn leont: Even when they are more polished, you'll still want to use them consistently
12:23 chenryn joined #perl6
12:23 jnthn Rather than crossing between typed/non-typed all over the place.
12:24 leont Probably, but this was just a test
12:25 leont In this context, I don't care about the type, just about the values in it
12:26 Ven joined #perl6
12:26 Ven m: 1 ==> say(*)  # hey #perl6
12:26 FROGGS hi Ven
12:26 camelia rakudo-moar 8e32d0: OUTPUT«*1␤»
12:26 Ven m: sub a($a, $b=0){say $a, $b; } 1 ==> say(*)  # hey #perl6
12:26 camelia rakudo-moar 8e32d0: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/JT2dpM_CrTâ�¤Two terms in a rowâ�¤at /tmp/JT2dpM_CrT:1â�¤------> [32msub a($a, $b=0){say $a, $b; } [33mâ��[31m1 ==> say(*)  # hey #perl6[0mâ�¤    expecting any of:â�¤        postfixâ�¤        st…»
12:27 Ven m: sub a($a, $b=0){say $a, $b; }; 1 ==> say(*)  # hey #perl6
12:27 camelia rakudo-moar 8e32d0: OUTPUT«*1␤»
12:27 colomon jnthn: wait, is there a sane way to compare the contains of two containers for eqv?
12:27 Ven mh, well, I think this could be pretty cool to be honest, but might break symmetry
12:27 [Coke]_ m: 1 ==> { .say }
12:27 camelia rakudo-moar 8e32d0: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/TQ2vDChoc_â�¤Sorry, do not know how to handle this case of a feed operator yet.â�¤at /tmp/TQ2vDChoc_:1â�¤------> [32m1 ==> { .say }[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        method ar…»
12:28 [Coke]_ m: { .say } <== 1
12:28 camelia rakudo-moar 8e32d0: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ATW8ZISxJIâ�¤Sorry, do not know how to handle this case of a feed operator yet.â�¤at /tmp/ATW8ZISxJI:1â�¤------> [32m{ .say } <== 1[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
12:28 Ven (1 ==> say; being say(1); 1 ==> say() being say()(1); ! ==> say(*) being say(*)(1))
12:28 colomon m: my @a = 1..3; my @b = 1..4; say @a >>eqv<< @b
12:28 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…»
12:28 Ven I actually think there's a part of the spec that implies >>eqa<<
12:29 * colomon is starting to think maybe there is a missing meta op here...
12:29 Ven is still dwimmy. lemme look at s03..
12:29 jnthn colomon: Just checked S03 and it notes that "Two values are never equivalent unless they are of exactly the same type"
12:29 colomon jnthn: oh, I agree absolutely that eqv on the containers shouldn't be true
12:29 Ven Maybe it wasn't in s03, hu.
12:30 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.
12:30 colomon jnthn: I was also thinking it needed to be length sensitive
12:30 jnthn *nod*
12:31 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
12:32 colomon recursive case?
12:32 Ven comparing nested cntainers
12:32 * colomon is fearing that writing this meta op is probably easier than naming it.
12:33 colomon Ven: I don't have any clear notion how nested containers should be handled.
12:33 Ven exactly :P
12:34 jnthn C for compare, clearly :P
12:35 colomon Container Compare, even
12:35 Ven .say unless (my %){$_}++ given .split(' ')[0] for lines()
12:36 Ven m: .say unless (my %){$_}++ given .split(' ')[0] for lines() # uh?
12:36 camelia rakudo-moar 8e32d0: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/unv2AqwEhTâ�¤Missing semicolon.â�¤at /tmp/unv2AqwEhT:1â�¤------> [32mnless (my %){$_}++ given .split(' ')[0] [33mâ��[31mfor lines() # uh?[0mâ�¤    expecting any of:â�¤        postfixâ�¤        s…»
12:41 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á␤»
12:43 Ven alrighty then. Needs these parens
12:49 tadzik http://permalink.gmane.org/gmane.comp.db.sqlite.general/90549 praise microoptimisations :o
12:49 lizmat leont: today and yesterday I fixed some internal deprecation warnings
12:49 lizmat if you find any more, please let me know!
12:51 leont It was a «Method rel2abs (from IO::Spec) called at: src/gen/m-CORE.setting, line 14284», which does «IO::Spec.rel2abs($path);»
12:52 lizmat good spot!
12:56 Ven tadzik: wow.
12:56 Ven m: .say given $_ for 1
12:56 camelia rakudo-moar 8e32d0: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Xndzf0PCYAâ�¤Missing semicolon.â�¤at /tmp/Xndzf0PCYA:1â�¤------> [32m.say given $_ [33mâ��[31mfor 1[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
12:56 Ven okay, oo that's general precedence rule
12:56 Ven so*
13:00 dalek rakudo/nom: 19d2de5 | (Elizabeth Mattijsen)++ | src/core/IO/Spec.pm:
13:00 dalek rakudo/nom: Fix internal depr warning, spotted by leont++
13:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/19d2de5a75
13:00 woolfy1 left #perl6
13:01 Ven lizmat: does that mean there's no test going through that path :)?
13:05 leont It triggered for me when I couldn't load a module due to a missing -I
13:05 pecastro joined #perl6
13:06 tinyblak joined #perl6
13:07 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.␤====================================================================…»
13:08 lizmat FROGGS: that one I just killed :-)
13:09 FROGGS yeah, just wanted to see it with my own eyes :o)
13:11 lizmat commute to Amsterdam.PM meeting&
13:11 * colomon is trying to build rakudo on an ancient PowerPC Mac (now with Linux installed)
13:12 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
13:13 colomon hmmm, yes, ran fine on its own just now.  :\
13:15 FROGGS colomon: probably due to how we (or libuv) uses the RNG
13:16 FROGGS I've seen BSD patches in this area just lately
13:17 FROGGS m: say IO::Spec::Unix.canonpath("$*CWD/foo/bar")
13:17 camelia rakudo-moar 8e32d0: OUTPUT«/home/p6eval/foo/bar␤»
13:17 lichtkind joined #perl6
13:17 lichtkind greeting earthlings
13:18 lichtkind i found another solution for my issue: (($a += 2) %= 6)
13:18 colomon src/profiler/profile.c: In function ‘dump_call_graph_node’:
13:18 colomon src/profiler/profile.c:81:19: warning: cast from pointer to integer of different size
13:18 lichtkind so my question is why can we make metaop = left associative to i can omit braces
13:18 colomon expected?
13:19 lichtkind feel the right thing anyway to me
13:19 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}
13:19 camelia rakudo-moar 8e32d0: OUTPUT«(timeout)»
13:20 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 #perl6
13:21 lichtkind FROGGS, i know but i had an issue last month
13:21 FROGGS lichtkind: weird
13:21 lichtkind one bad .so file
13:21 FROGGS lichtkind: ohh, interesting... so it might a problem with our build system?
13:22 FROGGS colomon: is that a 32bit system?
13:22 colomon FROGGS: yes
13:22 colomon FROGGS: 32-bit PowerPC
13:22 FROGGS colomon: that would explain it
13:22 rurban joined #perl6
13:23 lichtkind i have 64 2 core AMD
13:23 lichtkind but like said all is well now
13:23 FROGGS well, that's something :o)
13:24 lichtkind my to my proposal what is assoziativity of = as meta
13:26 FROGGS Perl6::Grammar.O(':prec<i=>, :assoc<right>, :dba<item assignment>', '%item_assignment');
13:26 FROGGS Perl6::Grammar.O(':prec<i=>, :assoc<right>, :dba<list assignment>, :sub<e=>, :fiddly<1>', '%list_assignment');
13:34 lichtkind FROGGS, yes i just read it in syn3
13:34 dalek perl6.org: a2b365a | moritz++ | source/ (2 files):
13:34 dalek perl6.org: Use working blog aggregator URL
13:34 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/a2b365a750
13:35 FROGGS moritz: you're going to close the PR?
13:35 [Coke] Does anyone still use the perlfoundation wiki?
13:35 lichtkind FROGGS but is there a way to make  $a += 2 %= 6 work
13:35 lichtkind [Coke] not for years :)
13:35 FROGGS lichtkind: I guess not
13:35 lichtkind but i wondered about it last week too
13:35 FROGGS std; my $a; $a += 2 %= 6
13:36 FROGGS std: my $a; $a += 2 %= 6
13:36 [Coke] We have perl6.org; I don't think we need the wiki.
13:36 camelia std fc92e1e: OUTPUT«ok 00:01 142m␤»
13:36 [Coke] (and a bunch of other sites)
13:36 FROGGS okay, it parses... but it will fail anyway
13:36 lichtkind yes all what i want to achieve i do now with the tablets
13:36 lichtkind so i have my playground there
13:36 dalek perl6.org: 5be15ff | moritz++ | source/community/index.html:
13:36 dalek perl6.org: Fix link
13:36 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/5be15ff7c3
13:36 Hor|zon joined #perl6
13:37 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
13:37 [Coke] (and camelia, she can stay. :)
13:37 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"
13:38 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?
13:39 lichtkind FROGGS it was to make  $a += 2 %= 6 work
13:39 tadzik :o
13:39 lichtkind but like said it already looks a bit dirty to me
13:39 lichtkind but also fancy :)
13:40 colomon IMO $a += 2 %= 6 is a not a good idea
13:41 colomon $a = $b = 6 has to be right assoc, no?
13:41 lichtkind yes
13:41 FROGGS lichtkind: ahh, I was hoping there are more information about *how* to make it work...
13:41 colomon should $a += $b %= 6 really be different?
13:41 lichtkind but meta op is different animal technically
13:42 lichtkind i somewhay thought that making it to left associativity would be anough
13:42 lichtkind i just thinking out loud
13:42 lichtkind dont worry
13:43 jnthn m: say "{285928808.715 / (3600 * 24)} days"
13:43 camelia rakudo-moar 8e32d0: OUTPUT«3309.36121198 days␤»
13:43 jnthn I think that's longer than the Rakudo codebase has existed :P
13:44 FROGGS m: say 3309 / 365
13:44 camelia rakudo-moar 8e32d0: OUTPUT«9.065753␤»
13:44 FROGGS might be true :o)
13:44 FROGGS when was rakudo actually born?
13:45 tadzik 2007?
13:45 FROGGS (or its codebase, not the name)
13:45 tadzik moved away from Parrot repo, iirc
13:45 * [Coke] hurls  https://github.com/perl6/perl6.org/issues/14
13:45 SamuraiJack__ joined #perl6
13:45 colomon Stage parse has been running for seven minutes now...
13:46 FROGGS colomon: is that a G3?
13:46 colomon FROGGS: yes
13:46 colomon it's woofully underpowered
13:46 colomon but it was sitting around the house unused
13:47 * jnthn doesn't feel too wooed by it... :P
13:47 jnthn It'll be cool if it completes the build, though :)
13:47 colomon I'm actually hoping to be able to build my $work stuff on it
13:47 colomon and perl6 is now a part of my $work build chain.
13:48 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
13:48 jnthn colomon: Well, if you're this far it means NQP built
13:49 jnthn 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.
13:49 colomon jnthn: oh, it's going to hit swap.  it's only go 256 MB RAM.
13:49 * colomon can wait
13:51 jnthn :)
13:51 FROGGS eww, 256 MB RAM is not that much :o)
13:51 jnthn I think probably NQP can build withhout swap in that these days...
13:51 jnthn But Rakudo is gonna hurt.
13:51 FROGGS I will have 4gig, wow *g*
13:52 jnthn That's loads :P
13:52 FROGGS more than I'm willing to count on my fingers :o)
13:52 carlin wasn't there a workaround to move a compiled setting from another machine
13:52 carlin I remember doing something like that on my N900
13:52 sergot hi ! o/
13:52 sergot after a while
13:52 sergot :)P)
13:52 sergot :))
13:52 FROGGS carlin: when the paths are identical... maybe
13:52 FROGGS hi sergot!
13:53 sergot FROGGS: o/
13:53 lichtkind colomon i think you nailed it
13:53 lichtkind yes with several variable it becomes clear
13:55 * [Coke] has 16G on his worklaptop these days, yikes.
13:55 rurban uh!
13:55 lichtkind hai rurban
13:56 rurban I got 8G
13:56 lichtkind i have 4 :)
13:57 tadzik I don't have a worklaptop :)
13:57 rurban still better than 2
13:57 tadzik but my regular laptop has 8 I think
13:57 tadzik 2 was not enough to compile rakudo and have chromium open at some point :)
13:57 [Coke] with nqp & moar already built, "make -j9 install" takes about 53s here on moar.
13:57 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
13:58 lichtkind thanks colomon
13:58 FROGGS [Coke]: if could manage to make a cluster out of my bladecenter, I could probably do: make -j56 install
13:59 jnthn [Coke]: Even with non-parallel build on my Windows box, I get Rakudo in 60s or so these days :)
13:59 jnthn (On Moar that is)
13:59 jnthn Still some improvement needed, but it ain't bad :)
13:59 FROGGS but when looking at frontpages of magazines it looks like one can have 18 cores in a single chip, plus HT
13:59 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)
14:00 FROGGS jnthn: well, it will more about 1k€ per chip :o)
14:00 FROGGS rurban: I usually have stage parse for perl6-p around 106s, when perl6-m is about 35s
14:01 * 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? https://github.com/parrot/parrot/issues/564
14:01 jnthn *of
14:01 FROGGS jnthn: do we? I can't tell
14:02 kaare_ joined #perl6
14:02 treehug88 joined #perl6
14:02 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 #perl6
14:02 FROGGS [Coke]: yeah, much enjoyable :o)
14:03 jnthn So the PGE note is irrelevant now
14:03 laben hello again #perl6 people
14:03 yoleaux 11:24Z <tony-o> laben: xml::query test fail is probably safe to ignore, the test is written strangely.  https://github.com/supernovus/perl6-xml-query/blob/master/t/basic.t#L68
14:03 dalek roast: dea36c4 | usev6++ | S06-operator-overloading/sub.t:
14:03 dalek roast: Add test for RT #116643
14:03 dalek roast: review: https://github.com/perl6/roast/commit/dea36c4818
14:03 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=116643
14:03 yoleaux 11:25Z <tony-o> laben: if you rewrite that line as $xq(qw<.flagged .odd>) everything works fine
14:03 FROGGS hi laben
14:03 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
14:03 laben wut, yoleaux is a bot, right?
14:03 moritz laben: yes
14:03 FROGGS laben: yes, message bot
14:04 FROGGS and unicode lookup stuff...
14:04 FROGGS .u BABY
14:04 yoleaux U+0264 LATIN SMALL LETTER RAMS HORN [Ll] (ɤ)
14:04 yoleaux U+1F37C BABY BOTTLE [So] (????)
14:04 yoleaux U+1F424 BABY CHICK [So] (????)
14:05 laben let's see some logs
14:06 laben .tell tony-o dunno man, how recent is your rakudo? i get a failure at https://github.com/supernovus/perl6-xml-query/blob/master/t/basic.t#L14 which is problematic in my opinion
14:06 yoleaux laben: I'll pass your message to tony-o.
14:10 * gtodd fears the APW perl6 hackathon  GLR  will constantly push cool updates to github ...
14:10 nwc10 "fear"?
14:10 gtodd :-)
14:10 gtodd I'll have to keep recompiling all the time
14:11 gtodd it's a nice fear ... I have 16gb more ram and some SSD's at the ready  ...
14:12 * colomon 's PowerPC build is still in Stage Parse; but at least the machine hasn't melted yet.
14:12 gtodd heh
14:15 FROGGS p: sub prefix:<\p>($) {}
14:15 camelia rakudo-parrot 8e32d0: OUTPUT«(timeout)»
14:15 FROGGS p: sub prefix:<\p>($) {}
14:16 camelia rakudo-parrot 8e32d0: OUTPUT«(timeout)»
14:16 FROGGS bartolin: that stuff does not fail on my box
14:16 sjn_^ joined #perl6
14:16 bartolin FROGGS: Oh!
14:16 FROGGS $ perl6-p -e 'sub postfix:<\\>($) {}; say "alive"'
14:16 FROGGS alive
14:17 bartolin FROGGS: I tested with a Parrot from 5 days ago.
14:17 FROGGS hmmm, strange
14:17 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 ?
14:19 PerlJam laben: yes?
14:19 chenryn joined #perl6
14:19 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.
14:19 grondilu laben: yes
14:19 bartolin FROGGS: can you try this: $ perl6-p -e 'use Test; lives_ok { sub prefix:<\o/>($) {} }, "can declare operator with a backslash (1)";'
14:19 nwc10 haragood UGT heresy, masak
14:20 * nwc10 bravely hits return, despite the local lag
14:20 masak :)
14:20 FROGGS bartolin: now it fails
14:20 bartolin FROGGS: your first command works for me, too
14:21 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
14:21 bartolin FROGGS: Have to go now, will try to have another look at this later
14:21 FROGGS $ perl6-p --ll-exception -e '{ sub prefix:<\o/>($) {} }'
14:21 FROGGS Null PMC access in find_method('clone')
14:22 PerlJam laben: the synopses + experimentation + #perl6 will take you far in your learning.
14:22 FROGGS bartolin: see you :o)
14:22 tinyblak joined #perl6
14:23 lichtkind stage parse is 270s on my fast macbook
14:24 lichtkind parrot i have to admit
14:25 timotimo PerlJam: can you tell us a bit more about what exact mistake it pointed out successfully?
14:25 lichtkind nono it sompiles now
14:26 lichtkind just not moar but
14:26 lichtkind wanted say how fast because jnthn said it compiles under 60 s
14:27 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:29 PerlJam 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:30 timotimo ah, right
14:33 FROGGS lichtkind: yes, only rakudo on moar is expected to compile quite fast
14:34 kaleem joined #perl6
14:36 masak japhb++ # the term "mantle developer"
14:37 Hor|zon joined #perl6
14:38 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 masak though I don't really think "closing" is what's on the agenda. at least I hope not.
14:38 masak I hope it's more like "these parts are for 6.0 -- these parts are for later"
14:39 masak which is unrelated to "don't touch this part, because we already implemented it and don't want to change it ever"
14:40 guru joined #perl6
14:40 FROGGS masak: well, we have github branches... maybe an after-6dot0 branch will do?
14:41 masak I don't see why. what's the end goal in such a thing?
14:41 masak if someone wants a snapshot of the spec on a certain date, there's this thing called Git...
14:41 timotimo that is my expectation, masak (that it will be a 6.0 / post-6.0 planning thing)
14:41 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
14:43 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)
14:43 masak FROGGS: I guess I don't see the whole point of this "freezing" business in the first place.
14:43 masak FROGGS: one of Perl 6's strengths has been daring to keep the spec up to date with reality and sanity.
14:44 FROGGS I guess it is more about knowing what 6.0 was meant to be
14:44 masak oh, that's fine.
14:44 FROGGS that's why I quoted the word ""freezing""
14:45 masak ok.
14:45 FROGGS if we could tag certain areas of the spec we would be fine
14:47 grondilu left #perl6
14:49 lichtkind there are still these failing tests on jvm backend, when is there movement to ecpect? hopefully not soon :)
14:50 FROGGS lichtkind: what do you mean exactly?
14:50 FROGGS something in S17?
14:50 lichtkind test coverage on rakudo backend on jcm still hast not 100%
14:50 lichtkind mom habe to look up what s17 is
14:51 lichtkind i i think was also due to this but is seemd to be something basic becasue it prevents some modules from running
14:52 FROGGS lichtkind: the test coverage has nothing to do with failures
14:53 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
14:53 FROGGS lichtkind: yes, but unrelated to each other
14:53 pat_js joined #perl6
14:53 lichtkind thanks
14:54 gtodd laben: plus there's the examples and the tests and a sort of one-pager tutorial (learnXinYminutes) ... rosettacode etc.
14:55 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:57 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
14:57 moritz pat_js: smartmatching
14:57 lichtkind just look at the table in s3
14:57 lichtkind in in the b index of tablets
14:58 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"
14:58 camelia rakudo-moar 8e32d0: OUTPUT«(timeout)»
14:58 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
14:58 moritz huh, that says False locally
14:59 gtodd timotimo: ...   there the organization is a bit different
14:59 moritz oh, because : is Signature
14:59 pat_js moritz: thanks
14:59 moritz > my $capture =  \('abc', 42); my $sig = :(Str, Int); say $capture ~~ $sig
14:59 moritz True
15:00 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?
15:01 moritz lichtkind: it uses Faster Than Light parsing technology :-)
15:01 FROGGS *g*
15:01 lichtkind its http://perlcabal.org/syn/S03.html#Smart_matching
15:02 lichtkind or http://tablets.perl6.org/appendix-b-grouped.html#smartmatch
15:02 FROGGS lichtkind: still, you don't find any s3 on that tablets page
15:04 lichtkind i dont quite undertand but he asked IMO about smartmatch syntax
15:07 Hor|zon joined #perl6
15:07 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:08 FROGGS and somebody that might not know what "tablets" or "s3" is might feel lost
15:09 jnthn today's teaching done
15:09 FROGGS so I thought that I might find it on the tablets pages, and failed
15:09 jnthn hotel &
15:17 davido__ joined #perl6
15:25 Hor|zon joined #perl6
15:25 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 #perl6
15:29 virtualsue left #perl6
15:32 brrt left #perl6
15:35 laben oh, i did not know perl 6 was made to have multiple inheritance
15:36 laben i thought new languages wouldn't have it
15:37 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 laben ?
15:39 timotimo not necessarily
15:39 timotimo sometimes you do end up needing it, i suppose
15:39 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”
15:40 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:
15:40 nwc10 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, af
15:41 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: http://www.linuxjournal.com/article/3394
15:41 nwc10 but might be even more (visibly) topical these days
15:42 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.
15:43 japhb It's not above strongly suggesting Roles, however ....
15:43 nwc10 just the one list?
15:45 * 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
15:45 nwc10 I read the wikipedia page on Bombe - that might do it
15:46 laben nwc10: at least one, i'm sure to be on several, since i usually visit the deep net
15:47 laben 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.  :-)
15:47 laben japhb: Moose supports that? i never used it...
15:49 timotimo nwc10: that earlier line was cut off after "they showd know, aft"
15:49 timotimo i suppose it continues more or less like "they should know, after all they spy on everyone"
15:49 * colomon 's PowerPC Stage Parse is still running, 2 hours and 11 minutes so far.
15:49 FROGGS :/
15:50 timotimo japhb: how does our object model become more general still?
15:50 nwc10 timotimo: so close. "They should know, after all."
15:51 colomon on his modern Mac, however:
15:51 colomon Stage parse      : moar(39654,0x7fff73a01180) malloc: *** error for object 0x7fd0b98500d0: pointer being freed was not allocated
15:51 colomon *** set a breakpoint in malloc_error_break to debug
15:51 timotimo mhm mhm
15:51 FROGGS eww
15:51 Hor|zon joined #perl6
15:51 colomon admittedly I was trying to add something to the CORE, but that seems like an odd and disturbing error message.
15:52 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:53 nwc10 colomon: I had some sort of explosion building the setting on PPC Linux
15:53 nwc10 rerunning make made it go away :-/
15:54 nwc10 which makes it hard to track down
15:54 nwc10 but I'm wondering if there's some big endian daftness as yet unfixed
15:54 colomon nwc10: I duplicated that crash twice.  backing out my change just now made it go away.
15:54 nwc10 ah OK.
15:54 colomon but I'm not sure I see how adding a sub to metaops.pm should result in a malloc error??!?  :\
15:54 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 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:58 laben at least signatures should get their own page into the main docs
15:58 FROGGS we clearly need more contributions to the docs, aye
15:58 colomon FROGGS: https://gist.github.com/colomon/815c50621858c086e461
15:59 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.
16:00 FROGGS colomon: that compiles just fine
16:00 colomon FROGGS: huh
16:01 colomon Just duplicated the error here for a third time.  :\
16:02 colomon Can someone else try https://gist.github.com/colomon/815c50621858c086e461 on a Mac?
16:02 FROGGS brb
16:11 colomon I get the same result as FROGGS: my code builds perfectly on Linux.  Huh.
16:13 tinyblak joined #perl6
16:13 timotimo japhb: you're right
16:14 Mso150 joined #perl6
16:17 FROGGS joined #perl6
16:20 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 https://github.com/supernovus/perl6-xml-query/blob/master/t/basic.t#L14 which is problematic in my opinion
16:21 lizmat joined #perl6
16:21 SamuraiJack__ joined #perl6
16:21 tony-o i rebuilt rakudo yesterday
16:22 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:23 tony-o what error?
16:23 laben tony-o: Default constructor for 'Query' only takes named arguments
16:25 tony-o how new is your rakudo?
16:25 laben not even 24 hours
16:26 tony-o i'll rebuild mine too, are you using j or m?
16:26 tony-o oh rak
16:26 laben m
16:27 tony-o weird, too, my html parser works in -j and not in -m
16:32 grondilu joined #perl6
16:33 [Sno] joined #perl6
16:34 nebuchadnezzar joined #perl6
16:36 wtw joined #perl6
16:36 lizmat colomon: wrt to malloc errors while building the core settings:
16:36 lizmat I've had *many*, *many* of them in the past weeks
16:37 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
16:38 lizmat it's one of these things when you're working on the core settings  :-)
16:38 lizmat like not being able to use typed hashes, or "handles" or any other set of things  :-)
16:38 * lizmat is about to order dinner at the Amsterdam PM meeting
16:40 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 #perl6
16:40 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: http://irclog.perlgeek.de/perl6/2014-10-07#i_9469777
16:40 lizmat and then start adding lines back in until it fails again
16:40 colomon I can understand setting mistakes causing weird things to happen.
16:40 colomon but correct setting code causing a malloc error?  That sounds like a real and serious bug to me.
16:41 Mouq laben: I did start a page for functions, which planned to include a description of signautures/captures
16:41 Mouq laben: But I haven't had time to actually fill it out
16:41 lizmat colomon: on looking at your code
16:41 Mouq Also
16:41 laben Mouq: great
16:41 dwarring joined #perl6
16:42 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
16:42 colomon lizmat: that's copied and pastied from the METAOP_ZIP sub
16:43 lizmat ah, ok
16:43 Mouq So any contributions will be greatly appreciated by everyone ^_^
16:43 lizmat ^lol.elems ?
16:44 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:45 guru joined #perl6
16:45 tony-o laben: 2014.09-165-g19d2de5 built on MoarVM version 2014.09-14-g0df2d6f
16:45 tony-o freshly squeezed p6 + xml::query both pass for me
16:45 Mouq laben: certainly :)
16:46 laben tony-o: linux?
16:46 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
16:46 laben tony-o: that may explain many things, still i'll try to update everything and retest
16:47 laben Mouq: certainly, btw what are the tablets?
16:47 spider-mario joined #perl6
16:47 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 gtodd Mouq: perl6oo :-)
16:47 tony-o laben: windows?
16:48 laben tony-o: i'm on linux
16:48 clkao joined #perl6
16:48 tony-o weird
16:48 gtodd Mouq: mostly each of those was a collection of links to docs on line :-)
16:48 gtodd Mouq: examples and such
16:48 Mouq gtodd: They still sound very useful
16:48 Mouq laben: I haven't worked on the tablets
16:49 Mouq laben: I get the impression that they are more structured than the docs
16:49 laben Mouq: they seemed more like a easier synopses
16:50 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 Mouq laben: There's still work to be done on the docs in terms of organization
16:51 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 :-)  ...
16:52 Mouq So I go to http://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:53 samebchase left #perl6
16:53 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:54 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:55 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)
16:55 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
16:55 gtodd ... it's just right now there's an order of operations that we need to follow
16:55 laben tony-o: i did both, and both tell me the same thing
16:57 cognome joined #perl6
16:57 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 gtodd laben: if you are learning document things for yourself and gradually make them public  ... that's probably what motivated the  learnXinYminutes "tutorial"
17:02 lizmat Tux just pointed out that there is no documentation on D: and U: in signatures
17:02 lizmat and a quick grep shows it is not specced even
17:02 * lizmat goes back to socializing
17:08 lizmat joined #perl6
17:11 abraxxa what's the perl 6 equivalent of /= ?
17:12 abraxxa 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 # ?
17:12 camelia rakudo-moar 19d2de: OUTPUT«3␤»
17:12 Mouq abraxxa: Is that what you mean?
17:13 abraxxa Mouq: no, not divide but assign if undef
17:13 timotimo that's //=
17:13 timotimo literally just the // operator with the = metaop
17:13 Mouq abraxxa: It's not documented because it's automatically created by the = metaop
17:14 timotimo it kind of feels like that's a bad reason to not document something
17:14 timotimo oh ...
17:15 timotimo 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␤»
17:15 timotimo m: my $a = True; $a [==]= 1; say $a
17:15 camelia rakudo-moar 19d2de: OUTPUT«True␤»
17:15 abraxxa Mouq: thanks
17:15 timotimo m: my $a = True; $a [==]= 0; say $a
17:15 camelia rakudo-moar 19d2de: OUTPUT«False␤»
17:15 timotimo i'm glad the === doesn't automatically parse as [==]= m)
17:16 Mouq timotimo: True, but...
17:17 Mouq 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:18 Mouq So you search for info about //= and it points you to infix // and metaop =
17:20 timotimo that sounds a bit like WITCH
17:23 Mouq lol
17:24 Mouq masak: I'm not sure the thing I was trying to explain actually made sense. But I'll think about it harder..
17:24 Mouq for now
17:24 Mouq \o #perl6
17:26 vendethiel o/, #perl6
17:26 molaf joined #perl6
17:26 vendethiel Been re-reading synopses.. S06 does sell some sweet dreams
17:27 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:31 Hor|zon joined #perl6
17:33 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:38 gtodd WITCH-craft :-)
17:38 kurahaupo joined #perl6
17:39 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
17:39 timotimo do you mean void pointer?
17:39 azawawi joined #perl6
17:40 azawawi hi
17:40 timotimo hello
17:40 azawawi what's the recommended backend for perl6 development these days (parrot, jvm or moarvm)?
17:40 timotimo almost all developers are developing on moarvm
17:41 abraxxa http://docs.oracle.com/cd/E11882_01/appdev.112/e10646/oci16rel002.htm#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
17:41 abraxxa timotimo: *attributep can be a pointer to an int but also to a string
17:41 timotimo ah, yes, void pointers
17:42 timotimo well...
17:42 abraxxa CArray[int]?
17:42 azawawi i will be working a bit again on some perl 6 modules, so moarvm right?
17:42 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
17:42 timotimo yes, with CArray
17:42 timotimo yeah, moarvm
17:42 azawawi timotimo: thx
17:43 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 #perl6
17:45 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?
17:46 timotimo multi sub thething(the signature) is native('the library') { }; multi sub thething(the other signature) is native('the library') { }
17:47 sjn_phone_ joined #perl6
17:48 azawawi timotimo: perl6 fun for now :)
17:48 timotimo sounds good to me :)
17:51 vendethiel okay, well, spent all day showing jnthn++'s commit with that "controller" thingie :P
17:52 timotimo heh heh heh
17:52 timotimo no other language lets you do that!
17:52 timotimo (also, this makes IDE development hell i'd imagine)
17:53 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 :)
17:54 vendethiel timotimo: common lisp has far more syntax than perl6 does ;-)
17:54 timotimo please elaborate
17:54 nine Well Perl 5 allows similiar tricks. But there it's really just tricks.
17:55 vendethiel timotimo: you can change the syntax as you please in common lisp.
17:56 * jnthn wondered if vendethiel showed the feature or actually showed his commit :P
17:56 timotimo vendethiel: like "reader macros"?
17:56 vendethiel timotimo: reader macros exactly
17:56 timotimo ah
17:56 vendethiel jnthn: I did show the commit, because I could show people "it's turtles all the way down!"
17:56 timotimo well, perl6 is going to get parsed macros, too :)
17:56 jnthn vendethiel: Ah :)
17:56 jnthn vendethiel: Yes, it wasn't so hard to implement DECLARE :)
17:56 vendethiel timotimo: there are packages that add interpolation, that add json as syntax, XML as syntax, infix operators or whatever
17:57 timotimo perl6 is far from turtleless
17:57 jnthn vendethiel: But mostly 'cus all the infrastructure for doing such hard things was done :P
17:58 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 vendethiel Oh, and, every operator you use is actually defined in perl6, with syntax available to you. Everything is available to you"
17:58 jnthn :)
17:59 timotimo perl6: definitely not for those afraid of turtles
17:59 timotimo we already have YAPSI, why not build a moarvm compatible vm in perl6? %)
17:59 camelia rakudo-moar 19d2de: OUTPUT«[31m===[0mSORRY![31m===[0m 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…»
17:59 camelia ..rakudo-parrot 19d2de: OUTPUT«(timeout)»
18:00 * colomon now has Cop patched into the grammar
18:01 timotimo what is Cop?
18:01 jnthn .oO( Good Cop, bad Cop? :P )
18:01 colomon container compare metaop  :)
18:01 timotimo oh
18:06 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
18:06 colomon jnthn: I just wanted to play with it and see what I got.
18:06 timotimo i already forgot what it was meant for
18:07 TimToady std: my $a = True; $a [==]= 0; say $a
18:07 camelia std fc92e1e: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot make assignment out of == because chaining operators are diffy at /tmp/vq5nPhoShs line 1:�------> [32mmy $a = True; $a [==]=[33m�[31m 0; say $a[0m�Check failed�FAILED 00:01 142m�»
18:07 colomon TimToady!  \o/
18:08 timotimo host08.perl6.com/report seems b0rked
18:08 timotimo oh
18:08 timotimo now it works again
18:08 colomon very slow
18:08 colomon (host08, I mean)
18:08 timotimo are we rebuilding ten instances of rakudo-jvm at the same time?
18:09 kjs_ joined #perl6
18:18 dalek roast: 781e478 | (David Warring david.warring@gmail.com)++ | S10-packages/precompilation.t:
18:18 dalek roast: added precompilation test for RT #122447
18:18 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122447
18:18 dalek roast: review: https://github.com/perl6/roast/commit/781e4785f3
18:21 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:22 timotimo also, if you don't want to interrupt a user's gui session?
18:22 pat_js is that part already implemented? https://github.com/perl6/specs/blob/master/S06-routines.pod#unpacking-tree-node-parameters
18:22 denis_boyun joined #perl6
18:23 timotimo aye
18:23 pat_js m: my class A {has $!stuff}; (sub (A ($stuff)){$stuff})(A.new(:stuff<1>))
18:24 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
18:24 timotimo oh an dalso
18:24 timotimo that's a private attribute
18:24 timotimo you can't match based on that, or create a new instance with a value given for a private attribute
18:25 pat_js but in the spec it says, it's fine without
18:25 pat_js or am I misreading something
18:25 timotimo oh, interesting
18:25 timotimo i thought it was different
18:26 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>));
18:26 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␤␤»
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>));
18:26 camelia rakudo-moar 19d2de: OUTPUT«hi␤bye␤»
18:28 timotimo i didn't know it was supposed to bind positionals by name like in the very first example
18:33 fhelmberger joined #perl6
18:34 abraxxa DDL statements work, enough for today!
18:34 timotimo neat
18:36 pyrimidine joined #perl6
18:36 * itz packs for AWP
18:42 grondilu joined #perl6
18:48 dalek panda/CPAN: 370c903 | (Tobias Leich)++ | lib/Panda/CPAN.pm:
18:48 dalek panda/CPAN: properly compare Version objects
18:48 dalek panda/CPAN: review: https://github.com/tadzik/panda/commit/370c903205
18:51 Hor|zon joined #perl6
18:53 dalek rakudo/container-compare-metaop: 4b310dc | (Solomon Foster)++ | src/ (3 files):
18:53 dalek rakudo/container-compare-metaop: First stab at the proposed C metaop.
18:53 dalek rakudo/container-compare-metaop: review: https://github.com/rakudo/rakudo/commit/4b310dc110
18:53 colomon there, pushed as a branch
18:54 colomon less than elegant, but it works on all the test cases I've thought of so far.
18:56 vendethiel I think comparisons are one of p6's weak points
18:57 sjn_^ joined #perl6
18:57 vendethiel erm, also, I tend to do `last $some_operation_while_i'm_at_it if ...` ... is that safe?
18:58 pmurias joined #perl6
18:58 sjn_phone_ joined #perl6
18:58 FROGGS vendethiel: does that actually work?
18:58 timotimo it's a bad idea
18:58 pmurias re IDE development hell, the only sane way is for the IDE's to use parts of the compiler
18:58 timotimo pmurias: aye
18:59 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
18:59 camelia rakudo-moar 19d2de: ( no output )
18:59 timotimo BEGIN blocks, initializers of constants, ...
18:59 vendethiel FROGGS: it does :-)
18:59 sjn_^ joined #perl6
18:59 FROGGS vendethiel: that parameter to last might be a noop right now
18:59 vendethiel timotimo: I guess so :P
19:00 vendethiel FROGGS: yeah, I saw it was specced in S06
19:00 vendethiel though, s02 says that only LABEL.leave/next/... is valid
19:00 FROGGS vendethiel: aye, you also should be able to.. yes that
19:00 FROGGS though, NYI
19:00 timotimo vendethiel: maybe "something_else andthen last if foobar" works? not 100% sure on the precedence there
19:01 vendethiel timotimo, pmurias: the problem is: we have begin-time side effects
19:01 vendethiel those suck :(
19:01 vendethiel compile-time*, even.
19:01 FROGGS timotimo: we have andthen?
19:01 Mso150 joined #perl6
19:01 vendethiel yes.
19:01 timotimo m: say "hi" andthen say "goodbye"
19:01 FROGGS m: say 1 andthen 2
19:01 camelia rakudo-moar 19d2de: OUTPUT«hi␤goodbye␤»
19:01 camelia rakudo-moar 19d2de: OUTPUT«1␤»
19:01 FROGGS "nice"
19:01 timotimo m: say "hi" andthen say "goodbye" if False
19:01 camelia rakudo-moar 19d2de: ( no output )
19:01 vendethiel I remember writing test for andthen with timotimo++
19:01 timotimo m: say "hi" andthen say "goodbye" if True
19:01 camelia rakudo-moar 19d2de: OUTPUT«hi␤goodbye␤»
19:02 dalek roast: 5be8db2 | (David Warring david.warring@gmail.com)++ | S10-packages/precompilation.t:
19:02 dalek roast: added precomp tests for resolved RT #115240
19:02 dalek roast: review: https://github.com/perl6/roast/commit/5be8db21ba
19:02 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=115240
19:02 FROGGS wow, that's ugly :o)
19:02 vendethiel that was my first contribution to perl6, actually...
19:02 vendethiel and it was an utter and complete fail :-)
19:02 timotimo yeah, we both misunderstood what the spec said
19:02 FROGGS eww, it is not that ugly actually
19:02 FROGGS *cough*
19:02 FROGGS I might use it from now on in *every* project
19:02 FROGGS :P
19:02 timotimo the andthen thing?
19:02 FROGGS yeah
19:03 beastd joined #perl6
19:03 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)
19:03 vendethiel yeah, actually, I understood what it means now..
19:03 dalek nqp-js: 88b42ce | (Pawel Murias)++ | / (9 files):
19:03 dalek nqp-js: Load a precompiled setting instead concatenating it with the compiler input.
19:03 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/88b42cedbe
19:03 vendethiel It's just an anaphoric and
19:04 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 bartolin perl6-p -e '{ sub postfix:<\\>($) {} }'  ## this dies
19:04 bartolin perl6-p -e 'sub postfix:<\\>($) {}'  ## this lives
19:04 FROGGS bartolin: correct
19:04 timotimo vendethiel: i don't know what "anaphoric" means in this case :\
19:04 FROGGS I also golfed it down to that
19:05 bartolin ;-) I added it to the ticket
19:05 FROGGS bartolin: and I also have some sort of solution
19:05 FROGGS bartolin++
19:05 vendethiel timotimo: it's like... "keeping" the value. Say, `if a() -> $a {}` is an anaphoric if
19:05 timotimo ah
19:05 timotimo now i know the word for that, neato.
19:05 bartolin FROGGS++  # "some sort of solution"
19:05 FROGGS well, it has to manifest into a commit first :o)
19:06 FROGGS btw, with panda/CPAN one can install P6 dists from CPAN like: panda --cpan install Inline
19:07 FROGGS (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
19:07 timotimo what's our status regarding SDL2 binding?
19:07 FROGGS timotimo: no status
19:07 timotimo is something blocking us?
19:07 FROGGS I've not done anything yet
19:07 timotimo like, a missing feature?
19:07 FROGGS time perhaps...
19:08 FROGGS we don't know until we try :o)
19:08 timotimo that's a ... meta-blocker i guess :P
19:12 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:13 kjs_ joined #perl6
19:14 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?
19:15 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?
19:15 FROGGS timotimo: I guess they still do, until it gets properly refactored :o)
19:16 dalek roast: ec8b16f | (David Warring david.warring@gmail.com)++ | S10-packages/precompilation.t:
19:16 dalek roast: typo
19:16 dalek roast: review: https://github.com/perl6/roast/commit/ec8b16f30a
19:17 timotimo what did you need that for?
19:17 timotimo the Inline::C part
19:17 FROGGS for unpacking memory managed by C into structs *shudder*
19:18 FROGGS because depending on flags you got different structs back...
19:18 FROGGS and NativeCall back that could not cast conditionally... but now we can :o)
19:19 timotimo ah!
19:19 timotimo very good
19:19 FROGGS I guess I should fix up SDL and BubbleBreaker some day in near future
19:24 javan joined #perl6
19:25 ezra1 joined #perl6
19:25 ezra1 left #perl6
19:26 ezra1 joined #perl6
19:27 ezra1 left #perl6
19:30 gtodd M: @A =< har pet info>; for @A { say .comb }
19:30 gtodd m: @A =< har pet info>; for @A { say .comb }
19:30 camelia rakudo-moar 19d2de: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hhYET_Hdvdâ�¤Variable '@A' is not declaredâ�¤at /tmp/hhYET_Hdvd:1â�¤------> [32m@A[33mâ��[31m =< har pet info>; for @A { say .comb }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
19:30 lizmat my ?
19:31 gtodd oh right ... used to the repl now
19:31 lizmat m: my @A =< har pet info>; for @A { say .comb }
19:31 camelia rakudo-moar 19d2de: OUTPUT«h a r␤p e t␤i n f o␤»
19:31 timotimo er, the repl is "no strict" by default?
19:31 gtodd mine sems to be :)
19:31 lizmat looks like
19:32 FROGGS hmmm
19:32 gtodd ot I declared @A a long time ago :-\
19:32 gtodd anyway I wanted to comb each value as a method  @A.words.comb
19:33 gtodd but ... @A.words(*).comb
19:33 gtodd and it ddn't work
19:34 gtodd m: my @a=< har pet info>; @a.words(*).comb
19:34 camelia rakudo-moar 19d2de: ( no output )
19:34 lizmat m: my @A =< har pet info>; .say for @A.words
19:34 camelia rakudo-moar 19d2de: OUTPUT«har␤pet␤info␤»
19:34 timotimo gtodd: you want >>.comb then
19:34 lizmat m: my @A =< har pet info>; .say for @A.words>>.comb
19:34 camelia rakudo-moar 19d2de: OUTPUT«h␤a␤r␤p␤e␤t␤i␤n␤f␤o␤»
19:34 gtodd my @a=< har pet info>; say @a.words(*).comb
19:34 gtodd ok
19:35 gtodd 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␤»
19:35 gtodd oh good
19:35 gtodd ok phew
19:35 timotimo i think that turns @a into a string with .Str and calls .words on that
19:35 timotimo why would you need to (*), though?
19:36 gtodd I was using different machines and versions by a few days and it was PEBKAC
19:36 gtodd timotimo: hehe I just wanted it to do the same thing not to be correct :-)
19:36 lizmat maybe we need a .letters :-)
19:36 gtodd yes!
19:36 gtodd hehe
19:37 gtodd I was goofing around with "*"  my @a=< har pet info>; @a.words(*.values).comb  ## bzzzt wrong!
19:37 gtodd etc etc
19:37 timotimo oh
19:39 timotimo did someone teach panda to $*SPEC.catpath?
19:40 lizmat no, because of compatibility
19:40 timotimo OK
19:40 timotimo well, it still works
19:40 gtodd to me (*) just meant "send all of the indexed stuff I output to the next method"
19:40 lizmat after 204.10 I will fix panda
19:40 timotimo gtodd: i'd be interested to know how you got to that impression
19:41 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?
19:41 FROGGS Spec*
19:42 gtodd m: my @data   = 21, 43, 9, 11;   say @data[*];
19:42 camelia rakudo-moar 19d2de: OUTPUT«21 43 9 11␤»
19:42 lizmat indeed, because then you indicate *what* FS semantics you want
19:42 timotimo gtodd: but that's for [*] and not (*)
19:42 timotimo hm, do we have anything like {*}?
19:42 gtodd yeah ?  so :-)  heheh
19:42 FROGGS lizmat: and that is what is bound to $*SPEC according to the platform? that makes sense now :o)
19:42 timotimo and what about having a closure inside { }?
19:44 lizmat FROGGS: yes
19:44 FROGGS as I understand one has to create a .words candidate that can handle WhateverCode to allow .words(*.values)
19:44 lizmat it is basically what IO::Spec.select returns
19:44 timotimo well, WhateverCode or Callable really
19:44 gtodd timotimo: was just borrowing from other e.g.s and it worked ... TIMTOWDI but not all are equal :-)
19:45 timotimo hm.
19:45 Psyche^_ joined #perl6
19:46 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
19:46 FROGGS I'm weak
19:47 Mouq joined #perl6
19:47 timotimo that's not at all what (*...) means
19:47 gtodd but of course it was actually shorter to do for @A { say .comb }
19:47 FROGGS gah, I do that Reporter stuff after APW... after we have at least a portable Compress::GZip and HTTP::UserAgent
19:47 timotimo .say for @a>>.comb is a tiny bit shorter, too
19:48 Mouq timotimo: {*}, I believe, is reserved for whenever custom indicies become thing
19:48 gtodd timotimo: I know but that's how it *feels* :-)
19:48 timotimo (*) is about passing a little lambda to a function
19:48 timotimo >>. is about calling a method on all the items in a list
19:49 timotimo well, in fact: (*) just passes Whatever rather than making a closure
19:51 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
19:52 timotimo gtodd: that's right, .sort takes a closure as first argument
19:52 Mouq Where *.comb is a shortcut for -> $_ { $_.comb }
19:52 timotimo compare:
19:52 gtodd so to me but it seems surprising that   @A.words(*).comb works
19:52 Mouq gtodd: Same
19:53 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␤»
19:53 timotimo ah, .sort acts more like .sorted actually
19:54 Mouq m: .say for  "abcd efgh ijk".words(1)
19:54 camelia rakudo-moar 19d2de: OUTPUT«abcd␤»
19:54 gtodd Mouq: should that happen?
19:54 Mouq I guess :9
19:55 timotimo m: say +*
19:55 camelia rakudo-moar 19d2de: OUTPUT«WhateverCode.new()␤»
19:55 timotimo :\
19:55 Mouq m: say +(my$ =*)
19:55 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␤␤»
19:55 timotimo m: my $foo = *; say +$foo
19:55 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␤␤»
19:55 timotimo %)
19:55 moritz works as designed
19:56 jack_rabbit joined #perl6
19:56 timotimo aye
19:56 gtodd I thought to put methds in a row with dots you did  method(*.othermthod)
19:56 moritz Whatever-currying is purely syntactic
19:56 timotimo yes, fortunately
19:56 moritz the first implementation in rakudo wasn't
19:56 timotimo oh? really?
19:56 moritz (and the spec was unclear at that point)
19:57 timotimo you could pass a whatever to a function and things would magically closurify?
19:57 moritz iirc methods on * automatically closurified
19:57 timotimo that sounds a bit scary
19:58 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?
19:58 timotimo no, you're also allowed to pass a literal Whatever to things
19:58 Mouq m: .perl.say for (+**)(<12 34 56 3e2>)
19:58 camelia rakudo-moar 19d2de: OUTPUT«12␤34␤56␤300e0␤»
19:58 moritz gtodd: routine arguments don't autocurry
19:58 timotimo and the method( ... ) part isn't really part of the syntax
19:59 gtodd oh ok :-)
19:59 moritz gtodd: just operator arguments
19:59 moritz m: sub f($x) { say $x.perl }; f *
19:59 camelia rakudo-moar 19d2de: OUTPUT«*␤»
19:59 moritz (and invocants)
20:00 lizmat m: class A { has Str:D $.a }; say A.new.a   # should this be "" ???
20:00 camelia rakudo-moar 19d2de: OUTPUT«(Str)␤»
20:00 lizmat or should the Str.D be a compile error?
20:01 Mouq m: class A { has Str:D $.a }; say A.new(a => Str)
20:01 camelia rakudo-moar 19d2de: OUTPUT«A.new(a => Str)␤»
20:01 Mouq :/
20:01 timotimo that should definitely die
20:01 Mouq m: class A { has Str:D $.a }; say A.new(a => [])
20:01 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.…»
20:04 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:05 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:06 gtodd m: my @A = <bye for now>; @A.words(*).say
20:06 camelia rakudo-moar 19d2de: OUTPUT«bye for now␤»
20:06 rurban Am I the only one? ./perl6-p --target=pir --output=lib/Test.pm.pir lib/Test.pm
20:06 rurban Makefile:541: recipe for target 'RESTRICTED.setting.pbc' failed
20:11 timotimo er, what was the official word on what a nativecall bound sub should have in its { }?
20:11 lizmat rurban: works for me
20:11 timotimo is {*} still correct?
20:13 rmgk_ joined #perl6
20:13 jnthn timotimo: I think so. It matches proto-dispatcher-y things
20:13 dalek nqp-js: 2f987a2 | (Pawel Murias)++ | / (3 files):
20:13 dalek nqp-js: Add a node stage which run the generated code with node.
20:13 dalek nqp-js:
20:13 dalek nqp-js: Get rid of the ./nqp-js-compile, as we can use ./nqp-js --target=js for that now.
20:13 dalek nqp-js: review: https://github.com/pmurias/nqp-js/commit/2f987a2f18
20:14 jnthn timotimo: Once we had ... I think, which conflicted with pre-decl syntax
20:14 chipotle joined #perl6
20:15 timotimo ah
20:15 timotimo i seem to recall something recently being changed
20:16 TimToady ... makes more sense, and I think we ran into trouble with * for some reason
20:16 TimToady but why not just {}
20:16 bartolin rurban: works for me as well (on linux; not build with --gen-parrot=master)
20:16 jnthn Oh...how was * problematic? :S
20:17 * TimToady forgets
20:17 timotimo i think we got Whatever returned by some things in some cases
20:17 timotimo and the code was "but you said this function returns int! :("
20:17 jnthn Oh...
20:17 TimToady something in the optimizer, I seem to remmeber
20:17 jnthn But I thought I fixed that :)
20:18 TimToady I seem to recall that too
20:18 jnthn And I seem to recall the optimizer was naughty there
20:18 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"
20:19 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 jnthn (Which is whine that the thing never actually got defined, at CHECK itme).
20:19 timotimo damn it: Internal error: Unwound entire stack and missed handler
20:20 jnthn timotimo: That tends to mean "did a native callback and leaked the exception"
20:20 timotimo yes
20:20 timotimo i put a say in the very first line of my callback
20:20 timotimo it doesn't happen.
20:20 * jnthn should really get around to making that case work out better
20:20 guru joined #perl6
20:20 lizmat MVM_SPESH_DISABLE=1 ?
20:21 jnthn It's nothing to do with spesh
20:21 * lizmat goes back to lurking :-)
20:21 jnthn It's that nativecall callbacks are the only place we have a nested runloop.
20:21 jnthn And...I hate them for good reasons. :)
20:21 timotimo i have method add_draw_handler(&handler (GtkWidget, a_cairo_t, OpaquePointer)) {
20:22 timotimo and when i pass my little -> GtkWidget $w, cairo_t $cairo, OpaquePointer $data {, i get this exception:
20:22 timotimo Too few positionals passed; expected 3 arguments but got 0 in sub-signature of parameter &handler
20:22 timotimo does that mean this syntax only works when i have an "is native" routine?
20:22 timotimo and it does magic with that subsignature?
20:22 jnthn Yes
20:22 timotimo OK ... when i remove the part in ( ) i get the "unwound" problem instead
20:23 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:24 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.
20:24 timotimo and perhaps even a spot where it happened?
20:24 timotimo a little piece of stack trace?
20:24 jnthn I think we can get the backtrace out.
20:24 jnthn Don't see why not.
20:24 jnthn Really though we have two options if we want a more "robust" approach
20:24 azawawi what's the recommended module name extension these days for Perl 6 (.pm6 or .pm) ?
20:24 jnthn 1) longjmp over the C frame
20:25 moritz azawawi: "yes" :-)
20:25 jnthn 2) Return a dummy value of some kind
20:25 timotimo aha
20:25 azawawi moritz: hi :)
20:25 jnthn And both feel fragile in different ways :)
20:25 azawawi moritz: so it is pm6?
20:25 timotimo if i pass -> *@a instead and say @a, i get: GtkWidget.new() OpaquePointer<0x55e0400>
20:25 timotimo so i may need to NativeCallCast the second argument to become a cairo_t
20:25 timotimo and the exception happened in trying to bind the signature
20:26 jnthn aha
20:26 moritz azawawi: both are recommended; the days I'm leaning slightly toward pm6
20:27 moritz but I don't feel I can speak for the community in this regard
20:27 azawawi moritz: i see. thanks
20:31 FROGGS joined #perl6
20:31 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 timotimo well, defined returns True ...
20:31 timotimo i don't understand why this segfaults :(
20:32 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 Hor|zon joined #perl6
20:33 timotimo it ... it is?
20:33 FROGGS yes... I did that actually
20:33 timotimo so how do i reinterpret an OpaquePointer as a cairo_t properly?
20:33 FROGGS do you have to?
20:34 timotimo maybe i don't have to?
20:34 FROGGS can't you pass that OpaquePointer along?
20:34 FROGGS questions after questions... *g*
20:35 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
20:35 timotimo OK, fair enough
20:35 timotimo but how do i makes my type checking happy?
20:36 FROGGS hmmm
20:36 timotimo can we get a nativereinterpretcast instead? >_<
20:36 timotimo er, in addition
20:37 timotimo i don't really want to replace every occurence of cairo_t with OpaquePointer
20:38 FROGGS you could nqp::box_i($cairo_ctx, $opointer.Int) or so
20:38 timotimo oh, huh.
20:38 FROGGS star-m: my $p = OpaquePointer.new; say $p
20:38 camelia star-m 2014.08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/PJHBo31wPaâ�¤Undeclared name:â�¤    OpaquePointer used at line 1â�¤â�¤Â»
20:38 mattp_ joined #perl6
20:39 FROGGS star-m: use NativeCall; my $p = OpaquePointer.new; say $p
20:39 camelia star-m 2014.08: OUTPUT«OpaquePointer<NULL>␤»
20:39 timotimo "cannot unbox a type object"; do i need to decont or something?
20:39 FROGGS star-m: use NativeCall; my $p = OpaquePointer.new; say $p; nqp::box_i(nqp::decont($p), 42); say $p
20:39 camelia star-m 2014.08: OUTPUT«OpaquePointer<NULL>␤OpaquePointer<NULL>␤»
20:39 FROGGS :/
20:39 timotimo the first argument wants a type, not a target
20:41 FROGGS star-m: use NativeCall; say nqp::box_i(nqp::unbox_i(42), OpaquePointer)
20:41 camelia star-m 2014.08: OUTPUT«OpaquePointer<0x2a>␤»
20:41 FROGGS multi method new(Int $addr) {
20:41 FROGGS nqp::box_i(nqp::unbox_i(nqp::decont($addr)), OpaquePointer)
20:41 FROGGS }
20:41 timotimo what now?
20:42 timotimo oh, i used box_i the wrong way around
20:42 timotimo derp.
20:42 pmurias wouldn't it be best to choose a recommended Perl 6 module extension?
20:42 FROGGS nqp::box_i(nqp::unbox_i(nqp::decont($addr)), cairo_t) should do
20:42 timotimo ERMERGERD RECTENGEL
20:42 FROGGS *g*
20:42 FROGGS pmurias: but there is no recommendation
20:45 FROGGS 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>␤»
20:45 FROGGS ahh, dang
20:45 FROGGS but that is just something weird in .gist
20:46 dalek roast: 47f209b | usev6++ | S32-exceptions/misc.t:
20:46 dalek roast: Add test for RT #115362
20:46 dalek roast: review: https://github.com/perl6/roast/commit/47f209bdd7
20:46 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=115362
20:50 TimToady vendethiel: re http://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:51 FROGGS TimToady: I think it is more a problem for the user, because it looks almost identically
20:52 FROGGS 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 #perl6
20:54 vendethiel TimToady: yes, not ambiguous as a parse for the grammar, only for the user
20:54 vendethiel "confusing" being a better wor
20:54 vendethiel +d
20:55 vendethiel annd I just realized I misspelled "inconsistent" in the log. (Misspel? misspell?)
20:55 TimToady not nearly as confusing as P5 indirect objects :)
20:55 vendethiel TimToady: I don't know those :P. the object-is-a-key-and-every-property-of-the-class-instances-are-in-a-hash?
20:57 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 TimToady but it's terribly ambiguous and far too dwimmy
20:57 TimToady the colon makes it far less ambiguous, at least as far as the parse is concerned
20:58 rurban1 joined #perl6
21:00 japhb Am I correct in reading the APW schedule as being single-track?
21:00 FROGGS yes
21:01 FROGGS doesnt make sense to have more rooms then attendees *g*
21:01 vendethiel :')
21:01 vendethiel I... actually don't even know yet if my talk will be accepted
21:01 FROGGS well, it does not make sense to have more than one room when you have 60 attendees
21:01 FROGGS vendethiel: yeah :/
21:01 FROGGS pesky little deadlines
21:02 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
21:02 timotimo can you turn it into a lightning talk instead? :P
21:02 timotimo also: where do i ask if a lightning talk slot is still available?
21:02 FROGGS into several maybe :o)
21:02 vendethiel timotimo: erm, not really :P. but it still might get accepted
21:02 tadzik hmm, so it's this weekend, you say
21:02 timotimo also: i didn't start on my lightning talk yet
21:02 tadzik I may be able to ninja-attend...
21:02 FROGGS timotimo: usually at the conf
21:03 timotimo tadzik: that would be pretty nice
21:03 vendethiel ohh, tadzik++ :-)
21:03 tadzik I have my bachelor defense 14 hours from now
21:03 tadzik just started sketching the slides :P
21:03 rurban1 good luck!
21:03 FROGGS tadzik: >.<
21:03 tadzik thank you :)
21:03 FROGGS tadzik: even more luck!!
21:03 vendethiel good luck :-)
21:03 tadzik it's supposed to be no longer than 10 minutes, so I should be fine if I prepare a 40-minute-long talk
21:03 * vendethiel thinks he'll be the youngest one at apw
21:04 timotimo :)
21:04 vendethiel I'm not sure if the austrian community is as... "old" as the french one :P
21:04 tadzik FROGGS: well, you remember when I did the PLPW slides, didn't you :P
21:04 tadzik at least I'm not half-drunk today
21:04 FROGGS *g*
21:04 jnthn This time, please spell doge correctly.
21:05 vendethiel you're totally drunk today? :P
21:05 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
21:05 tadzik :D
21:05 tadzik damn, I don't >.<
21:05 tadzik but! The talk _did_ go well
21:06 * vendethiel wonders
21:06 tadzik flawless strategy
21:08 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:09 tadzik get at what exactly?
21:09 timotimo oh, i think i know what's wrong
21:09 timotimo Cairo contains Cairo::Surface for example, but i want to get at cairo_t ... which is not inside Cairo::
21:10 tadzik ah
21:10 timotimo eeennnnhhhh
21:10 tadzik if it's not inside, maybe you shouldn't look inside :P
21:11 timotimo that's right
21:11 timotimo i'm trying to build a Cairo module and GTK::Simple in a way that neither depends on the other
21:11 timotimo but i still need access to the cairo_t type inside GTK::Simple if the user has loaded Cairo in their program...
21:12 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 ...
21:12 timotimo and there is no USER:: pseudopackage :P
21:14 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
21:14 timotimo er ... why would IO::Socket::INET not be importable?
21:15 tadzik well, it's not a module:)
21:15 FROGGS err, IO::Socket::SSL, sorry
21:15 FROGGS tadzik: bah
21:15 tadzik :)
21:16 timotimo m: say ::('Cairo')::('Test')
21:16 camelia rakudo-moar 19d2de: OUTPUT«===SORRY!===␤No such symbol 'Cairo::Test'␤»
21:20 FROGGS m: say ::('Cairo')::('Test') ~~ Failure
21:20 camelia rakudo-moar 19d2de: OUTPUT«True␤»
21:20 FROGGS m: say ::('Cairo::Test') ~~ Failure
21:20 camelia rakudo-moar 19d2de: OUTPUT«True␤»
21:20 FROGGS both will do
21:21 timotimo ermergerd
21:36 virtualsue joined #perl6
21:36 timotimo hm. do i need to declare an enum "is export"?
21:37 dalek roast: 98ef6a0 | usev6++ | S05-mass/rx.t:
21:37 dalek roast: Add test for RT #115294
21:37 dalek roast: review: https://github.com/perl6/roast/commit/98ef6a0163
21:37 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=115294
21:39 timotimo m: say now
21:39 camelia rakudo-moar 19d2de: OUTPUT«Instant:1412717983.790776␤»
21:41 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␤»
21:41 timotimo srsly? :(
21:41 jack_rabbit joined #perl6
21:42 _slade_ joined #perl6
21:43 timotimo ooooh
21:44 timotimo that goes through from-posix to do leap second stuff
21:46 leont joined #perl6
21:53 Hor|zon joined #perl6
22:01 teagan joined #perl6
22:02 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 :)
22:02 timotimo how far do you get?
22:02 teagan So I've used the function from-xml-file() to read it in
22:03 teagan The XML file is pretty simple right now, just a single <user> with a <name> and a <pass>
22:03 teagan I'm thinking I should probably try to store it as a hash?
22:05 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?
22:06 FROGGS tony-o: no, but panda could be the right base to implement such features
22:07 tony-o FROGGS: does panda have any hooks for me to write a 'plugin' type thing for it?
22:08 tony-o or should i fork and submit a PR
22:08 FROGGS tony-o: fork it :o)
22:08 timotimo teagan: well, the return value of from-xml-file is an XML::Document, which has all the methods a XML::Node has
22:09 FROGGS it has plugin stuff ala custom build and test hooks... that works due to checking for a custom Build.pm
22:09 FROGGS gnight
22:09 tony-o i'll probably just add a verb for panda to build
22:09 timotimo it should also give you all the methods from XML::Element, so you can access the .nodes as a list of nodes
22:10 timotimo for example
22:11 tony-o wouldn't it be cooler if it was MD instead?  that seems like the next logical step..
22:11 tony-o oops
22:12 timotimo what now?
22:13 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?
22:16 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
22:16 timotimo i'm not 100% sure how XML represents multiple "top-level nodes"
22:16 lizmat joined #perl6
22:16 timotimo i mean the xml module you're using
22:16 timotimo did you already look at the module's readme, btw?
22:17 tony-o teagan: you need to wrap <user> with something if you want multiple blocks
22:17 tony-o <users><user> ... </user></users>
22:17 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
22:17 timotimo i can't reach modules.perl6.org at the moment; what's the github repository for that module?
22:18 teagan timotimo: https://github.com/supernovus/exemel/
22:18 teagan tony-o: Okay, thanks!
22:18 timotimo thank you
22:18 tony-o teagan: if you want to iterate the xmldoc, you can use XML::Query for an easier interface
22:19 tony-o or you can recursively check your tags for 'user' and then pluck the information you want that way
22:19 bjz_ joined #perl6
22:19 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 #perl6
22:20 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 tony-o you probably have to install it
22:21 tony-o written by the same cool guy https://github.com/supernovus/perl6-xml-query/
22:21 teagan tony-o: So it didn't come with the XML package then?
22:21 tony-o correct
22:21 teagan And to install I do "$ panda install XML::Query"?
22:22 tony-o that should work, yea
22:22 teagan Hmm, that failed
22:23 PerlJam joined #perl6
22:23 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"
22:23 tony-o teagan: do panda install --notests XML::Query
22:23 Util joined #perl6
22:23 teagan "Parse errors: Bad plan.  You planned 28 tests but ran 0."
22:23 [Coke] joined #perl6
22:23 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 dalek joined #perl6
22:23 teagan tony-o: Okay!
22:23 FROGGS joined #perl6
22:24 teagan That worked!
22:24 tadzik joined #perl6
22:24 teagan Thanks :)
22:25 araujo joined #perl6
22:26 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
22:26 teagan $XMLVARNAME being whatever I call the return of from-xml-file()
22:27 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?
22:27 teagan Working with the hash would be much easier, ya?
22:28 tony-o you could probably write something, nothing exists right now
22:28 tony-o it'd probably be pretty easy
22:28 teagan Haha I think I should probably have more than four hours of perl experience for that!
22:29 leedo XML can be amiguous on how things be coverted though, so it generally sucks
22:29 tony-o leedo++
22:29 leedo i.e. if there is just one <user> inside <users> would it be an array?
22:29 teagan Hmm, would you recommend JSON or YAML over XML?
22:29 Psyche^ joined #perl6
22:29 tony-o JSON is cleaner, the tools are easier in p6 right now
22:30 tony-o what are you trying to do?
22:30 tony-o or are you just messing around and learning?
22:31 tony-o 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 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:32 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␤»
22:32 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
22:32 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
22:33 timotimo json works pretty well everywhere, IMO.
22:33 tony-o i agree with timotimo
22:33 Mouq My main issue with json is that it's annoying to write
22:33 teagan In terms of learning curve, might json be a bit easier for a beginner?
22:33 Mouq Unless you use json5 ;)
22:34 fhelmberger joined #perl6
22:34 tony-o json5 looks like the stuff that would make json not so irritating
22:36 timotimo aye
22:36 timotimo DSON is also a good alternative
22:36 jercos Trailing commas are the real winner here.
22:36 jercos You can jabber all you want about how good prefixed-comma is for that sort of thing
22:36 jercos but trailing comma is love, trailing comma is life, etc.
22:37 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!
22:37 teagan Thank you so much!
22:37 timotimo jercos: except you're not allowed to prefix the very first element with a , in any data format
22:37 timotimo teagan: bon appetit :)
22:37 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).
22:37 Juerd (Or listfix, or however you wish to call it, but not prefix :-))
22:38 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.
22:38 jercos but now we're getting into supervillain territory
22:38 tony-o lol
22:38 Mouq teagan: No problem! :)
22:39 timotimo aaarrrgghhhh
22:39 timotimo we're not lua here!
22:40 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 Juerd First fix that came to mind: push @foo, "not defined" and be done with it.
22:40 Juerd Fixed it the right way though :)
22:41 lizmat that is what we don't allow for -1 as indexes by default in P6
22:42 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:43 lizmat it will be for shaped array, if the shape allows it  :-)
22:43 lizmat but that's NYI atm
22:43 tony-o nyi?
22:44 lizmat Not Yet Implemented (TM)
22:44 Juerd aka ... :P
22:45 Juerd Although the use of ... as a heredoc terminator that we saw today at Amsterdam.PM was pretty too.
22:45 Mouq Ooo, very YAML
22:46 Juerd Yea.
22:46 Juerd I don't know if his Perl influenced YAML or the other way around, though :)
22:47 lizmat cross-pollination :-)
22:48 Juerd lizmat: Possibly not the case here :)
22:48 Juerd ingy: Can you demystify this? :P
22:48 tony-o something going on with the perl6 modules list?
22:49 * lizmat goes to bed in a circular hotel
22:49 lizmat good night, #perl6! &
22:49 Juerd lizmat: Just try not to get beamed up in the shower :P
22:49 Juerd Good night
22:49 woolfy Juerd: the shower is even weirder than the pictures show.
22:49 Mouq 'night lizmat
22:50 Juerd woolfy: I wonder how that is even possible
22:50 tony-o link?
22:50 woolfy Come over and I'll show you.
22:50 Juerd No thanks :)
22:51 woolfy http://www.booking.com/hotel/nl/fletcher-amsterdam.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.
22:52 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
22:52 woolfy Juerd, we waved, we saw you driving.  :-)
22:52 Juerd Mark its location with towels and a blinking hazard light.
22:52 woolfy (kidding)
22:53 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...
22:54 Juerd Well, I guess you'll just have to bump into it then
22:54 Juerd Good luck with that
22:55 woolfy Maybe I'll even like it...  ;-)
23:05 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«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/kjMlyCtmtL�Package 'Foo::Baz' already has parent 'Foo::Bar'�at /tmp/kjMlyCtmtL:1�------> �»
23:05 timotimo m: class Foo::Bar { ... }; class Foo::Baz is Foo::Bar { ... }; class Foo::Bar { }; class Foo::Baz { };
23:05 camelia rakudo-moar 19d2de: ( no output )
23:05 timotimo interesting
23:14 kurahaupo joined #perl6
23:15 tadzik joined #perl6
23:18 xenoterracide joined #perl6
23:20 dalek joined #perl6
23:20 [Coke] joined #perl6
23:20 Util joined #perl6
23:21 PerlJam joined #perl6
23:25 davido__ joined #perl6
23:33 haroldwu joined #perl6
23:34 haroldwu joined #perl6
23:38 * sjn watches https://www.youtube.com/watch?v=bo36MrBfTk4 about upcoming features in ECMAScript 6th edition
23:39 sjn some interesting thoughts there :)
23:40 sjn Like "Class-free inheritance" (meaning, "Prototypal inheritance")
23:43 sjn kinda weird listening to Douglas Crockford about what he thinks will be the "The Better Parts" of JS
23:43 timotimo https://imgur.com/9SGCx38 - pretty, isn't it!
23:47 timotimo sadly, #cairo is a bit quiet on the matter ...
23:56 sjn ooh, Crockford mentions http://dec64.com/ .. cool!
23:57 Hor|zon joined #perl6
23:59 _slade_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo