Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-08-25

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:20 am0c joined #perl6
00:25 whiteknight joined #perl6
00:29 * [Coke] yawns
00:40 uasi joined #perl6
00:51 plobsing_ joined #perl6
01:02 kthakore joined #perl6
01:11 REPLeffect joined #perl6
01:16 sili joined #perl6
01:29 woosley joined #perl6
01:37 uasi joined #perl6
02:17 uasi joined #perl6
02:27 silug_ joined #perl6
02:51 am0c joined #perl6
02:52 jaldhar joined #perl6
03:03 jevin joined #perl6
03:23 Su-Shee_ joined #perl6
03:27 lue joined #perl6
03:30 agentzh joined #perl6
03:52 ZaphrodZenovka joined #perl6
03:57 satyavvd joined #perl6
04:27 frhodes joined #perl6
04:38 birdwindupbird joined #perl6
05:10 REPLeffect joined #perl6
05:12 SHODAN joined #perl6
05:12 jevin joined #perl6
05:17 beekor joined #perl6
05:51 wtw joined #perl6
05:56 daniel-s joined #perl6
06:06 moritz \o
06:17 koban joined #perl6
06:17 koban left #perl6
06:20 REPLeffect joined #perl6
06:34 beekor joined #perl6
06:52 maja joined #perl6
06:58 MayDaniel joined #perl6
07:07 mberends
07:16 jnthn o/ moritz, mberends
07:17 * mberends is trying to rebuild Rakudo/alpha by replacing svn checkouts with git clones
07:18 moritz I think alpha just needs a released parrot, so that shouldn't be too much of a problem
07:18 pernatiy joined #perl6
07:19 mberends it's built, just fiddling with roast now
07:23 im2ee joined #perl6
07:28 domidumont joined #perl6
07:31 mj41 joined #perl6
07:32 wk joined #perl6
07:34 moritz nom: say 0 ** 0
07:34 p6eval nom b0da69: OUTPUT«1␤»
07:36 kaare_ joined #perl6
07:36 jevin joined #perl6
07:37 dark_x joined #perl6
07:41 jnthn airport &
07:42 MayDaniel_ joined #perl6
08:09 odoacre joined #perl6
08:10 johnjohn joined #perl6
08:13 [particle] joined #perl6
08:22 odoacre joined #perl6
08:36 uasi joined #perl6
08:40 dakkar joined #perl6
08:47 tadzik o/
08:48 odoacre joined #perl6
08:48 masak joined #perl6
08:48 tadzik new HPatMoR chapter
08:48 masak perl6: say 0 ** 0
08:48 tadzik !
08:48 masak tadzik: !!!
08:48 p6eval pugs, rakudo a55346, niecza v8-55-g0db7bb8: OUTPUT«1␤»
08:49 masak tadzik: I'm at $work; why are you telling me this! >:(
08:49 masak :P
08:50 orafu joined #perl6
08:52 tadzik haha! :P
08:55 masak sadist.
08:57 masak nom: say "tadzik".subst('t', 's').subst('z', '').subst('k', 'st')
08:57 p6eval nom b0da69: OUTPUT«sadist␤»
09:00 masak incontrovertible proof.
09:00 tadzik /o\
09:08 mberends :)
09:10 daxim joined #perl6
09:18 odoacre joined #perl6
09:23 im2ee joined #perl6
09:25 REPLeffect joined #perl6
09:34 woosley left #perl6
09:48 cexsum joined #perl6
09:58 masak rakudo: sub all-perms { return [] unless @^l; map -> $e { [$e, @($_)] for all-perms grep * != $e, @l }, @l }; say .perl for all-perms [1, 2, 3]
09:58 p6eval rakudo a55346: OUTPUT«[1, 2, 3]␤[1, 3, 2]␤[2, 1, 3]␤[2, 3, 1]␤[3, 1, 2]␤[3, 2, 1]␤»
09:58 masak I keep coming back to wanting to write all-perms nicely.
09:59 masak This is the shortest I've managed so far.
09:59 * moritz wonders if .permutations should be a built-in in List
09:59 masak well, I do keep re-implementing it. which seems to be an argument for putting it in the setting.
10:00 moritz or in the very least in List::Util or so
10:00 masak it isn't there already?!
10:01 moritz dunno
10:01 tadzik I don't know, it fails tests on nom!
10:01 * tadzik hides
10:01 moritz masak: if it is, why do you keep re-implementing it?
10:01 tadzik oh, it doesn't actually build
10:03 masak moritz: because I keep looking for a primitive that'll make it easier to do so.
10:05 bbkr_ joined #perl6
10:07 moritz nom: module Foo::Bar; say 'alive';
10:07 p6eval nom b0da69: OUTPUT«alive␤»
10:07 moritz nom: module List::Bar; say 'alive';
10:07 p6eval nom b0da69: OUTPUT«===SORRY!===␤Null PMC access in set_pmc_keyed()␤»
10:07 moritz that's what kills List::Utils
10:07 moritz nom: class Str::Thingy { }
10:07 p6eval nom b0da69:  ( no output )
10:08 moritz nom: module Str::Thingy { }
10:08 p6eval nom b0da69:  ( no output )
10:08 moritz nom: module Array::Thingy { }
10:08 p6eval nom b0da69: OUTPUT«===SORRY!===␤Null PMC access in set_pmc_keyed()␤»
10:08 moritz nom: module Any::Thingy { }
10:08 p6eval nom b0da69:  ( no output )
10:08 moritz nom: module Positional::Thingy { }
10:08 p6eval nom b0da69:  ( no output )
10:08 * moritz doesn't see the pattern
10:14 bbkr_ nom: say so "abc" ~~ /a ~ (c) (b)/; say $0 # this is weird. in rakudo it captured incorectly ( #77616 ) in nom it does not capture at all.
10:14 p6eval nom b0da69: OUTPUT«Bool::True␤Any()␤»
10:16 moritz rakudo: say so "abc" ~~ /a ~ (c) (b)/; say $0
10:16 p6eval rakudo a55346: OUTPUT«Bool::True␤b␤»
10:18 Trashlord joined #perl6
10:20 moritz nom: say List.WHO
10:20 p6eval nom b0da69: OUTPUT«Null PMC access in find_method('gist')␤  in sub say at src/gen/CORE.setting:4613␤  in mu <anon> at /tmp/tmFdX5E7UQ:1␤  in mu <anon> at /tmp/tmFdX5E7UQ:1␤␤»
10:20 moritz nom: pir::say List.WHO
10:20 p6eval nom b0da69: OUTPUT«Null PMC in say␤  in mu <anon> at /tmp/fcYfNHxky8:1␤  in mu <anon> at /tmp/fcYfNHxky8:1␤␤»
10:20 moritz nom: pir::say Any.WHO
10:20 p6eval nom b0da69: OUTPUT«get_string() not implemented in class 'Stash'␤  in mu <anon> at /tmp/2mTyZVo7Z4:1␤  in mu <anon> at /tmp/2mTyZVo7Z4:1␤␤»
10:20 moritz nom: pir::say pir::typeof Any.WHO
10:20 p6eval nom b0da69: OUTPUT«Stash␤»
10:20 moritz nom: pir::say pir::typeof List.WHO
10:20 p6eval nom b0da69: OUTPUT«Null PMC access in name()␤  in mu <anon> at /tmp/i837yIcvsv:1␤  in mu <anon> at /tmp/i837yIcvsv:1␤␤»
10:20 mkramer1 joined #perl6
10:21 moritz maybe that's what kills the 'module List::Utils;'
10:21 moritz compare src/Perl6/SymbolTable.pm line 424
10:28 scorpil joined #perl6
10:28 moritz nom: module Num::s;
10:28 p6eval nom b0da69:  ( no output )
10:30 moritz oh, List is missing from add_stash in BOOTSTRAP.pm
10:31 denysonique left #perl6
10:33 moritz nom: module Regex::Foo; # should also fail if my theory is correct
10:33 p6eval nom b0da69: OUTPUT«===SORRY!===␤Null PMC access in set_pmc_keyed()␤»
10:36 * moritz compiles a potential fix
10:48 * mberends watches p5chomp.t and p5chop.t pass on alpha
10:54 MayDaniel joined #perl6
11:12 wamba joined #perl6
11:25 wamba joined #perl6
11:34 daxim http://markmail.org/search/?q=list%3Aorg.perl.perl6-language  # look at the 2005 peak
11:34 [particle]1 joined #perl6
11:41 cosimo joined #perl6
11:44 tadzik pugs' golden days, eh?
11:47 dalek rakudo/nom: d31eef8 | moritz++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
11:47 dalek rakudo/nom: add a few missing stashes in BOOTSTRAP
11:47 dalek rakudo/nom:
11:47 dalek rakudo/nom: This should fix the first compilation problem of List::Utils.
11:47 dalek rakudo/nom:
11:47 dalek rakudo/nom: There are still a lot missing, but I get rather strange compilation errors
11:47 dalek rakudo/nom: when I trie to add them all at once, so a few at a time instead
11:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d31eef8cf9
11:47 moritz arg, s/trie/try/
11:51 moritz star: use List::Utils; say slding-window(<a b c>, 2).perl
11:51 p6eval star 2011.04: OUTPUT«===SORRY!===␤Unable to find module 'List::Utils' in the @*INC directories.␤(@*INC contains:␤  /home/p6eval/.perl6/lib␤  /home/p6eval/rakudo-star-2011.04/install/lib/parrot/3.3.0/languages/perl6/lib␤  .)␤»
11:52 moritz nom: sub f(@a is copy) { @a.shift }; my @b = 1, 2, ; f @b; say @b.perl
11:52 p6eval nom b0da69: OUTPUT«Array.new(1, 2)␤»
11:54 moritz rakudo: sub f(@a is copy) { @a.shift }; my @b = 1, 2, ; f @b; say @b.perl
11:54 p6eval rakudo a55346: OUTPUT«[1, 2]␤»
11:57 tadzik hmm, there was a similar problem with Pod::To, wasn't there?
11:57 moritz anywa, List::Utils now compiles
12:00 tadzik how about tests?
12:00 * tadzik 's nom still builds
12:00 moritz fails some tests
12:00 moritz it uses Parcel.iterator.list, which is NYI (or abandoned?) in nom
12:01 * mberends ran test_summary.pl backported to alpha (2 hours) and forgot to specify --timing :/
12:02 moritz nom: say (my @a = 1,2 , 3).clone
12:02 p6eval nom b0da69: OUTPUT«1 2 3␤»
12:07 moritz nom: my @a = 1, 2, 3; my @b = @a; @b.shift; say @a
12:07 p6eval nom d31eef: OUTPUT«1 2 3␤»
12:10 moritz ok, sliding-window and sliding-window-wrapped fixed
12:10 masak moritz++
12:11 tadzik cool
12:11 moritz nom: my $x = 5; $x div= 2; say $x
12:11 p6eval nom d31eef: OUTPUT«2␤»
12:12 masak tadzik: yes, but note that 2002 was almost as high. there was a slump in 2003-2004, when perl6-on-parrot was being built but not much progress could be seen from the outside.
12:12 masak tadzik: then Pugs happened.
12:13 tadzik I see
12:15 tadzik hmm
12:15 tadzik I need some warning on a bare =begin, seems that some people do that
12:16 mberends tell them "=begin what?"
12:16 tadzik that'd be cool ;)
12:17 tadzik I went for '=begin must be followed by an identifier, did you mean "=begin pod"?' though
12:17 bbkr_ tadzik: they treat it as good old "=pod", something that begins unidentified documentation block. it needs warning for sure.
12:18 Juerd tadzik: s/,/;/
12:19 mberends that's better than "Malformed Pod =begin directive: see Synopsis 26 for correct Pod syntax"
12:20 moritz nom: say (1...*).grep( * <= 10 ).[0, 1, 2]
12:20 p6eval nom d31eef: OUTPUT«1 2 3␤»
12:20 tadzik Juerd: why so? A convention?
12:20 masak tadzik: I like that. maybe put 'did you mean...' in parens, though?
12:20 daxim MY BIKESHED IS BLUE
12:21 masak following Perl 5 warning tradition.
12:21 tadzik mebbe
12:21 Juerd tadzik: Google for semicolon if you wish to learn how it works :)
12:22 tadzik heh
12:22 tadzik is a comma wrong heer?
12:22 tadzik even here?
12:22 masak no.
12:22 moritz phenny: tell colomon in List::Util, you have take-while(@array, $condition). Wouldn't it be better to make that take-while($condigion, *@list) to be consistent with grep, map, first etc?
12:22 phenny moritz: I'll pass that on when colomon is around.
12:23 Juerd tadzik: I'd say yes.
12:23 tadzik I'm confused
12:23 moritz phenny: tell colomon I have a List::Util branch which starts to fix it for nom -- want a pull request, or give commit access?
12:23 phenny moritz: I'll pass that on when colomon is around.
12:24 scorpil1 joined #perl6
12:25 odoacre joined #perl6
12:25 tadzik okay, semicolon is better it seems. Juerd++
12:27 dalek rakudo/nom: 88d8014 | tadzik++ | src/Perl6/Grammar.pm:
12:27 dalek rakudo/nom: Warn about a bare '=begin' directive
12:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88d8014785
12:27 masak tadzik: but the 'did you mean' is a guess, so it feels like it should be made less important with parens.
12:27 masak also, as I said, Perl 5 does this.
12:28 tadzik masak: so it is done
12:28 Juerd Agreed: parens would be even better than the semicolon.
12:28 tadzik eww, now I have both :)
12:28 Juerd With parens I'd go for Foo bar. (Foo bar?)
12:29 bluescreen10 joined #perl6
12:31 masak +1
12:31 tadzik I wonder if we could setup PAUSE for Perl 6 modules
12:32 tadzik otoh, PAUSE looks like a really ancient Perl, maybe we want something newish
12:32 tadzik (or ran by Perl 6)
12:32 masak with the new Pod parser, it seems feasible.
12:33 tadzik what is the connection?
12:33 moritz nothing
12:33 moritz PAUSE != search.cpan.org
12:34 tadzik I talked to mo++ on the YAPC, and he said "both PAUSE and MetaCPAN are opensource, you can use them for Perl 6 stuff as well"
12:34 tadzik but, as I look at pause now...
12:34 tadzik All the code in here is very old. Many functions are not needed
12:34 tadzik anymore or at least I am in the process of eliminating dependencies on
12:34 tadzik it. Before you *use* a function here, please ask about its status.
12:34 tadzik ...I'm not sure we really want this
12:34 moritz well, working > pretty
12:35 tadzik I'll much rather see something keeping track of META.infos, and /possibly/ keeping tarballs as well
12:35 moritz the question is how much it needs extending
12:37 moritz tadzik: what I kinda don't like about our current setup is that it doesn't track releases
12:37 tadzik moritz: because we have no versioning
12:37 tadzik well, no one (almost) uses it
12:37 moritz tadzik: no. because we don't have releases
12:38 tadzik cosimo++ does, I believe
12:38 tadzik moritz: you mean as module releases>?
12:38 moritz tadzik: yes
12:38 moritz you can make releases of modules just fine even if you don't declare the version inside the module/class
12:39 tadzik https://github.com/cosimo/perl6-lwp-simple/downloads
12:39 moritz are that tags that get automatically packed up as tarballs by github?
12:40 tadzik now that I think of it... there's a version field in META.info. What does it describe? I suppose the version it's shipped in
12:40 tadzik moritz: yes
12:40 cosimo i have a problem with that, though
12:40 cosimo if I say "class blah:auth<cosimo>:ver<0.01>"
12:40 cosimo how do I get the "0.01" bit in my code?
12:40 moritz cosimo: this is indeed an open problem
12:41 cosimo now i just redeclare a $VERSION, but That Sucks(tm)
12:41 moritz cosimo: I guess my next step will be to write a small preprocessor
12:41 tadzik okay. I think we should have module managers respect versions in the first place
12:41 tadzik so if a META.info says '0.8' and we're doing a git clone, we should checkout the 0.8 tag
12:41 moritz cosimo: which reads the version from META.info, and then adds a :var<$current_version> after :auth while copying to blib/lib/
12:42 bluescreen10 joined #perl6
12:42 moritz tadzik: I think git clones are not a good solution in the long run
12:42 tadzik moritz: I suppose so. But we want some handling for that as well I suppose
12:42 tadzik at least for now
12:42 tadzik it's easier with tarballs: META.info describes the version of the module in the tarball, you don't even need to bother with that
12:43 tadzik ooh, idea
12:44 tadzik I have a module, on git, tagged. I send a META.info to a server, it checkouts the repo, builds, tests, creates a tarball, and changes a META.info source-url to the tarball
12:44 tadzik not only we could be lazy then, but also something will do testing for us
12:45 moritz that's a bit how debian packages work
12:45 tadzik if someone doesn't use version control, he can of course upload the whole tarball as well
12:45 moritz and they have build servers on/for different platforms
12:46 moritz ... though I don't see why the tarball creation has to happen on the server side
12:46 moritz it makes it much harder to debug, for one thing
12:46 tadzik it's optional
12:46 tadzik (I suppose)
12:47 tadzik and the META.info which will be eventually kept on the server has to keep track of the tarball on the server
12:47 tadzik I mean, the source-url has to be correct
12:48 tadzik or maybe it should be more magical
12:48 tadzik so it'd be source-url => 'M/MO/MORITZ/Math-Model-foo.tar.xz'; and the module installer will dispatch it to a proper mirror or so
12:49 colomon good grief, the channel got quite busy while I was upstairs dealing with a waking child.
12:49 phenny colomon: 12:22Z <moritz> tell colomon in List::Util, you have take-while(@array, $condition). Wouldn't it be better to make that take-while($condigion, *@list) to be consistent with grep, map, first etc?
12:49 phenny colomon: 12:23Z <moritz> tell colomon I have a List::Util branch which starts to fix it for nom -- want a pull request, or give commit access?
12:55 masak tadzik: I really like the fact that you're thinking about this.
12:56 mls perl6: fail
12:56 p6eval niecza v8-55-g0db7bb8: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'fail' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 36) â�¤  â€¦
12:56 p6eval ..rakudo a55346:  ( no output )
12:56 p6eval ..pugs: OUTPUT«*** Cannot use this control structure outside a 'routine' structure␤    at /tmp/GXxKRf8RZe line 1, column 1 - line 2, column 1␤»
12:56 mls good afternoon!
12:57 colomon moritz: I think you already have commit access on List::Utils?  Let me know if you try it and find you don't....
12:58 tadzik good afternoon mls!
12:59 mls moritz: checking for type Routine works nicely, moritz++
13:00 mls context-forcers.rakudo failed because I didn't patch fail() to use the new mechanism
13:04 moritz colomon: indeed I do, never mind
13:04 moritz colomon: branch 'nom' pushed
13:07 wk joined #perl6
13:09 masak good afternoon, mls!
13:09 mls hi masak!
13:12 mls is http://perlcabal.org down?
13:13 moritz seems like
13:13 tadzik http://www.downforeveryoneorjustme.com/http://perlcabal.org
13:13 moritz Juerd: is that dist-upgrade on feather still running?
13:14 moritz seems that apache is gone, but I can't run aptitude because the dpkg dir is locked
13:14 flussence it shouldn't take *that* long, right? he started it yesterday
13:14 moritz typically that's when it asks you a question, and nobody sits in front of it
13:15 Juerd moritz: Yes.
13:15 Juerd That's exactly what's happening
13:15 Juerd Because feather doesn't get upgraded very often, they're gigantic
13:16 Juerd Every other package is replaced :)
13:16 Juerd And it has a lot installed
13:16 moritz I've recently pondered replacing feather1 with a new debian stable install
13:16 Juerd I just saw gimp and gnome stuff. WTH :)
13:16 moritz and make it fairly minimalistic, until people complain that they need stuff
13:17 moritz but then I got tuit-starved again
13:17 Juerd moritz: Good idea
13:17 Juerd I've pondered the same thing over and over again
13:18 Juerd It's a really old install
13:18 Juerd Which is extra special considering the many people that have had root access :)
13:18 Juerd s/many/number of/
13:18 abercrombie joined #perl6
13:22 PacoLinux joined #perl6
13:23 [particle]1 joined #perl6
13:41 donri joined #perl6
13:48 mls niecza: sub a { die("foo") ; CATCH {return "foo"}}; say a()
13:48 p6eval niecza v8-55-g0db7bb8: OUTPUT«Nil␤»
13:48 mls shouldn't that say "foo" instead of Nil?
13:49 moritz it should, IMHO
13:49 moritz though maybe sorear++ has a good reason why it's like this
13:49 mls seen TimToady
13:49 aloha TimToady was last seen in #perl6 16 hours 50 mins ago saying "but yeah, keeping a lexer state variable is one of the many ways that P5 cheats, and we try to avoid keeping things other than where they belong in P6".
13:50 mls instants-and-durations.t still loops for me ;(
13:52 mls perl6: now
13:52 p6eval rakudo a55346, niecza v8-55-g0db7bb8:  ( no output )
13:52 p6eval ..pugs: OUTPUT«*** No such subroutine: "&now"␤    at /tmp/0JoOerSuoQ line 1, column 1 - line 2, column 1␤»
13:52 mls investigating...
13:53 moritz pugscode.org back, Juerd++
14:04 flussence mls: same here. Are you using 32-bit?
14:07 donri joined #perl6
14:07 dakkar joined #perl6
14:07 kthakore joined #perl6
14:07 plobsing_ joined #perl6
14:07 donri joined #perl6
14:16 donri joined #perl6
14:17 Bucciarati joined #perl6
14:22 nebuchadnezzar joined #perl6
14:24 am0c joined #perl6
14:33 Holy_Cow joined #perl6
14:36 tokuhirom joined #perl6
14:36 wamba joined #perl6
14:42 agentzh joined #perl6
14:43 Holy_Cow left #perl6
14:44 scorpil left #perl6
14:53 frodwith left #perl6
15:00 mberends joined #perl6
15:03 arauko joined #perl6
15:30 ribasushi_ joined #perl6
15:33 tadzik where does "Incorrect pre-compiled version of foo.pm loaded" come from?
15:34 Holy_Cow joined #perl6
15:34 tadzik serialization stuff, ENOJNTHN
15:34 moritz nqp/src/HLL/SerializationContextBuilder.pm
15:34 tadzik yeah
15:35 tadzik it doesn't like .pir files installed it seems
15:40 japhb joined #perl6
15:46 japhb moritz, tadzik, cosimo: Re: keeping module version, git tag, tarball release ver, etc. all in sync-- note prior Perl 5 art in Dist::Zilla.  The program 'dzil' on the local system handles all that stuff, so that 'dzil build' creates a versioned copy of the module tree with VERSION numbers fixed in all files, and tars it up into a versioned tarball; 'dzil release' does 'dzil build' and also commits the Changes file, tags the release in git,
15:46 japhb and pushes back to the origin repo.  Very helpful.  :-)
15:47 japhb Please note: I've been away from here for a really long time, so if this is old news on this channel, I apologize.
15:47 japhb Just started reading today's #perl6 log.  :-)
15:49 tadzik japhb: that's helpful, thank you. I don't really know much about Dzilla
15:50 * moritz knows about dzil, but finds it a bit heavy-weight
15:50 japhb tadzik: dzil.org has a "Choose Your Own Tutorial" which explains how it works
15:50 moritz but I guess we'll need something similar in the long run
15:50 japhb moritz, yes, it is definitely heavyweight for perl6's current needs, but I do think it's generality will be needed in the long run.
15:50 moritz japhb: agreed
15:51 japhb I spend a non-trivial amount of time at $Day-Job writing Dist::Zilla plugins for our unique needs.
15:51 tadzik for now, I'm more thinking of ideas than of implementations, so I'm more concerned about Dzilla's concepts than heaviness
15:51 tadzik jasonmay: ping
15:52 tadzik or, anyone with Bread::Board experience: ping
15:53 jasonmay yo
15:55 tadzik yo
15:55 tadzik I wonder, Bread::Board has something like depends_on(). I understand that a bit like "I want this sort of service, and I'm not creating one myself". Is that right, and how do I do this in IoC?
15:56 tadzik oh, we're never creating one ourselves. So the right side of the => is the type, and the left side is the name under which we want it?
15:57 * tadzik experiments with panda and IoC
16:00 jasonmay not sure what you mean by type
16:05 jasonmay tadzik: perldoc gives me 'Got a 0-length file from lib/IoC.pm6 via Pod::Perldoc::ToText!?' on the modules you adjusted POD on
16:07 jasonmay tadzik: 'dependencies' => {'logfile' => 'logfile'}, is IoC equivalent of dependencies => (depends_on('logfile'))
16:07 jasonmay it's just sugar for the case that the attribute is the same name as the service
16:08 jasonmay in BB, depends_on isn't used that much in practice anymore because you can just supply an arrayref of strings now
16:10 tadzik jasonmay: Uhm, you're aware that Pod in Perl 6 is not Pod in Perl 5, right? :)
16:10 tadzik oh, you're actually using Perl 5 Pod
16:10 tadzik that explains a lot :0
16:10 tadzik :)
16:11 tadzik Still, it looks pretty fine here
16:11 tadzik jasonmay: see https://gist.github.com/1171052
16:11 jevin joined #perl6
16:11 tadzik I can adjust it to Pod 6 if you wish
16:12 tadzik jasonmay: re my last question, I think I mistaken IoC::Service with IoC::Literal, sort of
16:12 tadzik so the right side of the arrow is always a service, never a literal, right?
16:12 tadzik well, maybe an IoC::Literal, but not a String, si?
16:15 Holy_Cow left #perl6
16:17 moritz http://www.reddit.com/r/programming/comments/jnf68/python_design_mistakes/c2dmmrq "Being dynamic is good, but we go too far. It should at least be possible to statically determine what names are in scope."
16:17 moritz that's a quote about python, and it's nice that both perl 5 and perl 6 get this right
16:19 TimToady well, p5 only gets it partly right
16:19 TimToady package vars are dynamic
16:20 TimToady and too many things depend on packages
16:20 moritz I don't really consider package vars to be "in scope", but we could argue about that :-)
16:21 TimToady especially since they said "names", not "variables"
16:26 jasonmay tadzik: in the dependencies param, it should always be a service on the right side
16:26 tadzik okay
16:30 tadzik jasonmay: btw, why does resolve take a named parameter?
16:31 tadzik also, resolve fails with Method 'get' not found for invocant of class 'Any', maybe it'd be better to throw an exception of some sort
16:31 jasonmay yeah it needs a lot of work :)
16:31 tadzik I also thought we could use Type objects instead of Strings with class names, what do you think?
16:31 jasonmay this was a project to help me learn The Perl 6 Way
16:32 tadzik So just type => Foo::Bar rather than 'class' => 'Foo::Bar'
16:32 tadzik the class => type change is intentional, it's less typing :P
16:32 jasonmay it could be confusing since type => 'Int' should really be for literals
16:33 jasonmay unless you're saying to have two ways to declare a literal service
16:34 jasonmay oh I see
16:34 tadzik no no, I don't mean literals. I mean something like: service 'limit' => { type => Int, lifecycle => 'Singleton' }
16:34 tadzik also, we could make Singleton an enum or so :)
16:34 jasonmay yeah. cool!
16:34 tadzik okay, I'll hack on that
16:35 tadzik I can also fix Pod if you don't mind
16:35 jasonmay I think I actually tried something like that, but with the a Class type or whatever
16:35 tadzik it won't be much different after all
16:35 jasonmay and it didn't work out so well
16:35 mls TimToady: what's the result of callframe/caller in a CATCH block?
16:35 jasonmay & for a bit
16:36 thou joined #perl6
16:38 TimToady mls: see S04:1079
16:39 mls I feared that ;)
16:40 TimToady people keep thinking that the stack is unwound before CATCH is called, but it's not
16:41 mls so what does CATCH { leave } do?
16:41 TimToady CATCH only helps determine where the stack might be unwound to
16:42 TimToady doesn't do much, except possibly mark the current exception as handled
16:43 TimToady since it only leaves the innermost block
16:44 TimToady return would return from the correct function because it's lexotic
16:44 mls yes. How about CATCH { caller.leave } ?
16:44 mls does that throw away the exception?
16:44 TimToady might work, might be very dangerous
16:45 TimToady probably better to use a resumable exception for that
16:45 TimToady then you know whether the exception *thinks* it's resumable
16:46 TimToady resuming a segfault is never going to be what you want...
16:46 mls ;)
16:46 TimToady well, unless you're writing the pager :)
16:47 mls my problem is that parrot already unwinds the callstack if an exception is caught
16:47 TimToady yes, one of the many places where we're fighting the bogus assumptions in the parrot design
16:47 mls (we can still access the old callstack, so we may do some really evil parrot hacking to restore the stack)
16:48 mls I don't think they are bogus, they are just different
16:49 TimToady well, blessed are the peacemakers, and all that... :)
16:49 mls I think most languages rewind the stack right away when an exception is caught
16:49 mls ;)
16:49 TimToady not Lisp
16:51 diakopter the Synopses need Synopses
16:51 TimToady which is not exactly a recent dynamic language, so I still think the assumption falls in the category of "bogus", for some appropriately non-judgemental definition of "bogus"  :)
16:51 mls (well, nobody said that implementing perl6 is an easy task...)
16:52 benabik I get very confused when people insist that Parrot does anything with a stack.  There's no stack, just a pile of continuations.
16:52 mls well, there's a ctx -> ctx -> ctx chain
16:52 mls (with next pointers)
16:52 benabik Yes, and the parrot exception has access to a continuation from where it was thrown.
16:52 mls (same with outer pointers for lexical lookups)
16:53 mls sometimes there's a continuation, yes
16:53 mls not when the exception was thrown from C
16:53 TimToady biab &
16:54 benabik Hm.
16:55 mls also not when the 2 arg version of die() is used (for unknown reasons ;) )
16:55 benabik I suppose that mostly makes sense, as none of the C code is written to be resumable…  But that does lose context information.
16:56 benabik die opcode or die function somewhere?
16:56 mls die opcode
16:57 mls I asked on the parrot channel some weeks ago, but nobody answered
16:57 benabik Strange.  It uses throw_from_op, which sets the thrower continuation.
16:58 benabik (I'm no parrot internals expert…  I'm just starting to poke around in the innards.)
16:58 mls it doesn't set the "resume" element. see die(in PMC) a couple of lines above
16:59 mls it's probably just an oversight
17:00 benabik Curious.
17:00 benabik Well, the continuation is still there.  :-/
17:01 tadzik survey: should Pod directives like =over and =back warn in Perl 6?
17:02 mls Anyway, the throw context is written to "thrower", so it's available
17:02 PerlJam tadzik: yes.
17:02 benabik tadzik: +1 from me.  Seems consistent with the other obsolescent usages in the P6 grammar.
17:03 benabik mls: Yeah, that's what I was seeing.  The lack of resume is curious though.  I'll poke a few people about it, maybe open a TT.
17:03 mls thanks!
17:06 cosimo can i nag you guys about a problem with IO::Socket ?
17:06 cosimo thanks, that's great :)
17:06 mls Ah, regarding the hanging instants-and-durations.t: it's really because of 32bit
17:07 mls nom: say 1314291787.82161.Rat
17:07 p6eval nom 88d801: OUTPUT«1314291787.82161␤»
17:07 cosimo IO::Socket works well when used in LWP::Simple to download data through HTTP servers. However, if I connect to a local memcached socket, it hangs indefinitely...
17:07 mls give 'bigint_get_long: number too big' here
17:08 cosimo in particular, it's the $sock.recv() call that hangs forever
17:09 cosimo sorry, $!PIO.recv() hangs, not $sock.recv()
17:09 tadzik maybe it's a Parrot thing?
17:10 tadzik can you try it in pir?
17:10 mls strace?
17:10 cosimo i probably could?
17:10 cosimo what I don't understand is what's different between a socket to whatever.domain.com:80 and localhost:11211
17:10 tadzik me neither
17:10 mls strace?
17:10 mls Then you'll see the difference
17:11 cosimo yes, i can try straceing
17:12 tadzik nom: enum IoC::Lifecycle <Singleton>
17:12 p6eval nom 88d801:  ( no output )
17:12 tadzik hmm
17:14 dual_ joined #perl6
17:20 cosimo mls: the difference is that when it hangs, recvfrom(<sock>) results in a -ERESTARTSYS
17:20 jevin joined #perl6
17:21 cosimo it seems to receive the data but remain stuck in the recv loop
17:21 mls ERESTARTSYS? Isn't that when some signal occured?
17:21 mls does the trace include a SIGCHLD or something?
17:21 mls or SIGALRM
17:22 cosimo hold on
17:23 cosimo the ERESTARTSYS is caused by my SIGINT ... LOL
17:23 cosimo was logging to a file, now it's in my console, and it's stuck on the recvfrom(<sock>) syscall
17:25 cosimo https://gist.github.com/1171210
17:25 tadzik jasonmay: https://github.com/jasonmay/perl6-ioc/pull/3
17:27 cosimo mls: and this is the http server, https://gist.github.com/1171216
17:27 mls Yes, but both traces look normal
17:27 cosimo yes
17:27 mls memcached waits for further commands
17:28 mls the http server closes the connection
17:31 cotto_work ~~
17:31 cosimo mls: that's right, but $sock.recv() should return when it sees no more data...
17:31 mls the http connection would also "hang" if you add a "Keep-Alive" header
17:32 mls how should it know that there is no more data?
17:32 am0c joined #perl6
17:32 mls If you just want all data that's currently available, you need to set the socket to NONBLOCK mode
17:33 mls fcntl(s, F_SETFL, O_NONBLOCK)
17:33 MayDaniel joined #perl6
17:34 cosimo mls: when $!PIO.recv() returns 0
17:34 mls "0" means EOF. How should it know that there's no more data to come?
17:35 mls If memcached closed the socket, then you would get a "0".
17:35 mls But that's not how the protocol is specified
17:36 mls you read the answer until you get the END. then you either send more commands or send a "quit" command.
17:36 mls The idea is that you can do multiple operations with one socket connection.
17:37 cosimo I understand this, but still the socket object behaves differently even in a Keep-Alive request
17:37 mls (That's also why "Keep-Alive" was added to HTTP, socket connections are expensive)
17:37 mls How did you do the keep-alive request?
17:38 cosimo with a "Connection: Keep-Alive" header
17:40 mls Hmm, maybe the server doesn't support it.
17:40 mls can to gist the strace?
17:40 mls you
17:41 cosimo mls: I had left a $sock.recv(255) in there while testing the keepalive
17:42 cosimo so yes, of course it blocks because the server doesn't shutdown the socket
17:42 cosimo silly /me
17:42 mls same with memcached.
17:42 cosimo mls: sorry I wasted your time
17:42 mls no prob ;)
17:42 cosimo I have to try the same with Perl 5's IO::Socket and check if I get the same results
17:44 moritz I've just read parrot's socket.pmc
17:44 moritz it always tries to read 2048 bytes at once
17:44 moritz and rakudo's IO::Soeckt.recv just calls that method until $size bytes have been received
17:46 mls so no "nonblocking" mode?
17:47 mls (you'd need select(), of course)
17:49 moritz oh, the method read() does that
17:49 cosimo moritz: if you specify $size, otherwise it's Inf, hence the blocking
17:49 moritz so it's just a matter of wrapping read
17:51 cosimo and there's a poll() too which seems interesting
17:52 cosimo alright, I really need to go home now
17:54 molaf joined #perl6
18:02 tadzik oh, chromatic commented on my blag too
18:02 tadzik http://ttjjss.wordpress.com/2011/08/24/what-is-production-ready/#comment-92
18:03 flussence Perl 6 is like HTML. There's a spec. There's nothing stopping you from using ActiveX but you have only yourself to blame if you do.
18:04 tadzik „If I write code today, will I have to abandon it during yet another compiler rewrite?”
18:04 tadzik Yeah, right...
18:04 moritz chromatic seems to be quite focused on those rewrites
18:05 moritz does IO::Socket::INET work in nom? (apart from it returning Str instead of Buf)
18:12 TimToady well, chromatic is in violent agreement with what we're actually doing, though perhaps not with what he thinks we're doing.  Yesterday he said http://irclog.perlgeek.de/perl6/2011-08-24#i_4321390, but what's really going on is that we're trying to get the fundamentals right, and you can't do that without trying them various ways.
18:13 tadzik I'm quite in favor of http://irclog.perlgeek.de/perl6/2011-08-24#i_4321394
18:14 TimToady and the way to have a production-ready rakudo by his definition is not to ignore the fundamentals for now
18:14 TimToady I wish we were smart enough to understand all the fundamentals in advance, but we're not.
18:15 tadzik huh
18:15 PerlJam TimToady: do you really think Perl 6 will "rescue Parrot" ?
18:15 TimToady I don't think anything else will.
18:16 tadzik seems that nom is _terribly_ slow at compiling stuff
18:16 tadzik https://gist.github.com/1171350
18:16 PerlJam oh, good point.
18:16 tadzik based on the 'alive' output, it takes it like 11 seconds to compile it, and virtually 0 seconds to run it
18:16 PerlJam (unless one of the other language implementations makes large strides forward and gets adopted by that languages community)
18:17 PerlJam add appropritate apostrophe :)
18:17 tadzik also, did I mention that I really like IoC? I really like it :)
18:18 uasi joined #perl6
18:18 PerlJam tadzik: turning procedural things into declarative things does tend to simplify code  (when done right)
18:18 moritz phenny: tell snarkyboojum about the nom branch in https://github.com/moritz/Perl6-MIME-Base64 (but it breaks it on master :/ -- I don't think there's a way to fix it for nom without breaking it on rakudo/master)
18:18 phenny moritz: I'll pass that on when snarkyboojum is around.
18:20 tadzik hmm, I can think of another simplification for IoC :)
18:21 jevin joined #perl6
18:23 mls I've got a fix for the 32bit now hang
18:24 moritz \o/
18:24 flussence mls++
18:25 mls It's actually a simple fix. I just changed a,b,c,d in the "convergents of the continued fraction" to be Num instead of Int
18:26 mls recompiling the setting...
18:26 PacoLinux joined #perl6
18:28 mls (workaround as Int * Int doesn't promote to Num when the result doesn't fit)
18:29 moritz that might be fixable too
18:29 mls Yes, probably. For now: https://gist.github.com/1171388
18:32 * moritz tries it
18:33 mls Arg, it's incomplete ;(
18:34 mls It can't work, the result doesn't fit in a Rat
18:35 mls forget about the patch...
18:35 mls There's simply no way to put the posix time plus some milliseconds in a Rat consisting of two 32bit values
18:36 flussence aww :(
18:36 flussence (how did it work before?)
18:37 mls when did it work?
18:37 flussence it's only been broken recently AFAIK
18:37 flussence as in, past few weeks
18:39 mls probably no milliseconds fraction
18:43 mls at least now we know why it's hanging...
18:47 flussence S02:1364 is interesting reading...
18:51 mls (moritz++ added the Num->Rat conversion code on July 2nd. dunno how it worked before that)
18:55 tadzik moritz: could you poke modules.perl6.org to update?
18:58 jasonmay tadzik: https://metacpan.org/module/Bread::Board::Manual::Concepts::Typemap
18:58 jasonmay inference is really nice and I might want to keep named params in resolve for this purpose
18:59 tadzik oh, I see
18:59 tadzik feel free to ignore that one then
19:00 tadzik I wonder how do I remove this from the pull request
19:00 tadzik if I can
19:02 jasonmay no worries, I'll cherry-pick when I get the time
19:02 tadzik kthx
19:03 mls with old rakudo: say pir::time__n.Rat.WHAT  --> Num()
19:03 birdwindupbird joined #perl6
19:08 moritz mls: your patch makes several spectests fails here
19:08 moritz tadzik: uhm, modules.perl6.org should update hourly... doesn't it?
19:08 mls yeah, it doesn't return a Rat. As I said, ignore it. It simply doesn't fit in a Rat.
19:09 tadzik moritz: well, IO::Select's not there
19:09 tadzik moritz: and it is in the API
19:09 tadzik (which updates hourly too, I think)
19:10 benabik mls: https://gist.github.com/1171507
19:10 dalek rakudo/alpha: fd0a184 | (Martin Berends)++ | / (3 files):
19:10 dalek rakudo/alpha: [alpha] update README with Subversion->Github moves, tweak test_summary.pl
19:10 dalek rakudo/alpha: review: https://github.com/rakudo/rakudo/commit/fd0a1841c3
19:11 tadzik nom: class A { submethod BUILD { say self.WHAT } }; A.new
19:11 p6eval nom 88d801: OUTPUT«A()␤»
19:11 tadzik hmm
19:12 tadzik nom: class A { submethod BUILD { say 'building' ~ self.WHAT } }; A.new
19:12 p6eval nom 88d801: OUTPUT«Use of uninitialized value in string context␤building␤»
19:12 tadzik hihi
19:12 boppenjp joined #perl6
19:12 benabik nom: class A { submethod BUILD { say 'building' ~ self.WHAT.Str } }; A.new
19:12 p6eval nom 88d801: OUTPUT«Use of uninitialized value in string context␤building␤»
19:13 benabik Curious.
19:13 moritz tadzik: update running
19:13 tadzik nom: class A { submethod BUILD { say ('building' ~ self.WHAT) } }; A.new
19:13 p6eval nom 88d801: OUTPUT«Use of uninitialized value in string context␤building␤»
19:13 * tadzik scratches head
19:13 tadzik rakudo: class A { submethod BUILD { say ('building' ~ self.WHAT) } }; A.new
19:13 p6eval rakudo a55346: OUTPUT«buildingA()␤»
19:14 tadzik nom: class A { submethod BUILD { say self.WHAT.WHAT } }; A.new
19:14 p6eval nom 88d801: OUTPUT«A()␤»
19:14 tadzik eek
19:15 mls have to leave, see you guys tomorrow...
19:16 pmichaud good afternoon, #perl6
19:16 pmichaud tadzik: type objects stringify differently than they gist
19:17 benabik nom: class A { submethod BUILD { say 'building' ~ self.WHAT.gist } }; A.new
19:17 p6eval nom 88d801: OUTPUT«buildingA()␤»
19:17 pmichaud nom:  say Int.WHAT, ~Int.WHAT;
19:17 tadzik goodbye mls, hello pmichaud
19:17 p6eval nom 88d801: OUTPUT«Use of uninitialized value in string context␤Int()␤»
19:17 tadzik I see
19:17 pmichaud ...both of which is different from how they .perl :)
19:17 pmichaud nom:  say Int.perl;
19:17 p6eval nom 88d801: OUTPUT«Int␤»
19:27 tadzik do we still have that pir level profile avaiable in nom?
19:28 PacoLinux joined #perl6
19:29 jevin joined #perl6
19:32 mj41 joined #perl6
19:33 diakopter moritz: I fixed the 30-40 remaining broken smartlinks I broke in S02/Literals
19:44 HarryS joined #perl6
19:47 tadzik http://www.perlfoundation.org/perl6/index.cgi?what_can_i_do_with_perl_6_today#run_some_code needs some updating
19:47 Su-Shee perl 6 MOP... anything to read besides the synopsis?
19:49 wk joined #perl6
19:57 masak joined #perl6
19:57 masak gd'eve, lambdacamels.
19:57 diakopter '
19:58 tadzik hello masak
20:01 molaf joined #perl6
20:01 mberends o/ masak
20:04 wamba joined #perl6
20:04 moritz Su-Shee: http://perlgeek.de/en/article/discovering-meta-object-protocol
20:05 Su-Shee moritz: I also have "the art of the MOP" and my smalltalk books :)
20:05 moritz Su-Shee: then src/Perl6/Metamodel/ in rakudo/nom :-)
20:05 masak .u 😄
20:05 phenny U+1F604 (No name found)
20:06 Su-Shee well maybe something _before_ that ;)
20:07 moritz tadzik: btw modules.perl6.org runs off the gh-pages branch - is that how it should be?
20:07 flussence IIRC the master branch didn't work
20:07 flussence or something - all the instructions in it point to the gh-pages branch instead
20:07 tadzik moritz: no eye deer, I never touched the gh-pages branch
20:09 mberends Su-Shee: jnthn explains a lot in various talks: http://jnthn.net/articles.shtml
20:10 y3llow_ joined #perl6
20:10 pothos_ joined #perl6
20:10 cotto_work What's the ETA of nom merging?
20:13 mberends cotto_work: probably at least a week from now, because jnthn++ has some deep debugging to do, is a little under the weather and offline for a few days.
20:13 pmichaud actually, I'm planning to do the switch before jnthn++ returns.  he and I discussed it yesterday
20:13 masak \o/
20:13 pmichaud (via /privmsg)
20:13 mberends ooh!
20:13 pmichaud unless anyone has a strong objection to it.
20:14 masak I hope you like bug reports.
20:14 pmichaud I'd also not want to miss an august release altogether
20:14 TimToady what's the state of the memory leak?
20:14 pmichaud so, we'll put lots of caveats on the announcement
20:14 cotto_work Thanks.
20:14 mberends the memory leak has prevented me building nom on a 1GB netbook for several weeks now.
20:14 pmichaud memory leak is still there.  jnthn++ said he couldn't fix it before departing
20:14 pmichaud mberends: I'm not sure the memory leak is the culprit.
20:14 Su-Shee moritz: you actually linked _everything_ BUT any Perl 6 MOP docs.. :)
20:15 pmichaud I think we may have two issues.  1) there's a memory leak, and 2) building nom takes a lot of memory.  It's not certain that the two are the same problem.
20:15 moritz Su-Shee: I don't think what you are looking for exists
20:15 moritz ie there's no API doc for *HOW yet
20:15 Su-Shee ah. oh.
20:16 dalek modules.perl6.org: e583214 | moritz++ | web/build-project-list.pl:
20:16 dalek modules.perl6.org: github URLs are all https these days
20:16 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/e58321414b
20:16 dalek modules.perl6.org: a2051d9 | moritz++ | / (2 files):
20:16 dalek modules.perl6.org: base page fetching on Mojo::UserAgent instead of LWP::Simple, since the latter does not seem to work with SSL on that particular box
20:16 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/a2051d9321
20:16 pmichaud it might be nice if they turn out to be the same problem.... but we don't have evidence for or against that notion yet.
20:16 mberends right
20:16 pmichaud masak: I like bug reports, but I like tests more.
20:17 masak pmichaud: I'm good at the former, not as good at the latter.
20:17 PerlPilot joined #perl6
20:17 tadzik pmichaud: what is the state of QRegex?
20:18 tadzik masak: imagine how many I would be able to _close_ after the switch :P
20:18 masak \o/
20:18 moritz most modules that use regexes more than trivially don't work with qregex
20:18 masak tadzik: I would have to, like, expend energy to open up as many as you close :P
20:18 tadzik yeah
20:18 moritz reasons include lack of <&rule>, variables, proto regexes and action methods
20:18 tadzik masak: please, don't reopen the old ones :P
20:19 pmichaud getting &rule to work is fairly easy.
20:19 pmichaud same for variable interpolations.
20:19 masak tadzik: oh, I'm happy to submit new ones :)
20:19 tadzik creative masak is creative
20:19 pmichaud anyway, I'm planning to do an aggressive rt cleanup around the time of nom->master
20:19 tadzik pmichaud: is there anything big on the TODO before the switch?
20:20 moritz masak: it will be much harder to find Null PMC Accesses on nom than on master :-)
20:20 PerlPilot joined #perl6
20:20 tadzik oh, I doubt it ;)
20:20 * moritz opens the punch list
20:20 masak moritz: I like a challencge :)
20:20 tadzik I found some easy one yesterday
20:20 moritz regex stuff
20:20 pmichaud just regex stuff... and most of that can be put back in place quickly
20:20 tadzik oh
20:20 moritz is the only one with a leading 1 remaining
20:20 pmichaud we need a refactor of regex stuff, though.
20:20 pmichaud (in nom)
20:21 PerlJam joined #perl6
20:21 pmichaud especially for the m// s/// etc. operations
20:21 tadzik nom: class A { has $!a; method b { c() } sub c { $!a } }; A.new.b
20:21 p6eval nom 88d801: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 1␤»
20:21 * moritz -> sleep
20:21 tadzik nom: class A { has $!a; method b { c() }; sub c { $!a } }; A.new.b
20:21 p6eval nom 88d801: OUTPUT«Null PMC access in get_attr_keyed()␤  in sub c at /tmp/eD3iB8Ekue:1␤  in method b at /tmp/eD3iB8Ekue:1␤  in mu <anon> at /tmp/eD3iB8Ekue:1␤  in mu <anon> at /tmp/eD3iB8Ekue:1␤␤»
20:21 masak \o/
20:21 tadzik masak: beat ya! :P
20:21 masak looking forward to submitting that one.
20:22 masak nice one, by the way.
20:22 pmichaud I guess the correct result would've been "cannot access private attribute in non-method" or something like that?
20:22 tadzik pmichaud: do you have any idea why compilation time would be so slow on nom?
20:22 pmichaud tadzik: not any strong idea, no.
20:22 masak I can just imagine it scraping against an unknown corner in the MOP.
20:22 tadzik perl6: extra/kdesdk-kcachegrindclass A { has $!a; method b { c() }; sub c { $!a } }; A.new.b
20:22 tadzik eeps
20:22 p6eval niecza v8-55-g0db7bb8: OUTPUT«[31m===[0mSORRY![31m===[0m��Attribute a declared outside of any class at /tmp/5aLq_nqJDW line 1:�------> [32mxtra/kdesdk-kcachegrindclass A { has $!a[33m�[31m; method b { c() }; sub c { $!a } }; A.n[0m��Methods must be used in some kind of package a…
20:22 p6eval ..rakudo a55346: OUTPUT«===SORRY!===␤You can not add an attribute to a module; use a class or role␤»
20:22 p6eval ..pugs: OUTPUT«pugs: *** Can't modify constant item: VUndef␤    at /tmp/lsUhGFR1jX line 1, column 1␤»
20:22 bluescreen10 joined #perl6
20:22 tadzik perl6: class A { has $!a; method b { c() }; sub c { $!a } }; A.new.b
20:22 p6eval pugs: OUTPUT«*** Undeclared variable: ("$__SELF__",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0x7fcb285fe3c9>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0x7fcb285ff159>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto =…
20:22 p6eval ..niecza v8-55-g0db7bb8: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $!a used where no 'self' is available at /tmp/WKn_8FMTzd line 1:â�¤------> [32m A { has $!a; method b { c() }; sub c { [33mâ��[31m$!a } }; A.new.b[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/…
20:22 p6eval ..rakudo a55346: OUTPUT«Null PMC access in get_attr_str()␤  in 'A::c' at line 22:/tmp/yc5t7bhqas␤  in 'A::b' at line 22:/tmp/yc5t7bhqas␤  in main program body at line 22:/tmp/yc5t7bhqas␤»
20:22 pmichaud tadzik: my suspicion is that there's some deep cloning taking place somewhere that we need to avoid/prune
20:23 masak I think it should be a parse-time error.
20:23 pmichaud either that or it may simply be that nom is creating far more ast objects than master did
20:23 tadzik pmichaud: is the pir profiling tool available in nom?
20:23 tadzik pmichaud: I have a program which takes 11 seconds to compile and 0.5 to run :/
20:23 pmichaud tadzik: you mean the one that records subroutine entries?
20:23 TimToady I think niecza has the appropriate message there
20:23 tadzik pmichaud: yes
20:23 pmichaud niecza++
20:24 pmichaud tadzik: it's implemented in nom but not enabled yet.
20:24 tadzik std: class A { has $!a; method b { c() }; sub c { $!a } }; A.new.b
20:24 p6eval std 516268a: OUTPUT«ok 00:01 120m␤»
20:24 tadzik pmichaud: how hard would be to enable it?
20:24 TimToady STD cheats on that one
20:24 tadzik I mean, tadzik-hard or pmichaud-hard? :P
20:24 TimToady std: $!a
20:24 p6eval std 516268a: OUTPUT«ok 00:01 118m␤»
20:25 pmichaud I need to add the opcode to nqp's routine generator
20:25 TimToady niecza: $!a
20:25 p6eval niecza v8-55-g0db7bb8: OUTPUT«[31m===[0mSORRY![31m===[0m��Cannot resolve class for private method at /tmp/m9DBBFt9F2 line 1 (EOF):�------> [32m$!a[33m�[31m<EOL>[0m��Variable $!a used where no 'self' is available at /tmp/m9DBBFt9F2 line 1:�------> [32m<BOL>[33m�[31m$!a[0m��Un…
20:29 ZaphrodZenovka joined #perl6
20:32 abercrombie joined #perl6
20:42 mberends joined #perl6
21:16 drbean joined #perl6
21:20 sftp joined #perl6
21:28 frhodes_ joined #perl6
21:34 lue joined #perl6
21:34 uasi joined #perl6
21:37 lue hello planet o/
21:38 uasi joined #perl6
21:51 wamba joined #perl6
22:01 wolfman2000 joined #perl6
22:06 wolfman2_ joined #perl6
22:09 wolfman2000 joined #perl6
22:15 wolfman2000 joined #perl6
22:23 tadzik hello lue!
22:24 lue I notice my module's new name is poking its description on modules.perl6.org [thinking of how one might fix that...]
22:25 tadzik I don't see it
22:25 tadzik I think I have an outdated modules.perl6.org :)
22:26 tadzik oh, I see now
22:26 lue Oh. [well, I did go to http://modules.perl6.org . That's where I see it.]
22:26 tadzik I wonder why IO::Select isn't there
22:26 flussence .oO( <dl class="table-display">... something seems off about that )
22:27 lue I do want to work on modules.perl6.org a bit, just curious how the update procedure goes (or is there some cron job that does that automagically?)
22:27 flussence there's a script that does... something
22:27 lue flussence: I agree, but I think there's probably a reason for avoiding good ol' <table>
22:30 cryptographrix joined #perl6
22:30 cryptographrix hi
22:32 lue hello o/
22:32 tadzik hello cryptographrix
22:34 AndroUser2 joined #perl6
22:40 Khisanth joined #perl6
22:40 lue Hm. What would you describe the panda badge as? "Conforms to the latest Perl6 module spec"? [it's what the badge's tooltip says]
22:42 frhodes joined #perl6
22:42 frhodes joined #perl6
22:47 lue What do I need to do to update http://modules.perl6.org ? [I want to add a description of the panda badge to fame-and-profit]
22:49 wamba joined #perl6
22:50 lue [I ask because the link given in the README for the github pages version is broken, so I really am confused on what to do to update the website]
22:51 REPLeffect joined #perl6
22:58 nebuchadnezzar joined #perl6
23:06 molaf_ joined #perl6
23:11 REPLeffect joined #perl6
23:16 [Coke] joined #perl6
23:34 Psyche^ joined #perl6
23:37 [Coke] ~
23:42 tadzik lue: that means the META.info is up to the latest standards
23:44 lue thought so.
23:45 sili joined #perl6
23:47 wamba joined #perl6

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

Perl 6 | Reference Documentation | Rakudo