Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-06-30

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 perlhack sorry I only know a little English.   lithos
00:01 perlhack i am a  Chinese person
00:02 thundergnat joined #perl6
00:03 * lithos -> sleep
00:03 lithos if someone wants to comment: i'll read the logs :)
00:03 thundergnat p6eval: my @a = <a b c>; say 'a' ~~ m/@a/;
00:03 molaf joined #perl6
00:04 thundergnat perl6: my @a = <a b c>; say 'a' ~~ m/@a/;
00:04 p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped b…
00:04 p6eval ..niecza v7-11-g9ba8284: OUTPUT«Bool::False␤»
00:04 p6eval ..rakudo 1fcb14: OUTPUT«␤»
00:05 lithos left #perl6
00:05 sorear the correct answer is True
00:05 sorear well, 'a'
00:05 thundergnat Hmm. NYI  in Rakudo I guess.
00:05 perlhack the correct answer is True
00:05 perlhack hm....
00:05 perlhack what mean "NYI"
00:06 donri is perlhack trying to ask which country has the prettiest girls?
00:06 thundergnat Interestingly there is an unfudged test for that in roast. I wonder how that passes...
00:06 thundergnat perkhack: Not Yet Implemented
00:06 perlhack Oh  i see
00:06 perlhack prettiest girls
00:07 perlhack i like it
00:07 perlhack very like
00:07 perlhack Hey Hey
00:08 perlhack thanks you all answered my question
00:08 thundergnat Ah. The reason would be because that test file isn't in the spectest.data file, so it never gets run.
00:11 starcoder left #perl6
00:13 sorear donri: I can't tell.
00:13 thundergnat FWIW,  the file t/S05-metasyntax/litvar.t (https://github.com/perl6/roast/blob/master/S05-metasyntax/litvar.t) should probably be added to rakudo/t/spectest.data (https://github.com/rakudo/rakudo/blob/master/t/spectest.data). I'd do it but I don't have a commit bit for Rakudo.
00:13 sorear donri: I asked perlhack for the Chinese version but didn't get it.
00:14 thundergnat Will need some fudging. Bunch of tests don't pass locally.
00:14 perlhack Me ????
00:14 perlhack 哈哈  Sometimes I don't understant you talk
00:15 thundergnat perlhack: I wasn't speaking to you in particular, just the perl6 channel in general.
00:15 sorear perlhack: What is "16:40 < perlhack> Which country more than beauty?" in Chinese?
00:16 sorear perlhack: and "Which country more than the pretty girl..."?
00:16 perlhack Yes
00:16 perlhack prettitest girl ....
00:16 perlhack ....
00:17 sorear #perl6: How does qx/.../ know whether to return a list or a single string?
00:17 perlhack The most prettiest girl
00:17 flussence qx can return a list? didn't know that.
00:17 donri perlhack: sorear is asking you to say it in chinese
00:18 perlhack 哪个国家美女最多啊
00:19 perlhack hm...
00:20 perlhack ask sb to do sth....
00:20 * sorear cannot say
00:20 perlhack why???
00:20 flussence the spec doesn't say a lot about qx
00:21 perlhack why cannot say with sorear?
00:22 perlhack why not say Sorear?
00:22 sorear I don't really pay attention.
00:23 sorear flussence: I notice.
00:23 sorear so I'll do the next best thing and copy Rakudo :>
00:24 perlhack 哈哈
00:24 perlhack should to pay attention
00:24 ananamoose left #perl6
00:25 perlhack should pay attention
00:26 perlhack should pay attention prettiest girl.
00:31 perlhack i have to go now...sorry all...
00:31 perlhack i hope to talk soon...
00:41 diakopter if any Googlers read this and my above message, know that I now reported it through the proper channels and being investigated
00:41 diakopter *it's
00:45 perlhack left #perl6
00:49 Moukeddar left #perl6
00:57 cotto left #perl6
01:06 donri left #perl6
01:13 sorear studying the Perl 5 / Win32 system() implementation... it's quite ugly :(
01:14 benabik_ joined #perl6
01:15 colomon joined #perl6
01:15 sorear o/ colomon
01:16 cotto joined #perl6
01:16 colomon \o
01:16 colomon bunch of us just got back from dinner.  :)
01:22 woosley joined #perl6
01:22 benabik left #perl6
01:22 benabik_ is now known as benabik
01:25 pernatiy joined #perl6
01:27 colomon left #perl6
01:27 cotto left #perl6
01:29 xinming left #perl6
01:31 colomon joined #perl6
01:32 soh_cah_toa joined #perl6
01:37 colomon btw, the full set of trig tests now runs in one minute, two seconds on my MacBook Pro.  (One thread only.)
01:38 whiteknight left #perl6
01:38 ZaphrodZenovka joined #perl6
01:39 cotto joined #perl6
01:42 thundergnat left #perl6
01:44 sorear colomon: you said you were going to do something with niecza during my absense
01:45 colomon I'm still hoping to tackle the trig functions sometime soon, yes.
01:45 ggoebel sorear: another rename suggestion... snap
01:45 sorear "snap"?
01:45 ggoebel sounds fast
01:46 ggoebel also a common explitive
01:46 ggoebel though I'm still partial to shebang
01:46 cooper left #perl6
01:46 cooper joined #perl6
01:46 ggoebel http://www.urbandictionary.com/define.php?term=aw%20snap
01:47 ggoebel http://www.urbandictionary.com/define.php?term=shebang
01:47 ggoebel <back to lurking>
01:51 envi joined #perl6
01:51 sorear colomon: cool
01:56 colomon left #perl6
01:56 TimToady ooh, finally got back online; the networks here can be brutal...
02:02 ananamoose joined #perl6
02:03 colomon joined #perl6
02:06 ccc joined #perl6
02:07 colomon jnthn: ping?
02:09 * [Coke] stares at errors in nom's 'make tst'
02:09 [Coke] *test
02:09 colomon_ joined #perl6
02:10 [Coke] nom: say "you htere?"
02:10 p6eval nom: OUTPUT«you htere?␤»
02:10 [Coke] nom: try { die "foo"}; print $!; say $!
02:10 p6eval nom: OUTPUT«Exception<52222680>Exception<52222680>␤»
02:11 araujo left #perl6
02:11 [Coke] (ah. needs to be on same line in REPL or it blows up in a different fashion)
02:12 colomon left #perl6
02:12 colomon_ is now known as colomon
02:12 ccc left #perl6
02:13 [Coke] so, at least some test failures because $! isn't comparing with eq.
02:14 mberends diakopter: glad to see your privacy concern, I also worry about such problems a lot.  Too many users and some developers seem not to care.
02:14 colomon [Coke]: in nom, yes?
02:15 cotto left #perl6
02:15 [Coke] aye.
02:17 [Coke] hurm. there is no src/core/Exception in master....
02:17 colomon I've just been looking for LHF in nom...
02:17 colomon Is that moritz++'s new stuff?
02:17 [Coke] ah, there it is.
02:21 TimToady pugs: macro assert ($x) { "$x or die 'assertion failed: $x' }; assert 1 == 0
02:21 p6eval pugs: OUTPUT«*** ␤    Unexpected end of input␤    expecting block, "\\", variable name or "\""␤    at /tmp/zw92MK6Ztw line 2, column 1␤»
02:22 TimToady pugs: macro assert ($x) { "$x or die 'assertion failed: $x' }; assert(1==0);
02:22 p6eval pugs: OUTPUT«*** ␤    Unexpected end of input␤    expecting block, "\\", variable name or "\""␤    at /tmp/nC6tzvIFCk line 2, column 1␤»
02:22 TimToady pugs: macro assert ($x) { "$x or die 'assertion failed: $x'" }; assert(1==0);
02:22 p6eval pugs: OUTPUT«*** No such subroutine: "&or"␤    at MACRO { "/tmp/hkOebEBs_A" (line 1, column 71) } line 1, column 2 - line 2, column 1␤»
02:24 TimToady pugs: macro assert ($x) { "$x or die 'assertion failed: $x' }; assert('1==0');
02:24 sorear starting processes on .net is completely insane
02:24 p6eval pugs: OUTPUT«*** ␤    Unexpected end of input␤    expecting block, "\\", variable name or "\""␤    at /tmp/fjfFZysOU5 line 2, column 1␤»
02:24 TimToady pugs: macro assert ($x) { "$x or die 'assertion failed: $x'" }; assert('1==0');
02:24 p6eval pugs: OUTPUT«*** assertion failed: 1==0␤    at MACRO { "/tmp/RePoHhFZrk" (line 1, column 73) } line 1, column 1 - line 2, column 1␤»
02:24 sorear it's like Windows, with all the added benefit of "ok, I can make cmd.exe work, what about sh?"
02:24 sorear I think I'll just make qx[] require POSIX
02:25 sorear TimToady: What is my @x = qx[ls] supposed to do?
02:27 TimToady we don't have that kind of context now, so either it's automatically lines, or it's a slurp
02:27 TimToady I don't see how we can have it both easily
02:27 sorear which should it be, a slurp?
02:28 TimToady if it's lines, there is the potential to be lazy
02:28 TimToady so I'm inclined to call it lines, and if you assign to $x you get an arrayref
02:28 sorear with something as expensive as processes, laziness would bother me
02:28 cotto joined #perl6
02:28 TimToady not lazy about starting it, it's just an incoming pipe
02:30 TimToady my @yes := qx[yes];  # infinite list
02:30 TimToady rakudo: my @yes := qx[yes]; say @yes[10];
02:30 p6eval rakudo 1fcb14: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/Ho4g8tk2PJ␤  in main program body at line 22:/tmp/Ho4g8tk2PJ␤»
02:31 TimToady aw
02:31 TimToady not lazy in rakudo though
02:32 ananamoose left #perl6
02:33 sorear still, that @yes holds onto a suspended process, a set of page tables, a kernel stack, many kilobytes of nonpagable memory, until the garbage collector runs
02:33 sorear and the GC can't see the kernel resources
02:33 TimToady well, yes, so?
02:33 TimToady you're already in that realm of inefficiency with any shell scripting
02:33 [Coke] how to do pir's $P1['foo'] in nqp?
02:34 sorear this feels like the kind of gun that automatically aims itself at your feet
02:34 sorear [Coke]: $obj<foo>, approximately
02:35 sorear $obj<foo> excactly, actually
02:37 [Coke] any notes on how to work on changing things in the setting (since building the setting is so slow)
02:38 sorear test them outside the setting first
02:41 colomon rakudo: say sin(all 1, 2, 3);
02:41 p6eval rakudo 1fcb14: OUTPUT«all(0.841470984807897, 0.909297426825682, 0.141120008059867)␤»
02:42 daniel-s joined #perl6
02:43 daniel-s left #perl6
02:44 daniel-s joined #perl6
02:45 lichtkind good night
02:45 daniel-s Night
02:45 lichtkind left #perl6
02:45 soh_cah_toa left #perl6
02:46 TimToady sorear: also note that qx would be eager if you use = instead of :=, since it's not known to be infinite
02:46 colomon rakudo: say 10.sin
02:46 p6eval rakudo 1fcb14: OUTPUT«-0.54402111088937␤»
02:46 colomon \o/
02:46 TimToady 10 sins against the 10 commandments...
02:47 * colomon prefers the 12 apostles (warning: obscure Newfoundland song joke)
02:47 TimToady you should warn me beforehand, not after :)
02:47 daniel-s So, when i type 10 anywhere in my code, is it an object, or does that happen after i append it with a .something
02:48 colomon it's an object
02:48 colomon rakudo: say 10.WHAT
02:48 p6eval rakudo 1fcb14: OUTPUT«Int()␤»
02:48 TimToady rakudo: say 10.WHICH
02:48 p6eval rakudo 1fcb14: OUTPUT«10␤»
02:48 colomon rakudo: say 10.WHY
02:48 p6eval rakudo 1fcb14: OUTPUT«Method 'WHY' not found for invocant of class 'Int'␤  in main program body at line 22:/tmp/OVMIK6RvVo␤»
02:48 daniel-s Rakudo: say 10.5.what
02:49 TimToady r
02:49 colomon daniel-s: needs to be lowercase r
02:49 colomon rakudo:
02:49 TimToady to get a R rat
02:49 daniel-s rakudo: say 10.5.what
02:49 p6eval rakudo 1fcb14: OUTPUT«Method 'what' not found for invocant of class 'Rat'␤  in main program body at line 22:/tmp/NpTKsqsbjM␤»
02:49 TimToady and uc WHAT
02:50 colomon it's a very case-sensitive language
02:50 TimToady sometimes
02:50 xinming joined #perl6
02:50 TimToady rakudo: say 10.WHERE
02:50 p6eval rakudo 1fcb14: OUTPUT«31808400␤»
02:51 TimToady rakudo: say 10.WHERE == 10.WHERE
02:51 p6eval rakudo 1fcb14: OUTPUT«Bool::False␤»
02:51 daniel-s rakudo: 10.5.WHAT.say
02:51 p6eval rakudo 1fcb14: OUTPUT«Rat()␤»
02:51 TimToady well...at least if someone accidentally changes one 10, they won't change them all...
02:52 daniel-s I like the 10.say instead of say 10
02:52 daniel-s Is it bad to again alot of those
02:53 daniel-s *to chain
02:53 TimToady it's all very bad :P
02:54 colomon rakudo: say 10i.sin
02:54 TimToady but all the alternatives are very, very bad :)
02:54 p6eval rakudo 1fcb14: OUTPUT«0 + 11013.2328747034i␤»
02:54 daniel-s Ok, so least badest
02:55 colomon TimToady: those sins are imaginary
02:55 TimToady it's about the best you can hope for in a computer language :)
03:04 cotto left #perl6
03:09 sorear TimToady: mostly eager assignment makes me feel a little better about it
03:10 sorear though now I'm worrying about how much code will break if qx[] !~~ Str
03:10 * sorear thinks about Cats
03:11 TimToady yeah, a cat might help there, if we can figure out how to actually do them
03:11 * colomon is excited about Cats, but probably just because he has never tried to actually implement them
03:11 TimToady they're naturally sort of ropes
03:13 colomon is this something like fiddle strings?
03:13 benabik left #perl6
03:14 TimToady those are side by side, and only made of catgut
03:14 benabik joined #perl6
03:14 TimToady which is normally something more like sheepgut
03:15 TimToady but a violin sounds more like a cat than a sheep
03:15 cotto joined #perl6
03:16 * TimToady remembers playing on catgut strings when he was young, as wasn't very impressed with them..
03:16 TimToady *and
03:18 sorear I always thought musical strings were made of steel
03:18 TimToady high ones tend to be steel
03:18 benabik left #perl6
03:19 TimToady fatter strings tend to be synthetic fiber wound with steel
03:19 TimToady I once had a set of gold-plated strings...
03:20 TimToady they're a bit brighter (in sound) and also more impervious to sweat
03:20 TimToady so they don't go false as fast
03:23 Su-Shee_ joined #perl6
03:24 sorear If we don't get Cat, how does <cut> make sense?
03:25 Garda joined #perl6
03:25 george_z0rwell left #perl6
03:27 TimToady are you suggesting there shouldn't be dependencies among NYIs?  :)
03:27 Su-Shee left #perl6
03:27 TimToady though presumably you could use <cut> on a normal string too
03:30 _jaldhar_ joined #perl6
03:30 sorear TimToady: I thought you were speculating de-planning Cat
03:31 sorear I wonder if Perl 6 could have $x ~= 'a' until length($x) == 1_000_000 as efficient as Perl 5
03:34 TimToady well, mainly you have to extend the string by an relative size, not a fixed size
03:35 TimToady that is, of course, a silly way to get a string of a million a's
03:36 am0c left #perl6
03:36 TimToady when 'a' x 1_000_000 can just pre-extend the whole thing
03:36 TimToady but I understand it's representing a more general case
03:37 dukeleto joined #perl6
03:37 TimToady anyway, you have to be willing to waste N% of your string allocation, regardless of whether that's 10 bytes or 10kilobytes
03:37 daniel-s left #perl6
03:38 TimToady for some mallocs you can guess really big and then give some of the extra back
03:39 dukeleto colomon: is projects.list dead? How do I properly get a module on modules.perl6.org ?
03:40 benabik joined #perl6
03:40 colomon dukeleto: we've got to change one of the lists in the ecosystem.  only problem is I'm not sure which one...
03:44 dukeleto colomon: let's make a decision and ask for forgiveness
03:45 colomon give me a moment to look at the commits list
03:46 benabik left #perl6
03:47 colomon I'm thinking we should try adding it to META.list and see what happens
03:47 colomon what's your URL for it?
03:47 dukeleto colomon: i will add it to META.list now, i think I have a commit bit
03:47 [Coke] so, in rakudo/nom, I'm pretty sure src/core/Exception.pm needs a Str() method to return the string value of the exception's message attribute. I've been away long enough I don't see how to do write that method.
03:47 colomon okay.  I've got one if you don't.
03:48 benabik joined #perl6
03:48 thou joined #perl6
03:49 am0c joined #perl6
03:50 dalek ecosystem: 27009f6 | dukeleto++ | META.list:
03:50 dalek ecosystem: Add Algorithm::Soundex
03:50 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/27009f637f
03:53 am0c left #perl6
03:54 dukeleto woot!
03:54 colomon dukeleto++
03:57 [Coke] does     my $ex := nqp::create(Exception);
03:57 [Coke] create a Parrot Exception ?
04:03 perlhack joined #perl6
04:03 perlhack left #perl6
04:04 perlhack joined #perl6
04:05 perlhack left #perl6
04:06 perlhack joined #perl6
04:06 perlhack i again come to here.
04:06 perlhack *IN LOVE*
04:07 * dukeleto attempts to update modules.perl6.org
04:07 sorear TimToady: Perl 5 just repeately extends the buffer, and generates less than a meg of garbage
04:08 Mowah joined #perl6
04:08 sorear TimToady: Perl 6... creates 1 million garbage string objects, and with ropes will probably generate 50-100MB of garbarge
04:08 sorear TimToady: without ropes it's 0.5TB :/
04:09 perlhack hi all////////
04:09 satyavvd joined #perl6
04:10 perlhack hello everybody.
04:10 perlhack [:-}
04:10 perlhack I got home.
04:11 perlhack sorear : what  time is it ?
04:13 dukeleto the modules.perl6.org repo needs some docs
04:14 benabik left #perl6
04:14 perlhack what mean "repo"
04:14 perlhack dukeleto
04:14 dukeleto perlhack: repository
04:14 dukeleto perlhack: git repository
04:15 perlhack thanks
04:15 perlhack i am a Chinese person.
04:15 perlhack i only know a little English..
04:15 dukeleto perlhack: welcome! Your english is better than my Chinese :)
04:15 perlhack ����
04:15 perlhack *JOKINGLY*thanks
04:16 dukeleto colomon: seems like modules.perl6.org would be better off using github pages
04:16 colomon +1
04:16 dukeleto colomon: the script just generated an index.html, but seemingly somebody has to copy that somewhere?
04:17 perlhack I was learn Egnlish,yestorday
04:17 dukeleto colomon: seems complicated and hence why people aren't updating modules.perl6.org
04:17 sorear 21:15 < perlhack> ����
04:17 sorear perlhack: your Chinese text was coming through fine yesterday
04:17 perlhack oh no
04:18 perlhack Yestorday ��I bagan to learn English.
04:19 sorear hmm, seems gb18030 today
04:19 perlhack hmmmmmm
04:19 perlhack oh !!!haha
04:19 sorear this channel uses utf8
04:19 perlhack yes.i see
04:19 sjohnson left #perl6
04:19 dalek modules.perl6.org: e49bafd | dukeleto++ | / (2 files):
04:19 dalek modules.perl6.org: Add a Build.PL that tracks deps of the scripts in the repo
04:19 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/e49bafd457
04:19 dalek modules.perl6.org: a58f4b1 | dukeleto++ | README (2 files):
04:19 dalek modules.perl6.org: Convert the README to markdown
04:19 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/a58f4b1ae2
04:20 colomon left #perl6
04:21 benabik joined #perl6
04:21 sjohnson joined #perl6
04:22 colomon joined #perl6
04:24 perlhack Everyone in the use of which client IRC?
04:24 Reaganomicon joined #perl6
04:25 dalek modules.perl6.org/gh-pages: 20fc44e | dukeleto++ | / (36 files):
04:25 dalek modules.perl6.org/gh-pages: Attempt to use github pages
04:25 dalek modules.perl6.org/gh-pages: review: https://github.com/perl6/modules.perl6.org/commit/20fc44e4cf
04:25 dalek modules.perl6.org: 2ebcd1f | dukeleto++ | .gitignore:
04:25 dalek modules.perl6.org: Add a .gitignore
04:25 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/2ebcd1f02b
04:25 dukeleto perlhack: i use weechat, a modern fork of irssi
04:26 sorear dukeleto: I'll have to check that out
04:26 jimmy_ joined #perl6
04:26 jimmy_ is now known as JimmyZ
04:26 TimToady http://rosettacode.org/wiki/Huffman_coding#Perl_6
04:26 benabik perlhack: Colloquy, a nice OS X client.
04:27 perlhack weechat Good use ?
04:27 dukeleto perlhack: weechat.org
04:27 perlhack oh thanks for everybody
04:27 dukeleto perlhack: well, i like it enough to use it. I used to use irssi. It is a textual client, not graphical
04:28 perlhack I now use of also.
04:28 perlhack I like command terminal.
04:29 perlhack Thanks for everybody help me
04:30 dukeleto check it out! http://perl6.github.com/modules.perl6.org/
04:30 dukeleto msg colomon http://perl6.github.com/modules.perl6.org/
04:30 dukeleto tell colomon http://perl6.github.com/modules.perl6.org/
04:31 * dukeleto forgets how to msg people in #perl6
04:31 perlhack You do not use Windows system ?
04:31 colomon dukeleto++
04:31 TimToady use phenny: tell
04:31 dukeleto TimToady++
04:31 perlhack I want to use client irc for
04:31 perlhack Windows system.
04:32 dukeleto colomon: now we just need whoever controls the actual modules.perl6.org domain to make it a CNAME to pages.github.com
04:32 dukeleto colomon: then the website will auto-update after each commit
04:33 cotto left #perl6
04:33 perlhack *DRINK*
04:34 dalek modules.perl6.org/gh-pages: 1683562 | dukeleto++ | CNAME:
04:34 dalek modules.perl6.org/gh-pages: Add a CNAME file, so whenever modules.perl6.org is a CNAME to pages.github.com, porting this site to github pages will be complete
04:34 dalek modules.perl6.org/gh-pages: review: https://github.com/perl6/modules.perl6.org/commit/1683562eb8
04:34 perlhack :-[
04:36 perlhack What time can perl 6 officially coming out?
04:36 JimmyZ perlhack: don't ask, just use it.
04:37 perlhack China perl work less.
04:37 JimmyZ perlhack: I'd say, don't ask it everyday.
04:37 perlhack oh
04:37 colomon dukeleto++
04:39 perlhack JimmyZ :how do you learn English?
04:41 perlhack you can introduce me to text-mode IRC chat?
04:46 perlhack left #perl6
04:46 slavik1 joined #perl6
04:46 pmichaud 03:57 <[Coke]> does     my $ex := nqp::create(Exception);
04:46 pmichaud 03:57 <[Coke]> create a Parrot Exception ?
04:46 cotto joined #perl6
04:46 pmichaud It creates a Rakudo/Perl 6 Exception.
04:46 slavik1 so, rakudo doesn't use PERL6LIB?
04:46 JimmyZ left #perl6
04:48 jnthn pmichaud: Presumably that's calling repr_create?
04:49 pmichaud jnthn: yes, exactly.
04:49 slavik1 question on blizkost, does it actually copy stuff to system wide directories?
04:49 jnthn pmichaud: OK, good.
04:49 pmichaud there's not an nqp:: opcode to create Parrot objects;  that's still the domain of pir::new
04:50 * jnthn hopes nobody tries nqp::create('foo') :-)
04:52 cotto left #perl6
04:53 jnthn slavik1: My guess is that make install of blizkost copies to whatever installation paths your Parrot is using.
04:53 jnthn slavik1: So if it's a "system wide" Parrot then it will. Otherwise, not.
04:53 slavik1 jnthn: because I don't want to run make install for rakudo
04:53 slavik1 ok, cool
04:53 slavik1 so it should be contained
04:54 dalek rakudo/nom: 28b06a2 | pmichaud++ | src/core/Exception.pm:
04:54 dalek rakudo/nom: Add Exception.Str, noted by Coke++.
04:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28b06a25df
04:54 jnthn slavik1: Well, as contained as your Parrot is. That's the case for Rakudo too...
04:54 slavik1 jnthn: I am doing -gen-parrot when running perl configure.pl
04:54 slavik1 and keeping it there
04:55 noganex_ joined #perl6
04:58 noganex left #perl6
04:58 perlhack joined #perl6
04:59 jnthn colomon: pong, if you're still about :)
04:59 perlhack pong ....
05:01 perlhack i again come to here .Hey hey..
05:03 am0c joined #perl6
05:03 jnthn hej, perlhack :)
05:03 perlhack hi
05:03 perlhack jnthn
05:04 perlhack We'll see 7.2 ....
05:04 jnthn yes :)
05:05 sorear slavik1: you must run make install for Rakudo
05:05 slavik1 :(
05:05 slavik1 sorear: is it required?
05:05 sorear slavik1: however, rakudo defaults to installing in a subdirectory of the checkout
05:05 sorear yes
05:05 slavik1 oh, ok
05:05 slavik1 so no root needed
05:05 perlhack You are boss one the stage....jnthn
05:06 perlhack 8-)
05:07 jnthn slavik1: correct
05:07 jnthn perlhack: :-)
05:07 slavik1 awesomes
05:07 dalek modules.perl6.org/gh-pages: 66845fb | dukeleto++ | / (4 files):
05:07 dalek modules.perl6.org/gh-pages: Add docs about how to update the website
05:07 dalek modules.perl6.org/gh-pages: review: https://github.com/perl6/modules.perl6.org/commit/66845fbbff
05:07 slavik1 jnthn: how is mod_perl6 coming? :D
05:08 jnthn slavik1: I've not seen any work on that for a while, I'm afraid.
05:08 perlhack jnthn I am a new technology
05:09 jnthn lunch time, back in a bit :)
05:09 perlhack Ok you go you always to eat
05:10 dalek modules.perl6.org: b7c7898 | dukeleto++ | / (2 files):
05:10 dalek modules.perl6.org: Add the github pages README to the master branch so people know where to go
05:10 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/b7c7898a36
05:10 kanishka joined #perl6
05:12 wolverian left #perl6
05:13 perlhack everybody is good,i first go to dinner.
05:14 wolverian joined #perl6
05:15 kanishka left #perl6
05:15 * sorear wonders how useful it is to have separate zh_CN and zh_TW docs
05:18 colomon left #perl6
05:26 bakedb joined #perl6
05:28 agentzh joined #perl6
05:29 cotto joined #perl6
05:32 mberends left #perl6
05:33 LaVolta joined #perl6
05:34 slavik1 http://pastebin.com/S52U1XjF
05:34 slavik1 am I doing anything wrong?
05:34 LaVolta use .perl instead?
05:34 phenny LaVolta: 28 Jun 05:17Z <JimmyZ> tell LaVolta test
05:35 slavik1 huh? me?
05:35 LaVolta yeah...i guess .perl method is a nice replacement for Data::Dumper :-) IMHO
05:36 LaVolta and it's all about @*INC, module not in path...something, I am not so familiar with it, just a suggestion. HTH
05:36 slavik1 oh
05:37 slavik1 well, loading any module no worky :(
05:38 perlhack no worky .lazy...
05:38 cotto left #perl6
05:38 slavik1 is it looking for .pm files?
05:39 LaVolta yeah...(i guess also .pmc)
05:39 perlhack mee too
05:39 perlhack :-\
05:39 * sorear wonders if Yin Maolong is one of the IRC folks here
05:39 birdwindupbird joined #perl6
05:40 LaVolta slavik1: http://perl6advent.wordpress.com/2010/12/09/day-9-–-the-module-ecosystem/, look here
05:40 slavik1 ty
05:45 bakedb left #perl6
05:50 * moritz wonders what time of week it is in sorear++'s time zone
05:50 moritz s/time/day/
05:51 cotto joined #perl6
05:51 sorear 2251
05:51 sorear why?
05:51 perlhack what is a number
05:52 moritz sorear: usually #phasers reports go out on monday or tuesday
05:53 sorear moritz: I'll be out of town and away from irc for 6 days starting tomorrow
05:53 sorear most likely returning a few hours after #phasers
05:53 moritz sorear: ah, that was the piece I was missing
05:55 Garda rakudo: 2551.what.perl.say
05:55 p6eval rakudo 1fcb14: OUTPUT«Method 'what' not found for invocant of class 'Int'␤  in main program body at line 22:/tmp/loJyPeeM5k␤»
05:55 perlhack sorear Where you go ?
05:55 Garda rakudo: 2551.WHAT.perl.say
05:55 p6eval rakudo 1fcb14: OUTPUT«Int␤»
05:55 Garda perlhack: that
05:55 Garda lol
05:56 perlhack sorear, moritz: I'll be out of town and away from irc for 6 days starting tomorrow
05:57 wtw joined #perl6
05:58 sorear perlhack: San Jose
05:59 moritz usage of $_ in the mainline still segfaults in nom
05:59 perlhack Capital good place.
06:00 sorear No, capital is Sacramento
06:01 sorear What did you mean?
06:01 jnthn moritz: I'm aware. I'm working on the magicals at the moment.
06:01 moritz jnthn: good
06:01 koban joined #perl6
06:02 perlhack Oh!my internet dictionary cheated me.
06:02 noganex_ is now known as noganex
06:02 sorear perlhack: what dictionary are you using?
06:03 perlhack Chinese dictionary
06:04 sorear URL?
06:04 perlhack www.youdao.com
06:04 perlhack what did you have for good
06:04 perlhack jnhtn
06:05 LaVolta perlhack:  ...ask here, i can help :)
06:05 perlhack 3q
06:06 perlhack i want to look for a person to talk English.
06:06 perlhack *JOKINGLY*
06:07 benabik left #perl6
06:08 perlhack I want to talk to you so that my english will be better.
06:08 perlhack LaVoilta
06:08 LaVolta ah...wrong person.
06:09 perlhack why?
06:09 perlhack LaVoIta
06:11 sorear perlhack: in English forums, we abbreviate "thank you" to "ty"
06:11 cooper left #perl6
06:12 Su-Shee_ is now known as Su-Shee
06:14 Vlavv_ left #perl6
06:15 benabik joined #perl6
06:19 perlhack thanks for sorear.
06:19 perlhack ty
06:22 Garda left #perl6
06:27 Chillance left #perl6
06:38 mj41 joined #perl6
06:41 am0c left #perl6
06:43 Vlavv joined #perl6
06:59 am0c joined #perl6
07:02 perlhack left #perl6
07:08 _jaldhar_ left #perl6
07:08 _jaldhar_ joined #perl6
07:15 bakedb joined #perl6
07:26 rokoteko joined #perl6
07:29 mberends joined #perl6
07:43 dolmen joined #perl6
07:55 * sorear sleep, *probably* will not return to IRC until Tuesday
07:55 koban left #perl6
07:56 jnthn sorear: Have a good trip.
07:57 wolfman2000 left #perl6
08:16 daniel-s joined #perl6
08:26 wamba joined #perl6
08:32 daxim joined #perl6
08:37 am0c left #perl6
08:39 dakkar joined #perl6
08:44 am0c joined #perl6
08:50 donri joined #perl6
08:59 Chillance joined #perl6
09:05 dalek roast: 01ab85e | moritz++ | S04-statements/given.t:
09:05 dalek roast: [given.t] remove a wrong test found by sorear++
09:05 dalek roast: review: https://github.com/perl6/roast/commit/01ab85e4f1
09:10 moritz phenny: ask pmichaud about src/core/Exception.pm 1) by current spec that stuff should probably go into X::Base - any objections? 2) why nqp::getattr instead of just using $!ex ?
09:10 phenny moritz: I'll pass that on when pmichaud is around.
09:11 Mowah left #perl6
09:12 moritz phenny: tell pmichaud just want to make sure that my comments starting from http://irclog.perlgeek.de/perl6/2011-06-29#i_4024640 don't get lost
09:12 phenny moritz: I'll pass that on when pmichaud is around.
09:12 jnthn Can probably be $!x there
09:12 jnthn Generally, that's preferable to use
09:12 jnthn Not only because it's shorter but because it's more optimal
09:13 jnthn er
09:13 jnthn more optimizable
09:13 * moritz replaces and tests
09:14 moritz jnthn: if I try to throw X::Fancy exceptions from Actions.pm, does that mean I have to set up the exception classes in BOOTSTRAP.pm? or is that too late?
09:16 jnthn moritz: The only time we'll hit "fun" doing that is when compiling the setting
09:16 jnthn moritz: No, they don't want to go in BOOTSTRAP.pm
09:16 jnthn moritz: Not least because setting a role up in there is horrible.
09:17 jnthn moritz: Are they roles that we'll rely on punning?
09:17 Mowah joined #perl6
09:17 moritz jnthn: not sure yet
09:17 jnthn moritz: OK
09:17 moritz maybe not
09:17 jnthn Anyway, from Actions.pm
09:18 jnthn $*ST.find_symbol(['X', 'Fancy']) gets you the type object of the role/class/whatever.
09:18 moritz cool
09:18 jnthn You going to use these for parse/compile time errors?
09:18 moritz so I can just nqp::die($*ST.find_symbol(['X', 'Comp']).new(...)) or so
09:18 jnthn If so my suggestion is:
09:19 moritz that's the plan, yes
09:19 jnthn 1) Factor this out into some subroutine that finds and throws the appropriate exception
09:19 moritz +1
09:19 jnthn 2) Have a flag for "don't use fancy exceptions"
09:19 jnthn 3) Use that flag when compiling CORE..setting
09:19 jnthn Otherwise we may have some...fun...working out problems in CORE.setting ;)
09:19 moritz I would have thought: just use plain nqp::die if find_symbol doesn't succeed
09:20 SHODAN joined #perl6
09:20 jnthn Well, find_symbol throws if it can't find the symbol
09:20 jnthn You could do it that way too.
09:20 moritz I can catch that
09:20 jnthn right.
09:20 jnthn Yeah, that works also.
09:20 moritz I don't like the idea of separate flags for setting compilation
09:20 jnthn Actually it's probably easier
09:20 jnthn Yeah, your suggestion is better.
09:21 jnthn moritz++
09:21 jnthn btw, you can also
09:21 moritz so, where should I stick that utility routine for dying?
09:21 jnthn my $die := $*ST.find_symbol(['&die'])
09:21 jnthn moritz: Initially, in Actions.pm is fine
09:22 moritz jnthn: should be available in Grammar.pm too, in the long run
09:22 jnthn moritz: If we need it in more places than that, we can figure out where to move it.
09:22 jnthn ah
09:22 moritz well, starting with Actions.pm probably works for me
09:22 jnthn Grammar.pm does use Actions iirc.
09:23 moritz maybe the "correct" way is to patch CURSOR.panic
09:23 * moritz not so sure
09:24 moritz because it has the line number available
09:24 jnthn Well, or a panic in Grammar.pm
09:24 moritz right, perl 6 specific, not nqp
09:24 jnthn (e.g. leave the current one intact, but override it in the Perl 6 grammar)
09:33 * jnthn puts aside slide hacking for a hit to do some code hacking
09:37 dalek rakudo/nom: a7f7e86 | moritz++ | t/spectest.data:
09:37 dalek rakudo/nom: another passing test file
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a7f7e86309
09:37 dalek rakudo/nom: 29d90cf | moritz++ | src/core/Exception.pm:
09:37 dalek rakudo/nom: simplify Exception.pm
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29d90cf6d6
09:38 dolmen left #perl6
09:40 benabik left #perl6
09:53 dolmen joined #perl6
09:55 icwiener joined #perl6
09:55 jnthn nom: sub foo() { $_ = 42; if 1 { say $_ } }; foo
09:55 p6eval nom: OUTPUT«Null PMC access in find_method('gist')␤current instr.: 'say' pc 243454 (src/gen/CORE.setting.pir:62753) (:2391)␤»
10:02 am0c left #perl6
10:02 koban joined #perl6
10:03 LaVolta left #perl6
10:13 bpalmer joined #perl6
10:15 woosley left #perl6
10:22 dalek rakudo/nom: 53ecd28 | jonathan++ | src/pmc/perl6lexpad.pmc:
10:22 dalek rakudo/nom: Handling of $_, $/ and $! in nested blocks. May well need tweaking, but should essentially work, especially for $_.
10:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/53ecd287b6
10:22 dalek rakudo/nom: 79d17be | jonathan++ | t/spectest.data:
10:22 dalek rakudo/nom: Two more passing test files.
10:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/79d17be26d
10:22 dalek rakudo/nom: 1c85c66 | jonathan++ | src/Perl6/Actions.pm:
10:22 dalek rakudo/nom: Mark mainline as needing fresh lexicals.
10:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c85c662d7
10:22 dalek rakudo/nom: 1b841ba | jonathan++ | NOMMAP.markdown:
10:22 dalek rakudo/nom: Update nommap.
10:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b841ba4b9
10:24 jnthn There may be a bunch more spectests that can work with that too
10:24 ananamoose joined #perl6
10:26 ananamoose left #perl6
10:35 bkolera joined #perl6
10:35 JimmyZ joined #perl6
10:43 dolmen left #perl6
10:55 dalek rakudo/nom: 028df0a | jonathan++ | src/Perl6/Grammar.pm:
10:55 dalek rakudo/nom: Fix declarations of packages inside evals. Also unbusts the REPL a bit more.
10:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/028df0a8b7
10:55 dalek rakudo/nom: e65e8ff | jonathan++ | t/spectest.data:
10:55 dalek rakudo/nom: Another passing test file.
10:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e65e8ff934
10:56 pmichaud good morning, #perl6
10:57 phenny pmichaud: 09:10Z <moritz> ask pmichaud about src/core/Exception.pm 1) by current spec that stuff should probably go into X::Base - any objections? 2) why nqp::getattr instead of just using $!ex ?
10:57 phenny pmichaud: 09:12Z <moritz> tell pmichaud just want to make sure that my comments starting from http://irclog.perlgeek.de/perl6/2011-06-29#i_4024640 don't get lost
11:00 satyavvd left #perl6
11:03 JimmyZ left #perl6
11:03 pmichaud moritz: #2 -- using $!ex is fine... I may have been converting something else and left it in there
11:03 jnthn hi, pmichaud
11:04 pmichaud as for #1, there are still several parts of the spec that use C<Exception>, so I went with that even though they may be fossils due to your work.
11:05 pmichaud Feel free to change it if needed.  Also, it feels a little odd for a core type to be in a nested package when afaik none of the others are yet.
11:06 pmichaud haven't forgotten about --gen-parrot; just haven't had the tuits to fix it yet.  Will do that now.
11:15 dolmen joined #perl6
11:16 moritz pmichaud: thanks for the answers. FWIW I already switched to $!ex
11:16 pmichaud moritz: yes, I saw that -- moritz++
11:17 pmichaud (reviewed the commit log before answering anything :)
11:18 pernatiy left #perl6
11:21 dalek rakudo/nom: b90e016 | jonathan++ | src/core/Mu.pm:
11:21 dalek rakudo/nom: Make Mu.new have slurpy named parameter, and pass that on to bless, in preparation for BUILD support.
11:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b90e016eb8
11:21 dalek rakudo/nom: af6b27e | jonathan++ | t/spectest.data:
11:21 dalek rakudo/nom: Another passing test file.
11:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af6b27e5bd
11:21 Moukeddar joined #perl6
11:22 Moukeddar left #perl6
11:22 perlhack joined #perl6
11:23 perlhack hi everyone.
11:23 dalek rakudo/nom: 8f3b029 | pmichaud++ | tools/lib/NQP/Configure.pm:
11:23 dalek rakudo/nom: Update NQP::Configure to perform 'git pull' on branches when needed.
11:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f3b029466
11:23 perlhack i again come to here.
11:23 dalek nqp: 879fe3c | pmichaud++ | src/ (3 files):
11:23 dalek nqp: Add nqpevent opcodes for logging events (e.g., subroutine entry).
11:23 dalek nqp: review: https://github.com/perl6/nqp/commit/879fe3c59d
11:23 dalek nqp: a4083b4 | pmichaud++ | tools/lib/NQP/Configure.pm:
11:23 dalek nqp: Update NQP::Configure to perform 'git pull' on branches when needed.
11:23 dalek nqp: review: https://github.com/perl6/nqp/commit/a4083b42e0
11:24 pmichaud that should fix --gen-parrot= and friends.  moritz++
11:24 moritz pmichaud++. Will test in due time :-)
11:24 pmichaud excellent.
11:24 Moukeddar joined #perl6
11:25 perlhack who can help me to solve the problem?
11:25 moritz $ moritz@jacq:~/p6/rakudo/t/spec>ack -lQ -- '+='|wc -l
11:25 moritz 42
11:25 perlhack :-[
11:26 pmichaud I can work on assign metaop
11:26 moritz so meta ops (or at least +=) are big-ish blocker for spectest adoption
11:26 pmichaud I was wanting to play with that anyway, and I have about 30 mins so let's see what I can do :)
11:28 moritz nom: rindex('', '')
11:28 p6eval nom:  ( no output )
11:28 colomon joined #perl6
11:29 moritz t/spec/S32-str/rindex.t segfaults in a test that does that
11:29 moritz nom: use Test; plan 1; is rindex('', ''), 0, 'empty';
11:29 p6eval nom: OUTPUT«1..1␤not ok 1 - empty␤Segmentation fault␤»
11:29 moritz nom: use Test; plan 1; is rindex('foo', ''), 0, 'empty';
11:29 p6eval nom: OUTPUT«1..1␤not ok 1 - empty␤Segmentation fault␤»
11:31 moritz nom: say rindex('', '')
11:31 p6eval nom: OUTPUT«Str()␤»
11:32 jnthn nom: use Test; plan 1;
11:32 p6eval nom: OUTPUT«1..1␤# Looks like you planned 1 tests, but ran 0␤»
11:33 jnthn nom: use Test; plan 1; is rindex('', ''), 0, 'empty'; say 'ok'
11:33 p6eval nom: OUTPUT«1..1␤not ok 1 - empty␤Segmentation fault␤»
11:34 jnthn huh, works locally :/
11:34 moritz nom: 0 eq Str
11:34 p6eval nom:  ( no output )
11:34 moritz nom: say 0 eq Str
11:34 p6eval nom: OUTPUT«Bool::False␤»
11:35 MayDaniel joined #perl6
11:35 dalek rakudo/nom: 630c220 | jonathan++ | src/Perl6/SymbolTable.pm:
11:35 dalek rakudo/nom: Re-using constants built from literals: good. Re-using the PAST node every time we see one of them: bad. Can get .named(...) and other such things. So now we make a fresh PAST node each time, and cache the constant itself.
11:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/630c220c65
11:35 Moukeddar left #perl6
11:39 pmichaud jnthn: does the 630c220 patch also fix the :named problem I had with Pair keys?  If so, I can undo that other patch.
11:42 jnthn pmichaud: Yes, probably.
11:42 bpalmer left #perl6
11:42 jnthn pmichaud: I could see it causing all sorts of pain, and it wasn't even a concious optimization.
11:43 pmichaud right
11:44 pmichaud (and yes, it did cause pain :)
11:44 moritz fwiw t/spec/S02-builtin_data_types/sigils-and-types.rakudo dies at compile time (proto autogeneration NYI)
11:44 moritz should I comment it out?
11:44 pmichaud add the proto to the test file
11:45 moritz ok
11:45 pmichaud I did that once already but apparently forgot to commit.
11:46 dalek roast: 7848251 | moritz++ | S02-builtin_data_types/sigils-and-types.t:
11:46 dalek roast: add a proto to a multi
11:46 dalek roast: review: https://github.com/perl6/roast/commit/7848251a8e
11:46 pmichaud know of a test offhand that uses += ?
11:46 moritz t/spec/S04-statements/redo.t
11:47 moritz t/spec/S32-num/rat.t
11:47 moritz t/spec/S32-array/pairs.t
11:47 moritz ack -lQ -- '+=' t/spec/
11:47 moritz t/00-parrot/06-op-inplace.t :-)
11:48 pmichaud all tests pass on 06-op-inplace.t, that's good enough for me :)
11:48 moritz \o/
11:48 moritz I can run update_passing_test_data.pl after you push
11:50 pmichaud pushed.
11:50 dalek rakudo/nom: e4d01bb | moritz++ | t/spectest.data:
11:50 dalek rakudo/nom: two more passing test files
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e4d01bbece
11:50 dalek rakudo/nom: 60dcfb9 | pmichaud++ | / (3 files):
11:50 dalek rakudo/nom: Add initial (possibly cheating) version of assignment metaop.
11:50 dalek rakudo/nom:
11:50 dalek rakudo/nom: This version works fine, but doesn't generate a new sub and
11:50 dalek rakudo/nom: might not work out okay with nested metaops.  If not, then we'll
11:50 dalek rakudo/nom: fix this when we fix all the generation of all of the metaops
11:50 dalek rakudo/nom: (as soon as we figure out how/where to do that :-).
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/60dcfb9c5a
11:50 pernatiy joined #perl6
11:52 jnthn yay
11:52 * jnthn -> dinner
11:56 colomon oh, jnthn's in china!
11:59 moritz my @a = 1, 2; sub f (@x is copy) { @x[0] = 5 }; f @a; say @a[0]
11:59 moritz nom: my @a = 1, 2; sub f (@x is copy) { @x[0] = 5 }; f @a; say @a[0]
11:59 p6eval nom: OUTPUT«5␤»
12:00 Moukeddar joined #perl6
12:01 [Coke] left #perl6
12:03 moritz nom: my @a = 1, Any, Mu
12:03 p6eval nom:  ( no output )
12:03 moritz nom: my %h = a => Any, b => Mu
12:03 p6eval nom: OUTPUT«Nominal type check failed for parameter '$value'; expected Any but got Mu instead␤current instr.: 'new' pc 274118 (src/gen/CORE.setting.pir:77142) (:2137)␤»
12:03 [Coke] joined #perl6
12:03 moritz I guess that should work?
12:04 cotto left #perl6
12:07 bluescreen10 left #perl6
12:08 dalek rakudo/nom: 866d02f | moritz++ | t/spectest.data:
12:08 dalek rakudo/nom: 5 more passing spectest files, pmichaud++
12:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/866d02f3e3
12:08 orafu left #perl6
12:08 orafu joined #perl6
12:10 mtk joined #perl6
12:11 cheeseboy so whens perl 7 going to be out? :P
12:12 moritz src/core/Hash.pm linu 18 - why does $x have 'is copy'?
12:13 JimmyZ joined #perl6
12:14 JimmyZ \o
12:14 benabik joined #perl6
12:15 avar left #perl6
12:16 avar joined #perl6
12:16 avar left #perl6
12:16 avar joined #perl6
12:16 * moritz fixes Hash to allow Mu
12:20 bluescreen10 joined #perl6
12:25 wolfman2000 joined #perl6
12:26 pmichaud I don't think Hash/Array should allow Mu by default (unless we decide that scalars allow Mu by default)
12:26 moritz but they do, don't they?
12:26 Moukeddar left #perl6
12:26 moritz rakudo: my $x = Mu; say 'alive'
12:26 p6eval rakudo 1fcb14: OUTPUT«alive␤»
12:26 pmichaud yes, it's that way in rakudo now
12:26 _jaldhar_ is now known as jaldhar
12:27 moritz nom: my $x = Mu; say 'alive'
12:27 p6eval nom: OUTPUT«alive␤»
12:27 moritz and I think that's spec
12:27 pmichaud not according to TimToady's latest musings
12:27 pmichaud (I'm looking up the irclog ref now)
12:27 moritz musings are just that, until they make their way into the specs repo
12:28 pmichaud okay, "musings" might be too weak a word :)
12:29 pmichaud the specs repo is actually silent on the topic
12:29 SHODAN left #perl6
12:29 moritz the spectests quite clearly demand that Mu is allowed
12:30 benabik rakudo: my $x; say $x;
12:30 p6eval rakudo 1fcb14: OUTPUT«Any()␤»
12:30 cotto joined #perl6
12:33 pmichaud (irclog search is being slow today)
12:35 pmichaud http://irclog.perlgeek.de/perl6/2011-05-16#i_3751984
12:36 pmichaud and
12:36 pmichaud http://irclog.perlgeek.de/perl6/2011-06-27#i_4013191  (plus comments above it)
12:37 pmichaud anyway, the "is copy" is there because each Hash entry needs its own scalar container (i.e., we want to bind to a container with the value, not to the value itself)
12:38 pmichaud eventually the code will be     method STORE_AT_KEY(Str \$key, T $x is copy)    which will limit the elements to whatever type the Hash is restricted to (e.g.,  my Foo %h)
12:39 pmichaud so if someone wanted a hash that can hold Mu elements, it's   my Mu %hash
12:40 masak joined #perl6
12:41 masak cheeseboy: I can tell you came here to be properly hugged. here you go.
12:41 * masak hugs cheeseboy
12:41 * cheeseboy huggles masak
12:41 masak cheeseboy: welcome to #perl6. Perl 7 will come eventually, but there's no real rush. we're having a lot of fun with Perl 6 right now.
12:45 moritz pmichaud: would you be fine with adding Mu in until we got the parametrization in place?
12:45 masak cheeseboy: Apocalypse 1 talks a little about Perl 7. http://web.archive.org/web/20090627040244/http://dev.perl.org/perl6/doc/design/apo/A01.html
12:46 masak (and to whom it may concern: http://dev.perl.org/perl6/doc/design/apo/A01.html is down, probably after some site redesign or other)
12:46 masak left #perl6
12:50 wamba left #perl6
12:51 pmichaud moritz: I'm fine with Mu until we get a more definitive decision, yes. :)
12:53 dalek rakudo/nom: a65c17f | moritz++ | src/core/ (3 files):
12:53 dalek rakudo/nom: allow hashes to store Mu values
12:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a65c17fe21
12:53 dalek rakudo/nom: 279c947 | moritz++ | t/spectest.data:
12:53 dalek rakudo/nom: one more passing test file
12:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/279c94724f
12:54 bakedb left #perl6
12:54 bakedb joined #perl6
12:54 dalek rakudo/nom: 9d2ad0d | pmichaud++ | src/Perl6/Actions.pm:
12:54 dalek rakudo/nom: Revert 5bce9d, commit 630c22 fixes the overall problem with re-use of
12:54 dalek rakudo/nom: PAST nodes for constants and so this workaround is no longer needed. jnthn++
12:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d2ad0dc96
12:55 perlhack left #perl6
13:02 Chillance left #perl6
13:03 tadzik hello #perl6!
13:03 Chillance joined #perl6
13:05 benabik left #perl6
13:09 bkolera left #perl6
13:09 Holy_Cow joined #perl6
13:17 dalek nqp: de3c519 | pmichaud++ | src/ (2 files):
13:17 dalek nqp: Add --nqpevent=<logfile> option to HLL::Compiler.
13:17 dalek nqp: review: https://github.com/perl6/nqp/commit/de3c51919a
13:17 [Coke] pmichaud: ping.
13:18 pmichaud [Coke]: pong!
13:20 TimToady pang?
13:21 [Coke] ... that was a preemptive ping, and you've already responded. crap!
13:21 [Coke] I am rebuilding nom with moritz's changes to see if it passes the test.
13:21 cottoo joined #perl6
13:21 cotto left #perl6
13:22 pmichaud I can delay my pong if that helps.  :)
13:25 moritz which test?
13:25 araujo joined #perl6
13:25 araujo left #perl6
13:25 araujo joined #perl6
13:25 moritz \o tadzik. How are the exams, life and hacking?
13:26 tadzik good, neglected and neglected :)
13:26 tadzik I still have my physics exam to pass in september, but I expected that one. I passed the other two though, and I'm glad about that
13:26 moritz congratulations
13:27 tadzik I now have time to eat properly, sleep properly and... hack! :)
13:27 [Coke] ./perl6 t/01-sanity/12-try.t - now passes all tests with moritz's fix.
13:27 tadzik moritz: thank you
13:27 tadzik moritz: I'm a bit ashamed still having physics on my head having you as my mentor though :)
13:28 moritz tadzik: no worries, I think my wife would have failed that test too, and hey, I'm here HUSBAND, not stupid mentor :-)
13:28 tadzik :D
13:28 moritz [Coke]: i think that pmichaud's fixes to Exception were more relevant for that file than mine
13:29 [Coke] I didn't check the log, assumed it was you. hokay.
13:29 pmichaud Coke:  https://github.com/rakudo/rakudo/commit/28b06a25df9aca94bb631777efe0c28cc6a80e9b  (fyi, since you asked about it :)
13:30 pmichaud nqp::atkey  is the equivalent of PIR's    $P0[$I0]
13:30 pmichaud well, more precisely...
13:30 pmichaud nqp::atkey is the equivalent of  $P1 = $P0[$I0]
13:30 pmichaud grrr
13:30 pmichaud nqp::atkey is the equivalent of  $P1 = $P0[$S0]
13:30 [Coke] meetings brb.
13:30 pmichaud nqp::bindkey is the equivalent of $P0[$S0] = $P1
13:31 pmichaud I should create a file with a list of all of the nqp:: opcodes somewhere
13:31 cotto joined #perl6
13:31 pmichaud not sure where to put it
13:31 PerlJam The sanest pony in the "rename perl" race:  http://blogs.perl.org/users/erez_schatz/2011/06/it-was-bound-to-happen---perl-numbrenclature.html
13:32 pmichaud heh
13:33 agentzh left #perl6
13:33 pmichaud I believe I suggested this a couple of years ago.  :-)
13:33 PerlJam pmichaud: you didn't say it loud enough then  :)
13:34 colomon pmichaud: any thoughts/advice on adding big ints to nqp-nom?  From the sounds of it, bubaflub++'s GSoC project already has a GMP interface in a state that we can use it...
13:34 cottoo left #perl6
13:36 pmichaud colomon: does it build on macos?
13:36 pmichaud (or wherever you were having difficulty getting it to build before?)
13:37 colomon I haven't tried yet, but that would certainly be the first step of me attempting to make it work.  :)
13:37 pmichaud I'd like to know that works first.  :)
13:37 pmichaud otherwise it may be a little bit of a non-starter for a while.
13:38 colomon fair enough
13:40 pmichaud PerlJam: http://www.perlmonks.org/?node_id=836626  ('Personally, I think we're better off exploring names like "Rakudo Perl", "Vanilla Perl", "Strawberry Perl", "ActiveState Perl", "Pugs", etc. than boxing ourselves into a strict sequential 4, 5, 6, ... numbering scheme...')
13:42 Chillance left #perl6
13:42 * jnthn back from noms :)
13:43 jnthn And good noms they were too. When they say spicy here, they mean it. :)
13:43 moritz :-)
13:43 JimmyZ new obejct models?
13:44 buubot_backup left #perl6
13:44 jnthn JimmyZ: No, no. Food. :)
13:44 jnthn Nice food. :)
13:44 mberends colomon: I discussed with jnthn++ how to get this library fit for NQP and Rakudo as an independent alternative to GMP: https://github.com/jnthn/zavolaj/blob/master/examples/biggishint.c
13:45 * JimmyZ doesn't know any foods called noms
13:45 jnthn JimmyZ: lolspeak:"nom" = english:"food" :)
13:46 tadzik phenny: "nom"?
13:46 phenny tadzik: "name" (fr to en, translate.google.com)
13:46 jnthn JimmyZ: I had some nice wild mushrooms with chilli. And beef with onion and nuts, and fried rice. Food in China is great. :)
13:46 TimToady it's onematapoetic, the sound of "nomnomnomnomnom"
13:47 * tadzik noms properly to celebrate the end of exams
13:47 jnthn tadzik: Yay! Congrats on making it through. :)
13:47 Holy_Cow left #perl6
13:47 tadzik something called "take from %fridge where * ~~ /meat/ or * ~~ /cheese/"
13:47 JimmyZ Chinese food is always great
13:48 PerlJam JimmyZ: It's good on the front end, but not always on the back end  ;)
13:49 TimToady tadzik: you can just say: where /meat/ | /cheese/  # :)
13:49 JimmyZ PerlJam: it's good when you are peasant :)
13:49 TimToady er || would probably be more efficient
13:49 tadzik there's more than one way to nom it :)
13:49 TimToady treu
13:50 JimmyZ and yes, back end always not good in china
13:50 * TimToady tries to picture treu cheese dressing
13:50 dukeleto tadzik: congrats on finishing your exams
13:50 PerlJam pmichaud: you know the hardest part of a rakudo release is coming up with the name ... that might be an impediment for naming releases of Perl for marketing purposes  :-)
13:51 pmichaud maybe it's only hard for rakudo releases because we're trying to make it too meaningful :)
13:51 PerlJam perhaps
13:51 PerlJam But theming is important.
13:52 pmichaud I mean, it's not hard to find lists of Perl Mongers groups :)
13:52 moritz maybe we should just switch to food-related release names (for star maybe?)
13:52 moritz "rakudo star chop suey"
13:52 pmichaud At this stage I'm not too worried about finding groups specifically contributing to perl 6 or rakudo -- any PM group is fine with me
13:52 tadzik dukeleto: thanks :)
13:52 TimToady Rakudo Quasar, Rakudo Black Hole...
13:53 TimToady Rakudo Polaris, Rakudo Sirius
13:53 TimToady after all there might be a Polaris.pm
13:53 PerlJam The other day I was telling my student workers that we should name all of the machines in our student area after famous dragons and then we could call it the dragon's lair.  But we could only come up with 4 or so dragon names.  :)
13:54 tadzik My favourite naming scheme: http://duckduckgo.com/?q=star+wars+planets
13:54 huf there's 4 in lotr alone
13:54 huf surely we can find more in legends and whatnot
13:54 PerlJam pmichaud: actually I think part of the problem with naming the rakudo release is that they happen too often.
13:54 pmichaud PerlJam: as I said, how hard is it to pick a .pm group?  ;-)
13:54 TimToady we could release once every N years like DNF
13:55 pmichaud TimToady: no, then we'd be accused of being vaporware.  Oh wait, we're already being accused of that.  :-P
13:55 huf okay i can only recall 3 but i'm fairly sure there's one more, it'd be surprising if i remembered every one in the silmarillion
13:55 * dukeleto votes for Rakudo Betelgeuse
13:55 dolmen left #perl6
13:56 PerlJam huf: which 3?
13:56 huf PerlJam: ancalagon, smaug, glaurung
13:56 PerlJam huf: are you sure there isn't only 3?  I can't recall another either.
13:57 huf which one was the flying one?
13:57 huf ancalagon?
13:57 dolmen joined #perl6
13:57 moritz there might be more in the silmarillion
13:57 PerlJam smaug flew :)
13:57 huf which killed that one of the dwarven kings?
13:58 PerlJam pm: still, how do you get the Perl 5 folks on board with using names in a marketing sort of way?
13:58 huf PerlJam: the flying ones appeared in some battle in the silmarillion
13:58 Mowah left #perl6
13:59 PerlJam someone needs to smash a coffee cup against a wall at OSCON  ;)
14:01 * TimToady watches another decade or so of his life go down the tubes... :)
14:02 alim joined #perl6
14:03 PerlJam TimToady: decade?  When you have children, they tend to stick around until you die.
14:04 TimToady Perl will be 24 this year, would be nice if she moved out eventually...
14:05 buubot_backup joined #perl6
14:05 tadzik does she bring any nasty boys to the house?
14:05 TimToady you have no idea
14:06 colomon left #perl6
14:06 huf perl's a woman?
14:06 huf that's a bit surprising, but i never thought of it before
14:06 tadzik well, don't you love her?
14:06 huf i fail to see the connection
14:06 PerlJam she still acts like a teenager sometimes, so I'm not sure "woman" is entirely correct
14:07 tadzik they all call themselves "woman"
14:07 huf PerlJam: http://www.glyphweb.com/arda/d/dragons.html
14:07 huf scatha
14:07 huf but only two named ones in the silmarillion apparently
14:08 huf so yeah, i thought there were more
14:09 colomon joined #perl6
14:09 TimToady dragons don't like to share anything, including mindshare
14:12 PerlJam TimToady: that's part of the problem with Perl moving out ... she has had no problem sharing, so when she moves out, she'll take part of you with her.
14:12 PerlJam (I guess like all kids do)
14:13 benabik joined #perl6
14:14 koban left #perl6
14:14 TimToady I'm sure she'll come back to visit from time to time, if she doesn't hate me by then...
14:14 * JimmyZ hopes there is a rakudo-fpm which is similar with php-fpm, so he can use it in nginx
14:15 wamba joined #perl6
14:15 moritz JimmyZ: there's one way to make sure... :-)
14:15 colomon pmichaud: I've got parrot-gmp built and running on my MBP.
14:16 JimmyZ not more than one way?
14:16 colomon pmichaud: is there a list somewhere of what modules are in R*?
14:16 moritz JimmyZ: well, yes. 1) write and maintain it 2) get somebody else to do it
14:16 PerlJam colomon: in the tarball :)
14:19 kaare_ joined #perl6
14:23 JimmyZ_ joined #perl6
14:25 benabik_ joined #perl6
14:27 JimmyZ left #perl6
14:27 JimmyZ_ is now known as JimmyZ
14:28 wtw left #perl6
14:28 pmichaud colomon: excellent!
14:28 pmichaud I need to read up a bit more on what bubaflub has so far
14:29 colomon pmichaud: looking at the GMP release notes, it looks like the latest version fixes the OS X bug, but still has a bug with gcc 4.3.2 and 64-bits.
14:29 pmichaud the winxed sources has it creating specialized BigInt Parrot classes... and that's not going to work for nqp/nom
14:29 benabik left #perl6
14:29 benabik_ is now known as benabik
14:29 pmichaud (in nqp/nom we tend to avoid Parrot objects ... like a plague.)
14:31 [Coke] {erez schatz}++
14:31 JimmyZ left #perl6
14:32 jnthn Int in Rakudo should not really use int, but instead some other repr that we can compile-time decide which bigint library to use.
14:32 [Coke] pmichaud: a list of nqp opcodes would be spif. I imagine they'd have to go in ~nqp/docs/opcodes.pod or something.
14:34 pmichaud [Coke]: there's already https://github.com/perl6/nqp/blob/master/docs/nqp-opcode.txt but I suspect we need a bit more detail
14:34 colomon pmichaud, jnthn: errr.... okay, what can we do about big ints, then?
14:34 pmichaud and I need to update that list
14:35 pmichaud colomon: I think my suggestion would be to get a NQPBigInt class working in NQP.
14:35 pmichaud don't worry yet about how we'll integrate it with Rakudo... just get something that works there :-)
14:36 JimmyZ joined #perl6
14:36 pmichaud you probably won't be able to make use of the standard +/-/etc operators yet either -- those are pretty closely tied to the VM  (i.e., infix:<+> is currently always  add__NNN
14:36 jnthn How is Parrot exposing GMP?
14:36 pmichaud jnthn: a set of NCI bindings, I think.
14:36 jnthn pmichaud: A.
14:36 jnthn *Ah
14:36 jnthn That's better than I expected, in a way.
14:36 colomon I believe that's right.  it's an external library right now, too.
14:36 pmichaud the external library does the Parrot classes, which won't work for us.
14:36 jnthn I was fearing "there's this BigInt PMC that you should use" :)
14:37 [Coke] pmichaud: that's a good start. I can probably flesh that out with descriptions.
14:37 colomon https://github.com/bubaflub/parrot-gmp
14:37 colomon is the library
14:37 jnthn The thing is that I mostly think of this as a C-level integration, not a PIR level one.
14:37 pmichaud I agree, I'd prefer it to be a C-level integration
14:37 pmichaud but for this early stage, if Parrot can handle the "how do we get the library loaded" part, that's less we have to deal with :)
14:38 jnthn That's indeed true.
14:38 [Coke] t/01-sanity/06-eqv.t looks like an eaaaasy test to get to pass in nom. ;)
14:38 pmichaud https://github.com/bubaflub/parrot-gmp/blob/master/src/GMP/raw.pir  seems to show the nci interface available
14:38 * [Coke] ponders.
14:39 pmichaud [Coke]: yes, it should be relatively easy.
14:39 pmichaud just look for &infix:<===> and do similar things for &infix:<eqv>
14:39 pmichaud although I don't know if Test.pm still uses <eqv> anymore
14:40 pmichaud Yes, it does.  So yes, we need it.
14:40 mberends left #perl6
14:41 [Coke] in nom, I only see those defined in src/old.
14:41 pmichaud there are also some reasonable definitions of infix:<eqv> in master,  src/core/operators.pm
14:41 pmichaud right, we haven't implemented <eqv> at all yet in nom
14:41 [Coke] is src/old even compiled in nom, or just for reference?
14:42 moritz just for reference
14:42 pmichaud it's jus.... moritz++
14:42 leprevost joined #perl6
14:42 jnthn Note that you'll need at least a proto infix:<eqv>($, $) { * } too
14:42 pmichaud and eliminate the "our"'s
14:42 jnthn That too :)
14:44 PerlJam Are there any LHF not listed in LHF.markdown?
14:44 pmichaud listing LHF's isn't LHF :)
14:44 [Coke] mmhehehehe.
14:44 * [Coke] tries to do the bare minimum to get that test to pass...
14:45 moritz fwiw I think that what is now in IO should really be IO::File or IO::Stream or so
14:45 pmichaud feel free to change it
14:45 tadzik if I started moving Pod work into nom, is it better to merge nom into my current branch, or start a new branch being a child of nom?
14:45 colomon pmichaud, jnthn: okay, so we want NQPBigInt.  Hints on how to start that process?
14:45 moritz tadzik: the latter
14:46 tadzik oki-doki
14:46 jnthn tadzik: Provided it's non-regressional, you're welcome to merge into nom at regular intervals too.
14:46 [Coke] \o/
14:46 colomon is non-regressional a processional?
14:46 * TimToady demonstrates emergent behavior
14:46 jnthn :D
14:47 tadzik jnthn: so far, while it was in master, it made it pass more spectests, bringing no regressions
14:47 jnthn tadzik: My suggestion is to get your grammar changes into nom, then the POD AST into CORE.setting.
14:48 tadzik yeah, that's the plan
14:48 [Coke] https://gist.github.com/1056377
14:48 [Coke] pmichaud, jnthn : that ok to commit to nom?
14:49 tadzik and a bit of experimentations with with symboltable
14:49 pmichaud [Coke]: works for me
14:49 jnthn tadzik: Yup.
14:49 pmichaud although I wonder if the signature should be      Numeric ::T $a, T $b
14:49 jnthn tadzik: You gonna be doing .WHO also?
14:49 bubaflub joined #perl6
14:49 pmichaud should the POD AST be a separate module, ooc?
14:49 jnthn pmichaud: Not yet
14:50 tadzik jnthn: .WHO, or .WHY?
14:50 jnthn Type vars aren't quitedone yet
14:50 [Coke] ah, I just pulled the signature from master.
14:50 jnthn *quite done
14:50 dalek rakudo/nom: 6fff467 | Coke++ | src/core/operators.pm:
14:50 dalek rakudo/nom: add enough <eqv> to pass t/01-sanity/06-eqv.t
14:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6fff4677aa
14:50 tadzik I thought .WHO is your fruit :)
14:50 [Coke] pmichaud: does your signature force the 2 numerics to be the same type?
14:50 jnthn tadzik: I meant .WHY :)
14:50 jnthn Yeah, I did .WHO
14:50 pmichaud [Coke]: yes.
14:50 [Coke] at that point, do you still need the .WHAT check?
14:50 pmichaud but as jnthn says -- NYI :)
14:51 pmichaud right, I'm thinking we don't need the .WHAT check after that
14:51 jnthn Keep .WHAT check for now.
14:51 pmichaud agreed, keep it for now.
14:51 [Coke] better to force as much of that into the sigs as possible.
14:51 [Coke] k. good, pushed.
14:51 tadzik jnthn: .WHY is pretty far in my calendar fwiw, but I don't mind moving things around a bit as long as itmoritz and masak are happy with it and it happens to be more beneficial to Rakudo
14:51 jnthn Use of a type var in the sig it's declard in is gonna be...fun.
14:52 [Coke] down to 5 failing test files in "make test"
14:52 jnthn tadzik: I've no real priorities on it, just curious so I can ponder ahead. :)
14:53 tadzik jnthn: .WHY is the most exciting thing in my gsocwork, at least for me :)
14:53 pmichaud yes, I'm jealous about .WHY
14:53 pmichaud I wanted to do .WHY this year but likely won't have the tuits
14:53 pmichaud (not as long as there's so much else to work on)
14:54 jnthn pmichaud: That's fine, we have tadzik++ to do it. :)
14:54 pmichaud jnthn: you're missing the point, which is that .WHY is existing and -Ofun and I only get to watch vicariously.  :)
14:54 jnthn Ah
14:54 jnthn "features I wish I'd implemented" :)
14:55 tadzik also, we'd havly decide on how we want declarator blocks to work
14:55 [Coke] ./perl6 t/02-embed/01-load.t --> Method 'at_key' not found for invocant of class 'Failure'
14:55 [Coke] is that the real fix, or is it likely that something's fail()ing that shouldn't?
14:55 jnthn [Coke]: I suspect the embedding interface is going to want a thorough going over.
14:56 pmichaud in this case, it's probably because there's no $*VM defined.
14:56 pmichaud so that's coming back as a Failure, which doesn't know how to <config>
14:56 jnthn aha
14:57 [Coke] looks like adding in "undefine" from master gets us another test file. safe to do?
14:58 pmichaud [Coke]: sure, I'll review the patches and revert/fix if needed.
14:58 pmichaud colomon: I'm still thinking on bigint/nqp
14:58 * jnthn too
14:58 jnthn Trouble is I have a pretty fixed idea of what the eventual solution should look like.
14:58 tadzik ouch, what did I write
14:59 jnthn And am trying to work out a part-way solution that won't involve a do-over.
14:59 tadzik also, we'd hae to finally decide how we want declarator blocks to work
14:59 pmichaud jnthn: then perhaps you can describe that solution :)
14:59 tadzik there
15:00 jnthn I think we should have a repr, along the lines of P6int, but P6bigint or some such
15:00 jnthn It knows how to store an int in normal or upgraded form
15:00 jnthn That means it's a piece of memory that has an INTVAL plus whatever struct/pointer the bigint library we're compiling in wants
15:00 jnthn Then a bunch of ops that target this.
15:01 jnthn That handle either doing an INTVAL operation and upgrade on demand.
15:01 jnthn The hurdle is that I didn't do complex inlines yet.
15:02 jnthn But a P6bigint repr (addition to src/6model/repr/) could easily be used right off
15:02 pmichaud so, to me the first step is to just get a POC where we don't worry about upgrading... i.e., everything is bigint
15:02 jnthn e.g. by class Foo is repr('P6bigint') { ... }
15:02 jnthn pmichaud: That's fine also, *if* we make it a repr.
15:03 pmichaud right
15:03 jnthn And a bunch of ops.
15:03 jnthn But repr implies written in C, as do ops.
15:03 pmichaud "ops" could be handled for now by subs that go through the NCI interface
15:03 jnthn Maybe but getting them a pointer to the right thing could be fun.
15:03 pmichaud sub add(NQPBigInt $a, NQPBigInt $b) { ... }
15:03 jnthn pmichaud: By ops I meant, dynops.
15:03 pmichaud yes, I know that's what you meant.
15:04 jnthn ah, OK
15:04 pmichaud the problem I have with "bunch of dynops" is that it sounds to me like we're recreating vtables.  Which we may be (but doing it right this time), but we need to consider the larger architecture for our ops a bit too
15:04 jnthn But what do the NCIs expect us to give them?
15:04 pmichaud jnthn: well, that's what I'm thinking colomon++ can figure out :)
15:05 jnthn ah, OK :)
15:05 alim left #perl6
15:05 jnthn I think that we will end up with a set of ops that are specific to a repr.
15:05 alim joined #perl6
15:05 colomon if you mean in terms of types, gmp has a mpz_t for integers
15:05 jnthn We'll have some list-y and hash-y ones
15:06 jnthn colomon: Yes, that sounds like what I am talking about.
15:06 dalek rakudo/nom: 37ff459 | Coke++ | src/core/operators.pm:
15:06 dalek rakudo/nom: add undefine, pass t/01-sanity/06-eqv.t
15:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37ff459759
15:06 jnthn pmichaud: I agree that we'll want to try and structure that a bit more
15:06 jnthn pmichaud: I disagree we're re-invenitng v-tables.
15:07 jnthn reprs aren't meant to be dispatchy really
15:07 pmichaud they kind of are dispatchy if we have to create a set of custom ops for each :)
15:08 tadzik nom: my $a = 5; $a = Any; say defined $a
15:08 p6eval nom: OUTPUT«Bool::False␤»
15:08 jnthn True; I was thinking "polymorphically dispatchy"
15:08 tadzik colomon: wouldn't that be easier?
15:08 [Coke] down to 4 failing files in "make test"
15:08 tadzik oopsie, [Coke]
15:08 pmichaud tadzik: that might be easier but what Coke has is more futureproof
15:08 pmichaud since the meaning of "undefined" might change :-)
15:08 tadzik huh
15:09 pmichaud we still don't know exactly what  "my $x"  is supposed to produce :)
15:09 pmichaud (although yes, we're all pretty much agreed that it initializes to Any.  The type constraint is the part we don't know.)
15:09 TimToady why do we initialize to Any?
15:09 pmichaud There is a question though about what happens with     my Int $y;  undefine $y
15:09 PerlJam I liked  the "my Mu $x = Any;" version
15:10 jnthn TimToady: Because the various auto-vivs live in Any, iirc.
15:10 pmichaud we initialize to Any because we expect Any's methods to work on uninitialized variables.
15:10 pmichaud like autoviv.
15:10 pmichaud unless you want to put those methods on Mu.
15:10 TimToady would they not work in Mu?
15:10 jnthn If you put them on Mu then junctions won't auto-thread them.
15:11 TimToady do we want autoviv autothreading?
15:11 TimToady it seems problematic
15:11 jnthn TimToady: You've missed the point.
15:11 [Coke] (I didn't think about undefine at all. I just pulled it from master.)
15:11 pmichaud it's not just autoviv, but also  .join .map .list .elems .reverse ....
15:11 jnthn TimToady: Things that cause auto-viv may also have totally normal meanings.
15:11 jnthn That we would want to have autothread.
15:11 pmichaud Any has a lot of methods in it (many of which should autothread)
15:13 prammer_ is now known as prammer
15:13 PerlJam pmichaud: so what's the debate on the type constraint?
15:13 PerlJam (why not Mu?)
15:14 TimToady I don't really like the type split Mu/Any constraint/initializer split
15:14 TimToady if there's some way we can get away from that without going insane
15:14 pmichaud TimToady: on 5-16 you said you prefered the constraint to be Any/Any
15:14 pmichaud I think that's workable.
15:14 TimToady yes, well, but that's also going to be slowish
15:15 jnthn TimToady: I mostly consider it a compromise to achieve sanity.
15:15 jnthn But my version of sanity includes "can assign a junction to an untyped scalar"
15:15 jnthn (Because I think untyped programs should largely dwim.)
15:15 tadzik moritz: would you mind if I swapped my gsoc goals for the two upcoming weeks? $=POD seems like a lot more important thing to do, also it's harder for me to estimate the time amount needed for that
15:15 cotto left #perl6
15:16 TimToady Any/Any is better than Mu/Any, but I'd like to eventually have a 'use deftype MyType' kind of pragma that would work with Mu, Any, Cool, etc
15:16 jnthn TimToady: Do we want to make junctions more effort to store in a scalar?
15:16 PerlJam TimToady: and  my $x = 1 | 2;  # would fail?
15:16 TimToady I'm just wondering if there's a way to intuit an autoviv type other than by putting things into Any
15:17 pmichaud my $x;  $x<a> = 'hello';
15:17 pmichaud the .<a> is a method on Any.
15:17 PZt left #perl6
15:17 pmichaud (or whatever we default $x to)
15:17 TimToady PerlJam: whether we default to Mu/Mu, Any/Any, Cool/Cool should be an independent strictness decision, and I'd like autoviv to work in any case
15:18 PerlJam TimToady: so ... you're sort of talking about an auto-coercion mediated by a pragma?
15:18 TimToady coercion is also independent from the declared type of a container
15:18 pernatiy left #perl6
15:19 TimToady I just think giving containers two different types is kinda insane
15:19 TimToady can the autoviv type be supplied by Mu noticing method dispatch failure?
15:19 jnthn TimToady: It doesn't have two types, though.
15:19 jnthn It has a type constraint and a default value.
15:20 pmichaud jnthn: I think he means the fact that those are of different types.
15:20 jnthn Where the default value is the Any type object.
15:20 cotto joined #perl6
15:20 TimToady well, I guess default makes more sense on an array or hash
15:21 TimToady okay, I can bend my mind around that for scalars too
15:21 jnthn It is a discontinuity in a sense.
15:22 jnthn Yes, we could try and do something on dispatch failure but it's a bit icky.
15:22 TimToady so anyway, leaving defaults out of it, except for the fact that the default must match the constraint type
15:22 TimToady it'd still be nice to be able to dial in the default constraint of Mu, Any, Cool
15:23 TimToady presumably if you constrain your vars to Cool you don't want to do anything fancy :)
15:23 pmichaud I'm fine with having a pragma for the default variable type, I think.
15:23 TimToady well, the two main choices for default are Mu and Any
15:23 pmichaud for arrays and hashes we already get the constraint from 'of'
15:24 TimToady Mu is faster, Any is "safer"
15:24 PerlJam so if "my $x" means "my Mu $x = Any",  what does "my %h;"  mean exactly?
15:24 pernatiy joined #perl6
15:24 pmichaud PerlJam:   my %h of Mu;    presumably
15:24 PerlJam and how does autoviv work in that case?
15:24 TimToady and we could have the same or different constraints for scalars, arrays, hashes
15:25 pmichaud PerlJam: the containers could still be defaulted to Any
15:25 TimToady use scalar Mu; use array Any
15:25 jnthn PerlJam: I guess because a hash is actually a store of scalars, which default to Any
15:25 TimToady use code Cool;  # :D
15:25 pmichaud in nom, they default to exactly whatever a scalar defaults to :-)
15:25 jnthn nom: my %h; say %h<lol>.WHAT
15:25 p6eval nom: OUTPUT«Any()␤»
15:26 PerlJam ok.
15:26 PerlJam makes sense to me, but it's going to require lots of words in explanation I think when it comes time to explain it to relative newebies.
15:26 jnthn pmichaud: heh, do you actually use my $ to get a container? :)
15:27 pmichaud jnthn: I use "is copy"
15:27 pmichaud which iirc does basically the same thing.
15:27 jnthn pmichaud: ah
15:27 jnthn :)
15:27 pmichaud STORE_AT_KEY(\%hash, $x is copy) { ... }
15:27 pmichaud eventually I expect that to be
15:27 pmichaud STORE_AT_KEY(\%hash, T $x is copy) { ... }
15:27 pmichaud which puts on the constraint
15:28 pmichaud s/'\%hash'/'\$key'/  above
15:28 jnthn *nod*
15:28 jnthn When somebody gets around to making the parametrics work. :)
15:30 pmichaud so, sounds like we're going with  "my $x"  meaning  Mu/Any for now
15:30 pmichaud wfm
15:30 pmichaud eventually a pragma to be able to declare the default constraint (and initialization?) type for scalars
15:31 TimToady it's a shame we can't express the default with "my $x = Any"
15:31 TimToady as we can with parameters
15:31 pmichaud that was somewhat the other reason for making "my $x" mean "my Any $x" in my mind -- it then matched parameter declarations.
15:32 TimToady no point in that unless we want it to autothread :)
15:32 pmichaud indeed, that was also jnthn++'s response :)
15:32 PerlJam jnthn: is there some minimal set of things required for a repr?
15:35 jnthn PerlJam: A repname.c/.h file and a registration, plus at least implement type_object_for and instance_of, I suspect.
15:35 jnthn P6int.c is an example of a rather simple repr
15:35 jnthn P6opaque.c is an example of a terrifying one. :)
15:35 jnthn HashAttrStore is somewhere between the two.
15:36 PerlJam thanks.
15:36 dolmen left #perl6
15:40 * TimToady melts his brane thinking about the Harrison Ford version of Forrest Gump
15:43 PZt joined #perl6
15:44 bubaflub left #perl6
15:46 diakopter but who would play Forrest if Ford played the 'nam vet
15:46 colomon are we now officially fudging spectests for nom (as "rakudo")?
15:47 pmichaud colomon: I declare "yes".
15:47 colomon wfm
15:47 [Coke] colomon: +1
15:48 colomon okay, one more question for uc.t: assignment to $_ doesn't work in nom?
15:49 jnthn colomon: Do you ahve latest?
15:49 pmichaud depends on how $_ is bound
15:49 colomon $_ = "Hello World";
15:49 colomon my $x = .uc;
15:49 colomon is the test
15:49 * jnthn did a bunch of fixes there early today
15:49 colomon Cannot assign to a non-container
15:49 colomon was the error.
15:49 pmichaud that should work (after jnthn++'s fixes earlier)
15:49 pmichaud it wasn't working as of yesterday.
15:49 jnthn nom: $_ = "Hello World"; say .uc
15:49 p6eval nom: OUTPUT«HELLO WORLD␤»
15:49 colomon that's with latest
15:50 colomon huh
15:50 jnthn nom: $_ = "Hello World"; my $x = .uc; say $x
15:50 p6eval nom: OUTPUT«Rebuild in progress␤»
15:50 [Coke] nom: say +"0x0a";
15:50 p6eval nom: OUTPUT«Rebuild in progress␤»
15:50 pmichaud nom:  { $_ = 'Hello world';  my $x = .uc; say $x }   # the real test
15:50 p6eval nom: OUTPUT«Rebuild in progress␤»
15:50 pmichaud [Coke]: string->number conversion NYI
15:50 jnthn nom: your status?
15:50 p6eval nom: OUTPUT«Rebuild in progress␤»
15:51 pmichaud (except for the very basic number formats)
15:52 [Coke] pmichaud: aye. failing 4 tests in literals, otherwise that test is passing.
15:52 mj41 left #perl6
15:52 [Coke] that sounds vaguely like LHF.
15:52 jnthn nom: $_ = "Hello World"; my $x = .uc; say $x
15:52 p6eval nom: OUTPUT«HELLO WORLD␤»
15:52 pmichaud it's not LHF at all.
15:53 [Coke] and it's numberic, so I vote for colomon!
15:53 pmichaud it's VHHF
15:53 pmichaud nom:  { $_ = 'Hello world';  my $x = .uc; say $x }   # the real test
15:53 jnthn nom: { $_ = "Hello World"; my $x = .uc; say $x }
15:53 p6eval nom: OUTPUT«Cannot assign to a non-container␤current instr.: '_block1010' pc 347 ((file unknown):748) (:1)␤»
15:53 p6eval nom: OUTPUT«Cannot assign to a non-container␤current instr.: '_block1010' pc 347 ((file unknown):748) (:1)␤»
15:53 [Coke] well then, I especially vote for colomon.
15:53 jnthn huh.
15:53 colomon see, not just me
15:54 jnthn nom: { say $_.WHAT }
15:54 p6eval nom: OUTPUT«Mu()␤»
15:54 pmichaud is the outer $_ being initialized properly?
15:54 pmichaud is it a 'rw' bind?  ;-)
15:54 jnthn pmichaud: It should be happening on demand
15:54 [Coke] so, 'make test' has the literals, the embedding, regexen, and a proto and dispatch auto-generation for multis not yet implemented at line 15, near "multi sub "
15:54 benabik nom: say .WHAT, '?'
15:54 p6eval nom: OUTPUT«Any()?␤»
15:54 pmichaud what happens if the demand comes from a nested block?
15:54 jnthn pmichaud: I *thought* I handled that case.
15:54 pmichaud okay
15:55 jnthn Clearly, I got it not quite right somehow.
15:55 pmichaud then I guess nom is wrong :)
15:55 pmichaud nom:  "pay attention to what jnthn wrote!"
15:55 p6eval nom:  ( no output )
15:55 jnthn :P
15:55 pmichaud (nom is speechless)
15:56 [Coke] for updating spec tests, is the goal to pass all the tests that master is passing (so don't todo failing tests, only untodo passing tests) or is it to reflect reality on the nom-ground?
15:56 PerlJam what do you expect with a mouth full of food?
15:56 TimToady though we could express a default with 'my ($x = Any)' though that doesn't work too well for arrays
15:56 colomon nested block, that's it!  if you strip off the {  }, that line works
15:56 pmichaud the goal is to pass all of the tests that master is passing.  However, if a test would pass "but for one or two tests", I'm okay with fudging it to include it in the passing tests.
15:57 pmichaud but in general I'd err on the side of not bringing in a passing test until we have at least master's capabilities
15:57 pmichaud s/passing/almost-passing/
15:57 pmichaud that way we know where we're regressing from master
15:58 dolmen joined #perl6
15:59 jnthn nom: $_ = 42; { say $_ }
15:59 colomon but that way we have less information about when we're regressing from old nom to newer nom...
15:59 p6eval nom: OUTPUT«Mu()␤»
15:59 colomon :\
15:59 jnthn nom: $_ = 42; { say $_ }; say $_
15:59 p6eval nom: OUTPUT«Mu()␤42␤»
15:59 jnthn hm
15:59 pmichaud I'm not quite worried about old-to-newer nom yet.
16:00 pmichaud I'm much more concerned about regressions against master.  If we add fudges to too many tests, I'm worried we lose that.  (Yes, this might contradict my earlier statements a bit.)
16:00 pmichaud it may also mean we should refactor a test file, potentially -- that it may be trying to do too many things.
16:00 pmichaud and I'm okay with that.
16:00 [Coke] ... right. too complicated. nevemrind. ;)
16:03 PerlJam nom:  my $x = 42; { say $x }
16:03 p6eval nom: OUTPUT«42␤»
16:05 * PerlJam notes that :default_from_outer use only used in one place in nom.
16:05 jnthn PerlJam: It's not done like that any more.
16:05 jnthn PerlJam: It's handled more lazily.
16:05 colomon nom: say 'A'..'C'
16:05 p6eval nom: OUTPUT«'A'..'C'␤»
16:05 PerlJam jnthn: a little too lazily looks like  ;)
16:05 colomon nom: say 'A'..'C'.join('a')
16:05 p6eval nom: OUTPUT«'A'..'C'␤»
16:05 jnthn nom: say $_
16:05 p6eval nom: OUTPUT«Any()␤»
16:06 jnthn I wish I knew where that Mu came from...
16:06 jnthn If it were a null PMC access it'd make a bit more sense.
16:06 PerlJam jnthn: I was thinking it came from line 335 in Actions.pm
16:07 colomon nom: say ('A'..'C').join('a')
16:07 p6eval nom: OUTPUT«AaBaC␤»
16:07 PerlJam but ... I've totally forgotten everything I might have known about Actions.pm and Grammar.pm
16:08 alim left #perl6
16:09 colomon nom: lc('A'..'C')
16:09 p6eval nom:  ( no output )
16:09 colomon nom: say lc('A'..'C')
16:09 p6eval nom: OUTPUT«range<36387920>␤»
16:09 colomon nom: my @a = 'A'..'C'; say lc(@a)
16:09 p6eval nom: OUTPUT«a b c␤»
16:10 perlhack joined #perl6
16:10 jnthn PerlJam: Hmm. I hope not.
16:10 jnthn oh
16:11 jnthn I think it may be
16:11 jnthn Hmm
16:11 PerlJam It would mean that there's a path to pblock that shouldn't be I think.
16:11 jnthn circumfix calls pblock(1)
16:12 jnthn circumfix:sym<{ }> that is
16:12 perlhack jnthn :Very late you should go to bed.
16:12 jnthn oh
16:12 jnthn but not in STD
16:12 jnthn perlhack: :P
16:13 SHODAN joined #perl6
16:13 perlhack [:-}i hope to see a spirit of you in 7.2
16:14 jnthn :)
16:14 jnthn perlhack: Do you come to pre-workshop dinner tomorrow?
16:14 pmichaud how does STD do it, then?  when I did circumfix:<{ }> before I was following STD, I think.
16:15 perlhack The pre-workshop in what place
16:15 jnthn pmichaud: It doesn't pass the 1
16:16 jnthn perlhack: http://conference.perlchina.org/bjpw2011/news/730
16:18 perlhack jnthn:Oh ! i dot not know them,is a new technology person,haha,i see only to 7.2 to meet to you.
16:19 jnthn OK :)
16:19 perlhack The China way and you different oh
16:19 jnthn pmichaud, colomon I look at the $_ bug tomorrow
16:20 jnthn I really should sleep ;)
16:20 pmichaud jnthn: okay, wfm
16:20 colomon sleep is good
16:20 * JimmyZ should sleep too
16:20 pmichaud although I'm not sure what to think about this "sleeping in the middle of the day" bit.  :-P
16:20 * jnthn has one little patch to push before sleeping :)
16:21 pmichaud I mean, it's only 11am :)
16:21 jnthn pmichaud: You forget that China is in the future :P
16:21 perlhack jnthn,:good bye wish you a sweet dream under.
16:22 am0c joined #perl6
16:22 tokuhirom left #perl6
16:25 dalek rakudo/nom: 29d4eb1 | jonathan++ | / (4 files):
16:25 dalek rakudo/nom: Implement role punning. Also fixes Foo ~~ SomeRole.
16:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29d4eb1133
16:25 dalek rakudo/nom: 45e6e3b | jonathan++ | NOMMAP.markdown:
16:25 dalek rakudo/nom: Remove a completed nommap item.
16:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/45e6e3bcd6
16:25 jnthn There we go. 'night.
16:25 PerlJam good night jnthn
16:26 perlhack left #perl6
16:26 JimmyZ good night toooooooo
16:27 JimmyZ left #perl6
16:31 flussence just noticed try.rakudo was down, apache2 had been stopped on the server for some reason. what gives?
16:34 pernatiy left #perl6
16:35 flussence (oh, maybe the entire thing grinding to a near-halt was why...)
16:37 tokuhirom joined #perl6
16:40 flussence oh no wonder, the fstab's screwed up and has swap/root reversed... no swapspace at all
16:41 TimToady perl6: proto foo ($x, $y) {*}; multi foo($x, $y) { say "$x $y" }; foo :y(2), :x(1)
16:41 p6eval niecza v7-11-g9ba8284: OUTPUT«Potential difficulties:␤  $x is declared but not used at /tmp/zPV_szrRnR line 1:␤------> [32mproto foo ([33m⏏[31m$x, $y) {*}; multi foo($x, $y) { say "$x[0m␤  $y is declared but not used at /tmp/zPV_szrRnR line 1:␤------> [32mproto foo ($x, [33m⏏[31m…
16:41 p6eval ..pugs, rakudo 1fcb14:  ( no output )
16:41 cooper joined #perl6
16:42 flussence there we go, crisis averted
16:43 Kivutarrr joined #perl6
16:43 Kivutarrr left #perl6
16:43 Kivutarrr joined #perl6
16:45 icwiener left #perl6
16:45 TimToady nom: proto foo ($x, $y) {*}; multi foo($x, $y) { say "$x $y" }; foo :y(2), :x(1)
16:45 p6eval nom: OUTPUT«Not enough positional parameters passed; got 0 but expected 2␤current instr.: 'foo' pc 401 ((file unknown):29937134) (:1)␤»
16:46 dukeleto what is the easiest way to see if a file exists from NQP? Must one drop down to PIR to do that?
16:46 colomon rakudo: 1.trim.WHAT.say
16:46 p6eval rakudo 1fcb14: OUTPUT«Str()␤»
16:47 TimToady rakudo: < 1 >.WHAT.say
16:47 p6eval rakudo 1fcb14: OUTPUT«Str()␤»
16:47 TimToady that one should be Int
16:47 colomon what I got is what I would hope for, but not what I expected looking at the source
16:48 colomon oh, I see
16:48 flussence rakudo: say &sprintf:($,*@).WHAT
16:48 p6eval rakudo 1fcb14: OUTPUT«Could not find sub &sprintf:($,*@)␤  in main program body at line 22:/tmp/HxntJtSexH␤»
16:48 PerlJam dukeleto: yes.
16:48 Vlavv left #perl6
16:49 colomon TimToady: the thing is, for some paths trim-leading and trim-trailing can return self
16:49 colomon instead of ~self, which is what I would expect
16:49 PerlJam dukeleto: at least as far as I know, you need to use PIR.  Maybe with the advent of the nqp:: abstraction, there's a nqp::method for it.
16:50 pmichaud there's no nqp:: abstraction for IO yet.
16:50 Rotwang left #perl6
16:50 pmichaud pir::new('FileHandle')  gets a FileHandle object that can be used.
16:51 Rotwang joined #perl6
16:52 pmichaud afk, lunch and more
16:53 dakkar left #perl6
16:57 cdarroch joined #perl6
16:57 cdarroch left #perl6
16:57 cdarroch joined #perl6
17:00 birdwindupbird left #perl6
17:02 estrabd joined #perl6
17:07 daxim left #perl6
17:09 noganex_ joined #perl6
17:12 MayDaniel left #perl6
17:12 noganex left #perl6
17:15 bakedb left #perl6
17:26 Mowah joined #perl6
17:32 dolmen left #perl6
17:33 moritz isn't there an open() function in the NQP setting?
17:34 icwiener joined #perl6
17:34 icwiener left #perl6
17:34 icwiener joined #perl6
17:40 [Coke] jnthn: I thought the children were our future.
17:43 colomon my future, anyway, I hope....
17:50 TimToady "children and art" --Steven Sondheim in SITPWG
18:00 tokuhirom left #perl6
18:03 * [Coke] sees a lot of updates to the spectestdata file for nom. whee.
18:08 tokuhirom joined #perl6
18:10 Vlavv joined #perl6
18:13 dalek specs: e84b111 | moritz++ | S29-functions.pod:
18:13 dalek specs: eval() does not catch exceptions
18:13 dalek specs: review: https://github.com/perl6/specs/commit/e84b11137c
18:15 colomon rakudo: say 1i.ln
18:15 p6eval rakudo 1fcb14: OUTPUT«0 + 1.5707963267949i␤»
18:15 masak joined #perl6
18:16 colomon rakudo: say -1i.ln
18:16 p6eval rakudo 1fcb14: OUTPUT«-0 - 1.5707963267949i␤»
18:16 [Coke] nom: my $x = 2.0;
18:16 p6eval nom: OUTPUT«Null PMC access in invoke()␤current instr.: '_block1002' pc 79 ((file unknown):136) (:1)␤»
18:16 masak i again come to here.
18:16 colomon \o/
18:16 flussence /o\
18:17 colomon rakudo: say (2-1i).ln
18:17 p6eval rakudo 1fcb14: OUTPUT«0.80471895621705 - 0.463647609000806i␤»
18:17 flussence hm, nom runs all the way to the end of `make spectest_smolder`... then barfs on the missing qx to upload test results :)
18:21 [Coke] ah the float failure is due to a missing &str2num-rat, which jibes with the literals issue pmichaud mentioned arlier, I think.
18:22 colomon [Coke]: that sounds like it makes sense  :)
18:22 colomon [Coke]: what we'd really like for that is available big ints...
18:25 dalek rakudo/nom: 91491d8 | moritz++ | t/spectest.data:
18:25 dalek rakudo/nom: two more passing spec tests
18:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/91491d8636
18:26 impious joined #perl6
18:29 Kivutarrr left #perl6
18:30 [Coke] hurm. I might be wrong, as that does seem to be defined...
18:30 colomon nom: say 2.5
18:30 p6eval nom: OUTPUT«Null PMC access in invoke()␤current instr.: '_block1002' pc 76 ((file unknown):33246622) (:1)␤»
18:30 colomon nom: say 5/2
18:30 p6eval nom: OUTPUT«2.5␤»
18:31 cotto left #perl6
18:33 moritz it's just method dec_number in Actions.pm that needs love
18:38 moritz nqp: say(pir::pow__Iii(10, 2))
18:38 p6eval nqp: OUTPUT«error:imcc:eval_ins: op 'pow_i_i_i' not found␤␤     in file '(file unknown)' line 32␤»
18:40 Eevee left #perl6
18:41 Eevee joined #perl6
18:45 pmichaud I'm planning to do re-work all number conversions for nqp/nom in the next day or so
18:47 colomon sorear: are you gone?
18:47 mj41 joined #perl6
18:48 pmichaud 07:55  * sorear sleep, *probably* will not return to IRC until Tuesday
18:48 [Coke] pmichaud: hokay.
18:48 colomon that's what I was afraid of
18:49 DarthGandalf left #perl6
18:53 moritz how do I convert strings and numbers to parrot integers with nqp:: calls? or do I use PIR?
18:53 pmichaud it's generally taken care of automatically.
18:53 moritz not in this case
18:53 pmichaud more details, please :)
18:54 moritz I want to prepare $numerator and $denominator to call Rat.new (in Actions.pm)
18:54 moritz so they should be integers
18:54 moritz hm, but Perl 6 integers
18:54 moritz nevermind :-)
18:54 pmichaud right
18:54 pmichaud so, unbox the string, box it into a p6int, you're good.
18:54 moritz right
18:54 pmichaud or, even better, call .Int
18:58 dalek specs: 781e726 | larry++ | S06-routines.pod:
18:58 dalek specs: Revert "fix 0 => $arg naminess"
18:58 dalek specs:
18:58 dalek specs: This reverts commit 0140a6f03e1e0917c103eaf730cfafa3c97c8069,
18:58 dalek specs: which was widely reviled.
18:58 dalek specs: review: https://github.com/perl6/specs/commit/781e7266ed
18:58 dalek specs: e881c78 | larry++ | S06-routines.pod:
18:58 dalek specs: Revert "don't include positional names in API"
18:58 dalek specs:
18:58 dalek specs: This reverts commit 74b208c3d7dc6bc3fb913be3376492e2d72733f6,
18:58 dalek specs: which which was found wanting.
18:58 dalek specs: review: https://github.com/perl6/specs/commit/e881c784d6
18:58 dalek specs: 94d0124 | larry++ | S06-routines.pod:
18:58 dalek specs: severely restrict named-to-positional binding
18:58 dalek specs:
18:58 dalek specs: Binding named args to positional parameters is now restricted to
18:58 dalek specs: explicit C<proto> and C<only> declarations.  But we will support it,
18:58 dalek specs: since it can have profound refactoring advantages if you don't have
18:58 dalek specs: to know which parameters will eventually end up as positionals.
18:58 dalek specs: review: https://github.com/perl6/specs/commit/94d01246e7
18:59 pmichaud \o/  TimToady++
18:59 colomon TimToady++
18:59 TimToady you should read it first :P
19:01 Moukeddar joined #perl6
19:01 Eevee_ joined #perl6
19:02 pmichaud oh, we're supposed to read more than the log comments?
19:02 pmichaud hrm.
19:02 colomon you can also just ask TimToady to explain it to you.  ;)
19:03 pmichaud He'll probably just tell me to RTFS.  :-P
19:04 benabik Those synopses are fine, aren't they?
19:04 Eevee left #perl6
19:04 pmichaud doit 123  => 'now';         # always a positional arg
19:04 colomon he's taking pity on me because I'm in the room and making puppy dog eyes
19:04 pmichaud ...is that even legal?
19:05 pmichaud i.e., we're allowing digits on the lhs of => ?
19:05 pmichaud *leading digits
19:08 envi left #perl6
19:10 bakedb joined #perl6
19:11 TimToady is what even legal?  that was the rejected spec stuff
19:11 TimToady rakudo: say (1 => 2).perl
19:11 p6eval rakudo 1fcb14: OUTPUT«1 => 2␤»
19:12 TimToady looks perfectly okay to me...
19:15 masak I imagine a bareword lhs is autoquoted whether it has digits or no.
19:15 pmichaud not according to STD.pm, unless I'm reading it wrong
19:15 pmichaud oh, it's not a fatarrow
19:15 pmichaud never mind.
19:16 pmichaud it's a normal &infix:<=>>
19:16 pmichaud bwahahahahah:
19:16 pmichaud > my $a = 0;   4 R+= $a;  say $a
19:16 pmichaud 4
19:16 benabik It's evil, I like it.
19:17 colomon it hurts us!
19:17 TimToady niecza: my $a = 0;   4 R+= $a;  say $a
19:17 p6eval niecza v7-11-g9ba8284: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in class List␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 128 (NieczaPassSimplifier run_optree @ 3) ␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 131 (NieczaPassSimplifier run…
19:17 benabik Well, it hurts niecza at least.
19:18 dalek nqp: 9a65d79 | pmichaud++ | src/Regex/Cursor.pir:
19:18 dalek nqp: Add an optional match argument to !cursor_pass, to let us explicitly specify the match to be used.
19:18 dalek nqp: review: https://github.com/perl6/nqp/commit/9a65d79573
19:18 colomon rakudo: my $a = 0;  4 R+= $a;  say $
19:18 p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "$"␤»
19:18 colomon pmichaud: is that your local nom it works on?
19:18 pmichaud colomon: yes.  I'm getting ready to push it now.  :)
19:19 masak I'm not convinced that I'm happy about the spec patch. reading that and re-reading https://gist.github.com/984783 , I now conclude we've ended up with the same basic problems, but a more complicated spec. :(
19:19 pmichaud then I'll do more metaops.
19:19 TimToady you're just wrong
19:19 masak please tell me how.
19:19 moritz oh, is nqp::p6box_i already available in Actions.pm?
19:19 TimToady it's simpler, and your problem is solved
19:19 moritz Unrecognized nqp:: opcode 'nqp::p6box_i' at line 2719, near ";\n        "
19:19 soh_cah_toa joined #perl6
19:20 pmichaud why use nqp::p6box_i in Actions.pm?  (not saying it's wrong, just wanting to know the use case)
19:20 moritz to pass to Rat.new
19:20 kthakore joined #perl6
19:20 pmichaud In Actions.pm that should already be a serialized constant.
19:20 masak TimToady: the manifesto asks for named arguments not to be bindable to positional parameters. the spec patch that followed on that one removed that; this last one adds it back (for protos).
19:20 pmichaud no need to box it.
19:21 kthakore ..What was that perl6 NCI thing?
19:21 kthakore it was a module I installed a while back
19:21 moritz pmichaud: I want to pass a Perl 6 integer to Rat.new, and serialize the result
19:21 TimToady the manifesto is misguided, then, since there are good reasons to use named calls for refactorability
19:21 moritz kthakore: Zavolaj, NativeCall.pm
19:21 kthakore NativeCall.pm!!!
19:21 TimToady and we've enabled that only if explicitly requested
19:21 TimToady and it's simpler because there's only a single choice point
19:22 kthakore TimToady: hi. Sorry to butt in. But I hugged you at keynote :) ...
19:22 * kthakore runs away to make SDL script for Util
19:22 TimToady you should hug masak++ right now :)
19:22 kthakore I never stopped hugging him
19:22 lichtkind joined #perl6
19:22 * kthakore Hugs masak harder
19:23 pmichaud moritz: for now you might have to use the pir:: version of the opcode.  The registration of the p6-specific opcodes happens at INIT of Actions.pm (which would be after it's compiled)
19:23 masak I'm not being deliberately obtuse or difficult.
19:23 pmichaud that's a good argument to move those registrations somewhere else.
19:23 lichtkind thou: hai
19:23 lichtkind cheers to all
19:23 moritz what's the name of the pir:: opcde? perl6_repr_box_int ?
19:23 pmichaud anyway, you'll probably need pir::perl6_box_int__PI(...)
19:23 kthakore Util: FOUND IT :D
19:24 moritz ah
19:24 kthakore Util: https://gist.github.com/744192
19:24 masak as far as I can see, the benefits of "refactorability" are equally and oppositely offset by the downsides of API leakage.
19:24 pmichaud and I'll figure out a way to get the Perl 6 nqp:: opcodes available to nqp a bit earlier.
19:24 TimToady the API leakage is not leakage if it's intentional
19:24 masak it's not intentional if people aren't aware of the rules of protos.
19:24 TimToady and naming your proto positionals is now deemed to be intentional
19:25 masak you've just moved the issue.
19:25 Util kthakore: reading...
19:25 thou lichtkind: \o
19:26 thou lichtkind: nicht viel zeit jetzt, leider
19:26 masak 'Since Perl 6 programmers (experienced and newbie alike) don't seem to realize the feature is there, this has a high probability of leading to "over-defining" of APIs. That might not sound so bad until one realizes that a module author has committed not to change the names of any parameters in the module's exported routines.'
19:26 masak that's just as true now as two spec patches ago.
19:26 molaf left #perl6
19:27 masak though fewer people will define protos, so fewer people will learn the rules, so it'll bite all the harder when it bites.
19:27 pmichaud masak: iiuc, the author commits not to change the names of any parameters in the module's exported protos.
19:27 pmichaud and normally we write protos namelessly.
19:27 moritz pmichaud: it seems that perl6_ops isn't even loaded in Actions.pm
19:27 TimToady that is just part of the definition of a proto, and if the proto writer doesn't understand that, they're just under-educated
19:27 moritz ie in gen/perl6-actions.pir
19:28 TimToady you seem to be arguing that the API designer should not be allowed to have control of the API at this point
19:28 pmichaud moritz: we probably need to pass it as a library argument to nqp then.
19:28 moritz pmichaud: ah right
19:28 natureboy joined #perl6
19:28 Util kthakore: Unable to find module 'NativeCall' in the @*INC directories.
19:28 cooper left #perl6
19:29 wamba left #perl6
19:29 masak I'm arguing that under-educated API designers will be a fact of life, and that they'll over-define their API all the time.
19:30 birdwindupbird joined #perl6
19:30 TimToady fine, a default warning that can easily be disabled would be fine by me
19:30 masak did the binder become less complicated from this change? if so, I don't see it.
19:30 masak things still need to go through the proto somehow.
19:30 pmichaud masak: welcome to "torment the implementors on behalf of the users."
19:31 TimToady yes, currently master's binder has to remap nameds on *every* multi
19:31 masak pmichaud: as a user, I don't feel "on-behalfed" in this case.
19:31 TimToady in the new approach, this can only happen when the proto is called
19:31 colomon rakudo: say 1i.exp(3)
19:31 p6eval rakudo 1fcb14: OUTPUT«0.45483242282661 + 0.890577041667747i␤»
19:31 masak sure, that's the new multi semantics. I'm fine with that.
19:31 TimToady there is only one place to look for the official API
19:31 masak in fact, it's a big improvement over the last multi semantics. kudos for that.
19:31 TimToady no, it's completely orthogonal to the new multi semantics
19:32 masak ok.
19:32 TimToady the new semantics are done by master, but it still remaps each multi
19:32 kthakore Util: you will need https://github.com/jnthn/zavolaj
19:32 masak oh.
19:32 TimToady or at least niecza does that, so it's independent
19:32 daniel-s left #perl6
19:33 kthakore Is there a module creator that gets deps and stuff for me in Perl6? ( Like modulestarter )
19:33 dalek rakudo/nom: 11ec306 | pmichaud++ | / (4 files):
19:33 dalek rakudo/nom: Refactor metaop handling, add R metaop.  More to come in a bit.
19:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/11ec306523
19:33 TimToady niecza: proto foo ($, $) {*}; multi foo($x, $y) { say "$x $y" }; foo :y(2), :x(1)
19:33 p6eval niecza v7-11-g9ba8284: OUTPUT«1 2␤»
19:34 TimToady rakudo: proto foo ($, $) {*}; multi foo($x, $y) { say "$x $y" }; foo :y(2), :x(1)
19:34 p6eval rakudo 1fcb14: OUTPUT«Not enough positional parameters passed; got 0 but expected 2␤  in 'foo' at line 22:/tmp/Woj6Wvr3I6␤  in main program body at line 22:/tmp/Woj6Wvr3I6␤»
19:34 TimToady well, rakudo used to do it, anywa
19:35 masak so... there's some "signature algebra" involved, that maps the arguments of the call directly to the underlying multi, even though the names of the positionals refer to those in the proto?
19:35 kthakore Util: made a repo https://github.com/PerlGameDev/SDL6 ... I have to learn how to make modules in Perl6 tough to do the deps stuff
19:35 dukeleto kthakore: indeed there is
19:35 kthakore dukeleto: hallo :) ... I have you on my list too PROMISES_AT_YAPC
19:36 dukeleto kthakore: it is quite alpha-ish, but does something: https://github.com/tadzik/module-starter
19:36 kthakore dukeleto: thanks
19:36 moritz $ ./perl6 -e '3.0'
19:36 moritz Don't know how to build a rational constant
19:36 dukeleto kthakore: it mostly just creates the new metadata file for perl 6 modules
19:36 TimToady masak: by the time any multi sees it, it's always positional
19:36 dukeleto kthakore: it doesn't even give you a module skeleton, yet
19:36 kthakore dukeleto: can I have it get the https://github.com/jnthn/zavolaj stuff for me?
19:36 dukeleto kthakore: please fork and send pull requests :)
19:36 moritz it seems the serializer can only handle native types?
19:36 TimToady (the proto's positional args are, not nameds, which stay nameds)
19:37 kthakore dukeleto: :D will do if something bugs me that much. Right now I have 6 moar promises to get to
19:37 pmichaud moritz: I don't know if the serializer is smart enough to handle setting types yet.
19:37 dukeleto ETOOMANYPROMISES
19:37 masak TimToady: so there are two dispatches: caller->proto, then proto->multi?
19:37 moritz kthakore: http://modules.perl6.org/ has all the pointers you need
19:37 kthakore dukeleto: ... I keep them or die tryin :D
19:37 moritz kthakore: both for how to declare dependencies, and where to get the installer that follows them
19:37 TimToady there always were two, since several months ago
19:37 kthakore moritz++ thanks
19:37 TimToady but the first one is usually inlineable, at least for functions
19:38 bakedb left #perl6
19:38 pmichaud moritz: I think that jnthn++ had said that serializing the setting types was likely to be post-nom-to-master
19:38 kthakore moritz++ I think you just saved my life
19:38 TimToady the remapping of named is now restricted to the first dispatch, and only to ones explicitly declared proto or only
19:38 kthakore Util: https://github.com/quietfanatic/gamebase/
19:38 bluescreen10 left #perl6
19:39 kthakore nvm ... that is ... not gonna work anymore
19:39 masak I feel I understand the mechanics better from this conversation, but I don't feel reassured. I'm afraid I'll remain sceptical of this feature until I can get my hands on an implementation of it.
19:40 TimToady that's fair
19:40 cotto joined #perl6
19:41 masak from my current viewpoint, it'd be better for everyone involved if named-arg => positional-param mapping just went away entirely. but we seem to disagree on that.
19:41 cotto left #perl6
19:41 cotto joined #perl6
19:42 moritz what about only allowing it on explicit protos (and disallowing it on autogenerated protos)?
19:42 wamba joined #perl6
19:43 pmichaud masak: I disagree with that.  I've given a couple of cases where named-arg => positional-param would be useful.
19:44 pmichaud I think the fact that it's not been used much yet has to do with the types and numbers of libraries we've implemented thus far.
19:44 masak possibly.
19:44 pmichaud I also wonder if it's important for .assuming
19:44 dalek rakudo/nom: 8bd86ac | moritz++ | / (2 files):
19:44 dalek rakudo/nom: start with Rat literals
19:44 dalek rakudo/nom:
19:44 dalek rakudo/nom: Sadly it does not work yet, but maybe it inspires jnthn++ to tell me how to work around the serializer limitations
19:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8bd86ac97e
19:45 moritz this patch doesn't add any working functionality, but it doesn't cause regressions either, afaict
19:45 masak "important for .assuming" relies on the kind of API leakage I would like to see not happen.
19:45 Moukeddar left #perl6
19:46 masak in fact, I think if the Perl 6 spec itself took that leakage seriously enough, S28 and S32 would look very different when it comes to the naming of positionals.
19:46 masak right now they're written as if they were for internal use only, with little thought to consistency and interface.
19:46 moritz agreed
19:47 moritz I wanted to at least partially change that, but then the feature was abolished :-)
19:47 moritz so no need anymore :-)
19:47 birdwindupbird left #perl6
19:47 masak guess a new chance has presented itself.
19:47 Util kthakore: thanks; installing zavolaj
19:47 pmichaud if I have   sub xyz($a, $b, $c) { ... }   and I want to do  xyz.assuming(:c(20)) .... how do I do that?  Or does assuming do introspection on the signature of &xyz to figure it out?
19:47 masak moritz: it's a good idea anyhow.
19:47 moritz for example I like index($haystack, $needle)
19:47 moritz or index($in, $search) or so
19:48 masak index($str, $substr)
19:48 pmichaud yes, but for that matter S29 and S32 still have a lot of constraints on parameters that ought not be there.
19:49 masak pmichaud: it would have to introspec the signature, I guess.
19:49 masak introspect*
19:49 moritz and they are silent on the Cool/Any variants
19:50 masak just like docs and documentation, making S28 and S32 shine are big, boring, thankless tasks that no-one is likely to volunteer for.
19:51 kthakore moritz: how do I get the sh bootstrap.sh to work. I don't see a ~/.perl6/ being made
19:51 kthakore moritz: for panda
19:51 kthakore Util: I am making it a module in a few
19:51 lichtkind masak: what exactly for?
19:51 moritz kthakore: you have to ask tadzik, he's the great module (installer) hacker
19:52 bluescreen10 joined #perl6
19:52 masak lichtkind: see the above discussion. S28/S32 aren't and have never been as exact in their signatures as a real implementation would require.
19:52 masak lichtkind: they basically can't be trusted when it comes to details.
19:53 pmichaud Here's an example:
19:54 pmichaud S32:205:  =item length
19:54 pmichaud This word is banned in Perl 6.  You must specify units.
19:54 pmichaud S32:532:   our Str multi method substr (Str $string: StrPos $start, Int $length) is rw is export
19:54 pmichaud First, "$length" is banned.
19:54 masak d'oh!
19:54 pmichaud Second, it should not be constrained to an Int.  Other Cool types should be allowed.
19:55 masak aye.
19:55 moritz same with StrPos - these days we just default to graphs
19:55 lichtkind masak: so someone has to ask lot of questions and rewrite it and yes i followed you loosely
19:55 moritz also, why the 'our'?
19:55 pmichaud (sorry, those "S32" should be "Str.pod")
19:55 masak lichtkind: yes, asking questions -- or basically doing what pmichaud++ just did -- would have to happen a lot.
19:55 masak is someone here using Ubuntu 11.04 (natty), with a too-old version of Mono (2.6.7) to run Niecza? what did you do about it?
19:56 lichtkind i use 11.4
19:56 moritz masak: it was too old on my system too (though debian, not ubuntu). I just built mono from soure (or downloaded a linux binary? don#t remember)
19:57 moritz and installed to /usr/local/
19:57 lichtkind masak: what did pmichaud ++ ?
19:57 tadzik kthakore: what's up with panda?
19:57 masak lichtkind: he quoted two parts of S32/Str and pointed out how they conflicted.
19:57 pmichaud ...and how they're incorrectly specified anyway.
19:57 masak lichtkind: and how the latter has too strict a signature.
19:58 masak moritz: ok, will try that.
19:58 masak thanks.
19:58 TimToady yes, any Int parameter should really be Int(), meaning Int(Cool)
19:58 pmichaud thus Str.pod has some issues.  Much of S32 and S29 is like that -- where the items listed there are definitely incorrect, but nobody has taken the time to edit them to fix them.
19:59 leprevost left #perl6
19:59 masak some things are missing entirely. &uniq, for example.
20:00 masak as far as I can gather, it was "spec'd through p6l".
20:00 lichtkind is uniq a perl 6 builtin?
20:00 masak not according to the spec :P
20:00 TimToady there's no such thing as "perl 6"
20:00 moritz but according to the tests there is
20:01 masak there's no such thing as "builtin".
20:01 [Coke] ... oh, that's not going to come back and bite us. ;)
20:01 lichtkind pmichaud: i maybe can wrestle some of it out when i now write the according tablets
20:01 kthakore tadzik: I can't seem to install it
20:01 tadzik kthakore: OSX, by any chance?
20:01 TimToady there's "perl", and "Perl 6", but no "perl 6"
20:01 pmichaud nom:  say "Perl 6".lc   # found it!
20:02 frettled left #perl6
20:02 p6eval nom: OUTPUT«perl 6␤»
20:02 frettled joined #perl6
20:02 kthakore https://github.com/PerlGameDev/SDL6 << Util
20:02 kthakore tadzik: no ... I just did sh bootstrap.sh
20:03 kthakore tadzik: I am on linux
20:03 tadzik kthakore: can you show me the output of bootstrap.sh?
20:03 kthakore there was non
20:03 kthakore at all
20:03 tadzik oh
20:03 tadzik btw, you don't really want "Test" in your deps, it's core, and panda will complain about not being able to instlal it
20:03 colomon tadzik!  \o/
20:04 kthakore perl6 bin/panda install . nothgin ..
20:04 kthakore tadzik: oh ... thanks sorry
20:04 tadzik colomon! \o/
20:04 tadzik kthakore: hrm
20:05 tadzik kthakore: ...no output at all? It just exits?
20:05 kthakore yeah
20:05 kthakore tadzik: Fixed it
20:05 tadzik dang
20:05 kthakore :\
20:05 kthakore Did i install perl6 wrong?
20:05 tadzik no idea
20:05 tadzik let me rebootstrap my panda on the newest rakudo, Justin Case
20:06 kthakore ok I go do Justin too
20:06 kthakore ... hehe
20:06 tadzik kthakore: okay, does it exit immediately?
20:07 kthakore yeah
20:07 kthakore I am recompiling perl6
20:07 tadzik okay. What happens when you just run 'perl6 bin/panda install .'?
20:07 kthakore same
20:07 kthakore I think my perl6 is lying to me about being installed
20:08 tadzik how about 'perl6 -e "say 1"'?
20:08 kthakore nothing :(
20:08 tadzik there we are :)
20:08 kthakore it was working 18hrs ago
20:08 tadzik strange
20:09 masak any discrepancies without apparent cause can be explained away with the motto "you can't step down in the same river twice" :P
20:10 sjohnson hello dudes
20:10 sjohnson yo masak
20:10 masak sjohnson! \o/
20:10 kthakore masak: my motto is ... 'Kartik you are stupid. Why you be stupid ape on the key board? Go fix nao'
20:10 tadzik sjohnson: hey!
20:10 sjohnson ( `ー´)
20:10 sjohnson tadzik: :)
20:10 sjohnson official perl6 "fat face" irc mascot
20:10 masak kthakore: harsh motto.
20:11 tadzik sjohnson: hah, I was expecting that :)
20:11 tadzik bah, doesn't zavolaj fail tests for you?
20:11 masak well, if it prints nothing, is it really failing...? :P
20:12 tadzik oh it prints stuff
20:12 johnkw joined #perl6
20:13 kthakore masak: hmm ... ok so I forgot how to install perl6 to /usr/local correctly. I did perl Configure.pl; make; sudo make install . which perl6 says /usr/local/bin/perl6
20:13 kthakore but it works inside the perl6 repo
20:13 kthakore the usr local one doesn't
20:13 tadzik kthakore: https://github.com/PerlGameDev/SDL6/blob/master/t/00-basic.t#L3
20:13 moritz kthakore: are you building the compiler, or the star release?
20:13 tadzik how did Text::Mock work for you? :)
20:14 kthakore tadzik: I dunno
20:14 kthakore moritz: building
20:14 TimToady generally much better to symlink the outer one to the inner one
20:14 johnkw left #perl6
20:14 kthakore okie lets try
20:14 tadzik kthakore: I'm pretty sure you want that to be Test::Mock
20:15 kthakore tadzik: fixed it
20:15 colomon tadzik: try panda install Algorithm::Soundex  ?
20:15 tadzik kthakore: the tests pass for me now. Mind me adding the module to the ecosystem?
20:15 tadzik colomon: ==> Succesfully installed Algorithm::Soundex
20:15 tadzik looks cool
20:15 colomon :\
20:16 tadzik colomon: failures?
20:16 colomon Project Algorithm::Soundex not found in the ecosystem
20:16 kthakore TimToady: ... linking gives me no dice
20:16 * dukeleto installs panda
20:16 colomon panda update
20:16 colomon and now it seems to work
20:16 tadzik \o/
20:16 kthakore tadzik: ermm it didn't work btw
20:17 kthakore tadzik: you don't have libsdl I presume do you? It fails silently
20:17 tadzik kthakore: what didn't?
20:17 tadzik I think I do, I play wesnoth frequently :P
20:17 kthakore tadzik: you need libsdl.so in the local lib
20:17 lith_ joined #perl6
20:17 kthakore oh it found it ?
20:17 Eevee_ is now known as Eevee
20:17 kthakore OMG you guys are getting so good so fasrt
20:17 colomon tadzik: so, you add projects to META.list to get them into ecosystem now?
20:17 kthakore !!!
20:17 * kthakore HUGS EVERYONE
20:17 tadzik kthakore: no idea. The tests passed. Should something be displayed?
20:17 tadzik colomon: yes
20:17 kthakore tadzik: yeah a window
20:17 tadzik kthakore: that didn't work, yeah
20:18 kthakore for about sleep(2)
20:18 kthakore oh ...
20:18 * kthakore wants to take hugs back ... but someone will cry
20:18 tadzik where is hugme where you need it
20:18 hugme joined #perl6
20:19 kthakore ok .. wth ...
20:19 tadzik kthakore: I have my /usr/lib64/libSDL.so installed
20:19 tadzik hugme: hug kthakore
20:19 * hugme hugs kthakore
20:19 kthakore 5 mins ago I compiled perl6
20:19 kthakore it worked right after
20:19 kthakore then now it is dead
20:19 lith_ TimToady, would something like that be useful as the irc summary you were thinking about?: http://lith-ology.blogspot.com/2011/06/perl6-2011-06-29.html
20:20 * kthakore pokes the corspe of perl6
20:20 tadzik kthakore: weird
20:20 masak kthakore: you need to compile perl6 every five minutes.
20:20 tadzik kthakore: how does parrot-nqp work?
20:20 moritz kthakore: the compiler installs to parrot_install/bin/perl6
20:20 tadzik masak: but it takes 6 minutes?
20:20 tadzik s/\?//
20:20 masak well, those are the breaks.
20:20 masak we're working on getting it faster. :)
20:20 lith_ woo, just see i got a comment :)
20:20 tadzik :)
20:21 kthakore http://paste.scsys.co.uk/117884
20:21 dukeleto tadzik: woot! i just used panda to install my new module (Algorithm::Soundex)
20:21 kthakore ^^
20:21 kthakore dukeleto: install mines!
20:21 kthakore ppl ... I have exec error
20:21 kthakore ... strace
20:21 lith_ mberends++ is right about collaboration on this
20:22 kthakore tadzik: what .. does that mean? strace ./perl6 &> http://paste.scsys.co.uk/117884
20:23 dukeleto kthakore: which module?
20:23 molaf joined #perl6
20:23 dalek ecosystem: d06a4dc | (Solomon Foster)++ | README:
20:23 dalek ecosystem: Add a sentence telling you how to add modules to the ecosystem.
20:23 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/d06a4dc687
20:24 moritz kthakore: it usually means the shebang line is somehow wrong
20:24 colomon tadzik: should we somehow mark the ecosystem PIONEER file as obsolete?  what about projects.list?
20:24 kthakore dukeleto: https://github.com/PerlGameDev/SDL6
20:25 masak colomon: PIONEER is definitely out-of-date by now.
20:25 tadzik colomon: I think so. I think we can remove projects.list too, since no module installer that uses it works anymore
20:25 tadzik I think
20:25 kaare_ left #perl6
20:26 donri left #perl6
20:26 dalek ecosystem: 2dbcfc3 | (Solomon Foster)++ | / (2 files):
20:26 dalek ecosystem: Delete obsolete files.
20:26 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/2dbcfc3cc3
20:26 colomon Done.
20:27 tadzik kthakore: I have no eye deer
20:27 colomon errr... maybe?
20:27 masak colomon++
20:28 colomon okay, they're gone on github.  just still in my local directory, confusingly enough.  :)
20:28 molaf left #perl6
20:28 kthakore yay ... no parrot no install script "build/gen_parrot.pl": No such file or directory
20:28 kthakore horray
20:28 masak colomon: your git is on backwards :P
20:29 moritz kthakore: your error descriptions are very confusing, because you don't tell use what you did where to get the errors you got
20:29 kthakore moritz: sorry
20:29 kthakore hmm ok
20:29 masak also, you cheer when something goes wrong :)
20:29 dukeleto kthakore: what you be doing, man?
20:30 kthakore dukeleto: Making rakudo compile and install to /usr/local
20:30 kthakore so I can use it to install panda
20:30 moritz so, in a rakudo git checkout, do:
20:30 kthakore I have parrot 3.4 in /usr/local
20:30 kthakore so I have to replace that first no?
20:30 moritz ah
20:30 dukeleto kthakore: rakudo compiles it's own parrot
20:30 dukeleto kthakore: use perl Configure.pl --gen-parrot
20:30 Su-Shee anyone in google+ yet so I can make a perl6 circle? :)
20:30 kthakore dukeleto: I know
20:30 moritz dukeleto: you can tell it to use another one
20:31 kthakore Su-Shee: invite me?
20:31 dukeleto moritz: sure, but that is prone to explosions
20:31 kthakore dukeleto++
20:31 moritz dukeleto: how so?
20:31 tadzik Su-Shee: diaspora maybe? I'm not really to trusty on google having everything
20:31 kthakore especially with NativeCall I noticed
20:31 donri joined #perl6
20:31 donri left #perl6
20:31 kthakore tadzik: diaspora exists?
20:31 donri joined #perl6
20:31 dukeleto moritz: by using a parrot that is not compatible
20:31 tadzik kthakore: yeah, I'm even using that
20:31 Su-Shee kthakore: drop me your mail address into a msg.
20:31 tadzik wanna invite/
20:31 dukeleto kthakore: your SDL6 is not in META.list, so panda doesn't know about it
20:31 moritz dukeleto: no problem if you use the correct version
20:31 kthakore dukeleto: ah ... ok
20:32 dukeleto moritz: that is a big IF
20:32 Su-Shee tadzik: mail -> msg.
20:32 kthakore tadzik: wanna fix that ?
20:32 moritz rakudo 2011.05 + parrot 3.4.0 should go fine together
20:32 tadzik kthakore: fix what, the SDL6 in ecosystem?
20:32 kthakore tadzik: yep
20:32 tadzik Su-Shee: no, I don't wanna Google+. I can help you with getting into diaspora though :)
20:33 kthakore dukeleto: how can I uninstall my /usr/local/bin/parrot 3.4.0
20:34 tadzik kthakore: btw, don
20:34 tadzik 't you need SDL_init before doing anything?
20:35 dukeleto kthakore: rm :) but you will have to rm stuff in /usr/local/lib as well
20:35 Su-Shee tadzik: you'll need an email address?
20:35 tadzik Su-Shee: yeah
20:36 dukeleto kthakore: i always install parrot into my repo directory, so I can rm -rf a single directory
20:36 dukeleto kthakore: https://github.com/leto/Util/blob/master/bin/new_parrot
20:36 molaf joined #perl6
20:37 dukeleto kthakore: make sure you have TEST_JOBS set to use that. I keep meaning to default that variable...
20:38 kthakore tadzik: SDL_Video  calls it if you don't
20:38 kthakore ok
20:38 * kthakore goes to plumbing cleaning
20:38 tadzik I see
20:41 kthakore tadzik: it would be safer you are right though
20:41 kthakore I am lazy and just wanna do this for Util
20:45 * kthakore waits ....
20:46 tadzik oh, oh, I forgot
20:47 dalek ecosystem: 4489a33 | tadzik++ | META.list:
20:47 dalek ecosystem: Add SDL6 from kthakore++
20:47 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/4489a3345b
20:48 kthakore tadzik: :)
20:48 tadzik there we go :)
20:49 kthakore argh ...
20:49 kthakore ok ... now I did ... what you guys said
20:50 kthakore rm'd parrot and rakudo stuff from /usr/local/lib
20:50 kthakore perl6 works
20:50 kthakore but when I use it outside of repo
20:50 kthakore as in sh bootstrap.sh for panda
20:50 * kthakore facepalms
20:51 kthakore runing it second time works
20:51 * tadzik is confused
20:51 kthakore tadzik: me too very very very much
20:51 masak kthakore: you need to always run perl6 twice.
20:51 masak :P
20:51 kthakore looks like
20:51 kthakore panda is doing stuff
20:54 masak I think I will name my next pop song "panda is doing stuff".
20:55 kthakore it works! SDL6 module is dah go
20:56 masak ♪ panda is buying groceries ♪ panda is paying his bills ♪
20:56 masak instant hit.
20:57 cotto masak, are you planning on yapc::eu?
20:57 wamba left #perl6
20:57 masak cotto: yes, very much.
20:57 SHODAN left #perl6
20:58 cotto masak, great.
20:58 masak already working on my presentation system^W^W^W my presentations.
20:58 kthakore tadzik: ping
20:59 sjohnson heh
21:00 Mowah left #perl6
21:01 kthakore LAWL ...
21:01 kthakore parrot did it again
21:02 [Coke] did what?
21:02 tadzik uktpong
21:02 tadzik bleh
21:02 kthakore [Coke]: pasting gimme a sec
21:02 tadzik kthakore: pong
21:03 dukeleto tadzik: can you add a post-commit hook to Module-Starter to announce commits in here?
21:04 cognominal left #perl6
21:04 tadzik dukeleto: sure
21:05 cognominal joined #perl6
21:06 tadzik dukeleto: done
21:06 mj41 left #perl6
21:08 kthakore http://paste.scsys.co.uk/117887
21:08 kthakore [Coke]: ^^
21:09 kthakore tadzik: panda update; panda install SDL; It can't find it
21:09 [Coke] kthakore: which perl6 is running there?
21:09 kthakore [Coke]: brand new
21:10 kthakore installed new rakudo from github repo
21:10 [Coke] ahhh. I think there's even a ticket for that. momentito.
21:10 [Coke] kthakore: I mean, are you sure that that perl6 is the installed copy.
21:10 kthakore ...
21:10 kthakore yes
21:10 [Coke] (and not from the build dir.)
21:10 kthakore what do you mean?
21:10 kthakore how to differenciate that
21:10 [Coke] and I assume you removed the build dir?
21:10 [Coke] do you know what $PATH is?
21:10 kthakore yes
21:11 [Coke] ok. so `which perl6` will tell you which perl6 is getting run (based on your path and whatever caching your shell did.)
21:11 kthakore ok
21:11 kthakore which perl6 is a ln -s to my rakudo repo
21:12 [Coke] or you could just run /usr/local/bin/perl6 just to be sure.
21:12 [Coke] ...so that's the one that's getting run.
21:12 kthakore dukeleto: ^^ ... sigh
21:12 FalseNames joined #perl6
21:12 tadzik kthakore: I'll poke the api to reload the module database
21:12 tadzik it usually does this every hour
21:12 kthakore [Coke]: I just ... undid that cause ... of lameness with that
21:13 [Coke] k.
21:16 kthakore tadzik: [Coke]: apparently I shouldn't use http://github.com/jnthn/zavolaj.git
21:16 kthakore with new rakudo
21:16 kthakore how do I force parrot 3.5
21:16 kthakore for my module?
21:16 bluescreen10 left #perl6
21:16 tadzik I don't think you can
21:17 tadzik panda's not that smart :)
21:17 kthakore dun dun dunnn
21:17 kthakore haha
21:17 kthakore Util: well this is as far as I can go today
21:19 bluescreen10 joined #perl6
21:19 kthakore Util: It works with now with newest rakudo. I will attempt to switch to SDL 1.3 as soon I find time (most likely) end of July. Cheers!
21:20 kthakore tadzik++ dukeleto++ [Coke]++ masak++ moritz++
21:20 * kthakore plays this was a thriump
21:20 kthakore oh also
21:20 kthakore ln -s trick TimToady++
21:20 masak kthakore: this was a triumph. I'm being so sincere right now. :)
21:21 masak oh wait. that's not it.
21:21 kthakore hey it makes the window
21:21 kthakore so
21:21 kthakore :D
21:21 masak I'm making a note here: "huge success". :)
21:21 tadzik I'm making a note, he... masak++
21:21 kthakore tadzik: run it again without http://github.com/jnthn/zavolaj.git
21:21 kthakore It's hard to overstate my satisfaction.
21:21 tadzik kthakore: how am I supposed to remove that?
21:21 kthakore Perl6 http://github.com/jnthn/zavolaj.git
21:21 kthakore tadzik: remove that in your lib
21:21 masak kthakore: http://strangelyconsistent.org/blog/im-doing-science-and-im-still-alive :)
21:21 kthakore tadzik: run again
21:21 kthakore should work
21:22 tadzik hmm
21:22 kthakore Perl6 We do what we must because we can
21:22 kthakore masak: creative liberties
21:22 kthakore :D
21:22 masak :D
21:22 masak I like.
21:22 tadzik Unable to find module 'NativeCall' in the @*INC directories.
21:22 kthakore It works too
21:22 kthakore tadzik: parrot 3.5?
21:22 tadzik dunno
21:22 masak Perl 6: Junctional Science.
21:23 tadzik This is Parrot version 3.5.0-devel built for amd64-linux.
21:23 kthakore masak++
21:23 kthakore tadzik: wt...
21:23 tadzik I call that quantum-typing :)
21:23 masak my S/N ratio tonight is terrible. :)
21:23 kthakore tadzik: go bug colomon
21:23 masak I think I used up all my signal ranting at TimToady... :)
21:23 tadzik https://joindiaspora.com/status_messages/277903 -- is that visible for the outside world?
21:24 flussence nope
21:24 kthakore slow link is slllloooow
21:24 tadzik gah, SNR again
21:24 tadzik dang
21:24 colomon go bug colomon what?
21:24 tadzik rakudo: class Cat { has $.alive }; my $a = any(Cat.new(alive => 1), Cat.new(alive => 0)); say $a.alive
21:24 p6eval rakudo 1fcb14: OUTPUT«any(1, 0)␤»
21:24 tadzik that's quantum tping
21:25 masak whoa
21:25 kthakore rakudo: use NativeCall;
21:25 p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Unable to find module 'NativeCall' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p1/lib/parrot/3.5.0-devel/languages/perl6/lib␤  .)␤»
21:25 kthakore :(
21:25 tadzik star: use NativeCall; say 'f'
21:25 kthakore I dunno anymore
21:25 p6eval star 2011.04: OUTPUT«f␤»
21:26 antony_ joined #perl6
21:26 antony_ rakudo: for =$fh {say}
21:26 p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Confused at line 22, near "for =$fh {"␤»
21:27 antony_ perl6: for =$fh {say}
21:27 masak antony_: 'for lines() { .say }'
21:27 p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Confused at line 22, near "for =$fh {"␤»
21:27 p6eval ..pugs: OUTPUT«*** ␤    Unexpected " {"␤    expecting "::"␤    Variable "$fh" requires predeclaration or explicit package name␤    at /tmp/AC0qVCgkd4 line 1, column 9␤»
21:27 p6eval ..niecza v7-11-g9ba8284: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Preceding context expects a term, but found infix = instead at /tmp/Iik0b_Maax line 1:␤------> [32mfor [33m⏏[31m=$fh {say}[0m␤␤Parse failed␤␤»
21:27 [Coke] masak: have you played portal 2 yet?
21:27 masak [Coke]: haven't played portal 1 yet :/
21:27 [Coke] some great lines in there, too.
21:28 antony_ masak: is "=$fh" not implemented yet?
21:28 [Coke] masak:ZOMG
21:28 tadzik std: for =$fh {.say}
21:28 masak [Coke]: yeah, I'm behind.
21:28 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix = instead at /tmp/o5LA98jkvn line 1:␤------> [32mfor [33m⏏[31m=$fh {.say}[0m␤Parse failed␤FAILED 00:01 119m␤»
21:28 tadzik antony_: I don't think it's legal
21:28 antony_ ?
21:28 masak antony_: prefix:<=> is dead, long live .get and .lines
21:28 colomon antony_: =$fh is obsolete
21:28 masak antony_: since 2009.
21:28 masak antony_: welcome back :D
21:28 bluescreen100 joined #perl6
21:28 [Coke] masak: "you're a terrible person. It says it right here. we weren't even TESTING for that."
21:28 antony_ ook
21:28 colomon antony_: $fh.lines() is the current syntax.  :)
21:28 antony_ thanks
21:29 masak [Coke]: no spoilers :)
21:29 antony_ online docs are confusing :p
21:29 flussence rakudo: sub prefix:<=>($fh) { $fh.lines }; for =$*IN { say }
21:29 masak antony_: we'll fix them -- where are they?
21:29 p6eval rakudo 1fcb14: OUTPUT«␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤»
21:29 flussence s/{ /{ ./
21:29 tadzik rakudo: sub prefix:<=>($fh) { $fh.lines }; for =$*IN { .say }
21:29 p6eval rakudo 1fcb14: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdteil du inmi…
21:29 masak \o/
21:30 antony_ e.g. on learningperl6.com (not necessarily the official docs, I mean)
21:30 antony_ (not your fault)
21:31 masak no, but we still feel responsible...
21:31 flussence maybe prefix:<=> should be one of those things std complains about
21:31 kthakore wtf ..
21:31 kthakore is ... ...
21:32 lichtkind thou: ping
21:32 thou lichtkind: hi
21:38 antony_ any reason why =$fh was removed?
21:38 masak yes. :)
21:38 flussence it's unreadable
21:38 masak it clashed with infix:<=>
21:39 masak it had unworkable iterator semantics.
21:39 flussence and it looks like spreadsheet code :)
21:39 masak actually, in retrospect it was probably just the list/item context that was bugging us.
21:40 masak turns out you can't have both list/item context polymorphism and MMD in the same language :)
21:40 masak and we kinda like our MMD.
21:41 antony_ [I'm new in perl... coming from a python perspective]
21:41 masak ooh!
21:41 antony_ [first I tried perl 5 but I could not bend my brain around the context rules]
21:41 antony_ [so I decided to take the lazy approach]
21:41 masak then you'll like the absence of them in Perl 6 :)
21:41 antony_ [lazy is the word, indeed :p]
21:42 masak blog post! http://strangelyconsistent.org/blog/june-23-map-and-grep
21:42 antony_ more precisely I needed a function that would take hashes of hashes as argument (my easy way to implement a tree)
21:42 Psyche^ joined #perl6
21:42 antony_ sorry
21:42 antony_ *references* of hashes of hashes
21:43 masak sure.
21:43 masak let's see what we can do. hold on.
21:43 antony_ (now it's just fine)
21:45 Patterner left #perl6
21:45 Psyche^ is now known as Patterner
21:46 antony_ sub add_node(%node, @list, $value) {return unless @list; my $head = @list.shift; %node{$head} ||= {}; if !@list {%node{$head} = $value} else {add_node(%node{$head}, @list, $value)}}
21:46 antony_ how do I do that in perl5?
21:46 antony_ more precisely, how can I understand where to put $/%/@?
21:47 antony_ (or I can just stick to 6)
21:47 antony_ (or go back to my python version, haha :-))
21:48 masak rakudo: sub traverse(%h, &c) { for %h.pairs { say "Entering $_.key()"; given .value { when Associative { traverse($_, &c) }; default { c($_) } }; say "Leaving $_.key()" } }; traverse { foo => { bar => 1, baz => 2, floop => { hah => 3 } }, quux => 4 }, &say
21:48 p6eval rakudo 1fcb14: OUTPUT«Entering foo␤Entering bar␤1␤Leaving bar␤Entering baz␤2␤Leaving baz␤Entering floop␤Entering hah␤3␤Leaving hah␤Leaving floop␤Leaving foo␤Entering quux␤4␤Leaving quux␤»
21:48 dalek nqp: e00bafe | pmichaud++ | src/HLL/Grammar.pm:
21:48 dalek nqp: Avoid PMCNULL error when converting non-existent hash element to string.
21:48 dalek nqp: review: https://github.com/perl6/nqp/commit/e00bafee83
21:48 dalek nqp: 6d9b526 | pmichaud++ | src/ (2 files):
21:48 dalek nqp: Add --rxtrace option, temporarily disable .lineof calculation for now.
21:48 dalek nqp: review: https://github.com/perl6/nqp/commit/6d9b526e45
21:48 masak antony_: sorry, I went away to write that. reading what you wrote now.
21:49 antony_ I'm adding a leaf
21:49 antony_ at node specified by @list
21:49 masak I'd use a class for Node.
21:49 antony_ in the tree rooted at %node
21:49 masak then it's easy.
21:50 masak rakudo: class Node { has @.children is rw }; my $n = Node.new(:children(1, 2, 3)); $n.children.push(4); say $n.children.perl
21:50 p6eval rakudo 1fcb14: OUTPUT«[1, 2, 3, 4]␤»
21:51 colomon http://rosettacode.org/wiki/Bitmap/B%C3%A9zier_curves/Quadratic
21:51 antony_ I want internal nodes to be labeled too (I know that's easy, an extra field in Node should do the trick)
21:52 masak rakudo: class Node { has $.label; has @.children is rw }; my $n = Node.new(:label("OH HAI")); say $n.label
21:52 p6eval rakudo 1fcb14: OUTPUT«OH HAI␤»
21:53 antony_ thanks
21:53 masak np
21:53 antony_ trying to read perl5 doc is like, eeerk. trying to read perl6 doc is like, wow, I may actually want to learn this :p
21:55 masak cool.
21:55 antony_ coming back to lines
21:56 antony_ for $fh.lines(nl => ";")  that should, well, read until next ";" and put that in $_ (and loop) ?
21:57 antony_ (want to parse free form code, with logical lines delimited, well, by ";" and not by \n)
21:57 antony_ (because for me it still seems to break lines at "\n")
21:58 masak according to S32/IO you should set $fh.input-line-separator = ";"
21:58 arnsholt If your parsing code you might want to use grammars instead, though
21:58 antony_ what's nl good for then?
21:58 arnsholt s/your/you're/
21:59 masak antony_: good question. I had not seen it before.
22:00 masak antony_: either it overrides the .input-line-separator setting, or (more likely) it should go away.
22:00 antony_ in S32/IO
22:00 antony_ method lines ($handle:
22:00 antony_ ...
22:00 antony_ Any  :$nl = "\n",
22:00 colomon antony_: lines in rakudo definitely doesn't have the ability to change the separator.
22:00 antony_ that looked pretty obvious to me when I first read it
22:01 benabik Being able to specify the line ending when calling lines() seems handy to me.
22:01 benabik Far more intuitive than using .input-line-separator
22:01 colomon and more local, too.
22:01 benabik local++
22:01 benabik plusplus++
22:02 lith_ left #perl6
22:03 masak the people have spoken :)
22:03 masak I don't like that they are called different things, though.
22:03 antony_ Method 'input-line-separator' not found for invocant of class 'IO'
22:03 antony_ not over with trouble yet :p
22:04 masak oh, NYI. I forgot to mention that.
22:05 colomon of course, maybe the argument against having lines all different separators is that it is pretty trivial to implement using comb or split....
22:05 pmichaud > say [+] 5, 10, 12
22:05 pmichaud 27
22:06 antony_ colomon > not when your file is huge
22:06 impious left #perl6
22:07 antony_ at least rakudo seems to rather dislike me s///'ing a 200000 character string in one go
22:07 antony_ (which I find surprising by the way)
22:07 colomon antony_: yes, we were just discussing that drawback
22:07 benabik We need a lazy version of slurp.
22:07 antony_ lol
22:07 antony_ I was quite surprised actually
22:08 antony_ as I managed to make this part work in perl5 with little trouble (probably the only one I managed to :p)
22:09 antony_ so what's the best way for me currently to do that?
22:09 Rotwang left #perl6
22:11 antony_ and also, talking about NYIness
22:11 arnsholt Grammars should be good bet, or perhaps split as colomon suggested (instead of s///)
22:11 colomon arnsholt: it doesn't solve the "everything in memory at once" issue
22:12 antony_ is there a place where what's available in rakudo is explicitely specified?
22:12 antony_ (I'll try the split version)
22:12 colomon antony_: the source code, alas.
22:12 pmichaud imagine trying to document every feature that might be implemented :)
22:12 colomon antony_: there's a list somewhere or other, but I seem to recall it's not terribly up-to-date
22:12 pmichaud it's not exactly easy to do.
22:13 arnsholt colomon: Yeah, there is that. But hopefully Grammar.parse has less overhead =)
22:13 antony_ sure, I understand that
22:14 antony_ (it's just a pain for a beginner when you don't know whether you made a mistake, whether the feature is not implemented, or... something else)
22:14 colomon antony_: the good news is, you can ask here and get an answer pretty quickly usually.
22:14 antony_ yeah
22:14 antony_ I was quite surprised at the niceness of the people there :p
22:17 antony_ global s// (~200000 chars) and splitting around ";" => 20s; splitting (~1500 lines) and s// on each line => 15s
22:17 PerlJam antony_: watch out for random hugs! :)
22:17 antony_ better
22:17 antony_ but still slow
22:17 whiteknight joined #perl6
22:19 zby_home joined #perl6
22:21 estrabd left #perl6
22:23 Util From the sidebar on http://pugs.blogs.com/
22:23 Util http://www.cs.ubc.ca/local/reading/proceedings/spe91-95/spe/vol25/issue12/spe986.pdf
22:23 thundergnat joined #perl6
22:24 pmichaud I get a 404 on that url.
22:24 Util Instead: http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=181EEF66EB411F4277C009A1D492CF75?doi=10.1.1.14.9450&amp;rep=rep1&amp;type=pdf
22:24 pmichaud (including when following it from pugs.blogs.com)
22:25 Util [Ropes: An alternative to Strings]
22:25 thundergnat perl6: my %a = <a 1>; say %.perl; %a = %a; say %a.perl; # Known problem in Rakudo?
22:25 p6eval rakudo 1fcb14: OUTPUT«Null PMC access in find_method('perl')␤  in main program body at line 22:/tmp/jW7emNEP8W␤»
22:25 p6eval ..pugs: OUTPUT«*** Undeclared variable: ("$__SELF__",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0x7f07a2e84079>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0x7f07a2e85bc9>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto =…
22:25 p6eval ..niecza v7-11-g9ba8284: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Variable %.perl used where no 'self' is available at /tmp/f4vq3n4wlL line 1:␤------> [32mmy %a = <a 1>; say [33m⏏[31m%.perl; %a = %a; say %a.perl; # Known pr[0m␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza…
22:25 masak ropes are a nice implementation of strings.
22:25 thundergnat oops
22:25 drbean joined #perl6
22:25 thundergnat perl6: my %a = <a 1>; say %a.perl; %a = %a; say %a.perl; # Known problem in Rakudo?
22:26 p6eval pugs: OUTPUT«{("a" => "1"),}␤{("a" => "1"),}␤»
22:26 p6eval ..niecza v7-11-g9ba8284: OUTPUT«{"a" => "1"}.hash␤{"a" => "1"}.hash␤»
22:26 p6eval ..rakudo 1fcb14: OUTPUT«{"a" => "1"}␤{}␤»
22:26 masak thundergnat: yes, known.
22:26 masak and RT'd.
22:26 thundergnat Ah
22:26 pmichaud nom:  my %a = <a 1>;  say $a.perl;  %a = %a;  say %a.perl;
22:26 p6eval nom: OUTPUT«Symbol '$a' not predeclared in <anonymous>␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (compilers/pct/src/PCT/HLLCompiler.pir:107)␤»
22:26 pmichaud nom:  my %a = <a 1>;  say %a.perl;  %a = %a;  say %a.perl;
22:26 p6eval nom: OUTPUT«('a' => '1').hash␤().hash␤»
22:26 pmichaud hmmmm
22:26 bitpart joined #perl6
22:26 pmichaud is it in the spectests yet?
22:27 masak thundergnat: http://rt.perl.org/rt3/Ticket/Display.html?id=77586
22:28 thundergnat Filed by masak. What a suprise ;-)
22:29 masak I believe an application dug it up :)
22:29 thou left #perl6
22:29 masak pmichaud: if it is, it wasn't registered in the ticket.
22:30 thundergnat I was adding a  hash to an existing one  and was puzzled at the results.
22:32 masak I think I was grepping a hash an re-assigning.
22:32 colomon I'm having a brain fart.  How do you make a Pair with two Ints?
22:33 benabik In p5 (2 ,=> 1) works.  :-D
22:33 colomon benabik: not helpful.  :p
22:36 thou joined #perl6
22:37 Vlavv left #perl6
22:40 pmichaud rakudo:  say [**] 2, 1
22:40 p6eval rakudo 1fcb14: OUTPUT«2␤»
22:40 pmichaud rakudo:  say [**] 2, 1, 3
22:40 p6eval rakudo 1fcb14: OUTPUT«2␤»
22:41 benabik 2 ** (1 ** 3)?
22:41 pmichaud yes, rakudo gets it right... I can't figure out why it gets it right.
22:42 Vlavv joined #perl6
22:42 colomon hmm?  we check the assoc of the operator
22:42 pmichaud yes, I know that much.
22:42 pmichaud so, $rassoc is set
22:43 pmichaud er, $right-assoc is set
22:43 pmichaud which means that $list becomes   @args.reverse
22:43 pmichaud okay, I see.
22:43 pmichaud I was reading $op($next, $result) backwards
22:46 masak 'night, #perl6.
22:46 colomon \o
22:46 masak left #perl6
22:48 zby_home__ joined #perl6
22:50 zby_home left #perl6
22:50 bitpart left #perl6
22:51 Util soh_cah_toa: Don't let the beer snobs get you down: http://xkcd.com/915/
22:51 slavik1 anyone know why I am not able to load .pir modules in rakudo star 2011.04? do I need to install some .pm type modules that link to .pir?
22:53 mtk left #perl6
22:55 dukeleto slavik1: nopaste the error that you are getting
22:55 dukeleto slavik1: no one can help you without knowing exactly what you are executing and the full error output
23:03 [particle] left #perl6
23:05 [particle] joined #perl6
23:07 drbean left #perl6
23:10 alester left #perl6
23:12 envi joined #perl6
23:15 icwiener left #perl6
23:17 Tanktalus left #perl6
23:21 jferrero left #perl6
23:21 zby_home__ left #perl6
23:24 zby_home_ joined #perl6
23:27 Chillance joined #perl6
23:29 orafu left #perl6
23:29 orafu joined #perl6
23:41 dalek rakudo/nom: a413eb1 | pmichaud++ | src/core/List.pm:
23:41 dalek rakudo/nom: Fix List.reverse.
23:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a413eb145b
23:41 dalek rakudo/nom: df9d49b | pmichaud++ | / (3 files):
23:41 dalek rakudo/nom: Add reduction metaops for triangle and right associative operators.
23:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df9d49b952
23:41 dalek rakudo/nom: a854856 | pmichaud++ | / (2 files):
23:41 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
23:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a854856e40
23:42 zby_home_ left #perl6
23:44 Util kthakore: I cannot get zavolaj to work on my Darwin laptop (and neither can Colomon), but I will try it on Linux when I get home. Thanks again!
23:44 kthakore Util: no problem. I will work on it as soon as I can get some time
23:46 aindilis joined #perl6
23:46 colomon left #perl6
23:47 benabik left #perl6
23:47 molaf_ joined #perl6
23:47 soh_cah_toa left #perl6
23:50 molaf left #perl6
23:51 cotto left #perl6
23:54 FalseNames left #perl6
23:55 dalek rakudo/nom: 0a8368a | pmichaud++ | src/core/metaops.pm:
23:55 dalek rakudo/nom: Let the triangle reduction op handle infinite lists, somewhat.
23:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0a8368a8b9
23:58 pmichaud nom:  my @a = [\+] 1..*; say @a[^20];
23:59 p6eval nom: OUTPUT«(timeout)»
23:59 pmichaud nom:  my @a = [\+] 1..*; say @a[^5];
23:59 p6eval nom: OUTPUT«(timeout)»
23:59 pmichaud hmmm

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo