»ö« 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 | xB9xFExB9xFE | ||
*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 xA3xACI 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..1not ok 1 - emptySegmentation fault» | ||
moritz | nom: use Test; plan 1; is rindex('foo', ''), 0, 'empty'; | ||
p6eval | nom: OUTPUT«1..1not ok 1 - emptySegmentation 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..1not ok 1 - emptySegmentation 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 insteadcurrent 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-containercurrent 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 2current 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 failedFAILED 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 umstrittenliegst 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 fooEntering bar1Leaving barEntering baz2Leaving bazEntering floopEntering hah3Leaving hahLeaving floopLeaving fooEntering quux4Leaving 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 prUnhandled 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 |