»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 27 June 2009. |
|||
00:00
alester left
00:02
kane___ left
00:05
jrtayloriv joined,
kane___ joined,
jrtayloriv left
00:06
frew_ left
|
|||
wayland76 | Does anyone know the git incantation to show what revision I'm on? | 00:08 | |
00:08
hoelzro joined
00:09
hoelzro left,
toyam joined
|
|||
Tene | wayland76: what are you looking for specifically? | 00:11 | |
you can get that a few ways. | |||
'git rev-parse HEAD' will spit out just the revision ID | |||
I usually do 'git show' | 00:12 | ||
00:16
explorer left
|
|||
wayland76 | Tene: thanks. I just wanted to tell people what revision ID my patch works against | 00:22 | |
00:25
hoelzro joined
00:27
frew_ joined
00:30
toyam_ joined
00:32
toyam left,
hoelzro left
00:33
hoelzro joined
00:35
hoelzro left
00:42
jrtayloriv joined
00:44
jrtayloriv left
00:47
Limbic_Region left
00:49
kane___ left
00:58
japhb joined
01:00
meppl left
01:01
Whiteknight left
01:07
seano joined
01:10
orafu left
01:11
orafu joined
01:13
seano left
01:16
toyam_ left,
toyam joined
01:18
molaf_xx joined
01:23
pmichaud_ is now known as pmichaud,
pmichaud is now known as pmicahud_,
pmicahud_ is now known as pmichaud_
01:24
tann left
01:28
xinming joined
|
|||
wayland76 | pmichaud_: Have I asked whether you've had a chance to look at rt.perl.org/rt3/Ticket/Display.html?id=63360 again now that I've attached another patch? | 01:31 | |
01:33
alester joined
|
|||
pmichaud_ | I don't know if you've asked, but I know I haven't had a chance :-) | 01:34 | |
01:35
molaf_x left
01:37
cdarroch left
01:45
xinming_ left
01:48
hoelzro joined
|
|||
wayland76 | pmichaud_: Yeah, I can see you've been busy with other things. Anyway, as long as it's registered in your mind that there's another patch there for you to look at, I'm happy :) | 01:54 | |
My code: my $grammar = XKB::Grammar.new(); | 01:55 | ||
My error: too few arguments passed (1) - 3 params expected | |||
01:55
xinming left
|
|||
wayland76 | Does anyone know why I' | 01:55 | |
d get that error? | |||
01:56
xinming joined
|
|||
pmichaud_ | ...you're trying to create an instance of a grammar? | 02:07 | |
(I know why you're getting the error. I'd rather not explain it :-) | |||
wayland76 | Ah, do I just use the grammar, and not create an instance? | 02:08 | |
pmichaud_ | normally it's XKB::Grammar.parse('...') | 02:09 | |
wayland76 | Great :) | ||
pmichaud_ | or .parsefile(...) | ||
wayland76 | Even better :) | 02:10 | |
02:12
toyam left
|
|||
pugs_svn | r27692 | wayland++ | [S32/Abstraction]: Documented .parse and .parsefile methods on Grammar. | 02:15 | |
r27692 | wayland++ | Note that the method signatures may be wrong. pmichaud++ for pointing | |||
r27692 | wayland++ | these functions out. | |||
wayland76 | There we go :) | ||
Hmm. Looks like my karma died. I used to be #11 on the list | 02:16 | ||
(I had 80-something) | |||
pmichaud_ | they're mentioned in S05, I think | 02:17 | |
diakopter | wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ wayland++ | ||
pmichaud_ | rakudo: ('wayland++' xx 10).say | 02:18 | |
p6eval | rakudo 241545: OUTPUT«wayland++wayland++wayland++wayland++wayland++wayland++wayland++wayland++wayland++wayland++» | ||
pmichaud_ | hmmm. | ||
wayland76 | @karma | 02:20 | |
lambdabot | You have a karma of 11 | ||
wayland76 | Doesn't seem to have helped. Probably because I'm wayland76 instead | ||
@karma wayland | |||
lambdabot | wayland has a karma of 83 | ||
wayland76 | Ah, my mistake :) | ||
pmichaud_ | just add 'em all up. | ||
wayland76 | I'm happy now | ||
rakudo: ('c/c--' xx 10).say | 02:21 | ||
p6eval | rakudo 241545: OUTPUT«c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--» | ||
wayland76 | @karma c/c | ||
lambdabot | c/c has a karma of 136 | ||
wayland76 | Anyway, I'm happy now | ||
I just did @karma before, and it said 11 | |||
02:22
alester left
|
|||
wayland76 | Is there a way to specify what rule I want to invoke? | 02:24 | |
Or do I have to use TOP? | 02:26 | ||
02:37
colomon left
|
|||
wayland76 | my $M := XKB::Grammar::XKB ~~ slurp("/usr/share/X11/xkb/symbols/us"); | 02:37 | |
Hmm. My grammar took a minute and 44 seconds to run :) | 02:40 | ||
pugs_svn | r27693 | kyle++ | [t/spec] Test for RT #63642 | 02:49 | |
r27694 | kyle++ | [t/spec] Test for RT #63644 | |||
03:10
bpetering joined
03:12
NewOrder left,
shachaf left,
araujo left,
xomas_ left,
TimToady left,
diakopter left,
rjh left,
c1sung left,
arejay left,
TimToady joined,
NewOrder joined,
shachaf joined,
araujo joined,
xomas_ joined,
diakopter joined,
rjh joined,
c1sung joined,
arejay joined,
antiphase joined,
awwaiid joined,
irc.freenode.net sets mode: +oo TimToady diakopter
03:13
bpetering left
03:15
hoelzro left
03:21
rjh left,
diakopter left,
NewOrder left,
xomas_ left,
antiphase left,
arejay left,
c1sung left,
awwaiid left,
TimToady left,
shachaf left,
araujo left,
cls_bsd left,
Aisling left,
rhr left
03:22
diakopter joined,
awwaiid joined,
antiphase joined,
arejay joined,
c1sung joined,
rjh joined,
xomas_ joined,
araujo joined,
shachaf joined,
NewOrder joined,
TimToady joined,
cls_bsd joined,
rhr joined,
Aisling joined,
irc.freenode.net sets mode: +oo diakopter TimToady
04:03
cognominal_ left
04:09
cognominal joined
04:23
tann joined
|
|||
tann | rakudo: die; | 04:24 | |
p6eval | rakudo 241545: OUTPUT«No applicable methods.in Main (/tmp/1ouJGd6CUk:2)» | ||
04:32
cls_bsd left
04:34
frew_ left
04:35
edpratomo joined,
agentzh joined
04:36
beggars joined
04:45
nihiliad left
|
|||
wayland76 | How do I introspect a Match object? | 04:49 | |
Calling .keys() on it gives me this: Method 'keys' not found for invocant of class 'PGE;Match' | 04:50 | ||
pugs_svn | r27695 | wayland++ | [S32/Abstraction] Added "action" optional parameter to parse and parsefile. | 05:00 | |
wayland76 | Different question: does Rakudo support grammar action objects yet? | 05:01 | |
05:02
synthEEEE joined
05:03
FurnaceBoy left
05:12
synth left
|
|||
szabgab | I need a little help with git, how can I switch to the released version of Rakudo ? would that be git checkout Chicago ? | 05:13 | |
it tells me Note: moving to "Chicago" which isn't a local branch | |||
05:13
frew_ joined
05:15
synth joined
05:17
skids left
|
|||
wayland76 | I don't know. Have you done git branch -a ? | 05:18 | |
szabgab | so far I just used to git pull and build the latest | 05:19 | |
wayland76 | No, that doesn't help | ||
Do you live in Chicago? If not, it won't be a local branch. | |||
Sorry :) | 05:20 | ||
szabgab | HEAD is now at 9b37b81... Update announcement with spectest results | ||
05:20
masak joined
|
|||
szabgab | :-) | 05:20 | |
wayland76 | Oh, wait, I've had an idea... | ||
masak | ahoj, early birds! | ||
szabgab | so it seem it is checked out to Chicago now | ||
joho masak | |||
wayland76 | No, my idea doesn't work | 05:21 | |
05:22
synthEEEE left
|
|||
wayland76 | Does Rakudo support grammar action objects yet? | 05:22 | |
Tene | action objects? | ||
wayland76 | masak: 3:23 pm here | ||
Tene: MyGrammar.parse($str, :action($action-object)) | |||
masak | wayland76: you can do that in Rakudo, yes. | 05:23 | |
Tene | Yes. | ||
wayland76 | Ok, thanks | ||
masak | actually, the feature has been there 'all the time', as I understand it. I asked about it once long ago, and pmichaud_++ said 'what? like this?' and it turns out it just fell out of how PGE already does it. | 05:24 | |
05:25
finanalyst joined
|
|||
wayland76 | Cool :) | 05:25 | |
finanalyst | good morning | ||
how can i discover what traits a variable has? | 05:27 | ||
wayland76 | So my real question should be "Why doesn't mine work :) | ||
finanalyst | rakudo is failing saying it cant assign to a read-only variable | ||
but it doesnt say which variable and i cant see why any of the variables should be read only | 05:28 | ||
but to narrow down the problem, i need to see the traits | |||
masak | wayland76: I don't know. all of mine work. | 05:29 | |
lisppaste3 | wayland76 pasted "My Grammar action class not working" at paste.lisp.org/display/84113 | ||
masak | finanalyst: not sure I've seen an answer to that question in the spec. | 05:30 | |
finanalyst | the problem is puzzling because it occurs in the second iteration of a loop, but not in the first | 05:31 | |
wayland76 | If we need a special boolean operator for traits, can we call it traitor? :) | ||
finanalyst | :) | ||
wayland76 | finanalyst: nopaste? | ||
Tene | masak: looks like wayland76 you didn't paste the output of that script. | 05:32 | |
erm... typing fail. | |||
wayland76: you didn't paste the output of that script. | |||
masak | wayland76: hm, I can't see an obvious error. | ||
Tene: the output is nothing. | |||
Tene | masak: looks like I'm finally starting work on my roguelike. It was you that was interested in that, right? | 05:33 | |
masak | aye. | ||
finanalyst | wayland76: i want to narrow down the problem as it uses a lot of data first | ||
wayland76 | roguelike = text adventure game? | ||
Tene | I'll let you know once I have something to look like. | ||
masak | Tene: cool! | ||
05:37
frew_ left
|
|||
masak | wayland76: ok, I found it. | 05:38 | |
wayland76: you're missing {*} thingies where you want to call your action methods. | |||
after adding those, it works. | |||
wayland76: may I also point you towards krunen's XML module, containing an already quite complete XML grammar? github.com/krunen/xml/ | 05:39 | ||
wayland76 | Yay! :) | ||
Ok, thanks :) | |||
I'm more interested in the actions than the grammar :) | |||
Now I'm glad I made that mistake -- I got a free XML grammar :) | 05:40 | ||
masak | :) | 05:43 | |
wayland76 | Although the tests say that it fails :) | 05:44 | |
It gets this error: perl6regex parse error: Quantifier follows nothing in regex at offset 869, found ':' | 05:45 | ||
I shall investigate :) | |||
masak | wayland76: you do know that you have to quote all non-alphanumerics, right? | 05:47 | |
wayland76 | Does anyone know whether "offset 869" is a character or a line? | ||
masak: That was just trying to run the test suite | |||
I didn't do anything to it yet :) | |||
masak | wayland76: which test suite? | ||
wayland76 | The one that comes with the XML grammar | ||
Although maybe "suite" isn't the right word :) | 05:48 | ||
masak | ok, let me try the same thing... | ||
wayland76 | I used this: PERL6LIB=lib perl6 t.p6 t.xml | ||
because his command in the README wasn't quuite right | |||
masak | seems like the error is on line 54 in Document.pm | 05:50 | |
wayland76 | must be a character offset; none of the files are long enough otherwise | ||
masak | [:<.ident>+]? | ||
...and that's one of the latest changes, 2009-06-30 | |||
the latest, in fact. | 05:51 | ||
wayland76: care to submit a bug report to krunen? :) | |||
wayland76 | Well, it seems to work without it :) | ||
How do I do that? | |||
masak | via github or email, I guess. | ||
might be worth mentioning the README thing, too. | |||
wayland76 | phenny: msg krunen We found a "bug" in XML::Grammar::Document -- there's an extra ':' at character 869 (on the last line). Your test suite shows it up | 05:52 | |
@tell krunen We found a "bug" in XML::Grammar::Document -- there's an extra ':' at character 869 (on the last line). Your test suite shows it up | 05:53 | ||
lambdabot | Consider it noted. | ||
wayland76 | @tell krunen Also, the README isn't quite right (needs .p6 instead of .pl) | ||
lambdabot | Consider it noted. | ||
masak | phenny: tell krunen We found a "bug" in XML::Grammar::Document -- there's an extra ':' at character 869 (on the last line). Your test suite turns it up | 05:54 | |
phenny | masak: I'll pass that on when krunen is around. | ||
masak | though I haven't heard krunen speak on this channel in a long time. | 05:55 | |
wayland76 | Ok, I e-mailed as well | 05:58 | |
masak | wayland76++ | 05:59 | |
06:08
finanalyst left
|
|||
wayland76 | rakudo: (join ' ', 'c/c--' x 10).say | 06:13 | |
p6eval | rakudo 241545: OUTPUT«c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--» | ||
wayland76 | @karma c/c | ||
lambdabot | c/c has a karma of 136 | ||
wayland76 | rakudo: (join ' ', ('c/c--' x 10)).say | 06:14 | |
p6eval | rakudo 241545: OUTPUT«c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--c/c--» | ||
wayland76 | rakudo: (join ' ', ('c/c--' xx 10)).say | ||
p6eval | rakudo 241545: OUTPUT«c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c--» | ||
wayland76 | @karma c/c | ||
lambdabot | c/c has a karma of 128 | ||
wayland76 | That's better :) | ||
06:16
araujo left
06:21
tann left
|
|||
pugs_svn | r27696 | moritz++ | [t/spec] be more explicit about hash comparison, and avoid collision on same key | 06:29 | |
06:35
alester joined,
Su-Shee joined
|
|||
Su-Shee | good morning future. :) | 06:35 | |
moritz_ | good morning futurebutterflies ;-) | 06:36 | |
cbk | good morning to you. good night for me :) | 06:37 | |
Su-Shee | well, we better brace ourselved for the php 6/perl 6 puns to come.. ;) | ||
masak | I didn't realize there was a danger of such puns. | 06:38 | |
Su-Shee | masak: php 6 is coming up. | ||
cbk | Perl 6 will drink php's milkshake!!! | 06:39 | |
moritz_ | with \ as namespace separator? | ||
Su-Shee | *hihi* no idea. :) | ||
masak | yeah, that'll work. | ||
Su-Shee | but if I were a PHP fan and (still) blogging, I would beat the "version 6 coming up" pun to death. ;) | 06:40 | |
wayland76 | I hear that Duke Nukem Forever is coming out | 06:47 | |
And Enlightement DR17 :) | |||
Su-Shee | *hehe* :) | 06:48 | |
wayland76 | Imagine a beowulf cluster of Perl6s | 06:49 | |
06:49
tann joined
|
|||
wayland76 | All your version 6 are belong to us :) | 06:49 | |
tann | hi fellas, just went thru s11 but couldn't figure out the equivalent of good ol' EXPORT_OK | 06:52 | |
Su-Shee | wayland76: my personal imagination is along the lines of perl 6 having _the_ single most coolest and most extensive GUI/Graphic's bindings to "hey, let's prototype a new window manager this weekend.." ;) | ||
Tene | wayland76: I've got E17 gui apps running on in Perl 6. | 06:53 | |
wayland76 | Tene: I was going to try something like that at one point. | ||
But decided that GTK3+Perl6 would suit me better :) | 06:54 | ||
Tene | wayland76: github.com/tene/parrot-elementary | ||
wayland76 | (well, suit my project better) | ||
Tene | You mean, not combine obscure + obscure? | ||
;) | |||
cbk | GTK and perl 6 would be cool! | ||
Su-Shee | wayland76: gtk 3 isn't really up for another year, I'd say.. | ||
wayland76 | No, it's just that I want to write something for editing interlinear documents | 06:55 | |
Tene | interlinear? | ||
wayland76 | Su-Shee: Well, sounds like it'll be ready at the same time as Perl 6 :) | ||
Tene | AFK GOODNIGHT PERL SIX GUYZ | ||
Su-Shee | wayland76: that wasn't meant as a discouragement - there's plenty of underlying libs to wrap.. pango, cairo... | 06:56 | |
wayland76 | Interlinear: www.scripture4all.org/OnlineInterli...f/mat1.pdf | ||
cbk | wayland76, no.... we just got till Christmas | ||
06:56
alester left
|
|||
cbk | :) | 06:56 | |
Su-Shee | wayland76: entire x11.. ;) | ||
wayland76 | Su-Shee: Well, I'd settle for GTK2 to start with, and transition later :) | ||
Tene | wayland76: I don't quite understand what that PDF is. Why would that format be better served by GTK3? | 06:57 | |
Tene curious about toolkits, hasn't looked at GTK3 at all. | |||
wayland76 | Tene: It wouldn't. But GTK3 is supposed to make it easier to go between screen and printing | ||
Su-Shee | Tene: there is nothing to look at right now but some blog/mailing list postings what gtk3 should be. | ||
06:57
tann left
|
|||
wayland76 | So if we wanted to actually *print* interlinear stuff, that could be useful :) | 06:58 | |
Su-Shee dreams of my version of "Sugar" in Perl 6. | 06:59 | ||
wayland76 | Besides, my theory is that we should write an entire office suite in parrot-based languages | ||
Then we could rescript things in any language we wanted :) | |||
Sugar = CRM? | |||
Su-Shee | wayland76: because of the bright future of office suites which are going to be web-based anyway? | ||
wayland76: no, the OLPC-desktop written in python | |||
wayland76 | Su-Shee: Well, some people seem to think so :). But people have been saying those sorts of things for years. | 07:00 | |
Su-Shee | wayland76: which is the single most cool example of "noone needs to code C and Xlib for a cool desktop" | ||
wayland76 | Well, if we get Python-on-Parrot, you could code Sugar extension in P6 :) | ||
Su-Shee | wayland76: I abandoned "office suites" directly after my thesis (last time I used something office-like and this was wordperfect under linux ;) | 07:01 | |
07:01
beggars left
|
|||
Su-Shee | wayland76: I want a really nice, fancy, well-done, native parrot-perl6-thing. :) | 07:01 | |
wayland76 | Su-Shee: Did I say I want my office suite to edit sheet music too? :) | 07:02 | |
Su-Shee | If I understand all the parrot-vm-wrapping stuff correctly anway, it would mean to write a gtk-parrot first and then make the perl6 bindings.. | ||
wayland76: ah. :) | |||
wayland76: well in _that_ definition I "somehow" also have "suites" - gimp and inkscape. | 07:03 | ||
though there are some shiny flash (!) apps out there, competing with gimp... | |||
wayland76 | re: gtk-parrot/perl6 bindings, that's my impression too, although I'm under the impression that they want to make things easy :) | 07:04 | |
moritz_ | federkiel.wordpress.com/2008/03/12/...g-serious/ some of those sound quite familiar to what Perl 6 developers think (or thought back then in 2000) | 07:05 | |
wayland76 | I'm thinking more of a combo of rosegarden, lilypond, and a word processor :) | ||
Su-Shee | wayland76: the parrot-bindings I looked at look rather understandable - especially due to the fact that I've never really seen something assembler-ish or really stack-like. (besides a postscript's div dup scale line..) | 07:06 | |
wayland76 | Cool. I spoke to the gtk-perl IRC channel about 6 months ago, and they're keen to do gtk-parrot when the docs are there and the process is easy :) | 07:07 | |
(that's for GTK2 of course :) ) | |||
Su-Shee | wayland76: the parrot docs _are_ there. | ||
wayland76: parrot already comes with a more or less complete handbook. | 07:08 | ||
wayland76: I think it's more about understanding the concept.. but gee.. they managed XS it can only be easier. | |||
wayland76 | Which doc do they read? | 07:09 | |
Su-Shee | no idea, i was referring to your "when the docs are there" | ||
wayland76 | docs/pdds/draft/pdd16_native_call.pod | 07:11 | |
In case anyone wonders | |||
I guess I was thinking of the problem that ncigen.pl didn't work last time I tried it | 07:12 | ||
But maybe that's been fixed too :) | |||
07:12
alester joined
|
|||
Su-Shee | moritz_: the blog posting is about what I know about gtk3 plans. | 07:12 | |
07:13
alester left
|
|||
Su-Shee | wayland76: docs.parrot.org/parrot/latest/html/ | 07:13 | |
07:15
edpratomo left
07:16
rfordinal joined
|
|||
Su-Shee | ah yes. I like licenses and copyright. the "jodel" line probably everybody knows was ruled copyright protected by a german court. | 07:18 | |
07:33
NewOrder left
07:36
alester joined
07:37
alester left
07:41
missingthepoint joined
07:53
alester joined
08:00
missingthepoint is now known as bpetering
08:04
M_o_C joined
08:19
cls_bsd joined
|
|||
moritz_ | jnthn: I pushed the build-parrot-head branch to github which makes the ops build on parrot HEAD (patch by cotto++), but dies a bit later on | 08:20 | |
masak | moritz_++ | 08:25 | |
moritz_ | ah, the last fix seems easy too | ||
masak | hoping to be able to run off Parrot head again soon. :) | ||
moritz_ | 5 minutes. | ||
masak | \o/ | 08:26 | |
moritz_ | bah | 08:30 | |
I borked it | |||
by rebasing too much ;-) | |||
lisppaste3 | cbk pasted "untitled" at paste.lisp.org/display/84125 | 08:31 | |
cbk | this should work right....? | ||
would $line be just the first word that is read? | 08:32 | ||
up to \n | |||
moritz_ | the first line. | ||
of course you have to declare @teamObj and class Team somewhere | 08:33 | ||
but in principle, yes | |||
cbk | yes i did that | ||
I get Use of uninitialized value when i do say @teamObj[0].name; | 08:34 | ||
moritz_ | it's a bit hard to debug for you without seeing the whole code and your input data | ||
masak: changes pushed; OK, it was 10 minutes, not 5... ;-) | 08:36 | ||
masak | moritz_: gracias. trying build. | ||
cbk | my input is just a text file with NFL football team names. I was trying to put the names in a file so I would not have to do something like this @teamNames = <...........>; | 08:37 | |
where ..... is all 32 team names | |||
dalek | kudo: fc60e1d | (Matthew Walton)++ | Test.pm: Updated Test.pm planless testing support. |
||
kudo: b198624 | moritz++ | (3 files): re-enable building against parrot HEAD |
|||
moritz_ | cbk: ah, I see your problem | 08:40 | |
08:40
fridim_ joined
|
|||
moritz_ | cbk: you read the line into $line, but set the name to $_ | 08:40 | |
cbk | how does .lines read the lines in the file | ||
oh | |||
so just change $_ to $line then | 08:41 | ||
moritz_ | yes | ||
cbk | that worked! | ||
08:41
wollmers joined
08:42
payload joined
|
|||
wollmers | rakudo: say ord( :string("a") ) | 08:42 | |
p6eval | rakudo 241545: OUTPUT«No applicable candidates found to dispatch to for 'ord'in Main (/tmp/gVvZIYss2M:2)» | ||
moritz_ | rakudo doesn't do the "call positional params by name" thing yet | ||
cbk | moritz_, thanks, i was using the $_ in another sub and just copied it. | 08:43 | |
moritz_ | that shows again that copy&paste in one of the programmer's worst enemies | ||
cbk | moritz_, might be time for me to go to sleep :) | 08:44 | |
masak | rakudo: sub foo() {}; foo("bar" => "baz", "OH NOES"); say "alive" | ||
p6eval | rakudo 241545: OUTPUT«alive» | ||
masak | guess this one is known. :/ | 08:45 | |
sjohnson | masak: :) | ||
masak | that's why we still call 'em "developer releases" | ||
sjohnson | alright, maybe i should play with rakudo a bit | ||
masak | sjohnson: of course you should! :) | 08:46 | |
sjohnson | here goes | ||
moritz_ | masak: how did the build go? | ||
masak | moritz_: oh, successfully, thank you. | ||
hanging around on #perl6 without playing with rakudo is like talking about food all day without eating. | |||
moritz_ | cool | ||
wollmers | Just searching and grepping how to set or access different 'unicode abstraction levels' (grapheme, codepoints, bytes) | 08:47 | |
masak | "my Parrot is bleeding again!" doesn't sound all too positive, does it? :P | ||
moritz_ | wollmers: that's also NYI in Rakudo | ||
sjohnson | rakudo: my $str = "happy10"; given ($str) { when (m/\w+(\d)+) { print $1; } } | 08:48 | |
p6eval | rakudo 241545: OUTPUT«./perl6: error while loading shared libraries: libparrot.so.1.4.0: cannot open shared object file: No such file or directory» | ||
sjohnson | i broketed it | ||
Juerd_ | What does NYI mean? | ||
moritz_ | masak: there are some psychological dysfunctions that make you talk very mouch about food, but rarely consume any | 08:49 | |
wollmers | I remember some piece of code like '$string.as_codepoints' or so ... | ||
moritz_ | Juerd_: Not Yet Implemented | ||
sjohnson | rakudo: my $str = "happy10"; given ($str) { when (m/\w+(\d)+/) { print $1; } } | ||
p6eval | rakudo 241545: OUTPUT«./perl6: error while loading shared libraries: libparrot.so.1.4.0: cannot open shared object file: No such file or directory» | ||
moritz_ | sjohnson: no, it's just the hourly rebuild | ||
masak | moritz_: what, me in particular, or people in general? :) | ||
moritz_ | sjohnson: and since it requires a new parrot version this time, it takes longer | ||
sjohnson | rakudo: my $str = "happy10"; given ($str) { when (m/\w+(\d+)/) { print $1; } } | ||
Juerd_ | I'm going to dist-upgrade feather now | ||
p6eval | rakudo 241545: OUTPUT«Null PMC access in get_string()current instr.: 'parrot;P6metaclass;register' pc 651 (runtime/parrot/library/P6object.pir:438)» | ||
sjohnson | i just had to at least correct my syntax | ||
moritz_ | masak: people in general; you don't seem to talk too much about food ;-) | ||
sjohnson has had a few too many beers | |||
masak | moritz_: and I do think I eat enough. :) | 08:50 | |
sjohnson is getting hungry | |||
masak | sjohnson: $0. | ||
sjohnson | $0 for rea? | ||
real* | |||
masak | sjohnson: and ditch the parens after the 'when'. | ||
moritz_ | the first (...) group is in $0 | ||
masak | and after the 'given'. | ||
sjohnson | there's a lot about perl 6 i dont know | ||
but am eager to learn | 08:51 | ||
masak | sjohnson: free your mind. drop your Perl 5 habits! | ||
moritz_ | ;-) | ||
sjohnson | can i has a syntax? | ||
masak | it's "I can haz", but yes. | ||
you can. | |||
moritz_ | rakudo: say 1 | ||
p6eval | rakudo 241545: OUTPUT«sh: ./perl6: No such file or directory» | ||
sjohnson | moritz_: tough break | ||
( `ー´) | |||
08:52
alester left
|
|||
moritz_ | it's at the src/gen_setting.pir step | 08:52 | |
sorry for the inconvenience. | |||
sjohnson | i understand | 08:53 | |
08:53
justatheory joined
|
|||
sjohnson | rakudo: say 'compiled?' | 08:54 | |
p6eval | rakudo b19862: OUTPUT«compiled?» | 08:55 | |
M_o_C | Two questions: a) Can unnecessary code be described as "overhead"? b) Why exactly do many language creators create a bootstraped version with which they compile their compiler written in their created languag? The only reason I can think of so far is, that they like their new language better (they wouldn't have to create it if the language in which the compiler was written already offered this) | ||
moritz_ | M_o_C: a) yes | ||
M_o_C: b) several reasons... (more) | 08:56 | ||
1) it's a good test, and it forces you keep your compiler actually working | |||
08:56
zamolxes left
|
|||
moritz_ | 2) often the structure of language supports building a compiler in it | 08:57 | |
for example, for a Perl 6 compiler you need to thave the grammar in Perl 6, otherwise you can't get macros working correctly | |||
08:57
explorer joined
|
|||
moritz_ | 3) if you develop a low-level language (like C or fortran), nobody takes you serious if you write the compiler in a different language | 08:58 | |
"look, he wrote a C compiler in Lisp - he can't really like C - I wonder how good the compiler is he didn't like it" | |||
M_o_C | Thanks so far. However I have a question regarding point 2: Regarding the example you provided shouldn't it actually be "encourages" instead of "supports". (Though I also understand the "supports" part, because the grammar engine makes creating a compiler/interpreter very easy, which I really like about perl 6) | 09:01 | |
09:02
jevin left
|
|||
moritz_ | in the case of Perl 6 it's both | 09:02 | |
but in general... probably "encourages", yes | 09:03 | ||
M_o_C | Ok | ||
09:04
pmurias joined
|
|||
moritz_ | www.perlmonks.org/?node_id=782882 maybe that's something we also want for Perl 6 regexes? | 09:07 | |
masak | moritz_: what is? negative lookahead? inverted character classes? we have both already. | 09:09 | |
moritz_ | it's "any string that does not contain $regex" | 09:10 | |
s/contain/match/ | |||
masak | if $string !~~ /.../ { ... } | ||
moritz_ | you can't use that in a regex easily | 09:11 | |
masak | yes, there's ~~ and !~~ in regexes, too. | ||
moritz_ | right | ||
I forgot about those | |||
the original question was how to match <foo>...</foo> where ... was not allowed to match $rx | |||
so that would be '<foo>' (.*?) $0 !~~ $rx '</foo>' in Perl 6? | 09:12 | ||
I guess the difference is that $0 !~~ $rx looks prozedural to me, wheres the (?^ $rx) suggestion looks declarative to me | 09:13 | ||
(yes, Perl 5 doesn't distinguish those, but Perl 6 does) | |||
masak | yes, that is an issue. | ||
and I'm not sufficiently read up on S05 right now to know if that works. | 09:14 | ||
it's certainly NYI, even if it would. | |||
cbk | moritz_, masak could you point me in the direction of some good (through) perl 6 regex examples if you know any? | ||
masak | std: my $rx; /'<foo>' (.*?) $0 !~~ $rx '</foo>'/ | ||
p6eval | std 27696: OUTPUT«ok 00:03 37m» | ||
masak | cbk: I'd recommend the MediaWiki parser in November. | 09:15 | |
cbk: hold on, I'll throw you a link. | |||
moritz_ | cbk: I wrote perlgeek.de/blog-en/perl-5-to-6/20-...r-xml.html some time ago | ||
09:16
justatheory left
|
|||
masak | actually, this is probably a more illustrative example then the MediaWiki parser: github.com/masak/web/blob/1bcedbaab...LParser.pm | 09:17 | |
doesn't use actions, though. | 09:18 | ||
moritz_ | aye, those were NYI at the time of writing | ||
Su-Shee | I need a perl 6 book soon. | ||
cbk | masak, Thanks | ||
what does NYI mean? | |||
masak | cbk: feel free to ask, too. | ||
moritz_ | Su-Shee: it's been said that TheDamian works on one, or will be soon | 09:19 | |
masak | cbk: Not Yet Implemented. | ||
cbk | oh | ||
Su-Shee | moritz_: I already put aside 200 euros just for perl 6 books. ;) | ||
masak | also sometimes NIY. same thing. | ||
Perl 6 books tend to bit-rot quickly... | |||
Matt-W | Good morning | ||
masak | Matt-W: morning, sir. | 09:20 | |
moritz_ | let's hope that the Euro doesn't rot as quickly ;-) | ||
Matt-W | I wouldn't bank on having any accurate Perl 6 books for a while | ||
wayland76 | masak posted this link for me (XML Grammar): github.com/krunen/xml/tree/master | ||
cbk | masak, how can i match some text that are going to be used as vars that are separated by a space if perl6 ignores white space? | ||
masak | heck, we don't even have accurate tutorials! :) | ||
wayland76 | It has an extra colon in XML::Grammar::Document, on the last line, but once you get rid of that, it's fine | ||
moritz_ | cbk: either with the :s modifier, or by using \s, or ' ', or ... | 09:21 | |
Su-Shee | cbk: you use \s for example. | ||
masak | cbk: or using 'rule' instead of 'regex' or 'token'. | ||
moritz_ | or \c[SPACE] | ||
Matt-W | cbk: you just have to explicitly say where you want to match whitespace | ||
masak | cbk: have you read S05. might be good starting there. | ||
cbk | well like this: VAR1 THISisVAR2 VAR3hereCOULDbTHISBIG | 09:22 | |
masak, I have been looking in s05 all night | 09:23 | ||
masak | cbk: ok :) | ||
cbk | not really too helpfull if your just learning | ||
moritz_ | it's helpful when you read it the third time or so ;-) | ||
masak | cbk: I agree. you'd want to mix reading it and trying things out. | ||
moritz_ | cbk: I really recommend feather.perl6.nl/~duff/articles/per...-regex.pod | ||
PerlJam++ wrote this, and so far I haven't found a single mistake or outdatedness in it | 09:24 | ||
wayland76 | cbk: search in S05 for "sigspace" | ||
cbk | moritz_, Yes something like that!!! | ||
wayland76 | Or search for this: The new ":s" (":sigspace") modifier causes whitespace | ||
cbk | wayland76, ok | ||
thanks guys the p6-regex.pod looks like a good read for me.... Printing it out now to add to MY perl6 book :) | 09:27 | ||
night all... Thanks again | |||
masak is porting Python code to Perl 6 | 09:28 | ||
rakudo: sub foo(:$bar) { say $bar }; class A { has $.bar; method baz() { foo(:$.bar) } }; A.new(:bar<OH HAI>).baz | 09:31 | ||
p6eval | rakudo b19862: OUTPUT«Symbol '$1bar' not predeclared in bazin Main (src/gen_setting.pm:3343)» | ||
masak | :) | ||
masak submits rakudobug | |||
Matt-W | masak: what Python code? | ||
masak | now, are my expectations right in this case? could the above code print "OH HAI"? | 09:32 | |
Matt-W: a templater called Genshi. | |||
it's for the Web.pm project. | |||
Matt-W | masak: I don't know if your expectations are correct | ||
Is :$.bar supposed to be like :bar($.bar) | |||
masak | aye. | ||
that was my expectation. | 09:33 | ||
moritz_ | I don't think so | ||
Matt-W | Because I wouldn't expect so without reading it somewhere | ||
moritz_ | because $.bar is not parsed as a variable, but as a method call | ||
masak | moritz_: does that matter? | ||
and what about :$!bar, then? | |||
09:33
synth left
|
|||
Matt-W | I would expect the same behaviour as $.bar | 09:34 | |
masak | rakudo: sub foo(:$bar) { say $bar }; class A { has $!bar; method baz() { foo(:$!bar) } }; A.new(:bar<OH HAI>).baz | ||
Matt-W | whatever that happens to be... | ||
moritz_ | it does matter, Perl 6 is all about syntax | ||
p6eval | rakudo b19862: OUTPUT«Symbol '$1bar' not predeclared in bazin Main (src/gen_setting.pm:3343)» | ||
masak | I still think Rakudo does the Wrong thing here. | ||
moritz_ | $1bar? | ||
masak | there's no $1bar variable. | ||
right. | |||
moritz_ | that's a less-than-awesome error message | ||
Matt-W | At the very least | ||
moritz_ | (hint, hint) | ||
masak | yes, it alone merits a bug report. | ||
Matt-W | It's either a Missing Feature or a less-than-awesome error message | ||
the question is which | |||
masak | moritz_: I'm writing it now. you're in it! :) | ||
Matt-W: exactly. | 09:35 | ||
moritz_ | well, the table in S06 for named arguments doesn't list it, I think | ||
masak | I see no reason why it shouldn't work. | ||
same with $^placeholder variables, I'd say. | 09:36 | ||
Matt-W | I see no reason why it should | ||
moritz_ | convenience would a good reason, no? | ||
Matt-W | Mmm | ||
masak | I think so. | ||
Matt-W | I can seen an argument for it | ||
masak | consistency, too. | ||
moritz_ | Perl 6 is all about convenience; otherwise we'd still be writing assembler code ;-) | 09:37 | |
masak | it's not like the syntax is being used for something else. | ||
szabgab | rakudo: for (1, 2, 3, 4, 5) -> $x, $y? {say "$x $y";} | ||
p6eval | rakudo b19862: OUTPUT«1 23 4StopIterationin Main (/tmp/qnyyJmWgOn:2)» | 09:38 | |
09:38
sri_kraih_ left
|
|||
szabgab | so $y? is accepted already but it is still not optional, right ? | 09:38 | |
moritz_ | rakudo: (1..5).map: -> $x, $y? { say "$x $y" } | 09:39 | |
p6eval | rakudo b19862: OUTPUT«Use of uninitialized value1 Use of uninitialized value2 Use of uninitialized value3 Use of uninitialized value4 Use of uninitialized value5 » | ||
moritz_ | szabgab: right. You could call that a bug :/ | 09:40 | |
masak | szabgab: I hate the StopIteration error message. | ||
szabgab | if I call it a bug, will it behave better ? ;) | ||
masak | possibly, in the long run. | 09:41 | |
moritz_ | I doubt that. | ||
ihrd | hi there | 09:42 | |
masak | privet, ihrd. | ||
ihrd | I missed something or Rakudo just can`t 'augment class Foo {}' yet? | ||
masak | ihrd: it can't yet. | ||
seems the transition is non-trivial. | |||
ihrd | masak: privet and thank you | 09:43 | |
masak | ihrd: the semantics is there, though, in the old form of 'class Austria is also { ... }' | ||
here's why we want to support :$!bar -- one day in the future, some slightly crazy Perl 6 developer will need it and try it out, just to see if it works. when it does, she will be overjoyed. | 09:45 | ||
ihrd | masak: I see, thank you again, my example works now | 09:46 | |
masak | as it is now, I have to write :bar($!bar), and that's just unnecessary. | 09:47 | |
Matt-W | nag TimToady to put it in the spec? | 09:48 | |
masak | I'll certainly mention it when he wakes up. | ||
moritz_ | I can see the point with $!bar, because in that case it's just a twigil | ||
however $.bar is not a variable | |||
Matt-W | a lot of people will think it is though | 09:49 | |
masak | moritz_: I don't see why it would have to be a variable. | ||
09:49
Jedai joined
|
|||
masak | it can still be an lvalue. | 09:49 | |
moritz_ | masak: it's mostly a matter of consistency. :$variable is shortcut for :variable($variable). Extending it to twigiled variables seems natural. Extending it to method calls doesn't | 09:50 | |
jnthn | oh hai | ||
masak | jnthn: oh hai! | ||
Matt-W | o/ jnthn | ||
masak | moritz_: but surely '.' is a twigil? | ||
moritz_ | is it? | 09:51 | |
oh hai jnthn | |||
masak | I've always thought it is. | ||
jnthn | masak: $.foo is the same as $(self.foo) | ||
(Outside of a declaration) | |||
masak | I know, I know! | ||
but is it a twigil? | 09:52 | ||
moritz_ | masak: STD.pm doesn't list it as a twigil. | ||
jnthn | Amd I reading correctly that Rakudo now builds against Parrot head? | ||
masak | jnthn: you are. | ||
moritz_++ | |||
moritz_ | jnthn: it does. Testing on windows appreciated ;-) | ||
jnthn | moritz_++ # thanks! | ||
moritz_ | cotto++ # patch | ||
masak | moritz_: ok, then it's not a twigil, I guess. more like a method-call shortcut. | ||
moritz_ | and bacek++ # descriptive deprecation notice | ||
09:52
ejs joined
|
|||
moritz_ | masak: right; that's what I meant all the time. | 09:53 | |
Matt-W | The problem is that it looks exactly like a twigil | 09:54 | |
moritz_ | $.foo($bar) not | ||
Matt-W | Most of the time people won't care about the difference of course | ||
moritz_ | std: class A { $.foo ~~ 'bar' } | ||
p6eval | std 27696: OUTPUT«ok 00:02 37m» | ||
moritz_ | std: 1.foo ~~ 'bar' | 09:55 | |
p6eval | std 27696: OUTPUT«ok 00:02 36m» | ||
moritz_ | std: sub a { }; a ~~ 'bar' | ||
Matt-W | So how does 'has' see it? | ||
p6eval | std 27696: OUTPUT«##### PARSE FAILED #####Preceding operator expects term, but found infix ~~ instead at /tmp/7zMYO9zkqP line 1:------> sub a { }; a ~~ 'bar'FAILED 00:02 36m» | ||
moritz_ | Matt-W: specially. | ||
Matt-W | clearly | 09:56 | |
else you'd just get unable to find method errors | |||
Matt-W erases the bit of his brain that thinks 'has' is a bit like 'my' | |||
moritz_ | szabgab: does padre integrate svn or git? | ||
szabgab | moritz_, partially | 09:57 | |
very partially | |||
but we have plugins for both of them | |||
09:58
donaldh joined
|
|||
moritz_ | szabgab: thanks; I was answering to www.perlmonks.org/?node_id=782901 ;-) | 09:59 | |
jnthn | std: class A { has $.a; method foo { :$.a } } | ||
p6eval | std 27696: OUTPUT«ok 00:02 37m» | ||
jnthn | Hmm. | ||
masak | \o/ | ||
I have STD.pm on my side... I think. | |||
szabgab | we also would like to have editing via ssh but that's another story | 10:00 | |
for now we are working on the Strawberry Perl 5+6+Padre release | |||
jnthn | masak: std is a syntactic checker, not a semantic one, though. So it's only a half victory. ;-) | 10:01 | |
masak | but an important one! | 10:02 | |
this half-victory calls for lunch, I think. | |||
& | |||
10:04
dakkar joined
10:06
pmichaud_ is now known as pmichaud
|
|||
pmichaud | good (early) morning, #perl6 | 10:06 | |
jnthn | wow | 10:07 | |
jnthn didn't get up that long ago | |||
pmichaud | it's very early here, yes. | ||
3:07 am | |||
jnthn | uff | ||
Yes early. | |||
Can't sleep? | |||
Or didn't get around to doing sleep yet? | 10:08 | ||
pmichaud | I left the oscon chairs' party a little early and came back to my hotel and crashed :-) | ||
then woke up a bit ago and didn't feel like going immediately back to sleep | |||
jnthn | Ah. :_) | 10:09 | |
Early hours hacking! ;-) | |||
pmichaud | well, likely going to be "cleaning up from oscon" -- getting my presentations posted, follow-up emails, etc. | ||
jnthn lands the big metaclass switchover | 10:14 | ||
Hope I got the merge right. | |||
dalek | kudo: 9c44089 | jnthn++ | (8 files): Separate out the Rakudo metaclass (calling it ClassHOW) from the Parrot one, and make sure everything we create uses this metaclass. This means we poke less stuff into p6object's namespace, and paves the way for various other refactors and additions. |
10:17 | |
Matt-W | jnthn++ | 10:20 | |
jnthn: that commit changes PARROT_REVISION from 40249 to 40232... | 10:21 | ||
jnthn | oh | ||
fail | |||
:-) | |||
Will up it again. | 10:22 | ||
moritz_ | Matt-W++ # immmediate review | ||
Matt-W | Not something I usually do, but I'm waiting on work code to compile... | ||
dalek | kudo: e989e65 | jnthn++ | build/PARROT_REVISION: Oops, mis-merged PARROT_REVISION (Matt-W++ for noticing). |
10:23 | |
Matt-W | I'm also going to assume that the actual class implementation is already there, seeing how it isn't in this commit. | ||
jnthn | Matt-W: Huh? | 10:24 | |
moritz_ | src/classes/ClassHOW.pir | ||
I think | |||
jnthn | Yes, that's right. | ||
pmichaud | jnthn: btw, I thought of a huge win that can come from using ObjectRefs for binding... | ||
Matt-W | jnthn: yes, that's what I meant | ||
jnthn | OMG EPIC WIN | ||
Matt-W waits on the edge of his seat | 10:25 | ||
jnthn | Matt-W: No, I think it's right - it adds src/classes/ClassHOW.pir and removes src/parrot/ClassHOW.pir | ||
pmichaud | we no longer have to worry about the lexical symbol being rebound to a different PMC.... and thus we don't need redundant "find_lex" operations | ||
once a scope has fetched a particular lexical... it doesn't have to re-fetch it again later | 10:26 | ||
jnthn | Matt-W: If you click the filename in the list at the top, it'll show you the content of the file. | ||
Matt-W | jnthn: oh yes so it does. I just wasn't reading the diff right (github doesn't include added files, it seems) | ||
jnthn | Matt-W: But yes, it doesn't automatically show full added files int he diff. | ||
Matt-W | pmichaud: sounds nice. What's the catch? | ||
jnthn | Thanks for looking anyway - it's hardly like my git skillz are teh awesome. | ||
pmichaud | Matt-W: shouldn't be any catch | ||
jnthn | pmichaud: Hmm. So at what point do we know to create the ObjectRef? | 10:27 | |
pmichaud | jnthn: that's what makes this even better | ||
infix:<:=> becomes a normal operator sub | |||
it doesn't need any special handling in the compiler (at least, I don't think it does) | |||
jnthn | OK | ||
Hm | |||
So let's look at an exmaple. | |||
sub foo { my $a = 42; my $b := $a; $a = 100; say $b; } | 10:28 | ||
I think we agree that should print 100? | |||
pmichaud | yes | ||
jnthn | OK | ||
So what roughly would my $b := $a; compile down to? | 10:29 | ||
pmichaud | ...compile down to? | ||
it would be | |||
$P0 = find_lex '$b' | |||
$P1 = find_lex '$a' | |||
'infix::='($P0, $P1) | |||
jnthn | OK, good. And what (not line by line PIR, just description is fine) would infix::= do? | 10:30 | |
pmichaud | 1. Create a new ObjectRef to the second operand ($a) | ||
2. Copy that ObjectRef into the first operand ($b) | |||
3. Profit | |||
jnthn | Ah, OK, so we're doing a copy op there. | 10:31 | |
Would | |||
pmichaud | it's basically *exactly* what we do for | ||
jnthn | sub foo { my $a = 42; my $b := $a; my $c := $b; } | ||
Here, is $c going to be an objectref -> objectref -> $a? | |||
pmichaud | my $a = 42; sub foo($b) { $a = 100; say $b }; foo($a); | ||
jnthn | Yes, it's the same. | 10:32 | |
Which feels somewhat right given it's signature *binding*. | 10:33 | ||
pmichaud | exactly | ||
that's what prompted me to want to go this way (as well as a few other things) | |||
jnthn | OK, I don't spot any immediate holes to shoot in this. :-) | ||
pmichaud | in the $c case, I haven't completely decided (more) | ||
but it'll likely work out to be much the same as when we pass a bound parameter as an argument to a nested function | 10:34 | ||
we *should* be able to do some optimization so that $c ends up being objectref -> $a | |||
jnthn | I think so, yes. | 10:35 | |
pmichaud | on the surface it isn't hard -- we just dereference the second operand to "infix::=" prior to building the ObjectRef | ||
masak | so, IIUC infix:<:=> and signature binding will share the same mechanism? | ||
pmichaud | masak: that's what I'd like to see happen at some level, yes. | ||
jnthn | masak: IIUC, yes. | ||
masak | that's funny, I had that thought a few days ago -- whether they did use the same mechanism. | ||
Matt-W | however, if in the $a $b $c example, you then rebound $b, shouldn't $c reflect that? | 10:36 | |
or are the semantics that you bind through to the final target always | 10:37 | ||
pmichaud | Matt-W: no | ||
right. | |||
if we rebind $b, that shouldn't affect the binding of $c | |||
Matt-W | oh | 10:38 | |
you don't bind $c to $b, you bind it to what $b is bound to | |||
? | |||
pmichaud | yes | ||
which is really true even in the $b := $a case | |||
Matt-W | and so in the original binding of $b to $a, it binds $b to what $a is bound to, which happens to be this value | ||
pmichaud | we bind $b to whatever $a is bound to.... right | 10:39 | |
Matt-W | right | ||
pmichaud | "ding" | ||
Matt-W | so yes, you should be able to optimise it down to one objectref | ||
Thanks, I understand that better now | |||
pmichaud | we have a bit of twiddling to do to make sure we preserve readonly-ness and type constraints, but that's not too difficult | 10:40 | |
Matt-W | Cool | 10:41 | |
Sounds like a big win all round then | |||
jnthn | Aye, though atm we don't get any of that right with binding anyway. | ||
Matt-W | Not that I know what we currently do, but I'm not sure there's a better way | ||
It sounds like a good solution | |||
pugs_svn | r27697 | wollmers++ | added unicode variables | ||
pmichaud | but a nice "side effect" of this approach is that we get to avoid a large number of "find_lex" instructions in the generated code | ||
Matt-W | jnthn: two birds, one shotgun with two independently-targetted barrels | 10:42 | |
pmichaud | because Parrot's lexpad symbols remain bound to the same PMC throughout | ||
10:42
pmurias left
|
|||
Matt-W | pmichaud: so that should give a performance win | 10:42 | |
pmichaud | yes. I don't know if it'll be a significant win, but it'll certainly make the code look prettier :-) | ||
Matt-W | :) | 10:43 | |
well avoiding instructions is usually good | |||
find_lex can't be free | |||
jnthn | It's not free. | ||
pmichaud | it's not free but also not too expensive, I suspect. | ||
jnthn | It throws away a bunch of stuff we know statically too. | ||
pmichaud | still, avoiding it should be a win | 10:44 | |
Matt-W | It all helps | ||
And it's not a premature optimisation either | |||
Even I can understand what you're planning to do | |||
So that must mean it's nice and simple :) | |||
avar | Probably nobody cares about 1) Updating binaries 2) Updating binaries for windows doubly so | 10:45 | |
(gah, wrong paste, wrong channel) | |||
jnthn | avar: And there I was, ready to give you a link to the Windows binaries of yesterday's Rakudo release. ;-) | 10:46 | |
avar | whee:) | 10:47 | |
jnthn tries to resist the temptation to go on a massive metamodel refactoring frenzy. | 10:49 | ||
Su-Shee | well I just threw away an entire database design. ;) | 10:51 | |
jnthn | Well, it won't be so much throwing away as lots of little bits to slowly beat things into a shape I find pleasing. | 10:52 | |
(While trying to make that shape pleasing to others too.) | 10:53 | ||
Su-Shee | what's holding you back then? ;) | 10:54 | |
pugs_svn | r27698 | moritz++ | [test-reporter] include diff in mails, [particle]++ for suggesting that | 10:55 | |
10:55
colomon joined
|
|||
moritz_ | phenny, tell KyleHa could please test if r27698 works for you? thanks. | 10:55 | |
phenny | moritz_: I'll pass that on when KyleHa is around. | ||
jnthn | Su-Shee: A vague attempt to finish my current grant on schedule-ish. ;-) | 10:56 | |
Though really that's a good thing. It keeps me focused. | |||
moritz_ | (hague grants)++ | ||
10:56
bpetering left
|
|||
Su-Shee | jnthn: ah, ok, that's a good reason. | 10:58 | |
jnthn goes to scribble on paper for a while to try and work out what he really wants/needs | 10:59 | ||
ihrd | rakudo: my $code = {"Foo"}; my %h = :bar; $code(| %h); | 11:00 | |
p6eval | rakudo e989e6: OUTPUT«FixedIntegerArray: index out of bounds!in Main (/tmp/FgJAABITVb:1)» | ||
jnthn | ooh | ||
good find | |||
rakudo: my $code = {"Foo"}; my %h = :bar; | |||
p6eval | rakudo e989e6: ( no output ) | ||
ihrd | and another one | ||
pmichaud | rakudo: say (:bar).perl | 11:01 | |
p6eval | rakudo e989e6: OUTPUT«"bar" => 1» | ||
ihrd | rakudo: my $code = {"Foo"}; $code(| {:foo}); | ||
p6eval | rakudo e989e6: OUTPUT«argument doesn't arrayin Main (/tmp/vGFnIAQOzW:1)» | ||
frettled | doesn't array? | ||
ihrd | lat just about wrong | relization | ||
jnthn | rakudo: my $code = {"Foo"; $:bar}; my %h = :bar; $code(| %h); | ||
p6eval | rakudo e989e6: ( no output ) | 11:02 | |
pmichaud | ah. currently the prefix-| only can work on array and hash variables | ||
jnthn | Somehow, the parameter passing gets very upset if you pass a flattening hash and have nowhere to stick the named params. | ||
masak | std: "$.method" | ||
p6eval | std 27697: ( no output ) | ||
jnthn | rakudo: sub foo() { }; foo(:bar) | ||
masak | std: "$!attr" | ||
p6eval | rakudo e989e6: ( no output ) | 11:03 | |
std 27697: ( no output ) | |||
jnthn | rakudo: sub foo() { }; my %h = :bar; foo(|%h) | ||
ihrd | pimchaud: mb better error message here, something like "NIY" | ||
p6eval | rakudo e989e6: ( no output ) | ||
jnthn | oh huh | ||
moritz_ | rakudo: say 1 | ||
p6eval | rakudo e989e6: OUTPUT«1» | ||
jnthn | rakudo: sub foo() { }; my %h = :bar; foo(|%h) | 11:04 | |
moritz_ | sometimes I question p6eval's sanity to keep my own. Doesn't always work | ||
p6eval | rakudo e989e6: ( no output ) | ||
pmichaud | jnthn: you need a param to foo | ||
moritz_ | rakudo: multi sub foo() { }; my %h = :bar; foo(|%h) | ||
jnthn | rakudo: sub foo($fake) { }; my %h = :bar; foo(|%h) | ||
pmichaud | rakudo: sub foo($a) { }; my %h = :bar; foo(1, |%h); | ||
p6eval | rakudo e989e6: ( no output ) | ||
rakudo e989e6: OUTPUT«too many named arguments - 'bar' not expectedin sub foo (/tmp/KIqrbdUo5O:1)called from Main (/tmp/KIqrbdUo5O:2)» | |||
rakudo e989e6: ( no output ) | |||
frettled | moritz_: as if we'd notice. I mean, everybody's crazy. | ||
jnthn | Nope, that didn't quite get it either. | ||
jnthn is confused | |||
pmichaud | rakudo: my $code = -> $a { "Foo" }; my %h = :bar; $code(|%h); | 11:05 | |
masak is frustrated | |||
p6eval | rakudo e989e6: OUTPUT«too many named arguments - 'bar' not expectedin Main (/tmp/o8iT7ZaBUS:1)» | ||
pmichaud | oh! | 11:06 | |
no. | |||
jnthn | well that was anti-climactic. | ||
pmichaud | rakudo: my $code = { "Foo" }; $code(); | ||
p6eval | rakudo e989e6: ( no output ) | ||
pmichaud | rakudo: my $code = { "Foo" }; $code(1); | ||
p6eval | rakudo e989e6: ( no output ) | ||
jnthn | rakudo: my $code = { "Foo" }; $code(:bar); | ||
pmichaud | rakudo: my $code = -> $a? { "Foo" }; my %h = :bar; $code(|%h); | 11:07 | |
p6eval | rakudo e989e6: OUTPUT«FixedIntegerArray: index out of bounds!in Main (/tmp/sID400zNEl:1)» | ||
rakudo e989e6: OUTPUT«FixedIntegerArray: index out of bounds!in Main (/tmp/bMiMwxo4TG:1)» | |||
pmichaud | *there* | ||
it's when there's an optional param | |||
jnthn | optional param + named flat with nothing to receive it. | ||
masak submits that as a rakudobug | |||
jnthn | Guess that's another PCC bug. | ||
11:07
ihrd left
|
|||
pmichaud | yes. | 11:07 | |
moritz_ | and another less-than-awesome error message :/ | 11:08 | |
pmichaud | I suspect that combination isn't handled in the pcc code | ||
frettled | Perl 6 - new and interesting ways to screw with your minds. I lost my way. | ||
jnthn | *another* :'( | ||
moritz_ | can we coin LTA as abbreviation of 'Less Than Awesome'? | ||
(maybe lower-cased) | |||
pmichaud | jnthn/masak: btw, "awesome" seems to be the word-du-jour around here at OSCON :-) | ||
masak | of course. :) | ||
frettled | moritz_: that could work, since the TLA also stands for Lighter Than Air. | 11:09 | |
pmichaud: isn't it awesome? | |||
Su-Shee | pmichaud: hopefully all about perl 6 being awsome. :) | ||
wayland76 | awe-all, for when awe-some just isn't enough :) | ||
pmichaud | Su-Shee: precisely, but it seems to be unconsciously spilling over into non-perl6 discussions :) | ||
anyway, TimToady++'s state of the onion highlighted the discussion between jnthn++ and masak++ that led to us deciding that Perl 6 must be "not less than awesome" | 11:10 | ||
masak | :D | ||
pmichaud | (a wholly positive development, imo) | 11:11 | |
my lightning talk today covered hyperoperators, reduction operators, cross operators, and the zip operator, and gave an example using all of them | |||
jnthn | "and they work!" | ||
frettled | \o/ or /o\ ? | 11:12 | |
masak | that's no less than awesome. | ||
frettled: is the second one someone covering his head against rotten tomatoes? | |||
frettled | masak: for instance, or just holding his head in his hands (xABoh no!xBB) | ||
pmichaud | gist.github.com/153993 | ||
masak | pmichaud: that's so cool. | 11:13 | |
frettled | neat! | 11:14 | |
11:14
zamolxes joined
|
|||
pmichaud | what's totally cool is that in almost every case, the code is shorter than the comments :-) | 11:14 | |
jnthn | pmichaud: my @hand = @deck.splice(0, 5); | ||
Why not | |||
my @hand = @deck[^5]; | |||
frettled | X~ is something I've been in need of several times. | ||
jnthn | Or you wanted to remove them from the deck? | ||
pmichaud | jnthn: because when we deal a hand.... exactly | ||
jnthn | Right, gotcha. | 11:15 | |
Awesome. :-) | |||
pmichaud | earlier examples that I had would use @deck.pick(5) | ||
moritz_ | and when I ran it, it said 42. Wow! | ||
pmichaud | which is great, but if you do: | ||
my @hand1 = @deck.pick(5); my @hand2 = @deck.pick(5); | |||
then we get duplicates :-) | |||
jnthn | aye | ||
not good | |||
frettled | pmichaud: looks like you might be a bridge player | ||
pmichaud | frettled: I did play bridge at one time, yes. Haven't played in years, though. | 11:16 | |
moritz_ | the >>xx>> 4 looks pretty evil to me ;-) | ||
pmichaud | heh | ||
there's a story behind that one | |||
originally I had | |||
11:16
meppl joined
|
|||
pmichaud | (2..10, 10, 10, 10, 11) X+ (0,0,0,0) | 11:16 | |
which also produces (2,2,2,2,3,3,3,3,4,4,4,4, ...) | |||
moritz_ | oooh, that's evil too ;-) | 11:17 | |
pmichaud | but I always thought that was a bit hacky | ||
I really wanted to say "give me four copies of each element" | |||
and when I was preparing my slides, I was bummed because I didn't have any hypers in the original code | |||
moritz_ | I ususally use map for such things | ||
pmichaud | (and it's easiest to describe the other reduction ops after starting with a description of hypers) | 11:18 | |
moritz_ | but of course >> is nicer in a meta-op lightning talk ;-) | ||
jnthn finds reduction a good one to start with | |||
pmichaud | so while I was trying to figure out what to do, I stumbled upon >>xx>> | ||
jnthn | Since it only involves one input (an array) | ||
(or list) | |||
moritz_ | jnthn: same here | ||
pmichaud | I like hypers because it's easy to show a perl5-ish equivalent | ||
jnthn | And you can mostly explain it as "think of it textually sticking the operator between each thingy in the array". | 11:19 | |
pmichaud | it also keeps the notion of "working on lists" | ||
11:19
synth joined
|
|||
jnthn | As a first approximation. | 11:19 | |
moritz_ | btw why is the @(...) needed around the »xx» thing? | ||
jnthn | e.g. [+] 1..4 is a bit like 1 + 2 + 3 + 4. | ||
11:19
mkfort joined
|
|||
pmichaud | because it really comes out to be [(2,2,2,2), (3,3,3,3), (4,4,4,4), ... ] | 11:19 | |
moritz_ | should it? | 11:20 | |
11:20
donaldh left
|
|||
pmichaud | so we want to flatten it before we send it to Z | 11:20 | |
and yes, (1,2,3) xx 4 should result in ((1,2,3), (1,2,3), (1,2,3), (1,2,3)) | |||
jnthn | Gah, we really should wrap Parrot Role PMCs up into a RoleHOW. | 11:21 | |
pmichaud | normally it flattens if used in a flattening list context... but the arguments to infix:<Z> aren't flattening list | ||
(they're slice context) | |||
jnthn | Perhaps anyway... | ||
jnthn ponders | |||
11:22
donaldh joined
|
|||
frettled | pmichaud: hmm, that there is nice tutorial material. | 11:22 | |
masak | rakudo: sub foo { $bar } | ||
pmichaud | jnthn: I wonder if our P6metaclass objects need to be attachable to Role PMCs as well as Class PMCs | ||
p6eval | rakudo e989e6: OUTPUT«Symbol '$bar' not predeclared in foo (/tmp/3a1c8BHDKS:2)in Main (src/gen_setting.pm:3343)» | ||
11:22
rfordinal left
|
|||
jnthn | pmichaud: I was pondering subclassing ClassHOW to get us a RoleHOW. | 11:22 | |
pmichaud | frettled: I thinking that I want to convert my lightning talk into a blog post (that explains it like I did in the talk) | ||
jnthn | pmichaud: And essentially doing that. | ||
frettled | masak: my oh my :) | ||
masak submits rakudobug about missing line number | |||
frettled | pmichaud: feel free to bounce it off a real n00b, AKA me. | 11:23 | |
pmichaud | masak: ... missing line number? | ||
jnthn | Probably in an backtrace. | ||
pmichaud | ":2" looks like a line number to me. | ||
(a wrong one, but not missing) | |||
masak | oh. | 11:24 | |
masak stands down | |||
don't know what I was thinking, really. | |||
ah! | |||
pmichaud | and it might not even be wrong, given that p6eval sticks some code at the beginning | ||
masak | because in the error _I_ got, I didn't get a decent line number! | ||
let's see if I can recreate that situation. | 11:25 | ||
pmichaud | frettled: I will be sure to bounce it off of you | ||
frettled | great! | ||
pmichaud | (although I may just go "straight to post") | ||
masak | rakudo: class A { method new { $bar } } | ||
p6eval | rakudo e989e6: OUTPUT«Symbol '$bar' not predeclared in new (/tmp/X0ogJTteJj:2)in Main (src/gen_setting.pm:3343)» | ||
masak | there you go. | ||
jnthn | std: multi trait_mod:<is>(Class $x, Class $y) { } | ||
masak submits rakudobug | |||
p6eval | std 27698: OUTPUT«ok 00:03 39m» | ||
jnthn | Good. | ||
pmichaud: Basically, my plan is: | 11:26 | ||
(more) ;-) | |||
masak | :) | ||
jnthn | 1) Create a RoleHOW | ||
pmichaud | jnthn: I'm thinking that we shouldn't have a separate RoleHOW, though | ||
jnthn | 2) Get roles using it | ||
pmichaud | it doesn't feel Perl6-ish | ||
jnthn | 3) RoleHOW and ClassHOW both do some role Class. | ||
4) traits.pm then has saner signatures, and we win all around | 11:27 | ||
masak | dang, that one has a line number too! o_O | ||
jnthn | Plus we move more code into the metaclass that is all over traits.pm and guts.pir right now. | ||
pmichaud | at least, I haven't seen anything in the spec that implies that the metaclass objects we'd get back from roles would be of a different sort than the ones we get from classes | ||
jnthn | pmichaud: Interesting point. | ||
pmichaud | I'm not saying we can't do it that way... I just hadn't seen anything to indicate that this was part of the thinking behind them | 11:28 | |
jnthn | pmichaud: The smop folks are doing it because they need .^dispatch to work differently in each of them (in one it's supposed to pun). | ||
pmichaud | ah. If smop is using this approach I have less concern | ||
jnthn | I'm trying to think if we have any code paths that'd get us into a need to separate them. | ||
pmichaud | but I think it'd definitely be worth asking TimToady++ if that matches his conception of things | ||
moritz_ | I think the spec POV is that each keyword (class, role, grammar) can have its own meta class, that also introduces things like 'has', 'method' and so on | 11:29 | |
jnthn | But basically I think a package declarator maps to a HOW is roughly along the right lines. | ||
pmichaud | many times I find that a simple question of "...is this kinda how you thought it would work" brings forth very useful answers. | ||
jnthn | I seem to remember a discussion with TimToady along the lines that if you wanted a custom metaclass you'd also want to introduce a custom package declarator. | ||
pmichaud | jnthn: sure, but that's going the other way | 11:30 | |
that doesn't mean that every package declarator should result in its own metaclass | |||
jnthn | pmichaud: Yes, indeed. | ||
pmichaud: As I mentioned though, I did plan RoleHOW at first to inherit from ClassHOW. | |||
So we'd share most of the implementation. | |||
pmichaud | and, interestingly, in Rakudo and PGE "grammar" is exactly the same type of class as "class" | ||
jnthn | Yeah, true, actually I'd expect those to have a common metaclass. | 11:31 | |
pmichaud | anyway, I think it's worth asking the question (of ourselves) as to whether they're really different | ||
jnthn | Though I guess the only thing you might do differently in a GrammarHOW is that's where you could probably most neatly declare what is the default parent class. | 11:32 | |
frettled | and if they're different, are they just subclasses of the same? :D | ||
jnthn | Grammar vs Any. | ||
pmichaud | it's the same sort of discussion about what distinguished type objects from instance objects | ||
jnthn | frettled: Oh, even between ClassHOW and RoleHOW if we have them separated out, I think much will be the same. I'd expect not to duplicate implementation there. | ||
pmichaud: I don't see that analogy, that feels like an orthogonal issue to me. | 11:33 | ||
pmichaud | I'm not saying it's a related issue, I'm saying it's a similar sort of discussion | ||
(maybe I went too meta) | |||
jnthn | Ah, OK. | ||
;-) | |||
pmichaud | i.e., Rakudo treated protoobjects as being a specialized type, smop used a flag | ||
TimToady took a third approach altogether :-) | |||
so by analogy | 11:34 | ||
frettled | jnthn: I'd love to say "aha" and be honest about it :) | ||
pmichaud | if we think of RoleHOW and ClassHOW as being separate, we might find that's really not the underlying case | ||
(again, only because I really hadn't seen anything to imply that $role.HOW would be different in nature from $class.HOW | 11:35 | ||
jnthn | They'd both be metaclasses that implemented the same interface. | ||
pmichaud | sure, I can see that. | ||
11:35
lumi_ left
|
|||
jnthn | I'm just not sure they'd have to be the same type of metaclass. | 11:35 | |
11:35
lumi_ joined
|
|||
pmichaud | I'm not sure they'd ahve to be the same either, but I'm not sure they'd have to be different. | 11:36 | |
to me it's one of those "deep choices" that seems like it might have far-reaching effects later on. | |||
frettled | . o O ( aliased metaclasses? ) | ||
pmichaud | so I'm not trying to say which option is correct, I'm just saying "Oh. I had been thinking of it this other way..." and asking if the difference is significant | 11:37 | |
frettled | (Whenever I think of things like that, I'm afraid that I might find that someone has already _implemented_ the concept.) | ||
jnthn | pmichaud: To be honest, I don't actually think it's that huge a difference. | 11:38 | |
pmichaud | okay. | ||
jnthn | At the end of the day, it boils down to use using a subclass in place of it's parent. | ||
And if we find the subclass is extraneous, we can just remove it and have everything use ClassHOW. | |||
pmichaud | again, while I know that Perl 6 explicitly supports multiple metaclass instances, it hadn't occurred to me that Perl 6 itself would be *using* multiple metaclass instances | 11:39 | |
frettled | pmichaud: but it makes a perverse sort of sense. | ||
pmichaud | yes, I'm coming around to that view. | ||
jnthn | It hadn't really occured to me until smop went that way, and I've been pondering it since. | ||
pmichaud | anyway, I've noted my concern, but I don't a strong "OMG this is very likely wrong" feeling about RoleHOW | 11:40 | |
*don't have | |||
so I don't object to going down that path :-) | |||
I just wanted to ask about the other one. | |||
frettled | I googled RoleHOW and ClassHOW after you mentioned it and glanced through some SMOP documents with arguments pro&con. It seems like it's at least been considered. | ||
jnthn | If we feel it's wrong later, we can back out of it. I'll do my best to not paint us into a corner. | ||
pmichaud | wfm | ||
jnthn | But I'd really like to try and get things straightened out a bit. | 11:41 | |
frettled | one of the relevant hits, I suppose: www.perlfoundation.org/perl6/index...._gsoc_2009 | ||
pmichaud | of course, if it works out well then I'll likely be adopting something similar in P6object :-) | ||
jnthn | I just feel we've got a lot of bits of things that belong in a metaclass scattered all over the place. | ||
And now Rakudo has it's own ClassHOW, we can put them there. | |||
pmichaud | I had some good conversation with Tim Bunce tonight about role support in Parrot | ||
(mostly along the lines of "is it there?" and "can we design interfaces assuming it's present?" | 11:42 | ||
jnthn | Yes it's there, yes we can. | ||
I guess. :-) | |||
moritz_ | is he trying to port DBI to Perl 6? | ||
pmichaud | moritz_: to *Parrot* | ||
moritz_ | well. | 11:43 | |
frettled | whoa. | ||
moritz_ | I guess when it works in parrot, it'll be not too hard to set up a Perl 6 interface on top of it | ||
pmichaud | and, because I said I'd try to promote clarity -- it's actually DBDI that he's looking at | ||
jnthn would so love database access from Rakudo. | |||
Juerd_ hopes the interface for DBI *users* will be nicer than in Perl 5's DBI | |||
(Of course, I would like it to be like DBIx::Simple ;)) | 11:44 | ||
pmichaud | His lightning talk today was about how he had done a DB(D)I lightning talk 2 years ago about building something on Parrot, but then promptly did nothing | ||
jnthn | Well, NYTProf wasn't exactly nothing, but... ;-) | ||
pmichaud | so he then used his lightning talk as a "call for volunteers" to help, as he doesn't want/plan to do all of the work himself :-) | ||
and jnthn -- I told Tim to corner you about some of this stuff at Italian Perl Workshop :-) | 11:45 | ||
jnthn | Oh, he'll be at IPW, but not YAPC::EU? OK. | ||
pmichaud | yes | ||
jnthn | OK, will try and catch up with him there. :-) | ||
moritz_ | when you see him again, you can tell him that I'll volunteer for a Perl 6 frontend | 11:46 | |
pmichaud | moritz_: I will do that | ||
11:46
szabgab left
|
|||
pmichaud | When he called for volunteers I raised my hand, and later told him I was volunteering to (1) provide any Rakudo/NQP support the effort needed, and (2) to help him find volunteers :) | 11:46 | |
moritz_ | recursion: see recursion | 11:47 | |
www.google.com/search?hl=en&q=recursion | |||
pmichaud | delegation: see [1] | ||
anyway, I think five hands went up as volunteers here, so we should be able to get some people behind it | 11:48 | ||
frettled | :) | 11:49 | |
pmichaud | (and yes, database access from Rakudo is one of those "we're a real implementation" sorts of things) | ||
moritz_ | did he mention any collaboration URL? or contact address? | ||
wayland76 | Here's the design doc: www.mail-archive.com/dbdi-dev@perl....00002.html | ||
2004 anyone? :) | |||
pmichaud | moritz_: not yet, but I'll ask him about one tomorrow | ||
moritz_ | anyway, I really admire both of his major Perl modules, DBI and Devel::NYTProf | ||
frettled | wayland76: you found that one too, eh. :9 | 11:50 | |
moritz_ | some months ago I read a DBI tutorial on perl.com or so | ||
from 1999, iirc | |||
pmichaud | anyway, our discussion was about the availability of roles in _parrot_, because we'd really like this to be available for multiple Parrot languages and not just Rakudo | ||
moritz_ | and the code still worked, and didn't feely and clumsy | ||
I just hope that the Perl 6 frontend will be usable from other Perl 6 implementations too | 11:51 | ||
pmichaud | with the design of DBI/DBDI, I think that's entirely possible. | ||
likely, even. | |||
moritz_ | I'd expect nothing less of Tim ;-) | ||
masak | moritz_: Rakudo is still not announced on use.perl.org/ | 11:52 | |
frettled | I know a little bit about databases and programming, so I could probably try to give some feedback on the design, but perhaps that's already covered by other clever people. | ||
pmichaud | (going back to an earlier topic) pmichaud.com/2008/pres/oscon-perl6op # my lightning talk slides | ||
oops | |||
frettled | 404 compliant, yes. | ||
pmichaud | 2009 | ||
11:52
payload left
|
|||
pmichaud | pmichaud.com/2009/pres/oscon-perl6op | 11:52 | |
moritz_ | masak: not my fault, I hope. I submitted the story, it's still marked as "pending" | 11:53 | |
pmichaud | (use 'N' and 'P' to navigate slides if you can't see the bottom bar) | ||
masak | moritz_: no, I don't think it's your fault. | ||
moritz_: but it's another small nail in the coffin for use.perl.org | 11:54 | ||
dalek | ok: 28dd10d | (Hinrik Örn Sigurðsson)++ | (3 files): Remove use of Module::Install::AuthorRequires |
||
ok: 783b3f0 | (Hinrik Örn Sigurðsson)++ | (3 files): Make Win32::Console::ANSI optional |
|||
ok: dbcc997 | (Hinrik Örn Sigurðsson)++ | (4 files): Bump version to 0.14 |
|||
ok: 068ce3f | (Hinrik Örn Sigurðsson)++ | (2 files): Fix logic error |
|||
ok: 591c435 | (Hinrik Örn Sigurðsson)++ | (4 files): Bump version to 0.15 |
|||
frettled | yipe | ||
masak | whoa. | ||
literal | dalek: you're verbose | ||
moritz_ | masak: speaking of which, I wanted to set up shared blogging on perlblog.org | ||
11:54
szabgab joined
|
|||
BinGOs | Atomic commititis | 11:54 | |
masak | the 'review' line is totally needless. | 11:55 | |
wayland76 | Nearly as long as autarch's commit message for Temporal :) | ||
moritz_ | but ENOTUITS so far | ||
pmichaud | moritz_: I've had trouble with the "Publicize" option in use.perl before | ||
masak | and the ($n files) could be removed and the first and second lines merged. | ||
voila! half as much output! | |||
pmichaud | I'd select it, but then it doesn't "stick" | ||
masak | moritz_: when you do, I'll probably join. | ||
pmichaud | masak: I often find the review line very helpful | 11:56 | |
BinGOs | Could use shortened links as well. | ||
masak | pmichaud: the line that says 'review' (not the URL)? | ||
11:56
unitxt joined
|
|||
frettled | moritz_: I'll tell you if I find any. | 11:56 | |
pmichaud | masak: on my client, 'review' and the url are on the same line | ||
masak | oh. right. | 11:57 | |
they are. | |||
pmichaud | oh, I get it -- word wrapping is causing them appear on separate lines in your client | ||
11:57
pmurias joined
|
|||
pmichaud | shorter urls would definitely help | 11:57 | |
frettled | moritz_: you probably want to upgrade MT to the most recent version. | 11:58 | |
pmichaud | I suspect that the sha1's could be truncated to 6 characters or so | ||
pmichaud tests | |||
alas, no. | |||
maybe I should locate the github guys and see if they could allow truncated sha1's in the url :-) | 11:59 | ||
BinGOs | That's using the JSON service thingy | ||
? | |||
moritz_ | frettled: do you think mt is a good choice for that anyway? | 12:00 | |
(the current installation is more of a placeholder thing for me) | |||
frettled | moritz_: I'm not quite sure. I'm allergic to blog software, content management systems, bulletin boards, etc. (I work with a hosting provider and I see way too many security issues.) | 12:01 | |
moritz_ | frettled: usually I'm too, but ... well... for whatever reasons I volunteered :( | ||
frettled | moritz_: *pat pat* there, there. | 12:02 | |
pmurias | jnthn: how would using the same metaclass for roles and classes work? | ||
jnthn | pmurias: Well, the more interesting question is "how wouldn't it work"? | 12:03 | |
frettled | moritz_: the way I see it: don't use any of these systems in a shared webhosting environment where they need to run with the same privileges as the web server process. That excludes mod_perl, mod_php etc., unfortunately, unless Apache runs separate instances per user (ha, bloody ha). suexec is our friend (just barely). :) | ||
jnthn | I guess for smop, "we do something different in .^dispatch"? | ||
But what else? | |||
(my leaning is that they need to be separate, I'm just curious what other differences you ahve also run into) | 12:04 | ||
frettled | moritz_: and when that's in working order, I think it would be better politically (which is rather important) for Perl that a Perl blog site is hosted on Perl software. | ||
moritz_: but I can't recall whether there's relevant multi-user alternatives to MT :( | 12:05 | ||
pmichaud | ...sometimes I think we take "eat your own dog food" a little too far | ||
moritz_ | frettled: slashcode might be | ||
frettled | pmichaud: yes, sometimes | ||
moritz_: hmm, that's an option, sure. | |||
I keep forgetting _that_ mess. :) | |||
moritz_ | :) | ||
pmichaud | TMTOWTDI should include the possibility of other languages :-) | ||
moritz_ | a good reason for me to use a perl based solution is that I want to be able to hack it | ||
and perl is language I know best, by far. | 12:06 | ||
frettled | pmichaud: of course, but I'm thinking that publicity-wise, it looks good to use something made in the programming language you're promoting | ||
pmichaud | frettled: I don't disagree (more) | ||
but I do disagree it it means we end up with use.perl | |||
frettled | pmichaud: agreed | ||
pmichaud | *if it | ||
pmurias | jnthn: you need to do something different when composing in a role | 12:07 | |
frettled | think of the blessed irony of phpBB moving from phplist to mailman for _announcements_. (their own software, phpBB, supports notifications via e-mail, why didn't they use that? too crappy? woops.) | ||
moritz_: that's probably one of the best points | |||
moritz_ installs slash locally | |||
frettled | moritz_: maintainability is high on the wishlist, and sometimes, the upstream provider isn't quick enough at addressing security or stability issues :( | 12:08 | |
pmurias | jnthn: smop doesn't have a ClassHOW yet | ||
Matt-W | frettled: well my experience of phpBB hasn't been good anyway | ||
wayland76 | I'm personally happy to say don't worry about eating our own dog food until Web.pm is 1.0 | ||
jnthn | pmurias: I was looking at svn.pugscode.org/pugs/v6/smop/src-s...lassHOW.pm | ||
frettled | Matt-W: I'll refrain from ranting about the actual software here, I think I'm off-topic enough as is :) | ||
jnthn | pmurias: It's compose_role is wrong however. | ||
Matt-W | frettled: probably wise | ||
jnthn | pmurias: Since we really compose all roles together in some flattening operation when we compose the class as a whole. | 12:09 | |
frettled | Matt-W: yup :D | ||
jnthn | So really compose_role just probably wants to add to a "todo list". | ||
At least, that's how it is in Rakudo. | |||
But that also makes me suspect the HOW API needs a "compose" method or something that we call at the end of the class definition. | |||
moritz_ | rakudo: role R { }; class A does R does R { }; say "alive" | ||
p6eval | rakudo e989e6: OUTPUT«alive» | ||
jnthn | That will do that overall composition. | ||
moritz_ | mildew: role R { }; class A does R does R { }; say "alive" | ||
p6eval | mildew: OUTPUT«Could not find variable ClassHOW in the lexical scope.» | 12:10 | |
pmurias | jnthn: there are a few things wrong with that compose_role | 12:11 | |
jnthn | But yes, I suspect there are enough differences that we need to separate them out, and what composition means is probably one of them. | ||
Yes, there are. :-) | |||
pmichaud | moritz_: (use.perl story) -- I'll see if I can ping brian about it tomorrow | ||
pmurias | but i don't think you need a compose methods | ||
pmichaud | (where "tomorrow" is actually "today" or "a few hours from now") | 12:12 | |
jnthn | How do you plan to handle the overall composition of the class at the end of its declaration? | ||
Surely that's something the metaclass should do? | |||
pmurias | what should the overall composition do? | ||
jnthn | Actually do the job of composing the roles. | ||
pmurias | we can handle role conflicts as they occur (without a final composition step) | 12:13 | |
jnthn | The roles need to be considered as a whole. | ||
I don't think you can. | |||
pmurias | example? | ||
jnthn | A role should never conflict with itself no matter how it's introduced for example. | ||
I forget how it looked specifically, but I know we had bugs in Rakudo because of the step-by-step composition. | 12:14 | ||
moritz_ | diamond inheritance + roles was a problem, I think | ||
something that masak++ reported ;-) | |||
jnthn | Oh, yes, that was it. | 12:15 | |
But the key passage in S14 is this one: | |||
A role may not inherit from a class, but may be composed of other | |||
roles. However, this "crony" composition is not evaluated until | |||
class composition time. This means that if two roles bring in the | |||
same crony, there's no conflict--it's just as if the class pulled in | |||
the crony role itself and the respective roles didn't. A role may | |||
12:15
wollmers left
|
|||
jnthn | So here it talks about class composition time. | 12:15 | |
pmurias | .^compose_role might also be called at runtime/somewhat later during compilation | 12:19 | |
a .^compose_role could recompose everything | 12:20 | ||
jnthn | That feels like a lot of repeated effort. :-S | 12:21 | |
Plus if the spec talks about an overall class composition time, it feels to me like we'd want to have something that gets called at that time. | |||
pmichaud | time for me to grab a bit more sleep -- back in a few hours | ||
jnthn | OK! | 12:22 | |
12:22
Front_slash joined
|
|||
pmurias | jnthn: anyway you only need to do the composition once the class is used the first time | 12:23 | |
jnthn | Nope | 12:25 | |
Because you're meant to be able to detect composition conflicts at compile time. | |||
Roles may be composed into a class at compile time, in which case | |||
you get automatic detection of conflicting methods. | |||
(that from S14) | |||
pmurias | we could do the compositions at the end of compile time | 12:27 | |
moritz_ | that's too late | ||
the class might get used later at compile time | |||
jnthn | Aye | ||
Anyway, I think I'm going to give Rakudo's ClassHOW a .^compose where we can put this stuff. And we'll see how it goes, and where smop ends up, and work out something that suits both. | 12:28 | ||
pmurias | moritz_: you mean earlier? | ||
moritz_ | pmurias: later at compile time, but before end of compile time | 12:29 | |
pmurias | moritz_: so the composition would be done earlier in that particular case | ||
but recomposition after each .^compose_role seems the most sensible option to me | 12:30 | ||
jnthn | Our ideas of sensible seem to be non-overlapping. :-) | ||
masak | rakudo: say *.perl | 12:32 | |
p6eval | rakudo e989e6: OUTPUT«!whatever_dispatch_helper» | ||
jnthn | eek. | ||
masak | !oh_noes | ||
jnthn | oh, I know why | ||
masak | yes, me too. | ||
jnthn | Oh, hmm, that's a rather interesting one. | ||
masak | and I think I reported it long ago. | ||
but it still turns up now and then. | |||
12:33
szabgab left
|
|||
masak | in my .perl calls. | 12:33 | |
frettled | for fun and profit | ||
jnthn | I'm really not sure (a) whether it's a bug and (b) if it is, how to fix it. | ||
masak | sure it's a bug! | ||
jnthn | Oh, actually, I guess I know how to "fix" it. :-/ | ||
12:33
SmokeMachine joined
|
|||
jnthn | masak: Oh rly? | 12:33 | |
moritz_ | masak: I'm not so sure | ||
masak | .perl should generate Perl code, no? | ||
jnthn | You'd never want to say | ||
@things.map: *.perl; | |||
lambdabot | Unknown command, try @list | ||
jnthn | ? | ||
12:33
pmurias_ joined
|
|||
masak | jnthn: fair enough. | 12:33 | |
jnthn | my @serialized = @things.map: *.perl; # better example | ||
12:34
pmurias left
|
|||
moritz_ | jnthn: I wanted to show the exact same code ;-) | 12:34 | |
masak | rakudo: say [*,*].perl | ||
p6eval | rakudo e989e6: OUTPUT«[!whatever_dispatch_helper, !whatever_dispatch_helper]» | ||
jnthn | masak: I see your point, you just can't have your cake *and* eat it. ;-) | ||
masak | there you go, then. | ||
bug. | |||
moritz_ | what's more buggy about this one? | ||
masak | it doesn't roundtrip. | ||
pmurias_ | jnthn: i haven't given that issue much thought (ruoso wrote ClassHOW) and i don't think much about things i'm not implementing yet | ||
jnthn | You can ever have "my @serialized = @things.map: *.perl;" work, or you can have *.perl eq '*' | ||
moritz_ | jnthn: maybe we can make *.something return a WhateverCode object that stringifies to *? | ||
masak | when possible, an eval should generate the same thing. | ||
12:35
pmurias_ is now known as pmurias
|
|||
jnthn | pmurias: Sure, no worries. | 12:35 | |
masak | moritz_: yes, that's what I mean. | ||
jnthn | pmurias: I see the HOW API as a kind of discussion topic and something that various implementations will be able to come to agreement on over time. | ||
pmurias: We're not *all* that far off, and in fact Rakudo is converging on it generally. | 12:36 | ||
So I'll go ahead with how I think it should be, but once smop hits implementing role composition we can re-visit it if the way Rakudo has gone really doesn't work for you. | |||
moritz_: Ooh, that's an interesting idea. | 12:37 | ||
rakudo: class WhateverCode is also { method Str { '*' } }; say *.perl | 12:38 | ||
p6eval | rakudo e989e6: OUTPUT«!whatever_dispatch_helper» | ||
jnthn | aww | ||
moritz_ | rakudo: say (*.perl).WHAT | ||
p6eval | rakudo e989e6: OUTPUT«Block()» | ||
jnthn | Oh. | ||
moritz_ | jnthn: that's the problem. | ||
12:39
Gothmog_ left
|
|||
jnthn | moritz_: Aye, seems like it. | 12:39 | |
moritz_ | rakudo: class NonExisting is also { } | ||
p6eval | rakudo e989e6: OUTPUT«Cannot use 'is also' on non-existent class NonExisting at line 2, near ""in Main (src/gen_setting.pm:1594)» | ||
moritz_ | so WhateverCode exists in Rakudo, but is not used in that case? | 12:40 | |
rakudo: say (1+*).WHAT | |||
jnthn | Yeah, I know it exists 'cus I saw it earlier today in passing. :-/ | ||
p6eval | rakudo e989e6: OUTPUT«WhateverCode()» | ||
jnthn | Oh | ||
moritz_ | ah, it's activated in that case. | ||
jnthn | Yeah, must be a missing re-bless. | ||
12:40
payload joined
|
|||
masak | re-bless? is that what it sounds like? | 12:45 | |
rakudo: class A {}; class B {}; say A.bless(B.CREATE) ~~ A | |||
p6eval | rakudo e989e6: OUTPUT«0» | ||
masak | doesn't work. | ||
moritz_ | masak: it works on the parrot level | ||
masak | I see. | ||
12:54
araujo joined
|
|||
araujo | morning | 12:56 | |
masak | morning, araujo. | 12:58 | |
araujo | hi masak | ||
:) | |||
Matt-W | masak: jnthn's metaclass thing of earlier makes use of reblessing. I found it rather scary to see the metaclass inheriting from Object, and then Object's metaclass being reblessed to be the metaclass which inherits from Object... HEAD ASPLODE. I think reblessing is something to be done sparingly. | 12:59 | |
masak | Matt-W: still... I want to try it! :) | 13:00 | |
Matt-W | masak: you would. | 13:01 | |
moritz_ | welcome to the world of hald-circular meta object protocols ;-) | ||
s/hald/half/ | |||
masak is fond of things that refer to themselves in various ways | |||
13:02
perlygatekeeper joined
|
|||
perlygatekeeper | so where are we at? | 13:02 | |
moritz_ | to quote chromatic - "I never metamodel not obsessed with reflection" | ||
perlygatekeeper | PerlJam! | ||
jnthn | Matt-W: Yeah, unfortunately what wsa in there wasn't quite right too. :-/ | ||
PerlJam | perlygatekeeper | 13:03 | |
welcome | |||
jnthn | Matt-W: Still trying to unpick it all. | ||
masak | perlygatekeeper: I'd say people are distributed over various places. | ||
perlygatekeeper | with perl6 | ||
masak | perlygatekeeper: oh. | ||
perlygatekeeper | I want to start a perl7 movement | ||
masak | perlygatekeeper: we don't really know our position... | ||
pugs_svn | r27699 | pmurias++ | [re-smop] implement a hackish eval | ||
moritz_ | "somewhere in the middle" | ||
masak | perlygatekeeper: ...but we have quite a good grip on our momentum! | ||
Matt-W | jnthn: it is scary. | ||
moritz_ | perlygatekeeper: have fun :-) | ||
perlygatekeeper | don't change anything, just call it perl7.2.8 | 13:04 | |
Matt-W | masak: nice one | ||
masak | Matt-W: really old, though. | ||
pmurias | mildew: eval('say "hi"') | ||
p6eval | mildew: OUTPUT«Could not find variable &eval in the lexical scope.» | ||
perlygatekeeper | make it seems like it's all debujgged for year | ||
s | |||
Matt-W | masak: yes but sometimes they're worth bringing out again | ||
masak | Matt-W: people rolled their eyes when Heisenberg tried it. | ||
that's how old it is. | |||
perlygatekeeper | I'm tired of people saying that perl is OLD | 13:05 | |
masak | oh, not Perl. the joke. | ||
if qualifies as one. | |||
jnthn | lunch! | ||
perlygatekeeper | lunch? | ||
where the heck are you? | |||
PerlJam listens to Tim O'Reilly at OSCON | |||
moritz_ | there's nothing about about old things | ||
Matt-W | mmm lunch | ||
bit late aren't you jnthn? | |||
See his dedication to Rakudo | |||
PerlJam | perlygatekeeper: he's way over to the right. | 13:06 | |
perlygatekeeper | ya think | ||
right over the pond, no? | |||
Matt-W | perlygatekeeper: one thing you get used to in here, we're from all over the world. | ||
perlygatekeeper | really? | ||
Matt-W | yes | ||
perlygatekeeper | you're not all from Ohio and New York | ||
damn | |||
PerlJam | perlygatekeeper: some of us are from all over Texas ;) | ||
perlygatekeeper | oooo | ||
masak | perlygatekeeper: hello from Uppsala, Sweden. | 13:07 | |
Matt-W | That has to be one of the best placenames ever | ||
perlygatekeeper | Sanata's "into the Night" is on my iPhone | ||
I LOVE this song | |||
hey masak | |||
hello from columbus oh, usa | |||
we are not all evil | |||
masak | perlygatekeeper: glad to hear it. | 13:08 | |
perlygatekeeper | we had a 8-year failure of democracy | ||
masak | that explains a lot. | ||
perlygatekeeper: so, have you tried Rakudo yet? | 13:09 | ||
jnthn | Matt-W: heh, well, I didn't get up from around 11:15 today | 13:10 | |
masak | perlygatekeeper: it's just waiting for you to pick it up, so it can inundate you with awesome! | ||
frettled | perlygatekeeper: and hello from Oslo, Norway. | ||
Matt-W | jnthn: oh so not too bad then | ||
frettled | It's heating up again, I think, the polar bears are migrating north. | ||
Matt-W | just unusual to see you having lunch after me :) | ||
perlygatekeeper: and hello from Nottingham, United Kingdom, where they've turned the market square into a 'beach' and we're suffering from a spate of short, sharp and relatively unpredictable heavy rainstorms. | 13:11 | ||
frettled | Matt-W: the usual weather, then ;) | ||
Matt-W | frettled: no, we don't usually have these rainstorms for so long | 13:12 | |
it usually just rains all the time | |||
wayland76 | perlygatekeeper: Hello from Australia :) | ||
moritz_ | and from Germany | ||
jnthn waves to perlygatekeeper from Bratislava | |||
moritz_ | we ususally also have Israel and the US available | 13:13 | |
wayland76 | perlygatekeeper: It's longer than a years | ||
s/a/eight/ | |||
masak imagines perlygatekeeper putting pins on a world map | |||
frettled | Matt-W: ah, yes, good point there. | ||
moritz_ | that's actually a good idea | ||
anybody wants to make a google maps mashups with Perl 6 developers? | |||
wayland76 | As someone said, "I've discovered a security hole in democracy. Stupid people! Large masses of stupid people!" :) | ||
Matt-W | wayland76: That is the flaw nobody's ever been able to overcome | 13:14 | |
wayland76 | Well, it's pretty much bedtime here. | ||
Matt-W: Yes, but the education system could be so much better :) | |||
moritz_ | it could be overcome by giving intelligent/knowledgabe people more voting power | ||
wayland76 | At least here, anyway | ||
Matt-W | wayland76: here too | 13:15 | |
wayland76 | moritz_: It sounds good in theory, but I don't trust that idea either :) | ||
masak | me neither. | ||
moritz_ | neither do I | ||
wayland76 | Matt-W: England, right? | ||
Matt-W | how come Sweden can produce someone like masak, who speaks superb English, while the UK can barely produce people who can ask for a beer in another language | ||
frettled | Matt-W: luck. | ||
Matt-W | motivation, probably | 13:16 | |
frettled | Scandinavians are bred for luck. | ||
jnthn | Matt-W: Probably attitudes. | ||
Matt-W | so much international culture is now in English | ||
wayland76 | Oh good, I'm 1/4 Scandinavian | ||
moritz_ | education, motivation and attitude | ||
wayland76 | And part Irish too :) | ||
jnthn | And education for sure. | ||
Matt-W | so a lot of people don't feel the need to learn anything else | ||
frettled | moritz_: what's the google maps mashup you want to make? | ||
moritz_: and wouldn't it be interesting to do stuff with OSM? | |||
and openlayers? | |||
wayland76 | no, probably not attitude as much as culture | ||
Matt-W | and to be honest, if I didn't have any German I wouldn't have any problems in day to day life... except that Wise Guys songs wouldn't be funny | 13:17 | |
wayland76 | I was brought up without a TV, which probably explains some things :) | ||
masak | Matt-W: as a Swede, I've aspired to learn English for as long as I can remember. people in the UK don't have an obvious non-native international language that they realise at an early age that they have to learn. | ||
jnthn | masak: Ay, true. | ||
wayland76 | I always wanted to learn French | ||
But I lost interest after year 10 | |||
frettled | haha | 13:18 | |
wayland76 | But I still know bits and pieces | ||
masak | learn Esperanto, and feel like a genious for picking up a language so quickly! | ||
jnthn loves learning languages, but isn't good at any of them. | |||
frettled | jnthn: xABjack of all trades, master of nonexBB syndrome? | ||
Matt-W | masak: this is true, we're told about the number of people who speak Mandarin and Spanish, but there is no reason to speak Mandarin or Spanish for most of us | ||
masak | Matt-W: 对 | ||
jnthn | frettled: Very much like that, I guess. | ||
I've really love to get fluent in a foreign language. | |||
Matt-W | French is the traditional language to learn | ||
frettled | Matt-W: there might be some motivation to learn pidgin Portuguese before going to YAPC::EU 2009 | 13:19 | |
jnthn: me, too. | |||
Matt-W | frettled: unfortunately I'm not going to YAPC::EU | ||
but yes, there would be motivation there | |||
wayland76 | I wanted to learn French because it wasn't dead, but was still good for the classics. 2 birds with one stone :) | ||
Matt-W | I did learn a little Swedish when I was there | ||
unfortunately because I was staying with Swedish friends, most of it was rude (and virtually everyone there seems to speak perfect English anyway) | |||
frettled | jnthn: I'm closest with English, but the dialects, branches and cultural references make it rather difficult. I suspect the latter is the greater barrier for most languages. | ||
moritz_ | going to YAPC::EU would be good motivation for learning pidgin Portuguese ;-) | ||
jnthn | I know some Swedish! | 13:20 | |
"bra slut!" | |||
masak | :) | ||
moritz_ | frettled: and that from a Norwegian? ;-) | ||
Matt-W | moritz_: if you want to pay, I'll come :) | ||
frettled | which doesn't mean xABgood slutxBB | ||
jnthn | slut = end | ||
frettled | moritz_: :D | ||
jnthn | So I think together it's like, a good ending or something. | ||
masak | aye. | ||
moritz_ | and pronounced differently from the english "slut" | 13:21 | |
wayland76 | It reminds me of the Irish town called "Faughan" (sp?) | ||
Matt-W | The only thing I can remember is rude, and I can't spell it | ||
masak | jnthn: here's another one in the same vein: 'fart-kontroll'. | ||
moritz_ | (more like the german ü, I think) | ||
frettled | jnthn: here's another one for you: xABroligxBB means different things in Norwegian and Swedish; but what? :D | ||
wayland76 | The "gh" is pronounced as a sort of "h" sound | ||
masak | jnthn: ('fart' is Swedish for 'speed') | ||
frettled | and Norwegian. | ||
Matt-W | wayland76: gaelic spelling is really odd. Weirder than Welsh. | 13:22 | |
wayland76 | My Dad used to buy things from a German company called "SICK" | ||
jnthn | masak: Ah, OK. I was wondering if it was related to the German fhart. | ||
Matt-W | or maybe that's just because I learned the basic Welsh pronunciation a few years back | ||
masak | jnthn: very likely. | ||
frettled | As our tame rally driver is rumored to have said: xABit's not the fart (speed) that kills you, it's the smell (bang)xBB | ||
wayland76 | "If you want to get better, get SICK" :) | ||
Well, Welsh is easier once you realise that w and y are vowels | 13:23 | ||
araujo reminds he was told once that "hola" means something like "a petition to get naked" in Romanian | |||
wayland76 | And I agree about Gaelic. aoibhell = ee-VELL | ||
jnthn | ...that's some interesting huffmanization if so... | ||
Matt-W | wayland76: yes, and the y's not so bad when you remember it can sometimes be that same vowel in English (assuming you're an English speaker of course) | 13:24 | |
wayland76: of course then there's the doubled consonants | |||
frettled | ghoti! | ||
wayland76 | I can say Aberystwyth, and Llangloffan (on the second try :) ) | ||
masak hasn't had ghoti in some time now | |||
frettled neither. | 13:25 | ||
It's been six days, I think. | |||
wayland76 | My main problem with Welsh is that I learned it from a book that teaches a pronunciation that may be from the time of King Arthur :) | ||
13:25
Chillance joined
|
|||
wayland76 | Gaelic pronunciation/spelling is nearly as bad as English :) | 13:26 | |
frettled | but just | ||
So, is Perl 6 to Perl 5 what Gaelic is to British English? | |||
;) | |||
masak | I've gotten used to most of the idiosyncracies of English spelling and pronunciation. in a way, that scares me. | 13:27 | |
Matt-W | you cannot compare Perl with English | ||
dalek | ok: 4ca3522 | (Hinrik Örn Sigurðsson)++ | (3 files): Rename -l/--only option to -l/--locate |
||
ok: 625d117 | (Hinrik Örn Sigurðsson)++ | (10 files): Move parsers to App::Grok::Parser::* |
|||
ok: b007a4b | (Hinrik Örn Sigurðsson)++ | (10 files): Move all resource backends to App::Grok::Resource::* |
|||
Matt-W | Perl is much better than English | ||
ok: dd7f247 | (Hinrik Örn Sigurðsson)++ | : Merge branch 'refactor' Changes |
|||
ok: 0237272 | (Hinrik Örn Sigurðsson)++ | (9 files): Bump version to 0.16_01 |
|||
frettled | Hmm. Is there any particular reason _not_ to /ignore dalek, I wonder. | ||
masak | frettled: rakudo commits. | 13:28 | |
13:28
skids joined
|
|||
wayland76 | I think the perl5/perl6 relationship is more like German/Esperanto (neither of which I speak) | 13:28 | |
frettled: They might exterminate you :) | 13:29 | ||
frettled | wayland76: if I don't see them, they're not there! ;) | ||
13:29
M_o_C left
|
|||
frettled | masak: aha. In that case, I think I'll ignore dalek for now, and remove it from the ignore list if I'm suddenly interested in that. :) | 13:29 | |
wayland76 | frettled: I think you need to change your nick to "ostrich" to enable that feature :) | 13:30 | |
masak | frettled: what, you're not interested in rakudo commits? | ||
wayland76 | He's obviously commitment-phobic :) | ||
frettled | masak: not at this point in time. | ||
masak | frettled: that's one of the best features of this channel, besides all the great people! | ||
wayland76 | masak: Not everyone follows rakudo in quite the depth that you do :) | 13:31 | |
masak | no, of course not. | ||
wayland76 | And I definitely prefer the people :) | ||
masak | but I still thought they had a passing interest... | ||
Matt-W | the people are better, that's for sure | ||
13:31
Exodist joined
|
|||
Matt-W | but I like the rakudo commits | 13:31 | |
they help me learn how rakudo works | |||
frettled | I do, however pay (more) attention to the responses from rakudobot etc. | ||
Matt-W | of course, I could just follow them on github | 13:32 | |
13:32
Exodist left
|
|||
frettled | Matt-W: just so :) | 13:32 | |
wayland76 | masak: Well, I don't even understand that last set of commits | ||
masak | wayland76: I see. | ||
wayland76 | the only joy I get from them is reading Hinrik's name -- I don't often get to read non-English letters :) | ||
jnthn | Mmm...that was a good cheese salad. | 13:33 | |
wayland76 | I understand them in a general sense, ie. "I moved some files around and did a refactor", but that's about my limit :) | ||
masak | wayland76: I, too, think that dalek could be a little more quiet when reporting a lot of commits from the same author. maybe refer to a nopaste with all the info or something. | ||
wayland76 googles cheese salad | |||
Well, but the autarch commit on Temporal was good | 13:34 | ||
Although that may not've been dalek | |||
As far as I'm concerned, though, dalek can feel free to keep going; as long as it serves pmichaud and jnthn, I'm happy :) | |||
I was hoping that cheese salad would be an assortment of cheeses, but no, it involves vegetables :) | 13:35 | ||
masak | no, I think dalek should strive to minimize noise. | 13:36 | |
jnthn | wayland76: It's just salad with cheese. :-) | ||
masak | we should have high standards for our bots, that's important for the atmosphere on the channel. | ||
jnthn | In my case. | ||
wayland76 | masak: I'm fine with improvements, as long as pmichaud and jnthn are happy :) | ||
masak | oh, of course. | ||
wayland76 | jnthn: Yeah, I've had cheese salad before, I just didn't know what it was called | ||
jnthn | masak: Let's invite purl here!! | 13:37 | |
;-) | |||
BinGOs | spleen scream. | ||
frettled | o_O | ||
literal | 13:36:39 < masak> oh, of course. | ||
masak | jnthn: to make us realise how lucky we were before...? | ||
literal | oops, bad paste | ||
wayland76 | I don't like purl, because "purl: help" doesn't tell you what the commands are :) | ||
masak | purl is all but helpful. | ||
BinGOs | You are supposed to instinctively know the commands. | 13:38 | |
jnthn | purl also randomly insults people. :-) | ||
Yes, I don't miss purl in the slightest on #perl6 | |||
moritz_ | and non-people too | ||
wayland76 | Well, maybe. But I tried "purl: @karma", and it just said "huh?" | 13:39 | |
moritz_ | and purl usually doesn't care if you address her, or nobody, or somebody else | ||
wayland76 | @much like lambdabot? | ||
lambdabot | Unknown command, try @list | ||
moritz_ | well, at least lambdabot only cares about ^@ | 13:40 | |
jnthn | > too | ||
lambdabot | Not in scope: `too' | ||
jnthn | ! maybe? | ||
wayland76 | @a = (1, 2, 3); | ||
lambdabot | Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v | ||
masak | @@ | 13:41 | |
wayland76 | I think I've had an idea | ||
lambdabot: @(*&Y^%!^! | |||
lambdabot | Unknown command, try @list | ||
wayland76 | Well, at least it responds appropriately to swearing :) | ||
Anyway, bedtime. afk & | 13:42 | ||
jnthn | night! | 13:45 | |
dalek | ok: c5e12a4 | (Hinrik Örn Sigurðsson)++ | README: Update the README |
||
ok: 47a9d9b | (Hinrik Örn Sigurðsson)++ | lib/App/Grok/Resource/Functions.pm: Remove leftover debugging statement |
|||
13:46
explorer left
|
|||
jnthn | hah, it's getting hot again | 13:46 | |
jnthn had hoped last night's storm that cooled things down would keep things cool | 13:47 | ||
masak | jnthn: you haven't had any rain? | ||
oh, ok. | |||
jnthn | Yeah, a bit last night | ||
It was lovely and cool afterwards. | |||
Yesterday it hit 35ish here. | |||
masak | aye. bit of the same situation here yesterday. it was stifling until the rain came. | ||
jnthn | Which is a good 15C over the kind of temperature I like. | ||
Matt-W | jnthn: sounds like you like the same kind of temperature I do | 13:48 | |
jnthn | masak: How hot is Sweden in summer? | ||
masak | jnthn: Sweden is long, north-south. | ||
Matt-W | The bit I went to was really hot | ||
jnthn | masak: The bit that people live in. ;-) | ||
Matt-W | and I went in April | ||
jnthn | Uff. | ||
masak: I thought anything about Uppsala didn't count anyway? ;-) | 13:49 | ||
masak | jnthn: this week, the wearher report says between 16 and 24 degrees. that sounds fairly typical. | ||
jnthn | That's quite nice. | ||
Matt-W | that sounds nice | ||
masak | though 16 is definitely because of the rain. | ||
13:49
hoelzro joined
|
|||
masak | I guess it can run up to 30 sometimes. seldom over 35, though. | 13:50 | |
Matt-W | The problem we get in England is that when it gets up to the high 20s it tends to be very humid at the same time | 13:51 | |
[particle] | hottest place i've been in is 44C | ||
Matt-W | And that's highly unpleasant | ||
frettled | The temperature record for all of Norway is 35.6 xB0C | ||
Su-Shee | I sum this up as "I want winter." ;) | 13:52 | |
Matt-W | I like autumn | ||
[particle] | fly south :) | ||
jnthn | Su-Shee: That was actually (though not in English) my Facebook status yesterday. :-) | ||
frettled | Google maps location of Nesbyen in Norway: tinyurl.com/Nesbyen | 13:53 | |
jnthn | Ho hum. Winter isn't so far off. :-) | ||
Su-Shee | jnthn: pretty much _everything_ I do and like isn't compatible with heat. from walking the city to making chocolate truffles. | ||
masak | well, you can _make_ the truffles... | 13:54 | |
frettled | Su-Shee: and where do you live? :D | ||
Su-Shee | berlin. | ||
frettled | masak: if it's too warm, not really :) | ||
moritz_ | chocolate truff... don't you want to host the next German Perl Workshop? | ||
frettled | moritz_: ...in the autumn, I hear autumn is nice in Berlin (well, it was okay last year) | 13:55 | |
Su-Shee | moritz_: already done that years ago and even if so: no, it's no fun to make truffles for a hundred people. ;)) | ||
moritz_ | Su-Shee: I'm not a hundred people ;-) | ||
13:55
hoelzro left
|
|||
moritz_ | Su-Shee: I think the last GPW in Berlin was before I became involved with the Perl community | 13:56 | |
jnthn | frettled: Heh, I've probably been through Nesbyen. | ||
Su-Shee | autumn is exceptionally nice in berlin. usally from end of august until mid of october - deep blue sky, fresh breeze, golden sun light and NO HEAT ANYMORE | ||
pmurias | frettled: autumn is nice? you mean you like autumnish weather? | ||
Su-Shee | moritz_: I just know it being in there somewhere in this small town.. | ||
frettled | jnthn: \o/ | ||
pmurias: it's not bad in Berlin, at least. | |||
jnthn | frettled: Seems the train like Oslo - Bergen goes through there. | ||
Su-Shee | moritz_: but yes, I can feed one person with chocolate truffles. ;) | 13:57 | |
jnthn | s/like/line/ | ||
frettled | jnthn: yep | ||
moritz_ | :) | ||
Matt-W | Berlin's somewhere I should probably visit | ||
Su-Shee | Matt-W: avoid july. | ||
frettled | Hmm. I've forgotten whether I put up last year's vacation pictures. | 13:58 | |
dalek | ok: 65c15e2 | (Hinrik Örn Sigurðsson)++ | (2 files): Recommend Win32::Console::ANSI in Makefile.PL |
||
Su-Shee | Matt-W: and if you hate "grey", avoid feburary either. ;) | ||
frettled | No, darnit, only from the army museum in Paris. Grr. | 13:59 | |
Matt-W | Su-Shee: in July I like to stay at home and pretend it isn't happening | ||
Su-Shee | Matt-W: that's what I'm trying to do these days.. | ||
moritz_ | bah, all this summer bashing | ||
frettled | Visit Longyearbyen (Svalbard), summer (as you know it) isn't happening there. | ||
moritz_ | it's not so bad IMHO | ||
frettled | not anytime soon, anyway. | ||
Matt-W | I can cope until the air con at work breaks down | 14:00 | |
jnthn | Longyearbyen would be an awesome place to visit. | ||
Matt-W | which it's done five times this year so far | ||
the building simply doesn't work without it | |||
Su-Shee | "what air conditioning?" ;) | ||
Matt-W | at least they finally figured out why it breaks | ||
frettled | moritz_: I agree; the lines at Six Flags Magic Mountain (Valencia, CA, USA) are much shorter then. | ||
Matt-W | it's the typical absurd reason - somebody didn't put in a big enough power cable for it | ||
personally I'd prefer a building designed to function without air con, but... | 14:01 | ||
frettled | jnthn: If we find a millionaire sponsor, we could do a YAPC::Svalbard or something. | ||
Su-Shee | Matt-W: old administration buildings are great. thick, massive walls to intimidate every citizen.. ;) | 14:02 | |
Matt-W | Su-Shee: we don't really have those here | 14:04 | |
14:05
alanhaggai joined,
the_irrational_1 left
14:06
ruoso joined
14:07
KyleHa joined
|
|||
Su-Shee | Matt-W: prussian heritage. ;) | 14:07 | |
ruoso | Hello! | 14:08 | |
ruoso very absent in the last weeks... $dayjob consuming all the time | |||
14:09
Jedai left
14:10
ejs left
|
|||
pmurias | ruoso: hi! | 14:15 | |
14:15
szabgab joined
|
|||
ruoso | hi pmurias | 14:15 | |
pmurias | ruoso: checkout out the performance improvements ;) | ||
ruoso | pmurias, svn updat'ing atm | 14:16 | |
dalek | ok: e0fa86e | (Hinrik Örn Sigurðsson)++ | (4 files): Die if the target is not recognized |
14:17 | |
pugs_svn | r27700 | hinrik++ | [S32/Containers] Fix =item line for C<comb> | 14:24 | |
frettled | szabgab: \o/ | ||
ruoso | pmurias, sorry for not being able to backlog right now... could you summarize the changes? | 14:25 | |
pmurias | np. i rewrote the lexical pad | ||
and added caching to punning | |||
14:26
FurnaceBoy joined
|
|||
pmurias | ruoso: do you think it's fast enough? | 14:26 | |
14:26
zamolxes left
|
|||
ruoso still testing | 14:27 | ||
14:28
mj41 joined
|
|||
pugs_svn | r27701 | masak++ | [S06] fixed some spelling and consistency stuff | 14:29 | |
pmurias | mildew: eval('say "hi"') | 14:30 | |
p6eval | mildew: OUTPUT«Can't locate Coro.pm in @INC (@INC contains: ../re-smop/SMOP/blib/lib/ ../re-smop/SMOP/blib/arch ../re-smop/SMOP/blib/lib/ ../re-smop/SMOP/blib/arch /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/… | ||
pmurias | :( | ||
moritz_ | any particular version required? | ||
pmurias | don't think so | 14:31 | |
pugs_svn | r27702 | pmurias++ | [t] add block | ||
ruoso | pmurias, cool it's considerably faster | ||
pugs_svn | r27703 | pmurias++ | [re-smop] add tests for eval | ||
r27704 | pmurias++ | [re-smop] added while | |||
pmurias | ruoso: do you think it's worth optimising it more or is it better to add more features? | 14:32 | |
ruoso | pmurias, I think it's fast enough now... | ||
pmurias, we can move on implementing featuers | 14:33 | ||
and I think we need a better definition on the S11 issue by TimToady now... | |||
I'd consider proper module loading to be our next target | 14:34 | ||
14:34
szabgab left
|
|||
moritz_ | mildew: eval('say "hi"') | 14:35 | |
p6eval | mildew: OUTPUT«say "hi"hi» | 14:36 | |
moritz_ | debugging output left in? ;-) | ||
ruoso | looks like so | ||
pmurias | moritz_: fixed in HEAD | ||
mildew: my $foo=123;eval('say $foo'); | 14:37 | ||
14:37
szabgab joined
|
|||
p6eval | mildew: OUTPUT«Potential difficulties: Variable $foo is not predeclared at /tmp/1mOioXyrsW line 1:------> say $foosay $foo123» | 14:37 | |
pmurias | ruoso: eval is really slow as it runs mildew | ||
ruoso | pmurias, that's fine | 14:38 | |
moritz_ | I hope we don't need string eval all that often ;-) | ||
masak | I still need it for working around regexes, but I guess that's not what you meant. | ||
ruoso | mildew: multi infix:<abc> ($a, $b) { $a ~ ' abc ' ~ $b }; say 1 abc 2; | ||
p6eval | mildew: OUTPUT«1 abc 2» | 14:39 | |
ruoso | :D | ||
pmurias | ruoso: on other important thing is that i started using fudge | ||
ruoso | cool... that's worth a blog post ;) | ||
moritz_ | pmurias: do you also have a list of test files to run? | ||
14:40
nihiliad joined
|
|||
pmurias | TESTS in v6/re-mildew | 14:40 | |
moritz_ | in rakudo there's a rather handy script which runs all of the tests that are not yet in t/spectest.data and gives a nice overview which passes how many tests | 14:41 | |
tools/update_passing_test_data.pl | |||
it should be pretty easy to adapt to your needs | |||
pmurias | moritz_: how does it deal with stuff which fails to parse? | ||
moritz_ | or we can move it into the t/spec/tools/ or so, and generalize it so that it works for both | 14:42 | |
pmurias: it reports them as 0 pass | |||
pmurias: if you use STD.pm that rarely happens ;-) | |||
or to be more precise it doesn't report them, currently it only reports those that have at least 1 pass | |||
pmurias | we can parse everything but the compiler doesn't recognise most constructs | 14:43 | |
moritz_ | the utility of that script will grow when you implement more constructs ;-) | 14:44 | |
14:44
szabgab left
14:45
arnsholt left
|
|||
moritz_ | is there a good reason to build Test.pir with parrot perl6.pbc instead of the fakexuctable? | 14:50 | |
pmurias | ruoso: so how do we procced with module loading? | 14:51 | |
jnthn | moritz_: Suspect it may just be history. | ||
ruoso | pmurias, we need a proper decision by TimToady | ||
pmurias, on how S11 will look like | 14:52 | ||
masak | moritz_: there used to be good reasons, but I think they disappeared (for me) around New Year or so. | 14:53 | |
pmurias | ruoso: and what should i work on before the decision? | 14:58 | |
ruoso | pmurias, take a look on what's missing for src-s1p/ClassHOW.pm to work | 14:59 | |
pugs_svn | r27705 | pmurias++ | [re-smop] add a fuged ../../t/spec/S04-statements/while.t to TESTS | 15:00 | |
15:00
meteorjay joined
|
|||
pmurias | shopping& | 15:01 | |
15:01
pmurias left
|
|||
moritz_ | YaY, mildew is using the spectests! | 15:01 | |
pugs_svn | r27706 | moritz++ | [t/spec] test descriptions for die.t, and two vim modelines | 15:02 | |
ruoso | YaY indeed ;) | ||
masak | so that makes rakudo, pugs, mildew... yes? | ||
moritz_ | not only will that make me feel more important, it'll also help us to keep the test suite implementation agnostic | 15:03 | |
masak: elf used to use the test suite in some crude way (storing the result and diff'ing the results of different runs) | |||
15:03
explorer joined
|
|||
TimToady | well, I think now mildew parses more of the test suite than any other implementation :) | 15:04 | |
moritz_ | ;-) | ||
15:04
szabgab joined
|
|||
masak | mildew++ | 15:05 | |
15:05
zamolxes joined
|
|||
jnthn | Next step: s/r/s/ :-) | 15:05 | |
masak | should be trivial. it's only one letter. | 15:07 | |
15:08
nihiliad left
|
|||
masak | only one bit, actually. | 15:08 | |
TimToady | commuting & # oscon | ||
moritz_ | rakudo: say ('r' ~& 's').perl | 15:09 | |
p6eval | rakudo e989e6: OUTPUT«"\x[72]"» | ||
moritz_ | rakudo: say ('r' ~& 's') | ||
p6eval | rakudo e989e6: OUTPUT«r» | ||
moritz_ | rakudo: say ('r' ~s 's') | ||
p6eval | rakudo e989e6: OUTPUT«s/// not implemented, try .subst as workaround at line 2, near ")"in Main (src/gen_setting.pm:3343)» | ||
moritz_ | rakudo: say ('r' ~| 's') | ||
p6eval | rakudo e989e6: OUTPUT«s» | ||
moritz_ | rakudo: say ('r' ~^ 's').perl | ||
p6eval | rakudo e989e6: OUTPUT«"\x[1]"» | ||
moritz_ | rakudo: say s.perl | 15:10 | |
p6eval | rakudo e989e6: OUTPUT«Could not find non-existent sub s» | ||
moritz_ | rakudo: say 's'.perl | ||
p6eval | rakudo e989e6: OUTPUT«"s"» | ||
moritz_ | rakudo: say ('r' ~& 's').PARROT | ||
p6eval | rakudo e989e6: OUTPUT«String» | ||
moritz_ | rakudo: say 's'.PARROT | ||
p6eval | rakudo e989e6: OUTPUT«Str» | ||
moritz_ | I wonder if we can find a bug related to that. | 15:11 | |
masak | try doing .trans on both. | ||
moritz_ | rakudo: say ('r' ~& 's').subst(/s/, 't') | ||
15:11
szabgab left
|
|||
p6eval | rakudo e989e6: OUTPUT«r» | 15:11 | |
moritz_ | rakudo: say ('r' ~& 's').subst(/r/, 't') | ||
p6eval | rakudo e989e6: OUTPUT«t» | ||
moritz_ | rakudo: say ('r' ~& 's').uc.subst(/R/, 't') | 15:12 | |
p6eval | rakudo e989e6: OUTPUT«Can't upcase binary datain method Any::uc (src/gen_setting.pm:579)called from Main (/tmp/Wt4LTpvuxN:2)» | ||
masak | ooh. | ||
moritz_ | ooh indeed | ||
it means that this much closer to a Buf than to Str | |||
and might be exactly what we want for Buf ;-) | |||
masak | excellent. | ||
anyway, | 15:13 | ||
rakudo: "".trans() | |||
p6eval | rakudo e989e6: ( no output ) | ||
masak | rakudo: ("r" ~& "s").trans() | ||
p6eval | rakudo e989e6: OUTPUT«too few arguments passed (1) - 3 params expectedin Main (/tmp/E1rA8Ivaaa:2)» | ||
masak | I had a feeling that'd blow up. :) | ||
moritz_ | :) | ||
masak | man, I've been doing this a long time. I know all the weak points... :) | 15:14 | |
anyway, that's a bug. | |||
masak submits | |||
moritz_ | right, .trans is aslo defined on parrot strings | ||
masak | but differently. | ||
moritz_ | so it'll pick up the wrong candidate if it's not a Perl 6 Str | 15:15 | |
right | |||
15:20
donaldh left
15:21
donaldh joined
|
|||
masak | is there a non-eval way to create a class based on the class name in $var? | 15:28 | |
15:28
payload left
|
|||
moritz_ | NYI presumably | 15:28 | |
I'm sure the meta class provides a method for that | |||
masak | the meta class of what? Str? | 15:29 | |
moritz_ | the common meta class of Perl 6 classes | ||
P6meta in Rakudo | |||
jnthn | ClassHOW | ||
moritz_ | or that, yes :) | ||
masak | rakudo: class A {}; my $var = A; my $a = $var.new(); say $a | 15:30 | |
p6eval | rakudo e989e6: OUTPUT«A()<0xb686dc80>» | ||
masak | \o/ | ||
dalek | ok: 2f9635a | (Hinrik Örn Sigurðsson)++ | (2 files): Fix S32 parsing bug |
||
ok: 0bc215d | (Hinrik Örn Sigurðsson)++ | (4 files): Fixed problem with -l/--locate, added test for it |
|||
ok: c06849e | (Hinrik Örn Sigurðsson)++ | (4 files): Look up the man pages. Depend on Perl6::Doc 0.42 |
|||
ok: 8cf5c68 | (Hinrik Örn Sigurðsson)++ | (9 files): Bump version to 0.16_02 |
15:31 | ||
ok: 3454ac2 | (Hinrik Örn Sigurðsson)++ | Changes: Make the Changes file historically accurate |
|||
dakkar | masak: that's not "the class name in $var", that's "the class object in $var" | ||
masak | dakkar: indeed. | ||
dakkar: I managed to change the objective, making the problem solvable. | |||
dakkar | and using the class object is much cleaner | ||
masak | yes. | 15:32 | |
moritz_ | rakudo: class A { }; my $x = A; $x.new.perl() | ||
p6eval | rakudo e989e6: ( no output ) | ||
masak | sometimes one-pass parsing annoys me to no end. | ||
moritz_ | rakudo: class A { }; my $x = A; say $x.new.perl() | ||
p6eval | rakudo e989e6: OUTPUT«A.new()» | ||
moritz_ | masak: multi pass parsing is even more annoying in the long run ;-) | ||
masak | I think it's very restrictive that you can't refer to a class name before it's been declared. | ||
it's unlike many other languages I'm familiar with. | 15:33 | ||
jnthn | You can always declare a stub and define it later. | ||
masak | true. | ||
in other circumstances, that's called 'cruft' or 'boilerplate'. | 15:34 | ||
code required to cater to a language's oddities. | |||
jnthn has spent all afternoon grappling with something he expected to be simple. :-/ | 15:36 | ||
15:37
szabgab joined
15:44
szabgab left
15:45
sparc joined
15:47
szabgab joined
15:49
SmokeMachine left,
dakkar left
|
|||
dalek | kudo: ca2e4f1 | moritz++ | t/spectest.data: [t/spectest.data] 5 more passing test files |
15:53 | |
jnthn | \o/ | 15:54 | |
HOw many new tests is that? | |||
I'm sure we've run some of those before now. | |||
moritz_ | in the order of 100 perhaps | 15:55 | |
masak | oh well. it'll make the next release seem all the more impressive. | ||
15:56
szabgab left,
szabgab joined
|
|||
moritz_ | I've grepped `git log -p t/spectest.data` for identity.t and found no prior mention | 15:56 | |
same for null.t (that seems new) | 15:57 | ||
same for die.t (not so new) | |||
same for autoincrement-range | |||
(but that's a new file too, KyleHa++) | 15:58 | ||
jnthn | Heh, wow. | 16:00 | |
16:02
Jedai joined
16:03
kane___ joined
|
|||
dalek | kudo: f78cf0b | jnthn++ | src/ (3 files): This gets us creating the metaclass right at the start of class creation and operating on it. We dispatch traits on it also, which many of the fixes in here are helping towards. We also make mentions of ClassHOW work more properly, by having it registered, so now it's a bit less special. For now, there's more mess, but this is mostly an enabling refactor for more cleanups. |
16:06 | |
kudo: 546c253 | jnthn++ | : Merge branch 'master' of [email@hidden.address] |
|||
moritz_ | when I run 'perl tools/test_summary.pl' I get a usage message from fudge - any idea why? | 16:07 | |
ah, because I f*cked it up | |||
16:07
FurnaceBoy left
|
|||
dalek | ok: 056121c | (Hinrik Örn Sigurðsson)++ | (4 files): Small Pod fixes |
16:09 | |
kudo: d4d2319 | moritz++ | t/spectest.data: [t/spectest.data] fix test name, moritz-- |
16:12 | ||
pmichaud | good morning (again), #perl6 | 16:18 | |
so, now that I don't have talks or meetings... has anything happened with Rakudo this week? ;-) | 16:19 | ||
moritz_ | yes, it was released, builds against parrot HEAD, has a refactored meta class... | ||
jnthn | Gained .^roles and .^attributes | 16:20 | |
moritz_ | I also pushed Matt-W's done_testing patch to Test.pm | ||
pmichaud | outstanding | 16:22 | |
masak | awesome. | ||
jdv79 | how are traits? | ||
moritz_ | and 5 more passing tests that we missed previously | ||
jdv79: cool ;-) | |||
masak | test files, even. | ||
moritz_ | erm, yes ;-) | ||
16:23
nihiliad joined
|
|||
jnthn | jdv79: Traits are coming along. Not perfect yet, but improving steadily. | 16:23 | |
Actually a bunch of what I'm working on today will straighten part of the issues out. | |||
These days you can write traits to apply to blocks just fine. Soon you'll be able to write traits to apply to classes and roles also in a sensible way. | 16:24 | ||
16:24
szabgab left,
szabgab joined
16:30
pmichaud is now known as pmichaud_
16:33
pmichaud joined
|
|||
pmichaud reads scrollback | 16:34 | ||
wayland76: ping | 16:39 | ||
16:39
kane___ left
|
|||
masak | pmichaud: I think he went to sleep. | 16:40 | |
pmichaud | okay, thanks | ||
16:41
ctime joined
|
|||
pmichaud | in rt #63360, wayland76 creates a patch that contains all of the diffs of the ins2 branch as well as his own changes. I'd like to see just the changes he made -- what's the git magic to make that happen? | 16:42 | |
16:42
cdarroch joined
|
|||
masak | the ins2 branch is still around? | 16:43 | |
pmichaud | yes. | ||
masak | pmichaud: create a branch from wayland76's patch and git-diff ins2 against it. | ||
actually, you probably don't even need to create a branch. | |||
pmichaud does "man git diff" | 16:44 | ||
er, "man git-diff" | |||
masak | just git-diff ins2..$_ given sha1(wayland76.commit) | ||
PerlJam | If you have a working copy with the patch applied you don't need a diff. | ||
er, branch | |||
pmichaud | PerlJam: I don't understand. | 16:45 | |
ctime | anyone interested in knife crimes | ||
masak | ctime: I prefer butterflies and camels. | ||
PerlJam | pm: if your working copy (of ins2) has the patch applied, you just say "git diff ins2" | ||
masak | ah, yes. that's better. | 16:46 | |
pmichaud | PerlJam: do I need to do anything special to apply the patch to ins2, given that the patch contains the ins2 diffs as well? | ||
or is git's merge so smart that it can figure out which parts of the patch to apply and which to avoid? | |||
masak | pmichaud: apply it to the branch point instead. | ||
pmichaud | so I have to look up the branch point? or is that easily available also? | 16:47 | |
dalek | kudo: 5167835 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 418 files, 11913 passing, 0 failing |
||
masak | pmichaud: good question. it's the commit before the first commit unique to the branch. | ||
pmichaud | so I have to look in the log for ins2 for that commit | ||
masak | so you can do 'git log master..ins2', take the last on the list, and do <sha1>^ on that. | 16:48 | |
PerlJam | gitk or git-gui could tell you which commit that is graphically | ||
(I don't know of an easier way) | |||
pmichaud | yeah, this seems a bit cumbersome | ||
masak goes to ask on #git | |||
pmichaud | I wish wayland76 had given me just his diffs, rather than my diffs with his folded in | ||
PerlJam | pmichaud: or you could just assume that git is smart enough to not care that the ins2 diffs are included in the patch and see if that works. | 16:49 | |
pmichaud | I might try that. | ||
PerlJam | git is darn smart about such things in general | ||
masak | I don't think it will. | ||
might work with a merge, but not with a patch. | |||
pmichaud | maybe I'll just back-burner it for a bit while I catch up on other stuff. | 16:50 | |
masak | #git says 'git merge-base' for finding branch point. | ||
PerlJam | #git++ | ||
masak | yes, those guys know their git. | 16:51 | |
16:51
FurnaceBoy joined
|
|||
jnthn | role A { has $.a }; say A.HOW.attributes(A, :local)>>.name | 16:51 | |
rakudo: role A { has $.a }; say A.HOW.attributes(A, :local)>>.name | 16:52 | ||
p6eval | rakudo d4d231: OUTPUT«$!created$!selector$!shortname» | ||
jnthn | whoa | ||
PerlJam | (Dirk Hohndel)++ | ||
jnthn | Well, I did fix something then. :-) | ||
(locally) | |||
pugs_svn | r27707 | kyle++ | [t/spec] Test for RT #63646 | 16:53 | |
PerlJam | jnthn: does :tree work as well? | ||
jnthn | PerlJam: :tree isn't implemetned yet for all of the introspectable bits. | ||
I think it works for .^parents | 16:54 | ||
Check the tests. ;-) | |||
16:54
Psyche^ joined
|
|||
jnthn | Of course, now we need a bunch of tests for role introspection. ;-) | 16:54 | |
masak | .oO( "who introspects the introspection?" ) |
16:56 | |
ruoso | masak, in theory the HOW is an object like any other | ||
masak | ruoso: in theory? | ||
ruoso | in practice, RoleHOW in mildew doesn't yet implement the REPR API | 16:57 | |
masak | ok. | ||
ruoso | RoleHOW does | ||
it's PrototypeHOW that doesn't | |||
masak | ah. | ||
jnthn | PrototypeHOW? | ||
ruoso | or is it PurePrototypeHOW | ||
the thing that governs the knowhows | |||
jnthn | Dunno | ||
Oh | |||
Suspect that's not something that'll appear in Rakudo then. :-) | 16:58 | ||
ruoso | mildew: role A { }; say A.^!how; | ||
p6eval | mildew: OUTPUT«Could not find method Str.» | ||
ruoso | well, RoleHOW is not yet implementing Str by itself | 16:59 | |
mildew: role A { }; say A.^!how.^!how; | |||
p6eval | mildew: OUTPUT«unknown method "Str" at message line 143 file build/s1p-oo/src/prototypehow.c» | ||
ruoso | aha! | ||
mildew: role A { }; say A.^!how.^!how.^!how; | |||
p6eval | mildew: OUTPUT«unknown method "^!how" at message line 143 file build/s1p-oo/src/prototypehow.c» | ||
16:59
SmokeMachine joined
|
|||
ruoso | there it is... | 17:00 | |
17:00
nihiliad left,
nihiliad joined
|
|||
KyleHa | You know what they say. | 17:05 | |
phenny | KyleHa: 10:55Z <moritz_> tell KyleHa could please test if r27698 works for you? thanks. | ||
KyleHa | They say, "you know what they say." | ||
phenny: tell moritz_ r27698 works great and thanks for writing it. See RT #63646 for an example. | 17:06 | ||
phenny | KyleHa: I'll pass that on when moritz_ is around. | ||
17:07
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | phenny: tell phenny will you pass this on when phenny is around? | 17:08 | |
phenny | Hey, I'm not as stupid as Monty you know! | ||
masak | phenny++ | ||
phenny: tell masak will you pass this on to me when I'm around, then? | 17:09 | ||
phenny | You can tell yourself that. | ||
masak | :) | ||
jnthn | wow! | 17:11 | |
:-) | |||
A bot that isn't braindead. | |||
pmichaud | ...but what if I want phenny to remind me of something? | 17:12 | |
17:12
jnthn is now known as jnthn_from_the_p
|
|||
masak | pmichaud: well, as she succinctly informed me, you can tell youself that. :) | 17:12 | |
jnthn_from_the_p | phenny: tell jnthn remember this! | ||
phenny | jnthn_from_the_p: I'll pass that on when jnthn is around. | ||
17:12
jnthn_from_the_p is now known as jnthn
|
|||
jnthn | ;-) | 17:12 | |
phenny | jnthn: 17:12Z <jnthn_from_the_p> tell jnthn remember this! | ||
masak | :P | ||
if you need to remind yourself of something 10 seconds from now, you have bigger problems than convincing a bot to hold a message to yourself. :P | 17:13 | ||
pmichaud | masak: I'll try to remember that! | 17:14 | |
masak | :) | ||
dalek | ok: 9571a50 | (Hinrik Örn Sigurðsson)++ | (2 files): Depend on Perl6::Doc 0.43 |
17:16 | |
jnthn | rakudo: say Role | 17:19 | |
p6eval | rakudo d4d231: OUTPUT«Role()» | ||
masak realizes he can use introspection to find even weirder bugs | 17:21 | ||
rakudo: enum foo <>; say foo[1] | |||
p6eval | rakudo d4d231: OUTPUT«No applicable candidates found to dispatch to for '!create_simple_role_helper'in Main (/tmp/3Agx6QBFCz:2)» | ||
masak submits rakudobug | 17:22 | ||
jnthn | Guess same as | 17:23 | |
rakudo: role Foo { }; Foo[42] | |||
p6eval | rakudo d4d231: OUTPUT«No applicable candidates found to dispatch to for '_block50'in Main (/tmp/4NmYLPdN2p:2)» | ||
jnthn | Aye | ||
Need better error. | |||
KyleHa | Pshaw! | ||
masak | except that enums declare themselves as having a postcircumfix:[ ] | ||
jnthn | Oh? | ||
KyleHa | There's no spec for error messages, so all error messages are equal. | ||
Just 'die "ouch"' and be done! | 17:24 | ||
masak | rakudo: enum foo <>; say foo.^methods>>.name.grep(/post/).perl | ||
p6eval | rakudo d4d231: OUTPUT«["postcircumfix:[ ]"]» | ||
17:24
pmurias joined
|
|||
jnthn | Exactly. | 17:24 | |
And on a role, that is a selector. | |||
masak | KyleHa: this is exactly why you are not in charge of error messages. :P | ||
jnthn | Think class Foo does Answer[42] { } | ||
masak | oh. | ||
KyleHa | Because all my errors would be sarcastic. 8-) | ||
pmichaud | KyleHa: you're welcome to propose community error messages :-) | 17:25 | |
masak | KyleHa: 'ouch' is not very sarcastic, is it? | ||
pmurias | ruoso: RoleHOW does the REPR API | ||
KyleHa | "error: Oh, I know exactly what method you want me to dispatch to." | ||
ruoso | pmurias, yeah... I realized it just after I said it... | ||
pmurias | ruoso: only p6opaque does it and RoleHOW is a instance of p6opaque | ||
KyleHa | masak: "ouch" is not sarcastic, but the suggestion that all errors be "ouch" is a sarcastic suggestion. | 17:26 | |
Tene | Maybe we should just have rakudo dynamically fetch appropriate error messages live from a wiki. | ||
masak | KyleHa: I see. | ||
KyleHa | Heh. | ||
masak | Tene: MetaError: 'could not find bloody wiki' | 17:27 | |
KyleHa | "error: unable to fetch error message" | ||
Tene | Then we can, um, crowdsource... the blogosphere... | ||
17:27
pmichaud left
|
|||
dalek | kudo: dd5767c | (Kyle Hasselbacher)++ | src/ (2 files): Simple implementation of [//] and [||] operators Signed-Off-By: Moritz Lenz [email@hidden.address] |
17:27 | |
17:28
seve joined
|
|||
seve | whats an MPI | 17:28 | |
PerlJam | message passing interface? | ||
pmurias | ruoso: ClassHOW should a knowhow or a role? | 17:29 | |
seve | ok so i ddidn't misunderstand it's definition | ||
is it used for clustering? | |||
ruoso | pmurias, it can be a knowhow | ||
PerlJam | seve: can be | ||
seve | ok | ||
where else is it widely used | 17:30 | ||
i was referring the anl.gov website and it mentioned in there | |||
PerlJam | google it | ||
literal | hm search.cpan.org/perldoc?Regexp::Grammars | ||
seve | k thanks PerlJam | 17:31 | |
pmurias | ruoso: ClassHOW uses Pod6? | 17:34 | |
what viewer for Pod6 do we have? | |||
KyleHa | moritz++ # fixing my patches and applying them | 17:35 | |
17:36
estrabd joined
|
|||
seve | im looking for an alogirthm to convert base10 (decimal) to base N any ideas? | 17:37 | |
pmurias | how do i install perl6.vim? | ||
ruoso | pmurias, yes... and it parses with STD | ||
literal | pmurias: github.com/petdance/vim-perl | 17:45 | |
pmurias: you can do a checkout of that and then "make symlinks" | 17:46 | ||
17:48
nbrown left
|
|||
KyleHa | seve: search.cpan.org/~kwilliams/Math-Bas...aseCalc.pm | 17:48 | |
seve | KyleHa: got it, thx | 17:49 | |
masak | is it possible to add elements to an enum at runtime? | ||
17:49
finanalyst joined
17:50
alester joined
|
|||
moritz_ | pmurias: clone hinrik/vim-perl from github, and 'make install' | 17:51 | |
phenny | moritz_: 17:06Z <KyleHa> tell moritz_ r27698 works great and thanks for writing it. See RT #63646 for an example. | ||
PerlJam | masak: does it make sense to do that? | ||
literal | moritz_: has been merged back into petdance/vim-perl, which should work as well | 17:52 | |
pmurias | moritz_: i cloned petdance/vim-perl , is it ok | ||
? | |||
literal | pmurias: yeah | ||
masak | PerlJam: I have a case where I think it would. | ||
literal | the petdance one is the "official" one | ||
alester | moritz_: I'm glad someone's using the "make install" | ||
it just seemed to make sense. | |||
literal | it will go into vim at some point | ||
alester | I need to feed files back to bram | ||
moritz_ | alester: actually I think I use 'make symlinks' or so | 17:53 | |
PerlJam | masak: show me :) | ||
masak | PerlJam: ok, hold on. | ||
17:53
nbrown joined
|
|||
masak | PerlJam: look at this enum: github.com/masak/web/blob/6fa8ed10a...ream.pm#L4 | 17:54 | |
17:55
REPLeffect left
|
|||
PerlJam | looking | 17:55 | |
masak | turns out there's a filter called EmptyTagFilter in the program I'm porting from which introduces a new value 'empty'. | ||
17:55
REPLeffect joined
|
|||
masak | now, in the original they don't use enums, they just initialize objects with strings. | 17:55 | |
I consider that a poor man's enums. | 17:56 | ||
so I can either (1) put the 'empty' element there statically, or (2) introduce it at runtime when needed. | |||
I'm doing (1), but asking about (2). :) | |||
pmurias | ruoso: Object delegates CREATE,BUILDALL,DESTROYALL to the metaclass? | 17:58 | |
ruoso | pmurias, as I current see it, yes | ||
but this might be outdated concerning the fact that Object is now a role | |||
or not | 17:59 | ||
no... it isn't | |||
because CREATE will be invoked in the punned class | |||
so it will call the punned class metaclass | |||
PerlJam | masak: it seems to me that the point of an enum is that you know what's in it at compile time (becuase you're enumerated them :) | 18:01 | |
masak: you could probably alter it at runtime with some eval() trick if you really needed to | 18:02 | ||
masak | PerlJam: 'augment enum' :) | ||
TimToady | std: augment enum Bool <maybe>; | 18:03 | |
p6eval | std 27707: OUTPUT«ok 00:03 38m» | ||
PerlJam | masak: that seems like "I wrote this enum above, but forgot this element" (i.e., static, compile-time info) | ||
18:06
mepplock joined
|
|||
masak | hm, I don't know what would be a good solution here. just fishing for possibilities. | 18:07 | |
18:09
alanhaggai left
|
|||
PerlJam | I think you know a good solution (you already mentioned it :) | 18:09 | |
18:10
nihiliad left
18:12
Chillance_ joined
|
|||
masak | argh! if I get the error message 'Lexical foo not found', which part of the Rakudo stack have I enraged? | 18:12 | |
18:12
Chillance__ joined
|
|||
masak | there's no line number or file information... | 18:12 | |
jnthn | No sigil? Hmm. | 18:13 | |
Probably something you declared lexically then that's a sub? | |||
:-S | |||
But odd. | |||
PerlJam | sounds like a parroty error | ||
masak | it's a constant I declared to be equal to an enum value. | 18:14 | |
pmurias | ruoso: but BUILD shouldn't be defined in the metaclass should it? | 18:15 | |
ruoso | pmurias, why not? | ||
ah... I see what you mean | |||
yeah... it could be called something different | 18:16 | ||
but prototypehow doesn't call BUILD | |||
so it isn't a problem, I think | |||
18:18
tann joined
|
|||
pmurias | why do we delegate DESTORYALL,BUILDALL to the metaclass instead of handling them in Object? | 18:19 | |
tann | rakudo doesn't seem having support for use Foo <x y z> yet? a bug or known issue? | 18:20 | |
std: use Foo <foo @bar>; | 18:21 | ||
p6eval | std 27707: OUTPUT«Potential difficulties: Can't locate module Foo at /tmp/EpkmNhcHs5 line 1:------> use Foo <foo @bar>;ok 00:02 36m» | ||
18:21
alester left,
meppl left
|
|||
tann | rakudo: use Foo <foo @bar>; | 18:21 | |
moritz_ | tann: known NYI | ||
p6eval | rakudo dd5767: OUTPUT«Unknown import list expression in use at line 2, near ";"in Main (src/gen_setting.pm:408)» | ||
tann | alrighty | 18:22 | |
18:24
hercynium joined
|
|||
ruoso | pmurias, the idea is that replacing the metaclass will allow a more powerfull customization | 18:24 | |
moritz_ | rakudo: say 1 ~~ Inf^..^Inff | ||
rakudo: say 1 ~~ Inf^..^Inf | |||
rakudo: say 1 ~~ -Inf^..^Inf | |||
p6eval | rakudo dd5767: OUTPUT«Could not find non-existent sub Inff» | ||
rakudo dd5767: OUTPUT«0» | |||
rakudo dd5767: OUTPUT«1» | |||
pmurias | ruoso: but you could as well mixing a role into the class | 18:25 | |
* mix in | |||
* compose a role into the class | |||
ruoso | pmurias, yeah... in fact... | ||
pmichaud_ | jnthn: another thing that wants fixing is that "constant" is now package scoped instead of lexical scoped. | ||
jnthn | That's...not the usual direction things tend to go... | 18:26 | |
Also the inlining analysis gets harder, I think. :-/ | 18:27 | ||
18:27
fridim_ left
|
|||
jnthn | (don't think we do any yet though) | 18:28 | |
18:28
Chillance left,
FurnaceBoy left
|
|||
jnthn -> store for stuff to cook...or fast food if I suffer a sudden outburst of laziness on the way. | 18:29 | ||
TimToady | it's possible the constant decalarator should become more like 'sub' or 'multi' in terms of syntactic slot | ||
18:30
Chillance_ left
|
|||
TimToady | (I said at the time that I wasn't sure our-ifying constant was the right approach...) | 18:31 | |
pmurias | TimToady: why does CREATE take a string repr parameter, wouldn't passing an object be better? | 18:33 | |
that is $class.CREATE(:repr(P6opaque)) instead of $class.CREATE(:repr<P6opaque>)? | 18:34 | ||
masak | rakudo: class A { has @!a; multi method new(@a) { self.new(:a(@a)) }; multi method new(*%_) { self.bless(self.CREATE(), |%_) }; method foo { say @!a.elems } }; A.new(:a(1,2,3)).foo | ||
p6eval | rakudo dd5767: OUTPUT«1» | ||
masak | somewhere I get an extra layer of Array in the above. where? | 18:35 | |
how do I get foo to print 3? | |||
18:36
justatheory joined,
justatheory left,
finanalyst left
|
|||
pmurias | class A { has @!a; multi method new(@a) { self.new(:a(@a)) };method foo { say @!a.perl } };A.new(:a(1,2,3)).foo | 18:37 | |
rakudo: class A { has @!a; multi method new(@a) { self.new(:a(@a)) };method foo { say @!a.perl } };A.new(:a(1,2,3)).foo | |||
p6eval | rakudo dd5767: OUTPUT«No applicable candidates found to dispatch to for 'new'in Main (/tmp/oRn3TE0IuQ:2)» | 18:38 | |
pmurias | rakudo: class A { has @!a; multi method new(*%_) { self.bless(self.CREATE(), |%_) };method foo { say @!a.perl } };A.new(:a(1,2,3)).foo | ||
p6eval | rakudo dd5767: OUTPUT«[1]» | ||
pmurias | class A { has @!a; multi method new(@a) { self.new(:a(@a)) };method foo { say @!a.perl } };A.new(:a(7,2,3)).foo | ||
rakudo: class A { has @!a; multi method new(@a) { self.new(:a(@a)) }; multi method new(*%_) { self.bless(self.CREATE(), |%_) }; method foo { say @!a.elems } }; A.new(:a(7,2,3)).foo | 18:39 | ||
tann | pugs: say caller(0).perl | ||
p6eval | rakudo dd5767: OUTPUT«1» | ||
pugs: OUTPUT«Control::Caller.new((\("file", undef), \("line", undef), \("package", undef), \("sub", undef), \("subname", undef), \("subtype", undef))» | |||
pmurias | rakudo: class A { has @!a; multi method new(@a) { self.new(:a(@a)) }; multi method new(*%_) { self.bless(self.CREATE(), |%_) }; method foo { say @!a.perl } }; A.new(:a(7,2,3)).foo | ||
p6eval | rakudo dd5767: OUTPUT«[7]» | ||
pmurias | masak: two of arguments to :a get discarded? | 18:40 | |
masak | pmurias: seems so. | ||
that can't be right. | |||
18:41
b2gills joined
|
|||
cbk | rakudo: my $textLine = "mrGreen 5 1 23 "; if $textLine ~~ /.\s/ { say $_; } # sould be mrGreen for the 1st match then 5 for the next and so onetc..... right? | 18:43 | |
p6eval | rakudo dd5767: OUTPUT«Use of uninitialized value» | ||
masak | rakudo: sub foo(:@a) { say @a.perl }; foo(:a[42,43,44]) | 18:44 | |
p6eval | rakudo dd5767: OUTPUT«[42, 43, 44]» | ||
masak | rakudo: sub foo(:@a) { say @a.perl }; foo(:a(42,43,44)) | ||
p6eval | rakudo dd5767: OUTPUT«Parameter type check failed; expected Positional, but got Int for @a in call to fooin sub foo (/tmp/m0LcAL4iI8:2)called from Main (/tmp/m0LcAL4iI8:2)» | ||
masak | shouldn't both these work? | ||
moritz_ thinks so | |||
masak slams another rakudobug | 18:46 | ||
cbk | rakudo: my $textLine = "mrGreen 5 1 23 "; if $textLine ~~ /.\s/ { say <$_>; } # sould be mrGreen for the 1st match then 5 for the next and so onetc..... right? | ||
p6eval | rakudo dd5767: OUTPUT«$_» | ||
moritz_ | cbk: no. | 18:47 | |
cbk | is it just $_ | ||
moritz_ | if you do 'say $/', it should be 'n ' | ||
the regex match sets $/, not $_ | |||
cbk | ok | 18:48 | |
pmichaud_ | rakudo: say :a(42,43,44).perl | ||
p6eval | rakudo dd5767: OUTPUT«"a" => 42» | ||
pmichaud_ | there ya go. | ||
cbk | and /.\s/ will match any number of chars and the first white space char? | ||
pmichaud_ | we have to refactor colonpairs anyway, they switched from postcircumfix to circumfix parsing | 18:49 | |
file a ticket, assign it to me, I'll fix it later tonight | |||
(that's one I'd like to fix relatively quickly) | |||
cbk | and /.\s/ will match any number of chars and the first white space char? | 18:50 | |
Tene | pmichaud_: ETA for rakudo being able ot build against Parrot trunk again? | ||
pmichaud_ | Tene: it's not doing that now? I thought that landed | ||
moritz_ | Tene: -6 hours | ||
cbk | whoops sorry for the re post on my last.... | 18:51 | |
Tene | pmichaud_: looks lik emoritz has the answer. :) | ||
18:51
leedo left
|
|||
pmichaud_ | Tene: one of the amazing things I've learned from OSCON is just how irrelevant I am to getting things done with Rakudo. :-) | 18:51 | |
cbk | rakudo: my $textLine = "mrGreen 5 1 23 "; if $textLine ~~ /.......\s/ { say </_>; } # sould be mrGreen for the 1st match then 5 for the next and so onetc..... right? | 18:52 | |
p6eval | rakudo dd5767: OUTPUT«/_» | ||
18:52
leedo joined
|
|||
cbk | rakudo: my $textLine = "mrGreen 5 1 23 "; if $textLine ~~ /.......\s/ { say /_; } # sould be mrGreen for the 1st match then 5 for the next and so onetc..... right? | 18:52 | |
moritz_ | cbk: .......\s is always a fixed width match | 18:53 | |
p6eval | rakudo dd5767: OUTPUT«_block64» | ||
moritz_ | rakudo: given 'mrGreen 5 1 23 ' { say "<$/>" if /.\s/ } | ||
p6eval | rakudo dd5767: OUTPUT«Use of uninitialized value<>» | ||
cbk | moritz_, yah thats not really what I want but I could make it work..... not the best choice | ||
moritz_ | rakudo: given 'mrGreen 5 1 23 ' { if /<[a..zA..Z]>*\d/ { say "<$/>" } } | 18:54 | |
p6eval | rakudo dd5767: OUTPUT«Use of uninitialized value<>» | ||
moritz_ | hrmpf. | ||
pmichaud_ | something isn't setting $/ properly? | 18:55 | |
moritz_ | rakudo: if 'mrGreen 5 1 23' ~~ /<[a..zA..Z]>*\d/ { say "<$/>" } } | ||
p6eval | rakudo dd5767: OUTPUT«Syntax error at line 2, near "}"in Main (src/gen_setting.pm:3343)» | ||
moritz_ | pmichaud_: I have no idea what the problem is. | ||
rakudo: if 'mrGreen 5 1 23' ~~ /<[a..zA..Z]>*\d/ { say "<$/>" } | |||
18:55
fridim_ joined
|
|||
p6eval | rakudo dd5767: OUTPUT«<5>» | 18:55 | |
18:55
damyan left
|
|||
moritz_ | rakudo: if 'mrGreen5 1 23' ~~ /<[a..zA..Z]>*\d/ { say "<$/>" } | 18:55 | |
p6eval | rakudo dd5767: OUTPUT«<mrGreen5>» | ||
pmichaud_ | I know there are some issues with given { } blocks -- maybe that's the problem. | 18:56 | |
moritz_ | rakudo: given 'mrGreen 5 1 23 ' { say $_.perl } | ||
p6eval | rakudo dd5767: OUTPUT«"mrGreen 5 1 23 "» | ||
moritz_ | rakudo: given 'mrGreen 5 1 23 ' { /<[a..zA..Z]>*\d/ } | ||
p6eval | rakudo dd5767: ( no output ) | ||
moritz_ | rakudo: given 'mrGreen 5 1 23 ' { /<[a..zA..Z]>*\d/ && say $/ } | 18:57 | |
p6eval | rakudo dd5767: OUTPUT«Use of uninitialized value» | ||
moritz_ | there you go. | ||
moritz_ reports bug | |||
[particle] | that hat makes you look like masak | ||
masak doesn't mind | |||
b2gills | rakudo: given 'mrGreen 5 1 23' { when /<[a..zA..Z>*\d/ {say $/ }} | 18:58 | |
p6eval | rakudo dd5767: OUTPUT«perl6regex parse error: Missing close '>' or ']>' in enumerated character class at offset 67, found ''in Main (src/gen_setting.pm:3343)» | ||
cbk | moritz_, pmichaud_ thanks but I have to go to work now. THANKS rakudo.org for #19 went to sleep at 3am last night and woke up at 7am. now I'm going to be a zombie at work :) | ||
moritz_ | <gandalf>I was barely involved</gandalf> | 19:00 | |
b2gills | rakudo: given 'mrGreen 5 1 23' { when /<[a..zA..Z]>*\d/ {say $/ }} | 19:01 | |
p6eval | rakudo dd5767: OUTPUT«5» | ||
19:02
nihiliad joined
|
|||
PerlJam | b2gills: were you expecting something different? | 19:02 | |
pmichaud_ | moritz++ # Rakudo 19 | ||
19:04
damyan joined
|
|||
moritz_ | pmichaud++ # rakudo | 19:04 | |
19:08
jferrero joined
|
|||
masak | rakudo++ | 19:10 | |
ingy | hi masak | 19:13 | |
pmichaud_ wants to add Damian's Parse::Grammar debugger to PGE.... | 19:14 | ||
TimToady | me wants to run STD's logger into a debugger | ||
masak | hi ingy | 19:16 | |
ingy: will you be at YAPC::EU? | |||
19:17
sri_kraih joined
|
|||
ingy | masak: non | 19:18 | |
masak: you busy right now? | |||
masak | ingy: just about to go home and regenerate. | ||
I mean sleep. sleep. | |||
ingy | got 10 mins for me? :] | 19:19 | |
masak | yes, I do. :) | ||
ingy | /join #testml | ||
19:20
donaldh left
19:21
donaldh joined
19:23
explorer left
19:24
ilbot2 left,
ilbot2 joined
|
|||
literal | pmichaud_: Parse::Grammar ? you mean Regexp::Grammars? | 19:27 | |
19:27
seve left
|
|||
masak | I've had a very productive afternoon with Hitomi today. I'll be ready to blog tomorrow. | 19:27 | |
that'll mark the end of my part of the grant, and the beginning of the MVC part that I've taken over from ihrd. | |||
jnthn | Nice work. :-) | 19:28 | |
KyleHa | rakudo: my %h = ( a => any(3, 4) ); for %h.kv -> $k, $v { say "$k: {$v.WHAT}" }; | ||
jnthn looks forward to masak++'s YAPC::EU talk | |||
p6eval | rakudo dd5767: OUTPUT«a: Junction()» | ||
masak | jnthn: thank you. it has been slow, but satisfactory. | ||
jnthn: me too! :) | |||
19:28
arnsholt joined
|
|||
Tene | I've got a Perl 6 issue that I'm having trouble working out. | 19:28 | |
masak | and the presentation software to drive it... | ||
Tene: spill it. :) | |||
Tene | I've got a class, Foo, with an attribute, $.bar. | 19:29 | |
masak | ah, a public one. | ||
Tene | I want to be able to initialize new Foo isntances with a bar based on several parameters. | ||
my $x = Foo.new(1,2,3,4); | |||
masak | Tene: so declare your own 'new' method. | ||
moritz_ | then you ned to write a custom constructor | ||
Tene | masak: Right, but how do I make the actual object to return in the 'new' method? | 19:30 | |
masak | which does self.bless(*, :bar( $formula )) | ||
Tene | Ah, bless. How did I forget bless? | ||
masak | like that :) | ||
I scratched my head over that a lot too :) | |||
jnthn | aww...bless you. | ||
PerlJam | does Whatever work in that context? | ||
Tene | What's the * there for? | ||
jnthn | Yes | 19:31 | |
19:31
alanhaggai joined
|
|||
jnthn | It means "you decide what representation to use" | 19:31 | |
That is, "call CREATE for me" | |||
PerlJam | Ever since it's been added to the language I find myself surprised at where it shows up for some reason. | ||
masak | in effect, it means self.CREATE() | ||
PerlJam: what, bless? | |||
PerlJam | Whatever | ||
masak | PerlJam: ah. | ||
yes, it's slightly ubiquitous. | 19:32 | ||
19:32
masak left
|
|||
KyleHa | rakudo: say any(1,2).WHAT | 19:32 | |
p6eval | rakudo dd5767: OUTPUT«Null PMC access in get_integer()in Main (/tmp/pMcfKfY769:2)» | ||
19:33
nbrown left
|
|||
PerlJam | I think "Null PMC access" is more ubiquitous than Whatever ;( | 19:33 | |
19:33
justatheory joined
|
|||
pmurias | perl6: $Foo::bar = 1; | 19:34 | |
p6eval | elf 27707, pugs, rakudo dd5767: ( no output ) | ||
KyleHa | rakudo: say any("foo","bar").WHAT | 19:35 | |
19:35
payload joined
|
|||
p6eval | rakudo dd5767: OUTPUT«Null PMC access in get_integer()in Main (/tmp/uNC1qkzmla:2)» | 19:35 | |
KyleHa | Where's the integer? | ||
moritz_ | internal somewhere | ||
pmurias | ruoso: so do we need to but D.../B... in the metaclass? | ||
pmichaud_ | rakudo: say any("foo","bar).PARROT | 19:36 | |
PerlJam | rakudo: any.WHAT.say | ||
p6eval | rakudo dd5767: OUTPUT«Statement not terminated properly at line 2, near "(\"foo\",\"ba"in Main (src/gen_setting.pm:3343)» | ||
rakudo dd5767: OUTPUT«Null PMC access in get_integer()in Main (/tmp/S4yK9KwfFS:2)» | |||
pmichaud_ | rakudo: say any("foo","bar:).PARROT | ||
ruoso | pmurias, I think it's an API choice... | ||
pmichaud_ | rakudo: say any("foo","bar").PARROT | ||
p6eval | rakudo dd5767: OUTPUT«Statement not terminated properly at line 2, near "(\"foo\",\"ba"in Main (src/gen_setting.pm:3343)» | ||
rakudo dd5767: OUTPUT«Junction» | |||
ruoso | I think TimToady help would be very much appreciated here | ||
pmichaud_ | (sorry for typoes) | ||
rakudo: say any("foo","bar").WHAT | 19:37 | ||
p6eval | rakudo dd5767: OUTPUT«Null PMC access in get_integer()in Main (/tmp/zy3y7E7waD:2)» | ||
pmichaud_ | rakudo: say any("foo","bar").WHAT.PARROT | 19:38 | |
p6eval | rakudo dd5767: OUTPUT«» | ||
pmichaud_ | oh. I wonder if it's trying to autothread there or something | ||
pugs_svn | r27708 | kyle++ | [misc] Better test-reporter.pl documentation | ||
r27709 | kyle++ | [t/spec] (perhaps incomplete) test for RT #63686 | |||
r27710 | moritz++ | [t/spec] test for RT #67864 | |||
r27711 | kyle++ | [t/spec] identifying a junction causes Null PMC | |||
pmichaud_ | anytime .PARROT returns "" it means we're dealing with an anonymous class somehow, though | 19:39 | |
19:41
hercynium left
|
|||
payload | can't .PARROT return "anonymous class" instead? ^^ | 19:43 | |
pmichaud_ | I'll have to look at that. Better would be "anonymous subclass of Foo" | 19:44 | |
pmichaud_ files rakudobug | 19:45 | ||
19:45
nbrown joined
19:47
jevin joined,
M_o_C joined
|
|||
pugs_svn | r27712 | kyle++ | [t/spec] label the tests for RT #67886 | 19:49 | |
19:51
eternaleye left
|
|||
jnthn back from nom | 19:51 | ||
tann | rakudo: my $x = given 1 { default 1 { say 'yup' } }; | 19:52 | |
p6eval | rakudo dd5767: OUTPUT«Statement not terminated properly at line 2, near "{ default "in Main (src/gen_setting.pm:3343)» | ||
jnthn | default doesn't want an arg after it | ||
std: my $x = given 1 { default 1 { say 'yup' } }; | |||
p6eval | std 27707: OUTPUT«##### PARSE FAILED #####given() interpreted as function call at line 1 ; please use whitespace instead of parensUnexpected block in infix position (two terms in a row) at /tmp/0TJYLV0b09 line 1:------> my $x = given 1 { default 1 { say 'yup' } }; expecting any | ||
..… | |||
jnthn | Oh, curious error. | 19:53 | |
tann | rakudo: my $x = given 1 { default { 1 } }; say $x; | ||
p6eval | rakudo dd5767: OUTPUT«Statement not terminated properly at line 2, near "{ default "in Main (src/gen_setting.pm:3343)» | ||
moritz_ | uhm, wtf? | ||
TimToady | std: my $x = do given 1 { default 1 { say 'yup' } }; | ||
moritz_ | I don't see why STD.pm should reject that | ||
p6eval | std 27707: OUTPUT«##### PARSE FAILED #####Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/Tk5uFL2WwR line 1:------> my $x = do given 1 { default 1 { say 'yup' } }; expecting any of: infix or meta-infix infix | ||
..stopper sta… | |||
TimToady | std: my $x = do given 1 { default { say 'yup' } }; | 19:54 | |
p6eval | std 27707: OUTPUT«ok 00:02 37m» | ||
19:54
Su-Shee left
|
|||
PerlJam | do++ | 19:57 | |
pugs_svn | r27713 | moritz++ | [t/spec] fix several smartlinks | ||
PerlJam | std: my $x = if 1 { 5 } else { 3 } | ||
p6eval | std 27707: OUTPUT«##### PARSE FAILED #####if() interpreted as function call at line 1 ; please use whitespace instead of parensUnexpected block in infix position (two terms in a row) at /tmp/aXstEMQkge line 1:------> my $x = if 1 { 5 } else { 3 } expecting any of: infix or | ||
..meta… | |||
PerlJam | std: my $x = do if 1 { 5 } else { 3 } | ||
p6eval | std 27707: OUTPUT«ok 00:02 37m» | ||
PerlJam | rakudo: my $x = do if 1 { 5 } else { 3 }; say $x; | 19:59 | |
p6eval | rakudo dd5767: OUTPUT«5» | ||
PerlJam | rakudo++ | ||
19:59
jevin left
20:02
Front_slash left
20:03
jevin joined
|
|||
pugs_svn | r27714 | moritz++ | [t/spec] fix all remaining broken smartlinks | 20:07 | |
tann | rakudo: caller | 20:08 | |
p6eval | rakudo dd5767: OUTPUT«Could not find non-existent sub caller» | ||
tann | ok, still nyi | ||
20:10
mkelly32 joined
|
|||
pmurias | ruoso: i would prefer putting that into Object as the metaclass has methods releating to class construction and those methods are related to instance construction | 20:12 | |
ruoso: plus i don't imagine anyone chaning BUILDALL or DESTORYALL so getting rid of complexity is more important the ease of overiding | 20:13 | ||
moritz_ | and they aren't called with ^, so they must go into Object, not the meta class | 20:14 | |
pmichaud_ | maybe we should create NYI.pm in src/settings/ with stubs for the "not yet implemented" stuff. | ||
20:15
fridim_ left
|
|||
moritz_ | that's something I could do | 20:15 | |
pmichaud_ | let's try it and see how it goes | ||
ruoso | pmurias, that's a sane idea... I don't have any arguments against it... | 20:16 | |
pugs_svn | r27715 | lwall++ | [STD] complain on missing block for constructs that require block, tann++ | ||
r27715 | lwall++ | [STD] polish to error messages, including yellow marker for colorblind folks++ | |||
leedo | are there any videos online of TimToady's p6 error message talk? i missed it at YAPC::NA :( | 20:19 | |
20:19
fridim_ joined
|
|||
moritz_ | how can write a private sub in the setting? | 20:19 | |
pugs_svn | r27716 | kyle++ | [t/spec] Test for RT #67852 | 20:20 | |
20:20
jferrero left
20:21
vts joined
|
|||
payload | in grammar.pg at line 52 is [ $ || <panic: Syntax error> ] | 20:21 | |
where is panic defined? | |||
jnthn | moritz_: Use a lexical sub maybe? | ||
moritz_ | jnthn: just trying... | ||
jnthn | payload: probably it's inherited. | ||
From PCT::Grammar perhaps. | 20:22 | ||
pmichaud_ | panic is in PCT::Grammar at the moment | ||
payload | thx | 20:23 | |
pugs_svn | r27717 | pmurias++ | [re-smop] handle ::CGI::Fast properly | 20:24 | |
r27718 | pmurias++ | [re-smop] start making ClassHOW compile | |||
20:24
explorer joined,
skids left
|
|||
moritz_ | jnthn: bah, lexical subs don't work in the setting | 20:28 | |
jnthn | moritz_: Huh? That's...odd. | ||
moritz_ | they can't be found from within the same file | ||
nopaste.snit.ch/17383 | 20:29 | ||
jnthn | rakudo: my sub foo() { say 1 }; foo() | ||
p6eval | rakudo dd5767: OUTPUT«1» | ||
jnthn | moritz_: And it works outside of the setting? | 20:30 | |
moritz_ | the fact that it complains about sub nyi() and not about sub caller() means that I didn't forget to add it to the Makefile ;-) | ||
PerlJam | rakudo: my sub foo() { say "hi" }; multi blah() { foo(); } ; blah(); | ||
moritz_ | hrm | 20:31 | |
p6eval | rakudo dd5767: OUTPUT«hi» | ||
moritz_ | jnthn: yes, works outside the setting | ||
TimToady | std: default 1 {...} | 20:33 | |
p6eval | std 27716: OUTPUT«##### PARSE FAILED #####Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/fQw5B7ZSFJ line 1:------> default 1 {...} expecting any of: infix or meta-infix infix stopper standard stopper | ||
..terminatorUndecl… | |||
TimToady | hmm, that's wrong still | 20:34 | |
jnthn | pmichaud_: hmm...just discovered a...curiosity | ||
pmichaud_: In Any.pir we have: | |||
.sub 'does' :method .param pmc x $P0 = self.'HOW'() .tailcall $P0.'isa'(self, x) | 20:35 | ||
.end | |||
Should that not be delegating to .'does'? | |||
20:35
justatheory left
|
|||
moritz_ | would seem more sane | 20:35 | |
jnthn | Aye | ||
20:36
eternaleye joined
|
|||
jnthn | Though that changes breaks...of all things...a couple of enums tests! | 20:37 | |
20:37
vts left
|
|||
moritz_ submitted the settings problem to RT | 20:37 | ||
TimToady | std: default 1 {...} | ||
p6eval | std 27716: OUTPUT«##### PARSE FAILED #####Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/c4RCbqkPh9 line 1:------> default 1 {...} expecting any of: infix or meta-infix infix stopper standard stopper | ||
..terminatorUndecl… | |||
TimToady | maybe I broke the rebuild | ||
moritz_ triggers the rebuild | 20:38 | ||
20:38
M_o_C left
|
|||
moritz_ | takes some time; slow machine | 20:38 | |
TimToady | but it's reporting a version greater than my change, without the effect | ||
moritz_ | I have no idea how reliable that version number is. | 20:39 | |
TimToady | well, I'm likely to lose internet shortly | ||
jnthn | ok $x.does(Day::Mon), 'Can test with .does() for enum value'; # what changing s/isa/does/ there breaks :-S | 20:40 | |
TimToady | they usually tear down pretty fast as oscon | ||
jnthn | Why on earth it woulda worked with isa though is bewildering. | ||
TimToady | std: default 1 {...} | 20:46 | |
p6eval | std 27718: OUTPUT«##### PARSE FAILED #####Missing block at /tmp/pj4TsMft7j line 1:------> default ⏏1 {...}FAILED 00:02 35m» | ||
jnthn wonders if that test is actually bogus... :-S | |||
20:46
alester joined
|
|||
TimToady | that's better :) | 20:46 | |
moritz_ | what's the yellow character before the 1? | 20:47 | |
EJECT SYMBOL | |||
hm | |||
jnthn | TimToady: While an enum itself essentially implies a role, I think the same is not true for the values? And thsu while we'd expect $x ~~ Day::Mon to work (if $x is 42 but Day::Mon), .does(Day::Mon) is perhaps a bit more tenuous? | ||
*thus | |||
(I think it's been working by accident in Rakudo up until now. :-S) | 20:48 | ||
moritz_ | if it's not a role, does '$x but Bool::True' work? | ||
jnthn | but is spec'd as knowing how to generalize an enum element to its role. | ||
So yes that works, but $x does Bool::True would not. | |||
moritz_ | somehow Perl 6 is confusing. | 20:50 | |
jnthn ponders what to do. | |||
I suspect the tests may be bogus. | |||
TimToady will ponder over lunch & | 20:51 | ||
jnthn | TimToady: Thanks. | ||
20:51
unitxt left
|
|||
tann | rakudo: my @a; my $a = @a; say @a.WHAT; say $a.WHAT | 20:52 | |
^^^ :)) | |||
p6eval | rakudo dd5767: OUTPUT«Array()Array()» | ||
jnthn | :) | ||
PerlJam | jnthn: What would you expect of Int.does(4) ? | ||
is it symmetric? | |||
jnthn | rakudo: say Int.does(4) # expect false | ||
p6eval | rakudo dd5767: OUTPUT«1» | ||
PerlJam | rakudo: 4.does(Int) | 20:53 | |
p6eval | rakudo dd5767: ( no output ) | ||
jnthn | And with local fixes | ||
> say Int.does(4) | |||
PerlJam | rakudo: say 4.does(Int) | ||
jnthn | 0 | ||
p6eval | rakudo dd5767: OUTPUT«1» | ||
jnthn | See, that way around makes some sense. | ||
oh, wait | 20:54 | ||
Int in Rakudo is currently a class, not a role. | |||
20:54
alester left
|
|||
jnthn | So for now it's 0, but maybe in Perl 6 terms it should be true. | 20:54 | |
s/0/false | |||
20:55
alester joined
|
|||
jnthn | Int.does(4) being true is surely bogus though. | 20:56 | |
I know why we were getting it as true before. | |||
20:56
fridim_ left
20:57
estrabd_ joined
21:01
ruoso left
21:02
alanhaggai left
21:10
eternaleye left
21:15
eternaleye joined
|
|||
pugs_svn | r27719 | kyle++ | [t/spec] Test for RT #63724 | 21:22 | |
KyleHa | Are there any more eyes around who can check look at that one for me? | ||
s/check look/any("check","look")/ | 21:23 | ||
moritz_ looks, and finds a problem | 21:25 | ||
KyleHa | What do you see? | 21:26 | |
moritz_ | TimToady++ has revised the the spec of .perl a bit... | ||
basically .perl forces scalar context first | |||
KyleHa | Oh. Is the RT ticket out of date, then? | ||
moritz_ | so my @reconstituted = eval $dehydrated; | ||
should be | |||
my @reconstituted = @( eval $dehydrated ); | 21:27 | ||
second problem: checking for the form ( , ) isn't allowed, strictly speaking | |||
.perl is allowed to emit any working code | |||
so <foo bar baz> would be allowed | 21:28 | ||
or ['foo', 'bar', 'baz'].list | |||
KyleHa | That's kind of what I thought, but the ticket implied a strict requirement of parens. | ||
Glad I was wrong on that one. | |||
moritz_ | I understood that as "that would be more correct than what we have right now" | 21:29 | |
KyleHa | So List.perl results in [1,2,3], and that's back to being correct? | ||
21:31
nihiliad left
|
|||
pugs_svn | r27720 | kyle++ | [t/spec] Fix RT #63724 tests after feedback from moritz++ | 21:31 | |
21:35
eternaleye left
21:37
justatheory joined
21:41
Whiteknight joined
21:42
maja__ joined
|
|||
moritz_ | no, my example was [...].list | 21:46 | |
of which I don't know exactly if it's correct | |||
problem with [...] is that it constructs an Array, not a List | |||
21:46
perlygatekeeper left
|
|||
jnthn | Hmmpfh. Something's rotten in the MMD narrowness analysis. | 21:46 | |
That or the topological sorter. | |||
21:47
justatheory left,
Limbic_Region joined
|
|||
moritz_ | and in the state of denmark. | 21:48 | |
21:52
maja_ left
|
|||
KyleHa | rakudo: my $a = $b; my $b; | 21:53 | |
p6eval | rakudo dd5767: OUTPUT«Null PMC access in isa()in Main (/tmp/6U4YYz7Ri0:2)» | ||
KyleHa | I think that should live, not die. | ||
...let alone die that way. | |||
moritz_ | it should, because $b is not pre-declared | ||
that's know to happen when the declaration follows on the same line. | 21:54 | ||
jnthn | Should be an error, just not that one. | ||
moritz_ | and there's an auld ticket for that one ;-) | ||
and tests in t/spec/S04-declarations/my.t, or so ;-) | |||
KyleHa | Tests in S04-declarations/my.t imply that before the declaration, the variable exists and is not defined. | 21:55 | |
moritz_ | ouch. | ||
21:55
lumi__ joined
|
|||
KyleHa | eval '$x = "abc"'; my Int $x -- supposed to be a type error | 21:56 | |
moritz_ | erm, that's something else | ||
because eval is run after the declaration | |||
and the declaration is tied to the begin of the block | |||
KyleHa | In "my $a = $b; my $b", the assignment happens after the declaration too. | 21:57 | |
moritz_ | I meant the very first test in that file | ||
KyleHa | Oh, hmmm. | ||
moritz_ | KyleHa: that was badly phrased by me... | ||
KyleHa: in the case with eval, the *parsing* happens after the declaration | |||
KyleHa | Oh yeah. | 21:58 | |
OK, I'm convinced. | |||
jnthn | rakudo: say Any ~~ Object; say Object ~~ Any; | ||
moritz_ | and the lexical pad that eval sees is always that of a whole block | ||
p6eval | rakudo dd5767: OUTPUT«11» | ||
jnthn | shit! | ||
moritz_ | wtf? | ||
and we have no tests for that? | |||
jnthn | *That's* what's broken. | ||
OK, there was a bug in the multi dispatch narrowness analysis too. | |||
I guess after I found one I suspected there must be a further one though. | 21:59 | ||
Whereas actually this one is...well...that. :-| | |||
21:59
b2gills left
|
|||
moritz_ has to retreat to bed | 21:59 | ||
22:03
justatheory joined
22:04
KyleHa left
22:09
dalek left,
dalek joined
22:14
lumi_ left
22:16
SmokeMachine left
22:22
alester left
22:24
colomon left
|
|||
jnthn | OK, looks like patch to fix up Object ~~ Any being true is going to work out, but showed up 2 tests that seem to point to other problems now that bit is straight. | 22:29 | |
Anyway, sleep now...will get this lot landed tomorrow, I hope. | 22:30 | ||
o/ | |||
tann | std: my $s = 8; $s .+> 1; | ||
p6eval | std 27720: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/KXC8yTXzUU line 1:------> my $s = 8; $s ⏏.+> 1; expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminatorFAILED 00:02 37m» | ||
22:35
donaldh_ joined
22:40
davef joined,
davef left
22:41
unitxt joined
22:50
pmurias left
22:56
justatheory left
23:11
frew_ joined
23:12
donaldh_ left
23:20
donaldh left,
donaldh joined,
redicaps joined
|
|||
tann | which syn should i look at for info regarding aliases ie. references? the search on perlcalbal doesn't seem to return anything i'm looking for..thanks | 23:27 | |
23:30
lumi_ joined
23:37
lumi__ left
23:38
hoelzro joined
23:41
explorer left
23:47
hoelzro left
23:49
nihiliad joined
23:53
payload left,
payload joined
23:55
kane_ joined,
fridim_ joined
23:58
kane___ joined
23:59
hoelzro joined
|