|
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 | |