pugscode.org/ planetsix.perl.org/ feather.perl6.nl/syn/ perlcabal.org/svn/pugs/log github.com/rakudo/rakudo | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" | irclog: irc.pugscode.org/ | Rakudo.org www.perlfoundation.org/perl6/index.cgi?smop perl.net.au/wiki/Elf |~300 days 'til Xmas Set by mncharity1 on 25 February 2009. |
|||
00:08
aindilis joined
00:33
Maghnus left,
Ariens_Hyperion left
|
|||
pugs_svn | r25566 | putter++ | [elfparse] Shrunk remains_of_Regexp_ModuleA.pm - RAST_children p6ified. | 00:40 | |
00:50
wayland_ joined
00:54
DemoFreak left
|
|||
wayland_ | frew: The word itself is older than I am, but the current meaning may've been devised by the Perl community | 01:00 | |
pugs_svn | r25567 | putter++ | [elfparse] Fix pkg-related fields in rx ir nodes. | 01:09 | |
01:12
dukeleto joined
01:16
alc joined
01:19
justatheory left
01:23
zaidaus joined
|
|||
dalek | kudo: 2cf2dfe | pmichaud++ | README: Update README with latest news on building Rakudo. |
01:38 | |
pugs_svn | r25568 | putter++ | [elfparse] Fixed-up rx ir fields (moving non-field fields to $.notes). | 01:46 | |
dalek | kudo: e6b7133 | pmichaud++ | (3 files): Update some references to Parrot, Perl, and/or Rakudo. |
||
01:47
ispy_ joined
01:51
hercynium joined
01:54
eternaleye joined
|
|||
pugs_svn | r25569 | wayland++ | S32: Mentioned IPv6 | 01:56 | |
r25569 | wayland++ | S28: bugfixes | |||
02:03
justatheory joined
|
|||
pugs_svn | r25570 | lwall++ | [S02] more package and variable name cleanups | 02:05 | |
02:10
ispy_ left
02:13
ispy_ joined
02:18
alester joined
02:25
meppl left
|
|||
pugs_svn | r25571 | putter++ | [elfparse] Switch rx ir field access from hash to real accessors. ~3% slowdown on test suite. Also cosmetic s/self./$./g, unbreak IRx1_FromAST2's RxAlias.newp calls, and another field fix (there's no created_in_pkg in RxARegex). | 02:34 | |
02:41
dukeleto left
02:45
hercynium left
|
|||
skids | How do you tack more info onto an RT bug? e.g. what's the per-bug email address format? oh and you need that bitcard account even to do that, right? | 02:46 | |
pugs_svn | r25572 | putter++ | [elfparse] remains_of_Regexp_ModuleA.pm: Drop unicode character classes - they've already been moved to rx_prelude. | 02:47 | |
03:01
justatheory left
03:06
Whiteknight left
|
|||
pmichaud | skids: I think sending email to rakudobug with the rt # in the subject will appened a comment. | 03:09 | |
03:09
felipe left
|
|||
pmichaud | as mentioned on #parrot a few minutes ago -- rakudo release will likely be tomorrow; my cold is getting steadily worse. | 03:10 | |
I'm hoping a night of rest will nip it. | |||
with that, good night all :-) | |||
skids | Get well soon! | ||
pmichaud += liquids | 03:12 | ||
03:27
ispy_ left
|
|||
alester | I'm getting me yucky build error | 03:28 | |
03:28
jimmy_ joined
|
|||
alester | sial.org/pbot/35257 | 03:29 | |
suggestions? | |||
03:33
justatheory joined
|
|||
pugs_svn | r25573 | wayland++ | Numeric.pod: Added some notes on what needs to be documented here | 03:43 | |
r25573 | wayland++ | S16 and Exception.pod: Did some work on turning signals into exceptions. I probably need | |||
r25573 | wayland++ | to pre-emptively ask for forgiveness for just making stuff up here :). | |||
03:47
wayland_ left
|
|||
skids | hrm well I didn't update parrot at all, but I don't get that error. | 03:48 | |
03:48
alester left
03:53
felipe joined
04:12
Caelum_ joined,
aindilis` joined,
Caelum left,
Caelum joined
04:14
Caelum left,
Caelum_ is now known as Caelum
04:15
Limbic_Region left
04:26
aindilis left
04:48
jimmy_ left
05:01
PZt left
05:15
justatheory left
05:17
tarbo2 left
05:18
tarbo2 joined
05:24
baest left,
baest_ joined
05:30
dukeleto joined
05:37
masak joined
05:44
justatheory joined
05:47
justatheory left
05:48
dukeleto left
05:54
wayland76 joined
|
|||
masak | morning, all. | 05:59 | |
seems I didn't miss the Rakudo release like I thought I would. | 06:00 | ||
wayland76 | Morning | 06:01 | |
(although it's 5pm here :) ) | |||
carpftb_ | its always happy hour in frankston, isn't it? | 06:02 | |
wayland76 | Yeah. Lucky I live in Drysdale :) | ||
carpftb_ | hah. lucky I'm 15000km from "home" (which isn't Frankston, I'm a clueless banana bender) | 06:03 | |
06:04
Tene joined
|
|||
masak | 7am here. | 06:08 | |
(but in Sweden, we don't really use 'am' and 'pm', and we tend to glare annoyedly at the parts of the global world that assume so.) | 06:09 | ||
wayland76 | What do you use? 24-hour time? | 06:17 | |
06:17
alc left
|
|||
masak | yup. | 06:17 | |
g'ah! some day I'll track down the person who wrote the test suite to Mac::Carbon and tell him, real carefully, about the downsides of producing blood-curdling screams in someone's speakers without asking when running the test suite... :/ | |||
wayland76 | I wouldn't mind that, but no-one here uses it, so I'd really confuse everyone | ||
masak | wayland76: just as am/pm confuses us. | ||
wayland76 | Well, at least he didn't cat /vmlinuz > /dev/audio | 06:18 | |
masak: Agreed. Like I said, I'd like it, but still have trouble accustoming myself to it | |||
06:19
Tene_ left
|
|||
wayland76 | Is there any documentation on writing tests in Perl 6? | 06:19 | |
masak | wayland76: no. but what do you want to know? :) | 06:20 | |
wayland76 | Where to get info to write S24 :) | 06:21 | |
masak | I recommend reading through Rakudo's Test.pm. | ||
wayland76 | Different question | ||
Ok | |||
masak | if that still leaves you unsatisfied, read through November's excellent test suite. :) | ||
wayland76 | That implements all the stuff required for writing tests? | ||
masak | wayland76: aye. | ||
all of it. | |||
(in fact, you don't need a module for that. you just need to adhere to the TAP.) | 06:22 | ||
wayland76 | Good. Are the spectests written for that? | ||
Ok, what's TAP? | |||
masak | wayland76: yes. | ||
"Test Anything Protocol" | |||
IIRC, it's wider than Perl. | |||
06:24
jimmy_ joined
|
|||
wayland76 | Wikipedia doesn't say it is, but it does say Perl 5 has been using it since '87 | 06:24 | |
jimmy_ | morning,masak, where is the release news? | ||
wayland76 | no release yet, I think | ||
masak | wayland76: furthermore, if you would like to know what I'm proud of having created (or stolen, rather) in terms of test modules, check out this blog post: use.perl.org/~masak/journal/37976 | ||
wayland76 | pmichaud was feeling sick | ||
masak | jimmy_: what wayland76 said. | 06:25 | |
but probably today. | |||
wayland76 | see backlog for nuances :) | ||
(that was for jimmy_) | |||
Great. I'll keep that information for S24 :) | 06:28 | ||
(When I get around to it) | |||
jimmy_ | I saw some merge info on github/rakudo, but I could'nt see what had been changed. but can see the merging changes about parrot on trac.parrot.org | ||
IIRC, there will be a release for rakudo? | |||
masak | aye. | 06:29 | |
likely today. | |||
wayland76 | I think jimmy_ is asking whether there will be a special *parrot* release for rakudo | 06:30 | |
jimmy_ | no | ||
wayland76 | ok :) I'm wrong :) | ||
Basically, pmichaud wants to do a release tomorrow, but it depends on his health | 06:31 | ||
jimmy_ | on github, i saw some commits like 'moritz merged branch 'move_split_to_any_str', how can I see what had been changed? | ||
masak | oh. tomorrow. yes. | 06:32 | |
but that's tomorrow USA time, right? | |||
so, today. :) | |||
wayland76 | I think so. For you, it's probably today :) | ||
masak | jimmy_: I don't know. perhaps ask on #github? | ||
jimmy_ | thanks | 06:34 | |
Will be it a development release about rakudo, like parrot 0.9.1? | 06:35 | ||
masak | jimmy_: what do you mean? | 06:36 | |
jimmy_ | ah | ||
masak | hm, I'm not sure Rakudo distinguished "development releases" from other kinds of releases. | 06:37 | |
jimmy_ | Maybe I should say 'Will be it a development release about rakudo, like perl6-alpha1?'? | 06:38 | |
06:38
zaidaus left
|
|||
masak | jimmy_: I'm having trouble assigning a meaning to what you're saying. it's not because of any failure to communicate on your part, it's just that I don't really know what being 'like perl6-alpha1' would mean. :) | 06:40 | |
jimmy_: I'll go with "no, it won't be like perl6-alpha1". | |||
jimmy_: but it'll still be really, really cool, like most Rakudo releases (bundled with Parrot) so far. | 06:41 | ||
jimmy_ | It said, there was no plain for perl6 alpha release. and now I get a rakudo release news, and then I am excited. :) | 06:43 | |
Matt-W | I don't think we could call it a perl 6 alpha yet | ||
masak | I don't think greek letters need be used in versions at all. | 06:44 | |
it's silly. | |||
jimmy_ | masak: aye. maybe beta or rc and so on. | 06:45 | |
masak | jimmy_: beta is a greek letter too. | ||
Matt-W | nonetheless, whatever we would call it, alpha implies a certain level of completion | ||
wayland76 | and RC is a brand of cola :) | ||
speaking of which, time for me to eat :) | 06:46 | ||
masak | I don't know if you've followed the discussions on the parrot list about versions. | ||
there's something to be said for pure increasing numbers. | |||
no RC, no letters, no silliness. | |||
Matt-W | yeah | ||
jimmy_ | yes, I used alpha or beta to implies a certain level of completion | 06:47 | |
Matt-W | there are many strategies to take | ||
masak | jimmy_: I see. | ||
jimmy_: 7000 tests passing! | |||
jimmy_ | s/implies/imply/ | ||
masak | jimmy_: that's the level of completion. | ||
I believe that someone estimated the total number of tests needed to about 16k. so we're slightly under halfway there. :) | 06:48 | ||
Matt-W | Woot | ||
06:48
ashizawa joined
|
|||
Matt-W discovers his problems with rules matching last night were caused by invoking them worng, not by some obscure rules bug | 06:49 | ||
masak | Matt-W: by the way, I believe the bug I worked around for you might be fixed already. | ||
Matt-W | masak: there's a commit that might have done it, yes | 06:50 | |
I haven't tested it yet | |||
masak | ok. | ||
Matt-W | jnthn++ did something there though | ||
jimmy_ | masak: I have a doubt about articles at use.perl.org/~masak/. | ||
masak | jimmy_: let's hear it. | ||
jimmy_ | most articles, it said '131 years ago today' or '******* ago today', How did you find these histories about today? | 06:52 | |
masak | jimmy_: an excellent question. | ||
jimmy_: I went to the Wikipedia article for that date. | |||
jimmy_: and I basically picked the event I found the most interesting. | |||
as I said in the concluding post aftoer the month was done, the things I found were fairly western-biased. next year, I plan to find interesting events outside the western world. | 06:54 | ||
Matt-W | masak: just tested it, it is indeed fixed | 06:55 | |
masak | jnthn++ | 06:56 | |
06:56
szabgab joined
|
|||
Matt-W | so that's tidied up my tests | 06:56 | |
also I now pass 8 :) | |||
jimmy_ | masak++, It takes patience. | ||
masak | Matt-W++ | ||
Matt-W | next I'll need to make it do something useful with that | ||
masak | jimmy_: it was one of the most fun things I did last year, actually. | ||
Matt-W | since we don't have { make $thing } in regexes yet | ||
jnthn thought we had the ability to associate an actions class and use {*} but wasn't entirely sure how to do it | 06:57 | ||
masak | Matt-W: there's a November branch that does that. I can dig it out for you. | ||
Matt-W | cheers that'd be fab | ||
I just need to see how to do it | |||
time to figure out what's wrong with my field classes :) | 06:59 | ||
masak | Matt-W: <masak> wayland76: furthermore, if you would like to know what I'm proud of having | ||
created (or stolen, rather) in terms of test modules, check out this blog | |||
post: use.perl.org/~masak/journal/37976 | |||
<wayland76> pmichaud was feeling sick | |||
<masak> jimmy_: what wayland76 said. [07:25] | |||
<masak> but probably today. | |||
<wayland76> see backlog for nuances :) | |||
<wayland76> (that was for jimmy_) | |||
<wayland76> Great. I'll keep that information for S24 :) [07:28] | |||
<wayland76> (When I get around to it) | |||
<jimmy_> I saw some merge info on github/rakudo, but I could'nt see what had been | |||
changed. but can see the merging changes about parrot on trac.parrot.org | |||
<jimmy_> IIRC, there will be a release for rakudo? | 07:00 | ||
<masak> aye. [07:29] | |||
<masak> likely today. | |||
<wayland76> I think jimmy_ is asking whether there will be a special *parrot* release | |||
for rakudo [07:30] | |||
<jimmy_> no | |||
<wayland76> ok :) I'm wrong :) | |||
<wayland76> Basically, pmichaud wants to do a release tomorrow, but it depends on his | |||
health [07:31] | |||
<jimmy_> on github, i saw some commits like 'moritz merged branch | |||
'move_split_to_any_str', how can I see what had been changed? | |||
<masak> oh. tomorrow. yes. [07:32] | |||
<masak> but that's tomorrow USA time, right? | |||
07:00
dukeleto joined
|
|||
masak | <masak> so, today. :) | 07:00 | |
<wayland76> I think so. For you, it's probably today :) | |||
<masak> jimmy_: I don't know. perhaps ask on #github? | |||
<jimmy_> thanks [07:34] | |||
<jimmy_> Will be it a development release about rakudo, like parrot 0.9.1? [07:35] | |||
<masak> jimmy_: what do you mean? [07:36] | |||
<jimmy_> ah | |||
<masak> hm, I'm not sure Rakudo distinguished "development releases" from other kinds | 07:01 | ||
of releases. [07:37] | |||
<jimmy_> Maybe I should say 'Will be it a development release about rakudo, like | |||
perl6-alpha1?'? [07:38] | |||
*** zaidaus (n=zaidaus@60-241-74-109.static.tpgi.com.au) has quit: Read error: 110 | |||
(Connection timed out) | |||
<masak> jimmy_: I'm having trouble assigning a meaning to what you're saying. it's not | |||
because of any failure to communicate on your part, it's just that I don't | |||
really know what being 'like perl6-alpha1' would mean. :) [07:40] | |||
<masak> jimmy_: I'll go with "no, it won't be like perl6-alpha1". | |||
<masak> jimmy_: but it'll still be really, really cool, like most Rakudo releases | |||
(bundled with Parrot) so far. [07:41] | |||
<jimmy_> It said, there was no plain for perl6 alpha release. and now I get a rakudo | |||
release news, and then I am excited. :) [07:43] | |||
<Matt-W> I don't think we could call it a perl 6 alpha yet | |||
<masak> I don't think greek letters need be used in versions at all. [07:44] | |||
<masak> it's silly. | |||
<jimmy_> masak: aye. maybe beta or rc and so on. [07:45] | |||
<masak> jimmy_: beta is a greek letter too. | |||
<Matt-W> nonetheless, whatever we would call it, alpha implies a certain level of | |||
completion | 07:02 | ||
<wayland76> and RC is a brand of cola :) | |||
<wayland76> speaking of which, time for me to eat :) [07:46] | |||
<masak> I don't know if you've followed the discussions on the parrot list about | |||
versions. | |||
<masak> there's something to be said for pure increasing numbers. | |||
jimmy_ | what's happend? | ||
masak | <masak> no RC, no letters, no silliness. | ||
<Matt-W> yeah | |||
<jimmy_> yes, I used alpha or beta to implies a certain level of completion [07:47] | |||
<Matt-W> there are many strategies to take | |||
<masak> jimmy_: I see. | |||
<masak> jimmy_: 7000 tests passing! | |||
<jimmy_> s/implies/imply/ | |||
<masak> jimmy_: that's the level of completion. | |||
<masak> I believe that someone estimated the total number of tests needed to about | |||
16k. so we're slightly under halfway there. :) [07:48] | |||
<Matt-W> Woot | |||
*** ashizawa (n=ashizawa@203.152.217.234.static.zoot.jp) has joined channel #perl6 | |||
* Matt-W discovers his problems with rules matching last night were caused by invoking | |||
them worng, not by some obscure rules bug [07:49] | |||
<masak> Matt-W: by the way, I believe the bug I worked around for you might be fixed | 07:03 | ||
already. | |||
<Matt-W> masak: there's a commit that might have done it, yes [07:50] | |||
<Matt-W> I haven't tested it yet | |||
<masak> ok. | |||
<Matt-W> jnthn++ did something there though | |||
<jimmy_> masak: I have a doubt about articles at use.perl.org/~masak/. | |||
<masak> jimmy_: let's hear it. | |||
<jimmy_> most articles, it said '131 years ago today' or '******* ago today', How did | |||
you find these histories about today? [07:52] | |||
<masak> jimmy_: an excellent question. | |||
<masak> jimmy_: I went to the Wikipedia article for that date. | |||
<masak> jimmy_: and I basically picked the event I found the most interesting. | |||
<masak> as I said in the concluding post aftoer the month was done, the things I found | |||
were fairly western-biased. next year, I plan to find interesting events | |||
outside the western world. [07:54] | |||
<Matt-W> masak: just tested it, it is indeed fixed [07:55] | |||
<masak> jnthn++ [07:56] | |||
*** szabgab (n=gabor@p54B11D45.dip0.t-ipconnect.de) has joined channel #perl6 | |||
<Matt-W> so that's tidied up my tests | |||
<Matt-W> also I now pass 8 :) | 07:04 | ||
<jimmy_> masak++, It takes patience. | |||
perlbot | What kind of idiot karmas himself? Your kind of idiot! | ||
masak | <masak> Matt-W++ | ||
<Matt-W> next I'll need to make it do something useful with that | |||
<masak> jimmy_: it was one of the most fun things I did last year, actually. | |||
<Matt-W> since we don't have { make $thing } in regexes yet | |||
<Matt-W> jnthn thought we had the ability to associate an actions class and use {*} | |||
but wasn't entirely sure how to do it [07:57] | |||
<masak> Matt-W: there's a November branch that does that. I can dig it out for you. | |||
szabgab | masak, ? | ||
masak | <Matt-W> cheers that'd be fab [07:58] | ||
<Matt-W> I just need to see how to do it | |||
<Matt-W> time to figure out what's wrong with my field classes :) [07:59] | |||
ERC> Matt-W: github.com/viklund/november/blob/d7...ate.pm#L31 | |||
oops. | |||
terribly sorry about that. :/ | |||
Emacs FAIL. | |||
Matt-W: github.com/viklund/november/blob/d7...ate.pm#L31 | |||
jimmy_ | :( | ||
Matt-W | masak-- | ||
masak watches the logs in despair as they are filled in slow motion by his mispaste | 07:05 | ||
szabgab | masak, reboot it then :-) | ||
masak | perlbot: I deserved that. :/ | ||
szabgab: sorry, sorry, sorry :/ | |||
07:05
dukeleto left
|
|||
Matt-W | I would've spared you the pain by kicking you, but not got the snail | 07:05 | |
masak | not good at all. | ||
I just pressed the wrong button, that's all. | |||
Matt-W | oh sorry did I mean you I meant me :) | ||
masak | rebooting wouldn't have helped, I think. | ||
Matt-W | actually I'm kind of surprised freenode didn't kick you | 07:06 | |
a lot of networks would | |||
masak | consider it an accidental replay of the morning. | ||
Matt-W | must've been just slow enough | ||
masak | :/ | ||
Matt-W | aaah so you call TOP and pass :action($instance_of_action_class) as the second parameter | ||
masak | I should write a hook in ERC that prevents anyone from ever doing a thing like that. | 07:07 | |
Matt-W: aye, it's just a named param. | |||
Matt-W | irssi says "hang on you're about to paste hundreds of lines, are you really really sure you want to do that" | ||
so the question is | |||
masak | yeah, that's what ERC should do, too. | ||
Matt-W | I've got to go to work in a bit | 07:08 | |
I'm going to push some stuff that doesn't compile and beg for help | |||
it *looks* like a rakudo bug | |||
masak | Matt-W: ok. | ||
Matt-W: as your project grows, you'll want to push stuff like that to a branch. | 07:09 | ||
now it doesn't matter much, I guess. | |||
Matt-W | mmm yes | ||
it's not like there's anything usable there as it is | |||
hmm | |||
Matt-W has an idea | |||
hmm no that didn't work either | 07:10 | ||
masak: pushed. TextField and VerbatimField blow up when the compiler tries to deal with them, no idea why | 07:11 | ||
masak | Matt-W: ok. will check. | 07:12 | |
Matt-W | masak++ | ||
because I see no reason why this shouldn't work | |||
masak | Matt-W: next time we meet, I'll tell you about the git commit message conventions. :) | 07:13 | |
Matt-W | masak: hey, my project, I can be as inconsistent as I like :P | 07:14 | |
masak | of course. :) | ||
just spreading some information, s'all. | |||
makes logs easier to read, if nothing else. | |||
Matt-W | :) | ||
as long as they make more sense than the ones at work I'll be happy | 07:15 | ||
which, given past experiences, they probably will | |||
07:16
szabgab left
|
|||
Matt-W | right | 07:16 | |
work & | |||
masak can reproduce Matt-W's Null PMC access | 07:39 | ||
07:41
bacek_ left
|
|||
masak | Matt-W: I fixed your code. all tests pass. | 07:45 | |
masak makes a pull request | |||
rakudo: module A { role B {}; class C does A::B {} } | 07:46 | ||
p6eval | rakudo e6b713: RESULTĀ«{ ... }Ā» | ||
masak | rakudo: module A { role B {}; class C does B {} } | ||
p6eval | rakudo e6b713: OUTPUTĀ«Null PMC access in find_method()ā¤current instr.: '!meta_trait' pc 18327 (src/builtins/guts.pir:609)ā¤Ā» | ||
masak submits rakudobug | |||
07:52
dukeleto joined
07:58
namenlos joined
|
|||
Matt-W | masak++ | 08:01 | |
masak: interesting, so is that a bug or are we supposed to qualify the module names? | |||
masak | beats me. | ||
Matt-W | I'm going to hope for bug | 08:02 | |
masak | I hedged my bets in the RAKUDO comment and in the bug report. | ||
but the NPMCA is wrong in any case. | |||
Matt-W | certainly needs a better error message | 08:03 | |
like "I have never heard of this role you are trying to compose" | |||
masak | NPMCAs, being Parrot internal errors, are always wrong. | ||
Matt-W | yup | ||
masak | makes it easy to determine if a bug needs to be reported. :) | 08:04 | |
Matt-W | :) | ||
unfortunately I don't have time to learn how rakudo works inside | |||
that's why I'm writing Form | |||
it's at a level I can actually cope with at th emoment :) | |||
I just fear it's going to turn into an endless parade of 'hey this breaks strangely, help' and you submitting another bug | 08:05 | ||
masak | Matt-W: it won't. | ||
you're just doing a few things that no-one has done before. | |||
after that, it'll be mostly a clear path. | |||
perhaps one bug a week or so. | |||
Matt-W | true | ||
once I get into string munging it should be fairly straightforward | |||
masak | aye. | 08:06 | |
Matt-W | my current plan is to make all those field types it can parse work | ||
then give it the ability to handle a format picture which has other things in it | |||
then it'll be usable for simple things | 08:07 | ||
and then I can tackle numeric fields | |||
which are... complicated | |||
masak | sounds great. | ||
jimmy_ | It's funny. perl6 irc at freenode, but parrot irc at perl | 08:08 | |
masak | jimmy_: aye, kinda backwards. | 08:09 | |
literal | does this channel predate irc.perl.org? | ||
masak | probably not. | ||
Matt-W | masak: It's good to have a plan | ||
masak | plans++ | ||
Matt-W considers writing a TODO so he doesn't forget the plan | |||
I also need things like a script to run the tests with | 08:11 | ||
masak | Matt-W: consider putting the TODO list in the README | 08:12 | |
Matt-W: that way, you commit yourself more to actually doing the things you list. :) | |||
Matt-W: re script to run the tests with, see November, Druid et al for a proper Makefile.PL | |||
masak really needs to create a 'create' subcommand in proto to automate Perl 6 project creation | 08:13 | ||
Matt-W | yes | ||
that'd be good | |||
now | |||
08:13
mikehh left
|
|||
masak | Matt-W: :) | 08:13 | |
Matt-W | what were you saying about git commit messages? | ||
masak | Matt-W: oh. well, | 08:14 | |
literal | it's weird that this .PL convention has lived on with Perl 6 | ||
masak | Matt-W: they're supposed to be like 50 characters long. | ||
Matt-W: the first line, that is. | |||
Matt-W: then a blank line, and then possibly longer explanations. | |||
literal: it's Perl 5 code, though. | |||
literal | ah, ok | 08:15 | |
moritz_ | good morning | ||
Matt-W | masak: any other restrictions? | ||
moritz_: good morning | |||
masak | Matt-W: don't think so. but see www.tpope.net/node/106 | 08:16 | |
moritz_: good morning. | |||
jimmy_ | good morning | ||
wayland76 | hi moritz_ | ||
Matt-W pushes the TODO | 08:18 | ||
as much as I can do at work, but at least now I won't forget | |||
I should maybe do some work now :) | |||
masak too | 08:19 | ||
moritz_ | I'm a bit surprised that I see no new blog entry... did we have a Rakudo release yesterday night? | ||
Matt-W merges masak's changes too | |||
masak | moritz_: no. | ||
Matt-W | I love how easy that is | ||
pull | |||
masak | moritz_: it'll be today, probably. | ||
Matt-W | push | ||
done | |||
masak | Matt-W: github rocks. | 08:20 | |
Matt-W | not just github | ||
you could do it from any git server | |||
masak | aye. | ||
wayland76 | moritz_: pmichaud unwell, but expects it to be today (see backlog) | ||
masak | but github is pretty, and convenient, and accomodating. | ||
Matt-W | Take that, moaning people on Planet GNOME: *I* read the documentation. | ||
moritz_ | wayland76: ok, thanks. | ||
masak | moritz_: skip the part of the backlog where I spam the channel. | ||
Matt-W | masak was very naughty | 08:21 | |
masak | :/ | ||
with great Emacs comes great responsibility. | |||
moritz_ sees the "Signed-off-by:" entries in the git-log | 08:22 | ||
08:22
mikehh joined
|
|||
moritz_ | does that mean that the person how signed it off pushed it to github? | 08:22 | |
or somethiing more involved? | |||
masak likes the TODO point "Everything else" | 08:23 | ||
maybe break that up into smaller items? :P | 08:24 | ||
Matt-W | lol | 08:29 | |
no I'm taking a hint from how we do scrum planning here | |||
I'm going to re-breakdown when I get closer to actually doing it | |||
masak | fair enough. | 08:30 | |
Matt-W | it's not in scope for this sprint :D | ||
masak | gotcha. | ||
bacek | good evening | 08:42 | |
masak | bacek: mornin' | 08:43 | |
bacek | masak: you are living in past! | 08:44 | |
masak | bacek: I like it that way. | ||
08:44
DemoFreak joined
|
|||
bacek | Anything interesting to backlog? | 08:44 | |
masak groans | 08:45 | ||
bacek: no. nothing. | |||
nothing at all. | |||
:/ | |||
bacek | hmm... Not very good. | ||
masak wears a conical hat with the word STUPID today | 08:47 | ||
bacek | Is there is todo/vision which parts of Rakudo should be moved into Setting? | ||
bacek bough t-shirt with "I mean because you are STUPID" some time ago | 08:48 | ||
literal | is the setting implementation-independent (i.e. written in Perl 6)? | ||
Matt-W | Don't listen to masak, he figured out what was wrong with my code for me, he's cool. | ||
masak | Matt-W: I'm trying to make amends, that's all. :) | ||
moritz_ | literal: it is written in Perl 6, but optimized to work on Rakudo | ||
literal | optimized how? | 08:49 | |
Matt-W blames Emacs | |||
Matt-W guesses at it not using anything Rakudo can't do yet | |||
masak | moritz_: does your Google Code project fill any role, now that Rakudo has its own prel... um, setting? | ||
moritz_ | masak: not really | 08:51 | |
masak: but I'll see if there's anything usable in there | |||
masak ponders removing it from proto | |||
but it might as well stay for the time being. | |||
it's a nice example of a non-github project :) | |||
moritz_ | wayland76: re S24, we still haven't fully decided on how to do built-in testing | 08:52 | |
wayland76: see the "RFD: Built-in testing" thread | |||
bacek | Looks like localtest_loud isn't loud anymore... | 08:55 | |
moritz_ | that's deplorable | ||
masak | .oO( loltest_loud ) |
||
bacek | moritz_: indeed. | 08:56 | |
08:56
ejs joined
|
|||
pugs_svn | r25574 | lwall++ | [STD] make $^foo declare $foo; remove duplicate variable check code | 08:58 | |
09:02
ejs left,
ejs joined
|
|||
pugs_svn | r25575 | moritz++ | [t/spec] autothreading prime test | 09:07 | |
masak | TimToady: 'make cat' doesn't work. has it bitrotted? | 09:08 | |
pugs_svn | r25576 | moritz++ | [t/spec] simplify a few tests to use /../ instead of rx/../ | ||
r25576 | moritz++ | Also removed tests that referred to the Tuple type, which doesn't exist | |||
r25577 | lwall++ | [STD] don't check &foo for variable predeclaration | |||
TimToady | masak: I haven't used try5 in months | ||
masak | TimToady: oki. | 09:09 | |
TimToady: what's the latest thing to use? | |||
moritz_ | teststd | ||
TimToady | looks like nothing in Makefile runs try5 | ||
tryfile and viv | 09:10 | ||
tryfile to see if it parses, and viv to get the ast | |||
std: say "I'm running tryfile really" | 09:11 | ||
p6eval | std 25577: OUTPUTĀ«ok 00:04 33mā¤Ā» | ||
masak tries viv | 09:12 | ||
TimToady: I ran 'tryfile' on github.com/masak/svg/tree/master/lib/SVG.pm -- it reported a lot of 'undeclared routines'. is that something to worry about? | 09:14 | ||
TimToady | it doesn't see implicit imports | ||
so probably not a concern | |||
masak | TimToady: no implicit imports involved, I'm afraid. | 09:15 | |
just forward references. | |||
TimToady: also, viv has an unadvertised dep YAML::XS | 09:16 | ||
std: KitchenSink | 09:17 | ||
p6eval | std 25577: OUTPUTĀ«ok 00:02 33mā¤Ā» | ||
TimToady | I think I know what's going on; don't worry about it | 09:18 | |
it's adding the subs in an inner scope that it throws away before the final check | 09:19 | ||
I'll fix it tomorrow | |||
masak | goodie. | ||
bacek | perl6: say ~ [!=] () | ||
p6eval | elf 25577: OUTPUTĀ«pre without a prefix is unimplemented at ./elf_h line 2148ā¤Ā» | 09:20 | |
..rakudo e6b713: OUTPUTĀ«0ā¤Ā» | |||
..pugs: OUTPUTĀ«ā¤Ā» | |||
bacek | perl6: say ~ [!=] (4) | ||
perl6: say ~ [!=] (4,5) | |||
perl6: say ~ [!=] (4,5,5) | |||
p6eval | pugs: OUTPUTĀ«1ā¤Ā» | ||
..elf 25577: OUTPUTĀ«pre without a prefix is unimplemented at ./elf_h line 2148ā¤Ā» | |||
..rakudo e6b713: OUTPUTĀ«0ā¤Ā» | |||
pugs, rakudo e6b713: OUTPUTĀ«1ā¤Ā» | |||
..elf 25577: OUTPUTĀ«pre without a prefix is unimplemented at ./elf_h line 2148ā¤Ā» | |||
elf 25577: OUTPUTĀ«pre without a prefix is unimplemented at ./elf_h line 2148ā¤Ā» | |||
..rakudo e6b713: OUTPUTĀ«0ā¤Ā» | |||
..pugs: OUTPUTĀ«ā¤Ā» | |||
TimToady | must zzz & | 09:21 | |
bacek | hmm.. [\!=] (4,5,5) should produce (1,0,0)? | 09:22 | |
09:24
Maghnus joined
|
|||
moritz_ | I think it should produce (1, 0) | 09:24 | |
I've registered the domain perl6-projects.org, which I want to host on feather | 09:26 | ||
and put up an overview page of all active Perl 6 projects | |||
masak perks up | |||
moritz_: we need some kind of collaboration here between that and proto | |||
it also has a list of active Perl 6 projects. | 09:27 | ||
bacek | moritz_: it should produce 3 values I think | ||
moritz_ | masak: my main priority are compilers and documentation projects | 09:28 | |
masak | bacek: what do you compare the first element against? | ||
moritz_ | bacek: so what would be a sane value for unary != ? | ||
masak | moritz_: ah. I see. | ||
bacek | moritz_: True? | 09:29 | |
moritz_ | masak: I don't want to discriminate against any projects using Perl 6, but I guess that list will start to fluctuate pretty much pretty soon | ||
bacek | rakudo: say [!=] (4) | ||
p6eval | rakudo e6b713: OUTPUTĀ«0ā¤Ā» | ||
bacek | ok, False :) | ||
moritz_ | bacek: why True? Why not False? why not "die horribly"= | ||
s/=/?/ | |||
don't take rakudo as the reference | |||
perl6: say [!=] 4 | |||
p6eval | pugs: OUTPUTĀ«1ā¤Ā» | ||
..elf 25577: OUTPUTĀ«pre without a prefix is unimplemented at ./elf_h line 2148ā¤Ā» | |||
..rakudo e6b713: OUTPUTĀ«0ā¤Ā» | |||
masak | moritz_: fluctuate? which list? | 09:30 | |
bacek | interesting :) | ||
moritz_ | masak: the list of projects implemented in Perl 6 | ||
bacek | is (~ [\!=] 4, 5, 5), "0 1 0", "[\\!=] works (2)"; | ||
masak | moritz_: it's already pretty fluctuant. :) | ||
bacek | this this from spectest | ||
moritz_ | bacek: that also doesn't mean it's correct :/ | ||
bacek | moritz_: I know... | 09:31 | |
moritz_ | actually it's 100% wrong | ||
because ~ @list joins without whitespaces | |||
bacek | It's probably should be 1,1,0 | ||
09:31
meppl joined
|
|||
moritz_ | it probably should be 1, 0 | 09:31 | |
but I already said that | |||
bacek | perl6: say ~ [!=] () | 09:32 | |
p6eval | elf 25577: OUTPUTĀ«pre without a prefix is unimplemented at ./elf_h line 2148ā¤Ā» | ||
..rakudo e6b713: OUTPUTĀ«0ā¤Ā» | |||
..pugs: OUTPUTĀ«ā¤Ā» | |||
moritz_ | because the operation != has no sane neutral element | ||
Maghnus | any projects to put perl6 into a browser as a js alternative? | ||
moritz_ | Maghnus: first we try to implement it ;-) | ||
bacek | Maghnus: it's after-xmas project | 09:33 | |
moritz_ | Maghnus: some people thought about embedding parrot into firefox, but I don't think somebody actually did it | ||
Maghnus | :) true but it seems mostly orthogonal | ||
moritz_ | feel free to try it ;-) | 09:35 | |
the thing that's not orthogonal is developer's time | |||
bacek: ok, I was wrong... [!==]() # Bool::False (also for 1 arg) | 09:36 | ||
from S03 | |||
masak could use some orthogonal developer time | |||
moritz_ | bacek: so it could very well be a list of three items | 09:37 | |
bacek | moritz_: so, [\!=] 4,5,5 should be (0,1,0), correct? | ||
masak | aye. | ||
moritz_ | yes | 09:38 | |
bacek | perl6: say ~(1..3) | ||
p6eval | elf 25577: OUTPUTĀ«No viable candidate for call to multimethod prefix__126(#,#,#) at (eval 122) line 3ā¤ at ./elf_h line 4346ā¤Ā» | ||
..pugs, rakudo e6b713: OUTPUTĀ«1 2 3ā¤Ā» | |||
bacek | moritz_: and ~List joins with spaces :) | 09:39 | |
literal | can one do a method call on a list? | ||
bacek | perl6: say ~(1..3); say (1..3) | ||
p6eval | elf 25577: OUTPUTĀ«No viable candidate for call to multimethod prefix__126(#,#,#) at (eval 124) line 3ā¤ at ./elf_h line 4346ā¤Ā» | ||
..pugs, rakudo e6b713: OUTPUTĀ«1 2 3ā¤123ā¤Ā» | |||
masak | literal: sure, why not? | ||
moritz_ | bacek: ah right, I thought about [~] | ||
bacek: don't listen to me today | |||
masak | perl6: (1,2,3).reverse.say | ||
p6eval | pugs, rakudo e6b713: OUTPUTĀ«321ā¤Ā» | 09:40 | |
..elf 25577: OUTPUTĀ«Useless use of a constant in void context at (eval 120) line 3.ā¤Can't call method "reverse" without a package or object reference at (eval 120) line 3.ā¤ at ./elf_h line 4346ā¤Ā» | |||
jnthn | morning | ||
moritz_ | elf needs more autoboxing ;-) | ||
good morning jnthn | |||
bacek | jnthn: evening :) | ||
masak | jnthn: dobre rano. | ||
jnthn avoids mentioning the backscroll to avoid further embarasssing masak | |||
masak | :/ | ||
moritz_ | lol | ||
bacek | afk & # watching LOTR with kids... Again. | 09:41 | |
09:41
ashizawa left
|
|||
literal | masak: what methods does List have? | 09:41 | |
just curious | |||
bacek | literal: S29 | ||
moritz_ | a lot ;-) | ||
literal | I don't see List there | ||
bacek | oh, It's S32 now | ||
moritz_ | it's probably in S32*/List.pod or somethiing | 09:42 | |
masak remembers he still has a lot of items left on his S29 laundry list | |||
bacek | moritz_: Containers.pod | ||
moritz_ | ah, bacek beat me again... as I said, ignore me today ;-) | ||
09:43
IllvilJa left
|
|||
masak | the problem aobut the word 'container' right now is that it's used in two senses: about data types and about binding | 09:44 | |
jnthn | masak: The double free is, hopefully, gone now... | ||
masak | jnthn++ jnthn++ jnthn++ | ||
jnthn | masak: pmichaud++ too | ||
moritz_ | masak: they are releated. You can only bind to containers. | ||
masak | oh. pmichaud++ | ||
09:44
hercynium joined
09:45
hercynium left
|
|||
jnthn | I found where to stick the patch and wrote one that worked. pmichaud then looked at my patch, saw it was to do with contexts, and wrote a patch that was much shorter and better. :-) | 09:45 | |
09:45
hercynium joined
|
|||
moritz_ | I saw the commit, very nice and simple fix | 09:45 | |
jnthn | Yes. | 09:47 | |
masak | maybe I'll go back to the fakecutable then. | 09:49 | |
jnthn | masak: I used it all day yesterday. | 09:51 | |
masak | ok. | ||
I'll try it on my projects. | |||
wayland76 | moritz_: Thanks for the S24 info. | 09:54 | |
jnthn ponders his excessive list of things to do today | |||
09:55
IllvilJa joined
|
|||
moritz_ | can I somehow tell git-pull to be 100% silent? | 09:56 | |
I have a cron job that git-pull's | |||
literal | >/dev/null :P | ||
moritz_ | and it doesn't get rid of the summary | ||
I already supplied -n -q | 09:57 | ||
wayland76 | May also need 2>&1 *after* the >/dev/null :) | 09:58 | |
pugs_svn | r25578 | wayland++ | S29: Fix formatting | 10:00 | |
r25578 | wayland++ | IO.pod: Get rid of tree, spec stat and LinkNode a bit better | |||
wayland76 | masak: Hope you're happy about getting rid of tree :) | 10:01 | |
Thank ruoso; he talked me out of it :) | |||
masak | ruoso: thank you. | ||
wayland76: I still appreciate your efforts. sorry if I seem at times overly apprehensive. | 10:02 | ||
moritz_ | rakudo: say 2**20 | 10:04 | |
p6eval | rakudo e6b713: OUTPUTĀ«1048576ā¤Ā» | ||
dalek | kudo: 2758f79 | (Moritz Lenz)++ | tools/ (2 files): [tools] use fake executable in autounfudge and test_summary |
10:05 | |
wayland76 | ruoso++ :) | 10:09 | |
masak: Yeah, thanks for the encouragement. I think my motivation to work on IO.pod has disappeared though, and it still needs work. Everyone feel free to hack away at it, keeping in mind "forgiveness, not permission" | 10:10 | ||
I'd never get anything done if I didn't constantly tell myself that :) | 10:11 | ||
masak | indeed. | ||
I/O is important. | |||
wayland76 | I'm still motivated to work on specs though. It's just that IO.pod is now at the bottom of the list :) | ||
Signals are still interesting, though :) | |||
masak | I/O seems to be like religion, politics and language: everyone feels entitled to an opinion about it, and there is a lot of bikeshedding. | ||
wayland76 | Does anyone else think that IPC and Signals belong in S17 instead of S16? | 10:12 | |
masak | not necessarily always bad... | ||
...but often enough it leads to few results. | |||
wayland76 | Interesting -- politics and religion used to be the two forbidden topics at the meal table :) | ||
10:13
mikehh left
|
|||
wayland76 | masak: What do you think of the event loop idea that Larry and Ruoso were discussing? | 10:13 | |
Is that fine by you, or does it worry you too? | |||
moritz_ | std: foo:bar | ||
p6eval | std 25578: OUTPUTĀ«Undeclared routine:ā¤ foo used at 1 ā¤ok 00:02 33mā¤Ā» | ||
masak | wayland76: I didn't pay much attention to it, but I would think I'm alright with such a thing. | ||
moritz_ | std: foo\.(:bar) | 10:14 | |
p6eval | std 25578: OUTPUTĀ«Undeclared routine:ā¤ foo used at 1 ā¤ok 00:02 33mā¤Ā» | ||
10:14
PZt joined
|
|||
masak | wayland76: I'm mostly worried when people provide suboptimal default types. | 10:14 | |
moritz_ | rakudo: sub succ($x) { $x + 1}; succ .(1+2) * 30 | ||
p6eval | rakudo e6b713: OUTPUTĀ«invoke() not implemented in class 'Undef'ā¤current instr.: '_block14' pc 95 (EVAL_19:49)ā¤Ā» | ||
moritz_ | std: sub succ($x) { $x + 1}; succ .(1+2) * 30 | 10:15 | |
p6eval | std 25578: OUTPUTĀ«ok 00:02 34mā¤Ā» | ||
masak | moritz_: wot's .(1+2) supposed to mean? | 10:16 | |
moritz_ | masak: method call on $_ | ||
masak: but I'm looking at a test that thinks differently | |||
masak | moritz_: ...which is undefined. yah? | ||
moritz_ | right | ||
masak | that's odd. | ||
moritz_ | why? | 10:17 | |
Matt-W | yeah if you wanted it to be succ.(1+2) you'd have to write succ\ .(1+2) I believe | ||
unspace thingy | |||
moritz_ | Matt-W: exactly | ||
but sub-calls.t has that wrong | |||
s(eval(q/first.second/), 'firstsecond', '`first.second` means `&second(&first())`'); | |||
Matt-W | tsk! | ||
moritz_ | that's also wrong, isn't it? | ||
it should just be ((first()).second() | |||
Matt-W | yes I think that's wrong | 10:18 | |
it could also be second :first(), if I remember the new indirect object syntax | |||
or something like that | 10:19 | ||
10:19
ludan joined
|
|||
Matt-W | but you can't pass the invocant as the first param just like that AFAIK | 10:19 | |
moritz_ | you mean the invocant marker? | ||
pugs_svn | r25579 | moritz++ | [t/spec] corrected sub-calls.t, and fudged for rakudo | ||
Matt-W | whatever it's called :) | 10:20 | |
dalek | kudo: e4bd268 | (Moritz Lenz)++ | t/spectest.data: we now pass sub-calls.t, add to spectest.data |
10:21 | |
jnthn | moritz_: I put in bare sigils yesterday. | 10:27 | |
In signatures. | |||
We had tests already in assign.t for like my ($, $, $three) = 1..3; | |||
So I enabled those. | |||
masak | wayland76: no, bless isn't dead. see S12. | ||
jnthn | But I didn't see any for sub foo($, $, $oh_this_one_is_useful) { } | 10:28 | |
Matt-W | I thought * was for ignoring things like that | ||
moritz_ | jnthn: I'll put it on my TODO | ||
masak | wayland76: if it's a TODO list you're building for S29, please see use.perl.org/~masak/journal/38170 | ||
Matt-W | I guess in sub params you need to say something more useful... | 10:29 | |
Does rakudo do enums? | |||
masak | Matt-W: sure! | ||
rakudo: enum Foo <a b c>; say b | |||
p6eval | rakudo 2758f7: OUTPUTĀ«1ā¤Ā» | ||
moritz_ | rakudo: multi f($ where 0 ) { 1 }; mullti f(Int $x ) { $x * f($x-1) }; say f(4) | ||
p6eval | rakudo 2758f7: OUTPUTĀ«Statement not terminated properly at line 1, near "(Int $x ) "ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» | ||
moritz_ | rakudo: multi f($ where 0 ) { 1 }; multi f(Int $x ) { $x * f($x-1) }; say f(4) | 10:30 | |
p6eval | rakudo e4bd26: OUTPUTĀ«maximum recursion depth exceededā¤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:96)ā¤Ā» | ||
moritz_ | rakudo: multi f($x where 0 ) { 1 }; multi f(Int $x ) { $x * f($x-1) }; say f(4) | ||
p6eval | rakudo e4bd26: OUTPUTĀ«maximum recursion depth exceededā¤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:96)ā¤Ā» | ||
moritz_ | rakudo: multi f(Int $x where 0 ) { 1 }; multi f(Int $x ) { $x * f($x-1) }; say f(4) | ||
p6eval | rakudo e4bd26: OUTPUTĀ«24ā¤Ā» | ||
moritz_ | rakudo: multi f($ where 0 ) { 1 }; multi f($x ) { $x * f($x-1) }; say f(4) | ||
p6eval | rakudo e4bd26: OUTPUTĀ«24ā¤Ā» | 10:31 | |
moritz_ | nice ;-) | ||
jnthn | iIt took me a while to see why, but yes, I think Rakudo is getting those right. | ||
moritz_ | same here | 10:32 | |
jnthn | (Int is tighter than Any, so the Any variant is never considered) | ||
Matt-W | rakudo: enum Foo<a b c>; class Bar { has Foo $.x; }; my $y = Bar.new; | ||
p6eval | rakudo e4bd26: OUTPUTĀ«Type mismatch in assignment.ā¤current instr.: 'die' pc 16347 (src/builtins/control.pir:204)ā¤Ā» | ||
wayland76 | masak: I guess I see the role of S29 as really being the section labelled "Default functions"; if it's a method on an object, then even when it's exported by default, it should be in S32/*, not S29. | 10:33 | |
That's my vision for it; others may differ :) | |||
masak | wayland76: makes sense to me. | ||
note though that I wrote the blog post before that distinction existed. :) | 10:34 | ||
wayland76 | Yeah, I saw that :) | ||
masak | and most of the things on that list are still missing. | ||
wayland76 | Good list; thanks. | 10:35 | |
Should there be a Context object? | 10:36 | ||
masak | good question. probably. | 10:37 | |
wayland76 | I'm not so sure; have you looked at the Context section in S29? | ||
A lot of those functions don't really look like they belong on a Context object :) | 10:38 | ||
moritz_ | std: _foo() | 10:39 | |
p6eval | std 25579: OUTPUTĀ«Undeclared name:ā¤ _foo used at 1 ā¤ok 00:02 33mā¤Ā» | ||
moritz_ | rakudo: say '_' lt 'a' | ||
p6eval | rakudo e4bd26: OUTPUTĀ«1ā¤Ā» | ||
moritz_ | rakudo: say '_' lt 'A' | ||
p6eval | rakudo e4bd26: OUTPUTĀ«0ā¤Ā» | ||
jimmy_ | <Hello World>.split(' ').say | 10:40 | |
rakudo: <Hello World>.split(' ').say | |||
p6eval | rakudo e4bd26: OUTPUTĀ«HelloWorldā¤Ā» | ||
moritz_ | that's... experimental | ||
literal | rakudo: 'foo'.say.say.say | 10:41 | |
p6eval | rakudo e4bd26: OUTPUTĀ«fooā¤1ā¤1ā¤Ā» | ||
jimmy_ | mine? | ||
moritz_ | splitting on an array coerces it to Str | ||
then you split it | |||
jimmy_: yes | |||
but it doesn't have a blank anymore | |||
jimmy_ | rakudo: <Hello World>.split('').say | ||
p6eval | rakudo e4bd26: OUTPUTĀ«Hello Worldā¤Ā» | ||
Matt-W | rakudo: <Hello World>.split(' ').perl | ||
p6eval | rakudo e4bd26: RESULTĀ«"[\"Hello\", \"World\"]"Ā» | ||
jimmy_ | rakudo: <Hello World>.perl | 10:42 | |
p6eval | rakudo e4bd26: RESULTĀ«"[\"Hello\", \"World\"]"Ā» | ||
wayland76 | context() and caller() are how you get a context. I'm not sure why eval() and evalfile() are in this section. exit() seems like it calls PROCESS::return() or something. sleep() also seems to belong on at least a thread rather than a context. die() and fail() should, to my mind, be keywords rather than functions :). | ||
masak | moritz_: it doesn't have a blank anymore because lists are printed as is without a blank. | ||
moritz_ | rihgt | ||
rakudo: say <a b c>.join | 10:43 | ||
p6eval | rakudo e4bd26: OUTPUTĀ«a b cā¤Ā» | ||
10:43
jimmy_ left
|
|||
wayland76 | rakudo: "Hello World".split(' ').say() | 10:43 | |
p6eval | rakudo e4bd26: OUTPUTĀ«HelloWorldā¤Ā» | ||
masak | by the way, this is a bit inconsistent, come to think of it: | 10:44 | |
rakudo: my @a = 1,2,3; say @a; say @a.fmt("%s"); my %h = "A" => "B"; say %h; say %h.fmt("%s\t%s") | |||
p6eval | rakudo e4bd26: OUTPUTĀ«123ā¤1 2 3ā¤A Bā¤A Bā¤Ā» | ||
masak | (that's two tabs, they just happen to be of different width here) | 10:45 | |
so while an unadorned .fmt on hashes produces the same result as just printing a hash, the same does not hold for arrays. | 10:46 | ||
lunch & | 10:49 | ||
10:49
masak left
10:55
mikehh joined
|
|||
pugs_svn | r25580 | wayland++ | Added types to main table | 10:57 | |
10:57
ejs1 joined
10:59
ejs left
|
|||
pugs_svn | r25581 | wayland++ | Moved Junctions from S29 to Containers.pod | 11:05 | |
r25582 | wayland++ | Updated main table; refactoring after previous additions | |||
11:06
ejs2 joined
|
|||
moritz_ | wayland76: Junctions are some kind of compound types, but they are not containers (you can't bind to them) | 11:08 | |
the wonders of unix's fork(): you can upgrade your ssh daemon without loosing the connection | 11:12 | ||
11:13
ludan left
|
|||
literal | actually I think that's the wonder of unix filesystems | 11:13 | |
moritz_ | that also | ||
but the upgrade also implies a restart | 11:14 | ||
11:14
ejs1 left
|
|||
literal | open files can be replaced/deleted without harm to running apps :P | 11:14 | |
ah, true | |||
moritz_ | yes, in the end you need both features | 11:15 | |
wayland76 | moritz_: Pity :) | 11:21 | |
What if we had an array. Could I do given (any(@exceptions)) { when ...... | 11:22 | ||
Or does "given" not play well with junctions? | |||
jnthn | The mart-match will auto-thread. | ||
wayland76 | mart-match? | 11:23 | |
moritz_ | smart-match | ||
jnthn | smart match | ||
wayland76 | ah :) | ||
moritz_ | the "when" performs one | ||
jnthn | mart-match is like, commercial smart-match ;-) | ||
wayland76 | So that does what I want, then :) | ||
jnthn | Probably. | ||
wayland76 | jnthn: Yeah, I figured that when I googled it :) | 11:24 | |
moritz_ | wayland76: not sure it does; only one when block will match | ||
wayland76: is that what you want? | |||
wayland76 | Oops :). Maybe not then | 11:26 | |
Unfortunately I just sent another e-mail to the list. Oh well :) | |||
I guess we need foreach(@!) { given { when .... } } | 11:28 | ||
moritz_ | is @! new? | ||
or did you mean @($!)? | |||
wayland76 | See my e-mail :). | ||
bacek | pmichaud, jnthn, I've finished reduce metaops. github.com/bacek/rakudo/blob/e94df8...ssign.pir. This version passing all tests from spectest except custom operators | ||
wayland76 | I'm suggesting that, since $! is a container, it might make more sense to call it @! | ||
moritz_ | it's both a single exception and a container | 11:29 | |
wayland76 | ? | ||
moritz_ | like $/ is a match object and a container of match objects | ||
at least that's my impression | 11:30 | ||
wayland76 | Ah, I see | ||
moritz_ | I don't like @! because you can't interpolate it in strings easily | ||
wayland76 | Ok | ||
Makes sense | |||
But inside a CATCH block, $_ would interpolate easily :) | 11:31 | ||
moritz_ | yes, but that's not the only use | ||
wayland76 | OK ;) | ||
Another question; can any Match object act both as a Match and a container of Matches? | 11:32 | ||
or is it just $/ | |||
11:32
hercynium left
|
|||
jnthn | Any | 11:34 | |
You can see it as a kinda match tree | |||
wayland76 | Ok, all happy then :) | ||
11:34
ludan joined
|
|||
wayland76 | Now we have exception trees :) | 11:34 | |
moritz_ | rakudo: Match.new(to => 3); say "alive" | ||
p6eval | rakudo e4bd26: OUTPUTĀ«invalid arg type in named portion of argsā¤current instr.: 'parrot;PGE;Match;new' pc 28 (compilers/pge/PGE/Match.pir:54)ā¤Ā» | ||
11:35
idemal left
|
|||
Matt-W | ooooh a proper error message | 11:46 | |
11:48
[particle] left
11:52
ruoso joined
11:53
renormalist left
|
|||
pugs_svn | r25583 | wayland++ | Lots more stuff in S32. Documented Callable objects, and extended Containers a fair bit. | 12:04 | |
r25583 | wayland++ | Added little bits elsewhere in S32. | |||
jnthn | wayland76: Callable ojects? | 12:05 | |
Callable is a role done by Code, AFAICT. | |||
(And thus by stuff that inherits from it...) | |||
ruoso | jnthn, isn't Callable something parrot-specific? | 12:06 | |
jnthn | ruoso: No | ||
ruoso | Isn't it just Code in Perl 6? | ||
jnthn | It's a Perl 6 role. | ||
Code does Callable | |||
You can only assign/bind things to something with the & sigil if it does Callable | |||
Just as @ means does Positional, etc. | |||
S02 IIRC | |||
ruoso | S02 doesn't seem to mention Callable in the "built-in types" | 12:07 | |
hmm... | |||
but it lists it later | |||
hmmm... | |||
inconsistencies-- | |||
jnthn | I think it mentions it around the same time it's also talking about Positional etc. | 12:08 | |
It's parobably a parametric role. | |||
wayland76 | Ok, correction -- I documented the classes and roles that depend on the Callable role | ||
grep Callable S02-bits.pod | 12:09 | ||
C<&x> may be bound to any object that does the C<Callable> role, such | |||
as any C<Block> or C<Routine>. The C<Callable> role implies the ability | |||
:) | |||
ruoso | wayland76, one thing I noticed is that you're doing things like "class Foo does Foo {}" | ||
wayland76 | Is that bad? | ||
jnthn | Foo can't be a class and a role | ||
Well, it can but... | |||
Not liek that... | |||
;-) | |||
ruoso | and also | ||
jnthn | class Foo does Bar { } would be clearer | ||
wayland76 | :). Well, I'm just doing what I perceive the documentation to be saying :) | ||
ruoso | "role Foo { }" already behaves like a class fwiw | 12:10 | |
it generates a "punned class" when used as one | |||
so, every built-in type can be expressed in terms of roles | |||
(I think it has been said that all built-in types *are* roles) | |||
wayland76 | Ok, I love it :) | 12:11 | |
ruoso | so... what does the Code type do that the Callable type doesn't? | 12:14 | |
pugs_svn | r25584 | wayland++ | Container.pod fixes, based on IRC advice. | 12:15 | |
wayland76 | You tell me :) | ||
I'm just extracting stuff from S02 :) | |||
Maybe I'm highlighting inconsistencies | |||
In fact, that's half my point in most of the things I've done tonight is to see whether things line up with other things | 12:16 | ||
(that was proof that I'm, like, part of the most inarticulate generation in, like, a loooong time. whatever :) ) | 12:17 | ||
ruoso | maybe Callable only defines .() | ||
while Code also defines .signature | |||
wayland76 | Quite possibly | ||
Callable is presumably supposed to be analogous with Associative and Positional | 12:18 | ||
12:18
IllvilJa left
|
|||
wayland76 | While we're here, can someone tell me if it's correct that List does Array, and Array does Container? Or have I got them mixed up? | 12:19 | |
ruoso | Array does List | 12:20 | |
not the other way around | |||
but List is in the "immutable types" | |||
so that's a bit mixed off | |||
wayland76 | :) | 12:21 | |
ruoso | I think the "immutable" section is a bit illustrative... | 12:22 | |
since you can't really ensure immutability of non-native types | |||
wayland76 | :) | 12:23 | |
pugs_svn | r25585 | wayland++ | Containers.pod: Got some composition straightened out | 12:24 | |
r25585 | wayland++ | Abstraction.pod: Documented these. | |||
12:25
masak joined
|
|||
ruoso | wayland76, there isn't really a class Class | 12:25 | |
wayland76 | No? | ||
masak | rakudo: module A { sub f is export { say "OH HAI" } }; f | ||
p6eval | rakudo e4bd26: OUTPUTĀ«Could not find non-existent sub fā¤current instr.: '_block14' pc 53 (EVAL_19:38)ā¤Ā» | ||
masak | NO HAI? | ||
we don't have 'is export' in Rakudo? | 12:26 | ||
wayland76 | OH HAI masak :) | ||
masak | wayland76: :) | ||
wayland76 | If there's no class Class, why is it listed under Mutable Types in S02? | ||
masak meant from Rakudo, but human HAIs are fine, too | |||
12:27
cas left
|
|||
ruoso | wayland76, that's a good question... | 12:27 | |
masak | wayland76: good question. fossil, p'haps? | ||
wayland76 | masak: Well, I'd just said "No", so I made a connection :) | ||
masak | ah. | ||
wayland76 | Maybe it's the way it should be specced, even if it isn't/can't be implemented that way :) | ||
ruoso | wayland76, Perl 6 doesn't enforce a specific OO implementation | 12:28 | |
which is what "class Class" would do | |||
everything goes through HOW | |||
wayland76 | I started out adding the types to S28, and ended up here :) | ||
ruoso | and HOW is implementation specific | ||
mildew has a ClassHOW, for instance | 12:29 | ||
but not a Class | |||
wayland76 | Ok. | ||
So what type should $?CLASS be in S28? | |||
ruoso | $?CLASS is of the type of the class being defined | ||
it points to the protoobject | |||
or, if you want to simplify it... it's of the type Object | 12:30 | ||
wayland76 | But shouldn't the type of $?CLASS be the type of the proto-object? | ||
Is the proto-object of type Object? | 12:31 | ||
ruoso | $?CLASS *is* the protoobject | ||
everything is of type Object | |||
including the protoobjects | |||
masak | no answer on the 'is export' feature? I was under the impression that Rakudo had it. but maybe that was just internally? | ||
12:32
ejs2 left
|
|||
ruoso | masak, I think the problem is in your code | 12:32 | |
masak | ruoso: ok. my cup is empty. | ||
12:32
ejs2 joined
|
|||
ruoso | is export requires EXPORTALL to be called | 12:32 | |
(at least in theory) | |||
masak | ruoso: how would it look, more precisely? | ||
ruoso | masak, I think exportation requires a "use" | 12:33 | |
masak | ruoso: I have a 'use' in my program. | ||
still doesn't work. | |||
ruoso | ah... ok then... | ||
masak | good point about the one-liner, though. it's probably not a good way to show that it doesn't work. | ||
masak submits rakudobug | |||
ruoso | masak, but I'm not actually sure about that... | 12:34 | |
I *think* having a class inline doesn't import any symbols it exports | |||
but the spec around that is very much confusing | |||
wayland76, conceptually, you never get *the class*. what you get is the HOW, which should be able to do everything you would do with the class object | 12:35 | ||
masak | maybe a ticket will get things going. | ||
ruoso | wayland76, but in SMOP, for instance, all classes share the same HOW, because it's a bit more prototype-based than rakudo | 12:36 | |
(and in order to support that, $a.^b() is always the same as $a.HOW.b($a) | 12:37 | ||
wayland76 | What, so Str $foo; Int $bar; $foo.HOW ==== $bar.HOW ? | ||
(ignore my last line) | |||
12:37
cas joined
|
|||
ruoso | wayland76, in SMOP, yes... but comparing HOW identity is not something really usefull | 12:38 | |
nor is comparing WHAT, for that matter | |||
wayland76, but rakudo implements a more class-based OO... so the HOW itself is really a class | 12:39 | ||
wayland76, in SMOP, the HOW implements the logic on how the objects of that HOW behaves... for instance... the logic of inheritance, method resolution order and so on will always be in the HOW object | 12:40 | ||
while the methods and attributes themselves are stored in the protoobject... | 12:41 | ||
wayland76 | Ok, I think after reading a bit about prototypes I'm getting the hang of that | ||
I don't get how a language spec can refuse to choose between them, and still remain interoperable, though :) | 12:42 | ||
ruoso | my idea of using this more prototype-based implementation is to allow replacing the HOW in a subclass while still being able to inherit from protoobjects that use a different HOW | ||
wayland76, Perl 6 can do that because it doesn't enforce a lowlevel representation | |||
*that* IMNSHO, is the most important feature of Perl 6 | 12:43 | ||
wayland76 | I'll take your word for it -- I'm no expert :) | ||
ruoso | so in Perl 6 you really can't break the encapsulation of an object | ||
12:43
[particle] joined
|
|||
wayland76 | (on most things, anyway :) ) | 12:43 | |
ruoso | for the simple fact that you don't know how the object layout | 12:44 | |
(actually, in SMOP you can, as long as the object conforms to the REPR API | |||
wayland76 | Is REPR non-Perl6 then? | 12:45 | |
ruoso | non standard... | ||
yes | |||
wayland76 | That's what I meant :) | ||
ruoso | I know | ||
moritz_ | it's below the level of what is currently specced | ||
12:45
r0bby left,
r0bby_ joined
|
|||
ruoso | I just had a hard time expressing a yes that was supposed to look like a no | 12:46 | |
moritz_ | ;-) | ||
wayland76 | Does this mean that everything I wrote in Abstraction.pod is wrong, then? | ||
moritz_ | isn't it the other way round? ;-) | ||
masak | hah, I can work around needing 'is export' by not declaring any package at all! | 12:47 | |
:) | |||
moritz_ | doesn't 'is export' work? | 12:48 | |
ruoso | wayland76, I'm quite convinced that the "Abstraction" role is quite confusing by itself | ||
masak | moritz_: you tell me! | ||
I can't get it to work. | |||
ruoso | wayland76, in fact, if the thing that goes onto the ::Array is the array protoobject, I'm quite convinced the "Abstraction" role simply doesn't make any sense... | 12:49 | |
moritz_ | masak: maybe I'm wrong | 12:50 | |
masak | moritz_: I wish you weren't. | ||
wayland76 | Well, something to take up with TimToady :) | ||
ruoso | because if the protoobject is of the same type of the actual object, it can't compose an additional role | ||
unless everything does Abstraction | |||
rakudo: say Array ~~ Abstraction | 12:51 | ||
p6eval | rakudo e4bd26: OUTPUTĀ«0ā¤Ā» | ||
ruoso | rakudo: say ::Array ~~ Abstraction | ||
p6eval | rakudo e4bd26: OUTPUTĀ«0ā¤Ā» | ||
wayland76 | I'm wondering if Abstraction == Namespace (scope? I'm not sure of the word I want here :) ) | ||
masak | wayland76: yes, I think so. | 12:52 | |
ruoso | but that's what Package is for | ||
masak | ruoso: Package is one specific Abstraction. | ||
ruoso | hmmm... one you can't use in Perl 6 | ||
masak | no? | ||
ruoso | no.. | ||
I mean... | 12:53 | ||
you do use it all the time | |||
because AFAIU, a Module is a Package | |||
wayland76 | Not according to S02 :) | ||
masak doesn't think so | |||
wayland76 | (cf. Mutable types) | ||
jnthn | Abstraction is done by thingies that can act as types. | 12:54 | |
e.g. something you can bind to something with the :: sigil. | |||
ruoso | jnthn, but if the protoobject is of the same type of the actual object... | ||
masak | ah. | ||
jnthn | (Subtypes, enums, etc) | ||
ruoso | how does the protoobject composes a role that the object doesn't? | ||
jnthn | I don't get your question. | ||
We're doing it just fine in Rakudo... | 12:55 | ||
rakudo: say 42 ~~ Abstraction; say Int ~~ Abstraction; | |||
p6eval | rakudo e4bd26: OUTPUTĀ«0ā¤0ā¤Ā» | ||
jnthn | gah | ||
ruoso | heh | ||
jnthn | Oh | ||
wayland76 | ruoso: Think of it this way -- "Instantiation" and Abstraction are on different axes :) | ||
masak | :) | ||
ruoso | wayland76, not really | ||
jnthn | rakudo: role Foo { }; say Foo ~~ Abstraction; | ||
p6eval | rakudo e4bd26: OUTPUTĀ«0ā¤Ā» | ||
wayland76 | No? | ||
jnthn | Oooh! | ||
ruoso | wayland76, a protoobject is just an empty object | 12:56 | |
jnthn | That patch didn't make it from the branch and we check explicitly for roles etc in is_type for now... | ||
ruoso | wayland76, "Instantiation" is the process of BUILDing that object | ||
i.e. a call to BUILDALL | |||
jnthn | is_type should really be checking for does Abstraction though, AFAICT. | ||
ruoso: It's not hard to do, you can just fix in Abstraction to the proto-object... | 12:57 | ||
ruoso | jnthn, I'm not sure... is_type is a string checker | ||
jnthn | ruoso: In STD.pm yes | ||
But that's because it doesn't have anything else to look at. | |||
wayland76 | ruoso: Ok, but Abstraction should really be called "Namespace" IMO :) | ||
ruoso | jnthn, back to "fix in Abstraction to the proto-object" | 12:58 | |
what does that mean exactly? | |||
masak | wayland76: it's not really a namespace. | ||
jnthn | ruoso: Typo, I meant mix in... | ||
wayland76 | No? Then I'm all confused still :) | ||
ruoso | jnthn, but then you'd have the protoobject with a different type than the objects | ||
wayland76 | jnthn: You've been having some good typos today :) | 12:59 | |
ruoso | it wouldn't be an empty object | ||
then things like Dog{ :name<Fido> } would be weird | |||
since you're getting a new protoobject | |||
so Dog{ :name<Fido> } would also get the Abstraction role... | 13:00 | ||
which is weird | |||
jnthn | OK, let me ask this: how do you get protoobjects in smop to appear undefined, and other instances to appear defined? | ||
Yes, and that's fine. | |||
ruoso | by then being either defined or not ;) | ||
I mean | |||
jnthn | Because it means we can do ::FidoDog = Dog{ :name<Fido> } | ||
ruoso | it is undefined untill BUILDALL is called | ||
and defined after that | |||
jnthn | defined is an attribute somewhere? | 13:01 | |
ruoso | not really an attribute per se... | ||
but it is defined if the "instance storage" is initialized | |||
undefined otherwise | |||
i.e.: after CREATE, the "instance storage" is *not* initialized | 13:02 | ||
jnthn | OK, we do it in Rakudo by a mix-in style mechanism. | ||
So proto-objects get a .defined that returns false. | |||
ruoso | so what happens if Dog{ :name<Fido> } autovivifies? | 13:03 | |
jnthn | Code example? | ||
ruoso | my $dog = Dog{ :name<Fido> }; | ||
say "undef" unless $dog.defined; # it says it | |||
$dog.wag | |||
jnthn | That'd just have the proto-object with the appropriate WHENCE inside $dog at this point... | 13:04 | |
ruoso | say "defined" if $dog.defined; # it says it | ||
jnthn | erm | ||
calling a method on a proto-object auto-vivifies it? | |||
That *can't* be right. | |||
ruoso | that's S12 | ||
jnthn | Otherwise .new would make a proto-object auto-vivify. | ||
ruoso | it wouldn't because most protoobjects don't have a WHENCE | 13:05 | |
13:05
[particle] left
|
|||
ruoso | jnthn, but the triggering of the autovivification is a bit blurry yet... | 13:05 | |
but the fact is that it does get autovivified at some point | |||
wayland76 | Midnight. Bed! :) | 13:06 | |
ruoso | independent of what triggers the autovivification | ||
jnthn | Ah, hmm... | ||
But yes, that is a bit blurry. | |||
I just thought that meant you could do a $dog.new and *it* would have name initialized to Fido. | 13:07 | ||
ruoso | no... $dog.new would return a new object that wouldn't even carry the WHENC | ||
13:08
jimmy_ joined
|
|||
jnthn | I didn't say it would carry the whence, just that it gets created with the name attribute initlialized. | 13:08 | |
To Fido | |||
ruoso | it wouldn't | ||
jnthn | :-S | ||
Then we understand S12 differently. | 13:09 | ||
ruoso | new only looks at the named parameters | ||
it creates a new object | |||
jnthn | We have it looking at the WHENCE too. | ||
Which IMO is more useful. | |||
ruoso | that's not supposed to happen in new | ||
only in bless | |||
and only if you send the $protoobject as a positional parameter | |||
jnthn | You take my "in new" to literally there. :-) | 13:10 | |
jimmy_ | perl6:say ~(1..) | ||
ruoso | jnthn, my point is that "new" is the one that calls CREATE | ||
bless doesn't call it | |||
that's the main difference | |||
jimmy_ | perl6:say ~(1..) | ||
perl6:say ~(1..3) | |||
ruoso | jimmy_, I think you should have a space after the : | ||
jimmy_ | rakudo: say 'hello' | 13:11 | |
p6eval | rakudo e4bd26: OUTPUTĀ«helloā¤Ā» | ||
jimmy_ | rakudo: say ~(1..) | ||
p6eval | rakudo e4bd26: OUTPUTĀ«Statement not terminated properly at line 1, near "..)"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» | ||
ruoso | std: say ~(1..) | ||
p6eval | std 25585: OUTPUTĀ«############# PARSE FAILED #############ā¤Please use ..* for indefinite range at /tmp/0c46Pr0F1c line 1:ā¤------> say ~(1..)ā¤FAILED 00:02 34mā¤Ā» | ||
jimmy_ | rakudo: say ~(1..*) | ||
p6eval | rakudo e4bd26: OUTPUTĀ«Use of uninitialized valueā¤ā¤Ā» | ||
jimmy_ | std: say ~(1..*) | ||
p6eval | std 25585: OUTPUTĀ«ok 00:02 34mā¤Ā» | 13:12 | |
jimmy_ | std? | ||
what's std | |||
std: say ~(1..) | |||
ruoso | jimmy_, it's the STD Perl 6 grammar, written in Perl 6 itself and maintained by Larry Wall | ||
p6eval | std 25585: OUTPUTĀ«############# PARSE FAILED #############ā¤Please use ..* for indefinite range at /tmp/CyJJEAkWbh line 1:ā¤------> say ~(1..)ā¤FAILED 00:02 34mā¤Ā» | ||
ruoso | jimmy_, it is not a compiler nor a runtime, it's just the grammar | ||
13:13
mberends joined
|
|||
jimmy_ | how to compile it | 13:13 | |
ruoso | jnthn, I've sketched all the instantiation process as defined by S12 in smop/src-s1p/Object.pm and ClassHOW.pm | ||
jimmy_, rakudo tries to stay as close to STD as possible. | |||
jimmy_, mildew is a compiler backend for STD, but it still has very few features | 13:14 | ||
jimmy_, there's still elf | |||
jimmy_ | thanks | ||
mberends | masak: hi, did you pull my proto.perl5 yet? | 13:15 | |
masak | mberends: oh hai. | ||
nope, will immediately. | |||
ruoso | mildew: say "Hello to jimmy_"; | ||
p6eval | mildew: OUTPUTĀ«Can't locate object method "term__S_389identifier" via package "STD" at ../../src/perl6/STD.pm line 1236.ā¤Ā» | ||
ruoso | pfft... | 13:16 | |
it seems that a lex needs cleaning | |||
jimmy_ | std: say 'hello to jimmy_'; | ||
p6eval | std 25585: OUTPUTĀ«ok 00:02 33mā¤Ā» | ||
masak | mberends: nice. | 13:17 | |
mberends: I might as well ask you directly: what do you consider the greatest weakness of the .perl5 version to be? | 13:18 | ||
(compared to the bash version) | 13:19 | ||
13:21
pmurias joined
|
|||
mberends | sorry for delay, phone call | 13:22 | |
masak | np | 13:23 | |
another way to ask the same question: when do we switch over? | |||
mberends | difficult to answer while at $work, will have to think hard about it. in general, no drawback and even maybe an advantage on Windows. | 13:24 | |
jnthn | People are more likely to have Perl on Windows than bash... :-) | 13:25 | |
mberends | I'll be online this evening, must do $job now. your availability? | ||
Matt-W | jnthn +5 Insightful | ||
pmurias | ruoso: hi | ||
lambdabot | pmurias: You have 2 new messages. '/msg lambdabot @messages' to read them. | ||
ruoso | hi pmurias | 13:26 | |
masak | mberends: I'll be here for another three hours. | ||
mberends: will happy-hack tonight, possibly on proto. | |||
mberends: do you use 5.10 features besides 'say'? can we do without the 5.10 req? | |||
Matt-W | Hurrah for evening hacking | ||
mberends | only 'say' drop to 5.8 if you like. | ||
masak | Matt-W: 'bout the only kind I have nowadays. oh, and weekend hacking. | ||
mberends: I'd like to drop as low as I can. :) | 13:27 | ||
pmurias | ruoso: i'm going to work on the little things now so mildew can run (most) of sanity tests now | ||
masak | but 5.8 might be enough. | ||
Matt-W | masak: me too. Not sure if I'll get any in tonight between music and aikido :( | ||
mberends | sorry, must go | ||
masak | mberends: o\ | ||
o/ | |||
mberends waves | |||
ruoso | pmurias, I'm actually quite anxious to have the sanity tests passing... | ||
13:28
mberends left
|
|||
pmurias | ruoso: if you know how RoleHOW should look like but are blocking on the little things required for it, i could implement them | 13:28 | |
masak | Matt-W: I'm very exited about Form. I wish you a lot of time to work on it. :) | ||
ruoso | pmurias, the only thing strange in RoleHOW is it being able to create the punned class which will require some more work | 13:29 | |
pmurias, the other parts of RoleHOW are basically the same thing as PrototypeHOW | |||
i.e.: adding an attribute, adding a method | |||
although it's simpler than PrototypeHOW in many ways | 13:30 | ||
(except by having to be able to pun a class) | |||
13:32
skids left
|
|||
Matt-W | masak: Just don't wish for that to be caused by any more aikido accidents, they're painful | 13:33 | |
13:33
smtms left
|
|||
masak | Matt-W: I promise not to wish your extra time to be caused by any more Aikido accidents. | 13:34 | |
Matt-W | masak: excellent, thanks :) | ||
13:37
[particle] joined
|
|||
ruoso | pmurias, it seems you forgot to add RoleHOW.pm | 13:39 | |
pugs_svn | r25586 | pmurias++ | [mildew] add missing file | 13:41 | |
ruoso very happy to see mildew/CORE | |||
it looks amazing :) | |||
13:54
jimmy_ left
|
|||
pmurias | how do i get the first positional from a Capture? | 13:56 | |
the n-th positional more generally | 13:58 | ||
ruoso | you can use .[] | 13:59 | |
14:01
jimmy_ joined
|
|||
pmurias | and the number of elements with .elems | 14:02 | |
ruoso | I think so | ||
pmurias, you can already coerce a Capture to an Array | 14:03 | ||
and it will dwim | |||
14:04
mikehh left
14:10
namenlos left,
namenlos joined
14:13
mikehh joined
|
|||
ruoso | pmurias, there are two things that I would need for RoleHOW that maybe you could help me... | 14:17 | |
both in PrototypeHOW | |||
(since this basic RoleHOW will pun classes that use PrototypeHOW) | |||
one would be $object.^clone | 14:18 | ||
and the other $object.^compose_role | |||
14:23
r0bby_ left
14:24
r0bby joined
|
|||
ruoso | pmurias, running perl mildew t/array.t takes forever here... can you successfully execute it? | 14:25 | |
14:26
kane_ joined
14:31
pmurias left,
pmurias joined
|
|||
pmurias | ruoso: checking | 14:32 | |
ruoso: it fails due to a wrong test coutn | 14:33 | ||
* count | |||
ruoso | hmm... | ||
ah... | |||
wait... | |||
maybe I haven't recompiled SMOP after the last update | 14:34 | ||
pugs_svn | r25587 | pmurias++ | [mildew] fixed test count | ||
ruoso cleaning up smop and trying again... | 14:35 | ||
ruoso running make in src/perl6 as well | 14:36 | ||
ok... massive recompilation of everything solved the problem | 14:40 | ||
14:50
skids joined
14:52
ejs1 joined
|
|||
pugs_svn | r25588 | ruoso++ | [mildew][smop] rename PrototypeHow to PrototypeHOW for consistency sake... | 14:56 | |
r25588 | ruoso++ | [smop] add PRIMITIVES::idconst_eq | |||
r25588 | ruoso++ | [mildew] first sketch on RoleHOW, still not working... need PrototypeHOW.compose_role and PrototypeHOW.clone | |||
r25589 | ruoso++ | [mildew] make sure the identifier is FETCHed before sent to PRIMITIVES::idconst_eq | 14:57 | ||
14:59
jimmy__ joined,
jimmy_ left,
jimmy__ is now known as jimmy_
15:01
ejs2 left,
nihiliad joined
15:04
ejs1 left
15:05
ejs1 joined
15:06
pmurias left
15:07
jimmy_ left
15:12
alester joined
|
|||
alester | I broked da Rakudo! | 15:12 | |
15:14
ZuLuuuuuu joined
|
|||
skids | In Containers.pod, Hash::exists only takes one key not a list of keys like the :exists adverb to postcircumfix:<{}> does, and I was wondering why, and also why there's a colon before the method name. | 15:14 | |
our Bool method :exists ( %hash: $key ) | |||
pmichaud | exists used to be a method. | ||
so I suspect that Containers.pod is out of date | |||
skids | rakudo: my %f = (1,2); exists(%f,1).perl.say; | 15:15 | |
p6eval | rakudo e4bd26: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: '_block14' pc 108 (EVAL_16:49)ā¤Ā» | ||
skids | rakudo: my %f = (1,2); %f.exists(1).perl.say; | ||
p6eval | rakudo e4bd26: OUTPUTĀ«1ā¤Ā» | ||
pmichaud | rakudo still implements the old method form of exists. | 15:16 | |
skids | And to note that's not a Bool. | ||
alester | pmichaud or whoever: My latest commits need to get back to master because my previous commits to master are buggy. | ||
pmichaud | alester: looking. | 15:17 | |
alester | specifically d2f435b2cdca91227608e918352516132782e94f and d5afe72eb254deb5908ee3ada6bcb24c0fbc04ff | 15:18 | |
pmichaud | I'm not sure we always want to recurse. | 15:19 | |
alester | well, you don't have anything that checks for a value of $recurse. :-) | ||
pmichaud | agreed, that looks like a bug. | ||
alester | I think you always do, and the $recurse is just stolen from prove | ||
pmichaud | but the current behavior would have been to not recurse. | 15:20 | |
alester | well, whatever you want to do is fine, but without my fix, t/harness doesn't run at all. | ||
pmichaud | it's been running fine for me all morning? | 15:21 | |
alester | I don't know how. | ||
You must have something different than on rakudo/master | |||
pmichaud | oh, I'm definitely using rakudo/master | ||
what error would I be getting? | 15:22 | ||
alester | Look at github.com/rakudo/rakudo/blob/e4bd2.../t/harness | ||
$recurse is only there once. | |||
pmichaud | oh. Looks like we don't have use warnings or use strict | ||
15:23
|jedai| left
|
|||
alester | aha | 15:23 | |
THat's what I added to t/harness. | |||
pmichaud | right, that hasn't merged into rakudo/master yet. | ||
alester | Sounds like we've found a good reason to do so then. | 15:24 | |
pmichaud | sure, I agree with that. | ||
but obviously rakudo isn't broken (as in "fails to run tests") at the moment :-) | |||
skids | Another question from last night's reading around: We put pure Perl6 in the setting so other implementations can use it. We put optimized PIR in src/classes. Where would we put implementations that are embedded PIR wrapped in Perl6 declarations? | 15:25 | |
pmichaud | I'm not sure that setting will be "pure Perl6" | ||
alester | yes, but the other patch of mine is definitely a breakage | ||
pmichaud | alester: noted, I'll be sure to apply them together. | ||
alester | ok | ||
please do, because then I want to update the gen_whatever to not even bother with specifying a filename. | 15:26 | ||
pmichaud | I'm working on getting a release out today -- I need to focus on that first. | ||
alester | ok | 15:27 | |
pmichaud | I'm trying to decide where to put release tarballs. | 15:28 | |
I guess I can just stick them on my own server for the time being, until we have a more official place. | |||
alester | ok, I just removed the file specifying in build/gen_metaop_pir.pl, since we never use that. | 15:31 | |
15:31
ZuLuuuuuu left
|
|||
alester | So all those patches from me need to get applied in sequence. | 15:31 | |
pmichaud | yeah, I still need to figure out a workflow for managing the queue. | 15:32 | |
dalek | kudo: d0739a3 | (Patrick R. Michaud)++ | docs/spectest-progress.csv: spectest-progress.csv update: 314 files, 7041 passing, 0 failing |
||
pmichaud | github makes it easy to apply commits, but not necessarily so easy to "test and then apply commits" | 15:33 | |
PerlJam | pm: isn't that what branches are for? | 15:34 | |
pmichaud | pj: perhaps, but I haven't seen an "easy" way to do that either. | ||
masak | pmichaud: every technological advance clears the way for new, interesting issues. :) | ||
pmichaud | masak: agreed. I think it's simply that new advances imply new ways of working, and I haven't figured out the new way of working yet. | 15:35 | |
jnthn | Meh, we didn't quite quite make 7050 for the release. | ||
Close though. | |||
moritz_ | I usually just commit, then test, and if it doesn't work I rest --hard | ||
pmichaud | moritz_: yes, but "commit to where"? | 15:36 | |
moritz_ | pmichaud: to my local repo | ||
PerlJam | pm: locallly for sure. | ||
pmichaud | so, how do I get commits out of the fork queue into my local repo? | ||
_that's_ the part I haven't figured out yet. | |||
moritz_ | pmichaud: git fetch git://url remote_branch; git-cherrypick $commit_sha1 | ||
pmichaud | what's the url I use there? | 15:37 | |
moritz_ | for example git://github.com/petdance/rakudo | ||
.git | |||
I don't know if there's a common URL for all of the queue | |||
pmichaud | so, for each item (or person) in the fork queue, I have to (manually) do a fetch? | ||
right, it would be nice if I could just refer to the queue itself, rather than having to ask for each submitter's branch. | 15:38 | ||
jnthn | Would you only have to do that once per submitter? Or one per patch you want to apply? | ||
pmichaud | once per submitter, I think. | ||
jnthn | If it's once per submitter it's not so bad. | ||
Sure, small initial cost. | 15:39 | ||
pmichaud | it's still a bit more copy+paste than I'd like to be doing. | ||
jnthn | But not a huge one IMO. | ||
Sure, but it's not like we're getting 10 new submitters a week or something. | |||
pmichaud | I suspect it's once per submitter per session. | ||
moritz_ | you can 'git remote add $url commiter_name', then you can refer to taht repo by commiter_name | ||
jnthn | oh, if it's one per submitter per session it sucks. | ||
PerlJam | "per session"? | ||
jnthn | As in, can I do the fetch one in a lifetime? | ||
And cherry-pick patches in the future? | 15:40 | ||
Without having to re-fetch to get latest stuff? | |||
PerlJam | for the lifetime of the clone, I would think so. | ||
alester | hey, pmichaud, you may also wanna cherry-pick my README fix: 88b9da2ce43c4e8583cda28ace5144e0a618d70b | ||
Explains how to get a tarball w/o GIT | |||
pmichaud | PerlJam: you mean that once I do a "git fetch", I can refer to commits in that repo without having to do anything further (even if I do subsequent "git fetch" on other repos)? | 15:41 | |
PerlJam | pm: I'm not exactly sure. You may have to modify .git/config, but once that's done, yes. | 15:42 | |
(I don't know if fetch automatically updates .git/config) | |||
moritz_ | I think git-fetch'ing doesn't remove previously fetched stuff | 15:43 | |
pmichaud | I'm not thinking of "remove previously fetched stuff" as much as "maintain the association for future cherry-picks" | ||
but just a sec, I'll give it a try. | |||
alester: applied 88b9da2, thanks | |||
hmmm, perhaps using the integration branches will actually work for this -- I'll have to give that a try in a bit as well. | 15:45 | ||
dalek | kudo: e9a06c1 | (Andy Lester)++ | README: Added explanation of how to get Rakudo without git. Minor punctuation fixes. |
||
pmichaud | (reaching 7050) the release hasn't been cut yet, it's not too late to reach that goal if someone wants to pass nine more tests. | ||
although that might've happened already :-) | 15:46 | ||
as my spectest-progress values are always 00:00 CST | |||
15:48
eternaleye left
|
|||
alester | I'm half-considering rolling out rakudo.org w/o the backlog of blog entries converted. | 15:48 | |
thoughts? | |||
pmichaud | I'd be okay with that. | 15:49 | |
especially if the blog entries can remain reachable somehow. | |||
alester | mmm, hadn't thought of that. | ||
pmichaud | from a user perspective, I don't see a big issue with keeping the existing blog entries in MT, and just putting new blog entries into dru | ||
alester | I'd make archive.rakudo.org and redirect /200[89]/ there | 15:50 | |
pmichaud | sure, that'd be fine. | ||
moritz_ likes that idea | |||
alester | I'd just have to turn off all comments on those entries. | 15:51 | |
Also, we need some something to put atop dru.rakudo.org | |||
with its new theme that is not the same as Parrot's | |||
pmichaud | are there some themes to select from? | 15:52 | |
alester | themegarden.org | ||
jnthn | Who can draw a camel doing marshal arts, with a speech bubble "This is MY way"? | ||
pmichaud | drupal 5, 6, ...? | ||
jnthn | *martial | ||
pmichaud | we have to be careful about using camels. | 15:53 | |
jnthn | yeah I know | ||
moritz_ | jnthn: camel + perl is copyrighted by O'Reilly | ||
alester | I was going with themegarden.org/drupal6/?q=search/n...theme=deco | ||
jnthn | It wasn't an entirely serious suggestion. ;-) | ||
alester | That was Alison's 2nd choice for parrot.org, and I like it. | 15:55 | |
Matt-W | jnthn: an onion doing martial arts :) | ||
aikido onion | 15:56 | ||
pmichaud | I'm fine with that for now -- we can always switch it later. | ||
skids annoying re-mentions the "oasis" theme meme. | |||
alester | I'm an idiot. Idon't need another hostname. | ||
I can jsut redirect /200[89]/ to /archive/200[89]/ | |||
and not make Google cranky | |||
skids | After all, that's the way of th Camel -- from oasis to oasis. | ||
alester | ok back to code review. | ||
I love having an actual task. | 15:57 | ||
pugs_svn | r25590 | ruoso++ | [mildew] implementes $foo.^bar | ||
ruoso | std: my $x = 10 but Imprecise(0.1); my $y = 9.99; $y ~~ $x; | 16:10 | |
p6eval | std 25590: OUTPUTĀ«Undeclared name:ā¤ Imprecise used at 1 ā¤ok 00:02 33mā¤Ā» | ||
16:16
dalek left,
dalek joined
|
|||
masak | so, any consensus on the name for the Rakudo A release? | 16:23 | |
jnthn | Did we choose a naming scheme? | 16:24 | |
Was minerals/precious stones the winner? | |||
masak doesn't know | 16:25 | ||
but let's assume it was. :) | |||
"Amethyst"? | 16:26 | ||
masak has fond memories of this precious stone from playing Robin Hood in the early '90s | 16:27 | ||
"Conquest of the Longbow". | |||
s/st/sts/ | |||
alester | some time we need a "make parrotclean" target. | 16:31 | |
no no, stones is yucky. | |||
Let's get more interesting! | |||
For instance, city names are far better than stones. | 16:33 | ||
ruoso suggests Pindamonhangaba | |||
alester | City names that are also band names could do us for at least a year. | ||
Chicago, Boston, Toronto, etc | |||
How about cities that have hosted YAPC in the past? | |||
or jsut general Perl events. | 16:34 | ||
Houston, Belfast, Toronto, Chicago, San Diego, etc | |||
BETTER STILL | 16:35 | ||
cities with Perl Monger groups! | |||
Each Rakudo release gets named after a Perl Monger group's city! | |||
And then each group could "sponsor" that release by telling the world about it. | |||
ruoso | @tell pmurias the first sketch of RoleHOW is there. We need ^compose_role and ^clone on PrototypeHOW. That way we should be able to do "my $a = ::Multi.new; $a.variants.push(&some_variant)" | ||
lambdabot | Consider it noted. | ||
16:36
Tene_ joined
|
|||
alester | Come on, someone love my idea with me! | 16:36 | |
pugs_svn | r25591 | lwall++ | 1-ary values for chaining operators should always be True even if negated | 16:38 | |
masak | alester: I'm slightly intrigued. | 16:41 | |
but I like stones, too. | |||
16:45
justatheory joined
16:47
Tene left
16:51
dukeleto left
|
|||
pmichaud | I like the perl monger group idea. | 16:51 | |
jnthn | Aye | ||
I liked the idea of cities generally. | |||
pmichaud | but I still want to preserve the alphabetical ordering. | ||
jnthn | That's OK, there are probably enough PM groups? | ||
To find ones starting with each letter. | 16:52 | ||
I'll provide B. ;-) | |||
pmichaud | What would A be? | ||
jnthn | Amsterdam? Maybe Austin (Texas) has a PM group? | ||
pmichaud | oh, sure, I'm familiar with Austin.pm | 16:53 | |
jnthn | There's gotta be more options than that. :-) | ||
pmichaud | they're even reasonably active. | ||
(far more active than DFW.pm, at any rate) | |||
masak | Rakudo Austin. | ||
masak likes | |||
jnthn | Same. | ||
pmichaud | I did like the minerals approach, though. | ||
jnthn | Yeah, I don't dislike that one. | ||
masak | well, we can't do both. :) | 16:54 | |
pmichaud | we _can_ | ||
masak | um. | ||
probably shouldn't. | |||
pmichaud | because eventually we'll move out of "development" releases into "official" ones. | ||
jnthn | Rakudo Austin Amber | ||
masak | Rakudo Amsterdam Amethyst | ||
pmichaud | so we could do minerals for one series, and .pm groups for another | 16:55 | |
masak | very well. | ||
jnthn | Aye. | ||
masak | (many releases)++ | ||
pmichaud | so the question becomes ... which first? ;-) | 16:56 | |
jnthn | .pick ? | ||
masak | ooh! | ||
jnthn | Yet Rakudo choose. ;-) | ||
16:56
khisanth_ joined
|
|||
moritz_ | jnthn: was about to suggest that ;-) | 16:56 | |
masak | rakudo: <stones cities>.pick()[0] | ||
p6eval | rakudo e9a06c: RESULTĀ«"cities"Ā» | ||
pmichaud | rakudo: <Austin Amber>.pick(1).say | ||
masak | :) | ||
p6eval | rakudo e9a06c: OUTPUTĀ«Austinā¤Ā» | ||
masak | double! | ||
pmichaud | is there a nice list of .pm groups somewhere? | 16:57 | |
jnthn | pm.org | ||
16:57
namenlos left,
Khisanth left
|
|||
pmichaud | that has it by continent, I was hoping for something more unified. | 16:57 | |
oh, XML! cool! | |||
www.pm.org/groups/perl_mongers.xml | |||
16:58
khisanth_ is now known as Khisanth
|
|||
masak was just going to point out the XML file | 16:58 | ||
it's not grouped by continent, it seems | |||
16:58
ludan left
|
|||
pmichaud | right, the xml appears to be 'master' | 16:58 | |
masak | aye. | ||
pmichaud | okay, so finding groups is no problem. | ||
jnthn | Aye. | ||
pmichaud | I suppose we'd be starting off on the wrong foot to use AOL.pm as the first release :-P | ||
jnthn | Groups might even start volunteering once they know the scheme. ;-) | ||
I just noticed that and was like, OH RLY? | 16:59 | ||
masak | pmichaud: don't you dare! :) | ||
pmichaud | okay, votes: cities or minerals? Rakudo already voted. | ||
masak | cities, then. | ||
masak is on Rakudo's side on this one | |||
moritz_ is for minerals, but only cares a tiny bit | |||
pmichaud | I think I'll vote cities, I like the idea of highlighting various Perl Monger groups. | 17:00 | |
jnthn | Yeah, that's what clinches it for me. | ||
pmichaud | I like better the idea of getting them to compete for the privilege :-) | ||
jnthn | Aye! | ||
cities for me | 17:01 | ||
moritz_ | but don't we want to keep alphabetical order | ||
pmichaud | I'm thinking the tar files will be rakudo-200902.tar.gz though. | ||
yes, keeping alphabetical order | |||
jnthn | moritz_: Yes, but there are more than one pm group per letter of the alphabet for many letters. | ||
pmichaud | so Austin, Bratislava, Chicago, DFW, ... etc | 17:02 | |
masak | which would be the first problematic letter? | ||
pmichaud | oddly, Bratislava.pm doesn't appear in the xml file | ||
masak | X is problematic, right? | ||
pmichaud | in some sense I'm hoping we don't make it to X | 17:03 | |
moritz_ | I didn't know there are so many .pm groups | ||
alester | wait, alphabetical? | ||
Why's that? | |||
pmichaud | alester: so that people can easily determine which release is later. | ||
17:03
namenlos joined
|
|||
masak | alester: increasing versions. | 17:03 | |
alester | moritz_: That's part of the goal, is to bring to light the PM groups. | ||
pmichaud: That seems fraught with peril. | |||
pmichaud | alester: why is that? | ||
PerlJam | pm: cities +1 from me. | ||
alester | well, eventually you'll run out. | 17:04 | |
PerlJam | hopefully we'll have a perl6 by then. | ||
pmichaud | alester: I think we'll want to switch series or numbering before we run out. | ||
jnthn | pmichaud: OH RLY? | ||
pmichaud | I'm primarily talking about the development releases at this point for A-B-C-D-... | ||
pugs_svn | r25592 | putter++ | [elfparse] Build elfrx without remains_of_Regexp_ModuleA.pm (but it's still used by t/ as a parser bypass for direct-to-IR rx engine testing). rx_prelude: regexen changed to token's, and regex support for t/ improved. | ||
alester | And part of the idea of the cities is to get citiies vying for support. | ||
jnthn | We exist! | ||
pmichaud: I can find it in the XML file... | 17:05 | ||
alester | how about Rakudo release #1: Chicago | ||
Release #2: Bratislava | |||
etc | |||
jnthn | erm | ||
pmichaud | I don't like going 1-2-3 at this point. | ||
jnthn | No | ||
pmichaud | makes it look too much like 1.0 2.0 3.0 | ||
alester | Why? | ||
hmm | |||
jnthn | I agree. Alphabetical ordering will work fine and long enough. | ||
alester | So you want sequencing without numbers | ||
PerlJam | (hints for humans)++ | 17:06 | |
alester | What's A going to be? | ||
pmichaud | if we want to do cities in non-alphabetical sequence, then I think we should wait until we've imposed a different ordering scheme (i.e., not for the development releases) | ||
I'm leaning towards "Austin" for A. It's close by to where I am, and they have been doing some active p6 stuff lately (at least internally) | 17:07 | ||
alester | The "cities vying for naming" might be a non-issue anyway. | ||
nobody wmight care. | |||
Then yeah, go with Austin. | |||
And then announce when the next one will B | |||
pmichaud | (I'm on the Austin.pm mailing list) | ||
I'm pretty sure we know what B will be :-) | |||
alester | and the B groups can say "We want it we want it" | ||
why, what will B be? | |||
pmichaud | surprisingly, Bratislava.pm isn't in the XML file. | ||
masak | Copenhagen.pm... | 17:08 | |
alester | I think groups ought to WANT it. | ||
have Chicago and Copenhagen duke it out. | |||
masak | aye. | ||
pmichaud | a key member of the rakudo development team has already spoken for B | ||
yes, I think the C groups might be the first battle :-) | |||
alester | What, I'm not a key member? :-) | ||
jnthn | pmichaud: Bratislava.pm is there... :-| | 17:09 | |
jnthn can find it | |||
alester | jnthn: Are you Bratislava? | ||
pmichaud | yes, you are. But Copenhagen paid for my trip to YAPC::EU | ||
jnthn | alester: Yes | ||
alester | OK. | ||
jnthn | alester: Well, I *live* there. | ||
alester | So you have A & B, and then we can announce that C is up for grabs, and so tell us why YOUR PM group should be the C group. | ||
pmichaud | jnthn: odd -- when I search the XML for 'brata' I don't see it. | ||
jnthn | pmichaud: that's because you want to search for brat*i* ;-) | ||
PerlJam | pmichaud: because it's "brati" | ||
alester | I REALLY like this idea. :-) | ||
And not just 'cause I thought of it. :-) | 17:10 | ||
pmichaud | sorry, "brati" doesn't find it. | ||
17:10
ejs2 joined
|
|||
PerlJam | pm: in browser? match case? | 17:10 | |
pmichaud decides to try something other than firefox search. | |||
PerlJam | pm: found it for me. | ||
jnthn | haha! | ||
pmichaud | match case is off | ||
masak | Fx bug? :) | ||
jnthn | I'm used to people not being able to find it on the map, but in an XML file is a new one. :-) | ||
PerlJam | jnthn: heh | 17:11 | |
alester | So Austin goes out today? | ||
pmichaud | apparently firefox search doesn't deal well with xml | ||
yes, Austin should be out today. | |||
I'm building a release script at the moment. | |||
PerlJam | pm: which version of FF? | ||
alester | pmichaud: Is it calendar-based? | ||
will it always be the Nth day of the moth? | |||
pmichaud | it's going to be based on parrot's release schedule | 17:12 | |
alester | last Th of the month? | ||
based how | |||
pmichaud | generally 2-3 days after Parrot release | ||
alester | ok | ||
So the third week of each month | |||
17:12
hercynium joined
|
|||
pmichaud | yes, depending on week boundaries | 17:12 | |
alester | why? | ||
It's still always the third Tuesday + 2-3 days | |||
pmichaud | for example, the third tuesday might be followed by the fourth thursday. | 17:13 | |
alester | which is still always "3rd week" | ||
ok | |||
pmichaud | but yes, it's always third tuesday + ~2 days | ||
alester | So | ||
you can come up with a schdule | |||
or I will. | |||
Want me to? | |||
I'll crank it out real quick | |||
pmichaud | I'll do it -- it'll go in the announcement I'm making for the release. | ||
alester | I think it oughta be in the file. | ||
pmichaud | oh, if you just want to create a file with the schedule, that's fine. | ||
masak has to go now | |||
have a nice release! | |||
alester | SCHEDULE? | ||
pmichaud | docs/release_guide | ||
alester | RELEASES? | ||
pmichaud | docs/release_guide.pod | 17:14 | |
17:14
masak left
|
|||
pmichaud | (we'll put the schedule in with the guide) | 17:14 | |
alester | Oh, I was thinking it'd be in the root. | ||
PerlJam | Will the rakudo release use whatever revision parrot was at for its release? | ||
pmichaud | I'm trying to keep root clean. | 17:15 | |
alester | make it MORE OBVIOUS | ||
yeah, but our regular releases are a BIG WIN | |||
pmichaud | that's what things like NEWS and ChangeLog are for, then. | ||
17:15
ejs2 left
|
|||
alester | ok, docs/release_guide.pod it is | 17:15 | |
pmichaud | pj: firefox 3.0.5, fwiw | ||
pj: Rakudo will use whatever revision of Parrot is appropriate for the release | 17:16 | ||
pj: that may or may not be parrot's "head" at the time | |||
jnthn | pmichaud: I have that, but on Windows. Clearly Windows is better. :-P | ||
pmichaud | pj: but it should always be >= parrot's monthly release | ||
PerlJam | gotcha. | ||
pmichaud | pj: ideally I'd like it to be the revision of parrot's monthly release, which is part of the reason for doing it shortly after Parrot release | 17:17 | |
PerlJam | (I used FF 3.0.6 on ubuntu and it's find worked fine for that XML) | ||
pmichaud | alester: for now, let's say "two days after planned Parrot release" | ||
PerlJam | pm: Would you say that rakudo release X is guaranteed to work for parrot release Y (for some appropriate X and Y)? | ||
alester | ok, I was gonna say 3 | ||
but ok, two | 17:18 | ||
PerlJam | s/for/wirht/ | ||
er, s/wirth/with/ | |||
pmichaud | alester: we had a discussion about this in the conference call -- minimizing delay between parrot release and rakudo release is desirable (for functional reasons) | ||
alester | that's fine, not disagreeing. | 17:19 | |
pmichaud | PerlJam: each rakudo release is intended to work with whatever version of parrot is in PARROT_REVISION | ||
s/release/snapshot/ | |||
17:19
ejs1 left
|
|||
pmichaud | for monthly releases, we'd like PARROT_REVISION to correspond to a Parrot release. | 17:19 | |
I'm careful about "guaranteed to work" :-) | |||
PerlJam | clearly. | 17:20 | |
alester | pushed. | 17:22 | |
moritz_ | I'll probably have time to blog about a Perl 6 or Rakudo topic this coming weekend - any specific suggestions for a topic? | 17:24 | |
alester | City naming. :-) | 17:25 | |
moritz_ | alester: I guess that pmichaud will do that as well, so I decline :) | ||
alester | Nothing wrong with making more noise. :-) | ||
moritz_ | I can mention it. | 17:27 | |
any more ideas? | |||
alester | mmmmm, do we have a repository of example Perl 6 code somewhere? | 17:28 | |
I'd really like to see one. | |||
pmichaud | there's one on github | ||
alester | That'd be a good topic. | ||
I'd like to get some of that example code into the Rakudo test suite | |||
and run tests against it. | |||
pmichaud | I'm not wanting the Rakudo test suite to grow very far. | ||
alester | Does ./perl6 fib.pl return "1 1 2 3 5 8 13..." | ||
pmichaud | The point of the Rakudo test suite is simply to test enough that it's working. | ||
alester | pmichaud: Because it should all be in the spectests? | 17:29 | |
pmichaud | other tests belong in the official suite. | ||
alester | that's fine | ||
I think it's easier to use the rakudo one for intial development and then move it over | |||
if that's not a problem. | |||
pmichaud | why is it easier? | 17:30 | |
alester | one repo | ||
pmichaud | I think it's easier to just push it into the pugs repo directly. | ||
alester | yeah, i can see that too | ||
anyway, examples == good | |||
and I'd like to publicize them | |||
pmichaud | we can certainly create more subdirectories in pugs for tests | ||
alester | for my own benefit, if nothing else, because I need more code to read. :-) | ||
pmichaud | i.e., at the level of t/spec instead of being within t/spec | ||
alester | my $pop = @array[*-1] was entirley new to me, for example. | 17:31 | |
pmichaud | that's one that I'd prefer to move out of the rakudo suite, actually. | ||
*-1 isn't necessary for running the test harness. | |||
alester | that's fine. | ||
But I mean, the more sample code there is to see, the more of these weird differences there are to see. | |||
sample code as in actual usefulness. | 17:32 | ||
not just *.t | |||
PerlJam | when will rakudo's Makefile get an install target? | 17:40 | |
(I have no idea what "install" really means for rakudo other than copying the fakexecutable to an appropriate place) | 17:41 | ||
alester | PerlJam: When there's something that's meaningful to install. | 17:42 | |
pmichaud | PerlJam: it'll get an install target after Parrot's install settles down a bit more. | ||
eventually we're expecting to get rid of the fakecutable | |||
PerlJam | I just built rakudo from an installed parrot on feather. It just worked. :-) | 17:43 | |
pmichaud | PerlJam: I don't quite see how. | 17:45 | |
PerlJam | what do you mean? | 17:46 | |
pmichaud | by "installed parrot", what do you mean? | ||
where did Rakudo put the perl6.so shared library? | |||
PerlJam | There's a parrot in /usr/local/bin | ||
17:47
ejs joined
|
|||
PerlJam | well, that's why I asked about "install" for rakudo. I got a perl6 binary out of the deal, but I knew that couldn't be all of it. | 17:47 | |
alester | Ther'es also a lot of *parrot* around your filesystem that it shouldn't be. | ||
pmichaud | PerlJam: I'm thinking that your copy that was built didn't use the installed parrot. | 17:48 | |
either that or you're the one that installed parrot on feather :-) | |||
in which case rakudo used your build copy instead of the install copy. | |||
looks like it. | 17:50 | ||
17:50
aindilis` left
|
|||
pmichaud | "/usr/local/bin/parrot_config build_dir" reports "/home/duff/parrot" | 17:50 | |
PerlJam | rakudo is just too smart then. :) | ||
pmichaud | so if you were to "make realclean" in your /home/duff/parrot, then your fakecutable will stop working. | ||
PerlJam | gotcha. | ||
pmichaud | and anyone else on feather who tries to use the /usr/local/bin copy of parrot to build rakudo will not have write permission to your /home/duff/parrot/runtime/... directory | 17:51 | |
PerlJam | okay, then I won't worry about it. (I was just seeing if the "easy" things were easy) | ||
pmichaud | (to store the shared library) | ||
17:52
[particle] left
|
|||
PerlJam | la | 17:52 | |
17:52
Exodist left
17:53
Exodist joined
|
|||
pmichaud | for anyone who wants to try my first cut at a tarball for rakudo: www.pmichaud.com/perl6/rakudo-200902-test.tar.gz | 17:53 | |
moritz_ | pmichaud: testing it right now | 17:54 | |
pmichaud | I'm running off to lunch, will read scrollback when I get back | 17:55 | |
pugs_svn | r25593 | lwall++ | [STD] fix post-declaration to do the re-lookups in the correct pad | ||
18:07
[particle] joined
18:14
ejs left
|
|||
diakopter | TimToady: it would help me to see STD's tree for each of the spectest .t files... is there a way to get it to output each one's to a file in the same dir as the .t? perhaps filename.t.ast? | 18:16 | |
moritz_ | diakopter: the html syntax hilighter does that | 18:17 | |
18:17
Psyche^ joined
|
|||
diakopter | moritz_: oh? cool. :) | 18:17 | |
moritz_ | diakopter: you get a "tree" when you hover over a piece of code | ||
diakopter: see also perlgeek.de/blog-en/perl-6/parse-tree.html | 18:18 | ||
diakopter | do we have these .html autogenerated on perlcabal.org somewhere? | 18:19 | |
TimToady | or just run viv on the file | ||
diakopter | (because that would be really cool) | ||
moritz_ | diakopter: yes, there is such a thing somewhere | 18:20 | |
diakopter | oh! | ||
wow, all kinds of things I've missed somewhere along the way. | |||
moritz_ | perlcabal.org/~azawawi/html/ | ||
pugs_svn | r25594 | lwall++ | [STD] catch .[-1] error; suppress undef warning from previous patch | 18:22 | |
diakopter | um, that... rocks. | ||
what determines which colors...? | 18:23 | ||
moritz_ | there's a list of recognized tokens... | 18:24 | |
and it walk from leaf to root until it finds the first recognized token | |||
the exact color coding doesn't adher to a particular logic | |||
diakopter | ah, cool. | ||
so... if this were ajaxy.. one could click on a node and change stuff, and it might round-trip it to STD on the server? :P | 18:26 | ||
kinda like trypugs I guess | 18:27 | ||
18:27
lambdabot left
|
|||
diakopter wonders if mod_perl could handle STD.pm | 18:28 | ||
though I guess you'd want it in a separate process. | 18:29 | ||
18:30
lambdabot joined
18:33
Patterner left,
Psyche^ is now known as Patterner
18:40
M_o_C joined
18:45
payload joined
18:47
kane_ left
18:49
justatheory left
18:50
justatheory joined
18:53
frioux joined
18:54
Ariens_Hyperion joined
19:06
schmalbe joined
|
|||
pugs_svn | r25595 | lwall++ | .[-1] is now a parsefail, and .[$minus_one] must fail at run time | 19:06 | |
ruoso | hmm... how is the way of accessing a list backwards | 19:08 | |
? | |||
moritz_ | *-1 | 19:09 | |
ruoso | hmm | 19:13 | |
PerlJam | I guess if you want to programmatically index both ways you have to do [*+$offset] ? | ||
ruoso | PerlJam, I don't think that will work for forward access, only bacward... | 19:14 | |
PerlJam | I'm not sure how you could do $foo = *-1; @arr[$foo] and have it work right | 19:15 | |
(unless Whatever was really really lazy | |||
moritz_ | PerlJam: *-1 constructs a closure | ||
PerlJam | ah. I was thinking it was syntactic | 19:16 | |
ruoso | and postcircumfix:<[ ]>(Code $closure) calls it with the size of the array as the argument? | ||
moritz_ | yes | ||
the question is if @array[2..$-2] can be made to work | 19:17 | ||
ruoso | you mean 2..$_-2 | ||
moritz_ | *-2 | ||
is what I meant | 19:18 | ||
ruoso | hmm... good question.. how far does * contaminates? | ||
std: my $range = 2..*-2 | 19:19 | ||
p6eval | std 25595: OUTPUTĀ«ok 00:02 33mā¤Ā» | ||
ruoso | let's see what it parses that into | ||
19:20
rodi joined
|
|||
ruoso | std calls it VAST::Nonchaining | 19:21 | |
I'm not really aware of what that is... | |||
but it does have the entire 2..*-2 expression into this single VAST::Nonchaining | |||
moritz_, so I presume it would DWYM | 19:22 | ||
19:23
Maghnus- joined
|
|||
ruoso | oh wait... it does (2)..(*-2) actually | 19:23 | |
PerlJam | that still sounds like it would DTRT | 19:24 | |
ruoso | hmm... | ||
it will depends if infix:<..>(Int,Code) DTRT | |||
PerlJam | right | 19:25 | |
ruoso | if it just curries the other closure, it should be ok | ||
std: my @array = 1..100; my @slice = @array[(* * 0.5)..(* - 1)]; # stretching the concept | 19:27 | ||
p6eval | std 25595: OUTPUTĀ«ok 00:02 34mā¤Ā» | ||
ruoso | but that should probably be better written as | 19:28 | |
PerlJam | (* * 0.5) is half of Whatever? | ||
ruoso | yes | ||
19:29
mberends joined
|
|||
ruoso | std: my @array = 1..100; my @slice = @array[{ ($_ * 0.5)..($_ - 1) }]; # considerably more readable | 19:29 | |
p6eval | std 25595: OUTPUTĀ«ok 00:02 34mā¤Ā» | ||
ruoso | But it sure needs a very good documentation on which operations just curry the closure and which ones evaluate it | 19:31 | |
TimToady | yes, that's why I was discussing whether this was a "new mistake" on p6l | 19:32 | |
but I think it's a bit like other placeholders--don't use it where it's not clear | 19:33 | ||
ruoso | but "* * 5" is simply weird | ||
while I do like all the lazyness, I have to agree that this is becoming overly confusing | 19:35 | ||
specially because Whatever shares the same character as the multiplication | 19:36 | ||
what are other foreseen common uses of this Whatever magic? | 19:37 | ||
(I mean generating closures) | |||
payload | map(* < 3, @array) | 19:38 | |
TimToady | doctor, it hurts when I do this... | 19:39 | |
19:39
Maghnus left,
Maghnus- is now known as Maghnus
|
|||
ruoso | maybe it wouldn't be a bad idea to assume that only number operations generated closures... | 19:40 | |
pmichaud | moritz_: any luck on the tarball build? | ||
TimToady | * < 3 can be fed to anything expecting a smartmatch | ||
ruoso | and I don't include .. as a number operation | ||
TimToady | * lt "A" | ||
ruoso | ok, let me rephrase it... | 19:41 | |
maybe it should never curry another closure... | |||
I mean... | |||
infix:<lt>(Whatever,Str) returns a closure | 19:42 | ||
but | |||
infix:<lt>(Closure,Any) doesn't | |||
and resolves that Closure to something | |||
this will drop the support for @a[2..*-2] | 19:43 | ||
TimToady | so you'd disallow * % 3 == 1 | ||
ruoso | yes... | ||
after all, it's not that all smaller than { $_ % 3 == 1 } | |||
TimToady | ETRUENUFF | 19:44 | |
ruoso | having to maintain a mental list of which operators curry another closure or invoke the closure seems like a nightmare | ||
so this way, every operator that receives a closure, invokes the closure | 19:45 | ||
every operator that receives Whatever, returns a closure | |||
and that's all | |||
TimToady | I'd only remember the special ones, myself, like 42 xx * | ||
well, it'll be easy enough to play with it both ways and see what works out better | 19:46 | ||
19:46
mberends left
|
|||
ruoso | because if you take that lazyness really seriously... you could think that even .[] could just return a closure | 19:46 | |
TimToady | I never take anything seriously, except when I do. | ||
and often not even then | |||
diakopter | how often do you when you do when you do? | 19:47 | |
TimToady | all the time | 19:48 | |
ruoso .oO( I think #perl6 is the channel that can keep non-senseness mental exercises longer ) | 19:51 | ||
19:53
mdxi left
|
|||
pugs_svn | r25596 | lwall++ | [STD] do a better job of contextualizing per-parse variables | 19:56 | |
r25596 | lwall++ | (tryfile was propagating errors from one file to the next) | |||
dalek | kudo: f4d2486 | pmichaud++ | README: More README improvements. |
||
kudo: 78023fa | pmichaud++ | build/Makefile.in: Makefile targets for creating MANIFEST and a release tarball. |
|||
kudo: b412361 | pmichaud++ | .gitignore: Ignore any MANIFEST file. |
|||
diakopter | ruoso: well, the irclogs keep them forever ;) | 19:57 | |
moritz_ | cd | ||
argl | |||
TimToady | or maybe we could say that only comparisons return Closure for Closure | ||
that would give us * op 42 == 582 in general | 19:58 | ||
19:58
schmalbe left
|
|||
TimToady | and maybe only for the first arg, so any closurely phrase needs to start with the * | 19:59 | |
ruoso | ok... that seems sane | ||
three rules | |||
maybe it's better not having a fourth | |||
TimToady | since most of the specials take * on the end | ||
ruoso | so the rules are: | 20:00 | |
1) every operator is ellegible to receive Whatever, if they do, they are supposed to return a closure | |||
TimToady | which gets us +* and ~* | ||
ruoso | 2) every operator is ellegible to receive a Closure. | 20:01 | |
3) comparison operators are allowed to curry a closure, if that is the first parameter. Every other case should invoke the closure... | |||
TimToady | with what? | ||
ruoso | with whatever makes sense to that operator | ||
if nothing makes sense, then it shouldn't receive a closure | 20:02 | ||
TimToady | hmm | 20:03 | |
1 < * < 10 | |||
they'll want it | |||
ruoso | isn't that parsed as ((1 < *) < 10) | ||
pmichaud | < is chaining. | ||
TimToady | chaining ops | ||
even though it can also be written * ~~ 1..10 or some such | 20:04 | ||
ruoso | but isn't that still called as infix:Ā«<Ā»:(Int,Int)... | ||
? | |||
TimToady | sure, but its a rhs, so violates your 3rd rule | 20:05 | |
ruoso | no, it doesn't... it fits the first rule | ||
infix:Ā«<Ā»:(Int, Whatever) | |||
TimToady | ah, okay | ||
ruoso | infix:Ā«<Ā»:(Closure, Int) | ||
TimToady | interestingly, it disallows 1 < * < 5 < * < 10 rather nicely | 20:06 | |
it's even quite likely that the compiler can catch the usual errors and say "you have to write an official closure there" | 20:07 | ||
given we know the multi candidate list | 20:08 | ||
pmichaud | alester: please please please remove [email@hidden.address] from your address book or wherever you're getting it from. That's no longer a valid mailing list. | ||
ruoso | TimToady, indeed... I think I'm pretty happy with it | 20:09 | |
20:10
smtms joined
|
|||
pmichaud | so, @a[*/2+$i] would end up with a closure for the first operator that is immediately evaluated? | 20:11 | |
or is postcircumfix:<[ ]> special also? | |||
ruoso | @a[*/2 + $i] would probably fail | ||
lambdabot | Unknown command, try @list | ||
ruoso | because infix:<+> doesn't know what to do with a Closure | ||
pmichaud | 20:01 <ruoso> 2) every operator is ellegible to receive a Closure. | ||
ruoso | <ruoso> if nothing makes sense, then it shouldn't receive a closure | 20:12 | |
pmichaud | except I think I can argue that @a[*/2+$i] ought to make sense. | ||
ruoso | not to + | ||
only to [ ] | |||
.[ ] can indeed receive a closure | 20:13 | ||
so you can @a[{ $_/2 + 1 }] | |||
which is more readable, IMHO | 20:14 | ||
TimToady | could still relax it later, maybe with a pragma | ||
ruoso | it doesn't even need to be a pragma | ||
TimToady | use currying :harder | ||
ruoso | it just need to install the other variants | ||
pmichaud | @a[{ $_/2 + 1 }] feels funny to me also... it's too similar to @a[ $_/2 + 1 ] | ||
lambdabot | Maybe you meant: arr ask | ||
TimToady | well, probably needs to autogenerate them somehow, if user-defineds are included | 20:15 | |
pmichaud | but yes, I guess we normally use the braces to delay evaluation, so perhaps the closure form isn't so bad. | ||
ruoso | that's my point | ||
pmichaud | in which case, is there huge value to the whatever form? | ||
ruoso | for the simple cases, it's still worth | 20:16 | |
map * < 3, @foo | |||
TimToady | sort +*, @list | ||
context( *.label eq 'HERE' ) | |||
ruoso | hmmm | 20:17 | |
ok... that's syntatical | |||
TimToady | current spec explicitly allows *.foo | ||
ruoso | right... and eq is comparison | 20:18 | |
pmichaud | so that last one becomes equivalent to context( { { .label } eq 'HERE' } ) ? | ||
TimToady | also very useful for list comprehensions | ||
ruoso | pmichaud, yes | ||
pmichaud | the { .label } acts as an immediate block, then? | 20:19 | |
ruoso | what do you mean by "immediate block"? | ||
TimToady | no | ||
ruoso | ah... | 20:20 | |
TimToady | can't, until it knows its argument | ||
ruoso | it's really as it looks like | ||
infix:<eq>:(Closure,Str) | |||
that returns another Closure | |||
TimToady | which context smartmatches on | ||
pmichaud | but what does that returned closure look like? | ||
TimToady | passing the current context frame | 20:21 | |
ruoso | pmichaud, it looks just like you've written | ||
pmichaud | I guess infix:<eq> has to return { { .label }.($_) eq 'HERE' } | ||
ruoso | ah... yes... | 20:22 | |
pmichaud | because { .label } eq 'HERE' would return another closure :-) | ||
ruoso | sure sure... I wasn't aware you were talking about the actual implementation of eq | ||
TimToady | from the standpoint of eq just returns { $closure($_) eq $y } | 20:24 | |
pmichaud | okay. | ||
ruoso | it might even be :(Closure,Any) actually | ||
pmichaud | I wonder what other interesting and useful effects come from allowing the comparisons to delay closure evaluation on their parameters. :-) | 20:25 | |
TimToady | hmm, really wants the candidate list from the caller's scope though for eq | ||
maybe it's a quasi:COMPILING to get the user's eq | 20:26 | ||
ruoso | TimToady, does :(Any,Any) takes that into acount to call eq:(Str,Str) after coercing to string? | ||
TimToady | good question, dunno | 20:27 | |
ruoso | I'd guess not | ||
TimToady | could be a major semantic booboo | ||
ruoso | in fact.. | ||
pmichaud | in Rakudo, eq does :(Any,Any) and coerces its arguments to strings before doing the comparison. | ||
TimToady | *which* comparison is the question | ||
ruoso | TimToady, I'm not really sure how importing different variants from different modules work | 20:28 | |
TimToady | the definition of eq may differ in the user's lexical scope | ||
we're trying to get to the point where we know the candidate list at compile time | |||
pmichaud | ah, that's tougher, yes. | ||
TimToady | but the Any,Any variant needs to call CALLER::eq somehow | ||
ruoso | hmmm... in theory it could be simple like that | 20:29 | |
sub infix:<eq> (Any $a, Any $b) { CALLER::<&eq>(~$a, ~$b) | 20:30 | ||
but... | |||
TimToady | which could be a hidden parameter that passes the original candidate list down somehow | ||
ruoso | did you notice that I've just used other operator? | ||
TimToady | seems like it could get optimized to a ref to the existing candidate list, anyway | ||
ruoso | are you about to make the candidate list global? | 20:31 | |
TimToady | the question is whether that has to regen the candidate list; probably it works okay | ||
not at all | |||
the symbol table entry found by CALLER::<&eq> presumably keeps its local candidate list | |||
ruoso | right... | 20:32 | |
but should it use CALLER for every operator? | |||
because it does make sense, if you really think about it | |||
TimToady | then there's ~$a Ceq ~$b | ||
but probably better to keep that explicit for now | 20:33 | ||
ruoso | sub infix:<eq> (Any $a, Any $b) { CALLER::<&infix:Ā«eqĀ»>(CALLER::prefix:<~>($a), CALLER::prefix:<~>($b)) } | ||
TimToady | use CALLER; | ||
it's really very nearly almost a macro | 20:34 | ||
ruoso | I just have one thing to say about it... | 20:35 | |
gaaaaah ;) | |||
rodi | "really very nearly almost"++ | ||
TimToady | looks like it could use a bit of syntactic relief in any case, but we can see what it desugars too | 20:36 | |
Tene_ | TimToady: how does try { ... } differ from { ...; CATCH { $! = $^a } } ? | ||
Is it just sugar? | 20:37 | ||
ruoso | TimToady, sub infix:<eq> (Any $a, Any $b) is displaced to CALLER {...} | ||
TimToady | macro infix:<eq>(AST $a, AST $b) { quasi:COMPILING { ~$a eq ~$b } } | ||
except for the multiness of it | |||
try ignores control exceptions | |||
ruoso | yeah... you just ruined it :) | ||
Tene_ | TimToady: does CATCH ignore control exceptions? | 20:38 | |
TimToady | really very nearly almost I did. | ||
yes, CATCH ignroes CONTROL | |||
s/ro/or/ | |||
ruoso | TimToady, maybe it's not that absurd to have a trait that says "this code runs with the CALLER as OUTER" | 20:39 | |
TimToady | pick your setting at runtime | ||
ruoso | not just that... | ||
pick a dynamic setting at runtime | 20:40 | ||
TimToady, CALLER::.eval { } ? | 20:41 | ||
TimToady | ENOBRANESUGAR | ||
lunch & | 20:42 | ||
basically it's a little role-ish routine that wants to instantiate itself into the caller's symbol table first time it's called, I suspect | 20:49 | ||
ruoso | it is installed | 20:50 | |
it wants to *run* in that scope | |||
which is something different | |||
TimToady | you're saying basically that it instantiates the generic semantics every time; I'm saying that can be cached | 20:52 | |
ruoso | maybe we actually need an "operator" keyword | ||
"operator" is a multi sub that runs in the caller scope | 20:53 | ||
TimToady | why wouldn't infix/prefix etc imply that in general? | 20:54 | |
ruoso | because that's just their names? | ||
TimToady | it's probably too blunt an ax, since we will probably want to pick and choose which bits come from outside the caller's scope too | 20:57 | |
ruoso | do we? | ||
TimToady | unless you want a lot of accidental infinite regresses | ||
ruoso | how so? | ||
TimToady | or force a lot of calls to CORE:: | ||
or SETTING, or whatever | 20:58 | ||
ruoso | I don't see the problem | ||
TimToady | if op calls back into the user's space when the writer was expecting CORE::op, it could loop | ||
ruoso | the "operator" runs *on top* of the CALLER | ||
TimToady, I'd consider erroneus to "expect" CORE::op and not call CORE::op | 20:59 | ||
but why would anyone "expect" CORE::op? | |||
isn't that the problem we're trying to solve | |||
? | |||
20:59
mberends joined
|
|||
TimToady | here's another angle | 21:00 | |
we've pretty much reserved \op | 21:01 | ||
we could say that \~$a \eq \~$b looks for the caller's version | |||
yeah, I know... | 21:02 | ||
ruoso | but if you overriden Array | ||
and one of this ops create an Array | |||
you want that op to use the overriden Array | |||
for instance... | 21:03 | ||
infix:<..> | |||
TimToady | I just think the user will want fine-grained control of which ops come from where | ||
ruoso | if you created your custom Range | ||
you want .. to use that | |||
TimToady | without writing everything in FOO:: form | ||
ruoso | TimToady, the problem is that Perl 6 reversed the usual way that overloading works | 21:04 | |
TimToady | which way are you referring to? | ||
ruoso | usually the overload is in the object | ||
Perl 6 puts it into the namespace | |||
TimToady | more precisely, into the language | 21:05 | |
ruoso | but in the end, the overload is made by a regular scope lookup | ||
TimToady | that's what defines the lexicon | ||
which makes me happy that it's called lexical scoping | 21:06 | ||
pmichaud | alester, others: While walking kids home from school I had another idea for numbering/naming releases. | ||
TimToady | but yes, we need a better way to write generic and semi-generic operators | ||
lemme think about it s'more | |||
pmichaud | We can do .pm cities and number rakudo releases in sequence, but let's start with #14 | 21:07 | |
thus this could be Rakudo #14 ("Austin") | |||
moritz_ | pmichaud: btw I tested your release candidate, worked fine | ||
pmichaud | then the cities don't have to be in alphabetical order. | ||
ruoso | TimToady, but I have to say that having the "operator" routine_def really fits very well in my head... | ||
pmichaud | starting with #14 avoids any 1.0 2.0 3.0 confusion | 21:08 | |
and emphasizes that we've already had quite a few development releases prior to this one. | |||
ruoso | TimToady, but again... if I do think sideways, that might not count much... | ||
21:22
bacek left
|
|||
jnthn | pmichaud: Er. 14? | 21:24 | |
pmichaud | jnthn: because we've already had ~13 rakudo releases | 21:25 | |
jnthn | pmichaud: Why a number? | ||
Oh, I should read backscroll on #parrot | 21:26 | ||
pmichaud | I'm thinking I don't want .pm groups to have to wait months or years to see their name in lights. | ||
also, #14 emphasizes that we've had a history of regular releases already. | |||
(and that we're still in "development" mode) | |||
jnthn | Hmm. | 21:27 | |
Don't feel too strongly on it either way. | |||
pmichaud | given that we've had a number of .pm groups that have been particularly helpful (Vienna.pm comes to mind), I'd like to give them the opportunity to be earlier. | ||
in fact, I might go ahead and name this release "Vienna" for that reason. | 21:28 | ||
jnthn | Also I didn't find a .pm group starting with G. ;-) | ||
Ooh, yes. | |||
pmichaud | waiting two years to honor Vienna.pm seems wrong somehow :-) | 21:29 | |
jnthn | True! | ||
Especially as they've helped Rakudo advance more quickly. | |||
pmichaud | exactly. | ||
jnthn | OK, I agree. | ||
pmichaud | April could be named "Oslo" then :-) | ||
jnthn | Yay! | ||
So long as I get one named after my beloved Bratislava at some point, I'm happy. :-P | 21:30 | ||
pmichaud | especially since Oslo is sponsoring a good Rakudo/Parrot/Perl6 workshop. | ||
jnthn | Yeah, agree completely. | ||
Oslo for April. | |||
Vienna for Feb. | |||
pmichaud | fwiw, chromatic indicated he thought the system was sane also :-) | 21:31 | |
jnthn | Does that mean Allison won't? <duck> | ||
pmichaud | I think she said it sounded pretty good also. | 21:32 | |
jnthn | Woo. | ||
pmichaud | although she hasn't seen this latest incarnation | ||
(she thought the naming after cities was good) | |||
jnthn | :-) | ||
Look forward to the release! :-) | |||
pmichaud | yes, I'm just creating a NEWS file now and then I think I'll release what I've got. | ||
if there are any problems with it, we can fix those in the next release. | 21:33 | ||
jnthn | For sure. | ||
They're developer releases. :-) | |||
Are we going to encourage bug reports against releases? | |||
Or are we going to encourage people to verify with latest then report? | |||
pmichaud | I still encourage bug reports against head | ||
jnthn | OK, agree. | ||
pmichaud | and most of what I'm writing indicates that we tend to encourage downloading directly from head rather than a release. | 21:34 | |
jnthn | Maybe worth noting that somewhere if you didn't already. | ||
OK, cool. :-) | |||
pmichaud | The purpose of the release (to my thinking) is to snapshot progress, put some regular milestones in place, and start a cycle. | ||
jnthn | Aye. | ||
pmichaud | but I still would expect most people to work against 'head', and that we keep 'head' fairly stable. | ||
if/when we discover we can't keep 'head' stable, we'll move to 'release' | 21:35 | ||
jnthn | IMO, head should as best as we can always pass the spectests. | ||
pmichaud | agree. | ||
jnthn | pmichaud: So, I'm off tomorrow on my travels. | 21:39 | |
Will be only occasionally about next week. | |||
pmichaud | jnthn: okay, I'll look for you to pop in occasionally. | 21:40 | |
jnthn: great work this week, thanks | |||
jnthn | It's been a pretty productive end to the month. :-) | ||
pmichaud | jnthn: we're likely to launch rakudo.org's redesign in the next few days, so keep an eye for that. | ||
jnthn | Sure, I will. | ||
I got a login. | |||
Would like to see a little box on the top of the homepage, like we have on parrot.org | 21:41 | ||
That has a quick intro | |||
To what Rakudo is | |||
Before the latest news. | |||
pmichaud | we'll undoubtedly have that. In fact, I expect rakudo.org home to be more static and less news-y | ||
jnthn | Yes, I'd like that. | 21:42 | |
pmichaud | so yes, like parrot.org | ||
jnthn | OK, good | 21:43 | |
alester | so, pmichaud, are you completely replacing what I committed earlier today? | 21:44 | |
pmichaud | alester: I'll revise it, yes. | 21:45 | |
alester | are you creating a new one? | ||
or modifying the one I commmitted? | |||
pmichaud | haven't decided yet. | ||
alester | More specifically: Should I delete the one I have in mine? | ||
ok. | |||
pmichaud | probably easier for me to just create a new one. | ||
I can use the text from yours that is currently in github. | |||
or in the rakudo branch where it was mis-applied. | 21:46 | ||
21:48
M_o_C left
21:50
skids left
21:52
pmurias joined
22:01
rodi left
22:15
Whiteknight joined
|
|||
pmurias | ruoso: the memory leakage warnings are getting very annoying | 22:22 | |
pugs_svn | r25597 | pmurias++ | [smop] [mildew] | 22:26 | |
r25597 | pmurias++ | hacked in an only infix:<~> | |||
r25597 | pmurias++ | fixed &infix:<==>:(int,int) | |||
r25597 | pmurias++ | &say takes in multiple arguments | |||
r25597 | pmurias++ | moved tests which fail for a long time into midlew/ROADMAP | |||
r25597 | pmurias++ | t/01-sanity/01-tap.t works correctly | |||
alester | harness_junit, what? | 22:30 | |
Please say no! | |||
dalek | kudo: cdcb92c | pmichaud++ | docs/NEWS: Initial version of NEWS for Rakudo. |
22:34 | |
alester | Jay Hannah: can we also vie for names like DesMoinesSucks ? | 22:36 | |
Jay Hannah: childish sports rivalries might spur the masses | |||
I'm glad we have Jay thinking of these things. :-) | |||
(Tha'ts from an AIM chat w/him) | |||
Vienna? WHy is Vienna the first one? I thought it was Austin. | |||
pmichaud: I'd like to edit and spiff up the NEWS file some, if you don't mind, and can hold on for a bit. | 22:41 | ||
pmichaud | alester: jonathan and I would like Vienna.pm to be first because they've been sponsoring his work. | 22:42 | |
alester | oh, good move. | 22:43 | |
Let's put that in the NEWS | |||
Let's = "I will" | |||
pmichaud | that's fine. | ||
alester | I'm putting on my reporter/writer hat. | ||
building on what youv'e started. | |||
pmichaud | the release won't be for a few hours yet -- I have some family events that will be occupying my time here soon. | ||
I'm about to publish my version of release_guide.pod | |||
based loosely on what you had | 22:44 | ||
alester | ok. I'm updating the NEWS | ||
When do you see releasing? | |||
>20:00? | |||
pmichaud | definitely. son has a soccer game at 19:30 | 22:45 | |
so likely 22h00 or thereabouts. | |||
alester | Oh, ok, great. | ||
I'm going to hammer on this a bit then. | |||
jnthn wishes he hadn't screwed up his Rakudo build on his laptop just before having a conference to get up and fly to... | 22:46 | ||
alester | when did Vienna.pm start sponsoring you? | 22:47 | |
22:47
justatheory left,
justatheory joined
|
|||
jnthn | alester: Let me check... | 22:48 | |
alester | You can just say "summer of 2008" if you want. | 22:49 | |
22:50
mberends left
|
|||
jnthn | alester: use.perl.org/~domm/journal/36228 is announcement | 22:50 | |
more like spring I guess | |||
dalek | kudo: f45384a | pmichaud++ | docs/release_guide.pod: First version of release_guide.pod, based on a proposed version |
22:52 | |
pmichaud | jnthn: fwiw, rakudo now passing 7076 tests. | ||
now I suppose you wish we were passing 7100! :-) | |||
22:52
Caelum left
|
|||
jnthn | pmichaud: Ooh, nice! | 22:53 | |
pmichaud | we're also failing one test -- I'll just mark it as todo | ||
jnthn | Yeah. :-P | ||
Oh, fail? | |||
Which one? | |||
(No, I don't want to fix it. I want to sleep...) | |||
pmichaud | @a[-1] is now a runtime error. | ||
lambdabot | Unknown command, try @list | ||
jnthn | Ah, OK. | ||
pmichaud | I'll fix it, I'm planning to work on postcircumfix:[] soon anyway | ||
but I'll todo it for the release. | |||
22:54
kane_ joined
|
|||
pugs_svn | r25598 | pmichaud++ | t/spec: add a ?rakudo todo marker. | 22:54 | |
jnthn | pmichaud: Perhaps you can do it as part of the refactor to mvoe to has a resizable pmc array? | 22:55 | |
Also, postcircumfix needs to become a parametric role and so we really want to have it in the setting... | |||
22:55
Ariens_Hyperion left
|
|||
jnthn | I guess what I'm saying is, we both have bits we want to do with that bit of the codebase. | 22:55 | |
And feel free to hack in the branch I started. | 22:56 | ||
pmichaud | okay, although I have quite a few other pieces I'd rather hack on (pge and pct stuff mostly) | 22:57 | |
I'll just put in the quick-fix for slices and postcircumfix stuff for now; you can update it as appropriate. | 22:58 | ||
jnthn | OK sure. | ||
If you're only planning on small tweaks rather than major overhaul, that's fine. | |||
pmichaud | yes, nothing really major. | ||
jnthn | I just didn't want us both trying something bigger at the same time. :-) | ||
pmichaud | what I'm doing should fit in to what you're doing pretty easily. Either that or your overhaul will end up completely superceding mine, and I'm not bothered by that. | 22:59 | |
my focus is going to be on settings, pge, pct, and public information for a while. | |||
23:01
Caelum joined
|
|||
jnthn | OK | 23:03 | |
PGE things will be really great to have. :-) | |||
23:04
skids joined
23:07
pmurias_ joined
23:09
aindilis joined
23:10
pmurias left
23:17
nihiliad left
23:19
alester is now known as AndyAway
|
|||
diakopter | TimToady: is there an expression-level(or thereabouts) syntax for quasi chaining of anonymous results? You know, so I don't *have* to [refactor statements to] name *anything* if I really don't want to... as in the pastebin I'm about to nopaste. | 23:28 | |
23:31
cas left,
pmurias_ left,
cas_ joined
23:35
bacek_ joined
|
|||
jnthn -> sleep, night all | 23:42 | ||
pugs_svn | r25599 | bacek++ | [t/spec] Update reduce-le1arg to current spec. | 23:53 | |
r25600 | bacek++ | [t/spec] Update reduce-metaop to current spec. | |||
wayland76 | 'night jnthn | 23:55 | |
23:59
hercynium_ joined
|