|
»ö« | 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 101 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 context0» | ||
| 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«12» | ||
| 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===[0mUnrecognized regex modifier :postgres at /tmp/J5kH8ITQXD line 1:------> [32m = ""; say 1 if $url ~~ s/^dbdi:postgres[33m⏏[31m://;[0mUnrecognized 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«6720» | ||
| 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«22» | ||
| 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«4242» | ||
| 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);[0mok 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===[0mConfused at /tmp/lJccSrH0Pl line 1:------> [32msay <a b c>.*[33m⏏[31m.WHAT;[0m expecting dotty method or postfixParse failedFAILED 00:01 116m» | ||
| tadzik | rakudo: (say "foo").WHAT.say # btw, what does say return? | ||
| p6eval | rakudo 9808d7: OUTPUT«fooBool()» | ||
| 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(); [0mok 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===[0mConfused at /tmp/0OSyWZ4Wrq line 1:------> [32m, Int $b) { [ ($a / $b), ($a % $b) ] }; [33m⏏[31m}; (5 /% 2).perl.say;[0mParse failedFAILED 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===[0mConfused at /tmp/PBd04wvko8 line 1:------> [32m>($a, $b) { [ ($a / $b), ($a % $b) ] }; [33m⏏[31m}; (5 /% 2).perl.say;[0mParse failedFAILED 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===[0mMethod call found where infix expected (omit whitespace?) at /tmp/nfE8o65OI2 line 1:------> [32mfoo() [33m⏏[31m.bar()[0m expecting infix or meta-infixUndeclared routine: 'foo' used at line 1Parse failedFAILED 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
|
|||