perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ Set by mncharity on 25 March 2009. |
|||
skids | std: my @a; @a = do for 1..3 { 1;}; @a.perl.say | 00:03 | |
p6eval | std 26342: OUTPUT«ok 00:02 35m» | ||
00:03
DemoFreak left
|
|||
skids | rakudo: my @a; @a = do for 1..3 { 1;}; @a.perl.say | 00:03 | |
p6eval | rakudo cea34f: OUTPUT«[Perl6Iterator.new()]» | ||
skids | rakudo: my $a; $a = do for 1..3 { 1;}; $a.perl.say; $a.get.say; | 00:04 | |
p6eval | rakudo cea34f: OUTPUT«Perl6Iterator.new()Could not locate a method 'get' to invoke on class 'Perl6Iterator'.current instr.: 'die' pc 17453 (src/builtins/control.pir:225)» | ||
00:05
FurnaceBoy joined
|
|||
skids | rakudo: my @a; @a = do for 1..3 { 1;}; @a.perl.say; @a[0].say | 00:06 | |
p6eval | rakudo cea34f: OUTPUT«[Perl6Iterator.new()]-1» | ||
skids | (which comes from a stopped iterator, I know because in my own tree I have $a.get implemented) | ||
So if the Iterator stopped, where'd the data it produced go to? | 00:07 | ||
00:12
jferrero left
00:21
bacek_ joined
|
|||
skids ponders .iterator versus .Iterator | 00:24 | ||
00:31
ZuLuuuuuu left
00:34
hudnix joined
00:36
japhb left
|
|||
hudnix | perl6: if(1) {say "hello";} | 00:36 | |
p6eval | rakudo cea34f: OUTPUT«Statement not terminated properly at line 1, near "{say \"hell"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)» | 00:37 | |
..pugs: OUTPUT«hello» | |||
..elf 26342: OUTPUT«Parse error in: /tmp/BpPKUqa7Bipanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: if(1) {say "hello";}WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | |||
..STD_red/std.rb:... | |||
hudnix | rakudo: if(1) {say "hello";} | 00:38 | |
p6eval | rakudo cea34f: OUTPUT«Statement not terminated properly at line 1, near "{say \"hell"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)» | 00:39 | |
hudnix | rakudo doesn't even have "if" yet? or has the syntax changed? | ||
00:39
orafu left
|
|||
mikehh | hudnix: yes | 00:40 | |
hudnix | yes to which? :) | ||
skids | ditch the parens | ||
hudnix | rakudo: if 1 {say "hello"} | 00:41 | |
p6eval | rakudo cea34f: OUTPUT«hello» | ||
hudnix | ah ok | ||
00:42
orafu joined
|
|||
skids | (actually you can use the parens, but you'd be asking for the truth value of a "list 1" not of "1" -- it's the lack of space after "if" that really killed your first try. | 00:43 | |
00:51
frew|wor1 joined
00:56
scook0 joined
01:13
kimtaro joined
01:19
awarefish joined
01:26
wayland joined,
meppl joined
|
|||
s1n | hudnix: if(1) is a method call, you'll either need a space before the () or remove them altogether | 01:30 | |
01:30
kimtaro left,
awarefish left
01:32
awarefish joined
01:33
ispy_1 joined
01:34
ispy_ left
01:35
orafu left,
orafu joined
01:37
wayland76 left
01:39
ispy_ joined,
ispy_1 left
01:45
ispy_1 joined,
ispy_ left
01:50
LimbicRegion joined
01:51
awarefish left
01:53
agentzh left
01:54
agentzh joined,
kimtaro joined
02:01
cspencer joined
|
|||
cspencer | good evening all | 02:01 | |
skids | oh hai | 02:05 | |
02:06
Whiteknight left
02:14
Kisu joined,
Limbic_Region left,
LimbicRegion is now known as Limbic_Region
02:16
nsh left
02:19
fridim_ left
02:23
nbrown left,
nbrown joined
02:27
lumi joined,
FurnaceBoy left,
cspencer_ joined
02:33
cspencer left
02:35
cdarroch left
02:38
ispy_1 left
02:43
coppro joined
|
|||
coppro | I'm sure you've heard this a lot, and I apologise for being a broken record, but is there a link to a development roadmap or the like somewhere? | 02:46 | |
cspencer_ | there should be one distributed in the docs/ directory | 02:48 | |
though i'm not sure of how often it's updated | |||
github.com/rakudo/rakudo/blob/cea34...cs/ROADMAP | |||
02:50
alanhaggai joined
|
|||
wayland | Not very often. It says it was in August last year, but I think they actually updated it in November | 02:51 | |
But most of the stuff in section 1 hasn't been completed (with the exception that we've got the beginning of the Setting, which they called the Prelude back then) | 02:52 | ||
coppro | Ah | ||
What about Parrot? | 02:53 | ||
wayland | Parrot's a different kettle of fish :) | ||
They're already at version 1.0 | |||
And while work continues they have a recent ROADMAP somewhere | |||
Don't get the impression that there's no progress on Rakudo, though | 02:56 | ||
coppro | yeah, I don't | ||
wayland | They've been getting a fair bit done, but not following the ROADMAP | ||
coppro | Although I'm a bit confused how the eventual deployment of Perl 6 is going to go | ||
02:56
eternaleye joined
|
|||
coppro | Pugs => initial Perl 6 => runs on Parrot => Rakudo => self-boostraps? | 02:56 | |
wayland | Pugs is mothballed | 02:57 | |
coppro | oh | ||
wayland | Rakudo = Perl6 on Parrot | ||
coppro | yeah | ||
cspencer_ | coppro: there're multiple implementations of perl6 in various states of completion | ||
wayland | But Perl6 is a spec, and Rakudo is an implementation of that spec | ||
coppro | right | ||
wayland | SMOP is another one | ||
coppro | What's Rakudo written in? | 02:58 | |
skids | PIR | ||
cspencer_ | PIR and some Perl 6 | ||
wayland | SMOP is in C, and is intended to integrate well with Perl5 | ||
coppro | ah, I get it now, you're writing directly in Parrot | ||
okay | |||
wayland | But also Perl6 now | ||
They've got to the point where parts of Perl6 can be implemented in Perl6 | 02:59 | ||
cspencer_ | and writing perl6 in perl6 is so much nicer than PIR | ||
wayland | That's called the Setting | ||
cspencer_ | :) | ||
wayland | Parrot Roadmap: trac.parrot.org/parrot/wiki/ParrotRoadmap | ||
skids | Also as Parrot adds stuff the PIR becomes smaller, because there are more features to use. | ||
coppro | neat | ||
anyways, I have to go, but thanks! | |||
wayland | ok :) | ||
bye | |||
skids | Eventually, rakudo will also integrate STD.pm, which is the self-parsing grammar, and is both a standard and code. | 03:00 | |
coppro | my head is starting to spin | 03:01 | |
03:01
coppro left
|
|||
skids remonds self not to scare newbies with acronyms | 03:01 | ||
03:01
silug joined,
meppuru joined
03:06
Limbic_Region left
03:09
alanhaggai left
03:17
meppl left
03:27
japhb joined
03:28
alanhaggai joined
|
|||
wayland | skids: remond yourself all you want, but don't redmond yourself :) | 03:30 | |
03:33
nbrown left
03:36
perlooooooooo joined
|
|||
perlooooooooo | helllo | 03:36 | |
03:36
agentzh left
|
|||
perlooooooooo | i am trying to develop a email extractor and i get an odd error | 03:37 | |
can anyone help me? | |||
03:43
orafu left,
orafu joined
|
|||
skids | in perl6? | 03:43 | |
03:44
justatheory left
|
|||
skids | wayland: I never redmond anything :-) | 03:44 | |
wayland | skids: Me either, if I can help it. | 03:57 | |
03:59
MrKrueger joined
|
|||
perlooooooooo | thank you guys | 04:03 | |
do you want to see my code? | 04:04 | ||
wayland | perlooooooooo: Yes, but in a pastebin. | 04:06 | |
sial.org/pbot/perl6 | |||
perlooooooooo | ok | ||
wayland | Got to that website, and paste your code in. A message should automatically appear in this channel saying that it's there | ||
perlooooooooo | pastebin.com/m6e6b4bb1 | 04:08 | |
buubot | perlooooooooo: The paste m6e6b4bb1 has been copied to erxz.com/pb/17149 | ||
perlooooooooo | so | ||
i have a function that should extcrat all the first email of a url from craiglist | |||
c9s | oooooooooo | ||
perlooooooooo | when i dont use it as a function it works perfectly | 04:09 | |
i dont undestand where is the problem | |||
04:15
meppuru left
|
|||
perlooooooooo | Missing base argument at /usr/local/share/perl/5.8.8/HTTP/Response.pm line 91 | 04:17 | |
i have this error | |||
Missing base argument at /usr/local/share/perl/5.8.8/HTTP/Response.pm line 91 | |||
what is it? | 04:18 | ||
pleaaaaaaaaase | |||
04:21
frew|wor1 left
|
|||
skids | I haven't worked with HTTP:: in quite some time. | 04:26 | |
there would be more people who work with it on the main perl channel. | |||
wayland | perlooooooooo: Note that this is a Perl 5 problem. If you join #perl, I'll try to help you there. | ||
perlooooooooo | ok | 04:27 | |
wayland | This is a channel for Perl 6, not perl 5 :) | ||
perlooooooooo | thanks | ||
04:27
eternaleye_ joined
04:31
cspencer_ left
04:39
perlooooooooo left
|
|||
wayland | Turns out perloooooo was probably a spammer. No more help for him. | 04:41 | |
04:42
wayland is now known as wayland76
04:47
MrKrueger left
04:55
eternaleye left
04:56
agentzh joined
05:12
payload joined
05:13
ticos joined
05:17
PZt joined
05:18
skids left,
ezeki3l left
05:24
meppl joined
|
|||
wayland76 | moritz_++ # ARGH e-mail :) | 05:29 | |
05:30
justatheory joined
05:36
justatheory left
05:41
eternaleye_ is now known as eternaleye
05:45
andreas12345647 joined
05:46
andreas12345647 left,
aff joined
06:02
awwaiid left
06:20
DemoFreak joined
06:32
ticos left
|
|||
moritz_ | ;) | 06:34 | |
pugs_svn | r26343 | moritz++ | [t/spec] fix some svn props | ||
06:44
amoc joined
06:50
ejs joined
06:52
kimtaro left,
ejs left
06:53
ejs joined,
iblechbot joined
06:57
ejs left,
ejs joined
07:04
cj left
07:07
cj joined
07:11
payload left
|
|||
Matt-W | Morning | 07:21 | |
07:30
payload joined
|
|||
wayland76 | Not here it's not :) | 07:32 | |
rakudo: sub judge { rand > 0.5 ? "guilty" : "not guilty"; }; say judge, "have you seen my toothbrush"; | 07:33 | ||
p6eval | rakudo cea34f: OUTPUT«Statement not terminated properly at line 1, near "? \"guilty\""current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)» | ||
wayland76 | rakudo: sub judge { rand > 0.5 ?? "guilty" :: "not guilty"; }; say judge, "have you seen my toothbrush"; | 07:34 | |
p6eval | rakudo cea34f: OUTPUT«ResizablePMCArray: Can't pop from an empty array!current instr.: 'parrot;PGE;OPTable;parse' pc 1809 (compilers/pge/PGE/OPTable.pir:504)» | ||
wayland76 | That looks like a bug. Is it a known bug? | ||
moritz_ | I think so | 07:35 | |
it should complain about :: vs. !! | |||
07:46
charsbar joined
|
|||
wayland76 | rakudo: sub judge { rand > 0.5 ?? "guilty" !! "not guilty"; }; say judge, "have you seen my toothbrush"; | 07:48 | |
p6eval | rakudo cea34f: OUTPUT«guiltyhave you seen my toothbrush» | ||
wayland76 | rakudo: sub judge { rand > 0.5 ?? "guilty" !! "not guilty"; }; say judge, "have you seen my toothbrush"; | 07:49 | |
07:49
masak joined
|
|||
p6eval | rakudo cea34f: OUTPUT«guiltyhave you seen my toothbrush» | 07:49 | |
wayland76 | rakudo: sub judge { rand > 0.5 ?? "guilty" !! "not guilty"; }; say judge, "have you seen my toothbrush"; | ||
p6eval | rakudo cea34f: OUTPUT«guiltyhave you seen my toothbrush» | ||
wayland76 | rakudo: say rand | ||
p6eval | rakudo cea34f: OUTPUT«0.291138380141096» | ||
wayland76 | rakudo: sub judge { rand > 0.5 ?? "guilty" !! "not guilty"; }; say judge, "have you seen my toothbrush"; | ||
p6eval | rakudo cea34f: OUTPUT«not guiltyhave you seen my toothbrush» | ||
wayland76 | Good :) | ||
std: sub judge { rand > 0.5 ?? "guilty" :: "not guilty"; }; say judge, "have you seen my toothbrush"; | |||
p6eval | std 26343: OUTPUT«##### PARSE FAILED #####Malformed routineFound ?? but no !!; possible precedence problemPlease use !! rather than :: at /tmp/I5HYeKHWiG line 1:------> sub judge { rand > 0.5 ?? "guilty" :: "not guilty"; }; say judge, "have you expecting any of: infix or | 07:50 | |
..met... | |||
wayland76 | Well, not a bug worth submitting, then, I think :) | ||
masak | wayland76: there's one about ?? :: already in RT. | 07:52 | |
lambdabot | masak: You have 2 new messages. '/msg lambdabot @messages' to read them. | ||
masak | @massage | ||
lambdabot | moritz_ asked 15h 9m 39s ago: do you know if there were any tests for RT #61128? | ||
moritz_ said 14h 32m 37s ago: never mind, I just added one | |||
masak | moritz_++ | ||
masak backlogs | |||
07:56
riffraff joined
08:04
cosimo joined
|
|||
Matt-W | yay more tests | 08:06 | |
masak | Matt-W: morning, sir. | 08:07 | |
Matt-W | Good morning! | ||
If you see me this evening, please nag | |||
I must do some more Form.pm | |||
got to figure out why it's crashing Rakudo and file a bug | 08:08 | ||
masak | Matt-W: was just going to ask about that. | ||
Matt-W: oh, it's crashing Rakudo? | |||
Matt-W | Yeah | ||
masak suddenly gets curious | |||
masak does './proto update form' | |||
Matt-W | I wrote a fairly primitive full justification method, and the first time I called it it crashed Rakudo | ||
it's not in github yet | |||
I was feeling fairly ill at the time so I didn't follow it up straight away | |||
masak | Matt-W: please upload a branch or something. | ||
Matt-W | I can do it later, can't get at the code from my office | 08:09 | |
masak | ah, ok. | ||
Matt-W | IT's on the laptop at home, which is asleep | ||
masak | I see. | ||
Matt-W | I used quite a few things in that method that I've not used before, so I currently have numerous candidates for the cause of the crash | ||
I used [+] and map :) | 08:10 | ||
and Z | |||
or did I use Z in the end | |||
pmichaud | grrrr... | ||
Matt-W | can't remember now | ||
pmichaud | who removed prefix:<=> from Rakudo? | 08:11 | |
Matt-W | I think I did | ||
pmichaud: not me! | |||
pmichaud | I'd prefer not to break existing scripts and slides so abruptly. | ||
moritz_ | pmichaud: it was me | ||
pmichaud: I can add it back in if you want | |||
pmichaud | Until people have time to update their modules, tutorial slides, etc., I'd prefer to keep things working. | 08:12 | |
I.e., given that more people are using rakudo now, we need to start thinking in terms of deprecation cycles. | |||
masak | phenny: ah, new bot. welcome. | 08:13 | |
.u smiley | |||
phenny | masak: Sorry, no results for 'smiley'. | ||
pmichaud | or, if we don't honor prefix:<=>, we need to at least provide a useful error message that tells someone why the information on the slide they just read isn't working properly, instead of making them guess. | ||
masak | .u white smiling | 08:14 | |
phenny | U+263A WHITE SMILING FACE (☺) | ||
moritz_ | what's the currently recommend method of dying from PIR in rakudo? | 08:15 | |
pmichaud | 'die' | 08:18 | |
08:18
kidd` joined
|
|||
pmichaud | 'die'('message') | 08:18 | |
moritz_ | ok, I have a patch, let me test that... | 08:19 | |
pmichaud: nopaste.snit.ch/16355 feel free to push that, I can't push from $here :/ | 08:23 | ||
pmichaud | okay | 08:24 | |
masak | literal: congrats on being accepted for gsoc. :) | 08:25 | |
frettled | pmichaud: BTW, how far did you guys get on the roadmap? | ||
masak | literal: how long do I have to implement P2T1A before you dig into your stuff? | ||
pmichaud | frettled: you mean on creating the updated one? | ||
frettled | pmichaud: yup | 08:26 | |
08:27
[particle] joined
|
|||
pmichaud | we got the basic pieces in place. I expect to be updating the ROADMAP on the airplane. | 08:28 | |
dalek | kudo: 0e73267 | pmichaud++ | docs/ChangeLog: Update ChangeLog. |
||
kudo: 69b3180 | pmichaud++ | src/ (2 files): Restore prefix:<=> to provide a useful error message (moritz++) |
|||
pmichaud | (i.e., turning it into something more readable/useful) | ||
moritz_ | pmichaud: if you apply such patches with 'git-am' you automatically preserve meta data | 08:29 | |
pmichaud | moritz_: oh yeah. | ||
frettled | Ah, that's excellent. I was worrying that you might have been out of time yesterday. :) | ||
moritz_ | (I have no problem with this kind of attribution, just think it's nicer to our contributors) | 08:30 | |
and git-am -s adds a signed-off-by lines | |||
pmichaud | yes, but git's "patch" isn't quite as robust as the standard "patch" | ||
moritz_ | yes, ti seems to have problems with cr/lf issues | ||
pmichaud | also it doesn't seem to work well whenever there's an offset | 08:31 | |
jnthn | morning folks | 08:35 | |
pmichaud | good morning, jnthn | ||
wireless working at the hotel again? | |||
jnthn | yeah | ||
pmichaud | or are you someplace else now? | ||
jnthn | though I gotta check out in not so long | ||
Plan to walk around Oslo for a bit. | |||
Then gotta head for airport at 4pm-ish. | |||
pmichaud | svn.pugscode.org is down? | 08:36 | |
aff | Thank you guys for coming to Oslo and for making NPW an interesting event! | ||
pmichaud | I can't seem to update t/spec here. | ||
aff: Oslo and NPW have been great. | |||
jnthn | I can reach it... | 08:37 | |
moritz_ | seems to work here | ||
jnthn | Yes, NPW was excellent. | ||
pmichaud | svn: PROPFIND of '/pugs/t/spec': Could not read status line: connection was closed by server (svn.pugscode.org) | ||
maybe it's some weird airport network issue. | |||
aff | pmichaud and jnthn: I enjoyed your talks very much. | ||
pmichaud | I can reach svn.pugcode.org via http | 08:38 | |
frettled | ditto, I learned lots from you guys. | ||
aff | I am porting my first application to p6 :) | 08:39 | |
pmichaud | aff: excellent! That's exactly what helps us most. | ||
wayland76 | Matt-W needs Wake-on-LAN on his laptop :) | ||
Matt-W | it's on wifi | 08:40 | |
I don't think you can do it on wifi | |||
what I should do is have the code mirrored on my LAN server | |||
and set that up for remote login | |||
moritz_ | wake-on-air? :-) | ||
pmichaud | my laptop has "wake on power button". | 08:41 | |
ahhhh, svn up works now. | |||
Good. | |||
wayland76 | Yay ROADMAP updates :) | ||
moritz_ | usually wake != boot | ||
wayland76 | Someone was asking about the Perl6 ROADMAP earlier today, and We pointed him at the one that claims not to have been updated since August last year :) | 08:42 | |
pmichaud | Would like to have up-to-date spectests before getting on plane | ||
Matt-W | mine does wake on open lid :) | ||
pmichaud | the file hasn't been updated much since August of last year. | ||
Matt-W | I'll have to build a robot which I can get to open the lid over the internet | ||
wayland76 | Just don't control the robot from your laptop :) | ||
frettled | heh | 08:43 | |
moritz_ | that somehow reminds me of a nice little story... thedailywtf.com/Comments/Open-Sesame.aspx | ||
08:43
kane__ joined,
[particle]- left
|
|||
moritz_ | probably the ssh solutions was much safer than any card reader (unless they used a broken random number generator :) | 08:44 | |
frettled | heh | 08:45 | |
08:46
bacek_ left
08:49
kane__ left,
kane__ joined
08:50
agentzh left,
agentzh joined
|
|||
masak | rakudo: multi method dispatch(@chunks, %param?) { say defined %param }; dispatch([1,2,3]); dispatch([1,2,3], { "OH" => "HAI" }) | 08:55 | |
p6eval | rakudo 69b318: OUTPUT«No applicable candidates found to dispatch to for 'dispatch'current instr.: '_block14' pc 106 (EVAL_17:52)» | ||
masak | bug in Rakudo or in masak? | ||
moritz_ | s/method/sub/? | ||
masak | moritz_: ah, thank you. | ||
frettled | and where do we post masak bugs, anyway? | ||
moritz_ | frettled: [email@hidden.address] | 08:56 | |
oh wait | |||
masak | frettled: [email@hidden.address] :P | ||
frettled | :) | ||
masak: \o/ | |||
masak | frettled: you can't submit them through the web interface, only mail. | ||
08:56
yahooooo joined
|
|||
frettled | masak: and I suppose patches are submitted via BK instead of svn or git ;) | 08:57 | |
moritz_ | BK? | 08:58 | |
masak | Burger King? | ||
frettled | BitKeeper | ||
jnthn | I CAN HAZ CHEEZBURGER! | ||
frettled | ohnoes | 08:59 | |
masak | rakudo: class A { multi method dispatch(@chunks, %param?) { say %param.perl, defined %param } }; A.new.dispatch([1,2,3]); A.new.dispatch([1,2,3], { "OH" => "HAI" }) | ||
jnthn | ohnoes now I can't | ||
p6eval | rakudo 69b318: OUTPUT«{}1{"OH" => "HAI"}1» | ||
masak | I'm slightly surprised that the former is defined. | ||
but maybe it has to be that way. | |||
moritz_ | masak: that's because %param is an instance | ||
masak | an instance? | ||
Matt-W writes some Perl 5 and finds it very strange | 09:00 | ||
moritz_ | objects | ||
jnthn | An instance of Hash | ||
moritz_ | objects of normal classes are always defined | ||
jnthn | ohnoes I have to check out | ||
masak | ok, you two don't seem to think this is an error, so I guess it isn't :) | ||
jnthn | catch y'all later :-) | ||
masak | jnthn: o/ | ||
Matt-W: I find the more frequently you switch, the easier it becomes. | 09:01 | ||
wayland76 | bye :) | ||
09:04
payload left
|
|||
masak | rakudo: my %h = { foo => "1" }; %h<foo bar baz> //= 2,3,4; say %h.perl | 09:05 | |
p6eval | rakudo 69b318: OUTPUT«{"foo" => "1", "bar" => undef, "baz" => undef}» | ||
frettled | masak: I think I grokked the code in your previous example now, and yes, I think it makes sense that it works the way it did. | ||
masak | frettled: with the instantiated hash? | 09:06 | |
moritz_ | but the last one is... weird | ||
frettled | masak: yep | ||
masak | frettled: well, I just want a simple way to test if the parameter was passed. | ||
moritz_: submit a rakudo/ | |||
...bug? | |||
I was thinking maybe some interaction between list assignment and defined-or disallows that. | 09:07 | ||
09:08
payload joined,
rblasch joined
|
|||
moritz_ | masak: I think it's a manifestation of a different bug | 09:09 | |
masak | which one? | ||
moritz_ | it's ok that the //= does nothing | ||
but mentioing %foo<bar> autovivifies it | |||
frettled | argh, I forgot that Firefox is _very_ unhappy about searching through any of perlcabal.org/syn/S*.html. | 09:10 | |
moritz_ | rakudo: my %h; %h<foo>; say %h.perl | ||
p6eval | rakudo 69b318: OUTPUT«{"foo" => undef}» | ||
moritz_ | masak: that's long known and ugly | ||
masak | moritz_: still, assigning with //= should overwrite the undef value. | 09:11 | |
frettled | masak: Anyway, S06/Optional parameters/ - "Missing optional arguments default to their default values, or to an undefined value if they have no default." | ||
masak | moritz_: or do the autovivification and the assignment happen in the wrong order? | ||
frettled | masak: so it appears that there is a bug, then, since you haven't specified a default for %param | ||
moritz_ | masak: does //= dwim over lists values? | ||
masak: if so, where's that specced? | |||
masak | frettled: or maybe {} is the default for Hash... | ||
moritz_: that's part of what I'm wondering. | 09:12 | ||
moritz_: and if not, how does one write what I meant? | |||
moritz_ | masak: maybe you need a hyper | ||
frettled | masak: the way I read the spec, the default values are the ones you specify in the sub declaration. | ||
09:12
amoc left
|
|||
Matt-W | masak: I think you might be right - it works for musical instruments, anyway. | 09:13 | |
moritz_ | for <a b c> Z 1, 2, 3 -> $k, $v { %h{$k} //= $v } | ||
masak 's head explodes from three conversations at once | 09:14 | ||
wayland76 | masak: Let's talk about having multiple conversations too :) | ||
masak | :) | ||
frettled | :) | ||
moritz_ | frettled: if %h were undef, you couldn't assign values to it | ||
masak | ack. it's more dwimmy that it's {}. | 09:15 | |
wayland76 | rakudo: for <a b c> Z 1, 2, 3 -> $k, $v { %h{$k} //= $v } | ||
frettled | moritz_: hrm, that's breaking the principle of least surprise. | ||
p6eval | rakudo 69b318: OUTPUT«Scope not found for PAST::Var '%h' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:104)» | ||
masak | but... I just want a nice way to see if the hash was passed or not. | ||
moritz_ | frettled: maybe tye spect needs to be updated to only refer to scalar optional parameters | ||
s/tye/the/ | |||
rakudo: my %h = a => 5; for <a b c> Z 1, 2, 3 -> $k, $v { %h{$k} //= $v }; say %h.perl | 09:16 | ||
frettled | moritz_: or to allow assignment to undefined non-scalars ;) | ||
p6eval | rakudo 69b318: OUTPUT«{"a" => 5, "b" => 2, "c" => 3}» | ||
moritz_ | frettled: that would be much weirder, overall | ||
frettled | moritz_: would it? | ||
moritz_ | frettled: yes. | 09:17 | |
frettled | moritz_: I don't see how, though. | ||
moritz_ | frettled: if you have an undef value, it's usually not a "normal" object, but a proto object | ||
09:17
nnunley left
|
|||
moritz_ | frettled: so if a default value is such a proto object, a %h<a> = 3 would call the postcircumfix:<< < > >> method as a class method | 09:18 | |
frettled: which doesn't have access to attributes - so it's going to barf | |||
masak | moritz_: what does 'my %h;' do? | ||
moritz_ | masak: it calls Hash.new under the hood, I assume | 09:19 | |
masak | then it can be argued that '%h?' should, too. | ||
frettled | moritz_: so essentially, it's been designed into a corner where you can't get out of without getting hacks all over your feet ;) | ||
moritz_ | frettled: right | ||
frettled | moritz_: $expletive | ||
moritz_ | frettled: of course there are other options... | ||
frettled | moritz_: yes, _is rw_, for instance, seems like it would help. | 09:20 | |
frettled is a Perl 6 spec n00b, though. | |||
moritz_ | frettled: like having %h? defaulting to a Hash.new(defined => 0) or so | ||
frettled | moritz_: no, that's the wrong solution, becaus it still means you can't say whether you got passed an empty hash or not. | ||
s/caus /cause/ | 09:21 | ||
moritz_ | frettled: you could, because an empty hash defaults to being defined | ||
frettled | ah, I misunderstood the magic | ||
frettled <- stupid. | |||
moritz_ | but there's a drawback... every modifying call to a hash would have to set its defined flag | 09:22 | |
frettled | mm | ||
I think this is a design weakness. | |||
moritz_ | the problem is that we're doing in-band communication | 09:23 | |
instead of asking the hash parameter if it was defined, we should ask the capture if that hash was given | |||
masak | aye. | 09:24 | |
moritz_ | especially since objects can respond with False to .defined at will anyway | ||
frettled | the way you put it, it seems like there is a straight-forward way of doing so, and that would be good. | ||
Conceptually, that's much cleaner than asking the variable. | |||
moritz_ | the simplest solution that works with the current spec is to split it into two multis | 09:25 | |
but that's not always convenient | |||
09:26
agentzh left
|
|||
frettled | I was considering to suggest that, but I thought it would be neater to use the optional argument as, well, optional. | 09:26 | |
09:26
agentzh joined
|
|||
frettled | In more complex cases it would make more sense to create multiple methods. | 09:26 | |
(going Java) | 09:27 | ||
There doesn't appear to be a test for this in S06, though. Unless I'm misreading the tests or missing a test, only scalars are tested. But my test-fu is weak. | 09:29 | ||
09:29
pmurias joined
|
|||
moritz_ | frettled: it might well be missing... but let's try to get clarification on the spec first, and then write tests :-) | 09:30 | |
frettled | moritz_: yep. | ||
moritz_: though the spec is pretty clear about it, really, I just had to read the right part of it. | |||
It's right there in the intro of S06/Parameters and arguments/ | 09:31 | ||
It speaks of "container argument" as opposed to a scalar. | |||
09:31
payload left
09:32
payload joined
|
|||
frettled | so if anyone has the test-fu to write a test for testing whether optional hash and array parameters are 1) immutable, 2) defined with their correct default value, and 3) handles correctly with is rw, is copy, etc. | 09:37 | |
...that would be nice. Then I can leech on and see how that's tested. :D | |||
09:38
kidd` left
|
|||
frettled | Lunch in T-19 minutes | 09:41 | |
masak | frettled: that's mixing of two constructs. :) it's either just "T minus 19" or "lunch in 19 minutes"... | 09:43 | |
Matt-W | my lunch today will include arguments | 09:44 | |
antiphase | t(lunch) = NOW() + 19; | ||
09:46
mhsparks joined
09:52
rindolf joined
|
|||
frettled | masak: Ah, but I didn't tell you what T was. *waves arms desperately* | 09:57 | |
masak | :P | ||
you'd probably need to redefine infix:<-> as well. | |||
10:03
patmat joined
|
|||
wayland76 | class T { return -NOW() }; | 10:04 | |
pugs_svn | r26344 | pmurias++ | [re-smop] LOST compiles (the MESSAGE is still empty) | ||
masak | wayland76: a slight nit: you can't return from a class body. | 10:05 | |
wayland76 | That's why I didn't send it to rakudo :) | 10:06 | |
Ah, I know... | |||
masak | rakudo: class A { method closure() { return { say $!greeting } } }; class B { has $!greeting; method run-code(Callable $c) { $c() } }; B.new().run-code( A.new().closure() ) | ||
p6eval | rakudo 69b318: OUTPUT«No such attribute '$!greeting'current instr.: 'parrot;A;_block29' pc 347 (EVAL_22:129)» | ||
wayland76 | class T { new { return -NOW() } }; | ||
masak | that works. | ||
'method new', though. | |||
wayland76 | masak is a fully-implemented perl6 compiler :) | 10:07 | |
rakudo: class T { method new { return -NOW() } }; | |||
p6eval | rakudo 69b318: ( no output ) | ||
masak | rakudo: class A { has $!greeting = "I'm guessing this is actually the specced behaviour"; method closure() { return { say $!greeting } } }; class B { has $!greeting; method run-code(Callable $c) { $c() } }; B.new().run-code( A.new().closure() ) | 10:08 | |
p6eval | rakudo 69b318: OUTPUT«I'm guessing this is actually the specced behaviour» | ||
masak | Rakudo++ | ||
10:09
agentzh left,
agentzh joined
10:12
payload left
10:22
orafu left,
orafu joined
|
|||
aff | Is hash:delete not implemented yet? | 10:26 | |
masak | aff: correct. only %h.delete($key) | 10:27 | |
aff | masak: Thanks | ||
pugs_svn | r26345 | pmurias++ | [re-smop] SMOP__NAGC__RI__create takes a WEAKREF argument | 10:29 | |
10:32
orafu left,
orafu joined
10:35
ascent__ joined,
ascent__ left
10:36
pjcj joined,
rindolf left
10:43
agentzh left
10:47
Maghnus left
10:48
Maghnus joined,
iblechbot left
10:51
patmat left
11:02
phenny left,
orafu left,
orafu joined
11:04
mikehh left
11:08
azawawi joined
11:14
smtms joined
11:18
orafu left,
orafu joined
11:38
iblechbot joined
11:40
jedai left
11:44
fridim_ joined
11:47
rgs left
|
|||
moritz_ | masak: yes, it's specced like that... $!greeting is not a lexical, so a block won't close over it | 11:49 | |
masak | but note that the block did in effect close over it. | 11:50 | |
moritz_ | how so? | ||
it's a method, so it has access to the attributes | 11:51 | ||
I don't see any closing. | |||
masak | the closure uses the 'self' defined in the closure() method, even though it's called in the run-code($c) method. | 11:56 | |
pugs_svn | r26346 | pmurias++ | [re-smop] LOST passes tests | 11:58 | |
11:59
nsh joined
12:03
abra joined
12:04
Psyche^ joined
12:07
Patterner left,
Psyche^ is now known as Patterner
12:10
azawawi left
12:13
cosimo left
|
|||
masak | class A { has Callable $.c; method foo() { say defined $.c } }; A.new.foo | 12:20 | |
I must say this is highly counterintuitive. | |||
rakudo: class A { has Callable $.c; method foo() { say defined $.c } }; A.new.foo | |||
p6eval | rakudo 69b318: OUTPUT«1» | ||
masak | if that one is defined, what in the world is it defined to be? | 12:21 | |
12:21
ihrd joined
|
|||
masak | I feel both this case and the case with the default parameters undermines the whole concept of definedness. | 12:23 | |
to me, 'defined' should be able to show whether the variable in question has been assigned to, initialized etc. | 12:24 | ||
moreover... | 12:27 | ||
rakudo: class A { has $.c; method foo() { say defined $.c } }; A.new.foo | 12:28 | ||
p6eval | rakudo 69b318: OUTPUT«0» | ||
masak | now it works as we all expect it to! | ||
so the current behaviour is actually a kind of punishment for adding types! | |||
frettled | muahaha | ||
masak mutters inaudibly | 12:29 | ||
frettled | masak: it's a shame that you never got to hear sjn and I practice our evil laughter. | ||
masak | frettled: looking forward to hearing it next time we meet. | 12:30 | |
frettled | masak: that's a deal! | ||
baest | masak: I think it's only Roles | 12:31 | |
frettled | yes, we play them as best we can. | ||
baest | rakudo: class B { }; class A { has B $.c; method foo() { say defined $.c;} }; A.new.foo' | 12:32 | |
LylePerl | pmichaud: The issue I was having on Vista turned out to be an issue with Rakudo's realclean and not the code itself. | ||
p6eval | rakudo 69b318: OUTPUT«Statement not terminated properly at line 1, near "'"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)» | ||
baest | rakudo: class B { }; class A { has B $.c; method foo() { say defined $.c;} }; A.new.foo'; | ||
LylePerl | pmichaud: Maybe that's the same issue on Darwin? | ||
p6eval | rakudo 69b318: OUTPUT«Statement not terminated properly at line 1, near "';"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)» | ||
baest | rakudo: class B { }; class A { has B $.c; method foo() { say defined $.c;} }; A.new.foo; | ||
p6eval | rakudo 69b318: OUTPUT«0» | ||
baest | sorry for the noise | ||
masak | baest: I think you're right. | ||
but I don't think roles should behave like this either. | |||
baest | indeed | ||
would be _very_ weird | 12:33 | ||
frettled | And the guys who can answer conclusively are either having a good walk in the sunshine or on their way to/from an airport. | 12:34 | |
masak | moritz_ seemed to argue earlier that the optional-params case was correct. | ||
frettled | Yes, at least correct according to spec, and as far as I could tell, it was. | 12:37 | |
masak | right. | 12:38 | |
that's why I'm not submitting it as a rakudobug, because it's really a spec issue. | |||
by the way, what's a way to write an empty code block in Perl 6? | 12:39 | ||
frettled | But SomeonexAE should probably write new tests. I don't know how yet. :) | ||
masak | i.e. 'my Callable $c = ...' | ||
frettled | oh, an empty anonymous/implicit sub? | 12:40 | |
masak | rakudo: my Callable $c = -> {} | ||
p6eval | rakudo 69b318: ( no output ) | ||
masak | ah, that's the way. | ||
frettled | That was almost too easy. | ||
no black candles or goats necessary. But then again, it's not SCSI. | 12:41 | ||
masak | frettled: the important point being that the 'obvious' solution is wrong here. | 12:42 | |
rakudo: my Callable $c = {} | |||
p6eval | rakudo 69b318: OUTPUT«Type mismatch in assignment.current instr.: 'die' pc 17466 (src/builtins/control.pir:225)» | ||
masak | because {} is an empty Hash. | ||
rakudo: say Hash ~~ Callable | |||
p6eval | rakudo 69b318: OUTPUT«0» | ||
frettled | masak: Yes, and I don't think I quite got an answer to how to check whether an argument was used in any other way than doing multiple dispatch to eliminate the alternatives. | 12:44 | |
masak | frettled: indeed. | ||
this discussion is not-yet-resolved. | 12:45 | ||
frettled | Since defined() obviously isn't the correct way to do it, an alternative method is necessary, e.g. another property for each parameter that's specified in the sub/method definition. | ||
That would be quite useful, since it allows us to separate between the following cases: | 12:46 | ||
1) The parameter was not used. | |||
2) The parameter was used, but was undefined. | |||
I'm not eager to fight for this, since I'm not sure where the snowball will stop rolling. | 12:47 | ||
masak | whoa, "obviously isn't the correct way"? please explain -- I didn't know it was obvious that it isn't the correct way, let alone that it isn't the correct way... | ||
frettled: for a typed variable, the case 2) will never occur. | 12:48 | ||
s/variable/parameter/ | |||
frettled | masak: ah, right, that was mentioned earlier as well. | ||
I used "obviously" loosely; it's not quite obvious to me that this is the way it _ought_ to be, but it's obvious that it's the way it _is_. | 12:49 | ||
masak | ah. :) | ||
I think 'defined' should be used to test whether a variable, parameter or attribute has been initialized. | 12:50 | ||
I think that typing shouldn't affect this maxim. | |||
frettled | Yup. | 12:53 | |
As I said before, it breaks with the principle of least surprise, and it also breaks with the principle of not having special exceptions for common cases. | |||
masak | mm. | 12:54 | |
I think I'm ready to submit a rakudobug after all. | |||
but it'll be one helluva rakudobug... :) | |||
masak submits | |||
aff | In a function call, must the argument list follow a function name without whitespace in between? | 12:59 | |
E.g. ok(sum (1,2,3) == 6); | |||
use Test; plan 2; sub sum (*@numbers) { return [+] @numbers; }; ok(sum(1,2,3) == 6); ok(sum (1,2,3) == 6); | 13:00 | ||
I get not ok 2 | |||
masak | rakudo: say +(sum (1,2,3)) | 13:01 | |
p6eval | rakudo 69b318: OUTPUT«Could not find non-existent sub sumcurrent instr.: '_block14' pc 85 (EVAL_16:49)» | ||
masak | rakudo: sub sum (*@numbers) { return [+] @numbers; }; say +(sum (1,2,3)) | ||
p6eval | rakudo 69b318: OUTPUT«6» | ||
masak | rakudo: sub sum (*@numbers) { return [+] @numbers; }; say +(sum (1,2,3) == 6) | ||
p6eval | rakudo 69b318: OUTPUT«0» | ||
masak | aff: the expression (1,2,3) == 6 is treated as one value and sent as a param to sum. | 13:07 | |
aff | Not a bug then? | 13:08 | |
masak | don't think so. | ||
aff | Ok thanks | ||
masak | use parentheses. :) | ||
frettled | hmm. | 13:10 | |
rakudo: sub sum (*@numbers) { return [+] @numbers; }; say +(sum <1 2 3> == 6) | |||
p6eval | rakudo 69b318: OUTPUT«0» | ||
frettled | just curious :) | ||
masak | I guess the answer can be formulated like this, too: infix:<==> has higher precedence than listop function calls. | 13:13 | |
frettled | mm | 13:15 | |
Just use the periodic table of operators (GIYF). Caveat: there are two syntax changes since it was updated in February. | 13:16 | ||
aff | Ok thanks guys | 13:18 | |
13:19
patmat joined
13:20
cosimo joined
|
|||
frettled | masak: Emacs? Jolly good! | 13:20 | |
masak | frettled: I'm sorry? :) | 13:21 | |
13:21
aff left
13:22
ihrd left
|
|||
frettled | masak: I just asked for your IRC client's version, it responded with ERC 5.2, which runs under Emacs. So, does that mean you have syntax hilighting for Perl 6 in Emacs? :D | 13:22 | |
masak | frettled: I don't use Emacs much to write Perl 6 code. | 13:23 | |
frettled | I was wondering why people us e.g. <==> to quote == instead of using bold, underline or inverse. | ||
masak | I prefer vim for coding. | ||
patmat | is there an actual, really good ebook/tutorial for Perl6 in the net? | 13:25 | |
i mean for programming newbies | |||
frettled guesses "no". | 13:26 | ||
masak | patmat: unfortunately not, only bits and pieces. | ||
patmat | :( | ||
masak | patmat: on the other hand, the current implementations are equally fractured and incomplete, so you'd need a high quotient of patience and research anyway. | ||
patmat | ok so i let it be :P | 13:27 | |
at the moment | |||
masak | patmat: I have a bunch of recommended reading for you though, if you plan to stay long enough to let me remember it. | ||
especially moritz_++'s perl5-to-perl6 blog posts. | |||
frettled | I suspect that programming newbies might be better off learning another language, as the situation is right now. | ||
masak | (assuming you have prior Perl 5 experience) | ||
frettled | I'd even go so far as to suggest that programming newbies don't look at Perl 5 either. | 13:28 | |
masak | frettled: well, it's theoretically possible to learn programming by learning Perl 6. | ||
frettled: but it'll be a tough ride. :) | |||
frettled | masak: it's also _practically_ possible to learn programming without learning a programming language. :) | ||
13:28
ejs left
|
|||
masak | frettled: I'd tend to agree. | 13:28 | |
frettled | (though it's not very practical, ha ha) | ||
I appreciated learning Simula and then LPC (Lars PensjxF6's C, object-oriented C for MUD programming), but YMMV. | 13:29 | ||
wayland76 | patmat: The advice I tend to give people is that Perl is a good last language to learn. | 13:32 | |
After you've learned one or two others that can only do some things, then learn Perl, because it can do all of them :) | 13:33 | ||
The disadvantage to perl is that, because it can do everything, it tends to be big | |||
patmat | i wouldnt look to Perl 5 :) | ||
better Python/Perl | |||
wayland76 | patmat: You say "Programming Newbie", but you seem to have some background. Do you mind if we ask what languages you've already tried? | 13:35 | |
masak | patmat: here's why Perl 6 might be interesting to learn. let's say you have a file with a number on every line, and you want to sum those numbers. now, in most languages that would be a lot of trickery with opening files and for loops. | ||
frettled | Python is also pretty far down on the list of languages for newbies, since it tends to be confusing for the next language. | ||
masak | patmat: in Perl 6, it's 'say [+] lines("myfile.txt")' | 13:36 | |
frettled | In awk, it's: awk '{ n+=$1 } END { print n }' myfile.txt | ||
>:-> | 13:37 | ||
masak | what I like about the Perl 6 version is that it aligns very well with the problem specification. it contains the primitives "say" "addition" "lines" and the file. | 13:38 | |
that's much the same as was used to describe the problem. | |||
baest | frettled: shorter in p5: perl -n -e ' $n+=$_; END { print $n }' myfile.txt | ||
frettled | baest: perl -ne >:-> | 13:39 | |
patmat | wayland76: i learned a bit of Ruby, and Python | ||
and in eaaarly days, QBasic :P | |||
frettled | yow | ||
well, there are worse things to learn than QBasic. | |||
masak | indeed. | 13:40 | |
wayland76 | I did GWBASIC, followed by QBasic, followed by QuickPascal, all before I got to Uni | ||
Oh, and Assembly, and had a look at ForTran :) | |||
Anyway, patmat, it sounds like you're not quite a newbie | 13:41 | ||
masak | I did GWBASIC, Turbo Basic, QBasic, Turbo Pascal, 386 Assembly, Visual Basic and a smattering of C before I got to Uni. | ||
wayland76 | I'd say stick with Ruby until Perl 6 is readier -- check back in about 6 months :) | 13:42 | |
frettled did assembly, MS BASIC(A), Logo, then had a few years' worth of recess before going to the University and discovering that I was supposed to do informatics. | |||
frettled will not recommend assembly as the starting point. | |||
wayland76 | I had BASICA too, and a little Logo at school | 13:43 | |
oh, and apple basic (as in Apple ][ ) | |||
masak | patmat: I'd add to wayland76's suggestion that looking at Perl 6 at the current stage is quite awesome too, but at times frustrating. | ||
frettled | As opposed to masak, I don't recall _which_ assembly, because I think I was only 8 or 9 at the time and only wanted to use the beeper to create music with loops and conditionals. | ||
masak | ah, the beeper. | 13:44 | |
frettled | or "speaker", as it would be called in the IBM PC. | ||
wayland76 | Who remembers what the GW in GWBASIC stood for? (I do, I'm just testing... :) ) | ||
masak | aye. | ||
moritz_ does not | |||
wayland76 | Well, it was a fine speaker, but had lame circuitry leading to it | ||
masak doesn't either | 13:45 | ||
frettled | but it wasn't a PC, it was a loose board with 1 or 2 KiB memory and a 5- or 6-digit calculator-type display. | ||
I didn't know, but it was apparently "Graphics and Windows". | |||
frettled cuddles his uni's local acronym/initial database. | 13:46 | ||
wayland76 | frettled: I was told "Gee-Whiz" :) | ||
frettled | hehe | ||
masak | seems the name question is disputed: en.wikipedia.org/wiki/GW-BASIC#Name | ||
wayland76 | masak: I was just looking at that to check if I was right :) | 13:47 | |
masak | hm. today is not a productive day, $WORK-wise. | ||
13:48
yahooooo6 joined
|
|||
moritz_ | same here | 13:49 | |
wayland76 | Lets make that anonyous! | ||
(anonymous = clown version of unanimous) | 13:50 | ||
13:51
yahooooo left
|
|||
frettled mumbles something about $expletive script kiddies and $expletive customers and @expletive. | 13:52 | ||
wayland76 | Is it just me, or are we mostly sysadmins here? | 13:53 | |
Matt-W | I'm not a sysadmin | ||
I run my home network sloppily, but that's just so I can get stuff done | 13:54 | ||
moritz_ | wayland76: I'm one, though only part time | ||
frettled | I fled consulting to become a sysadmin. I'm not sure that's a wise choice, but at least I'm not earning loads of money coding Java, which of course would be awful. | ||
masak | I'm decidedly not a sysadmin. | ||
I'm a regular code monkey. | |||
frettled | ooh, a code monkey! | ||
Matt-W | I'm a code monkey too | ||
wayland76 | ok :) | ||
frettled | I need one or two of those! | ||
frettled holds on to masak tightly. | |||
Matt-W | C++ mostly, bits of Perl and some Java when I can't avoid it | 13:55 | |
frettled holds on to Matt-W tightly. | |||
masak | frettled: let go of my tail! | ||
Matt-W | Plus a lot of Perl 6 evangelism | ||
13:55
ispy_ joined
|
|||
wayland76 | ok, only about half sysadmins then | 13:56 | |
frettled | I like solving problems, but when I've done so, I don't like implementing the solution. That's the boring part. | ||
Matt-W | I like making things | ||
wayland76 | frettled: tell me about it :) | ||
Matt-W | Preferably flying by the seat of my pants, experimental stuff | ||
wayland76 | I think we're all exhibiting the virtue of laziness :) | ||
frettled | This is outrageous, by the way: I printed the periodic table of elements and showed it to one of my co-workers, and he called me "very nerdy". | 13:57 | |
Matt-W | Try the table of perl 6 operators | 13:58 | |
frettled | That's theone. | ||
s/eo/e o/ | |||
Matt-W | it's beautiful | ||
tempted to print it out at work | |||
frettled | Yes, especially after it got antlers, signatures and hand-written corrections. | ||
moritz_ | where is it btw? we should link to it from perl6-projects.org | ||
Matt-W | we can do A3 on the colour laser | ||
frettled | moritz_: www.ozonehouse.com/mark/periodic/ | 13:59 | |
moritz_ | frettled: thanks | 14:00 | |
14:00
pmurias left
|
|||
frettled | np | 14:03 | |
14:03
pmurias joined
|
|||
pugs_svn | r26347 | pmurias++ | [re-smop] started adding .m0ld tests to s1p | 14:03 | |
r26347 | pmurias++ | even this simple one uncovers a memory leak | |||
r26348 | moritz++ | [perl6-projects.org] add link to periodic table | 14:09 | ||
14:11
cognominal left
|
|||
patmat | masak ok i stick to it, that it could be awesome.. but i'd need a good documentation or better say ebook/tutorial for it | 14:12 | |
literal | moritz_: the "Perl 6 highlighting for vim" link can be changed to github.com/hinrik/vim-perl | ||
masak | patmat: did you check out moritz_'s perl5-to-perl6 blog? | ||
patmat | whats the page again? sorry im in work | 14:13 | |
i hate it to be a Supporter... even for Windows stuff | |||
masak | patmat: perlgeek.de/blog-en/perl-5-to-6/ | ||
patmat | its my first job, i want to be a coder once | ||
thanks | |||
masak | should be enough to get your feet wet. | ||
patmat | so is there an easy way to install perl6 on a windows machine? cause for work... | 14:14 | |
private i like to use linux/bsd | |||
literal | moritz_: never mind, I'll update :) | ||
pugs_svn | r26349 | hinrik++ | [perl6-projects.org] update perl6.vim link | 14:15 | |
moritz_ | literal++ # JFDI :-) | ||
masak | moritz_: the order of the index in your blog linked above doesn't correspond to the order of the posts. just thought you'd like to know. | ||
moritz_ | masak: that's intional. One is alphabetic, the other is by date | 14:17 | |
patmat | so is there a way to install it on Windows? | ||
masak | moritz_: oh, ok. | ||
14:17
cosimo left
|
|||
masak | patmat: rakudo.org/how-to-get-rakudo | 14:18 | |
pugs_svn | r26350 | hinrik++ | [perl6-projects.org] link to Perl 6 Programming on Wikibooks | ||
frettled | Now all we need is that syntax hilighter for Emacs. | 14:19 | |
masak | patmat: I'd recommend the tarball approach mentioned in the "If you don't have git installed..." paragraph. | ||
frettled: I've found that cperl-mode does a decent job. | |||
s/\./ highlighting Perl 6./ | 14:20 | ||
literal | there is an old modified cperl-mode.el in the pugs repo | ||
don't know how much it supports | 14:21 | ||
14:21
rewt left,
rewt joined
|
|||
masak | literal: do you know when you'll be starting your GSoC work? I'd like to have P2T1A implemented by then. | 14:22 | |
literal | P2T1A ? | ||
masak | yes, a throwaway prototype. | 14:23 | |
actually, not even that. | |||
it's enough documentation to be able to say something sensible about the documentation data format. | |||
moritz_ | May 23: | ||
* Students begin coding for their GSoC projects | |||
masak | oh, good. | ||
moritz_ | socghop.appspot.com/document/show/p...9/timeline | ||
literal | yeah, may 23rd officially | 14:24 | |
moritz_ | of course nobody can prevent literal from starting earlier :) | ||
literal | nix.is/gsoc/gsoc-u4x.html | ||
there's a schedule there | |||
masak | seems my deadline can still be May 23, given that schedule. | 14:25 | |
frettled | masak: cperl-mode is okay, except that it does different parsing mistakes than perl-mode. :) | ||
masak | the 'start prototyping grok' will ideally be helped by my musings. | ||
frettled | I suspect that Perl 6 may be easier to hilight. | ||
masak | frettled: I've always found cperl-mode much, much more stable than perl-mode. don't know why. | 14:26 | |
14:26
cosimo joined
|
|||
masak | I think it might have been implemented with failure robustness in mind, whatever that means for Perl code parsing. | 14:26 | |
moritz_ | frettled: I don't think so - the ambiguty between terms and operators is more present in Perl 6 | ||
literal | frettled: Perl 6 has more orderly syntax yeah, but it also has much more of it... | ||
and yeah, the predictive parsing thing | 14:27 | ||
pugs_svn | r26351 | pmurias++ | [re-smop] removed surplus REFERENCE from capture | ||
literal | frettled: though emacs has much better support for external processes so one could probably use STD.pm to highlight it | 14:28 | |
frettled | yup, that was suggested this weekend. | ||
moritz_ | that said, the grammar for Perl 6 is much shorter than perly.{c,y} and toke.c | 14:29 | |
14:29
cosimo left
|
|||
masak | moritz_: that's because it's written in a much more high-level language. :) | 14:29 | |
literal | moritz_: any reason your perl-5-to-6 isn't mentioned on perl6-projects.org ? | ||
14:30
nsh left
|
|||
moritz_ | literal: the blog is assembled on planetsix, which is already there... but we could add it anyway | 14:31 | |
literal | ok | ||
moritz_ | just don't add the normal perl 6 part of my blog, that would be a duplicate | 14:32 | |
literal | yeah | ||
pugs_svn | r26352 | hinrik++ | [perl6-projects.org] add link to Perl 5 to 6 lessons | 14:36 | |
14:37
skids joined
14:40
nihiliad joined
14:47
masak left
14:48
nsh joined
|
|||
skids backlogging -- wifi wake on lan is called WOWLAN, and theres a smattering of support on various adaptors. | 14:48 | ||
moritz_ knows WOW without the LAN part :-) | 14:49 | ||
14:57
eternaleye left
|
|||
patmat | i think i choose PUGS | 15:01 | |
for the work here | 15:02 | ||
15:02
mofino joined
|
|||
literal | what work? | 15:04 | |
wayland76 | patmat: That's kind of dangerous -- most of the active developers are working on Rakudo | ||
skids backlogging: not a sysadmin. A net admin. As in actual network hardware, not PCs/servers, e.g. those sysadmins that call themselves netadmins. | |||
15:07
yahooooo6 left
|
|||
skids | however it would not hurt to keep pugs somewhat in sync with the test suite as the standard changes. | 15:08 | |
If not the big stuff, at least the simple method renames and such. | |||
moritz_ | skids: feel free | 15:09 | |
skids | :-) | ||
Was more encouragement to patmat if he really likes haskel | |||
moritz_ | that said there is a Dec 2008 pugs release here: hackage.haskell.org/cgi-bin/hackage...ckage/Pugs | 15:12 | |
skids | So last night I was trying to suss whether we need both .iterator and .Iterator, or whether .iterator is now cruft. | ||
PerlJam | skids: what's .Iterator or .iterator? | 15:13 | |
skids: aren't they all ['Iterator'] now? | |||
or am I thinking of something completely different? | |||
moritz_ | PerlJam is talking abouth Rakudo, skids about the spec | 15:14 | |
skids | .Iterator would have to follow the "methods named after a class are for casting/coercing" whereas .iterator might offer more flexibility in semantics. | ||
But I can't think of a situation where the difference would matter. | 15:15 | ||
PerlJam | ah. | ||
skids | Of course as I've often said esoteric CS minutia elude me. | 15:16 | |
15:17
smtms left
|
|||
skids | If it is the case that the spec should now exclusively say .Iterator I wouldn't mind doing that, but don't want to if there's some reason for .iterator. | 15:18 | |
15:18
yahooooo joined
|
|||
[particle] | lowercase means it's a base type | 15:19 | |
er, that's too many loaded words. | 15:20 | ||
moritz_ | .true usually returns a Bool | ||
PerlJam | yeah, I was about to ask what a "base type" is :) | ||
moritz_ | not a native type | ||
if you meant s/base/native/ | |||
15:21
kane__ left
|
|||
skids | Yeah rakudo-wise I get that some of the .iterator calls are looking for Parrot 'iterator', but is there a reason for .iterator on the spec level? | 15:25 | |
15:31
lumi left,
lumi joined
15:32
aindilis` joined
15:34
edenc joined
|
|||
patmat | wayland76: ok pugs doesnt work anyway.. so i need Rakudo for Windows :) | 15:35 | |
PerlJam | patmat: unless you want to make pugs work. | 15:36 | |
patmat | literal: i'm at a company, in the IT Support.. sucks a bit, but its my first job.. so.. its ok for the beginning | ||
PerlJam: nah, the reason that most people work on rakudo is enough :) | |||
literal | why do you need pugs there? | ||
PerlJam | literal: he needs perl6 to do Great and Wonderous Things. | 15:37 | |
wayland76 | literal: He needs something to learn Perl 6 with | ||
That's why I told him that it's not recommended | 15:38 | ||
(pugs not recommended; perl 6 is :) ) | |||
15:38
cognominal joined
|
|||
patmat | right | 15:38 | |
literal | yeah, Rakudo would be a better choice | ||
patmat | i dont need Perl or any other language for work :P but i need it, because i want to learn something!! | ||
and to be a programmer once :) | |||
because Support simply sucks. | 15:39 | ||
moritz_ | aye | ||
literal | if you haven't programmed at all, then Perl 5 would probably be a better starting point, I think | 15:40 | |
wayland76 | patmat: I had a job that involved support once. You're right that programming is better :) | ||
patmat | no, not Perl 5.. | ||
wayland76 | literal: He's done some python and ruby and QBasic, and didn't like Perl 5 for some reason :) | 15:41 | |
PerlJam | literal: don't discourage him! How often do you think someone will be able to say "Perl 6 was my first programming language"? | ||
literal | hehe | ||
baest | hehe, that would be cool | ||
literal | PerlJam: too late, if what wayland76 says is true | ||
PerlJam | yeah | ||
15:42
Psyche^ joined
|
|||
PerlJam | After using python and ruby web frameworks and then using Catalyst, I can see how they win. Syntax matters and they have less extra stuff you have to type to get work done. | 15:42 | |
speaking of web frameworks ... how is Web.pm coming along? | 15:43 | ||
15:45
Patterner left,
Psyche^ is now known as Patterner
15:53
rblasch left
15:54
nsh- joined
15:59
justatheory joined
16:02
exodist joined,
nsh left
|
|||
patmat | argh, cant get rakudo running on that windows machine, hrm | 16:03 | |
even git port is closed | 16:04 | ||
[particle] | try git clone github.com/rakudo/rakudo/tree/master | 16:05 | |
arnsholt | What does the make function/operator/thing do in regexes? | ||
[particle] | 'make' generates the ast | 16:06 | |
which can then be extracted with Match.ast | 16:07 | ||
patmat | soo initializing.. wait wait | ||
arnsholt | [particle]: Aha. Thanks. And I pass anything I want it to have as children as arguments? | ||
patmat | download error- failed connect to github.com:80; No error | ||
16:08
Eimi left
|
|||
[particle] | arnsholt: you pass what you want to generate the ast of | 16:08 | |
16:09
Kisu left
|
|||
[particle] | / (\d+) { make $0 ) / # create the ast for the number matched | 16:09 | |
/ (\d+) { make $0.sqrt ) / # create the ast for the square root of the number matched | |||
arnsholt | Righties | 16:10 | |
16:10
cspencer joined
|
|||
arnsholt | Frustratingly enough, { make $0 } causes a syntax error | 16:11 | |
[particle] | inside a regex, in rakudo? | 16:12 | |
arnsholt | Yah. | ||
[particle] | yeah, doesn't work yet. | ||
you can't embed perl 6 closures in rakudo regexes yet iirc | |||
arnsholt | Damn. That'd be a real relief | ||
16:14
sproingie left
16:33
nsh- left
16:36
cspencer is now known as cspencer_,
cspencer_ is now known as cspencer
16:43
nsh joined
16:46
riffraff left
16:54
FurnaceBoy joined
16:57
cdarroch joined
17:01
revdiablo joined
|
|||
revdiablo | I just noticed that unary = was killed in favor of .get() and .lines(). Any suggestions on where I can read up on the discussion that lead up to that? | 17:03 | |
I think it's a nice change, but it seems to have changed suddenly after sitting in the spec for a long time | 17:04 | ||
17:04
azawawi joined
|
|||
azawawi | hi | 17:04 | |
17:04
pmurias_ joined
|
|||
literal | azawawi: perl6.vim has moved to github.com/hinrik/vim-perl | 17:05 | |
17:07
azawawi left
17:09
sri_kraih_ joined
17:13
azawawi joined
17:20
pmurias left
|
|||
cspencer | is there any way of getting at the unicode accent info on a character? (ie. identifying that a character contains an umlaut) | 17:21 | |
(in either PIR or P6) | |||
17:22
nsh- joined
|
|||
[particle] | revdiablo: it's in the irclog over the past few days | 17:22 | |
22:30
ilogger2 joined
|
|||
moritz_ is close to tackling the Match.perl problem | 22:30 | ||
22:31
ispy_ joined
22:38
FurnaceBoy joined
22:42
lumi joined,
Limbic_Region joined
|
|||
s1n | frew|work: ping | 22:48 | |
22:50
skids joined
|
|||
frew|work | s1n: hey | 22:52 | |
moritz_ | .say for @('ab' ~~ m/(.)+/) | 22:56 | |
rakudo: .say for @('ab' ~~ m/(.)+/) | 22:57 | ||
p6eval | rakudo ad7389: OUTPUT«ab» | ||
moritz_ | rakudo: 'ab' ~~ m/(.)+/; say $0.WHAT | ||
p6eval | rakudo ad7389: OUTPUT«List» | ||
moritz_ | rakudo: 'ab' ~~ m/(.)+/; say $0.WHAT; say $1.WHAT | ||
p6eval | rakudo ad7389: OUTPUT«ListFailure» | ||
dalek | kudo: 50f6111 | (Moritz Lenz)++ | src/setting/Match.pm: handle quantified captures in Match.perl because of another rakudobug (RT #64952). |
23:12 | |
kudo: 581f573 | (Stephen Weeks)++ | src/parser/actions.pm: Migrate actions.pm to use .ast instead of $() |
23:22 | ||
23:28
[particle]1 joined
23:30
kate21de1 joined
23:39
DemoFreak joined
23:42
DemoFreak left
|
|||
s1n | is there a perl6 equivalent to require? | 23:52 | |
23:55
orafu joined
|
|||
skids | s1n: require is specced, S11 | 23:57 | |
dalek | kudo: 2665575 | (Stephen Weeks)++ | src/parser/actions.pm: Fix actions.pm by replacing .ast() with .ast |
23:58 |