Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-12-13

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 takadonet sorear: we don't really have that functionality in p6?
00:04 diakopter takadonet: it's implementation dependent..
00:05 diakopter of the implementation(s) with stable/robust GCs... I don't think there's that functionality.
00:05 takadonet diakopter: nuts ok well i will ignore it for now. I been porting over https://github.com/Takadonet/Tree--Simple/tree/ and it implements and has testing  for  weak references
00:05 diakopter I guess you're using rakudo
00:06 takadonet yes
00:09 plobsing even fully GCed languages have weak references (eg: java). they're just not necessary in as many uses.
00:12 diakopter takadonet: last I heard, there were still random segfaults in the rakudo testsuite due to (it was speculated) GC non-robustness.  At the last Parrot Developer Summit I asked about it, but no one answered.
00:12 takadonet diakopter: ok
00:12 diakopter (anyone reading this [backlog], please feel free to correct!)
00:12 takadonet heh
00:13 takadonet diakopter: so... are you trying to communicate with the future?
00:13 diakopter always
00:13 diakopter .oO( like all communication? )
00:13 plobsing diakopter: if you are referring to the "random" segfaults that occur sometimes, that is highly unlikely to be due to the GC, which is more-or-less deterministic.
00:14 diakopter I thought something was either deterministic or not
00:14 plobsing it is only as non-deterministic as what you throw at it.
00:15 plobsing hashes get walked randomly because hashes are random
00:15 diakopter (but assuming it is deterministic, what are the likelier culprits?)
00:16 plobsing there are 2 sources of random in parrot (that I know of): the PRNG and hash seeding
00:16 plobsing my money would be on the later being the source of the randomness
00:16 diakopter plobsing: are you saying there is no possibility the segfaults are caused by a bug?
00:16 plobsing segfaults are a bug
00:17 diakopter I should have been more specific.
00:17 diakopter plobsing: are you saying there is no possibility the segfaults are caused by a bug in parrot's source code?
00:18 sorear no, plobsing is saying that the segfaults are in parrot/src/hash/*
00:18 sorear not parrot/src/gc/*
00:18 plobsing I never said that. What I'm saying is the fact that the segfaults are "random" suggests a random source is at least partly to blame. The GC is not a source of random.
00:19 sorear The GC is, however, a source of walking over lots of memory and dereferencing lots of pointers
00:19 sorear If *anything* in Parrot corrupts memory, the GC will probably segfault
00:19 plobsing and if some of those pointers are invalid due to other code... kaboom
00:20 plobsing most "GC bugs" are bugs in other code that causes GC to choke
00:20 diakopter I would've thought memory locations (for allocation) were selected by a randomness source.. leading me to blame more heavily the GC.
00:21 plobsing memory locations for allocation are sometimes randomized by the *OS*. this can be usually be disabled.
00:21 diakopter right, I wasn't blaming the source of randomness
00:22 plobsing and, IIUC, some of the reports of random segfault reported dissabling this to not solve the problem
00:27 horror21 left #perl6
00:27 horror21 joined #perl6
00:33 risou left #perl6
00:34 plobsing diakopter: if you are still running into these issues (moritz closed the ticket 2 weeks ago), I recommend you follow up by creating a test case that consistently fails (all sources of randomness in parrot *can* be controlled) and then file a ticket.
00:35 plobsing tickets with "random" failures tend to get closed with messages like "this seems to be working now, it must have been fixed"
00:35 [particle]1 joined #perl6
00:37 diakopter no, I wasn't aware moritz_ closed the ticket
00:37 [particle] left #perl6
00:38 takadonet how can you tell if a scalar is a reference and not the object itself?
00:38 plobsing I'm not entirely convinced the bug is gone. I've seen this dance 1 too many times now.
00:40 takadonet http://www.reddit.com/r/programming/comments/ekppg/perl_6_advent_calendar_day_13_the_perl6_community/
00:40 sorear takadonet: in perl 5 or perl 6?
00:41 takadonet sorear: perl 6 :)
00:41 sorear takadonet: that's easy.  all scalars are references in Perl 6.
00:41 takadonet i know hehe
00:42 takadonet somewhat realized that the piece of code that i'm porting is more complex then it needs to be since 'everything' is an object
00:42 takadonet makes things easier when you can do ' $scalar_or_obj.can('clone') '
00:46 jhuni_ left #perl6
00:58 jhuni_ joined #perl6
01:03 lopaway is now known as lopnor
01:16 am0c^ joined #perl6
01:17 lopnor is now known as lopaway
01:17 lopaway is now known as lopnor
01:23 lopnor is now known as lopaway
01:26 orafu left #perl6
01:28 orafu joined #perl6
01:38 lichtkind left #perl6
01:41 sftp left #perl6
01:41 lopaway is now known as lopnor
01:44 redicaps joined #perl6
01:55 lopnor is now known as lopaway
01:57 mikehh joined #perl6
02:00 jaldhar joined #perl6
02:00 jaldhar left #perl6
02:02 ispeak_ joined #perl6
02:04 whiteknight joined #perl6
02:05 Chillance left #perl6
02:06 jaldhar joined #perl6
02:06 jaldhar left #perl6
02:10 jaldhar joined #perl6
02:10 jaldhar left #perl6
02:12 mikehh left #perl6
02:13 orafu left #perl6
02:13 orafu joined #perl6
02:13 kanishka left #perl6
02:13 ispeak_ left #perl6
02:19 lopaway is now known as lopnor
02:20 xinming_ is now known as xinming
02:22 thelazydeveloper left #perl6
02:28 kanishka joined #perl6
02:40 Raynes left #perl6
02:40 ashleydev left #perl6
02:41 sunnavy left #perl6
02:45 takadonet left #perl6
02:53 ch3ck3r joined #perl6
02:53 molaf_ left #perl6
02:53 frooh left #perl6
02:56 ch3ck left #perl6
02:56 kanishka left #perl6
02:57 adu joined #perl6
03:02 Raynes joined #perl6
03:03 ashleydev joined #perl6
03:04 sunnavy joined #perl6
03:04 frooh joined #perl6
03:05 molaf_ joined #perl6
03:05 felliott left #perl6
03:06 horror21 left #perl6
03:07 horror21 joined #perl6
03:11 whiteknight left #perl6
03:11 ch3ck3r left #perl6
03:11 Raynes left #perl6
03:12 ashleydev left #perl6
03:12 sunnavy left #perl6
03:19 Raynes joined #perl6
03:19 sunnavy joined #perl6
03:19 ashleydev joined #perl6
03:26 rbxbx left #perl6
03:26 rbxbx joined #perl6
03:35 baest left #perl6
03:39 baest joined #perl6
03:43 adu left #perl6
03:45 am0c left #perl6
03:51 orafu left #perl6
03:52 orafu joined #perl6
03:52 rbxbx left #perl6
04:07 uasi joined #perl6
04:11 Guest19368 left #perl6
04:22 charsbr_ joined #perl6
04:25 orafu left #perl6
04:26 orafu joined #perl6
04:29 [Coke] joined #perl6
04:35 am0c^ left #perl6
04:44 Trashlord joined #perl6
04:47 envi joined #perl6
05:00 lopnor is now known as lopaway
05:01 jaldhar joined #perl6
05:04 felliott joined #perl6
05:11 Trashlord left #perl6
05:13 felliott left #perl6
05:18 orafu left #perl6
05:18 orafu joined #perl6
05:24 simcop2387 left #perl6
05:32 simcop2387 joined #perl6
05:45 orafu left #perl6
05:47 orafu joined #perl6
05:51 am0c joined #perl6
05:52 dju left #perl6
05:54 orafu left #perl6
05:54 IllvilJa left #perl6
05:56 rgrau left #perl6
06:03 lopaway is now known as lopnor
06:03 satyavvd joined #perl6
06:07 dju joined #perl6
06:11 dju left #perl6
06:11 dju joined #perl6
06:11 kaare joined #perl6
06:12 kaare is now known as Guest19536
06:12 orafu joined #perl6
06:15 am0c left #perl6
06:21 simcop2387 left #perl6
06:35 araujo left #perl6
06:46 justatheory left #perl6
06:55 sorear good * #perl6
06:56 am0c joined #perl6
07:04 wtw joined #perl6
07:11 satyavvd left #perl6
07:13 Alias_ left #perl6
07:16 MadMare joined #perl6
07:17 ponbiki joined #perl6
07:22 moritz_ good morning
07:22 MadMare left #perl6
07:23 Bonham joined #perl6
07:27 sorear good morning moritz_
07:28 sorear I wonder why there are no comments on any advent2010 for the last few days
07:28 * moritz_ didn't disable comments
07:33 Trashlord joined #perl6
07:42 Bonham is now known as OxCart
07:45 Trashlord left #perl6
07:54 jhuni_ left #perl6
08:02 yfliu joined #perl6
08:04 yfliu left #perl6
08:29 Alias_ joined #perl6
08:34 tzhs joined #perl6
08:51 daxim joined #perl6
09:14 uasi_ joined #perl6
09:16 araujo joined #perl6
09:16 araujo left #perl6
09:16 araujo joined #perl6
09:16 uasi_ left #perl6
09:25 yfliu joined #perl6
09:25 yfliu help: Could not load oplib `perl6_ops'
09:27 moritz_ yfliu: did you install rakudo?
09:27 * moritz_ 's magic crystal ball shows that somebody hasn't read the README
09:29 yfliu I have installed 'setup-parrot-2.10.0-rakudo-35.exe' and 'setup-parrot-2.10.0.exe' on my win32 system
09:30 dakkar joined #perl6
09:31 moritz_ yfliu: then please send a bug report to whoever made those packages available
09:33 yfliu left #perl6
09:49 uasi left #perl6
10:00 cosimo left #perl6
10:11 thelazydeveloper joined #perl6
10:13 tzhs left #perl6
10:13 f00li5h left #perl6
10:17 Trashlord joined #perl6
10:18 tzhs joined #perl6
10:26 am0c left #perl6
10:34 Weathz joined #perl6
10:48 satyavvd joined #perl6
10:49 * sorear out
11:11 masak joined #perl6
11:11 masak oh hai, #perl6!
11:12 moritz_ lolitsmasak!
11:12 moritz_ how are things?
11:12 masak splendid, thanks.
11:13 moritz_ the sun is shining, and yesterday night I had excellent Norwegian food
11:13 masak what kind of Norwegian food?
11:14 moritz_ all kinds, actually
11:14 masak julbord?
11:14 mathw tonfisk?
11:14 moritz_ it was a big buffet dinner in a Norwegian/Bavarian restaurant
11:14 moritz_ julbord
11:14 masak nice.
11:14 mathw no wait that's not what I meant
11:15 masak seven people have now signed up for the contest! \o/
11:15 mathw lutfisk, that's what I meant
11:15 moritz_ \o/
11:15 mathw but I know it's not that because you said it was excellent
11:15 masak mmm, lutfisk.
11:15 * moritz_ has 4 problems solved, he believes
11:15 masak mathw: hey, when prepared right... it can be a real treat.
11:15 mathw masak: interesting, you're the first person I've met who's had it who doesn't feel sick at the very mention of it
11:16 masak mathw: also, best use of white pepper in existence.
11:16 masak mathw: I'm Swedish.
11:16 mathw I know
11:16 mathw this includes Swedish and Norwegian people
11:16 mathw my friend's husband is Norwegian and can't stand the stuff
11:16 masak I wasn't too hot on lutfisk as a child, but I acquired the taste for it.
11:17 moritz_ masak: do you like gammelost?
11:17 BooK_ left #perl6
11:17 mathw I guess it's highly polarising
11:17 mathw like Marmite
11:18 masak mmm, Marmite :P
11:18 masak the trick is to layer it really thin.
11:18 masak like, atom-width thin :)
11:19 * moritz_ likes gammelost zero-width thin :-)
11:19 mathw oh yes it's very potent
11:19 mathw I used to get upset at breakfast if someone left the lid off the Marmite jar, because it was so smelly
11:19 mathw these days I find I don't mind the smell at all
11:19 mathw but I still don't choose to eat it, and I am thus outside the marketing idea of love it or hate it
11:20 mathw I have become... indifferent to it
11:21 f00li5h joined #perl6
11:21 flussence I tried eating a burger with marmite on it once, just out of curiosity. Never again.
11:21 masak mathw: "indifference! that's even worse than hate!" -- famous quote from a friend of mine :)
11:22 * moritz_ disagrees, but doesn't really care
11:22 moritz_ *SCNR*
11:22 mathw depends what it is, I guess
11:23 mathw flussence: interesting way to boost the umami content, but I prefer adding worcestershire sauce myself
11:23 mathw and I suppose I shouldn't say anything about lutfisk given that I know what worcestershire sauce is made from
11:24 huf that was an attempt by the english at trolling the world. it was mostly successful (i'm talking about the pronunciation)
11:25 lopnor is now known as lopaway
11:26 masak lue's post attracts comments! http://www.reddit.com/r/programming/comments/ekppg/perl_6_advent_calendar_day_13_the_perl6_community/
11:26 masak unfortunately, they're a troll comment and its replies.
11:27 huf why are people so angry that it's taking a while from inception to widespread adoption?
11:27 huf it's as if they'd paid money and were promised a deadline
11:27 masak that's just cargo-culted bullying. no more, no less.
11:27 huf ah, got it
11:28 mathw and just people who don't like Perl
11:28 moritz_ huf: you mean like diaspora?
11:28 moritz_ oh wait... :-)
11:28 mathw they probably don't even have reasons for it, they just don't like it because it's not $favourite-other-language
11:30 huf but... but... it's my favorite language! there are many like it, but this one is MINE!
11:30 mathw yes, like that
11:31 masak I think I understand the psychology of learning and getting under the skin of a language by now. it's very hard to reason objectively about other languages after doing that.
11:31 mathw yes
11:31 masak let's say I learn Python and become really good at it. after a while solutions start coming to my brain already half-written in Python.
11:32 masak and that begins to feel like Python is the language that brains in general actually use when coding.
11:33 mathw yes
11:33 mathw except they don't
11:33 mathw it's just that you've trained yourself to think in Python
11:33 masak right.
11:33 mathw whereas I, on the other hand, still spend about a quarter of my time thinking in Haskell
11:33 mathw which is a language I barely write these days
11:33 mathw and about half my time thinking in Perl
11:33 mathw and the other quarter thinking in fairy-land C++
11:33 mathw which is a variant my compiler doesn't support
11:33 masak but it's easy to start confusing things that "look natural" to someone who is familiar with the language, and things that look natural to a relative outsider.
11:34 mathw this was the thing about the 8pen input method for Android when it came out
11:34 mathw people said 'oh no it's too weird'
11:34 mathw but they're all talking from people who know about QWERTY
11:35 mathw the point of the entire project was to re-examine how to do touchscreen text input
11:35 mathw and the general reaction is "no it's not like other keyboards, not interested"
11:35 mathw people like familiar
11:36 am0c joined #perl6
11:39 masak yes, that's it.
11:40 mathw the problem is when that turns from 'I like this familiar thing' to 'all things which aren't familiar are WRONG and BAD and NOBODY SHOULD USE THEM'
11:41 masak aye.
11:42 redicaps left #perl6
11:43 satyavvd left #perl6
11:44 uasi joined #perl6
11:44 uasi hi, #perl6
11:44 mathw hi
11:44 masak hi uasi
11:46 uasi I wrote a patch to fix RT ##77668 https://github.com/uasi/rakudo/commit/302230a244aa53d1ec9fbdd8909e0bdefc195f11
11:46 masak here's someone who went through the 8pen tutorial, then went on to write a 6-word message, realized he was not proficient, and uninstalled the product: http://dauntingideas.com/content/8pen-keyboard-replacement-thoughts-after-hour-use
11:46 uasi could someone review this?
11:46 masak uasi++
11:47 masak uasi: it looks good to me, but I would pass this over to pmichaud for review before comitting it.
11:47 masak uasi: have you run a spectest on it?
11:47 thelazydeveloper left #perl6
11:48 mathw masak: yeah it takes a bit longer than that to get proficient. It's been my primary IM for a while now, but I still have lapses where I can't seem to write anything properly with it.
11:48 uasi masak: yes. passed that
11:48 mathw which means it's never going to catch on, people won't invest the time
11:49 TiMBuS is there a way to get my module listed on modules.perl6.org?
11:49 masak phenny: tell pmichaud I think https://github.com/uasi/rakudo/commit/302230a244aa53d1ec9fbdd8909e0bdefc195f11 looks good (and it passes spectests), but I'd like you to review it before I commit it.
11:49 phenny masak: I'll pass that on when pmichaud is around.
11:49 masak TiMBuS: yes, get a commit bit to http://github.com/perl6/ecosystem and add it to projects.list
11:52 TiMBuS who can give me a commit bit?
11:53 masak I can't, it seems.
11:54 TiMBuS darn
11:54 TiMBuS can you add the line for me?
11:55 TiMBuS https://github.com/TiMBuS/Net--IRC
11:55 masak you bet.
11:55 * masak adds it
11:56 TiMBuS woot
11:56 masak what would you like the project name to be?
11:56 TiMBuS Net::IRC seems fine
11:56 masak we have absolutely no naming conventions, but I'd recomment 'net-irc' over that.
11:56 TiMBuS or Net-IRC i- yeah that
11:56 masak or 'Net-IRC'.
11:57 dalek ecosystem: 69dd73f | masak++ | projects.list:
11:57 dalek ecosystem: [projects.list] added TiMBuS++' Net-IRC
11:57 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/69dd73fdb3
11:57 masak added. TiMBuS++
11:57 TiMBuS I was just going by how perl5 does it
11:57 TiMBuS thanks masak :]
11:58 masak hopefully we'll be using CPAN too one day.
11:59 masak lunch &
12:01 TiMBuS i guess i should prove my code works
12:01 Unicron joined #perl6
12:01 Unicron left #perl6
12:01 TiMBuS guess not!
12:01 TiMBuS freenode is different
12:07 IllvilJa joined #perl6
12:12 TiMBuS rakudo: say 'huh what'.comb(/<-space - [\+\%\@\&\~]>+/)
12:12 p6eval rakudo : OUTPUT«huhwhat»
12:12 TiMBuS why does that crash locally? maybe an outdated rakudo
12:23 bluescreen joined #perl6
12:23 ggoebel left #perl6
12:23 bluescreen is now known as Guest38046
12:24 glow_ is now known as glow
12:28 ggoebel joined #perl6
12:35 * moritz_ tries uasi's patch
12:38 TiMBuS im not sure why, but locally this seems to be an issue:
12:38 TiMBuS > 'fff'.comb(/<-space - [\+\%\@\&\~]>+/)
12:38 TiMBuS ===SORRY!===
12:38 TiMBuS Cannot take substr outside string
12:39 moritz_ TiMBuS: that sounds like a very old rakudo
12:39 TiMBuS it shouldnt be too old..
12:41 TiMBuS hmm i think my build is broken somewhere
12:44 felliott joined #perl6
12:50 lopaway is now known as lopnor
13:00 TiMBuS ok it -seems- like an old rakudo because --version is old, but no its definitely the latest build
13:01 moritz_ when --version is old, something's terribly wrong
13:01 moritz_ try to wipe out the install location
13:01 moritz_ like  rm -rf parrot_install/
13:01 TiMBuS parrot_install? nuked it
13:01 TiMBuS yep
13:01 moritz_ and then recompile
13:02 TiMBuS i did that, along with a make realclean
13:02 TiMBuS git br shows only 'master' which im on, and git pull says its up to date
13:03 colomon "which perl6"  ?
13:04 colomon (falls in the category of obvious suggestions, I fear....)
13:04 moritz_ yes, 'make sure you actually run the newly compiled rakudo, not another binary'
13:06 TiMBuS i made a symlink in /usr/bin/perl6 to the parrot_install folder
13:06 TiMBuS the very one i deleted :[
13:07 moritz_ huh
13:07 moritz_ I get the same error as you did
13:07 mtk joined #perl6
13:07 moritz_ rakudo: 'fff.comb(/<-space - [\+\%\@\&\~]>+/)
13:07 p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "'fff.comb("␤»
13:07 moritz_ rakudo: 'fff'.comb(/<-space - [\+\%\@\&\~]>+/)
13:07 p6eval rakudo :  ( no output )
13:07 TiMBuS errnosay
13:08 moritz_ >  'fff'.comb(/<-space - [\+\%\@\&\~]>+/)
13:08 moritz_ ===SORRY!===
13:08 moritz_ Cannot take substr outside string
13:08 moritz_ that's what I get locally
13:08 TiMBuS yeah its strange
13:08 TiMBuS i also dont get that error sometimes, locally
13:08 moritz_ maybe the rakudo on the p6eval server is outdated too
13:09 moritz_ dammit
13:09 moritz_ the rebuild script doesn't like the git revisions of parrot yet :(
13:10 * moritz_ is at $work and can't fix it atm
13:11 cosimo joined #perl6
13:12 TiMBuS ok i reduced it to .comb( <-space - [\+]> )
13:13 TiMBuS 'string' ~~ /<-space - [\+]>/ works however
13:13 TiMBuS er, i mean .comb(/<-space - [\+]>/)
13:13 TiMBuS .split is the same
13:14 moritz_ TiMBuS: care to submit a bug report?
13:15 cjk101010 joined #perl6
13:17 TiMBuS moritz_, i guess i can, but ill have to do it tomorrow. its way late
13:18 MayDaniel joined #perl6
13:18 flussence moritz_: does p6eval's rakudo use --gen-parrot? I've got an already-working script in that case...
13:19 moritz_ flussence: it's a bit more complicated. It works with two separate install locations, so that one can be used while the other is being rebuilt
13:19 flussence oh, hm
13:20 colomon I can verify the "Cannot take substr outside string" thing locally as well, and mine is definitely the latest Rakudo (.ords works)
13:21 flussence +1 to that here (2010.11-16-gd1e6636)
13:31 masak TiMBuS++
13:31 masak I had that error half a year ago when updating GGE to ng.
13:32 moritz_ it was fixed for \w
13:32 masak I had to rewrite a lot of .subst things into loops with string concatenation.
13:32 masak I remember getting a lot of retroactive appreciation for .subst
13:34 lola_89 joined #perl6
13:34 lola_89 hi
13:35 masak lola_89: hi!
13:35 MayDaniel left #perl6
13:36 lola_89 masak: is there a place where I can find comparison between perl6 features and Python3 or ruby? I used this when decided between ruby and Python few years ago ^_^
13:36 masak lola_89: we don't have a page ready for that, but it's a really neat idea.
13:37 masak however, I could show you around, if you want a tour.
13:37 masak rakudo: say "hi, I'm the evalbot!"
13:37 lola_89 masak: yes please!
13:37 p6eval rakudo : OUTPUT«hi, I'm the evalbot!␤»
13:37 flussence rosettacode?
13:37 masak flussence: ooh, good idea.
13:38 masak lola_89: why don't you start here? http://rosettacode.org/wiki/Category:Perl_6
13:38 masak there you will have comparisons across several languages and several problem domains.
13:38 masak and if you have questions, don't hesitate to ask.
13:40 lola_89 masak: thank you! I will try also adding a wiki of comparison between python3 and perl6 later.. I will try not to be biased to my python :D
13:40 wamba joined #perl6
13:41 masak such a wiki page could conceivably belong here: http://www.perlfoundation.org/perl6/index.cgi
13:43 lola_89 splendid! ^_^
13:46 masak rakudo: my $age = 21; my $username = "lola_" ~ (DateTime.new(now).year - $age) % 100; say "good luck, $username!"
13:47 p6eval rakudo : OUTPUT«good luck, lola_89!␤»
13:47 masak :)
13:48 lola_89 masak: 21 and half, actaully :D
13:49 lola_89 left #perl6
13:50 masak rakudo: my $age = 21.5; my $username = "lola_" ~ (DateTime.new(now).year - $age) % 100; say "good luck, $username!"
13:50 p6eval rakudo : OUTPUT«good luck, lola_88.5!␤»
13:50 flussence heh :)
13:50 moritz_ if you're at least twenty, fractional years account for less than 5% of the total age, and can happily be neglected
13:51 masak rakudo: my $age = 21.5.Int; my $username = "lola_" ~ (DateTime.new(now).year - $age) % 100; say "good luck, $username!"
13:51 p6eval rakudo : OUTPUT«good luck, lola_89!␤»
13:51 masak moritz_++
13:58 felliott left #perl6
13:59 fhelmberger left #perl6
13:59 kjeldahl_ joined #perl6
14:00 fhelmberger joined #perl6
14:00 moritz_ rakudo: "fff".comb(/<-space - [\+\%\@\&\~]>+/).[1]
14:00 p6eval rakudo : OUTPUT«Cannot take substr outside string␤  in <anon> at line 22:/tmp/IOBRPFFQI4␤  in 'Cool::match' at line 2509:CORE.setting␤  in <anon> at line 2239:CORE.setting␤  in 'List::at_pos' at line 1␤  in 'Any::postcircumfix:<[ ]>' at line 1742:CORE.setting␤  in main program body at line 1␤»
14:01 moritz_ since .comb returns a lazy list, you have to consume it to actually trigger the error
14:01 uniejo joined #perl6
14:02 colomon moritz_++
14:06 lola_89 joined #perl6
14:06 lola_89 hi, were can I find latest version of perl6 book?
14:07 uniejo left #perl6
14:08 takadonet joined #perl6
14:08 takadonet morning all
14:11 masak lola_89: https://github.com/perl6/book/downloads
14:12 lola_89 masak: thanks!
14:13 lopnor is now known as lopaway
14:13 jfried joined #perl6
14:16 lola_89 left #perl6
14:19 moritz_ masak: do you have some stats as to how many people read your contest?
14:19 masak yes. just a moment.
14:21 kensanata joined #perl6
14:21 masak my domain had 3k hits on Friday. that's an all-time high.
14:23 masak http://strangelyconsistent.org/blog/masaks-perl-6-coding-contest has had 1.5k hits in total. the feed.atom has had 1.6k hits in total. I don't know if those numbers go back to the beginning of the site, or just beginning of December.
14:26 flussence Huh... I thought Unicode would have a superscript Pi symbol, but it only has i.
14:27 moritz_ Unicode: it's not TeX
14:27 masak reddit (564), perlfoundation (150), planetsix (59), perlgeek (52), twitter (49) are the top referers.
14:27 am0c left #perl6
14:27 flussence (I'm trying to write a module to let people write numbers using Stupid Unicode Tricks, looks like I'll have to add up-arrow notation eventually)
14:27 masak this is why we care about reddit :)
14:28 daxim ピ
14:28 flussence .u ピ
14:28 phenny U+30D4 KATAKANA LETTER PI (ピ)
14:29 takadonet i linked your contest on reddit!
14:29 flussence :) nice try
14:29 moritz_ Unicode obfu!
14:29 masak takadonet++
14:29 daxim ㌮ ㌯ ㌰ these have superscript pi each
14:29 masak daxim: looks like someone waving. I was about to reply with 'Ч' :)
14:30 daxim cactus
14:30 moritz_ .u Ч
14:30 phenny U+0427 CYRILLIC CAPITAL LETTER CHE (Ч)
14:30 moritz_ looks like a turned h-bar
14:31 masak someone on Twitter has opinions about the Web and mod_perl and Perl 6, and makes an appeal of some kind to Larry Wall: http://twitter.com/sylx/status/14323215945957377
14:31 Guest19536 left #perl6
14:31 masak Google Translate didn't help me much with that one.
14:33 daxim I always confuse 七 匕 when writing
14:33 moritz_ we still need 7 volunteers for the advent calendar
14:34 moritz_ anybody wants to contribute something?
14:35 dalek mu: 5843a4c | moritz++ | misc/perl6advent-2010/ (2 files):
14:35 dalek mu: [advent] retro-update schedule
14:35 dalek mu: review: https://github.com/perl6/mu/commit/5843a4ca56
14:36 simcop2387 joined #perl6
14:37 flussence .oO( I'd volunteer, but I'm absolutely hopeless at sticking to deadlines... )
14:38 mux joined #perl6
14:39 masak flussence: if you know by how much you usually overshoot, you could pretend that the deadline is that much earlier than it actually is :P
14:39 flussence I could get an article done by christmas, but I won't say which christmas :)
14:40 masak sheesh, that old trick.
14:48 Axius joined #perl6
14:50 shortcir1uit is now known as shortcircuit
14:51 masak rakudo: BEGIN { push @*INC, 'lib' }
14:51 p6eval rakudo : OUTPUT«===SORRY!===␤Could not find sub &push␤»
14:51 masak damn annoying bug, that one.
14:51 moritz_ are BEGIN-time closures supposed to see outer lexicals?
14:52 masak I don't know. I hope so.
14:52 masak is there anything else I could use that executes before a subsequent 'use'?
14:52 moritz_ there's this heavy "when are closures not really closures" paragraph in S04 that I've never really grokked
14:52 moritz_ or was it S06?
14:53 masak S04.
14:53 masak it's right at the bottom.
14:53 moritz_ so you know what I mean :-)
14:53 masak oh yes.
14:53 masak I didn't get it at all before Yapsi. now I understand it slightly.
14:53 masak at least the need for it, if not all of the proposed solutions.
14:54 shortcircuit masak: I can't give anything illumantive on P6 specifically, but I could do a written form of my standard explain-Rosetta-Code-in-front-of-a-language-user-group presentation.
14:55 shortcircuit Throw that in the last-resort pile, I suppose. :)
14:55 masak shortcircuit: that would be very nice. please put it up as a gist or something.
14:55 shortcircuit gist?
14:55 masak gist.github.com
14:55 moritz_ github's nopaste service :-)
14:55 masak or whatever pastebin or blog you prefer.
14:55 shortcircuit Ah. :)
14:56 shortcircuit For RC, I've lately been using text posts to rosettacode.reddit.com as a blog. :)
14:56 moritz_ that and a line like "there are a lot of nice perl 6 solutions on rosettacode" + link to perl 6 category would make a nice advent post
14:56 masak I must admit I'm very inspired by examples/library/ncurses_life.pir in the Parrot repo. I'd like a proof-of-concept use of ncurses in Rakudo, and then a module with an ncurses API in the ecosystem. (hint, hint)
14:57 shortcircuit moritz_: That's a core component of my presentation to a language-UG; show all the links I have that are language-specific, as tuned to that language. :)
14:57 kensanata left #perl6
14:58 moritz_ shortcircuit: write it, we'll publish it for you :-)
14:58 shortcircuit Heh. :)
14:58 shortcircuit Not going to be until this evening, at the earlier, though. At work right now.
14:59 moritz_ that's ok
14:59 moritz_ we have a volunteer for tomorrow too, iirc
15:00 glow left #perl6
15:02 icwiener joined #perl6
15:04 uasi masak: that guy on Twitter says "But this language (PHP) have ruled the Web world. This tragedy could have been avoided if Larry had made Perl 6 practically. mod_perl? Absurd."
15:06 masak uasi: thanks.
15:07 shortcircuit I thought it was P5 that was built with practice, and P6 that was built with experience. ;)
15:07 alester joined #perl6
15:09 masak that's a funny, and not altogether frivolous, way to put it. :)
15:11 allbery_b there's also the little matter that perl isn't web specific. (how many people do you know who use the php cli?)
15:12 masak I actually know a few people who use the PHP CLI.
15:12 allbery_b (and are any of them insane enough to try to use it for sysadmin/devops tasks?)
15:12 masak I wouldn't though. I've seen too much of the rot that makes up the foundation of PHP.
15:12 shortcircuit I know someone who wrote a CD burner using the PHP CLI.
15:13 shortcircuit I haven't seen the code, so I don't know how much it delegates to what library, though.
15:14 flussence probably system() calls
15:22 masak rakudo: class A { has $!inner is rw; method outer { $!inner } }; my $a = A.new(:inner(1)); $a.outer = 2; say $a.outer
15:22 p6eval rakudo : OUTPUT«2␤»
15:23 ch3ck joined #perl6
15:23 moritz_ bug
15:23 masak yeah.
15:23 moritz_ (but known, afaict)
15:23 masak would be OK if the method were rw too.
15:23 moritz_ right
15:24 moritz_ and there's no reason to stick an 'rw' on a private attribute
15:24 masak rakudo: class A { has $!inner is rw; method outer is rw { $!inner } }; my $a = A.new(:inner(1)); $a.outer = 2; say $a.outer
15:24 p6eval rakudo : OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $child, Role $r)␤:(Routine $r, Any :default($default)!)␤:(Code $block, Any $arg?, Any :export($export)!)␤:(Mu $child, Mu $parent)␤:(Mu $type where ({ ... }), Any :rw($rw)…
15:24 moritz_ it's the old "doesn't decontainerize" issue
15:24 masak *nod*
15:25 masak I find it slightly inconsistent that you can initialize a non-rw private attribute, but you can't initialize a non-rw lexical variable.
15:25 moritz_ well, you can't anymore, according to spec
15:26 masak oh, good.
15:26 masak problem solved, then.
15:26 moritz_ afaict TimToady++ changed it to only work for attributes with accessors
15:27 takadonet what about doing an alias to a method?
15:27 moritz_ (I might be wrong though)
15:28 masak takadonet: could you be a bit more specific?
15:28 moritz_ Author: TimToady <larry@wall.org>
15:28 moritz_ Date:   Fri Nov 5 21:15:11 2010 -0700
15:28 moritz_ [S12] default BUILD should not init private attrs
15:31 sftp joined #perl6
15:34 takadonet masak: sorry little busy here.... at work .... https://github.com/Takadonet/Tree--Simple/blob/master/lib/Tree/Simple.pm#L192
15:34 masak moritz_: so... with the new spec, private readonly attributes are exactly as useless as readonly lexical variables? :)
15:34 takadonet masak: That how p5 creates an alias
15:35 masak takadonet: um. you linked me to a line with just a closing brace on it...
15:35 moritz_ masak: they can be initialized, just not by the default BUILD method
15:35 takadonet ...
15:36 takadonet stupid git
15:36 takadonet https://github.com/Takadonet/Tree--Simple/blob/master/lib/Tree/Simple.pm#L195
15:36 takadonet should be: *insertChildren = \&_insertChildAt;
15:36 masak yes. now I see.
15:36 masak takadonet: just delegate?
15:36 masak it's a bit longer, but it amounts to the same thing.
15:37 toebu joined #perl6
15:37 takadonet masak: documentation or example?
15:37 masak rakudo: class A { method foo { say "foo!" }; method bar { self.foo } }; A.new.bar
15:37 p6eval rakudo : OUTPUT«foo!␤»
15:38 takadonet that what I thought... Thinking there was an easier way to do it ... all well
15:38 Patterner left #perl6
15:38 masak well, I guess you could do binding if they're 'our'-scoped methods.
15:39 masak but I wouldn't recommend it, for some unspecified reason.
15:39 masak maybe because it feels odd to 'our'-scope the methods just for that.
15:39 masak every scope-widening action has a corresponding cost/punishment :)
15:39 moritz_ rakudo: class A { our method foo { 'abc' }; A.^add_method('bar', &foo); }; say A.new().bar
15:39 p6eval rakudo : OUTPUT«abc␤»
15:40 masak moritz_++
15:40 moritz_ rakudo: class A { method foo { 'abc' }; A.^add_method('bar', &foo); }; say A.new().bar
15:40 p6eval rakudo : OUTPUT«Could not find sub &foo␤  in main program body at line 22:/tmp/8NulKIUJuy␤»
15:40 moritz_ rakudo++
15:40 masak maybe something with .^can would work to find a non-'our' method?
15:40 takadonet so it hides foo then? wow
15:40 takadonet n/m
15:40 masak takadonet: yes, if by "hides" you mean "sticks it in the 'has' namespace"
15:41 moritz_ takadonet: there's no hiding. Methods just aren't in lexical scopes
15:41 takadonet i realized that after I said my comment
15:41 moritz_ rakudo: class A { method foo { 'abc' }; A.^add_method('bar', A.^can('foo')); }; say A.new().bar
15:41 p6eval rakudo : OUTPUT«abc␤»
15:41 moritz_ masak++
15:41 masak rakudo++
15:41 moritz_ once we have macros, that's trivial to encapsulate in a module
15:42 masak aye.
15:42 masak alias 'foo' => 'bar';
15:42 masak or maybe the other way around :P
15:43 takadonet ya
15:43 moritz_ alias foo => <bar baz quox>;
15:43 takadonet thanks guys!
15:44 felliott joined #perl6
15:46 Axius left #perl6
15:50 Psyche^ joined #perl6
15:50 Psyche^ is now known as Patterner
15:53 wtw left #perl6
16:00 glow joined #perl6
16:02 flussence yay, I've convinced the people at :p5($dayjob) that writing tests is actually important
16:02 MayDaniel joined #perl6
16:02 flussence (after spending 4 hours blindly trying to figure out why my shiny new charset code didn't work, turns out it did, and I'd spelled "pg_enable_utf8" wrong elsewhere...)
16:04 mux flussence: sounds good; I'm still trying to convince my coworkers that calling a function via &foo() is not a good idea.
16:04 flussence That sounds... painful.
16:05 masak mux: I don't see why it's not a good idea. I just don't see why it'd be necessary.
16:05 masak it still works in Perl 6, fwiw. :)
16:05 masak rakudo: sub foo { say "OH HAI" }; &foo()
16:05 p6eval rakudo : OUTPUT«OH HAI␤»
16:05 mux masak: if it's not necessary, it's not a good idea in my book since it adds extra syntactic cruft.
16:05 flussence the codebase I'm working on still has a few of those, but the guy who wrote them left years ago.
16:06 mux masak: also it curcumvents prototype checks if I'm not mistaken
16:06 flussence masak: I read a thing not too long ago explaining in detail why it's a really bad idea
16:07 flussence if you forget the ()s, &foo gets passed the caller's @_ directly and can modify it.
16:07 daxim explanation for this is repeated on stack overflow about every two weeks
16:07 Alias_ left #perl6
16:11 flussence reminds me of more PHP insanity... there's a func_get_args() which is similar to @_, but you aren't allowed to write "foo(func_get_args())".
16:11 mux but I suppose I shouldn't even complain about the extra '&' characters when I can't get the said coworkers to even properly indent code
16:12 * allbery_b inherited some terrifying perl4 code at his current job and is still trying to make it halfway sensible
16:13 glow left #perl6
16:13 fhelmberger left #perl6
16:13 Raynes left #perl6
16:13 dual_ left #perl6
16:13 Eevee left #perl6
16:13 Grrrr left #perl6
16:13 spinclad left #perl6
16:13 hugme left #perl6
16:13 literal left #perl6
16:15 flussence The guy who wrote a lot of this code was an old-school C programmer. It didn't really look like perl at all until I ripped it all up in frustration one day (week?)
16:16 flussence There was one particularly horrible bit involving system() and bit-operators just to copy a file and check it worked.
16:17 risou joined #perl6
16:17 glow joined #perl6
16:17 fhelmberger joined #perl6
16:17 Raynes joined #perl6
16:17 dual_ joined #perl6
16:17 Eevee joined #perl6
16:17 Grrrr joined #perl6
16:17 spinclad joined #perl6
16:17 hugme joined #perl6
16:17 literal joined #perl6
16:17 _kaare joined #perl6
16:18 hugme left #perl6
16:21 glow left #perl6
16:21 fhelmberger left #perl6
16:21 moritz_ rakudo: say 3.end
16:21 p6eval rakudo : OUTPUT«0␤»
16:22 masak rakudo: sub end { 0 }; say end.end.end.end.end.end.end.end
16:22 p6eval rakudo : OUTPUT«0␤»
16:22 moritz_ rakudo: say .end.end.end
16:22 p6eval rakudo : OUTPUT«0␤»
16:23 moritz_ are we quite finished? :-)
16:23 masak rakudo: given end.end.end.end { say .end.end.end.end.end.end.end.end }
16:23 moritz_ erm, ended
16:23 p6eval rakudo : OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in 'end' at line 1802:CORE.setting␤  in main program body at line 22:/tmp/EUEINyMENS␤»
16:23 fhelmberger joined #perl6
16:23 moritz_ the first end() doesn't work that way
16:23 masak rakudo: given .end.end.end.end { say .end.end.end.end.end.end.end.end }
16:23 p6eval rakudo : OUTPUT«0␤»
16:24 IllvilJa left #perl6
16:24 masak rakudo: given end end end end end .end { say .end.end.end.end }
16:24 p6eval rakudo : OUTPUT«0␤»
16:24 masak \o/
16:29 Raynes left #perl6
16:29 Raynes joined #perl6
16:34 uasi left #perl6
16:35 thepler left #perl6
16:42 glow joined #perl6
16:46 thepler joined #perl6
16:53 orafu left #perl6
16:53 orafu joined #perl6
16:55 masak left #perl6
17:01 tzhs left #perl6
17:07 nadim__ left #perl6
17:08 nadim__ joined #perl6
17:20 MayDaniel left #perl6
17:20 ch3ck masak \o
17:30 rgrau joined #perl6
17:42 Chillance joined #perl6
17:42 glow left #perl6
17:45 hudnix left #perl6
17:54 justatheory joined #perl6
17:55 Chillance left #perl6
17:57 hudnix joined #perl6
18:02 cdarroch joined #perl6
18:02 cdarroch left #perl6
18:02 cdarroch joined #perl6
18:02 MayDaniel joined #perl6
18:03 dakkar left #perl6
18:05 MayDaniel left #perl6
18:17 Guest38046 left #perl6
18:32 Guest38046 joined #perl6
18:36 takadonet rakudo: class A { method foo { 'abc' }; A.^add_method('bar', A.^can('foo')); }; my $x= A.new(); say $x.bar(); say $x.bar()
18:36 p6eval rakudo : OUTPUT«abc␤No candidates found to invoke for method 'foo' on object of type 'A'␤  in main program body at line 22:/tmp/n5vqfdbfxD␤»
18:36 takadonet only works once :(
18:38 moritz_ hm
18:38 moritz_ rakudo: class A { method foo { 'abc' }; A.^add_method('bar', A.^can('foo')[0]); }; my $x= A.new(); say $x.bar(); say $x.bar()
18:38 p6eval rakudo : OUTPUT«Null PMC access in invoke()␤  in main program body at line 1␤»
18:39 moritz_ anyway, looks like a bug
18:39 moritz_ rakudo: class A { method foo { 'abc' }; BEGIN A.^add_method('bar', A.^can('foo')[0]); }; my $x= A.new(); say $x.bar(); say $x.bar()
18:39 p6eval rakudo : OUTPUT«===SORRY!===␤Null PMC access in invoke()␤»
18:39 moritz_ rakudo: class A { method foo { 'abc' }; BEGIN A.^add_method('bar', A.^can('foo')); }; my $x= A.new(); say $x.bar(); say $x.bar()
18:39 p6eval rakudo : OUTPUT«abc␤No candidates found to invoke for method 'foo' on object of type 'A'␤  in main program body at line 22:/tmp/d24OoLzlaj␤»
18:39 moritz_ currently that's a method with self destruction
18:40 moritz_ which other programming language has that? :-)
18:42 perigrin I could introduce that bug to Moose ... but I don't think they'd appreciate it
18:43 hdanak joined #perl6
18:43 moritz_ would be a good candidate for an Acme module, no?
18:43 moritz_ Acme::Method::SelfDestruct
18:43 perigrin moritz_: or you can implement it yourself using MooseX::Declare: class A { after foo { $self->meta->remove_method('foo'); } }
18:44 moritz_ perigrin: something like that, yes
18:44 hdanak is rakudo.org down?
18:46 daxim left #perl6
18:47 moritz_ if it's not responding, that's likely
18:47 hdanak hopefully it's just being maintained or something
18:47 hdanak vs something malicious
18:50 takadonet moritz_: so i take it that's a bug then?
18:50 moritz_ takadonet: yes
18:50 takadonet moritz_: nuts
18:51 takadonet moritz_: any possible workarounds? :)
18:52 moritz_ takadonet: re-dispatching
19:03 risou left #perl6
19:13 skangas left #perl6
19:19 mtk left #perl6
19:20 mtk joined #perl6
19:22 rindolf joined #perl6
19:22 rindolf Hi all.
19:22 Trashlord hi rindolf
19:23 rindolf Trashlord: hi.
19:23 saaki left #perl6
19:24 envi left #perl6
19:27 saaki joined #perl6
19:40 jedai_ joined #perl6
19:41 jedai left #perl6
19:42 molaf_ left #perl6
19:42 masak joined #perl6
19:52 masak rakudo.org down -- anyone emailed alester?
19:52 * masak does so
19:53 alester i'll bounce it
19:53 alester I wonder what makes it sad.
19:53 alester it's back, masak
19:54 masak thanks, alester++.
19:58 masak rakudo: class A { method foo { 'abc' }; A.^add_method('bar', A.^can('foo')); }; my $x= A.new(); say $x.bar(); say $x.bar()
19:58 p6eval rakudo : OUTPUT«abc␤No candidates found to invoke for method 'foo' on object of type 'A'␤  in main program body at line 22:/tmp/cMQTR25CMK␤»
19:58 masak <takadonet> only works once :(
19:58 * masak submits rakudobug
19:59 takadonet masak++
19:59 takadonet masak: thanks. Question... what does moritz_ mean by re-dispatching?
20:00 masak if jnthn were here, he'd say that this result isn't so strange; becuase .^can gives the dispatcher to the 'foo' method(s).
20:00 masak call it once, shame on... shame on you. call me tw... can't call me again.
20:00 masak *can't get called again
20:05 takadonet it's strange
20:05 masak as with string encodings, dispatchers are there whether you're aware of them or not, and whether you want/like them or not.
20:13 moritz_ takadonet: just calling the target method from the alias
20:14 takadonet moritz_: sounds good
20:17 skangas joined #perl6
20:18 masak skangas: hai! .se?
20:18 moritz_ .oO( isn't it "hej" in .se? )
20:18 skangas Yes, it is.
20:18 masak but I'm in the Lolcat province.
20:20 szabgab good evening
20:20 szabgab masak: are you coming to FOSDEM ?
20:22 rindolf szabgab: evening.
20:23 masak szabgab: hm, maybe.
20:24 masak I'll be moving to the south of Sweden in January, so at least I'll be closer to Brussels :)
20:24 szabgab then please send your talk proposal(s)
20:25 glow joined #perl6
20:25 szabgab moritz_: what about you and FOSDEM ?
20:26 rindolf error: pathspec 'RELEASE_2_10_1-679-g9bec614' did not match any file(s) known to git.
20:26 masak szabgab: I'll confer with jnthn too, and then maybe send something.
20:26 szabgab and what about pmichaud ?
20:26 moritz_ szabgab: most probably not
20:26 masak rindolf: that does indeed not look like a tag to me.
20:27 rindolf masak: hmmm....
20:27 moritz_ rindolf: is your parrot/ dir a git repo?
20:27 rindolf moritz_: yes, it is.
20:27 szabgab moritz_: we can let you rest this time
20:27 rindolf Oh wait.
20:27 moritz_ rindolf: does it work after 'git pull'?
20:27 rindolf git@github.com:shlomif/parrot.git
20:27 moritz_ hm
20:27 moritz_ that might be it :-)
20:30 rindolf Makefile:200: compilers/pirc/Defines.mak: No such file or directory
20:30 rindolf when doing make realclean.
20:30 moritz_ rindolf: cd parrot; git clean -xdf
20:31 rindolf moritz_: thanks.
20:35 rindolf moritz_: I'm getting:
20:35 rindolf ===SORRY!===
20:35 rindolf Parrot revision RELEASE_2_10_1-679-g9bec614 required (currently RELEASE_2_9_1-967-g9bec614)
20:35 rindolf Don't know why.
20:36 moritz_ rindolf: what are you doing?
20:37 moritz_ and did you wipe out parrot_install inbetween?
20:37 rindolf moritz_: no, I did not wipe out parrot_install.
20:37 rindolf moritz_: I'm running perl Configure.pl --gen-parrot
20:38 hdanak left #perl6
20:38 flussence rindolf: you might find this useful (or not), it's what I'm using: https://gist.github.com/738980
20:39 [Coke] parrot caches that variable in a dot file. if you don't realclean, you're stuck with the old version even if you did a git pull in between.
20:39 moritz_ rindolf: ah, your installed parrot identifies itself as 2.9.1, not 2.10.1
20:39 [Coke] and --gen-parrot does not, IIRC, realclean.
20:39 [Coke] (which it really should)
20:40 rindolf [Coke]: it said something about that.
20:43 rindolf moritz_: so what should I do?
20:45 moritz_ rindolf: fix your parrot
20:45 jaldhar left #perl6
20:45 rindolf moritz_: ah.
20:46 moritz_ rindolf: I just don't know what your setup is, and what you have done
20:48 [Coke] if you're using --gen-parrot, your installed parrot is in your rakudo build dir. You can always just remove the parrot* directories in your rakudo build dir and run perl Configure.pl --gen-parrot again.
20:49 [Coke] if you are working with an installed parrot elsewhere, a fresh install of that should work (with the same caveat that if you're building it from source, be sure to do a realclean first.)
20:49 moritz_ (assuming you have internet connection, for 'git pull')
20:52 Guest38046 left #perl6
20:54 rindolf moritz_: OK, it was a git SNAFU - I didn't fetch the tags - had to use get fetch -t
20:55 rindolf I hate git.
20:55 rindolf Well, usually.
20:55 * masak likes git
20:55 moritz_ rindolf: git hates you too :-)
20:56 rindolf moritz_: I don't care how git feels about me.
20:56 moritz_ it just reflects your feeling
20:56 rindolf moritz_: I hate it so I don't care about that.
20:56 moritz_ hate implies caring
20:56 moritz_ at least to a certain degree
20:56 moritz_ otherwise you'd be indifferent
20:58 rindolf Working now.
21:04 Guest38046 joined #perl6
21:04 fhelmberger left #perl6
21:06 mavrc joined #perl6
21:14 stkowski joined #perl6
21:22 Guest38046 left #perl6
21:50 kjeldahl_ left #perl6
21:52 rindolf [shlomif@lap rakudo]$ ./perl6 t/spec/S02-builtin_data_types/hash
21:53 rindolf Unable to open filehandle from path 't/spec/S02-builtin_data_types/hash'
21:53 rindolf Oh wait, missing the .t
21:53 rindolf In any case - not ok 52 - colonpair :one
21:54 moritz_ how old is your rakudo? how old is your copy of the spectets? (still .svn?)
21:54 masak rindolf: do you know if this is the first revision where that happens?
21:54 masak moritz_++
21:54 IllvilJa joined #perl6
21:55 * moritz_ .sleep = True
21:56 rindolf moritz_: I pulled rakudo today.
21:56 rindolf masak: I don't know if this is the first revision.
21:56 rindolf https://github.com/shlomif/rakudo - I have a commit here for a Test::Run-based harness.
21:56 masak rindolf: I'll just finish up tomorrow's Advent post, then I'll try to reproduce your spectest failure.
21:57 rindolf masak: OK.
21:57 rindolf masak: I'm  on Mandriva Linux 2010.1 on an x86-64.
22:02 sow joined #perl6
22:07 mtk left #perl6
22:07 sow left #perl6
22:10 kjeldahl left #perl6
22:11 masak ok, peeps; tomorrow's Advent post is up (on http://perl6advent.wordpress.com/wp-login.php ). feel free to review and comment.
22:11 * masak turns to rindolf's test
22:13 rindolf p6eval: %hash8 = (:one, :key<value>, :three(3));
22:13 nrycrun joined #perl6
22:14 masak rakudo: %hash8 = (:one, :key<value>, :three(3)); say %hash8.perl
22:14 p6eval rakudo : OUTPUT«===SORRY!===␤Symbol '%hash8' not predeclared in <anonymous> (/tmp/Ri0AlbsNb5:22)␤»
22:14 masak rakudo: my %hash8 = (:one, :key<value>, :three(3)); say %hash8.perl
22:14 p6eval rakudo : OUTPUT«{"one" => Bool::True, "key" => "value", "three" => 3}␤»
22:14 masak looks right to me.
22:15 nymacro joined #perl6
22:16 rindolf is(%hash8{'one'}, 1, 'colonpair :one');
22:16 rindolf So this is wrong.
22:16 masak yes.
22:17 PerlJam rindolf++
22:17 * masak checks the latest spectests on github
22:17 dalek mu: f15aa2b | duff++ | misc/perl6advent-2010/topic-brainstorming:
22:17 dalek mu: Add a couple of ideas
22:17 dalek mu: review: https://github.com/perl6/mu/commit/f15aa2bba2
22:18 masak rindolf: https://github.com/perl6/roast/blob/master/S02-builtin_data_types/hash.t#L125
22:18 masak rindolf: it's already correct. your local version of roast must be too old.
22:18 rindolf masak: ah.
22:18 masak (just as moritz_ suggested)
22:19 rindolf masak: OK, that was indeed the case.
22:20 rindolf Now I'm getting another failure - not ok 66 - Hash.new($pair) lives
22:20 masak moritz_++
22:22 masak rindolf: you'll note that that test is marked with #TODO
22:23 masak that means the test is correct, the implementation is wrong, and we know about it.
22:23 masak we can parse the test and run it, but it produces the wrong result.
22:24 PerlJam masak: Post looks good.  My only suggestion would be to give a little more prose to why it's called "nextsame".  Like maybe one sentence where you first mention dispatchers that says something like "It's called nextsame because it executes the /next/ subroutine in the dispatch chain with the /same/ arguments as this invocation."
22:25 PerlJam masak++
22:25 masak oh, good idea. I'll add that. thanks.
22:27 lopaway is now known as lopnor
22:28 rindolf masak: ah, I see.
22:28 rindolf masak: so it's a magical comment?
22:29 masak rindolf: from the perspective of the TAP framework, yes.
22:29 PerlJam rindolf: did you read the roast README?
22:29 rindolf PerlJam: no, I did not.
22:33 masak PerlJam: post updated.
22:33 puddingpimp left #perl6
22:34 PerlJam masak: muy bueno  :)
22:34 masak \o/
22:44 [Coke] left #perl6
22:44 rindolf Now t/spec/S09-autovivification/autovivification.t fails.
22:46 rindolf Hmmm... it succeeds with t/harness.t
22:46 rindolf Test returned status 1 (wstat 256, 0x100)
22:46 puddingpimp joined #perl6
22:48 masak 'status 1' does not mean success.
22:49 rindolf The status 1 is returned in t/test-run-harness
22:49 masak right.
22:49 rindolf In t/harness it does not report it.
22:49 * masak runs it locally.
22:50 nrycrun left #perl6
22:50 [Coke] joined #perl6
22:51 masak yeah, getting an error here.
22:51 masak Method '!fill' not found for invocant of class ''
22:52 masak on the other hand t/spec/S09-autovivification/autovivification.rakudo (note the different file extension) runs fine.
22:52 masak rindolf: would you like a small explanation of how the spectests work?
22:53 jhuni joined #perl6
22:55 rindolf masak: yes.
22:56 masak you've already found t/harness
22:56 masak its main contribution is to "fudge" the spectests before running them.
22:56 alester left #perl6
22:57 masak the process of fudging was invented when Pugs ceased to be the only big implementation of Perl 6, and different implementations needed to share the spectests.
22:57 masak fudging takes directives in the t/spec *.t files, and processes the individual files into something that can be run by an implementation.
22:57 masak the directives for Rakudo look like this:
22:58 masak #?rakudo skip 'autoviv with push/unshift'
22:58 masak this tells the fudger (1) that this directive concerns Rakudo, and (2) the test is to be commented out and skipped.
22:59 masak the resulting file is stored with the same filename but, in the case of Rakudo, with the extension .rakudo
22:59 masak *that's* the file that's run by the harness.
22:59 masak this is necessary, because tests that need to be TODO'd or SKIP'd by Rakudo wouldn't necessarily need to be for, say, Pugs.
22:59 masak any questions?
23:00 rindolf masak: no.
23:00 rindolf masak: I understand that.
23:00 masak rindolf: ok, back to your particular case, then.
23:00 masak when you run t/spec/S09-autovivification/autovivification.t, and it fails, that's because it contains '#?rakudo skip' directives.
23:01 masak it is, in other words, not an exceptional condition that this file fails. it's expected.
23:04 rindolf masak: so you mean the exit(1) is on purpose?
23:05 masak the exit(1) is a consequence of getting an error from running code that the harness would have skipped.
23:07 mavrc left #perl6
23:12 Guest19368 joined #perl6
23:20 rindolf masak: perl t/test-run-harness t/spec/S09-autovivification/autovivification.rakudo still fails.
23:22 _kaare left #perl6
23:23 masak rindolf: I haven't heard of t/test-run-harness, and I don't have any such file in my (up-to-date) checkout of Rakudo.
23:23 masak rindolf: here, perl t/harness t/spec/S09-autovivification/autovivification.rakudo runs fine, with a PASS.
23:24 rindolf masak:  I've commited it here - https://github.com/shlomif/rakudo
23:24 rindolf masak: what happens when you do ./perl6 t/spec/S09-autovivification/autovivification.rakudo || echo "Bad status"
23:24 rindolf ?
23:25 masak it runs the file, the last line is '# FUDGED!', and not "Bad status"
23:25 masak might be your platform, might be something else.
23:26 ch3ck hej masak \o
23:27 masak o/
23:33 cosimo left #perl6
23:35 rindolf left #perl6
23:41 Bzek_ joined #perl6
23:43 Bzek left #perl6
23:49 sftp left #perl6
23:52 rgrau left #perl6
23:53 whiteknight joined #perl6
23:53 lopnor is now known as lopaway
23:57 nymacro left #perl6

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

Perl 6 | Reference Documentation | Rakudo