»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
lue | well, I guess that shows what a fool() I am :D | 00:00 | |
eternaleye | rakudo: package Blarg { role xyzzy { INIT { our @x = 1,2,3;}; method fool($a) { say @x[$a]; }; }; xyzzy.fool(1); } | ||
lue is convinced BrowserUk has a script for his IRC that randomly outputs ? | |||
p6eval | rakudo 0aed40: OUTPUT«Symbol '@x' not predeclared in foolcurrent instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)» | ||
eternaleye | lue: He uses '?' to see if phenny has any messages for him. | 00:01 | |
lue | ah, that makes sense. | ||
rakudo: say e**(log(16,e)/2) | |||
p6eval | rakudo 0aed40: OUTPUT«4» | ||
00:02
exodist_ is now known as Exodist
|
|||
eternaleye | rakudo: say 2**(log(16,2)/2) # eliminate approximated irrational | 00:03 | |
p6eval | rakudo 0aed40: OUTPUT«4» | ||
lue | rakudo: say e**(log(42,e)/2) | 00:04 | |
p6eval | rakudo 0aed40: OUTPUT«6.48074069840786» | ||
lue | rakudo: say sqrt(42) | 00:05 | |
p6eval | rakudo 0aed40: OUTPUT«6.48074069840786» | ||
lue | rakudo: say 2**(log(42,2)/2) | ||
p6eval | rakudo 0aed40: OUTPUT«6.48074069840786» | ||
lue | well, wikipedia used e, so I use e! :) | 00:06 | |
It's only natural :) | |||
00:14
yinyin joined
|
|||
lue | rakudo: say sin(89) | 00:15 | |
p6eval | rakudo 0aed40: OUTPUT«0.860069405812453» | ||
lue will go insane and attempt to implement.......CORDIC | 00:18 | ||
00:19
eternaleye left
00:21
eternaleye joined
|
|||
lue | ...maybe | 00:23 | |
rakudo: multi sub infix:<+>($a is rw, $b){$a++ for ^$b;}; multi sub postfix:<++>($a is rw){$a + 1;}; my $z = 3; $z++; $z + 3; say $z | 00:30 | ||
p6eval | rakudo 0aed40: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:97)» | ||
lue | I thought I could get away with that :P | ||
I'll leave reimplementing sine for later, that's looking to be bloody difficult. | 00:32 | ||
snarkyboojum | g'day #perl6 | 00:35 | |
noone has knocked off advent day 20 I take it? | |||
00:36
lest_away is now known as lestrrat
|
|||
lue | Probably not, but I could. | 00:36 | |
The worst part about the CORDIC method to compute trig functions is you need trig functions to do it! [seemingly] | 00:37 | ||
Which is why I hoped the recursive code I ran (look up) would work. | |||
snarkyboojum | lue: I started it last night, but just checking no-one demolished overnight (for me) | ||
lue | I feel like writing another advent test. It may be long, but it's easy in comparison to trying to calculate sine w/o actual measurements, tables, or taylor series | 00:42 | |
snarkyboojum | lue: pick one of masak's - they're long and hard to convert into tests :) | 00:44 | |
lue | OK. :D If you ll (or ls -l for the deprived) the t/spec/integration directory, any advent test ~80B has no tests. | 00:45 | |
tedv | jnthn: What windows subversion client do you use? | 00:47 | |
lue | Too bad the one-liners aren't part of the day [and that they output something, which is NGP for tests]. | ||
snarkyboojum | lue: I think day 10, 12, 13, 18, 21, 24 are still free | 00:48 | |
00:52
synth left
|
|||
lue | day 10 already looks nightmare-ish, mainly because it will end up probably needing an external file | 00:54 | |
snarkyboojum | this REPL segfault'ing bug is certainly going to encourage me get my syntax right first time :) | ||
00:54
seatek left
|
|||
lue | what segfault? | 00:55 | |
00:57
seatek joined
|
|||
lue | afk | 00:59 | |
snarkyboojum | lue: start the REPL and type anything which throws an exception, e.g. 'abc' | ||
should segfault the REPL | 01:00 | ||
colomon | does the same thing happen with p6eval now? | 01:05 | |
rakudo: 3 + 67 | |||
p6eval | rakudo 9a7fc8: ( no output ) | ||
snarkyboojum | colomon: nope - just via REPL | ||
colomon | guess not. | ||
snarkyboojum | -e is fine | ||
I thought it may be related to the autoprinting change, but who knows | 01:06 | ||
colomon | snarkyboojum: I suspect you're right. | ||
I was mostly checking to see if autoprinting worked on p6eval now. | |||
snarkyboojum | colomon: oic | ||
should autoprinting work on p6eval? | 01:07 | ||
as that's run via -e | |||
colomon | darned if I know. | ||
snarkyboojum | I suspect not, as it's not run via the REPL, would be cool though :) | ||
01:09
BrowserUk left
01:13
jaldhar left,
jaldhar joined
01:30
masonkramer_ left
|
|||
snarkyboojum | help needed on day 20 advent tests (esp the last few which are commented out) gist.github.com/411425 | 01:34 | |
01:35
meppl left
|
|||
snarkyboojum | any suggestions appreciated :) | 01:37 | |
colomon | snarkyboojum: help needed in what sense? | ||
snarkyboojum | colomon: the last few crash rakudo - I guess advice on what to do there, are the tests Just Wrong, should I leave the commented out... not sure what to do with them | 01:38 | |
I should say 'raise exceptions' not crash Rakudo :) | |||
colomon | crash is fine by me. :) | ||
I've never seen that +.karma ~.karma syntax before. | |||
snarkyboojum | e.g. "Null PMC access in find_method('params')" | ||
ok - I should do some more tinkering with those few tests.. I don't know if I can get it working on alpha either | 01:40 | ||
colomon | I don't know if they are supposed to work -- they're really in the Advent calendar that way? | 01:41 | |
snarkyboojum | well @people.sort: { ~.karma } actually works | ||
but yeah, unless I've stuffed up, they're in the advent calendar like that | 01:42 | ||
.say for @people.sort: { +.karma }; works | |||
say @people.min: { +.karma }; doesn't | |||
and some of the other sorts using Whatever don't | |||
colomon | oh, min and max definitely don't work with that form yet. | 01:43 | |
snarkyboojum | but Whatever doesn't seem to work 100% correctly yet | ||
colomon | they should be skips for now. | ||
snarkyboojum | colomon: ok.. cool | ||
Tene | that shouldn't be hard to fix though, right? | ||
colomon | Whatever doesn't work very well yet, just hacked in a few very common cases. | ||
Tene: good question | 01:44 | ||
Tene | should be just another multi method, yes? | ||
colomon | seems like I had a good reason not to do it, but I might have just been lazy | ||
Tene: hmmm. never thought of that approach. | |||
Tene | what had you thought it would be? | 01:45 | |
snarkyboojum | colomon++ # for reviewing my tests :) | ||
colomon | something like "if &code.arity == 1" ... | ||
Tene | Oh, I thought that it didn't take a sub form at all yet. | 01:47 | |
colomon | Tene: no, it does, but it takes a two argument sub instead of a one. | ||
Tene | Should be able to: multi ... ( ... Code &bl where *.arity > 1 ) ... | ||
yes? | 01:48 | ||
colomon | Tene: yes | ||
Tene | nice | ||
snarkyboojum | also, is 'is &foo.signature.perl, ':(Int $i, @stuff, Any $blah = { ... })' the best way to test check the signature? | ||
Tene | snarkyboojum: are you trying to test signature stringification there, or some contents of the sig? | 01:49 | |
colomon | snarkyboojum: I have not the faintest idea. :) | ||
snarkyboojum | Tene: not stringification per se, but trying to write a test for example code in the advent calendar where the example is '&foo.signature.perl' | 01:50 | |
Tene: that's what I'm worried about.. the implicit stringification in the test | |||
Tene | snarkyboojum: I'd see what you can actually inspect on the returned signature instead. | 01:51 | |
I think the ideal would be comparing it to a constructed sig object, if possible | |||
is &foo.signature, :(Int $i, @stuff, Any $blah) | 01:52 | ||
oslt | |||
I don't expect that would work perfectly, though. | |||
snarkyboojum | Tene: cool idea.. will try | ||
colomon was not planning on stopping to think about how to implement another version of min and max tonight... | |||
Tene | colomon: you could cheat and have the one-arity version redispatch to the two-arity version. | 01:53 | |
;) | |||
colomon | Tene: yes, that would be easy but less efficient. :) | ||
Tene | self.sort: { &bl($^a) cmd &bl($^b) } | ||
colomon | sort can already do that, I think, it's just that min and max can't yet. | 01:54 | |
Tene | colomon: depends on your priorities for the night. | ||
colomon | I was planning on focusing on music tonight. | 01:55 | |
Tene | Heh. | ||
:) | |||
I'm off to start on dinner, then reinstalling my laptop tonight. | |||
I meant to chat with masak this weekend, but then drama happened. | 01:56 | ||
We need to get that Web.pm work finished. | |||
01:56
[mark] joined
|
|||
snarkyboojum | rakudo: sub foo (Int $i, @stuff, $blah = 5) { ... }; say &foo.signature.^methods(:local).join(' ') | 01:59 | |
p6eval | rakudo 9a7fc8: OUTPUT«perl ACCEPTS params» | ||
snarkyboojum | rakudo: sub foo (Int $i, @stuff, $blah = 5) { ... }; say &foo.signature.params[0].^methods(:local).join(' ') | 02:00 | |
p6eval | rakudo 9a7fc8: OUTPUT«parcel constraints named_names copy ref readonly name type invocant named default optional type_captures rw multi_invocant slurpy signature capture» | ||
eternaleye | Tene: snarkyboojum: re comparing sigs, what about 'ok &foo.signature eqv :( Int $i, @stuff, Any $blah = { ... })' or 'is_deeply' to tests structure | 02:16 | |
s/tests/test/ | 02:17 | ||
snarkyboojum | I had a go doing this, but it's a little messy - gist.github.com/411425 | ||
just to test name and type | |||
not sure if I should be creating @sig-info that way either :) | |||
02:18
JimmyZ joined
|
|||
snarkyboojum | it's introducing a bit more code than is in the advent calendar as well, which isn't ideal | 02:19 | |
*isn't in | |||
eternaleye | snarkyboojum: I think you typoed twice and it came out correct - orig "than is" == "that isn't", but you corrected to "than isn't" | 02:22 | |
snarkyboojum | I did :) | ||
eternaleye | english++ | ||
snarkyboojum | I corrected it incorrectly, correct | ||
:) | |||
eternaleye | Any language where messing up twice makes it correct has some serious golf potential. | 02:23 | |
snarkyboojum | seems most of the examples in the spec test suite where .signature is used (e.g. is &both.signature, :(Mu *@_, Mu *%_),) are skipped | 02:26 | |
found some examples, but not clear which approach is better :) | 02:30 | ||
02:37
masonkramer_ joined
|
|||
snarkyboojum | std: my @people; @people.min: { +.karma } | 02:39 | |
p6eval | std 30768: OUTPUT«ok 00:01 115m» | ||
snarkyboojum | std: my @people; @people.min: +*.karma; @people.max: ~*.name; @people.max: { ~.name }; @people.sort: *.karma | 02:40 | |
p6eval | std 30768: OUTPUT«ok 00:01 112m» | ||
02:40
agentzh joined
|
|||
pugssvn | r30769 | snarkyboojum++ | [t/spec] Added initial tests for Perl 6 Advent Calendar Day 20: Little big things | 02:42 | |
02:46
masonkramer_ left
02:54
tedv left
03:04
dduncan joined
03:06
dduncan left
|
|||
jnthn | phenny: tell tedv I just use the command line svn client, e.g. from subversion.apache.org/packages.html#windows | 03:07 | |
phenny | jnthn: I'll pass that on when tedv is around. | ||
jnthn couldn't sleep, so gave up. | |||
03:41
alester joined
03:49
masonkramer left,
masonkramer joined
|
|||
lue | OHAI sleepy #perl6 | 03:51 | |
04:00
JimmyZ left
|
|||
lue | jnthn: still giving up? | 04:02 | |
jnthn | lue: Aye. :-) | 04:04 | |
I'm so not Rick Astley about my sleep today. | |||
04:06
Khisanth left
04:15
snarkyboojum left
|
|||
lue | meme == sleep # for you ? :) | 04:16 | |
04:17
JimmyZ joined
04:34
Khisanth joined
04:37
snarkyboojum joined
04:38
snarkyboojum left
04:49
Lorn joined
|
|||
cognominal reads S12, and the parts "Calling Set of methods" deserve a Lou Redd quotes "I said, honey , WALK in the wild side, and And the coloured girls say, | 04:50 | ||
Doo do doo do doo do do doo" | |||
*Lou Redd | |||
lue | "It's okay, we're from the Internet" --XKCD fans geohashing | 04:51 | |
I have to work that into daily conversation :) | |||
cognominal | lue, I often forget to let my mouse hover to get the popup where the punch like in : www.xkcd.com/742/ | 04:55 | |
lue | Is that the most recent one? | 04:57 | |
cognominal | nope | 04:58 | |
lue | I love the most recent one though | ||
"See this? It's the world's smallest open source violin" :D | 04:59 | ||
cognominal | that's not the last one any more :) | ||
lue | Well, then, 2nd to last :) | 05:00 | |
[can't wait for D* at the end of summer.] | |||
Polymorphism is where one thing can be used as many, right? | 05:01 | ||
many *different things* | 05:02 | ||
cognominal | I like when he jokes on the wikipiedia : www.xkcd.com/739/ | ||
lue | Malamanteau has caused quite a stir | 05:03 | |
jnthn | It spawned a whole talk page of incredible stupidity. | 05:06 | |
cognominal | in french, it sound just like "malades mentaux" which means "mentally deranged people". So appropriate. | ||
lue | I think 1) Come up with malamanteaus, so malamanteau becomes a proper neologism | 05:09 | |
2) Create wiki(pedia&tionary&....) pages | |||
3)..... | |||
4)Profit! :) | 05:10 | ||
(Anywell.... [ :) ] ) | 05:11 | ||
cognominal | segfaulting rakudo is getting harder but this one odes it : | 05:24 | |
rakudo: say keys %( ::GLOBAL ) | |||
p6eval | rakudo 9a7fc8: OUTPUT«Method 'hash' not found for invocant of class 'Failure'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
cognominal | well it crash here on the most recent rakudo | 05:25 | |
hum, it crashes only in the perl6 shell | 05:26 | ||
lue | REPL is a lot more fragile | 05:27 | |
[how I understand it] | |||
cognominal | that's a garbage collecting bug according to the trace | 05:28 | |
jnthn, we have so little talk in Calais, that I will probably end-up doing half a day of a Perl6 workshop | 05:31 | ||
now, I _really_ regret you will not be to help me :) | |||
CharLingua++ | 05:40 | ||
05:46
hercynium joined
06:06
kel__ joined
06:14
XaeroOne joined
|
|||
lue | afk and goodnight! | 06:30 | |
06:48
Lorn left
|
|||
mathw | Morning | 07:19 | |
07:40
christine left,
christine joined
07:49
seatek left
07:59
proller joined,
sundar joined
08:04
sundar_ joined
08:06
sundar left
08:08
Jedai left
08:10
sundar joined
08:11
sundar_ left
08:12
sundar left
|
|||
moritz_ | good morning | 08:15 | |
08:27
dakkar joined
08:48
mberends joined
08:56
lestrrat is now known as lest_away
09:03
Su-Shee joined
09:05
masak joined
|
|||
masak | oh hai, #perl6! | 09:05 | |
jnthn | o/ | ||
masak | jnthn: Ste nespali? | 09:06 | |
jnthn | Ne dost. | 09:07 | |
*Trosku.* :-/ | |||
masak | :-/ | 09:08 | |
jnthn je teraz unaveny...a skoro ma stretnutie. | |||
masak | Oh nie! | 09:09 | |
jnthn | No dobre...v Malme tiez! | ||
masak | :( | ||
jnthn | Malmo je blizko...mohol by horsie. :-) | 09:10 | |
masak | heh. 'blizko' :) | ||
jnthn | (ano, viem..."Malmö" ;-) | ||
masak | Ani som vidieť, ze. | 09:11 | |
hejki | omfg | 09:12 | |
jätkät puhuu sujuvaa karvarannetta | |||
masak | :) | ||
09:12
Jedai joined
|
|||
hejki | 'stretnutie' sounds like a word for 'prostitute' :P | 09:12 | |
masak | it's 'meeting', I think. | ||
jnthn | lol | 09:13 | |
Yes, it's a meeting | |||
Far more boring :-) | |||
It actually falls straight out of the general verb nouning rules. | |||
stretnut = to meet | |||
hejki | ok | ||
jnthn | Though I was using the word long before I knew how to noun verbs. :-) | 09:14 | |
Wow. If you accidentally the binary literal in C# (0b1000), the compiler gives you no less than four useless error messages. :-) | 09:17 | ||
jnthn is getting too used to the awesome Perl 6 errors. | 09:18 | ||
mberends | oh hai jnthn, could you spend a bit of time on zavolaj ? | 09:24 | |
09:25
slavik left
|
|||
cognominal | zavolaJ? | 09:27 | |
I forgot what it was | |||
mberends | cognominal: native call interface from Rakudo | ||
cognominal: currently attempting to expand the mysql client functionality | 09:28 | ||
jnthn | mberends: Yes, but not immediately - I need to head to Malmö shortly for some meeting. | ||
mberends: What are you after, so I can ponder how to do it? | 09:29 | ||
mberends | jnthn: how to distinguish between a returned pointer and a NULL value | ||
lisppaste3 | mberends pasted "non working UnManagedStruct to Bool method" at paste.lisp.org/display/100342 | ||
09:30
slavik joined
|
|||
jnthn | mberends: In what way does it not work? | 09:30 | |
isnull doesn't return what you'd expect? | 09:31 | ||
mberends | jnthn: the mysqlclient function mysql_fetch_row() signals that there are no more rows by returning a NULL pointer | ||
jnthn | *nod* | ||
I meant what is non-working in the thingy you pasted. :-) | |||
mberends | jnthn: isnull always returns the same value regardless of what the pointer contains | 09:32 | |
jnthn | Aha. | ||
Yeah...thing is that it's asking if $P0 contains a null | |||
mberends | always false, in this example | ||
jnthn | When actually it has an UnmanagedStruct PMC always, which may reference something null. | ||
mberends | indeed | 09:33 | |
:-( | |||
so, something to gnaw at you brain whilst you travel ;-) | 09:34 | ||
09:36
[mark] left
|
|||
jnthn | Having my brain nommed somehow sounds unappealing. :-) | 09:36 | |
mberends: Change | 09:38 | ||
$I0 = isnull $P0 | |||
to | |||
$I0 = defined $P0 | |||
mberends | thanks jnthn, will try | 09:39 | |
jnthn | (see line 916 of src/pmc/unmanagedstruct.pmc) | ||
mberends | jnthn++ # it works! | 09:42 | |
09:50
meppl joined
|
|||
jnthn | mberends: Yay! \o/ | 09:57 | |
Well, that was easier helping than I expected. :-) | |||
mberends | jnthn: SELECT is almost running in generic form :) | ||
jnthn | \o/ | 09:59 | |
moritz_ | o// | ||
10:00
kaare joined,
kaare is now known as Guest34912
10:02
Guest34912 left
10:03
agentzh left
|
|||
masak | mberends++ jnthn++ # wow, Perl 6 and mysql! | 10:08 | |
jnthn thinks it's kinda cool that this will be installable via proto - without the need for a C compiler :-) | 10:16 | ||
jnthn orka till Malmö | 10:18 | ||
er | |||
jnthn åker till Malmö | |||
masak | orka! :P | 10:19 | |
mberends | updated github.com/jnthn/zavolaj | 10:20 | |
10:22
buu is now known as uub
10:32
ruoso left
10:33
uub is now known as buu
|
|||
mberends | It would be a really useful Rakudo challenge result, to find which other native libraries can now be called using zavolaj. | 10:35 | |
masak | phenny: tell mathw that in trying to compile Form.pm, I'm getting "Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 26". you mentioned being able to compile From.pm -- do you have some local unpushed changes? | 10:39 | |
phenny | masak: I'll pass that on when mathw is around. | ||
10:41
jaffa4 joined
|
|||
masak | jaffa4: \o | 10:41 | |
jaffa4 | hi | 10:42 | |
masak | there's something called GnomeLove that looks a lot like the Rakudo challenge, only larger-scale and older: live.gnome.org/GnomeLove | ||
so it seems we're on the right track. :) | 10:43 | ||
10:43
plobsing left
10:44
FreeStorm joined
|
|||
moritz_ | while discussing the challenge with my girlfriend today I came up with an idea to extend it | 10:46 | |
a todo.perl6.org with lots of challenges tagged by effort, difficutly, involved systems, required knowledge, mentor etc. | 10:47 | ||
and then the weekly challenge would just be "featured" challenge | |||
though calling it 'love' instead of 'todo' is much sweeter :-) | 10:48 | ||
ugh, having a full home directory does bad things to a running thunderbird :( | 10:49 | ||
like re-downloading year old messages | |||
masak | love++ | 10:50 | |
moritz_ | so we just need to find somebody to give that idea some love :-) | ||
10:50
JimmyZ left
|
|||
mberends | so the next challenge is to design love.perl6.org | 10:51 | |
moritz_ | it might be a bit large for a challenge | 10:52 | |
10:54
BrowserUk joined
|
|||
masak | probably something that will have to grow over time... | 10:55 | |
I hope I'll be able to position Emmentaler (the nightly app cheese testing project) such that it can get a web page through a weekly challenge. | 10:58 | ||
moritz_ | it would be great to re-use some kind of software for that | ||
and not write one on our own complete (for the love.perl6.org thing) | 10:59 | ||
writing websites seems like a topic that's gladly accepted | |||
masak | aye. | 11:00 | |
& | |||
pugssvn | r30770 | moritz++ | [S05] clarify how :x and :nth interact | 11:01 | |
r30771 | moritz++ | [t/spec] tests for RT #75234, using a metaop in one class hides it from a second class | 11:02 | ||
11:02
pmurias joined
|
|||
pmurias | hi | 11:02 | |
moritz_ | hi pmurias | ||
11:04
ejs joined
|
|||
pmurias | today is the start of the gsoc coding period :) | 11:04 | |
moritz_ | \o/ | ||
today is a publich holliday | 11:05 | ||
pmurias | which one? | 11:06 | |
moritz_ | Pentecost | 11:07 | |
11:07
moritz_ sets mode: +o pmurias
11:09
ejs left
|
|||
colomon | \o/ # gsoc, Pentecost is not a public holiday here. | 11:09 | |
11:09
ejs joined
11:10
ive joined
|
|||
colomon | moritz_: the thing is, :nth and :x also make sense together if :nth is a single integer. It's just that it makes a completely *different* sort of sense then. | 11:10 | |
11:10
alester left
|
|||
moritz_ | ... which would be inconsistent with the rest of the semantics | 11:10 | |
colomon | moritz_: yes | 11:11 | |
moritz_ | if it were :every-nth I'd allow it | ||
we have 13 public holidays in Bavaria, Germany (3 of which are on a Sunday this year, 2 on a Saturday) | 11:12 | ||
Juerd | How many private holidays do you have? | 11:13 | |
colomon | as many as we can | ||
moritz_ | as many as I dare take | 11:22 | |
11:34
Amshu joined
11:35
Amshu left
|
|||
pmichaud | good morning, #perl6 | 11:54 | |
mberends | good day, pmichaud | 11:55 | |
pmichaud | I finally figured out this morning how to get the REPL to work cleanly with code generation | 11:56 | |
mberends | excellent! | 11:57 | |
pmichaud | so, we should have a working repl shortly after I take the kids to school (i.e., in about 2-3 hours from now) | ||
11:57
TiMBuS joined
|
|||
mberends | that is terrific news | 11:58 | |
12:00
ejs left,
envi^home joined
|
|||
pugssvn | r30772 | pmurias++ | [mildew] my and named arguments in the m0ld replacement | 12:01 | |
r30773 | pmurias++ | [mildew] ? and ¢ support in the perl5 m0ld version | 12:03 | ||
12:08
FreeStorm left
|
|||
masak | pmichaud: \o/ | 12:08 | |
pugssvn | r30774 | pmurias++ | [mildew] fix submolds in the p5 m0ld | 12:09 | |
12:16
mberends left,
skangas left,
xinming left,
Sarten-X left,
mikehh left,
PZt left,
japhb left,
astinus left,
wolverian left,
p6eval left
|
|||
mathw | masak: I do have some local unpushed changes. I also never had that error message! | 12:17 | |
phenny | mathw: 10:39Z <masak> tell mathw that in trying to compile Form.pm, I'm getting "Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 26". you mentioned being able to compile From.pm -- do you have some local unpushed changes? | ||
dalek | kudo: a4d3266 | moritz++ | build/PARROT_REVISION: bump PARROT_REVISION to get some testing after the ops_pct branch merge |
||
masak | mathw: all I did was make sure I had the latest version, run Makefile.PL, modify the Makefile to point to my global 'perl6', and run 'make'. | ||
mathw | yeah that definitely won't work at the moment | 12:18 | |
however, I found the problems I've got now very confusing | |||
12:18
mathw sets mode: +o masak,
mberends joined,
skangas joined,
xinming joined,
Sarten-X joined,
mikehh joined,
PZt joined,
japhb joined,
astinus joined,
wolverian joined,
p6eval joined,
card.freenode.net sets mode: +v p6eval
|
|||
masak | mathw: oh; I thought you said it compiled. | 12:18 | |
mathw | yes | ||
but I'm having trouble actually using it | |||
masak | mathw: if you share the nature of your current problem, maybe I can help. | ||
mathw | I would, but I've got work to do now | 12:19 | |
and I am unfortunately out all evening | |||
12:19
JimmyZ joined
|
|||
mathw | So I can't do any more until tomorrow, when I'll be trying to boil down a test case for jnthn++ as I think it's a Rakudobug | 12:20 | |
possibly two | |||
actually, probably two | |||
I'm curious about your compile error though | |||
as I got various other parse errors, but not that one | |||
masak | I can nopaste it. | 12:21 | |
mathw | they were seriously LTA messages too, as they were quite misleading | ||
please | |||
masak | mathw: gist.github.com/411797 | 12:22 | |
the error message doesn't make any sense. | 12:23 | ||
but I could try to golf it, if that helps. | |||
mberends | try a rough cut Rakudo DBI: github.com/mberends/fakedbi | 12:24 | |
mathw | masak: yeah it doesn't | ||
and it's different to the errors I got | |||
so I can't help straight off | |||
this whole thing is quite bizarre | |||
and I think it might help shake out a few bugs | 12:25 | ||
at least some LTA errors | |||
there are some weird things going on around nested namespaces, qualifed and unqualified class names and the like | |||
masak | mathw: so far, attempting to port GGE has shaken out quite a few bugs. | ||
mathw | there are places I've seen fully-qualified class names not working and causing all sorts of parse crap | ||
masak | it's a lot of work, though :/ | ||
mathw | while unqualified ones work when they shouldn't as those things weren't exported... | ||
masak | we've seen a surge in the number of modules/projects in the past year, but we're still too few actual Perl 6 coders... | 12:26 | |
mathw | yes | ||
well I'm gradually getting the time to get back into Form | 12:27 | ||
masak | \o/ | ||
mathw | and now master can support it again, I intend to shake out bugs until it works | ||
no problems at all with the enums, by the way | |||
some stuff that uses them has even run correctly on my local box :D | |||
12:27
hercynium left
12:28
hercynium joined
|
|||
mathw | of course I only use the most basic part of named enums | 12:28 | |
12:32
ruoso joined
|
|||
masak | mathw: do you have a recent Parrot/Rakudo? | 12:33 | |
mathw | It was current as of Sunday morning | 12:34 | |
I will be updating again before continuing work on this of course | |||
masak | it's quite mysterious why we're getting different results. | 12:36 | |
mathw | yes | ||
masak | mathw: mind if I add a .gitignore file to your repo? | ||
mathw | so I'm hoping that's explained by something that went in since I updated | 12:37 | |
masak: go ahead, do you have push access? I think you do | |||
masak | I think so too. | ||
mathw | well try it and find out :) | ||
12:37
ive left
|
|||
ruoso | bom dia #perl6 | 12:37 | |
mathw | just don't put lib/Form.pm in it :) | ||
phenny | ruoso: 22 May 13:13Z <BrowserUk> tell ruoso In your vision, can coderefs be passed between kthreads? Eg. my $x=123; sub ($a) thing{ return $a * $x } ...; my @a <== map{ thing( $_ ) }, 1 .. 10; That is, the piped map is run in a kthread, it uses thing() which is a first class function, defined in the current kthreads as a closure over $x, which is a lexical defined in the spawning kthread. | ||
ruoso: 22 May 13:15Z <BrowserUk> tell ruoso If closures are done by CPS keeping around stack frames, how does the spawned thread get to see the value of $x? | |||
12:37
ive joined
|
|||
masak | mathw: :) I put the Makefile, lib/Test.pm and *.pir in it. | 12:38 | |
mathw | brilliant | ||
masak | pushed. | ||
mathw | masak++ | ||
12:40
mberends left
|
|||
ruoso | phenny, tell BrowserUk that's where the shared values framework needs to be rounded up. Ideally, it would be detected that $x is shared amongst different kthreads... The other option is doing it via message-passing, so when a thread tries to read a value that belongs to other thread, it would send a message to that thread instead of reading the value directly... | 12:40 | |
phenny | ruoso: I'll pass that on when BrowserUk is around. | ||
12:43
Lorn joined
|
|||
pmurias | ruoso: is it ok if SMOP depends on mildew? | 12:45 | |
12:45
skangas left
|
|||
ruoso | pmurias, I guess... | 12:46 | |
moritz_ thought it would be the other way round | |||
ruoso | unless mildew depends on smop too :) that would make it a bit awckward :) | ||
but I assume you're building the m0ld compiler in mildew | 12:47 | ||
pmurias | yes | ||
ruoso | so yes, it's pretty sane | ||
12:47
tedv joined
|
|||
pmurias | i'm converting the m0ld into mildew's AST | 12:47 | |
ruoso | I see... | ||
that makes sense... | 12:48 | ||
mathw | masak: If you come up with any good fixes for Form.pm that work well for you, feel free to push those as well. | 12:49 | |
masak | will do. | ||
pmurias | ruoso: v6/mildew-old/m0ld is the start of that | ||
masak | right now I'm occupied by $work, but will look at it later. | ||
mathw | However, I think jnthn might prefer bug-revealing test cases :) | ||
pugssvn | r30775 | pmurias++ | [mildew] remove old code | 12:51 | |
12:52
ejs joined
12:57
ejs left
12:59
yinyin left
13:01
ejs joined
|
|||
pmichaud | ....is there a way that I can easily see what got changed as a result of bkeeler++'s merge? | 13:07 | |
I never got a chance to review the last set of proposed changes | |||
13:08
JimmyZ left
|
|||
masak | pmichaud: what about 'git show b9f260'? seems to work here. | 13:10 | |
13:10
ejs left
13:12
JimmyZ joined
13:14
perlygatekeeper joined
|
|||
colomon | pmichaud: I usually look at the list of commits at github.com/rakudo/rakudo/commits/master and click on ones that look interesting to see the diffs. | 13:15 | |
ooo, but if it was a proper merge of two branches, that might be LTA. | 13:16 | ||
pmichaud | it was a merge | ||
so github only shows me the changes that went from master into the branch, not vice-versa | |||
and I'm trying to see the nqp-rx changes, not the rakudo ones (but will need to look at those next) | |||
13:17
clintongormley joined,
sahadev joined
|
|||
pmichaud | crap. this is not how I intended to be spending this morning. | 13:18 | |
sahadev | hello | 13:21 | |
[Coke] | ~~ | 13:22 | |
sahadev | i am getting the error "Could not find sub &infix:<~~> | ||
current instr.: '' pc 289070 (src/gen/perl6-actions.pir:0)" when compiling rakudo. | |||
how do i fix this? | |||
slavik | so, what the new syntax for iterating the iterator? | ||
colomon | moritz_: --gen-parrot doesn't seem to be working for me with your latest patch? | 13:23 | |
[Coke] does a new build with a fresh parrot. | 13:24 | ||
colomon is trying the same now. | |||
yup, just needed to blow away the old parrot before doing perl Configure.pl --gen-parrot | 13:28 | ||
Can't remember seeing that particular failure before, though. | |||
pmichaud | *sigh* | ||
[Coke] | colomon: rakudo just does an 'svn up' in place when updating parrot. that is not guaranteed to work. | ||
pmichaud | okay, repl may be a bit delayed :-( | ||
what needs to happen is that build/gen_parrot needs to be updated to do the realclean before the 'svn up' | 13:29 | ||
[Coke] | pmichaud: even that wouldn't have helped in this case. | ||
pmichaud | currently it's doing the realclean after the svn up, which no longer works | ||
[Coke] | you really need an svnclobber, or whatever it's called. | ||
13:29
viklund left
|
|||
[Coke] | (yup, works for me here on a fresh parrot and rakudo.) | 13:30 | |
13:31
am0c joined
13:37
ejs joined
13:41
dju left
|
|||
masak | sahadev: when are you getting this error? | 13:43 | |
sahadev | masak: .../rakudo/parrot_install/bin/parrot perl6.pbc --target=pir --output=Test.pir Test.pm | 13:44 | |
JimmyZ | .... > $a = 3; | ||
segfault | |||
sahadev | starting with a brand new parrot doesn't help either. | ||
masak | sahadev: odd. haven't heard other similar reports. | ||
sahadev | fwiw, i have seen it on my home laptop and work desktop. both running ubuntu jaunty. | 13:45 | |
masak | and you're installing Rakudo throught git? | 13:46 | |
moritz_ | JimmyZ: known problem | ||
colomon: you need to remove parrot/, or do some serious cleaning in there | |||
colomon | moritz_: yes, I figured that out. | 13:47 | |
sahadev | masak: yes | ||
masak: i have the git source + one patch (rt.perl.org/rt3/Public/Bug/Display....id=75246). that was causing the problem. removing the patch fixed the problem. | 13:49 | ||
masak | huh. | 13:50 | |
13:51
patspam joined
|
|||
masak | sahadev: my best guess, without looking at that patch, is that the patch runs into some of the known troubles with the core/setting/circumlude. | 13:54 | |
13:56
alester joined,
pmurias left
13:59
ejs left
14:09
gbacon joined,
pnu left,
ejs joined
14:11
AndroUser joined
|
|||
jnthn back from meeting | 14:11 | ||
masak | \o/ | 14:12 | |
14:12
pnu joined
|
|||
AndroUser | who am i? | 14:12 | |
bother | |||
masak | AndroUser: welcome :) | 14:13 | |
AndroUser | (colomon trying out irc from phone.) | ||
;) | |||
14:14
PacoLinux joined
|
|||
AndroUser | did that work? | 14:15 | |
:( | |||
14:15
AndroUser left
|
|||
masak | AndroUser: I liked you better as colomon. you seemed happier. | 14:15 | |
14:16
colomon_phone joined,
pmurias joined
|
|||
colomon_phone | there we go | 14:16 | |
jnthn | .oO( is that like banana phone? ) |
14:17 | |
eternaleye | colomon_phone: Maybe colomandroid? | ||
pmurias | diakopter: hi | ||
14:17
pmichaud-ph joined
|
|||
pmichaud-ph | I can do this too. :-) | 14:18 | |
jnthn gets phone envy | |||
colomon_phone | eternaleye: colomonbot would be shorter. ;) | ||
pmichaud | jnthn: you got an HTC also? ;-) | ||
14:19
dakkar_ joined,
dakkar left
|
|||
pmichaud | oh, wait, that's an LG phone | 14:19 | |
jnthn | pmichaud: :-P | ||
I don't have any phone that you might class as "smart" | |||
pmichaud | (www.lgmobilephones.com/phone.aspx?id=298 for those missing the reference) | ||
jnthn | pmichaud: Did I hear something about repl? :-) | 14:20 | |
pmichaud | I'm eagerly awaiting the new os update for my phone :-) | ||
jnthn: yes, but I'm going to hold off on the repl so I can fix the interpolation changes that got pushed in over thew eekend | |||
jnthn | Interpolation changes? | ||
Oh, regex ones. | |||
pmichaud | right | ||
14:20
mikehh left
|
|||
jnthn | :-) | 14:20 | |
pmichaud | they're.... still not right. | 14:21 | |
jnthn | Ah. | ||
Don't do the right thing, or do the right thing wrongly? | |||
[Coke] | pmichaud: you get my yapc-related message? | ||
pmichaud | a little of both | ||
mostly it adds way too many dependencies between things | |||
[Coke]: no, not yet | 14:22 | ||
[Coke]: I haven't decided yet on yapc, and no, I don't have anyone covering my talks yet. | |||
14:23
rgrau` left
|
|||
[Coke] | hokay. | 14:23 | |
I thought you had decided in the negative. if I can convince you to go, lemme know. =-) | |||
pmichaud | it's still dependent on travel expenses | 14:24 | |
sahadev | masak: changing '$l ~~ Iterable' form to 'Iterable.ACCEPTS($_)' form in the patch doesn't fail compilation. | 14:25 | |
pmichaud | .oO( wouldn't that be Iterable.ACCEPTS($l) ?) |
14:26 | |
masak | sahadev: cool. what pmichaud said. | ||
or thought. | |||
sahadev | pmichaud: yes. that was a typo. | 14:27 | |
colomon_phone | pmichaud: I was looking forward to meeting you... | ||
14:28
pmichaud-ph left
|
|||
masak | rakudo: sub foo(Str $x) #`{LOL IMA COMMENT} { ... } | 14:28 | |
p6eval | rakudo a4d326: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1812 (ext/nqp-rx/src/stage0/Regex-s0.pir:1008)» | ||
masak | mathw: there's the error. a comment in that place. | ||
std: sub foo(Str $x) #`{LOL IMA COMMENT} { ... } | |||
p6eval | std 30775: OUTPUT«ok 00:01 116m» | ||
masak submits rakudobug | |||
there are variants, too. | |||
rakudo: sub foo($x) #`{LOL IMA COMMENT} { ... } | 14:29 | ||
p6eval | rakudo a4d326: OUTPUT«Symbol '$ss_SS_S_S__S_S_s' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)» | ||
PerlJam | colomon_phone: pay his travel expenses :) | ||
masak | er. | ||
locally, that gives "Lexical '$x' not found" | |||
mathw | masak: aaaaaaah | ||
masak | mathw: now, how come that doesn't blow up for you? | ||
pmichaud | I don't think that Rakudo ng knows #`{....} comments yet. I could be wrong about that. | 14:30 | |
(alpha did.) | |||
masak | hence the rakudobug. | ||
mathw | masak: I don't know | ||
sahadev | rakudo: my @a = 0..2; for @a { $_++ if $_ } say @a.perl | ||
p6eval | rakudo a4d326: OUTPUT«Confused at line 11, near "for @a { $"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
sahadev | rakudo: my @a = 0..2; for @a { $_++ if $_ }; say @a.perl | ||
pmichaud | rakudo: 3+4 # just curious | ||
p6eval | rakudo a4d326: OUTPUT«[0, 2, 3]» | ||
rakudo a4d326: ( no output ) | |||
colomon_phone | PerlJam: alas, only reason I can go is it is dirt cheap for me. | ||
masak | sahadev: semicolon after block. | ||
PerlJam | colomon_phone: yeah, I know the feeling. | 14:31 | |
sahadev | rakudo: my @a = 0..2; for @a { if $_ { $_++ } }; say @a.perl | ||
p6eval | rakudo a4d326: OUTPUT«[0, 1, 2]» | ||
masak | sahadev: ah, you did that. sorry :) | ||
sahadev | masak: no problem. | ||
is this a known bug? | |||
the second form (for @a { if $_ { $_++ } }) fails. | 14:32 | ||
for @a { $_++ if $_ } # works | |||
pmichaud | sahadev: I don't think it's in RT, no. | ||
sahadev: (yes, I was aware of the potential bug there.) | |||
14:32
pyrimidine joined
|
|||
sahadev | cool | 14:32 | |
14:34
dakkar_ is now known as dakkar
|
|||
sahadev | pmichaud: should i go ahead and submit a bug? | 14:34 | |
[Coke] | sure. | ||
pmichaud | sahadev: +1 | ||
cognominal | I want to do some write dumping alernative to --target=parse somehow I can't find how it is done in rakudo :( | 14:35 | |
any clue? | |||
I found a __dump method, but that's for nqp | |||
pmichaud | cognominal: it's the same method | ||
cognominal: it's just using Data::Dumper from Parrot. | 14:36 | ||
(and dumping the match tree using that) | |||
cognominal | strange, I added a fake function call to get a stack trace and it did not go thru that. Thx, with your reassurance I will find it | 14:37 | |
pmichaud | the code that handles the parse tree dump is in github.com/perl6/nqp-rx/blob/master...Dumper.pir | ||
dalek | kudo: 49b2c13 | Shrivatsan++ | src/core/Iterator.pm: added .fmt method to Iterator.pm so that fmt can take Iterators of any form. |
14:38 | |
pugssvn | r30776 | moritz++ | [t/spec] unfudge .fmt tests for rakudo | 14:43 | |
dalek | kudo: 10a3218 | moritz++ | CREDITS: add isBEKaml to CREDITS |
14:44 | |
pugssvn | r30777 | moritz++ | [t/spec] tests for RT #67278, non-awesome error message for class Foo does NonRole | 14:46 | |
14:47
mj41_ joined
|
|||
cognominal | masak, if you want to train in "modern shakespeare", read the two gentlemen of lebowski :) | 14:50 | |
14:50
mj41 left
|
|||
masak | cognominal: I read it; it's wonderful :) | 14:50 | |
14:50
mj41_ is now known as mj41
14:51
iblechbot joined
|
|||
jnthn | rakudo: class Foo does NonRole { } | 14:52 | |
p6eval | rakudo a4d326: OUTPUT«Typename NonRole must be pre-declared to use it with does at line 11, near "{ }"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
jnthn | rakudo: class NonRole { }; class Foo does NonRole { } | ||
p6eval | rakudo a4d326: OUTPUT«Can only use does with a role, but NonRole is not onecurrent instr.: '&die' pc 18143 (src/builtins/Junction.pir:381)» | ||
jnthn | rakudo++ | ||
moritz_ | jnthn++ | ||
14:54
rv2733 joined
|
|||
ajs | Well, I wanted to get further, but need to run. tiny.cc/x9i6x now passes 7/12 of its tests. (URI.pm) I need to fix some additional issues and eventually need to figure out the solution to that character range issue I sent out mail about, but it's starting to shape up! | 14:55 | |
Now if I could just get my firewall to play ball with git :-/ | 14:56 | ||
moritz_ | ajs: can't you just push to github? | 14:57 | |
ajs | I could... I was trying to be all independet, like, but yeah, that'll probably be tonight | ||
moritz_ | with git you're not so dependent on the repo hoster | 14:58 | |
if you don't like github anymore, you can just push to $any_other_location | |||
masak | rakudo: enum A <a b c>; class Foo does A {} | 14:59 | |
moritz_ | it's not like extracting all history was difficult :-) | ||
p6eval | rakudo a4d326: OUTPUT«Can only use does with a role, but {"b" => 1, "c" => 2, "a" => 0} is not onecurrent instr.: '&die' pc 18143 (src/builtins/Junction.pir:381)» | ||
jnthn | lol | ||
masak: Yeah, it just .perl's the thing...which for a typename usually works out great. :P | |||
masak | jnthn: I'll not submit that one, because the cause of it was submitted yesterday. | 15:01 | |
(A being an EnumMap) | 15:02 | ||
jnthn | It shouldn't be? | 15:03 | |
masak | an anonymous enum should, yes. | 15:05 | |
a named one should wrap an EnumMap. | |||
jnthn | ah | ||
Patches welcome. | |||
masak | (retreivable through .enums) | ||
jnthn: I might attempt it. in my copious spare time. | |||
jnthn | I just did the minimum implementation that might work. | ||
masak | jnthn++ | ||
jnthn | Which, by the way, I've not heard feedback about as to whether it's useful for the cheese - is it? | ||
pyrimidine | rakudo: rakudo: my @list = ' ', ' <', '<', '>', '&'; say " <>&".match(/ @list /, :g).join("\n"); | ||
p6eval | rakudo a4d326: OUTPUT«Confused at line 11, near "rakudo: my"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
masak | the type of A must be something that implements .pick correctly, too. | ||
pyrimidine | rakudo: my @list = ' ', ' <', '<', '>', '&'; say " <>&".match(/ @list /, :g).join("\n"); | ||
masak | rakudo: enum A <a b c>; say A.pick | ||
p6eval | rakudo a4d326: OUTPUT« <>&» | 15:06 | |
rakudo a4d326: OUTPUT«c 2a 0b 1» | |||
pyrimidine | sorry 'bout mangling that :( | ||
Is LTM working with var interpolation in nqp-rx? | 15:07 | ||
I would think that should pick ' <', not the two smaller matches | 15:08 | ||
masak doesn't think LTM works there yet | |||
pyrimidine | ok. | 15:09 | |
jnthn | No, I think not. | ||
pmichaud | no, I don't think it works there | ||
it can be made to work there after I finish my fixes to the regex interpolator | |||
(working on that now) | |||
15:09
colomon_phone left
|
|||
pyrimidine | ok. working on .trans, and have it working with a few exceptions | 15:09 | |
like that one | |||
BrowserUk | ? | 15:10 | |
phenny | BrowserUk: 12:40Z <ruoso> tell BrowserUk that's where the shared values framework needs to be rounded up. Ideally, it would be detected that $x is shared amongst different kthreads... The other option is doing it via message-passing, so when a thread tries to read a value that belongs to other thread, it would send a message to that thread instead of reading the value directly... | ||
15:10
orafu left
|
|||
pyrimidine | rakudo: my @list = ' <', '<', '>', '&'; say " <>&".match(/ @list /, :g).join("\n"); | 15:10 | |
p6eval | rakudo a4d326: OUTPUT« <>&» | ||
pyrimidine | rakudo: my @list = ' ', ' <', '>', '&'; say " <>&".match(/ @list /, :g).join("\n"); | 15:11 | |
p6eval | rakudo a4d326: OUTPUT« >&» | ||
pyrimidine | leftmost | ||
15:11
JimmyZ left
|
|||
pyrimidine | *leftmost first | 15:11 | |
15:12
orafu joined
15:13
skangas joined
|
|||
BrowserUk | phenny: tell ruoso, I think that message-passing is a red-herring here. a) Sending a message to another thread, implies that the other thread has a message loop (that is polled regularly). b) How does the calling thread identify the variable (in the callee's context) that it needs the value of? c) If the operation in the calling thread is <read $x; do some things; update $x> then you have the liveness/locking problem. | 15:26 | |
phenny | BrowserUk: I'll pass that on when ruoso is around. | ||
[Coke] | any perl6's who are going to yapc::na for sure? | 15:30 | |
colomon | [Coke]: me | ||
[Coke] | sixperlers? (is that better?) | ||
colomon | perlsixers? | 15:31 | |
[Coke] | colomon: woot. are you running the rosa BOF room? =-) | ||
colomon | errr.... no? what's a "rosa BOF room"? | ||
[Coke] | yapc2010.com/yn2010/schedule?day=2010-06-21 | 15:32 | |
ah, even better: yapc2010.com/yn2010/event/671 | 15:33 | ||
colomon | This is the first I've actually seen the schedule. There's an all day Perl 6 / Parrot workshop both days!?! | ||
pmichaud | there's a room reserved for Perl 6 / Parrot stuff | ||
it's not really an organized "workshop" (yet?) | |||
[Coke] | pmichaud: I don't see it turning into one. | 15:34 | |
pmichaud | [Coke]: me either | ||
we should probably get that title changed | |||
colomon | what is it intended to be? | 15:35 | |
BrowserUk | phenny: tell ruoso, I see 4 possilble solutions: 1) whenever a variable is closed over, it is lifted into a global pad at compile-time; Not good because it imposes locking on all closed-over vars regardless of whether then ever transend threads. 2) They only get lifted to the global pad at runtime when they are used cross-kthread; How easy is it to distinguish closed-overs from normal lexicals from within a sub? | ||
phenny | BrowserUk: I'll pass that on when ruoso is around. | ||
[Coke] | good idea. (allison has already indicated the focus should be more sixy than parrot), and we should remove "workshop". | ||
colomon: an excellent question. | 15:36 | ||
pmichaud | at YAPC::NA last year, there was a 2-day Parrot workshop before the conference | ||
[Coke] | (which we're not doing this year!) | ||
pmichaud | this year, no such thing was schedule. particle++ contacted the conference organizers and said "we'd like some space to hold some parrot / rakudo workshops" and that's what we got. | ||
*scheduled | |||
colomon | oooo, Conway workshops. | ||
BrowserUk | phenny: tell ruoso, 3) Lift the entire closure into the global pad at compile time; Not good for the same reasons as 1), but more so. 4) Lift the entire closure to the global pad at runtime. Can closures be distinguished from non-closures at runtime? I favour 1), but 4 might be better in a CPS environment? | 15:37 | |
phenny | BrowserUk: I'll pass that on when ruoso is around. | ||
[Coke] asks in #yapc. | 15:38 | ||
BrowserUk | phenny: tell ruoso, Correction: I favour 2), but 4) ... | ||
phenny | BrowserUk: I'll pass that on when ruoso is around. | ||
15:38
TiMBuS left
|
|||
colomon | I see day 2 has four really exciting sounding panels, sweet! | 15:39 | |
and I think [Coke] is already signed up for all of them... :) | |||
pmichaud | argggh... The Perl 6 talk is scheduled opposite of the IronMan forfeit talk?!? | 15:42 | |
jnthn | :/ | 15:44 | |
pmichaud | I think I'll switch my talks around :) | 15:45 | |
(assuming I end up going, of course ) | |||
masak | swimming & | ||
15:45
masak left
15:49
masonkramer left
|
|||
ruoso | BrowserUk, the problem is, every block is a closure... | 15:49 | |
phenny | ruoso: 15:26Z <BrowserUk> tell ruoso I think that message-passing is a red-herring here. a) Sending a message to another thread, implies that the other thread has a message loop (that is polled regularly). b) How does the calling thread identify the variable (in the callee's context) that it needs the value of? c) If the operation in the calling thread is <read $x; do some things; update $x> then you have the liveness/locking problem. | ||
ruoso: 15:35Z <BrowserUk> tell ruoso I see 4 possilble solutions: 1) whenever a variable is closed over, it is lifted into a global pad at compile-time; Not good because it imposes locking on all closed-over vars regardless of whether then ever transend threads. 2) They only get lifted to the global pad at runtime when they are used cross-kthread; How easy is it to distinguish closed-overs from normal lexicals from within a sub? | |||
ruoso: 15:37Z <BrowserUk> tell ruoso 3) Lift the entire closure into the global pad at compile time; Not good for the same reasons as 1), but more so. 4) Lift the entire closure to the global pad at runtime. Can closures be distinguished from non-closures at runtime? I favour 1), but 4 might be better in a CPS environment? | |||
15:50
masonkramer joined
|
|||
phenny | ruoso: 15:38Z <BrowserUk> tell ruoso Correction: I favour 2), but 4) ... | 15:50 | |
15:50
jotr^afk left
|
|||
[Coke] | I am happy about yapc2010.com/yn2010/talk/2765 but sad it's friday and I can't stay. | 15:54 | |
pmichaud | weird, looking at that page one cannot see the title of the talk | ||
(or, at least, I can't) | 15:55 | ||
[Coke] | Damian - Hands-on Perl 6 with Rakudo | 15:56 | |
pmichaud | I mean in the text of the page itself | ||
jnthn | Nice! | ||
pmichaud | first thing I see is "By Damian Conway..." | 15:57 | |
jnthn wonders if Damian will do such a course at YAPC::EU | |||
15:57
Ross joined
|
|||
colomon | that's cool, but I will be long gone by friday too. :( | 15:57 | |
15:58
pyrimidine left
|
|||
jnthn | pmichaud: I see the same, fwiw. | 15:59 | |
16:01
pyrimidine joined
|
|||
ruoso | phenny, tell BrowserUk assuming the other kthread is reading an input is already a given by the "every kthread has a cooperative scheduler for coroutines". We would just enqueue a new coroutine in the target kthread. About closure/non-closure... every block is a closure in Perl 6... In my head... the alternative to shared-values (if it gets too expensive or too hard) is going to the actor model... | 16:01 | |
phenny | ruoso: I'll pass that on when BrowserUk is around. | ||
jnthn notices there's a talk about Blizkost too | |||
16:05
justatheory joined
16:09
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
[Coke] | pmichaud: to add to your pile: | 16:14 | |
12:13 <@robkinyon> Coke: that name was at pmichaud's request | |||
12:13 <@robkinyon> so, take it up with him. :) | |||
so if /you/ could request the name change for the ``workshop'', that'd cut through some red tape. | 16:15 | ||
[particle] | i'm sure i could do it as well | 16:16 | |
[Coke] | very likely. | ||
I don't think they even know for sure who asked for it. | 16:17 | ||
[particle] | no, i asked for it. they don't know, for sure :) | ||
what do you want to nam eit? | |||
[Coke] | so far all I have is "not a workshop" | ||
BrowserUk | ruoso: BrowserUk, the problem is, every block is a closure...even blocks that do not use any variables from outside the current scope? If so, why? | 16:18 | |
phenny | BrowserUk: 16:01Z <ruoso> tell BrowserUk assuming the other kthread is reading an input is already a given by the "every kthread has a cooperative scheduler for coroutines". We would just enqueue a new coroutine in the target kthread. About closure/non-closure... every block is a closure in Perl 6... In my head... the alternative to shared-values (if it gets too expensive or too hard) is going to the actor model... | ||
bkeeler | pmichaud: Sorry to hear I messed up, I thought I had it pretty much they way we talked about. What did I get wrong? | ||
[Coke] | "Perl 6 (and parrot) BOF" seems better. I'd shop it around though. | ||
pmichaud | bkeeler: the regex code shouldn't be calling methods to convert values to strings/regexes | 16:19 | |
that should be set up by the HLL | |||
also, there would be recursion problems with something like [ $a ] * | |||
er | |||
[ $a ]* | |||
[Coke] | also be nice if there was a description that mentioned something about a hackathon, a BOF, and that the room isn't necessarily going to be manned the whole day, as we're attending the conference too. | ||
pmichaud | because the iterator register would get clobbered on the repetition | ||
or, more clearly: [ @a ]* | 16:20 | ||
bkeeler | pmichaud: Hmmm, sounds nasty | 16:21 | |
pmichaud | I have some updated regex code -- just bring NQP along to match now | ||
BrowserUk | Ruoso: "We would just enqueue a new coroutine in the target kthread." Okay, but how long before the coroutine that is currently running there will yield so that the new one will run? And that doesn't deal with the <read $x; do things; update $x;> scenario: Eg, the classic bank account withdrawal if fund available. You need to queue a second trans-kthread coroutine to do the update. And liveness is gone. | 16:23 | |
pmichaud | *bringing | ||
16:24
am0c left
|
|||
colomon | [Coke]: "hackathon, a BOF, and that the room isn't necessarily going to be manned the whole day, as we're attending the conference too" -- I'd definitely be interested in helping out with something like that. heck, outright excited about hackathoning... | 16:28 | |
pyrimidine | if I were to do something like / @alts /, where @alts is a mix of strings, ranges, regexes, is it possible to look up the type in the Match object? | ||
I would think $($/).keys, but it's not working | 16:29 | ||
[Coke] | colomon: I plan on being there when not attending talks. | 16:30 | |
colomon | [Coke]: bad news on that front is I think you and I want to attend the same talks. :) | 16:31 | |
(ie we can't be trading off shifts there.) | |||
Though I'd be surprised if many people interested in Perl 6 didn't want to hear Pm or Damian talk. | 16:32 | ||
bbkr | rakudo: say 1...1..0 # this one kills Rakudo, should it be check for valid type on right side of ... operator? | ||
p6eval | rakudo a4d326: ( no output ) | ||
colomon | bbkr: it should work | ||
it's a ... bug | |||
bbkr reports | 16:33 | ||
colomon | bbkr: actually, what error does it get? | 16:34 | |
(and looking at it again, it shouldn't work, exactly.) | |||
(oh, I see, no output) | |||
bbkr | no error, looks like infinite loop | 16:35 | |
colomon | rakudo: say 1..0 | ||
p6eval | rakudo a4d326: OUTPUT«» | ||
colomon | rakudo: say 1...() | ||
p6eval | rakudo a4d326: ( no output ) | ||
colomon | yeah, okay, that won't ever do anything useful. | ||
16:36
isBEKaml joined
|
|||
isBEKaml | hello, #perl6! | 16:36 | |
colomon | o/ | ||
16:37
proller left
|
|||
bbkr | colomon: so is it bug or not (despite code being pointless)? | 16:37 | |
colomon | btw, I don't see any obvious way to type \ on my phone, which means if I irc from it one hand will get worn out. | ||
bbkr: definite bug, I'd say. | 16:38 | ||
but it should just give an error message of some sort. | |||
you're supposed to be able to pass an array on the RHS of ... | |||
but I don't think there is spec for the array being empty. | 16:39 | ||
bbkr | colomon: thanks, bug submitted | ||
colomon | bbkr++ | ||
16:41
dju joined,
dju left
16:42
constant left,
dju joined
|
|||
TimToady | more precisely, the RHS is supposed to be a list, not an array | 16:43 | |
colomon | TimToady++ # for saying it clearly. | ||
so, what if the RHS is the empty list? | 16:44 | ||
TimToady | then the first value is not terribly useful | 16:45 | |
if the .get on that list returns EMPTY, probably the ... returns EMPTY as well | |||
or possibly the list on the left | 16:46 | ||
but that kinda goes against the part of the spec that says 1,2,3...2 returns 1,2 | |||
colomon | rakudo: say 1, 2, 3...2 | 16:47 | |
p6eval | rakudo 10a321: ( no output ) | ||
colomon | apparently need to add that test too.... | ||
isBEKaml | rakudo: say 1...1,2,3,4; | ||
p6eval | rakudo 10a321: OUTPUT«1» | ||
TimToady | the rationale is that people will write subscripts like .[2,4,6...$max] | 16:48 | |
colomon | isBEKaml: that one should return 1, 2, 3, 4 | ||
16:48
proller joined,
envi^home left
|
|||
isBEKaml | colomon: known bug? | 16:48 | |
colomon | yes | ||
more NYI than bug. ;) | |||
isBEKaml | :) | ||
16:48
constant joined,
constant left,
constant joined
|
|||
[Coke] wishes for "perldoc -f ..." | 16:49 | ||
TimToady | but interestingly, by the above policy, 1...1,2,3,4...2 should return 1,2 | ||
16:49
pmurias left,
ruoso left
|
|||
TimToady | it's hard to know what the best default is on that | 16:50 | |
either way will surprise people | |||
depends on whether they are thinking of 2,4,6 as abstract or concrete, and we can't know | |||
isBEKaml | rakudo: my @list=<a b c d>; say 1...@list; ## is this right usage? my local rakudo goes into a spin.... | 16:51 | |
TimToady | but I think taking it as abstract is probably better | ||
p6eval | rakudo 10a321: ( no output ) | ||
colomon | particularly when 1...1,2,3,4,5...2 should return 1, 2, 3, 4, 5, 6, 7, 8... | ||
isBEKaml: no | |||
isBEKaml: what are you trying to do? | |||
isBEKaml | colomon: I just looked at RHS of ... should be a list. Curious what that would take, so put that in.. ;) | 16:52 | |
colomon | isBEKaml: ah. well, first, the list elements should be roughly the same type as the start element. Mixing 1 and 'a' is weird. | 16:53 | |
isBEKaml: second, lists on the RHS is NYI. | |||
isBEKaml | right. | ||
[particle] | the other way to say NYI is DIY ;) | 16:56 | |
bbkr | std: 1, * ... 1 | ||
p6eval | std 30777: OUTPUT«ok 00:01 114m» | ||
bbkr | rakudo: 1, * ... 1 | ||
p6eval | rakudo 10a321: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
bbkr | hmm, example abowe - NYI or a bug? | ||
above* | |||
colomon | TimToady: any idea what 1, * ... 1 should do? | ||
bbkr: I think that one might be a "bug" in STD. | 16:57 | ||
[Coke] | I would expect that to be (1) | 16:58 | |
colomon | [Coke]: but what does the * mean in this context? | ||
16:58
Ross left
|
|||
[Coke] | colomon: does it matter, we never get there? | 16:58 | |
bbkr | why? according to S03 it's legal syntax. 1,*...4 should be 4x '4' | ||
4x '1' | |||
isBEKaml | wait, why does it say "Block" there? | ||
colomon | [Coke]: it does matter, because we look to the * to figure out what the pattern for the series is. | 16:59 | |
and we're looking for a closure, not a loose Whatever. | |||
[Coke] | (do you need the pattern if you don't have to get by the first element?) | ||
colomon | bbkr: errr... if the spec says that, it's wrong, IMO. | ||
16:59
Ross joined
|
|||
colomon | [Coke]: figuring out the pattern is done first. | 16:59 | |
bbkr | there is example in S03, which also crashes on Rakudo: 1, -* ... * # 1, -1, 1, -1, 1, -1... | 17:00 | |
[Coke] | colomon: no, by my reading of the spec. | ||
you get the limit (first element of the RHS), then you evaluate the list on the left one at a time, until you are eqv to the limit. | |||
so, you'd get the 1 from the RHS, then pull the 1 from the LHS, and then you're done. | 17:01 | ||
but, I iz not a larry. | |||
bbkr | Coke: indeed, i understood it the same way | ||
colomon | rakudo: (1, { -$_ } ... *).perl.say | 17:02 | |
p6eval | rakudo 10a321: OUTPUT«(1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, {???} ... ???)» | ||
colomon | rakudo: (1, -* ... *).perl.say | ||
p6eval | rakudo 10a321: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
colomon | bbkr: that one is just an example of Whatever closures not fully working yet. | ||
bbkr | colomon: ok, then i won't report it if it's just NYI | 17:03 | |
17:04
ruoso joined
|
|||
colomon | [Coke]: I think you're right. | 17:07 | |
pugssvn | r30778 | lwall++ | [S03] typo noticed by markjreed++ | ||
17:08
dakkar left
|
|||
colomon | [Coke]: maybe. it's a really perverse case. | 17:08 | |
17:12
SmokeMachine joined
|
|||
ruoso | BrowserUk, around? | 17:12 | |
colomon | .oO(We could probably use dozens of additional test cases in the series test files....) |
||
17:21
SmokeMachine left
17:22
skangas left,
ash__ joined
|
|||
bbkr | rakudo: say Inf.Int !% Inf.Int + 1 # bug? according to S03 it should return true or false, why it returns "2" ? | 17:28 | |
p6eval | rakudo 10a321: OUTPUT«2» | ||
pmichaud | because false == 0 in a numeric context? | ||
or true == 1 in a numeric context? | |||
rakudo: say +(Inf.Int !% Inf.Int) | |||
p6eval | rakudo 10a321: OUTPUT«1» | ||
pmichaud | rakudo: say (Inf.Int !% Inf.Int).WHAT | ||
p6eval | rakudo 10a321: OUTPUT«Bool()» | 17:29 | |
bbkr | rakudo: say (Inf.Int !% Inf.Int + 1).WHAT | ||
p6eval | rakudo 10a321: OUTPUT«Num()» | ||
17:29
skangas joined
|
|||
pmichaud | the infix:<+> coerces its arguments into numbers | 17:30 | |
TimToady | rakudo: say (Inf.Int % Inf.Int).WHAT | ||
p6eval | rakudo 10a321: OUTPUT«Int()» | ||
TimToady | rakudo: say (Inf % Inf).WHAT | 17:31 | |
p6eval | rakudo 10a321: OUTPUT«Num()» | ||
TimToady | though, arguably, $x % Inf is the identify function :) | 17:32 | |
rakudo: say Inf % Inf | |||
bbkr | still - if "Inf.Int + 2" is "Int" then I expect Bool from !% operator, not Num, right? | ||
p6eval | rakudo 10a321: OUTPUT«NaN» | ||
pmichaud | bbkr: precedence | 17:33 | |
% has higher precedence than + | |||
TimToady | sure, ! always forces Bool | ||
pmichaud | rakudo: say Inf.Int !% (Inf.Int + 1) | ||
p6eval | rakudo 10a321: OUTPUT«1» | ||
bbkr | indeed, thanks, not a bug. | 17:34 | |
colomon | and Bool::True == 1 | ||
(and I think bbkr figured out what was going on before I did. should have stayed quiet. :) | |||
TimToady | rakudo: say 42.0 % Inf | ||
p6eval | rakudo 10a321: OUTPUT«NaN» | ||
TimToady | does IEEE require that? or is it a guess? | 17:35 | |
bbkr | it was tricky, because there is no !% operator in S03 "precedence" section | ||
pmichaud | ! is a meta-operator | ||
TimToady | seems like you ought to preserve the identity that $x % $y is always $x if $y is larger | 17:36 | |
even if $y is Inf | |||
I can see that Inf % Inf is indeterminate, though | 17:37 | ||
jaffa4 | rakudo: m:g/g/; | 17:41 | |
p6eval | rakudo 10a321: OUTPUT«Confused at line 11, near "m:g/g/;"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
jaffa4 | std: m:g/g/; | ||
p6eval | std 30778: OUTPUT«ok 00:01 114m» | ||
TimToady | and Perl 5 agrees with me that 42 % Inf should be 42, not NaN | ||
masak: ^^^ | 17:42 | ||
jaffa4 | Is there Inf in Perl 5? | ||
TimToady | masak: also, you are correct that there are 7 sets :) | ||
BrowserUk | Hey ruoso? | 17:43 | |
isBEKaml | ops2c.pl is deprecated. Use ops2c$(EXE) instead at ..../parrot/lib/2.4.0-devel/tools/build/ops2c.pl line 13 ## DAE see this? | 17:44 | |
I got that when building the latest Rakudo.. | |||
17:44
SmokeMachine joined
|
|||
isBEKaml | I don't remember seeing this before.. | 17:44 | |
[Coke] | yup. it's a warning, that's all. | 17:45 | |
parrot changed how it converts dynamic opcode source to C and is letting us know we might want to switch it over (but it's doing the new thing under the covers for us) | |||
isBEKaml | oh, I see.. I got some of unversioned file clashes when svn upping it. So, I removed them and svn upped again. | 17:46 | |
BrowserUk | ruoso: If I'm on the list, I'm around, probably just on another tab or screen. A /msg should get my attention. | ||
17:51
dual left
17:55
dual joined
18:00
jaffa4 left
|
|||
colomon | TimToady: is 1 ... 10, 20 ... 100 really (1 ... 10, 20) ... 100 ? | 18:02 | |
18:05
kaare joined,
kaare is now known as Guest62023
18:07
ejs left
18:12
Guest62023 left
18:15
lisppaste3 left,
lisppaste3 joined
|
|||
Tene | phenny: tell masak ping | 18:16 | |
phenny | Tene: I'll pass that on when masak is around. | ||
18:17
patrickas joined
|
|||
patrickas | hello perlsixers | 18:17 | |
TimToady | colomon: I suspect it's more like 1 ... ( 10, 20 ... 100 ) | 18:27 | |
colomon | TimToady: I ask because it seems like it's very important for some degenerate-ish cases. | 18:29 | |
TimToady | yes, like what would ... do with 9, 10, 20 on the left? | ||
colomon | 1 ... 10 ... 1, for instance. | ||
TimToady: good one too. | 18:30 | ||
18:30
plobsing joined,
ash__ left
|
|||
colomon | (1 ... 10) ... 1 is just 1, right? | 18:31 | |
TimToady | I think the right associative is a bit more dwimmy, and you can always parenthesize the left to get around it | ||
yes, whereas the clear intent of 1 ... 10 ... 1 is 1 ... (10 ... 1) | |||
PerlJam | "clear intent"? | 18:32 | |
a confused programmer's intent is never clear :) | |||
colomon | PerlJam: 1 ... 10 ... 1 could be a lot of work to go through to get the list (1) | ||
TimToady | I cannot imagine even a confused programmer writing that expecting to get (1) | 18:33 | |
18:33
XaeroOne left
|
|||
TimToady | rakudo: say ~( 1 ... ( 10 ... 1 ) ) | 18:34 | |
p6eval | rakudo 10a321: OUTPUT«Cannot resume dead coroutine.current instr.: 'perl6;GatherIterator;get' pc 582331 (src/gen/core.pir:102521)» | ||
TimToady | oh, right :) | ||
colomon | gather / take bug. :( | ||
rakudo: say ~( 1 ... ( 10 ... 1 ).eager ) | |||
p6eval | rakudo 10a321: OUTPUT«1» | ||
colomon | still doesn't work because .... interesting. | ||
and amusing. | |||
TimToady | rakudo: say ( 10 ... 1 ).eager.Str | 18:35 | |
p6eval | rakudo 10a321: OUTPUT«10 9 8 7 6 5 4 3 2 1» | ||
colomon | RHS has to be a single scalar atm | ||
so I really don't know how you get "1" as a answer for ~( 1 ... ( 10 ... 1 ).eager | |||
TimToady | well, it's a list, and is evaluated first, so that pretty much asks for right associative right there | 18:36 | |
rakudo: say +( 10 ... 1 ) | |||
p6eval | rakudo 10a321: OUTPUT«10» | ||
colomon | seems like list infix precedence isn't right for what we're talking about? | 18:37 | |
TimToady | list infixes are list associative, which means the operator gets to decide the semantics | 18:40 | |
colomon | oh, cool! | 18:42 | |
TimToady | multi infix:<...> (**@lists) can evaluate @lists in any order | ||
PerlJam ponders a listfix ... that can't make up its mind. | |||
colomon | oh, bother. it's just a variation on that. | 18:43 | |
I was thinking that somehow ... could specify that it was right associative and then be implemented in terms of just pairs of lists. | |||
this actually gets at the differences. I was originally thinking that each pair of @lists would be evaluated. | 18:44 | ||
I mean, you'd do @lists[0] ... @lists[1] | |||
@lists[1] ... @lists[2] | |||
et | |||
etc | |||
and then the results would be pasted together. | |||
but that will get you radically different answers than @lists[0] ... (@lists[1] ... @lists[2]) would | 18:45 | ||
18:46
cognominal left
|
|||
TimToady | multi infix:<...> ($x,*@y) { $x ... ( infix:<...>(|@y) ) }; multi infix:<...> ($x,$y) { #`{your ad here} } or some such, modulo slicing sigs | 18:48 | |
18:49
cognominal joined
18:54
perlygatekeeper left
18:59
SmokeMachine left
19:02
ShaneC joined,
ShaneC left
|
|||
TimToady | masak: if we ever get quantum computers, Complex will be very much a part of the core. :) | 19:03 | |
in any case, Complex is much more fundamental to how the universe works than DateTime is, regardless of how often it is used. | |||
moritz_ | so is group theory :/ | 19:04 | |
but I'd be OK with moving DateTime to a module | |||
and Date | |||
and keep only Instant in core | 19:05 | ||
TimToady | I'm okay if gregorian is in core, or out, can argue both ways... | ||
bbiab & | 19:06 | ||
pyrimidine | so, if we have '@list = <a b c d>' and we wanted to get the Match keys for something like 'abc' ~~ / @list/, would the keys be $<a> to $<c>? | 19:10 | |
moritz_ | interpolation doesn't capture | ||
rakudo: my @list = <a b c d>; say 'abc' ~~ / @list / | |||
p6eval | rakudo 10a321: OUTPUT«a» | ||
moritz_ | rakudo: my @list = <a b c d>; say 'abc' ~~ / @list+ / | 19:11 | |
p6eval | rakudo 10a321: OUTPUT«abc» | ||
pmichaud | okay, question (mainly for moritz_ and bkeeler) | ||
I've found a much simpler solution to the regex interpolation thing, but trying to patch it in to what has already been applied is a bit tricky. | 19:12 | ||
should I simply revert the nqp merge and start from there, or ... ? | |||
pyrimidine | maybe branch just prior to the merge, then add in? | ||
bkeeler | If it makes sense to start over, feel free. | ||
pmichaud | turns out we really don't need the new nodetype | 19:13 | |
moritz_ | pmichaud: sure... if you don't want to cause regressions, do it in a branch | ||
pmichaud | well, cleaning up the rakudo side is going to take a little work too :( | ||
moritz_ | :( | ||
pmichaud | but the new form I discovered also handles things like named captures of <xyz=@foo> and <?@foo> and the like. | 19:14 | |
moritz_ | cool | ||
pmichaud | it's definitely a fair bit simpler | ||
bkeeler | Simpler is usually better | 19:15 | |
moritz_ | sorry to cause you more work; I thought bkeeler's patch was what you had had in mind | ||
pmichaud | pyrimidine: in nqp I can branch prior to the merge -- in Rakudo it's a bit tougher because a fair bit has been added to trunk since the merge | ||
the patch is definitely far closer to what I had in mind and what we discussed a month or so ago (more) | |||
pyrimidine | can you switch out the branches, a'la the alpha<->master for rakudo? | 19:16 | |
pmichaud | but it still puts method calls into the regex generation that should really be left up to the HLL to supply | ||
and it'll run into trouble backtracking on arrays | 19:17 | ||
(the iterator gets clobbered when used in a quantifier) | |||
bkeeler | I did try to account for quantifiers in my mental model, but I'm willing to believe I got it wrong | 19:19 | |
pmichaud | the problem is that $Pxx = iter $P10 clobbers $Pxx if it's inside of a quantifier | ||
because the $Pxx isn't saved anywhere | |||
anyway, forgiveness > permission so I'm not really upset or anything.... just need to clean it up quick-ish now or it'll get harder as more patches land on top | 19:21 | ||
19:21
SmokeMachine joined
|
|||
bkeeler | Well, I certainly feel bad about putting a drain on your severely limited tuit supply... | 19:21 | |
pmichaud | no problem -- I'm sad you had to wait so long for me to get a chance to look at it | 19:22 | |
I had expected to be able to do it over the weekend, but $wife changed plans on me on Saturday morning | |||
19:23
iblechbot left
|
|||
pmichaud | so, what's the best way to revert everything back to an earlier commit? | 19:24 | |
(in this case, 3ad311) | |||
bkeeler | rakudo: say '1abc2' ~~ / 1 <{ [ 'ab', 'a', 'bc' ]}> 2 / | ||
p6eval | rakudo 10a321: OUTPUT«» | ||
bkeeler | rakudo: say '1abc2' ~~ / 1 <{ [ 'ab', 'a', 'bc' ]}> ** 2 2 / | 19:25 | |
p6eval | rakudo 10a321: OUTPUT«» | ||
bkeeler | rakudo: say '1abc2' ~~ / 1 <{ [ 'ab', 'a', 'bc' ]}>+ 2 / | ||
p6eval | rakudo 10a321: OUTPUT«» | ||
bkeeler | rakudo: say '1abc2' ~~ / 1 <{ [ 'a', 'bc' ]}>+ 2 / | ||
p6eval | rakudo 10a321: OUTPUT«1abc2» | ||
bkeeler | Boom | 19:26 | |
I see what you mean | |||
pmichaud | rakudo: my @x = <ab a bc>; say '1abc2' ~~ / 1 @x+ 2/ | ||
p6eval | rakudo 10a321: OUTPUT«» | ||
pmichaud | rakudo: my @x = <a bc>; say '1abc2' ~~ / 1 @x+ 2/ | ||
p6eval | rakudo 10a321: OUTPUT«1abc2» | ||
bkeeler | Yep, same bug | ||
pyrimidine | was seeing the same thing here | ||
pmichaud: Maybe branch at that point, pull in any other commits unrelated to the merge, switch branches? | 19:27 | ||
pmichaud | pyrimidine: well, in nqp there aren't any other commits that need saving | ||
bkeeler | Or maybe branch from head and just reverse the patches in your branch | ||
pmichaud | I'm not sure how to reverse the merge patches | ||
do I have to track them all down, or ...? | |||
pyrimidine | that sounds better | ||
bkeeler | Is it different from reversing a regular commit? | 19:28 | |
pmichaud | I think so, because a merge isn't a single commit | ||
I could probably do | |||
git checkout 3ad311 -- src | |||
and that would put all of the files back the way they were as of 3ad311 | 19:29 | ||
PerlJam | "a merge isn't a single commit"? | ||
pmichaud | PerlJam: yeah, I said that wrong. A merge has multiple parents | ||
I could try reverting just the merge commit... just a sec | |||
PerlJam | yes, git revert should work. | ||
pmichaud | pmichaud@orange:~/nqp-rx$ git revert bbaab4 | 19:30 | |
fatal: Commit bbaab497291b31bb7f0d3ccbdb021cff2b4afd6b is a merge but no -m option was given. | |||
See the revert-a-faulty-merge How-To[1] for more details. | |||
seems not-trivial. | 19:31 | ||
pyrimidine | Maybe: www.kernel.org/pub/software/scm/git...-merge.txt | ||
PerlJam | ah, then resetting to just before the merge is probably best. | ||
pyrimidine | reading that link gives me a headache | 19:32 | |
19:32
stepnem left
|
|||
pmichaud | same here | 19:32 | |
bkeeler | Who was it who was volunteering as a git mentor? dukeleto? | 19:33 | |
[particle] | #git is just down the hall | ||
pmichaud | I'll just do the "git checkout" approach | ||
and see how far I get | |||
[particle] | though my last question there was warnocked | ||
PerlJam | [particle]: what was it? | 19:34 | |
[particle] | if 'git rev-parse --is-bare-repository' is true, should i 'git config core.worktree /some/dir' then 'git checkout -f' ? | ||
i think the answer is no, because it did not work. | 19:35 | ||
instead, it checked out over my current directory, which had the 600 line script i was running | |||
of course, i hadn't committed that script. | 19:36 | ||
[particle] gets more silence... which is more appropriate here ;) | 19:37 | ||
PerlJam | I've found that I tend not to commit with git simply because of my past experience with other SCMs. However, with git, you should almost always commit | ||
pmichaud | yes, frequent commits is a big plus for me :-) | 19:38 | |
[particle] | yes, i should have vim commit on save | ||
pmichaud | time to pick up kids... bbiab | ||
pyrimidine | I have my .trans work on a fork on github, so i can just merge in changes from upstream later | 19:39 | |
19:40
stepnem joined
|
|||
jnthn | pyrimidine: How's the trans going? :-) | 19:40 | |
19:48
chitragupt left
|
|||
pyrimidine | jnthn: well, actually | 19:50 | |
things not working are converting string ranges to char ranges | |||
'a..z' -> 'a'..'z' | 19:51 | ||
but that was supposedly added to STD at some point | |||
(for tr///) | |||
"Whfg nabgure Crey unpxre".trans('a'..'z' => ['n'..'z','a'..'m'], 'A'..'Z' => ['N'..'Z','A'..'M']); | 19:52 | ||
Just another Perl hacker | 19:53 | ||
jnthn wonders how hard it is to make tr/// work ones .trans is in | |||
19:54
spinclad left,
hercynium left
20:01
rv2733 left,
pyrimidine left
20:02
Ross left
20:06
jferrero joined
20:08
hercynium joined
20:15
Sarten-X left
|
|||
cosimo | szabgab: ping | 20:17 | |
20:29
ruoso left
20:34
rgrau joined
20:38
ethel joined
20:43
rokoteko joined,
Su-Shee left
20:46
ash__ joined
20:48
Ross joined
20:50
ash__ left,
chitragupt joined
21:05
cdarroch left
21:10
whiteknight joined
21:18
ive left,
ive joined
21:19
clintongormley left
21:20
Ross left
21:27
whiteknight left
21:34
SmokeMachine left
21:41
lichtkind joined
|
|||
lichtkind | TimToady: is it true that the original Test.pm is your design? | 21:42 | |
21:46
sakib joined
21:51
spinclad joined
21:57
gbacon left
22:02
hercynium left
22:06
ive left
22:16
ruoso joined
22:17
patrickas left
22:20
japhb left
|
|||
TimToady | lichtkind: yes, and no. There was no such thing as Test.pm before there were pm files. However, t/TEST in early Perl used the beginnings of TAP ("test anything protocol") | 22:25 | |
lichtkind | TimToady: thanks, and the design with tests =>, todo=>, onfail =>, ok();, skip();, plan(); was similiar to the old TEST? | 22:27 | |
TimToady | the old TEST merely expected the .t file to emit "1..5" followed by "ok 1", "ok 2", ... "ok 5" | 22:34 | |
but that is core of TAP | |||
at some point I think comments were allowed, and eventually someone wrote Test.pm to support the typical operations | 22:35 | ||
but that was after Perl 5 came out | 22:41 | ||
in Perl 4 the .t files were still on their own to produce output, but comments were allowed by then | |||
22:45
kel__ left
|
|||
lichtkind | TimToady: thanks a lot im currently writing a talk about some advanced perl testing but didnt know that :) | 22:45 | |
TimToady | I don't wish to take credit for more than I actually did. :) | 22:46 | |
I get plenty of that already.... | |||
22:46
Sarten-X joined
|
|||
lichtkind | TimToady: dont woryy i show schwerns face most of the time, also alias and gabor a bit and Test.pm is by Joshua Nathaniel Pritikin | 22:49 | |
TimToady: your face only pops up at tht 5ths slide or so ... in the beginning there was perl 1.0 and so | 22:50 | ||
TimToady: so TEST was a early TAP reader? | 22:52 | ||
TimToady | essentially, though no one called it TAP then :) | ||
and I didn't name it either, I just invented it :) | |||
lichtkind | haha | 22:53 | |
Juerd | The first tests for pugs were mostly just ports from Perl 5's suite. Many of those just keep a counter and build the output themselves. | 22:55 | |
22:59
Psyche^ joined
|
|||
lichtkind | Juerd: almost like in the early perl days :) | 22:59 | |
Juerd | I would believe you if you told me that many of those tests have survived since the first perls :) | 23:01 | |
But I haven't checked. | |||
23:03
Patterner left,
Psyche^ is now known as Patterner
23:07
whiteknight joined
23:10
japhb joined
23:17
alester left
23:34
christine left
23:35
jferrero left
|
|||
TimToady | perhaps some LHF, or at least MHF, would be to implement pseudo packages UNIT, MY, OUR, SETTING, etc so that we can test that, for instance, imports are done into lexical scopes and not into namespaces | 23:36 | |
std: use Test; MY::Test; | |||
p6eval | std 30778: OUTPUT«ok 00:01 112m ./lib/Test.pm6ok 00:01 114m» | ||
TimToady | std: use Test; MY::Toast; | 23:37 | |
p6eval | std 30778: OUTPUT«===SORRY!===Undeclared name: 'MY::Toast' used at line 1Check failedFAILED 00:01 111m» | ||
TimToady | rakudo: use Test; MY::Test; | ||
p6eval | rakudo 10a321: OUTPUT«Can not find sub MY::Testcurrent instr.: 'perl6;Perl6Exception;throw' pc 15629 (src/builtins/Associative.pir:32)» | ||
TimToady | std: use Test; { OUTER::Test; } | 23:39 | |
p6eval | std 30778: OUTPUT«ok 00:01 111m» | ||
TimToady | rakudo: use Test; { OUTER::Test; } | ||
p6eval | rakudo 10a321: OUTPUT«Can not find sub OUTER::Testcurrent instr.: 'perl6;Perl6Exception;throw' pc 15629 (src/builtins/Associative.pir:32)» | ||
23:43
dju left,
dju joined
23:44
christine joined
23:53
lest_away is now known as lestrrat
|
|||
lichtkind | good night | 23:56 | |
23:56
lichtkind left,
sahadev left
|