»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
perlhack sorry I only know a little English. lithos 00:00
i am a Chinese person 00:01
00:02 thundergnat joined
lithos -> sleep 00:03
if someone wants to comment: i'll read the logs :)
thundergnat p6eval: my @a = <a b c>; say 'a' ~~ m/@a/;
00:03 molaf joined
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…
..niecza v7-11-g9ba8284: OUTPUT«Bool::False␤»
..rakudo 1fcb14: OUTPUT«␤»
00:05 lithos left
sorear the correct answer is True 00:05
well, 'a'
thundergnat Hmm. NYI in Rakudo I guess.
perlhack the correct answer is True
hm....
what mean "NYI"
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...
perkhack: Not Yet Implemented
perlhack Oh i see
prettiest girls
i like it 00:07
very like
Hey Hey
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
sorear donri: I can't tell. 00:13
thundergnat FWIW, the file t/S05-metasyntax/litvar.t (github.com/perl6/roast/blob/master.../litvar.t) should probably be added to rakudo/t/spectest.data (github.com/rakudo/rakudo/blob/mast...est.data). I'd do it but I don't have a commit bit for Rakudo.
sorear donri: I asked perlhack for the Chinese version but didn't get it.
thundergnat Will need some fudging. Bunch of tests don't pass locally. 00:14
perlhack Me ????
哈哈 Sometimes I don't understant you talk
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?
perlhack: and "Which country more than the pretty girl..."? 00:16
perlhack Yes
prettitest girl ....
....
sorear #perl6: How does qx/.../ know whether to return a list or a single string? 00:17
perlhack The most prettiest girl
flussence qx can return a list? didn't know that.
donri perlhack: sorear is asking you to say it in chinese
perlhack 哪个国家美女最多啊 00:18
hm... 00:19
ask sb to do sth.... 00:20
sorear cannot say
perlhack why???
flussence the spec doesn't say a lot about qx
perlhack why cannot say with sorear? 00:21
why not say Sorear? 00:22
sorear I don't really pay attention.
flussence: I notice. 00:23
so I'll do the next best thing and copy Rakudo :>
perlhack 哈哈 00:24
should to pay attention
00:24 ananamoose left
perlhack should pay attention 00:25
should pay attention prettiest girl. 00:26
i have to go now...sorry all... 00:31
i hope to talk soon...
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
*it's
00:45 perlhack left 00:49 Moukeddar left 00:57 cotto left 01:06 donri left
sorear studying the Perl 5 / Win32 system() implementation... it's quite ugly :( 01:13
01:14 benabik_ joined 01:15 colomon joined
sorear o/ colomon 01:15
01:16 cotto joined
colomon \o 01:16
bunch of us just got back from dinner. :)
01:22 woosley joined, benabik left, benabik_ is now known as benabik 01:25 pernatiy joined 01:27 colomon left, cotto left 01:29 xinming left 01:31 colomon joined 01:32 soh_cah_toa joined
colomon btw, the full set of trig tests now runs in one minute, two seconds on my MacBook Pro. (One thread only.) 01:37
01:38 whiteknight left, ZaphrodZenovka joined 01:39 cotto joined 01:42 thundergnat left
sorear colomon: you said you were going to do something with niecza during my absense 01:44
colomon I'm still hoping to tackle the trig functions sometime soon, yes. 01:45
ggoebel sorear: another rename suggestion... snap
sorear "snap"?
ggoebel sounds fast
also a common explitive 01:46
though I'm still partial to shebang
01:46 cooper left, cooper joined
ggoebel www.urbandictionary.com/define.php?...=aw%20snap 01:46
www.urbandictionary.com/define.php?term=shebang 01:47
<back to lurking>
01:51 envi joined
sorear colomon: cool 01:51
01:56 colomon left
TimToady ooh, finally got back online; the networks here can be brutal... 01:56
02:02 ananamoose joined 02:03 colomon joined 02:06 ccc joined
colomon jnthn: ping? 02:07
[Coke] stares at errors in nom's 'make tst' 02:09
*test
02:09 colomon_ joined
[Coke] nom: say "you htere?" 02:10
p6eval nom: OUTPUT«you htere?␤»
[Coke] nom: try { die "foo"}; print $!; say $!
p6eval nom: OUTPUT«Exception<52222680>Exception<52222680>␤»
02:11 araujo left
[Coke] (ah. needs to be on same line in REPL or it blows up in a different fashion) 02:11
02:12 colomon left, colomon_ is now known as colomon, ccc left
[Coke] so, at least some test failures because $! isn't comparing with eq. 02:13
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
[Coke] aye. 02:15
hurm. there is no src/core/Exception in master.... 02:17
colomon I've just been looking for LHF in nom...
Is that moritz++'s new stuff?
[Coke] ah, there it is.
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␤»
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␤»
TimToady pugs: macro assert ($x) { "$x or die 'assertion failed: $x'" }; assert(1==0);
p6eval pugs: OUTPUT«*** No such subroutine: "&or"␤ at MACRO { "/tmp/hkOebEBs_A" (line 1, column 71) } line 1, column 2 - line 2, column 1␤»
TimToady pugs: macro assert ($x) { "$x or die 'assertion failed: $x' }; assert('1==0'); 02:24
sorear starting processes on .net is completely insane
p6eval pugs: OUTPUT«*** ␤ Unexpected end of input␤ expecting block, "\\", variable name or "\""␤ at /tmp/fjfFZysOU5 line 2, column 1␤»
TimToady pugs: macro assert ($x) { "$x or die 'assertion failed: $x'" }; assert('1==0');
p6eval pugs: OUTPUT«*** assertion failed: 1==0␤ at MACRO { "/tmp/RePoHhFZrk" (line 1, column 73) } line 1, column 1 - line 2, column 1␤»
sorear it's like Windows, with all the added benefit of "ok, I can make cmd.exe work, what about sh?"
I think I'll just make qx[] require POSIX
TimToady: What is my @x = qx[ls] supposed to do? 02:25
TimToady we don't have that kind of context now, so either it's automatically lines, or it's a slurp 02:27
I don't see how we can have it both easily
sorear which should it be, a slurp?
TimToady if it's lines, there is the potential to be lazy 02:28
so I'm inclined to call it lines, and if you assign to $x you get an arrayref
sorear with something as expensive as processes, laziness would bother me
02:28 cotto joined
TimToady not lazy about starting it, it's just an incoming pipe 02:28
my @yes := qx[yes]; # infinite list 02:30
rakudo: my @yes := qx[yes]; say @yes[10];
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␤»
TimToady aw 02:31
not lazy in rakudo though
02:32 ananamoose left
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
and the GC can't see the kernel resources
TimToady well, yes, so?
you're already in that realm of inefficiency with any shell scripting
[Coke] how to do pir's $P1['foo'] in nqp?
sorear this feels like the kind of gun that automatically aims itself at your feet 02:34
[Coke]: $obj<foo>, approximately
$obj<foo> excactly, actually 02:35
[Coke] any notes on how to work on changing things in the setting (since building the setting is so slow) 02:37
sorear test them outside the setting first 02:38
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 02:43 daniel-s left 02:44 daniel-s joined
lichtkind good night 02:45
daniel-s Night
02:45 lichtkind left, soh_cah_toa left
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
p6eval rakudo 1fcb14: OUTPUT«-0.54402111088937␤»
colomon \o/
TimToady 10 sins against the 10 commandments...
colomon prefers the 12 apostles (warning: obscure Newfoundland song joke) 02:47
TimToady you should warn me beforehand, not after :)
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
colomon it's an object 02:48
rakudo: say 10.WHAT
p6eval rakudo 1fcb14: OUTPUT«Int()␤»
TimToady rakudo: say 10.WHICH
p6eval rakudo 1fcb14: OUTPUT«10␤»
colomon rakudo: say 10.WHY
p6eval rakudo 1fcb14: OUTPUT«Method 'WHY' not found for invocant of class 'Int'␤ in main program body at line 22:/tmp/OVMIK6RvVo␤»
daniel-s Rakudo: say 10.5.what
TimToady r 02:49
colomon daniel-s: needs to be lowercase r
rakudo:
TimToady to get a R rat
daniel-s rakudo: say 10.5.what
p6eval rakudo 1fcb14: OUTPUT«Method 'what' not found for invocant of class 'Rat'␤ in main program body at line 22:/tmp/NpTKsqsbjM␤»
TimToady and uc WHAT
colomon it's a very case-sensitive language 02:50
TimToady sometimes
02:50 xinming joined
TimToady rakudo: say 10.WHERE 02:50
p6eval rakudo 1fcb14: OUTPUT«31808400␤»
TimToady rakudo: say 10.WHERE == 10.WHERE 02:51
p6eval rakudo 1fcb14: OUTPUT«Bool::False␤»
daniel-s rakudo: 10.5.WHAT.say
p6eval rakudo 1fcb14: OUTPUT«Rat()␤»
TimToady well...at least if someone accidentally changes one 10, they won't change them all...
daniel-s I like the 10.say instead of say 10 02:52
Is it bad to again alot of those
*to chain 02:53
TimToady it's all very bad :P
colomon rakudo: say 10i.sin 02:54
TimToady but all the alternatives are very, very bad :)
p6eval rakudo 1fcb14: OUTPUT«0 + 11013.2328747034i␤»
daniel-s Ok, so least badest
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
sorear TimToady: mostly eager assignment makes me feel a little better about it 03:09
though now I'm worrying about how much code will break if qx[] !~~ Str 03:10
sorear thinks about Cats
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
TimToady they're naturally sort of ropes
colomon is this something like fiddle strings? 03:13
03:13 benabik left
TimToady those are side by side, and only made of catgut 03:14
03:14 benabik joined
TimToady which is normally something more like sheepgut 03:14
but a violin sounds more like a cat than a sheep 03:15
03:15 cotto joined
TimToady remembers playing on catgut strings when he was young, as wasn't very impressed with them.. 03:16
*and
sorear I always thought musical strings were made of steel 03:18
TimToady high ones tend to be steel
03:18 benabik left
TimToady fatter strings tend to be synthetic fiber wound with steel 03:19
I once had a set of gold-plated strings...
they're a bit brighter (in sound) and also more impervious to sweat 03:20
so they don't go false as fast
03:23 Su-Shee_ joined
sorear If we don't get Cat, how does <cut> make sense? 03:24
03:25 Garda joined, george_z0rwell left
TimToady are you suggesting there shouldn't be dependencies among NYIs? :) 03:27
03:27 Su-Shee left
TimToady though presumably you could use <cut> on a normal string too 03:27
03:30 _jaldhar_ joined
sorear TimToady: I thought you were speculating de-planning Cat 03:30
I wonder if Perl 6 could have $x ~= 'a' until length($x) == 1_000_000 as efficient as Perl 5 03:31
TimToady well, mainly you have to extend the string by an relative size, not a fixed size 03:34
that is, of course, a silly way to get a string of a million a's 03:35
03:36 am0c left
TimToady when 'a' x 1_000_000 can just pre-extend the whole thing 03:36
but I understand it's representing a more general case
03:37 dukeleto joined
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
03:37 daniel-s left
TimToady for some mallocs you can guess really big and then give some of the extra back 03:38
dukeleto colomon: is projects.list dead? How do I properly get a module on modules.perl6.org ? 03:39
03:40 benabik joined
colomon dukeleto: we've got to change one of the lists in the ecosystem. only problem is I'm not sure which one... 03:40
dukeleto colomon: let's make a decision and ask for forgiveness 03:44
colomon give me a moment to look at the commits list 03:45
03:46 benabik left
colomon I'm thinking we should try adding it to META.list and see what happens 03:47
what's your URL for it?
dukeleto colomon: i will add it to META.list now, i think I have a commit bit
[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.
colomon okay. I've got one if you don't.
03:48 benabik joined, thou joined 03:49 am0c joined
dalek osystem: 27009f6 | dukeleto++ | META.list:
Add Algorithm::Soundex
03:50
03:53 am0c left
dukeleto woot! 03:54
colomon dukeleto++
[Coke] does my $ex := nqp::create(Exception); 03:57
create a Parrot Exception ?
04:03 perlhack joined, perlhack left 04:04 perlhack joined 04:05 perlhack left 04:06 perlhack joined
perlhack i again come to here. 04:06
*IN LOVE*
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
sorear TimToady: Perl 6... creates 1 million garbage string objects, and with ropes will probably generate 50-100MB of garbarge 04:08
TimToady: without ropes it's 0.5TB :/
perlhack hi all//////// 04:09
04:09 satyavvd joined
perlhack hello everybody. 04:10
[:-}
I got home.
sorear : what time is it ? 04:11
dukeleto the modules.perl6.org repo needs some docs 04:13
04:14 benabik left
perlhack what mean "repo" 04:14
dukeleto
dukeleto perlhack: repository
perlhack: git repository
perlhack thanks 04:15
i am a Chinese person.
i only know a little English..
dukeleto perlhack: welcome! Your english is better than my Chinese :)
perlhack 􏿽xB9􏿽xFE􏿽xB9􏿽xFE
*JOKINGLY*thanks
dukeleto colomon: seems like modules.perl6.org would be better off using github pages 04:16
colomon +1
dukeleto colomon: the script just generated an index.html, but seemingly somebody has to copy that somewhere?
perlhack I was learn Egnlish,yestorday 04:17
dukeleto colomon: seems complicated and hence why people aren't updating modules.perl6.org
sorear 21:15 < perlhack> ����
perlhack: your Chinese text was coming through fine yesterday
perlhack oh no
Yestorday 􏿽xA3􏿽xACI bagan to learn English. 04:18
sorear hmm, seems gb18030 today 04:19
perlhack hmmmmmm
oh !!!haha
sorear this channel uses utf8
perlhack yes.i see
dalek href="https://modules.perl6.org:">modules.perl6.org: e49bafd | dukeleto++ | / (2 files):
Add a Build.PL that tracks deps of the scripts in the repo
href="https://modules.perl6.org:">modules.perl6.org: a58f4b1 | dukeleto++ | README (2 files):
Convert the README to markdown
04:20 colomon left 04:21 benabik joined, sjohnson joined 04:22 colomon joined
perlhack Everyone in the use of which client IRC? 04:24
04:24 Reaganomicon joined
dalek href="https://modules.perl6.org/gh-pages:">modules.perl6.org/gh-pages: 20fc44e | dukeleto++ | / (36 files):
Attempt to use github pages
04:25
href="https://modules.perl6.org:">modules.perl6.org: 2ebcd1f | dukeleto++ | .gitignore:
Add a .gitignore
dukeleto perlhack: i use weechat, a modern fork of irssi
sorear dukeleto: I'll have to check that out 04:26
04:26 jimmy_ joined, jimmy_ is now known as JimmyZ
TimToady rosettacode.org/wiki/Huffman_coding#Perl_6 04:26
benabik perlhack: Colloquy, a nice OS X client.
perlhack weechat Good use ? 04:27
dukeleto perlhack: weechat.org
perlhack oh thanks for everybody
dukeleto perlhack: well, i like it enough to use it. I used to use irssi. It is a textual client, not graphical
perlhack I now use of also. 04:28
I like command terminal.
Thanks for everybody help me 04:29
dukeleto check it out! perl6.github.com/modules.perl6.org/ 04:30
msg colomon perl6.github.com/modules.perl6.org/
tell colomon perl6.github.com/modules.perl6.org/
dukeleto forgets how to msg people in #perl6 04:31
perlhack You do not use Windows system ?
colomon dukeleto++
TimToady use phenny: tell
dukeleto TimToady++
perlhack I want to use client irc for
Windows system.
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
colomon: then the website will auto-update after each commit
04:33 cotto left
perlhack *DRINK* 04:33
dalek href="https://modules.perl6.org/gh-pages:">modules.perl6.org/gh-pages: 1683562 | dukeleto++ | CNAME:
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
perlhack :-[
What time can perl 6 officially coming out? 04:36
JimmyZ perlhack: don't ask, just use it.
perlhack China perl work less. 04:37
JimmyZ perlhack: I'd say, don't ask it everyday.
perlhack oh
colomon dukeleto++
perlhack JimmyZ :how do you learn English? 04:39
you can introduce me to text-mode IRC chat? 04:42
04:46 perlhack left, slavik1 joined
pmichaud 03:57 <[Coke]> does my $ex := nqp::create(Exception); 04:46
03:57 <[Coke]> create a Parrot Exception ?
04:46 cotto joined
pmichaud It creates a Rakudo/Perl 6 Exception. 04:46
slavik1 so, rakudo doesn't use PERL6LIB?
04:46 JimmyZ left
jnthn pmichaud: Presumably that's calling repr_create? 04:48
pmichaud jnthn: yes, exactly. 04:49
slavik1 question on blizkost, does it actually copy stuff to system wide directories?
jnthn pmichaud: OK, good.
pmichaud there's not an nqp:: opcode to create Parrot objects; that's still the domain of pir::new
jnthn hopes nobody tries nqp::create('foo') :-) 04:50
04:52 cotto left
jnthn slavik1: My guess is that make install of blizkost copies to whatever installation paths your Parrot is using. 04:53
slavik1: So if it's a "system wide" Parrot then it will. Otherwise, not.
slavik1 jnthn: because I don't want to run make install for rakudo
ok, cool
so it should be contained
dalek kudo/nom: 28b06a2 | pmichaud++ | src/core/Exception.pm:
Add Exception.Str, noted by Coke++.
04:54
jnthn slavik1: Well, as contained as your Parrot is. That's the case for Rakudo too...
slavik1 jnthn: I am doing -gen-parrot when running perl configure.pl
and keeping it there
04:55 noganex_ joined 04:58 noganex left, perlhack joined
jnthn colomon: pong, if you're still about :) 04:59
perlhack pong ....
i again come to here .Hey hey.. 05:01
05:03 am0c joined
jnthn hej, perlhack :) 05:03
perlhack hi
jnthn
We'll see 7.2 .... 05:04
jnthn yes :)
sorear slavik1: you must run make install for Rakudo 05:05
slavik1 :(
sorear: is it required?
sorear slavik1: however, rakudo defaults to installing in a subdirectory of the checkout
yes
slavik1 oh, ok
so no root needed
perlhack You are boss one the stage....jnthn
8-) 05:06
jnthn slavik1: correct 05:07
perlhack: :-)
slavik1 awesomes
dalek href="https://modules.perl6.org/gh-pages:">modules.perl6.org/gh-pages: 66845fb | dukeleto++ | / (4 files):
Add docs about how to update the website
slavik1 jnthn: how is mod_perl6 coming? :D
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
jnthn lunch time, back in a bit :) 05:09
perlhack Ok you go you always to eat
dalek href="https://modules.perl6.org:">modules.perl6.org: b7c7898 | dukeleto++ | / (2 files):
Add the github pages README to the master branch so people know where to go
05:10
05:10 kanishka joined 05:12 wolverian left
perlhack everybody is good,i first go to dinner. 05:13
05:14 wolverian joined 05:15 kanishka left
sorear wonders how useful it is to have separate zh_CN and zh_TW docs 05:15
05:18 colomon left 05:26 bakedb joined 05:28 agentzh joined 05:29 cotto joined 05:32 mberends left 05:33 LaVolta joined
slavik1 pastebin.com/S52U1XjF 05:34
am I doing anything wrong?
LaVolta use .perl instead?
phenny LaVolta: 28 Jun 05:17Z <JimmyZ> tell LaVolta test
slavik1 huh? me? 05:35
LaVolta yeah...i guess .perl method is a nice replacement for Data::Dumper :-) IMHO
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
well, loading any module no worky :( 05:37
perlhack no worky .lazy... 05:38
05:38 cotto left
slavik1 is it looking for .pm files? 05:38
LaVolta yeah...(i guess also .pmc) 05:39
perlhack mee too
:-\
sorear wonders if Yin Maolong is one of the IRC folks here
05:39 birdwindupbird joined
LaVolta slavik1: perl6advent.wordpress.com/2010/12/0...cosystem/, look here 05:40
slavik1 ty
05:45 bakedb left
moritz wonders what time of week it is in sorear++'s time zone 05:50
s/time/day/
05:51 cotto joined
sorear 2251 05:51
why?
perlhack what is a number
moritz sorear: usually #phasers reports go out on monday or tuesday 05:52
sorear moritz: I'll be out of town and away from irc for 6 days starting tomorrow 05:53
most likely returning a few hours after #phasers
moritz sorear: ah, that was the piece I was missing
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␤»
perlhack sorear Where you go ?
Garda rakudo: 2551.WHAT.perl.say
p6eval rakudo 1fcb14: OUTPUT«Int␤»
Garda perlhack: that
lol
perlhack sorear, moritz: I'll be out of town and away from irc for 6 days starting tomorrow 05:56
05:57 wtw joined
sorear perlhack: San Jose 05:58
moritz usage of $_ in the mainline still segfaults in nom 05:59
perlhack Capital good place.
sorear No, capital is Sacramento 06:00
What did you mean? 06:01
jnthn moritz: I'm aware. I'm working on the magicals at the moment.
moritz jnthn: good
06:01 koban joined
perlhack Oh!my internet dictionary cheated me. 06:02
06:02 noganex_ is now known as noganex
sorear perlhack: what dictionary are you using? 06:02
perlhack Chinese dictionary 06:03
sorear URL? 06:04
perlhack www.youdao.com
what did you have for good
jnhtn
LaVolta perlhack: ...ask here, i can help :) 06:05
perlhack 3q
i want to look for a person to talk English. 06:06
*JOKINGLY*
06:07 benabik left
perlhack I want to talk to you so that my english will be better. 06:08
LaVoilta
LaVolta ah...wrong person.
perlhack why? 06:09
LaVoIta
sorear perlhack: in English forums, we abbreviate "thank you" to "ty" 06:11
06:11 cooper left 06:12 Su-Shee_ is now known as Su-Shee 06:14 Vlavv_ left 06:15 benabik joined
perlhack thanks for sorear. 06:19
ty
06:22 Garda left 06:27 Chillance left 06:38 mj41 joined 06:41 am0c left 06:43 Vlavv joined 07:00 am0c joined 07:02 perlhack left 07:08 _jaldhar_ left, _jaldhar_ joined 07:15 bakedb joined 07:26 rokoteko joined 07:29 mberends joined 07:43 dolmen joined
sorear sleep, *probably* will not return to IRC until Tuesday 07:55
07:55 koban left
jnthn sorear: Have a good trip. 07:56
07:57 wolfman2000 left 08:16 daniel-s joined 08:26 wamba joined 08:32 daxim joined 08:37 am0c left 08:39 dakkar joined 08:44 am0c joined 08:50 donri joined 08:59 Chillance joined
dalek ast: 01ab85e | moritz++ | S04-statements/given.t:
[given.t] remove a wrong test found by sorear++
09:05
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
moritz phenny: tell pmichaud just want to make sure that my comments starting from 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.
jnthn Can probably be $!x there
Generally, that's preferable to use
Not only because it's shorter but because it's more optimal
er 09:13
more optimizable
moritz replaces and tests 09:15
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?
jnthn moritz: The only time we'll hit "fun" doing that is when compiling the setting 09:16
moritz: No, they don't want to go in BOOTSTRAP.pm
moritz: Not least because setting a role up in there is horrible.
moritz: Are they roles that we'll rely on punning? 09:17
09:17 Mowah joined
moritz jnthn: not sure yet 09:17
jnthn moritz: OK
moritz maybe not
jnthn Anyway, from Actions.pm
$*ST.find_symbol(['X', 'Fancy']) gets you the type object of the role/class/whatever. 09:18
moritz cool
jnthn You going to use these for parse/compile time errors?
moritz so I can just nqp::die($*ST.find_symbol(['X', 'Comp']).new(...)) or so
jnthn If so my suggestion is:
moritz that's the plan, yes 09:19
jnthn 1) Factor this out into some subroutine that finds and throws the appropriate exception
moritz +1
jnthn 2) Have a flag for "don't use fancy exceptions"
3) Use that flag when compiling CORE..setting
Otherwise we may have some...fun...working out problems in CORE.setting ;)
moritz I would have thought: just use plain nqp::die if find_symbol doesn't succeed
09:20 SHODAN joined
jnthn Well, find_symbol throws if it can't find the symbol 09:20
You could do it that way too.
moritz I can catch that
jnthn right.
Yeah, that works also.
moritz I don't like the idea of separate flags for setting compilation
jnthn Actually it's probably easier
Yeah, your suggestion is better.
moritz++ 09:21
btw, you can also
moritz so, where should I stick that utility routine for dying?
jnthn my $die := $*ST.find_symbol(['&die'])
moritz: Initially, in Actions.pm is fine
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.
ah
moritz well, starting with Actions.pm probably works for me
jnthn Grammar.pm does use Actions iirc.
moritz maybe the "correct" way is to patch CURSOR.panic 09:23
moritz not so sure
because it has the line number available 09:24
jnthn Well, or a panic in Grammar.pm
moritz right, perl 6 specific, not nqp
jnthn (e.g. leave the current one intact, but override it in the Perl 6 grammar)
jnthn puts aside slide hacking for a hit to do some code hacking 09:33
dalek kudo/nom: a7f7e86 | moritz++ | t/spectest.data:
another passing test file
09:37
kudo/nom: 29d90cf | moritz++ | src/core/Exception.pm:
simplify Exception.pm
09:38 dolmen left 09:40 benabik left 09:53 dolmen joined 09:55 icwiener joined
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)␤» 09:56
10:02 am0c left, koban joined 10:03 LaVolta left 10:13 bpalmer joined 10:15 woosley left
dalek kudo/nom: 53ecd28 | jonathan++ | src/pmc/perl6lexpad.pmc:
Handling of $_, $/ and $! in nested blocks. May well need tweaking, but should essentially work, especially for $_.
10:22
kudo/nom: 79d17be | jonathan++ | t/spectest.data:
Two more passing test files.
kudo/nom: 1c85c66 | jonathan++ | src/Perl6/Actions.pm:
Mark mainline as needing fresh lexicals.
kudo/nom: 1b841ba | jonathan++ | NOMMAP.markdown:
Update nommap.
jnthn There may be a bunch more spectests that can work with that too 10:24
10:24 ananamoose joined 10:26 ananamoose left 10:35 bkolera joined, JimmyZ joined 10:43 dolmen left
dalek kudo/nom: 028df0a | jonathan++ | src/Perl6/Grammar.pm:
Fix declarations of packages inside evals. Also unbusts the REPL a bit more.
10:55
kudo/nom: e65e8ff | jonathan++ | t/spectest.data:
Another passing test file.
pmichaud good morning, #perl6 10:56
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
pmichaud: 09:12Z <moritz> tell pmichaud just want to make sure that my comments starting from irclog.perlgeek.de/perl6/2011-06-29#i_4024640 don't get lost
11:00 satyavvd left 11:03 JimmyZ left
pmichaud moritz: #2 -- using $!ex is fine... I may have been converting something else and left it in there 11:03
jnthn hi, pmichaud
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:04
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:05
haven't forgotten about --gen-parrot; just haven't had the tuits to fix it yet. Will do that now. 11:06
11:15 dolmen joined
moritz pmichaud: thanks for the answers. FWIW I already switched to $!ex 11:16
pmichaud moritz: yes, I saw that -- moritz++
(reviewed the commit log before answering anything :) 11:17
11:18 pernatiy left
dalek kudo/nom: b90e016 | jonathan++ | src/core/Mu.pm:
Make Mu.new have slurpy named parameter, and pass that on to bless, in preparation for BUILD support.
11:21
kudo/nom: af6b27e | jonathan++ | t/spectest.data:
Another passing test file.
11:21 Moukeddar joined 11:22 Moukeddar left, perlhack joined
perlhack hi everyone. 11:23
dalek kudo/nom: 8f3b029 | pmichaud++ | tools/lib/NQP/Configure.pm:
Update NQP::Configure to perform 'git pull' on branches when needed.
perlhack i again come to here.
dalek p: 879fe3c | pmichaud++ | src/ (3 files):
Add nqpevent opcodes for logging events (e.g., subroutine entry).
p: a4083b4 | pmichaud++ | tools/lib/NQP/Configure.pm:
Update NQP::Configure to perform 'git pull' on branches when needed.
pmichaud that should fix --gen-parrot= and friends. moritz++ 11:24
moritz pmichaud++. Will test in due time :-)
pmichaud excellent.
11:24 Moukeddar joined
perlhack who can help me to solve the problem? 11:25
moritz $ moritz@jacq:~/p6/rakudo/t/spec>ack -lQ -- '+='|wc -l
42
perlhack :-[
pmichaud I can work on assign metaop 11:26
moritz so meta ops (or at least +=) are big-ish blocker for spectest adoption
pmichaud I was wanting to play with that anyway, and I have about 30 mins so let's see what I can do :)
moritz nom: rindex('', '') 11:28
p6eval nom: ( no output )
11:28 colomon joined
moritz t/spec/S32-str/rindex.t segfaults in a test that does that 11:29
nom: use Test; plan 1; is rindex('', ''), 0, 'empty';
p6eval nom: OUTPUT«1..1␤not ok 1 - empty␤Segmentation fault␤»
moritz nom: use Test; plan 1; is rindex('foo', ''), 0, 'empty';
p6eval nom: OUTPUT«1..1␤not ok 1 - empty␤Segmentation fault␤»
moritz nom: say rindex('', '') 11:31
p6eval nom: OUTPUT«Str()␤»
jnthn nom: use Test; plan 1; 11:32
p6eval nom: OUTPUT«1..1␤# Looks like you planned 1 tests, but ran 0␤»
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␤»
jnthn huh, works locally :/ 11:34
moritz nom: 0 eq Str
p6eval nom: ( no output )
moritz nom: say 0 eq Str
p6eval nom: OUTPUT«Bool::False␤»
dalek kudo/nom: 630c220 | jonathan++ | src/Perl6/SymbolTable.pm:
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
11:35 MayDaniel joined, Moukeddar left
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:39
jnthn pmichaud: Yes, probably. 11:42
11:42 bpalmer left
jnthn pmichaud: I could see it causing all sorts of pain, and it wasn't even a concious optimization. 11:42
pmichaud right 11:43
(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)
should I comment it out?
pmichaud add the proto to the test file
moritz ok 11:45
pmichaud I did that once already but apparently forgot to commit.
dalek ast: 7848251 | moritz++ | S02-builtin_data_types/sigils-and-types.t:
add a proto to a multi
11:46
pmichaud know of a test offhand that uses += ?
moritz t/spec/S04-statements/redo.t
t/spec/S32-num/rat.t 11:47
t/spec/S32-array/pairs.t
ack -lQ -- '+=' t/spec/
t/00-parrot/06-op-inplace.t :-)
pmichaud all tests pass on 06-op-inplace.t, that's good enough for me :) 11:48
moritz \o/
I can run update_passing_test_data.pl after you push
pmichaud pushed. 11:50
dalek kudo/nom: e4d01bb | moritz++ | t/spectest.data:
two more passing test files
kudo/nom: 60dcfb9 | pmichaud++ | / (3 files):
Add initial (possibly cheating) version of assignment metaop.

