perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/
Set by mncharity on 25 March 2009.
Tene I'm less than half-motivated! 00:00
mncharity Tene: eg 'perl6 has numerous implementations underway.' also the belief, I've seen elsewhere, that nothing but the current perl impl will ever run p5.
TimToady Tene: sure, but your half motivated is better than a lot of other people's fully motivated :) 00:01
Tene really gone now.
mncharity TimToady: pugs was dealing with hoards. how to characterize their motivated-ness is unclear to me. "the fully motivated are already participating" seems very odd. What interpretation other than 'by definition' would make this true? 00:03
You think there's no one, in the entire p5 community, who if they knew of STD.pm, might be interested and capable of helping out with it? 00:04
TimToady this is a volunteer effort. this includes the charismatic leaders and the purveyors of the wonderfulness of STD :) 00:05
mncharity /me puzzled 00:06
TimToady at the moment, I'm still recovering from my last charismatic roadtrip to purvey
charismatic purveyors have to be especially on guard from burnout 00:07
00:07 wayland76 joined
mncharity ah, ok. 00:07
/me looks forward to finding some recorded charismatic roadtripping
00:12 kanru left 00:13 sri_kraih left
mncharity anyway, my fuzzy impression is starting to be that the p5 community has gotten a bit disconnected from the p6 effort. it may be unclear on what it may provide (eg, "no p5. no xs."), what it needs (more developers of many sorts I would think), how to help and why, etc. 00:15
jnthn mncharity: The p5 user community or developer community? 00:16
mncharity both
00:17 payload left 00:18 DemoFreak left
mncharity the potential payoff of exploring this might be something like 'a B to p6 converter, with p5 running on rakudo, or say an elf compiling p5 opcodes' might alter how people think about p6. 00:18
even if it was just a 'week project and blog post' kind of toy. 00:19
rephrase, the potential payoff of exploring this might be learning that something like writing a B to p6 converter, letting p5 run on rakudo, or alternately an elf compiling p5 opcodes, might have a useful impact on how p5 people think about p6. 00:20
jnthn FWIW, I think that the Perl 5 devs continuing to focus on Perl 5 is a Good Thing.
mncharity indeed 00:21
TimToady those of us working full tilt on getting to Christmas tend to view these things as good but not on the critical path
00:21 eternaleye joined
jnthn mncharity: I go to a fair few workshops. And my perception is that there is certainly a lot of interest in Perl 6. 00:21
TimToady and when we do get to Christmas, there will be plenty of motivation to do the other things
jnthn However, interest in using it when it's at a point that it's suitable for people to do so - and that point will vary by individual - differs from interest in helping make it happen faster. 00:22
TimToady but at the moment we're still in passion week, so things look pretty grim from time to time :)
and we've done plenty of big splashes in the past, some of which result in negative backlash when instant gratification is not forthcoming. 00:23
so our current strategy is to keep it on a low boil 00:24
just keep mentioning p6 from time to time on perlmonks and such
this process is a lot like trying to steer an asteroid 00:25
doing it with nukes is apt to be counterproductive
just slow steady pressure in the same direction is cumulative 00:26
mncharity hmm. lots of good points. I certainly am not at all suggesting the "look! p6 implementation X now does Y and Z!" splashing. but we also don't seem to be doing quiet, honest, concrete, "here's how many people are working on p6, and what they're working on. we could make more rapid progress if we had additional people of types foo and bar, to help with hee and qux." 00:30
TimToady well, time for my Good Friday thing. 00:32
bbl &
mncharity g'night
00:35 meppl left, [particle]- left
mncharity OLPC's python efforts arguably failed for (somewhat) similar reasons. A small team, which for >year thought "We're too *busy* to get help, to spin up a dev community. We'll let the big boom at the end take care of that.". Then no boom, in part because of no community. And all the time the python community 00:35
00:36 meppl joined
mncharity thought they had this big staff, instead of it being basically 3 or 4ish people. Interpreted everything (not)happening through this perception, and wrote off helping. 00:37
jnthn: so interest, yes. but i wonder how many of those would could clearly make valuable contributions, are aware of just how valuable/valued their efforts would be. 00:39
00:42 japhb left, eternaleye left
mncharity so, perhaps, and opportunity to get more people to work with. 00:45
g'night all &
jnthn night
00:45 mncharity left
literal hm, this is normal? sial.org/pbot/35927 00:49
00:52 bitfish left, kanru joined 00:57 ZuLuuuuuu left
jnthn literal: If Pod::Parser is not pre-compiled, it's very possible. 00:58
literal ok 01:03
01:04 Maghnus_ joined 01:21 Maghnus left, Maghnus_ is now known as Maghnus 01:22 Limbic_Region left 01:25 wknight8111 joined 01:28 Whiteknight left
meppl good night 01:40
01:42 meppl left 01:53 hercynium joined 02:01 japhb joined 02:03 braceta joined 02:04 kanru left 02:08 nbrown joined
bacek__ *incoming* 02:23
02:23 bacek__ is now known as bacek
wayland76 ducks 02:24
bacek EWRONGWINDOW... 02:25
wayland76: how HTTP::Daemon going?
wayland76 straightens up and sighs reliev-ed-ly
bacek: I'm the wrong person to ask
Basically, I still haven't got a working Rakudo RPM
bacek EWRONGPERSON
too many EWRONG* stuff... 02:26
02:26 kanru joined
wayland76 I'm waiting on parrot to apply some patches from me 02:26
But they don't seem to be interested in doing so
bacek wayland76: they are just quite busy...
wayland76 Yeah, I know that. But if they could at least either give me some feedback or apply the patch... :) 02:27
bacek You have to ask allison. She works on packaging. 02:28
wayland76 Yeah, I guess. Last time I looked, she wasn't around, but that was a week ago, so I'll try again :) 02:29
bacek good luck :)
afk # kids time
02:32 braceta left, braceta joined, Kisu joined 02:34 Kisu left 02:36 jauaor joined 02:37 Kisu joined 02:38 PZt left 02:51 braceta left, braceta joined 03:06 Util left 03:15 FurnaceBoy left 03:16 orafu left, orafu joined 03:22 cdarroch left, wknight8111 left 03:33 hercynium left 03:41 justatheory left 03:43 meppl joined 03:47 braceta left 04:11 [particle]1 joined 04:13 goksie joined 04:18 nbrown left 04:19 skids left 04:40 sitaram joined 04:41 msmatsko left 04:46 msmatsko joined 04:50 sitaram left 05:12 jauaor left, araujo left 05:20 jaldhar_ joined, jaldhar_ is now known as jaldhar
jaldhar what is the proper method signature for BUILD? 05:21
because if I just do BUILD {} I get... 05:22
too many arguments passed (3) - 1 params expected
with rakudo built a few days ago.
05:26 Silencio82 joined, explorer left
wayland76 rakudo: BUILD{} 05:27
p6eval rakudo 79aba9: OUTPUTĀ«Could not find non-existent sub BUILDā¤current instr.: '_block14' pc 53 (EVAL_16:37)ā¤Ā»
wayland76 rakudo: method BUILD{}
p6eval rakudo 79aba9: ( no output )
jaldhar hmm. Then how do I initialize a class? 05:28
05:30 sephee joined
wayland76 I don't know the answer to these questions, I'm afraid, and I don't have a working rakudo at the moment 05:32
rakudo: class fooclass { method BUILD{ say "built!\n"; }; } 05:33
p6eval rakudo 79aba9: ( no output )
wayland76 rakudo: class fooclass { method BUILD{ say "built!\n"; }; say "other\n"; }
p6eval rakudo 79aba9: OUTPUTĀ«otherā¤ā¤Ā»
wayland76 rakudo: class fooclass { method BUILD{ say "built!\n"; }; say "other\n"; }; fooclass.new();
p6eval rakudo 79aba9: OUTPUTĀ«otherā¤ā¤too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;fooclass;BUILD' pc 122 (EVAL_19:60)ā¤Ā»
jaldhar see thats what I get 05:34
wayland76 rakudo: class fooclass { method BUILD{ say "built!\n"; }; say "other\n"; }; fooclass.new('hi');
p6eval rakudo 79aba9: OUTPUTĀ«otherā¤ā¤too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;fooclass;BUILD' pc 129 (EVAL_19:62)ā¤Ā»
wayland76 rakudo: class fooclass { say "other\n"; }; fooclass.new('hi');
p6eval rakudo 79aba9: OUTPUTĀ«otherā¤ā¤Ā»
wayland76 hmm. Unfortunately, this tends to be the wrong time of day to ask. It's 3:30pm here in Australia. I usually find that questions like that get answered better after say 6pm or 7pm (3 or so hours from now) until sometime in the morning after I wake up 05:36
If you wait around, though, maybe someone will show up who knows the answer ( bacek, are you there?)
rakudo: class fooclass { submethod BUILD{ say "built!\n"; }; say "other\n"; }; fooclass.new('hi'); 05:37
p6eval rakudo 79aba9: OUTPUTĀ«otherā¤ā¤too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;fooclass;BUILD' pc 129 (EVAL_19:62)ā¤Ā»
jaldhar its kind of late at night for me to (Eastern US) so I will come back tomorrow then. 05:38
too*
wayland76 wait, one more try
rakudo: class fooclass { submethod BUILD($example) { say "built!\n"; }; say "other\n"; }; fooclass.new('hi'); 05:39
p6eval rakudo 79aba9: OUTPUTĀ«otherā¤ā¤built!ā¤ā¤Ā»
jaldhar aha!
wayland76 there you go :)
rakudo: class fooclass { submethod BUILD() { say "built!\n"; }; say "other\n"; }; fooclass.new('hi');
p6eval rakudo 79aba9: OUTPUTĀ«otherā¤ā¤too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;fooclass;BUILD' pc 129 (EVAL_21:62)ā¤Ā»
jaldhar thanks let me try this...
wayland76 Spec and ack ++ 05:41
(I presume you know about ack? )
05:43 amoc joined
pugs_svn r26184 | lwall++ | [t/spec] differentiate reverse from flip and invert 05:44
TimToady there's nothing fancy about BUILD signatures, as long as you realize all the arguments are coming in as named args 05:47
(and that BUILD needs to be a submethod)
jaldhar wayland76: no I'm sorry what does ack mean? And btw it still doesn't work if the class actually has attributes
TimToady ack is a recursive grep
wayland76 ack is like grep, but uses perl regular expressions
jaldhar oh that ack. I've heard of it.
TimToady you need to set the private attributes $!foo
wayland76 (and, as TimToady pointed out, it does grep -R . if you don't specify files) 05:48
05:48 sri_kraih joined
wayland76 Btw, TimToady, I've worked out what we can do for Perl 7 05:49
Imagine an interlinear text editor that lets you write mathematical equations
Now imagine writing your code in that :)
(equations with actual proper layout, etc) 05:50
TimToady Ask not what Perl 7 can do for you; ask what you can do for Perl 7... :)
wayland76 That's why I started wrestling with writing an interlinear text editor this afternoon :)
But it currently segfaults :( 05:51
TimToady and since Koine Greek was invented by God to be a language in which theological truths could be expressed with mathematical accuracy, you can also use it to produce a 100% accurate translation into English. :) 05:53
sorry, my tongue seems to have become permanently stuck in my cheek somehow... 05:54
05:54 justatheory joined
wayland76 No, that's fine :) 05:55
I'm not as au fait with Koine as you are, but I got through around 15 lessons before I dropped out due to other commitments :) 05:56
TimToady I remember one of my greek teachers one day saying, "some of you are going to be preachers, and I'll be sitting in your audience" 05:57
wayland76 But English isn't 100% accurate. It's like looking at a low-res image of Greek :) 05:58
TimToady and you'll get up there and say "dynamai means 'dynamite'!"
if you do, I will stand up in the middle of your sermon and say "It does not!"
and sit down
dynamai simply means "I can". It's a vanilla word
wayland76 ok :) 05:59
TimToady most greek words are vanilla words
that lesson has stuck with me
most words are not explosives, but small tools to approach the truth 06:00
and it takes a great number of them to head off false interpretations even approximately
and there are precious few 100% accurate statements in any natural language, including Koine 06:01
wayland76 That makes English sound like Entish :)
TimToady but this is as it should be, because it prevents us with coming up with a formula, when the truth is something that can only be discovered by living it 06:02
06:02 frew|work joined
TimToady this does not stop people from coming up with formulas for success continually, of course :) 06:02
wayland76 Hmm. Interesting :).
jaldhar *sigh* it seems I am still not getting it. Consider: 06:03
class cow { has $!sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new; say $go.sound;
TimToady but we should not be fooled by them in either a theological realm or a programming realm
jaldhar I get: Could not find non-existent sub moo
which is, uh, not what I expected.
wayland76 "success"? I was thinking of holiness (which is success, I guess), and the later Puritan solidification into a formula 06:04
TimToady the error is certainly peculiar, but it should be complaining that it cannot find method .sound
so maybe it just printed the wrong string
jaldhar this is rakudo from early last week incidently
wayland76 rakudo: class cow { has $!sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new; say $go.sound; 06:05
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā»
TimToady rakudo: class Cow { has $.sound is rw; submethod BUILD () { $!sound = 'moo'; }; }; say Cow.new.sound;
p6eval rakudo 79aba9: OUTPUTĀ«too many arguments passed (3) - 1 params expectedā¤current instr.: 'parrot;Cow;BUILD' pc 186 (EVAL_22:67)ā¤Ā»
wayland76 rakudo: class cow { has $!sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new.sound
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā»
TimToady you certainly can't call .sound with a private attribute 06:06
rakudo: class Cow { has $.sound is rw; submethod BUILD ($a) { $!sound = 'moo'; }; }; say Cow.new.sound;
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā»
wayland76 rakudo: class cow { has $!sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new;
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā»
jaldhar if you don't give an arg to BUILD you get the three parameter error. If you make sound $. you get the NULL PMC error
TimToady rakudo: class Cow { has $.sound; submethod BUILD ($a) { $!sound = 'moo'; }; }; say Cow.new(:a<arf>).sound; 06:07
06:07 frew|work left
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» 06:07
wayland76 rakudo: class cow { has $.sound is rw; submethod BUILD($a) { $!sound = 'moo'; }; }; my $go = cow.new;
06:07 frew|work joined
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» 06:07
TimToady rakudo: class Cow { has $.sound; submethod BUILD (:$a) { $!sound = 'moo'; }; }; say Cow.new(:a<arf>).sound;
wayland76 rakudo: class cow { has $.sound is rw; submethod BUILD($a) { $sound = 'moo'; }; }; my $go = cow.new;
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā»
rakudo 79aba9: OUTPUTĀ«Scope not found for PAST::Var '$sound' in BUILDā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā»
TimToady rakudo: class Cow { has $.sound; submethod BUILD (:$!a) { }; }; say Cow.new(:a<arf>).sound; 06:08
p6eval rakudo 79aba9: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā»
TimToady rakudo: class Cow { has $.sound; submethod BUILD (:$!sound) { }; }; say Cow.new(:sound<arf>).sound;
p6eval rakudo 79aba9: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā»
jaldhar btw I am on the right track initializing my attributes in BUILD aren't I?
TimToady rakudo: class Cow { has $.sound; submethod BUILD (:$sound) { $!sound = $sound; }; }; say Cow.new(:sound<arf>).sound;
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā» 06:09
TimToady rakudo: class Cow { has $.sound = 'woof'; submethod BUILD (:$sound) { $!sound = $sound; }; }; say Cow.new(:sound<arf>).sound;
p6eval rakudo 79aba9: OUTPUTĀ«Null PMC access in getprop()ā¤current instr.: 'infix:=' pc 14925 (src/builtins/assign.pir:20)ā¤Ā»
TimToady well, perhaps BUILD isn't entirely up to snuff yet in rakudo
wayland76 I'll send them a rakudobug 06:10
TimToady I suspect they know it already :)
jaldhar its the way initialization is supposed to work though right?
TimToady several of the things I tried should have worked
wayland76 Ok, I won't then
TimToady there was some discussion of it several days ago, i think 06:11
wayland76 jaldhar: Yes, I think so
TimToady though it doesn't make sense to declare a $!sound is rw, since the rw is what is applied to the (non-existent) accessor 06:12
jaldhar I had it $. at first. $! was just while I was messing around trying to get it to work 06:13
TimToady rakudo: class Cow { has $.sound = 'woof'; }; say Cow.new(:sound<arf>).sound;
p6eval rakudo 79aba9: OUTPUTĀ«arfā¤Ā»
TimToady rakudo: class Cow { has $.sound = 'woof'; }; say Cow.new.sound;
p6eval rakudo 79aba9: OUTPUTĀ«woofā¤Ā»
TimToady well, that much works at least
but I think rakudo's .new is faking it at the moment 06:14
jaldhar that's good enough for me for the time being. I compile rakudo every week or so so I'll keep checking back. Goodnight all.
TimToady night, thanks 06:15
brunov gnight
wayland76 goodnight 06:16
06:21 Minthe joined
brunov TimToady, as a biologist, I expect Perl6 to have a .translate_dna method built into the Str type. 06:21
;)
TimToady likely... :) 06:22
Minthe Oh, I'd like the feature too. 06:23
In ruby I can add method directly to String, so calling like "AAA".translate_dna() is accepted. But I thought I cannot add methods in Perl 06:24
TimToady adding methods to existing classes is kinda evil. we call it "monkey patching" 06:25
wayland76 But you can do it 06:26
You just have to say "use MONKEY_PATCHING" first :)
Minthe Oh, nice. Thanks.
wayland76 (see S12 for details) 06:27
TimToady and then you use "augment Str {...}"
though nobody implements that yet
wayland76 Oh, cool :)
06:38 orafu left 06:51 Silencio82 left 06:54 davidad joined 07:07 Tene left 07:08 Silencio82 joined, goksie left 07:09 Tene joined 07:13 Silencio82 left 07:16 frew|work left 07:29 Khisanth left 07:33 Khisanth joined 07:44 nekobaka left 07:56 iblechbot joined 08:30 DemoFreak joined 08:48 M_o_C joined 08:50 ejs joined 08:51 ejs left 08:52 icwiener joined 08:55 amoc left 09:01 sitaram joined 09:33 M_o_C left 09:37 M_o_C joined 09:49 ZuLuuuuuu joined 10:01 Minthe left 10:09 payload joined 10:27 ejs joined
diakopter std: #{ "&{ say "}" }" } 3 10:36
p6eval std 26184: OUTPUTĀ«##### PARSE FAILED #####ā¤Can't understand next input--giving up at /tmp/DYOzwUBObi line 1:ā¤------> #{ "&{ say "}" }" } 3ā¤ expecting escapeā¤FAILED 00:04 37mā¤Ā» 10:37
10:40 sitaram left 10:42 iblechbot left
diakopter std: #{ "&{ say "." }" } 3 10:50
p6eval std 26184: OUTPUTĀ«ok 00:02 35mā¤Ā»
diakopter std: #{ "&{ #{ say "." } }" } 3 10:51
p6eval std 26184: OUTPUTĀ«ok 00:02 35mā¤Ā»
diakopter std: #{ "&{ #{ say "}" }" } 3 10:52
p6eval std 26184: OUTPUTĀ«ok 00:02 35mā¤Ā»
diakopter std: #{ { "&{ say "}" }" } 3 10:53
p6eval std 26184: OUTPUTĀ«ok 00:02 35mā¤Ā»
10:55 brunov left
diakopter TimToady: I still maintain that inline/block quotes/comments is unworkable... b/c you end up having to quasi-parse the inside as full-fledged outer-language.. otherwise any contained unmatched brackets of the surrounding type will mess it up... 10:57
10:57 M_o_C left
diakopter (inline *nested* block quotes/comments) 10:58
10:58 M_o_C joined
diakopter and it's too difficult to detect reliably the quoting status of those nested left/right pairs... imho. feel free to take that as a challenge for STD. :) or not. 10:59
11:02 payload left 11:26 jbt joined 11:45 orafu joined 12:20 iblechbot joined 12:41 LylePerl joined 12:46 ejs left 12:47 gilimanjaro joined 12:48 gilimanjaro left 12:51 Whiteknight joined 12:53 Tene left 12:55 Tene joined 13:07 gilimanjaro joined 13:20 LylePerl left 13:26 pmurias joined 13:39 LylePerl joined 13:46 kimtaro left 14:04 skids joined 14:17 iblechbot left 14:19 fridim_ joined 14:21 jbt left 14:27 sephee left 14:42 payload joined 14:47 gilimanjaro left 14:49 sri_kraih_ joined 14:58 frew|work joined 15:00 frew|work left 15:05 sri_kraih left 15:06 amoc joined
TimToady diakopter: nevertheless, the current approach is the least worst way to do it, and consistent with other quote constructs, and very easy to work around if you're unsure by doubling or tripling, or by using a different character. 15:07
15:08 goksie joined
TimToady and the mechanism is primarily intended for in-line comments in any case, not multi-line, and it's pretty easy to see if there's potential interference 15:08
in case of error, the error message will be fairly indicative of the nature of the problem 15:09
if we required people to use curlies, that'd be one thing, but people can use any brackets they like 15:10
and the bottom line is that ignoring nesting also producing the wrong result 15:11
15:12 payload left 15:13 sri_kraih joined 15:14 FurnaceBoy joined
TimToady *produces 15:15
so the issue devolves into "Doctor it hurts when I do this..."
15:24 jogla left 15:32 sri_kraih_ left 15:40 iblechbot joined 15:44 LylePerl left 15:46 hercynium joined 15:49 goksie left 15:52 Psyche^ joined 15:53 araujo joined 15:54 Patterner left, Psyche^ is now known as Patterner
diakopter any design flaw or implementation bug can be construed as "Doctor it hurts when I do this" :P I agree that it's easy to work around by using a different character pair. Instead of emphasizing the non-rigorous ability to detect nested pairs, I recommend emphasizing (for clarity) in the S that it's a best practice to use a different open/close pair for nested brackets, though of course in the simple case (such as in other languages where /* /* */ */ or < 16:16
.... (repasted for you) practice to use a different open/close pair for nested brackets, though of course in the simple case (such as in other languages where /* /* */ */ or <!-- <!-- --> --> doesn't DWIM) it'll be handy.
pmurias diakopter: the specs are not really a best practice guide 16:17
diakopter in other words, the fact that there are 71 available Unicode pairs is what provides the flexibility 16:18
I seem to recall several other places in the S where best practices are mentioned 16:19
also, STD accepts (and shouldn't?) '#{' on the first line, I think 16:21
std: #{
p6eval std 26184: OUTPUTĀ«Undefinedā¤ok 00:02 34mā¤Ā»
diakopter interesting
s/hoards/hordes/g ? 16:22
skids ENONSEQUITER 16:25
16:25 mmpf joined
diakopter pmurias: how's it going 16:26
pmurias i'm working on a smop refactoring atm besides half-heartedly doing stuff for uni 16:35
diakopter how goes the smop refactor? 16:36
pmurias it's a bit segfaulty atm ;)
the refactored smop doesn't run any Perl 6 code yet 16:38
the refactored smop lives in re-smop 16:40
diakopter oh 16:43
skids: enonsequitor?
16:44 nihiliad joined 16:51 nihiliad left
pmurias diakopter: how ironperl doing? 16:53
16:53 Patterner left
diakopter coming along. giving a short talk at Lang.NET 2009 this week on it. 16:53
16:53 Psyche^ joined, Psyche^ is now known as Patterner
diakopter I'm happy with the OMeta-based parser 16:53
pmurias diakopter: where does it live in now? 16:54
diakopter I basically ported over my old "yap6" one that you saw last year :)
my local disk. I really should commit it somewhere.....
I rm'd the edition in pugscode b/c of the direction shift
16:55 nihiliad joined
pugs_svn r26185 | pmurias++ | [re-smop] $OUT.print("hi","\n") works with gc turned off and an --empty-setting option to mildew 17:00
pmurias diakopter: you should definitly commit it somewhere (the pugs repo? ;) if you are mentioning it to people 17:01
dalek kudo: e931dc0 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 359 files, 10300 passing, 0 failing
17:03
jnthn pmurias: Ain't GC fun? :-|
Wow. 10,300!
.oO( oh noes, here comes pmichaud with a factorial joke again )
17:04
pmichaud can't find function 'postfix:<!>' at line 1.
pmurias jnthn: it's not really real gc but still the lousy reference counting
jnthn pmurias: Doubt that makes it any more fun... 17:05
Writing slides is quite a good way to find Rakudo bugs... 17:06
pugs_svn r26186 | jnthn++ | Tests for calling mixed in methods with .?, .+ and .*. 17:09
jnthn oh geck...that wanted a [t/spec] at the start of the commit message
dalek kudo: bb664df | jnthn++ | src/classes/Object.pir:
Make .?, .+ and .* more likely to work with foreign objects, and also make them able to call methods that were mixed in.
17:10
kudo: 5b679a9 | jnthn++ | :
Merge branch 'master' of [email@hidden.address]
17:10 payload joined
pugs_svn r26187 | pmurias++ | [re-smop] fixed a bug which cause $OUT.print("hi","\n") to fail with gc enabled 17:31
17:33 Kisu left 17:36 Casan joined
pmurias diakopter: you aren't using STD for ironperl? 17:48
ZuLuuuuuu <xxx> I can understand, esp. if Tcl == Terrorist Control Language 17:50
<yyy> xxx: gee, thanks, you've just put a lot of people on The List.
<zzz> xxx: sssh. you'll alert the CIA. They have ways of dealing with people like the Tcl'ers, and they usually involve torture.
<xxx> Make us write in perl?
# from Tcl channel :)
couldn't help it :)
diakopter pmurias: not yet, b/c I wanted to implement the mutable syntax system early on, and I couldn't figure out an easy [for me] way to make the parser the chief of the runtime without doing it in Perl 5 17:52
so, I'm presuming that eventually it'll be adopted.
assuming my joke-implementation persists :D
it'll = STD'll 17:54
pmurias diakopter: when are you going to commit ironperl?
diakopter well, it's a tree of modified svn checkouts of other projects, so I'm not sure how to commit that to svn. 17:56
pmurias maybe forking them using git 17:57
diakopter: are you molding other things into a Perl 6 implementation or do you need customised versions of things? 17:59
diakopter eh, customized versions of things, some.
Tycho and OMeta# 18:00
OMeta# being the PEG
(generator)
18:01 oylenshpeegul joined 18:04 payload1 joined, payload left
oylenshpeegul If I build rakudo with 'perl Configure.pl --gen-parrot', it gets a copy of Parrot. How do I tell it to use the Parrot I already have? 18:06
18:10 Whiteknight left
PacoLinux oylenshpeegul: rakudo works with recent parrot, not instaled parrot 18:12
oylenshpeegul So even though I already have parrot 1.0 installed, I still need to build another one just for rakudo? 18:23
jnthn oylenshpeegul: That'll probably work out best, yes. 18:24
oylenshpeegul okay, thanks
18:30 oylenshpeegul left 18:32 amoc left 18:33 payload1 left
Tene rakudo: my $x = 'lol'; $x does role { method wtf { say 'omg hai guyz' } }; $x.wtf(); 18:36
p6eval rakudo 5b679a: OUTPUTĀ«'does' expects a role or a list of rolesā¤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)ā¤Ā» 18:37
Tene jnthn: thoughts on that before I dig into it?
jnthn Tene: I don't think I've ever thought about anonymous roles much... 18:42
rakudo: say (role { method wtf { say 'omg hai guyz' } }).WHAT
p6eval rakudo 5b679a: OUTPUTĀ«Codeā¤Ā»
jnthn Ah 18:43
Hmm. Awkward.
Anon roles are going to need some special hanling in actions.pm I think. 18:44
Because roles are really like multi-subs.
(And you can't have anonymous multis...)
Tene: BTW, did you get anywhere with the backtrace bits?
Tene Oh, right! I can do that now.
$x does $role 18:45
does work either
18:47 rindolf joined
rindolf Hi all. 18:47
Tene argh spelling
hi rindolf
rindolf Hi Tene
jnthn rakudo: my $x = role { method wtf { say 'omg hai guyz' } }; 42 but $role # like this?
p6eval rakudo 5b679a: OUTPUTĀ«Scope not found for PAST::Var '$role' in ā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā»
jnthn rakudo: my $x = role { method wtf { say 'omg hai guyz' } }; 42 but $x # like this?
p6eval rakudo 5b679a: ( no output ) 18:48
Tene rakudo: my $role = role { has $.x }; my $x = "hi"; $x does $role;
p6eval rakudo 5b679a: OUTPUTĀ«'does' expects a role or a list of rolesā¤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)ā¤Ā»
jnthn rakudo: my $role = role { has $.x }; my $x = "hi"; $x does $role(); $x.wtf
p6eval rakudo 5b679a: OUTPUTĀ«'does' expects a role or a list of rolesā¤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)ā¤Ā»
jnthn heh
rakudo: my $role = role { has $.x }; my $x = "hi"; say $role(); 18:49
p6eval rakudo 5b679a: OUTPUTĀ«ā¤Ā»
jnthn rakudo: my $role = role { has $.x }; my $x = "hi"; say $role().WHaT;
p6eval rakudo 5b679a: OUTPUTĀ«Method 'WHaT' not found for invocant of class 'Role'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 644 (src/classes/ClassHOW.pir:163)ā¤Ā»
jnthn rakudo: my $role = role { has $.x }; my $x = "hi"; say $role().WHAT;
p6eval rakudo 5b679a: OUTPUTĀ«ā¤Ā»
jnthn rakudo: my $role = role { has $.x }; my $x = "hi"; $role = $role(); $x does $role; $x.wtf
p6eval rakudo 5b679a: OUTPUTĀ«Method 'wtf' not found for invocant of class ''ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 644 (src/classes/ClassHOW.pir:163)ā¤Ā»
jnthn rakudo: my $role = role { method wtf { say "srsly wtf" } }; my $x = "hi"; $role = $role(); $x does $role; $x.wtf 18:50
p6eval rakudo 5b679a: OUTPUTĀ«srsly wtfā¤Ā»
jnthn Tene: And thus the fix. :-) 18:51
Tene: When the role is anonymous, chance the role body blocktype from declaration to immediate in the generated PAST.
Tene you going to do it or want me to?
jnthn feel free - my dinner is ready now so I'm going to eat. :-) 18:52
back in a bit
Tene YAY DINNER 18:53
diakopter rakudo: my $a= #{{ hi } }} 3 19:01
p6eval rakudo 5b679a: ( no output )
diakopter rakudo: my $a= #{{ hi } }} 3; say $a 19:02
p6eval rakudo 5b679a: OUTPUTĀ«3ā¤Ā»
jnthn OMG DINNER WAS TEH AWESOME 19:19
19:23 icwiener_ joined
Casan rakudo: 1..10.WHAT.perl.say; 19:23
p6eval rakudo 5b679a: OUTPUTĀ«Intā¤Ā»
Casan rakudo: (1..10).WHAT.perl.say;
p6eval rakudo 5b679a: OUTPUTĀ«Rangeā¤Ā»
19:24 rindolf left
jnthn Precedence. Sometimes it loves you. Sometimes it loves you not. 19:25
Casan jnthn: yeah, I just browsed through your ukraine slides and wondered. 19:26
jnthn Casan: Ooh. 19:28
Casan: Which ones?
This year's?
Casan just reading.. have a C# book I have to read, but it bores me, so I'm trying to do all the same tasks in p6
yep 19:29
on multi dispatch
jnthn Casan: Oh, the double(1..10); example?
Casan yup
jnthn Ah, OK. 19:30
I thought you meant I'd got that precedence error somewhere in my slides!
Casan: You coming to Nordic Perl Workshop?
Casan jnthn: nope I'm just cross referencing all the docs, articles etc I find and test with that
jnthn: fraid not, overlaps with a term paper 19:31
jnthn Aww, too bad. 19:32
Hope the term paper goes well.
Casan cheers
19:38 icwiener left
pmurias LS 19:46
(caps-lock)--
jnthn (irc-not-being-your-terminal)-- 19:48
19:53 payload joined 20:08 legis joined
Tene jnthn: ping 20:18
jnthn Tene: pong
Tene jnthn: have any preference on message for exceptions? 20:19
If not, I'm going with "exception thrown from source line %S\n"
jnthn "died at line %S\n" is maybe more Perl-ish?
Tene and for warnings? 20:20
20:21 hercynium left
Tene Perl 5 says: 20:23
%s at line %d\n
<message> at <file> line <line>\n that is. 20:24
same for warn.
jnthn Tene: I think if it was called warn("message") show <message> at ... 20:26
If there's no message, warning at... perhaps.
And same for die.
Tene I'm always inclined to try to add quotes somehow.
jnthn That may not be a bad idea... 20:34
Tene Looks like this will add some warnings I'm not sure about... 20:44
20:46 riffraff joined 20:47 ejs joined 20:50 ejs left 20:59 brunov joined 21:06 skids left 21:18 hercynium joined 21:22 pmurias left 21:23 ZuLuuuuuu left 21:29 masak joined
masak salutations, Lobstercamels. 21:30
jnthn heeeeeeeee's back! 21:31
masak looks behind and around himself in mock confusion
jnthn ;-)
masak can self mean anything directly in class blocks? 21:32
I increasingly find myself wanting it to.
(sometimes several different things one after the other)
jnthn The latter might be the reason why it can't. ;-) 21:34
masak I'm not yet at the stage where I've given up on it.
jnthn I'd tended to consider it an error outside of methods.
masak that's a fair alternative, I think.
jnthn But if there can be a sane non-confusing use of it...
masak yes.
jnthn The only other pace is attribute initializers
But since I think you can already write like 21:35
masak I was thinking of those.
jnthn has $.x will init { ... };
And that block gets self as a paraemter
masak hm :)
nice.
jnthn (OK, I dont think you can write that in Rakudo yet.)
masak no. :)
what happened today was that I wrote this: 21:36
has @!body;
has &!writer = { @!body.push($^x) };
...and that simply cannot work, I the realized.
s/the/then/
the problem is that the 'self' I'd like to use there would be the one defined in the method where I called that closure. 21:38
I suspect that's a bit too much to ask. it feels too magical, even for Perl 6.
jnthn rakudo: class Foo { has @.body; has &.writer = method ($x) { @!body.push($x) }; }; my $x = Foo.new; $x.writer("oh"); $x.writer("hai"); .say for $x.body; 21:40
p6eval rakudo 5b679a: OUTPUTĀ«Could not locate a method 'writer' to invoke on class 'Foo'.ā¤current instr.: 'die' pc 17360 (src/builtins/control.pir:222)ā¤Ā»
21:41 icwiener_ left
masak <nelson>HA HA!</nelson> 21:41
jnthn ...that wasn't the error I was expecting.
masak I suffered the same bug today.
jnthn rakudo: wtf?
masak (it's in RT already, among the other 304)
p6eval rakudo 5b679a: OUTPUTĀ«Statement not terminated properly at line 1, near "?"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
jnthn Damm, Perl 6 so needs a postfix:<?> :-) 21:42
masak oh wait, it's actually another error.
masak submits rakudobug
jnthn 305
masak well, 306. :)
jnthn wonders how similar in shape the Rakudobugs graph and the spectests graph look. 21:43
masak sounds like a job for science!
21:44 davidad left
masak jnthn: thanks for the tip about anon methods. I'll keep that in mind. 21:44
jnthn masak: It may work for your privates. 21:45
masak one can only hope.
jnthn But seems there is some issue with the accessor generation.
masak aye.
jnthn spent some of today writing his NPW slides 21:46
masak too
rakudo: class Foo { has @.body; has &!writer = method { @!body.push($^x) }; method p($str) { &!writer($str) } }; my $f = Foo.new; $f.p("OH "); $f.p("HAI"); .say for $f.body 21:47
p6eval rakudo 5b679a: OUTPUTĀ«No such attribute '!writer'ā¤current instr.: 'parrot;Foo;p' pc 570 (EVAL_21:191)ā¤Ā» 21:48
masak ah.
that's the error that was reported already.
jnthn No, before it was no such method.
Hmm 21:49
I wonder if it is mis-handling &!foo attributes
masak jnthn: yes, those are two different bugs. I'm reporting yours as we speak.
but mine was already discovered and filed away.
rakudo: class A { has &!m = method {}; method f { &!m() } }; A.new.f 21:51
p6eval rakudo 5b679a: OUTPUTĀ«No such attribute '!m'ā¤current instr.: 'parrot;A;f' pc 356 (EVAL_20:125)ā¤Ā»
masak rakudo: class A { has $!m = method {}; method f { $!m() } }; A.new.f
p6eval rakudo 5b679a: OUTPUTĀ«too few arguments passed (0) - 1 params expectedā¤current instr.: 'parrot;A;_block23' pc 157 (EVAL_20:64)ā¤Ā»
masak rakudo: class A { has $!m = method {}; method f { self.$!m() } }; A.new.f
p6eval rakudo 5b679a: ( no output ) 21:52
masak rakudo: class A { has $!m = method { say "OH HAI {self}" }; method f { self.$!m() } }; A.new.f
p6eval rakudo 5b679a: OUTPUTĀ«OH HAI A<0xb6a19880>ā¤Ā»
masak that works. :)
those & sigils on attributes don't work so well.
jnthn & sigil handling is a tad special for non-attributes. 21:53
masak ok. 21:54
masak rode a bus from one end to the other today
9 hours.
I used up the battery getting Web::Lobster to show up in the browser. 21:55
going to blog about it tomorrow.
rakudo: class A { has $.cl = { self.say } }; A.new.cl()() 21:57
p6eval rakudo 5b679a: OUTPUTĀ«Null PMC access in get_pmc_keyed()ā¤current instr.: 'parrot;A;_block27' pc 196 (EVAL_20:78)ā¤Ā»
masak submits rakudobug 307
literal masak: one end of what?
masak literal: the country.
literal which country? :)
masak literal: my country. :)
not lengthwise, mind you. 21:58
that takes ages.
literal Sweden?
masak aye.
jnthn Hah, for a moment I thought masak had taken my advice and visited Abisko, then thought...hey, that'd have been a hell of a fast bus.
masak: It really takes 9 hours?! 21:59
masak it's actually been quite a productive Perl 6 day. after the computer ran out of juice, I got time to think.
jnthn: those are buses, not fast trains. and they stop a lot to let people off and change drivers.
jnthn Ah.
Was gonna say, the trains is likely much faster.
masak they are. 22:00
especially the fast ones.
I prefer to do that distance by night if I go by bus.
jnthn Though probably costs ten times as much or something.
literal In the U.S. they're dog slow, unfortunately
masak twice as much or higher.
22:03 brunov left
jnthn In the U.S. from what I've gathered from being there a bit, trains can be useful for getting into/out of the big cities, but for long distance you would do them more out of fun than practicality. 22:04
masak I got the same impression from a "Social Collapse Best Practices" talk I listened to the other day. 22:05
the US is in for a bumby ride, it seems.
literal yeah, I took a 14 hour one from NYC to WV once (13 hours), the next time around I drove (7 hours)
jnthn WV? 22:06
literal er, that "14 hour" wasn't supposed to be there
West Virginia
jnthn ah, OK
When you can drive in half the time of the train, it's a tad depressing.
literal actually, the only reason I drove the second time was because my train got derailed just before it got to my stop :)
jnthn epic fail! 22:07
Not only can they not go fast, but they can't stay on the track. :-)
literal amtrak--
jnthn Indeed. 22:08
Even makes the UK look like a good example.
22:14 M_o_C left
jnthn OH NOES I arrive in Sweden just in time for rain. 22:16
masak you can't have everything, I guess.
literal doesn't it always rain in Sweden anyway? 22:17
or was that just Stockholm...
jnthn masak: Well, it's spring. Rain is kinda normal in this season. :-)
masak my Chinese friend says it's far too dry here in Sweden. 22:18
jnthn Really?
I like dry.
masak she's biased, though. she's only seen winter so far.
jnthn It wasn't very dry the days I was in Sweden this winter. :-P 22:19
masak looks bedwards reluctantly
jnthn: no. I remember. :)
jnthn needs to finish cooking before he can sleep
masak see y'all tomorrow.
jnthn night
22:19 masak left 22:24 orafu left, orafu joined 22:26 FurnaceBoy left 22:30 riffraff left, iblechbot left 22:32 payload left 22:46 ZuLuuuuuu joined 23:01 Tene_ joined
Tene_ jnthn: ping 23:02
23:03 Ehtyar joined 23:06 Ehtyar left 23:07 Ehtyar joined 23:14 Tene left 23:17 gilimanjaro joined 23:46 wknight8111 joined 23:55 ZuLuuuuuu left