»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moderator on 20 October 2009.
mathw of course all the songs are still going through my head 00:01
just kind of wish I'd been in more of them
mberends mathw: were there other bands performing too? 00:02
mathw no
it's just that there are quite a lot of us
seven singers
...one drummer
poor Roger looked quite exhausted even at the halfway point
mberends good times, clearly :) 00:03
mathw yeah :)
he's a great drummer
he's in a proper band, too
www.the-sons.com (plug plug)
I saw a tweet about pointy blocks in rakudo-ng 00:04
00:04 hercynium joined, xinming_ joined
moritz_ yeah, we're that modern today ;-) 00:05
twittering and stuff
mathw lol
so I can return to my examination of given/when/default
moritz_ aye 00:06
mathw: pmichaud said something about its implementation in the backlog
mathw looks
moritz_ just scraped 40MB of HTML pages, and leaves the job running all night 00:07
(yes, it respects robots.txt ;-)
00:07 eternaleye joined
mathw finds that pmichaud gave a recipe 00:08
okay 00:09
now I need to learn how to resolve a merge conflict with git
jnthn mathw: first, panic and swear los.
*lots
mathw: Then, open the conflicting file, resolve the conflict. 00:10
mathw: Save it, and then git add path/to/file
and git rebase --continue
Or something like that. :-)
arnsholt Oh, you have to rebase? 00:11
00:11 envi^home joined
arnsholt I've struggled with that a few times, and never figured it out 00:12
jnthn arnsholt: or maybe merge --continue or something
mberends mathw: another way is to back up you changes, git reset --hard HEAD^ or something similar, git pull and edit your changes again
jnthn arnsholt: I've tended to get these on a git pull --rebase though.
arnsholt Good point all
mathw found something that suggested git mergetool, which seems to have done the job 00:13
arnsholt I suspect the solution in my case is that I should read the whole tutorials, rather than the first ten pages or so that I've done so far =)
jnthn Oh, I was supposed to read a tutorial? :-)
mathw I spend so much time at work mucking about with svn merges I don't think my brain has much room for the git version
jnthn just adopted the monkey-on-typewriter and asking-on-irc strategy.
mathw although git seems to do them much more intelligently anyway
I love the idea that you have a commit which has an ID, and you can take a commit and stick it into another brnach and ther eit is in its original form 00:14
not 'this is a commit which merges some pile of shit from this branch'
mathw probably shouldn't be triyn gto implement given in his current mental state 00:16
quietfanatic Is there a way to have two names for one class?
mathw hmm definitely not
Too many positional parameters passed; got 1 but expected 0
jnthn quietfanatic: I guess you can do something like ::SecondName := ClassName; or something. 00:18
quietfanatic I though it'd be something like that 00:19
but it doesn't seem to work
Oh wait it does
TimToady als, my (::SecondName $) := ClassName 00:20
*also
I'd better start learning writing sans that letter, if the key is getting balky... 00:21
mberends TimTady: dn't wrry abut it ;) 00:22
mathw or you could start saving up for a new keyboard
quietfanatic According to chromatic++, the memory leak jnthn and I noticed has been fixed in a newer parrot than Rakudo uses.
jnthn quietfanatic: Ah, OK, cool. I thought we'd only bumped a day or two ago.
quietfanatic PARROT_REVISION say 42403 00:23
and it's fixed in 42431 or so
jnthn Ah, OK, cool. 00:24
mathw -> sleep
jnthn night, mathw
quietfanatic jnthn: actually it looks like chromatic++ fixed it just now 00:28
so yeah :)
jnthn chromatic++ 00:29
diakopter jnthn: I'm having to work around something weird in nqp 00:31
weird to me, that is.
NQP/Actions.pm method param_var 00:32
@BLOCK[0].symbol($name, :scope('lexical') );
lambdabot Unknown command, try @list
diakopter @BLOCK[0].symbol($name, :scope('lexical') );
lambdabot: die in a fire
jnthn diakopter: .symbol is a thingy that lets us store extra information about a variable. 00:33
diakopter anyway, upon reaching the Block, its symbol table can't distinguish between lexical and parameter
jnthn diakopter: Well, actually, a symbol in general.
00:33 orafu joined
diakopter I have a (very) hacky workaround (as usual) :) 00:33
jnthn diakopter: Ah, I can probably clarify that.
00:33 orafu left, broquaint left
diakopter (since I can't seem to add another attribute to those objects in that Hash) 00:34
00:34 ihrd joined
jnthn diakopter: parameter scope means "the source of this is a parameter, but we store it as a lexical" 00:34
So the entry in the block symbol table tells us that all lookups will be in the lexpad.
diakopter ok. the information I lack is a list of named parameters on the Block node 00:35
I thought I saw arity somewhere, but now I don't 00:36
jnthn .symbol you just saw. .symbol($name) gives the hash of everything we know about the symbol. .symbol($name, :key('value'), ... ) adds to the hash of stuff we know about it. 00:37
diakopter I modified Actions.pm in nqp to add another property, but it's not dumped
jnthn There is arity, yes - but don't rely on it too much.
Add another property to where? 00:38
When constructing the Block you mean?
diakopter to the line I pasted above
@BLOCK[0].symbol($name, :scope('lexical'), :isparam('you_know_it') );
jnthn Oh, and it doesn't dump it? :-/
That's a bit odd.
diakopter I didn't think it did... I'll try again. I suppose with make clean this time. :/ 00:39
jnthn It certainly stores them - I'm using this in Rakudo to stash bits.
Maybe it's in the dumping.
But anyway, a parameter scoped variable means "take a parameter, but then store in the lexical .name" 00:40
diakopter oh. it's dumping it now.
right, but I don't know about the parameters without walking the Block node 00:41
thoroughly
(without adding that tag/annotation)
which did work, now.
diakopter requests a patch to nqp :)
jnthn In PCT, we do do that. 00:43
Also, parameters get sorted based on named and slurpy flags too.
So having to walk the block node is not surprising or different. 00:44
I'd expect that you'd have to do that. :-)
00:44 meppl joined
diakopter whine 00:45
jnthn :-)
hugme: hug diakopter
hugme hugs diakopter
diakopter but that's an entirely different interpreter mode
jnthn diakopter: Isn't that something you can do as a pre-processing step on the data structure, before you start interpreting, though? 00:46
diakopter yeah, but, there's no need for that if it's already precomputed and can be put in that symbol hash as an annotation.. 00:47
I'll stick with this approach and whine/nag until you commit it :P
nqp: { sub a(){ say(55) } }; { sub a() { say(44) } }; a(); 01:07
p6eval nqp: 55␤
diakopter first wins
nqp: { sub a(){ say(55) } }; { sub a() { say(44) }; a(); } 01:08
p6eval nqp: 44␤
diakopter nqp: { sub a(){ say(55) } }; { sub a() { say(44) }; a(); }; a();
p6eval nqp: 55␤55␤
diakopter that's inconsistent
pmichaud: ^^ pick one :P
pmichaud I call Parrot bug. 01:24
still, that last one is inconsistent, yes. 01:25
diakopter suggests updating t/nqp/11-sub.t with how you want it to work.... even if commented out... (please) 01:27
(I was working on test 6)
pmichaud the final a() should be a "sub not found" 01:28
because sub declarations default to lexically scoped.
diakopter ... then test 6 in 11-sub.t is wrong
pmichaud could very well be.
yes, it is. 01:29
diakopter ok, whew. :) lexical makes me happier.
01:31 quietfanatic_ joined
diakopter hmm... dalek needs hangup 01:38
01:39 dalek joined
diakopter dalek: wb 01:39
01:39 gfx joined 01:57 Fancycakes joined 01:58 Fancycakes left
Wolfman2000 evening. Doing better...time to finish setting up the SQLite database. 02:07
slavik I call lots of parrot bugs ... but is it possible to limit parrot to a memory footprint? 02:18
02:23 ShaneC1 joined
colomon should we try bumping PARROT_REVISION in rakudo master, then? 03:02
03:06 seanstickle joined
colomon is going to go ahead and bump PARROT_REVISION to 42431 on his local rakudo and see what happens. 03:06
03:06 seanstickle left
colomon build went okay with 42431, as did make test 03:18
I'm going to set make spectest going and go to bed.
03:19 frew joined
s1n wow, i'm impressed: golang.org/doc/go_spec.html 03:24
Wolfman2000 feather experts: is there some sort of file that contains my command history? I think I need to look up mine. 03:26
s1n .bash_history?
Wolfman2000 s1n: ...would have been nice if the history I wanted was there. 03:27
s1n Wolfman2000: which shell?
Wolfman2000 bash. :(
I need to go beyond 500 lines
s1n Wolfman2000: export HISTSIZE=2500000 #put this in your .bashrc
lots of history 03:28
i keep 250mil history at work lol
Wolfman2000 s1n: still have the 500 lines
s1n Wolfman2000: you have to source your bashrc and history you have now is all you'll get 03:29
well, to start 03:30
03:33 gfx joined 03:52 justatheory joined 03:55 Exodist joined 03:56 envi^home joined 04:00 xomas_ joined 04:02 hicx174 joined 04:07 meppel joined, snarkyboojum left 04:11 dalek joined 04:23 ihrd left 04:27 ihrd joined
quietfanatic rakudo: class X {}; ::Y := ::X; say (sub (Y $p) {...}).signature.perl 04:52
p6eval rakudo f87efa: ( no output )
quietfanatic perl6 -e 'class X {}; ::Y := ::X; say (sub (Y $x) {...}).signature.perl' 04:53
> :(Object $x)
I'd like this to say either :(X $x) or :(Y $x)
Here's another 05:30
rakudo: our %hash<key> = "value"
I know that doesn't make sense, but
p6eval rakudo f87efa: Could not find non-existent sub key␤in Main (file src/gen_setting.pm, line 324)␤
quietfanatic I guess it's trying to be our %hash < key > = "value", but it should choke on the > = first, shouldn't it? 05:31
PerlJam no, because it chokes on calling the key sub first :) 05:33
quietfanatic But it checks that at runtime! 05:34
rakudo: our %hash<key> = "value"; BEGIN {say "compiled okay"} 05:35
p6eval rakudo f87efa: compiled okay␤Could not find non-existent sub key␤in Main (file src/gen_setting.pm, line 324)␤
PerlJam a < b >= c is perfectly valid Perl
(syntactically)
quietfanatic but not a < b > = c
space between > and =
hmm 05:36
rakudo: our (%hash<key>) = "value"
PerlJam std: a < b > = c
p6eval rakudo f87efa: Unable to parse declarator; couldn't find final ')' at line 2, near "<key>) = \\""␤in Main (file <unknown>, line <unknown>)␤
std 29059: Undeclared routines:␤ a used at line 1␤ c used at line 1␤ok 00:01 102m␤
quietfanatic err
really?
Well but std checks that before seeing the > = 05:37
PerlJam std: my ($a,$b,$c); $a < $b > = $c
p6eval std 29059: [31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix = instead at /tmp/Hwh0CXYkqx line 1:␤------> [32mmy ($a,$b,$c); $a < $b > =[33m⏏[31m $c[0m␤FAILED 00:02 108m␤
quietfanatic yeah
rakudo: our (%hash<key> = "value")
p6eval rakudo f87efa: Unable to parse declarator; couldn't find final ')' at line 2, near "<key> = \\"v"␤in Main (file <unknown>, line <unknown>)␤
quietfanatic rakudo: our %hash(<key> = "value")
p6eval rakudo f87efa: Confused at line 2, near "(<key> = \\""␤in Main (file <unknown>, line <unknown>)␤
quietfanatic rakudo: our %hash <key> = "value" 05:38
p6eval rakudo f87efa: Could not find non-existent sub key␤in Main (file src/gen_setting.pm, line 324)␤
quietfanatic rakudo: our %hash < key > = "value"
p6eval rakudo f87efa: Could not find non-existent sub key␤in Main (file src/gen_setting.pm, line 324)␤
quietfanatic rakudo: our %hash < 'key' > = "value"
p6eval rakudo f87efa: ( no output )
quietfanatic rakudo: our %hash < 'key' > = "value"; say "here"
p6eval rakudo f87efa: here␤
quietfanatic maybe the old prefix:<=> for iteration is still hiding in there somewhere 05:39
rakudo: say =$*IN
p6eval rakudo f87efa: prefix:<=> has been superseded by $handle.lines and $handle.get␤in Main (file <unknown>, line <unknown>)␤
quietfanatic rakudo: say 3 > = 4 05:40
p6eval rakudo f87efa: No applicable candidates found to dispatch to for 'prefix:='␤in Main (file <unknown>, line <unknown>)␤
quietfanatic rakudo: say 3 < 5 > = 4
p6eval rakudo f87efa: No applicable candidates found to dispatch to for 'prefix:='␤in Main (file <unknown>, line <unknown>)␤
quietfanatic rakudo: say 5 < 3 > = 4
p6eval rakudo f87efa: 0␤
quietfanatic :)
It is the ghost of prefix:<=>
PerlJam I guess so 05:41
quietfanatic Now that I'm satisfied with that, I think our %hash<key> should either DWIM or be a syntax error
I do that a lot in p5 too
std: our %hash<key> 05:42
p6eval std 29059: ok 00:02 101m␤
quietfanatic ...
std: our %hash<key> = 'value'
p6eval std 29059: ok 00:01 102m␤
diakopter std: our %hash<key> = key<%hash> 05:43
p6eval std 29059: ok 00:01 102m␤
quietfanatic wait but what about undefined sub key?
diakopter std: our %hash<key> = key <%hash>
p6eval std 29059: ok 00:01 102m␤
quietfanatic std: our %hash<key> = nothing_in_particular
p6eval std 29059: Undeclared routine:␤ nothing_in_particular used at line 1␤ok 00:01 102m␤
quietfanatic Is key a sub?
diakopter std: key
p6eval std 29059: ok 00:01 99m␤ 05:44
diakopter who knew
quietfanatic Maybe it's exported from Pair
diakopter rakudo: say key 4 => 5
p6eval rakudo f87efa: Could not find non-existent sub key␤in Main (file src/gen_setting.pm, line 324)␤
diakopter rakudo: tlety 05:45
p6eval rakudo f87efa: Could not find non-existent sub tlety␤in Main (file src/gen_setting.pm, line 324)␤
quietfanatic rakudo doesn't do method -> sub exportation
yet
diakopter rakudo: say (4 => 5).key 05:46
p6eval rakudo f87efa: 4␤
05:47 justatheory joined
diakopter rakudo: :: 05:47
p6eval rakudo f87efa: ResizablePMCArray: Can't pop from an empty array!␤in Main (file <unknown>, line <unknown>)␤
05:50 bpetering joined, orafu joined
diakopter rakudo: say (0 => 0 => 0) 05:52
p6eval rakudo f87efa: 0 0 0␤
Tene_ rakudo: , 05:59
diakopter hm
p6eval rakudo f87efa: ( no output )
colomon with parrot r42431, test #129 of t/spec/S12-attributes/instance.t gets a null PMC instead of dying "okay". :( 06:02
06:02 pnate joined 06:13 agentzh joined
TimToady std: :: 06:14
p6eval std 29059: ok 00:01 101m␤ 06:15
TimToady std: ::::
p6eval std 29059: [31m===[0mSORRY![31m===[0m␤Name component may not be null at /tmp/dSsKeRWknz line 1:␤------> [32m::[33m⏏[31m::[0m␤ expecting morename␤FAILED 00:01 99m␤
quietfanatic :: is for anonymous subs and classes right?
TimToady in a declaration as a placeholder, yes
std: sub :: {...} 06:16
p6eval std 29059: ok 00:01 100m␤
quietfanatic Is it like $ and @ too?
in being a bare sigil
TimToady :: is only sort of a sigil
it used to be considered a true sigil, but it was too ambiguous
std: ::$x
p6eval std 29059: [31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/jvArrkMbui line 1:␤------> [32m::[33m⏏[31m$x[0m␤ expecting any of:␤ POST␤ bracketed infix␤ infix stopper␤ morename␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤ statement modifier
..loop␤ terminator␤ whitespace␤Oth…
TimToady std: @$x 06:17
p6eval std 29059: ok 00:02 101m␤
quietfanatic Ah
TimToady there's on difference
*one
quietfanatic ::($x) would be a symbolic reference rather than a coercion
TimToady yes 06:19
Wolfman2000 ...even sqlite is not working right for me. GAH! 06:20
phenny: tell masak the sooner I can learn how to use Web.pm to avoid the issues I'm having with Catalyst and DBIC, the better.
phenny Wolfman2000: I'll pass that on when masak is around.
Wolfman2000 what other messages do I need to pass on... 06:23
...I've got nothing. Tomorrow will hopefully be better. 06:28
06:28 Wolfman2000 left 07:03 NorwayGeek joined
pmichaud hugme tweet rakudoperl nqp now understands flattening positional arguments, array constructors, floating point numbers 07:09
hugme hugs pmichaud; tweet delivered
07:12 Su-Shee joined
Su-Shee good morning. 07:13
07:15 pnate joined 07:21 kaare joined 07:39 NorwayGeek joined 07:47 NorwayGeek joined 07:48 NorwayGeek joined
moritz_ good morning. 07:51
08:04 barney joined
mathw morning 08:08
08:24 TiMBuS joined 08:38 rfordinal joined 09:21 broquaint joined 09:30 mariuz joined 09:40 NorwayGeek joined 10:02 rgrau joined, zamolxes joined 10:23 rfordinal left 10:53 payload joined, dalek joined 10:57 dalek joined 10:58 dalek joined 11:03 NorwayGeek joined, krunen joined 11:06 payload joined 11:16 payload1 joined 11:25 NorwayGeek joined
colomon morning 11:33
11:38 SmokeMachine joined
zaslon lolmoritzhazblogged! moritz++ 'Is Perl 6 really Perl?': perlgeek.de/blog-en/perl-6/is-perl-...-perl.html 11:55
12:02 KatrinaTheLamia joined 12:15 IllvilJa joined
jnthn o/ 12:23
moritz_ \\o 12:26
Woodi hi
colomon o/ 12:27
jnthn hates networks sometimes.
Woodi moritz_: i see one missed feature in Perl6... looks it stop to be generic unix scripting language... 12:28
to many layers: parrot or haskel ar js...
unix admins are/was main perl audience... 12:29
moritz_ Woodi: it might seem like this because many IO things aren't specced yet
Woodi: but the plan is to make common things as least as easy as in Perl 5
12:29 mhsparks joined
Woodi no, i talk about implementations of P6.. 12:29
moritz_ how would an additional layer stop it to be a unix scripting language? 12:30
Woodi layers... perl5 is needed for linux bootstrap, autoconfigure, etc.. no one want VM for booting...
moritz_ perl5 also has a VM 12:31
it's just better hidden
Woodi no, os developers do not like dependencies...
c perl6 implementation will be good 12:32
moritz_ will it?
12:32 Lorn joined
moritz_ parrot is implemented in C... 12:32
12:32 wisemanby joined
Woodi it one layer more... perl6 with parrot will disapper from linux/unixes installators... 12:33
just afraid, and many things can happen
moritz_ actually it usually happens the other way round 12:34
more distros ship more dynamic programming languages by default
debian's default desktop install now even includes mono
Woodi i just talk about this
mathw Hello 12:36
Woodi hmm, see your point -> more languages will make parrot happy ? :)
moritz_ hopefully :-) 12:37
12:37 beggars joined
moritz_ good afternoon mathw 12:37
Woodi hallo
mathw Parrot's really easy to build, so I doubt packagers will be too averse to rakudo depending on it...
hi moritz_
12:38 payload joined
colomon so, I tried building rakudo master with parrot r42431 last night 12:38
moritz_ it is now; it used to be a horror half a year ago
lisppaste3 colomon pasted "r42431 error" at paste.lisp.org/display/90227 12:39
beggars wondering if perl6 will be loaded by commercial unices, like a perl5 now 12:40
moritz_ colomon: that's known, yes :( 12:41
jnthn It passes all tests but then fails at exit?
Ew.
mathw beggars: at some point, hopefully, but it's a bit early to worry about that really
colomon jnthn: no test#129 is null pmc 12:42
12:42 FCO joined
colomon afk 12:42
jnthn colomon: oh.
12:44 NorwayGeek_ joined 12:48 payload joined
colomon back now. 12:48
r42431 is supposed to fix a major parrot memory leak, so I thought it was a good idea to try it in rakudo ASAP. 12:49
This one stupid test is the only thing stopping "make spectest" from it from being a complete success. 12:50
moritz_ do you have ICU installed?
unicode.t aborts for me 5 tests before the end 12:51
colomon moritz_: how can I tell?
moritz_ rakudo: say %*VM<config><icu>
p6eval rakudo f87efa: Use of uninitialized value␤␤
moritz_ rakudo: say %*VM<config>.perl
p6eval rakudo f87efa: {"hugefloatvalsize" => "16", "HAS_READLINE" => "0", "-Wno-missing-format-attribute" => "1", "HASATTRIBUTE_DEPRECATED" => "1", "backtrace" => "1", "exe" => "", "sysconfdir" => "/home/p6eval//p1/etc", "-Wimplicit-function-declaration" => "1", "-Wparentheses" => "1", "shortsize" => "2",
.."con…
Juerd length limitation fail :) 12:52
moritz_ rakudo: .say if /:i icu/ for %*VM<config>.keys
p6eval rakudo f87efa: has_icu␤icu_shared␤icu_dir␤
moritz_ rakudo: say %*VM<config><has_icu>
p6eval rakudo f87efa: 1␤
12:53 xenoterracide joined
moritz_ Juerd: Bot::BasicBot does some weird magic with word breaking, so simply allowing 5 less chars won't do 12:53
colomon I do not have ICU (%*VM<config><has_icu> == 0) 12:54
jnthn colomon: If it's just one test failing out of the whole test suite as a result of bumping the revision, but it fixes a major, major memory leak, I'd say it's the lesser evil to bump.
moritz_ that means this test won't even run on your box, xomas_
erm, meant colomon
colomon jnthn: read the backlog last night (maybe 9pm ish?) for the memory leak discussion, which I wasn't really a party to. 12:56
12:56 gabiruh joined
colomon oh wait, you were part of this discussion. :) 12:57
irclog.perlgeek.de/perl6/2009-11-12#i_1718887
moritz_ some brave soul might want to bisect it to a specific parrot revision and submit a bug report against parrot 12:58
does anybody know a recent good parrot rev?
Juerd Could probably be automated
12:59 xenoterracide joined
colomon well, 42403 is good and 42431 is bad, so that's a pretty narrow search range for a binary search. 13:00
moritz_ thanks colomon
colomon (or rather, 42403 is the current PARROT_REVISION -- I'm assuming that works!) 13:01
BTW, parrot rHEAD had is only a couple of ticks past 42431, but it incorporates what looked like a major merge of a branch... 13:05
moritz_ a merge that changed the location of PMC headers, IIRC
13:06 xenoterracide joined 13:07 _eMaX_ joined
colomon moritz_: are you trying the binary search on parrot versions, or should I do that (now that I'm done feeding my boy breakfast)? 13:21
moritz_ colomon: I failed and got distracted :/
so if you have tuits, by all means do it
colomon okay. 13:24
trying 42417 13:25
takadonet morning all
pmichaud good morning, #perl6 13:28
colomon \\o/
jnthn pmichaud: morning, though I'm going to run away for a while in 5 mins. 13:34
colomon 42417 fails instance.t 13:37
trying 42410
13:37 masak joined
moritz_ I hope you don't do bisecting by hand? 13:37
masak good $time-of-day,#perl6. 13:38
phenny masak: 06:20Z <Wolfman2000> tell masak the sooner I can learn how to use Web.pm to avoid the issues I'm having with Catalyst and DBIC, the better.
masak likes Wolfman2000's attitude
13:38 xenoterracide joined
jnthn masak: hej hej 13:39
colomon moritz_: I do if it's svn. Do you have a better way?
moritz_: besides, this is a very shallow search...
masak jnthn: ahoj!
moritz_ colomon: git mirror, git-bisect 13:41
13:41 xenoterracide joined
colomon moritz_: ...right. Why did it not occur to me to clone the svn repo in git? 13:42
moritz_ you don't even need to do it yourself 13:43
github.com/leto/parrot/
13:50 payload joined
colomon Ah. Good thing I checked my assumptions. Turns out 42403 is broken too. 14:01
14:01 NorwayGeek joined
colomon Can someone else confirm that make t/spec/S12-attributes/instance.t fails with a null pmc on the current rakudo master build? 14:03
moritz_ yes, failes here with parrot r42447 14:05
moritz_ checks if it's actually a NPA
ok 129 - dies: trying to modify instance attribute when invocant is type object 14:06
Null PMC access in set_attr_str()
in Main (file <unknown>, line <unknown>)
moritz_ has a horrible idea
it could be the last rakudo commit 14:07
colomon your substr fix? 14:08
moritz_ yes
trying with that fix reverted right now...
nope, without that commit it's still the same error 14:10
colomon I'm going to try a clean install of current rakudo and see what happens. 14:11
14:25 scion joined
colomon Yeah, okay, a clean checkout of rakudo master fails that test (on 64-bit linux) 14:29
Okay, S12-attributes/instance.t hasn't been changed since Oct 20. 14:30
time to go surfing through rakudo commits? 14:31
moritz_ maybe look at the smolder to see when it first failed 14:34
14:35 fridim_ joined
colomon 01c042fe88248e8e6a650fe4691b17706b65a13a fails, which is when PARROT_REVISION was bumped. 14:39
I don't know how to find/use smolder?
lisppaste3 colomon pasted "oh, hey, hmmm..." at paste.lisp.org/display/90235 14:40
14:41 finanalyst joined
colomon whoops, no that's S12-introspection, not S12-attributes. 14:41
moritz_ smolder.plusthree.com/app/public_pr...reports/18
finanalyst hi there. Any one here who can help with rakudo installation?
colomon yup.
moritz_ finanalyst: we can try 14:42
finanalyst duh. i sent an email to p6l list and got a reply! just updated to new ubuntu and forgot to install svn
colomon moritz_: errr... there's no way to drill down to see what the failures were for each of those? 14:43
moritz_ colomon: there is, you can click on the percentage
finanalyst: p6c would have been a bit more appropriate
finanalyst p6c is ? 14:44
moritz_ perl6-compiler@perl.org
finanalyst ah. yet more shame. sorry
14:44 seanstickle joined
moritz_ no problem 14:45
colomon moritz_: ooo, looks like it worked on Nov 9.
and failed on Nov 10 14:46
and of course, there were no significant changes in between?! 14:47
moritz_ the maybe it's a parrot change between 9. and 10th. Nov
people occasionally use a newer parrot version than required
PerlJam has pretty much stopped doing that. 14:48
colomon for smolder?
moritz_ yes
smolder also records the parrot rev
PerlJam newer-than-required parrots far too often cause breakage for me recently.
colomon I shouldn't jump to conclusions, let me see what happens here when I try them locally... 14:49
moritz_ PerlJam: yes, but some people try them to find those problems 14:50
and to see if it's safe to bump PARROT_REVISION further 14:51
PerlJam sure, sure. 14:52
14:55 a joined 14:56 a left
colomon okay, fe6dd277b3ffca7efca4f303af18f7e54e7202cc works. 14:56
I suspect it was just pmichaud's parrot bump that broke the test.
moritz_ so next step: test r42158 and r42403 of parrot 14:57
or I can do that
colomon well, let me verify for sure that that's the issue.
and then I'll let you do that, if you don't mind, so I can get some $work done.
pmichaud it wouldn't surprise me if the parrot bump caused the issue
dalek p-rx: 3795f33 | pmichaud++ | README:
README update.
14:58
pmichaud but we need to figure it out before parrot's release on tuesday :)
moritz_ wants to figure it out today
15:00 finanalyst left
masak moritz_++ 15:00
colomon Okay, yup, it was the parrot bump. 929998c9c6f2a98b14005005c9a2d1ed99ca8a76 works just fine. 15:03
colomon is very glad it wasn't his commits that weekend that broke it. :) 15:04
So yeah, moritz, somewhere between r42158 and r42403 lies the problem.
Any objections to my bumping parrot revision to the version with the memory leak fixed, since it doesn't have any additional errors than the version we are already using? 15:05
moritz_ +1
ok, parrot r42158 is clean 15:06
with those old parrot revisions it takes ages to compile the setting... 15:11
15:14 mariuz joined 15:19 Psyche^ joined
moritz_ passes with parrot r42403 too here 15:19
colomon errr... okay, that seems troubling. 15:23
jnthn back 15:28
PerlJam Since the master and ng branches have diverged, there have been 16 commits to master and 174 commits to ng. There were 175 commits between releases #21 and #22. 144 the release before. (just some random stats to fill everybody's head with :) 15:30
(and there have been 225 commits since the last release) 15:31
(well, since the last release by date as opposed to by the actual commit that was tagged as the release)
colomon what's the magic code to make "make spectest" run in parallel? (figured I should test the change again to make sure in a fresh build and on my quadcore machine) 15:33
moritz_ export TEST_JOBS=5 15:34
git mv README IGNOREME # SCNR :-) 15:35
hugme: hug me
hugme hugs moritz_
15:39 nihiliad joined
colomon moritz_++ # danke 15:39
15:44 cmohe joined
colomon doesn't see TEST_JOBS in the README, but does see spectest_smolder. Hmmm.... 15:44
masak I installed VLC today. they have a directory called GOODIES which contains all the README, LICENSE, ChangeLog etc. 15:45
I think having a directory GOODIES is a neat idea, but I was also a bit disappointed that it didn't actually contain any goodies. :)
15:46 cmohe left
jnthn masak: What sort of goodies should we include? 15:49
masak: I mean, different people will have different expectations. :-)
masak jnthn: I dunno. cool demos or something :)
Mac OS X has this weird space animation, which says "Welcome" in various languages. 15:50
it's simultaneously slightly bothersome and immensely satisfying. :)
moritz_ can't understand that, all the bisecting steps look clean 15:52
jnthn masak: I guess people are more likely to look in a GOODIES direction than in the README. ;-) 15:54
colomon moritz_: do you ever get a failure doing it the way you are now?
jnthn erm, directory
jnthn brews some tea in hope that if we drinks enough of it, his brain will eventually start working today
*he
...well, that or I'm royal.
moritz_ colomon: nope, all pass :/ 15:58
colomon moritz_: :O are you sure you're actually updating the parrot you are using? 15:59
moritz_ colomon: yes
dalek kudo: d04cce9 | (Solomon Foster)++ | build/PARROT_REVISION:
Bump PARROT_REVISION to 42431.
15:59 jaffa8 joined
colomon moritz_: platform issues? you did duplicate the bug at one point, right? 16:00
moritz_ I did, yes 16:01
16:02 am0c joined
colomon moritz_: Computers. Ugh. 16:03
16:06 iblechbot joined 16:14 tomyan joined 16:15 seanstickle left, justatheory joined
mathw whoa 16:22
I just realised what's going on with pmichaud++'s 'how to implement given' thing from yesterday 16:23
jnthn masak: oh
mathw congratulates his brain
jnthn mathw: oh
mathw: I can't use tab completion.
oh ARGH...that was meant for masak.
pmichaud mathw++
mathw no, it's just that we deliberately choose names to make sure you're awake
pmichaud mathw: so, want to explain it back to us? ;-)
masak jnthn: :P
jnthn mathw: Today I'm...erm...really not. 16:24
mathw pmichaud: It's parsed as an expression and a block. You want to pass the expression as a parameter to the block, which will handle it due to the way the pblock action works, so the swap and change pasttype does precisely that. Given is actually an anonymous subroutine call of a sort. 16:25
pmichaud mathw: exactly. :)
mathw of course
it still doesn't actually *work*
dammit!
jnthn Aww! 16:26
mathw [matthew@asymptote rakudo]$ ./perl6 gt.pl
Too many positional parameters passed; got 1 but expected 0
:(
pmichaud: but I understand what I'm trying to do! which is great :) 16:27
jnthn mathw: Hmm. That maybe suggests there's an issue with the block sig.
mathw jnthn: that's what I thought
mathw has a dig in the pblock 16:28
colomon what's the sample code, mathw?
mathw colomon: given 1 { }
colomon That is a block which expects 0, isn't it?
moritz_ no
blocks without a sig default to '$_ is ref = OUTER::$_' or so
pmichaud oh 16:29
when you call xblock, be sure to pass a (1)
mathw ah
for implicit
pmichaud otherwise it assumes a block with no implicit params
this is a change from STD.pm (which I hope STD.pm will adopt) 16:30
thus far, the things that are in a position to know if a block has an implicit param or not is whatever requests parsing of the block
16:31 rfordinal joined
mathw [matthew@asymptote rakudo]$ ./perl6 gt.pl 16:31
[matthew@asymptote rakudo]$
yay!
now to see if it sets $_
colomon \\o/
mathw yes it does
moritz_ ship it! 16:32
mathw so that's basic given statements functional
jnthn yay!
mathw I shall send off a patch
jnthn mathw++ :-)
16:34 rfordinal left
mathw The patch is on RT#70441 16:35
16:36 seanstickle joined
jnthn mathw: applying :-) 16:36
mathw yay! 16:37
this is almost like having a commit bit, only less dangerous
now think, brain
do when blocks need implicit
moritz_ mathw: for the next patch should git commit -am 'your commit message' 16:38
mathw: and then git-format-patch HEAD^1
and send the generated file
mathw doh
sorry, too much svn
moritz_ that way the meta information (author, commit message, date) is preserved
no problem, just makes life a bit easier for the one who applies
jnthn moritz_: Only if they know what to do with the patch. 16:39
moritz_: I've just applied it with the patch program.
moritz_ jnthn: git-am -s $patchfile
jnthn moritz_: I'm suspecting there's a Better Way that I shoulda known about.
moritz_ the -s adds the Signed-Off-By line
mathw would you like me to provide a proper gitlike patch instead?
Because I can do that
jnthn mathw: Not this time.
mathw: Send your next one that way, and we can both learn something. :-) 16:40
16:40 NorwayGeek joined
jnthn mathw: patch applied, thanks! 16:41
mathw :D
jnthn++
jnthn mathw++
pmichaud: Focus for ng today/tomorrow? 16:44
PerlJam jnthn: get it working. ;) 16:46
mathw Okay, I need to talk about some things to do with implementing when 16:47
but I can't now, as it's time to go play music again
jnthn mathw: OK, just let us known when you've time. :-)
Happy musicing. :-)
mathw at the moment, it won't be much until sunday, I'm off to london tomorrow
jnthn Ooh, fun. :-) 16:48
mathw I won't be upset if I come back and find someone else has implemented when already
jnthn Well, I hope it will be fun anyway.
16:48 jaffa8 joined
mathw yeah it should be 16:48
jnthn Cool :-)
mathw Jonathan Coulton concert on Friday night, then the Greenwich Early Music Festival on Saturday
jnthn Nice 16:49
mathw I'm looking forward to it 16:50
moritz_ have the appropriate amount of fun :-)
mathw Thanks for all the help
bye!
jnthn o/
TimToady 楽しんで!
pmichaud jnthn: nothing is at the top of my focus at the moment 16:52
right now I'm working to get nqp into Parrot
jnthn pmichaud: OK, I'll Just Write Code then. :-)
pmichaud would like to do that today, so that we can resolve any other issues prior to release next week
jnthn *nod* 16:53
dalek p-rx: 660234b | pmichaud++ | src/stage0/ (3 files):
Update bootstrapping.
16:57
17:01 PZt joined 17:03 cdarroch joined 17:12 ejs joined
PerlJam What's the difference betwen $<foo.ast> and $<foo>.ast ? (what does the former mean?) 17:12
pmichaud the former would be $/{'foo.ast'}
it's likely an error. 17:13
PerlJam oh.
See Actions.pm:273 then
:)
pmichaud looks like a bug to me 17:14
jnthn Oh! 17:15
pmichaud fixing.
jnthn That's why my try statement is epic fail.
pmichaud: I'm right by there at the moment, I cna.
*can
pmichaud jnthn: okay, you can do it
jnthn: are you working on try ?
jnthn pmichaud: Yeah 17:16
pmichaud okay.
jnthn pmichaud: Was there anything horribly wrong with the previous version?
pmichaud we might want some PAST refactors to do it right (the first set was a best guess at the time)
and yes, the previous version really wasn't correctish
jnthn pmichaud: We'll, I've managed to turn one of the bits of inline PIR into PAST.
pmichaud it's more that it's semantically not correctish
jnthn std: do say 42 17:17
p6eval std 29059: ok 00:01 102m␤
jnthn gah, why do we report a missing block. :-|
pmichaud did you define statement_prefix:<do> ?
jnthn token statement_prefix:sym<do> { <sym> <blorst> }
pmichaud hmmm
jnthn Figured it should be easy to add while doing "try2
pmichaud should be, yes. 17:18
jnthn oddly, try does seem to work.
well
"work"
pmichaud you'll need PerlJam++'s 273 fix
to get it to work
(to get "do" to work)
does "do" work if followed by a block?
jnthn pmichaud: Yes. 17:19
pmichaud sounds like a parsing issue, then
jnthn > do say 42 17:20
Missing block at line 1, near "say 42\\n"
> do { say 42 }
42
lambdabot Not in scope: `say'
pmichaud oh, blorst probably wants a <?[{]> 17:21
if it calls block directly, then block will complain about the missing block before <statement> ever gets a chance at it
jnthn yeah, I'd just seen bplock panics.
right :-)
PerlJam | is still || semantics?
pmichaud at the moment, yes. 17:22
I'll undoubtedly fix that soon, but it's not a huge blocker to progress
jnthn
.oO( does blorst! sound like a good swear word to anyone else? )
pmichaud: Yes, that fixes it. \\o/
pmichaud: And my try impl hangs. :-)
Oh...maybe I need to bring back the Exception class. 17:23
arnsholt jnthn: "blorst" sounds more like an onomatopoetikon to me 17:24
pmichaud "You think that keyword is cute today...."
PerlJam "onomatopoetikon"? 17:25
PerlJam has never seen -kon like that
or, I guess -tikon is the suffix 17:26
arnsholt PerlJam: I don't really know Greek, so I'm not 100% that's the right spelling, but I think it's right 17:30
Means sound word, at any rate
PerlJam I think "onomatopoeia" is it's own descriptor. i.e. "blorst" sounds more like an onomatopoeia to me. 17:32
or "blorst" is very onomatopoeic 17:33
17:35 zloyrusskiy joined
jnthn OK, we have do and try 17:35
And borst fixes
However, we can't die yet.
So we only pass half of try.t :-) 17:36
moritz_ "yes, we can"
jnthn moritz_: Letting us die is my next task. :-)
PerlJam moritz_: I think jnthn means we can only die unexpectedly. :)
euthanasia is not an option 17:37
jnthn Amusingly, right now we die while trying to die... 17:38
pmichaud recursive die considered harmful 17:39
jnthn > die "omg"
Could not find non-existent sub &die
lambdabot Not in scope: `die'
jnthn lambdabot: Exactly.
moritz_ lol
jnthn I think die got patched recently in master too... 17:40
Hmm...can probably write some of this in the setting though.
moritz_ jnthn: and we jumped from 152 to 169 passing spectests :-)
17:41 cognominal joined
jnthn moritz_: omg 3 figures now?! 17:41
moritz_: Which ones, out of curiosity?
moritz_ (tests, not test files) 17:42
PerlJam std: BEGIN say 42;
p6eval std 29059: ok 00:01 102m␤
PerlJam std: END say 42;
jnthn moritz_: aye, but last time I saw that number it was < 100
p6eval std 29059: [31m===[0mSORRY![31m===[0m␤Missing block at /tmp/PyljtTh21x line 1:␤------> [32mEND [33m⏏[31msay 42;[0m␤FAILED 00:01 95m␤
17:42 allbery_b left 17:43 allbery_b joined, alester joined
PerlJam rakudo has END as a statement prefix, but STD seems to disagree. 17:44
s/rakudo/rakudo-ng/
pmichaud hmmm
moritz_ S02-builtin_data_types/parsing-bool.t 03-operators/assign-is-not-binding.t S03-operators/scalar-assign.t S03-operators/relational.t 04-statements/until.t S06-signature/closure-parameters.rakudo S12-class/inheritance-class-methods.t S32-str/append.t
pmichaud std has
rule statement_control:END {<sym> <block> }
interesting.
jnthn Curious. The others are all prefixes. 17:45
PerlJam I think STD makes more sense though
jnthn wonders if it's a fossil or deliberate
PerlJam: How so? 17:46
PerlJam BEGIN et alia can all provide some value to the runtime. END can't.
jnthn PerlJam: Ah, good point.
so my $x = END 42 is a bit...well...
pmichaud well, END *can* provide a value to the runtime, once we add wormholes. 17:47
PerlJam pmichaud: have you been hanging out with Damian lately? :)
pmichaud That one comes from TimToady++, actually. See S04.
(although it _could_ have originated with Damian :-) 17:50
17:50 allbery_b joined
jnthn 12-try.t passes again. 17:51
pmichaud \\o/
jnthn pmichaud: That only leaves one file. ;-)
pmichaud I still haven't seen Mr Regex Man around yet. 17:52
jnthn Damm.
Which of us is gonna figure this out?
pmichaud oh, I'll do it
it's not problem, really -- just hasn't been ripe yet relative to other priorities
it's not really a blocker to running tests
jnthn OK. :-)
pmichaud except for those that might want to do pattern matching on the results
jnthn I did put parsing ~~ and stuff back in. 17:53
In fact, implemented ~~ in the setting too. :-)
pmichaud right now ~~ just calls infix:<~~>, yes?
jnthn yes
pmichaud that'll have to change a bit.
jnthn Oh?
Oh, there's some special forms...
pmichaud right.
jnthn Yeah.
pmichaud ~~ requires some syntactic analysis. still, the version you have works for now.
jnthn Sure
pmichaud but technically it's a cheat with bugs :) 17:54
jnthn And we fall back to that anyway.
pmichaud right
jnthn So it's not wrong, just incomplete. :-)
pmichaud any ideas about the best way to tackle the spectests?
jnthn BTW, can we put the logic in a method infix:sym<~~> in actions.pm ?
pmichaud I'd like to do that, yes.
17:55 payload joined
pmichaud I haven't quite figured out where it should go yet. 17:55
jnthn We piled loads of bits into EXPR before, which got a tad...well.. :-)
pmichaud we may want it to be done as a reducecheck, similar to what is done for ternary in STD and NQP
jnthn On the spectests...
pmichaud I think 'reducecheck' needs to be generalized just a bit more.
jnthn I'd really like to get us a target - or just have spectest itself as this - that contains stuff we know that we've got passing. 17:56
PerlJam I can always count on #perl for having conversations that look like they are in english, but are clearly *not*. :)
17:57 [1]jaffa8 joined
jnthn So we have an easy way to say "we just took a step forward, but did we take two steps back by accident" 17:57
pmichaud we could always copy spectest.data to spectest-master
jnthn Yeah
pmichaud and then comment things out in spectest.data
(or remove them)
jnthn Commenting out means easy to re-enable.
pmichaud actually, just commenting spectest.data might be enough
I suggest we do that
jnthn Same.
moritz_ volunteers 17:58
jnthn moritz_: Go for it!
17:58 [2]jaffa8 joined
jnthn moritz_: Leave uncommented the ones we're already passing. :-) 17:58
pmichaud then I was just going to start looking for tests that I think are lhf and re-enabling them
jnthn Yeah
diakopter std: my $_'hihi'_
p6eval std 29059: ok 00:01 101m␤
pmichaud sounds like a plan.
jnthn OK, great.
pmichaud std: my $damian_'EvilMadman'_conway 17:59
p6eval std 29059: ok 00:01 101m␤
18:00 stephenlb joined, ejs joined, pmurias joined
PerlJam I wonder how many other compilers parse a superset of the language they are for so that the compiler can generate better error messages? 18:02
18:03 _eMaX_1 joined
PerlJam I'm sure other compilers do it to some small degree, but Perl seems to go far and away beyond reason to help the programmer. 18:03
jnthn Oh 18:04
moritz_ pushed changes to t/spectest.data
jnthn We don't handle =begin yet.
pmichaud steal the one from nqp
jnthn ok
pmichaud it's pretty close.
jnthn That may quickly win back a few more tests...
pmichaud indeed, it's very likely to do that
TimToady I can argue myself into making most of the phasers take blorsts 18:05
pmichaud TimToady: it works out fine for us either way.
TimToady END say my $accum;
I just worry about CATCH a bit, since it has an argument 18:06
pmichaud the question is more whether END is a prefix or a control
TimToady or at least a $! of its own, maybe
but maybe not...
well, a $_ of its own
PerlJam TimToady: when an END blorst throws an exception, who is left to catch it? 18:08
(assuming a universe where ENDs have blorsts)
pmichaud s/END blorst/END phaser? 18:09
moritz_ t/spec/S03-operators/equality.t nearly passes, just not ok 6 - Undef eq '' doesn't
TimToady same person who catches it if you use a block and don't put a CATCH into it :)
we should consider the mainline code to be inside a "unit" subroutine in any case 18:12
jnthn pmichaud: (pod) worked great. :-)
TimToady not just to assume a try around it, but also to allow fail to return somewhere
so we don't get the stupid "return outside sub" error 18:13
pmichaud makes good sense
I can make that happen pretty easily.
TimToady maybe the name of that sub is &?UNIT 18:14
at least inside it :)
PerlJam TimToady: Hmm. Do you mean something different than "compilation unit" there? Like around all compilation units? 18:15
TimToady well &?ROUTINE should work anyway
something gets "called" for any compilation unit, so we might as well think of those as anonymous routines of some kind 18:16
not clear what namespace they live in
PerlJam AETHER :)
TimToady they haven't lived in any namespace so far
but we can at least name them from the inside via &?ROUTINE, I suspect
jnthn pmichaud: lolhalp 18:21
pmichaud: Parsing issue
class Foo { } # oh noes
class Bar { }
Results in Confused
However, remoiving the comment makes it happy again.
ENDSTMT looks like the one in NQP, fwiw 18:22
pmichaud looking
moritz_ nqp: class Foo { }; class Bar { } 18:23
p6eval nqp: ( no output )
moritz_ rakudo: say ''
p6eval rakudo d04cce: ␤
moritz_ nqp: class Foo { } # oh noes␤ class Bar { }
p6eval nqp: Confused at line 1, near "class Foo "␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
moritz_ nqp is also confused.
jnthn *nod*
I'd forgotten that NQP also knows the block form now.
pmichaud oh 18:24
I see the problem. 18:25
checking STD
neither NQP nor ng handle the case of comments after a closing brace yet
we need the <unv> subrule for that. 18:26
jnthn pmichaud: The one in STD looks vaguely copy-pastable. 18:29
The dba aside
pmichaud well, we'd have to fix up the <comment> protoregex, too. 18:32
jnthn pmichaud: yeah, doing that atm. 18:33
pugs_svn r29060 | lwall++ | [S04] liberalize phaser blorsts somewhat for more consistency, PerlJam++ 18:35
18:35 fax joined 18:40 payload joined 18:42 cognominal joined
pmichaud jnthn: any luck yet? 18:45
jnthn pmichaud: no, I'm just causing epic fail :-/ 18:46
pmichaud I'll take a look shortly, then.
getting the ws handling correct can be a bit tricky. 18:47
do we need comments-after-brace to be able to handle some more spectests?
jnthn pmichaud: It and the POD were the things that failed the parsing of S12-class/basic.t 18:49
Which I think we have a decent chance of passing without too many extra bits.
TimToady gee, if only it were block and statement, we could have 'phaser blasts'
pmichaud can the comments in S12-class/basic.t be reasonably moved? 18:50
i.e., are they relevant to the thing being tested?
TimToady it can be unreasonably moved :)
jnthn pmichaud: Well, it could, but... :-/
pmichaud: Feels like we should kinda get whitespace parsing right sooner rather than later. :-) 18:51
pmichaud I'm having to do a bit of $otherjob at the moment.
jnthn Sure
pmichaud I can absolutely have it fixed in a few hours
TimToady it's pretty fundamental...
jnthn I think I'm going to have to leave this to you.
pmichaud it's not that hard, just intricate
jnthn Yes.
And there's things in here that STD doesn't have.
frettled pmichaud: Thanks for that excellent quote.
jnthn And while e.g. <!ww> I can see how maps to something in STD
<?MARKER('endstmt')> I kinda can't. :-) 18:52
pmichaud <?MARKER()> and <?MARKED()> are HLL::Grammar's version of the $*MEMO arra
*array
jnthn MARKED sets a marker, MARKER checks for it?
pmichaud yes
basically, "set a marker at this position" and "check if this position has this marker set" 18:53
18:55 FCO joined
diakopter strolbs 18:58
[particle] poblorbl - pointy block or block 19:00
19:00 hcchien joined
jnthn pmichaud: well lol. Now I can't even parse normal comments. It's all yours, when you've time later. :-) 19:01
pmichaud: gist.github.com/233185 if you want to chuckle at my failpatch. :-) 19:02
jnthn moves the comment
(locally)
moritz_ also tried to do POD, ws and comments properly, and failed
jnthn moritz_: Yeah. It's...subtle. 19:03
oh you're kidding...S12-class/basic.t (ab)uses list comprehensions too! 19:05
moritz_ "basic"
jnthn std: is (class A61354_1 { eval q/method x { "OH HAI" }/ }; A61354_1.x), 'OH HAI'
p6eval std 29060: Undeclared routine:␤ is used at line 1␤ok 00:01 105m␤
19:05 hcchien joined 19:06 payload joined
pugs_svn r29061 | lwall++ | [S06] some phaser defossilization 19:06
TimToady had to read that error message several times, which is LTA 19:08
diakopter std: our ::_ 19:10
p6eval std 29060: [31m===[0mSORRY![31m===[0m␤Illegal redeclaration of symbol _ (from line 1) at /tmp/WFMRVKvzAl line 1 (EOF):␤------> [32mour ::_[33m⏏[31m<EOL>[0m␤ expecting any of:␤ declarator␤ multi_declarator␤ typename␤ whitespace␤FAILED 00:01 100m␤
diakopter std: our ::$_
p6eval std 29060: Potential difficulties:␤ Useless redeclaration of variable $_ (from line 1) at /tmp/0yAd1be2O8 line 1:␤------> [32mour ::$_[33m⏏[31m<EOL>[0m␤ok 00:01 101m␤
19:10 hcchien joined
diakopter std: my $$$$$$$$$$$ 19:11
p6eval std 29060: ok 00:01 101m␤
diakopter std: my %%%() 19:12
p6eval std 29060: ok 00:01 101m␤
TimToady std: my % % %() 19:13
p6eval std 29060: ok 00:01 101m␤
TimToady std: my %[] [%] %() 19:14
p6eval std 29060: ok 00:01 101m␤
dalek p-rx: 7b4f3e7 | pmichaud++ | src/stage0/ (4 files):
More bootstrap file regeneration.
p-rx: 0b3c754 | pmichaud++ | (27 files):
Remove trailing spaces from a lot of files, to make Parrot happier.
jnthn Whee. We make it through 26 our of 33 in S12-class/basic.t now. 19:16
pmichaud sometimes I think that we could write STD.pm shorter as token TOP { .* { say 'ok' } } :-P 19:17
but then I see STD's awesome error messages and think... wellllllll 19:18
diakopter std: my ()
p6eval std 29060: ok 00:01 102m␤
TimToady std: my %[] [%] %[]
p6eval std 29060: [31m===[0mSORRY![31m===[0m␤Anonymous variable requires declarator at /tmp/DM8uFURo0s line 1:␤------> [32mmy %[] [%] %[33m⏏[31m[][0m␤ expecting twigil␤FAILED 00:01 101m␤
TimToady std: my %[] [%] my %[]
p6eval std 29060: ok 00:01 101m␤
jnthn pmichaud: That approach is all well and good until you get to assigning semantics to what was parsed. ;-)
diakopter std: my ([]); 19:19
p6eval std 29060: ok 00:01 103m␤
pmichaud token TOP { .* { qqx{rakudo '$/'} } }
# first approximation?
jnthn lol
In proclaim((not defined $!), $reason); 19:32
Should that not be parsed by 19:33
token prefix:sym<true> { <sym> >> <O('%loose_unary')> }
?
I'm seeing that 19:34
say not 0
Is. 19:35
I suspect there's something odd-ish going on especially because: 19:36
> say true 1
1
> say not true 0
Could not find non-existent sub &postfix:<true>
...postfix?
19:37 masak joined
jnthn yayitsmasak! 19:38
pugs_svn r29062 | lwall++ | [STD] more blorstification, more quotes in error messages
masak \\o/
moritz_ lolitsmasak.
masak I was to a surreal play about handimen, but now I'm back. 19:39
jnthn That's...not the most usual activity, but sounds fun all the same. :-) 19:40
pmichaud I'm guessing the prefix/postfix logic is a bit messed up in EXPR, then. 19:43
jnthn pmichaud: I just glanced at it, and there are LOADS of dragons in there, so I'm going to the store to buy beer.
takadonet dragons.... 19:44
jnthn
.oO( so today I learned that I don't understand whitespace and expressions in Perl 6... )
jnthn also needs to eat soonish
Anyway, bbs.
PerlJam okay, I'm confused. I thought I'd implement something since I was in Grammar.pm and Actions.pm anyway, so I hacked up the unless statement modifier which worked great. Then I decided to add in "if" as well, and I get this error: invoke() not implemented in class 'Integer'. 19:54
If I set :pasttype('unless'), works great. If I set :pasttype(~$<sym>), I get that error. 19:55
moritz_ 'unless' is more correct anyway :-)
PerlJam it's correct for "unless", but not "if" :) 19:56
This is the diff with the unless :pasttype only: gist.github.com/233220
moritz_ I mean if you use ~$<sym>, and somebody overrides the sym, it'll fail to generate the code 19:57
PerlJam (both if and unless have the same semantics)
I thought I could give if and unless the proper semantics by just putting the $<sym> in the :pasttype
what am I missing?
ah, never mind, I think I just realized :) 19:58
pmichaud ...which <sym> are you adding?
be careful with the statement modifiers -- they're a bit tricky also. Check the master branch for some hints there. 19:59
PerlJam pmichaud: don't scare me away! :) 20:00
20:01 jaffa8 left
pmichaud just identifying the potential dragons :-) 20:02
dalek p-rx: 1bc1af6 | pmichaud++ | src/stage0/ (4 files):
Update bootstrap files with pod-valid forms.
p-rx: 1a8e0dc | pmichaud++ | src/ (4 files):
Clean up pod comments in source files.
PerlJam I was trying to pick something easyish without dragons 20:03
moritz_ :-)
pmichaud right. see my talks. "things that look simple often aren't."
"things that look hard often aren't." is in there too, though.
statement modifiers are indeed on the easy-ish side, but the naive implementations can have some issues. Thus look at the master branch for some ideas :) 20:04
20:04 payload joined
jnthn back 20:05
20:13 seanstickle joined 20:18 [particle] joined
PerlJam woo nqp sure does blow up if you use "=" instead of ":=" 20:18
mathw But it does tell you why! 20:21
jnthn At least it blows up in a helpful way now.
PerlJam yeah, but I got like 50 lines of output from compiling Actions.pm and it's only the first one that was really important to me 20:22
mathw is back (obviously) 20:23
pmichaud I'm still looking to implement more useful backtrace information into HLL compiler (a la Rakudo master)
in fact, #parrot was just discussing backtraces :-) 20:24
if someone wanted to translate the backtracking code from Rakudo master into some NQP-ish equivalent, that'd be a huge help :-) 20:25
don't have to worry about catching the exceptions, just something that does similar logic for creating the messages
s/backtracking/backtracing/
should even be easier now, since NQP does interpolations into qq{...} and "...", including closure interpolations :-) 20:26
20:28 seanstickle left
PerlJam pmichaud: so, should I check in my naive-doesn't-take-dragons-into-account statement conditional modifier code? 20:30
pmichaud PerlJam: if you're comfortable with it, sure!
I'll review it a bit later 20:31
if you wanted to write an equivalent for NQP, that'd be awesome also :)
(they should be very similar) 20:32
time to do school pickups
bbi30
20:42 Apocal joined
masak \\o/ new perl.org design! very nice! 20:42
moritz_ \\o/ indeed 20:43
masak clean, elegant, modern...
couldn't be better, IMO.
PerlJam It could do without the flash. 20:44
but ++ to whoever updated it! :)
20:44 payload joined
moritz_ it stopped mentioning Perl 6 on the front page :( 20:45
and the dev page still links to the auld page
20:45 ejs joined
moritz_ ng at 159 passing tests 20:46
*spectests
PerlJam urk. I didn't enable the spectests for the postfix if/unless statement modifiers. 20:47
20:48 payload joined
moritz_ that's because they don't pass 20:48
my @x = 41, (42 if $answer), 43;
ng doesn't like that
PerlJam: I run tools/update_passing_test_data.pl periodically to detect new passes 20:49
PerlJam ah 20:50
good to know
moritz_ so you don't need to worry about forgotten spectests
jnthn (perl.org) Big improvement! :-) 21:01
moritz_ as always I have my complaints :-) 21:02
but it's better than before, yes
(for example all external links open in new windows/tabs - this is 90ies)
pmichaud oooh, perl.org! shiny! 21:05
pmichaud spins the books a while on the learn.html page 21:06
pugs_svn r29063 | masak++ | [docs/feather] minor grammar-o fix
sjohnson pretty clean looking
21:10 TimTom joined, frew joined, TimTom left
masak Juerd: ping 21:11
21:12 payload joined 21:15 payload joined 21:17 payload joined
pugs_svn r29064 | moritz++ | [evalbot] don't try to build blizkost, it's bit-rotten 21:18
dukeleto blizkost has bit-rot? 21:19
news to me
what is up with it?
moritz_ pcc reapply branch
or did I miss something?
rakudo: say eval('2', :lang<perl5>) 21:20
p6eval rakudo d04cce: ( no output )
moritz_ at least the installation on p6eval's server doesn't work
jnthn pcc reapply would have hurt it lots. 21:23
21:37 zamolxes joined 21:38 astrojp joined 21:39 astrojp left
jnthn pmichaud: oh noes build fail 21:39
pmichaud: Looks like Parrot / NQP issue.
.\\pbc_to_exe.exe parrot-nqp.pbc
rc parrot-nqp.rc
parrot-nqp.rc (3): error RC2135 : file not found: parrot
RC command failed
pmichaud: oh, epic weird 21:43
pmichaud: If I make that parrotnqp instead of parrot-nqp in the makefile, it all works. :-|
(otherwise it goes looking for a file called just 'parrot')
moritz_ is to blame, probably 21:46
jnthn: how's the nqp executable called on your platform? 21:47
it's parrot_install/bin/parrot-nqp here
jnthn $(PARROT_BIN_DIR)\\nqp$(EXE) 21:48
Well, that's what Rakudo ng is using anyway...
moritz_ jnthn: did you git pull and reconfigure?
jnthn But I guess that is really nqp-rx.
moritz_: No no, it's Parrot that's failing to build.
moritz_ oh.
then I'm not to blame ;-) 21:49
jnthn Since the last revision bump.
Aye, I was thinking not. :-)
I think pmichaud++ is working on getting nqp-rx into Parrot today.
So probably related to that.
japhb jnthn, it's in
r42461
jnthn Aye, that's what's in PARROT_REVISION too. 21:50
oh, just changed _ to - ? 21:51
Ouch!
Maybe pbc2exe missing sone quoting.
21:52 [particle]1 joined
pmichaud msvc or windows doesn't like hyphens in names? 21:55
21:56 quietfanatic joined
jnthn pmichaud: Suspect windows command line... 21:59
pmichaud: I think the issue is something at the point of doing pbc to exe 22:00
I'm hoping it may be a lack of quoting or something else silly, that's easily fixed.
pmichaud if the problem is in a command produced by pbc_to_exe, it may not be so easily fixed. 22:01
jnthn Oh. 22:02
Because?
pmichaud well, we'd need to fix pbc_to_exe
and it may be getting its stuff from parrot configure
and....
it might be easy :)
but it might not. 22:03
jnthn heh, where's the source for pbc to exe?
pmichaud tools/dev/pbc_to_exe.pir, I think
jnthn ah, yes, 22:04
pmichaud: testing attempted fix 22:06
offs 22:09
pmichaud: Umm. 22:10
pmichaud: Even quoting it at the shell doesn't help.
pmichaud: The rc program still goes looking for parrot 22:11
stripping off the -nqp.rc
pmichaud ..... ".rc"?
never heard of *that*
I guess windows doesn't allow hyphens in command names?
jnthn *snort*
"Options are not case sensitive, and a hyphen (-) can be used in place of a slash mark (/)" 22:12
pmichaud yeah, but without even a space?
I suppose we can go back to parrot_nqp...but... ugh.
[particle]1 regularly names perl files t-whatever-i-am-testing.pl 22:13
[particle] and both 't-foo.pl' and 'perl t-foo.pl' work fine
jnthn Yeah, I've not seen this come up before.
oh hmm, wait a mo 22:14
oh
it's not the filename going to RC it seems
It's an issue inside the resoruce file
ah 22:15
adding some quotes in there maybe helps
Seems so 22:16
yes
pmichaud: patched 22:17
pmichaud what got patched? 22:18
jnthn pbc_to_exe
It wasn't quoting a name it probably needed to.
(If the name had non-ident chars, the .rc file it wrote was invalid.)
[particle] fires up his x86 parrot devel vm 22:19
jnthn The resulting executable works.
So I figure it's kosher.
22:21 KatrinaTheLamia joined
jnthn afauk, does ng handle things like 1.0 yet? 22:23
pmichaud not yet 22:24
jnthn k
pmichaud that one is pretty easy at the moment -- Perl6Str knows how to convert strings to numbers
we probably want to rewrite the number conversion in PIR instead of C, though
but that can be later 22:25
jnthn Does it know how to do the Right Thing with regard to Rat?
Or are we putting that off a little?
pmichaud putting it off a little if going through Perl6Str
22:25 KatrinaTheLamia joined
jnthn k, wfm 22:25
pmichaud it's a bit recursive -- I suspect that String-to-number conversion will want to parse using the grammar, which will then want to be able to do the conversion using the string-to-number conversion :) 22:26
masak reads that and gets dizzy
pmichaud: is the capitalization of String/string significant? 22:27
pmichaud not in that sentence
I suspect that Str.Num will, at some level, end up calling into the grammar to parse its contents
jnthn eek
OK
pmichaud but inside the grammar, we'll want to be able to convert the characters we find there into their "numeric" equivalents 22:28
we already do this for integers, that's not too challenging
it's just figuring out the algorithm for doing the same for 123.457E123
moritz_ and then call Rat.new() from that
pmichaud well, I suspect that E123 implies "not a rat", too 22:29
moritz_ erm yes, didn't se that E
jnthn Me either.
:-/
Maybe it wants to be "e"
pmichaud we may want to get STD.pm to parse dec_number in terms of whole and fractional components
currently it doesn't do that
jnthn nqp: sub has-a-hypthen() { } 22:30
p6eval nqp: Routine declaration requires a signature at line 1, near "-a-hypthen"␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
jnthn ...
jnthn suspects Rakudo has the same idea as ng on hypthens. :-)
pmichaud haven't added apostrophes or hyphens in identifiers yet 22:31
feel free t oadd
jnthn Sure
jnthn is putting lots of little bits back
pmichaud I'd be doing the same but have distractions here :-(
jnthn We can probably throw most of Any-num.pm back in place quite easily.
I'm just hunting the parse issues atm. 22:32
pmichaud the code for num from master is workable for now
(for parsing num and converting to float)
jnthn (secretly, I want to get the trig functions working again soon. then I can say I made thousands of tests pass again. ;-)) 22:33
PerlJam pmichaud: gimme commit on nqp-rx and I'll add if/unless statement modifiers. Or would you prefer a patch?
pmichaud hugme add PerlJam to nqp-rx 22:34
hugme pmichaud: ERROR: Can't add PerlJam to nqp-rx: 404 Not Found
moritz_ erm
hugme add PerlJam to nqp-rx
hugme moritz_: ERROR: Can't add PerlJam to nqp-rx: 404 Not Found
pmichaud hugme list projects
hugme pmichaud: I know about book, hugme, json, november, nqp-rx, perl6-examples, proto, svg-matchdumper, svg-plot, temporal-flux-perl6syn, tufte, web
moritz_ PerlJam: what's your github id?
PerlJam moritz_: perlpilot
pmichaud oh, yeah
japhb PerlJam, extra points for while, until, and for in statement modifier form. ;-)
22:35 Whiteknight joined
moritz_ perlpilot? 22:35
pmichaud ....for is special, might want to leave it out
PerlJam japhb: those will come later tonight if all goes well.
moritz_: aye.
moritz_ hugme: add perlpilot to nqp-rx
hugme hugs perlpilot. Welcome to nqp-rx!
japhb pmichaud, fair enough. Never hurts to ask. ;-)
pmichaud 'for' will require some block wrapping and management of $_
japhb nodnod 22:36
pmichaud it's fine to attempt 'for', but we likely want some $_ refactoring to take place for it 22:37
quietfanatic rakudo: say :( 4 ).perl 22:38
p6eval rakudo d04cce: :(Int ::TYPE_CAPTURE20 where all({ ... }))␤
quietfanatic Somehow I don't think I'm introspecting that
22:38 mst joined
masak guys, I just had an hour-long privmsg discussion with mst++. 22:38
here he is. :)
dalek p-rx: b7ce35e | duff++ | (4 files):
[nqp] Added postfix conditional statement modifiers (if/unless)
22:39
masak it was a bout the "Perl 6 is not Perl" blog post that I made a few days ago.
zaslon lolmasakhazblogged! masak++ 'November 12 2009 -- some serious history awareness': use.perl.org/~masak/journal/39889?from=rss
22:39 payload joined
masak hm, I should link to it from that post. hold on. 22:39
japhb PerlJam++ # Damn, that was fast 22:40
masak I feel that what mst and I discussed is important for the long-term future of the Perl 5 and Perl 6 communities.
I'm in no position to summarize it right now, but I will try.
japhb PerlJam, are you aware of wiki.github.com/perl6/nqp-rx/plumage-requests
? 22:41
PerlJam nope
well, vaguely
sjohnson hi masak
mst I'm also in no position to summarize it right now 22:42
masak sjohnson: o/
mst but we're hoping between us we won't screw it up too badly
masak nod.
japhb PerlJam, you just knocked a couple things off the request list, so I'll go fix that now. :-)
moritz_ sounds like a good starting point ;-)
masak (1) mst explained to me where the "Perl 6 isn't Perl" meme, the strong dislike for the name "Perl 6", and the feeling that Perl 6 is a 'research project' are all coming from.
22:42 payload1 joined
masak it was refreshing to hear that story from an entrenched Perl5er. 22:43
22:43 synth joined
PerlJam mst: what was the first perl you used? 22:43
mst PerlJam: perl5 v5_003
masak (2) the fundamental problem, if I got this correctly, is that the name/version "Perl 6" frames Perl 6 as being unequivocably better, a priori, than Perl 5. 22:44
PerlJam masak: well, it is! ;)
masak in that sense, the name itself is a problem.
PerlJam: yes, I know, but... :)
PerlJam: please listen. :)
moritz_ I can see how that is a problem. 22:45
mst PerlJam: I accept that you believe it is.
I think in some respects -I- believe it is
the problem is
masak (3) that naming issue is like a red flag for (a fraction of) the Perl 5 community. it won't matter what you say, they'll basically hate a priori, too.
mst ... that any conversation starting a priori with the assumption that perl6 is better than perl5 22:46
PerlJam mst: Perl 5 still wins in one very big category though. It's "complete" and stable and useable and has CPAN and a large community and ... okay maybe more than one thing
mst leaves no room for disagreement, discussion and debate
masak right.
(4) Perl 6 being "the next (major) version of Perl" is harmful in much the same way.
it presupposes that Perl 5 will be replaced and go away. 22:47
PerlJam masak: you should just cut-n-paste this to your blog since you're writing it anyway
masak I don't think many here think that, at least not short-term.
PerlJam: no, we have better plans. :)
PerlJam awesome.
mst which then implies, albeit I presume unintentionally, that all the work being done on perl5 in the meantime is merely a stopgap.
masak PerlJam: this is internal discussion. I just want your reactions. 22:48
colomon jnthn: I'm very eager to help you get the trig functions running in ng. :)
mst "all your work only exists as a stopgap until we obsolete you because we are the next version whether you agree or not" is ... not an effective position from which to make somebody like you.
22:49 hcchien joined
mst and while I'm exaggerating slightly, that's very much the perception given to a fair percentage of the people I speak to 22:49
masak (5, and finally) though the name "Perl 6" is a problem, much of the animosity could be fixed with a slight re-framing of the relation between Perl 5 and Perl 6.
mst outlined that re-framing, and I think I like it.
pmichaud I know I'm interjecting here, and mst+masak have likely already discussed it, but what can Perl 6 leaders do to avoid the "Perl 5 is obsolete" meme?
masak pmichaud: patience. :)
pmichaud right
masak I'm getting there.
pmichaud I just want to go on record as saying that in no way do I see Perl 5 as obsolete 22:50
mst pmichaud: plan A: invent a time machine and pick a better name and a constructive marketing strategy. but since that hasn't already happened, clearly it failed, so on to plan B with no further discussion thereof.
PerlJam Anyone who thinks perl 5 is obsolete is patently insane IMHO
masak pmichaud: nod. and I don't think people here, in general, do.
pmichaud masak: we're in agreement there
moritz_ is eager to hear Plan B
mst PerlJam: and yet if I quoted your "<@PerlJam> masak: well, it is! ;)" comment out of context, it could trivially be construed as such. 22:51
PerlJam and all of the work that's going into perl 5 is not a stopgap so much as easing us into the future that may include a perl 6.
masak mst: exactly.
pmichaud msg +1
er, mst +1 22:52
the "well, it is!" comment is exactly the sort of thing I would think that would irritate someone worried about p5 obsolesence :)
masak mst++ outlined his "least divisive way" to express his opinion: Perl 6 and Perl 5 are two different languages that are part of the same family. that's the reframing.
pmichaud that's the mental framing I've had for quite a while now 22:53
masak my addendum to that was to express it as "Same family, different lineages."
mst which I very much like
masak that captures that it's two different codebases.
mst pmichaud: if dev.perl.org/perl6/ said that it would help.
speaking as the man running the perl-org-patches list
pmichaud mst: We can make that happen.
mst such a patch would be very very welcome
pmichaud perl6.org should say it also
moritz_ mst: I'd rather have that on perl6.org and obsolte dv.perl.org/perl6/ in favor of it 22:54
mst oh, and if you think my list can't achieve anything, I present www.perl.org/ as of today :)
moritz_ *obsolete
22:54 hcchien joined
pmichaud we've been planning to obsolete dev.perl.org/perl6 anyway 22:54
mst moritz_: it's up to you guys. I'd love that too.
pmichaud maybe we can find some people with tuits to throw at that issue
we can certainly blog about the intent and maybe attract some folks
japhb mst: VERY NICE
mst ranguard++ # leo lapworth, who did most of the work
I just shouted a lot about it being possible to send patches 22:55
anyway
moritz_ is webmaster@perl.org still the best way to submit such patches?
mst lists.scsys.co.uk/ has the perl-org-patches list, as I blogged.
I'll get the various sites updated to indicate it 22:56
pmichaud afaik I still have commit privs to the dev.perl.org/perl6
mst well, if you do, just use 'em
masak the summary of the summary is: "The divide (between the communities) is real, and it sucks. There's no magic formula to make it right. But we can start by re-framing the Perl 6 image to be less offensive to Perl 5 people."
mst I'm only really asking people to use the list in order to make the list gain momentum
masak all in all, I'm very glad that discussion happened. 22:57
moritz_ masak++ and mst++
japhb mst++ masak++ # yes, indeed, thank you both
mst if we can get it so that the perl5 perception of the perl6 position is "closely related competitor" rather than "successor by fiat"
masak nod. 22:58
mst I think we can get a lot more co-operation going
masak everybody wins.
mst the eventual ideal aim here is for perl5 and perl6 to compete on shiny tech, not on "we're the next version" vs. "you're a research project"
I like competing on shiny tech. it's way more fun than politics.
masak as _why said, "when you don't create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create." 22:59
pmichaud I agree on shiny tech. I also like that we share shiny tech ideas with each other. 23:03
all of the above said, and I highly agree with it, I think there are likely some Perl 6 goals that could ultimately prove to be somewhat divisive. I wonder if we could find ways to minimize that? 23:08
masak pmichaud: do you have a concrete example? 23:09
pmichaud well, Perl 6 is not only a rewrite of the language, it's also a rewrite of the community
there are some aspects of Perl culture that Perl 6 is in some ways aiming to reject, I think 23:10
I don't have much more of a concrete answer than that at the moment
and I don't want it to sound like "Perl 5 people are bad, we reject them", because that's not the intent
(nor do I believe it)
23:12 Guest20380 joined
pmichaud but a review of some of the comments regarding Camelia and the perl6.org site somewhat hints at the sort of thing I'm thinking of 23:12
mst over the past few years, we already rewrote the community.
Guest20380 iae galera
mst or at least a large chunk of it. 23:13
freenode#perl is livable in, magnet is calming down, magnet #perl -will- behave themselves eventually. the tolerance for assholes nailing newbies to the wall has gone down a hell of a lot.
the shift on CPAN has moved to being about teams of developers co-operating to make something beautiful and of inclusive projects rather than the "lone mad hacker with his own toolkit" era 23:14
Guest20380 tem ninguem do Basil aki naum
pmichaud i.e., there's possibly a bit of a culture clash inherent in the Perl (5 and 6) community. That's not inherently a problem, I'm simply wondering if we can recognize when that happens and find ways to mitigate any negative impacts and enhance any positive ones
Guest20380 ��
pmichaud I do agree that much of Perl culture has changed already
(in very positive ways)
Guest20380 ��
q merda
masak pmichaud: thanks. 23:15
23:15 Guest20380 joined
Guest20380 soh eu do Brasil aki 23:15
?
mst hugs Guest20380
masak eh.
mst: :)
mst pmichaud: 'rewrite' is an awful term as well 23:16
pmichaud mst: I agree; I was quoting Larry and history
mst 'reenvisioning' is my first guess at a better term
yes
pmichaud it was an okay term at the time; we need a better phrase
mst I know you were. I'm trying to work out how we find terms that at next years' conference season you and I can both be quoting 23:17
without them needing to follow one of us with a bucket to mop up the sarcasm dripping everywhere ;)
pmichaud I don't mind if people follow me with buckets :)
23:17 zamolxes joined
masak perhaps not sarcasm buckets, though. 23:18
sjohnson heh
pmichaud I think we just continue the discussion. Perhaps we start some joint presentations or lightning talks on the subject
masak is an excellent spokesperson, and I'd be eager to see where he's going with some of this as well 23:19
masak pmichaud: thanks for the confidence.
I do like to frame things. :)
pmichaud as do I. And I'm all in favor of having everyone reframe our discussions to move out of (perceived or actual) entrenched myths that are creating conflict 23:20
especially things that are viewed as hurtful to people who really like and want to continue with p5 23:21
masak exactly.
mst++ again.
pmichaud anyway, concrete tasks we can address now will be to adjust the perl6-related websites to better reflect the relationship between p5 and p6 23:23
suggestions and patches are (as always) welcomed :)
as we approach the Rakudo Star release, we can also use that to frame the discussion
(this actually happens sooner rather than later)
23:24 chromatic joined
chromatic Two serious questions for discussion, probably not immediate resolution. 23:24
1) What does Larry say?
2) What's the long-term Perl 5 development plan?
pmichaud excellent questions.
in my experience, Larry tends to answer on his own time. :) 23:25
23:25 wknight8111 joined
pmichaud that's fine, in some sense the "leader" doesn't want to foreclose options prematurely 23:25
mst and I think (2) is the wrong question to be asking, unless what you want is a huge argument over who has the better/more realistic plan
chromatic Let me be more specific about #2 then, because I don't want that. 23:26
Is Perl 5 stable, in the sense that it continues to get maintenance and bug fixes, but no new syntactic features?
Will it continue to backport features from Perl 6?
mst try again, this time without the word 'backport'.
chromatic Can it, will it, should it get new features that Perl 6 doesn't have, or doesn't support in the same way? 23:27
Will it continue to port features from Perl 6?
mst I would expect we'll continue to keep stealing from you and from everybody else, yes. doing anything else would be silly.
pmichaud "port features" == "take ideas" 23:28
mst and there's about you guys and lisp that I really enjoy stealing things from :)
masak makes a mental note of the word 'backport' as being incendiary
pmichaud Perl has a long tradition of stealing ideas from many sources :)
and then making them much better than the original
mst right, see also PerlX::MethodCallWithBlock for a very first sketch at stealing a ruby feature :)
chromatic The word "backport" appears in a lot of messages on p5p. I mean no offense; I merely grabbed what appears to be a pervasive term of art from existing discussions.
I suppose the real question is: 23:29
mst chromatic: I took none. but we need to reframe the conversation.
pmichaud +1
mst chromatic: might as well start with me and thee.
chromatic 2a) Is there a concrete plan for Perl 5 to evolve in a different direction from Perl 6?
masak chromatic: the discussion so far today has been about this re-framing.
pmichaud speaking as a bit of an outsider, here's my opinion
it's a little premature to say "concrete plan"
Perl 5 has also been going through some growing pains of late, and I think it needs a bit more time to "gestate" 23:30
it's already heading in that direction. 23:31
(this becomes speculation)
in some ways, people have been able to blame Perl 6 for lack of P5 progress. legitimate or no, it's been an energy drain for p5 folks
moritz_ hugme: tweet rakudoperl the ng branch now passes 8 spectest files, or 137 individual tests 23:32
hugme hugs moritz_; tweet delivered
pmichaud in some ways, we've not well identified this notion of p5 and p6 being a family of languages as opposed to p6 replacing p5
masak +1
mst the CPAN community already stopped waiting for perl6; and while it's outside of core, Moose does some things differently and is in a similar space to the perl6 OO system in some respects 23:33
pmichaud if we get the "dual language" meme going (I don't have a better term atm), then a real conversation about "what is the future of p5" can take place
indeed, that conversation has already started, but I don't feel we're at a point for concrete plans yet.
mst I -definitely- regard Moose and p6meta as "two of the same family"
pmichaud (outsiders view)
chromatic There's part of my concern about this framing: what mst calls "Perl 5" is different than from what other people call "Perl 5".
masak pmichaud: 'dual lineage'?
chromatic I'm personally comfortable with considering Perl 5 + CPAN as "Perl 5", but not everyone understands it that way. 23:34
pmichaud masak: perhaps.
mst chromatic: that's a marketing problem for perl5 to fix.
I think.
chromatic Precisely.
pmichaud also a bit more than marketing, I suspect, but also a process problem
mst there's work going on over both.
Maddingue people outside the community only know "Perl"
pmichaud in some ways perl 5 history and processes have not been conducive to growth vis-a-vis cpan
the long periods of times between releases may be a symptom of that 23:35
(and this is also being worked on as well)
mst chromatic: here's the thing: I don't think we want to start digging into the deficiencies of current perl5 process here
chromatic I agree; this is the wrong place to bring up that morass.
mst so I don't really understand why you brought it up at all 23:36
I don't think it -can- be part of this discussion.
pmichaud even if we don't bring it up, others might
we might want a good answer
mst my answer is going to be "that's not the bloody point!"
chromatic I suspect that might not satisfy some people. 23:37
mst I suspect that if we let it start, it will skip straight to argument.
pmichaud I agree it's not the point -- the question is how to frame an answer that helps the inquirer see the question from our collective perspective
chromatic That's because there are very real questions in the minds of some people.
mst I'd rather leave "some people" unsatisfied than ignite a flame war that makes things worse
yes. there are "very real questions" in the minds of "some people" on both sides.
chromatic Let me try a different question then.
mst -that- is why I don't want to touch it with a bargepole. 23:38
pmichaud it's the same sort of question I get when people ask "when will Perl 6 be finished", to which my response is "huh? What does 'finished' mean?"
diakopter I believe these issues will be better understood once perl6<->perl 'integration/interop' is better understood.
chromatic 2b) *How* will Perl 5 have friendly competition with Perl 6 on shiny tech?
diakopter I believe this because it's my (strong) suspicion that a perl6 that implements the spec will need to link/embed perl 23:39
mst libraries. syntax approaches. object model.
chromatic In core or not?
Juerd masak: pong 23:40
masak Juerd: thanks -- my problems went away in the meantime. :)
Juerd Neat
masak Juerd: might have new ones tomorrow, though. :)
mst I don't believe that's relevant. perl6 is designed to allow libraries to change -everything-.
perl5 is my VM; CPAN is my language
chromatic Sure, but we're not marketing to mst. 23:41
I am Jane Average Programmer. I've heard of Perl 5 and I've heard of Perl 6.
Which do I use for what purpose?
Juerd Jane will probably use 6 because 6 > 5. 23:42
masak and what do (balanced) people in the respective communities tell me about the two languages?
mst but the entire point of friendly competition is for us both to be able to argue 'us', isn't it?
pmichaud actually, Jane might end up using Python.
diakopter chromatic: JAP will use whatever JAP's boss/coworkers put in front of her.
Maddingue Perl 5 can do anyhting. Perl 6 will.
Juerd masak: What people say will only matter if they're asked, or if they somehow reach out.
chromatic Python 2 or Python 3?
moritz_ finds the current debate a bit unbalanced 23:43
mst for the past some number of years the perception of perl6 as an unreleased successor that makes new development on perl5 pointless has resulted in Jane using python. or ruby. or whatever.
moritz_ one mst, many Perl 6 advocates
chromatic Who says I'm advocating Perl 6 in this debate?
mst among other reasons and other problems; hyperbole on my part, sorry.
moritz_ ... and one chromatic ;-) 23:44
masak Juerd: not arguing with that.
moritz_ s/advocates/fans/ maybe
mst which is fine. chromatic and I both have you outnumbered :)
moritz_ :-)
ok, I'm thinking about clarifying the relation between Perl 5 and Perl 6 on perl6.org 23:45
what do you guys think where it should go?
mst but playing the "what's your long term plan? how -will- you compete?" game is ... wrong. the enlightened perl stack has already gained us a fair few converts, and a fair few reconverts. 23:46
masak moritz_: well, it currentlu says 'next major version' next to the spokesbug.
moritz_ (and gals, of course)
masak moritz_: that needs to change.
mst maybe we're not competing on your terms; that's fine. we don't expect you to compete on ours.
that would be no fun :)
chromatic It's not about competing.
mst then I'm still not sure how the future plans of each language affects the reframing of the relationship 23:47
masak yuck, someone changed the yellow color of the yellow boxes on perl6.org :(
chromatic Six is a bigger number than five.
You need some clever marketing to work around that, if you want to change the obvious perceptions.
diakopter pugs: say('perl6' > 'perl') 23:48
p6eval pugs: ␤
mst yes. that's going to be an absolute bastard.
masak pugs++
chromatic Thus:
masak pugs has already reframed :)
chromatic 2c1) Does Perl 5 have a future?
moritz_ masak: feel free to play with colors of perl6.org; I'm not all that happy with them
Maddingue chromatic: yes
mst chromatic: yes.
masak moritz_: I might.
chromatic 2c2) What's the relationship of Perl 5's future to the relationship of Perl 6's future?
I'm not asking these questions for me. I'm brainstorming what Jane Average Programmer might want to know. 23:49
mst 2c2: "much less hostile than currently if we pull this off"
masak moritz_: the green and yellow border colors are the most wrong right now. the red one's fine.
23:49 pmurias joined
diakopter copies/pastes: these issues will be better understood once perl6<->perl 'integration/interop' is better understood. 23:49
(perl6 depending on perl5)
mst diakopter: yes, we heard you, but that's so much not the point, mate
pushing it back behind a technical deadline isn't a good plan 23:50
23:50 gbacon joined
pmichaud diakopter: I agree with mst - I think that's not really the answer 23:50
saying that we have interop really doesn't answer the question someone is likely to ask about p5's or p6's future
masak this is a social issue.
mst masak and I are planning to continue the discussion on how our communities currently see each other and how we would like them to see each other
that's the first step 23:51
chromatic Oh, then I misunderstood the point.
diakopter but if perl6 depends on (links/embeds) perl5, then they're usable from each other, and there's no issue here, because the choice to use one is the choice to use the other.
mst chromatic makes a lot of good points about things we'll need to know in order to take the second step: present that new and better view to the wider world
masak nod.
chromatic I thought you were on the second step already. My mistake.
pmichaud chromatic: not quite yet -- we're still trying to frame a few things, I think
masak chromatic: earlier today, we were on the zeroth step, or worse. :) 23:52
chromatic Then feel free to take a continuation and get back to this later.
mst chromatic: we'd started discussing the -mechanics- of step two in terms of what needs to be updated where
diakopter why must there be a distinction? Make Perl 6 a Perl 5 extension, and vice versa. End of discussion. No mutual exclusivity.
masak chromatic: we don't have continuations, we have to emulate them with closures. :/
pmichaud diakopter: because we're not sure how to technically achieve that yet.
diakopter: that is and remains a goal for us, yes. But a Perl 6 will exist before it's able to have that level of integration with Perl 5. 23:53
mst diakopter: the point of this conversation is to deal with the distinction between communities and between attitudes and between worlds and between perceptions
Maddingue diakopter: you'll have to make sure that the new /usr/bin/perl will execute flawlesslyall the existing programs then
chromatic I was going to tell mst to hit Ctrl-Z and then come back to that shell later, but I haven't figured out a polite way to taunt him yet.
masak diakopter: there's a distinction because there are two distinct communities, with widely different world views.
pmichaud I have to leave shortly -- here are my takeaways 23:54
cognominal it is funny to contrast perl.org and perl6.org colorwise :)
masak cognominal: *lol*
cognominal: not fair! they upgraded today! :)
pmichaud 1. p6 folks try to update perl6 descriptions to frame it as a companion to perl 5 and not a successor
2. masak and mst continue to hold the conversation. I'm more than willing to participate in that conversation if I can be helpful to it. 23:55
masak you most definitely can.
mst chromatic, however, probably shouldn't to begin with.
too much bad blood with some of the people I have to convince. 23:56
masak but he has a continuation for later.
mst absolutely; and when we get there we invoke that, because the results will be important
pmichaud 3. especially as Rakudo Star progresses, look for ways to help position the information about it to continue to promote/support p5
chromatic I have no desire to continue any bad blood with anyone.
pmichaud (which has really always been my intent)
pmurias pmichaud: perl5 interop is not hard, i implemented one over christmas for mildew (and mildew is much less mature then rakudo)
pmichaud pmurias: mildew doesn't have some of rakudo's current baggage. 23:57
mst chromatic: I know you don't. but I hope you understand how what I'm asking of you will make this easier.
pmichaud pmurias: I'm not saying it's impossible, just that it will take a bit of work to achieve the level of interop that would be needed to bring about the "seamless community" that diakopter envisions. 23:58
just figuring out CPAN in a Perl 6 context is its own descent into hell :)
chromatic Sure, I'm comfortable sitting out on this one unless I see important questions getting overlooked.
mst so. masak and I'll get things rolling, and we have plans for how to engage a bunch more people in constructive discussion 23:59
masak is excited
mst chromatic: sure. but come yell at me/masak so we can try and resolve any omissions first if we think that'd be better?