This version works fine, but doesn't generate a new sub and might not work out okay with nested metaops. If not, then we'll fix this when we fix all the generation of all of the metaops
  (as soon as we figure out how/where to do that :-).
11:50 pernatiy joined
jnthn yay 11:52
jnthn -> dinner
colomon oh, jnthn's in china! 11:56
moritz my @a = 1, 2; sub f (@x is copy) { @x[0] = 5 }; f @a; say @a[0] 11:59
nom: my @a = 1, 2; sub f (@x is copy) { @x[0] = 5 }; f @a; say @a[0]
p6eval nom: OUTPUT«5␤»
12:00 Moukeddar joined 12:01 [Coke] left
moritz nom: my @a = 1, Any, Mu 12:03
p6eval nom: ( no output )
moritz nom: my %h = a => Any, b => Mu
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
moritz I guess that should work? 12:03
12:04 cotto left 12:07 bluescreen10 left
dalek kudo/nom: 866d02f | moritz++ | t/spectest.data:
5 more passing spectest files, pmichaud++
12:08
12:08 orafu left, orafu joined 12:10 mtk joined
cheeseboy so whens perl 7 going to be out? :P 12:11
moritz src/core/Hash.pm linu 18 - why does $x have 'is copy'? 12:12
12:13 JimmyZ joined
JimmyZ \o 12:14
12:14 benabik joined 12:16 avar left, avar joined, avar left, avar joined
moritz fixes Hash to allow Mu 12:16
12:20 bluescreen10 joined 12:25 wolfman2000 joined
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
moritz rakudo: my $x = Mu; say 'alive' 12:26
p6eval rakudo 1fcb14: OUTPUT«alive␤»
pmichaud yes, it's that way in rakudo now
12:27 _jaldhar_ is now known as jaldhar
moritz nom: my $x = Mu; say 'alive' 12:27
p6eval nom: OUTPUT«alive␤»
moritz and I think that's spec
pmichaud not according to TimToady's latest musings
(I'm looking up the irclog ref now)
moritz musings are just that, until they make their way into the specs repo
pmichaud okay, "musings" might be too weak a word :) 12:28
the specs repo is actually silent on the topic 12:29
12:29 SHODAN left
moritz the spectests quite clearly demand that Mu is allowed 12:29
benabik rakudo: my $x; say $x; 12:30
p6eval rakudo 1fcb14: OUTPUT«Any()␤»
12:30 cotto joined
pmichaud (irclog search is being slow today) 12:33
irclog.perlgeek.de/perl6/2011-05-16#i_3751984 12:35
and 12:36
irclog.perlgeek.de/perl6/2011-06-27#i_4013191 (plus comments above it)
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:37
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:38
so if someone wanted a hash that can hold Mu elements, it's my Mu %hash 12:39
12:40 masak joined
masak cheeseboy: I can tell you came here to be properly hugged. here you go. 12:41
masak hugs cheeseboy
cheeseboy huggles masak
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.
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. web.archive.org/web/20090627040244/...o/A01.html
(and to whom it may concern: dev.perl.org/perl6/doc/design/apo/A01.html is down, probably after some site redesign or other) 12:46
12:46 masak left 12:50 wamba left
pmichaud moritz: I'm fine with Mu until we get a more definitive decision, yes. :) 12:51
dalek kudo/nom: a65c17f | moritz++ | src/core/ (3 files):
allow hashes to store Mu values
12:53
kudo/nom: 279c947 | moritz++ | t/spectest.data:
one more passing test file
12:54 bakedb left, bakedb joined
dalek kudo/nom: 9d2ad0d | pmichaud++ | src/Perl6/Actions.pm:
Revert 5bce9d, commit 630c22 fixes the overall problem with re-use of
12:54
12:55 perlhack left 13:02 Chillance left
tadzik hello #perl6! 13:03
13:03 Chillance joined 13:05 benabik left 13:09 bkolera left, Holy_Cow joined
dalek p: de3c519 | pmichaud++ | src/ (2 files):
Add --nqpevent=<logfile> option to HLL::Compiler.
13:17
[Coke] pmichaud: ping.
pmichaud [Coke]: pong! 13:18
TimToady pang? 13:20
[Coke] ... that was a preemptive ping, and you've already responded. crap! 13:21
I am rebuilding nom with moritz's changes to see if it passes the test.
13:21 cottoo joined, cotto left
pmichaud I can delay my pong if that helps. :) 13:22
moritz which test? 13:25
13:25 araujo joined
moritz \o tadzik. How are the exams, life and hacking? 13:25
tadzik good, neglected and neglected :) 13:26
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
moritz congratulations
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.
tadzik moritz: thank you
moritz: I'm a bit ashamed still having physics on my head having you as my mentor though :)
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
moritz [Coke]: i think that pmichaud's fixes to Exception were more relevant for that file than mine
[Coke] I didn't check the log, assumed it was you. hokay. 13:29
pmichaud Coke: github.com/rakudo/rakudo/commit/28...8cc6a80e9b (fyi, since you asked about it :)
nqp::atkey is the equivalent of PIR's $P0[$I0] 13:30
well, more precisely...
nqp::atkey is the equivalent of $P1 = $P0[$I0]
grrr
nqp::atkey is the equivalent of $P1 = $P0[$S0]
[Coke] meetings brb.
pmichaud nqp::bindkey is the equivalent of $P0[$S0] = $P1
I should create a file with a list of all of the nqp:: opcodes somewhere 13:31
13:31 cotto joined
pmichaud not sure where to put it 13:31
PerlJam The sanest pony in the "rename perl" race: blogs.perl.org/users/erez_schatz/20...ature.html
pmichaud heh 13:32
13:33 agentzh left
pmichaud I believe I suggested this a couple of years ago. :-) 13:33
PerlJam pmichaud: you didn't say it loud enough then :)
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
13:34 cottoo left
pmichaud colomon: does it build on macos? 13:36
(or wherever you were having difficulty getting it to build before?)
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. :)
otherwise it may be a little bit of a non-starter for a while.
colomon fair enough 13:38
pmichaud PerlJam: 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:40
13:42 Chillance left
jnthn back from noms :) 13:42
And good noms they were too. When they say spicy here, they mean it. :) 13:43
moritz :-)
JimmyZ new obejct models?
13:44 buubot_backup left
jnthn JimmyZ: No, no. Food. :) 13:44
Nice food. :)
mberends colomon: I discussed with jnthn++ how to get this library fit for NQP and Rakudo as an independent alternative to GMP: github.com/jnthn/zavolaj/blob/mast...ggishint.c
JimmyZ doesn't know any foods called noms 13:45
jnthn JimmyZ: lolspeak:"nom" = english:"food" :)
tadzik phenny: "nom"? 13:46
phenny tadzik: "name" (fr to en, translate.google.com)
jnthn JimmyZ: I had some nice wild mushrooms with chilli. And beef with onion and nuts, and fried rice. Food in China is great. :)
TimToady it's onematapoetic, the sound of "nomnomnomnomnom"
tadzik noms properly to celebrate the end of exams 13:47
jnthn tadzik: Yay! Congrats on making it through. :)
13:47 Holy_Cow left
tadzik something called "take from %fridge where * ~~ /meat/ or * ~~ /cheese/" 13:47
JimmyZ Chinese food is always great
PerlJam JimmyZ: It's good on the front end, but not always on the back end ;) 13:48
TimToady tadzik: you can just say: where /meat/ | /cheese/ # :) 13:49
JimmyZ PerlJam: it's good when you are peasant :)
TimToady er || would probably be more efficient
tadzik there's more than one way to nom it :)
TimToady treu
JimmyZ and yes, back end always not good in china 13:50
TimToady tries to picture treu cheese dressing
dukeleto tadzik: congrats on finishing your exams
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 :-)
pmichaud maybe it's only hard for rakudo releases because we're trying to make it too meaningful :) 13:51
PerlJam perhaps
But theming is important.
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?)
"rakudo star chop suey"
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
tadzik dukeleto: thanks :)
TimToady Rakudo Quasar, Rakudo Black Hole...
Rakudo Polaris, Rakudo Sirius 13:53
after all there might be a Polaris.pm
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. :)
tadzik My favourite naming scheme: duckduckgo.com/?q=star+wars+planets 13:54
huf there's 4 in lotr alone
surely we can find more in legends and whatnot
PerlJam pmichaud: actually I think part of the problem with naming the rakudo release is that they happen too often.
pmichaud PerlJam: as I said, how hard is it to pick a .pm group? ;-)
TimToady we could release once every N years like DNF
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
dukeleto votes for Rakudo Betelgeuse
13:55 dolmen left
PerlJam huf: which 3? 13:56
huf PerlJam: ancalagon, smaug, glaurung
PerlJam huf: are you sure there isn't only 3? I can't recall another either.
huf which one was the flying one? 13:57
ancalagon?
13:57 dolmen joined
moritz there might be more in the silmarillion 13:57
PerlJam smaug flew :)
huf which killed that one of the dwarven kings?
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
PerlJam someone needs to smash a coffee cup against a wall at OSCON ;) 13:59
TimToady watches another decade or so of his life go down the tubes... :) 14:01
14:02 alim joined
PerlJam TimToady: decade? When you have children, they tend to stick around until you die. 14:03
TimToady Perl will be 24 this year, would be nice if she moved out eventually... 14:04
14:05 buubot_backup joined
tadzik does she bring any nasty boys to the house? 14:05
TimToady you have no idea
14:06 colomon left
huf perl's a woman? 14:06
that's a bit surprising, but i never thought of it before
tadzik well, don't you love her?
huf i fail to see the connection
PerlJam she still acts like a teenager sometimes, so I'm not sure "woman" is entirely correct
tadzik they all call themselves "woman" 14:07
huf PerlJam: www.glyphweb.com/arda/d/dragons.html
scatha
but only two named ones in the silmarillion apparently
so yeah, i thought there were more 14:08
14:09 colomon joined
TimToady dragons don't like to share anything, including mindshare 14:09
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
(I guess like all kids do)
14:13 benabik joined 14:14 koban left
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
moritz JimmyZ: there's one way to make sure... :-) 14:15
colomon pmichaud: I've got parrot-gmp built and running on my MBP.
JimmyZ not more than one way? 14:16
colomon pmichaud: is there a list somewhere of what modules are in R*?
moritz JimmyZ: well, yes. 1) write and maintain it 2) get somebody else to do it
PerlJam colomon: in the tarball :)
14:19 kaare_ joined 14:23 JimmyZ_ joined 14:25 benabik_ joined 14:27 JimmyZ left, JimmyZ_ is now known as JimmyZ 14:28 wtw left
pmichaud colomon: excellent! 14:28
I need to read up a bit more on what bubaflub has so far
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, benabik_ is now known as benabik
pmichaud (in nqp/nom we tend to avoid Parrot objects ... like a plague.) 14:29
[Coke] {erez schatz}++ 14:31
14:31 JimmyZ left
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.
pmichaud [Coke]: there's already github.com/perl6/nqp/blob/master/d...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?
pmichaud and I need to update that list
colomon: I think my suggestion would be to get a NQPBigInt class working in NQP. 14:35
don't worry yet about how we'll integrate it with Rakudo... just get something that works there :-)
14:36 JimmyZ joined
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?
pmichaud jnthn: a set of NCI bindings, I think.
jnthn pmichaud: A.
*Ah
That's better than I expected, in a way.
colomon I believe that's right. it's an external library right now, too.
pmichaud the external library does the Parrot classes, which won't work for us.
jnthn I was fearing "there's this BigInt PMC that you should use" :)
[Coke] pmichaud: that's a good start. I can probably flesh that out with descriptions. 14:37
colomon github.com/bubaflub/parrot-gmp
is the library
jnthn The thing is that I mostly think of this as a C-level integration, not a PIR level one.
pmichaud I agree, I'd prefer it to be a C-level integration
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 :)
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. ;)
pmichaud github.com/bubaflub/parrot-gmp/blo...MP/raw.pir seems to show the nci interface available
[Coke] ponders.
pmichaud [Coke]: yes, it should be relatively easy. 14:39
just look for &infix:<===> and do similar things for &infix:<eqv>
although I don't know if Test.pm still uses <eqv> anymore
Yes, it does. So yes, we need it. 14:40
14:40 mberends left
[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
right, we haven't implemented <eqv> at all yet in nom
[Coke] is src/old even compiled in nom, or just for reference?
moritz just for reference 14:42
pmichaud it's jus.... moritz++
14:42 leprevost joined
jnthn Note that you'll need at least a proto infix:<eqv>($, $) { * } too 14:42
pmichaud and eliminate the "our"'s
jnthn That too :)
PerlJam Are there any LHF not listed in LHF.markdown? 14:44
pmichaud listing LHF's isn't LHF :)
[Coke] mmhehehehe.
[Coke] tries to do the bare minimum to get that test to pass...
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
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?
colomon pmichaud, jnthn: okay, so we want NQPBigInt. Hints on how to start that process?
moritz tadzik: the latter
tadzik oki-doki 14:46
jnthn tadzik: Provided it's non-regressional, you're welcome to merge into nom at regular intervals too.
[Coke] \o/
colomon is non-regressional a processional?
TimToady demonstrates emergent behavior
jnthn :D
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.
tadzik yeah, that's the plan 14:48
[Coke] gist.github.com/1056377
pmichaud, jnthn : that ok to commit to nom?
tadzik and a bit of experimentations with with symboltable 14:49
pmichaud [Coke]: works for me
jnthn tadzik: Yup.
pmichaud although I wonder if the signature should be Numeric ::T $a, T $b
jnthn tadzik: You gonna be doing .WHO also?
14:49 bubaflub joined
pmichaud should the POD AST be a separate module, ooc? 14:49
jnthn pmichaud: Not yet
tadzik jnthn: .WHO, or .WHY? 14:50
jnthn Type vars aren't quitedone yet
[Coke] ah, I just pulled the signature from master.
jnthn *quite done
dalek kudo/nom: 6fff467 | Coke++ | src/core/operators.pm:
add enough <eqv> to pass t/01-sanity/06-eqv.t
tadzik I thought .WHO is your fruit :)
jnthn tadzik: I meant .WHY :)
[Coke] pmichaud: does your signature force the 2 numerics to be the same type?
jnthn Yeah, I did .WHO
pmichaud [Coke]: yes.
but as jnthn says -- NYI :)
[Coke] at that point, do you still need the .WHAT check?
pmichaud right, I'm thinking we don't need the .WHAT check after that 14:51
jnthn Keep .WHAT check for now.
pmichaud agreed, keep it for now.
[Coke] better to force as much of that into the sigs as possible.
k. good, pushed.
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
jnthn Use of a type var in the sig it's declard in is gonna be...fun.
[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. :)
tadzik jnthn: .WHY is the most exciting thing in my gsocwork, at least for me :) 14:53
pmichaud yes, I'm jealous about .WHY
I wanted to do .WHY this year but likely won't have the tuits
(not as long as there's so much else to work on)
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. :)
jnthn Ah
"features I wish I'd implemented" :)
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'
is that the real fix, or is it likely that something's fail()ing that shouldn't?
jnthn [Coke]: I suspect the embedding interface is going to want a thorough going over.
pmichaud in this case, it's probably because there's no $*VM defined. 14:56
so that's coming back as a Failure, which doesn't know how to <config>
jnthn aha
[Coke] looks like adding in "undefine" from master gets us another test file. safe to do? 14:57
pmichaud [Coke]: sure, I'll review the patches and revert/fix if needed. 14:58
colomon: I'm still thinking on bigint/nqp
jnthn too
Trouble is I have a pretty fixed idea of what the eventual solution should look like.
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.
tadzik also, we'd hae to finally decide how we want declarator blocks to work
pmichaud jnthn: then perhaps you can describe that solution :)
tadzik there
jnthn I think we should have a repr, along the lines of P6int, but P6bigint or some such 15:00
It knows how to store an int in normal or upgraded form
That means it's a piece of memory that has an INTVAL plus whatever struct/pointer the bigint library we're compiling in wants
Then a bunch of ops that target this.
That handle either doing an INTVAL operation and upgrade on demand. 15:01
The hurdle is that I didn't do complex inlines yet.
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
jnthn e.g. by class Foo is repr('P6bigint') { ... }
pmichaud: That's fine also, *if* we make it a repr.
pmichaud right 15:03
jnthn And a bunch of ops.
But repr implies written in C, as do ops.
pmichaud "ops" could be handled for now by subs that go through the NCI interface
jnthn Maybe but getting them a pointer to the right thing could be fun.
pmichaud sub add(NQPBigInt $a, NQPBigInt $b) { ... }
jnthn pmichaud: By ops I meant, dynops.
pmichaud yes, I know that's what you meant.
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
jnthn But what do the NCIs expect us to give them?
pmichaud jnthn: well, that's what I'm thinking colomon++ can figure out :)
jnthn ah, OK :) 15:05
15:05 alim left
jnthn I think that we will end up with a set of ops that are specific to a repr. 15:05
15:05 alim joined
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
colomon: Yes, that sounds like what I am talking about. 15:06
dalek kudo/nom: 37ff459 | Coke++ | src/core/operators.pm:
add undefine, pass t/01-sanity/06-eqv.t
jnthn pmichaud: I agree that we'll want to try and structure that a bit more
pmichaud: I disagree we're re-invenitng v-tables.
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 :)
tadzik nom: my $a = 5; $a = Any; say defined $a 15:08
p6eval nom: OUTPUT«Bool::False␤»
jnthn True; I was thinking "polymorphically dispatchy"
tadzik colomon: wouldn't that be easier?
[Coke] down to 4 failing files in "make test"
tadzik oopsie, [Coke]
pmichaud tadzik: that might be easier but what Coke has is more futureproof
since the meaning of "undefined" might change :-)
tadzik huh
pmichaud we still don't know exactly what "my $x" is supposed to produce :) 15:09
(although yes, we're all pretty much agreed that it initializes to Any. The type constraint is the part we don't know.)
TimToady why do we initialize to Any?
pmichaud There is a question though about what happens with my Int $y; undefine $y
PerlJam I liked the "my Mu $x = Any;" version
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.
like autoviv.
unless you want to put those methods on Mu.
TimToady would they not work in Mu?
jnthn If you put them on Mu then junctions won't auto-thread them.
TimToady do we want autoviv autothreading? 15:11
it seems problematic
jnthn TimToady: You've missed the point.
[Coke] (I didn't think about undefine at all. I just pulled it from master.)
pmichaud it's not just autoviv, but also .join .map .list .elems .reverse ....
jnthn TimToady: Things that cause auto-viv may also have totally normal meanings.
That we would want to have autothread.
pmichaud Any has a lot of methods in it (many of which should autothread)
15:13 prammer_ is now known as prammer
PerlJam pmichaud: so what's the debate on the type constraint? 15:13
(why not Mu?)
TimToady I don't really like the type split Mu/Any constraint/initializer split 15:14
if there's some way we can get away from that without going insane
pmichaud TimToady: on 5-16 you said you prefered the constraint to be Any/Any
I think that's workable.
TimToady yes, well, but that's also going to be slowish
jnthn TimToady: I mostly consider it a compromise to achieve sanity. 15:15
But my version of sanity includes "can assign a junction to an untyped scalar"
(Because I think untyped programs should largely dwim.)
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
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?
PerlJam TimToady: and my $x = 1 | 2; # would fail?
TimToady I'm just wondering if there's a way to intuit an autoviv type other than by putting things into Any
pmichaud my $x; $x<a> = 'hello'; 15:17
the .<a> is a method on Any.
(or whatever we default $x to)
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
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
TimToady I just think giving containers two different types is kinda insane 15:19
can the autoviv type be supplied by Mu noticing method dispatch failure?
jnthn TimToady: It doesn't have two types, though.
It has a type constraint and a default value.
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
TimToady well, I guess default makes more sense on an array or hash 15:20
okay, I can bend my mind around that for scalars too 15:21
jnthn It is a discontinuity in a sense.
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
it'd still be nice to be able to dial in the default constraint of Mu, Any, Cool
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.
TimToady well, the two main choices for default are Mu and Any
pmichaud for arrays and hashes we already get the constraint from 'of'
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
pmichaud PerlJam: my %h of Mu; presumably 15:24
PerlJam and how does autoviv work in that case?
TimToady and we could have the same or different constraints for scalars, arrays, hashes
pmichaud PerlJam: the containers could still be defaulted to Any 15:25
TimToady use scalar Mu; use array Any
jnthn PerlJam: I guess because a hash is actually a store of scalars, which default to Any
TimToady use code Cool; # :D
pmichaud in nom, they default to exactly whatever a scalar defaults to :-)
jnthn nom: my %h; say %h<lol>.WHAT
p6eval nom: OUTPUT«Any()␤» 15:26
PerlJam ok.
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.
jnthn pmichaud: heh, do you actually use my $ to get a container? :)
pmichaud jnthn: I use "is copy" 15:27
which iirc does basically the same thing.
jnthn pmichaud: ah
:)
pmichaud STORE_AT_KEY(\%hash, $x is copy) { ... }
eventually I expect that to be
STORE_AT_KEY(\%hash, T $x is copy) { ... }
which puts on the constraint
s/'\%hash'/'\$key'/ above 15:28
jnthn *nod*
When somebody gets around to making the parametrics work. :)
pmichaud so, sounds like we're going with "my $x" meaning Mu/Any for now 15:30
wfm
eventually a pragma to be able to declare the default constraint (and initialization?) type for scalars
TimToady it's a shame we can't express the default with "my $x = Any" 15:31
as we can with parameters
pmichaud that was somewhat the other reason for making "my $x" mean "my Any $x" in my mind -- it then matched parameter declarations.
TimToady no point in that unless we want it to autothread :) 15:32
pmichaud indeed, that was also jnthn++'s response :)
PerlJam jnthn: is there some minimal set of things required for a repr?
jnthn PerlJam: A repname.c/.h file and a registration, plus at least implement type_object_for and instance_of, I suspect. 15:35
P6int.c is an example of a rather simple repr
P6opaque.c is an example of a terrifying one. :)
HashAttrStore is somewhere between the two.
PerlJam thanks. 15:36
15:36 dolmen left
TimToady melts his brane thinking about the Harrison Ford version of Forrest Gump 15:40
15:43 PZt joined 15:44 bubaflub left
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")?
pmichaud colomon: I declare "yes". 15:47
colomon wfm
[Coke] colomon: +1
colomon okay, one more question for uc.t: assignment to $_ doesn't work in nom? 15:48
jnthn colomon: Do you ahve latest? 15:49
pmichaud depends on how $_ is bound
colomon $_ = "Hello World";
my $x = .uc;
is the test
jnthn did a bunch of fixes there early today
colomon Cannot assign to a non-container
was the error.
pmichaud that should work (after jnthn++'s fixes earlier)
it wasn't working as of yesterday.
jnthn nom: $_ = "Hello World"; say .uc
colomon that's with latest
p6eval nom: OUTPUT«HELLO WORLD␤»
colomon huh 15:50
jnthn nom: $_ = "Hello World"; my $x = .uc; say $x
p6eval nom: OUTPUT«Rebuild in progress␤»
[Coke] nom: say +"0x0a";
p6eval nom: OUTPUT«Rebuild in progress␤»
pmichaud nom: { $_ = 'Hello world'; my $x = .uc; say $x } # the real test
p6eval nom: OUTPUT«Rebuild in progress␤»
pmichaud [Coke]: string->number conversion NYI
jnthn nom: your status?
p6eval nom: OUTPUT«Rebuild in progress␤»
pmichaud (except for the very basic number formats) 15:51
[Coke] pmichaud: aye. failing 4 tests in literals, otherwise that test is passing. 15:52
15:52 mj41 left
[Coke] that sounds vaguely like LHF. 15:52
jnthn nom: $_ = "Hello World"; my $x = .uc; say $x
p6eval nom: OUTPUT«HELLO WORLD␤»
pmichaud it's not LHF at all.
[Coke] and it's numberic, so I vote for colomon! 15:53
pmichaud it's VHHF
nom: { $_ = 'Hello world'; my $x = .uc; say $x } # the real test
jnthn nom: { $_ = "Hello World"; my $x = .uc; say $x }
p6eval nom: OUTPUT«Cannot assign to a non-container␤current instr.: '_block1010' pc 347 ((file unknown):748) (:1)␤»
[Coke] well then, I especially vote for colomon.
jnthn huh.
colomon see, not just me
jnthn nom: { say $_.WHAT } 15:54
p6eval nom: OUTPUT«Mu()␤»
pmichaud is the outer $_ being initialized properly?
is it a 'rw' bind? ;-)
jnthn pmichaud: It should be happening on demand
[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 "
benabik nom: say .WHAT, '?'
p6eval nom: OUTPUT«Any()?␤»
pmichaud what happens if the demand comes from a nested block?
jnthn pmichaud: I *thought* I handled that case.
pmichaud okay
jnthn Clearly, I got it not quite right somehow. 15:55
pmichaud then I guess nom is wrong :)
nom: "pay attention to what jnthn wrote!"
p6eval nom: ( no output )
jnthn :P
pmichaud (nom is speechless)
[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?
TimToady though we could express a default with 'my ($x = Any)' though that doesn't work too well for arrays
colomon nested block, that's it! if you strip off the { }, that line works
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.
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
s/passing/almost-passing/
that way we know where we're regressing from master
15:58 dolmen joined
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...
p6eval nom: OUTPUT«Mu()␤»
colomon :\
jnthn nom: $_ = 42; { say $_ }; say $_
p6eval nom: OUTPUT«Mu()␤42␤»
jnthn hm
pmichaud I'm not quite worried about old-to-newer nom yet.
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
it may also mean we should refactor a test file, potentially -- that it may be trying to do too many things.
and I'm okay with that.
[Coke] ... right. too complicated. nevemrind. ;)
PerlJam nom: my $x = 42; { say $x } 16:03
p6eval nom: OUTPUT«42␤»
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.
PerlJam: It's handled more lazily.
colomon nom: say 'A'..'C'
p6eval nom: OUTPUT«'A'..'C'␤»
PerlJam jnthn: a little too lazily looks like ;)
colomon nom: say 'A'..'C'.join('a')
p6eval nom: OUTPUT«'A'..'C'␤»
jnthn nom: say $_
p6eval nom: OUTPUT«Any()␤» 16:06
jnthn I wish I knew where that Mu came from...
If it were a null PMC access it'd make a bit more sense.
PerlJam jnthn: I was thinking it came from line 335 in Actions.pm
colomon nom: say ('A'..'C').join('a') 16:07
p6eval nom: OUTPUT«AaBaC␤»
PerlJam but ... I've totally forgotten everything I might have known about Actions.pm and Grammar.pm
16:08 alim left
colomon nom: lc('A'..'C') 16:09
p6eval nom: ( no output )
colomon nom: say lc('A'..'C')
p6eval nom: OUTPUT«range<36387920>␤»
colomon nom: my @a = 'A'..'C'; say lc(@a)
p6eval nom: OUTPUT«a b c␤»
16:10 perlhack joined
jnthn PerlJam: Hmm. I hope not. 16:10
oh
I think it may be 16:11
Hmm
PerlJam It would mean that there's a path to pblock that shouldn't be I think.
jnthn circumfix calls pblock(1)
circumfix:sym<{ }> that is 16:12
perlhack jnthn :Very late you should go to bed.
jnthn oh
but not in STD
perlhack: :P
16:13 SHODAN joined
perlhack [:-}i hope to see a spirit of you in 7.2 16:13
jnthn :) 16:14
perlhack: Do you come to pre-workshop dinner tomorrow?
pmichaud how does STD do it, then? when I did circumfix:<{ }> before I was following STD, I think.
perlhack The pre-workshop in what place 16:15
jnthn pmichaud: It doesn't pass the 1
perlhack: conference.perlchina.org/bjpw2011/news/730 16:16
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:18
jnthn OK :) 16:19
perlhack The China way and you different oh
jnthn pmichaud, colomon I look at the $_ bug tomorrow
I really should sleep ;) 16:20
pmichaud jnthn: okay, wfm
colomon sleep is good
JimmyZ should sleep too
pmichaud although I'm not sure what to think about this "sleeping in the middle of the day" bit. :-P
jnthn has one little patch to push before sleeping :)
pmichaud I mean, it's only 11am :) 16:21
jnthn pmichaud: You forget that China is in the future :P
perlhack jnthn,:good bye wish you a sweet dream under.
16:22 am0c joined, tokuhirom left
dalek kudo/nom: 29d4eb1 | jonathan++ | / (4 files):
Implement role punning. Also fixes Foo ~~ SomeRole.
16:25
kudo/nom: 45e6e3b | jonathan++ | NOMMAP.markdown:
Remove a completed nommap item.
jnthn There we go. 'night.
PerlJam good night jnthn
16:26 perlhack left
JimmyZ good night toooooooo 16:26
16:27 JimmyZ left
flussence just noticed try.rakudo was down, apache2 had been stopped on the server for some reason. what gives? 16:31
16:34 pernatiy left
flussence (oh, maybe the entire thing grinding to a near-halt was why...) 16:35
16:37 tokuhirom joined
flussence oh no wonder, the fstab's screwed up and has swap/root reversed... no swapspace at all 16:40
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:␤------> proto foo (⏏$x, $y) {*}; multi foo($x, $y) { say "$x␤ $y is declared but not used at /tmp/zPV_szrRnR line 1:␤------> proto foo ($x, ⏏…
..pugs, rakudo 1fcb14: ( no output )
16:41 cooper joined
flussence there we go, crisis averted 16:42
16:43 Kivutarrr joined, Kivutarrr left, Kivutarrr joined 16:45 icwiener left
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)␤»
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
p6eval rakudo 1fcb14: OUTPUT«Str()␤»
TimToady rakudo: < 1 >.WHAT.say 16:47
p6eval rakudo 1fcb14: OUTPUT«Str()␤»
TimToady that one should be Int
colomon what I got is what I would hope for, but not what I expected looking at the source
oh, I see 16:48
flussence rakudo: say &sprintf:($,*@).WHAT
p6eval rakudo 1fcb14: OUTPUT«Could not find sub &sprintf:($,*@)␤ in main program body at line 22:/tmp/HxntJtSexH␤»
PerlJam dukeleto: yes.
16:48 Vlavv left
colomon TimToady: the thing is, for some paths trim-leading and trim-trailing can return self 16:49
instead of ~self, which is what I would expect
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.
pmichaud there's no nqp:: abstraction for IO yet. 16:50
16:50 Rotwang left
pmichaud pir::new('FileHandle') gets a FileHandle object that can be used. 16:50
16:51 Rotwang joined
pmichaud afk, lunch and more 16:52
16:53 dakkar left 16:57 cdarroch joined, cdarroch left, cdarroch joined 17:00 birdwindupbird left 17:02 estrabd joined 17:07 daxim left 17:09 noganex_ joined 17:12 MayDaniel left, noganex left 17:15 bakedb left 17:26 Mowah joined 17:32 dolmen left
moritz isn't there an open() function in the NQP setting? 17:33
17:34 icwiener joined, icwiener left, icwiener joined
[Coke] jnthn: I thought the children were our future. 17:40
colomon my future, anyway, I hope.... 17:43
TimToady "children and art" --Steven Sondheim in SITPWG 17:50
18:00 tokuhirom left
[Coke] sees a lot of updates to the spectestdata file for nom. whee. 18:03
18:08 tokuhirom joined 18:10 Vlavv joined
dalek ecs: e84b111 | moritz++ | S29-functions.pod:
eval() does not catch exceptions
18:13
colomon rakudo: say 1i.ln 18:15
p6eval rakudo 1fcb14: OUTPUT«0 + 1.5707963267949i␤»
18:15 masak joined
colomon rakudo: say -1i.ln 18:16
p6eval rakudo 1fcb14: OUTPUT«-0 - 1.5707963267949i␤»
[Coke] nom: my $x = 2.0;
p6eval nom: OUTPUT«Null PMC access in invoke()␤current instr.: '_block1002' pc 79 ((file unknown):136) (:1)␤»
masak i again come to here.
colomon \o/
flussence /o\
colomon rakudo: say (2-1i).ln 18:17
p6eval rakudo 1fcb14: OUTPUT«0.80471895621705 - 0.463647609000806i␤»
flussence hm, nom runs all the way to the end of `make spectest_smolder`... then barfs on the missing qx to upload test results :)
[Coke] ah the float failure is due to a missing &str2num-rat, which jibes with the literals issue pmichaud mentioned arlier, I think. 18:21
colomon [Coke]: that sounds like it makes sense :) 18:22
[Coke]: what we'd really like for that is available big ints...
dalek kudo/nom: 91491d8 | moritz++ | t/spectest.data:
two more passing spec tests
18:25
18:26 impious joined 18:29 Kivutarrr left
[Coke] hurm. I might be wrong, as that does seem to be defined... 18:30
colomon nom: say 2.5
p6eval nom: OUTPUT«Null PMC access in invoke()␤current instr.: '_block1002' pc 76 ((file unknown):33246622) (:1)␤»
colomon nom: say 5/2
p6eval nom: OUTPUT«2.5␤»
18:31 cotto left
moritz it's just method dec_number in Actions.pm that needs love 18:33
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:41 Eevee joined
pmichaud I'm planning to do re-work all number conversions for nqp/nom in the next day or so 18:45
colomon sorear: are you gone? 18:47
18:47 mj41 joined
pmichaud 07:55 * sorear sleep, *probably* will not return to IRC until Tuesday 18:48
[Coke] pmichaud: hokay.
colomon that's what I was afraid of
18:49 DarthGandalf left
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.
moritz not in this case
pmichaud more details, please :)
moritz I want to prepare $numerator and $denominator to call Rat.new (in Actions.pm) 18:54
so they should be integers
hm, but Perl 6 integers
nevermind :-)
pmichaud right
so, unbox the string, box it into a p6int, you're good.
moritz right
pmichaud or, even better, call .Int
dalek ecs: 781e726 | larry++ | S06-routines.pod:
Revert "fix 0 => $arg naminess"

