»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by moderator on 29 July 2010.
00:26 jaldhar joined
Casan where do I find the documentation on the run method for interacting with the system console from rakudo? 00:26
sorear there isn't any 00:30
ingy greetings 00:31
sorear it doesn't really need it, as it has no features to speak of
melte is it the same as p5's system()?
sorear no
it's the same as p5's system, minus the LIST form 00:32
melte :/ 00:33
why would they get rid of that?
sorear also minus setting $?, setting ${HILD_ERROR_NATIVE}, control of argv[0], and autoflushing
melte: because there was a concious decision to start from scratch
every single feature of p5 has been thrown out 00:34
some of them have been replaced
melte yes
sorear the *only* things Rakudo run supports is my $return-value = run("this string is passed to your shell") 00:35
melte I suppose somewhere in the p6 docs I could find the reasoning behind a less featureful function 00:36
there's no exec either, eh
00:37 drbean joined 00:44 waste joined
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:48
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:49
melte Casan: that's like perl5. use qx 00:51
Casan melte: can you give an example 00:56
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␤»
melte yeah
sorear melte: software does not spring forth fully formed 00:58
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
sorear: okay, that I didn't know
sorear: the way you said it above about a conscious decision made me think it was a design decision
sorear right, it was a design decision to start over 01:00
melte ah I see exec is now runinstead (NYI) 01:03
and that the S29 explanation of run gives different argument conventions 01:04
Casan ok thanks. learned some. didn't find qx anywhere before. 01:06
01:07 PZt joined
melte in perl5 it was also backticks, e.g. `ls` 01:07
snarkyboojum guten morgen perl6 type hackers 01:08
01:08 plobsing joined 01:13 pugssvn joined
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)
..[0x2b1a7cd3f337]␤/home/p6eval//p2/lib/libparrot.so.2…
01:20 masonkramer joined
avuserow rakudo: $_ = {say "oh hi"}; say .perl; 01:21
p6eval rakudo 966797: OUTPUT«{ ... }␤»
avuserow rakudo: $_ = {say "oh hi"}; .(); 01:22
p6eval rakudo 966797: OUTPUT«oh hi␤»
avuserow rakudo: $_ = {"oh hi"}; $_ .= (); .say;
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
..[0x2ad47…
01:23 pugssvn joined
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
..[0x2b94b…
avuserow rakudo: $_ = {return "oh hi"}; .().say;
p6eval rakudo 966797: ( no output )
avuserow rakudo: $_ = {; return "oh hi"}; .().say; 01:25
p6eval rakudo 966797: ( no output )
01:30 pugssvn joined 01:48 orafu joined 01:53 pugssvn joined 01:58 LaVolta joined 02:05 pugssvn joined, LaVolta joined 02:06 aesop joined 02:10 pugssvn joined 02:13 spinclad joined
Util Does Rakudo have a working read-a-line-at-a-time pipe? What is the syntax? In Perl5, it would be: 02:27
open my $fh, '-|', 'find /' or die "Can't open pipe: $!";
waste std: :( \\1 ) 02:29
p6eval std 31891: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed parameter at /tmp/M2_tKav71t line 1:␤------> [32m:( [33m⏏[31m\\1 )[0m␤ expecting any of:␤ name␤ parameter␤ signature␤ statement end␤ statement list␤Parse failed␤FAILED 00:01 115m␤»
waste std: :( \\(1) ) 02:33
p6eval std 31891: OUTPUT«ok 00:01 116m␤»
waste rakudo: say \\1 eqv \\(1) 02:36
p6eval rakudo 966797: OUTPUT«1␤»
02:40 pugssvn joined
sorear what's going on with feather3? 02:40
Util: I doubt it 02:41
02:44 TiMBuS joined
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:45
waste std: $_ = 1; .++ 02:49
p6eval std 31891: OUTPUT«ok 00:01 117m␤»
waste rakudo: $_ = 1; .++ 02:50
p6eval rakudo 966797: OUTPUT«===SORRY!===␤Method 'unshift' not found for invocant of class 'Undef'␤»
[Coke] phenny: .u square 02:55
02:59 pugssvn joined, jaldhar joined
waste rakudo: .say for Array.pred, Array.succ 03:09
p6eval rakudo 966797: OUTPUT«Arrax()␤Arraz()␤»
waste rakudo: .say for +Array.^methods, +Hash.^methods 03:11
p6eval rakudo 966797: OUTPUT«170␤9␤»
Util sorear: thanks 03:13
waste rakudo: $_ = [2]; .say for .WHAT, $_++, .WHAT, ++$_
p6eval rakudo 966797: OUTPUT«Array()␤2␤Str()␤4␤»
waste rakudo: $_ = [2]; .say for .WHAT, ++$_, .WHAT, ++$_ 03:14
p6eval rakudo 966797: OUTPUT«Array()␤4␤Str()␤4␤»
waste nm the last one; 03:16
or... brain freeze :/ 03:19
rakudo: $_ = 2; .say for ++$_, ++$_; 03:20
p6eval rakudo 966797: OUTPUT«4␤4␤» 03:21
waste rakudo: $_ = 2; .say for ++$_, $_++; 03:27
p6eval rakudo 966797: OUTPUT«4␤3␤»
waste rakudo: say [].''(2).perl 03:49
p6eval rakudo 966797: OUTPUT«[2]␤»
waste rakudo: say 1.''(2).perl
p6eval rakudo 966797: OUTPUT«Method 'push' not found for invocant of class 'Int'␤ in main program body at line 22:/tmp/343GfCaqNX␤»
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␤»
waste rakudo: say ().""().perl # not Parcel.push ? 03:55
p6eval rakudo 966797: OUTPUT«""␤»
waste rakudo: say ().perl; ().push(1); say ().perl 03:56
p6eval rakudo 966797: OUTPUT«()␤(1, )␤»
sorear what are you doing 04:01
04:02 melte joined 04:19 LaVolta joined 04:20 tylercurtis joined, kthakore joined 04:21 molaf joined 04:26 gfx joined 04:27 sekimura1 joined 04:30 ashleydev joined 04:34 xinming joined 04:35 duff_ joined
waste just mentioning some edge cases; before i forget them and move on .. 04:41
but i can go back to ignoring them, if it is inappropriate 04:42
04:47 kaare_ joined 04:58 alester joined 05:13 pugssvn joined, masonkramer joined 05:34 justatheory joined
waste std: 1.2 = 1 05:41
p6eval std 31891: OUTPUT«ok 00:01 116m␤»
waste std: 1 = 1 05:42
p6eval std 31891: OUTPUT«ok 00:01 116m␤»
waste rakudo: say (2 = 1)
p6eval rakudo 966797: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/9ogy_14mma␤»
waste rakudo: say (2.1 = 1) 05:43
p6eval rakudo 966797: OUTPUT«1␤»
05:45 Su-Shee joined 05:47 IllvilJa joined 05:54 [Coke] joined 06:02 masonkramer joined 06:09 wtw joined 06:11 jfried joined
sorear waste: p6eval is not a bug report bot 06:19
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:20
06:21 uniejo joined 06:27 agentzh joined
moritz_ good morning 06:30
LaVolta morning, moritz_ :) 06:31
06:34 masak joined
masak oh hai, #perl6! 06:34
moritz_ masak: good morning. Where are you?
sorear good morning
masak moritz_: I am at the leaning tower of Pisa. where are you? :)
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.
are you in the lobby?
moritz_ masak: 1st floor actually, but we might move to the lobby 06:36
masak oki.
I'll try to find you.
moritz_ it's easy when you find the conference location :-) 06:37
masak Google Maps makes that look easy, too.
My One Hotel is at via Darsena 1. 06:38
moritz_ it's easy, but not a pleasant walk 06:39
masak would that be due to the lack of a sidewalk? 06:40
moritz_ right, at least in the end
masak I'll take the appropriate amount of care.
moritz_ stop talking, come here :-) 06:41
masak moritz_: who's there already, by the way? moritz_, jnthn, pmichaud...? 06:42
moritz_ I've seen jnthn walkiing to the breakfast thing
afk 06:43
06:43 ruoso joined
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.
walk &
moritz_ www.perlmonks.org/?node_id=852570 that kinda looks like a very optimistic number :-) 06:49
melte 3 times? I wish! 06:50
moritz_ aye :-) 06:51
06:52 wtw joined 07:03 mjk joined
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:11
07:19 kuroishi joined, ruoso joined 07:20 daxim joined 07:22 Casan joined
szabgab hi every from Pisa 07:23
moritz_ \\o/
szabgab oh, you are here moritz_ ?
moritz_ szabgab: sitting right beside you :-) 07:24
szabgab oh
07:27 tadzik joined 07:33 tadzik joined
szbalint szabgab: :D 07:36
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:37
on the other hand - p6eval 07:38
mathw Morning
sorear: you want to beat rakudo to having a proper safe mode :) 07:39
sorear szabgab: freenode policy recommends that ops do their lurking incognito - /mode #perl6 -o szabgab when not needing to use your powers 07:41
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
moritz_: so that's not an option for us
moritz_: given chroot + rlimit, what are the big things that need to stay disabled?
moritz_ sorear: run(), qx// etc. 07:45
sorear: happy? :-) 07:46
mathw Oh do we have a proper op list now? Good.
moritz_ yes 07:48
szbalint heheh 07:51
mathw I seem to recall that coming up a long time ago :) 07:56
moritz_ aye
mathw and since we're on freenode it's polite to follow their guidelines
moritz_ we're doing that now
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
it's almost like somebody being an idiot in the street and six passersby abruptly turn into policemen
snarkyboojum is reminded of the matrix
mathw hmm 07:58
a bit less sinister
clark kent in a phone box
snarkyboojum :)
mathw which you couldn't do nowadays
not in the UK anyay
might get seen on CCTV
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 :) 07:59
08:00 ruoso joined
mathw yes I read about that 08:01
It reminded me of one day at aikido when the panic alarm for reception went off
three instructors sprinted out of the room
it was just the receptionist testing it
but I'd pity anybody who did think to make trouble there 08:02
although not for very long
Su-Shee they just had to run at the mugger. must have been an impressive sight :) 08:03
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.
mathw no but I've seen the signs which tell you to get out
08:05 masak joined
masak lolvenue! 08:05
mathw yay 08:06
hi masak
masak hi mathw
szbalint ohai, a wild masak appears!
mathw YAPC::EU all ready to go?
shame I couldn't go, but it wouldn't have been wise as it turns out 08:07
I hate to think what I'd feel like if I'd been on a plane today
they're uncomfortable enough when I don't have pre-existing aches 08:08
08:08 mberends joined
masak mberends! \\o/ 08:09
mberends o/ masak, where are U?
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)
mberends: 30 Jul 13:05Z <moritz_> tell mberends you'll like www.reddit.com/r/perl/comments/cv1q...ly/c0vicuc :-)
masak mberends: venue! \\o/
mberends too
sorear hello masak!
masak mberends: I'm sitting on the first floor with moritz_ and szabgab.
szbalint hey, I can HEAR you 08:10
keep it down :)
sorear masak: How does one find out the average tweet? I can't seem to work the site beyond viewing single tweets
masak szbalint: I realize I don't know how you look. where are you?
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.
szbalint masak: inside mst's class
mberends masak: and I'm just down the hall, beyond the registration desk
masak sorear: I have live filters for "Perl 6" 'perl6' and "Rakudo" 08:11
masak runs to mberends
sorear masak: how do live filters work?
szbalint masak: but I know how you look, so I'll poke you later :)
08:12 jferrero joined 08:13 [Coke] joined
masak meets mberends + family, jnthn and pmichaud in quick succession 08:14
Su-Shee masak: I think that called "holding court" ;) 08:15
cognominal I wish I could be with you
masak the weather is beautiful, wish you were here. ;) 08:16
cognominal Pisa is a nice town 08:18
08:18 stepnem joined
mathw masak: say hi to everyone for me! And have fun! 08:22
08:26 ruoso joined
masak everyone: hi 08:29
masak has some fun
cognominal are you doing a hackathon? 08:31
moritz_ yes 08:32
masak \\o/
moritz_ nopaste.snit.ch/22523 <-- initial hague grant proposal - comments welcome
masak moritz_++!
jnthn oh lol I has internets 08:40
masak jnthn: have a look at moritz_'s nopaste.snit.ch/22523 if you haven't seen it yet 08:41
pmichaud I has internets
masak \\o/
08:41 smash joined
masak "internets" is actually the correct technical term in Latvia. 08:42
08:45 ruoso joined
rcfox moritz_: Had to put in some effort to get the definition of "imprescriptible". Nice job. (Also, you wrote it as -able) 08:46
moritz_ rcfox: will fix that in the next version, thanks 08:47
rcfox: it's not my invention - German law is weird
rcfox Well, Google didn't know what it meant, so I had to go to a real dictionary website. 08:48
Heh, it's kind of funny that your last name is Lenz and you're a scientist. 08:49
moritz_ wiki.github.com/rakudo/rakudo/yapce...shop-notes
rcfox en.wikipedia.org/wiki/Lenz's_law
LaVolta rcfox: why it's funny? 08:50
08:50 envi^home joined
LaVolta i guess it's ought-to-be... 08:50
rcfox LaVolta: Well, if you had the same name as some difficult concept, your classmates might blame you, or something. 08:52
I don't know. Not funny in the "ha ha" sense...
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
LaVolta FOX? is that your true lastname? 08:54
rcfox Yep.
LaVolta btw, I am waiting for House M.D. Season 7
rcfox ;)
Is your last name Volta?
snarkyboojum my last name isn't boojum 08:55
ho ho
rcfox snarkyboojum: But you are snarky.
LaVolta no :) and I did not even know what lavolta means...
snarkyboojum rcfox: touche! :P
hang on .. no I'm not!
rcfox LaVolta: Alessandro Volta made the first battery. 08:56
"La" just means "the" 08:57
LaVolta ah, Volta... :) wait...en.wikipedia.org/wiki/Lavolta
these's an entry in wikipedia
...dance?
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
sorear Anyone who blames you for that clearly doesn't understand the six degree rule 09:02
although imo it's more like 4 09:03
09:04 briang joined, flw joined
sorear even 2 degrees casts a shockingly wide net 09:05
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.
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:08
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. :) en.wikipedia.org/wiki/Cicero
LaVolta: I try to retain what little Chinese I learned a few years ago.
09:11 kirillm joined
LaVolta "culture gap/shock" applies here... 09:11
sorry...I didn't understand that :) I am the one who's being silly 09:12
masak we're all being silly in here. :)
LaVolta 您一点儿不silly (can you read that?) 09:13
masak sure.
sorear ain't no such thing as seriousness in #perl6-land
I can read the 1th character :p
masak LaVolta: nice context switching :)
sorear: says 'nin yi dianr bu silly'.
LaVolta: "you're a bit not silly"? 09:14
rcfox Hum. I should study. Or sleep. Neither is very appealing.
sorear masak: unfortunately I'm still at the "ichi" stage of understanding it
masak rcfox: if sleep isn't appealing, you're not sleepy enough :)
sorear wants to fix this someday
LaVolta masak: not exactly, means "you're not silly at all"
masak sorear: wrong language, but yes :)
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...
x3nU yes, i'm impatient ;d
masak LaVolta: interesting. 一点儿不 means "not at all"?
LaVolta masak: yes...correct :D
masak x3nU: moritz_++ would know.
LaVolta: that's unusually illogical for Chinese. 09:16
LaVolta: I'd have understood it if't were 不一点儿
09:17 ambs joined
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?
snarkyboojum x3nU: afaik, you need to update the poc-project.list in the pls branch in the proto repo 09:18
LaVolta sorear: yes
moritz_ I'm lookiing into the logs now, if something has felt
snarkyboojum x3nU: looks like you've just updated the old proto list
LaVolta born and raised in C.
masak snarkyboojum: oh! I missed that possibility.
daxim
x3nU snarkyboojum: heh
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 :)
LaVolta it's dinner time...later, you guys :)
09:21 amkrankruleuen joined 09:29 Axius joined 09:30 plol joined 09:34 Trashlord joined
moritz_ what does $*VM<config><osname> report on windows? 09:37
tadzik x3nU: you pushed to the wrong branch
proto.perl6.org data is taken from pls branch
szabgab MSWin32 09:38
snarkyboojum tadzik: ^^
moritz_ tadzik: we've figured that out
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
x3nU tadzik: yes, i know 09:42
i'm to busy to fix it at this moment
too*
dalek kudo: 0a8ef0f | moritz++ | src/Perl6/Compiler.pir:
split PERL6LIB on ; on MSWin32 platform - szabgab++ for telling us
09:49
09:50 Ross joined
x3nU ok, added to pls branch ;f 09:51
moritz_ x3nU++ 09:52
ingy Gloom! 09:56
masak Doom!
ingy Gloom.pm!
on CPAN now!
moritz_ sucks as a top-level namespace *SCNR* 09:57
ingy Gloom is my Moose
Gloom == Great Little OO Module 09:58
masak ingy: URL?
ingy masak: github.com/ingydotnet/
I also released Parse::Pegex which uses Gloom (but doesn't prereq on it!!!) 09:59
and then I released TestML, which does prereq on Parse::Pegex 10:00
masak: btw, we are going to write our p6 YAML parser in Pegex
and see if Pegex can compile to p6rules 10:01
that's my plan anyway
well... one of my planz
muhahaha
ingy is overdue for zzzzzzzzzzzzz 10:02
nite all o/
daxim smells Spiffy, indeed 10:03
masak ingy: night! 10:05
x3nU liar! it's morning! ;f 10:06
10:07 Ross joined
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
masak ingy: I've now looked at Gloom. looks nice, though it doesn't look like it's a MOP like Moose. 10:25
10:27 Axius joined
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"␤»
bbkr star: my $x = :a<5>; say $x.map({.key => .value + 1}).perl
masak bbkr: rakudo doesn't do labels yet.
p6eval star 2010.07: OUTPUT«Method 'key' not found for invocant of class ''␤ in main program body at line 22:/tmp/_GZCINSyyx␤»
bbkr masak: thanks
masak star: my $x = :a<5>; say $x.WHAT 10:29
p6eval star 2010.07: OUTPUT«Pair()␤»
masak star: my $x = :a<5>; $x.map( { say .perl } ) 10:30
p6eval star 2010.07: ( no output )
masak star: my $x = :a<5>; say $x.map( { say .perl } ).elems
p6eval star 2010.07: OUTPUT«"a" => "5"␤1␤» 10:31
masak huh -- we have sink context now? :)
star: my $x = :a<5>; say $x.map( { say .key } ).elems
p6eval star 2010.07: OUTPUT«a␤1␤»
masak star: my $x = :a<5>; say $x.map({; .key => .value + 1}).perl
p6eval star 2010.07: OUTPUT«("a" => 6)␤»
10:31 wamba joined
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
bbkr masak: awesome :) that was in ticket 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 :)
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␤»
moritz_ 65eb876cb4284a3d96c5910e21a2153ce55c5535
masak ah. that explains this error message :)
still, moritz_++
it's trying to do .key on $_ with an Any() in it.
moritz_ right
I can't fix that by another multi :-)
bbkr I posted this info and left ticket unchanged 10:35
masak moritz_: and warning at parse-time might backfire... 10:38
bbkr rt.perl.org/rt3/Ticket/Display.html?id=73236 - where should I put tests for this one? 10:40
moritz_ bbkr: S02-literals/num*.t or so 10:42
bbkr moritz_: thanks
moritz_ numeric.t akshually
bbkr star: use Test; my $e = ""; for 1..128 { $e ~= "0." ~ "0" x $_ ~ ";"; }; eval_lives_ok $e; 10:43
masak bbkr++ # adding tests
p6eval star 2010.07: OUTPUT«ok 1 - ␤»
moritz_ bbkr: fwiw I have a test for RT #75900, just not committed it yet (having trouble with pugs svn) 10:44
so don't bother working on that one 10:45
(only sub vs. multi sub signature unpacking)
masak bbkr: I think 128 iterations would be a bit of a waste of time for that one.
bbkr masak: i know. I'll include cases that failed. 128 iterations was only for me to be sure every case passes. 10:46
masak bbkr: oki good 10:47
10:53 shrm joined 10:55 avuserow joined 10:57 ctang joined 11:02 shrm left 11:03 shrm joined, shrm left
cono rakudo: my @a = <1 2>; my %h = a => "b"; my $h1 = %( @a, %h ); $h1.WHAT.say 11:05
p6eval rakudo 0a8ef0: ( no output )
masak cono: segfaults locally. 11:06
cono yup
11:07 whiteknight joined
cono masak: Embassy of Italy reject my visa request :( 11:07
TiMBuS > my $h1 = %(<1 2 3 4>) 11:09
Segmentation fault
oh.. 11:10
> %()
Segmentation fault
m6locks raduko: my $h1 = %(<1 2 3 4>); say $h1
cono std: %() 11:11
p6eval std 31891: OUTPUT«ok 00:01 114m␤»
m6locks it's... like... not working
TiMBuS spelling
rakudo: my $h1 = %(<1 2 3 4>); say $h1 11:12
p6eval rakudo 0a8ef0: ( no output )
pmichaud I think %() (and .hash) are known to have issues.
frettled rakudo: my $h1 = %(<1 2 3 4>); say $h1.perl
pmichaud rakudo: my $h1 = <1 2 3 4>.hash; say $h1.perl;
p6eval rakudo 0a8ef0: ( no output )
m6locks lol typo'd
pmichaud rakudo: my $h1 = hash 1,2,3,4; say $h1.perl;
p6eval rakudo 0a8ef0: OUTPUT«{"3" => 4, "1" => 2}␤»
pmichaud yeah, looks like .hash has issues. I think a bug report was recently filed for it; should be fixable soon. 11:13
afk, food
11:15 Axius_ joined
rcfox Hrm, blog.perl.org is weird. 11:16
Er, blogs.
It doesn't convert everything to one timezone, or something. 11:17
So Ovid's latest post is 4 hours in the future, and my post, which I posted well after Ovid's gets pushed down.
Also, it somehow mangled one of my links on the front page. 11:18
11:28 aCiD2 joined
aCiD2 'noo 11:28
erm
'noon
masak
rakudo: say "star".flip.ucfirst 11:34
p6eval rakudo 0a8ef0: OUTPUT«Rats␤»
masak coincidence? I think not!
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"␤»
masak std: my $plustwo = method { self + 2 }; my $a = 40; $a.=$plustwo; say $a
p6eval std 31891: OUTPUT«ok 00:01 118m␤»
masak submits rakudobug 11:37
cognominal Timbus, #75584 is the/one bug entry for %() crashing rakudo
11:40 ambs joined, wittro joined 11:42 timbunce joined
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)
..[0x2ba94003a337]␤/home/p6eval//p1/lib/libparrot.so.2…
masak rakudo: .= ()
11:46 Yamotsu_x11 joined
p6eval rakudo 0a8ef0: OUTPUT«===SORRY!===␤Confused at line 22, near ".= ()"␤» 11:46
masak rakudo: .=()
p6eval rakudo 0a8ef0: OUTPUT«===SORRY!===␤Can not use .= on a non-identifier method call at line 22, near ""␤»
masak rakudo: $_.=()
p6eval rakudo 0a8ef0: OUTPUT«===SORRY!===␤Can not use .= on a non-identifier method call at line 22, near ""␤»
11:46 Casan joined
masak submits rakudobug for '$_ .= ()' 11:46
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)
..[0x2b574b1ea337]␤/home/p6eval//p1/lib/libparrot.so.2…
masak rakudo: Any .= ()
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)
..[0x2b8e21cfa337]␤/home/p6eval//p1/lib/libparrot.so.2…
mulander can someone explain this to me: pastebin.com/d6eyqg2v 11:52
why did it work on line 8 and crashed later on?
masak rakudo: say "alive"; Any .= ()
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)
..[0x2aad17540337]␤/home/p6eval//p1/lib/libparro…
moritz_ mulander: it seems that loading the same module multiple times is broken 11:53
mulander: please send a bug report to rakudobug@perl.org
mulander moritz_: ok I'm on it - just a regular email with data I assume?
moritz_ mulander: yes 11:54
11:55 takadonet joined
takadonet morning all 11:55
masak twitter.com/pi8027/status/20215375063 -- what's "lepidum"? 11:56
11:56 cjk101010 joined 11:58 meppl joined
pugssvn r31892 | bbkr++ | [t/spec] tests for RT #73236 LTA error messages on literals with too many decimals 11:59
11:59 darkop joined 12:00 masonkramer joined
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
perl #76948
timbunce I'd expect it to return if the subst fails
moritz_ timbunce: s/// returns the substituted string currently 12:03
timbunce moritz_: so how should I write that? and/or how can I detect that a subst didn't happen? 12:04
moritz_ timbunce: if $url ~~ /^'dbi:postgres:/ { $url.=substr($/.to) } else { fail() } 12:05
timbunce ug. thanks
ambs /* #rakudo hackathon during #yapceu2010 - twitpic.com/2b87yj */ 12:06
pmichaud timbunce: note that fail() implies 'return' already
timbunce pmichaud: great, thanks 12:07
pmichaud but that's probably not the issue you're seeing
moritz_ it's s/// not returning the right stuff
though I'm not sure what the right stuff is
the match object?
pmichaud object(s), actually. 12:08
masak that's us! twitpic.com/2b87yj
ambs masak: indeed. 12:09
12:10 Mowah joined
bbkr I have question regarding 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:13
s/nor/now/ 12:14
masak lol! twitter.com/maddingue/status/20161383662 12:15
moritz_ szabgab: perlcabal.org/syn/S04.html#When_is_..._a_closure
rakudo: say eval('').perl
p6eval rakudo 0a8ef0: OUTPUT«()␤»
moritz_ rakudo: say eval('').WHAT
p6eval rakudo 0a8ef0: OUTPUT«Parcel()␤»
moritz_ bbkr: can be closed 12:16
bbkr moritz_: thanks :)
12:16 yuetiantian joined
moritz_ rakudo: say Nil.WHAT 12:17
p6eval rakudo 0a8ef0: OUTPUT«Parcel()␤»
moritz_ Nil *is* the/an empty parcel
x3nU can i create unsigned integer in perl? 12:19
moritz_ uint - but NYI in rakudo
x3nU crap, it's serious problem
moritz_ why? 12:20
x3nU i need unsigned int for my module which creates hash
moritz_ why? 12:21
x3nU because of the way how works algorithm
it need unsigned int for overflows
well, maybe buf will do the work
moritz_ you can simulate overflows by clipping to 0xFFFF...FF
x3nU how?
moritz_ binary AND 12:22
x3nU can you show me example? ;f i don't understand ;p 12:24
win 8
oops
bbkr star: -> *@a { say @a[+0] }.([5]) # checking rt.perl.org/rt3/Ticket/Display.html?id=74410 12:27
p6eval star 2010.07: OUTPUT«5␤»
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␤»
moritz_ rakudo: printf '%x', (0xAB + 0xFE) +& 0xFF
p6eval rakudo 0a8ef0: OUTPUT«a9»
masak x3nU:
rakudo: say sprintf "0x%x", 0x123F +& 0x00FF
moritz_ x3nU: works?
p6eval rakudo 0a8ef0: OUTPUT«0x3f␤»
masak moritz_: heh. :)
timbunce how do I choose between using die or using fail? I've not found an explanation in the docs. Is there one?
masak timbunce: die dies. fail represents an "unthrown warning". 12:29
timbunce: that is, it warns when you use the value in some way.
moritz_ s/warns/dies/
hopefully
masak oh, ok.
it actually sounds kinda bad when one describes it, doesn't it? :) 12:30
moritz_ why?
x3nU yeah but i dont know how to eee
timbunce ok, but any guidance on how to choose between them in a API design?
x3nU detect overflow
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.
bbkr where tests for rt.perl.org/rt3/Ticket/Display.html?id=74410 should go?
12:30 ruoso joined
masak timbunce: die if there's no way to go on; fail if you can get away with it? 12:31
something like that.
ss/no way/no way for the caller/
moritz_ bbkr: jsut a sec...
masak twitter.com/legaldisclaimer/status/20217558502 -- whoooa!
moritz_ bbkr: S06-signature/slurpy-params.t probably 12:32
bbkr moritz_: sure, no rush. I know you're busy.
thanks
12:38 bluescreen joined
pugssvn r31893 | bbkr++ | [t/spec] tests for RT #74410 The combination of prefix:<+> and slurpy arrays doesnt work 12:41
bbkr star: class A { }; multi sub infix:<+>(A $, A $) { -1 }; say 3+3 # rt.perl.org/rt3/Ticket/Display.html?id=74104 12:44
masak std: sub foo(*%_) {}; foo(:a :b :c)
p6eval star 2010.07: OUTPUT«6␤»
std 31892: OUTPUT«ok 00:01 117m␤»
masak rakudo: sub foo(*%_) {}; foo(:a :b :c)
p6eval rakudo 0a8ef0: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
masak ah; we alrady have rt.perl.org/rt3/Ticket/Display.html?id=74492 for that :) 12:46
and that ticket says that jnthn doesn't like that part of the spec :)
rakudo: my @a = 1, 2, 3, 4, 5; for 1 ..^ +@a { .say } 12:47
p6eval rakudo 0a8ef0: OUTPUT«1␤2␤3␤4␤»
masak rakudo: my @a = 1, 2, 3, 4, 5; for 1 ..^ @a { .say }
p6eval rakudo 0a8ef0: OUTPUT«1␤»
masak submits rakudobug
jnthn masak: It looks horrible. :P 12:48
masak jnthn: it makes more sense in the adverb-on-op case, I think. 12:49
mulander pastebin.com/J9MsGGy9 <- what am I doing wrong? Shouldn't the */ be matched correctly in that string?
masak and the fact that it can be used everywhere else is just consistency.
mulander: looking.
jnthn masak: Hmm...still looks like two terms in a row to me. :P
mulander ignore the shebang for it, I run it directly from rakudo star.
moritz_ mulander: s/token/regex/ 12:50
masak mulander: what moritz_ said, for 'token content'.
moritz_ mulander: token doesn't backtrack, so .*? matches zeor chars
12:50 LaVolta joined
moritz_ *zero 12:50
masak jnthn: that's because it *is*... oh, you know that. :P
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.
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.
moritz_ mulander: it could be that ~ doesn't backtrack right now either... there's an old ticket about that too :(
why ask p6l? kill it straight away :-)
masak jnthn: you can use 'unless' for everything anyway...
moritz_ much more efficient
less bikeshedding
more laughing
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.
moritz_ mulander: I'm pretty sure we have a ticket, no need to report it again
pugssvn r31894 | bbkr++ | [t/spec] tests for RT #74104 overloading an operator hides other candidates
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
masak moritz_: yes. I was referring to this specific case (removing 'if') 12:55
moritz_ which is kind of a pity
masak moritz_: why is it a pity?
moritz_: the reasons you give above are very legit.
moritz_ masak: thas was re ~ not doing backtracking
masak oh oki
mulander masak: changing it to regex also doesn't match - does the spec also negate such use case? 12:56
*such a
moritz_ mulander: the current spec does, and we don't know how to fix it properly
12:57 Trashlord joined
mulander wierd I see the exact same example here 12:57
github.com/krunen/xml/blob/master/l...ocument.pm 12:58
line 11 and line 13
define a similar structure
masak that code might be pre-ng, for one thing.
mulander understood 12:59
mulander was just being curious :)
13:02 Guest23195 joined
LaVolta masak: sorry for disturbing, i guess the code here github.com/masak/web/blob/master/bi...ic-demo.pl needs updating 13:04
masak without looking at it; yes, probably.
the whole of Web.pm needs updating.
(patches welcome)
LaVolta i was looking for a working example of HTTP::Daemon when R* just released 13:05
then I found that script
masak seems that due to so many of us being here in meatspace, there'll be no #phasers meeting tonight.
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?
p6eval star 2010.07: OUTPUT«Method 'foo' not found for invocant of class 'A'␤ in main program body at line 22:/tmp/vvvA94AyUN␤»
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
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␤»
bbkr yay
mulander LaVolta: generally on github you fork the project, make changes and issue a pull request to the original source
masak frettled: I'm still mostly in panic mode, so I'm sitting here hacking on my slides.
mulander LaVolta: the original repo owner gets your request and can decide either to merge in your changes or ignore the request
masak frettled: on the bright side, I'm making progress with the slides. :) 13:08
13:08 Woody2143 joined
LaVolta mulander: thanks for the guide :) I will try 13:08
[Coke] if there's a meatspace phasers, a summary to the mailing list would be gnifty. danke. 13:09
bbkr std: class A { has ($!a, $!b); }; 13:10
p6eval std 31894: OUTPUT«ok 00:01 117m␤»
masak [Coke]: both pmichaud and moritz_ have taken notes, IIUC.
[Coke] oh, it's done? =-)
bbkr std: class Foo { our $.bar = 4; }; Foo.bar; 13:13
p6eval std 31894: OUTPUT«ok 00:02 118m␤»
frettled masak: \\o/ — but you have several hours left, don't you? :D
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␤»
frettled masak: BTW, what is your talk about?
TiMBuS > %(1,2).perl
{"1" => 2}
masak frettled: oh, 24 hours left.
TiMBuS well that was probably the easiest fix ive ever done
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. :)
frettled: and snippets of tasty Perl 6.
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
masak Holy_Cow! o.O 13:16
frettled And your slides will be available online after the talks, right? :)
masak right.
frettled yay
gfldex masak: will you be live on the interwebs for us to see?
masak gfldex: there will be volunteers filming.
gfldex \\o/
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
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;
p6eval rakudo 0a8ef0: OUTPUT«␤»
masak frettled: :) 13:18
gfldex frettled: that's why i was asking that question. Questions tend to speed up processes more then requests do. :)
masak "would you please put up the video before 2013?" 13:19
gfldex :D 13:20
damn, you got me there
but inception does work and you don't even need the victim to dream :)
pugssvn r31895 | bbkr++ | [t/spec] tests for RT #73808 Providing a list of attributes to a single "has" leads to IMCC syntax errors 13:23
r31896 | bbkr++ | [t/spec] tests for #73384 Null PMC access when using &&= or ||= (unfudged) 13:29
13:30 drbean joined
bbkr std: say 1%^^1 13:30
p6eval std 31894: OUTPUT«[31m===[0mSORRY![31m===[0m␤Expecting 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[0m␤Parse failed␤FAILED 00:01 116m␤»
bbkr star: say 1%^^1 13:31
p6eval star 2010.07: OUTPUT«0␤»
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␤»
masak bbkr: are these from RT tickets? 13:35
bbkr masak: yes, rt.perl.org/rt3/Ticket/Display.html?id=73268
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
masak TiMBuS: I know of no case where Whatever numifies to Inf. 13:36
TiMBuS: rather, it's the routines that use it that give Whatever that semantics.
moritz_ TiMBuS: it's not that easy, in * ... 0 the * means -Inf, notionally 13:37
bbkr masak: thanks for the tip
TiMBuS but.. what comes after -Inf D:
masak TiMBuS: -Inf
(duh)
rakudo: say (-Inf).succ 13:38
p6eval rakudo 0a8ef0: OUTPUT«-Inf␤»
masak :)
moritz_ rakudo++
masak rakudo: say Inf.pred
p6eval rakudo 0a8ef0: OUTPUT«Inf␤»
masak rakudo: say Inf\\i * Inf\\i 13:39
p6eval rakudo 0a8ef0: OUTPUT«-Inf + NaNi␤»
masak \\o/
close enough for me... :)
13:39 javs joined
bbkr star: say Inf - Inf # curious 13:40
p6eval star 2010.07: OUTPUT«NaN␤»
moritz_ rakudo++ #again
masak rakudo: say Int - NaN
erm.
p6eval rakudo 0a8ef0: OUTPUT«NaN␤» 13:41
masak rakudo: say Inf - NaN
p6eval rakudo 0a8ef0: OUTPUT«NaN␤»
masak NaN trumps Inf. fair enuf.
13:41 isBEKaml joined
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␤»
masak isNaN should probably be on Cool. 13:42
...or should it?
moritz_ +1
gfldex what is Cool for anyway?
masak it all comes down to what we do when we numify a non-number Str. 13:43
moritz_ well, like Cool
that's an FAQ
I should write it up somewhere
masak gfldex: Cool is for things that belong in several common classes in Perl 6 (Str, Num, Int...)
bbkr star: my $x = Inf; for ^Inf { $x = $x.pred }; say $x; # riddle for torturing students :)
[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.
p6eval star 2010.07: ( no output )
[Coke] (which I think was stolen from some similar concept in p5)
13:45 drbean joined
masak bbkr: and the answer is... ⊥? :) 13:46
13:46 Holy_Cow joined
pmichaud gist.github.com/506399 # rakudo can now create fakecutables 13:47
moritz_ it's not computable
cono \\o/ 13:50
masak pmichaud++
PerlJam pmichaud++ are you going to bottle that up in a smaller package for our end users?
pmichaud PerlJam: likely, yes.
I'll probably come up with --target=exe
masak moritz_: ⊥, I believe, is funlang-speak for "not computable".
pmichaud actually, --target=exe might not be very possible
so, --target=pbc
masak pmichaud: awww, not --target=fake? :) 13:51
bbkr star: my Hash $x; $x[1]
p6eval star 2010.07: OUTPUT«No applicable candidates found to dispatch to for '_block41394'. Available candidates are:␤:()␤␤ in main program body at line 1␤»
masak or --target=cute
13:51 drbean joined
[Coke] pmichaud: there is a ticket for that. 13:53
Mind if I assign it to you? 13:54
dalek kudo: 51cc37e | pmichaud++ | src/Perl6/ (2 files):
Enable --target=pir to produce PIR code that can be run directly
13:55
[Coke] pmichaud: assigned. (RT #65994)
pmichaud++ 13:57
nqp-rx is using CodeString, that should be updated. 14:03
14:04 mberends_ joined 14:08 masak joined
masak wifi-- 14:09
[Coke]: how is CodeString spelled nowadays? String?
jnthn StringBuilder iirc 14:14
masak oh ok
smash moritz_: gist.github.com/506433 14:17
[Coke] masak: see: trac.parrot.org/parrot/ticket/1633\\ 14:20
(tells how to move away from CodeString)
it's probably going to be removed before the next release.
masak [Coke]: \\o/ 14:21
[Coke]: I actually ported CodeString to Perl 6 for GGE: github.com/masak/gge/blob/master/lib/GGE/Exp.pm
14:25 plobsing joined
bbkr rakudo: $0 # where tests for rt.perl.org/rt3/Ticket/Display.html?id=72956 should go? 14:28
p6eval rakudo 0a8ef0: ( no output )
14:30 hercynium joined
bbkr std: my @ = 1, 2, 3 14:33
p6eval std 31896: OUTPUT«ok 00:01 118m␤»
bbkr rakudo: my @ = 1, 2, 3
p6eval rakudo 0a8ef0: ( no output )
bbkr rakudo: my @ = 1, 2, 3; say @ #
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 @ #
p6eval std 31896: OUTPUT«[31m===[0mSORRY![31m===[0m␤Non-declarative sigil is missing its name at /tmp/Ier7W78AIP line 1:␤------> [32mmy @ = 1, 2, 3; say [33m⏏[31m@ #[0m␤Confused at /tmp/Ier7W78AIP line 1:␤------> [32mmy @ = 1, 2, 3; say @[33m⏏[31m #[0m␤ expecting twigil␤Other potential
..diffi…
bbkr how to access such array? :)) (testing #72946 )
patch rakudo: say $^bar given 'foo';
p6eval rakudo 0a8ef0: OUTPUT«Lexical '$bar' not found␤ in main program body at line 2:/tmp/M_VwbIAGBw␤»
moritz_ rakudo: say (my @ = 1, 2, 3 ) 14:35
p6eval rakudo 0a8ef0: OUTPUT«123␤»
moritz_ bbkr: not by name, for sure :-)
patch rakudo: given 'foo' { say $^bar }
bbkr rakudo: (my % = foo => 1, bar => 2).perl.say
p6eval rakudo 0a8ef0: OUTPUT«foo␤»
rakudo 0a8ef0: OUTPUT«{"foo" => 1, "bar" => 2}␤»
dalek kudo: efe72cb | moritz++ | src/Perl6/Actions.pm:
s:s///
kudo: cb45c52 | moritz++ | src/Perl6/ (2 files):
:i/:ignorecase adverbs for s///
14:36 GeneralMaximus joined
bbkr moritz_: immortal question, where tests for rt.perl.org/rt3/Ticket/Display.html?id=72946 should go? 14:37
patch are $^ variables supposed to only work in standard blocks, not expressions followed by postfix control structures? 14:38
PerlJam patch: $^vars are for self-declared parameters, so ... yes 14:41
moritz_ only in blocks without a signature
bbkr: S04-*/my.t
14:41 whiteknight joined
bbkr moritz_++ 14:42
moritz_ (there are probably ohter valid places, that's just teh first I could think of )
14:43 andee_ joined
masak moritz_: does the outermost block count as a block without a signature? 14:43
rakudo: say $^a
p6eval rakudo 0a8ef0: OUTPUT«Lexical '$a' not found␤ in main program body at line 2:/tmp/PEOVFAjYW3␤»
moritz_ masak: I hope not
patch so i imagine that postix control structures can't have named variables in the expression (like perl 5)
masak std: say $^a
p6eval std 31896: OUTPUT«[31m===[0mSORRY![31m===[0m␤Placeholder variable $^a may not be used outside of a block at /tmp/zu42FbdNcC line 1:␤------> [32msay $^a[33m⏏[31m<EOL>[0m␤Check failed␤FAILED 00:01 115m␤»
masak submits LTA rakudobug 14:44
bbkr rakudo: (our @ = 1,2,3).perl.say
p6eval rakudo 0a8ef0: OUTPUT«[1, 2, 3]␤»
isBEKaml rakudo: 2 += 3
p6eval rakudo 0a8ef0: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 10:/tmp/zFFRcHzzrS␤»
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␤»
isBEKaml rakudo 2 _= 3
masak rakudo: if 42 { say $^the-frigging-value }
p6eval rakudo 0a8ef0: OUTPUT«42␤»
masak ooh
isBEKaml rakudo: 2 _= 3
andee_ star: say "abbc" ~~ m/b ** 2/
p6eval rakudo 0a8ef0: OUTPUT«===SORRY!===␤Confused at line 22, near "2 _= 3"␤»
star 2010.07: OUTPUT«bb␤»
isBEKaml rakudo: 2 .= 3
p6eval rakudo 0a8ef0: OUTPUT«===SORRY!===␤Confused at line 22, near "2 .= 3"␤»
isBEKaml rakudo++ 14:46
masak isBEKaml: underscore... that's, like, ancient syntax. :)
isBEKaml masak: yeah. :)
rakudo: 2 |= 3
p6eval rakudo 0a8ef0: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 10:/tmp/EI5U8w6fvu␤»
patch i had been hoping to get away with something like this: %h{$^key} = $^value for (a => 1, b => 2).kv; 14:47
but maybe there's a more idiomatic perl 6 way of doing it
isBEKaml masak: hey, aren't you at YAPC now? 14:48
how's it there and how's everyone? :)
PerlJam patch: %h{.key} = .value for a => 1, b => 2; 14:51
patch PerlJam: nice! 14:52
isBEKaml rakudo: 2 !!= 3; ## what does this mean?
p6eval rakudo efe72c: ( no output )
[Coke] rakudo: say 2 !!= 3;
p6eval rakudo efe72c: OUTPUT«0␤»
masak isBEKaml: I'm at YAPC::EU, yes!
isBEKaml: everything's great!
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
p6eval rakudo efe72c: OUTPUT«{}␤»
isBEKaml [Coke]: is that right?
I mean, can we prefix !! with assignment?
I have only seen !! like C's ternary op.
masak: that's great! How's the coffee? ;) 14:54
[Coke] rakudo: say !!3
p6eval rakudo efe72c: OUTPUT«1␤»
isBEKaml I see, negate the negatives. :)
[Coke] rakudo: say !!3.perl
patch PerlJam: gotcha. what about pushing pairs to an array? i think that's spec'ed but looks like it might not be implemented.
p6eval rakudo efe72c: OUTPUT«1␤»
pugssvn r31897 | bbkr++ | [t/spec] tests for RT #72946 Rakudo doesnt allow declaration of anonymous variables
[Coke] rakudo: say (!!3).perl
p6eval rakudo efe72c: OUTPUT«Bool::True␤»
patch PerlJam: i mean to a hash
masak isBEKaml: I'm not a coffee drinker, but I hear it's great.
[Coke] I think that !! is eqv to ? 14:55
(but more work. An optimizing compiler could probably squash that.
isBEKaml yes, I thought that didn't look right.
PerlJam patch: it might not be implemented
[Coke] ... but how that parses in "2 !!= 3", I'd have to check the parse tree.
isBEKaml masak: haffun hackin'! :) 14:56
masak: oh, and talkin'!
[Coke]: Curious, how do I check the parse tree? 14:57
x3nU just created new module implementing BSD checksum 15:00
github.com/xenu/Digest-sum
[Coke] isBEKaml: parrot perl6.pbc --target=parse foo.p6
other valid targets include past, pir, ... maybe others, I forget. 15:01
11:01 <@LeoNerd> Ooh.. valid Perl6: my $time is short;
masak isBEKaml: thanks. I'm trying to do a bit of both hacking and prepping slides. :) 15:02
isBEKaml masak++
[Coke]: I get this here: Parrot VM: Can't stat perl6.pbc, code 2. when I tried your command. 15:03
perl6.pbc should be in the path or PERL6LIB?
(I'm just guessing)
[Coke] use whatever the path to the perl6.pbc is. 15:04
I typically do this in a build directory.
(where it's right there.)
bbkr x3nU: smart module :) "0..$input.elems-1" can be replaced by "^$input.elems" IMO to make it even more compact
star: for 0..10-1 {.say}; for ^10 {.say} 15:05
p6eval star 2010.07: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
bbkr se :)
isBEKaml [Coke]: right, got it. :)
[Coke]: Looks to me like, it first takes the '!' and then treats '!=', finally the assignment and negating it. 15:06
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. :)
[Coke]: It treats the first '!' as a symbol(whatever that means) and the following '!=' as an infix op. Right? 15:09
x3nU bbkr: thanks for suggestion :) 15:10
isBEKaml suddenly gets the feeling everyone but him are at YAPC.
[Coke] I am at $DAYJOB 15:11
ruoso is in other continent 15:12
isBEKaml feels warm in another continent. :)
[Coke]: do you want to look at the parse tree I generated? 15:13
bbkr star: "wol utyl i ma mily tulow".flip.say
p6eval star 2010.07: OUTPUT«wolut ylim am i lytu low␤»
squeeky Any of the YAPC::EU people here?
isBEKaml squeeky: sssh, don't disturb them. They are all hackin' away. :) 15:15
*at the hackathon
squeeky So am I! But I want to bother one of them for a while.
GeneralMaximus i can't get some sockets code to work on Rakudo. specifically, this code on GitHub: github.com/carlins/irc-client/blob/...Client.pm. this is the message i get: pastebin.com/ZxjZPUWv
squeeky be damned if I know *anyone* here.
GeneralMaximus any pointers? clueless newb here. 15:16
isBEKaml squeeky: bug moritz_++ or masak++
squeeky I havent spotted them yet.
15:17 alester joined
moritz_ hm, looks like it hasn't been ported to master yet 15:18
15:19 ambs joined 15:20 pyrimidine joined
bbkr rakudo: class Boo { method new() { } }; say Boo.new.WHAT; 15:21
p6eval rakudo efe72c: OUTPUT«Parcel()␤»
masak rakudo: class Boo { method new() { } }; say Boo.new eqv Nil 15:23
p6eval rakudo efe72c: OUTPUT«1␤»
masak rakudo: class Boo { method new() { } }; say Boo.new === Nil
p6eval rakudo efe72c: OUTPUT«1␤»
masak rakudo: class Boo { method new() { } }; say Boo.new =:= Nil
p6eval rakudo efe72c: OUTPUT«1␤»
15:24 molecules joined
bbkr masak: it's 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 !==
moritz_ molecules: there's none
molecules moritz_: Thanks
moritz_ molecules: != is a convenience, and you get !== by applying the ! meta operator to infix ==
15:26 bgs100 joined
molecules moritz_: Thanks. Good book by the way. Thanks for writing it. 15:26
15:27 jarek-s joined
masak we should put in a clarification about != and !== 15:28
moritz_ molecules: thank you
molecules moritz_, masak: Should I fork the book add the clarification and send a pull request? 15:29
[Coke] molecules: that works. 15:30
moritz_ molecules: or just tell us your github ID
get a commit bit
and push directly
molecules moritz_: molecules
moritz_ hugme: add molecules to book
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
molecules moritz_: Thanks!
bbkr std: sub foo { say "bar" }; my $x = 'foo'; &::($x)()
p6eval std 31897: OUTPUT«ok 00:01 118m␤» 15:32
bbkr rakudo: sub foo { say "bar" }; my $x = 'foo'; &::($x)()
p6eval rakudo efe72c: OUTPUT«===SORRY!===␤Indirect name lookups not yet implemented at line 22, near "()"␤»
15:35 perlygatekeeper joined
masak turns around :) 15:36
bbkr std: my @a[5] # is that definition of fixed size ? 15:42
p6eval std 31897: OUTPUT«ok 00:01 116m␤»
jnthn Think so.
bbkr rakudo: my @a[5]; @a[128] = 'foo'; # looks wrong, isn't it? 15:43
p6eval rakudo efe72c: ( no output )
15:44 timbunce_ joined
bbkr rakudo: my @a[*]; # all your resources are belong to us :) 15:45
p6eval rakudo efe72c: ( no output )
15:45 risou joined
masak bbkr: Rakudo parses 'my @a[5]'. that's pretty new, I think. 15:47
bbkr: there's no underlying semantics for it, though.
bbkr masak: thanks
masak bbkr: that is to say, 'my @a[5]' works like 'my @a' right now. 15:48
squeeky moritz_++ masak++ # let's see if I can compile rakudo 3 times from one charge. 15:49
15:49 synth joined
bbkr rakudo: my @a[*;*]; 15:51
p6eval rakudo efe72c: ( no output )
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
masak bbkr: if it's "Cannot declare...", it should be closed. 15:53
masak is an issue ticket purist :)
no run-time recasting of tickets, just because it's convenient! :P
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.
masak bbkr: if you want. I'm not sure how important that is, since other S09 tests will imply that that parses.
moritz_ rakudo: class A { has $b; method new { my $b = 3; say $b } }; A.new()
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␤»
[Coke] forcing users/developers to create new tickets is just busywork, IMO. 15:55
and we have enough real work.
masak [Coke]: fair enough. the ticket as it stands, though, is ready to be closed.
[Coke] by all means, close tickets.
;)
15:56 risou_ joined
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: perl6doc.org/release_guide
or perl6doc.org/ROADMAP
[Coke] masak: why not just open a new ticket at that point? ;)
masak [Coke]: you're just making rules up as you go along! :P
smash 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. ;)
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
masak smash++ 15:59
moritz_ smash++ indeed 16:00
bbkr rakudo: my($a) = 5; say 'alive' 16:01
p6eval rakudo efe72c: OUTPUT«alive␤»
16:02 jfried joined 16:04 whiteknight joined, justatheory joined 16:06 Sanitoeter joined
[Coke] wonders why attributes are declared with "has $b" and not "has $.b" or whatever the twigil is. 16:07
16:08 timbunce joined
[particle] these are rakudo docs at perl6doc.org? 16:08
a better url might be docs.rakudo.org
16:08 Ross joined
bbkr 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:11
rakudo: break 16:16
p6eval rakudo efe72c: OUTPUT«Could not find sub &break␤ in main program body at line 22:/tmp/3991IK9D0k␤»
bbkr expected behavior if break called outside block? 16:17
16:17 _macdaddy joined
bbkr std: break 16:18
p6eval std 31897: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'break' used at line 1␤Check failed␤FAILED 00:01 114m␤»
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)␤»
rcfox Whoops.
rakudo: use MONKEY_TYPING; augment class Block { method Num { return self.(); } }; my $b = {{{{{{{{{{3}}}}}}}}}}; $b();
p6eval rakudo efe72c: ( no output )
rcfox Hm, really?
Oh, I forgot say. :x 16:21
rakudo: use MONKEY_TYPING; augment class Block { method Num { return self.(); } }; my $b = {{{{{{{{{{3}}}}}}}}}}; say $b();
p6eval rakudo efe72c: OUTPUT«3␤»
rcfox Sorry for all of the flooding...
16:21 cognominal joined
bbkr was 'break' replaced by something in spec? cannot find it anymore in S04 and it's reported in rt.perl.org/rt3/Ticket/Display.html?id=69010 16:24
pmichaud proceed, I think. 16:25
16:26 Ross joined 16:28 tylercurtis joined
bbkr rakudo: for ^8 {.say; proceed;}; say 123; 16:30
p6eval rakudo efe72c: OUTPUT«0␤ at line 1␤1␤ at line 1␤2␤ at line 1␤3␤ at line 1␤4␤ at line 1␤5␤ at line 1␤6␤ at line 1␤7␤ at line 1␤123␤»
16:31 timbunce joined
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 1␤8␤»
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
moritz_: To the Perl 6 book, that is.
dalek ok: cc7c5a6 | molecules++ | src/operators.pod:
Added explanation of the equivalent "not equals" operators. Thanks moritz!

  != is a convenience, and you get !== by applying the ! meta operator to infix ==
pmichaud bbkr: oh, did you mean "break" as in "exit a loop"? That's 'last', same as p5.
afk, dinner 16:33
16:33 Axius joined
bbkr pmichaud: 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:34
16:37 jaldhar joined
dalek ok: a0e675b | molecules++ | src/operators.pod:
corrected "on of the keys" to "one of the keys"
16:38
16:43 cdarroch joined 16:46 desertm4x joined 16:47 REPLeffect joined, Lorn joined
molecules [Coke]: about "has $b" see Apocalypse 12 (dev.perl.org/perl6/doc/design/apo/A12.html) 16:56
[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.
[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.]
[Coke] molecules: thanks, yes. BTW, don't use the apocolyses, they are out of date with respect to the synopsis. 16:57
16:57 d4rt joined 16:58 risou joined 17:04 ash_ joined
ash_ ping moritz_ 17:07
molecules [Coke]: Thanks. I forgot about that.
ash_ or anyone that uses feather3 i guess 17:08
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
does anyone else have that problem?
PerlJam how much RAM does feather3 have? 17:13
[Coke] ash_: that requires a gig of ram to complete.
ash_ i don't know how much ram feather3 has, let me check
its got 2 gigs of ram 17:15
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?
[Coke] possible.
ash_ p6eval uses feather3, so... it's built it 17:17
PerlJam ash_: if it's "the same"
ash_ i think its feather3...
actually, i could be completely wrong on that
[Coke] is unfamiliar with various feathers, and just uses "feather".
PerlJam ash_: perhaps you have a personal memory limit?
ash_ maybe
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
ash_ PerlJam: do you have access to feather3? or have you successfully built rakudo on feather? (just curious if its just me) 17:20
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:21
also, I don't think rakudo builds on feather1 anymore and I don't know the relationship between feather1 and feather3 17:22
at least, I seem to recall that I couldn't build rakudo on feather1 the last time that I tried.
ash_ i might nice it and leave it in a screen in the background and just see if it ever finishes... 17:23
17:25 ashleydev joined 17:30 pnate joined 17:41 hercynium joined
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
17:42 Holy_Cow joined
[particle] "implementation-defined object"... examples? 17:43
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. blogs.perl.org/users/ryan_fox/2010/...erl-6.html 17:49
17:51 rlb3 joined
gfldex std: role foo {}; my $bar = { 2 }; $bar does foo; 17:55
p6eval std 31897: OUTPUT«ok 00:01 117m␤»
gfldex o.0
perl6++
17:57 risou_ joined 17:58 M_o_C joined
avuserow monkey typing scares me. 17:59
18:02 ghyspran joined
gfldex rcfox: what you do should work but you leave a question 18:02
rcfox: why would that be cool?
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:08
(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
s/tranversing/traversing/
Oh, you probably meant that I should answer this in the post. 18:10
I will have to get back to that. I need to sleep now.
18:14 Guest58802 joined
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:15
sorear quite easily 18:17
read src/core/*.pm
[Coke] (it helps that chunks of Rakudo are written in Rakudo.)
PerlJam GeneralMaximus: maybe you could flesh out IO::Socket a bit more? 18:18
GeneralMaximus ah, those modules look helpful
Tene I thought that rakudo did have an IO::Socket...
PerlJam Tene: it does. It's minimal
Tene GeneralMaximus: yes, you can use individual pir ops straight from rakudo with: pir::foo();
you can also embed literal pir with Q:PIR { ... }; 18:19
PerlJam: Ah, thanks.
GeneralMaximus PerlJam, i could try. that's all i can say for now (being new to both perl and parrot) :p
okay, i'm looking at the core modules now. thanks sorear. 18:20
18:20 oha joined
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:24
[particle] string_to_datatype, string_to_object, datatype_from_string? 18:25
string_to_native? i'm full of names. 18:26
[Coke] unmarshal?
hurm. close but not quite.
[particle] what's the encoding of the string? 18:27
araujo: ^^
araujo utf8 18:28
18:36 envi^home joined 18:38 sjohnson joined 18:50 Ross joined 19:00 nimiezko joined 19:02 jaldhar joined 19:05 cono joined
sorear araujo: read? 19:11
parse?
19:16 perlygatekeeper left
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
19:17 takadonet left
snarkyboojum araujo: conjure :) 19:19
19:20 offerkaye joined
offerkaye Hi 19:21
avuserow Ahoy
19:21 ash_ joined 19:25 oha joined
ash_ ping moritz_ 19:27
[Coke] 15:31 <@DrForr> Or hire Spinal Tap. 19:35
15:31 < Coke> This Perl Goes to Six.
15:32 <@DrForr> You... are numb... never mind.
19:38 PZt joined
[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
offerkaye Hi [Coke] 19:43
Do you know by any chance, does P6 "chomp" accept only strings? Not a list? 19:44
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:45
19:46 REPLeffect joined, justatheory joined
[particle] offerkaye: our Str multi method chomp ( Str $string: ) is export 19:47
19:48 meppl joined
[particle] as currently defined in S32::Str 19:48
offerkaye I saw that but I wasn't sure what "multi method" means
[particle] ok, it means more than one method signature can be defined
so a user can provide their own method of the same name with a different sig 19:49
but as specced, it only takes Str now 19:50
offerkaye Since in P5 it can also work on a list, I hope that gets improved sometime 19:51
Anyway thanks for the help [particle] . 19:52
[particle] offerkaye: it can... you can patch the spec. 19:53
if @Larry doesn't like it, it'll get reverted.
that's how we operate here, don't be shy.
offerkaye :)
19:54 d4rt joined
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:57
[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
[particle] Str $string means that you automatically have the first parameter named $string in your code 19:58
tylercurtis "Str multi method ..." means it returns a Str. 19:59
[particle] 'our' means it's package scoped, and is the default, so 'sub foo(...) {...}' mean sthe same as 'our sub foo(...) {...}' 20:00
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?
[particle] our is there to be explicit, if i understand correctly
20:01 Ross joined
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:02
20:04 jhuni joined
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.
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)␤»
snarkyboojum subroutines are lexically scoped by default in Perl 6 20:07
[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?
snarkyboojum so they default to my scope not our
as I understand it
20:09 d4rt_ joined
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
offerkaye: yes.
snarkyboojum: Not for methods, though, no? 20:10
20:11 Ross joined
offerkaye tylercurtis: what a relief to understand that, thanks :) 20:11
20:11 Ross joined
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
offerkaye snarkyboojum: [particle] is AFK 10 min, on phone 20:12
tylercurtis snarkyboojum: ah, right.
offerkaye In case you were wondering :)
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...
[Coke] invocant is 'self'.
tylercurtis snarkyboojum: Ah. Why does spec use our scope for exported multi methods? 20:16
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
$string?
self?
[Coke] offerkaye: chomp is already a method.
20:17 yxes joined
[Coke] the spec presumably names the args for clarity. I guess it's not working. =-) 20:18
if you write your own method, you do not have to call the first positional argument $string.
(I hope)
PerlJam offerkaye: are you familiar with named parameters?
[Coke] PerlJam: (this isn't a named parameter, is it?) 20:19
PerlJam no, it isn't
but I think that might be a source of confusion
offerkaye PerlJam: you mean my $obj = Foobar->new({item1=>"foo"}) ?
[Coke] offerkaye: WOOF that's fivey.
offerkaye Ah sry thought PerlJam meant P5 named params 20:20
I don't know P6 named params sorry :(
PerlJam Hmm
[Coke] offerkaye: so, the fact that the positional argument is mentioned by name is only for explanatory reasons, SFAICT.
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!
"ou already have a variable called $foo available in teh method body." - that's what I was trying to say - rather badly :) 20:22
ok that makes sense, thanks :)
[Coke] whee!
[particle] square-bracketed nicks for the win! 20:24
20:24 ambs joined
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
20:26 xinming joined
offerkaye And what does "is export" mean? 20:26
PerlJam it doesn't actually make any statement about the ability to override chomp 20:27
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.
offerkaye -> points at [particle] ... ;)
[Coke] "
PerlJam offerkaye: right, that's not "overriding"
[Coke] No.
20:28 orafu joined
[particle] chomp is a method, not a function 20:28
sorry, s/override/define/ 20:29
[Coke] the signature of the builtin chomp method does not guarantee that.
offerkaye " provide their own method of the same name" - how would you call it if not to override?
PerlJam offerkaye: participates in multi-method dispatch.
20:29 masak joined
masak backslash oh slash 20:30
offerkaye Good evening masak :)
masak buona sea
s/sea/sera/
[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');
p6eval rakudo efe72c: OUTPUT«1 is an Int␤abc is a Str()␤»
offerkaye PerlJam: how does a method "participate in multi-method dispatch."
PerlJam masak: is that greek or something?
masak right, placing backspace right above Enter was a really good idea...
cognominal %*ENV seems readonly :(
masak PerlJam: something.
[particle] offerkaye: see my example above
[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.
cognominal: that's a shortcoming in Rakudo, not in the spec.
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:32
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
PerlJam masak: no, just a minor neuronal misfire :)
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:35
masak good blog post: blogs.perl.org/users/ryan_fox/2010/...erl-6.html 20:36
offerkaye: "it multies" :)
20:37 nimiezko joined
offerkaye :) 20:37
That could be an inside joke... and for once I would get it :)
PerlJam offerkaye: "override" is like "X replaces Y". "participates in MMD" is more like "X adds to Y"
[Coke] the multi is a shortcut for that. you'd probably never say PIMMD unless you were explaining MMD.
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?
PerlJam offerkaye: s/function/method/
offerkaye snarkyboojum: I tend to think of overloading for ops but yeah, could be appropriate.
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:40
masak that was me, yes. 20:41
[Coke] offerkaye: stop repeating "you get a variable named..."
20:41 tommyd joined
offerkaye masak: you are my God :D 20:41
PerlJam offerkaye: he may have misinterpretted why the reader is crying however ;-)
offerkaye lol
masak offerkaye: that sounds a bit too responsible fot my taste...
tadzik offerkaye: where is this from?
offerkaye u4x README 20:42
masak u4x README.
tadzik :D
snarkyboojum masak: unless you want to be a Greek god :P
offerkaye snarkyboojum: Italian God at this moment?
masak snarkyboojum: Greek god -- does it come with admirable abs?
offerkaye [Coke]: So you don't get $string inside the method body? 20:43
[particle] it comes with a pile of debt.
tylercurtis offerkaye: if you have a $string parameter, yes.
[Coke] offerkaye: which method body?
tylercurtis: SSSH.
snarkyboojum masak: the alliteration is killing me :)
[Coke] the method in the spec?
[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 :)
p6eval rakudo efe72c: OUTPUT«abc is a Str()␤»
[Coke] or the method that you define in your own code?
offerkaye The method you define
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.
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()␤»
PerlJam offerkaye: in theory, everything is introspectable.
[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.
snarkyboojum masak: :P
offerkaye Did I just overload or override? hmmm...
masak offerkaye: having $string in a signature is just as much a declaration as 'my $string'
[Coke] so the fact that it says $string does NOT mean that YOU will get a $string.
the fact that YOU say $string does.
masak offerkaye: override. 20:47
[Coke] whoever said that you is conflating method signatures in general with the definitions in the spec.
offerkaye [Coke]: so you're saying, I only got $string because I declared it?
[Coke] yes.
if YOU write "method chomp (Str $strung) {}".... you name your argument $strung, and you get that variable in YOUR method body. 20:48
the fact that you're adding another chomp doesn't mean you get the original chomp's $string.
your method doesn't know anything about that.
masak right, each multi is an island. 20:49
[particle] an introspectable island
20:51 soc joined
soc hi 20:51
PerlJam soc: greets
soc just wanted to say thanks for your great string implementation
alester I smell a test case! zmievski.org/2010/08/the-prime-that-wasnt
Or should I put it in Parrot?
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
[Coke] alester: <squint> is that perl6 code? 20:52
[particle] soc: thanks!
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
alester but it fails in PHP land.
because of backtracking.
tylercurtis soc: hopefully, we'll even have that actually implemented at some point. :)
soc tylercurtis: but the idea looks good at the moment 20:54
and it works halfway ...
offerkaye s/it's/its/;
[Coke] alester: I would throw it at nqp-rx, after translating it P6.
alester which is in Parrot, right?
soc and standardizing the internal representation/normalization in which UTF-8 is stored internally is a very big improvement too
[Coke] hugme: nqp-rx? 20:55
soc that's makes string comparisons in O(n) possible again (i hope)
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 :)
soc does someone know if the specification says something about sorting the diacritic combinung marks?
[Coke] parrot includes nqp-rx, but it comes from ... 20:56
soc PerlJam: ok!
[Coke] github.com/perl6/nqp-rx
soc TimToady: *ping*
[Coke] but that's just my vote.
alester I don't know from nqp. Waaah.
But I really do want to help out.
One of my Growth Goals at work is to learn Perl 6.
tylercurtis alester: NQP is a subset-ish of Perl 6. 20:57
alester right.
[particle] soc: i believe that you can modify the sort to be diacritic-agnostic/aware... looking 20:58
alester well, now wait.
oh, that's the test repo?
[Coke] but all the basic regex stuff in parrot and rakudo comes from there.
alester oh, I just don't know.
Waah.
I really need to write code.
PerlJam [particle]: I seem to remember something analogous to :ignorecase for diacritics
[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.
<shrug> write it in perl6. that's easier to do anyway.
alester and then backport it down. 21:00
21:00 bgs100 joined
bgs100 python 21:00
Er
Fail
alester my big overarching goal is to write File::Next in P6
bgs100 Was trying to join the channel; ignore please
[particle] alester: that' was going to be my first suggestion
masak bgs100: you succeeded! welcome!
PerlJam alester: and then ack? :)
21:00 trexy joined
tadzik alester: couldn't we integrate it with File::Find? 21:01
bgs100 Hi masak, yay :p
alester tadzik: Why would I want to?
tadzik alester: the P6 File::Find returns a lazy list
alester hmm
tadzik alester: I just don't think File::Next is so needed now
File::Find does not suck anymore ;)
masak bgs100: so, you're interested in Perl 6 and Python? :)
tadzik well, maybe the code does, but at least the concept isn't broken :)
bgs100 masak, Yes 21:02
trexy hi
masak bgs100: me too.
trexy: hi!
trexy just downloaded Rakudo *
well done on the release
masak trexy: yay!
trexy as an avid lurker for 5+ years
it's been great to see it come to fruition
bgs100 Hi trexy
tadzik alester: so the CPAN synopsis example would be my $list = find('/tmp'); for $list -> $file { #`[do something] }
trexy hi
bgs100 masak, ah :)
masak trexy: what's the difference between an ordinary lurker and an avid one? :P 21:03
trexy indeed
well I suppose I feel part of the channel albeit
my active contributions are small
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
masak trexy: that makes me genuinely happy.
trexy I'd just like to vote for Camelia++
masak trexy: would you rather have Camelia there?
ok.
trexy absolutely
I think she is a strong brand
soc perl6: $str1 = "tést"; $str2 = "te\\u0301st"; if ($str1 == $str2) {print "Same"};
p6eval pugs: OUTPUT«*** ␤ Unexpected " ="␤ expecting "::"␤ Variable "$str1" requires predeclaration or explicit package name␤ at /tmp/hoK8ldT1Sv line 1, column 6␤» 21:05
..rakudo efe72c: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\\u' at line 22, near "0301st\\"; i"␤»
trexy and I realise she may take some time to get used to
PerlJam trexy: a little too strong for some people :)
soc ouch, sorr<
trexy but a brand needs to be distinctive
snarkyboojum trexy: I was surprised too, but I also found the replacement more gentle on the eyes :)
trexy yes
masak me too.
trexy I think the replacement is very nice/aesthetic etc
bgs100 Hmm
trexy however it needs to have personality imho
ash_ ping moritz_ 21:06
21:06 jferrero joined
bgs100 should hurry up and download Rakudo 21:06
trexy a mascot logo needs to have some 'spirit'
and O(fun) etc
alester waaaah, emebedded tabs in modules
tadzik still thinks having a Bug as a language mascott is not the best idea
PerlJam someone should do an animation of sri's butterfly morphing into Camelia
trexy that would be cool
I understand what sri was driving at 21:07
21:07 ascent_ joined
alester What is Cool? 21:07
trexy but I think there is a requirement for a 'love' mark
something that people can have an emotional attachment too
21:07 drbean joined
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
alester tadzik: You wrote File::Find then?
tadzik alester: yep
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 :->
trexy Camelia - can be that mark imho
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.
tadzik alester: the P6 one of course :)
alester And so Find.pir is a copmiled-down version of Find.pm?
tadzik alester: probably, yes
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
tadzik oh btw, did today's pmichaud++ patch for rakudo made it able to compile the standalone scripts?
trexy that needs to be applied to lots of different things (mugs, favicon, tshirts) etc
tadzik I wouldn't mind a Camelia t-shirt I must say
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.
snarkyboojum I would buy a Camelia t-shirt :) 21:11
tylercurtis also likes Camelia.
trexy me too
tadzik alester: that's what Star does? 21:12
snarkyboojum or even a Camelia sticker to stick to my laptop :)
21:12 ambs joined
alester That seems to be the case, yes 21:12
tadzik strange. Well, I install them all to my ~/.perl6/lib, so I dunno 21:13
alester: the case? It doesn't work there?
21:13 am0c joined
alester I didnt' say it doesn't work. 21:13
I just figured that the Perl modules would be installed separate from /usr/local/lib/parrot
tadzik hmm
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
pmichaud good evening, #perl6
tadzik any Parrot language can use .pir modules, no?
alester Sure, but then why the .pm there?
tadzik dunno
pmichaud: 'evening
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:
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"
trexy lovemarks for Perl: 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
[particle] aCiD2: any amount of stars, including 0? 21:16
pmichaud rakudo: "** Foo" ~~ token { ^^ '*' + \\s+ $<text>=[\\N*] \\n }; say $<text>
p6eval rakudo efe72c: OUTPUT«␤»
aCiD2 sorry, 1 or more
pmichaud rakudo: "** Foo" ~~ token { ^^ '*'+ \\s+ $<text>=[\\N*] \\n }; say $<text>
[particle] ok
masak slides work &
p6eval rakudo efe72c: OUTPUT«␤»
21:16 Guest23195 left
pmichaud oh, there's no \\n there. 21:16
21:17 Mowah joined
pmichaud rakudo: "** Foo\\n" ~~ token { ^^ '*'+ \\s+ $<text>=[\\N*] \\n }; say $<text> 21:17
p6eval rakudo efe72c: OUTPUT«Foo␤»
pmichaud there.
aCiD2 hrm, is that different to what I have?
tylercurtis aCiD2: your example didn't have a newline in the text.
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 *
tadzik oh wow. Is that colomon who did loop optimizations recently?
soc does someone know how to get rakudo star? ist there a debian package or a ppa somewhere?
21:18 ascent_ joined
tadzik soc: I doubt it, only the .tar.gz on github 21:18
soc mhh ... debian-experimental has it ... 21:19
let's see if it installs on ubuntu ..
tadzik oh
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.
offerkaye Good night all.
aCiD2 gist.github.com/507173 ok, this is what I'm working with
but no output from this...
bgs100 Wheee
tadzik 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
tylercurtis aCiD2: the empty lines are probably problematic
p6eval rakudo efe72c: ( no output )
pmichaud tylercurtis++ # correct, it doesn't match empty lines 21:22
PerlJam I guess it's just too slow
pmichaud in fact, it doesn't match the first empty line
so it stops.
(The first empty line being the one before "* Hello\\n") 21:23
aCiD2 so do I surround <node> with \\s* ?
pmichaud aCiD2: something like that. Could also do: token TOP { [ <node> | ^^ \\h* \\n ]+ }
21:24 wamba joined
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
21:24 soc left
tadzik g'night #perl6 21:24
PerlJam pmichaud: does nqp/rakudo distinguish between | and || now? 21:25
pmichaud PerlJam: no.
21:26 trexy left
sorear it's pmichaud! 21:28
moritz_ o/
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?
sorear hi
phenny moritz_: 21:20Z <pmichaud> tell moritz_ I decided to work from my room (couldn't get network addr on 1st floor wifi)
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.
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.
phenny pmichaud: I'll pass that on when [Coke] is around.
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
moritz_ std: rx:foo/ a / 21:34
p6eval std 31897: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized adverb :foo(1) at /tmp/9dEMEcYRwL line 1:␤------> [32mrx[33m⏏[31m:foo/ a /[0m␤Check failed␤FAILED 00:01 115m␤»
moritz_ std: rx:g/ a /
21:34 wamba joined
p6eval std 31897: OUTPUT«ok 00:01 115m␤» 21:34
moritz_ that is... curious
sorear howso?
pmichaud: TimToady talks about backtracking as being simply a lazy list of cursors
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
moritz_ sorear: for example :g only makes sense on calls (like s:g///, m:g//), not on rx//
bgs100 std: say "hi" 21:36
p6eval std 31897: OUTPUT«ok 00:01 115m␤»
pmichaud sorear: sure, I've heard TimToady remark about them being lazy lists of cursors
sorear pmichaud: (outside Cursor.pmc) I have a slightly bad feeling about this setup. Do you share it?
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:37
moritz_ std: rxs/a/ 21:38
p6eval std 31897: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus term at /tmp/JKUa0ncTLF line 1 (EOF):␤------> [32mrxs/a/[33m⏏[31m<EOL>[0m␤Undeclared routines:␤ 'a' used at line 1␤ 'rxs' used at line 1␤Parse failed␤FAILED 00:01 116m␤»
21:38 cognominal joined
sorear Are you treating this as a case of Not Quite, or do you want to change the vision? 21:38
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:39
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/
p6eval std 31897: OUTPUT«ok 00:01 115m␤»
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
snarkyboojum pmichaud++ # I just built a working fakecutable from rakudo on OS X 21:42
pmichaud snarkyboojum: \\o/
snarkyboojum v. cool :)
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
snarkyboojum noticed that it doesn't seem to work for scripts reading from @*ARGS 21:43
pmichaud snarkyboojum: that's possible, yes.
snarkyboojum pmichaud: cool - but it does work! something cool about running a perl6 executable :D 21:44
pmichaud getting tired here, so heading off for a nap 21:46
bbl
21:49 lucs joined 21:56 araujo joined, ascent_ joined 21:58 ascent_ joined 22:03 M_o_C joined 22:07 spinclad joined
[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.
[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.
[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
ericsmith I just installed rakudo-star-2010.07 and was first struck by the slow speed of execution. 22:15
Just ran a few command with perl6 -e " " and wondered why it was so slow?
exodist ericsmith, thats probably everyones reaction
ericsmith I hope it improves ... 22:16
sorear that's not the slow speed of execution you're seeing 22:17
it's not like perl6 is "executing" the space
avuserow ericsmith: speed is improving with every release 22:19
tylercurtis sorear: it's the slow speed of executing the setting, though, right?
avuserow ericsmith: www.modernperlbooks.com/mt/2010/07/...-star.html
sorear tylercurtis: more like the slow speed of the parrot bytecode loader 22:20
tylercurtis: in case you were wondering why #parrot spends so much time on packfiles
avuserow that might be a good read for why it's slow and some goals
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
22:21 yxes left
sorear rakudo is considerably larger (due to inefficient bytecode formatting) and mostly bytecode which has to be explicitly loaded 22:21
we're trying to fix this on multiple fronts
more efficient bytecode, better bytecode generator, bytecode demand loading 22:22
ericsmith Thanks avuserow for that reference, digested ... 22:23
22:36 drbean joined
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:40
But first goal was make things work at all. :-) 22:41
Casan jnthn: how is the italian beer? 22:42
jnthn Casan: I dunno, I spent the evening drinking Paulner Weiss and Killkenny ;-) 22:44
I can certainly say the range of beer available here makes me happy though. :-)] 22:45
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
22:47 IllvilJa joined
ash_ ping moritz_ 22:48
jnthn Casan: You in Denmark at all these days? 22:49
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:50
22:51 ascent_ joined, Helios joined
jnthn Casan: Let me know. I'm living in Lund these days, so CPH is easy. :-) 22:51
Sophia as in Bulgaria?
Casan jnthn: yep, I noticed, sounds like an interesting job for you.
Sophia as in France.. sophia antipolis is a science park near cannes and nice 22:52
live by the sea, and go up in the hills for job+edu 22:53
jnthn Aha, OK. :-)
Going to be at the OSDC in Paris?
(I plan to be. )
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
ahh oct.
jnthn I think second weekend of oct
Casan hehe going to french websites, even when they are in English gets me easily confused. 22:57
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.
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
Casan hah yeah, I know the program. I also know that you are a trained professional ;) tty mate. 23:01
jnthn night o/ 23:02
23:02 jaldhar joined 23:13 ascent_ joined 23:14 Helios joined 23:32 justatheory joined 23:38 risou joined 23:56 masonkramer joined
sorear I wonder if the poeple on p6l talking about smart matching know they're all going to be ignored. 23:56
sorear doesn't have the heart to tell them 23:57
23:58 risou_ joined, HarryS joined 23:59 Psyche^ joined