Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-07-23

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:03 frew_ joined #perl6
00:11 hoelzro joined #perl6
00:17 pugs_svn r27675 | toyam++ | Add test that @array, * repeats the final element infinitely.
00:20 alester joined #perl6
00:25 wayland76 Re: awful vs. awesome.  I know that in church circles, a distinction is sometimes made between "awful" (standard dictionary usage), and "aweful" (ie. awe-inspiring)
00:26 wayland76 There are other similar words.  "Terrible", for example, used to mean "terror-inspiring"
00:27 wayland76 Likewise horrible/horror-inspiring
00:27 toyam joined #perl6
00:27 wayland76 I'm under the impression that these have all changed since 1611, but I'm not sure
00:35 wayland76 [Coke]: I'm fiddling with patches to the ins2 branch
00:35 wayland76 PerlJam: Can confirm that parrot has not got its installation problems sorted out
00:59 toyam joined #perl6
01:10 orafu joined #perl6
01:16 wayland76 yay
01:17 wayland76 Rakudo RPM works with slurp now :)
01:17 wayland76 Oh, on an installed Parrot :)
01:19 molaf_x joined #perl6
01:27 Eevee joined #perl6
01:28 wayland76 pmichaud (and others who care about ins2): The following ticket has my patch attached: http://rt.perl.org/rt3/Tic​ket/Display.html?id=63360
01:35 GabrielVieira_ joined #perl6
01:41 hoelzro joined #perl6
01:44 unitxt left #perl6
01:44 hoelzro_ joined #perl6
01:50 hoelzro_ is there an HTTP library for Perl 6 yet?
01:54 missingthepoint_ wayland76: are you saying that you  built an RPM which packages Rakudo, and that your RPM'd Rakudo runs on the system Parrot?
01:55 sjohnson hello wayland76
01:55 sjohnson long time no see
02:01 hoelzro_ joined #perl6
02:04 wayland76 missingthepoint_: Yes, that's what I'm saying
02:04 wayland76 hoelzro_: I don't think so, but if there is one, it'll be connected with the Web.pm project
02:04 hoelzro_ wayland76: alright
02:04 hoelzro_ is there a sockets library?
02:05 hoelzro_ I'd be happy to try and write an HTTP library
02:05 hoelzro_ (keyword: try)
02:05 wayland76 sjohnson: Yes, I drop in and out of the perl6 community.
02:05 missingthepoint_ hoelzro_: run('curl ...') :)
02:05 hoelzro_ missingthepoint_: I was hoping to use the library as a server
02:06 hoelzro_ it's not necessary for my goal, but it'd be nice
02:06 wayland76 hoelzro_: I'm not the best person to ask, and now that I think about it, I may be wrong -- check Web.pm first
02:06 hoelzro_ wayland76: can do, thanks for the information!
02:06 wayland76 I believe there's a sockets library: /usr/lib/perl6/rakudo/IO/Socket/INET.pm
02:09 alester joined #perl6
02:09 missingthepoint_ wayland76: cool :)
02:09 justatheory joined #perl6
02:13 wayland76 missingthepoint_: Well, I had most of it working ages ago, but pmichaud didn't like part of my solution
02:13 wayland76 So he did some makefile work, and I reworked my stuff around it
02:13 wayland76 But he still doesn't like some of it
02:15 wayland76 My code: my $grammar = XKB::Grammar.new();
02:15 wayland76 My error: too few arguments passed (1) - 3 params expected
02:15 wayland76 Any thoughts anyone?
02:21 cotto joined #perl6
02:26 freenose joined #perl6
02:26 toyam joined #perl6
02:30 felipe joined #perl6
02:36 leedo joined #perl6
02:40 KyleHa joined #perl6
02:43 freenose left #perl6
02:44 KyleHa Yay for testing!  Ra ra ra!!
02:44 xinming_ joined #perl6
02:49 xinming__ joined #perl6
02:54 xinming_1 joined #perl6
02:59 pmichaud KyleHa:  I don't know if you saw the backlog, but we'd like to let you name a rakudo release if you'd like :-)
02:59 KyleHa Awwww, that's sweet!
02:59 KyleHa I'm not yet in the habit of checking the backlog.
03:00 KyleHa Rakudo releases are named for Perlmongers groups?
03:00 pmichaud yes
03:01 KyleHa If there's a live one in Chicago, I'll go that route.  Otherwise, I'd have to think about it.
03:01 pmichaud Chicago would certainly be a good candidate.
03:01 pmichaud They've done good Perl 6 support in the past, and did two yapc's
03:02 frew_ joined #perl6
03:02 pmichaud (I was actually thinking about Chicago earlier today as a possibility)
03:02 KyleHa I went to the last YAPC here.
03:02 KyleHa It really made me want to go to PA this year, but I couldn't do it.
03:03 payload joined #perl6
03:06 christine joined #perl6
03:06 alester joined #perl6
03:10 the_irrational_1 joined #perl6
03:13 araujo christine, place and time, and i am there
03:13 araujo :P
03:21 donaldh joined #perl6
03:30 KyleHa rakudo: my $x; $x ~~ NoSuchClass
03:30 p6eval rakudo 606209: OUTPUT«Could not find non-existent sub NoSuchClass␤»
03:35 tann_ joined #perl6
03:50 unitxt joined #perl6
03:51 kane_ joined #perl6
03:52 pugs_svn r27676 | kyle++ | [t/spec] misplaced DOES fudge
03:53 pugs_svn r27677 | kyle++ | [t/spec] Test for RT #67784
03:53 pugs_svn r27678 | kyle++ | pound sign in test description
03:53 pugs_svn r27679 | kyle++ | [t/spec] Test for RT #67612
03:56 KyleHa pmichaud: I saw a couple of patches come into RT that do the same thing as you were committing at about the same time.  Did you see and use those?  Should I close/resolve/reject them?
03:57 KyleHa Oh, I should have looked at the time.  Even *I* should be asleep.
04:04 kane_ joined #perl6
04:16 kane___ joined #perl6
04:17 unitxt left #perl6
04:21 kane_ joined #perl6
04:24 tann_ phenny: tell KyleHa: You can close/resolve those patches/tickets from me....I looked at pmichaud's commits. They applied 'em (and rewrote some for the better of course).
04:24 phenny tann_: I'll pass that on when KyleHa is around.
04:50 xinming joined #perl6
04:55 xinming_ joined #perl6
05:28 xinming joined #perl6
05:35 rfordinal joined #perl6
05:48 alester joined #perl6
06:11 finanalyst joined #perl6
06:12 moritz_ rakudo: say 3.3.Str
06:12 p6eval rakudo 606209: OUTPUT«3.3␤»
06:18 hudnix joined #perl6
06:26 pmichaud rakudo:  say 3.3.Str.WHAT
06:26 p6eval rakudo 606209: OUTPUT«Str()␤»
06:26 pmichaud (just checking :-)0
06:27 pmichaud moritz_: I ended up choosing "Chicago" for this release, unless you want to choose a different name?
06:27 moritz_ pmichaud: that's fine by me
06:27 pmichaud KyleHa++ suggested it, and I had been thinking about it earlier.
06:28 pmichaud I've already updated the announcement locally -- I'm just waiting for a spectest run and then I'll push
06:29 moritz_ is there anything else you want to get in before the release (after that push)?
06:29 pmichaud no, I can't think of anything.
06:29 moritz_ rakudo: say [+]
06:29 p6eval rakudo 606209: OUTPUT«say requires an argument at line 2, near " [+]"␤in Main (src/gen_setting.pm:2447)␤»
06:30 moritz_ great, no more Null PMC access
06:30 pmichaud rakudo:  say [+]()
06:30 p6eval rakudo 606209: OUTPUT«0␤»
06:30 pmichaud that's kinda weird, though.
06:31 rfordinal joined #perl6
06:31 moritz_ it used to be like this in STD.pm for a long time
06:31 pmichaud spectest-progress.csv update: 416 files, 11876 passing, 0 failing
06:31 moritz_ and only got fixed three weeks ago or so
06:31 pmichaud that's a little odd... did we lose a large number of tests?
06:32 moritz_ uhm, are you looking at the right column?
06:32 pmichaud sure
06:32 pmichaud (it's an automatic script that generates it)
06:33 moritz_ my last run yesterday night was 11875.
06:33 pmichaud hmmm.
06:33 justatheory joined #perl6
06:33 pmichaud I had us at being at 11992 earlier today
06:33 pmichaud maybe I added incorrectly.
06:33 pmichaud oops, 11994
06:34 pmichaud ohhh, that's it.  I did add incorrectly.
06:34 pmichaud okay.
06:34 pmichaud no problem.
06:34 * moritz_ sighs with relief
06:34 moritz_ btw, what do you think of http://rt.perl.org/rt3/Tic​ket/Display.html?id=67258 ?
06:34 moritz_ I'm not sure if it's right to add those operators that are supposed to be automatically generated
06:35 moritz_ OTOH both || and // are special in that they are short-circuiting, so it might not be such a bad idea
06:36 Matt-W Morning
06:36 moritz_ good morning
06:36 pmichaud I'm wondering if the params for those should be slurpy.
06:37 moritz_ should be, yes
06:37 pmichaud (they don't appear to be in the patches I'm seeing)
06:37 moritz_ pmichaud: in the last release did you regress on the tests with non-zero wait status? or did you just ignore it?
06:38 pmichaud I know I didn't regress.  I think I just ignored them.
06:38 moritz_ should I do the same?
06:38 pmichaud that's what I would do, yes.
06:38 moritz_ ok
06:38 pmichaud the tests "pass" except for the exit code.
06:38 Matt-W oh of course it's release day
06:38 moritz_ then it's even simpler
06:42 dalek rakudo: ee402a7 | pmichaud++ | docs/ (2 files):
06:42 dalek rakudo: Fill in a release name for #19 (Chicago)
06:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​e402a72ebbcda0b2b60bfe386d9e12751e3723f
06:42 dalek rakudo: 39d9e10 | pmichaud++ | docs/spectest-progress.csv:
06:42 dalek rakudo: spectest-progress.csv update: 416 files, 11876 passing, 0 failing
06:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​9d9e101bbc2096067f00893e436095ffdb2dde0
06:42 dalek rakudo: 9b37b81 | pmichaud++ | docs/announce/2009-07:
06:42 dalek rakudo: Update announcement with spectest results.
06:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​b37b818f4df7002411c877235c192dcfc2a0c7b
06:42 pmichaud freel free to tweak my announcement changes
06:42 pmichaud *feel
06:42 pmichaud other than that, I think the repo is ready for release
06:43 pmichaud we might want to check that the announcement text is fine with KyleHa (since he's mentioned in it), but I'm also okay with proceeding directly to release if you want
06:44 pmichaud btw, I _really_ appreciate you taking on the release this month.  I'm still at OSCON, and frankly I'm a little exhausted.  It's definitely freeing up some valuable time for me here.
06:46 moritz_ I have to go now anyway ($university), so I'll have to wait a bit anyway
06:46 moritz_ if he shows up before the release, I'll ask him
06:47 pmichaud okay, great.
06:47 pmichaud I'm headed off to sleep, tomorrow I'll have to do a bit of work on my presentation.
06:47 moritz_ ok; I plan to do the release somewhere during the next 14 hrs, not sure when exactly
06:48 pmichaud sounds great, I look forward to it.
06:48 pmichaud if you run into problems, feel free to delay it until I can help\
06:48 pmichaud (but I don't expect tehre to be problems :-)
07:03 rfordinal joined #perl6
07:08 kPb_in joined #perl6
07:20 donaldh joined #perl6
07:35 ejs joined #perl6
07:36 moritz_ http://moritz.faui2k3.org/​tmp/rakudo-2009-07.tar.gz preview of release
07:37 mikehh_ joined #perl6
07:37 moritz_ (two non-zero exit status in the spectests are known)
07:41 kyle_l5l joined #perl6
07:44 ejs1 joined #perl6
08:09 zamolxes joined #perl6
08:22 Sunbeam joined #Perl6
08:46 pmurias joined #perl6
08:48 meppl joined #perl6
09:00 wollmers joined #perl6
09:00 icwiener joined #perl6
09:01 wollmers rakudo: say  $*PROGRAM_NAME.TEST
09:01 p6eval rakudo 9b37b8: OUTPUT«Method 'TEST' not found for invocant of class 'String'␤»
09:01 masak joined #perl6
09:02 wollmers rakudo: say  $*PROGRAM_NAME
09:02 p6eval rakudo 9b37b8: OUTPUT«/tmp/vMmtxWNY40␤»
09:02 wollmers rakudo: say  $*PROGRAM_NAME.WHAT
09:02 p6eval rakudo 9b37b8: OUTPUT«Str()␤»
09:03 wollmers rakudo: say  $*NF
09:03 p6eval rakudo 9b37b8: OUTPUT«Use of uninitialized value␤␤»
09:03 wollmers rakudo: say  $*ENC
09:03 p6eval rakudo 9b37b8: OUTPUT«Use of uninitialized value␤␤»
09:04 moritz_ rakudo doesn't do the whole Buf/encode/decode business etc
09:05 masak but we're kinda working on it.
09:06 moritz_ masak: if you have some changes, I can make the release so that you can push them :-)
09:06 moritz_ http://moritz.faui2k3.org/​tmp/rakudo-2009-07.tar.gz (preview)
09:07 wollmers Is Spec/S32-setting-library/IO.pod the only place, where the .TEST method is specified?
09:08 masak moritz_: I don't, right know. I'm blocking on PIR-fu and tuits. :/
09:08 moritz_ wollmers: did you grep?
09:09 wollmers Yes, I grepped ./Spec
09:09 moritz_ then you have your answer.
09:09 moritz_ anyway, that seems to be incorrect
09:10 moritz_ TimToady++ recently decreed that file tests work with $str.IO ~~ :e, which translates to $str.IO.e()
09:11 pugs_svn r27680 | masak++ | [S12] added missing comma
09:11 pugs_svn r27680 | masak++ |
09:11 pugs_svn r27680 | masak++ | We generally cannot have two terms in a row, and that goes for the
09:11 pugs_svn r27680 | masak++ | inside of hash arguments to a handles trait, too.
09:12 wollmers Thus the line 'if $filename.TEST(:e,:x) {...}' should be 'if $filename.IO(:e,:x) {...}' ?
09:13 moritz_ no
09:13 moritz_ it should be $filename.IO.e() && $filename.IO.x()
09:13 wollmers rakudo: say $*PROGRAM_NAME.IO(:e)
09:13 p6eval rakudo 9b37b8: OUTPUT«Method 'IO' not found for invocant of class 'String'␤»
09:13 moritz_ (but of course the e() is redundant here)
09:13 moritz_ but Rakudo currently implements the auld way
09:14 masak or $filename.IO ~~ :e & :x, I guess.
09:16 moritz_ bah, I had local modifications in tools/progress_graph.pl when I did the snapshot. Next try...
09:17 moritz_ that's what you get for working on two machines at once.
09:18 wollmers rakudo: say $*PROGRAM_NAME.IO.e
09:18 p6eval rakudo 9b37b8: OUTPUT«Method 'IO' not found for invocant of class 'String'␤»
09:18 wollmers Ok, not implemented.
09:19 moritz_ rakudo: say '/etc/passwd'.":e"
09:19 p6eval rakudo 9b37b8: OUTPUT«1␤»
09:19 moritz_ gah, that's even lagging two spec changes behind :-)
09:21 wollmers rakudo: say $*PROGRAM_NAME.":e & :f"
09:21 p6eval rakudo 9b37b8: OUTPUT«Method ':e & :f' not found for invocant of class 'String'␤»
09:21 moritz_ taht would be a bit too much magic :-)
09:22 moritz_ rakudo: say ?($*PROGRAM_NAME ~~ :e & :d)
09:22 p6eval rakudo 9b37b8: OUTPUT«0␤»
09:22 moritz_ rakudo: say ?('/tmp/' ~~ :e & :d)
09:22 p6eval rakudo 9b37b8: OUTPUT«1␤»
09:23 wollmers say $*PROGRAM_NAME ~~ :e & :f
09:23 moritz_ rakudo: say ?($*PROGRAM_NAME ~~ :e & :f)
09:23 p6eval rakudo 9b37b8: OUTPUT«1␤»
09:24 jnthn morning
09:25 masak jnthn: o/
09:26 moritz_ oh hai jnthn
09:27 moritz_ running (hopefully) last spectest before the release
09:30 * wayland76 runs around hoping my running will help the spectest run too :)
09:33 moritz_ lunch&
09:34 jnthn moritz_: Great! :-)
09:41 mikehh_ joined #perl6
10:00 mikehh rakudo (9b37681) builds on parrot r40185 - make test/make spectest(up to r27680) PASS - Ubuntu 9.04 amd64
10:04 payload left #perl6
10:07 explorer joined #perl6
10:19 pmurias masak: one of the reason for switching to test_done would be that when slowly uncommenting a test i'm working on i would have to care about the test count
10:25 masak pmurias: exactly. the more I think about mst's proposal, the more I like it.
10:27 masak if we could produce a backwards-compatible solution, that would be so schweet.
10:27 pmurias backwards-compatible?
10:28 masak yes, moritz_++ mentioned it yesterday. so people who still want to write 'plan $N' can do that.
10:28 masak but we're of course free to encourage the plan-less style.
10:29 masak if we could do this in the next few days, I could blog about it as a kind of response to mst's post. :) "Test::More encourages plan-less testing, and now Perl 6 does, too!"
10:33 pmurias masak: if i implement done_testing for mildew will you do it for rakudo?
10:35 masak pmurias: deal.
10:35 masak pmurias: but I think I'll have to take a peek at Test::More to see how they do it.
10:36 masak somehow they get away with not explicitly having to say 'no plan'.
10:36 pmurias you will be able to peak at the mildew's Test.pm
10:36 moritz_ how do I delete a tag on github?
10:37 pmurias masak: Test::More has no &plan
10:37 masak pmurias: right, it's incorporated in the 'use Test::More'. I know.
10:37 pmurias the plan is in the use line
10:37 literal Test::More encourages planless testing?
10:37 masak pmurias: but in the newer versions (post-0.88), you don't even have to specify that.
10:38 masak literal: yes, let me dig up the link for you.
10:38 masak literal: http://www.shadowcat.co.uk/blog/​matt-s-trout/a-cunning-no_plan/
10:40 moritz_ the release is out. Feel free to commit again to Rakudo
10:40 Matt-W oooh
10:40 Matt-W okay I like his argument
10:41 moritz_ I can't send the announcement mails right now, I'll do that from home later on
10:41 Matt-W can we have that in rakudo's test.pm?
10:42 Matt-W moritz_++
10:42 masak moritz_++
10:42 pmurias masak: i figured it out, committing...
10:42 masak Matt-W: that was my thought as well.
10:42 masak if we find a good argument, why not incorporate it in Perl 6? :)
10:42 Matt-W indeed
10:42 * Matt-W looks at Test.pm
10:43 pugs_svn r27681 | pmurias++ | [re-smop] added &done_testing to Test, added
10:43 pugs_svn r27681 | pmurias++ | t/02-test-pm/6-done_testing.t
10:43 Matt-W oh
10:43 Matt-W it already supports that
10:43 pmurias masak: something as simple as printing the correct plan at the end wokrs
10:44 pmurias * works
10:44 masak pmurias: ah, cool.
10:44 Matt-W 'plan *'
10:44 masak so the plan can appear anywhere in the TAP output?
10:44 moritz_ I think it can appear either at start or end
10:44 masak Matt-W: but the thing is not having to specify the plan at all...
10:44 moritz_ well, the plan can default to *
10:44 Matt-W plan * is hardly a plan
10:45 masak Matt-W: no, but it's explicit.
10:45 Matt-W masak: we require an explicit plan anyway, so explicitly saying we don't have one isn't a disaster, but as moritz_++ says, we can default it
10:45 Matt-W which seems to be a 3 character insertion
10:46 Matt-W hmm no maybe slightly more complicated than that
10:46 Matt-W without a plan statement how do you know when testing has started
10:46 Matt-W first time you see a test function I suppose
10:47 moritz_ right
10:47 Matt-W there are a lot of those
10:47 moritz_ so?
10:47 Matt-W this may be a job for wrap
10:47 moritz_ there's nothing that Test.pm has to do when testing starts
10:47 moritz_ if it emits the plan afterwards
10:48 Matt-W hmm it doesn't really use its testing started flag for much at the moment
10:48 Matt-W we could live without it
10:48 pmurias the END blocks get called when you exit using an exception?
10:48 moritz_ rakudo: END { say "foo" }; die
10:49 p6eval rakudo 9b37b8: OUTPUT«No applicable methods.␤in Main (/tmp/oOI2eWryxP:2)␤»
10:49 moritz_ rakudo: END { say "foo" }; die(1)
10:49 p6eval rakudo 9b37b8: OUTPUT«1␤in Main (/tmp/QeNT4ZgACe:2)␤»
10:49 pmurias so plan * is not reliable
10:50 masak lunch &
10:50 pmurias we should remove it and use done_testing
10:50 Matt-W so done_testing basically does what the END block does now?
10:51 moritz_ done_testing emits also a plan.
10:51 Matt-W which the END block does when it's running with no plan
10:51 Matt-W (in the current code)
10:51 moritz_ oh, I didn't know that
10:51 * Matt-W is hacking it at the moment
10:52 Matt-W well first I'm having to update parrot and compile rakudo, but...
10:53 Matt-W It seems a simple enough set of changes, so I'll make a suggested patch
10:53 Matt-W once I've tested it of course
10:53 Matt-W how does one test a test module...
10:55 pmurias t/02-test-pm
10:56 pmurias in the pugs repo
10:57 Matt-W cool
10:57 Matt-W I think I can do this so that it'll retain compatibility with all existing planned tests
11:01 Matt-W there seem to be tw oversions of 'prove'
11:01 Matt-W one takes -e for the executable to run
11:01 Matt-W one takes --perl
11:01 Matt-W very, very irritating
11:01 Matt-W my laptop appears to have just switched over to the --perl version
11:02 moritz_ 'make spectest' should do the right thing[tm]
11:02 Matt-W hmm I need to nick that code for Form then
11:02 Matt-W if I run make spectest from the rakudo directory, does it use the Test.pm that's found there?
11:03 meppl joined #perl6
11:03 Matt-W ah yes it does
11:03 Matt-W excellent
11:03 * Matt-W checks his modified Test.pm against the spectest suite
11:05 moritz_ Matt-W: t/harness in rakudo's repo basically does the same thing as prove does by using the Test::Harness module directly
11:05 pmurias is there a good mergetool that allows me to include *both* lines in case of conflict as opposed to meld--
11:05 Matt-W moritz_: aaah
11:05 Matt-W so what we need is a perl 6 test::harness :)
11:06 moritz_ Matt-W: feel free... :-)
11:06 Matt-W :)
11:06 Matt-W If you've done six impossible things today, why not round it off by writing Test::Harness and Form.pm?
11:07 pmurias Matt-W: what are the impossible things?
11:08 Matt-W Well actually, Form.pm is the impossible thing :)
11:08 Matt-W I just can't get my brain in the right gear for it these days
11:09 Matt-W anybody who can, you're welcome to have commit bits... (hint hint)
11:09 Matt-W although I've got an idea I might try later
11:15 payload joined #perl6
11:16 szabgab pmurias, do I remember correctly that you had issues with the Parrot plugin of Padre ?
11:18 tewk Anyone know what the PGE alternative form .item is now that its been removed?
11:19 moritz_ are you talking about $()?
11:19 moritz_ I don't quite understand the question
11:20 tewk - Deprecations + Removal of PGE rules:       + Removal of PGE methods: .text .item .result_object
11:20 tewk Method 'item' not found for invocant of class 'C99;Grammar'
11:20 donaldh joined #perl6
11:21 moritz_ .ast?
11:21 moritz_ that might be what you're looking for
11:21 tewk Yeah I think your right.
11:22 tewk rakudo "Use of uninitialized value"
11:23 tewk Any way I can find out what the value is?
11:23 moritz_ don't think so :(
11:24 moritz_ it should at least include a line number... care to open a ticket for that?
11:27 pmurias szabgab: no
11:28 tewk moritz_: done
11:29 moritz_ tewk: thanks
11:33 szabgab rakudo: my ($x, $y); $x += 2; say $x; $y *= -3; say $y
11:33 p6eval rakudo 9b37b8: OUTPUT«2␤-3␤»
11:33 szabgab rakudo: my $x; $x /= 42; say $x
11:33 p6eval rakudo 9b37b8: OUTPUT«Use of uninitialized value␤0␤»
11:34 szabgab so the default behavior of undef depends not only on Int/Str but also on he operation ?
11:37 Matt-W Test.pm patch in RT
11:38 omega joined #perl6
11:41 masak Matt-W++
11:41 moritz_ rakudo: my Int $x; $x *= 3; say $x
11:41 p6eval rakudo 9b37b8: OUTPUT«3␤»
11:41 Matt-W might have a hole in it the size of an airbus A380
11:41 Matt-W but most of it's there :)
11:41 szabgab rakudo: say 2**2, 4**0.5, 1**0.5; -1**0.5
11:41 p6eval rakudo 9b37b8: OUTPUT«421␤»
11:41 Matt-W -> lunch &
11:41 moritz_ szabgab: right. We need default behaviour anyway for empty reductions
11:42 moritz_ szabgab: [*]() is 1, so we can make undef * $num == $num easily too
11:43 szabgab rakudo: say sqrt(-1)
11:43 p6eval rakudo 9b37b8: OUTPUT«NaN␤»
11:43 szabgab rakudo: say -1 ** 0.5
11:43 p6eval rakudo 9b37b8: OUTPUT«-1␤»
11:43 szabgab rakudo: say (-1) ** 0.5
11:43 p6eval rakudo 9b37b8: OUTPUT«NaN␤»
11:44 moritz_ rakudo: say sqrt(-1+0i)
11:44 p6eval rakudo 9b37b8: OUTPUT«0+1i␤»
11:45 masak so in Perl 6, Num is decidedly _not_ a subset of Complex.
11:45 colomon joined #perl6
11:45 szabgab shouldn't uniry minus have higher precedence than ** ?
11:45 moritz_ not if you ask liskov
11:46 masak szabgab: no, I don't think so.
11:46 masak szabgab: but let me check.
11:46 moritz_ no
11:46 jnthn masak: I think s/subset/subtype/ makes that statement a little clearer...
11:46 szabgab neither in perl 5
11:46 moritz_ it's correct that way, and what you usually expect
11:47 masak szabgab: exponentiation is one step tighter than symbolic unary.
11:47 moritz_ -2² is usually read as -4, not as 4
11:47 masak jnthn: well, I meant subset in the mathematical sense.
11:47 pmurias moritz_: is removing uneed'ed try's from test which test something else (like t/spec/S02-lexical-conventions/unicode.t) ok?
11:47 jnthn masak: Ah, OK. In which case it's true, perhaps?
11:48 pmurias * unneeded
11:48 masak jnthn: well, in mathematics it is.
11:48 moritz_ pmurias: IHMO yes.
11:48 szabgab moritz_, I did not have math classes for a long time :-(
11:48 jnthn OK, but in Perl 6 isn't a complex composed of two Nums?
11:48 masak jnthn: or at least there's a trivial isomorphism between a subset of the complex numbers and the real line.
11:48 moritz_ if an implementation has troubles with exceptions being thrown, they should fudge it.
11:48 masak jnthn: that's not the point. the point is that Num behaves in a way incompatible with Comples.
11:49 masak s/Comples/Complex/
11:50 pmurias moritz_: even vim fails t/spec/S02-lexical-conventions/unicode.t ;)
11:50 masak I'm not saying I want it to change, just that it makes Num and Complex a little more dissimilar than they usually are in maths.
11:51 moritz_ pmurias: it looks fine here (gvim, utf-8 locale)
11:51 Matt-W blog entry to go with Test.pm patch: http://alledora.co.uk/wordpr​ess/archives/2009/07/23/394 (need to get on planet perl 6 some time)
11:52 pmurias moritz_: gvim works fine, console vim gets crazy on the fudged line
11:53 moritz_ ah, I see what you mean
11:53 pmurias Matt-W: does use Test;ok(1) print out a plan?
11:54 moritz_ std: class class { }; class.new;
11:54 p6eval std 27681: OUTPUT«ok 00:02 36m␤»
11:54 Matt-W matthew@asymptote:~/rakudo$ ./perl6 -e 'use Test;ok(1);'
11:54 Matt-W ok 1 -
11:54 Matt-W 1..1
11:54 Matt-W yes
11:54 masak \o/
11:54 pmurias Matt-W: it shouldn't
11:55 masak so no done_testing?
11:55 Matt-W actually that's a point
11:55 Matt-W it's not meant to
11:55 Matt-W how is it doing that
11:55 * Matt-W blinks at it
11:55 pmurias dunno, it doesn't do that in mildew ;)
11:56 Matt-W there's an if condition which specifically checks and shouldn't automatically give you a plan when you're in no_plan mode
11:56 moritz_ in the END block, accidentally?
11:57 Matt-W this is the stuff for compatibility with planned tests that don't call done_testing
11:57 moritz_ Matt-W: note that outer variables in END blocks don't work how they should
11:57 Matt-W but the condition's a bit weird
11:57 Matt-W aaaaaaah
11:57 Matt-W moritz_: you've hit it right on
11:57 moritz_ rakudo: my $x = 4; END { say $x }
11:57 Matt-W I forgot to pull that in
11:57 p6eval rakudo 9b37b8: OUTPUT«4␤»
11:57 moritz_ wait
11:57 moritz_ that worked.
11:57 moritz_ why did I think it wouldn't?
11:58 masak :)
11:58 moritz_ rakudo: our $x = 4; END { say $x }
11:58 p6eval rakudo 9b37b8: OUTPUT«4␤»
11:58 Matt-W matthew@asymptote:~/rakudo$ ./perl6 -e 'use Test;ok(1);'
11:58 Matt-W ok 1 -
11:58 moritz_ old habit perhaps :-)
11:58 masak rakudo: END { say $x }; my $x = 4
11:58 p6eval rakudo 9b37b8: OUTPUT«4␤»
11:58 moritz_ bug?
11:58 Matt-W moritz_: no it doesn't work properly, I'm having to use 'our' declarations here to make these checks in the END block work
11:58 moritz_ known bug.
11:58 moritz_ rakudo: say $x; my $x = 4
11:58 p6eval rakudo 9b37b8: OUTPUT«Null PMC access in isa()␤in Main (/tmp/wZzIrlh2xK:2)␤»
11:58 KyleHa joined #perl6
11:58 Matt-W BAD RAKUDO
11:59 moritz_ you see it doesn't throw a parse time error if the undeclared variable and the declaration are on the same line
12:00 moritz_ std: $x; my $x
12:00 p6eval std 27681: OUTPUT«Potential difficulties:␤  Variable $x is not predeclared at /tmp/aAYmrVKzkC line 1:␤------> [32m$x[31m; my $x[0m␤ok 00:02 37m␤»
12:01 colomon Matt-W: Just read your blog post.  The "use Test" / done_testing works in Perl 6 now (or at least will when your patch gets through the system)?
12:01 Matt-W colomon: yes, that's what the patch enables
12:02 Matt-W pmurias: updated patch sent to RT
12:02 Matt-W I just have to say that git commit --amend is the most useful thing for embarrassing omissions ever
12:02 Matt-W as long sa you spot it before you push to another branch, but since I don't have the permission to push to rakudo, that's fine :)
12:02 moritz_ or rebase -i # even more powerful
12:02 colomon I hadn't realized Perl 6 testing was so far advanced.  Sweet!
12:03 KyleHa Good morning #perl6
12:03 phenny KyleHa: 04:24Z <tann_> tell KyleHa You can close/resolve those patches/tickets from me....I looked at pmichaud's commits. They applied 'em (and rewrote some for the better of course).
12:03 Matt-W colomon: it's fairly simple code that makes it go, really. Could probably be better.
12:03 Matt-W (patches welcome)
12:03 moritz_ KyleHa: I already did tyat :-)
12:03 moritz_ *that
12:03 KyleHa I should learn how to use --amend so I can quite having twice as many commits as necessary.  8-)
12:03 jnthn rakudo: sub foo() { }; multi bar() { }; say &foo.multi; say &bar.multi;
12:03 p6eval rakudo 9b37b8: OUTPUT«Method 'multi' not found for invocant of class 'Perl6Sub'␤»
12:04 KyleHa moritz: You took care of what tann is talking about?  Awesome!  moritz++
12:04 * Matt-W -> lunch for real
12:04 Matt-W not that imaginary lunch
12:04 Matt-W that was deeply unsatisfactory
12:04 Matt-W &
12:04 KyleHa I looked back the irclog a little.  I love the Rakudo release text.  I'll tell all my friends.  8-)
12:05 moritz_ KyleHa: I was just typing "I hope you don't mind, because now would be too late" :-)
12:06 KyleHa Heh.  I hadn't looked to see if the release happened...
12:07 pugs_svn r27682 | jnthn++ | [t/spec] Unfudge some more introspection tests for Rakudo.
12:08 masak ah! Chicago!
12:09 masak KyleHa: in case my insistent ++-ing doesn't show it enough, you deserve it. we've been looking for a person to fill the spot you fill for ages.
12:09 moritz_ I just sent out the mail
12:10 moritz_ (and of course I found a place where I had forgotten to s/June/July/)
12:10 KyleHa Thanks masak.  I'm surprised it's taken long; it seems like low hanging fruit to me.
12:10 moritz_ well, you have to have the courage to do it, and the willingness to understand Perl 6
12:10 KyleHa masak++ # copious and coherent bug reports
12:10 moritz_ it's not exactly a small language, you know :-)
12:11 KyleHa Fools rush in, perhaps.  *smirk*
12:11 masak KyleHa: I've streamlined the process of reporting bugs to the point that I hardly think about it anymore. :)
12:11 masak 340 more passing tests since last release. that's actually not too bad.
12:11 dalek rakudo: 1c8c88f | jnthn++ | src/classes/ (2 files):
12:11 dalek rakudo: Make .multi work on Routine/Multi. Gets last fudged tests in S12-introspection/methods.t passing.
12:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​c8c88ff6f49247438ab4b66309494859b7985fb
12:12 masak ho hum. time to do the monthly proto update.
12:13 jnthn This release had some substantial refactors as much as new features.
12:14 jnthn (That said, the refactors allowed more features.)
12:14 jnthn Some of those are under-tested.
12:14 moritz_ ah well, now is a bit too late to complain about the announcement text :-)
12:14 eiro hello guys
12:14 phenny eiro: 21 Jul 20:46Z <masak> tell eiro if you look at the beginning and end of http://github.com/masak/web/commit/01c​ca04fcd75de86e90b4e17f25750866dfdd0b5 you will find that the request($c) is actually deliberate (and the nasty but cool hack used to make it work) Tene++
12:14 phenny eiro: 21 Jul 21:46Z <masak> tell eiro http://use.perl.org/~masak/journal/39329
12:14 eiro good bot phenny :)
12:15 jnthn moritz_: Oh, I wasn't. :-)
12:15 moritz_ submitted anounce to use.perl.org
12:15 masak eiro: salut mon ami!
12:16 eiro masak, i just read some more code, was unable to understand how the caller emulation works ... googled and find your post
12:16 moritz_ jnthn: good :-)
12:16 eiro masak, hello mon pote :)
12:16 masak eiro: wow, cool!
12:16 * masak googles 'pote'
12:17 masak ah, 'buddy'.
12:17 masak I've learnt a new French word. my day is complete.
12:17 masak could 'pote' and 'buddy' be etymologically related, even?
12:17 masak that'd be the next thing to find out.
12:18 eiro i don't know ... it's familiar way to say "my friend"
12:18 KyleHa Pronounced POEtee ?
12:19 masak KyleHa: no, probably 'pot'.
12:19 eiro masak is right
12:19 moritz_ silent e would have been my guess too
12:19 KyleHa Ah, good.
12:19 KyleHa I know nothing about French, clearly.
12:19 eiro i think that it came from 'poteau' => poles = something you can rely on when you fall
12:20 KyleHa Now I can mumble "Howdy pod" another way and still claim it makes sense.
12:21 moritz_ wow, we have a volleyball tournament (outdoor, of course) in 40 minutes, and we have rain and thunderstorm...
12:22 eiro damnit! i have to learn more about pir to understand those tricky lines
12:22 masak moritz_: let's hope the volley ball isn't sewn with iron thread or something...
12:22 masak eiro: if there's any way I can help...
12:24 eiro masak, what i understand is that getinterp is a function that returns a PMC with the state of the current interpreter. $P0['namespace';1] is the call of the 'namespace' method
12:24 eiro but why %r ... i'm trying to find the doc to figure outt
12:24 masak eiro: that's Rakudo-specific.
12:25 masak means 'return this from the PIR block'
12:26 eiro wow!! so %r becames %callerns
12:26 eiro thanks :)
12:26 masak np
12:32 pugs_svn r27683 | jnthn++ | [t/spec] Tests for :private flag on .^methods.
12:34 moritz_ can I get the value of a private attribute through introspection?
12:34 moritz_ of a foreign object, I mean
12:34 moritz_ if so, that would make Object.perl possible in Perl 6
12:35 pmurias Matt-W: thanks for the --amend hint, used to do it using the git reset... way
12:35 eiro will Bool::True become true some day ? i feel Bool::True breaks the huffman principle
12:35 pmurias moritz_: foreign meaning pythonic etc.?
12:35 jnthn moritz_: I can't recall anything spec'd to let you do that.
12:36 moritz_ pmurias: no, just "not of my class"
12:36 dalek rakudo: f5ccc0c | jnthn++ | src/parrot/ClassHOW.pir:
12:36 dalek rakudo: Implement :private flag for .^methods and remove outdated todo comments now those things are todone.
12:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​5ccc0c1930c58514e3eda7457910e5c9ab5be1b
12:36 moritz_ eiro: you can call it True as long as there's no other True in scope with which it might conflict
12:37 eiro cool!
12:37 pugs_svn r27684 | pmurias++ | [t] changed try to do
12:37 pugs_svn r27685 | pmurias++ | [re-smop]
12:37 pugs_svn r27685 | pmurias++ | added lives_ok to Test.pm
12:37 pugs_svn r27685 | pmurias++ | {say "hi} works
12:37 pugs_svn r27685 | pmurias++ | added do {...}
12:37 buubot pugs_svn: Error: DBD::SQLite::db do failed: file is encrypted or is not a database at plugins/karma_modify.pm line 57.
12:37 pugs_svn r27685 | pmurias++ | the part of t/spec/S02-lexical-conventions/unicode.t which passes is put in
12:37 pugs_svn r27685 | pmurias++ | t/worked-on
12:38 masak (git commit --amend)++
12:38 moritz_ pmurias: why don't you just fudge it?
12:38 KyleHa I'm reminded of "#t" and "#f" in scheme.
12:38 masak may I also humbly recomment rebase to all? it's teh cheezburgerz.
12:38 moritz_ KyleHa: what do they do?
12:39 KyleHa moritz: They're what we're calling Bool::True and Bool::False but lots shorter.  8-)
12:39 pmurias moritz_: how does fuding work?
12:39 pmurias * fudgeing
12:39 pmurias * fudging
12:39 moritz_ pmurias: by adding a #?mildew skip 'reason' comment
12:39 moritz_ pmurias: and then running t/spec/fudge mildew $path
12:40 moritz_ which generates a file with s/\.t/.mildew/
12:40 moritz_ and you run that instead
12:40 KyleHa Maybe we could have $?T and $?F or $*T and $*F depending on which twigil I've misremembered.
12:40 moritz_ (maybe you also want the --keep-exit option for fudge)
12:41 KyleHa I usually sit in my rakudo dir and type "perl t/harness --fudge --verbosity=1 ../pugs/t/spec/S.../blah.t" when I'm fiddling with blah.t
12:42 KyleHa I guess (?1) and (?0) aren't that long either.
12:42 moritz_ KyleHa: you can simply type 'make t/spec/your/test.t'
12:42 moritz_ when you're in the rakudo directory
12:43 KyleHa Doesn't that require that the test be checked in already?
12:43 pmurias moritz_: why is the exit code changed?
12:43 moritz_ pmurias: because a fudged test doesn't pass in TimToady's thinking
12:43 KyleHa I guess I'll play with it on the train later this morning.
12:44 moritz_ KyleHa: it doesn't ahve to be check in, it's enough if it matches t/spec/*/*.t
12:44 moritz_ (assuming you're on something unixoid)
12:45 KyleHa Cool, thanks.
12:45 KyleHa moritz++ # testing tips
12:45 moritz_ it's even documented (in Rakudo's README) :-)
12:45 KyleHa Heh.
12:46 KyleHa People keep telling me about great stuff in that README...
12:46 moritz_ but nobody reads READMEs anyway
12:46 moritz_ maybe we should call it DONTREAD, then people would become curious
12:47 KyleHa PERLPR0N
12:47 masak where? where?
12:47 masak oh, the README. well, never mind. :)
12:47 KyleHa Gotta get on with my day now, but this has been a great start to it.  8-)
12:47 masak KyleHa++
12:56 eiro my %person< fistname lastname>; is cool. is it a way to make a typedef on it ?
12:56 eiro something like type Person = %^hash<firstname lastname>;
12:56 eiro my Person %user;
12:56 eiro (can be cool to define an array of persons)
12:59 masak eiro: you mean like 'enum'?
12:59 masak I still get a failure in t/spec/S32-io/IO-Socket-INET.t, by the way.
13:00 masak eiro: ah, I see what it is you want now. I guess you could subtype a hash to only contain a given set of keys.
13:01 masak rakudo: subset Person of Hash where { .keys.sort ~~ <firstname lastname> }; my Person $p = { :firstname<Kyle>, :lastname<Ha> }
13:01 p6eval rakudo f5ccc0: OUTPUT«Could not build C3 linearization: ambiguous hierarchy␤in sub trait_mod:of (src/gen_setting.pm:142)␤called from Main (/tmp/El7WIy7dsb:2)␤»
13:02 masak I think I just found a bug. \o/
13:02 masak jnthn: seen something like this before?
13:07 jnthn not seen that one before... :-S
13:07 jnthn report
13:07 jnthn I haz Slovak class now.
13:07 masak rakudo: subset Person of Hash; my Person $p = {}
13:07 p6eval rakudo f5ccc0: OUTPUT«Could not build C3 linearization: ambiguous hierarchy␤in sub trait_mod:of (src/gen_setting.pm:142)␤called from Main (/tmp/3UcdMBeRbE:2)␤»
13:07 * masak reports
13:08 eiro masak, wow! thanks!
13:08 masak jnthn: požívať slovenčina triedy!
13:08 eiro this is just amazing!
13:08 masak eiro: aye. when it works. :P
13:10 masak rakudo: subset Austria of Array; my Austria $p = []
13:10 p6eval rakudo f5ccc0: OUTPUT«Could not build C3 linearization: ambiguous hierarchy␤in sub trait_mod:of (src/gen_setting.pm:138)␤called from Main (/tmp/7UFl113pQO:2)␤»
13:11 masak rakudo: subset Meercat of Pair; my Meercat $p = :a<b>
13:11 p6eval rakudo f5ccc0:  ( no output )
13:12 xinming_ joined #perl6
13:12 eiro masak, but it doesn't :)
13:12 masak rakudo: subset Austria of List; my Austria $p = []
13:12 p6eval rakudo f5ccc0:  ( no output )
13:12 masak eiro: I know, I'm submitting a bug report about it now.
13:13 eiro No applicable candidates found to dispatch to for 'pairs' when i run this code: http://pastebin.com/f274be584
13:14 masak eiro: that might be because you are getting a Parrot object back, and not a Rakudo object.
13:15 masak eiro: I'm not sure how to fix that. pmichaud would know, I think.
13:16 pugs_svn r27686 | pmurias++ | [re-smop] add skip to Test.pm, use fudge
13:17 pmurias moritz_: are there any guidlines/rule of good taste for fudging?
13:21 pmurias re your three things you don't like in Perl6 blog one think to take in mind is that commented out code should be visually distinct from real comments
13:22 pmurias s/^/masak: /
13:24 masak pmurias: I agree.
13:24 lumi_ joined #perl6
13:24 masak one of my many pet peeves concerns commented-out code with no indication as to _why_ it was commented out.
13:24 masak it's like the pseudogenes of source code.
13:27 moritz_ pmurias: guidelines: 1) fudge only files you can run to a resonable amount 2) try not to interfere with other implementaitons 3) profit
13:27 pmurias how can fudging interfere?
13:28 moritz_ if you fudge out blocks, you might have to adjust the blocks
13:29 moritz_ #?rakudo skip 'foo' \n { ok 1; other stuff; ok 2 }
13:29 moritz_ that fudges out the whole block
13:29 moritz_ now if you fudge for mildew, you can't run ok 1; but skip the rest of the block
13:31 pmurias adding a fudge #?mildew skip '...' before ok 2 would be incorrect?
13:31 moritz_ it would still run the other stuff
13:31 moritz_ between ok 1 and ok 2
13:31 moritz_ anyway, just experiment with it; it's unlikely that you break something for rakudo without noticing
13:32 moritz_ (and if so, I will notice and tell you; forgiveness and so on... :-))
13:37 decasm joined #perl6
13:43 FurnaceBoy joined #perl6
13:56 skids joined #perl6
13:57 szabgab joined #perl6
14:19 MaL0 joined #perl6
14:19 MaL0 left #perl6
14:26 szabgab rakudo: say 1 <  2  ?? 'y' !! 'n';
14:26 p6eval rakudo f5ccc0: OUTPUT«y␤»
14:26 szabgab rakudo: say 1 !<  2  ?? 'y' !! 'n';
14:26 p6eval rakudo f5ccc0: OUTPUT«Statement not terminated properly at line 2, near "!<  2  ?? "␤in Main (src/gen_setting.pm:3343)␤»
14:27 szabgab std: say 1 !<  2  ?? 'y' !! 'n';
14:27 p6eval std 27686: OUTPUT«ok 00:02 36m␤»
14:27 szabgab so that should work just not implemented yet, right ?
14:27 szabgab std: say 1 !==  2  ?? 'y' !! 'n';
14:27 p6eval std 27686: OUTPUT«ok 00:02 36m␤»
14:27 szabgab rakudo: say 1 !==  2  ?? 'y' !! 'n';
14:27 p6eval rakudo f5ccc0: OUTPUT«y␤»
14:28 cognominal_ is there a syntax for partial application of operators ala haskell?
14:28 masak cognominal_: .assuming
14:29 masak see S06.
14:29 cognominal_ nothing shorter?   and solving the problems of ambiguity between infix, suffix and postfix operators?
14:31 cognominal_ masak, I mean for operators, not for functions
14:32 cognominal_ I guess a functions with $_ does the equivalent...
14:32 cls_bsd joined #perl6
14:32 masak cognominal_: operators are functions in Perl 6.
14:33 masak and there's no issue of ambiguity, since infix, prefix, postfix etc are part of the name.
14:36 * jnthn back
14:39 * cognominal_ discovers the ... operator. so nice!
14:51 kane___ joined #perl6
14:51 nihiliad joined #perl6
15:03 mj41 joined #perl6
15:09 [Coke] left #perl6
15:09 spinclad joined #perl6
15:10 Matt-W joined #perl6
15:10 Aisling joined #perl6
15:10 rhr joined #perl6
15:10 kane___ joined #perl6
15:15 shachaf joined #perl6
15:17 zostay joined #perl6
15:18 literal this might be an unusual question, but does Perl 6 allow you to use inheritence without using objects? I'm talking about something like this: http://pastebin.com/m179f2eea (which doesn't work in Perl 5)
15:19 jnthn I guess that's more about import/export-y things, no?
15:19 masak seems so.
15:19 jnthn Damm, how'm I meant to write tests in 34C + 50% humid :-|
15:19 * jnthn should move to the arctic or something.
15:20 literal I'm talking about the case were you have a bunch of similar packages which might inherit from a common package, yet they aren't objects because they're all singletons
15:21 donaldh joined #perl6
15:23 masak literal: still sounds like exports.
15:23 masak see S11.
15:24 jhorwitz joined #perl6
15:24 literal I see
15:25 felipe joined #perl6
15:26 nnunley joined #perl6
15:28 literal the problem with exporting is that I get warnings when I override the imported functions and the originals aren't accessible after doing so, etc
15:28 M_o_C joined #perl6
15:30 kane___ joined #perl6
15:32 hoelzro joined #perl6
15:38 KyleHa joined #perl6
15:40 pugs_svn r27687 | jnthn++ | [t/spec] Tests for .^attributes - don't think we had any before these.
15:44 dalek rakudo: 346ae98 | jnthn++ | t/spectest.data:
15:44 dalek rakudo: Add S12-introspection/attributes.t to spectest.data.
15:44 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​46ae9853dde53df95bc8127a807c5ebd6867233
15:44 jnthn Right on, masak.
15:45 jnthn ;-)
15:46 kidd_ joined #perl6
15:55 Jedai joined #perl6
15:59 hoelzro joined #perl6
16:02 pugs_svn r27688 | jnthn++ | [t/spec] Some basic tests for .^roles.
16:03 jnthn Phew. That gets me caught up with some of the test writing I needed to do.
16:04 KyleHa jnthn++ # test writing
16:04 jnthn KyleHa: Feel free to review and build upon them.
16:04 rfordinal joined #perl6
16:04 KyleHa I might be free for that in about ten hours.  8-)
16:05 sri_kraih joined #perl6
16:08 pmurias literal: you can re-export functions
16:09 Juerd_ joined #perl6
16:09 Juerd_ Just read in the rakudo release announcement that =$handle is deprecated. I'm happy about this.
16:10 jnthn Juerd_: So was I, it was a bit of an odd one from an implementation angle.
16:10 justatheory joined #perl6
16:11 dalek rakudo: 241545b | jnthn++ | t/spectest.data:
16:11 dalek rakudo: Add S12-introspection/roles.t to spectest.data.
16:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​41545b9d6c73f95bd8e5255187c30d5e77e6381
16:11 Juerd_ jnthn: It was an odd one visually too :)
16:12 justatheory joined #perl6
16:12 jnthn Juerd_: Yes, that as well
16:12 jnthn I never managed to find it comfortable to look at.
16:14 Juerd_ It is typically used together with assignment, and the = = felt uncomfortable.
16:14 Juerd_ Anyway, it's fixed apparently :)
16:14 jnthn Aye. :-)
16:15 Juerd_ By the way, if anyone cares, I registered rakudo.nl a while ago
16:15 Juerd_ It's been a redirect to rakudo.org so far
16:16 Juerd_ It's available for any Rakudo serving purpose if ever needed
16:16 jnthn Cool, good to know.
16:23 colomon joined #perl6
16:29 jdv79 joined #perl6
16:30 jdv79 is it impossible to have pod directives start anywhere but the left-most column?
16:30 literal yup, impossible
16:30 TimToady that is correct
16:30 lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
16:31 jdv79 that's one of the reasons i avoid formats at all costs..:(
16:31 jdv79 oh well
16:31 Juerd_ Ah, just like heredocs in ancient Perl :)
16:31 jdv79 oh, that's what i meant
16:33 TimToady heredocs may be indented in p6
16:34 Juerd_ That's why I said "ancient" Perl :)
16:34 jdv79 admittedly i, and i imagine most people, use pod way more than heredocs:)
16:35 jdv79 good to know though
16:36 Juerd_ I still believe in inline documentation for methods/subs
16:36 Juerd_ That is: something in comments
16:36 Juerd_ Perl 6 will make it easy to avoid repeating yourself :)
16:36 jdv79 maybe comment out the indented pod and then preprocess it - ouch
16:36 Juerd_ After having typed "Str $needle" I don't want to type $needle again in the documentation :)
16:37 Juerd_ Str $needle,  ## Substring to look for
16:37 Juerd_ Something like that perhaps
16:37 Juerd_ IIRC it's been discussed on p6l for quite a while, with little to no concensus
16:42 sri_kraih_ joined #perl6
16:45 alester joined #perl6
16:50 REPLeffect joined #perl6
16:50 Psyche^ joined #perl6
16:53 icwiener_ joined #perl6
16:54 alester joined #perl6
16:55 jan_ joined #perl6
16:57 pmurias why pod can't be indented?
16:59 TimToady too ambiguous with interleaved Perl grammar
17:00 colomon jdv79: I use heredocs far more often than pod.  They are very handy for C++ code generation, which is one of my main uses for Perl.  And I typically don't bother to document the small scripts I write for myself.
17:02 justatheory joined #perl6
17:05 pmichaud good morning, #perl6
17:05 jnthn oh hai, pmichaud
17:05 TimToady where have you been?  :)
17:06 pmichaud here and there
17:06 jnthn pmichaud: I'm doing a minor refactor-ish thingy, that lets us rip another file out of src/parrot/
17:07 jnthn pmichaud: Namely, ClassHOW.pir
17:07 pmichaud jnthn: yay!
17:07 jnthn pmichaud: And then subclassing P6metaclass to get our ClassHOW
17:07 jnthn And adding to that.
17:07 jnthn Sound sane?
17:07 pmichaud jnthn: sounds great to me
17:07 unitxt joined #perl6
17:07 pmichaud ...but I'll have to see the code :-) :-)
17:07 jnthn OK. I've done some minor change to p6object.
17:07 jnthn (not comitted yet, wanted to discuss first)
17:08 cognominal_ I am reading Any-list.pm and I am impressed
17:08 alester pmichaud: Where are you, I have some ideas.
17:08 jnthn Well, two of them. First is in register.
17:08 pmichaud I'm in the keynotes right now
17:08 alester That i'd like to throw together in person.
17:08 alester Can we chat after he finishes here?
17:08 jnthn If we pass in a how option, then it uses that rather than creating a metaclass.
17:08 pmichaud sure.  meet where?
17:08 pmichaud "how option"?
17:09 alester at the doors, pmichaud
17:09 jnthn I think pasting the patch is easier than explaining. ;-)
17:09 pmichaud alester: will do
17:09 Juerd_ .oO( POD could be indented without grammar clashes if it used a different character... Maybe `? ;) )
17:09 pmichaud jnthn: please paste patch, pronto
17:10 jnthn coming
17:10 jnthn .oO( why is gist slow when pm says pronto )
17:10 jnthn http://gist.github.com/153253
17:10 pmichaud i'm walking so i'll be delayed anyway
17:11 jnthn kk
17:11 hercynium joined #perl6
17:15 TimToady breaking &
17:15 * jnthn wonders what TimToady is going to break
17:15 jnthn ;-)
17:18 Juerd_ An ampersand
17:19 jnthn poor little ampersand
17:19 huf into what? two ayins?
17:22 toyam joined #perl6
17:24 jnthn pmichaud: btw gist updated just now, if you already got it up.
17:25 justatheory joined #perl6
17:26 jnthn (no hurry at all, I'm going to break for dinner soon)
17:27 cognominal_ gist?
17:27 icwiener-_- joined #perl6
17:29 jnthn gist.github.com
17:29 jnthn nopaste on good drugs
17:38 cdarroch joined #perl6
17:43 hoelzro joined #perl6
17:45 meppl joined #perl6
17:45 toyam joined #perl6
17:56 justatheory joined #perl6
17:56 hoelzro_ joined #perl6
17:57 pmichaud jnthn: I'm not sure the word "how" grabs me
17:58 pmichaud even looking at the patch, I'm not _exactly_ sure what you're doing.
17:58 pmichaud (that can be entirely due to the fact that I'm doing 3-things-at-once)
17:59 jnthn pmichaud: Heh, you think I'm exactly sure? ;-)
17:59 pmichaud are you just providing a metaclass object to use instead of having register always create one?
17:59 moritz_ re
17:59 jnthn That's one half of it.
17:59 jnthn The register half.
17:59 jnthn But basically that part of the story is, "don't create a metaclass, just use this one"
17:59 jnthn The other part is for new_class
18:00 jnthn So we can say "use this class as the metaclass"
18:00 jnthn I don't mind changing how to metaclass.
18:00 pmichaud I need some precision
18:00 pmichaud do you mean "use this parrotclass as the metaclass"?
18:00 pmichaud or "use this object as the metaclass"
18:00 pmichaud or ... ?
18:00 jnthn For register it means "use this object as the metaclass"
18:00 jnthn For new_class it means "create a metaclass using this parrotclass"
18:01 pmichaud then the option needs different names, I think.
18:01 jnthn Yeah, now I've written that out, I completely agree.
18:01 jnthn This is why we don't let me name anything. :-)
18:01 jnthn Any ideas?
18:01 pmichaud but if you already have a parrotclass, why would someone be calling new_class ?
18:01 kane___ joined #perl6
18:01 jnthn You don't already have a parrotclass
18:02 jnthn You do know what type you want the metaclass to be
18:02 pmichaud oh
18:02 pmichaud you're meaning you want to create the new class using a metaclass other than P6metaclass
18:02 pmichaud ?
18:02 jnthn For register though, this assumes you not only have a parrotclass, but also a metaclass.
18:02 jnthn Correct.
18:03 jnthn Because I'm moving us from sticking methods into P6metaclass to subclassing it.
18:03 pmichaud ok... so for register, it means "I already have a HOW object, please use it when registering"
18:03 jnthn Correct.
18:03 pmichaud what else does register do (overall?)
18:03 pmichaud the primary purpose of register was to take an existing parrotclass and put it into the p6object framework
18:04 pmichaud if we already have a HOW object... why do we need to register it?
18:04 jnthn Nothing different. All that changes is that instead of instantiating a p6metaclass for us, it uses the one provided.
18:04 jnthn register creates the proto
18:04 jnthn We've been calling register from !meta_compose for a long time to get that done.
18:04 pmichaud does it also add parents and the like?
18:04 pmichaud (I don't remember off the top of my head)
18:04 jnthn It can do.
18:05 pmichaud if we already have a HOW object, do we want to be able to add parents and the like?
18:05 jnthn ##  add any needed parent classes
18:05 jnthn .local pmc parentclass
18:05 jnthn parentclass = options['parent']
18:05 jnthn if null parentclass goto parent_done
18:05 pmichaud what I'm getting at:  is 'register' the correct place for this option, or should 'register' itself be broken down into smaller methods?
18:06 pmichaud and then !meta_compose uses the smaller methods instead of the global 'register'
18:06 jnthn That could be a way to go.
18:06 jnthn I'm not sure that's a refactor I want to do right now.
18:06 jnthn This is kinda of a first step.
18:06 jnthn Basically, what's the smallest change I can do in order for us to have our own meta-class.
18:07 pmichaud well, we still want to make sure we don't start building an API we later regret :-)
18:08 jnthn To put it into context, new_class calls register
18:08 jnthn So at the moment register is the stuff after you've created a parrotclass.
18:08 pmichaud right
18:08 jnthn All we're adding is a way to say "and not only do I have a Parrot class for you, but here's a metaclass too".
18:08 jrtayloriv joined #perl6
18:09 jnthn For now, that's just a different default one for Perl 6.
18:09 jnthn In the long run, I guess we'll need to support custom meta-classes.
18:09 pmichaud if wonder if this really wants hll_map of some sort
18:09 jnthn That'd be helpful for not sufficient.
18:09 jnthn *but
18:10 jnthn The other issue I have is
18:10 jnthn Later, I want a second refactor, where we won't create the metaclass in !meta_compose, but instead in !meta_create
18:11 jnthn And that will be the thing that the loadinit has as "metaclass", and what we pass to do trait application.
18:11 pmichaud okay (more)
18:11 pmichaud I'm fine with us passing a :how option to register (more)
18:11 jnthn So basically having a default would save a little boilerplate I have added.
18:12 pmichaud oh, wait
18:12 pmichaud no, that's right
18:12 pmichaud I'm fine with us passing a :how option to reigster
18:12 pmichaud that is fine with me
18:12 pmichaud I don't like the 'new_class' approach of passing the class of the metaclass to be created
18:13 jnthn OK. What would you like to see instead?
18:13 pmichaud first, do we call new_class from rakudo?
18:13 jnthn Yes, in all the stuff in src/classes/*.pir
18:13 jnthn We want our PIR defined classes to use the Perl 6 metaclass too.
18:13 pmichaud okay
18:13 pmichaud agreed.
18:14 pmichaud let me look at something real quick
18:14 pmichaud (I have to leave in a few minutes to give my pct presentation)
18:14 jnthn OK, sure
18:14 pmichaud okay.
18:15 pmichaud new_class is already a method on a Perl 6 metaclass
18:15 pmichaud sorry
18:15 pmichaud wrote that wrong
18:15 pmichaud new_class is already a method on a P6metaclass
18:15 pmichaud we shouldn't need an option saying "use this other thing instead"
18:15 jnthn Oh, hmm
18:15 pmichaud instead, new_class should use the type of "self"
18:15 jnthn oh
18:15 jnthn I like that.
18:16 pmichaud then in Rakudo, $!P6META is our metaclass
18:16 pmichaud and everything gets created from it.
18:16 jnthn *nod*
18:16 jnthn OK, that is cleaner than what I have now.
18:16 jnthn pmichaud++
18:17 pmichaud and I'm fine with those changes.
18:17 pmichaud and I'm fine with the option to register being called 'how'
18:17 pmichaud because it's really a 'HOW' object
18:18 pmichaud the only thing I would consider differently is to name it similar to whatever the Perl 6 metaclass API is using
18:18 pmichaud (if there is such a thing)
18:18 jnthn Probably "how"
18:19 pmichaud anyway, :how is fine.
18:19 jnthn OK.
18:19 pmichaud jnthn++  # I like these changes and the overall way its heading
18:19 moritz_ any:how
18:19 jnthn pmichaud: Cool, thanks. Tests are looking good with the way I have it now, which means after the now relatively small change to do it better they should also be.
18:20 moritz_ when I want to post to rakudo.org, do I have to create a new "Story"?
18:20 pmichaud the one that says it's useful for news items
18:20 pmichaud (looking)
18:20 jnthn This also means I can implement can to do the Perl 6 Thing. :-)
18:20 moritz_ ok, story then
18:20 pmichaud moritz_: yes, "Story"
18:20 pmichaud (just checked)
18:21 jnthn Hope PCT talk goes well! :-)
18:21 pmichaud yeah, me too
18:21 jnthn pmichaud: You already gave Rakudo one?
18:21 pmichaud Yes.  I think it went well.
18:22 pmichaud I refactored it heavily yesterday morning before giving it -- I'm very happy with the new talk.
18:22 jnthn Cool. :-)
18:22 jnthn Great.
18:22 pmichaud I think it's a better talk than what I had before.
18:22 jnthn Will one at YAPC::EU be similar?
18:22 pmichaud yes
18:22 TimToady ingy: docs/Perl6/Spec/S32-setting-library/IO.pod
18:22 jnthn Nice
18:22 pmichaud it'll be the same talk, although I may update the slides quite a bit
18:22 pmichaud like, I may switch out of Spork and into something else
18:23 pmichaud (so I can play with some more pictures, animations, etc.)
18:23 pmichaud I might need to cut about 5 minutes out of the talk, though.
18:23 pmichaud It ran a little long.
18:23 pmichaud (just a minute or two)
18:23 jnthn *nod*
18:24 pmichaud anyway, time toset up for talk.  bbl.
18:25 moritz_ if you find a good alternative to spork, please let me know
18:27 jrtayloriv joined #perl6
18:27 jrtayloriv left #perl6
18:31 alester joined #perl6
18:33 kane___ joined #perl6
18:34 tann joined #perl6
18:35 KyleHa joined #perl6
18:36 ingy TimToady: tank yhou
18:36 KyleHa is $x, True, 'truth';   vs.    ok $x, 'truth'    -- any difference?
18:36 toyam joined #perl6
18:36 hoelzro joined #perl6
18:36 moritz_ yes
18:36 moritz_ ok() explicitly evaluates in boolean context
18:37 moritz_ rakudo: use Test; ok 'foo';
18:37 moritz_ rakudo: use Test; is 'foo', True;
18:37 ingy is the pugs repo still svn?
18:37 p6eval rakudo 241545: OUTPUT«ok 1 - ␤# Looks like you planned  tests, but ran 1␤»
18:37 p6eval rakudo 241545: OUTPUT«not ok 1 - ␤# Looks like you planned  tests, but ran 1␤# Looks like you failed 1 tests of 1␤»
18:37 moritz_ ingy: yes
18:37 KyleHa Oh.  First one checks to see if it's literally the True value, but the second just checks if it's not something falsey.
18:41 KyleHa moritz++ # detailed answers to my silly question
18:44 moritz_ but since we haven't yet specified what kind of comparison is() does (eq? or eqv?), it's safer to write 'ok $foo === Bool::True, ...'
18:45 moritz_ to test if it's actually a boolean
18:45 KyleHa I should read up on the new equivalence operators.
18:46 moritz_ I once answered a question regarding them; here: http://stackoverflow.com/questions/176343/​whats-the-deal-with-all-the-different-perl​-6-equality-operators-eq-e/176381#176381
18:48 moritz_ what it does not mention is that === for value types (Str, Num, Int, Bool etc) is simple identity
18:48 KyleHa Thanks!!
18:48 tann has anyone ported Benchmark to p6? it would be nice to use it to benchmark stuff in rakudo
18:49 literal there was a port to pugs I think
18:49 moritz_ i've seen a Benchmark.pm in the perl6-examples repo on github, no idea if it actually works
18:49 literal there's a ext/Benchmark in the pugs repo
18:50 moritz_ http://github.com/perl6/perl6-exam​ples/blob/843a9a48037f2dbe4325d06d​51961be4006264bd/lib/Benchmark.pm
18:50 moritz_ a rather basic thing
18:50 moritz_ much less sophisticated than the perl 5 one, which will bump up repetition counts if the values are matched very closely, and similar things
18:51 tann and no Time::HiRes :)
18:51 moritz_ rakudo: say time
18:51 p6eval rakudo 241545: OUTPUT«1248375107.86179␤»
18:51 moritz_ it's fractional already
18:51 tann oh nice
18:51 moritz_ so better than p5
18:52 moritz_ rakudo: say time() - time()
18:52 tann me like
18:52 p6eval rakudo 241545: OUTPUT«-1.50203704833984e-05␤»
18:52 Su-Shee joined #perl6
18:52 Su-Shee hi
18:52 tann hola
18:52 moritz_ hi Su-Shee
18:53 Su-Shee the most conventient method of protecting a string containing /, \ and " and <> is...?
18:53 moritz_ protecting? do you mean quoting?
18:53 literal a single-quoted string which doesn't use those symbols as delimiters, I suppose
18:53 moritz_ rakudo: say Q'a/b\c"d<e>f'
18:53 p6eval rakudo 241545: OUTPUT«Statement not terminated properly at line 2, near "\\c\"d<e>f'"␤in Main (src/gen_setting.pm:3343)␤»
18:54 literal q[maybe \ like / this " < >]
18:54 moritz_ rakudo: say 'a/b\c"d<e>f'
18:54 Su-Shee moritz_: I think so.
18:54 p6eval rakudo 241545: OUTPUT«a/b\c"d<e>f␤»
18:54 rindolf joined #perl6
18:54 moritz_ what literal said - either single quotes, or quotes with custom delimiters
18:54 Su-Shee ah. that simple. I was wildly Q-ing already..
18:54 tann should all modules use the underscore separator for identifiers? (as built-ins have all slummed together)... i saw Benchmark in the link that moritz sent...with time_it vs timethis vs timethese etc... just mixed up conventions
18:55 moritz_ tann: I prefer them to all use dashes (time-it) for word separators
18:55 literal then again some people hate using dashes precisely for that reason, i.e. a function can't be matched as one word :P
18:55 tann moritz: aye aye, sir!
18:56 Su-Shee rakudo: say q[foo/bar"?<>baz!']
18:56 p6eval rakudo 241545: OUTPUT«foo/bar"?<>baz!'␤»
18:59 PerlJam moritz++ (Chicago)
19:00 moritz_ I should blog about how easy it was ;-)
19:01 PerlJam you should.
19:01 KyleHa Yeah, that would be a good follow-up to the request for release engineers.
19:01 PerlJam blog it and reply to pm's email
19:01 moritz_ which mail?
19:02 frettled mail.pm?
19:02 frettled (sorry, sorry, where's my coat?)
19:03 PerlJam Hrm.  I could have sworn he sent an email about this to p6l.  Maybe I'm imagining things
19:03 moritz_ anyway, pm reads my blog I think ;-)
19:08 tann i look at Benchmark p5 on cpan...it has lots of p6's constructs...$v = cond ??  $x || $y;   sub foo($x, $y) etc...  looks like they're already half-ported to p6 !!! :)  http://cpansearch.perl.org/src/TT​Y/kurila-1.19_0/lib/Benchmark.pm
19:09 M_o_C joined #perl6
19:09 moritz_ tann: you're looking at the Kurila version
19:09 moritz_ and Kurila "stole" more Perl 6ism
19:10 PerlJam Well, replying to an email pm sent to p6l would be more about reaching the rest of p6l than reaching pm
19:10 tann moritz_: that's a good thing..looks like they keep it close to the distro version :P
19:12 PerlJam tann: I'd be surprised if there were a large group of people using kurila.
19:12 PerlJam tann: for more perl5-as-perl6isms, see Devel::Declare, Moose, MooseX::Types, MooseX::Declare, etc.
19:14 moritz_ how do I link to an always up-to-date file on github?
19:14 tann any module that rakudo can 'use' yet? :)
19:14 moritz_ when I just follow the links on the repo homepage I always get URLs to a specific revision
19:14 steffan joined #perl6
19:14 tann rakudo: use strict
19:14 p6eval rakudo 241545: OUTPUT«Can't find ./strict in @*INC␤in Main (src/gen_setting.pm:445)␤»
19:14 moritz_ rakudo: use Test; plan 1; ok 'hi tann', 'this works;
19:14 steffan left #perl6
19:14 p6eval rakudo 241545: OUTPUT«Statement not terminated properly at line 2, near "'this work"␤in Main (src/gen_setting.pm:3343)␤»
19:15 moritz_ rakudo: use Test; plan 1; ok 'hi tann', 'this works';
19:15 p6eval rakudo 241545: OUTPUT«1..1␤ok 1 - this works␤»
19:15 tann oh hai, rakudo :)
19:16 moritz_ the modules in the perl6-examples repo seem to work too
19:16 moritz_ as do Web.pm, SVG and other modules
19:16 tann rakudo: use Benchmark;
19:16 p6eval rakudo 241545: OUTPUT«Can't find ./Benchmark in @*INC␤in Main (src/gen_setting.pm:445)␤»
19:16 moritz_ tann: they are not installed on the server where p6eval runs on
19:17 tann rakudo: use Safe;
19:17 p6eval rakudo 241545:  ( no output )
19:18 moritz_ this used by default
19:18 moritz_ in p6eval, that is
19:19 [particle]1 rakudo: use Test; ok 1; done_testing;
19:19 p6eval rakudo 241545: OUTPUT«ok 1 - ␤Could not find non-existent sub done_testing␤»
19:19 moritz_ that's not yet applied
19:19 [particle]1 ah
19:20 moritz_ didn't have time to look at it yet more closely
19:20 moritz_ [particle]: do you like the idea?
19:20 [particle] yes, i do.
19:20 [particle] although, i prefer done-testing;
19:21 * moritz_ too
19:21 PerlJam how many of the other implementations grok dashes in identifiers?
19:21 moritz_ pmurias: would you object to rename done_testing to done-testing in mildew's Test.pm?
19:21 [particle] not pugs, but std does
19:21 moritz_ PerlJam: mildew, rakudo, maybe elf
19:22 moritz_ elf: sub a-b($x) { say $x }; a-b(3)
19:22 p6eval elf 27688: OUTPUT«Parse error in: /tmp/1o5PjlOdM4␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: sub a-b($x) { say $x }; a-b(3)␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤
19:22 p6eval ..STD_red…
19:22 moritz_ ah, its port of STD.pm is too old
19:22 PerlJam If we're trying to keep Test.pm such that pugs can run it, then done-testing is out.
19:22 moritz_ PerlJam: I'm not going to compromise for dead implementations.
19:23 PerlJam moritz++ good deal :)
19:23 moritz_ PerlJam: if somebody resumes work on pugs, it's not very hard to fix
19:24 [particle] having multiple implementations will make it harder to say 'perl 6 is dead'
19:25 moritz_ right. I'll be very happy when somebody revives pugs.
19:28 moritz_ and using pugs to argue against the "perl 6 is dead" meme is dead wrong, too
19:28 * [particle] looks around for lamdacamelias
19:29 Su-Shee I think one really working and released perl 6 1.0 looks more alive than 4 half finished ones.
19:29 PerlJam Su-Shee: What does that mean really?
19:29 solarion joined #perl6
19:29 PerlJam Su-Shee: what is "finished"?
19:30 tann Su-Shee: 1.0? :P
19:30 tann methinks, it should be 6.0, no? :)
19:30 [particle] rakudo "1.0" will be released well before the perl 6 spec is complete
19:31 PerlJam I mean rakudo works and is released monthly.  It doesn't do all the things we'd like perl 6 to do, but it's a good start.
19:31 moritz_ it doesn't even install ;-)
19:31 Su-Shee that I think in terms of "perception" perl 6 looks more alive with one implementation steadily being updated and reaching version 1.0 some day.
19:31 PerlJam I could say something similar about perl 5 though too.  Perl 5 isn't "finished"
19:31 moritz_ it will be, in a few years or decades :/
19:31 PerlJam python isn't "finished"
19:31 PerlJam java isn't "finished"
19:32 PerlJam C isn't "finished"
19:32 Su-Shee PerlJam: well, I have a more loose definition of "finished". ;)
19:32 PerlJam I wish COBOL was finished  though  :)
19:32 moritz_ do you have to use it?
19:32 cognominal_ well, the real question is ossification
19:33 cognominal_ Perl 5, C, C++  are clearly ossified
19:33 tann if there are a dozen moritzes, rakudo will see christmas soon :P
19:33 PerlJam moritz_: I don't *have* to use it, but it keeps showing up around here.  There's still a class at TAMUCC that is a COBOL class.
19:33 cognominal_ Perl 6 design is mostly againt ossification
19:33 moritz_ tann: actually I don't add many features to Rakudo - we need more jnthns and pmichauds ,-)
19:33 Su-Shee anyway. the question of "alive" or not has more to do with how many people use the language, what projects exists, if the language evolves and so on. at least in my opinion.
19:34 cognominal_ so by design Perl 6 should be never "finished"
19:34 PerlJam cognominal_: let's hope not!
19:34 moritz_ well, but at some point we have to start to take snapshots
19:34 moritz_ and labeling them
19:34 moritz_ perl 6.0, perl 6.0.1 etc.
19:34 tann is c finished? last i checked they stopped at c99? :)
19:35 moritz_ I think that's more what Su-Shee is talking about
19:35 * PerlJam wishes he had some good swiss chocolate right now
19:35 PerlJam moritz_: we do that every month :)
19:35 PerlJam moritz_: you did so yourself today!
19:35 cognominal_ some say the C++ next spec will be finished next year, that is 200A
19:35 Su-Shee moritz_: actually I was supporting your "not compromise dead implementations".. :)
19:36 moritz_ PerlJam: we take snapshots of Rakudo, not of Perl 6.
19:36 moritz_ http://perlgeek.de/blog-en/perl-6​/releasing-rakudo-made-easy.html btw
19:36 PerlJam moritz_: rakudo isa Perl 6
19:36 moritz_ PerlJam: it's still not what I mean
19:36 Su-Shee PerlJam: yeah, but which one of the perl 6s' is going to be released as perl-6.0.0.tar.gz?
19:37 tann morirtz_: *ra*kudos to you for the chicago *bow*
19:37 PerlJam moritz_: I know what you mean, I'm just being an extremist for a little bit.
19:37 cognominal_ hum, what is the prefix pipe?
19:38 * Su-Shee calls homeland security, department of version numbers for programming languages.
19:38 moritz_ cognominal_: interpolation into captures/argument lists
19:39 moritz_ rakudo: sub a($x, $y) { say $x - $y }; my @l = 3, 4;  a(|@l)
19:39 p6eval rakudo 241545: OUTPUT«-1␤»
19:39 moritz_ rakudo: sub a($x, $y) { say $x - $y }; my @l = 3, 4;  a(@l) # without pipe
19:39 * cognominal_ should learn about jquery and make the Perl 6  documentation more navigable :(
19:39 p6eval rakudo 241545: OUTPUT«too few arguments passed (1) - 2 params expected␤in sub a (/tmp/VMNYqYoqme:1)␤called from Main (/tmp/VMNYqYoqme:2)␤»
19:39 Su-Shee cognominal_: which documentation do you use?
19:40 PerlJam cognominal_: coordinate with literal
19:40 cognominal_ http://perlcabal.org/syn/
19:41 * cognominal_ fail to undestand the difference between the splat and the prefix |
19:41 cognominal_ maybe some rest will help
19:41 synth joined #perl6
19:41 cognominal_ PerlJam, noted.
19:42 moritz_ cognominal_: "splat" is the old name for "slurpy"...
19:42 moritz_ cognominal_: and the difference is that prefix:<|> is used on the caller side
19:42 PerlJam cognominal_: well, you don't need to necessarily coordinate with him now that I see you're talking specifically about the perlcabal.org website :)
19:42 moritz_ cognominal_: and * (as in sub foo(*@a)) is used in the parameter list
19:42 cognominal_ I have not done Perl 6 in a long time and it shows
19:42 Juerd_ I recently read something about Perl 6 somewhere and was confused by the whateverish *.
19:43 PerlJam cognominal_: but making the docs more navigable is part of the mission of perl6's version of perldoc
19:43 Juerd_ I missed the part where * became whatever instead of splat
19:43 moritz_ Juerd_: it has both meanings; context an dall
19:43 Juerd_ Is the mnemonic for slurping | that it looks like a straw?
19:43 moritz_ just like it is also multiplication, and a regex quantifier
19:44 PerlJam Juerd_: that's a good mnemonic as any I suppose
19:44 cognominal_ to paraphrase McLuhan, the medium is the passage ... to general conscousness
19:45 cognominal_ the langage is only part of the medium
19:47 cognominal_ seing how much of Perl 6 is used in src/setting gives me a lot faith in Perl
19:47 zamolxes joined #perl6
19:52 japhb joined #perl6
20:02 hoelzro joined #perl6
20:02 * jnthn back from nom...and back to hacking
20:04 icwiener joined #perl6
20:18 explorer joined #perl6
20:19 eiro http://pastebin.com/d317cb15c
20:19 eiro i don't know but i think it's a bug :)
20:20 moritz_ it's know
20:20 eiro ok
20:20 moritz_ but I think you want .kv, not .pairs
20:20 eiro :(
20:21 eiro is there an easy way to know known bugs in order to not disturb ?
20:21 moritz_ .pairs returns a list of pairs, and your block uses two variables up
20:21 eiro moritz_, in kv, values are empty :(
20:21 moritz_ if there's an odd number of pairs, you get that error
20:22 moritz_ rakudo: for %*ENV.pairs -> { say .key, ': ', .value }
20:22 p6eval rakudo 241545: OUTPUT«Method 'key' not found for invocant of class 'Failure'␤»
20:22 jnthn -> is not wanted
20:22 moritz_ ouch
20:22 moritz_ right
20:22 jnthn rakudo: for %*ENV.pairs { say .key, ': ', .value }
20:22 p6eval rakudo 241545: OUTPUT«PERL6LIB: ␤TERM: ␤SHELL: ␤USER: ␤LD_LIBRARY_PATH: ␤LS_COLORS: ␤PATH: ␤MAIL: ␤PWD: ␤EDITOR: ␤LANG: ␤HISTCONTROL: ␤HOME: ␤SHLVL: ␤LOGNAME: ␤LESSOPEN: ␤LESSCLOSE: ␤_: ␤»
20:22 eiro oh? is Pair une object ?
20:23 moritz_ everything is an object.
20:23 jnthn Yes, instance of Pair class
20:23 eiro ok
20:23 jnthn But even so...I'd expect .value to work there.
20:23 moritz_ but it seems that way the values are also empty
20:23 moritz_ another bug
20:23 jnthn say %*ENV.perl;
20:23 jnthn rakudo: say %*ENV.perl;
20:23 p6eval rakudo 241545: OUTPUT«{"PERL6LIB" => "", "TERM" => "", "SHELL" => "", "USER" => "", "LD_LIBRARY_PATH" => "", "LS_COLORS" => "", "PATH" => "", "MAIL" => "", "PWD" => "", "EDITOR" => "", "LANG" => "", "HISTCONTROL" => "", "HOME" => "", "SHLVL" => "", "LOGNAME" => "", "LESSOPEN" => "", "LESSCLOSE" =>
20:23 p6eval .."", "…
20:23 jnthn ...wow.
20:23 jnthn :-|
20:23 moritz_ rakudo: say %*ENV<PWD>
20:23 jnthn rakudo: say %*ENV<PWD>
20:24 p6eval rakudo 241545: OUTPUT«/home/evalenv/rakudo␤»
20:24 p6eval rakudo 241545: OUTPUT«/home/evalenv/rakudo␤»
20:24 moritz_ lol
20:24 jnthn ...scary...
20:24 pmichaud hello again
20:24 M_o_C well, it was the shortest one to type...
20:24 jnthn OK, so if that works... :-/
20:24 jnthn pmichaud: hi! How was the talk?
20:24 pmichaud I think it went okay.
20:24 moritz_ I think I should open a ticket.
20:25 pmichaud what are we needing a ticket for?
20:25 M_o_C Nevermind my last comment, I think I completely missed the point :x
20:25 jnthn pmichaud: %*EVN oddness.
20:25 moritz_ pmichaud: %*ENV even less awesome than though
20:25 moritz_ *thought
20:25 pmichaud well, part of it is that %*ENV isn't set up as a true Perl6Hash
20:25 pmichaud which particular oddness are we after now?  ;-)
20:26 jnthn .pairs and .kv lose the values.
20:26 pmichaud just need to fix .pairs then
20:26 pmichaud (thinking)
20:27 pmichaud rakudo:  say %*ENV.pairs
20:27 p6eval rakudo 241545: OUTPUT«PERL6LIB   TERM    SHELL   USER    LD_LIBRARY_PATH LS_COLORS       PATH    MAIL    PWD     EDITOR  LANG    HISTCONTROL     HOME    SHLVL   LOGNAME LESSOPEN        LESSCLOSE       _       ␤»
20:28 pmichaud oh, I might know the problem.
20:29 pmurias cognominal_: concepts which a pretty radical thing (very similiar to haskell typeclasses) nearly got into C++
20:29 pmurias cognominal_: so it's hardly not evolving
20:30 pmichaud rakudo: say %*ENV.pairs.perl
20:30 p6eval rakudo 241545: OUTPUT«["PERL6LIB" => "", "TERM" => "", "SHELL" => "", "USER" => "", "LD_LIBRARY_PATH" => "", "LS_COLORS" => "", "PATH" => "", "MAIL" => "", "PWD" => "", "EDITOR" => "", "LANG" => "", "HISTCONTROL" => "", "HOME" => "", "SHLVL" => "", "LOGNAME" => "", "LESSOPEN" => "", "LESSCLOSE" =>
20:30 p6eval .."", "…
20:30 pmichaud ...those all look correct to me.
20:31 jnthn pmichaud: But the values (to empty strings)?
20:31 moritz_ correct?
20:31 jnthn pmichaud: Contrast with:
20:31 pmurias HOME shouldn't be
20:31 jnthn rakudo: say %*ENV;
20:31 p6eval rakudo 241545: OUTPUT«PERL6LIB   TERM    SHELL   USER    LD_LIBRARY_PATH LS_COLORS       PATH    MAIL    PWD     EDITOR  LANG    HISTCONTROL     HOME    SHLVL   LOGNAME LESSOPEN        LESSCLOSE       _       ␤»
20:31 pmichaud oh
20:31 moritz_ HOME should be '/home/evalenv/' or so
20:31 jnthn I mean
20:31 jnthn rakudo: say %*ENV<HOME>;
20:31 pmichaud you're right... those are wrong.
20:31 p6eval rakudo 241545: OUTPUT«/home/evalenv␤»
20:31 pmichaud looking.
20:32 pmurias rakudo: say %*ENV.values
20:32 p6eval rakudo 241545: OUTPUT«␤»
20:32 pmichaud I'm guessing it's a problem with Associative
20:32 pmurias rakudo: say %*ENV.keys
20:32 p6eval rakudo 241545: OUTPUT«PERL6LIBTERMSHELLUSERLD_LIBRARY_P​ATHLS_COLORSPATHMAILPWDEDITORLANGHISTCON​TROLHOMESHLVLLOGNAMELESSOPENLESSCLOSE_␤»
20:32 cognominal_ pmurias, indeed I have seen some twits about C++ concepts being rejected.
20:32 toyam joined #perl6
20:33 pmichaud ugh, spotty connectivity here.
20:33 cognominal_ Perl 5 is evolving too but I maintain that both are ossified because they were not designed to evolve and they are constrained by past choices.
20:34 pmurias all the new things in C++ have horribly ugly syntax
20:35 cognominal_ I bet.
20:36 moritz_ all the easy syntax is already taken, I suppose
20:37 pmichaud oh, I think I see the trouble
20:37 pmurias it maybe also a matter of bad taste ;)
20:38 kane___ joined #perl6
20:43 nihiliad1 joined #perl6
20:44 hoelzro joined #perl6
20:47 pmurias perl6: say "{}"
20:47 p6eval elf 27688: OUTPUT«{}␤»
20:47 p6eval ..pugs, rakudo 241545: OUTPUT«␤»
20:48 justatheory joined #perl6
20:49 bionoid joined #perl6
20:51 rfordinal joined #perl6
20:52 pugs_svn r27689 | pmurias++ | [t] fix test description
20:52 pugs_svn r27690 | pmurias++ | [t] use '' so {} doesn't get interpolated
20:58 jnthn Does anyone else see an unexpected win in S02-builtin_data_types\nan.t?
20:58 jnthn (been getting it for a while, but don't know if it's a platform specific one...)
20:59 pmurias unexpected win?
20:59 jnthn oh
20:59 jnthn pass
21:00 jnthn .oO( win is the opposite of fail, no? ;-) )
21:00 moritz_ no, it's all "clean" here
21:01 jnthn ok 7 - truncate(NaN) ~~ NaN# TODO truncate(NaN)
21:01 jnthn nok for you?
21:01 Su-Shee left #perl6
21:02 jiing joined #perl6
21:02 moritz_ rakudo: say tuncate(NaN)
21:02 p6eval rakudo 241545: OUTPUT«Could not find non-existent sub tuncate␤»
21:02 moritz_ rakudo: say truncate(NaN)
21:02 p6eval rakudo 241545: OUTPUT«-2147483648␤»
21:02 moritz_ not OK for me.
21:03 jnthn > say truncate(NaN)
21:03 moritz_ there's a parrot related test that passes on windows but not on linux? wow, I'm duely impressed
21:03 jnthn 0
21:03 lambdabot Not in scope: `say'Not in scope: data constructor `NaN'
21:03 moritz_ rakudo: say NaN
21:03 jnthn Heh, the pass may be bogus.
21:03 p6eval rakudo 241545: OUTPUT«NaN␤»
21:03 jnthn lolz
21:03 jnthn I get here
21:03 jnthn > say NaN
21:03 jnthn Inf
21:04 moritz_ pmurias++ # test fixes
21:13 colomon Hi all.  Just wanted to report Chicago builds and passes basic tests on my MacBook Pro (OS X 10.5.6), but fails make spectest.
21:15 pmichaud how much of make spectest does it fail?
21:15 moritz_ two "Non-zero wait status" are to be expected.
21:15 pmichaud do ti just failhmmm.
21:15 colomon t/spec/S32-io/IO-Socket-INET.t                               (Wstat: 256 Tests: 0 Failed: 0)
21:15 colomon Non-zero exit status: 1
21:15 colomon Parse errors: Bad plan.  You planned 3 tests but ran 0.
21:16 pmichaud that's often a timeout error.
21:16 pmichaud moritz_: I hate to say this... but now that I'm awake I think that in the June release I  *did* comment the expected failures out of the spectest.data for the release (and then put them back in right after the release)
21:17 moritz_ pmichaud: might have been better that way, yes
21:17 pmichaud My bad.
21:17 colomon Is there an easy way to re-run it?
21:18 pmichaud colomon: make t/spec/S32-io/IO-Socket-INET.t
21:19 Whiteknight joined #perl6
21:19 [particle] joined #perl6
21:20 lisppaste3 colomon pasted "make spectest failure" at http://paste.lisp.org/display/84094
21:21 moritz_ ouch
21:21 moritz_ I now see what happened
21:21 solarion joined #perl6
21:21 moritz_ regex sp was removed from the core, so to say
21:22 moritz_ but it onoly gets called on darwin
21:22 moritz_ what did it used to match? a single blank?
21:22 pmichaud ...?
21:22 pmichaud yes, it would match a single space
21:22 moritz_ given $*OS { ... when 'darwin' { $netstat_pat = regex { [ ^^  .+? '.' (\d+) <.sp> .+? ]+ $ }; ...
21:23 pugs_svn r27691 | moritz++ | [t/spec] remove old regexp <sp>, colomon++
21:24 moritz_ colomon: thanks for the report
21:24 colomon No prob, thanks for all your hard work.
21:24 szabgab joined #perl6
21:25 colomon I can svn update that file and test the patch?
21:25 moritz_ that would be great
21:26 colomon "All tests successful."
21:27 kane___ joined #perl6
21:28 moritz_ pmichaud: the last release does contain S12-attributes/class.t in t/spectest.data, as well as S14-roles/basic.t. So either you used a different mechanism of regressing (changed tests?), or it was a different set of files back then, or you mis-remembered
21:29 moritz_ I also can't find any related commit
21:29 pmichaud then I guess I *didn't* remove them.
21:29 moritz_ git checkout 2009-06; git log -p
21:30 pmichaud my brane is a little fried today :-|
21:30 moritz_ (I don't try to be picky, I'm just curious, and want to do it right next time)
21:30 PerlJam pmichaud: stop dipping it in hot oil!
21:30 PerlJam pmichaud: long day?
21:30 pmichaud day*s*
21:30 pmichaud moritz_: you did right.
21:31 moritz_ speaking of long days, I should probably end mine right now.
21:31 PerlJam moritz++ again for Chicago
21:33 jnthn pmichaud: In PARROT_REVISION
21:33 jnthn Do I remove the 1.4.0?
21:33 jnthn If I'm bumping it?
21:33 moritz_ yes.
21:33 jnthn Danke.
21:33 pmichaud_ joined #perl6
21:34 pmichaud_ I think I'll change the release guide to indicate that unresolvable failing spectests should be commented out of spectest.data before release and then immediately commented back in
21:34 pmichaud_ but that'll be a future change
21:39 hoelzro joined #perl6
21:39 jnthn oh f**k
21:40 jnthn Rakudo doesn't even build against latest Parrot.
21:40 pmichaud yes, lots of Parrot deprecations landed on tuesday.
21:40 pmichaud We have to apply some patches to catch up.
21:40 jnthn gah. :-/
21:40 jnthn Were the patches supplied?
21:41 jnthn Or we gotta write them?
21:41 pmichaud there are a few available here and there
21:41 pmichaud but I don't know that they're complete
21:41 jnthn ugh
21:41 pmichaud one of the biggest changes is the .pmc files, though
21:41 jnthn Well, it's quarter to midnight and I can't be arsed. So much for landing this metaclass refactor tonight. :-(
21:42 maja_ joined #perl6
21:42 pmichaud I think cotto provided a patch for that
21:42 toyam joined #perl6
21:42 jnthn OK. I'll probably sort it out tomorrow, if nobody beats me to it.
21:45 * jnthn doesn't see the patches in RT anyway
21:45 jnthn Do you know where they were posted?
21:56 NewOrder joined #perl6
22:01 justatheory joined #perl6
22:02 decasm left #perl6
22:06 rfordinal3643 joined #perl6
22:08 rfordinal joined #perl6
22:09 hoelzro joined #perl6
22:09 rfordinal3643 joined #perl6
22:13 alester joined #perl6
22:15 hoelzro joined #perl6
22:17 meppl joined #perl6
22:31 rfordinal joined #perl6
22:32 cls_bsd joined #perl6
22:39 toyam joined #perl6
22:50 ihrd joined #perl6
22:51 explorer joined #perl6
22:52 * jnthn gets some rest, will try and fix up Rakudo build under latest Parrot tomorrow.
23:00 justatheory joined #perl6
23:12 nihiliad joined #perl6
23:16 frew_ joined #perl6
23:20 pyrimidine joined #perl6
23:23 kane___ joined #perl6
23:24 Limbic_Region joined #perl6
23:24 hoelzro joined #perl6
23:38 frew_ joined #perl6
23:42 kane___ joined #perl6
23:47 hoelzro joined #perl6
23:56 alester joined #perl6
23:58 unitxt left #perl6

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

Perl 6 | Reference Documentation | Rakudo