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/BpPKUqa7Bi␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: 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 routine␤Found ?? but no !!; possible precedence problem␤Please 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 Someone􏿽xAE 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 sum␤current 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 Pensj􏿽xF6'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«a␤b␤»
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«List␤Failure␤»
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