»ö« | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moderator on 24 July 2010.
pmichaud Tene/ingy: {} is in STD.pm also 00:01
essentially, it prevents LTM from participating beyond that point
Tene Ah.
pmichaud so, with
token comment:sym<#> { '#' {} \\N* } 00:02
only the '#' ends up participating in LTM calculations, not the \\N*
ingy pmichaud: makes sense. thanks! 00:06
pmichaud++ # for spending so much time getting the grammar/rules stuff to be so ossum 00:12
00:16 masonkramer joined 00:20 masonkramer_ joined 00:33 s1n joined 00:41 lestrrat joined 00:44 nimiezko joined
Tene alanT: Why did you want to know my time? 00:46
00:51 ingy joined 00:53 snarkyboojum joined 00:57 ingy joined 01:14 mikehh joined
ingy pmichaud: ops please 01:17
ingy lost ops from the 'audreyt' thinger
well, probably again from my /exit :) 01:18
:)
ingy just learned about ChanServ recover 01:19
Tene ingy: better would be to ask him to add you to the channel access list so you could op yourself.
ingy but doesn't know what to do about his unregistered chans
pmichaud: what Tene say...
Tene: how can I get old, unregister freenode chans registered? 01:20
I have 3 like that
Tene ingy: /msg chanserv help register 01:21
ingy Tene: but I need ops to register
and register for ops! 01:22
like #kwiki
I never registered it
one way is to get everyone to leave
but that sux 01:23
Tene ingy: you should be able to ask for help in the official freenode support channel, and freenode staff can help you get the channel registered.
I think #freenode
not sure
ingy Tene: asking on #freenode 01:26
Tene ingy: good luck
I've heard mixed reports about help from freenode staff.
01:27 molaf_ joined
ingy nod 01:27
jferrero rakudo: say ~( 1, 4 ... 10 ); say ~( 1, 4 ... ^10 )
p6eval rakudo b46a3b: OUTPUT«1 4 7 10␤1 2 3 4 5 6 7 8 9␤»
ingy Tene: #freenode has 600 users! 01:29
Tene That's more users than #cutegirls!!! 01:30
jferrero rakudo: say ~( 1, 4, 7 ... 17 ) 01:33
p6eval rakudo b46a3b: OUTPUT«1 4 7 10 13 16␤»
jferrero rakudo: say ~( 1, 4, 7 ... ^17 )
p6eval rakudo b46a3b: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16␤»
whee is it normal for rakudo to take 6 seconds for "perl6 -v"? 01:34
jferrero humm 01:35
no
time perl6 -v give me 0m1.595s
pmichaud depends on your system. rakudo currently has a known long startup time, yes. 01:36
whee could just be that; it's a boring intel atom 01:37
Tene 0.9s for me
whee I see an awful lot of brk calls in strace 01:38
pmichaud Parrot's current design forces us to do a lot of data structure building at startup. 01:40
whee heh, twice as fast on a freebsd computer with mostly the same hardware versus linux :) 01:43
odd, but whatever
Tene One of the many things I wish I could spend time on.
sorear niecza-generated executables start 10 times faster than rakudo on my machine :) 01:44
Tene pmichaud: any chance you could check my recent commit to nqp-rx for sanity? github.com/perl6/nqp-rx/commit/96bc...ef11fe91ba 01:45
pmichaud Tene: looking
Tene: looks okay to me. 01:46
Tene pmichaud: In that case, is the process to update the parrot snapshot of nqp-rx documented? 01:47
sorear ingy: Hello!
2010.07.03.14.50.54 * ingy just realized the Test.pm is not OO. It has no Test::Builder equiv. 01:48
ingy: can you explain this?
01:54 cognominal joined
colomon rakudo: say ~( 1, 4, 7 ... ^17 ) 02:05
p6eval rakudo b46a3b: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16␤»
colomon ugh. that one is just plain ugly. 02:06
rakudo: say ~( 1, 4, 7 ... 0, 255) 02:07
p6eval rakudo b46a3b: OUTPUT«255␤»
02:09 snarkyboojum joined
sorear colomon: How does .Bridge work? 02:21
dalek ecza: 242a88c | sorear++ | (4 files):
Only store needed bits in the aux setting file, not the whole 2MB AST store
02:22
colomon sorear: when you define a new Real type, you define a Bridge method for it, basically in terms of simpler Bridge methods on existing types. 02:24
so if, for instance, you had a fixed precision decimal money class with two digits past the decimal point, you'd do 02:25
class Money does Real { has Int $.value; method Bridge() { $.value.Bridge / 100.Bridge; } }
then Real has default implementations of pretty much all the Real methods that can work from that .Bridge 02:26
felliott rakudo: my @d = <a b c>; my @t = "x" xx +@d; @t.perl.say; 02:33
p6eval rakudo b46a3b: OUTPUT«["x", "x", "x"]␤»
Tene Huh. There's a lot of trailing whitespace in rakudo 02:34
sorear colomon: What's the difference between .Bridge and .Num?
felliott This won't work if you remove the "+" from in front of @d, I think b/c xx doesn't numify its rhs.
colomon sorear: Nothing currently. But the idea is that .Bridge's actual type can be implementation-defined.
pmichaud rakudo: my @d = <a b c>; my @t = "x" xx @d; @t.perl.say; 02:35
felliott It just spins forever.
pmichaud oh.
p6eval rakudo b46a3b: ( no output )
pmichaud looks
felliott Should xx numify the right hand side?
It uses the rhs as the limit of a 1.. range
pmichaud felliott: yes, it should likely numify the rhs. looking now 02:36
felliott This is causing trans("something" => "") to trip up
Tene pmichaud: what about xx *?
pmichaud Tene: seems like that could be done via multidispatch, if needed.
Tene eh, true.
rakudo: say +Whatever 02:37
p6eval rakudo b46a3b: OUTPUT«Use of uninitialized value in numeric context␤0␤»
pmichaud rakudo: my $a = *; say +$a;
p6eval rakudo b46a3b: OUTPUT«Can't take numeric value for object of type Whatever␤ in 'Any::Numeric' at line 1348:CORE.setting␤ in main program body at line 6394:CORE.setting␤»
pmichaud one could also do $n = Inf if $n ~~ Whatever; 02:38
there's somewhere else in the code that does this.
or even 02:39
(1.. ($n ~~ Whatever ?? Inf !! +$n)).map({...})
although multidispatch seems like a reasonable answer.
felliott Should I add tests to the repeat and trans spec test? 02:40
pmichaud felliott: please.
felliott shall do
02:40 alanT joined 02:45 Eddward joined
Eddward Will the repl in rakudo use libreadline if it's installed? 02:46
02:46 tylercurtis joined
pmichaud yes 02:46
but for some reason parrot wants libreadline-dev to be installed, too
Eddward Are there any other good -dev package should have before building? 02:47
pmichaud that's the only one I really know of.
Eddward ok. Thanks
Tene libicu-dev 02:48
Eddward ok. I'll grab that too. 02:49
[Coke] (atlanta is busted) do we have a test to avoid that happening again? 02:52
pmichaud ...atlanta is busted?
Tene I expect he's talking about " 02:55
releasd reakudo is so broken that pls does not run; use master for now"
-- github.com/rakudo/star/commit/b3012...e507ff435d
[Coke] yah. kind of annoyed that wasn't tested before release. I didn't realize it had to be, or i'd've. :( 02:58
03:00 adhoc joined
pugssvn r31824 | felliott++ | add fudged test for xx with non-number on rhs 03:03
sorear what exactly is wrong with atlanta? 03:04
pmichaud I'm not sure we can reasonably test every release against every module that happens to exist, though. 03:08
(I grant that pls is in a somewhat special category.)
03:09 [Coke] joined
pmichaud [Coke]: 03:09
03:08 <pmichaud> I'm not sure we can reasonably test every release against every module that happens to exist, though.
03:08 <pmichaud> (I grant that pls is in a somewhat special category.)
Eddward I'm having trouble trying to update. 03:11
pmichaud beyond that, I'd want to hear a more detailed description of _why_ pls didn't work with atlanta.
Eddward "This Parrot cannot read bytecode files with version 8.0."
pmichaud Eddward: you probably need to remove the parrot and parrot_install directories to build a completely new copy of parrot
Eddward I saw a cookbook for build rakudo from scratch. Is there a cookbook for updates? 03:12
pmichaud parrot's "make realclean" doesn't always make realclean
Eddward ok
pmichaud, thanks
03:12 lue joined
lue heyllo o/ 03:13
pmichaud fwiw, I don't see that 'pls' failure to work with atlanta indicates any sort of fundamental problem with the atlanta release.
(but I'm still going from somewhat limited information)
felliott pmichaud: I took a stab at fixing the repeat bug, but I don't know Perl6 that well yet. Do you mind taking a look? 03:28
github.com/felliott/rakudo/commit/6...add1167fe2
sorear Anyone know of a good 'make'-like tool that's extensible in Perl 5? 03:30
sorear is looking to avoid the overhead of loading STD.pm6 3+ times in the niecza build 03:31
pmichaud felliott: works for me 03:32
felliott Yay! 03:33
I'm doing a make spectest now to make sure it doesn't break anything else. 03:35
dalek ecza: 66bfe9b | sorear++ | (5 files):
Fiddle bootstrapping a bit so the MOP can use the same strings the rest of Perl6
felliott This might be a dumb question, but if I have a bug that hangs and a spectest for the bug, when should I unfudge the test? 03:44
Should I wait until after the fix is merged?
pmichaud yes. 03:46
i.e., you can add the test, but fudge it until Rakudo passes the test.
felliott okay, thanks! 03:47
I have a couple more to add that will need to be fudged as well 03:48
03:55 frooh joined
frooh why did we all get kicked earlier? 03:56
frooh curious
lue Someone came in as 'audreyt' and kicked everyone.
lue considers shameless self-promotion 03:57
sorear frooh: channel takeover
frooh ooooh
so it wasn't really audrey 03:58
got it
sorear otoh, this attracted enough attention that we were *finally* able to get #freenode to reregister the channel
which means that I actually have a chanserv bit now
frooh well that's nice :-)
sorear instead of people reopping me
frooh you'll probably need it in a few days
or you know, to be on top of things ayway 03:59
how are things coming btw?
(on star I mean)
pmichaud seem to be progressing okay 04:05
04:10 rlb3_ joined
sorear ok, I'm done setting up the ACL, I think 04:16
szabgab: jnthn: TimToady: ping 04:21
04:26 Trashlord joined
pugssvn r31825 | felliott++ | add fudged test for xx with Whatever 04:27
r31826 | felliott++ | add fudged test for trans with empty replace string 04:28
04:40 am0c joined 04:42 tewk joined 05:00 plobsing joined 05:05 kaare joined, snarkyboojum joined 05:06 cbk joined 05:15 Trashlord joined
szabgab sorear: reping 05:32
sorear szabgab: if you wish to have ACL access to #perl6, you will need to acquire a nickserv accound 05:36
05:41 krakan joined
szabgab what is ACL access and why would I want it ? 05:55
and I think I have an account on the nickserv, though I am not sure if the fact that I need to give a password when I get on freenode is that 05:56
sorear ACL access means that ChanServ automatically ops you and you can use ChanServ functions 06:00
also, you didn't give your password when you logged in.
since you are not currently authenticated under the szabgab account, any ACL I set for szabgab would be not useful to you 06:01
pmichaud sorear: I don't know that we need to set up a ton of ACL adjusters, fwiw. 06:04
szabgab hmm, I thoought irssi authenticated me when I launched it 06:05
sorear pmichaud: I haven't set up any new ACL adjusters
szabgab I have so little clue about irc
pmichaud sorear: okay, what is meant by "ACL access"?
sorear +O
also +t etc 06:06
pmichaud do we need +O for a lot of people?
(it's an honest question, not rhetorical)
06:07 tadzik joined
sorear I don't know. 06:07
Keeping 1/8th of the channel opped is the status quo 06:08
I've just automated it
(except for TimToady, szabgab, and jnthn, who weren't authed)
tadzik morning
sorear hello tadzik 06:09
tadzik o/
pmichaud should we remove the entry for audreyt, since it got abused (and au++ doesn't seem to be using that nick anymore)? 06:11
sorear the audreyt entry is an account entry, not a nick entry 06:12
and au|irc is still using the audreyt account
the abused entry was audreyt!*@*
pmichaud okay, wfm.
06:13 uniejo joined
dalek ecza: 28d41aa | sorear++ | (3 files):
Implement parsing for $*foo $?foo $:foo $^foo
06:14
ecza: c085987 | sorear++ | (7 files):
Runtime support for $*foo; tests for $.foo & $*foo
ecza: 3daf2eb | sorear++ | (4 files):
Implement PROCESS::
06:26 mtve joined 06:30 Ross joined
am0c rakudo: (1, 2).map { .say } 06:33
p6eval rakudo b46a3b: OUTPUT«===SORRY!===␤Confused at line 22, near "(1, 2).map"␤»
moritz_ rakudo: (1, 2).map: { .say } # it's lazy 06:34
p6eval rakudo b46a3b: ( no output )
moritz_ rakudo: eager (1, 2).map: { .say }
p6eval rakudo b46a3b: OUTPUT«1␤2␤»
am0c o_O... 06:36
tylercurtis am0c: what's wrong? 06:38
am0c tylercurtis: er.. nothing, but I think I missed the laziness, should read S07.. 06:40
06:46 daxim joined
am0c I missed the ':' following 'map'. and map will not be evaluated when it's not used or assigned, lazily! I got it! thx moritz_ 06:47
06:47 wamba joined
tylercurtis am0c: if you are wanting to eagerly perform an operation on each element of a list, you probably want to be doing something with the result of map or using for. 06:48
pmichaud note that for is also as lazy as map, though.
(by spec, not by implementation)
am0c tylercurtis: I see. 06:49
06:50 alc joined
am0c pmichaud: surprised that 'for' is also lazy, thanks! 06:52
06:54 foodoo joined
tylercurtis pmichaud: for is lazy? 06:54
pmichaud tylercurtis: per spec, yes. 06:55
am0c pmichaud: could you hint me where I can see that for is lazy though? I cannot find it.
pmichaud I'm not sure it's explicitly in the spec. 06:57
but various conversations on #perl6 over time have indicated that 'for' is lazy. 06:58
tylercurtis pmichaud: I don't think I understand that correctly. The way I'm interpreting that is as saying that if I do ".say for 1, 2;" or "for 1, 2 { .say };", or "(1, 2).map({ . say });", nothing will be output since the result is not used anywhere.
moritz_ am0c: but in the spec void/sink context is eager, so just writing for 1,2 { .say } is eager
pmichaud tylercurtis: in sink context it's eager.
sorear as long as it's in the middle of a function and not assigned to anything 06:59
pmichaud or if it's the last statement of a block that is called from sink or eager context
am0c hm;
sorear but if, for instance, you were to write: my $x; sub foo () { temp $x = 5; for 1, 2 { say $x }; }; foo; # per spec, this prints Any() Any()
Tene list assign context is eager too 07:00
pmichaud I think it's array assignment that is eager, not list assignment. 07:01
Tene ah, right
am0c rakudo: sub foo { (1, 2).map({ .say }); 1 }; foo; 07:02
p6eval rakudo b46a3b: ( no output )
pmichaud rakudo doesn't have sink context just yet
maybe I'll implement that real quick.
am0c moritz_: but there 'map' is not in void context?
sorear niecza implements a slightly different rule - a for loop is run eagerly if and only if a bare block in the same position would be executed
moritz_ am0c: it is 07:03
pmichaud actually, it isn't.
(except very indirectly)
am0c if void context is eager and map is in void context where: "sub foo { (1, 2).map({ .say }); 1 }; foo;"; I think it says 1 and 2. is thank right? 07:04
thank -> *that 07:05
pmichaud if that's the entire program, there's no void context.
the result of "foo;" likely gets evaluated in numeric context
(to provide a return value to the shell)
moritz_ but the result of foo; is 1; 07:06
pmichaud: that would be a bad idea
pmichaud ohhhhhh
I didn't see the "; 1" there
right, the .map is in void context.
moritz_: that would be a bad idea... why?
07:07 gfx joined
moritz_ pmichaud: because people don't want to append a 0; a the of their programs 07:07
pmichaud: if the want an unsuccessful exit, they die() or exit()
pmichaud: remember those pesky p5 modules with their 1; at the end?
pmichaud moritz_: is that in the spec? I don't remember seeing it.
am0c but I thought 1; at the end of function makes map() to be in the void context.
pmichaud am0c: you're correct, it does.
I didn't see the "1;" there. Sorry about that. 07:08
07:08 drbean left
am0c pmichaud: thanks for your help (but you don't have to sorry though that 1; is so pesky as moritz_ said.) 07:11
but 'for' is in the void context and eager there, but rakudo is not working as expected. or that is not in the void context, or 'for' is not eager in void context? I think I'm thinking wrong. 07:15
pmichaud void context implies eagerness
and we call it "sink context" now
moritz_ am0c: rakudo doesn't implement void context
pmichaud at present rakudo doesn't have "sink context", although I'm writing one now.
am0c I see. 07:19
frettled Good morning! 07:24
jnthn: I'm now worried that I might not know the exact contents of frettled.t ;)
07:24 baest joined
pmichaud frettled: o/ 07:24
07:25 dimid joined
dalek kudo: 807748a | (Fitz Elliott)++ | src/core/operators.pm:
force xx op to numify rhs except Whatevers
07:25
pmichaud we could probably stand to eliminate the XXX comment on line 289. 07:30
er, 269 07:31
# XXX Lazy version would be nice in the future too.
afaict, those versions are lazy. :)
moritz_ right 07:35
07:37 Ross joined 07:39 inirss joined 07:47 snarkyboojum joined 07:56 alc joined
jnthn morning, #perl6 07:59
pmichaud jnthn: o/
sorear Hello jnthn
jnthn pmichaud! \\o/
Wow, clearly I fixed my sleep a little bit if I'm awake before Pm went to bed. :-)
o/ sorear
pmichaud hmmmmm 08:00
okay, so how should this work:
sorear slow day for niecza.
08:00 pmurias joined
pmichaud sub foo() { my $a = (1..10).map({ .say }); }; foo(); 08:00
sub foo() { my $a = (1..10).map({ .say }); }; foo(); 1;
sorear pmichaud: well, who'se calling those blocks? 08:01
pmichaud in my last example, it doesn't really matter. foo() is in sink context.
sorear maintains that sink context should have been killed with fire after the switch to context-after-retrn 08:02
pmichaud actually, sink came after context-after-return, not before.
jnthn sorear: I just identify'd myself with NickServ - musta forgotten last time I reconnected or something.
sorear \\o/ back over 100 nicks 08:04
moritz_ now that we have firm control over the channel via nickserv, shouldn't we be dropping our ops?
pmichaud moritz_: that's what I would think, yes.
pmurias moritz_: what's the benefit of op dropping? 08:05
pmichaud freenode's channel guidelines suggest having ops only when needed
moritz_ pmurias: not displaying a two class society, or so 08:06
frettled This is a multi-class society!
moritz_ with multiple inheritance, sure :-)
pmichaud I figured it was more "role composition" :) 08:07
jnthn
.oO( But I like my kamelbullar... )
pmichaud I guess I'll worry about sink context after R* 08:08
I'm not quite sure how to handle the assignment case. 08:09
moritz_ anyway, I think we should follow freenode guidelines, unless we have a good reason not to
sorear pmurias: you've been added to the op-on-join registrar
pmichaud well, it doesn't do much good to de-op ourselves if we're also setting +O on everyone :-P
moritz_ what is +O?
pmichaud "op on join" 08:10
moritz_ op-on-jion?
then we shouldn't do that
sorear I've been removing +O from everyone who deops themselves
moritz_ sorear++
pmichaud let's just not add +O for now
sorear I haven't added any new +Os since moritz' comment
pmichaud okay.
08:10 zulon joined
sorear pmurias was just me forgetting to tell him for a few minutes 08:10
what about the +vs 08:11
moritz_ who is *!~hcchien@211.75.143.140 ?
sorear no clue 08:12
pmichaud feel free to cull the list down a lot smaller.
remove any entries we're not familiar with.
frettled moritz_: hmm, «hcchien» is vaguely familiar.
moritz_ frettled: probably from the pugs days
pmichaud if the nick hasn't been here in a while, we should go ahead and remove it. 08:13
nick/account/whatever.
frettled moritz_: I wasn't around in the pugs days, so it may just be a fake memory.
moritz_ the IRC logs show that hcchien was active until early 2008
sorear hcchien pruned 08:14
08:14 niko left
sorear pmichaud: well, I hadn't planned on culling any active users without their consent 08:15
frettled Oh on, we scared away the freenode staff!
pmichaud I'm fine with culling folks, actually. the existing list was fairly old to begin with.
(since we haven't had acl control in quite some time)
I think I'd go ahead and drop the entry for jesse, since he doesn't seem to use that address anymore. (we can re-add him as 'obra' if we like) 08:17
moritz_ +1 08:18
pmichaud I presume he has a registered nick, but can't confirm that. 08:19
moritz_ /whois obra doesn't confirm that
sorear culled
pmichaud sorear++ again 08:20
thanks
sorear Jesse has fsck.com, though, which is almost as good
is two-way DNS spoofing harder or easier than stealing someone's nickserv password?
pugssvn r31827 | pmurias++ | [smop] fix building of the p5 module 08:21
moritz_ sorear: harder, presumably
sorear that just leaves the actual active users
pugssvn r31828 | pmurias++ | [smop] add prereq
r31829 | pmurias++ | [smop] replace uses of my_perl with pTHX and aTHX
r31830 | pmurias++ | [smop] unbitrot perl5 interop
r31830 | (only tested on perls with PERL_IMPLICIT_CONTEXT yet)
moritz_ sorear: nickserv passwords are transmitted in plain text
sorear so are DNS records 08:22
moritz_ are all users allowed to set /topic ?
sorear either way I think it comes down to TCP hijacking
moritz_ sorear: yes, but setting is harder than sniffing, in general
sorear moritz_: no, only currently opped users
moritz_ btw somebody commented on my blog, asking for resources about learning functional Programming with Perl 6 - do we have any resources for that? 08:23
sorear: should we change that? so far I haven't seen any topic vandalism in other channels
snarkyboojum Ćao perl6 hacker types 08:24
pmichaud anyway, sleep time here. bbt
moritz_ g'night
should given { } be a read-only alias? 08:28
it is now
jnthn 'night, Pm
moritz_ no wait
$ ./perl6 -e 'given my $x = "abc" { s:g/./X/; .say }'
XXX
I have a local patch which makes s/// a call, instead of an object
jnthn moritz_: Nice :-) 08:29
moritz_: Does the s[foo] = 'bar' form also work?
moritz_ $ ./perl6 -e 'given my $x = "abc" { s:g[.] = "X"; .say }'
XXX
jnthn \\o/
moritz_++
moritz_ I need a few more tweaks, and remove Substitution.pm
jnthn Yay
Kill da hack!
moritz_ but all in all I'm very optimistic
jnthn moritz_: Yeah, I suspect it becomes a not too bad patch with the LHS-is-$_ patch. 08:31
moritz_ jnthn: right, which is why I'm doing it now :-)
mathw Yay
08:31 dakkar joined
jnthn moritz_: Makes me glad I worked on it. :-) 08:31
Was a little bit of a pain to do. :-)
But s/// working in void context is an epic win. 08:32
moritz_ adds a few :node($/) to his patch
jnthn Yes, that helps us give good line #
08:35 dolmen_ joined
dolmen_ o/ 08:35
jnthn?
jnthn: here are some videos of your performances at the French Perl Workshop in 2007: webcast.in2p3.fr/FPW2007/ 08:38
08:39 squeeky left 08:40 meppl joined
jnthn dolmen_: oh scary 08:45
That was before I hacked on Rakudo. :-)
moritz_ huh, seems my last-minute tweaks to my patch broke Test.pm. Sigh. 08:46
dolmen_ rakudo: use Test; say "Hello" 08:48
p6eval rakudo b46a3b: OUTPUT«Hello␤»
moritz_ dolmen_: I didn't push them :-) 08:49
that's nice about git - I committed locally, but haven't pushed yet
if I don't commit things right away, I mix up changes, which is ugly in the commit history 08:50
am0c I heard that Perl5 cpan modules are converted or being converted to Perl6. where can I find them? 08:57
cxreg Bridge prevents you from doing fun things 08:59
rakudo: class Pi does Real { multi method Bridge { 3.14159265358979 }; }; use MONKEY_TYPING; augment class Real { multi infix:<==>(Pi,3) { 1 }; }; say Pi == 3
p6eval rakudo 807748: OUTPUT«0␤»
08:59 alc joined
jnthn cxreg: Well, also, a lexical multi decalred in the class body is going to have no influence at all outside of it. :-) 09:00
Unless you explicitly import it or some such.
cxreg orite
jnthn rakudo: class Pi does Real { multi method Bridge { 3.14159265358979 }; }; multi infix:<==>(Pi,3) { 1 }; say Pi == 3 09:01
p6eval rakudo 807748: OUTPUT«1␤»
cxreg sorry Bridge, my bad :) 09:04
09:07 Snowclone joined
jnthn It'll get over it. 09:08
snarkyboojum am0c: I'm not sure Perl5 cpan modules are being converted to Perl6, but you could find existing modules at modules.perl6.org 09:15
am0c snarkyboojum: thanks!
snarkyboojum am0c: welcome! :)
dolmen_ rakudo: (<a b c>.map: *.uc).perl.say 09:17
p6eval rakudo 807748: OUTPUT«("A", "B", "C")␤»
am0c <a b c>.uc.say
rakudo: <a b c>.uc.say
p6eval rakudo 807748: OUTPUT«A B C␤»
sorear note that that is .Str.uc 09:18
am0c ah, I see that it's different.
sorear it joins and adds spaces before upcasing
dolmen_ my $mult = * * *; say $mult(5, 4); 09:19
rakudo: my $mult = * * *; say $mult(5, 4);
p6eval rakudo 807748: OUTPUT«20␤»
dolmen_ rakudo: my $mult = * * * * *; say $mult(5, 4, 8); 09:20
p6eval rakudo 807748: OUTPUT«160␤»
am0c rakudo: @( <a b c> ).uc.perl.say
p6eval rakudo 807748: OUTPUT«"A B C"␤»
am0c :(..
moritz_ rakudo: <a b c>>>.uc.perl 09:21
p6eval rakudo 807748: ( no output )
cxreg ought MiniDBI be on modules.perl6.org ?
snarkyboojum rakudo: say ('a'..'c')>>.uc
p6eval rakudo 807748: OUTPUT«ABC␤»
moritz_ rakudo: say <a b c>>>.uc.perl
snarkyboojum: yes
p6eval rakudo 807748: OUTPUT«("A", "B", "C")␤»
am0c yey.
dolmen_ rakudo: my $morse = - - * * - - - * * - *; say $morse(5, 4, 8); 09:22
p6eval rakudo 807748: OUTPUT«160␤»
moritz_ jnthn: wut. removing Substitution.pm causes weird compilation failures 09:24
jnthn moritz_: huh wut 09:26
dolmen_: ewww :P
dolmen_ rakudo: (- - * * - - - * * - *)(5, 4, 8); 09:28
p6eval rakudo 807748: ( no output )
dolmen_ rakudo: (- - * * - - - * * - *)(5, 4, 8).say;
p6eval rakudo 807748: OUTPUT«160␤»
dolmen_ Perl 6 makes currying easy and fun! 09:30
tadzik oh my 09:31
moritz_ has some pineapple curry at home in the fridge
dolmen_ moritz_++ # Thanks for your posts
tadzik these are truly golf clibs
* clubs
moritz_ dolmen_: you're welcome :-)
jnthn moritz_: That sounds tasty. :-) 09:32
moritz_ jnthn: especially with a few cashew nuts 09:33
dolmen_ rakudo: say sin 3
p6eval rakudo 807748: OUTPUT«0.141120008059867␤»
dolmen_ rakudo: (sin *)(3).say
p6eval rakudo 807748: OUTPUT«Method 'sin' not found for invocant of class 'Whatever'␤ in 'sin' at line 1934:CORE.setting␤ in main program body at line 22:/tmp/lIiPafHWmc␤» 09:34
moritz_ dolmen_: routine arguments don't curry
dolmen_ moritz_: so only operators?
moritz_ because many routines do work with *
dolmen_: operators and invocants
rakudo: say *.sin.(3) 09:35
p6eval rakudo 807748: OUTPUT«0.141120008059867␤»
dalek ecza: e55a205 | sorear++ | (3 files):
Add a spectest skeleton (we can't actually run any files yet without extensive
dolmen_ rakudo: &infix:<+>.assuming(2).WHAT.say; 09:36
p6eval rakudo 807748: OUTPUT«Code()␤»
dolmen_ rakudo: &infix:<+>.assuming(2).assuming(4).WHAT.say;
p6eval rakudo 807748: OUTPUT«Code()␤»
dolmen_ rakudo: &infix:<+>.assuming(2).assuming(4)().say;
p6eval rakudo 807748: OUTPUT«6␤» 09:37
moritz_ sorear: maybe the t/0*/*.t tests from rakudo would be a good start?
am0c rakudo: sub a-b{1}; sub a{2}; sub b{3}; a-b 09:38
p6eval rakudo 807748: ( no output )
am0c rakudo: sub a-b{1}; sub a{2}; sub b{3}; a-b().say
p6eval rakudo 807748: OUTPUT«1␤»
09:41 rgrau joined 09:42 niko joined
pugssvn r31831 | moritz++ | [perl6.org] add google webmaster verification tag for www.perl6.org 09:43
moritz_ whoops, accidentally commited a re-fudge at the same time 09:44
snarkyboojum cxreg: FakeDBI used to be there - not sure why MiniDBI isn't there 09:47
moritz_ is it in pls/poc-projects.list? 09:48
09:50 alc joined
cxreg would that be this? github.com/masak/proto/blob/pls/poc...jects.list 09:52
moritz_ yes
pugssvn r31832 | moritz++ | [t/spec] correct some s/// tests, and unfudge them
tadzik oh, s/// alredy pushed? 09:53
cxreg then no, it's outdated
moritz_ tadzik: no, doing that in a few minutes
snarkyboojum ah - it's still fakedbi there
moritz_ you'll get a few test failures before I do
tadzik ah, these are specs
moritz_ so, pushed
dalek kudo: 4884806 | moritz++ | src/Perl6/Actions.pm:
turn s/// into a call
09:56
kudo: ed98e0f | moritz++ | src/Perl6/Actions.pm:
add :node to substitutions, to get line numbers in error messages
snarkyboojum cxreg: I've renamed fakedbi to minidbi, so should be back in when the site refreshes 10:00
frettled snarkyboojum++
cxreg technically it's spelled MiniDBI but github seems not to care 10:01
10:02 mscha joined
moritz_ pls does 10:03
10:04 dual joined
moritz_ jnthn: ah, I see why it failed... there was a stubbed class Substitution in operators.pm, for smart-matching 10:05
snarkyboojum oh well - fixed the case for MiniDBI just in case 10:06
cxreg woot
jnthn moritz_: Ah!
snarkyboojum cxreg++
jnthn That woulda done it.
moritz_ and cxreg++
sorear rakudo: (* * *)(2,3).say # aliased? 10:07
p6eval rakudo 807748: OUTPUT«6␤»
cxreg o_O
10:09 rindolf joined 10:10 timbunce joined
cxreg is passing |@array the opposite of slurpy args? 10:10
moritz_ right
ss/opposite of/complement to/ maybe
10:11 jww joined
jww hi. 10:11
rindolf Hi jww
jww is there some GUI module for perl6 yet ? like ncurses
10:12 xabbu42 joined
tadzik jww: you can probably use one through zavolaj 10:12
(that'd be a nice thing to port for R*)
sorear why zavolaj? blizkost works better
jww umm I know none of the 2, lemme google about it :) 10:13
tadzik to have something in perl 6, not just "emulated"
moritz_ jww: zavolaj lets you call C functions, blizkost is the interface to Perl 5
snarkyboojum moritz_: currently try.rakudo.org:8090 runs out of cygx's home directory - don't really want to modify it in there
(on feather3)
tadzik iirc blizkost is here to help porting modules, so you don't have to port all the deps at once
sorear NO
jww got it moritz_ .
sorear blizkost is to make it so modules never have to be ported at all 10:14
tadzik hmm
sorear the Perl 6 Tk module is Tk:from<perl5> - I've tested it, it works, there's example code in the blizkost repo
jww sorear: great !
thanks for your help guys.
sorear perl 6 will be useless if all modules need to be rewritten for it.
jnthn It can serve both roles, but using Perl 5 modules from Perl 6 should really be seen as a fine thing to be doing. :-)
"We have the technology." 10:15
sorear binding is not a four-letter word
(note: blizkost has a LOT of rough edges and you may be better off writing your own version. Sorry.)
jnthn There are some naughty 7 letter words too :-) 10:16
cxreg wasnt there some noise recently about someone resurrecting ponie?
10:17 Trashlord joined
sorear ponie is not dead 10:17
ponie is an idea, it can never die
tadzik sorear: I think some things would be nice to port to take advantage of P6's features, grammars e.g.
moritz_ cxreg: masak said "it would be fun to resurrect", but I doubt it :-)
cxreg moritz_: is there anything ponie could do that blizkost can't?
sorear tadzik: sure 10:18
cxreg besides "not use libperl"
moritz_ and fail to use XS, at the same time
tadzik sorear: tbh, I see in keeping using perl 5 modules having something so awesome as perl 6
* I see no future
moritz_ cxreg: maybe it would make cross-HLL calls faster. No idea if it's worth it
tadzik got a little lost in my own thoughts
dalek kudo: 9808d7c | moritz++ | (4 files):
remove old Substitution hack
10:19
sorear tadzik: don't underestimate the value of legacy code
tadzik I wouldn't like to see Perl 6 being "better Perl, but still using Perl 5 code because it is alredy written"
sorear *phew*
moritz++ I was worried Substitution might be something I'd have to steal
tadzik rather as "better Perl, able to use its advantages to be better" 10:20
moritz_ :-)
tadzik just my little thoughts,maybe I'm wrong
sorear tadzik: the two are not mutually exclusive.
think about how long it would take you to write a TCP/IP stack in Perl 6 10:21
cxreg half of CPAN is replaced with operators in Perl 6 anyway :)
tadzik sorear: especially when Perl 6 will eventually become faster than Perl 5 (and I believe it will)
sorear tadzik: computers are cheap. replacing CPAN will cost billions.
replacing every other language that perl 6 uses will cost even more 10:22
tadzik ) 10:23
moritz_ I'm with sorear here - even if want to port all good p5 modules to p6, it'll take decades
tadzik (I meant implementations of course). Well, you are right, computers are cheaper than programmers
sorear I don't think you comprehend the magnitude of what you're asking for
moritz_ I mean, 20k distributions are quite a number 10:24
tadzik sure they do
* are
moritz_ and even if 10% are not necessary in p6 (like, Moose), and 20% is crap (I don't agree that 90% of everything is crap), there's quite some modules left 10:25
tadzik or whatever. In theory it'd probably be better to have everything Perl 6, but practice stands in a way
cxreg moritz_: maybe audreyt has a free weekend 10:26
sorear tadzik: do you live in a country where the monetary system has been abolished? 10:27
cxreg i keep coming up with half-formed thoughts about debuggers
tadzik sorear: sure no
as I said, what I was thinking about is probably unreal
cxreg ponders PPI written in perl6 10:30
jnthn cxreg: It already is. See STD. ;-)
Or Rakudo's Perl6::Grammar. :-) 10:31
cxreg i mean literally, for p5
jnthn Oh, OK. :-)
moritz_ also being worked on 10:32
in STD.pm6
cxreg orly
jnthn svn.pugscode.org/pugs/src/perl6/STD_P5.pm6
moritz_ at least when TimToady++ has tuits :-)
10:33 macroron joined 10:36 jaffa4 joined
jaffa4 hi 10:36
jnthn rakudo: my $x = "lalalal"; $x ~~ s:g/a/o/; say $x;
10:36 azert0x joined
p6eval rakudo 807748: OUTPUT«lololol␤» 10:36
pmurias cxreg: re 'also being worked on' you are very welcome to work on that 10:37
jaffa4 rakudo: my $x = "lalalal"; $x ~~ m:g/a/o/; say $x; 10:38
p6eval rakudo 807748: OUTPUT«===SORRY!===␤Confused at line 22, near "$x ~~ m:g/"␤»
10:38 perlygatekeeper joined
timbunce rakudo: my $url = ""; say 1 if $url ~~ s/^dbdi:postgres://; 10:39
p6eval rakudo 807748: OUTPUT«===SORRY!===␤Confused at line 22, near "say 1 if $"␤»
jaffa4 Rakudo star
timbunce is confused as well
jaffa4 Is it coming as planned?
moritz_ timbunce: you need to escape those :
timbunce moritz_: d'oh. thanks! 10:40
moritz_ timbunce: every character that does not match \\w is potentially a meta character
std generally gives better error messages
std: my $url = ""; say 1 if $url ~~ s/^dbdi:postgres://; 10:41
p6eval std 31832: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex modifier :postgres at /tmp/J5kH8ITQXD line 1:␤------> [32m = ""; say 1 if $url ~~ s/^dbdi:postgres[33m⏏[31m://;[0m␤Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/J5kH8ITQXD line 1:␤------> [32m=
..…
jnthn Wonder if we can steal that error.
tadzik jaffa4: seems so 10:43
jnthn Yes, still on track for 29th.
jaffa4 greaat 10:44
szabgab rakudo: 'szabgab' .oO 'this is great' 11:12
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "'szabgab' "␤» 11:13
szabgab rakudo: sub infix:<.oO>($a, $b) { say "$a thinks $b" }; 'szabgab' .oO 'this is great'
p6eval rakudo 9808d7: OUTPUT«szabgab thinks this is great␤»
szabgab better
11:13 alc joined
szabgab shold be part of the language 11:13
tadzik rakudo: sub infix:<.oO>($a, $b) { say "$a thinks $b" }; 'tadzik' .oO('does this work with parens too?') 11:15
p6eval rakudo 9808d7: OUTPUT«tadzik thinks does this work with parens too?␤»
tadzik yay
mscha rakudo: sub postfix:<!>($n) { [*] 1..$n }; say 3!; say 3!!; say 3!!! 11:18
p6eval rakudo 9808d7: OUTPUT«6␤720␤»
szabgab rakudo: sub postfix:<!>($n) { [*] 1..$n }; say 2!!; say 2!!! 11:21
timbunce rakudo: class c { method foo($s) { $s ~~ s/a/b/; } }; c.new.foo("a") # bug 11:22
p6eval rakudo 9808d7: OUTPUT«2␤2␤»
rakudo 9808d7: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in 'c::foo' at line 22:/tmp/vuF1uNuxfE␤ in main program body at line 22:/tmp/vuF1uNuxfE␤»
timbunce umm, I get "Null PMC access in find_method('new')" for that
in a sub it says "Cannot modify readonly value" but in a class method I get "Null PMC access in find_method('new')". # This is Rakudo Perl 6, version 2010.07-29-gf7fdd51 built on parrot 2.6.0 r48152 11:23
11:26 [particle]1 joined 11:27 _jaldhar joined 11:28 hercynium joined 11:30 mulander joined
mulander do I understand correctly that the perl 6 rules functionality will greatly help in parsing things like programming language grammar? 11:32
btw hi all :)
tadzik hey and yes :)
In fact, Perl6 is parsed by Perl 6 grammars
11:33 ldd joined
mulander so in order to parse a pascal like language one would define a grammar consiting of rules describing the language from the top level unit down to expression level and then just use grammar.parse($source). Correct? 11:33
jnthn szabgab: re .oO 11:34
rakudo: use MONKEY_TYPING; augment grammar Perl6::Grammar { token comment:sym<`> { <sym> <quote_EXPR> } } Perl6::Grammar!protoregex_generation(); eval(' say 42; .oO( heh heh )');
tadzik why "a pascal like?" ;) But yes
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "augment gr"␤»
jnthn er, gah
mulander tadzik: 'a pascal like' because that's what I had to do recently :)
jnthn rakudo: use MONKEY_TYPING; augment grammar Perl6::Grammar { token comment:sym<.oO> { <sym> <quote_EXPR> } }; Perl6::Grammar!protoregex_generation(); eval(' say 42; .oO( heh heh ); say 42;'); 11:35
tadzik oh, ok :)
jnthn That one :-)
p6eval rakudo 9808d7: OUTPUT«42␤42␤»
tadzik mulander: here you can see an exapmle of modifying Perl 6 grammar to add new keywords, if I understand it correctly
jnthn (We write a Perl 6 program that monkey-patches the grammar with a new type of comment, and then val some code under the now-twiddled grammar, and note how .oO is parsed as a comment now).
*eval
BTW, I totally didn't show you how to do this. <innocent look> 11:36
tadzik this deserves a blog post or something
Perl6::Grammar!protoregex_generation(); 11:37
what does it do?
jnthn tadzik: Forces the LTM tables to be re-built.
tadzik: Essentially a cache-flush
It's very Rakudo specific. :-) 11:38
tadzik so why does one need eval here?
jnthn tadzik: Because we're modifying the parser in our Perl 6 program. But we have to compile and run that program to do the changes. So we need an eval so that we run the code that uses the language tweak with the tweaked grammar.
tadzik jnthn: how would it have to be done for our code to accept such things? 11:39
jnthn tadzik: Note if we did this properly, it'd be with the keyword "slang" and it'd do the tweaks at BEGIN time and immediately augment the grammar.
But not the global grammar class but ratehr a mix-in to the current instance.
Anyway, I think this shows that we're not a million miles of being able to support slang. 11:40
But then I guess it should just be like
hmm, I forget the syntax akshually :-)
augment slang MAIN { token comment:sym<.oO> { <sym> <quote_EXPR> } }; say "ok!" .oO( now we can comment like this ) 11:42
szabgab jnthn: that monkey type did not work, did it? 11:49
11:49 sng2c joined
szabgab I have not seen he he 11:49
jnthn szabgab: Why should you - it's a comment! 11:50
szabgab oh
aha
jnthn szabgab: This made .oO( whatever here ) be parsed like #`( whatever here ) :-)
szabgab but we need that eval
sng2c hello there
szabgab can't we do without the eval?
jnthn szabgab: Not really until "slang" is implemented. 11:51
szabgab ok
thanks
jnthn What I just did comes with a big "don't really do this" sticker on it. ;-) 11:52
szabgab I am going to blog about this :) 11:55
11:56 tadzik joined
frettled Is that a threat? 11:56
szabgab maybe do a presentation with a T-shirt saying "don't really do this"
frettled szabgab: Do this at home<small>(not work)</small> 11:57
oops, sorry about that inverse background
jnthn: I can hardly wait for slang to be implemented. 11:58
moritz_ then implement it :-) 11:59
11:59 zulon joined
frettled twitches as if mst had just said «congrats, you just volunteered, mate!» 12:00
tadzik Sounds like another "your weekly contribution to Rakudo" :)
felliott moritz_: thanks for applying my patch 12:01
should I unfudge the tests for it now?
moritz_ yes
frettled tadzik: it would be kind of cool to do that, if I am up to it.
tadzik frettled: shouldn't be too hard if I knew where to write code, and what to write :) 12:02
felliott will do
12:03 Maddingue joined 12:04 bluescreen joined
sorear pmichaud says NQP-rx 12:04
pmichaud says "no" to roles in NQP-rx
which means that rakudo won't get slangs until after the grammar is bootstrapped in perl6
pugssvn r31833 | felliott++ | unfudge tests for non-num arguments to xx
sorear so no rush.
pugssvn r31834 | felliott++ | unfudge test for empty replacement string 12:05
jnthn sorear: I think pmichaud++'s position may be a little more nuanced than just "no roles ever" 12:07
sorear: We just don't have a clean way to do them at the moment in a "subset of Perl 6" sense. 12:08
sorear: The object model re-work I'm about to embark on after R* could well make that much, much more practical.
moritz_ sorear: parrot supports some hacky role composition mechanism. That could be used for slangs, even if not with NQP syntax
jnthn moritz_: I'd rather just wait for us to have it done properly in the refactor though, tbh. 12:09
moritz_ jnthn: yes, I'm just going throug some possibilities in my head
jnthn OK :-) 12:10
Also scg.unibe.ch/archive/papers/Duca05y...sTrait.pdf has some interesting ideas and may mean that we want some basic form of roles at a fairly low level in the meta-model anyway. 12:11
moritz_ jnthn: has the grant been approved yet? 12:12
jnthn moritz_: Not yet, no.
moritz_ prints the paper for later reading 12:14
12:17 envi^home joined
sorear hey, I remember this paper 12:18
(maybe it'll make sense now)
dalek ecza: 75dc053 | sorear++ | (5 files):
Lift lift_decls into a separate compiler pass
12:32
ecza: 726e4a4 | sorear++ | (2 files):
Remove decls fossil
12:37 gfldex joined 12:42 rgrau_ joined
gfldex rakudo: sub a(%p1?){ %p1<a> = 1 };a(); 12:45
p6eval rakudo 9808d7: OUTPUT«Null PMC access in invoke()␤ in 'a' at line 1␤ in main program body at line 22:/tmp/9VI2Pgexbm␤»
gfldex is that intentional?
jnthn Null PMC Access is never intentional.
wtf...
gfldex i haz a bug :) 12:46
jnthn Indeed.
sub a(%p1?){ say %p1 }; a();
rakudo: sub a(%p1?){ say %p1 }; a();
p6eval rakudo 9808d7: OUTPUT«Hash[0x7fb4290]␤»
jnthn ...huh. 12:47
Definite Rakudo bug, anyway.
[Coke] (null pmc) you should really never see /any/ parrot errors, ja.
jnthn Ja.
gfldex where do i report bugs?
jnthn Es ist kaputt!
[Coke] rakudobug?
gfldex and shouldn't point www.rakudo.org to that location? 12:48
[Coke] jnthn: mehr bier!
jnthn gfldex: Email to rakudobug@perl.org
[Coke] www.rakudo.org/how-to-help
jnthn www.rakudo.org/submit-a-bug-report
uh, the page [Coke] referenced is, ironically, better... 12:49
[Coke] jnthn: yah. it's also linked to off the main page.
jnthn [Coke]: So is the one I linked to, bizzarely under the link "Developer's Guide"
[Coke] jnthn: wow. some seriously SEO going on there. =-) 12:50
er, insert adjective before SEO.
nqp question. if I'm using nqp's expr parser, shouldn't I get parens for free?
moritz_ if you define a postcircumfix:<( )>, I think so, yes 12:51
[Coke] nothing defined by default for grouping?
moritz_ not sure
jnthn er, circumfix:<( )>
:-)
moritz_ yes
what jnthn++ said
jnthn [Coke]: Well, it's free in that you automatically get term:sym<circumfix> 12:52
[Coke] jnthn: Do I need to define an action for it? 12:53
jnthn [Coke]: For which?
Your circumfix:sym<( )>?
[Coke] yes. 12:54
jnthn [Coke]: Yes
[Coke]: See NQP's Actions.pm for how it could look
Only a few lines. 12:55
[Coke] stealing from perl6, actually. I'll try that. =-)
12:57 dolmen_ joined
[Coke] nope. 12:57
gfldex rakudo: sub a (%p1 is ro){ %p1<a> = 1 }; my %h; a(%h); 12:58
p6eval rakudo 9808d7: ( no output )
tadzik ha, gotcha
12:58 alexm joined
gfldex should i be allowed to change a hash that is set to ro? 12:58
tadzik yes, locally 12:59
moritz_ gfldex: you shouldn't be allowed to assign to it, but you can modify elements
[Coke] jnthn: hurm. nqp does not have a term:sym<circumfix>, but rakudo does. 13:00
colomon If someone has a few minutes to spare, could someone sanity check Math::Vector for me? It should be in the proto/pls/ufo world now...
moritz_ nqp: say(1+(2+5)) 13:01
p6eval nqp: OUTPUT«8␤»
alexm hi tadzik, i finished translating your Perl 6 presentation into Catalan but i have a couple of doubts
[Coke] moritz_: right, I just don't see where it's declaring that syntax. 13:02
alexm does nierozwijany mean abandoned, maybe?
tadzik yeah, can be used in this context
alexm it refers to PUGS in slide 17
tadzik yeah, I remember
nierozwijany is "no one works on it, extends it"
alexm ok i see 13:03
13:03 salv0 joined
alexm and what about nienajpiękniejszej? 13:03
tadzik heh
alexm it's on slide 19 and i think it refers to too much complicated syntax
tadzik I'm not sure it's a valid Polish, but I like wordplaying ;)
jnthn Awesome word :-)
tadzik not the most beautiful :)
(literally)
jnthn tadzik: Oh heh, my guess (from Slovak similarity) was going to be "not the prettiest" :-) 13:04
tadzik jnthn: almost the sae thing :)
alexm ok, i got some parts like beautiful and unsatisfied removing some chars ;)
jnthn tadzik: But in Slovak prettiest is an irregular superlative.
nenajkrasie or some such i guess :-) 13:05
tadzik :)
jnthn oh, prob nenajkrajsie
PerlJam good $localtime all
tadzik 'afternoon
moritz_ oh hai
jnthn o/ moritz_
oh, wait
o/ PerlJam
jnthn should read more than line :) 13:06
tadzik jnthn: I never know why do we call dwarves "krasnoludy" -- they're not krasnij at all ;)
jnthn lit "beautiful people"? :-)
hehe
tadzik :)
jnthn maloludy would seem more appropriate :-)
13:07 mj41 joined, [mark] joined, [mark] left
alexm tadzik: well then, catalan translation is already finished, i'll let you know how it goes on Thu :) 13:09
tadzik alexm: great :)
alexm: are you mongers also celebrating R* then? 13:10
alexm tadzik: sure! 13:11
tadzik we decided celebrating on Fri after my presentation
(before it people were saying "Ha ha! Even Perl 5.20 will come before Perl 6!") 13:12
jnthn tadzik: Is there regular meeting PM group where you are? :-)
PerlJam tadzik: I think the tune will change with R*. It'll be more like "Where's CPAN? How can I do X? How come I get these strange errors? When will Perl 6 be fast?" etc. 13:13
[Coke] PerlJam: ... and while that /is/ an improvement, it still sounds bad. =-)
alexm planning to start with a quick tutorial on getting rakudo installed, then your presentation and if they want more, try pmichaud's oscon presentation ;)
tadzik jnthn: not regular :)
frettled
.oO( Perhaps we need signed packages )
tadzik PerlJam: I don't think so, they're more-less prepared, know what to expect 13:14
PerlJam [Coke]: As long as the chorus is big, we know we've got a good following :)
tadzik jnthn: not really. Before the worskhop week ago the ast meeting was in December. Now there's a second one this month :) 13:15
jnthn tadzik: Nice :-)
tadzik: In Warsaw?
tadzik jnthn: yep
jnthn Never really been there. :-)
tadzik jnthn: you're from Slovakia? 13:16
mulander is also from Poland :)
tadzik mulander: skąd? :)
jnthn tadzik: No, I'm from England originally.
mulander tadzik: Sanok, podkarpacie
jnthn tadzik: I lived in Slovakia for 2 years and learned a bit.
tadzik jnthn: Worthington (am I right?) does not sound Slovak to me, hence my curiosity :)
jnthn tadzik: I visited Krakow and Zakopane in Poland. :-) 13:17
Kinda miss that part of the world though. Maybe I'll get chance to drop by Warsaw for a PM meet some day. :-)
tadzik would be nice :)
jnthn: one of our mongers is in London now, even messing on London.pm 13:18
jnthn :-)
13:19 lrnperl6 joined
lrnperl6 hi #perl6 13:19
tadzik ho, something sounds like screencasts :) 13:20
hello lrnperl6
alexm liked Slovakia, been there for vacation once 13:21
jnthn alexm: Aye, it's lovely.
alexm: Where'd you go?
tadzik alexm: I was wondering where do people like Spanish go on vacation :) Colder places, huh? :)
moritz_ tadzik: or other parts of spain :-) 13:22
tadzik :)
alexm jnthn: i was a few days in Bratislava and then went to the Vysoké Tatry, spent a week hiking there
jnthn Nice places. 13:23
Bratislava is where I lived.
tadzik Vysoke Tatry, on the other side of our Tatry :)
jnthn tadzik: Aye, that's how I ended up in Zakopane - around from the Slovak side of the Tatry. :-) 13:24
alexm tadzik: also went to the other side but we were living near Strbske Pleso
jnthn
.oO( let's have tourist places named with as few vowels as possible! )
tadzik alexm: will accept your pull request, I don't understand spanish so I can't review it :)
But I'm starting to learn it in the new semester on Unio 13:25
alexm tadzik: it's not Spanish it's Catalan
they are quite different, though have common root indeed
tadzik alexm: pardon my faux pas, what's the difference?
some kind of dialect? 13:26
alexm Catalan is not a dialect of Spanish, it is a full language on its own
tadzik: en.wikipedia.org/wiki/Catalan_language
gfldex and bound to a different culture
alexm gfldex: true
there are other full languages in Spain, like Galician, Basque, Asturian, etc. 13:27
gfldex and your faux pas is well crafted since the catalans (catalanians?) developted the urge to split of from spain lately :)
alexm gfldex: :)
13:28 Kodi joined
tadzik I see 13:31
we have Kaszubi, they have language and culture on their own but not willing to split 13:32
jnthn looks it up out of curiosity
tadzik pff, apply failed 13:33
alexm: how about making the separate directory for it?
13:34 alc joined
alexm tadzik: then i should copy the .png files or reference them as ../file.png? 13:35
tadzik hmm
I'll merge it on my own laptop, not via github, and see what exactly fails 13:36
alexm tadzik: do you think it's worth the effort? you can ignore the pull request, don't worry 13:37
tadzik alexm: curiosity killed the cat, and taught tadzik a bit about git :)
Maddingue hello guys
tadzik o/ 13:38
Maddingue I am unable to remember or to find what is the name of the current effort for embedding perl5 within Rakudo
could someone point me to the correct location?
moritz_ blizkost
Maddingue ah tanks
thanks
tadzik alexm: see? local merge was successfull
alexm tadzik: interesting, i will remember that just in case 13:39
Maddingue moritz++
tadzik looks at the slides, out of curiosity 13:40
alexm: is pdf so pixelated on your machine too?
13:40 molecules joined
alexm tadzik: you mean pixelated fonts or images? 13:41
tadzik alexm: fonts
alexm yeah, they are :( 13:42
tadzik hmm
will try to compile it here, let's see what happens
13:42 MarkSenn joined
alexm maybe i lack the T1 fonts 13:42
tadzik alexm: looks hell better, will push to git 13:43
alexm tadzik: please, do
tadzik alexm: done
alexm tadzik: are you working on linux? 13:44
tadzik alexm: yep
oh, about the references syntax
mongers in warsaw said that in Perl5 only the first -> is required, so in Perl6 we save just one ->, maybe you can work out some better example on how the Perl5 dereferencing is ugly :) 13:45
moritz_ tadzik: compare: my $a = [1, 2, 3]; $a.push: 4
to
my $a = [1, 2, 3]; push @$a, 4 13:46
that's not too but
but once you one more level nesting, you need to wrte
tadzik ...but when we put it in a hashref…
[Coke] wonders why it's $a.push: 4 and not $a.push(4)
moritz_ push @{$a->{b}}, 5
jnthn [Coke]: They're equivalent.
moritz_ [Coke]: both work
jnthn [Coke]: Mostly matter of style.
[Coke] yes, but I would never write push: 4. =-)
So I wonder why moritz_ does. =-)
moritz_ as opposed to $a<b>.push: 5
tadzik [Coke]: push: 4 has less noise-to-code ratio 13:47
moritz_: nice example, moritz_++
moritz_ [Coke]: because parens are harder to type on my keyboard than the colon
Kodi Outside of Lisp, less parentheses are more.
tadzik alexm: this would give more positive emotions :)
dolmen_ Maddingue: github.com/jnthn/blizkost 13:48
alexm tadzik: but that will derive from your presentation, it wouldn't be a mere translation
maybe i can show that example on the blackboard
tadzik alexm: but this is a better example, I'm thinking about changing it in mine, if that changes anything anyway 13:49
[Coke] You can't use the colon syntax on a random sub, correct?
tadzik [Coke]: only with object.method iirc
moritz_ [Coke]: correct. It's methods only
[Coke] ew.
alexm tadzik: then i prefer that you change the example first :P
tadzik alexm: will do :) 13:50
alexm tadzik++
jnthn
.oO( I should probably sort out my YAPC presentation soon :-) )
13:52
tadzik I wonder whether to use push: 4 here 13:53
dolmen_ rakudo: my $a = <1, 2, 3>; 4 ==> $a.push; $a.perl.say 13:54
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " $a.push; "␤»
jnthn dolmen_: That'd need to be 4 ==> $a.push((*)); iirc 13:55
dolmen_: But NYI
13:55 MarkSenn left
dolmen_ rakudo: my $a = <1, 2, 3>; 4 ==> &$a.push; $a.perl.say 13:55
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "&$a.push; "␤»
jnthn dolmen_: like this
rakudo: my @a = <1 2 3>; 4 ==> @a; @a.perl.say 13:56
p6eval rakudo 9808d7: OUTPUT«["1", "2", "3", 4]␤»
jnthn dolmen_: The pushing is implicit.
tadzik alexm: changes pushed 13:57
pugssvn r31835 | Kodi++ | [S32/Temporal] Specified how DateTime.new(Int) should interpret ambiguous input.
gfldex I have defined an infix:<=> and rakudo is telling me that it can't find a candidate for it. It shows me all candidates it knows about, what is nice and dandy but I would rather know what it's looking for instead of what it could find. Is there any way to find out what it's looking for?
pugssvn r31836 | Kodi++ | [t/spec] More Temporal tests. 13:58
tadzik alexm: the note says: During the presentation the above example was different, I've changed it to underline the benefits
alexm: you can omit this last note
Maddingue dolmen_: moritz_ already gave me the answer, but thanks :)
dolmen_ rakudo: my @a = <1, 2, 3>; @a ==> say;
p6eval rakudo 9808d7: OUTPUT«1,2,3␤»
dolmen_ rakudo: my @a = <1, 2, 3>; (@a ==> perl).say; 13:59
p6eval rakudo 9808d7: OUTPUT«Could not find sub &perl␤ in main program body at line 22:/tmp/hnQ0bSPwi3␤»
jnthn .perl is only a method
dolmen_ What is the semantics of "@a ==>" ? 14:00
14:01 Guest45518 joined
dolmen_ Feed each element to the right part ? 14:01
14:01 xinming_ joined
dolmen_ rakudo: my @a = <1, 2, 3>; (@a ==> *)(say); 14:01
jnthn dolmen_: Yes
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " *)(say);"␤»
jnthn dolmen_: At the moemnt, it only allows you to write either a sub call or a variable on the sharp end 14:02
dolmen_: In the future, it should look for anywhere you wrote a (*) and accept that case too.
But I didn't get to that yet.
It's a little "fun" to write. :)
14:03 Sexus joined
dolmen_ rakudo: my @a = <1, 2, 3>; (* ==> say)(@a); 14:03
p6eval rakudo 9808d7: OUTPUT«Whatever()<0x80ae530>␤invoke() not implemented in class 'Boolean'␤ in main program body at line 22:/tmp/B40E115s93␤»
jnthn dolmen_: In that case you're doing same as (say(*))(@a) 14:04
dolmen_: ==> doesn't declare a curried sub
dolmen_: Feed operators are kinda syntactic-ish rather than dispatch-ish. 14:05
dolmen_: We actually promote each "phase" to a closure.
moritz_ rakudo: <a b c> ==> say
p6eval rakudo 9808d7: OUTPUT«abc␤»
moritz_ rakudo: <a b c> ==> &say
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " &say"␤»
moritz_ rakudo: <a bc d> ==> grep { .chars == 1} ==> say 14:06
p6eval rakudo 9808d7: OUTPUT«ad␤»
dolmen_ rakudo: my $say = say(*); <a b c> => $say;
rakudo: my $say = say(*); <a b c> ==> $say;
p6eval rakudo 9808d7: OUTPUT«Whatever()<0x755f600>␤»
rakudo 9808d7: OUTPUT«Whatever()<0x7b1f9c0>␤Method 'push' not found for invocant of class 'Bool'␤ in main program body at line 22:/tmp/fSXs7brk6i␤»
moritz_ does it just stuff additional arguments to the last call? 14:07
jnthn moritz_: Correct
moritz_: Or if it's a variable, tries to .push onto it.
moritz_ jnthn: kinda makes sense
jnthn &say is a varialbe not a call 14:08
Well
Actually it's...weird. :-)
moritz_ it's more like a compile-time constant, no?
jnthn Yeah
dolmen_ rakudo: say (&say).WHAT
p6eval rakudo 9808d7: OUTPUT«Multi()␤»
alexm tadzik: has trouble accepting your changes too into my fork, how did you pull them locally, git pull ...?
dolmen_ rakudo: say (say).WHAT 14:09
p6eval rakudo 9808d7: OUTPUT«␤Bool()␤»
mathw note the extra newline in there
it called say twice :)
dolmen_ called once without args, then called with .WHAT result 14:10
pugssvn r31837 | moritz++ | [t/spec] unfudge passing test in for.t
dolmen_ std: my @a = <1, 2, 3>; (@a ==> *)(say); 14:11
p6eval std 31836: OUTPUT«Potential difficulties:␤ Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/ToUGgrnJOA line 1:␤------> [32mmy @a = <1, 2, 3>; (@a ==> *)(say[33m⏏[31m);[0m␤ok 00:01 118m␤» 14:12
tadzik alexm: git pull git://bla.bla.tadzik.slides master:master
dolmen_ std: my @a = <1, 2, 3>; (@a ==> *)(&say);
p6eval std 31836: OUTPUT«ok 00:01 122m␤»
tadzik maybe master:master can be ommited
dolmen_ rakudo: my @a = <1, 2, 3>; (@a ==> *)(&say);
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " *)(&say);"␤»
dolmen_ rakudo: say <a b c>.*.WHAT; 14:13
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "say <a b c"␤»
dolmen_ std: say <a b c>.*.WHAT;
p6eval std 31836: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/lJccSrH0Pl line 1:␤------> [32msay <a b c>.*[33m⏏[31m.WHAT;[0m␤ expecting dotty method or postfix␤Parse failed␤FAILED 00:01 116m␤»
tadzik rakudo: (say "foo").WHAT.say # btw, what does say return?
p6eval rakudo 9808d7: OUTPUT«foo␤Bool()␤»
gfldex rakudo: class A {}; sub infix:<=>(A $a, $value){ return $a; }; my $a = A.new(); $a = 1; 14:14
p6eval rakudo 9808d7: OUTPUT«Nominal type check failed for parameter '$a'; expected A but got Any instead␤ in 'infix:<=>' at line 22:/tmp/D6utJ4Rqcu␤ in main program body at line 22:/tmp/D6utJ4Rqcu␤»
alexm tadzik: rejected, non-fast-forward (i think i'll fork yours from scratch) 14:15
gfldex std: class A {}; sub infix:<=>(A $a, $value){ return $a; }; my $a = A.new(); $a = 1;
p6eval std 31836: OUTPUT«Potential difficulties:␤ $value is declared but not used at /tmp/Zb4_Hm3eiV line 1:␤------> [32mclass A {}; sub infix:<=>(A $a, [33m⏏[31m$value){ return $a; }; my $a = A.new(); [0m␤ok 00:01 122m␤»
tadzik alexm: conflicts?
moritz_ rakudo: class A {}; sub infix:<=>(A $a, $value){ return $a; }; say my A $x = 3
p6eval rakudo 9808d7: OUTPUT«A()␤»
moritz_ gfldex: you always passed in Any as the first argument to infix:<=> 14:16
alexm tadzik: no conflicts, just... ! [rejected] master -> master (non-fast-forward)
tadzik hrm
alexm: you can always just git format-patch and send it to me, I'll generate pdf once again then
gfldex moritz_: so i can't really fool around with infix:<=> like in C++?
moritz_ gfldex: you can 14:17
dolmen_ std: my @a = <1 2 3>; (@a ==> [+]).say;
p6eval std 31836: OUTPUT«ok 00:01 118m␤»
moritz_ gfldex: I've demonstrated it above... but it's mostly not a good idea :-)
dolmen_ rakudo: my @a = <1 2 3>; (@a ==> [+]).say;
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "(@a ==> [+"␤»
dolmen_ rakudo: my @a = <1 2 3>; ([+] @a).say;
p6eval rakudo 9808d7: OUTPUT«6␤»
moritz_ rakudo: class A {}; sub infix:<=>(A $a, $value){ say "Custom assignment" }; my A $x = 3
p6eval rakudo 9808d7: OUTPUT«Custom assignment␤»
alexm tadzik: i'll try, thanks again
dolmen_ rakudo: 1..4 ==> say; 14:19
p6eval rakudo 9808d7: OUTPUT«1234␤»
dolmen_ rakudo: 1..* ==> say; 14:21
bad idea...
p6eval rakudo 9808d7:
..OUTPUT«123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130…
dolmen_ rakudo: say &grep.WHAT 14:23
p6eval rakudo 9808d7: OUTPUT«Multi()␤»
frettled rakudo: [+] 1..* ==> say;
dolmen_ rakudo: say &grep.HOW
14:23 alester joined
p6eval rakudo 9808d7: ( no output ) 14:24
jnthn frettled: worse idea ;-)
rakudo: say &grep.HOW.WHAT
p6eval rakudo 9808d7: OUTPUT«ClassHOW()␤»
frettled jnthn: I could've used [*]! 14:26
gfldex is there a nopaste that speaks perl6? 14:27
14:28 perigrin joined 14:29 tadzik joined
dolmen_ rakudo: my @a = <1 2 3>; my $b = @a; 4 ==> $b; @a.perl.say 14:29
p6eval rakudo 9808d7: OUTPUT«["1", "2", "3", 4]␤»
14:30 cemal joined
jnthn EBADSPELLINGOFCAMEL 14:30
dolmen_ rakudo: my @a = [ 1 2 3 ]; my $b = @a; 4 ==> $b; $b.perl.say
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "my @a = [ "␤» 14:31
jnthn gfldex: If you mean one that highlights it, then no.
dolmen_ jnthn: :)
jnthn Or nafaik
dolmen_ rakudo: my @a = [ 1, 2, 3 ]; my $b = @a; 4 ==> $b; $b.perl.say
p6eval rakudo 9808d7: OUTPUT«[[1, 2, 3], 4]␤»
dolmen_ rakudo: my @a = < 1 2 3 >; my $b = @a; 4 ==> $b; $b.perl.say
p6eval rakudo 9808d7: OUTPUT«["1", "2", "3", 4]␤» 14:32
dolmen_ strange
jnthn rakudo: say "\\x[1F483]\\x[1F4AB]";
14:32 perimosocordiae joined
p6eval rakudo 9808d7: OUTPUT«????????␤» 14:32
dolmen_ rakudo: [ 1, 2, 3 ].WHAT.say ; < 1 2 3 >.WHAT.say
p6eval rakudo 9808d7: OUTPUT«Array()␤Parcel()␤»
frettled Hmm, so the paste-thingy in /topic is gone :( 14:33
tadzik huh, did Test.pm stop working for you in the recent rakudo?
wklej.org/id/368888/
jnthn Time for a keyboard break. bbl
dolmen_ tadzik: moritz_ said this morning he broke it, but not committed it 14:34
dolmen_ 's clock is 16:34
tadzik dolmen_: where are you from? Same timezone as in here 14:35
dolmen_ tadzik: Paris 14:36
14:36 rindolf joined 14:37 bjarneh joined 14:38 Lasse_ joined
Lasse_ Hi, I'm have just written my HW-pgm and a few other test pgm. For me to do something useful I need to connect to databases primarily Mysql. I also need to interface with SAP (sapnwrfc). I appreciate if anyone can tell where I can find documentation. 14:39
tadzik Lasse_: look at zavolaj examples
or, MiniDBI is what you look for I think 14:40
Lasse_ Thank you, but where do I find zavolaj examples and miniDBI? I'm unfortunatly completely ignorant of the Perl world :| 14:42
tadzik Lasse_: You don't need Zavolaj itself, MiniDBI uses it, hence my first thought 14:43
dolmen_ Lasse_: if you are ignorant of the Perl world, you should probably start with Perl 5 instead of Perl 6
tadzik Lasse_: you can try reading the tests: github.com/mberends/MiniDBI/tree/master/t/
dolmen_: why so> 14:44
but well, dolmen_ may be right.
Lasse_: are you looking for production-ready impementation of Perl? 14:45
dolmen_ tadzik: it looks like he want to achieve a task NOW: connecting to MySQL and SAP.
14:45 sng2c joined
tadzik dolmen_: it depends, whether he needs stable, die-hard code or does he want to have some fun with a new language 14:45
dolmen_ tadzik: connecting to SAP is not the kind of things you do for fun... 14:46
tadzik Lasse_: the Perl 6 implementation is not yet complete and/or production ready, I hope you are aware of that
dolmen_: Maybe, never heard of SAP
dolmen_ tadzik: SAP is a big piece of software used in Fortune 500 companies for accounting, warehouse management... 14:47
tadzik oh
moritz_ tadzik: it's a German business-kill-it-all piece of software
specifically designed for being able to have a checkbox on any feature of a "we need this" list 14:48
Lasse_ No I do not plan to go into production now. I like to convert a huge job scheduling system from PHP to Perl6 just for the hell of it. This is something that will take me a year or so. This is for future not production now
dolmen_ Lasse_: You'll will have to write the SAP connector yourself... 14:49
Lasse_: and note that the specs for Perl6 IO and Sockets are not yet stable... 14:50
jww :vq
Lasse_ There is a very good Perl5 SAP interface called sapnwrfc. Can I call that from Perl6
jww ops
dolmen_ Lasse_: not yet and not in the near (2-3 months) future 14:52
Lasse_: if you want to use a Perl 5 module, use Perl 5 for now 14:53
[Coke] wonders why it won't work with z*
[Coke] also wonders who dolmen is. 14:54
dolmen_ wonders what is z*
[Coke] ah, Olivier. Hio. 14:55
with no infobot, I can't just ask purl. the package (starts with a z) for running perl5 in p6.
related to blizkost, though I thought it was not the same. 14:57
Lasse_ I'm to old to take on both Perl5 and Perl6. I stick to PHP for production and practice Perl6 for future. I'm very impressed by the things I've seen in Perl6 so far.
alexm tadzik: please, note github.com/tadzik/Perl6-slides/comm...ent-116866 14:58
alester How many new-to-Perl-6 people are we getting in here? 14:59
moritz_ alester: a few, it seems
tadzik alester: I notice one every few days
maybe more than few
dolmen_: z* => zavolaj
but I think [Coke] mean blizkost 15:00
alester I'd like to suggest we put something in /topic specifically for them. Even just a "Thanks for your interest in Perl 6"
tadzik oh, I'll finish reading a backlog first
alester Anything that can be as welcoming as possible.
[particle] coke: zavolaj?
alester I'm thinking the opposite of "No pasting, at all - and we MEAN at all - use scsys.co.uk:8002/ (and no arguing either)" 15:01
tadzik or maybe hugme could hug every newcomer :)
moderator »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! 15:01
alester Thanks moritz_ 15:01
tadzik alexm: thanks for a not 15:02
* note
[particle] do we still need the alpha: evalbot?
moritz_ no
[particle] strike it from the topic, please
dolmen_ moritz_: add a nopaste
moderator »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! 15:03
tadzik alexm: thanks, fixed 15:03
alexm++
alester You know what? I had Google Analytics on rakudo.org already. 15:05
I wonder where I put it.
dolmen_ rakudo: 3 err 5;
p6eval rakudo 9808d7: ( no output )
dolmen_ rakudo: say (3 err 5);
p6eval rakudo 9808d7: OUTPUT«3␤»
frettled rakudo: say 3 or 5; 15:06
dolmen_ rakudo: say (3 / 0 err 5);
p6eval rakudo 9808d7: OUTPUT«3␤»
rakudo 9808d7: OUTPUT«Inf␤»
frettled \\o/
[particle] alester: ? you mean, before i created an account, you had one? 15:09
alester yes
populated and everything
daxim what's the difference between saying perl6 and std to evalbot? the other ones are clear to me 15:10
alester I have my own tracking, and I put a bug on rakduo.org for it.
15:11 sawyer_ joined
frettled daxim: std checks with STD.pm 15:11
Kodi daxim: Whereas, the last time I checked, "perl6" tries every implementation.
daxim oh!
and how does the bot bootstrap STD.pm? 15:12
moritz_ not every, but the few that are curently considered complete enough
daxim: it runs 'make' in src/perl6 :-)
frettled perl6: say 1;
p6eval pugs, rakudo 9808d7: OUTPUT«1␤»
frettled nqp: say 1;
p6eval nqp: OUTPUT«Confused at line 1, near "say 1;"␤current instr.: 'parrot;HLL;Grammar;panic' pc 552 (src/cheats/hll-grammar.pir:205)␤»
frettled std: say 1; 15:13
p6eval std 31837: OUTPUT«ok 00:01 114m␤»
dolmen_ rakudo: multi infix:/%(Int $a, Int $b) { [ ($a / $b), ($a % $b) ] }; }; (5 /% 2).perl.say;
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Malformed multi at line 22, near "infix:/%(I"␤»
15:13 sawyer_ joined
[particle] is adding google analytics to perl6.org 15:13
dolmen_ rakudo: multi infix:</%>(Int $a, Int $b) { [ ($a / $b), ($a % $b) ] }; }; (5 /% 2).perl.say;
frettled daxim: See my three examples above :)
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "}; (5 /% 2"␤»
daxim good
moritz_ std: multi infix:</%>(Int $a, Int $b) { [ ($a / $b), ($a % $b) ] }; }; (5 /% 2).perl.say;
p6eval std 31837: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/0OSyWZ4Wrq line 1:␤------> [32m, Int $b) { [ ($a / $b), ($a % $b) ] }; [33m⏏[31m}; (5 /% 2).perl.say;[0m␤Parse failed␤FAILED 00:01 123m␤»
15:15 sawyer_ joined
dolmen_ std: multi infix:</%>($a, $b) { [ ($a / $b), ($a % $b) ] }; }; (5 /% 2).perl.say; 15:15
p6eval std 31837: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/PBd04wvko8 line 1:␤------> [32m>($a, $b) { [ ($a / $b), ($a % $b) ] }; [33m⏏[31m}; (5 /% 2).perl.say;[0m␤Parse failed␤FAILED 00:01 122m␤»
daxim that line above contains escape characters and they are rendered as fl-ligature in my client - how do I find out which font was used so I can delete it? it's definitely not the one I specified, a substitution kicked in (Konversation on KDE) 15:16
15:16 sboyette joined
moritz_ daxim: they are ANSI terminal control escapes :/ 15:16
daxim which starts with an escape character
I can copy-paste it and everything, it just looks ugly here. does anyone else have a wacky rendering? 15:17
dolmen_ daxim: std's output
15:17 molaf joined
dolmen_ uses webchat.freenode.net 15:18
frettled daxim: you need to have a terminal emulation that supports ANSI (or ignores it nicely) and UTF-8.
daxim: irssi works well (not GUI based)
dolmen_ webchat shows raw ANSI, not colors
moritz_ irclog.perlgeek.de/perl6/today shows red and green at least 15:19
[particle] i don't think enough irc clients support ansi escapes that it should be a standard feature here
pidgin doesn't support it, that's what i use. 15:20
15:20 _macdaddy joined
moritz_ I wouldn't object to filtering it out in p6eval 15:20
daxim screenshot www3.pic-upload.de/26.07.10/fzqwpp8aem5t.png
dolmen_ sees about the same except e square instead of the ligature 15:21
frettled daxim: i.imgur.com/skgWA.png 15:23
That's irssi in an xterm. The font doesn't know the eject symbol, but other fonts do. 15:24
daxim I understood you well, you're not understanding what I'm asking; I realise I'm the wrong place for this, but since escape characters usually aren't used anyplace else, I thought it couldn't hurt to have a stab in the dark
15:25 patrickas joined
frettled It's fairly commonly used these days, I'm afraid. 4RED 15:25
I'd say that Konversation has a bug there. 15:26
daxim certainly not
that's a mirc code
dolmen_ sees frettled's RED 15:27
frettled daxim: no, that's ANSI code.
daxim: and that's a few years older than mirc. 15:28
frettled used it while, ehrm, "programming" BASIC in 1982. 15:29
[Coke] osdir.com/ml/konversation-devel/201...00027.html
15:30 sawyer_ joined
[Coke] er, bugs.kde.org/show_bug.cgi?id=231862 - if folks using konversation wanted to vote for the feature. 15:31
daxim your RED thing is definitely a mirc code, hex 03 34
frettled daxim: which is the hex code used in the ANSI color escape. 15:32
15:33 atrodo joined
dolmen_ frettled: \\e[31m 15:33
15:33 sawyer_ joined 15:34 zulon joined
frettled Anyway, this is all besides the point, which is that for reasons unknown to us, Konversation (or the libraries it uses) gets confused about the color escape. 15:35
daxim that was not my question :( 15:37
back on topic, you needn't think about this anymore
frettled daxim: I understand that wasn't your question, but your question does not seem relevant to your problem. I cannot see how this is a font problem, but rather a Konversation problem, and therefore the solution is not in deleting something from the font. 15:38
daxim to me it's totally obvious that this is a font substitution problem. look how fuzzy and unsightly the ligature looks, and I know for sure that in DejaVu Sans Mono the codepoint is not filled with a visible character 15:39
also: delete a font, not delete something from a font
frettled Okay, so the bug is that Konversation substitutes a font when it shouldn't? There is no fl ligature there. 15:40
daxim all modern X applications do that, it's a feature 15:42
frettled geekwhisperin.files.wordpress.com/2...eature.jpg
daxim obviously I have a stupid font installed where the escape characters looks like that; and I didn't notice before
frettled If you're lucky, Konversation still has the font file opened. 15:43
If you know the process ID, you can find the files opened like this: lsof -p 1337 15:44
(substitute your PID for 1337, obviously)
daxim /usr/share/ghostscript/fonts/n019003l.pfb
begone, bitmap imps!
frettled++
frettled heads home, damage done. :D 15:45
15:45 Ross joined
tadzik is there any way to use split so it does not create empty string elements? 15:46
rakudo: my $a = "\\e[1m" ~ "\\e[4m" ~ "\\e[31;45m"; $a ~~ s:g/\\e\\[//; $a.split(/m|\\;/).perl
p6eval rakudo 9808d7: ( no output )
tadzik rakudo: my $a = "\\e[1m" ~ "\\e[4m" ~ "\\e[31;45m"; $a ~~ s:g/\\e\\[//; $a.split(/m|\\;/).perl.say
p6eval rakudo 9808d7: OUTPUT«("1", "4", "31", "45", "")␤»
tadzik many operations, I know, you can ignore most of them. Taken straight from the code
colomon tadzik: you can try rephrasing it as a comb (where the regular expression you supply is the data you are looking for, not the stuff between) 15:47
tadzik hmm, sounds good 15:48
my $a = "\\e[1m" ~ "\\e[4m" ~ "\\e[31;45m"; $a ~~ m/(\\d+)/; # what now, how does this work? 15:49
15:49 alanT joined
tadzik bah, too much noise. How do I match it like this? 15:49
a'right, got it 15:51
[particle] wonders if a #perl6-users or #perl6-help channel would be a good idea 15:52
tadzik one day probably yes. But now? 15:53
[particle] soon, with the release of R* and accompanying marketing push 15:54
jnthn [particle]: No
[particle]: This should stay the users/help channel.
[particle]: As it's the first one people are likely to hit.
[particle]: If any group of implementers feels a need for a channel for that, we can have #perl6-impl or some such.
[particle] yes, so perhaps #p6c may be spawned if this gets too chatty with users
jnthn [particle]: We already have #phasers which is a step in that direction anyway. :-) 15:55
[particle]: My feeling is that it's not at the "too chatty" point yet though.
[particle] good idea keeping this the user-focused channel
jnthn: agreed, not yet
jnthn Or at least, I don't find it so.
I can see it has potential for us to want some #p6c or some such in the future though. 15:56
[particle] i'm just thinking about what we may need in place to make a smooth transition to more interested people
*handling more interested people
16:03 alanT left
tadzik rakudo: my $a = '\\e[1mThis is bold\\e[0m'; $a ~~ s:g/\\e\\[ <[\\d;]>+ m//; $a.perl.say # why? How should it be done? 16:05
p6eval rakudo 9808d7: OUTPUT«"\\\\e[1mThis is bold\\\\e[0m"␤»
16:06 sawyer_ joined
jnthn tadzik: dobule quotes for \\e I guess 16:06
16:06 eternaleye joined
tadzik jnthn: different results, but still bad 16:06
rakudo: my $a = "\\e[1mThis is bold\\e[0m"; $a ~~ s:g/\\e\\[ <[\\d;]>+ m//; $a.perl.say # why? How should it be done?
p6eval rakudo 9808d7: OUTPUT«"\\x[1b][1mThis is bold\\x[1b][0m"␤» 16:07
pugssvn r31838 | particle++ | add reference to mowyw website
jnthn tadzik: Oh!
\\foo inside character class NYI :-(
tadzik :(
but 0123456789 should work? :)
rakudo: my $a = '\\e[1mThis is bold\\e[0m'; $a ~~ s:g/\\e\\[ <[\\d;]>+ m//; $a.perl.say # why? How should it be done? 16:08
bah
p6eval rakudo 9808d7: OUTPUT«"\\\\e[1mThis is bold\\\\e[0m"␤»
tadzik rakudo: my $a = '\\e[1mThis is bold\\e[0m'; $a ~~ s:g/\\e\\[ <[0123456789;]>+ m//; $a.perl.say
p6eval rakudo 9808d7: OUTPUT«"\\\\e[1mThis is bold\\\\e[0m"␤»
tadzik crap :(
jnthn I'd have thought so :S
tadzik colorstrip() will have to wait then
cognominal jnthn, what is the status of the := operator?
jnthn rakudo: my $a = "\\e[1mThis is bold\\e[0m"; $a ~~ s:g/\\e\\[<[0123456789;]>+ m//; $a.perl.say
p6eval rakudo 9808d7: OUTPUT«"This is bold"␤»
tadzik oh 16:09
jnthn rakudo: my $a = "\\e[1mThis is bold\\e[0m"; $a ~~ s:g/\\e\\[<[0..9;]>+ m//; $a.perl.say
p6eval rakudo 9808d7: OUTPUT«"This is bold"␤»
jnthn Or that.
tadzik waht have I screwed?
jnthn cognominal: Implemented I think
tadzik: Just needed double quotes in the original string
tadzik whitespaces?
hmm
jnthn tadzik: You tried 0123... but only with single quotes
tadzik ah, ok 16:10
jnthn I just turned those to double :-)
rakudo: my $x = 1; my $y := $x; $x = 42; say $y;
p6eval rakudo 9808d7: OUTPUT«42␤»
tadzik jnthn: while You're here, care to look at github.com/jnthn/blizkost/issues#issue/13 ? 16:11
jnthn tadzik: Don't really grok the ticket. Blizkost should install to wherever the Parrot installation is, just like Rakudo does. 16:14
So if you built your Parrot just in some directory, it'll install there.
tadzik rakudo: for <foo bar asd> -> $a { $a ~~ s/a/b/ }
p6eval rakudo 9808d7: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/Z5pFrz0HUv␤ in main program body at line 1␤»
tadzik is there a way to make the temporary variable rw?
jnthn is rw
tadzik jnthn: but you can install rakudo to a directory, and it works
jnthn -> $a is rw { ... } 16:15
tadzik bah, too simple :) jnthn++ # thanks
16:15 am0c joined
tadzik hmm 16:16
jnthn (We parse a signautre there, so you can do anything you'd do in a signature.)
cognominal jnthn, thx.
tadzik rakudo: for <foo bar asd> -> $a is rw { $a ~~ s/a/b/ }
p6eval rakudo 9808d7: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/nRVYvwQUH1␤ in main program body at line 1␤»
jnthn tadzik: Well yes
tadzik: That's ike doing 'foo' ~~ s/a/b/ 16:17
Which is going to try and assign to 'foo' which is a value.
tadzik jnthn: and I have successfuly made a rakudo package for CRUX, using make DESTDIR=$PKG install, and it works fine, but I can't do that with blizkost
jnthn: so, a bug or a feature? (this loop variable) 16:18
jnthn tadzik: Rakudo is right. 16:19
tadzik: however this should work:
rakudo: my @x = <foo bar asd>; for @x -> $a is rw { $a ~~ s/a/b/ }; say @x.perl;
p6eval rakudo 9808d7: OUTPUT«["foo", "bbr", "bsd"]␤»
16:19 justatheory joined
jnthn Note here that you actually have a container to assign to. 16:20
tadzik hm
jnthn tadzik: Consider that $a ~~ s/a/b/ = like $a .= subst('a', 'b') 16:21
tadzik yeah, I see, I'm just trying to understand wklej.org/id/368940/ 16:22
jnthn Hmm, yeah. That one is more edge-casey at first glance. 16:24
16:24 yarel joined
tadzik due to slurpy params? 16:24
moritz_ tadzik: if you don't want to change in-place, you should *really* be using .subst 16:25
tadzik moritz_: can .subst work on regexes?
moritz_ sure
s/// calls .subst internally
tadzik oh, great 16:26
moritz_ so .subst can do as least as much as s/// can
pmichaud good morning, #perl6
long backscroll this morning :)
tadzik moritz_: even s:g?
moritz_ tadzik: everything.
tadzik :)
moritz_ rakudo: say 'abcdefg'.subst(/./, { .uc }, :g) 16:27
p6eval rakudo 9808d7: OUTPUT«ABCDEFG␤»
jnthn morning, pmichaud
moritz_ though if people insist to use the s/// syntax, maybe there could be a :notinplace or :copy or so adverb
tadzik yay, works
moritz_ p5 has one, in 5.12 (iirc)
tadzik moritz_++ 16:28
yarel just curious, lua and perl6 are almost similar in language?
huf what does foo() .bar(); parse as? (judging from some examples earlier, not the same as foo().bar();)
tadzik yarel: I wouldn't say so
yarel: lua tries to have a minimal syntax, I wouldn't call Perl6's syntax minimal
plus I don't see any resemblance at all :) What makes you think so?
yarel oh just in the sense of embedding and extending 16:29
where does perl6 overpower lua?
pmichaud huf: foo() .bar() is likely an error (two terms in a row) 16:30
std: foo() .bar()
p6eval std 31837: OUTPUT«[31m===[0mSORRY![31m===[0m␤Method call found where infix expected (omit whitespace?) at /tmp/nfE8o65OI2 line 1:␤------> [32mfoo() [33m⏏[31m.bar()[0m␤ expecting infix or meta-infix␤Undeclared routine:␤ 'foo' used at line 1␤Parse failed␤FAILED 00:01 115m␤»
tadzik yarel: I'm reallly unable to see any similarities
huf pmichaud: ah.
tadzik yarel: Perl can be embedded too, but it does not make them similar imho
yarel tadzik not that it has to, just curious
tadzik yarel: As I said, I don't think they're similar really 16:31
huf pmichaud: i guess it's required if you dont want doom and confusion around the .foo() syntax (call on topic), but the foo()\\ n/l .bar()\\ syntax makes method chaining look like shellscripts :D
yarel tadzik noted
[particle] perl 6 and lua are both dynamic languages. there are similarities to some extent in syntax, semantics, and in some cases implementations.
moritz_ yarel: lua has one data structure for lists and hash tables; Perl 6 tries to separate them
pmichaud huf: Perl has a long tradition of looking like shell scripts :-)
16:31 cdarroch joined
moritz_ that's a pretty big difference, if you ask me 16:32
16:32 cdarroch joined
tadzik yarel: lua's point to be minimal, fast embeddable language, Perl 6 has a very complex syntax and isn't oriented at one usecase 16:32
huf pmichaud: yeah but isnt that like the stoat-rapist cousin in the family? arent we kinda embarrassed about that? :)
pmichaud huf: I'm not embarrassed by it. I'm pretty sure Perl wears its tradition of stealing from other languages and syntaxes somewhat proudly. :) 16:33
huf well, apparently we arent, and i'm just nitpicking anyway
yarel moritz_: yeah i noticed that
[Coke] if it's any consolation, I find the foo()\\n syntax very ugly.
yarel tadzik: ok, so where does lua perform better ? 16:34
[Coke] er, foo()\\\\n .method()
yarel not in comparison to anything but just lua
tadzik yarel: it has a very small footprint which makes it great to embed
huf [Coke]: yeah, but there's no getting around it *now*, is there? :D
yarel ah so for embedded development it's ideal?
[particle] yarel: lua is "production-ready"
tadzik yarel: plus it's syntax is really minimal, hence easy to read
yarel: one can say so, yes
[particle] there is not yet a complete implementation of perl 6
huf altho i'm sure someone'll come up with some idiom to go around it
yarel ok 16:35
what other languages are a better alternative to lua in embedded development?
C?
[particle] perl 6 allows you to easily modify its own syntax and semantics, by giving you full control over the language itself
moritz_ it always depends on what you want to achieve
tadzik well, lua is quite bonded to C I'd say
[particle] s/better//
tadzik at least that's how I use it
[particle] tcl
yarel tcl? for embedded? 16:36
[particle] lisp flavors
yes
yarel interesting
what's wrong with using perl6 here? overkill for a small task?
tadzik yarel: using where?
yarel in embedded 16:37
[particle] there is not yet a complete implementation of perl 6
tadzik 1) as [particle] said, no complete implementation
patrickas rakudo: my @a = [1,2,3]; my ($x,$y) = @a[0] ; say "$x,$y";
tadzik you can use Perl 5 though, it can be embedded as lua can
p6eval rakudo 9808d7: OUTPUT«1 2 3,Any()␤»
patrickas alpha: my @a = [1,2,3]; my ($x,$y) = @a[0] ; say "$x,$y";
p6eval alpha 30e0ed: OUTPUT«1,2␤»
[particle] perl 6 has a large runtime component, so the startup cost is not small
patrickas who is correct here master or alpha ?
yarel gotcha
pmichaud master is correct 16:38
moritz_ master
16:38 pwd joined
pmichaud it ends up acting the same as 16:38
yarel thanks for your insight
pmichaud my ($x, $y) = ([1,2,3]) 16:39
tadzik yarel: you're welcome
patrickas so I do I make it act like my ($x,$y) = (1,2,3) ? 16:40
moritz_ my @a = [1,2 3].flat
erm, wait
pmichaud rakudo: my @a = [1,2,3]; my ($x, $y) = @(@a[0]); say "$x, $y";
p6eval rakudo 9808d7: OUTPUT«1, 2␤»
moritz_ my ($x, $y) = @a[0].flat
or @(...), yes
pmichaud rakudo: my @a = [1,2,3]; my ($x, $y) = @a[0].flat; say "$x, $y";
p6eval rakudo 9808d7: OUTPUT«1, 2␤»
patrickas thanks moritz_ and pmichaud :-)
jnthn pmichaud: @(...) is .flat these days? 16:41
pmichaud jnthn: no, it's still .list (which also works in this case)
rakudo: my @a = [1,2,3]; my ($x, $y) = @a[0].list; say "$x, $y";
p6eval rakudo 9808d7: OUTPUT«1, 2␤»
pmichaud the main thing is to remove the item-ness of @a[0]
because @a[0] is normally a scalar here. 16:42
16:44 ikev joined
jnthn k 16:44
[Coke] [particle]++ # tcl 16:45
16:45 rindolf joined
pmichaud ugh, it's annoying when people subtly change the context: twitter.com/OmriMaids/status/19584516487 16:45
16:50 pyrimidine joined
pmichaud afk for a bit 16:51
[Coke] is there a separate repository for star, or just a list of "here's what to throw in the tarball", or???
moritz_ [Coke]: there's a separate repo 16:52
[Coke]: I'm sure you're able to guess the github URL :-)
[Coke] moritz_: got it in 2.
moritz_ [Coke]++
cognominal rakudo: subset NatRange of Range where { $_.min >= 0 } 16:53
p6eval rakudo 9808d7: ( no output )
[Coke] was the released rakudo actually as broken as described, or was there a missing parrot distclean somewhere?
pmichaud moritz_: is the intent that dist/ becomes the tarballable-dir?
16:53 ashleydev joined
moritz_ pmichaud: yes 16:54
pmichaud okay
moritz_ [Coke]: it segfaults when trying to load modules that meet certain (to me unknown) conditions
[Coke]: like, our module installer. D'oh.
or SVG::Plot (which is one of my pet projects) 16:55
pmichaud I'm trying to figure out how to get DESTDIR= to work reasonably well in the build system. 16:57
oh, maybe it'll just work out. 16:58
lue o hai o/ 16:59
17:00 Chandon joined
pmichaud oh, maybe not. :-( 17:01
moritz_ what's the problem?
am0c o hai p/ 17:02
I have a question that there is any problem with the name of 'rakudo' or some other reasons that the logo of 'rakudo' is impossible to be modified? 17:04
dolmen_ rakudo: subset NatRange of Range where { $_.min >= 0 }; multi a(NatRange $x) { $x.perl.say }; a(-1..2);
p6eval rakudo 9808d7: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!min␤ in 'Range::iterator' at line 4398:CORE.setting␤ in 'Any::join' at line 1␤ in 'List::perl' at line 2557:CORE.setting␤ in <anon> at line 5389:CORE.setting␤ in <anon> at line 1␤ in
..'Signature::perl'…
dolmen_ rakudo: subset NatRange of Range where { $_.min >= 0 }; multi a(NatRange $x) { $x.perl.say }; a(0..2);
p6eval rakudo 9808d7: OUTPUT«0..2␤»
pmichaud if someone wants to make a rakudo .deb, they really need to do it in two steps I guess. they first need a parrot .deb, and then they need to have R* build using that Parrot
moritz_ pmichaud: yes, that's what I expect
pmichaud they can't really build a .deb using the parrot that comes with R*
(well they _can_, but again, two steps) 17:05
moritz_ pmichaud: they can just patch buildall.pl not to use --gen-parrot
lue am0c: hrm, I wasn't aware of that issue. /me interested
pmichaud moritz_: I'm thinking buildall.pl should be smarter
I'm also thinking that buildall.pl should never use --gen-parrot 17:06
"--gen-parrot" really means "download a copy of Parrot if needed". But R* should probably include Parrot in dist/ 17:07
moritz_ pmichaud: wfm
[Coke] moritz_: you should have pull requests.
moritz_ hugme: add coke to star 17:08
hugme hugs coke. Welcome to star!
moritz_ I've merged them, thanks 17:09
lue
.oO(what does this 'add'ing do?)
patrickas how can i work around this ?
rakudo: my regex digits { \\d+: }; say "OK" if 21 ~~ /<digits>/;
p6eval rakudo 9808d7: OUTPUT«Method 'digits' not found for invocant of class 'Cursor'␤ in <anon> at line 22:/tmp/mMmiPnMwwf␤ in 'Cool::match' at line 2377:CORE.setting␤ in 'Regex::ACCEPTS' at line 5470:CORE.setting␤ in main program body at line 22:/tmp/mMmiPnMwwf␤»
dolmen_ lue: hugme seems to be a bot
pmichaud patrickas: &digits 17:10
lue: hugme knows how to add committers to github projects
patrickas Thanks
pugssvn r31839 | particle++ | add google analytics code to perl6.org
lue ah. I'm assuming (chanops|commiters of the appropriate project) are the only ones allowed to do this? 17:11
17:11 kjeldahl joined
pmichaud there's a general list of trusted adders 17:11
moritz_ patrickas: /<&digits>/
[particle] anyone who wants access to google analytics reports for perl6.org, msg me your google id (usually your gmail address)
pmichaud [particle]: you have mine already
[particle] aye
moritz_ [particle]: please no google analytics on perl6.org 17:12
patrickas thanks pmichaud & moritz_ again :-)
moritz_ it's very concerning, from a privacy point of view
[particle] moritz_: really, why?
because of ip address tracking? 17:13
moritz_ [particle]: because it tracks quite many information
s/many/much/
including mouse movements, which tell you things about eye movement 17:14
and google can correlate it to your habits on other websites
frettled It tracks which browser did what, not merely which IP address and user agent text string did what.
moritz_ via IP/user agnent
gfldex adblock is blocking it quite nicely
[particle] can you suggest another traffic analysis tool to use?
frettled so is NoScript, or any other ja
moritz_ [particle]: if you want access to the access logs, that can be arranged (or I can publish anonymized stats)
frettled javascript blocker 17:15
lue
.oO("FREEZE SIR! You have been suspected of murder." "Why?" "Google Analytics tell us you move your mouse to the top-left corner often. Too often.")
moritz_ gfldex: I know, but the 95% people who don't use adblock should be considered as well
[particle] i don't want to force clients to make the privacy decision, i just want to view reports of site usage
moritz_ [particle]: I usually run "visitors" over the apache log files of my websites... would that be enough for you?
moritz.faui2k3.org/stats/pg is an example report for perlgeek.de 17:16
17:16 oha joined
frettled I'm a bit ashamed to point in this direction → piwik.org/ for an alternative. Extra points for reimplementing in Perl 6. 17:16
moritz_: That one is probably lying, since it claims to know things about unique visitors, which it cannot do without javascript. 17:17
moritz_ frettled: the visitors website defines what it means by "unque visitor"
[particle] i suppose daily published visitors reports would do
moritz_ frettled: unique($ip, $user_agent, $day) 17:18
[Coke] www.infoworld.com/t/languages-and-s...d-perl-012 - have fun replying to that one!
[particle] it would be nice to have more visually appealing and dynamic reports, but....
frettled moritz_: many corp environments are then «unique visitors», and that is not what people mean by it :)
lue If you just want site traffic, I say just use the logs /me no expert 17:19
frettled urghle, that was not a site header, that was a friggin' Google ad.
moritz_ frettled: that's fine.
lue [ you can always gnuplot things for prettyness :) ]
pmichaud lue: the logs tend to hold a lot of useless entries, though.
lue: it's not quite as simple as "read the logs".
moritz_ that's why there are tools for it. 17:20
lue Again, /me no expert em/ :)
.oO(Aw, that's a shame. Piwik requires Flash)
17:21
frettled lue: yup, that's where the shame element comes in :)
pmichaud [Coke]: I'm not sure that article needs a reply. :-)
[particle] [Coke]: i find that report... weak. i don't use perl so much anymore, is this the death of perl?
frettled javascript and Flash - the worst parts of the web
moritz_ frettled: activeX is worse :-) 17:22
lue Actually, it's just Flash that I have a problem with (I can't use it). And then there's Java applets...
pmichaud This article (and many others like it) seem to assume that if Perl doesn't reclaim the dominant position it once had, it must be a failure.
or irrelevant. 17:23
frettled moritz_: not really, but then again, I see it from a web security perspective.
lue "If they cannot provide an argument, they must be wrong. Therefore I'm right"
frettled lue: java applets offer _one_ redeeming feature: signed applets :-/ 17:24
pmichaud: oh no! _Oil_ is a failure! :D
lue ActiveX is EEEVILLL! .oO(sorry, had to get it out)
patrickas is prefix "?" not implemented in master or has the spec been changed ? 17:25
moritz_ rakudo: say ?5 17:26
p6eval rakudo 9808d7: OUTPUT«1␤»
moritz_ rakudo: say (?5).perl
looks implemented to me
p6eval rakudo 9808d7: OUTPUT«Bool::True␤»
patrickas :-O
problem between keyboard and chair !
frettled There's always a problem between a keyboard and a chair somewhere, until the keyboard is obsolete. ;) 17:27
lue
.oO(You're not taking into account the second or third dimensions we live in. The problem could be a conveniently placed neighbor or someone digging a tunnel.)
17:29
tadzik are there some guidelines about what should modules included in Star have? Or should they 'just work', or be installable with ufo/proto/pls? 17:30
pmichaud tadzik: "useful, usable"
tadzik pmichaud: ok 17:31
moritz_ perl6.org/page-stats
[particle]: ^^ 17:32
lue what happened 29 August 2009?
pmichaud site opened, probably
pugssvn r31840 | moritz++ | Revert "add google analytics code to perl6.org" due to privacy concerns.
r31840 |
r31840 | Basic usage statistics are collected from the web server's log files
17:32 tylercurtis joined
moritz_ lue: perlgeek.de/blog-en/perl-6/a-shiny-...6-org.html might have been redditted or so 17:33
or been on digg or so
pmichaud or everyone came to gawk at camelia 17:34
moritz_ it's interesting to see how many visitors {proto,modules}.perl6.org sends to the main website
17:35 Snowclone joined, jnthn joined
lue It's fun to see thousands of people visit the site in one day! Maybe R* will make that happen again :) 17:35
pmichaud these days I'm mentally steeling myself for the backlash on the R* release 17:36
[particle] moritz_++ : you beat me to the reversion commit... so you didn't get karma in the commit log
patrickas pmichaud R* is so slowwwwwwwwwwwwwww you said in your blog post it would be fast!!!!!!!!!! FAIL
[Coke] moritz_: do you want HTML validation fixes for perl6.org?
frettled moritz_: ooh, that month-day-map is nice
patrickas preparing pmichaud for sensless backlash
[particle] pmichaud: as in: THIS IS NOT USABLE OR STABLE!!! WTFZOGMLOL P6SUX! 17:37
pmichaud [particle]: "It took you ten years to produce... this?!?"
(actually, I've only been working on it for five. :-)
[Coke] we already had someone show up and ask about the "production-ready" perl6 release we were advertised.
*ing
mulander well it depends on the person's mentality
[Coke] pmichaud: that's an excellent comeback. =-)
mulander I wasn't present here during the whole process. Really I'm here for the first time.
17:37 Leonidas left
lue "TI-BASIC on the TI-83 is faster that Rakudo!" 17:38
s/that/than/
mulander I programmed a lot in perl5 several years ago and kept an eye on the perl6 project but really didn't look into it.
I don't consider the implementation performance an issue
[Coke] moritz_: on top level index page, missing a </li> after planetsix link.
lue must prepare promotional banner for blog. 17:39
[Coke] moritz_: oh, it's in pugs? muahaha.
pmichaud mulander: that's good, but a lot of people will. actually, there are quite a few people who will be ecstatic that R* gives them so much "justification" to claim that Perl (6) is a failure :)
mulander pmichaud: yeah, but how much influence such claims have on such projects?
lue
.oO(Now that Doctor Who just finished Series 5 (US), R* is the only thing to look forward to.)
mulander see how haskell boosted itself recently in the compiler technology 17:40
pmichaud mulander: depends on the people doing the projects, as always. :)
mulander and people also said that it's not suitable for anything 'yadda yadda' :)
pugssvn r31841 | particle++ | add closing list tag; [Coke]++
pmichaud mulander: still, it's not a lot of fun to get the (often undeserved) criticism. and yes, I'm in it for the long term success, not for a "quick win"
lue One of the referers is a post denouncing Perl6 (as obvious by the somewhat censored fbomb)
mulander pmichaud: just remember that most people who have a simillar approach to me won't give feedback. 17:41
[Coke] [particle]++ thanks.
mulander pmichaud: the loudest responses are usually from the crying masses :)
pmichaud mulander: sure, I know, and thaks. :)
mulander btw I sucessfully built rakudo on this old slackware box :) make tests passed
257 wallclock secs 17:42
pmichaud 257 secs on an old box? seems unlikely :)
I would've expected 500 :-P
17:42 mathw joined
pmichaud anyway, afk for a bit, then time for either (a) lunch or (b) revising R* build scripts 17:43
pugssvn r31842 | coke++ | Close <li> tag. 17:44
frettled [Coke]: w00000t :) 17:45
pugssvn r31843 | coke++ | Move h3 out of ul. 17:46
[Coke] frettled: ?
17:47 Leonidas joined 17:48 jjore_ joined
tylercurtis lue: link to said post? Sounds more entertaining than the post I'm currently reading which suggests that no one uses Perl 5 anymore and that no one will use Perl 6 because Perl 5 is good enough. :) 17:48
frettled [Coke]: your HTML fixes are coming in 17:49
jjore_ What am I doing wrong to keep getting kicked? pastie.org/1060826 17:50
lue I shouldn't. The swear to actual word ratio is absurdly off-balance, in favor of swearing. It's at shadowcat.co.uk. That's all I'm saying :)
[Coke] jjore_: that was someone abusing our privs.
/everyone/ got kicked.
jjore_ Ah. 17:51
frettled but not anymore :)
jjore_ The "u should't use nick@..." was a comment on the security policy.
[Coke] hopefully perms are fixed now so that won't happen again.
jjore_ I get it. Thanks
[Coke] <nod>
17:52 REPLeffect joined
ingy hi sorear 17:52
sorear: did you still want me to explain the Test.pm thing?
Tene lue: I actually quite liked that post when it first went up. 17:55
www.shadowcat.co.uk/blog/matt-s-tro...ck-perl-6/ is the link
www.shadowcat.co.uk/blog/matt-s-tro...5-v-6.html -- is the tl;dr summary
profanity-free 17:56
pmichaud the f_ck-perl-6 post is actually supportive of Perl 6, not an attempt to tear it down 17:57
perigrin tylercurtis: the one you're reading now is just depressingly wrong in obvious ways. 17:58
lue Well, after a couple dozen fbombs in one paragraph, I lost all interest in this person. I have no care for him.
pmichaud lue: that's too bad, as it's a really good post.
you can read masak++'s complementary post
use.perl.org/~masak/journal/39912 17:59
perigrin lue: shame, his vocabulary choices are not the person. He's one of the nicest people I know in the Perl community when it comes to his actions
pmichaud no fbombs
perigrin pmichaud: it was nice to finally meet you btw.
:)
pmichaud perigrin: same here, and many thanks for all of your excellent work manning the Perl booth 18:00
there is some real buzz growing around Perl (and Perl 6) now
lue I don't care. This is the first time I've seen him, and I now no longer care for what he has to say. It is a shame.
(I tried getting through it, but it was too much)
mulander make test on an msi wind netbook - 122 wallclock secs result: PASS 18:01
[particle] mulander: see you tomorrow when you report the 'make spectest' results.... 18:02
frettled lue: too bad. To me, his f-bombs and rants are pure entertainment value. 18:03
pmichaud [particle]: lol (it took me a few seconds to get the punch line. my head must be running rakudo these days) 18:04
frettled ...which made his non-swearword-talk at YAPC::EU last year _really_ entertaining.
perigrin pmichaud: thanks, I'm excited to see the buzz coming back
18:04 cdarroch joined
patrickas rakudo: multi sub foo ( :$f ) { say $f.perl; } ; foo ({'f'=>'g'}); 18:06
p6eval rakudo 9808d7: OUTPUT«No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Any :f($f))␤␤ in main program body at line 22:/tmp/RpmcZUIGqf␤»
[particle] patrickas: are you looking for a better error message there?
it's not a sub call unless there is no space or unspace between the sub name and the parens 18:07
lue
.oO(masak's complementary post gave me a brilliant marketing campaign!)
cognominal rakudo: say (sub ( [*$a, *@a] ){}).signature
p6eval rakudo 9808d7: OUTPUT«Signature()<0x83cfc90>␤»
patrickas rakudo: multi sub foo ( :$f ) { say $f.perl; } ; foo({'f'=>'g'});
cognominal rakudo: say (sub ( [*$a, *@a] ){}).signature.perl
p6eval rakudo 9808d7: OUTPUT«No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Any :f($f))␤␤ in main program body at line 22:/tmp/GmF1uvWiq5␤»
rakudo 9808d7: OUTPUT«:(Positional (Any $a, *@a))␤»
cognominal rakudo: say (sub ( [*$, *@] ){}).signature 18:08
p6eval rakudo 9808d7: OUTPUT«Signature()<0x83c91d0>␤»
cognominal rakudo: say (sub ( [*$, *@] ){}).signature.perl
[particle] now wonders about valid sub declarations and whitespace...
p6eval rakudo 9808d7: OUTPUT«:(Positional (Any , *))␤»
cognominal ouch
pmichaud [particle]: foo ({'f' => 'g'}) is still a sub call 18:09
jnthn cognominal: * on scalars NYI
patrickas pmichaud so I guess that's not how it should be called ?
rakudo: multi sub foo ( :$f ) { say $f.perl; } ; foo( :f('g') );
[particle] pmichaud: lol (my head must be running nqp these days)
p6eval rakudo 9808d7: OUTPUT«"g"␤»
pmichaud patrickas: I'm guessing you want foo :f('g')
patrickas: or foo f=>'g'
patrickas: or foo(f=>'g') 18:10
tylercurtis perigrin: if you've correctly guessed the one I was reading, I think it provides a great advertisement for Perl 5. "Perl 5—Too fast for the web!"
pmichaud rakudo: multi sub foo(:$f) { say $f.perl; }; foo f=>'g';
cognominal rakudo: say (sub ( @ ){}).signature.perl
p6eval rakudo 9808d7: OUTPUT«"g"␤»
rakudo 9808d7: OUTPUT«:(Positional )␤»
jnthn cognominal: That one's correct. 18:11
perigrin tylercurtis: iI'm guessing it's the one from the infoworld blog
cognominal the Positional is indeed the role equivalent to the sigil
rakudo: say (sub ( $ ){}).signature.perl
p6eval rakudo 9808d7: OUTPUT«:(Any )␤» 18:12
perigrin if it's not that's all to common a theme in non-perl epopel blog posts these days
cognominal rakudo: say (sub ( % ){}).signature.perl
p6eval rakudo 9808d7: OUTPUT«:(Associative )␤»
jnthn cognominal: The signature pretty printer won't always put out exactly what you put in. Signature syntax to the underlying representation of it is not a one to one mapping. :-)
Close though. :-) 18:13
cognominal I don't mind.
Tene lue: for whatever it's worth, mst has my full recommendation as someone worth listening to, even including the cursing. At worst, I just consider it an accent. I've never regretted reading something mst has to say. 18:14
cognominal and the pretty part is a matter of taste :)
18:14 patspam joined
pmichaud
.oO( if lue doesn't wish to view the cursing, we shouldn't put too much pressure to do so )
18:14
Tene sed s/f.ck/kittens/g 18:15
:)
jnthn "Kittens Perl 6!"
Tene But, yes, the tl;dr summary pretty much covers his point here.
patrickas rakudo: my $f = { 'a' => *>0 }; say $f.perl; 18:16
p6eval rakudo 9808d7: OUTPUT«{ ... }␤»
jnthn heh heh
patrickas rakudo: my $f = { 'a' => {$_>0} }; say $f.perl;
jnthn It curried the => too
p6eval rakudo 9808d7: OUTPUT«{"a" => { ... }}␤»
cognominal WHOA THERE: fun with WebSockets jeffkreeftmeijer.com/2010/experimen...h-node-js/
jnthn I wonder if => should auto-curry. :-) 18:17
Tene I've been a little bit uncomfortable with using {} for both hashes and code blocks for a while now.
18:18 Ross joined
patrickas pfew ... I have batteling with this one for a while now ... turned out the previous sub sig had nothing to do with it :-) 18:18
lue I think it's pretty obvious now that you guys like mst, however I guess all the cursing indicates to me that he doesn't have much to say. 18:19
pmichaud lue: I think we're trying to say that beneath the cursing, he does have a lot of good things tos ay 18:20
*to say
lue I guess it's just a bad first impression. I wasn't able to see its sarcasticness because the cursing was a lot.
18:20 nomad__ joined
pmichaud lue: sure, makes sense. I was initially turned off by his language as well the first time I heard him speak. 18:20
lue
.oO(When I saw the post being a referer, I just saw it as irony)
18:21
Tene I get the value of consistency with p5, and I don't have a clear counterproposal, but differentiating between the two in edge cases doesn't quite seem to provide much value for the complexity needed.
pmichaud I suspect he could make the same argument about ours. "You *#!@#heads use way too much cutesy and hugtastic language!"
[particle] hugme: hug mst
hugme hugs mst
lue Point is, I have no care for what he has to say now, and that's his problem. You guys don't have to do anything :) 18:22
pmichaud fair enough
Tene search.cpan.org/~mstrout/ ← evidence that he does contribute more to the Perl community than just cursing.
Sure, fair enough.
[particle] we need a remote hug protocol so we can hug people on other channels.
Tene: but perl 5 looks like cursing.
pmichaud also, I did see mst at oscon and he was extremely gracious. Invited me to go to the pub with him and others, for which I had to decline with great regret (had other rakudo stuff that needed doing)
so I'm hoping to catch up with mst at yapc::eu :-) 18:23
lue OTOH, masak's post gave me a '6 = 5' campaign idea. [ feel free to suggest a better operator :) ] 18:24
Tene ~~
tadzik lue: how about 6 > 5? :)
oha 6 ~~ 5 ?
pmichaud !eqv
oha eheheh :)
tadzik or >=
jnthn pmichaud: Heh. The first time I really got to know/understand mst involved beer. :-) 18:25
lue it's a goodwill, "we're different from each other" campaign idea.
18:25 ShadeHawk joined
pmichaud jnthn: yes, that's good. mst is just an outstanding motivator and enabler. 18:25
okay, lunch is calling. 18:26
[particle] kill it before eating it.
18:26 user_4936 joined
jnthn ooh, I shouldn't forget dinner... 18:26
user_4936 rakudo: "hi".say 18:27
p6eval rakudo 9808d7: OUTPUT«hi␤»
jnthn goes to the nom-shop - bbl
pmurias [particle]: wouldn't that spoil the fun?
oha pmurias, the fun for the eater or the eated?
tadzik user_4936: just curious, inspired by szabgab's screencast? 18:28
user_4936 that's me actually :0 18:29
_sri hopes there will be a perl6tidy in the not too distant future 18:30
moritz_ _sri: there's an easy way to be sure :-)
_sri ;p 18:33
oha while using .perl i got something i never seen b4: "assoc" => \\parse[0]["assoc"], 18:34
lue
.oO(my TARDIS could use some travel. Haven't used it in a while)
oha does .perl now do this to avoid circular references?
(sorry was --target=parse and not .perl) 18:35
moritz_ the parse tree dumber does that 18:36
[particle] *dumper
oha yep i'm a bit tired and i confuse them
i need a break
ShadeHawk I have read some time ago article about easy porting of TestML to Perl 6: blogs.perl.org/users/ingy_dot_net/2...ready.html
moritz_ read that too :-) 18:37
ingy ShadeHawk: easy?
XD
I never said it was easy 18:38
ShadeHawk and I had an idea. Git is defined by its data structures (packfile, index, etc.). There exists two git implementation: "original" git with plumbing in C, and JGit in Java (its reimplementation, not wrapper)
ingy It was doable
which is huge imho
ShadeHawk I wonder how hard would be to do git implementation in Perl 6 ......
s/easy//
moritz_ ShadeHawk: reading and writing binary files is a rather new feature in Rakudo 18:39
ShadeHawk well, from what I remember JGit is around 10-20% slower than C git, because Java is not as close to metal
moritz_ ShadeHawk: having a project that uses it heavily would be a nice thing, to shake out bugs and usability glitches
ingy ShadeHawk: don't be a sucker for moritz_ 18:40
hahaha
moritz_ than rakudo will likely be 1000x slower at the moment - though there's hope
perigrin ShadeHawk: thre is also a version in Perl5 Git::PurePerl
ShadeHawk moritz_: so grammars were tested mainly on text data / programming languages?
lue
.oO(I got it! '6 =:= 5' (with appropriate p5 equivalent as well))
ShadeHawk Git::PurePerl began as port of Grit (in Ruby) 18:41
perigrin it did ... I ended up somewhere else I think.
moritz_ ShadeHawk: yes. But grammars are probably not what you want for git anyway
mulander ShadeHawk: I believe grammars and rules are not the utilty that should be used for binary parsing
ingy strongly believes in porting, and thinks rakudo is ready to port stuff to
and kinda fun
mulander the nicest binary handling I saw so far was the one in Erlang
tadzik moritz_: rakudo supports binary files? 18:42
PerlJam would be happy with a P6 wrapper around the git binary
lue rakudo: use libc :from<C>
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Unable to find module 'libc' in the @*INC directories.␤(@*INC contains:␤ lib␤ /home/p6eval/.perl6/lib␤ /home/p6eval//p2/lib/parrot/2.6.0-devel/languages/perl6/lib␤ .)␤»
ingy PerlJam++
moritz_ tadzik: a bit, yes
ShadeHawk Hmmm... IIRC git-daemon on GitHub has parts written in Erlang. Perhaps it would be good start...
ingy what does this mean: #perl6(+Cnt) 18:43
and how do i set/unset those flags? 18:44
ShadeHawk PerlJam: you would have probably wait for git libification; fortunately GSoC pays for work on that: git.wiki.kernel.org/index.php/SoC2...ng_libgit2
mulander see this: learnyousomeerlang.com/starting-out...bit-syntax
ShadeHawk did Perl 6 stole^W borrowed anything from Erlang? 18:45
18:45 bjarneh left
moritz_ ingy: freenode.net/using_the_network.shtml explains the channel flags 18:45
PerlJam ShadeHawk: nope, see P5's Git::Wrapper. All I need is a fork and some pipes :) 18:46
ingy moritz_++
ShadeHawk PerlJam: and on OS (:khem: MS Window :khem:) where forking is expensive this would make performance suck 18:49
18:50 saaki joined
ShadeHawk PerlJam: besides having JGit be reimplementation of git allowed it to be EPL/3 clause BSD dual licensed, while git is GPLv2 / misc GPL licensed 18:50
18:50 phenny joined 18:51 ruoso joined
ShadeHawk PerlJam: Perl 6 reimplementation could be GPL / Artistic licensed (IIRC it is "licensed like Perl")... unless Perl 6 is differently licensed from Perl 5? 18:51
lue is there an equivalent to =:= in Perl 5? /me is looking 18:52
tylercurtis mulander: Perl 6 does have blob literals(see perlcabal.org/syn/S02.html#Literals and grep for "Blob literals"). I don't know if there's Blob pattern-matching of any sort, though.
18:53 grussell joined
lue rakudo: say 6 =:= 5; #probably false 18:54
p6eval rakudo 9808d7: OUTPUT«0␤»
pmichaud the Rakudo compiler is artistic license 2 18:55
tylercurtis lue: I think that's meaningless.
18:55 shihzy joined
moritz_ ShadeHawk: the "licenced like perl" is intentionally polymorphic 18:55
lue then my 'marketing campaign' will seem like it leans towards Perl6. Oh well. 18:56
shihzy greetings
tylercurtis lue: =:= only makes sense on containers.
18:56 grussell left
moritz_ ShadeHawk: so if I port a p5 module with that license to p6, I assume it's OK to be artistic license 2, because that's what my perl is 18:56
lue I know, the message is supposed to be "we come from the same place", like whenever you bind. 18:58
18:58 masak joined
lue hai masak o/ 18:58
masak oh hai, #perl6!
phenny masak: 23 Jul 13:56Z <au|zzz> tell masak there's an extra Mu() in the "Operator overloading" section, line 4, between the sub and say, #fyi :)
masak: 23 Jul 15:31Z <moritz_> ask masak if temporal-flux-perl6syn still needs to be in the hugme projects list
masak moritz_: nope 18:59
au: thanks; will fix
jnthn yay! return of the masak!
lue rakudo: my $a = 3; my $b := $a; say ($a =:= $b)
p6eval rakudo 9808d7: OUTPUT«0␤»
tylercurtis lue: look at the last tests in svn.pugscode.org/pugs/t/spec/S03-op...identity.t
lue masak: did you hear about The Boot? 19:00
sorear ingy: Yes
sbp++
(although we still don't have the karmabot back) 19:01
lue it's a marketing campaign! It's not supposed to make complete sense :)
moritz_ masak: I've branched pls, to get some hacks in that R* needs
masak moritz_: thanks.
moritz_ masak: I need 1) injection of modules into cache/, so they are not downloaded and 2) custom prefixes (not yet done)
masak I expect to be back again full-time starting tomorrow afternoon.
moritz_++ 19:02
moritz_ it's hacky, because I don't understand pls, and don't know how to do it right :-)
ingy hi sorear
dalek ok: 25c7182 | ajs++ | src/operators.pod:
Very minor redundancy: removed duplicate "new"
ok: 4205025 | ajs++ | src/basics.pod:
"word" characters are a Perl 5 ism which we should probably not assume the
pmurias ruoso: hi 19:03
ruoso: got the p5 interop to work in smop
masak (how's that Mu() end up there? now it's gone, at least. au++)
see y'all tomorrow!
moritz_ caio
erm
s/ai/ia/
ShadeHawk just in case it got lost in the noise: Perl 6 IIRC borrowed ideas from Python, Ruby, Smalltalk, Haskell.... did Perl 6 stole^W borrowed anything from Erlang?
moritz_ ShadeHawk: not sure... the concurrency model isn't fully fleshed out yet 19:04
ingy sorear: Test::Builder is a class for making a test set _object_ that encapsulates all the parts of running a test file.
Tene ShadeHawk: I don't know of anything specifically, no. I think I remember seeing some erlang stuff mentioned in concurrency discussions.
pmurias ruoso: it works with MULIPLICITY disables so i don't think we need to seperate it out to a different package
ruoso pmurias, cool... that's really cool... 19:05
sorear ShadeHawk: We haven't designed the concurrency system yet. It's quite likely we *will* steal stuff from Erlang
ingy sorear: a user doesn't typically use Test::Builder directly, but instead uses a module like Test::More (or TestML) that exports test functions
ruoso pmurias, so I think the next step is "use v6-mildew|
sorear ingy: what does a test set object entail?
ingy sorear: and those exported things like 'plan' and 'is' delegate to the object
19:06 cono joined
ingy sorear: a plan and a count of what is happening 19:06
sorear: I don't know it inside out
sorear: but in p5 I made TestML use Test::Builder, which felt clean 19:07
ShadeHawk junctions isn't concurrency?
ingy sorear: in p6 I just call the Test.pm exports, and it works fine actually, but feels less clean :)
sorear: are you the Test.pm6 guy? 19:08
pmurias ruoso: do you think making use v6 dispatch to v6::mildew and v6::alpha depending on the -part is a sane first step
ruoso yes... that was what I had in mind....
ruoso brb &
jnthn ShadeHawk: Junction operations may be parallelized. 19:09
sorear ingy: I'm a Test.pm6 guy. Each implementation currently maintains an independant Test.pm
mulander hmm
I'm tryin an example from perl 5-to-6
jnthn ShadeHawk: As may some others. But nobody afaik implemented that yet.
sorear ingy: Mine is currently limited to "ok" and "plan", I thought I'd consult someone who seemed to know what he was doing...
ingy sorear: yeah, that's what I meant. Test.pm6r ;)
mulander and I think rakudo got confused or the tutorial is outdated
after seeing this: token path { <[ a..z A..Z 0..9 -_.!~*'():@&=+$,/ ]>+ } 19:10
rakudo complains: Obsolete use of hyphen in enumerated character class;in Perl 6 please use .. itead at line 27, near "_.!~*'():@"
ingy sorear: oh right, you're doing niecza
mulander does it treat the included hyphen incorrectly as a range separator? 19:11
ingy Test.pm6n
sorear mulander: no, but it thinks you are and carps
mulander: backslash it
ingy sorear: I'd at least read the docs for Test::Builder on CPAN
mulander worked 19:12
ingy sorear: can you do me a favor and try joining #testml ?
19:14 dalek joined 19:18 felliott joined
sorear ingy: can you point me to a module on CPAN that is greatly simplified by the existance of T:B? 19:24
19:25 molecules joined
ingy sorear: Test::More? 19:25
sorear: Test::Base 19:26
sorear: it's nice to have one trusted interface to the TAP stuff
sorear: if you are going to have more than one test module...
sorear: but I don't think it's critical at this point 19:27
sorear: then again, I don't think p6 is critical at this point :)
sorear I just wonder why that "one trusted interface" can't look like Test::More 19:28
ingy um
moritz_ -> out
19:28 Su-Shee joined
ingy how do you cleanly extend a non-OO framework 19:28
[Coke] moritz_: gutend abend 19:29
sorear my module Test::EvenMore; use Test::More :EXPORT; sub something_else is export { ... }
ingy moritz_: thanks for your help. my irc chans are happy
sigh 19:30
I don't feel like getting into an argument on the benefits of OO 19:31
talk to schwern
search.cpan.org/~mschwern/Test-Simp...Builder.pm -- Test::Builder - Backend for building test libraries 19:32
pretty much says it all
19:34 PacoLinux joined
pmurias sorear: the problem with a Test.pm6 / Test::More like interface is that the underlying "object" having the tests passed already is passed implicitly 19:35
ingy: isn't the singleton getting in the way of things? 19:37
as a singleton is mostly the same thing as using subs, just more clumsy
ingy pmurias: getting in the way of what? 19:38
I'm a bit lost
sorry
pmurias the singleton forces a one test per program 19:39
ingy that's TAP though, yeah?
pmurias they are ways around that in TAP 19:40
s/they/there
[Coke] I rarely find that a problem that needs gettin' 'round.
ingy I'm just saying that extending Test::Builder is more straightforward than extending Test::More or Test.pm
pmurias would have to read up on that
ingy it's clear what you can and can't do
[Coke] if you have to read up on it, I'm guessing it's not getting in your way either. 19:41
ingy who maintains Test.pm for rakudo?
colomon ingy: no one in particular 19:42
PerlJam ingy: you do! ;)
ingy yay! ;)
compared with the state of the rest of rakudo, I'll get on that in a few years :P 19:43
pmurias [Coke]: search.cpan.org/~ovid/Test-Aggregat...gregate.pm 19:44
19:44 lulinha joined, lulinha left 19:45 jferrero joined
[Coke] pmurias: yah, I'm familiar with it. =-) 19:46
19:48 nomad__ left 19:49 dolmen joined
dolmen rakudo: (3, 6, 9....*)[10..15].perl.say 19:50
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "(3, 6, 9.."␤»
19:52 wamba joined
pmurias [Coke]: Test::Aggregate had some problems with Test::Builder 19:52
[Coke] close. try "..." instead of "...."
19:53 patrickas joined
tylercurtis ingy: For the "one trusted interface" to the TAP stuff, do you really want to extend it, or do you want to build on top of it? I don't know enough about testing frameworks to know which of Test::Builder or Test::More interfaces is a better foundation for building testing libraries, but what sort of things do you want to do that Test::Builder allows but Test::More/Test.pm doesn't? 19:54
PerlJam btw, did anyone point out www.perl.com/pub/2005/07/28/test_builder_p6.html ? 19:57
pmichaud I suspect I'm the primary maintainer for Test.pm
tylercurtis ingy: on a related note, there is what appears to be a port of Test::Builder in the pugs repo at ext/Test-Builder/... and PerlJam beat me to mentioning that.
pmichaud I'm having trouble visioning what the build system for R* should look like. 20:01
I'm guessing it needs to be: build parrot. test parrot. install parrot. build rakudo. test rakudo. install rakudo. 20:02
[Coke] pmichaud: are you rolling your own or just invoking the N build systems you already have?
pmichaud [Coke]: it kinda needs to be "roll our own", I think.
where that in turn invokes the underlying build systems
[Coke] your order seems reasonable. 20:03
(given that's how I do it when I roll my own.)
perhaps further broken down into build -> Configure; build ? 20:04
20:04 alexm left
[Coke] any way for the user to override choices to parrot's configure, e.g.? 20:05
sorear whether or not Test::Builder is at all useful, it does seem like a good stress test for various aspects of niecza
pmichaud [Coke]: I think that's a necessity, yes.
one significant difference between R*'s build and Rakudo's build is that I think we have to assume --prefix is going somewhere standard unless explicitly told otherwise 20:06
[Coke] I would just do a simple --parrot_opts="<all yer overrides here>" and not worry about mapping options at that level to the R* build level.
pmichaud the more troubling aspect is that "install parrot" tends to require super-user privs
while we want the build+test steps to not require such.
[Coke] depending on where you install it, sure.
PerlJam pmichaud: make "somewhere standard" be ~/rakudo-star 20:07
pmichaud PerlJam: that seems bizarre
PerlJam: and it still doesn't help with the build process when someone says --prefix=/usr/local/rakudo
(or whatever)
[Coke] do we really need to handhold the user on installing to a system dir? 20:09
pmichaud [Coke]: what does parrot do there? 20:10
or are you saying that rakudo star should default to not being installed to a system dir?
[Coke] make install will fail if you are installing somewhere you have no privs.
tylercurtis pmichaud: is it possible to build/test Rakudo with a non-installed Parrot?
pmichaud tylercurtis: no. 20:11
[Coke] at which point, people who install software will usually say, "OH, right need to be root."
nor is it trivial to install parrot one place and relocate it when you're happy. I think.
pmichaud tylercurtis: parrot has some very significant differences between its build version and its install version (more)
more to the point, the installed version of parrot is never the one that gets tested. 20:12
and the installed copies of the libraries are never the ones that get tested
[Coke] none of which you're going to be able to fix for R*, neh?
pmichaud [Coke]: I (we) haven't been able to fix them in nearly two years, I doubt it's going to happen in two days :)
[Coke] While it would be nice to have all bells and whistles, I'd settle for: 20:13
Tene I haven't done a system-level install of parrot in... quite a while.
I just install to ~/parrot
[Coke] 1) let the user specify a path to an already installed parrot of correct vintage. 20:14
pmichaud I'm not trying to do "all bells and whistles", I'm just trying to get a clean process that isn't too convoluted to follow.
Tene I would not find it weird if the default as a restricted user was ~/rakudo-star
[Coke] 2) prompt (or otherwise let them specify) a target prefix for the install, warning them about privs.
Tene or /opt/rakudo-star/ oslt as root
[Coke] and if it fails out due to privs during install, oh well. for this release, they can re-run the whole thing. if you're feeling /really/ helpful, you could skip the config/build steps before doing the install when they rerun with elevated privs. =) 20:15
pmichaud [Coke]: are you suggesting 1 and 2 as exclusive options or as steps in a single process?
[Coke] I was thinking exclusive. 20:16
either they have parrot installed already or they don't
pmichaud if they have parrot installed already, it's not a big problem. 20:17
I'm more interested in the "they don't" case.
so, someone downloads the R* tarball 20:18
unpack it, read the README 20:19
it says "if you don't have Parrot installed already, you need to...."
...and what comes next?
(1) should we provide a copy of Parrot in the tarball that is known to work?
or 20:20
[Coke] I had assumed that that was going to happen. If not, you could just point them at parrot.org.
pmichaud yes, I had assumed that as well.
tadzik Couldn't it just look for installed parrot in $PATH, and automagically install it if needed?
with a warning
pmichaud tadzik: "automagically install" always frightens me.
Tene IMO don't include it
pmichaud and it often assumes su privileges 20:21
tadzik pmichaud: or prompt for installing
Tene I'd much prefer something like --gen-parrot
[Coke] tadzik: You'd want to be able to specify the path, I think. that could be the default suggestion though.
Tene download it if needed.
tadzik parrot not found, install it?
pmichaud tadzik: no, it would be more like
ingy tylercurtis: um, Test::More _is built_ on top of Test::Builder
tadzik and of course some options --ignore-lacking-parrot or --use-system-parrot, stuff
pmichaud "parrot not found, please run parrot's build and then 'sudo make install' for Parrot"
tadzik hmm 20:22
pmichaud tadzik: there's no way that I'm going to recommend to folks that they *build* parrot as superuser.
tadzik wasn't it R* policy to include a working parrot inside?
ingy tylercurtis: Test::More is a test writer's module. Test::Builder is a test module writer's module.
pmichaud tadzik: depends on what you mean by "working parrot". And this is the first release, so we're allowed to change our minds or set new policy.
mulander I think the current --gen-parrot really nice. 20:23
*I find
tadzik I have nothing against it either
[Coke] assumes 'svn' is installed, which will be less valid for non-devs.
Tene [Coke]: could be tweaked to download a release tarball instead
mulander isn't R* something more of a developer preview? 20:24
pmichaud [Coke]: well, I'd have an R* --gen-parrot use an included copy of parrot
[Coke] (just have it pull from a copy in the tarball, though, but otherwise give it the same semantics?)
Tene and to install to a different prefix
pmichaud it wouldn't be the same as rakudo compiler's --gen-parrot
tylercurtis ingy: sorear said "I just wonder why that "one trusted interface" can't look like Test::More", and you asked "how do you cleanly extend a non-OO framework". If the one standard interface for TAP was Test::More, what couldn't you do that you could with Test::Builder?
ingy tylercurtis: the one standard module for writing tap modules like Test::More in p5 is Test::Builder 20:25
tylercurtis: I didn't make this stuff up 20:26
20:27 ash___ joined
tylercurtis ingy: I know that. I'm just curious about what things are made possible by Test::Builder that aren't possible by just wrapping the functions that Test::More or Test.pm provides? 20:27
Tene "made possible" probably isn't the right question. 20:28
ingy tylercurtis: did you read the T:B doc?
it explains everything better than I can
sorear ingy: I am merely asking if it is worth revisiting that, since P6 makes extending subroutine modules much easier 20:29
tylercurtis pmichaud: have you looked at how Plumage does module installs? If I have parrot installed in /usr/local and do "plumage install something", it will download and build and test the module and then sudos for just the install part.
ingy DESCRIPTION ^
Test::Simple and Test::More have proven to be popular testing modules, but they're not always flexible enough. Test::Builder provides the a building block upon which to write your own test libraries which can work together.
pmichaud tylercurtis: that assumes you already have a working parrot, though. 20:30
the analogy in the R* case is 'pls' or 'proto', which assumes you have a working Perl 6.
so far, as far as I know, plumage isn't able to build parrot from its sources. 20:31
lue afk --hazardous-weather
ingy sorear: I personally think that an OO class with an API is a better way to expose a framework, than a hand picked bag of functions. but that's just me. Maybe OO is out of vogue.
pmichaud ingy: it's entirely possible for there to be multiple implementations that expose the same API. 20:32
ingy call me old skööl
pmichaud and often desirable. :)
tylercurtis pmichaud: right. I'm not talking about Plumage as a whole; just the bit that sudos for the only the install part when necessary.
sorear Perhaps the reasonable thing to do is to provide R* as a single non-installing relocatable blob
pmichaud tylercurtis: what do they do on windows environments?
"relocatable" and "parrot" do not currently mix. 20:33
tylercurtis pmichaud: no idea.
sorear pmichaud: it's relocatable until you run make
uses ./parrot_install?
pmichaud sorear: then I don't understand what you mean by "relocatable blob"
sorear I'm not sure anymore either. 20:34
ingy pmichaud: are we talking about the same thing?
pmichaud ingy: I think so, but I might be wrong. 20:35
ingy: iiuc, you're advocating that Test.pm should have an OO implementation behind it
tylercurtis ingy: I understand that there can be advantages to OO designs. I'm just curious what concrete things are allowed by Test::Builder's architecture that are hard or impossible to do by simply wrapping a module of simple testing functions. 20:36
ingy tylercurtis: like I said, I like OO. If people want to reinvent OO, that's certainly "interesting" 20:38
tadzik does either pls or proto work atm?
ingy tylercurtis: schwern wrote test::more and realized it was impossible to reuse, so he wrote test::builder under it 20:39
tylercurtis: at some point, maybe someone in p6 will want to do the same
pmichaud ingy: ...and what stops that from happening?
ingy I personally have TestML working fine without it
pmichaud: sigh. NOTHING! 20:40
pmichaud ingy: okay, then I guess we're in agreement. :)
ingy pmichaud: about 3-4 weeks ago I asked here if there was a T::B and found out ther wasn't and moved on, and this morning sorear baited me into defending the whole thing, and I guess I bit :P 20:41
pmichaud: I think we are.
ingy has test frameworks to write... :)
ingy buggers off 20:42
Tene ingy: So, wait, what's so great about Test::Builder? ;)
tylercurtis ingy: there is a Test::Builder. I don't know if it works in Rakudo or not, but it exists.
ingy /kick Tene
Tene :)
pmichaud goes back to figuring out rakudo star build process.
ingy tylercurtis: obviously the pugs people were from my skööl 20:43
sorear I'm genuinely curious. Maybe I'm also being too obtuse.
pmichaud should the version of parrot that R* packages be from a parrot tarball or from the parrot svn? (I vote tarball.) 20:47
[Coke] tarball.
if the user is sophiscated enough to want an svn checkout, they can do it themselves.
Tene [Coke]: He's asking about the version that R* packages, not the method that R* build uses to fetch 20:48
pmichaud: right?
ingy sorear: I think with OO you have a better defined API that you can assert works a certain way when you do certain things in combination, but if you really want an earful, ask Schwern...
[Coke] Tene: it's going to be 2.6.0 either way. 20:49
ingy he will make you change your nick from sorear to soreear
pmichaud Tene: yes; and I think Coke++ understood it that way.
[Coke] no?
is the choice between 2.6.0 and HEAD?
pmichaud [Coke]: at the moment it's going to be 2.6.0, yes.
[Coke] so, what's the question then?
pmichaud I didn't get it either.
[Coke] you asked it! 20:50
;)
ingy what ToD is Star scheduled to be released?
tadzik sub find (Callable $callback, *@dirs) -- how to force *@dirs having at least one entry?
sorear ingy: just ping him on MAGnet?
[Coke] (and pmichaud, you're doing the actual release, yes?)
Tene tadzik: ..., *@dirs where { @dirs.elems > 0 }) { ...
tadzik Tene++, thanks
ingy sorear: magnet #perl sure
pmichaud colomon: yes, I plan to do the actual release.
s/colomon/Coke/ 20:51
Tene tadzik: that might be slightly off. Let me know if it works for you.
pmichaud [Coke]: that way any blame/mistakes are purely my own. :)
ingy 13:51 < purl> schwern was last seen on #perl 8 days, 14 hours, 10 minutes and 0 seconds ago, saying: Which is actually the easy way to do it [Jul 18 06:41:05 2010]
[Coke] sees schwern's name and checks his watch.
ingy schwern and time usually don't mix 20:52
pmichaud ingy: (time of day) don't have a specific time yet. I'd like it be early on the 29th, but it will depend on if there are many last-minute-items to be taken care of.
colomon \\o/
pmichaud schwern++'s 2038 talk at oscon was hilarious.
it was by far my favorite talk of the entire conference.
(and I've seen him give the 2038 talk several times previously.) 20:53
tylercurtis ingy: What I'm wondering is: were the problems with reusing Test::More due to a fundamental problem with modules of subroutines or due to Test::More not being designed to be a framework for building testing modules? I just don't understand the meaningful difference between a singleton class with methods and a module with functions, with the exception of the Test::Builder.child method.
pmichaud (but this one was different)
sorear pmichaud: related to the perl 6 y2038 rumor?
pmichaud sorear: not sure about that one. :) 20:54
ingy tylercurtis: it's not my puppy... ask schwern :P
Tene tylercurtis: ingy has already said that he's not itnerested in discussing it further right now.
ingy that's my new slogan
Tene Please stop asking him.
tadzik tylercurtis: works, thanks
20:54 pyrimidine left
pmichaud time for a walk here...bbiab 20:55
tadzik Constraint type check failed for parameter '@dirs' -- could it be more helpful for an end-user one day? 20:57
20:58 timbunce joined
tylercurtis ingy: I'm sorry if I've been pestering you. I didn't see where you said that you didn't want to further discuss the matter. 20:59
tadzik: I think you meant to say that to someone else? Probably Tene?
tadzik tylercurtis: yeah, pardon 21:00
Tene: thanks, works
21:01 whiteknight joined
Tene tadzik: For that specific constraint, it's not likely. You'd have to do it yourself with another multi variant. 21:03
multi ... where { *.elems == 0 } ) { die "More-useful error message" }
ash___ how does one build std? so i can check syntax at home 21:04
tadzik Tene: this slurpy list was used to avoid the multi subs :) Could the error message print out the method signature maybe?
Tene tadzik: That sounds reasonable enough, but you'd also need to be able to reproduce the code sub.
tadzik Tene: what do you mean? 21:05
rakudo: sub find (Callable $callback, *@dirs where { @dirs.elems > 0}); # just checking
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
21:05 lichtkind joined
tadzik …exactly. What does he want? 21:05
jnthn Maybe one day we'll be able to write a module that's all like (@x where { @x.elems > 0 } is bind_error('fool, pass some damm elements!'))
lichtkind greets 21:06
tylercurtis tadzik: without multis, you could remove the constraint on the *@dirs and start the sub with "die 'Some more helpful error message' if @dirs.elems == 0;"
tadzik tylercurtis: yeah, I thought about that too
but constraints just fit perfectly here
"choose your poison", eh?
ah, I know, ok 21:07
this code snippet
error message could be more helpful though :)
rakudo: sub find (Callable $callback, *@dirs where { @dirs.elems > 0}) {}; &find.signature.perl.say # not helpful :F
p6eval rakudo 9808d7: OUTPUT«:(Callable $callback, *@dirs where ({ ... }))␤» 21:08
Tene tadzik: all that's available in the signature is a code ref. To print out what was wanted, you'd need to be able to go from a code ref back to text, which we can't do right now.
tadzik oh, I see 21:09
Tene and, even then, it wouldn't be completely obvious.
jnthn tadzik: If code refs stringified to anything useful I'd include it in the error already
But I didn't 'cus right now they tell you nothing.
Tene To go from that to "@dirs needs at least one element" in general is very difficult.
tadzik well, I'd be really amazed if thing like this would be even possible one day 21:10
sounds like Perl6 → English translator :)
Tene exactly 21:11
sorear generally speaking, if you want to inspect a code ref, you shouldn't be using a code ref 21:12
transparent stuff should be specced differently
Tene It wouldn't be completely infeasible with rakudo to save the text of blocks into an attribute in the compiled sub object, or similar. Just a lot of work nobody's been interested in doing yet. 21:13
oha couldn't be better to make a filter which, given a parse tree, returns code which compile exactly the same? this would also help discover folding and so on. 21:17
sorear well, the parse trees aren't available at runtime either 21:19
ash___ rakudo: class Foo::Bar { }; say Foo::Bar.new.perl # I thought that was changed to be a valid way of making a new object
p6eval rakudo 9808d7: OUTPUT«Foo;Bar.new()␤»
ash___ the ; seems wrong 21:20
sorear Foo;Bar is the true name of the class in rakudo
ash___ but is that correct for perl6?
sorear .perl probably needs to munge it back into source code syntax
but that's NYI
ash___ ah
sorear and .new itself is absolutely working
ash___ rakudo: class Bar { has $a }; say Bar.new(a => 10).perl; 21:21
p6eval rakudo 9808d7: OUTPUT«Bar.new(a => 10)␤»
ash___ they seem to already be doing some sort of work in .perl otherwise that would be just Bar.new
oha rakudo: class Bar { has $a }; say Bar.new(a=>10).perl; 21:22
sorear some work != all work
p6eval rakudo 9808d7: OUTPUT«Bar.new(a => 10)␤»
PerlJam Foo;Bar looks like parrot leaking through 21:23
ash___ rakudo: class Bar { has $a; method add($a) { $!a += $a; } }; my $a = Bar.new(a=>10); $a.add(10); say $a.perl 21:24
p6eval rakudo 9808d7: OUTPUT«Bar.new(a => 20)␤»
ash___ ah, i see why
in .perl they use 'pir::typeof__SP'
rakudo: class Foo::Bar {}; say pir::typeof__SP(Foo::Bar); 21:26
p6eval rakudo 9808d7: OUTPUT«Foo::Bar␤»
21:26 bjarneh joined
ash___ hmm 21:26
nm
dolmen rakudo: (3, 6, 9...*)[10..15].perl.say
p6eval rakudo 9808d7: OUTPUT«(33, 36, 39, 42, 45, 48)␤»
dolmen rakudo: (3, 6, 12...*)[10..15].perl.say 21:27
p6eval rakudo 9808d7: OUTPUT«(3072, 6144, 12288, 24576, 49152, 98304)␤»
21:27 ash___ joined
dolmen rakudo: (3, 6, 9...*)[3..6].perl.say 21:27
p6eval rakudo 9808d7: OUTPUT«(12, 15, 18, 21)␤»
21:27 kensanata joined
dolmen rakudo: (3, 6, 12...*)[3..6].perl.say 21:28
ash___ rakudo: class Foo::Bar {}; say pir::typeof__SP(Foo::Bar.new), ' vs ', pir::typeof__SP(Foo::Bar);
p6eval rakudo 9808d7: OUTPUT«(24, 48, 96, 192)␤»
rakudo 9808d7: OUTPUT«Foo;Bar vs Foo::Bar␤»
ash___ instances vs namespaces?
dolmen rakudo: (*..0, 2, 4)[-5].perl.say 21:29
p6eval rakudo 9808d7: OUTPUT«undef␤»
PerlJam undef?!? 21:30
dolmen rakudo: (*..0, 2, 4)[-1].perl.say
p6eval rakudo 9808d7: OUTPUT«undef␤»
ash___ rakudo: (1, 2, 3)[-1].WHAT.say
p6eval rakudo 9808d7: OUTPUT«Failure()␤»
ash___ negative indexes are wrong
rakudo: (1, 2, 3, 4)[*-1].say 21:31
rindolf *-1
p6eval rakudo 9808d7: OUTPUT«4␤»
PerlJam undef was doubly wrong
ash___ (didn't realize Failure.perl was "undef")
21:31 dukeleto joined
ash___ rakudo: say Failure.new("undef").perl 21:32
p6eval rakudo 9808d7: OUTPUT«"undef"␤»
PerlJam rakudo: Failure.new(undef).perl.say 21:33
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ Mu (the "most undefined" type object),␤ an undefined type object such as Int,␤ Nil as an empty list,␤ *.notdef as a matcher or method,␤ Any:U as a type constraint␤
.. or fail() as a failur…
PerlJam rakudo++
rakudo: my $a; undef $a; 21:34
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Unsupported use of undef as a verb; in Perl 6 please use undefine function or assignment of Nil at line 22, near " $a;"␤»
tylercurtis rakudo: Failure.new("foo").perl.say 21:35
p6eval rakudo 9808d7: OUTPUT«"foo"␤»
ash___ rakudo: my $a; undefine $a;
p6eval rakudo 9808d7: ( no output )
PerlJam rakudo: Exception.perl.say
p6eval rakudo 9808d7: OUTPUT«Exception␤»
PerlJam rakudo: Exception.new.perl.say 21:36
p6eval rakudo 9808d7: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤ in main program body at line 1␤»
tylercurtis rakudo: fail "foo"; CATCH { .perl.say; }
p6eval rakudo 9808d7: ( no output )
ash___ github.com/rakudo/rakudo/blob/maste...on.pir#L93 is (i think) the undef we saw with [-1]
PerlJam rakudo: Exception.new("blah").perl.say
p6eval rakudo 9808d7: OUTPUT«undef␤»
PerlJam there you go 21:37
tylercurtis rakudo: (fail "foo"
p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "(fail \\"foo"␤»
tylercurtis rakudo: (fail "foo").perl.say;
p6eval rakudo 9808d7: ( no output )
ash___ ya, that, what PerlJam did
PerlJam Exception.pir needs a rewrite to Perl 6 IMHO 21:38
tylercurtis rakudo: Failure.new(Exception.new("foo")).perl.say; 21:39
p6eval rakudo 9808d7: OUTPUT«undef␤»
ash___ when building STD, i get "dba unspecified at /Users/john/Projects/pugs/src/perl6/CursorBase.pm line 2287." as a make failure, anyone have any suggestions? 21:41
i am up to date on the svn checkout
tadzik why is Test.pm broken in master? :( 21:43
ingy tadzik: you mean it's not OO? 21:44
ingy ducks
PerlJam heh
tadzik ;)
21:44 snarkyboojum joined
frettled ingy++ :D 21:44
jnthn OO NOES! 21:45
tadzik: broken?
tadzik jnthn: seems so
jnthn tadzik: If you have an installed version, trying tossing that.
Or re-make install-ing.
tadzik wklej.org/id/369096/ 21:46
jnthn Almost certainly a Test.pir being picked up. 21:47
That is out of date
tadzik hmm 21:49
PerlJam tadzik: works for me :)
tadzik hrm 21:50
make clean and once again?
jnthn tadzik: Also check @*INC 21:51
tadzik: And make sure there's no Test.pir's in those places
tadzik also, my 2010.07 says "This is Rakudo Perl 6, version 2010.06" 21:57
pmichaud oooops! 22:00
looks like the release guide omitted the step of "update VERSION"
that's probably my fault.
I had planned to combine VERSION with make VERSION= and just never got it finished. 22:01
22:05 masonkramer joined 22:13 ethel joined 22:23 snarkyboojum joined
ingy rakudo: require Test; 22:24
p6eval rakudo 9808d7: OUTPUT«Could not find sub &Test␤ in main program body at line 22:/tmp/JDKoUQU801␤»
ingy rakudo: require 'Test';
p6eval rakudo 9808d7: OUTPUT«Could not find sub &require␤ in main program body at line 22:/tmp/CJ8ICgq3C3␤»
ingy rakudo: need 'Test'; 22:25
p6eval rakudo 9808d7: OUTPUT«Could not find sub &need␤ in main program body at line 22:/tmp/oS_k5mlvzM␤»
snarkyboojum rakudo: need Test;
p6eval rakudo 9808d7: ( no output )
ingy :P
tylercurtis rakudo: need Test; require Test; plan 5; 22:26
p6eval rakudo 9808d7: OUTPUT«Could not find sub &require␤ in main program body at line 22:/tmp/Mu7YSWHeW2␤»
tylercurtis rakudo: need Test; import Test; plan 5;
p6eval rakudo 9808d7: OUTPUT«1..5␤# Looks like you planned 5 tests, but ran 0␤»
ingy :)
dalek ecza: 1892a69 | sorear++ | (5 files):
Pull to_cgop out into a pass
22:27
ecza: 66741e7 | sorear++ | (5 files):
Make extract_scopes into its own pass
ecza: 0931115 | sorear++ | (2 files):
Use more generic traversals for extra_decls and write, kill Body.outer
ecza: e6fa129 | sorear++ | (4 files):
Extract a pass from ANF conversion
[Coke] (I do wish that I had irssi config to de-emphasize anything that resembled a p6eval conversation. 22:29
(version 2010.06) AIIGH. sorry. 22:30
I should have done an ack to be sure. :|
22:33 Trashlord joined 22:35 dual joined 22:40 mberends joined 22:45 rgrau_ joined
[Coke] blogs.perl.org/users/alex_muntada/2...-menu.html - "the first complete and usable implementation of Perl 6" 22:46
snarkyboojum "complete"? eek 22:50
Tene [Coke]: what would de-emphasize look like for you? 22:51
something like: /hilight -mask p6eval -line -color %whatevercolor -actcolor %n -channels #perl6 -priority 255 22:53
I expect
ingy what's the syntax for specifying a start rule on a parse again. /me forgot to write it down :'( 22:57
dolmen rakudo: (*...0, 2, 4)[*-4].WHAT.say 23:00
p6eval rakudo 9808d7: OUTPUT«Method 'pred' not found for invocant of class 'Whatever'␤ in <anon> at line 754:CORE.setting␤ in <anon> at line 822:CORE.setting␤ in 'Parcel::elems' at line 1␤ in 'Any::postcircumfix:<[ ]>' at line 1641:CORE.setting␤ in main program body at line 1␤»
[particle] perl6advent.wordpress.com/2009/12/2...d-actions/ says Question::Grammar.parse($text, :action($actions)).ast;
where $actions is Question::Actions.new
dolmen akudo: [1, 2, 3][-2].say 23:02
rakudo: [1, 2, 3][-2].say
p6eval rakudo 9808d7: ( no output )
dolmen rakudo: (1, 2, 3)[-2].say 23:03
p6eval rakudo 9808d7: ( no output )
dolmen rakudo: [1, 2, 3][*-2].say
p6eval rakudo 9808d7: OUTPUT«2␤»
23:04 dolmen left
ingy rakudo: grammar G { rule r { 'r' } }; say G.parse('rrr', :rule('r')).perl 23:05
p6eval rakudo 9808d7: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ from => 0,␤ orig => "rrr",␤ to => -3,␤)␤»
ingy rakudo: grammar G { rule r { 'r' } }; say G.parse('rrr', :rule('x')).perl
p6eval rakudo 9808d7: OUTPUT«Method 'x' not found for invocant of class ''␤ in 'Grammar::parse' at line 5518:CORE.setting␤ in main program body at line 22:/tmp/C6KLX8jzVR␤»
ingy :) 23:06
rakudo: grammar G { rule r { 'r' } }; say G.parse('xxx', :rule('r')).perl
p6eval rakudo 9808d7: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ from => 0,␤ orig => "xxx",␤ to => -3,␤)␤»
23:09 hudnix joined 23:10 snarkyboojum joined
ingy yay. works. TOP iz 4 luzerz 23:10
23:26 justatheory joined 23:27 snarkyboojum joined
Tene If anyone wants to edit my day 21 post to mention :rule, it would be appreciated. 23:33
tylercurtis gist.github.com/3c03010b81c42bec225f golf is fun. :) 23:35
23:38 ShaneC joined 23:43 mikelifeguard joined 23:57 rabies joined, Psyche^ joined, rabies left 23:59 ruoso joined, snarkyboojum joined