Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-08-25

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:02 erkan joined #perl6
00:02 erkan joined #perl6
00:05 nbrown_ joined #perl6
00:09 salv0 joined #perl6
00:23 aborazmeh joined #perl6
00:43 raiph joined #perl6
00:49 dolmen joined #perl6
01:04 dalek roast: dfed85f | coke++ | S14-roles/stubs.t:
01:04 dalek roast: fudge for rakudo.jvm
01:04 dalek roast: review: https://github.com/perl6/roast/commit/dfed85fd80
01:09 raiph joined #perl6
01:11 dayangkun joined #perl6
01:19 salv0 joined #perl6
01:20 FROGGS_ joined #perl6
01:47 mberends joined #perl6
01:50 mberends joined #perl6
01:55 labster m: "0".pred.perl.say
01:55 camelia rakudo-moar c793d8: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => "Decrement out of range"))␤»
01:55 labster I feel like that maybe should work, but I can understand why it doesn't.
01:55 labster But I do feel like that needs to be a typed exception.
01:58 labster X::OutOfRange or something more specific... hm.
02:02 raiph joined #perl6
02:06 salv0 joined #perl6
02:09 BenGoldberg m: Buf.new("0".encode("utf8")[0].​pred).decode("utf8").perl.say
02:09 camelia rakudo-moar c793d8: OUTPUT«"/"␤»
02:12 labster well, that too, but I was thinking more along the lines of "-1"
02:12 labster which is what happens in Perl 5.
02:15 geekosaur perl5 automatically changes a string to a number for that. perl6 doesn't do so here since .succ on Str is what used to be magic autoincrement in perl5; perl5 has no corresponding magic autodecrement, nor does perl6 (far too many corner cases)
02:16 geekosaur so perl5 has inconsistent increment vs. decrement behavior on strings, whereas perl6 is consistent
02:16 labster Or at least consistently inconsistent.
02:18 geekosaur anyway if you want numeric increment/decrement on a Str, convert it to a number first
02:20 labster of course
02:21 labster I'm just documenting the current behavior.  It's in S03, but something about it should be in S32::Str so I'm adding it.
02:22 nbrown_ joined #perl6
02:24 dalek specs: 193f4b6 | (Brent Laabs)++ | S32-setting-library/Str.pod:
02:24 dalek specs: document Str.succ and Str.pred in S32::Str
02:24 dalek specs: review: https://github.com/perl6/specs/commit/193f4b6658
02:34 BenGoldberg m: "0".encode("utf8")[*].pred;
02:34 camelia rakudo-moar c793d8: OUTPUT«No such method 'pred' for invocant of type 'Parcel'␤  in block <unit> at /tmp/7gXSZl2SH9:1␤␤»
02:35 BenGoldberg m: "0".encode("utf8")[0].pred.B​uf.decode("utf8").perl.say;
02:35 camelia rakudo-moar c793d8: OUTPUT«No such method 'Buf' for invocant of type 'Int'␤  in block <unit> at /tmp/a1NPiwYlHa:1␤␤»
02:39 noganex joined #perl6
02:58 diakopter m: ::!??YOUR_FACE!!
02:58 camelia rakudo-moar c793d8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8_oPDFSyT1�Cannot negate ??YOUR_FACE!! because it is not iffy enough�at /tmp/8_oPDFSyT1:1�------> [32m::!??YOUR_FACE!![33m�[31m<EOL>[0m�»
02:59 diakopter q.e.d.
03:01 salv0 joined #perl6
03:07 colomon diakopter++
03:16 mberends joined #perl6
03:26 nbrown_ joined #perl6
03:31 hoelzro o/ #perl6
03:41 kaleem joined #perl6
03:44 akaseki joined #perl6
03:56 diakopter .u ∎
03:56 yoleaux U+220E END OF PROOF [Sm] (∎)
04:44 ribasushi joined #perl6
04:55 fling joined #perl6
05:03 SamuraiJack joined #perl6
05:03 kurahaupo joined #perl6
05:04 ecocode joined #perl6
05:06 ecocode_ joined #perl6
05:06 xenoterracide joined #perl6
05:31 kaare_ joined #perl6
05:33 [Sno] joined #perl6
05:38 zacts joined #perl6
05:38 zacts hello
05:44 ecocode_ hi... is there any improvement in the jvm backend for nicier calls of methods when using java libs ?
05:45 zacts I wonder if Perl6 can utilize llvm in some way..
05:45 TimToady zacts: the problem with llvm is it's very...ll
05:45 zacts low level? :-)
05:46 TimToady ecocode_: there was some work to at least pay attention to overloading on arity, but we don't have anything that dispatches on type yet
05:46 zacts anyway, I'm wanting to start writing some perl6 modules, maybe I can start by contributing that way.
05:47 zacts mainly because Perl6 sounds fun.
05:47 ecocode_ TimToady: ok
05:47 TimToady well, it certainly is that
05:47 dayangkun joined #perl6
05:48 TimToady jnthn had some ideas for how to improve the overload mapping, i think
05:55 anaeem1 joined #perl6
05:57 avuserow joined #perl6
06:13 dayangkun joined #perl6
06:23 FROGGS_ zacts: so if you want to get into it, jnthn would be happy to outline the changes
06:24 avuserow joined #perl6
06:26 nbrown_ joined #perl6
06:39 ecocode_ btw, I had to increase jvm heap size to allow compilation of perl6-jvm on osx (I raised it from 1000m to 2000m, but probably less would have worked too)
06:44 lizmat ecocode_: you might find this interesting: http://blog.timbunce.org/2010/07/1​6/java2perl6api-java-to-perl-6-api​-tranalation-what-why-and-whereto/
06:44 dayangkun joined #perl6
06:47 tadzik computer, messages
06:47 yoleaux 24 Aug 2014 23:32Z <lizmat> tadzik: looking forward to seeing you
06:47 tadzik :)
06:47 lizmat ecocode: it predates the Rakudo JVM project
06:47 zacts FROGGS_: sure, that would be cool. in the meantime can I read the perl5 -> perl6 tutorial?
06:48 tadzik lizmat: starts about 13, right?
06:49 lizmat starts any time...  we're sort of ready to receive nowish already
06:49 tadzik oh, not quite
06:50 tadzik I have a rental car to pick up at 12, so I'll show up somtime after that
06:53 kaleem joined #perl6
06:55 lizmat_ joined #perl6
06:57 woolfy joined #perl6
07:00 jimmyz joined #perl6
07:01 lizmat_ errands&
07:10 darutoko joined #perl6
07:11 sergot o/
07:11 tadzik o/
07:16 zacts FROGGS_: bbl..
07:26 daniel-s_ \o
07:28 dayangkun joined #perl6
07:32 FROGGS zacts: you can read/do/try whatever you want :o)
07:33 FROGGS zacts: I just wanted to state that we are happy to explain things, whenever you feel the urge
07:39 woolfy1 joined #perl6
07:39 Pleiades` joined #perl6
07:41 dolmen joined #perl6
07:54 kjs_ joined #perl6
08:01 dayangkun joined #perl6
08:02 cibs joined #perl6
08:04 BizarreCake joined #perl6
08:09 timotimo i don't understand what lizmat was refering to when she said "it predates the rakudo jvm project"
08:10 FROGGS timotimo: the linked blog entry is meant
08:12 timotimo ah!
08:12 timotimo somehow i missed that complete line
08:17 itz (liz and wendy)++ # hackspace in hotel
08:39 dalek doc: 7630c2b | (Steve Mynott)++ | lib/Type/X/ (6 files):
08:39 dalek doc: fix minor spelling errors and typos
08:39 dalek doc: review: https://github.com/perl6/doc/commit/7630c2bef7
08:40 dayangkun_ joined #perl6
08:45 zacts cool, thanks! /me is about to pass out. It's almost 3am, and I have class at 11am. laters..
08:50 timotimo in comparison to the java2perl6api, the BootJavaInterop and JavaInterop in NQP and Rakudo respectively directly introspect the classes loaded in the jvm
08:51 dolmen joined #perl6
09:02 sergot m: say 0.rand
09:02 camelia rakudo-moar c793d8: OUTPUT«0␤»
09:02 lismat m: say -1.rand
09:02 camelia rakudo-moar c793d8: OUTPUT«-0.135361962391201␤»
09:02 sergot $ perl -e 'print rand(0)'
09:02 lismat m: say -42.rand
09:02 sergot 0.218268494661064
09:02 camelia rakudo-moar c793d8: OUTPUT«-11.0446103640848␤»
09:03 lismat m: say 0.5.rand
09:03 camelia rakudo-moar c793d8: OUTPUT«0.092024084226117␤»
09:03 sergot lismat: p5 works differently
09:03 lismat maybe we should fail for 0.rand
09:03 lismat not sure what use that would have, apart from not doing the right thing
09:04 sergot failing sounds reasonable for me
09:05 moritz just returning 0 sounds reasonable for me
09:05 timotimo can we only fail if the 0 is literal in the code, please?
09:05 timotimo i can see how $foo.rand could be reasonable to have 0 sometimes
09:05 moritz it's supposed to return a random number between 0 and 0, and it does that.
09:06 moritz we don't have to catch every possible logic error on behalf of the user
09:06 moritz m: say (-2).rand
09:06 camelia rakudo-moar c793d8: OUTPUT«-0.741529731085513␤»
09:06 sergot m: say (0.000001).rand
09:06 camelia rakudo-moar c793d8: OUTPUT«4.23838962826832e-07␤»
09:07 sergot m: say (0.01).rand
09:07 camelia rakudo-moar c793d8: OUTPUT«0.0018702903958634␤»
09:08 sergot Actually I would expect returning 0 here, I was disappointed when p5 returned something else
09:08 sergot in the 0.rand case
09:10 donaldh joined #perl6
09:14 timotimo did it regard 0 as undef or something? %)
09:14 timotimo m: Int.rand
09:14 camelia rakudo-moar c793d8: OUTPUT«Invocant requires an instance, but a type object was passed␤  in method Bridge at src/gen/m-CORE.setting:4600␤  in method rand at src/gen/m-CORE.setting:4427␤  in block <unit> at /tmp/7tu6TeiNmo:1␤␤»
09:19 kjs_ joined #perl6
09:20 timotimo AFK for big chunk of day &
09:21 sergot .seen psch
09:21 yoleaux I saw psch 23 Aug 2014 21:56Z in #perl6: <psch> it's late and there's a talk to watch early tomorrow... :)
09:21 sergot .teel psch could you check if HTTP::UserAgents works for you now?
09:21 sergot .tell psch could you check if HTTP::UserAgents works for you now?
09:21 yoleaux sergot: I'll pass your message to psch.
09:28 zakharyas joined #perl6
09:36 dalek doc: bad8959 | (Steve Mynott)++ | bin/p6doc:
09:36 dalek doc: assume index data for p6doc -f is in bin dir for the moment
09:36 dalek doc: review: https://github.com/perl6/doc/commit/bad89597de
09:40 kjs_ joined #perl6
09:42 * lismat wishes she didn't have such a hangover
09:43 * lismat blames some of the local slivovitsh varieties
09:44 vukcrni joined #perl6
09:45 woolfy joined #perl6
09:46 * lizmat blames the hangover  :-)
09:50 telex joined #perl6
09:52 zakharyas1 joined #perl6
09:54 zakharyas joined #perl6
09:59 psch joined #perl6
10:02 ggoebel11111117 joined #perl6
10:06 sergot psch o/
10:07 sergot psch: iirc, you wanted to write some github stuff in p6, right?
10:07 psch sergot: hey
10:07 yoleaux 09:21Z <sergot> psch: could you check if HTTP::UserAgents works for you now?
10:07 psch sergot: yeah, i meant to do that.  i didn't use HTTP::UserAgent though
10:07 psch although it'd probably worthwhile, not having to fiddle with the socket myself :)
10:08 psch sergot: panda install complains about 2 planned 1 run test in 09-ua-ssl.t
10:08 sergot I fixed some bugs recently, it should work better, so feel free to test :)
10:09 sergot are you installing it from local or github?
10:10 sergot could you gist it?
10:10 psch https://github.com/sergot/http-us​eragent/blob/master/t/09-ua-ssl.t
10:10 psch there's only one test in that file but 2 planned
10:10 psch unless &is does more than i thought it does... :)
10:10 sergot there are throws_like and is tests
10:11 psch ooh
10:11 psch right
10:11 sergot line 8 and 15
10:11 sergot lines
10:11 psch yeah, sorry, i haven't been awake long enough yet it seems
10:11 psch tbh, from your changes with OpenSSL i don't see how those could work
10:12 psch as in, not give the same error
10:12 psch but let me wake up and have a look in a bit
10:12 sergot okok :)
10:13 sergot psch: I'm eager to help you with those github things.
10:16 sergot would be great to have this : https://metacpan.org/pod/Net::GitHub in p6
10:18 kjs_ left #perl6
10:26 Ven joined #perl6
10:37 dalek doc: b654fe8 | (Steve Mynott)++ | index.p6:
10:37 dalek doc: work through @*INC
10:37 dalek doc: review: https://github.com/perl6/doc/commit/b654fe893d
10:37 dalek doc: 89cfe71 | (Steve Mynott)++ | index.p6:
10:37 dalek doc: assume index file is in current bin directory, add some docs
10:37 dalek doc: review: https://github.com/perl6/doc/commit/89cfe7137a
10:37 dalek doc: 5bffe97 | (Steve Mynott)++ | index.p6:
10:37 dalek doc: comments
10:37 dalek doc: review: https://github.com/perl6/doc/commit/5bffe97392
10:37 dalek doc: 55913f0 | (Steve Mynott)++ | bin/p6doc-index:
10:37 dalek doc: index is now build
10:37 dalek doc: review: https://github.com/perl6/doc/commit/55913f0d75
10:37 dalek doc: 06e9a15 | (Steve Mynott)++ | / (2 files):
10:37 dalek doc: docs
10:37 dalek doc: review: https://github.com/perl6/doc/commit/06e9a15608
10:38 lizmat m: sub a {...}; sub a { 42 } # feels like a rakudobug
10:38 camelia rakudo-moar c793d8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/B6nal6_Cd1â�¤Redeclaration of routine aâ�¤at /tmp/B6nal6_Cd1:1â�¤------> [32m}; sub a { 42 } # feels like a rakudobug[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        state…»
10:38 lizmat std: sub a {...}; sub a { 42 }
10:38 camelia std ee1ef48: OUTPUT«ok 00:01 123m␤»
10:38 itz hmm I should collapse comments via rebase to avoid spamming the channel :-\
10:38 lizmat r: sub a {...}; sub a { 42 }
10:38 camelia rakudo-{parrot,jvm,moar} c793d8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Redeclaration of routine aâ�¤at /tmp/tmpfile:1â�¤------> [32msub a {...}; sub a { 42 }[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement end…»
10:39 psch sergot: the &is-test is the one that breaks, with "err code: 1443668770584850713"
10:39 sergot psch: is there any err message?
10:39 sergot I cannot reproduce this error
10:40 psch running test.pl6 from io-socket-ssl additionally gives me "Segmentation fault" as text error
10:40 psch *test.p6
10:40 psch well, against github.com instead of your url :)
10:41 psch the numeric error code seems a bit high as well, i still suspect 32bit/nativecall as the culprit
10:42 psch how did gdb'ing that work again... :)
10:43 sergot are you on 32bit machine?
10:43 psch i'm on a 32bit vm
10:44 psch so, yes
10:44 sergot ok, so it is the point where we should start.
10:45 sergot psch: does nativecall work well on 32bit machines?
10:46 psch sergot: https://github.com/jnthn/zavolaj/issues/37
10:46 psch you probably remember the stray 2**32 error code check
10:46 * sergot is creating a 32bit vm to reproduce this problem
10:48 sergot I do
10:48 spider-mario joined #perl6
10:48 psch fwiw, the spec says that FROGGS++ last suggestion in the NativeCall ticket is correct, but that's not implemented anywhere, mainly because native ints aren't really implemented to limit themselves to bitsizes
10:49 psch m: my int8 $x = 1024; say $x
10:49 camelia rakudo-moar c793d8: OUTPUT«1024␤»
10:51 psch i had had a look at that a few weeks or so back, but c is hard and moar is complicated :)
10:51 sergot Ok, so the first task here is to limit them
10:51 sergot yeah.. we need some help :)
10:54 tadzik sergot: https://metacpan.org/pod/D​ancer::Request#DESCRIPTION
10:54 tadzik perhaps we want to follow that in Bailador
10:54 tadzik I mean, we definitely do :)
10:54 tadzik it's supposed to be a Dancer port
10:55 sergot tadzik: ok :)
10:55 tadzik sergot: want to do that or should I?
10:56 kjs_ joined #perl6
10:56 sergot tadzik: if you want this to be done now then I have some UA work now, but I can do this a little bit later with a pleasure
10:57 sergot oh, too many 'now' there :))
10:58 itz "p6doc -f say" should now work (assuming you run "p6doc-index build) first
10:58 tadzik sergot: ok, I'll go for it then
11:00 sergot tadzik++
11:03 tadzik now that I read this code I wonder if it even works for GET requests
11:04 sergot why so?
11:04 tadzik I was reading Dancer code, and thought "I don't recall doing that"
11:04 tadzik well, it's only parsing params from psgi.input
11:04 tadzik that works if it's POST, but what if it's GET? Aren't they in PATH?
11:05 tadzik they are
11:05 tadzik it's a miracle it was any useful so far :D
11:06 sergot :D
11:07 tadzik sergot: is HTTP::Body somewhere in your toolchain?
11:08 sergot sergot: no, I can add this to the TODO list right now :)
11:08 tadzik it's okay, I don't need it that much :)
11:10 woolfy joined #perl6
11:10 dalek doc: c7be18a | (Steve Mynott)++ | bin/p6doc-index:
11:10 dalek doc: docs
11:10 dalek doc: review: https://github.com/perl6/doc/commit/c7be18a587
11:10 sergot tadzik: we should think about WWW::Mechanize soon-ish :)
11:10 tadzik sergot: yes
11:11 tadzik sergot: that requires parsing HTML though
11:11 tadzik or at least "parsing" it
11:11 sergot yes :)
11:11 tadzik you could probably extract forms and urls correctly without parsing the entire thing
11:13 sergot right
11:14 tadzik sergot: have you seen https://github.com/tony-o/perl6-html-parser-xml/?
11:14 tadzik apparently the times when I knew every Perl 6 module in existence are long gone, and that makes me very happy
11:14 sergot no I haven't, looking at this now
11:14 tadzik segomos++
11:15 sergot segomos++
11:20 sergot nice
11:20 sergot :)
11:21 tadzik now someone has to sit down and implement xpath andor css selectors :)
11:21 tadzik maybe I can do that, I use them a lot, it'd be nice to know how they work
11:23 sergot tadzik++ :)
11:27 Ven joined #perl6
11:27 tadzik does anyone know what to do when JVM build runs out of memory?
11:28 psch tadzik: increase -Xms and -Xmx, if you still can
11:28 psch the latter might be enough
11:29 tadzik psch: thanks, we're trying :)
11:31 Ven OH: We'd need to wait for Python 4 to get a type system
11:32 tadzik is OH for "OH!" or "overheard"?
11:32 raiph joined #perl6
11:35 kshannon joined #perl6
11:37 ecocode_ today, I did better than sawyerx... I asked a question and received response from 2 gurus : TimToady _and_ lizmat ;)
11:38 tadzik :)
11:40 dalek roast: 8884780 | (Elizabeth Mattijsen)++ | S02-types/ (3 files):
11:40 dalek roast: Add todo tests for fragile .WHICH creation
11:40 dalek roast:
11:40 dalek roast: aristotle++ for making me do this
11:40 dalek roast: review: https://github.com/perl6/roast/commit/888478079a
11:46 tadzik sergot: https://github.com/sergot/http-useragent​/blob/master/lib/HTTP/UserAgent.pm6#L32 I think that's a security risk
11:46 tadzik someone could put cookies.dat in tmp with 777 permissions and then steal them from you, no?
11:47 tadzik perhaps using File::Temp would be a better idea
11:47 krunen r: multi sub a() {42}; multi sub a() {43}; a()
11:47 camelia rakudo-jvm c793d8: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:()␤:()␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in block <unit> at /tmp/tmpfile:1␤␤»
11:47 camelia ..rakudo-moar c793d8: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:()␤:()␤  in sub a at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
11:47 camelia ..rakudo-parrot c793d8: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:()␤:()␤  in any  at gen/parrot/BOOTSTRAP.nqp:1220␤  in sub a at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
11:47 krunen hmm
11:48 sergot tadzik: sounds reasonable, thanks! :)
11:48 tadzik what was your expectation? :)
11:48 lizmat sub redefined warning
11:48 lizmat because 2 subs with the same signature
11:48 lizmat wherease:
11:49 lizmat m: sub a {...}; sub a {42}  # redefinition of stub???
11:49 camelia rakudo-moar c793d8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1099u1DYh5â�¤Redeclaration of routine aâ�¤at /tmp/1099u1DYh5:1â�¤------> [32m}; sub a {42}  # redefinition of stub???[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        state…»
11:49 lizmat that *shouldn't* fail, I would think
11:49 tadzik sergot: yay, seems like I learned something on the YAPC then :)
11:49 psch m: sub a {...}; { sub a { 42 }; say a }
11:49 camelia rakudo-moar c793d8: OUTPUT«42␤»
11:50 psch that doesn't really prove anything i guess
11:50 psch or rather, it doesn't change that lizmat++ has a legitimit concern
11:50 tadzik sergot: not sure if you've seen the security talk, it was on friday morning I think
11:51 bjz joined #perl6
11:51 awwaiid well the ... would typically be either edited directly or overridden in an objecty way (class method), right? I'm guessing that method override doesn't complain
11:52 sergot tadzik: I haven't :(
11:52 sergot tadzik: they will be somewhere online soon, right?
11:55 sergot m: sub a { 1,2,3 }; say a[0];
11:55 camelia rakudo-moar c793d8: OUTPUT«1␤»
11:58 lizmat m: say (1,2,3)[0]
11:58 camelia rakudo-moar c793d8: OUTPUT«1␤»
11:58 lizmat .oO( not much different )
11:59 tadzik sergot: I think they said something about "few weeks"
12:02 sergot ok :)
12:07 SamuraiJack joined #perl6
12:07 hoelzro morning #perl6
12:08 tadzik hello hoelzro
12:08 hoelzro o/ tadzik
12:13 sergot tadzik: returning to cookies: we should provide a functionality to pass our cookie jar :)
12:14 tadzik that too :)
12:14 sergot and use File::Temp when when we don't pass it
12:14 sergot m: class A { has $.a; has $.b = $.a }
12:14 camelia rakudo-moar c793d8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/d9zAtApT3wâ�¤Virtual call $.a may not be used on partially constructed objectsâ�¤at /tmp/d9zAtApT3w:1â�¤------> [32mclass A { has $.a; has $.b = $.a[33mâ��[31m }[0mâ�¤    expecting any of:â�¤   …»
12:15 sergot :)
12:15 tadzik well, it's correct :)
12:15 Ven joined #perl6
12:15 sergot yes, just trying :)
12:15 tadzik m: class A { has $.a; has $.b = sub { $.a } }
12:15 camelia rakudo-moar c793d8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/OdG8VURyD6â�¤Virtual call $.a may not be used on partially constructed objectsâ�¤at /tmp/OdG8VURyD6:1â�¤------> [32mclass A { has $.a; has $.b = sub { $.a[33mâ��[31m } }[0mâ�¤    expecting any o…»
12:15 tadzik :(
12:16 Ven tadzik: why'd you do that?
12:21 xenoterracide joined #perl6
12:22 dalek panda: 5b7a352 | tadzik++ | README.md:
12:22 dalek panda: Make README more correct, fixes #88
12:22 dalek panda: review: https://github.com/tadzik/panda/commit/5b7a352e2b
12:22 tadzik Ven: do what, the sub?
12:22 Ven tadzik: yes
12:22 Ven what's wrong with a method?
12:22 tadzik Ven: I was thinking about something along moose's 'is lazy' or however that's written
12:23 Ven tadzik: I don't know moose :(. But not sure we can't `is lazy`?
12:23 tadzik Ven: I don't know :)
12:23 tadzik if not, maybe someone should write it
12:23 tadzik hint hint
12:25 tadzik sergot: can HTTP::UA do HTTP auth?
12:27 Ven erm, we can't really do waht I want without macros I'm afraid, mmh
12:28 Ven I thought about a trait_mod:<is> + proxy to only compute it on the first run, but that's just a basic `is cached
12:28 tadzik hm
12:28 kjs_ joined #perl6
12:29 psch m: class A { has $.foo; method $.bar { $!foo // "dunno" } }; my $a = A.new; say $a.bar; $a.foo = "foo"; say $a.bar
12:29 camelia rakudo-moar c793d8: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/YHZuNuJCyNâ�¤Missing blockâ�¤at /tmp/YHZuNuJCyN:1â�¤------> [32mclass A { has $.foo; method [33mâ��[31m$.bar { $!foo // "dunno" } }; my $a = A.[0mâ�¤    expecting any of:â�¤        scoped declar…»
12:29 psch m: class A { has $.foo; method bar { $!foo // "dunno" } }; my $a = A.new; say $a.bar; $a.foo = "foo"; say $a.bar
12:29 camelia rakudo-moar c793d8: OUTPUT«dunno␤Cannot modify an immutable Any␤  in block <unit> at /tmp/EpRpAnu5HU:1␤␤»
12:29 psch oh rw
12:29 psch m: class A { has $.foo is rw; method bar { $!foo // "dunno" } }; my $a = A.new; say $a.bar; $a.foo = "foo"; say $a.bar
12:29 camelia rakudo-moar c793d8: OUTPUT«dunno␤foo␤»
12:29 sergot tadzik: not yet
12:30 sergot if you mean those popup set by .htaccess file
12:30 sergot popups
12:30 tadzik well, I mean https://github.com/tadzik/panda/issues/89
12:31 tadzik I was thinking about loading HTTP:UA if it's available, and then that'd work
12:31 hoelzro my notes on merging S26: https://gist.github.com/ho​elzro/eb40043ce135ae7382cf
12:31 hoelzro if no one objects (and enough people approve), I would like to do this today
12:31 jnap joined #perl6
12:32 tadzik hoelzro: "If multiple objects share a WHY (for example, clones)"
12:32 sergot tadzik: we can do this
12:32 tadzik hoelzro: I'm not sure that's correct, or properly understood by me :)
12:32 sergot I mean implement HTTP Auth
12:32 sergot tadzik: could you create an issue on http-useragent repo?
12:33 sergot in/on.
12:33 sergot in
12:33 sergot :)
12:33 hoelzro tadzik: I'm not sure if cloning would automatically deep copy WHYs
12:33 hoelzro is that what you're wondering?
12:33 tadzik hmm
12:33 tadzik hoelzro: I mean, cloning clones objects, not their type objects
12:34 tadzik and .WHY is for types
12:34 tadzik well, usually
12:34 tadzik hm
12:34 hoelzro tadzik: a WHY can be on a method
12:34 tadzik troo
12:34 hoelzro but that's a good point
12:34 |newbie| joined #perl6
12:36 lizmat joined #perl6
12:37 tadzik hoelzro: I'm reading diff now, but imho if it doesn't break old tests and does make new tests pass it should go in :)
12:37 hoelzro tadzik: spectest passes
12:37 hoelzro at least, it does on mokudo =)
12:37 tadzik :
12:37 tadzik :)
12:37 tadzik close enough :P
12:38 hoelzro I'll try on pakudo and jakudo
12:42 sergot m: class A { has $.a; method new(*%args) { self.bless(|%args) } }; A.new(:a<b>).a;
12:42 camelia rakudo-moar c793d8: ( no output )
12:42 sergot m: class A { has $.a; method new(*%args) { self.bless(|%args) } }; A.new(:a<b>).a.say;
12:42 camelia rakudo-moar c793d8: OUTPUT«b␤»
12:42 sergot m: class A { has $.a; method new(*%args) { %args<a> = 'c'; self.bless(|%args) } }; A.new(:a<b>).a.say;
12:42 camelia rakudo-moar c793d8: OUTPUT«Cannot modify an immutable Str␤  in method assign_key at src/gen/m-CORE.setting:9589␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2740␤  in method new at /tmp/XsyvKa_kLj:1␤  in block <unit> at /tmp/XsyvKa_kLj:1␤␤»
12:43 sergot m: class A { has $.a; method new(*%args) { %args<a> = 'c'; self.bless(|%args) } }; A.new().a.say;
12:43 camelia rakudo-moar c793d8: OUTPUT«c␤»
12:45 dalek rakudo-star-daily: 7b5cb99 | coke++ | log/ (14 files):
12:45 dalek rakudo-star-daily: today (automated commit)
12:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/7b5cb99726
12:45 sergot m: class B { has $.b;}; class A { has B $.a; method new(*%args) { %args<a> = B.new(:b<a>); self.bless(|%args) } }; A.new.a.say;
12:45 camelia rakudo-moar c793d8: OUTPUT«B.new(b => "a")␤»
12:46 dalek panda: 74fd87f | (Andrew Egeler)++ | lib/Panda/App.pm:
12:46 dalek panda: Add our current destdir to @*INC
12:46 dalek panda:
12:46 dalek panda: This fixes the issue with LibraryMake and OpenSSL/Auth::PAM::Simple/etc
12:46 dalek panda: (if LibraryMake was installed as a dependency of the above, the build
12:46 dalek panda: would fail the first time, but not the second)
12:46 dalek panda: review: https://github.com/tadzik/panda/commit/74fd87f42e
12:46 dalek panda: eb66dcf | tadzik++ | lib/Panda/App.pm:
12:46 dalek panda: Merge pull request #90 from retupmoca/master
12:46 dalek panda:
12:46 dalek panda: Add our current destdir to @*INC
12:46 dalek panda: review: https://github.com/tadzik/panda/commit/eb66dcf5ca
12:48 tadzik colomon: can I have your insight on https://github.com/tadzik/rakudobrew/issues/8?
12:50 lizmat can someone git krunen a commit bit for roast, please ?
12:50 lizmat *give
12:58 sergot m: class B { has $.b;}; class A { has B $.a; method new(*%args) { %args<a> = B.new(:b<a>); self.bless(|%args) } }; A.new.a.b.say;
12:58 camelia rakudo-moar c793d8: OUTPUT«a␤»
13:03 anaeem1_ joined #perl6
13:04 kurahaupo joined #perl6
13:14 prevost joined #perl6
13:20 mj41 joined #perl6
13:29 tadzik https://gist.github.com/ta​dzik/b536d67bcd0869dd5b44 -- this is nice, but it doesn't work if you downloaded a tarball from github, and it just bit a customer on the hackathon :) Maybe the star repo should have a biiig warning sign in the readme or the description?
13:31 mberends joined #perl6
13:33 [Coke] tadzik: adding a warning to README.star
13:33 tadzik [Coke]++
13:33 renormalist joined #perl6
13:35 dalek star: 66a6a39 | coke++ | README.star:
13:35 dalek star: Warn users about github tarballs
13:35 dalek star:
13:35 dalek star: tadzik++
13:35 dalek star: review: https://github.com/rakudo/star/commit/66a6a394b5
13:41 dolmen joined #perl6
13:44 guru joined #perl6
13:51 kaare_ joined #perl6
13:51 * PerlJam hopes the hackathon is well-attended.
13:52 PerlJam lizmat++ woolfy++
13:58 kurahaupo_ joined #perl6
14:00 timotimo oh
14:00 timotimo there's a "delete" button for the tagged release
14:00 timotimo i'll try and see what it does
14:01 timotimo i've deleted the release corresponding to the 2012.04 tag, but a git clone will still hand out the tag correctly
14:02 timotimo so maybe i should just go through the list and delete all those tags?
14:03 araujo joined #perl6
14:03 araujo joined #perl6
14:04 PerlJam btw, for RT #122604, my guess is that is has something to do with https://github.com/rakudo/rakudo/​blob/nom/src/core/MapIter.pm#L48  if any of that hackathoners are paying attention and has time to look deeper.
14:04 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122604
14:04 * PerlJam has a meeting to attend now
14:04 PerlJam s/that/the/
14:05 * PerlJam *poof*
14:05 timotimo it will probably create new "releases" for every tag we push in the future
14:18 grep0r joined #perl6
14:22 sjn joined #perl6
14:24 woosley joined #perl6
14:25 treehug88 joined #perl6
14:27 ecocode__ joined #perl6
14:28 clkaoud_ joined #perl6
14:30 _thou joined #perl6
14:30 flussenc1 joined #perl6
14:31 amkrankr1leuen joined #perl6
14:31 Juerd_ joined #perl6
14:31 lee__ joined #perl6
14:31 rhr_ joined #perl6
14:31 mads-_ joined #perl6
14:31 Woodi_ joined #perl6
14:31 Tene_ joined #perl6
14:31 Tene_ joined #perl6
14:32 djanatyn1 joined #perl6
14:32 bcode joined #perl6
14:32 bcode joined #perl6
14:32 dylanwh_ joined #perl6
14:33 cotto joined #perl6
14:35 flussence joined #perl6
14:35 Exodist joined #perl6
14:35 synopsebot joined #perl6
14:35 ivanshmakov joined #perl6
14:43 BizarreCake joined #perl6
14:49 bcode_ joined #perl6
14:49 coffeeyy joined #perl6
14:50 lestrrat joined #perl6
14:51 dayangkun joined #perl6
14:51 synopsebot joined #perl6
14:51 [Coke] timotimo: add it to the release guide, I guess.
14:52 dayangkun joined #perl6
15:19 dayangkun joined #perl6
15:22 brrt joined #perl6
15:25 mr-foobar joined #perl6
15:26 brrt \o
15:26 brrt quick question
15:26 brrt does perl6 have a standard interface to it's own compiler?
15:28 moritz no
15:28 moritz but speccing and implementing such an interface would be highly appreciated
15:29 brrt hmm
15:29 * brrt is not really much of a spec-master
15:29 brrt moritz: you weren't at YAPC::EU were you?
15:29 moritz brrt: nope :(
15:30 brrt basically, i'm asking the question since we might want to do stuff like disabling spesh for some frames if bugs are found
15:30 ardeshir joined #perl6
15:32 brrt moritz: shame, it was quite fun
15:39 |newbie| what would be the standard interface?
15:39 |newbie| user interface?
15:40 TimToady pragmas are kind of a natural for hints to the compiler; that's what they were invented for in the first place (we got them from Ada)
15:41 TimToady though in Ada it was defined such that an unrecognized pragma is simply ignored, which we don't do in Perl
15:42 TimToady so maybe we need some way to distinguish ignorable pragmas
15:42 TimToady we've only got away with in in Perl 5 because there's only one implementation, and in Perl 6 because all the implementations coordinate
15:42 brrt why not warn on an unrecognized pragma
15:43 TimToady but if this branches out into non-coordinated implementations, we need ignorables
15:43 TimToady warnings are irritating when you already know it :)
15:43 brrt anyway, [newbie]: in python you can ask for the ast as well as for a compiler-as-an-object
15:43 brrt yeah true
15:43 TimToady and the point is to give implementation specifics that are known not to apply elsewhere
15:43 brrt then we'd need an option
15:44 brrt :-)
15:44 TimToady options are irritating too, when the optionality shoudl be expressed by the orinator, not the user
15:45 TimToady eye doc &
15:45 TimToady (just a checkup)
15:46 brrt good luck :-)
15:46 TimToady we'll see :)
15:46 brrt :-)
15:47 dayangkun joined #perl6
15:47 brrt maybe we can say 'use no-spesh if $*VM = 'moar';
15:48 brrt that how i'd like to use it anyway
15:48 brrt use no-spesh if $*VM ~~ /^moar/;
15:52 dalek perl6-roast-data: 632b979 | coke++ | / (6 files):
15:52 dalek perl6-roast-data: today (automated commit)
15:52 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/632b9798e6
15:52 [Coke] down to only flapping tests for the JVM.
15:55 [Coke] panda question - any way to easily change the github submodule urls so they use another protocol?
15:55 [Coke] [6~[6~
15:55 [Coke] (or do I have to do it by hand?)
15:56 moritz [Coke]: I think you have to edit .gitmodules
15:57 [Coke] I did that. it still has that info cached somewhere.
15:57 hoelzro you have to do git submodule sync, iirc
15:58 hoelzro [Coke]: ^
15:58 [Coke] Thanks, that was it.
16:01 [Coke] ... farglebargle.
16:01 [Coke] getting past that, I then cannot install anything with panda because of the protocols.
16:01 [Coke] opening panda ticket.
16:08 [Coke] (er, it's not even getting to the protocol for the individual modules, it can't downlaod the module list)
16:09 hoelzro I think I got around that a while ago by downloading the module list by hand
16:10 telex joined #perl6
16:10 [Coke] I can work around it by not being at work. :)
16:11 guru joined #perl6
16:11 hoelzro heh
16:12 moritz [Coke]: ah, .git/config *also* has the submodule URLs
16:17 ajr joined #perl6
16:18 kaleem joined #perl6
16:19 mberends joined #perl6
16:30 mj41 joined #perl6
16:33 ajr_ joined #perl6
16:33 erdic joined #perl6
16:36 tadzik wow!
16:36 tadzik (whoever did design for doc.perl6.org)
16:36 tadzik ++
16:36 Rotwang joined #perl6
16:37 dalek perl6.org: 60d75f4 | tadzik++ | source/documentation/index.html:
16:37 dalek perl6.org: Add "Learn Perl 6 in Y minutes"
16:37 dalek perl6.org:
16:37 dalek perl6.org: I took a liberty to put it on top, as it was cited as a top resource in lizmat++'s YAPC talk
16:37 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/60d75f4527
16:39 SamuraiJack joined #perl6
16:40 tadzik I wonder what the project goal of MuEvent should be, now that we have all the fancy Async stuff
16:41 hoelzro tadzik: maybe a sort of "adapter" layer for modules being ported from using AnyEvent in Perl 5?
16:50 zakharyas joined #perl6
16:50 mberends joined #perl6
16:59 tgt joined #perl6
17:00 BizarreCake joined #perl6
17:03 brrt left #perl6
17:05 lizmat_ joined #perl6
17:05 nine_ I get the impression that quite a lot is missing on doc.perl6.org like http://doc.perl6.org/type/IO::Path
17:15 moritz nine_: to the best of my knowledge, nobody ever claimed that it was feature complete
17:17 nine_ moritz: I guess what I was trying to say was: where do I find documentation for example about IO::Path?
17:18 moritz nine_: currently in S32/IO.pod
17:22 * TimToady thinks maybe we should set lexically scoped hints with "use :spesh" and such, and the pair indicates we just save the hint in a varible like %?HINTS or some such
17:22 TimToady so it can't fail even if the entry is unrecognized or never used
17:28 TimToady *variable
17:28 moritz m: say IO::Path.basename
17:28 camelia rakudo-moar c793d8: OUTPUT«Cannot look up attributes in a type object␤  in method parts at src/gen/m-CORE.setting:14538␤  in method basename at src/gen/m-CORE.setting:14541␤  in block <unit> at /tmp/g0KqilpTrM:1␤␤»
17:28 TimToady they only use them varibles down in Texas...
17:34 tadzik hoelzro: question is, will it be useful to anybody :)
17:34 hoelzro tadzik: maybe, maybe not =/
17:35 tadzik it may rest in peace right next to Coroutines :D
17:39 MilkmanDan joined #perl6
17:44 tadzik sergot: ༼ つ ◕_◕ ༽つ PLS HTTPAUTH
17:45 hoelzro tadzik: for HTTP::UserAgent?
17:45 tadzik hoelzro: yeah
17:46 hoelzro I was thinking about user agents on my drive home yesterday
17:46 moritz m: say IO::Path::Win32.new("C:\\Windo​ws\\registry.ini").parts.perl
17:46 camelia rakudo-moar c793d8: OUTPUT«("directory" => "\\Windows", "basename" => "registry.ini", "volume" => "C:").hash␤»
17:46 hoelzro it would be cool to have a middleware-like approach
17:46 moritz m: say IO::Path::Win32.new("C:\\").parts.perl
17:46 camelia rakudo-moar c793d8: OUTPUT«("directory" => "\\", "volume" => "C:", "basename" => "\\").hash␤»
17:46 moritz m: say IO::Path.new(".").parts.perl
17:46 TimToady moritz: did you ever find nqp::splice for your "flattening unshift"?
17:46 hoelzro so you could have a layer that just handles adding auth data to the request
17:46 camelia rakudo-moar c793d8: OUTPUT«("volume" => "", "directory" => ".", "basename" => ".").hash␤»
17:46 moritz TimToady: no; I cheated :-)
17:47 colomon jnthn++ # interesting stuff coming from the profiler
17:47 TimToady nqp::splice is what I taught push to use
17:47 hoelzro on a separate note, has anyone (other than tadzik) looked at my gist wrt S26?
17:48 anaeem1_ joined #perl6
17:48 PerlJam hoelzro: which gist?
17:48 hoelzro my notes on merging S26: https://gist.github.com/ho​elzro/eb40043ce135ae7382cf
17:49 * PerlJam looks
17:49 flussence std: sub MAIN;
17:49 camelia std ee1ef48: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed block at /tmp/IY8mRCLLYW line 1:â�¤------> [32msub MAIN[33mâ��[31m;[0mâ�¤    expecting any of:â�¤      new name to be definedâ�¤ routine_defâ�¤Parse failedâ�¤FAILED 00:01 120mâ�¤Â»
17:50 moritz hoelzro: please test perl6/doc HTML generation after a test merge
17:50 moritz hoelzro: afaict it's the biggest pod user right now
17:50 hoelzro moritz: I'll be sure to try that
17:51 tadzik huh, does the debugger not cross the module boundary?
17:51 tadzik it just didn't step into unmarshal() that I imported
17:51 PerlJam hoelzro: none of those issues are anything that I would consider a show-stopper.
17:52 Ven joined #perl6
17:52 hoelzro cool
17:53 hoelzro sergot: what do you think about that HTTP UA middleware idea?
17:55 Ven tadzik: thanks, I should've added it some time ago ...
17:56 tgt r: sub a(:$a, :$b) { say $a + $b }; &a.assuming(:a(5))(:a(2), :b(2))
17:57 camelia rakudo-moar c793d8: OUTPUT«7␤»
17:57 camelia ..rakudo-{parrot,jvm} c793d8: OUTPUT«4␤»
17:57 tgt Based on my expectations moar's result is correct, but based on the implementation parrot/jvm is, so maybe this is a moar bug?
17:58 tgt (Implementation is at https://github.com/rakudo/rakudo/​blob/nom/src/core/Routine.pm#L27)
17:59 PerlJam &a.assuming(:a(5))  shouldn't accept an :a parameter IMHO as it's fixed.
17:59 psch assuming needs work, in my opinion
17:59 PerlJam (IOW, I'd say moar is more right)
18:00 tgt I agree, but I don't see why it does so atm. The implementation looks like it should just uses slurpies, so surely the later named args should overwrite earlier ones atm?
18:00 psch RT #77744 is one thing i came across recently
18:00 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=77744
18:00 Ven wow, topaz is almost as fast as jruby 9k with truffle
18:01 tgt (ignore "looks like it should" in the second sentence.)
18:02 tgt psch: Yeah, the commit message says that's the case https://github.com/rakudo/rakudo/commit/​1c335ac7f57ef6850c2fba6a31ec1a10674d7a19
18:02 mberends At DebConf14 the Debian Perl Group annual meeting has just begun https://summit.debconf.org/debconf14/meeting/12/u​se-perl-annual-meeting-of-the-debian-perl-group/
18:02 psch tgt: right, i hadn't looked for the commit, thanks
18:03 * colomon just got a huge speed-up for his $work code by replacing one line of beautiful Set operations with 10+ lines of mucking about with Hashes.
18:03 psch i did have a go at trying to build a signature, but ran into pair quoting troubles
18:03 tgt I don't see how, given that implementation, moar would do what it did above.
18:03 nwc10 jnthn++ # --profile
18:04 dalek doc: dcc0a7e | moritz++ | lib/Type/IO/Path.pod:
18:04 dalek doc: WIP: IO::Path docs, for nine_++
18:04 dalek doc: review: https://github.com/perl6/doc/commit/dcc0a7e338
18:05 moritz tgt: it seems moar simply takes the first version of a named param
18:05 moritz r: sub a(:$x) { say $x }; a(x => 42, x => 1);
18:05 camelia rakudo-{parrot,jvm,moar} c793d8: OUTPUT«1␤»
18:06 moritz huh.
18:06 tgt :) Yeah...
18:06 xfix .u ␁
18:06 yoleaux U+2401 SYMBOL FOR START OF HEADING [So] (␁)
18:06 moritz r: sub a(:$x) { say $x }; a(|{x =>'first'}, |{x => 'last'})
18:06 camelia rakudo-moar c793d8: OUTPUT«first␤»
18:06 camelia ..rakudo-{parrot,jvm} c793d8: OUTPUT«last␤»
18:06 moritz tgt: ... unless it's from interpolation, it seems
18:07 molaf__ joined #perl6
18:07 xfix r: say "\x01ACTION(.*)\x01"
18:07 xfix Hm...
18:08 xfix I was programming in AWK, and wrote code like if (match(previous, /\x01ACTION(.*)\x01/, action_storage)) {.
18:08 tgt It's a moar bug then?
18:08 xfix (and was surprised when I got a warning - "gawk: commands.awk:85: warning: hex escape \x01AC of 4 characters probably not interpreted the way you expect")
18:08 moritz tgt: no idea
18:08 psch xfix: delimit with brackets, e.g. \x[01]
18:09 xfix I know, I just find it interesting that gawk makes a warning.
18:09 psch oh
18:09 psch yeah i was about to add a "if i guess what you mean correctly"
18:09 xfix Perhaps Perl 6 could do a warning too in case when the character after it is literal.
18:09 psch a bit too type-happy right now it seems
18:10 xfix (but I honestly didn't expect AWK to actually consider it to be Unicode)
18:10 xfix ... actually, it's not Unicode, now that I look into it.
18:11 xfix It's the most crazy interpretation. It just removes useless bytes. \x2122 is quotation mark.
18:11 Ven joined #perl6
18:12 zakharyas joined #perl6
18:14 psch n: sub a(:$x) { say $x }; a(|{x =>'first'}, |{x => 'last'})
18:14 camelia niecza v24-109-g48a8de3: OUTPUT«last␤»
18:15 psch tgt, moritz: that might be another check for "moar bug", although i don't know if it's specced anywhere
18:16 moritz probably in S06
18:16 Ven m: say ({x => 'first'}, {x => 'last'}).flat
18:16 camelia rakudo-moar c793d8: OUTPUT«{"x" => "first"} {"x" => "last"}␤»
18:16 Ven I guess :<
18:16 psch S06:891
18:16 synopsebot Link: http://perlcabal.org/syn/S06.html#line_891
18:18 PerlJam r: sub a(:$x) { say $x }; a(|{x =>'first'},x => 'last');
18:18 camelia rakudo-moar c793d8: OUTPUT«Unexpected named parameter 'x' passed␤  in sub a at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
18:18 camelia ..rakudo-parrot c793d8: OUTPUT«duplicate named argument in call␤  in block <unit> at /tmp/tmpfile:1␤␤»
18:18 camelia ..rakudo-jvm c793d8: OUTPUT«last␤»
18:18 moritz "Other sigils bind only to the I<last> argument with that name:
18:18 PerlJam huh
18:18 moritz sub fun (Int :$x) { ... }
18:18 moritz fun( x => 1, x => 2 );              # $x := 2
18:18 moritz "
18:19 moritz S06:882-901
18:19 synopsebot Link: http://perlcabal.org/syn/S06.html#line_882
18:20 moritz r: sub f(:@x) { say @x.perl }; f x => 1, x => 42;
18:20 camelia rakudo-moar c793d8: OUTPUT«cannot stringify this␤  in sub f at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
18:20 camelia ..rakudo-{parrot,jvm} c793d8: OUTPUT«Type check failed in binding @x; expected 'Positional' but got 'Int'␤  in sub f at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
18:20 PerlJam bugs all around
18:20 moritz according to S06:882, that should work, and produce [1, 42] or some such
18:20 synopsebot Link: http://perlcabal.org/syn/S06.html#line_882
18:21 moritz though I guess that kind of goes against the binder logic
18:22 [Coke] m: my @array = ({:a<1>}, {:b<1>}, {:a<1>}); my $with  = &[eqv]; use Test; is_deeply @array .= uniq(:$with), [{:a<1>}, {:b<1>}], "dies on os x"
18:22 camelia rakudo-moar c793d8: OUTPUT«ok 1 - dies on os x␤»
18:23 [Coke] Ugh. *occasionally* segfaults on osx. :P
18:26 sergot tadzik: I will try to figure out something tomorrow, ok? :)
18:26 sergot hoelzro: what do you mean? :)
18:28 hoelzro sergot: I was thinking of breaking out all but the most basic HTTP agent logic into middleware
18:28 hoelzro ex. cookie processing, redirect following, etc
18:29 gfldex joined #perl6
18:29 brrt joined #perl6
18:31 lizmat moritz: could you give krunen a commit bit for roast ?
18:37 tadzik sergot: sure :)
18:41 Sqirrel joined #perl6
18:43 beastd joined #perl6
18:45 kjs_ joined #perl6
18:45 TimToady I sent an invitation, dunno if that's sufficient
18:46 lizmat TimToady++   krunen should be arriving back in Norway soonish
18:46 TimToady interface has changed considerably since the last time I gave someone a commit bit...
18:47 hoelzro I'm seeing this unfamiliar syntax in jnthn's slides (what else is new?): .<done>
18:48 hoelzro what does .<...> mean?
18:48 FROGGS hash access on $_
18:48 hoelzro oh, duh
18:48 hoelzro thanks FROGGS
18:48 FROGGS m: $_ = { a => 42 }; say .<a>
18:48 camelia rakudo-moar c793d8: OUTPUT«42␤»
18:49 zakharyas1 joined #perl6
18:49 [Sno] joined #perl6
18:49 mberends joined #perl6
18:49 sergot hoelzro: sounds interesting
18:50 hoelzro sergot: I think there's a Ruby library that does the same
18:50 hoelzro faraday
18:51 sergot hoelzro: can we talk about it more tomorrow? :) will be awesome
18:51 hoelzro sergot: sure
18:51 ardeshir joined #perl6
18:51 sergot hoelzro++ thanks! :)
18:52 hoelzro np =)
18:53 tadzik does debugger have a "remind me where I am again" option? :P
18:56 xinming joined #perl6
19:10 ecocode joined #perl6
19:10 kjs_ joined #perl6
19:13 kurahaupo joined #perl6
19:15 go|dfish joined #perl6
19:15 woolfy joined #perl6
19:37 spider-mario joined #perl6
19:38 Rotwang joined #perl6
19:41 Ven joined #perl6
19:44 PerlJam
19:45 mberends joined #perl6
19:46 * lizmat
19:52 kjs_ joined #perl6
20:01 woolfy left #perl6
20:08 kjs__ joined #perl6
20:08 zakharyas joined #perl6
20:10 brrt joined #perl6
20:14 PerlJam Looking at jnthn's async slides for yapc::eu 2014  ... does Proc::Async for Perl 6 actually exist somewhere?
20:16 tgt It was added to rakudo a couple of weeks ago: https://github.com/rakudo/rakudo/co​mmits/0bbedab34ee54dc2f2faef08cbc98​f64649d5304/src/core/Proc/Async.pm
20:17 bcode joined #perl6
20:17 PerlJam ah
20:17 PerlJam thanks
20:17 moritz http://perlpunks.de/paste/show/53fb99b1.3629.37b # rakudo-m is a factor 1428 slower than 'find' for recursive directory traversal
20:18 moritz PerlJam: Proc::Async is MoarVM-only
20:19 PerlJam moritz: aye, that's pretty much all I use these days :)
20:19 BizarreCake joined #perl6
20:20 moritz m: say $*CWD.^name
20:20 camelia rakudo-moar c793d8: OUTPUT«IO::Path␤»
20:21 moritz m: say $*CWD.chmod(0o775)
20:21 camelia rakudo-moar c793d8: OUTPUT«True␤»
20:23 dalek doc: f585083 | moritz++ | lib/Type/IO/Path.pod:
20:23 dalek doc: [IO::Path]: document chmod, contents
20:23 dalek doc: review: https://github.com/perl6/doc/commit/f585083125
20:27 anaeem1 joined #perl6
20:28 moritz m: say '.'.path.absolute
20:28 camelia rakudo-moar c793d8: OUTPUT«IO::Path</home/p6eval>␤»
20:28 moritz m: say '.'.path.is-absolute
20:28 camelia rakudo-moar c793d8: OUTPUT«False␤»
20:33 dalek doc: a8c6e4b | moritz++ | lib/Type/IO/Path.pod:
20:33 dalek doc: [IO::Path] document {,is-}{absolute,relative}; update TODOs
20:33 dalek doc: review: https://github.com/perl6/doc/commit/a8c6e4b9bb
20:33 PerlJam m: say "/foo/bar/../..".path.absolute;
20:33 camelia rakudo-moar c793d8: OUTPUT«IO::Path</foo/bar/../..>␤»
20:34 PerlJam not quite right there.
20:34 FROGGS PerlJam: what do you expect?
20:34 moritz it's already an absolute path
20:34 PerlJam oh, I guess that's true.
20:34 moritz m: say "/foo/bar/../..".path.cleanup
20:34 camelia rakudo-moar c793d8: OUTPUT«IO::Path</foo/bar/../..>␤»
20:34 FROGGS and normalizing ../ isnt safe
20:35 PerlJam FROGGS: it's "safe" as long as it doesn't rely on FS manipulation
20:36 FROGGS there was something about bar being a symlink, but I forgot the details
20:36 moritz speaking of symlinks
20:36 moritz does MoarVM support readlink?
20:37 FROGGS from P5's File::Spec "Note that this does *not* collapse x/../y sections into y. This is by design. If /foo on your system is a symlink to /bar/baz, then /foo/../quux is actually /bar/quux, not /quux as a naive ../-removal would give you. If you want to do this kind of processing, you probably want Cwd's realpath() function to actually traverse the filesystem cleaning up paths like this."
20:37 moritz src/io/fileops.c uses uv_fs_readlink, but it seems it doesn't expose it as a readlink op
20:38 moritz m: say '/home/p6eval/../../'.relative('/')
20:38 camelia rakudo-moar c793d8: OUTPUT«No such method 'relative' for invocant of type 'Str'␤  in block <unit> at /tmp/N2PXRqzwwL:1␤␤»
20:38 moritz m: say '/home/p6eval/../../'.path.relative('/')
20:38 camelia rakudo-moar c793d8: OUTPUT«IO::Path<home/p6eval/../..>␤»
20:42 dolmen joined #perl6
20:55 * brrt afk
20:55 brrt left #perl6
20:58 moritz does anybody here know Aliaksandr Zahatski?
20:59 ecocode joined #perl6
21:01 FROGGS moritz: no, but does that help? http://irclog.perlgeek.de/perl​6/search/?nick=&amp;q=Zahatski
21:02 moritz FROGGS: maybe :-)
21:06 guru joined #perl6
21:07 hoelzro let's say I have a parameterized role, and a curried role derived from it: role R[::T} {} ; my $curry = R[Num];
21:07 hoelzro if R has attached docs, should $curry inherit those?
21:07 hoelzro (more specifically, R[::T] has docs)
21:09 PerlJam hoelzro: sounds like "yes" for me  :)
21:09 hoelzro I would expect that as well
21:09 PerlJam Though, if the docs mention ::T, it would be nice if the curried version actually mentioned Num instead.
21:09 hoelzro bwah
21:10 hoelzro that would be cool
21:10 PerlJam yeah, I think it would require more smarts than the docs have right now though.
21:11 hoelzro well
21:11 hoelzro thinking of how it's currently impl'd
21:11 hoelzro we'd have to defer Pod -> string translation until the WHY is accessed
21:11 hoelzro and probably cache it
21:11 hoelzro I don't know if the facility to translate constants exists, though
21:11 hoelzro as spec'd in S26
21:12 PerlJam sure, but how would you link "::T" with "Num"?
21:12 hoelzro PerlJam: you'd have to put it in a Pod directive
21:14 ardeshir joined #perl6
21:14 dalek rakudo/nom: ef54ae9 | moritz++ | src/core/IO.pm:
21:14 dalek rakudo/nom: [IO::Path] be more consistent with IO::Path:D markers for the invocant
21:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ef54ae986e
21:15 PerlJam It would be nice if we could somehow make R<> (replaceable item) actually *be* replaceable instead of just indicating as such in the text.
21:15 ajr joined #perl6
21:17 hoelzro PerlJam: what do you mean?
21:18 moritz PerlJam: do it!
21:18 hoelzro you mean in like a form, if the HTML output is used?
21:18 PerlJam moritz: tell me how!  :)
21:18 moritz PerlJam: 1) formulate a plan 2) follow it 3) profit!
21:19 moritz no "..." step involved
21:19 PerlJam hoelzro: like everywhere the docs said R<::T>, for the curried thing, it would notice that ::T was Num and actually output Num instead
21:20 hoelzro PerlJam: I think R<...> is used for something else
21:20 hoelzro and there's a separate code for what you want
21:21 hoelzro something like A<...>
21:22 PerlJam nah, A<> is something else too
21:22 hoelzro I just realized that myself =)
21:23 hoelzro oh, A<...> is spec'd to replace both Pod objects as well as compile-time known values in the Perl 6 program
21:23 PerlJam R<> is for when you type something like:  git checkout R<COMMITISH>  and you mean for the user to actually put a SHA1 or branch or tag or whatever instead of "COMMITISH".  That's really close to what I want except I don't just want the typographical convention, I want an actual replacement.
21:23 hoelzro see line 2274 of S26
21:24 * PerlJam looks
21:24 hoelzro PerlJam: where would COMMITISH come from, though?
21:24 hoelzro the value for it, I mean
21:24 PerlJam The really smart perl6 compiler :)
21:25 hoelzro so the perl6 implementation would know about special symbols like COMMITISH?
21:26 PerlJam Maybe it only applies for parameterized types and we only need to worry about things that look like ::T
21:26 hoelzro seems like A<$?VM> would do
21:27 hoelzro A<...> will sub in an compile-time values, as long as they begin with a sigil
21:27 hoelzro ...which makes ::T more difficult
21:27 hoelzro I guess you could consider :: as a type of sigil, though
21:28 hoelzro if it were up to me, I would consider :: as sigil-like at least for the rules of A<...>
21:28 PerlJam Then we might haveto quibble on "compile time" a little bit  :)
21:28 hoelzro hmm
21:29 hoelzro well, for ::T, definitely
21:29 hoelzro that's not compile time
21:29 hoelzro but a curried role's WHY shouldn't ever appear in $=pod
21:29 hoelzro and $=pod is what concerns me at compile time
21:30 hoelzro if I'm inspecting a program, and I come across a curried role, having A<...> sub in the type params would be cool
21:30 hoelzro but I'm curious on what others think
21:37 PerlJam If there's enough information available, we could spec that bare ::T (things that look like that) would transform into the actual type name or otherwise render as if it had been written as R<::T>
21:38 PerlJam Though, again, "rendering" of WHY would have to be deferred ALAP
21:38 hoelzro I'd rather that the documenter explicitly use A<::T>
21:39 hoelzro but yes, it would have to be deferred
21:41 * PerlJam boggles that ALAP, FIFO and LIFO aren't in S99
21:41 * TimToady bets 'boggles' isn't in there either
21:41 hoelzro I had to look that one up =)
21:41 hoelzro does yoleaux support looking things up from S99?
21:42 dalek specs: 201b167 | duff++ | S99-glossary.pod:
21:42 dalek specs: Add LIFO, FIFO, and ALAP
21:42 dalek specs: review: https://github.com/perl6/specs/commit/201b167aea
21:43 jnap joined #perl6
21:43 TimToady no, no, no, you have to add ALAP ALAP!
21:43 PerlJam :-P
21:46 * PerlJam suddenly wonders about the etymology of the word "boggles"
22:01 stux|RC-only joined #perl6
22:02 daxim_ joined #perl6
22:02 kjs_ joined #perl6
22:04 simcop2387 joined #perl6
22:04 simcop2387 joined #perl6
22:05 tgt_ joined #perl6
22:06 ggoebel11111118 joined #perl6
22:08 immortal joined #perl6
22:08 immortal joined #perl6
22:09 kuroseki joined #perl6
22:10 kst` joined #perl6
22:10 clkaoud_ joined #perl6
22:11 eternaleye joined #perl6
22:16 zoosha joined #perl6
22:16 renormalist joined #perl6
22:16 Psyche^ joined #perl6
22:16 simcop2387 joined #perl6
22:16 btyler joined #perl6
22:16 zacts joined #perl6
22:16 petercommand joined #perl6
22:17 coffeeyy joined #perl6
22:20 simcop2387 joined #perl6
22:21 Alina-malina joined #perl6
22:22 zacts joined #perl6
22:27 zacts joined #perl6
22:32 tgt joined #perl6
22:37 aborazmeh joined #perl6
22:55 xenoterracide joined #perl6
22:58 xragnar_ joined #perl6
23:05 dalek specs: 1555a80 | (Elizabeth Mattijsen)++ | S02-bits.pod:
23:05 dalek specs: .WHICH should not be dependent on location
23:05 dalek specs:
23:05 dalek specs: Some implementations may want to relocate objects during the lifetime of the
23:05 dalek specs: object, causing the identity to change of it were based on location.
23:05 dalek specs: review: https://github.com/perl6/specs/commit/1555a80e84
23:05 lizmat *if it were based :-(
23:10 araujo joined #perl6
23:13 * en wonders if dalek bites (or, rather, shoots)
23:13 lizmat dalek is booted from the channel sometimes
23:13 lizmat but always comes back friendly as ever
23:14 telex joined #perl6
23:27 huf joined #perl6
23:30 grondilu joined #perl6
23:30 grondilu Hello
23:31 grondilu There was an entry lately in HN about Geometric Algebra.  Fascinating stuff.  Now I can't help thinking of a module for that in P6
23:35 lizmat ++grondilu  :-)
23:39 grondilu .oO( sub infix:<∧>(*@multivector) {...} )
23:40 grondilu considering there is pretty much nothing for linear algebra now, it would be cool to start with something new and cutting edge
23:43 aborazmeh joined #perl6
23:48 hoelzro anyone else want to have a look at the S26 stuff before I merge?
23:49 hoelzro the spectests passed, so I think the time is now
23:50 TimToady PerlJam: I think it's much more likely to have something to do with line 14 in src/core/ListIter.pm
23:52 lizmat hoelzro: I'm trying to stay awake until our departure from the hotel in ~2 hours
23:52 lizmat in no shape to really look at that now  :-(
23:52 hoelzro lizmat: oh, alright
23:57 dalek Heuristic branch merge: pushed 87 commits to roast/S26-WHY by hoelzro

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

Perl 6 | Reference Documentation | Rakudo