Time |
Nick |
Message |
00:26 |
|
jaldhar joined #perl6 |
00:26 |
Casan |
where do I find the documentation on the run method for interacting with the system console from rakudo? |
00:30 |
sorear |
there isn't any |
00:31 |
ingy |
greetings |
00:31 |
sorear |
it doesn't really need it, as it has no features to speak of |
00:31 |
melte |
is it the same as p5's system()? |
00:31 |
sorear |
no |
00:32 |
sorear |
it's the same as p5's system, minus the LIST form |
00:33 |
melte |
:/ |
00:33 |
melte |
why would they get rid of that? |
00:33 |
sorear |
also minus setting $?, setting ${HILD_ERROR_NATIVE}, control of argv[0], and autoflushing |
00:33 |
sorear |
melte: because there was a concious decision to start from scratch |
00:34 |
sorear |
every single feature of p5 has been thrown out |
00:34 |
sorear |
some of them have been replaced |
00:34 |
melte |
yes |
00:35 |
sorear |
the *only* things Rakudo run supports is my $return-value = run("this string is passed to your shell") |
00:36 |
melte |
I suppose somewhere in the p6 docs I could find the reasoning behind a less featureful function |
00:36 |
melte |
there's no exec either, eh |
00:37 |
|
drbean joined #perl6 |
00:44 |
|
waste joined #perl6 |
00:48 |
* ruoso |
.oO( I wonder if anyone at #perl6 would have some time and money to spend on coming to YAPC::Brasil in Fortaleza from 25 to 31 october (talks 28-30, social 31) ) |
00:49 |
Casan |
sorear: ok, maybe you can give a hint to how I store the return value in the scalar, so I can parse it as I please. right now, when I do { my $return-value = run("dir"); say $return-value; } the output from run("dir") is printed directly to the screen and the say results in a 0. |
00:51 |
melte |
Casan: that's like perl5. use qx |
00:56 |
Casan |
melte: can you give an example |
00:57 |
melte |
star: my $b = qx'uname -a'; $b.say # probably won't work if this is sandboxed |
00:57 |
p6eval |
star 2010.07: OUTPUT«Operation not permitted in safe mode in 'Safe::forbidden' at line 2:/tmp/bKlJm0UvJt in main program body at line 22:/tmp/bKlJm0UvJt» |
00:57 |
melte |
yeah |
00:58 |
sorear |
melte: software does not spring forth fully formed |
00:59 |
sorear |
it's less featureful because _it's_not_finished_ |
00:59 |
melte |
Casan: I don't know what the variable ($?) is in perl6 (looking now) but the return value will be somewhere too |
00:59 |
melte |
sorear: okay, that I didn't know |
00:59 |
melte |
sorear: the way you said it above about a conscious decision made me think it was a design decision |
01:00 |
sorear |
right, it was a design decision to start over |
01:03 |
melte |
ah I see exec is now runinstead (NYI) |
01:04 |
melte |
and that the S29 explanation of run gives different argument conventions |
01:06 |
Casan |
ok thanks. learned some. didn't find qx anywhere before. |
01:07 |
|
PZt joined #perl6 |
01:07 |
melte |
in perl5 it was also backticks, e.g. `ls` |
01:08 |
snarkyboojum |
guten morgen perl6 type hackers |
01:08 |
|
plobsing joined #perl6 |
01:13 |
|
pugssvn joined #perl6 |
01:18 |
waste |
rakudo: $_ .= () |
01:18 |
p6eval |
rakudo 966797: OUTPUT«./src/pmc/object.pmc:185: failed assertion 'name'Backtrace - Obtained 16 stack frames (max trace depth is 32)./home/p6eval//p2/lib/libparrot.so.2.6.0 [0x2b1a7cd3f203]/home/p6eval//p2/lib/libparrot.so.2.6.0(Parrot_confess+0x87) |
01:18 |
p6eval |
..[0x2b1a7cd3f337]/home/p6eval//p2/lib/libparrot.so.2… |
01:20 |
|
masonkramer joined #perl6 |
01:21 |
avuserow |
rakudo: $_ = {say "oh hi"}; say .perl; |
01:21 |
p6eval |
rakudo 966797: OUTPUT«{ ... }» |
01:22 |
avuserow |
rakudo: $_ = {say "oh hi"}; .(); |
01:22 |
p6eval |
rakudo 966797: OUTPUT«oh hi» |
01:22 |
avuserow |
rakudo: $_ = {"oh hi"}; $_ .= (); .say; |
01:22 |
p6eval |
rakudo 966797: OUTPUT«src/hash.c:148: failed assertion 's'Backtrace - Obtained 19 stack frames (max trace depth is 32)./home/p6eval//p2/lib/libparrot.so.2.6.0 [0x2ad47f2f6203]/home/p6eval//p2/lib/libparrot.so.2.6.0(Parrot_confess+0x87) [0x2ad47f2f6337]/home/p6eval//p2/lib/libparrot.so.2.6.0 |
01:22 |
p6eval |
..[0x2ad47… |
01:23 |
|
pugssvn joined #perl6 |
01:24 |
avuserow |
rakudo: $_ = {return "oh hi"}; $_ .= (); .say; |
01:24 |
p6eval |
rakudo 966797: OUTPUT«src/hash.c:148: failed assertion 's'Backtrace - Obtained 19 stack frames (max trace depth is 32)./home/p6eval//p2/lib/libparrot.so.2.6.0 [0x2b94b60ac203]/home/p6eval//p2/lib/libparrot.so.2.6.0(Parrot_confess+0x87) [0x2b94b60ac337]/home/p6eval//p2/lib/libparrot.so.2.6.0 |
01:24 |
p6eval |
..[0x2b94b… |
01:24 |
avuserow |
rakudo: $_ = {return "oh hi"}; .().say; |
01:24 |
p6eval |
rakudo 966797: ( no output ) |
01:25 |
avuserow |
rakudo: $_ = {; return "oh hi"}; .().say; |
01:25 |
p6eval |
rakudo 966797: ( no output ) |
01:30 |
|
pugssvn joined #perl6 |
01:48 |
|
orafu joined #perl6 |
01:53 |
|
pugssvn joined #perl6 |
01:58 |
|
LaVolta joined #perl6 |
02:05 |
|
pugssvn joined #perl6 |
02:05 |
|
LaVolta joined #perl6 |
02:06 |
|
aesop joined #perl6 |
02:10 |
|
pugssvn joined #perl6 |
02:13 |
|
spinclad joined #perl6 |
02:27 |
Util |
Does Rakudo have a working read-a-line-at-a-time pipe? What is the syntax? In Perl5, it would be: |
02:27 |
Util |
open my $fh, '-|', 'find /' or die "Can't open pipe: $!"; |
02:29 |
waste |
std: :( \1 ) |
02:29 |
p6eval |
std 31891: OUTPUT«[31m===[0mSORRY![31m===[0mMalformed parameter at /tmp/M2_tKav71t line 1:------> [32m:( [33m⏏[31m\1 )[0m expecting any of: name parameter signature statement end statement listParse failedFAILED 00:01 115m» |
02:33 |
waste |
std: :( \(1) ) |
02:33 |
p6eval |
std 31891: OUTPUT«ok 00:01 116m» |
02:36 |
waste |
rakudo: say \1 eqv \(1) |
02:36 |
p6eval |
rakudo 966797: OUTPUT«1» |
02:40 |
|
pugssvn joined #perl6 |
02:40 |
sorear |
what's going on with feather3? |
02:41 |
sorear |
Util: I doubt it |
02:44 |
|
TiMBuS joined #perl6 |
02:45 |
sorear |
Util: it looks like you could probably kludge something with pir::open__PSS, see src/builtins/Str.pir and the definition of .sub '!qx' |
02:49 |
waste |
std: $_ = 1; .++ |
02:49 |
p6eval |
std 31891: OUTPUT«ok 00:01 117m» |
02:50 |
waste |
rakudo: $_ = 1; .++ |
02:50 |
p6eval |
rakudo 966797: OUTPUT«===SORRY!===Method 'unshift' not found for invocant of class 'Undef'» |
02:55 |
[Coke] |
phenny: .u square |
02:59 |
|
pugssvn joined #perl6 |
02:59 |
|
jaldhar joined #perl6 |
03:09 |
waste |
rakudo: .say for Array.pred, Array.succ |
03:09 |
p6eval |
rakudo 966797: OUTPUT«Arrax()Arraz()» |
03:11 |
waste |
rakudo: .say for +Array.^methods, +Hash.^methods |
03:11 |
p6eval |
rakudo 966797: OUTPUT«1709» |
03:13 |
Util |
sorear: thanks |
03:13 |
waste |
rakudo: $_ = [2]; .say for .WHAT, $_++, .WHAT, ++$_ |
03:13 |
p6eval |
rakudo 966797: OUTPUT«Array()2Str()4» |
03:14 |
waste |
rakudo: $_ = [2]; .say for .WHAT, ++$_, .WHAT, ++$_ |
03:14 |
p6eval |
rakudo 966797: OUTPUT«Array()4Str()4» |
03:16 |
waste |
nm the last one; |
03:19 |
waste |
or... brain freeze :/ |
03:20 |
waste |
rakudo: $_ = 2; .say for ++$_, ++$_; |
03:21 |
p6eval |
rakudo 966797: OUTPUT«44» |
03:27 |
waste |
rakudo: $_ = 2; .say for ++$_, $_++; |
03:27 |
p6eval |
rakudo 966797: OUTPUT«43» |
03:49 |
waste |
rakudo: say [].''(2).perl |
03:49 |
p6eval |
rakudo 966797: OUTPUT«[2]» |
03:49 |
waste |
rakudo: say 1.''(2).perl |
03:49 |
p6eval |
rakudo 966797: OUTPUT«Method 'push' not found for invocant of class 'Int' in main program body at line 22:/tmp/343GfCaqNX» |
03:54 |
waste |
rakudo: say ().''(2).perl |
03:54 |
p6eval |
rakudo 966797: OUTPUT«too many positional arguments: 2 passed, 1 expected in main program body at line 1» |
03:55 |
waste |
rakudo: say ().""().perl # not Parcel.push ? |
03:55 |
p6eval |
rakudo 966797: OUTPUT«""» |
03:56 |
waste |
rakudo: say ().perl; ().push(1); say ().perl |
03:56 |
p6eval |
rakudo 966797: OUTPUT«()(1, )» |
04:01 |
sorear |
what are you doing |
04:02 |
|
melte joined #perl6 |
04:19 |
|
LaVolta joined #perl6 |
04:20 |
|
tylercurtis joined #perl6 |
04:20 |
|
kthakore joined #perl6 |
04:21 |
|
molaf joined #perl6 |
04:26 |
|
gfx joined #perl6 |
04:27 |
|
sekimura1 joined #perl6 |
04:30 |
|
ashleydev joined #perl6 |
04:34 |
|
xinming joined #perl6 |
04:35 |
|
duff_ joined #perl6 |
04:41 |
waste |
just mentioning some edge cases; before i forget them and move on .. |
04:42 |
waste |
but i can go back to ignoring them, if it is inappropriate |
04:47 |
|
kaare_ joined #perl6 |
04:58 |
|
alester joined #perl6 |
05:13 |
|
pugssvn joined #perl6 |
05:13 |
|
masonkramer joined #perl6 |
05:34 |
|
justatheory joined #perl6 |
05:41 |
waste |
std: 1.2 = 1 |
05:41 |
p6eval |
std 31891: OUTPUT«ok 00:01 116m» |
05:42 |
waste |
std: 1 = 1 |
05:42 |
p6eval |
std 31891: OUTPUT«ok 00:01 116m» |
05:42 |
waste |
rakudo: say (2 = 1) |
05:42 |
p6eval |
rakudo 966797: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/9ogy_14mma» |
05:43 |
waste |
rakudo: say (2.1 = 1) |
05:43 |
p6eval |
rakudo 966797: OUTPUT«1» |
05:45 |
|
Su-Shee joined #perl6 |
05:47 |
|
IllvilJa joined #perl6 |
05:54 |
|
[Coke] joined #perl6 |
06:02 |
|
masonkramer joined #perl6 |
06:09 |
|
wtw joined #perl6 |
06:11 |
|
jfried joined #perl6 |
06:19 |
sorear |
waste: p6eval is not a bug report bot |
06:20 |
sorear |
waste: if rakudo is doing blatantly wrong things like interpreting .'' as a synonym for .push, or allowing () to be modified, or accepting 2.1 = 1, YOU NEED TO SEND MAIL TO rakudobug perl.org |
06:21 |
|
uniejo joined #perl6 |
06:27 |
|
agentzh joined #perl6 |
06:30 |
moritz_ |
good morning |
06:31 |
LaVolta |
morning, moritz_ :) |
06:34 |
|
masak joined #perl6 |
06:34 |
masak |
oh hai, #perl6! |
06:34 |
moritz_ |
masak: good morning. Where are you? |
06:34 |
sorear |
good morning |
06:34 |
masak |
moritz_: I am at the leaning tower of Pisa. where are you? :) |
06:35 |
moritz_ |
masak: conference venue. Come here, we have cookies! |
06:35 |
masak |
moritz_: I'll start walking now, and I'll be there in 40 minutes. |
06:35 |
masak |
are you in the lobby? |
06:36 |
moritz_ |
masak: 1st floor actually, but we might move to the lobby |
06:36 |
masak |
oki. |
06:36 |
masak |
I'll try to find you. |
06:37 |
moritz_ |
it's easy when you find the conference location :-) |
06:37 |
masak |
Google Maps makes that look easy, too. |
06:38 |
masak |
My One Hotel is at via Darsena 1. |
06:39 |
moritz_ |
it's easy, but not a pleasant walk |
06:40 |
masak |
would that be due to the lack of a sidewalk? |
06:40 |
moritz_ |
right, at least in the end |
06:40 |
masak |
I'll take the appropriate amount of care. |
06:41 |
moritz_ |
stop talking, come here :-) |
06:42 |
masak |
moritz_: who's there already, by the way? moritz_, jnthn, pmichaud...? |
06:42 |
moritz_ |
I've seen jnthn walkiing to the breakfast thing |
06:43 |
moritz_ |
afk |
06:43 |
|
ruoso joined #perl6 |
06:46 |
jfried |
have a lot of fun in pisa :) |
06:46 |
masak |
Twitter is now some odd mixture of reporting the release from last week, and going back to its old "when Perl 6 is eventually released" bashing. |
06:46 |
masak |
walk & |
06:49 |
moritz_ |
http://www.perlmonks.org/?node_id=852570 that kinda looks like a very optimistic number :-) |
06:50 |
melte |
3 times? I wish! |
06:51 |
moritz_ |
aye :-) |
06:52 |
|
wtw joined #perl6 |
07:03 |
|
mjk joined #perl6 |
07:11 |
Su-Shee |
well the next * release can show off speed improvement numbers. and more features. and the good thing is: until it's old and boring and only bug fix releases, you always have to announce improvements and shinyshiny :) |
07:19 |
|
kuroishi joined #perl6 |
07:19 |
|
ruoso joined #perl6 |
07:20 |
|
daxim joined #perl6 |
07:22 |
|
Casan joined #perl6 |
07:23 |
szabgab |
hi every from Pisa |
07:23 |
moritz_ |
\o/ |
07:23 |
szabgab |
oh, you are here moritz_ ? |
07:24 |
moritz_ |
szabgab: sitting right beside you :-) |
07:24 |
szabgab |
oh |
07:27 |
|
tadzik joined #perl6 |
07:33 |
|
tadzik joined #perl6 |
07:36 |
szbalint |
szabgab: :D |
07:37 |
sorear |
part of me wants to beat rakudo to having a good I/O system, since I'm building on a VM that has working I/O |
07:38 |
sorear |
on the other hand - p6eval |
07:38 |
mathw |
Morning |
07:39 |
mathw |
sorear: you want to beat rakudo to having a proper safe mode :) |
07:41 |
sorear |
szabgab: freenode policy recommends that ops do their lurking incognito - /mode #perl6 -o szabgab when not needing to use your powers |
07:43 |
sorear |
moritz_: according to #mono, running a random .exe in a sandbox is nontrivial; sandboxing in the modern CLR requires a custom runtime library for your sandbox |
07:43 |
sorear |
moritz_: so that's not an option for us |
07:43 |
sorear |
moritz_: given chroot + rlimit, what are the big things that need to stay disabled? |
07:45 |
moritz_ |
sorear: run(), qx// etc. |
07:46 |
moritz_ |
sorear: happy? :-) |
07:46 |
mathw |
Oh do we have a proper op list now? Good. |
07:48 |
moritz_ |
yes |
07:51 |
szbalint |
heheh |
07:56 |
mathw |
I seem to recall that coming up a long time ago :) |
07:56 |
moritz_ |
aye |
07:56 |
mathw |
and since we're on freenode it's polite to follow their guidelines |
07:56 |
moritz_ |
we're doing that now |
07:57 |
mathw |
actually I rather enjoy instances where some idiot makes a mess in a channel and suddenly the ops are popping out of the woodwork |
07:57 |
mathw |
it's almost like somebody being an idiot in the street and six passersby abruptly turn into policemen |
07:57 |
* snarkyboojum |
is reminded of the matrix |
07:58 |
mathw |
hmm |
07:58 |
mathw |
a bit less sinister |
07:58 |
mathw |
clark kent in a phone box |
07:58 |
snarkyboojum |
:) |
07:58 |
mathw |
which you couldn't do nowadays |
07:58 |
mathw |
not in the UK anyay |
07:58 |
mathw |
might get seen on CCTV |
07:59 |
Su-Shee |
there was an incident of a german in australia who was to be mugged and suddenly 6 ninjas (literally) from the near-by martial arts school saved him :) |
08:00 |
|
ruoso joined #perl6 |
08:01 |
mathw |
yes I read about that |
08:01 |
mathw |
It reminded me of one day at aikido when the panic alarm for reception went off |
08:01 |
mathw |
three instructors sprinted out of the room |
08:01 |
mathw |
it was just the receptionist testing it |
08:02 |
mathw |
but I'd pity anybody who did think to make trouble there |
08:02 |
mathw |
although not for very long |
08:03 |
Su-Shee |
they just had to run at the mugger. must have been an impressive sight :) |
08:05 |
mathw |
yeah |
08:05 |
szbalint |
ever had a fire alarm in a data center? Everybody dashes out damn fast when that happens, because they use gas for putting out fires. |
08:05 |
mathw |
no but I've seen the signs which tell you to get out |
08:05 |
|
masak joined #perl6 |
08:05 |
masak |
lolvenue! |
08:06 |
mathw |
yay |
08:06 |
mathw |
hi masak |
08:06 |
masak |
hi mathw |
08:06 |
szbalint |
ohai, a wild masak appears! |
08:06 |
mathw |
YAPC::EU all ready to go? |
08:07 |
mathw |
shame I couldn't go, but it wouldn't have been wise as it turns out |
08:07 |
mathw |
I hate to think what I'd feel like if I'd been on a plane today |
08:08 |
mathw |
they're uncomfortable enough when I don't have pre-existing aches |
08:08 |
|
mberends joined #perl6 |
08:09 |
masak |
mberends! \o/ |
08:09 |
mberends |
o/ masak, where are U? |
08:09 |
phenny |
mberends: 28 Jul 01:49Z <sorear> ask mberends What do you think would be a good candidate for the first niecza hosted app? It can't use eval, and it ought to benefit from our one major advantage (<0.3s startup time of precompiled programs) |
08:09 |
phenny |
mberends: 30 Jul 13:05Z <moritz_> tell mberends you'll like http://www.reddit.com/r/perl/comments/cv1qn/announce_rakudo_star_a_useful_usable_early/c0vicuc :-) |
08:09 |
masak |
mberends: venue! \o/ |
08:09 |
* mberends |
too |
08:09 |
sorear |
hello masak! |
08:09 |
masak |
mberends: I'm sitting on the first floor with moritz_ and szabgab. |
08:10 |
szbalint |
hey, I can HEAR you |
08:10 |
szbalint |
keep it down :) |
08:10 |
sorear |
masak: How does one find out the average tweet? I can't seem to work the site beyond viewing single tweets |
08:10 |
masak |
szbalint: I realize I don't know how you look. where are you? |
08:10 |
sorear |
re. 01:46 < masak> Twitter is now some odd mixture of reporting the release from last week, and going back to its old "when Perl 6 is eventually released" bashing. |
08:10 |
szbalint |
masak: inside mst's class |
08:10 |
mberends |
masak: and I'm just down the hall, beyond the registration desk |
08:11 |
masak |
sorear: I have live filters for "Perl 6" 'perl6' and "Rakudo" |
08:11 |
* masak |
runs to mberends |
08:11 |
sorear |
masak: how do live filters work? |
08:11 |
szbalint |
masak: but I know how you look, so I'll poke you later :) |
08:12 |
|
jferrero joined #perl6 |
08:13 |
|
[Coke] joined #perl6 |
08:14 |
* masak |
meets mberends + family, jnthn and pmichaud in quick succession |
08:15 |
Su-Shee |
masak: I think that called "holding court" ;) |
08:15 |
cognominal |
I wish I could be with you |
08:16 |
masak |
the weather is beautiful, wish you were here. ;) |
08:18 |
cognominal |
Pisa is a nice town |
08:18 |
|
stepnem joined #perl6 |
08:22 |
mathw |
masak: say hi to everyone for me! And have fun! |
08:26 |
|
ruoso joined #perl6 |
08:29 |
masak |
everyone: hi |
08:29 |
* masak |
has some fun |
08:31 |
cognominal |
are you doing a hackathon? |
08:32 |
moritz_ |
yes |
08:32 |
masak |
\o/ |
08:32 |
moritz_ |
http://nopaste.snit.ch/22523 <-- initial hague grant proposal - comments welcome |
08:32 |
masak |
moritz_++! |
08:40 |
jnthn |
oh lol I has internets |
08:41 |
masak |
jnthn: have a look at moritz_'s http://nopaste.snit.ch/22523 if you haven't seen it yet |
08:41 |
pmichaud |
I has internets |
08:41 |
masak |
\o/ |
08:41 |
|
smash joined #perl6 |
08:42 |
masak |
"internets" is actually the correct technical term in Latvia. |
08:45 |
|
ruoso joined #perl6 |
08:46 |
rcfox |
moritz_: Had to put in some effort to get the definition of "imprescriptible". Nice job. (Also, you wrote it as -able) |
08:47 |
moritz_ |
rcfox: will fix that in the next version, thanks |
08:47 |
moritz_ |
rcfox: it's not my invention - German law is weird |
08:48 |
rcfox |
Well, Google didn't know what it meant, so I had to go to a real dictionary website. |
08:49 |
rcfox |
Heh, it's kind of funny that your last name is Lenz and you're a scientist. |
08:49 |
moritz_ |
http://wiki.github.com/rakudo/rakudo/yapceu-2010-workshop-notes |
08:49 |
rcfox |
http://en.wikipedia.org/wiki/Lenz's_law |
08:50 |
LaVolta |
rcfox: why it's funny? |
08:50 |
|
envi^home joined #perl6 |
08:50 |
LaVolta |
i guess it's ought-to-be... |
08:52 |
rcfox |
LaVolta: Well, if you had the same name as some difficult concept, your classmates might blame you, or something. |
08:52 |
rcfox |
I don't know. Not funny in the "ha ha" sense... |
08:53 |
LaVolta |
rcfox: blame me for "funny" then, i did misunderstand that :) |
08:53 |
rcfox |
All I share a name with is a media corporation that likes to cancel TV shows. :P |
08:54 |
LaVolta |
FOX? is that your true lastname? |
08:54 |
rcfox |
Yep. |
08:54 |
LaVolta |
btw, I am waiting for House M.D. Season 7 |
08:54 |
rcfox |
;) |
08:54 |
rcfox |
Is your last name Volta? |
08:55 |
snarkyboojum |
my last name isn't boojum |
08:55 |
snarkyboojum |
ho ho |
08:55 |
rcfox |
snarkyboojum: But you are snarky. |
08:55 |
LaVolta |
no :) and I did not even know what lavolta means... |
08:55 |
snarkyboojum |
rcfox: touche! :P |
08:55 |
snarkyboojum |
hang on .. no I'm not! |
08:56 |
rcfox |
LaVolta: Alessandro Volta made the first battery. |
08:57 |
rcfox |
"La" just means "the" |
08:57 |
LaVolta |
ah, Volta... :) wait...http://en.wikipedia.org/wiki/Lavolta |
08:57 |
LaVolta |
these's an entry in wikipedia |
08:57 |
LaVolta |
...dance? |
08:58 |
rcfox |
Heh, that's a strange choice for a name. |
08:58 |
LaVolta |
I came up with that name, while i was listening to some latin funk... |
08:59 |
|
azert0x joined #perl6 |
08:59 |
|
azert0x joined #perl6 |
09:02 |
sorear |
Anyone who blames you for that clearly doesn't understand the six degree rule |
09:03 |
sorear |
although imo it's more like 4 |
09:04 |
|
briang joined #perl6 |
09:04 |
|
flw joined #perl6 |
09:05 |
sorear |
even 2 degrees casts a shockingly wide net |
09:07 |
masak |
LaVolta: "Latin funk"? do you have any rap by Cicero? I hear he's good with words. |
09:07 |
* sorear |
is, apparently, 2 degrees from Ed Witten and the CEO of Qualcomm. Probably hundreds of other famous people he knows nothing about. |
09:08 |
LaVolta |
masak: sorry I don't know him, I was trying to do some diggin' (you can call me a "beat-digger wanna-be") |
09:10 |
LaVolta |
and I guess you can read chinese (?) I saw 哈哈 at the end of one of your blog post |
09:10 |
masak |
LaVolta: sorry, I'm just being silly. :) http://en.wikipedia.org/wiki/Cicero |
09:10 |
masak |
LaVolta: I try to retain what little Chinese I learned a few years ago. |
09:11 |
|
kirillm joined #perl6 |
09:11 |
LaVolta |
"culture gap/shock" applies here... |
09:12 |
LaVolta |
sorry...I didn't understand that :) I am the one who's being silly |
09:12 |
masak |
we're all being silly in here. :) |
09:13 |
LaVolta |
您一点儿不silly (can you read that?) |
09:13 |
masak |
sure. |
09:13 |
sorear |
ain't no such thing as seriousness in #perl6-land |
09:13 |
sorear |
I can read the 1th character :p |
09:13 |
masak |
LaVolta: nice context switching :) |
09:13 |
masak |
sorear: says 'nin yi dianr bu silly'. |
09:14 |
masak |
LaVolta: "you're a bit not silly"? |
09:14 |
rcfox |
Hum. I should study. Or sleep. Neither is very appealing. |
09:14 |
sorear |
masak: unfortunately I'm still at the "ichi" stage of understanding it |
09:14 |
masak |
rcfox: if sleep isn't appealing, you're not sleepy enough :) |
09:14 |
* sorear |
wants to fix this someday |
09:14 |
LaVolta |
masak: not exactly, means "you're not silly at all" |
09:14 |
masak |
sorear: wrong language, but yes :) |
09:15 |
x3nU |
srsly, how often are modules.perl6.org updated? i've modified projects.list 11 hours ago and still no update on site :( |
09:15 |
rcfox |
masak: Exactly. But I'm not doing anything else either... |
09:15 |
x3nU |
yes, i'm impatient ;d |
09:15 |
masak |
LaVolta: interesting. 一点儿不 means "not at all"? |
09:15 |
LaVolta |
masak: yes...correct :D |
09:15 |
masak |
x3nU: moritz_++ would know. |
09:16 |
masak |
LaVolta: that's unusually illogical for Chinese. |
09:16 |
masak |
LaVolta: I'd have understood it if't were 不一点儿 |
09:17 |
|
ambs joined #perl6 |
09:17 |
LaVolta |
masak: yes, that's better for non-chinese speakers, I guess, but weird for native speakers :D |
09:17 |
sorear |
Is LaVolta from China? |
09:18 |
snarkyboojum |
x3nU: afaik, you need to update the poc-project.list in the pls branch in the proto repo |
09:18 |
LaVolta |
sorear: yes |
09:18 |
moritz_ |
I'm lookiing into the logs now, if something has felt |
09:18 |
snarkyboojum |
x3nU: looks like you've just updated the old proto list |
09:18 |
LaVolta |
born and raised in C. |
09:18 |
masak |
snarkyboojum: oh! I missed that possibility. |
09:18 |
daxim |
C |
09:18 |
x3nU |
snarkyboojum: heh |
09:19 |
flw |
一点儿不 means "very not" |
09:19 |
snarkyboojum |
x3nU: confusing - and the two are divergent now I think ;) but see how you go with updating the json project list on the pls branch :) |
09:19 |
LaVolta |
it's dinner time...later, you guys :) |
09:21 |
|
amkrankruleuen joined #perl6 |
09:29 |
|
Axius joined #perl6 |
09:30 |
|
plol joined #perl6 |
09:34 |
|
Trashlord joined #perl6 |
09:37 |
moritz_ |
what does $*VM<config><osname> report on windows? |
09:37 |
tadzik |
x3nU: you pushed to the wrong branch |
09:37 |
tadzik |
proto.perl6.org data is taken from pls branch |
09:38 |
szabgab |
MSWin32 |
09:38 |
snarkyboojum |
tadzik: ^^ |
09:38 |
moritz_ |
tadzik: we've figured that out |
09:38 |
snarkyboojum |
except I made a typo.. the file in question is poc-projects.list not poc-project.list (but that should be obvious :)) |
09:42 |
|
timbunce joined #perl6 |
09:42 |
x3nU |
tadzik: yes, i know |
09:42 |
x3nU |
i'm to busy to fix it at this moment |
09:42 |
x3nU |
too* |
09:49 |
dalek |
rakudo: 0a8ef0f | moritz++ | src/Perl6/Compiler.pir: |
09:49 |
dalek |
rakudo: split PERL6LIB on ; on MSWin32 platform - szabgab++ for telling us |
09:49 |
dalek |
rakudo: review: http://github.com/rakudo/rakudo/commit/0a8ef0fa793f5319ea8f7436f1ff0c18aa345b7e |
09:50 |
|
Ross joined #perl6 |
09:51 |
x3nU |
ok, added to pls branch ;f |
09:52 |
moritz_ |
x3nU++ |
09:56 |
ingy |
Gloom! |
09:56 |
masak |
Doom! |
09:56 |
ingy |
Gloom.pm! |
09:56 |
ingy |
on CPAN now! |
09:57 |
moritz_ |
sucks as a top-level namespace *SCNR* |
09:57 |
ingy |
Gloom is my Moose |
09:58 |
ingy |
Gloom == Great Little OO Module |
09:58 |
masak |
ingy: URL? |
09:58 |
ingy |
masak: http://github.com/ingydotnet/ |
09:59 |
ingy |
I also released Parse::Pegex which uses Gloom (but doesn't prereq on it!!!) |
10:00 |
ingy |
and then I released TestML, which does prereq on Parse::Pegex |
10:00 |
ingy |
masak: btw, we are going to write our p6 YAML parser in Pegex |
10:01 |
ingy |
and see if Pegex can compile to p6rules |
10:01 |
ingy |
that's my plan anyway |
10:01 |
ingy |
well... one of my planz |
10:01 |
ingy |
muhahaha |
10:02 |
* ingy |
is overdue for zzzzzzzzzzzzz |
10:02 |
ingy |
nite all o/ |
10:03 |
daxim |
smells Spiffy, indeed |
10:05 |
masak |
ingy: night! |
10:06 |
x3nU |
liar! it's morning! ;f |
10:07 |
|
Ross joined #perl6 |
10:19 |
moritz_ |
hugme: tweet rakudoperl #rakudo and #perl6 brainstorming and hacking NOW at #yapc, #yapceu2010 on the 1st floor |
10:19 |
* hugme |
hugs moritz_; tweet delivered |
10:25 |
masak |
ingy: I've now looked at Gloom. looks nice, though it doesn't look like it's a MOP like Moose. |
10:27 |
|
Axius joined #perl6 |
10:28 |
bbkr |
star: rakudo: my $x = :a<5>; say $x.map({.key => .value + 1}).perl |
10:28 |
p6eval |
star 2010.07: OUTPUT«===SORRY!===Confused at line 22, near "rakudo: my"» |
10:28 |
bbkr |
star: my $x = :a<5>; say $x.map({.key => .value + 1}).perl |
10:28 |
masak |
bbkr: rakudo doesn't do labels yet. |
10:28 |
p6eval |
star 2010.07: OUTPUT«Method 'key' not found for invocant of class '' in main program body at line 22:/tmp/_GZCINSyyx» |
10:28 |
bbkr |
masak: thanks |
10:29 |
masak |
star: my $x = :a<5>; say $x.WHAT |
10:29 |
p6eval |
star 2010.07: OUTPUT«Pair()» |
10:30 |
masak |
star: my $x = :a<5>; $x.map( { say .perl } ) |
10:30 |
p6eval |
star 2010.07: ( no output ) |
10:30 |
masak |
star: my $x = :a<5>; say $x.map( { say .perl } ).elems |
10:31 |
p6eval |
star 2010.07: OUTPUT«"a" => "5"1» |
10:31 |
masak |
huh -- we have sink context now? :) |
10:31 |
masak |
star: my $x = :a<5>; say $x.map( { say .key } ).elems |
10:31 |
p6eval |
star 2010.07: OUTPUT«a1» |
10:31 |
masak |
star: my $x = :a<5>; say $x.map({; .key => .value + 1}).perl |
10:31 |
p6eval |
star 2010.07: OUTPUT«("a" => 6)» |
10:31 |
|
wamba joined #perl6 |
10:32 |
masak |
bbkr: there you go. needs the ; |
10:32 |
* masak |
thinks we should have an Awesome error message inside a .map multi variant that accepts a Hash |
10:33 |
bbkr |
masak: awesome :) that was in ticket http://rt.perl.org/rt3/Ticket/Display.html?id=62332 |
10:33 |
masak |
bbkr: moritz_++ informs me in meatspace that he coded up such an error message :) |
10:34 |
masak |
rakudo: my $x = :a<5>; say $x.map({ .key => .value + 1}).perl |
10:34 |
p6eval |
rakudo 966797: OUTPUT«Method 'key' not found for invocant of class '' in main program body at line 22:/tmp/OGubzkL0kd» |
10:34 |
moritz_ |
65eb876cb4284a3d96c5910e21a2153ce55c5535 |
10:34 |
masak |
ah. that explains this error message :) |
10:34 |
masak |
still, moritz_++ |
10:34 |
masak |
it's trying to do .key on $_ with an Any() in it. |
10:34 |
moritz_ |
right |
10:34 |
moritz_ |
I can't fix that by another multi :-) |
10:35 |
bbkr |
I posted this info and left ticket unchanged |
10:38 |
masak |
moritz_: and warning at parse-time might backfire... |
10:40 |
bbkr |
http://rt.perl.org/rt3/Ticket/Display.html?id=73236 - where should I put tests for this one? |
10:42 |
moritz_ |
bbkr: S02-literals/num*.t or so |
10:42 |
bbkr |
moritz_: thanks |
10:42 |
moritz_ |
numeric.t akshually |
10:43 |
bbkr |
star: use Test; my $e = ""; for 1..128 { $e ~= "0." ~ "0" x $_ ~ ";"; }; eval_lives_ok $e; |
10:43 |
masak |
bbkr++ # adding tests |
10:43 |
p6eval |
star 2010.07: OUTPUT«ok 1 - » |
10:44 |
moritz_ |
bbkr: fwiw I have a test for RT #75900, just not committed it yet (having trouble with pugs svn) |
10:45 |
moritz_ |
so don't bother working on that one |
10:45 |
moritz_ |
(only sub vs. multi sub signature unpacking) |
10:45 |
masak |
bbkr: I think 128 iterations would be a bit of a waste of time for that one. |
10:46 |
bbkr |
masak: i know. I'll include cases that failed. 128 iterations was only for me to be sure every case passes. |
10:47 |
masak |
bbkr: oki good |
10:53 |
|
shrm joined #perl6 |
10:55 |
|
avuserow joined #perl6 |
10:57 |
|
ctang joined #perl6 |
11:02 |
|
shrm left #perl6 |
11:03 |
|
shrm joined #perl6 |
11:03 |
|
shrm left #perl6 |
11:05 |
cono |
rakudo: my @a = <1 2>; my %h = a => "b"; my $h1 = %( @a, %h ); $h1.WHAT.say |
11:05 |
p6eval |
rakudo 0a8ef0: ( no output ) |
11:06 |
masak |
cono: segfaults locally. |
11:06 |
cono |
yup |
11:07 |
|
whiteknight joined #perl6 |
11:07 |
cono |
masak: Embassy of Italy reject my visa request :( |
11:09 |
TiMBuS |
> my $h1 = %(<1 2 3 4>) |
11:09 |
TiMBuS |
Segmentation fault |
11:10 |
TiMBuS |
oh.. |
11:10 |
TiMBuS |
> %() |
11:10 |
TiMBuS |
Segmentation fault |
11:10 |
m6locks |
raduko: my $h1 = %(<1 2 3 4>); say $h1 |
11:11 |
cono |
std: %() |
11:11 |
p6eval |
std 31891: OUTPUT«ok 00:01 114m» |
11:11 |
m6locks |
it's... like... not working |
11:11 |
TiMBuS |
spelling |
11:12 |
TiMBuS |
rakudo: my $h1 = %(<1 2 3 4>); say $h1 |
11:12 |
p6eval |
rakudo 0a8ef0: ( no output ) |
11:12 |
pmichaud |
I think %() (and .hash) are known to have issues. |
11:12 |
frettled |
rakudo: my $h1 = %(<1 2 3 4>); say $h1.perl |
11:12 |
pmichaud |
rakudo: my $h1 = <1 2 3 4>.hash; say $h1.perl; |
11:12 |
p6eval |
rakudo 0a8ef0: ( no output ) |
11:12 |
p6eval |
rakudo 0a8ef0: ( no output ) |
11:12 |
m6locks |
lol typo'd |
11:12 |
pmichaud |
rakudo: my $h1 = hash 1,2,3,4; say $h1.perl; |
11:12 |
p6eval |
rakudo 0a8ef0: OUTPUT«{"3" => 4, "1" => 2}» |
11:13 |
pmichaud |
yeah, looks like .hash has issues. I think a bug report was recently filed for it; should be fixable soon. |
11:13 |
pmichaud |
afk, food |
11:15 |
|
Axius_ joined #perl6 |
11:16 |
rcfox |
Hrm, blog.perl.org is weird. |
11:16 |
rcfox |
Er, blogs. |
11:17 |
rcfox |
It doesn't convert everything to one timezone, or something. |
11:17 |
rcfox |
So Ovid's latest post is 4 hours in the future, and my post, which I posted well after Ovid's gets pushed down. |
11:18 |
rcfox |
Also, it somehow mangled one of my links on the front page. |
11:28 |
|
aCiD2 joined #perl6 |
11:28 |
aCiD2 |
'noo |
11:28 |
aCiD2 |
erm |
11:28 |
aCiD2 |
'noon |
11:28 |
masak |
☀ |
11:34 |
masak |
rakudo: say "star".flip.ucfirst |
11:34 |
p6eval |
rakudo 0a8ef0: OUTPUT«Rats» |
11:34 |
masak |
coincidence? I think not! |
11:36 |
masak |
rakudo: my $plustwo = method { self + 2 }; my $a = 40; $a.=$plustwo; say $a |
11:36 |
p6eval |
rakudo 0a8ef0: OUTPUT«===SORRY!===Can not use .= on a non-identifier method call at line 22, near "; say $a"» |
11:36 |
masak |
std: my $plustwo = method { self + 2 }; my $a = 40; $a.=$plustwo; say $a |
11:36 |
p6eval |
std 31891: OUTPUT«ok 00:01 118m» |
11:37 |
* masak |
submits rakudobug |
11:37 |
cognominal |
Timbus, #75584 is the/one bug entry for %() crashing rakudo |
11:40 |
|
ambs joined #perl6 |
11:40 |
|
wittro joined #perl6 |
11:42 |
|
timbunce joined #perl6 |
11:46 |
masak |
rakudo: $_ .= () |
11:46 |
p6eval |
rakudo 0a8ef0: OUTPUT«./src/pmc/object.pmc:185: failed assertion 'name'Backtrace - Obtained 16 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.6.0 [0x2ba94003a203]/home/p6eval//p1/lib/libparrot.so.2.6.0(Parrot_confess+0x87) |
11:46 |
p6eval |
..[0x2ba94003a337]/home/p6eval//p1/lib/libparrot.so.2… |
11:46 |
masak |
rakudo: .= () |
11:46 |
|
Yamotsu_x11 joined #perl6 |
11:46 |
p6eval |
rakudo 0a8ef0: OUTPUT«===SORRY!===Confused at line 22, near ".= ()"» |
11:46 |
masak |
rakudo: .=() |
11:46 |
p6eval |
rakudo 0a8ef0: OUTPUT«===SORRY!===Can not use .= on a non-identifier method call at line 22, near ""» |
11:46 |
masak |
rakudo: $_.=() |
11:46 |
p6eval |
rakudo 0a8ef0: OUTPUT«===SORRY!===Can not use .= on a non-identifier method call at line 22, near ""» |
11:46 |
|
Casan joined #perl6 |
11:46 |
* masak |
submits rakudobug for '$_ .= ()' |
11:51 |
masak |
rakudo: my $a; $a .= () |
11:51 |
p6eval |
rakudo 0a8ef0: OUTPUT«./src/pmc/object.pmc:185: failed assertion 'name'Backtrace - Obtained 15 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.6.0 [0x2b574b1ea203]/home/p6eval//p1/lib/libparrot.so.2.6.0(Parrot_confess+0x87) |
11:51 |
p6eval |
..[0x2b574b1ea337]/home/p6eval//p1/lib/libparrot.so.2… |
11:51 |
masak |
rakudo: Any .= () |
11:51 |
p6eval |
rakudo 0a8ef0: OUTPUT«./src/pmc/object.pmc:185: failed assertion 'name'Backtrace - Obtained 14 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.6.0 [0x2b8e21cfa203]/home/p6eval//p1/lib/libparrot.so.2.6.0(Parrot_confess+0x87) |
11:51 |
p6eval |
..[0x2b8e21cfa337]/home/p6eval//p1/lib/libparrot.so.2… |
11:52 |
mulander |
can someone explain this to me: http://pastebin.com/d6eyqg2v |
11:52 |
mulander |
why did it work on line 8 and crashed later on? |
11:52 |
masak |
rakudo: say "alive"; Any .= () |
11:52 |
p6eval |
rakudo 0a8ef0: OUTPUT«alive./src/pmc/object.pmc:185: failed assertion 'name'Backtrace - Obtained 14 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.6.0 [0x2aad17540203]/home/p6eval//p1/lib/libparrot.so.2.6.0(Parrot_confess+0x87) |
11:52 |
p6eval |
..[0x2aad17540337]/home/p6eval//p1/lib/libparro… |
11:53 |
moritz_ |
mulander: it seems that loading the same module multiple times is broken |
11:53 |
moritz_ |
mulander: please send a bug report to rakudobug perl.org |
11:53 |
mulander |
moritz_: ok I'm on it - just a regular email with data I assume? |
11:54 |
moritz_ |
mulander: yes |
11:55 |
|
takadonet joined #perl6 |
11:55 |
takadonet |
morning all |
11:56 |
masak |
http://twitter.com/pi8027/status/20215375063 -- what's "lepidum"? |
11:56 |
|
cjk101010 joined #perl6 |
11:58 |
|
meppl joined #perl6 |
11:59 |
pugssvn |
r31892 | bbkr++ | [t/spec] tests for RT #73236 LTA error messages on literals with too many decimals |
11:59 |
|
darkop joined #perl6 |
12:00 |
|
masonkramer joined #perl6 |
12:02 |
timbunce |
return fail() if not $url ~~ s/^dbdi\:postgres\://; # doesn't do what I'd like - I'm probably thinking in perl5. Gimme a clue please |
12:02 |
* mulander |
reported the bug to rakudobugs perl.org |
12:02 |
mulander |
perl #76948 |
12:02 |
timbunce |
I'd expect it to return if the subst fails |
12:03 |
moritz_ |
timbunce: s/// returns the substituted string currently |
12:04 |
timbunce |
moritz_: so how should I write that? and/or how can I detect that a subst didn't happen? |
12:05 |
moritz_ |
timbunce: if $url ~~ /^'dbi:postgres:/ { $url.=substr($/.to) } else { fail() } |
12:05 |
* timbunce |
ug. thanks |
12:06 |
ambs |
/* #rakudo hackathon during #yapceu2010 - http://twitpic.com/2b87yj */ |
12:06 |
pmichaud |
timbunce: note that fail() implies 'return' already |
12:07 |
timbunce |
pmichaud: great, thanks |
12:07 |
pmichaud |
but that's probably not the issue you're seeing |
12:07 |
moritz_ |
it's s/// not returning the right stuff |
12:07 |
moritz_ |
though I'm not sure what the right stuff is |
12:07 |
moritz_ |
the match object? |
12:08 |
pmichaud |
object(s), actually. |
12:08 |
masak |
that's us! http://twitpic.com/2b87yj |
12:09 |
ambs |
masak: indeed. |
12:10 |
|
Mowah joined #perl6 |
12:13 |
bbkr |
I have question regarding http://rt.perl.org/rt3/Ticket/Display.html?id=74448 - eval of empty string returns nor Parcel (task says it should return Nil). but Parcel ~~ Nil so it will pass testcase proposed in ticket. does that meas that test can be unfudged and ticket marked as resolved? |
12:14 |
bbkr |
s/nor/now/ |
12:15 |
masak |
lol! http://twitter.com/maddingue/status/20161383662 |
12:15 |
moritz_ |
szabgab: http://perlcabal.org/syn/S04.html#When_is_a_closure_not_a_closure |
12:15 |
moritz_ |
rakudo: say eval('').perl |
12:15 |
p6eval |
rakudo 0a8ef0: OUTPUT«()» |
12:15 |
moritz_ |
rakudo: say eval('').WHAT |
12:15 |
p6eval |
rakudo 0a8ef0: OUTPUT«Parcel()» |
12:16 |
moritz_ |
bbkr: can be closed |
12:16 |
bbkr |
moritz_: thanks :) |
12:16 |
|
yuetiantian joined #perl6 |
12:17 |
moritz_ |
rakudo: say Nil.WHAT |
12:17 |
p6eval |
rakudo 0a8ef0: OUTPUT«Parcel()» |
12:17 |
moritz_ |
Nil *is* the/an empty parcel |
12:19 |
x3nU |
can i create unsigned integer in perl? |
12:19 |
moritz_ |
uint - but NYI in rakudo |
12:19 |
x3nU |
crap, it's serious problem |
12:20 |
moritz_ |
why? |
12:20 |
x3nU |
i need unsigned int for my module which creates hash |
12:21 |
moritz_ |
why? |
12:21 |
x3nU |
because of the way how works algorithm |
12:21 |
x3nU |
it need unsigned int for overflows |
12:21 |
x3nU |
well, maybe buf will do the work |
12:21 |
moritz_ |
you can simulate overflows by clipping to 0xFFFF...FF |
12:21 |
x3nU |
how? |
12:22 |
moritz_ |
binary AND |
12:24 |
x3nU |
can you show me example? ;f i don't understand ;p |
12:24 |
x3nU |
win 8 |
12:24 |
x3nU |
oops |
12:27 |
bbkr |
star: -> *@a { say @a[+0] }.([5]) # checking http://rt.perl.org/rt3/Ticket/Display.html?id=74410 |
12:27 |
p6eval |
star 2010.07: OUTPUT«5» |
12:28 |
moritz_ |
rakudo: printf '%x', (0xAB + 0xFE) +& xFF |
12:28 |
p6eval |
rakudo 0a8ef0: OUTPUT«Could not find sub &xFF in main program body at line 22:/tmp/w78hHArM7C» |
12:28 |
moritz_ |
rakudo: printf '%x', (0xAB + 0xFE) +& 0xFF |
12:28 |
p6eval |
rakudo 0a8ef0: OUTPUT«a9» |
12:28 |
masak |
x3nU: |
12:28 |
masak |
rakudo: say sprintf "0x%x", 0x123F +& 0x00FF |
12:28 |
moritz_ |
x3nU: works? |
12:28 |
p6eval |
rakudo 0a8ef0: OUTPUT«0x3f» |
12:28 |
masak |
moritz_: heh. :) |
12:28 |
timbunce |
how do I choose between using die or using fail? I've not found an explanation in the docs. Is there one? |
12:29 |
masak |
timbunce: die dies. fail represents an "unthrown warning". |
12:29 |
masak |
timbunce: that is, it warns when you use the value in some way. |
12:29 |
moritz_ |
s/warns/dies/ |
12:29 |
moritz_ |
hopefully |
12:29 |
masak |
oh, ok. |
12:30 |
masak |
it actually sounds kinda bad when one describes it, doesn't it? :) |
12:30 |
moritz_ |
why? |
12:30 |
x3nU |
yeah but i dont know how to eee |
12:30 |
timbunce |
ok, but any guidance on how to choose between them in a API design? |
12:30 |
x3nU |
detect overflow |
12:30 |
masak |
moritz_: it's action at a distance; very similar to Null PMC accesses one can get in Java when a method returns null and it's used somewhere completeyl different. |
12:30 |
bbkr |
where tests for http://rt.perl.org/rt3/Ticket/Display.html?id=74410 should go? |
12:30 |
|
ruoso joined #perl6 |
12:31 |
masak |
timbunce: die if there's no way to go on; fail if you can get away with it? |
12:31 |
masak |
something like that. |
12:31 |
masak |
ss/no way/no way for the caller/ |
12:31 |
moritz_ |
bbkr: jsut a sec... |
12:31 |
masak |
http://twitter.com/legaldisclaimer/status/20217558502 -- whoooa! |
12:32 |
moritz_ |
bbkr: S06-signature/slurpy-params.t probably |
12:32 |
bbkr |
moritz_: sure, no rush. I know you're busy. |
12:32 |
bbkr |
thanks |
12:38 |
|
bluescreen joined #perl6 |
12:41 |
pugssvn |
r31893 | bbkr++ | [t/spec] tests for RT #74410 The combination of prefix:<+> and slurpy arrays doesnt work |
12:44 |
bbkr |
star: class A { }; multi sub infix:<+>(A $, A $) { -1 }; say 3+3 # http://rt.perl.org/rt3/Ticket/Display.html?id=74104 |
12:44 |
masak |
std: sub foo(*%_) {}; foo(:a :b :c) |
12:44 |
p6eval |
star 2010.07: OUTPUT«6» |
12:44 |
p6eval |
std 31892: OUTPUT«ok 00:01 117m» |
12:44 |
masak |
rakudo: sub foo(*%_) {}; foo(:a :b :c) |
12:44 |
p6eval |
rakudo 0a8ef0: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» |
12:46 |
masak |
ah; we alrady have http://rt.perl.org/rt3/Ticket/Display.html?id=74492 for that :) |
12:46 |
masak |
and that ticket says that jnthn doesn't like that part of the spec :) |
12:47 |
masak |
rakudo: my @a = 1, 2, 3, 4, 5; for 1 ..^ +@a { .say } |
12:47 |
p6eval |
rakudo 0a8ef0: OUTPUT«1234» |
12:47 |
masak |
rakudo: my @a = 1, 2, 3, 4, 5; for 1 ..^ @a { .say } |
12:47 |
p6eval |
rakudo 0a8ef0: OUTPUT«1» |
12:47 |
* masak |
submits rakudobug |
12:48 |
jnthn |
masak: It looks horrible. :P |
12:49 |
masak |
jnthn: it makes more sense in the adverb-on-op case, I think. |
12:49 |
mulander |
http://pastebin.com/J9MsGGy9 <- what am I doing wrong? Shouldn't the */ be matched correctly in that string? |
12:49 |
masak |
and the fact that it can be used everywhere else is just consistency. |
12:49 |
masak |
mulander: looking. |
12:49 |
jnthn |
masak: Hmm...still looks like two terms in a row to me. :P |
12:49 |
mulander |
ignore the shebang for it, I run it directly from rakudo star. |
12:50 |
moritz_ |
mulander: s/token/regex/ |
12:50 |
masak |
mulander: what moritz_ said, for 'token content'. |
12:50 |
moritz_ |
mulander: token doesn't backtrack, so .*? matches zeor chars |
12:50 |
|
LaVolta joined #perl6 |
12:50 |
moritz_ |
*zero |
12:50 |
masak |
jnthn: that's because it *is*... oh, you know that. :P |
12:51 |
mulander |
tried changing both token occurances to regex and it didn't help |
12:51 |
masak |
jnthn: 'if $bool { ... }' looks like two terms in a row too. |
12:52 |
jnthn |
masak: Oh no...let's mail p6l and suggest we kill it! |
12:52 |
masak |
jnthn: yeah, very underused feature. no-one'll miss it. |
12:52 |
moritz_ |
mulander: it could be that ~ doesn't backtrack right now either... there's an old ticket about that too :( |
12:52 |
moritz_ |
why ask p6l? kill it straight away :-) |
12:52 |
masak |
jnthn: you can use 'unless' for everything anyway... |
12:52 |
moritz_ |
much more efficient |
12:52 |
moritz_ |
less bikeshedding |
12:52 |
moritz_ |
more laughing |
12:53 |
mulander |
moritz_: so I shouldn't report this? |
12:53 |
masak |
moritz_: actually making such a commit would mark the first case of vandalism on the spec. |
12:53 |
moritz_ |
mulander: I'm pretty sure we have a ticket, no need to report it again |
12:53 |
pugssvn |
r31894 | bbkr++ | [t/spec] tests for RT #74104 overloading an operator hides other candidates |
12:54 |
moritz_ |
masak: vandalism? we change things all the time without asking p6l first |
12:54 |
masak |
mulander: pmichaud says that by spec, your example can never work. the tilde doesn't work with non-tokens, and as a token, your 'content' rule won't match what you want. |
12:54 |
|
Axius joined #perl6 |
12:55 |
masak |
moritz_: yes. I was referring to this specific case (removing 'if') |
12:55 |
moritz_ |
which is kind of a pity |
12:55 |
masak |
moritz_: why is it a pity? |
12:55 |
masak |
moritz_: the reasons you give above are very legit. |
12:55 |
moritz_ |
masak: thas was re ~ not doing backtracking |
12:55 |
masak |
oh oki |
12:56 |
mulander |
masak: changing it to regex also doesn't match - does the spec also negate such use case? |
12:56 |
mulander |
*such a |
12:56 |
moritz_ |
mulander: the current spec does, and we don't know how to fix it properly |
12:57 |
|
Trashlord joined #perl6 |
12:57 |
mulander |
wierd I see the exact same example here |
12:58 |
mulander |
http://github.com/krunen/xml/blob/master/lib/XML/Grammar/Document.pm |
12:58 |
mulander |
line 11 and line 13 |
12:58 |
mulander |
define a similar structure |
12:58 |
masak |
that code might be pre-ng, for one thing. |
12:59 |
mulander |
understood |
12:59 |
* mulander |
was just being curious :) |
13:02 |
|
Guest23195 joined #perl6 |
13:04 |
LaVolta |
masak: sorry for disturbing, i guess the code here http://github.com/masak/web/blob/master/bin/basic-demo.pl needs updating |
13:04 |
masak |
without looking at it; yes, probably. |
13:04 |
masak |
the whole of Web.pm needs updating. |
13:04 |
masak |
(patches welcome) |
13:05 |
LaVolta |
i was looking for a working example of HTTP::Daemon when R* just released |
13:05 |
LaVolta |
then I found that script |
13:05 |
masak |
seems that due to so many of us being here in meatspace, there'll be no #phasers meeting tonight. |
13:06 |
bbkr |
star: class A { has ($!a, $!b); sub foo {$!b = 4; $!b}; }; A.new.foo.say # checking #73808 |
13:06 |
frettled |
masak: meatspace meetings can get you spaced quicker, though ;) — are you getting lots of stuff done? |
13:06 |
p6eval |
star 2010.07: OUTPUT«Method 'foo' not found for invocant of class 'A' in main program body at line 22:/tmp/vvvA94AyUN» |
13:06 |
LaVolta |
err, if I managed to make it work, how do I send the patch to you? by forking the project? |
13:07 |
|
ruoso joined #perl6 |
13:07 |
bbkr |
star: class A { has ($!a, $!b); method foo {$!b = 4; $!b}; }; A.new.foo.say # checking #73808 |
13:07 |
p6eval |
star 2010.07: OUTPUT«4» |
13:07 |
bbkr |
yay |
13:07 |
mulander |
LaVolta: generally on github you fork the project, make changes and issue a pull request to the original source |
13:07 |
masak |
frettled: I'm still mostly in panic mode, so I'm sitting here hacking on my slides. |
13:07 |
mulander |
LaVolta: the original repo owner gets your request and can decide either to merge in your changes or ignore the request |
13:08 |
masak |
frettled: on the bright side, I'm making progress with the slides. :) |
13:08 |
|
Woody2143 joined #perl6 |
13:08 |
LaVolta |
mulander: thanks for the guide :) I will try |
13:09 |
[Coke] |
if there's a meatspace phasers, a summary to the mailing list would be gnifty. danke. |
13:10 |
bbkr |
std: class A { has ($!a, $!b); }; |
13:10 |
p6eval |
std 31894: OUTPUT«ok 00:01 117m» |
13:10 |
masak |
[Coke]: both pmichaud and moritz_ have taken notes, IIUC. |
13:10 |
[Coke] |
oh, it's done? =-) |
13:13 |
bbkr |
std: class Foo { our $.bar = 4; }; Foo.bar; |
13:13 |
p6eval |
std 31894: OUTPUT«ok 00:02 118m» |
13:13 |
frettled |
masak: \o/ — but you have several hours left, don't you? :D |
13:14 |
bbkr |
star: class Foo { our $.bar = 4; }; Foo.bar.say; # is this expected to work? |
13:14 |
p6eval |
star 2010.07: OUTPUT«Method 'bar' not found for invocant of class '' in main program body at line 22:/tmp/GAWHvKJPVY» |
13:14 |
frettled |
masak: BTW, what is your talk about? |
13:14 |
TiMBuS |
> %(1,2).perl |
13:14 |
TiMBuS |
{"1" => 2} |
13:14 |
masak |
frettled: oh, 24 hours left. |
13:14 |
TiMBuS |
well that was probably the easiest fix ive ever done |
13:14 |
masak |
frettled: the talk tomorrow is called "Perl 6 appetizers". basically I'm just going to flash a lot of tasty food in front of people. :) |
13:14 |
masak |
frettled: and snippets of tasty Perl 6. |
13:15 |
masak |
frettled: my talk on Friday is the big one: "Prince of Parsea". I haven't written that yet, so I don't know exactly what it will contain. but I suspect I'll be pulling all the stops :) |
13:15 |
frettled |
woo-hoo! |
13:15 |
|
Holy_Cow joined #perl6 |
13:16 |
masak |
Holy_Cow! o.O |
13:16 |
frettled |
And your slides will be available online after the talks, right? :) |
13:16 |
masak |
right. |
13:16 |
frettled |
yay |
13:16 |
gfldex |
masak: will you be live on the interwebs for us to see? |
13:16 |
masak |
gfldex: there will be volunteers filming. |
13:16 |
gfldex |
\o/ |
13:16 |
masak |
gfldex: I don't know if they have volunteers enough, or if they're prioritizing talks. we'll see. |
13:16 |
|
M_o_C joined #perl6 |
13:17 |
frettled |
If it's anything like other videotaped conferences, we'll see the videos before 2013, I'm sure ;) |
13:17 |
TiMBuS |
rakudo: my @a = (1,2); my %h = @a; say @a; |
13:17 |
p6eval |
rakudo 0a8ef0: OUTPUT«» |
13:18 |
masak |
frettled: :) |
13:18 |
gfldex |
frettled: that's why i was asking that question. Questions tend to speed up processes more then requests do. :) |
13:19 |
masak |
"would you please put up the video before 2013?" |
13:20 |
gfldex |
:D |
13:20 |
gfldex |
damn, you got me there |
13:20 |
gfldex |
but inception does work and you don't even need the victim to dream :) |
13:23 |
pugssvn |
r31895 | bbkr++ | [t/spec] tests for RT #73808 Providing a list of attributes to a single "has" leads to IMCC syntax errors |
13:29 |
pugssvn |
r31896 | bbkr++ | [t/spec] tests for #73384 Null PMC access when using &&= or ||= (unfudged) |
13:30 |
|
drbean joined #perl6 |
13:30 |
bbkr |
std: say 1%^^1 |
13:30 |
p6eval |
std 31894: OUTPUT«[31m===[0mSORRY![31m===[0mExpecting a term, but found either infix ^^ or redundant prefix ^ (to suppress this message, please use space between ^ ^) at /tmp/Vh2B77Tequ line 1:------> [32msay 1%^^[33m⏏[31m1[0mParse failedFAILED 00:01 116m» |
13:31 |
bbkr |
star: say 1%^^1 |
13:31 |
p6eval |
star 2010.07: OUTPUT«0» |
13:34 |
bbkr |
star: say (1...^*).batch(10).perl |
13:34 |
p6eval |
star 2010.07: OUTPUT«Can't take numeric value for object of type Whatever in 'Any::Numeric' at line 1348:CORE.setting in 'prefix:<^>' at line 6460:CORE.setting in main program body at line 22:/tmp/gJ8QE6j9Og» |
13:35 |
masak |
bbkr: are these from RT tickets? |
13:35 |
bbkr |
masak: yes, http://rt.perl.org/rt3/Ticket/Display.html?id=73268 |
13:36 |
masak |
bbkr: if you want to try with latest Rakudo, telling p6eval to 'rakudo:' it rather than 'star:' it gives you a more up-to-date build. |
13:36 |
TiMBuS |
should Whatever just numify to Inf? Or are there cases where that would break things? |
13:36 |
|
molaf joined #perl6 |
13:36 |
masak |
TiMBuS: I know of no case where Whatever numifies to Inf. |
13:36 |
masak |
TiMBuS: rather, it's the routines that use it that give Whatever that semantics. |
13:37 |
moritz_ |
TiMBuS: it's not that easy, in * ... 0 the * means -Inf, notionally |
13:37 |
bbkr |
masak: thanks for the tip |
13:37 |
TiMBuS |
but.. what comes after -Inf D: |
13:37 |
masak |
TiMBuS: -Inf |
13:37 |
masak |
(duh) |
13:38 |
masak |
rakudo: say (-Inf).succ |
13:38 |
p6eval |
rakudo 0a8ef0: OUTPUT«-Inf» |
13:38 |
masak |
:) |
13:38 |
moritz_ |
rakudo++ |
13:38 |
masak |
rakudo: say Inf.pred |
13:38 |
p6eval |
rakudo 0a8ef0: OUTPUT«Inf» |
13:39 |
masak |
rakudo: say Inf\i * Inf\i |
13:39 |
p6eval |
rakudo 0a8ef0: OUTPUT«-Inf + NaNi» |
13:39 |
masak |
\o/ |
13:39 |
masak |
close enough for me... :) |
13:39 |
|
javs joined #perl6 |
13:40 |
bbkr |
star: say Inf - Inf # curious |
13:40 |
p6eval |
star 2010.07: OUTPUT«NaN» |
13:40 |
moritz_ |
rakudo++ #again |
13:40 |
masak |
rakudo: say Int - NaN |
13:40 |
masak |
erm. |
13:41 |
p6eval |
rakudo 0a8ef0: OUTPUT«NaN» |
13:41 |
masak |
rakudo: say Inf - NaN |
13:41 |
p6eval |
rakudo 0a8ef0: OUTPUT«NaN» |
13:41 |
masak |
NaN trumps Inf. fair enuf. |
13:41 |
|
isBEKaml joined #perl6 |
13:41 |
gfldex |
rakudo: say ('Bla' ~~ NaN).perl; |
13:41 |
p6eval |
rakudo 0a8ef0: OUTPUT«Method 'isNaN' not found for invocant of class 'Str' in 'ACCEPTS' at line 3172:CORE.setting in main program body at line 22:/tmp/6PXKmr4LbD» |
13:42 |
masak |
isNaN should probably be on Cool. |
13:42 |
masak |
...or should it? |
13:42 |
moritz_ |
+1 |
13:42 |
gfldex |
what is Cool for anyway? |
13:43 |
masak |
it all comes down to what we do when we numify a non-number Str. |
13:43 |
moritz_ |
well, like Cool |
13:43 |
moritz_ |
that's an FAQ |
13:43 |
moritz_ |
I should write it up somewhere |
13:43 |
masak |
gfldex: Cool is for things that belong in several common classes in Perl 6 (Str, Num, Int...) |
13:43 |
bbkr |
star: my $x = Inf; for ^Inf { $x = $x.pred }; say $x; # riddle for torturing students :) |
13:44 |
[Coke] |
cool reminds me of Scalar in parrot. |
13:44 |
masak |
gfldex: it's also a way to pull things from Any, so that a user doesn't get a lot of methods without asking for them. |
13:44 |
p6eval |
star 2010.07: ( no output ) |
13:44 |
[Coke] |
(which I think was stolen from some similar concept in p5) |
13:45 |
|
drbean joined #perl6 |
13:46 |
masak |
bbkr: and the answer is... ⊥? :) |
13:46 |
|
Holy_Cow joined #perl6 |
13:47 |
pmichaud |
http://gist.github.com/506399 # rakudo can now create fakecutables |
13:47 |
moritz_ |
it's not computable |
13:50 |
cono |
\o/ |
13:50 |
masak |
pmichaud++ |
13:50 |
PerlJam |
pmichaud++ are you going to bottle that up in a smaller package for our end users? |
13:50 |
pmichaud |
PerlJam: likely, yes. |
13:50 |
pmichaud |
I'll probably come up with --target=exe |
13:50 |
masak |
moritz_: ⊥, I believe, is funlang-speak for "not computable". |
13:50 |
pmichaud |
actually, --target=exe might not be very possible |
13:50 |
pmichaud |
so, --target=pbc |
13:51 |
masak |
pmichaud: awww, not --target=fake? :) |
13:51 |
bbkr |
star: my Hash $x; $x[1] |
13:51 |
p6eval |
star 2010.07: OUTPUT«No applicable candidates found to dispatch to for '_block41394'. Available candidates are::() in main program body at line 1» |
13:51 |
masak |
or --target=cute |
13:51 |
|
drbean joined #perl6 |
13:53 |
[Coke] |
pmichaud: there is a ticket for that. |
13:54 |
[Coke] |
Mind if I assign it to you? |
13:55 |
dalek |
rakudo: 51cc37e | pmichaud++ | src/Perl6/ (2 files): |
13:55 |
dalek |
rakudo: Enable --target=pir to produce PIR code that can be run directly |
13:55 |
dalek |
rakudo: from Parrot (provided Rakudo has been installed). |
13:55 |
dalek |
rakudo: review: http://github.com/rakudo/rakudo/commit/51cc37e664938f8350e8e29000607c6aabdcbcaf |
13:55 |
[Coke] |
pmichaud: assigned. (RT #65994) |
13:57 |
[Coke] |
pmichaud++ |
14:03 |
[Coke] |
nqp-rx is using CodeString, that should be updated. |
14:04 |
|
mberends_ joined #perl6 |
14:08 |
|
masak joined #perl6 |
14:09 |
masak |
wifi-- |
14:09 |
masak |
[Coke]: how is CodeString spelled nowadays? String? |
14:14 |
jnthn |
StringBuilder iirc |
14:14 |
masak |
oh ok |
14:17 |
smash |
moritz_: http://gist.github.com/506433 |
14:20 |
[Coke] |
masak: see: http://trac.parrot.org/parrot/ticket/1633\ |
14:20 |
[Coke] |
(tells how to move away from CodeString) |
14:20 |
[Coke] |
it's probably going to be removed before the next release. |
14:21 |
masak |
[Coke]: \o/ |
14:21 |
masak |
[Coke]: I actually ported CodeString to Perl 6 for GGE: http://github.com/masak/gge/blob/master/lib/GGE/Exp.pm |
14:25 |
|
plobsing joined #perl6 |
14:28 |
bbkr |
rakudo: $0 # where tests for http://rt.perl.org/rt3/Ticket/Display.html?id=72956 should go? |
14:28 |
p6eval |
rakudo 0a8ef0: ( no output ) |
14:30 |
|
hercynium joined #perl6 |
14:33 |
bbkr |
std: my @ = 1, 2, 3 |
14:33 |
p6eval |
std 31896: OUTPUT«ok 00:01 118m» |
14:33 |
bbkr |
rakudo: my @ = 1, 2, 3 |
14:33 |
p6eval |
rakudo 0a8ef0: ( no output ) |
14:33 |
bbkr |
rakudo: my @ = 1, 2, 3; say @ # |
14:34 |
p6eval |
rakudo 0a8ef0: OUTPUT«===SORRY!===Non-declarative sigil is missing its name at line 22, near "@ #"» |
14:34 |
moritz_ |
std: my @ = 1, 2, 3; say @ # |
14:34 |
p6eval |
std 31896: OUTPUT«[31m===[0mSORRY![31m===[0mNon-declarative sigil is missing its name at /tmp/Ier7W78AIP line 1:------> [32mmy @ = 1, 2, 3; say [33m⏏[31m@ #[0mConfused at /tmp/Ier7W78AIP line 1:------> [32mmy @ = 1, 2, 3; say @[33m⏏[31m #[0m expecting twigilOther potential |
14:34 |
p6eval |
..diffi… |
14:34 |
bbkr |
how to access such array? :)) (testing #72946 ) |
14:34 |
patch |
rakudo: say $^bar given 'foo'; |
14:34 |
p6eval |
rakudo 0a8ef0: OUTPUT«Lexical '$bar' not found in main program body at line 2:/tmp/M_VwbIAGBw» |
14:35 |
moritz_ |
rakudo: say (my @ = 1, 2, 3 ) |
14:35 |
p6eval |
rakudo 0a8ef0: OUTPUT«123» |
14:35 |
moritz_ |
bbkr: not by name, for sure :-) |
14:35 |
patch |
rakudo: given 'foo' { say $^bar } |
14:35 |
bbkr |
rakudo: (my % = foo => 1, bar => 2).perl.say |
14:35 |
p6eval |
rakudo 0a8ef0: OUTPUT«foo» |
14:35 |
p6eval |
rakudo 0a8ef0: OUTPUT«{"foo" => 1, "bar" => 2}» |
14:35 |
dalek |
rakudo: efe72cb | moritz++ | src/Perl6/Actions.pm: |
14:35 |
dalek |
rakudo: s:s/// |
14:35 |
dalek |
rakudo: review: http://github.com/rakudo/rakudo/commit/efe72cb3680a0fec182a31591dcc0a5192d74ee7 |
14:35 |
dalek |
rakudo: cb45c52 | moritz++ | src/Perl6/ (2 files): |
14:35 |
dalek |
rakudo: :i/:ignorecase adverbs for s/// |
14:35 |
dalek |
rakudo: review: http://github.com/rakudo/rakudo/commit/cb45c522b7cfc947a2da7f929ea5a87ef9b94757 |
14:36 |
|
GeneralMaximus joined #perl6 |
14:37 |
bbkr |
moritz_: immortal question, where tests for http://rt.perl.org/rt3/Ticket/Display.html?id=72946 should go? |
14:38 |
patch |
are $^ variables supposed to only work in standard blocks, not expressions followed by postfix control structures? |
14:41 |
PerlJam |
patch: $^vars are for self-declared parameters, so ... yes |
14:41 |
moritz_ |
only in blocks without a signature |
14:41 |
moritz_ |
bbkr: S04-*/my.t |
14:41 |
|
whiteknight joined #perl6 |
14:42 |
bbkr |
moritz_++ |
14:42 |
moritz_ |
(there are probably ohter valid places, that's just teh first I could think of ) |
14:43 |
|
andee_ joined #perl6 |
14:43 |
masak |
moritz_: does the outermost block count as a block without a signature? |
14:43 |
masak |
rakudo: say $^a |
14:43 |
p6eval |
rakudo 0a8ef0: OUTPUT«Lexical '$a' not found in main program body at line 2:/tmp/PEOVFAjYW3» |
14:43 |
moritz_ |
masak: I hope not |
14:43 |
patch |
so i imagine that postix control structures can't have named variables in the expression (like perl 5) |
14:43 |
masak |
std: say $^a |
14:43 |
p6eval |
std 31896: OUTPUT«[31m===[0mSORRY![31m===[0mPlaceholder variable $^a may not be used outside of a block at /tmp/zu42FbdNcC line 1:------> [32msay $^a[33m⏏[31m<EOL>[0mCheck failedFAILED 00:01 115m» |
14:44 |
* masak |
submits LTA rakudobug |
14:44 |
bbkr |
rakudo: (our @ = 1,2,3).perl.say |
14:44 |
p6eval |
rakudo 0a8ef0: OUTPUT«[1, 2, 3]» |
14:44 |
isBEKaml |
rakudo: 2 += 3 |
14:44 |
p6eval |
rakudo 0a8ef0: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 10:/tmp/zFFRcHzzrS» |
14:45 |
isBEKaml |
rakudo: 2 ~= 3 |
14:45 |
p6eval |
rakudo 0a8ef0: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 10:/tmp/nLT3B_pAtU» |
14:45 |
isBEKaml |
rakudo 2 _= 3 |
14:45 |
masak |
rakudo: if 42 { say $^the-frigging-value } |
14:45 |
p6eval |
rakudo 0a8ef0: OUTPUT«42» |
14:45 |
masak |
ooh |
14:45 |
isBEKaml |
rakudo: 2 _= 3 |
14:45 |
andee_ |
star: say "abbc" ~~ m/b ** 2/ |
14:45 |
p6eval |
rakudo 0a8ef0: OUTPUT«===SORRY!===Confused at line 22, near "2 _= 3"» |
14:45 |
p6eval |
star 2010.07: OUTPUT«bb» |
14:45 |
isBEKaml |
rakudo: 2 .= 3 |
14:45 |
p6eval |
rakudo 0a8ef0: OUTPUT«===SORRY!===Confused at line 22, near "2 .= 3"» |
14:46 |
isBEKaml |
rakudo++ |
14:46 |
masak |
isBEKaml: underscore... that's, like, ancient syntax. :) |
14:46 |
isBEKaml |
masak: yeah. :) |
14:46 |
isBEKaml |
rakudo: 2 |= 3 |
14:46 |
p6eval |
rakudo 0a8ef0: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 10:/tmp/EI5U8w6fvu» |
14:47 |
patch |
i had been hoping to get away with something like this: %h{$^key} = $^value for (a => 1, b => 2).kv; |
14:47 |
patch |
but maybe there's a more idiomatic perl 6 way of doing it |
14:48 |
isBEKaml |
masak: hey, aren't you at YAPC now? |
14:48 |
isBEKaml |
how's it there and how's everyone? :) |
14:51 |
PerlJam |
patch: %h{.key} = .value for a => 1, b => 2; |
14:52 |
patch |
PerlJam: nice! |
14:52 |
isBEKaml |
rakudo: 2 !!= 3; ## what does this mean? |
14:52 |
p6eval |
rakudo efe72c: ( no output ) |
14:52 |
[Coke] |
rakudo: say 2 !!= 3; |
14:52 |
p6eval |
rakudo efe72c: OUTPUT«0» |
14:52 |
masak |
isBEKaml: I'm at YAPC::EU, yes! |
14:52 |
masak |
isBEKaml: everything's great! |
14:53 |
patch |
rakudo: my %h; %h.push(a => 1, b => 2); %h.perl.say; |
14:53 |
PerlJam |
patch: a => 1 is a Pair. the loop iterates over the pairs, assigning each to $_. .key calls the key method on each pair. same thing with .value |
14:53 |
p6eval |
rakudo efe72c: OUTPUT«{}» |
14:53 |
isBEKaml |
[Coke]: is that right? |
14:53 |
isBEKaml |
I mean, can we prefix !! with assignment? |
14:53 |
isBEKaml |
I have only seen !! like C's ternary op. |
14:54 |
isBEKaml |
masak: that's great! How's the coffee? ;) |
14:54 |
[Coke] |
rakudo: say !!3 |
14:54 |
p6eval |
rakudo efe72c: OUTPUT«1» |
14:54 |
isBEKaml |
I see, negate the negatives. :) |
14:54 |
[Coke] |
rakudo: say !!3.perl |
14:54 |
patch |
PerlJam: gotcha. what about pushing pairs to an array? i think that's spec'ed but looks like it might not be implemented. |
14:54 |
p6eval |
rakudo efe72c: OUTPUT«1» |
14:54 |
pugssvn |
r31897 | bbkr++ | [t/spec] tests for RT #72946 Rakudo doesnt allow declaration of anonymous variables |
14:54 |
[Coke] |
rakudo: say (!!3).perl |
14:54 |
p6eval |
rakudo efe72c: OUTPUT«Bool::True» |
14:54 |
patch |
PerlJam: i mean to a hash |
14:54 |
masak |
isBEKaml: I'm not a coffee drinker, but I hear it's great. |
14:55 |
[Coke] |
I think that !! is eqv to ? |
14:55 |
[Coke] |
(but more work. An optimizing compiler could probably squash that. |
14:55 |
isBEKaml |
yes, I thought that didn't look right. |
14:55 |
PerlJam |
patch: it might not be implemented |
14:55 |
[Coke] |
... but how that parses in "2 !!= 3", I'd have to check the parse tree. |
14:56 |
isBEKaml |
masak: haffun hackin'! :) |
14:56 |
isBEKaml |
masak: oh, and talkin'! |
14:57 |
isBEKaml |
[Coke]: Curious, how do I check the parse tree? |
15:00 |
x3nU |
just created new module implementing BSD checksum |
15:00 |
x3nU |
http://github.com/xenu/Digest-sum |
15:00 |
[Coke] |
isBEKaml: parrot perl6.pbc --target=parse foo.p6 |
15:01 |
[Coke] |
other valid targets include past, pir, ... maybe others, I forget. |
15:01 |
[Coke] |
11:01 <@LeoNerd> Ooh.. valid Perl6: my $time is short; |
15:02 |
masak |
isBEKaml: thanks. I'm trying to do a bit of both hacking and prepping slides. :) |
15:02 |
isBEKaml |
masak++ |
15:03 |
isBEKaml |
[Coke]: I get this here: Parrot VM: Can't stat perl6.pbc, code 2. when I tried your command. |
15:03 |
isBEKaml |
perl6.pbc should be in the path or PERL6LIB? |
15:03 |
isBEKaml |
(I'm just guessing) |
15:04 |
[Coke] |
use whatever the path to the perl6.pbc is. |
15:04 |
[Coke] |
I typically do this in a build directory. |
15:04 |
[Coke] |
(where it's right there.) |
15:04 |
bbkr |
x3nU: smart module :) "0..$input.elems-1" can be replaced by "^$input.elems" IMO to make it even more compact |
15:05 |
bbkr |
star: for 0..10-1 {.say}; for ^10 {.say} |
15:05 |
p6eval |
star 2010.07: OUTPUT«01234567890123456789» |
15:05 |
bbkr |
se :) |
15:05 |
isBEKaml |
[Coke]: right, got it. :) |
15:06 |
isBEKaml |
[Coke]: Looks to me like, it first takes the '!' and then treats '!=', finally the assignment and negating it. |
15:07 |
rcfox |
Is there a way to get all of the functions available to an object? |
15:07 |
isBEKaml |
[Coke]: atleast, that's how I understand it. if so, that's really a weird way of doing assignment. :) |
15:09 |
isBEKaml |
[Coke]: It treats the first '!' as a symbol(whatever that means) and the following '!=' as an infix op. Right? |
15:10 |
x3nU |
bbkr: thanks for suggestion :) |
15:10 |
* isBEKaml |
suddenly gets the feeling everyone but him are at YAPC. |
15:11 |
[Coke] |
I am at $DAYJOB |
15:12 |
* ruoso |
is in other continent |
15:12 |
* isBEKaml |
feels warm in another continent. :) |
15:13 |
isBEKaml |
[Coke]: do you want to look at the parse tree I generated? |
15:13 |
bbkr |
star: "wol utyl i ma mily tulow".flip.say |
15:13 |
p6eval |
star 2010.07: OUTPUT«wolut ylim am i lytu low» |
15:13 |
squeeky |
Any of the YAPC::EU people here? |
15:15 |
isBEKaml |
squeeky: sssh, don't disturb them. They are all hackin' away. :) |
15:15 |
isBEKaml |
*at the hackathon |
15:15 |
squeeky |
So am I! But I want to bother one of them for a while. |
15:15 |
GeneralMaximus |
i can't get some sockets code to work on Rakudo. specifically, this code on GitHub: http://github.com/carlins/irc-client/blob/master/lib/IRC/Client.pm. this is the message i get: http://pastebin.com/ZxjZPUWv |
15:15 |
squeeky |
be damned if I know *anyone* here. |
15:16 |
GeneralMaximus |
any pointers? clueless newb here. |
15:16 |
isBEKaml |
squeeky: bug moritz_++ or masak++ |
15:16 |
squeeky |
I havent spotted them yet. |
15:17 |
|
alester joined #perl6 |
15:18 |
moritz_ |
hm, looks like it hasn't been ported to master yet |
15:19 |
|
ambs joined #perl6 |
15:20 |
|
pyrimidine joined #perl6 |
15:21 |
bbkr |
rakudo: class Boo { method new() { } }; say Boo.new.WHAT; |
15:21 |
p6eval |
rakudo efe72c: OUTPUT«Parcel()» |
15:23 |
masak |
rakudo: class Boo { method new() { } }; say Boo.new eqv Nil |
15:23 |
p6eval |
rakudo efe72c: OUTPUT«1» |
15:23 |
masak |
rakudo: class Boo { method new() { } }; say Boo.new === Nil |
15:23 |
p6eval |
rakudo efe72c: OUTPUT«1» |
15:23 |
masak |
rakudo: class Boo { method new() { } }; say Boo.new =:= Nil |
15:23 |
p6eval |
rakudo efe72c: OUTPUT«1» |
15:24 |
|
molecules joined #perl6 |
15:25 |
bbkr |
masak: it's http://rt.perl.org/rt3/Ticket/Display.html?id=72836 , where should I put tests? |
15:25 |
molecules |
Hello! I was reading the Perl 6 book that comes with Rakudo. I was wondering what the difference is between != and !== |
15:25 |
moritz_ |
molecules: there's none |
15:25 |
molecules |
moritz_: Thanks |
15:25 |
moritz_ |
molecules: != is a convenience, and you get !== by applying the ! meta operator to infix == |
15:26 |
|
bgs100 joined #perl6 |
15:26 |
molecules |
moritz_: Thanks. Good book by the way. Thanks for writing it. |
15:27 |
|
jarek-s joined #perl6 |
15:28 |
masak |
we should put in a clarification about != and !== |
15:28 |
moritz_ |
molecules: thank you |
15:29 |
molecules |
moritz_, masak: Should I fork the book add the clarification and send a pull request? |
15:30 |
[Coke] |
molecules: that works. |
15:30 |
moritz_ |
molecules: or just tell us your github ID |
15:30 |
moritz_ |
get a commit bit |
15:30 |
moritz_ |
and push directly |
15:30 |
molecules |
moritz_: molecules |
15:30 |
moritz_ |
hugme: add molecules to book |
15:31 |
* hugme |
hugs molecules. Welcome to book! |
15:31 |
squeeky |
masak: turn around, when you're done, I'd like a few questions to pick with you |
15:31 |
molecules |
moritz_: Thanks! |
15:31 |
bbkr |
std: sub foo { say "bar" }; my $x = 'foo'; &::($x)() |
15:32 |
p6eval |
std 31897: OUTPUT«ok 00:01 118m» |
15:32 |
bbkr |
rakudo: sub foo { say "bar" }; my $x = 'foo'; &::($x)() |
15:32 |
p6eval |
rakudo efe72c: OUTPUT«===SORRY!===Indirect name lookups not yet implemented at line 22, near "()"» |
15:35 |
|
perlygatekeeper joined #perl6 |
15:36 |
* masak |
turns around :) |
15:42 |
bbkr |
std: my @a[5] # is that definition of fixed size ? |
15:42 |
p6eval |
std 31897: OUTPUT«ok 00:01 116m» |
15:42 |
jnthn |
Think so. |
15:43 |
bbkr |
rakudo: my @a[5]; @a[128] = 'foo'; # looks wrong, isn't it? |
15:43 |
p6eval |
rakudo efe72c: ( no output ) |
15:44 |
|
timbunce_ joined #perl6 |
15:45 |
bbkr |
rakudo: my @a[*]; # all your resources are belong to us :) |
15:45 |
p6eval |
rakudo efe72c: ( no output ) |
15:45 |
|
risou joined #perl6 |
15:47 |
masak |
bbkr: Rakudo parses 'my @a[5]'. that's pretty new, I think. |
15:47 |
masak |
bbkr: there's no underlying semantics for it, though. |
15:47 |
bbkr |
masak: thanks |
15:48 |
masak |
bbkr: that is to say, 'my @a[5]' works like 'my @a' right now. |
15:49 |
squeeky |
moritz_++ masak++ # let's see if I can compile rakudo 3 times from one charge. |
15:49 |
|
synth joined #perl6 |
15:51 |
bbkr |
rakudo: my @a[*;*]; |
15:51 |
p6eval |
rakudo efe72c: ( no output ) |
15:52 |
masak |
that [*;*] looks like the O RLY owl. |
15:52 |
bbkr |
masak: there is ticket about fixed-size arrays #67600 - maybe it should be renamed to "[TODO] implement ..." instead of current "Cannot declare", as Rakudo already parses this syntax |
15:53 |
masak |
bbkr: if it's "Cannot declare...", it should be closed. |
15:53 |
* masak |
is an issue ticket purist :) |
15:53 |
masak |
no run-time recasting of tickets, just because it's convenient! :P |
15:54 |
bbkr |
masak: should I add some eval_lives_ok tests to it? |
15:54 |
[Coke] |
masak: I disagree. minor updates to tickets to track stages of feature development are ok. |
15:54 |
masak |
bbkr: if you want. I'm not sure how important that is, since other S09 tests will imply that that parses. |
15:54 |
moritz_ |
rakudo: class A { has $b; method new { my $b = 3; say $b } }; A.new() |
15:54 |
p6eval |
rakudo efe72c: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!b in 'A::new' at line 22:/tmp/ACdVhQjE_4 in main program body at line 22:/tmp/ACdVhQjE_4» |
15:55 |
[Coke] |
forcing users/developers to create new tickets is just busywork, IMO. |
15:55 |
[Coke] |
and we have enough real work. |
15:55 |
masak |
[Coke]: fair enough. the ticket as it stands, though, is ready to be closed. |
15:55 |
[Coke] |
by all means, close tickets. |
15:55 |
[Coke] |
;) |
15:56 |
|
risou_ joined #perl6 |
15:56 |
masak |
[Coke]: and if someone typecasts it to be another issue, the ticket cannot (as easily) be re-opened for its original purpose if the problem resurfaces. |
15:56 |
smash |
just for kicks: http://perl6doc.org/release_guide |
15:56 |
smash |
or http://perl6doc.org/ROADMAP |
15:56 |
[Coke] |
masak: why not just open a new ticket at that point? ;) |
15:56 |
masak |
[Coke]: you're just making rules up as you go along! :P |
15:57 |
smash |
http://perl6doc.org/metamodel # or any /<doc> in rakudo/docs |
15:57 |
[Coke] |
(but it really is still the same issue, just a regression). if moritz_ keeps writing tests, we'll have nothing to worry about. ;) |
15:57 |
[Coke] |
at this point, my main ticket concern is all the stuff you opened in the past year that's been fixed but not closed. |
15:59 |
|
jwest- joined #perl6 |
15:59 |
masak |
smash++ |
16:00 |
moritz_ |
smash++ indeed |
16:01 |
bbkr |
rakudo: my($a) = 5; say 'alive' |
16:01 |
p6eval |
rakudo efe72c: OUTPUT«alive» |
16:02 |
|
jfried joined #perl6 |
16:04 |
|
whiteknight joined #perl6 |
16:04 |
|
justatheory joined #perl6 |
16:06 |
|
Sanitoeter joined #perl6 |
16:07 |
* [Coke] |
wonders why attributes are declared with "has $b" and not "has $.b" or whatever the twigil is. |
16:08 |
|
timbunce joined #perl6 |
16:08 |
[particle] |
these are rakudo docs at perl6doc.org? |
16:08 |
[particle] |
a better url might be docs.rakudo.org |
16:08 |
|
Ross joined #perl6 |
16:11 |
bbkr |
http://rt.perl.org/rt3/Ticket/Display.html?id=68748 - how about this one? segfault was fixed long time ago, and multis are already tested. |
16:16 |
bbkr |
rakudo: break |
16:16 |
p6eval |
rakudo efe72c: OUTPUT«Could not find sub &break in main program body at line 22:/tmp/3991IK9D0k» |
16:17 |
bbkr |
expected behavior if break called outside block? |
16:17 |
|
_macdaddy joined #perl6 |
16:18 |
bbkr |
std: break |
16:18 |
p6eval |
std 31897: OUTPUT«[31m===[0mSORRY![31m===[0mUndeclared routine: 'break' used at line 1Check failedFAILED 00:01 114m» |
16:20 |
rcfox |
rakudo: use MONKEY_TYPING; augment class Block { method Num { return self.(); } }; $b = {{{{{{{{{{3}}}}}}}}}}; $b(); |
16:20 |
p6eval |
rakudo efe72c: OUTPUT«===SORRY!===Symbol '$b' not predeclared in <anonymous> (/tmp/fDYBmYL4WD:22)» |
16:20 |
rcfox |
Whoops. |
16:20 |
rcfox |
rakudo: use MONKEY_TYPING; augment class Block { method Num { return self.(); } }; my $b = {{{{{{{{{{3}}}}}}}}}}; $b(); |
16:20 |
p6eval |
rakudo efe72c: ( no output ) |
16:20 |
rcfox |
Hm, really? |
16:21 |
rcfox |
Oh, I forgot say. :x |
16:21 |
rcfox |
rakudo: use MONKEY_TYPING; augment class Block { method Num { return self.(); } }; my $b = {{{{{{{{{{3}}}}}}}}}}; say $b(); |
16:21 |
p6eval |
rakudo efe72c: OUTPUT«3» |
16:21 |
rcfox |
Sorry for all of the flooding... |
16:21 |
|
cognominal joined #perl6 |
16:24 |
bbkr |
was 'break' replaced by something in spec? cannot find it anymore in S04 and it's reported in http://rt.perl.org/rt3/Ticket/Display.html?id=69010 |
16:25 |
pmichaud |
proceed, I think. |
16:26 |
|
Ross joined #perl6 |
16:28 |
|
tylercurtis joined #perl6 |
16:30 |
bbkr |
rakudo: for ^8 {.say; proceed;}; say 123; |
16:30 |
p6eval |
rakudo efe72c: OUTPUT«0 at line 11 at line 12 at line 13 at line 14 at line 15 at line 16 at line 17 at line 1123» |
16:31 |
|
timbunce joined #perl6 |
16:31 |
bbkr |
rakudo: my $x = 0; for ^8 {$x++; proceed;}; say $x; |
16:31 |
p6eval |
rakudo efe72c: OUTPUT« at line 1 at line 1 at line 1 at line 1 at line 1 at line 1 at line 1 at line 18» |
16:32 |
molecules |
moritz_: Added your explanation of != and !== (in my own words). Feel free to edit/delete anything I contribute. Writing involves refactoring just like code. Thanks for the opportunity to contribute. |
16:32 |
molecules |
moritz_: To the Perl 6 book, that is. |
16:32 |
dalek |
book: cc7c5a6 | molecules++ | src/operators.pod: |
16:32 |
dalek |
book: Added explanation of the equivalent "not equals" operators. Thanks moritz! |
16:32 |
dalek |
book: moritz's original text: |
16:32 |
dalek |
book: != is a convenience, and you get !== by applying the ! meta operator to infix == |
16:32 |
dalek |
book: review: http://github.com/perl6/book/commit/cc7c5a66714505d942bc20d31a51708945dbde76 |
16:32 |
pmichaud |
bbkr: oh, did you mean "break" as in "exit a loop"? That's 'last', same as p5. |
16:33 |
pmichaud |
afk, dinner |
16:33 |
|
Axius joined #perl6 |
16:34 |
bbkr |
pmichaud: http://rt.perl.org/rt3/Ticket/Display.html?id=69010 - looks like 'break' was builtin command back then. i'm trying to check if ticket can be closed because it references method not in spec anymore |
16:37 |
|
jaldhar joined #perl6 |
16:38 |
dalek |
book: a0e675b | molecules++ | src/operators.pod: |
16:38 |
dalek |
book: corrected "on of the keys" to "one of the keys" |
16:38 |
dalek |
book: review: http://github.com/perl6/book/commit/a0e675b68a8d15fd81253d988cc7d51cb7f0d04a |
16:43 |
|
cdarroch joined #perl6 |
16:43 |
|
cdarroch joined #perl6 |
16:46 |
|
desertm4x joined #perl6 |
16:47 |
|
REPLeffect joined #perl6 |
16:47 |
|
Lorn joined #perl6 |
16:56 |
molecules |
[Coke]: about "has $b" see Apocalypse 12 (http://dev.perl.org/perl6/doc/design/apo/A12.html) |
16:56 |
molecules |
[Coke]: under the section "An Easy Example": [Update: The "." form of the attribute syntax is now construed to always be a virtual dispatch to the accessor, so you can use that syntax in any of the child classes too. |
16:56 |
molecules |
[Coke]: To refer to the private storage you now use "!" in place of the ".". Within the lexical scope of the class you may omit even that.] |
16:57 |
[Coke] |
molecules: thanks, yes. BTW, don't use the apocolyses, they are out of date with respect to the synopsis. |
16:57 |
|
d4rt joined #perl6 |
16:58 |
|
risou joined #perl6 |
17:04 |
|
ash_ joined #perl6 |
17:07 |
ash_ |
ping moritz_ |
17:07 |
molecules |
[Coke]: Thanks. I forgot about that. |
17:08 |
ash_ |
or anyone that uses feather3 i guess |
17:09 |
ash_ |
when i try to build rakudo on it, it always gets to parrot src/gen/perl6.pbc --target=pir src/gen/core.pm > src/gen/core.pir, then that takes forever and never finishes |
17:09 |
ash_ |
does anyone else have that problem? |
17:13 |
PerlJam |
how much RAM does feather3 have? |
17:13 |
[Coke] |
ash_: that requires a gig of ram to complete. |
17:13 |
ash_ |
i don't know how much ram feather3 has, let me check |
17:15 |
ash_ |
its got 2 gigs of ram |
17:16 |
PerlJam |
ash_: In my experience "never finishes" is indicative of thrashing, so I don't have any other ideas at this point. |
17:16 |
ash_ |
hmm, maybe i can build it on another computer and transfer it? |
17:16 |
[Coke] |
possible. |
17:17 |
ash_ |
p6eval uses feather3, so... it's built it |
17:17 |
PerlJam |
ash_: if it's "the same" |
17:17 |
ash_ |
i think its feather3... |
17:17 |
ash_ |
actually, i could be completely wrong on that |
17:17 |
* [Coke] |
is unfamiliar with various feathers, and just uses "feather". |
17:17 |
PerlJam |
ash_: perhaps you have a personal memory limit? |
17:17 |
ash_ |
maybe |
17:18 |
ash_ |
i have sudo permissions, maybe sudo won't have a memory limit... |
17:18 |
PerlJam |
[Coke]: yeah, I've long since forgotten what the various feathers are for and just use the one myself |
17:20 |
ash_ |
PerlJam: do you have access to feather3? or have you successfully built rakudo on feather? (just curious if its just me) |
17:21 |
PerlJam |
I'm not sure if I have an account on feather 3 or not. If so, I haven't used it in forever. |
17:22 |
PerlJam |
also, I don't think rakudo builds on feather1 anymore and I don't know the relationship between feather1 and feather3 |
17:22 |
PerlJam |
at least, I seem to recall that I couldn't build rakudo on feather1 the last time that I tried. |
17:23 |
ash_ |
i might nice it and leave it in a screen in the background and just see if it ever finishes... |
17:25 |
|
ashleydev joined #perl6 |
17:30 |
|
pnate joined #perl6 |
17:41 |
|
hercynium joined #perl6 |
17:42 |
* araujo |
wonders what is a good name to refer to a function that turns "strings" into an implementation-defined object in a programm |
17:42 |
|
Holy_Cow joined #perl6 |
17:43 |
[particle] |
"implementation-defined object"... examples? |
17:49 |
rcfox |
Hey guys, I did a write-up about a little experiment I did with Perl 6, and I'd love some comments on whether it's correct, or interesting, or rambly. http://blogs.perl.org/users/ryan_fox/2010/08/a-matrix-worthy-of-perl-6.html |
17:51 |
|
rlb3 joined #perl6 |
17:55 |
gfldex |
std: role foo {}; my $bar = { 2 }; $bar does foo; |
17:55 |
p6eval |
std 31897: OUTPUT«ok 00:01 117m» |
17:55 |
gfldex |
o.0 |
17:55 |
gfldex |
perl6++ |
17:57 |
|
risou_ joined #perl6 |
17:58 |
|
M_o_C joined #perl6 |
17:59 |
avuserow |
monkey typing scares me. |
18:02 |
|
ghyspran joined #perl6 |
18:02 |
gfldex |
rcfox: what you do should work but you leave a question |
18:02 |
gfldex |
rcfox: why would that be cool? |
18:08 |
rcfox |
For things like robotics, you have transformations that are the result of the multiplication of several matrices. If you just had to do the multiplication once, it might save computational effort. |
18:09 |
rcfox |
(I say might because I'm not sure if there would actually be a gain when you factor in tranversing the trees each time. At worst, it should be a net gain of 0, I think.) |
18:09 |
rcfox |
s/tranversing/traversing/ |
18:10 |
rcfox |
Oh, you probably meant that I should answer this in the post. |
18:10 |
rcfox |
I will have to get back to that. I need to sleep now. |
18:14 |
|
Guest58802 joined #perl6 |
18:15 |
GeneralMaximus |
potentially stupid question: i can't use sockets from Rakudo, and i haven't been able to find a solution. parrot, otoh, appears to have a fairly complete sockets api. can i mix pir and Perl? all i want to do is read from a socket. |
18:17 |
sorear |
quite easily |
18:17 |
sorear |
read src/core/*.pm |
18:17 |
[Coke] |
(it helps that chunks of Rakudo are written in Rakudo.) |
18:18 |
PerlJam |
GeneralMaximus: maybe you could flesh out IO::Socket a bit more? |
18:18 |
GeneralMaximus |
ah, those modules look helpful |
18:18 |
Tene |
I thought that rakudo did have an IO::Socket... |
18:18 |
PerlJam |
Tene: it does. It's minimal |
18:18 |
Tene |
GeneralMaximus: yes, you can use individual pir ops straight from rakudo with: pir::foo(); |
18:19 |
Tene |
you can also embed literal pir with Q:PIR { ... }; |
18:19 |
Tene |
PerlJam: Ah, thanks. |
18:19 |
GeneralMaximus |
PerlJam, i could try. that's all i can say for now (being new to both perl and parrot) :p |
18:20 |
GeneralMaximus |
okay, i'm looking at the core modules now. thanks sorear. |
18:20 |
|
oha joined #perl6 |
18:24 |
araujo |
[particle], well, for example, I have a string, but then using that string I can create native objects like int, or float in a very generic way, I just can't find a good general name for such a function :P |
18:25 |
[particle] |
string_to_datatype, string_to_object, datatype_from_string? |
18:26 |
[particle] |
string_to_native? i'm full of names. |
18:26 |
[Coke] |
unmarshal? |
18:26 |
[Coke] |
hurm. close but not quite. |
18:27 |
[particle] |
what's the encoding of the string? |
18:27 |
[particle] |
araujo: ^^ |
18:28 |
araujo |
utf8 |
18:36 |
|
envi^home joined #perl6 |
18:38 |
|
sjohnson joined #perl6 |
18:50 |
|
Ross joined #perl6 |
19:00 |
|
nimiezko joined #perl6 |
19:02 |
|
jaldhar joined #perl6 |
19:05 |
|
cono joined #perl6 |
19:11 |
sorear |
araujo: read? |
19:11 |
sorear |
parse? |
19:16 |
|
perlygatekeeper left #perl6 |
19:17 |
frettled |
sjn: The show-and-tell part of Perl 6-ishness at Oslo.pm was rather crappy, I'm afraid, but I got to show off a few nifty features in Perl 6 regarding datastructures, .perl, typing, and some other elementary stuff. |
19:17 |
|
takadonet left #perl6 |
19:19 |
snarkyboojum |
araujo: conjure :) |
19:20 |
|
offerkaye joined #perl6 |
19:21 |
offerkaye |
Hi |
19:21 |
avuserow |
Ahoy |
19:21 |
|
ash_ joined #perl6 |
19:25 |
|
oha joined #perl6 |
19:27 |
ash_ |
ping moritz_ |
19:35 |
[Coke] |
15:31 <@DrForr> Or hire Spinal Tap. |
19:35 |
[Coke] |
15:31 < Coke> This Perl Goes to Six. |
19:35 |
[Coke] |
15:32 <@DrForr> You... are numb... never mind. |
19:38 |
|
PZt joined #perl6 |
19:41 |
[Coke] |
phenny: ask moritz_ - what was the blocker to building all the bits of core.pm separately and then combining the PIR instead of the PM? |
19:41 |
phenny |
[Coke]: I'll pass that on when moritz_ is around. |
19:42 |
|
jaldhar joined #perl6 |
19:43 |
offerkaye |
Hi [Coke] |
19:44 |
offerkaye |
Do you know by any chance, does P6 "chomp" accept only strings? Not a list? |
19:45 |
oha |
i've noticed a change in the last rev. rule foo { :i || A || B } the :i _was_ considered empty, and the alternation matched only A or B, but in the last :i is considered like :i '' and the alternation allow the empty match too. i have no idea if the first was correct or the last, but it got changed |
19:46 |
|
REPLeffect joined #perl6 |
19:46 |
|
justatheory joined #perl6 |
19:47 |
[particle] |
offerkaye: our Str multi method chomp ( Str $string: ) is export |
19:48 |
|
meppl joined #perl6 |
19:48 |
[particle] |
as currently defined in S32::Str |
19:48 |
offerkaye |
I saw that but I wasn't sure what "multi method" means |
19:48 |
[particle] |
ok, it means more than one method signature can be defined |
19:49 |
[particle] |
so a user can provide their own method of the same name with a different sig |
19:50 |
[particle] |
but as specced, it only takes Str now |
19:51 |
offerkaye |
Since in P5 it can also work on a list, I hope that gets improved sometime |
19:52 |
offerkaye |
Anyway thanks for the help [particle] . |
19:53 |
[particle] |
offerkaye: it can... you can patch the spec. |
19:53 |
[particle] |
if @Larry doesn't like it, it'll get reverted. |
19:53 |
[particle] |
that's how we operate here, don't be shy. |
19:53 |
offerkaye |
:) |
19:54 |
|
d4rt joined #perl6 |
19:57 |
offerkaye |
[particle]++,maybe you could explain to me the other parts of "our Str multi method chomp ( Str $string: ) is export"? I guess the "( Str $string: ) is the argument part? But what is the "our" and "is export"? And why "Str $string" and not just "Str"? |
19:58 |
[particle] |
( Str $string: ) is the method's signature, it defines the parameters that are accepted |
19:58 |
araujo |
snarkyboojum, hehe that is a nice one |
19:58 |
|
tadzik joined #perl6 |
19:58 |
[particle] |
Str $string means that you automatically have the first parameter named $string in your code |
19:59 |
tylercurtis |
"Str multi method ..." means it returns a Str. |
20:00 |
[particle] |
'our' means it's package scoped, and is the default, so 'sub foo(...) {...}' mean sthe same as 'our sub foo(...) {...}' |
20:01 |
[particle] |
offerkaye: for the gory details, S06, S11 and S12 have lots of info |
20:01 |
tylercurtis |
[particle]: our is there so the return type can precede the "multi method" part? |
20:01 |
[particle] |
our is there to be explicit, if i understand correctly |
20:01 |
|
Ross joined #perl6 |
20:02 |
offerkaye |
"you automatically have the first parameter named $string in your code" - I don't really understand that. Could you give me an example? |
20:04 |
|
jhuni joined #perl6 |
20:05 |
offerkaye |
Also I'm not sure why the spec would define the scope of a function - isn't that the code's task? If I write " my $str = chomp ("foo\n"); ", $str will not be package scoped it will be lexically scoped... |
20:05 |
tylercurtis |
offerkaye: The function chomp is still package scoped to the Str class. |
20:06 |
offerkaye |
star: {my $str = chomp ("foo\n");} ; say $str; |
20:06 |
p6eval |
star 2010.07: OUTPUT«===SORRY!===Symbol '$str' not predeclared in <anonymous> (/tmp/Zm3Ok9xhuM:22)» |
20:07 |
snarkyboojum |
subroutines are lexically scoped by default in Perl 6 |
20:08 |
[particle] |
sorry, i'm on the phone for 10 more minutes or so |
20:08 |
offerkaye |
tylercurtis: ah, you're saying that I can have another "chomp" function which is scoped to the (sorry don't know the name) List class... and I guess that's where the multi method part comes in? |
20:08 |
snarkyboojum |
so they default to my scope not our |
20:08 |
snarkyboojum |
as I understand it |
20:09 |
|
d4rt_ joined #perl6 |
20:09 |
tylercurtis |
offerkaye: in a method's signature, a colon instead of a comma following the first parameter means it's the invocant of the method. The name is just for documentary purposes, which doesn't really matter in this case, but it's nice when the exported method takes multiple arguments. |
20:09 |
tylercurtis |
offerkaye: yes. |
20:10 |
tylercurtis |
snarkyboojum: Not for methods, though, no? |
20:11 |
|
Ross joined #perl6 |
20:11 |
offerkaye |
tylercurtis: what a relief to understand that, thanks :) |
20:11 |
|
Ross joined #perl6 |
20:11 |
offerkaye |
But "means it's the invocant of the method" - what does "invocant" mean? It's *almost* like a word in English ;) |
20:11 |
snarkyboojum |
tylercurtis: I'm just referring to particles example where he states sub foo means the same as our sub foo |
20:12 |
|
d4rt_ joined #perl6 |
20:12 |
offerkaye |
snarkyboojum: [particle] is AFK 10 min, on phone |
20:12 |
tylercurtis |
snarkyboojum: ah, right. |
20:12 |
offerkaye |
In case you were wondering :) |
20:13 |
snarkyboojum |
tylercurtis: according to the spec methods are neither my or our scope, they have 'has' semantics |
20:13 |
offerkaye |
Well, someone is having connection problems tonight... |
20:13 |
[Coke] |
invocant is 'self'. |
20:16 |
tylercurtis |
snarkyboojum: Ah. Why does spec use our scope for exported multi methods? |
20:17 |
offerkaye |
Hmm that still doesn't explain to me why the spec couldn't just say "chomp (Str)" and mean the input argument is of type Str. Also what [particle] wrote ""you automatically have the first parameter named $string in your code" still doesn't make sense to me. Perhaps you're both talking about if someone defines a new chomp method, so inside his code he would get... what? |
20:17 |
offerkaye |
$string? |
20:17 |
offerkaye |
self? |
20:17 |
[Coke] |
offerkaye: chomp is already a method. |
20:17 |
|
yxes joined #perl6 |
20:18 |
[Coke] |
the spec presumably names the args for clarity. I guess it's not working. =-) |
20:18 |
[Coke] |
if you write your own method, you do not have to call the first positional argument $string. |
20:18 |
[Coke] |
(I hope) |
20:18 |
PerlJam |
offerkaye: are you familiar with named parameters? |
20:19 |
[Coke] |
PerlJam: (this isn't a named parameter, is it?) |
20:19 |
PerlJam |
no, it isn't |
20:19 |
PerlJam |
but I think that might be a source of confusion |
20:19 |
offerkaye |
PerlJam: you mean my $obj = Foobar->new({item1=>"foo"}) ? |
20:19 |
[Coke] |
offerkaye: WOOF that's fivey. |
20:20 |
offerkaye |
Ah sry thought PerlJam meant P5 named params |
20:20 |
offerkaye |
I don't know P6 named params sorry :( |
20:20 |
PerlJam |
Hmm |
20:20 |
[Coke] |
offerkaye: so, the fact that the positional argument is mentioned by name is only for explanatory reasons, SFAICT. |
20:21 |
[Coke] |
the other point was that if you define a sub/method to take a (Str $foo), you don't have to do the perl5-y "my $foo = shift"; - you already have a variable called $foo available in teh method body. but that is not tied to the reason for showing it in teh spec. |
20:21 |
offerkaye |
ah! |
20:22 |
offerkaye |
"ou already have a variable called $foo available in teh method body." - that's what I was trying to say - rather badly :) |
20:22 |
offerkaye |
ok that makes sense, thanks :) |
20:22 |
[Coke] |
whee! |
20:24 |
[particle] |
square-bracketed nicks for the win! |
20:24 |
|
ambs joined #perl6 |
20:26 |
offerkaye |
So "our Str multi method chomp ( Str $string: ) is export" means chomp is a function which is globally scoped in the Str package, can be overriden with other "chomp" functions with different signatures and accepts a Str as argument where if you override chomp with your own, you'll get a variable called $string available inside the method body. So far so good? |
20:26 |
|
xinming joined #perl6 |
20:26 |
offerkaye |
And what does "is export" mean? |
20:27 |
PerlJam |
it doesn't actually make any statement about the ability to override chomp |
20:27 |
offerkaye |
:( |
20:28 |
offerkaye |
"[22:48] <[particle]> ok, it means more than one method signature can be defined [22:49] <[particle]> so a user can provide their own method of the same name with a different sig" |
20:28 |
[Coke] |
offerkaye: "where if you override chomp with your own, you'll get a variable called $string available inside the method body. |
20:28 |
offerkaye |
-> points at [particle] ... ;) |
20:28 |
[Coke] |
" |
20:28 |
PerlJam |
offerkaye: right, that's not "overriding" |
20:28 |
[Coke] |
No. |
20:28 |
|
orafu joined #perl6 |
20:28 |
[particle] |
chomp is a method, not a function |
20:29 |
[particle] |
sorry, s/override/define/ |
20:29 |
[Coke] |
the signature of the builtin chomp method does not guarantee that. |
20:29 |
offerkaye |
" provide their own method of the same name" - how would you call it if not to override? |
20:29 |
PerlJam |
offerkaye: participates in multi-method dispatch. |
20:29 |
|
masak joined #perl6 |
20:30 |
masak |
backslash oh slash |
20:30 |
offerkaye |
Good evening masak :) |
20:30 |
masak |
buona sea |
20:30 |
masak |
s/sea/sera/ |
20:30 |
[particle] |
rakudo: multi sub foo (Str $string) {say $string ~ " is a " ~ $string.WHAT; }; multi sub foo (Int $int) {say "$int is an Int";}; foo(1); foo('abc'); |
20:30 |
p6eval |
rakudo efe72c: OUTPUT«1 is an Intabc is a Str()» |
20:30 |
offerkaye |
PerlJam: how does a method "participate in multi-method dispatch." |
20:30 |
PerlJam |
masak: is that greek or something? |
20:30 |
masak |
right, placing backspace right above Enter was a really good idea... |
20:30 |
cognominal |
%*ENV seems readonly :( |
20:30 |
masak |
PerlJam: something. |
20:30 |
[particle] |
offerkaye: see my example above |
20:31 |
[Coke] |
offerkaye: do you know what multi-method dispatch is? |
20:31 |
masak |
PerlJam: hm, seems it's supposed to be one word in Italian: 'buonasera'. guess they use it a lot, then. |
20:31 |
masak |
cognominal: that's a shortcoming in Rakudo, not in the spec. |
20:32 |
PerlJam |
masak: oddly, I think it's because I was seeing the text rather than hearing it that I didn't recognize what language it was. |
20:33 |
offerkaye |
[particle]: yeah I see, sub "foo" can have multiple types of input arguments (and presumably output ones too) |
20:33 |
masak |
PerlJam: oh, I thought you were joking. :P |
20:33 |
PerlJam |
masak: no, just a minor neuronal misfire :) |
20:35 |
offerkaye |
I see now why you were against the word "override", it doesn't, really. But there must be a better way of saying it than "participate in multi-method dispatch.". Maybe "can have more than one signature"? |
20:36 |
masak |
good blog post: http://blogs.perl.org/users/ryan_fox/2010/08/a-matrix-worthy-of-perl-6.html |
20:36 |
masak |
offerkaye: "it multies" :) |
20:37 |
|
nimiezko joined #perl6 |
20:37 |
offerkaye |
:) |
20:37 |
offerkaye |
That could be an inside joke... and for once I would get it :) |
20:37 |
PerlJam |
offerkaye: "override" is like "X replaces Y". "participates in MMD" is more like "X adds to Y" |
20:37 |
[Coke] |
the multi is a shortcut for that. you'd probably never say PIMMD unless you were explaining MMD. |
20:39 |
snarkyboojum |
overloading perhaps c.f. override |
20:39 |
offerkaye |
So "our Str multi method chomp ( Str $string: ) is export" means chomp is a function which is globally scoped in the Str package, accepts a Str as argument by default, can have multiple signatures and if you define your own signature you get a variable $string inside the method body... right? |
20:39 |
PerlJam |
offerkaye: s/function/method/ |
20:39 |
offerkaye |
snarkyboojum: I tend to think of overloading for ops but yeah, could be appropriate. |
20:40 |
offerkaye |
BTW masak did you write "providing snippets of Perl 6 clarification so perfectly worded and so brilliantly illustrative that the unsuspecting reader will be brought close to tears"? |
20:41 |
masak |
that was me, yes. |
20:41 |
[Coke] |
offerkaye: stop repeating "you get a variable named..." |
20:41 |
|
tommyd joined #perl6 |
20:41 |
offerkaye |
masak: you are my God :D |
20:41 |
PerlJam |
offerkaye: he may have misinterpretted why the reader is crying however ;-) |
20:41 |
offerkaye |
lol |
20:41 |
masak |
offerkaye: that sounds a bit too responsible fot my taste... |
20:41 |
tadzik |
offerkaye: where is this from? |
20:42 |
offerkaye |
u4x README |
20:42 |
masak |
u4x README. |
20:42 |
tadzik |
:D |
20:42 |
snarkyboojum |
masak: unless you want to be a Greek god :P |
20:42 |
offerkaye |
snarkyboojum: Italian God at this moment? |
20:42 |
masak |
snarkyboojum: Greek god -- does it come with admirable abs? |
20:43 |
offerkaye |
[Coke]: So you don't get $string inside the method body? |
20:43 |
[particle] |
it comes with a pile of debt. |
20:43 |
tylercurtis |
offerkaye: if you have a $string parameter, yes. |
20:43 |
[Coke] |
offerkaye: which method body? |
20:43 |
[Coke] |
tylercurtis: SSSH. |
20:43 |
snarkyboojum |
masak: the alliteration is killing me :) |
20:43 |
[Coke] |
the method in the spec? |
20:44 |
[particle] |
rakudo: multi sub foo (Str $string) {say $string ~ " is a " ~ $string.WHAT; }; foo('abc'); # note i never declared 'my $string' |
20:44 |
offerkaye |
[Coke]: "tylercurtis: SSSH." hehe :) |
20:44 |
p6eval |
rakudo efe72c: OUTPUT«abc is a Str()» |
20:44 |
[Coke] |
or the method that you define in your own code? |
20:44 |
offerkaye |
The method you define |
20:45 |
offerkaye |
How could you have access to the original spec "chomp" body? Presumably that's safe inside Rakudo's guts... |
20:45 |
masak |
snarkyboojum: oh, the alliteration's accidental. :) complete coincidence. |
20:46 |
offerkaye |
rakudo: multi sub chomp (Str $string) {say $string ~ " is a " ~ $string.WHAT; }; chomp('abc'); # note i never declared 'my $string' |
20:46 |
p6eval |
rakudo efe72c: OUTPUT«abc is a Str()» |
20:46 |
PerlJam |
offerkaye: in theory, everything is introspectable. |
20:46 |
[Coke] |
offerkaye: right. so if it's on the method you define... the variable name used in the argument in the spec's has NOTHING to do with the name of the variable you pick. |
20:46 |
snarkyboojum |
masak: :P |
20:46 |
offerkaye |
Did I just overload or override? hmmm... |
20:46 |
masak |
offerkaye: having $string in a signature is just as much a declaration as 'my $string' |
20:46 |
[Coke] |
so the fact that it says $string does NOT mean that YOU will get a $string. |
20:46 |
[Coke] |
the fact that YOU say $string does. |
20:47 |
masak |
offerkaye: override. |
20:47 |
[Coke] |
whoever said that you is conflating method signatures in general with the definitions in the spec. |
20:47 |
offerkaye |
[Coke]: so you're saying, I only got $string because I declared it? |
20:47 |
[Coke] |
yes. |
20:48 |
[Coke] |
if YOU write "method chomp (Str $strung) {}".... you name your argument $strung, and you get that variable in YOUR method body. |
20:48 |
[Coke] |
the fact that you're adding another chomp doesn't mean you get the original chomp's $string. |
20:48 |
[Coke] |
your method doesn't know anything about that. |
20:49 |
masak |
right, each multi is an island. |
20:49 |
[particle] |
an introspectable island |
20:51 |
|
soc joined #perl6 |
20:51 |
soc |
hi |
20:51 |
PerlJam |
soc: greets |
20:51 |
soc |
just wanted to say thanks for your great string implementation |
20:51 |
alester |
I smell a test case! http://zmievski.org/2010/08/the-prime-that-wasnt |
20:51 |
alester |
Or should I put it in Parrot? |
20:52 |
soc |
perl6 seems to be the first programming language ever which did touch a unicode book before implementing strings :-) |
20:52 |
offerkaye |
So if the spec said ""our Str multi method chomp ( Str ) is export" without the "$string:" part, that would mean... what? That an overloaded chomp with a different signature (or the same for that matter) doesn't have automatic access to it's input argument/s? |
20:52 |
|
hercynium joined #perl6 |
20:52 |
[Coke] |
alester: <squint> is that perl6 code? |
20:52 |
[particle] |
soc: thanks! |
20:53 |
alester |
No, it's a regex. |
20:53 |
soc |
the possibility to choose between bytes, codes and graphs is a great idea, forcing people to think about what they want |
20:53 |
alester |
but it fails in PHP land. |
20:53 |
alester |
because of backtracking. |
20:53 |
tylercurtis |
soc: hopefully, we'll even have that actually implemented at some point. :) |
20:54 |
soc |
tylercurtis: but the idea looks good at the moment |
20:54 |
soc |
and it works halfway ... |
20:54 |
offerkaye |
s/it's/its/; |
20:54 |
[Coke] |
alester: I would throw it at nqp-rx, after translating it P6. |
20:54 |
alester |
which is in Parrot, right? |
20:54 |
soc |
and standardizing the internal representation/normalization in which UTF-8 is stored internally is a very big improvement too |
20:55 |
[Coke] |
hugme: nqp-rx? |
20:55 |
soc |
that's makes string comparisons in O(n) possible again (i hope) |
20:55 |
PerlJam |
soc: the person you need to thank really is TimToady ... he's the one who can "see around corners" and comes up with stuff like this :) |
20:55 |
soc |
does someone know if the specification says something about sorting the diacritic combinung marks? |
20:56 |
[Coke] |
parrot includes nqp-rx, but it comes from ... |
20:56 |
soc |
PerlJam: ok! |
20:56 |
[Coke] |
http://github.com/perl6/nqp-rx |
20:56 |
soc |
TimToady: *ping* |
20:56 |
[Coke] |
but that's just my vote. |
20:56 |
alester |
I don't know from nqp. Waaah. |
20:56 |
alester |
But I really do want to help out. |
20:56 |
alester |
One of my Growth Goals at work is to learn Perl 6. |
20:57 |
tylercurtis |
alester: NQP is a subset-ish of Perl 6. |
20:57 |
alester |
right. |
20:58 |
[particle] |
soc: i believe that you can modify the sort to be diacritic-agnostic/aware... looking |
20:58 |
alester |
well, now wait. |
20:58 |
alester |
oh, that's the test repo? |
20:58 |
[Coke] |
but all the basic regex stuff in parrot and rakudo comes from there. |
20:58 |
alester |
oh, I just don't know. |
20:58 |
alester |
Waah. |
20:58 |
alester |
I really need to write code. |
20:58 |
PerlJam |
[particle]: I seem to remember something analogous to :ignorecase for diacritics |
20:59 |
[particle] |
aye... :ignoreaccent ? |
20:59 |
[Coke] |
... I guess it depends on what you're testing. could be a regression test for rakudo, e.g. that tested across potentialy regex impl. |
20:59 |
[Coke] |
<shrug> write it in perl6. that's easier to do anyway. |
21:00 |
alester |
and then backport it down. |
21:00 |
|
bgs100 joined #perl6 |
21:00 |
bgs100 |
python |
21:00 |
bgs100 |
Er |
21:00 |
bgs100 |
Fail |
21:00 |
alester |
my big overarching goal is to write File::Next in P6 |
21:00 |
bgs100 |
Was trying to join the channel; ignore please |
21:00 |
[particle] |
alester: that' was going to be my first suggestion |
21:00 |
masak |
bgs100: you succeeded! welcome! |
21:00 |
PerlJam |
alester: and then ack? :) |
21:00 |
|
trexy joined #perl6 |
21:01 |
tadzik |
alester: couldn't we integrate it with File::Find? |
21:01 |
bgs100 |
Hi masak, yay :p |
21:01 |
alester |
tadzik: Why would I want to? |
21:01 |
tadzik |
alester: the P6 File::Find returns a lazy list |
21:01 |
alester |
hmm |
21:01 |
tadzik |
alester: I just don't think File::Next is so needed now |
21:01 |
tadzik |
File::Find does not suck anymore ;) |
21:01 |
masak |
bgs100: so, you're interested in Perl 6 and Python? :) |
21:01 |
tadzik |
well, maybe the code does, but at least the concept isn't broken :) |
21:02 |
bgs100 |
masak, Yes |
21:02 |
trexy |
hi |
21:02 |
masak |
bgs100: me too. |
21:02 |
masak |
trexy: hi! |
21:02 |
trexy |
just downloaded Rakudo * |
21:02 |
trexy |
well done on the release |
21:02 |
masak |
trexy: yay! |
21:02 |
trexy |
as an avid lurker for 5+ years |
21:02 |
trexy |
it's been great to see it come to fruition |
21:02 |
bgs100 |
Hi trexy |
21:02 |
tadzik |
alester: so the CPAN synopsis example would be my $list = find('/tmp'); for $list -> $file { #`[do something] } |
21:02 |
trexy |
hi |
21:02 |
bgs100 |
masak, ah :) |
21:03 |
masak |
trexy: what's the difference between an ordinary lurker and an avid one? :P |
21:03 |
trexy |
indeed |
21:03 |
trexy |
well I suppose I feel part of the channel albeit |
21:03 |
trexy |
my active contributions are small |
21:04 |
tadzik |
alester: anyway, File::Next seems like non-sucky File::Find replacement, so I see your point :) |
21:04 |
trexy |
I just opened the book and was surprised to see the butterfly didn't look like Camelia |
21:04 |
masak |
trexy: that makes me genuinely happy. |
21:04 |
trexy |
I'd just like to vote for Camelia++ |
21:04 |
masak |
trexy: would you rather have Camelia there? |
21:04 |
masak |
ok. |
21:04 |
trexy |
absolutely |
21:04 |
trexy |
I think she is a strong brand |
21:04 |
soc |
perl6: $str1 = "tést"; $str2 = "te\u0301st"; if ($str1 == $str2) {print "Same"}; |
21:05 |
p6eval |
pugs: OUTPUT«***  Unexpected " =" expecting "::" Variable "$str1" requires predeclaration or explicit package name at /tmp/hoK8ldT1Sv line 1, column 6» |
21:05 |
p6eval |
..rakudo efe72c: OUTPUT«===SORRY!===Unrecognized backslash sequence: '\u' at line 22, near "0301st\"; i"» |
21:05 |
trexy |
and I realise she may take some time to get used to |
21:05 |
PerlJam |
trexy: a little too strong for some people :) |
21:05 |
soc |
ouch, sorr< |
21:05 |
trexy |
but a brand needs to be distinctive |
21:05 |
snarkyboojum |
trexy: I was surprised too, but I also found the replacement more gentle on the eyes :) |
21:05 |
trexy |
yes |
21:05 |
masak |
me too. |
21:05 |
trexy |
I think the replacement is very nice/aesthetic etc |
21:05 |
bgs100 |
Hmm |
21:05 |
trexy |
however it needs to have personality imho |
21:06 |
ash_ |
ping moritz_ |
21:06 |
|
jferrero joined #perl6 |
21:06 |
* bgs100 |
should hurry up and download Rakudo |
21:06 |
trexy |
a mascot logo needs to have some 'spirit' |
21:06 |
trexy |
and O(fun) etc |
21:06 |
alester |
waaaah, emebedded tabs in modules |
21:06 |
* tadzik |
still thinks having a Bug as a language mascott is not the best idea |
21:06 |
PerlJam |
someone should do an animation of sri's butterfly morphing into Camelia |
21:06 |
trexy |
that would be cool |
21:07 |
trexy |
I understand what sri was driving at |
21:07 |
|
ascent_ joined #perl6 |
21:07 |
alester |
What is Cool? |
21:07 |
trexy |
but I think there is a requirement for a 'love' mark |
21:07 |
trexy |
something that people can have an emotional attachment too |
21:07 |
|
drbean joined #perl6 |
21:07 |
tadzik |
alester: it makes the class have the usual methods, I used this so the stringified filename could be used as a normal string, e.g. .IO can be used on it |
21:07 |
trexy |
like all good trade marks in the end it is a collection of 'fuzzies' |
21:08 |
trexy |
;-) |
21:08 |
alester |
tadzik: You wrote File::Find then? |
21:08 |
tadzik |
alester: yep |
21:08 |
PerlJam |
or maybe a little movie of a realish butterfly flying around where it lands on a camel's hump ... and then a few seconds later they are both *crushed* by Camelia :-> |
21:08 |
trexy |
Camelia - can be that mark imho |
21:08 |
frettled |
trexy, masak: at Oslo.pm this afternoon, those who knew about Camelia's looks were pleasantly surprised about which the book draft had chosen, and those who didn't know anything, thought it looked good all by itself. |
21:08 |
tadzik |
alester: the P6 one of course :) |
21:08 |
alester |
And so Find.pir is a copmiled-down version of Find.pm? |
21:08 |
tadzik |
alester: probably, yes |
21:09 |
trexy |
I think it looks good to - but that does not necessarily make for a good trade mark |
21:09 |
alester |
It seems strange to me to install modules under /usr/local/lib/parrot |
21:09 |
tadzik |
oh btw, did today's pmichaud++ patch for rakudo made it able to compile the standalone scripts? |
21:09 |
trexy |
that needs to be applied to lots of different things (mugs, favicon, tshirts) etc |
21:09 |
tadzik |
I wouldn't mind a Camelia t-shirt I must say |
21:10 |
trexy |
anyway just wanted to register a camelia++ and hope that people can get behind her - as she represents a chance to get some strong branding for Perl |
21:10 |
frettled |
I think the idea of a multi-coloured butterfly works well, even if said butterfly doesn't look exactly like Camelia. |
21:11 |
snarkyboojum |
I would buy a Camelia t-shirt :) |
21:11 |
* tylercurtis |
also likes Camelia. |
21:11 |
trexy |
me too |
21:12 |
tadzik |
alester: that's what Star does? |
21:12 |
snarkyboojum |
or even a Camelia sticker to stick to my laptop :) |
21:12 |
|
ambs joined #perl6 |
21:12 |
alester |
That seems to be the case, yes |
21:13 |
tadzik |
strange. Well, I install them all to my ~/.perl6/lib, so I dunno |
21:13 |
tadzik |
alester: the case? It doesn't work there? |
21:13 |
|
am0c joined #perl6 |
21:13 |
alester |
I didnt' say it doesn't work. |
21:13 |
alester |
I just figured that the Perl modules would be installed separate from /usr/local/lib/parrot |
21:13 |
tadzik |
hmm |
21:14 |
alester |
It's at /usr/local/lib/parrot/2.6.0-devel/languages/perl6/lib/File/Find.{pm,pir} |
21:14 |
tadzik |
I think the thing is, the .pirs are not Perl-only |
21:14 |
pmichaud |
good evening, #perl6 |
21:14 |
tadzik |
any Parrot language can use .pir modules, no? |
21:14 |
alester |
Sure, but then why the .pm there? |
21:14 |
tadzik |
dunno |
21:14 |
tadzik |
pmichaud: 'evening |
21:14 |
trexy |
ages ago I wrote up a something about trade marks for Perl - please disregard the commentary related to "perl.com" - but I think Camelia ticks a lot of these boxes: |
21:14 |
aCiD2 |
What would a perl 6 regular expression look like for match any amount of stars, followed by text look like. I have many lines like this, and want to match the text of each line "** Foo" -> "Foo" |
21:15 |
trexy |
lovemarks for Perl: http://thegoo.org/love-marks-for-perl.pdf |
21:15 |
aCiD2 |
I have: token node { ^^ '*'+ \s+ $<text>=[\N*] \n } but it doesn't seem to work right |
21:16 |
|
briang joined #perl6 |
21:16 |
[particle] |
aCiD2: any amount of stars, including 0? |
21:16 |
pmichaud |
rakudo: "** Foo" ~~ token { ^^ '*' + \s+ $<text>=[\N*] \n }; say $<text> |
21:16 |
p6eval |
rakudo efe72c: OUTPUT«» |
21:16 |
aCiD2 |
sorry, 1 or more |
21:16 |
pmichaud |
rakudo: "** Foo" ~~ token { ^^ '*'+ \s+ $<text>=[\N*] \n }; say $<text> |
21:16 |
[particle] |
ok |
21:16 |
masak |
slides work & |
21:16 |
p6eval |
rakudo efe72c: OUTPUT«» |
21:16 |
|
Guest23195 left #perl6 |
21:16 |
pmichaud |
oh, there's no \n there. |
21:17 |
|
Mowah joined #perl6 |
21:17 |
pmichaud |
rakudo: "** Foo\n" ~~ token { ^^ '*'+ \s+ $<text>=[\N*] \n }; say $<text> |
21:17 |
p6eval |
rakudo efe72c: OUTPUT«Foo» |
21:17 |
pmichaud |
there. |
21:17 |
aCiD2 |
hrm, is that different to what I have? |
21:17 |
tylercurtis |
aCiD2: your example didn't have a newline in the text. |
21:18 |
offerkaye |
PerlJam, [particle], [Coke] - thank you all for taking the time to help me better understand the spec. I hope it helps me write better docs :) |
21:18 |
aCiD2 |
my example input is multiple lines of that. But if a newline proceeds (a blank new line) then the match seems to capture a * |
21:18 |
tadzik |
oh wow. Is that colomon who did loop optimizations recently? |
21:18 |
soc |
does someone know how to get rakudo star? ist there a debian package or a ppa somewhere? |
21:18 |
|
ascent_ joined #perl6 |
21:18 |
tadzik |
soc: I doubt it, only the .tar.gz on github |
21:19 |
soc |
mhh ... debian-experimental has it ... |
21:19 |
soc |
let's see if it installs on ubuntu .. |
21:19 |
tadzik |
oh |
21:20 |
pmichaud |
phenny: tell moritz_ I decided to work from my room (couldn't get network addr on 1st floor wifi) |
21:20 |
phenny |
pmichaud: I'll pass that on when moritz_ is around. |
21:20 |
offerkaye |
Good night all. |
21:20 |
aCiD2 |
http://gist.github.com/507173 ok, this is what I'm working with |
21:20 |
aCiD2 |
but no output from this... |
21:20 |
bgs100 |
Wheee |
21:21 |
tadzik |
http://nopaste.snit.ch/22538 -- damn, that's something |
21:21 |
PerlJam |
rakudo: say '1' x 22201 ~~ /^ 1? $ | (11+?) $0+ $/ ?? "composite" !! "prime"; # because I was curious |
21:21 |
tylercurtis |
aCiD2: the empty lines are probably problematic |
21:21 |
p6eval |
rakudo efe72c: ( no output ) |
21:22 |
pmichaud |
tylercurtis++ # correct, it doesn't match empty lines |
21:22 |
PerlJam |
I guess it's just too slow |
21:22 |
pmichaud |
in fact, it doesn't match the first empty line |
21:22 |
pmichaud |
so it stops. |
21:23 |
pmichaud |
(The first empty line being the one before "* Hello\n") |
21:23 |
aCiD2 |
so do I surround <node> with \s* ? |
21:23 |
pmichaud |
aCiD2: something like that. Could also do: token TOP { [ <node> | ^^ \h* \n ]+ } |
21:24 |
|
wamba joined #perl6 |
21:24 |
aCiD2 |
so for this to match, <node> has to match directly from the first character? Which in this case it doesn't do because there is no leading star |
21:24 |
|
soc left #perl6 |
21:24 |
tadzik |
g'night #perl6 |
21:25 |
PerlJam |
pmichaud: does nqp/rakudo distinguish between | and || now? |
21:25 |
pmichaud |
PerlJam: no. |
21:26 |
|
trexy left #perl6 |
21:28 |
sorear |
it's pmichaud! |
21:28 |
moritz_ |
o/ |
21:28 |
phenny |
moritz_: 19:41Z <[Coke]> ask moritz_ - what was the blocker to building all the bits of core.pm separately and then combining the PIR instead of the PM? |
21:28 |
sorear |
hi |
21:28 |
phenny |
moritz_: 21:20Z <pmichaud> tell moritz_ I decided to work from my room (couldn't get network addr on 1st floor wifi) |
21:29 |
pmichaud |
phenny: tell [Coke] the main blocker is that all of the bits of core.pm have to be in the same lexical scope.... and that's a challenge to do in the current rakudo + pir implementation. |
21:29 |
phenny |
pmichaud: I'll pass that on when [Coke] is around. |
21:29 |
pmichaud |
phenny: tell [Coke] but we discussed it at the hackathon today and I think I may have an interim solution to enable separate compilation of the core setting bits. |
21:29 |
phenny |
pmichaud: I'll pass that on when [Coke] is around. |
21:32 |
sorear |
pmichaud: Did I ever ask you about the stack of backtrack points vs. lazy lists question? |
21:32 |
pmichaud |
sorear: I don't recall if you did or not |
21:34 |
moritz_ |
std: rx:foo/ a / |
21:34 |
p6eval |
std 31897: OUTPUT«[31m===[0mSORRY![31m===[0mUnrecognized adverb :foo(1) at /tmp/9dEMEcYRwL line 1:------> [32mrx[33m⏏[31m:foo/ a /[0mCheck failedFAILED 00:01 115m» |
21:34 |
moritz_ |
std: rx:g/ a / |
21:34 |
|
wamba joined #perl6 |
21:34 |
p6eval |
std 31897: OUTPUT«ok 00:01 115m» |
21:34 |
moritz_ |
that is... curious |
21:34 |
sorear |
howso? |
21:34 |
sorear |
pmichaud: TimToady talks about backtracking as being simply a lazy list of cursors |
21:35 |
moritz_ |
sorear: there are two kinds of adverbs: those that make sense on regexes itself, and those that make sense on calls that involve regexes |
21:35 |
sorear |
pmichaud: additionally, that cursors have a transaction chain, and nonlocal cut operators using that chain to disable generators |
21:35 |
moritz_ |
sorear: for example :g only makes sense on calls (like s:g///, m:g//), not on rx// |
21:36 |
bgs100 |
std: say "hi" |
21:36 |
p6eval |
std 31897: OUTPUT«ok 00:01 115m» |
21:36 |
pmichaud |
sorear: sure, I've heard TimToady remark about them being lazy lists of cursors |
21:36 |
sorear |
pmichaud: (outside Cursor.pmc) I have a slightly bad feeling about this setup. Do you share it? |
21:37 |
pmichaud |
I chose not to do it that way in nqp-rx because I can get (I think) more efficient backtracking by simply keeping a resizable integer array of backtracking offsets than I can by keeping closures that produce lazy list structures |
21:38 |
moritz_ |
std: rxs/a/ |
21:38 |
p6eval |
std 31897: OUTPUT«[31m===[0mSORRY![31m===[0mBogus term at /tmp/JKUa0ncTLF line 1 (EOF):------> [32mrxs/a/[33m⏏[31m<EOL>[0mUndeclared routines: 'a' used at line 1 'rxs' used at line 1Parse failedFAILED 00:01 116m» |
21:38 |
|
cognominal joined #perl6 |
21:38 |
sorear |
Are you treating this as a case of Not Quite, or do you want to change the vision? |
21:39 |
pmichaud |
it's one of those places where I figure there may be competing implementations of a common set of functionality, and a standard will arise from evaluating the different implementations. (more) |
21:40 |
pmichaud |
so, I'm taking more of a "wait and see" attitude to see if there's some compelling reason to choose one over the other. |
21:40 |
moritz_ |
std: s:overlap/a/b/ |
21:40 |
p6eval |
std 31897: OUTPUT«ok 00:01 115m» |
21:41 |
pmichaud |
at the moment, I'd probably tend to stick with the nqp-rx approach, but I can see why there might be good arguments for a purer approach a-la Cursor.pmc |
21:41 |
moritz_ |
one reason is probably that it's easier to do matching with non-regex code |
21:42 |
snarkyboojum |
pmichaud++ # I just built a working fakecutable from rakudo on OS X |
21:42 |
pmichaud |
snarkyboojum: \o/ |
21:42 |
snarkyboojum |
v. cool :) |
21:42 |
pmichaud |
I'm also planning (time permitting) to add a --target=pbc option this week, and I might even get HLL compiler to have an option to go all the way to a fakecutable |
21:43 |
|
pyrimidine left #perl6 |
21:43 |
snarkyboojum |
noticed that it doesn't seem to work for scripts reading from @*ARGS |
21:43 |
pmichaud |
snarkyboojum: that's possible, yes. |
21:44 |
snarkyboojum |
pmichaud: cool - but it does work! something cool about running a perl6 executable :D |
21:46 |
pmichaud |
getting tired here, so heading off for a nap |
21:46 |
pmichaud |
bbl |
21:49 |
|
lucs joined #perl6 |
21:56 |
|
araujo joined #perl6 |
21:56 |
|
ascent_ joined #perl6 |
21:58 |
|
ascent_ joined #perl6 |
22:03 |
|
M_o_C joined #perl6 |
22:07 |
|
spinclad joined #perl6 |
22:09 |
[Coke] |
tell moritz_ Ok, I'll just hold longer. =-) |
22:09 |
phenny |
[Coke]: 21:29Z <pmichaud> tell [Coke] the main blocker is that all of the bits of core.pm have to be in the same lexical scope.... and that's a challenge to do in the current rakudo + pir implementation. |
22:09 |
phenny |
[Coke]: 21:29Z <pmichaud> tell [Coke] but we discussed it at the hackathon today and I think I may have an interim solution to enable separate compilation of the core setting bits. |
22:10 |
[Coke] |
phenny: tell moritz_ Ok, I'll just hold longer. =-) |
22:10 |
phenny |
[Coke]: I'll pass that on when moritz_ is around. |
22:14 |
|
ericsmith joined #perl6 |
22:15 |
ericsmith |
I just installed rakudo-star-2010.07 and was first struck by the slow speed of execution. |
22:15 |
ericsmith |
Just ran a few command with perl6 -e " " and wondered why it was so slow? |
22:15 |
exodist |
ericsmith, thats probably everyones reaction |
22:16 |
ericsmith |
I hope it improves ... |
22:17 |
sorear |
that's not the slow speed of execution you're seeing |
22:17 |
sorear |
it's not like perl6 is "executing" the space |
22:19 |
avuserow |
ericsmith: speed is improving with every release |
22:19 |
tylercurtis |
sorear: it's the slow speed of executing the setting, though, right? |
22:19 |
avuserow |
ericsmith: http://www.modernperlbooks.com/mt/2010/07/an-accurate-comparison-of-perl-5-and-rakudo-star.html |
22:20 |
sorear |
tylercurtis: more like the slow speed of the parrot bytecode loader |
22:20 |
sorear |
tylercurtis: in case you were wondering why #parrot spends so much time on packfiles |
22:20 |
avuserow |
that might be a good read for why it's slow and some goals |
22:21 |
sorear |
perl5 starts up so quickly because it's compiled all the way to machine code and can be demand paged by the OS |
22:21 |
|
yxes left #perl6 |
22:21 |
sorear |
rakudo is considerably larger (due to inefficient bytecode formatting) and mostly bytecode which has to be explicitly loaded |
22:21 |
sorear |
we're trying to fix this on multiple fronts |
22:22 |
sorear |
more efficient bytecode, better bytecode generator, bytecode demand loading |
22:23 |
ericsmith |
Thanks avuserow for that reference, digested ... |
22:36 |
|
drbean joined #perl6 |
22:40 |
jnthn |
ericsmith: A bunch of the core Rakudo team met today at YAPC::Europe conference and discussed getting things faster. :-) It's an important goal for us. |
22:41 |
jnthn |
But first goal was make things work at all. :-) |
22:42 |
Casan |
jnthn: how is the italian beer? |
22:44 |
jnthn |
Casan: I dunno, I spent the evening drinking Paulner Weiss and Killkenny ;-) |
22:45 |
jnthn |
I can certainly say the range of beer available here makes me happy though. :-)] |
22:47 |
Casan |
jnthn: splendid. I have to pass pisa this time. but I'm following the collaboration with great interest. love to watch the resulting slides/videos on perl6 from the conf. hopefully soon there will be presentations covering various types of app design patterns with rakudo. |
22:47 |
|
IllvilJa joined #perl6 |
22:48 |
ash_ |
ping moritz_ |
22:49 |
jnthn |
Casan: You in Denmark at all these days? |
22:50 |
Casan |
jnthn: rarely. my new base is in sophia antipolis and by the riviera. I come by once in a while. maybe I should give you a buzz next time I land in cph.. you are also welcome here of course. |
22:51 |
|
ascent_ joined #perl6 |
22:51 |
|
Helios joined #perl6 |
22:51 |
jnthn |
Casan: Let me know. I'm living in Lund these days, so CPH is easy. :-) |
22:51 |
jnthn |
Sophia as in Bulgaria? |
22:51 |
Casan |
jnthn: yep, I noticed, sounds like an interesting job for you. |
22:52 |
Casan |
Sophia as in France.. sophia antipolis is a science park near cannes and nice |
22:53 |
Casan |
live by the sea, and go up in the hills for job+edu |
22:53 |
jnthn |
Aha, OK. :-) |
22:53 |
jnthn |
Going to be at the OSDC in Paris? |
22:53 |
jnthn |
(I plan to be. ) |
22:56 |
Casan |
I'll try to fit it in, could be interesting. I tried to look up the date, but didn't find it. |
22:56 |
Casan |
ahh oct. |
22:56 |
jnthn |
I think second weekend of oct |
22:57 |
Casan |
hehe going to french websites, even when they are in English gets me easily confused. |
22:59 |
sorear |
yes? |
22:59 |
Casan |
jnthn: sounds good, if $work|$edu allows. I'll let you know. now go enjoy more beers, and the rest of pisa. |
23:00 |
Casan |
good night. |
23:00 |
jnthn |
Well, I enjoyed plenty of beers already tonight (started that 6-7 hours ago), and now it's probably more sensible to sleep. ;-) |
23:01 |
|
davidfetter joined #perl6 |
23:01 |
Casan |
hah yeah, I know the program. I also know that you are a trained professional ;) tty mate. |
23:02 |
jnthn |
night o/ |
23:02 |
|
jaldhar joined #perl6 |
23:13 |
|
ascent_ joined #perl6 |
23:14 |
|
Helios joined #perl6 |
23:32 |
|
justatheory joined #perl6 |
23:38 |
|
risou joined #perl6 |
23:56 |
|
masonkramer joined #perl6 |
23:56 |
sorear |
I wonder if the poeple on p6l talking about smart matching know they're all going to be ignored. |
23:57 |
* sorear |
doesn't have the heart to tell them |
23:58 |
|
risou_ joined #perl6 |
23:58 |
|
HarryS joined #perl6 |
23:59 |
|
Psyche^ joined #perl6 |