This reverts commit 0140a6f03e1e0917c103eaf730cfafa3c97c8069, which was widely reviled.
18:58
ecs: e881c78 | larry++ | S06-routines.pod:
Revert "don't include positional names in API"

This reverts commit 74b208c3d7dc6bc3fb913be3376492e2d72733f6, which which was found wanting.
ecs: 94d0124 | larry++ | S06-routines.pod:
severely restrict named-to-positional binding

Binding named args to positional parameters is now restricted to explicit C<proto> and C<only> declarations. But we will support it, since it can have profound refactoring advantages if you don't have to know which parameters will eventually end up as positionals.
pmichaud \o/ TimToady++ 18:59
colomon TimToady++
TimToady you should read it first :P
19:01 Moukeddar joined, Eevee_ joined
pmichaud oh, we're supposed to read more than the log comments? 19:02
hrm.
colomon you can also just ask TimToady to explain it to you. ;)
pmichaud He'll probably just tell me to RTFS. :-P 19:03
benabik Those synopses are fine, aren't they? 19:04
19:04 Eevee left
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
pmichaud ...is that even legal?
i.e., we're allowing digits on the lhs of => ? 19:05
*leading digits
19:08 envi left 19:10 bakedb joined
TimToady is what even legal? that was the rejected spec stuff 19:11
rakudo: say (1 => 2).perl
p6eval rakudo 1fcb14: OUTPUT«1 => 2␤»
TimToady looks perfectly okay to me... 19:12
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
oh, it's not a fatarrow
never mind.
it's a normal &infix:<=>> 19:16
bwahahahahah:
> my $a = 0; 4 R+= $a; say $a
4
benabik It's evil, I like it.
colomon it hurts us! 19:17
TimToady niecza: my $a = 0; 4 R+= $a; say $a
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…
benabik Well, it hurts niecza at least.
dalek p: 9a65d79 | pmichaud++ | src/Regex/Cursor.pir:
Add an optional match argument to !cursor_pass, to let us explicitly specify the match to be used.
19:18
colomon rakudo: my $a = 0; 4 R+= $a; say $
p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "$"␤»
colomon pmichaud: is that your local nom it works on?
pmichaud colomon: yes. I'm getting ready to push it now. :)
then I'll do more metaops. 19:19
masak I'm not convinced that I'm happy about the spec patch. reading that and re-reading gist.github.com/984783 , I now conclude we've ended up with the same basic problems, but a more complicated spec. :(
TimToady you're just wrong
masak please tell me how.
moritz oh, is nqp::p6box_i already available in Actions.pm?
TimToady it's simpler, and your problem is solved
moritz Unrecognized nqp:: opcode 'nqp::p6box_i' at line 2719, near ";\n "
19:19 soh_cah_toa joined
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
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).
pmichaud no need to box it.
kthakore ..What was that perl6 NCI thing? 19:21
it was a module I installed a while back
moritz pmichaud: I want to pass a Perl 6 integer to Rat.new, and serialize the result
TimToady the manifesto is misguided, then, since there are good reasons to use named calls for refactorability
moritz kthakore: Zavolaj, NativeCall.pm
kthakore NativeCall.pm!!!
TimToady and we've enabled that only if explicitly requested
and it's simpler because there's only a single choice point
kthakore TimToady: hi. Sorry to butt in. But I hugged you at keynote :) ... 19:22
kthakore runs away to make SDL script for Util
TimToady you should hug masak++ right now :)
kthakore I never stopped hugging him
19:22 lichtkind joined
kthakore Hugs masak harder 19:22
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.
pmichaud that's a good argument to move those registrations somewhere else.
lichtkind thou: hai
cheers to all
moritz what's the name of the pir:: opcde? perl6_repr_box_int ?
pmichaud anyway, you'll probably need pir::perl6_box_int__PI(...)
kthakore Util: FOUND IT :D
moritz ah 19:24
kthakore Util: gist.github.com/744192
masak as far as I can see, the benefits of "refactorability" are equally and oppositely offset by the downsides of API leakage.
pmichaud and I'll figure out a way to get the Perl 6 nqp:: opcodes available to nqp a bit earlier.
TimToady the API leakage is not leakage if it's intentional
masak it's not intentional if people aren't aware of the rules of protos.
TimToady and naming your proto positionals is now deemed to be intentional 19:25
masak you've just moved the issue.
Util kthakore: reading...
thou lichtkind: \o
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.'
that's just as true now as two spec patches ago.
19:26 molaf left
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.
and normally we write protos namelessly.
moritz pmichaud: it seems that perl6_ops isn't even loaded in Actions.pm
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
moritz ie in gen/perl6-actions.pir
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.
moritz pmichaud: ah right
19:28 natureboy joined, cooper left
Util kthakore: Unable to find module 'NativeCall' in the @*INC directories. 19:28
19:29 wamba left
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
19:30 birdwindupbird joined
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.
things still need to go through the proto somehow.
pmichaud masak: welcome to "torment the implementors on behalf of the users."
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.
TimToady in the new approach, this can only happen when the proto is called
colomon rakudo: say 1i.exp(3)
p6eval rakudo 1fcb14: OUTPUT«0.45483242282661 + 0.890577041667747i␤»
masak sure, that's the new multi semantics. I'm fine with that.
TimToady there is only one place to look for the official API
masak in fact, it's a big improvement over the last multi semantics. kudos for that.
TimToady no, it's completely orthogonal to the new multi semantics
masak ok. 19:32
TimToady the new semantics are done by master, but it still remaps each multi
kthakore Util: you will need github.com/jnthn/zavolaj
masak oh.
TimToady or at least niecza does that, so it's independent
19:32 daniel-s left
kthakore Is there a module creator that gets deps and stuff for me in Perl6? ( Like modulestarter ) 19:33
dalek kudo/nom: 11ec306 | pmichaud++ | / (4 files):
Refactor metaop handling, add R metaop. More to come in a bit.
TimToady niecza: proto foo ($, $) {*}; multi foo($x, $y) { say "$x $y" }; foo :y(2), :x(1)
p6eval niecza v7-11-g9ba8284: OUTPUT«1 2␤»
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␤»
TimToady well, rakudo used to do it, anywa
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 github.com/PerlGameDev/SDL6 ... I have to learn how to make modules in Perl6 tough to do the deps stuff
dukeleto kthakore: indeed there is
kthakore dukeleto: hallo :) ... I have you on my list too PROMISES_AT_YAPC
dukeleto kthakore: it is quite alpha-ish, but does something: github.com/tadzik/module-starter 19:36
kthakore dukeleto: thanks
moritz $ ./perl6 -e '3.0'
Don't know how to build a rational constant
dukeleto kthakore: it mostly just creates the new metadata file for perl 6 modules
TimToady masak: by the time any multi sees it, it's always positional
dukeleto kthakore: it doesn't even give you a module skeleton, yet
kthakore dukeleto: can I have it get the github.com/jnthn/zavolaj stuff for me?
dukeleto kthakore: please fork and send pull requests :)
moritz it seems the serializer can only handle native types?
TimToady (the proto's positional args are, not nameds, which stay nameds)
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.
dukeleto ETOOMANYPROMISES
masak TimToady: so there are two dispatches: caller->proto, then proto->multi?
moritz kthakore: modules.perl6.org/ has all the pointers you need
kthakore dukeleto: ... I keep them or die tryin :D
moritz kthakore: both for how to declare dependencies, and where to get the installer that follows them
TimToady there always were two, since several months ago
kthakore moritz++ thanks
TimToady but the first one is usually inlineable, at least for functions
19:38 bakedb left
pmichaud moritz: I think that jnthn++ had said that serializing the setting types was likely to be post-nom-to-master 19:38
TimToady the remapping of named is now restricted to the first dispatch, and only to ones explicitly declared proto or only
kthakore moritz++ I think you just saved my life
Util: github.com/quietfanatic/gamebase/
19:38 bluescreen10 left
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.
TimToady that's fair 19:40
19:40 cotto joined
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
19:41 cotto left, cotto joined
moritz what about only allowing it on explicit protos (and disallowing it on autogenerated protos)? 19:42
19:42 wamba joined
pmichaud masak: I disagree with that. I've given a couple of cases where named-arg => positional-param would be useful. 19:43
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.
pmichaud I also wonder if it's important for .assuming
dalek kudo/nom: 8bd86ac | moritz++ | / (2 files):
start with Rat literals

Sadly it does not work yet, but maybe it inspires jnthn++ to tell me how to work around the serializer limitations
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
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
right now they're written as if they were for internal use only, with little thought to consistency and interface.
moritz agreed
I wanted to at least partially change that, but then the feature was abolished :-) 19:47
so no need anymore :-)
19:47 birdwindupbird left
masak guess a new chance has presented itself. 19:47
Util kthakore: thanks; installing zavolaj
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?
masak moritz: it's a good idea anyhow.
moritz for example I like index($haystack, $needle)
or index($in, $search) or so
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.
masak pmichaud: it would have to introspec the signature, I guess. 19:49
introspect*
moritz and they are silent on the Cool/Any variants
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:50
kthakore moritz: how do I get the sh bootstrap.sh to work. I don't see a ~/.perl6/ being made 19:51
moritz: for panda
Util: I am making it a module in a few
lichtkind masak: what exactly for?
moritz kthakore: you have to ask tadzik, he's the great module (installer) hacker
19:52 bluescreen10 joined
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
lichtkind: they basically can't be trusted when it comes to details.
pmichaud Here's an example: 19:53
S32:205: =item length 19:54
This word is banned in Perl 6. You must specify units.
S32:532: our Str multi method substr (Str $string: StrPos $start, Int $length) is rw is export
First, "$length" is banned.
masak d'oh!
pmichaud Second, it should not be constrained to an Int. Other Cool types should be allowed.
masak aye. 19:55
moritz same with StrPos - these days we just default to graphs
lichtkind masak: so someone has to ask lot of questions and rewrite it and yes i followed you loosely
moritz also, why the 'our'?
pmichaud (sorry, those "S32" should be "Str.pod")
masak lichtkind: yes, asking questions -- or basically doing what pmichaud++ just did -- would have to happen a lot.
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?
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)
and installed to /usr/local/ 19:57
lichtkind masak: what did pmichaud ++ ?
tadzik kthakore: what's up with panda?
masak lichtkind: he quoted two parts of S32/Str and pointed out how they conflicted.
pmichaud ...and how they're incorrectly specified anyway.
masak lichtkind: and how the latter has too strict a signature.
moritz: ok, will try that. 19:58
thanks.
TimToady yes, any Int parameter should really be Int(), meaning Int(Cool)
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
masak some things are missing entirely. &uniq, for example. 19:59
as far as I can gather, it was "spec'd through p6l". 20:00
lichtkind is uniq a perl 6 builtin?
masak not according to the spec :P
TimToady there's no such thing as "perl 6"
moritz but according to the tests there is 20:01
masak there's no such thing as "builtin".
[Coke] ... oh, that's not going to come back and bite us. ;)
lichtkind pmichaud: i maybe can wrestle some of it out when i now write the according tablets
kthakore tadzik: I can't seem to install it
tadzik kthakore: OSX, by any chance?
TimToady there's "perl", and "Perl 6", but no "perl 6"
pmichaud nom: say "Perl 6".lc # found it!
20:02 frettled left
p6eval nom: OUTPUT«perl 6␤» 20:02
20:02 frettled joined
kthakore github.com/PerlGameDev/SDL6 << Util 20:02
tadzik: no ... I just did sh bootstrap.sh
tadzik: I am on linux 20:03
tadzik kthakore: can you show me the output of bootstrap.sh?
kthakore there was non
at all
tadzik oh
btw, you don't really want "Test" in your deps, it's core, and panda will complain about not being able to instlal it
colomon tadzik! \o/
kthakore perl6 bin/panda install . nothgin .. 20:04
tadzik: oh ... thanks sorry
tadzik colomon! \o/
kthakore: hrm
kthakore: ...no output at all? It just exits? 20:05
kthakore yeah
tadzik: Fixed it
tadzik dang
kthakore :\
Did i install perl6 wrong?
tadzik no idea
let me rebootstrap my panda on the newest rakudo, Justin Case
kthakore ok I go do Justin too 20:06
... hehe
tadzik kthakore: okay, does it exit immediately?
kthakore yeah 20:07
I am recompiling perl6
tadzik okay. What happens when you just run 'perl6 bin/panda install .'?
kthakore same
I think my perl6 is lying to me about being installed 20:08
tadzik how about 'perl6 -e "say 1"'?
kthakore nothing :(
tadzik there we are :)
kthakore it was working 18hrs ago
tadzik strange
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:09
sjohnson hello dudes 20:10
yo masak
masak sjohnson! \o/
kthakore masak: my motto is ... 'Kartik you are stupid. Why you be stupid ape on the key board? Go fix nao'
tadzik sjohnson: hey!
sjohnson ( `ー´)
tadzik: :)
official perl6 "fat face" irc mascot
masak kthakore: harsh motto.
tadzik sjohnson: hah, I was expecting that :) 20:11
bah, doesn't zavolaj fail tests for you?
masak well, if it prints nothing, is it really failing...? :P
tadzik oh it prints stuff 20:12
20:12 johnkw joined
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
but it works inside the perl6 repo
the usr local one doesn't
tadzik kthakore: github.com/PerlGameDev/SDL6/blob/m...basic.t#L3
moritz kthakore: are you building the compiler, or the star release?
tadzik how did Text::Mock work for you? :)
kthakore tadzik: I dunno 20:14
moritz: building
TimToady generally much better to symlink the outer one to the inner one
20:14 johnkw left
kthakore okie lets try 20:14
tadzik kthakore: I'm pretty sure you want that to be Test::Mock
colomon tadzik: try panda install Algorithm::Soundex ? 20:15
kthakore tadzik: fixed it
tadzik kthakore: the tests pass for me now. Mind me adding the module to the ecosystem?
colomon: ==> Succesfully installed Algorithm::Soundex
looks cool
colomon :\
tadzik colomon: failures? 20:16
colomon Project Algorithm::Soundex not found in the ecosystem
kthakore TimToady: ... linking gives me no dice
dukeleto installs panda
colomon panda update
and now it seems to work
tadzik \o/
kthakore tadzik: ermm it didn't work btw
tadzik: you don't have libsdl I presume do you? It fails silently 20:17
tadzik kthakore: what didn't?
I think I do, I play wesnoth frequently :P
kthakore tadzik: you need libsdl.so in the local lib
20:17 lith_ joined
kthakore oh it found it ? 20:17
20:17 Eevee_ is now known as Eevee
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?
kthakore !!!
kthakore HUGS EVERYONE
tadzik kthakore: no idea. The tests passed. Should something be displayed?
colomon: yes
kthakore tadzik: yeah a window
tadzik kthakore: that didn't work, yeah
kthakore for about sleep(2) 20:18
oh ...
kthakore wants to take hugs back ... but someone will cry
tadzik where is hugme where you need it
20:18 hugme joined, ChanServ sets mode: +v hugme
kthakore ok .. wth ... 20:19
tadzik kthakore: I have my /usr/lib64/libSDL.so installed
hugme: hug kthakore
hugme hugs kthakore
kthakore 5 mins ago I compiled perl6
it worked right after
then now it is dead
lith_ TimToady, would something like that be useful as the irc summary you were thinking about?: lith-ology.blogspot.com/2011/06/per...06-29.html
kthakore pokes the corspe of perl6 20:20
tadzik kthakore: weird
masak kthakore: you need to compile perl6 every five minutes.
tadzik kthakore: how does parrot-nqp work?
moritz kthakore: the compiler installs to parrot_install/bin/perl6
tadzik masak: but it takes 6 minutes?
s/\?//
masak well, those are the breaks.
we're working on getting it faster. :)
lith_ woo, just see i got a comment :)
tadzik :)
kthakore paste.scsys.co.uk/117884 20:21
dukeleto tadzik: woot! i just used panda to install my new module (Algorithm::Soundex)
kthakore ^^
dukeleto: install mines!
ppl ... I have exec error
... strace
lith_ mberends++ is right about collaboration on this
kthakore tadzik: what .. does that mean? strace ./perl6 &> paste.scsys.co.uk/117884 20:22
dukeleto kthakore: which module? 20:23
20:23 molaf joined
dalek osystem: d06a4dc | (Solomon Foster)++ | README:
Add a sentence telling you how to add modules to the ecosystem.
20:23
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?
kthakore dukeleto: github.com/PerlGameDev/SDL6
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
I think
20:25 kaare_ left 20:26 donri left
dalek osystem: 2dbcfc3 | (Solomon Foster)++ | / (2 files):
Delete obsolete files.
20:26
colomon Done.
tadzik kthakore: I have no eye deer 20:27
colomon errr... maybe?
masak colomon++
colomon okay, they're gone on github. just still in my local directory, confusingly enough. :) 20:28
20:28 molaf left
kthakore yay ... no parrot no install script "build/gen_parrot.pl": No such file or directory 20:28
horray
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
kthakore moritz: sorry
hmm ok
masak also, you cheer when something goes wrong :)
dukeleto kthakore: what you be doing, man?
kthakore dukeleto: Making rakudo compile and install to /usr/local 20:30
so I can use it to install panda
moritz so, in a rakudo git checkout, do:
kthakore I have parrot 3.4 in /usr/local
so I have to replace that first no?
moritz ah
dukeleto kthakore: rakudo compiles it's own parrot
Su-Shee anyone in google+ yet so I can make a perl6 circle? :)
dukeleto kthakore: use perl Configure.pl --gen-parrot
kthakore dukeleto: I know
moritz dukeleto: you can tell it to use another one
kthakore Su-Shee: invite me? 20:31
dukeleto moritz: sure, but that is prone to explosions
kthakore dukeleto++
moritz dukeleto: how so?
tadzik Su-Shee: diaspora maybe? I'm not really to trusty on google having everything
kthakore especially with NativeCall I noticed
20:31 donri joined, donri left
kthakore tadzik: diaspora exists? 20:31
20:31 donri joined
dukeleto moritz: by using a parrot that is not compatible 20:31
tadzik kthakore: yeah, I'm even using that
Su-Shee kthakore: drop me your mail address into a msg.
tadzik wanna invite/
dukeleto kthakore: your SDL6 is not in META.list, so panda doesn't know about it
moritz dukeleto: no problem if you use the correct version
kthakore dukeleto: ah ... ok
Su-Shee tadzik: mail -> msg. 20:32
dukeleto moritz: that is a big IF
kthakore tadzik: wanna fix that ?
moritz rakudo 2011.05 + parrot 3.4.0 should go fine together
tadzik kthakore: fix what, the SDL6 in ecosystem?
kthakore tadzik: yep
tadzik Su-Shee: no, I don't wanna Google+. I can help you with getting into diaspora though :)
kthakore dukeleto: how can I uninstall my /usr/local/bin/parrot 3.4.0 20:33
tadzik kthakore: btw, don 20:34
't you need SDL_init before doing anything?
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?
tadzik Su-Shee: yeah
dukeleto kthakore: i always install parrot into my repo directory, so I can rm -rf a single directory 20:36
kthakore: github.com/leto/Util/blob/master/bin/new_parrot
20:36 molaf joined
dukeleto kthakore: make sure you have TEST_JOBS set to use that. I keep meaning to default that variable... 20:37
kthakore tadzik: SDL_Video calls it if you don't 20:38
ok
kthakore goes to plumbing cleaning
tadzik I see
kthakore tadzik: it would be safer you are right though 20:41
I am lazy and just wanna do this for Util
kthakore waits .... 20:45
tadzik oh, oh, I forgot 20:46
dalek osystem: 4489a33 | tadzik++ | META.list:
Add SDL6 from kthakore++
20:47
kthakore tadzik: :) 20:48
tadzik there we go :)
kthakore argh ... 20:49
ok ... now I did ... what you guys said
rm'd parrot and rakudo stuff from /usr/local/lib 20:50
perl6 works
but when I use it outside of repo
as in sh bootstrap.sh for panda
kthakore facepalms
runing it second time works 20:51
tadzik is confused
kthakore tadzik: me too very very very much
masak kthakore: you need to always run perl6 twice.
:P
kthakore looks like
panda is doing stuff
masak I think I will name my next pop song "panda is doing stuff". 20:54
kthakore it works! SDL6 module is dah go 20:55
masak ♪ panda is buying groceries ♪ panda is paying his bills ♪ 20:56
instant hit.
cotto masak, are you planning on yapc::eu? 20:57
20:57 wamba left
masak cotto: yes, very much. 20:57
20:57 SHODAN left
cotto masak, great. 20:58
masak already working on my presentation system^W^W^W my presentations.
kthakore tadzik: ping
sjohnson heh 20:59
21:00 Mowah left
kthakore LAWL ... 21:01
parrot did it again
[Coke] did what? 21:02
tadzik uktpong
bleh
kthakore [Coke]: pasting gimme a sec
tadzik kthakore: pong
dukeleto tadzik: can you add a post-commit hook to Module-Starter to announce commits in here? 21:03
21:04 cognominal left
tadzik dukeleto: sure 21:04
21:05 cognominal joined
tadzik dukeleto: done 21:06
21:06 mj41 left
kthakore paste.scsys.co.uk/117887 21:08
[Coke]: ^^
tadzik: panda update; panda install SDL; It can't find it 21:09
[Coke] kthakore: which perl6 is running there?
kthakore [Coke]: brand new
installed new rakudo from github repo 21:10
[Coke] ahhh. I think there's even a ticket for that. momentito.
kthakore: I mean, are you sure that that perl6 is the installed copy.
kthakore ...
yes
[Coke] (and not from the build dir.)
kthakore what do you mean?
how to differenciate that
[Coke] and I assume you removed the build dir?
do you know what $PATH is?
kthakore yes
[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
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.
...so that's the one that's getting run.
kthakore dukeleto: ^^ ... sigh
21:12 FalseNames joined
tadzik kthakore: I'll poke the api to reload the module database 21:12
it usually does this every hour
kthakore [Coke]: I just ... undid that cause ... of lameness with that
[Coke] k. 21:13
kthakore tadzik: [Coke]: apparently I shouldn't use github.com/jnthn/zavolaj.git 21:16
with new rakudo
how do I force parrot 3.5
for my module?
21:16 bluescreen10 left
tadzik I don't think you can 21:16
panda's not that smart :) 21:17
kthakore dun dun dunnn
haha
Util: well this is as far as I can go today
21:19 bluescreen10 joined
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:19
tadzik++ dukeleto++ [Coke]++ masak++ moritz++ 21:20
kthakore plays this was a thriump
oh also
ln -s trick TimToady++
masak kthakore: this was a triumph. I'm being so sincere right now. :)
oh wait. that's not it. 21:21
kthakore hey it makes the window
so
:D
masak I'm making a note here: "huge success". :)
tadzik I'm making a note, he... masak++
kthakore tadzik: run it again without github.com/jnthn/zavolaj.git
It's hard to overstate my satisfaction.
tadzik kthakore: how am I supposed to remove that?
kthakore Perl6 github.com/jnthn/zavolaj.git
tadzik: remove that in your lib
masak kthakore: strangelyconsistent.org/blog/im-doi...till-alive :)
kthakore tadzik: run again
should work
tadzik hmm 21:22
kthakore Perl6 We do what we must because we can
masak: creative liberties
:D
masak :D
I like.
tadzik Unable to find module 'NativeCall' in the @*INC directories.
kthakore It works too
tadzik: parrot 3.5?
tadzik dunno
masak Perl 6: Junctional Science.
tadzik This is Parrot version 3.5.0-devel built for amd64-linux. 21:23
kthakore masak++
tadzik: wt...
tadzik I call that quantum-typing :)
masak my S/N ratio tonight is terrible. :)
kthakore tadzik: go bug colomon
masak I think I used up all my signal ranting at TimToady... :)
tadzik joindiaspora.com/status_messages/277903 -- is that visible for the outside world?
flussence nope 21:24
kthakore slow link is slllloooow
tadzik gah, SNR again
dang
colomon go bug colomon what?
tadzik rakudo: class Cat { has $.alive }; my $a = any(Cat.new(alive => 1), Cat.new(alive => 0)); say $a.alive
p6eval rakudo 1fcb14: OUTPUT«any(1, 0)␤»
tadzik that's quantum tping
masak whoa 21:25
kthakore rakudo: use NativeCall;
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␤ .)␤»
kthakore :(
tadzik star: use NativeCall; say 'f'
kthakore I dunno anymore
p6eval star 2011.04: OUTPUT«f␤»
21:26 antony_ joined
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}
masak antony_: 'for lines() { .say }'
p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Confused at line 22, near "for =$fh {"␤»
..pugs: OUTPUT«*** ␤ Unexpected " {"␤ expecting "::"␤ Variable "$fh" requires predeclaration or explicit package name␤ at /tmp/AC0qVCgkd4 line 1, column 9␤»
..niecza v7-11-g9ba8284: OUTPUT«===SORRY!===␤␤Any()Preceding context expects a term, but found infix = instead at /tmp/Iik0b_Maax line 1:␤------> for ⏏=$fh {say}␤␤Parse failed␤␤»
[Coke] masak: have you played portal 2 yet?
masak [Coke]: haven't played portal 1 yet :/
[Coke] some great lines in there, too.
antony_ masak: is "=$fh" not implemented yet? 21:28
[Coke] masak:ZOMG
tadzik std: for =$fh {.say}
masak [Coke]: yeah, I'm behind.
p6eval std 37a0cdd: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix = instead at /tmp/o5LA98jkvn line 1:␤------> for ⏏=$fh {.say}␤Parse failed␤FAILED 00:01 119m␤»
tadzik antony_: I don't think it's legal
antony_ ?
masak antony_: prefix:<=> is dead, long live .get and .lines
colomon antony_: =$fh is obsolete
masak antony_: since 2009.
antony_: welcome back :D
21:28 bluescreen100 joined
[Coke] masak: "you're a terrible person. It says it right here. we weren't even TESTING for that." 21:28
antony_ ook
colomon antony_: $fh.lines() is the current syntax. :)
antony_ thanks
masak [Coke]: no spoilers :) 21:29
antony_ online docs are confusing :p
flussence rakudo: sub prefix:<=>($fh) { $fh.lines }; for =$*IN { say }
masak antony_: we'll fix them -- where are they?
p6eval rakudo 1fcb14: OUTPUT«␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤»
flussence s/{ /{ ./
tadzik rakudo: sub prefix:<=>($fh) { $fh.lines }; for =$*IN { .say }
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…
masak \o/
antony_ e.g. on learningperl6.com (not necessarily the official docs, I mean) 21:30
(not your fault)
masak no, but we still feel responsible... 21:31
flussence maybe prefix:<=> should be one of those things std complains about
kthakore wtf ..
is ... ...
lichtkind thou: ping 21:32
thou lichtkind: hi
antony_ any reason why =$fh was removed? 21:38
masak yes. :)
flussence it's unreadable
masak it clashed with infix:<=>
it had unworkable iterator semantics. 21:39
flussence and it looks like spreadsheet code :)
masak actually, in retrospect it was probably just the list/item context that was bugging us.
turns out you can't have both list/item context polymorphism and MMD in the same language :) 21:40
and we kinda like our MMD.
antony_ [I'm new in perl... coming from a python perspective] 21:41
masak ooh!
antony_ [first I tried perl 5 but I could not bend my brain around the context rules]
[so I decided to take the lazy approach]
masak then you'll like the absence of them in Perl 6 :)
antony_ [lazy is the word, indeed :p]
masak blog post! strangelyconsistent.org/blog/june-2...p-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
antony_ sorry 21:42
*references* of hashes of hashes 21:43
masak sure.
let's see what we can do. hold on.
antony_ (now it's just fine)
21:45 Patterner left, Psyche^ is now known as Patterner
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
how do I do that in perl5?
more precisely, how can I understand where to put $/%/@?
(or I can just stick to 6) 21:47
(or go back to my python version, haha :-))
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␤»
dalek p: e00bafe | pmichaud++ | src/HLL/Grammar.pm:
Avoid PMCNULL error when converting non-existent hash element to string.
p: 6d9b526 | pmichaud++ | src/ (2 files):
Add --rxtrace option, temporarily disable .lineof calculation for now.
masak antony_: sorry, I went away to write that. reading what you wrote now.
antony_ I'm adding a leaf 21:49
at node specified by @list
masak I'd use a class for Node.
antony_ in the tree rooted at %node
masak then it's easy.
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]␤»
colomon rosettacode.org/wiki/Bitmap/B%C3%A9.../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)
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␤»
antony_ thanks 21:53
masak np
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
masak cool. 21:55
antony_ coming back to lines
for $fh.lines(nl => ";") that should, well, read until next ";" and put that in $_ (and loop) ? 21:56
(want to parse free form code, with logical lines delimited, well, by ";" and not by \n) 21:57
(because for me it still seems to break lines at "\n")
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
antony_ what's nl good for then?
arnsholt s/your/you're/
masak antony_: good question. I had not seen it before. 21:59
antony_: either it overrides the .input-line-separator setting, or (more likely) it should go away. 22:00
antony_ in S32/IO
method lines ($handle:
...
Any :$nl = "\n",
colomon antony_: lines in rakudo definitely doesn't have the ability to change the separator.
antony_ that looked pretty obvious to me when I first read it
benabik Being able to specify the line ending when calling lines() seems handy to me. 22:01
Far more intuitive than using .input-line-separator
colomon and more local, too.
benabik local++
plusplus++
22:02 lith_ left
masak the people have spoken :) 22:03
I don't like that they are called different things, though.
antony_ Method 'input-line-separator' not found for invocant of class 'IO' 22:05
not over with trouble yet :p
masak oh, NYI. I forgot to mention that.
colomon of course, maybe the argument against having lines all different separators is that it is pretty trivial to implement using comb or split....
pmichaud > say [+] 5, 10, 12
27
antony_ colomon > not when your file is huge 22:06
22:06 impious left
antony_ at least rakudo seems to rather dislike me s///'ing a 200000 character string in one go 22:07
colomon antony_: yes, we were just discussing that drawback
antony_ (which I find surprising by the way)
benabik We need a lazy version of slurp.
antony_ lol
I was quite surprised actually
as I managed to make this part work in perl5 with little trouble (probably the only one I managed to :p) 22:08
so what's the best way for me currently to do that? 22:09
22:09 Rotwang left
antony_ and also, talking about NYIness 22:11
arnsholt Grammars should be good bet, or perhaps split as colomon suggested (instead of s///)
colomon arnsholt: it doesn't solve the "everything in memory at once" issue
antony_ is there a place where what's available in rakudo is explicitely specified? 22:12
(I'll try the split version)
colomon antony_: the source code, alas.
pmichaud imagine trying to document every feature that might be implemented :)
colomon antony_: there's a list somewhere or other, but I seem to recall it's not terribly up-to-date
pmichaud it's not exactly easy to do.
arnsholt colomon: Yeah, there is that. But hopefully Grammar.parse has less overhead =) 22:13
antony_ sure, I understand that
(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.
antony_ yeah
I was quite surprised at the niceness of the people there :p
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! :)
antony_ better
but still slow
22:17 whiteknight joined 22:19 zby_home joined 22:21 estrabd left
Util From the sidebar on pugs.blogs.com/ 22:23
www.cs.ubc.ca/local/reading/proceed...spe986.pdf
22:23 thundergnat joined
pmichaud I get a 404 on that url. 22:24
Util Instead: citeseerx.ist.psu.edu/viewdoc/downl...p;type=pdf
pmichaud (including when following it from pugs.blogs.com)
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?
p6eval rakudo 1fcb14: OUTPUT«Null PMC access in find_method('perl')␤ in main program body at line 22:/tmp/jW7emNEP8W␤»
..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 =…
..niecza v7-11-g9ba8284: OUTPUT«===SORRY!===␤␤Variable %.perl used where no 'self' is available at /tmp/f4vq3n4wlL line 1:␤------> my %a = <a 1>; say ⏏%.perl; %a = %a; say %a.perl; # Known pr␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza…
masak ropes are a nice implementation of strings.
thundergnat oops
22:25 drbean joined
thundergnat perl6: my %a = <a 1>; say %a.perl; %a = %a; say %a.perl; # Known problem in Rakudo? 22:25
p6eval pugs: OUTPUT«{("a" => "1"),}␤{("a" => "1"),}␤» 22:26
..niecza v7-11-g9ba8284: OUTPUT«{"a" => "1"}.hash␤{"a" => "1"}.hash␤»
..rakudo 1fcb14: OUTPUT«{"a" => "1"}␤{}␤»
masak thundergnat: yes, known.
and RT'd.
thundergnat Ah
pmichaud nom: my %a = <a 1>; say $a.perl; %a = %a; say %a.perl;
p6eval nom: OUTPUT«Symbol '$a' not predeclared in <anonymous>␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (compilers/pct/src/PCT/HLLCompiler.pir:107)␤»
pmichaud nom: my %a = <a 1>; say %a.perl; %a = %a; say %a.perl;
p6eval nom: OUTPUT«('a' => '1').hash␤().hash␤»
pmichaud hmmmm
22:26 bitpart joined
pmichaud is it in the spectests yet? 22:26
masak thundergnat: rt.perl.org/rt3/Ticket/Display.html?id=77586 22:27
thundergnat Filed by masak. What a suprise ;-) 22:28
masak I believe an application dug it up :) 22:29
22:29 thou left
masak pmichaud: if it is, it wasn't registered in the ticket. 22:29
thundergnat I was adding a hash to an existing one and was puzzled at the results. 22:30
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?
benabik In p5 (2 ,=> 1) works. :-D 22:33
colomon benabik: not helpful. :p
22:36 thou joined 22:37 Vlavv left
pmichaud rakudo: say [**] 2, 1 22:40
p6eval rakudo 1fcb14: OUTPUT«2␤»
pmichaud rakudo: say [**] 2, 1, 3
p6eval rakudo 1fcb14: OUTPUT«2␤»
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
colomon hmm? we check the assoc of the operator 22:42
pmichaud yes, I know that much.
so, $rassoc is set
er, $right-assoc is set 22:43
which means that $list becomes @args.reverse
okay, I see.
I was reading $op($next, $result) backwards
masak 'night, #perl6. 22:46
colomon \o
22:46 masak left 22:48 zby_home__ joined 22:50 zby_home left, bitpart left
Util soh_cah_toa: Don't let the beer snobs get you down: 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
dukeleto slavik1: nopaste the error that you are getting 22:55
slavik1: no one can help you without knowing exactly what you are executing and the full error output
23:03 [particle] left 23:05 [particle] joined 23:07 drbean left 23:10 alester left 23:12 envi joined 23:15 icwiener left 23:17 Tanktalus left 23:21 jferrero left, zby_home__ left 23:24 zby_home_ joined 23:27 Chillance joined 23:29 orafu left, orafu joined
dalek kudo/nom: a413eb1 | pmichaud++ | src/core/List.pm:
Fix List.reverse.
23:41
kudo/nom: df9d49b | pmichaud++ | / (3 files):
Add reduction metaops for triangle and right associative operators.
kudo/nom: a854856 | pmichaud++ | / (2 files):
Merge branch 'nom' of github.com:rakudo/rakudo into nom
23:42 zby_home_ left
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, colomon left 23:47 benabik left, molaf_ joined, soh_cah_toa left 23:50 molaf left 23:51 cotto left 23:54 FalseNames left
dalek kudo/nom: 0a8368a | pmichaud++ | src/core/metaops.pm:
Let the triangle reduction op handle infinite lists, somewhat.
23:55
pmichaud nom: my @a = [\+] 1..*; say @a[^20]; 23:58
p6eval nom: OUTPUT«(timeout)» 23:59
pmichaud nom: my @a = [\+] 1..*; say @a[^5];
p6eval nom: OUTPUT«(timeout)»
pmichaud hmmm