Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-05-24

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 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); }
00:00 * lue is convinced BrowserUk has a script for his IRC that randomly outputs ?
00:00 p6eval rakudo 0aed40: OUTPUT«Symbol '@x' not predeclared in fool␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
00:01 eternaleye lue: He uses '?' to see if phenny has any messages for him.
00:01 lue ah, that makes sense.
00:01 lue rakudo: say e**(log(16,e)/2)
00:01 p6eval rakudo 0aed40: OUTPUT«4␤»
00:03 eternaleye rakudo: say 2**(log(16,2)/2) # eliminate approximated irrational
00:03 p6eval rakudo 0aed40: OUTPUT«4␤»
00:04 lue rakudo: say e**(log(42,e)/2)
00:04 p6eval rakudo 0aed40: OUTPUT«6.48074069840786␤»
00:05 lue rakudo: say sqrt(42)
00:05 p6eval rakudo 0aed40: OUTPUT«6.48074069840786␤»
00:05 lue rakudo: say 2**(log(42,2)/2)
00:05 p6eval rakudo 0aed40: OUTPUT«6.48074069840786␤»
00:06 lue well, wikipedia used e, so I use e! :)
00:06 lue It's only natural :)
00:14 yinyin joined #perl6
00:15 lue rakudo: say sin(89)
00:15 p6eval rakudo 0aed40: OUTPUT«0.860069405812453␤»
00:18 * lue will go insane and attempt to implement.......CORDIC
00:21 eternaleye joined #perl6
00:23 lue ...maybe
00:30 lue 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 exceeded␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:97)␤»
00:30 lue I thought I could get away with that :P
00:32 lue I'll leave reimplementing sine for later, that's looking to be bloody difficult.
00:35 snarkyboojum g'day #perl6
00:35 snarkyboojum noone has knocked off advent day 20 I take it?
00:36 lue Probably not, but I could.
00:37 lue The worst part about the CORDIC method to compute trig functions is you need trig functions to do it! [seemingly]
00:37 lue Which is why I hoped the recursive code I ran (look up) would work.
00:37 snarkyboojum lue: I started it last night, but just checking no-one demolished overnight (for me)
00:42 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:44 snarkyboojum lue: pick one of masak's - they're long and hard to convert into tests :)
00:45 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:47 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].
00:48 snarkyboojum lue: I think day 10, 12, 13, 18, 21, 24 are still free
00:54 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:55 lue what segfault?
00:57 seatek joined #perl6
00:59 lue afk
00:59 snarkyboojum lue: start the REPL and type anything which throws an exception, e.g. 'abc'
01:00 snarkyboojum should segfault the REPL
01:05 colomon does the same thing happen with p6eval now?
01:05 colomon rakudo: 3 + 67
01:05 p6eval rakudo 9a7fc8:  ( no output )
01:05 colomon guess not.
01:05 snarkyboojum colomon: nope - just via REPL
01:05 snarkyboojum -e is fine
01:06 snarkyboojum I thought it may be related to the autoprinting change, but who knows
01:06 colomon snarkyboojum: I suspect you're right.
01:06 colomon I was mostly checking to see if autoprinting worked on p6eval now.
01:06 snarkyboojum colomon: oic
01:07 snarkyboojum should autoprinting work on p6eval?
01:07 snarkyboojum as that's run via -e
01:07 colomon darned if I know.
01:07 snarkyboojum I suspect not, as it's not run via the REPL, would be cool though :)
01:13 jaldhar joined #perl6
01:34 snarkyboojum help needed on day 20 advent tests (esp the last few which are commented out) http://gist.github.com/411425
01:37 snarkyboojum any suggestions appreciated :)
01:37 colomon snarkyboojum: help needed in what sense?
01:38 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 snarkyboojum I should say 'raise exceptions' not crash Rakudo :)
01:38 colomon crash is fine by me.  :)
01:38 colomon I've never seen that +.karma ~.karma syntax before.
01:38 snarkyboojum e.g. "Null PMC access in find_method('params')"
01:40 snarkyboojum 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:41 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
01:42 snarkyboojum but yeah, unless I've stuffed up, they're in the advent calendar like that
01:42 snarkyboojum .say for @people.sort: { +.karma }; works
01:42 snarkyboojum say @people.min: { +.karma }; doesn't
01:42 snarkyboojum and some of the other sorts using Whatever don't
01:43 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
01:43 colomon they should be skips for now.
01:43 snarkyboojum colomon: ok.. cool
01:43 Tene that shouldn't be hard to fix though, right?
01:43 colomon Whatever doesn't work very well yet, just hacked in a few very common cases.
01:44 colomon Tene: good question
01:44 Tene should be just another multi method, yes?
01:44 colomon seems like I had a good reason not to do it, but I might have just been lazy
01:44 colomon Tene: hmmm.  never thought of that approach.
01:45 Tene what had you thought it would be?
01:45 snarkyboojum colomon++ # for reviewing my tests :)
01:45 colomon something like "if &code.arity == 1" ...
01:47 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.
01:47 Tene Should be able to: multi ... ( ... Code &bl where *.arity > 1 ) ...
01:48 Tene yes?
01:48 colomon Tene: yes
01:48 Tene nice
01:48 snarkyboojum also, is 'is &foo.signature.perl, ':(Int $i, @stuff, Any $blah = { ... })' the best way to test check the signature?
01:49 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.  :)
01:50 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 snarkyboojum Tene: that's what I'm worried about.. the implicit stringification in the test
01:51 Tene snarkyboojum: I'd see what you can actually inspect on the returned signature instead.
01:51 Tene I think the ideal would be comparing it to a constructed sig object, if possible
01:52 Tene is &foo.signature, :(Int $i, @stuff, Any $blah)
01:52 Tene oslt
01:52 Tene I don't expect that would work perfectly, though.
01:52 snarkyboojum Tene: cool idea.. will try
01:52 * colomon was not planning on stopping to think about how to implement another version of min and max tonight...
01:53 Tene colomon: you could cheat and have the one-arity version redispatch to the two-arity version.
01:53 Tene ;)
01:53 colomon Tene: yes, that would be easy but less efficient.  :)
01:53 Tene self.sort: { &bl($^a) cmd &bl($^b) }
01:54 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.
01:55 colomon I was planning on focusing on music tonight.
01:55 Tene Heh.
01:55 Tene :)
01:55 Tene I'm off to start on dinner, then reinstalling my laptop tonight.
01:56 Tene I meant to chat with masak this weekend, but then drama happened.
01:56 Tene We need to get that Web.pm work finished.
01:56 [mark] joined #perl6
01:59 snarkyboojum rakudo: sub foo (Int $i, @stuff, $blah = 5) { ... }; say &foo.signature.^methods(:local).join(' ')
01:59 p6eval rakudo 9a7fc8: OUTPUT«perl ACCEPTS params␤»
02:00 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␤»
02:16 eternaleye Tene: snarkyboojum: re comparing sigs, what about 'ok &foo.signature eqv :( Int $i, @stuff, Any $blah = { ... })' or 'is_deeply' to tests structure
02:17 eternaleye s/tests/test/
02:17 snarkyboojum I had a go doing this, but it's a little messy - http://gist.github.com/411425
02:17 snarkyboojum just to test name and type
02:17 snarkyboojum not sure if I should be creating @sig-info that way either :)
02:18 JimmyZ joined #perl6
02:19 snarkyboojum it's introducing a bit more code than is in the advent calendar as well, which isn't ideal
02:19 snarkyboojum *isn't in
02:22 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 :)
02:22 eternaleye english++
02:22 snarkyboojum I corrected it incorrectly, correct
02:22 snarkyboojum :)
02:23 eternaleye Any language where messing up twice makes it correct has some serious golf potential.
02:26 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:30 snarkyboojum found some examples, but not clear which approach is better :)
02:37 masonkramer_ joined #perl6
02:39 snarkyboojum std: my @people; @people.min: { +.karma }
02:39 p6eval std 30768: OUTPUT«ok 00:01 115m␤»
02:40 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 #perl6
02:42 pugssvn r30769 | snarkyboojum++ | [t/spec] Added initial tests for Perl 6 Advent Calendar Day 20: Little big things
03:04 dduncan joined #perl6
03:06 dduncan left #perl6
03:07 jnthn phenny: tell tedv I just use the command line svn client, e.g. from http://subversion.apache.org/packages.html#windows
03:07 phenny jnthn: I'll pass that on when tedv is around.
03:07 * jnthn couldn't sleep, so gave up.
03:41 alester joined #perl6
03:50 masonkramer joined #perl6
03:51 lue OHAI sleepy #perl6
04:02 lue jnthn: still giving up?
04:04 jnthn lue: Aye. :-)
04:04 jnthn I'm so not Rick Astley about my sleep today.
04:16 lue meme == sleep # for you ? :)
04:17 JimmyZ joined #perl6
04:34 Khisanth joined #perl6
04:37 snarkyboojum joined #perl6
04:49 Lorn joined #perl6
04:50 * 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 cognominal Doo do doo do doo do do doo"
04:50 cognominal *Lou Redd
04:51 lue "It's okay, we're from the Internet" --XKCD fans geohashing
04:51 lue I have to work that into daily conversation :)
04:55 cognominal lue, I often forget to let my mouse hover to get the popup where the punch like in : http://www.xkcd.com/742/
04:57 lue Is that the most recent one?
04:58 cognominal nope
04:58 lue I love the most recent one though
04:59 lue "See this? It's the world's smallest open source violin" :D
04:59 cognominal that's not the last one any more :)
05:00 lue Well, then, 2nd to last :)
05:00 lue [can't wait for D* at the end of summer.]
05:01 lue Polymorphism is where one thing can be used as many, right?
05:02 lue many *different things*
05:02 cognominal I like when he jokes on the wikipiedia : http://www.xkcd.com/739/
05:03 lue Malamanteau has caused quite a stir
05:06 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.
05:09 lue I think 1) Come up with malamanteaus, so malamanteau becomes a proper neologism
05:09 lue 2) Create wiki(pedia&tionary&....) pages
05:09 lue 3).....
05:10 lue 4)Profit! :)
05:11 lue (Anywell.... [ :) ] )
05:24 cognominal segfaulting rakudo is getting harder but this one odes it :
05:24 cognominal rakudo:  say  keys %( ::GLOBAL )
05:24 p6eval rakudo 9a7fc8: OUTPUT«Method 'hash' not found for invocant of class 'Failure'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
05:25 cognominal well it crash here on the most recent rakudo
05:26 cognominal hum, it crashes only in the perl6 shell
05:27 lue REPL is a lot more fragile
05:27 lue [how I understand it]
05:28 cognominal that's a garbage collecting bug according to the trace
05:31 cognominal jnthn, we have so little talk in Calais, that I will probably end-up doing half a day of a Perl6 workshop
05:31 cognominal now, I _really_ regret you will not be to help me :)
05:40 cognominal CharLingua++
05:46 hercynium joined #perl6
06:06 kel__ joined #perl6
06:14 XaeroOne joined #perl6
06:30 lue afk and goodnight!
07:19 mathw Morning
07:40 christine joined #perl6
07:59 proller joined #perl6
07:59 sundar joined #perl6
08:04 sundar_ joined #perl6
08:10 sundar joined #perl6
08:15 moritz_ good morning
08:27 dakkar joined #perl6
08:48 mberends joined #perl6
09:03 Su-Shee joined #perl6
09:05 masak joined #perl6
09:05 masak oh hai, #perl6!
09:05 jnthn o/
09:06 masak jnthn: Ste nespali?
09:07 jnthn Ne dost.
09:07 jnthn *Trosku.* :-/
09:08 masak :-/
09:08 * jnthn je teraz unaveny...a skoro ma stretnutie.
09:09 masak Oh nie!
09:09 jnthn No dobre...v Malme tiez!
09:09 masak :(
09:10 jnthn Malmo je blizko...mohol by horsie. :-)
09:10 masak heh. 'blizko' :)
09:11 jnthn (ano, viem..."Malmö" ;-)
09:11 masak Ani som vidieť, ze.
09:12 hejki omfg
09:12 hejki jätkät puhuu sujuvaa karvarannetta
09:12 masak :)
09:12 Jedai joined #perl6
09:12 hejki 'stretnutie' sounds like a word for 'prostitute' :P
09:12 masak it's 'meeting', I think.
09:13 jnthn lol
09:13 jnthn Yes, it's a meeting
09:13 jnthn Far more boring :-)
09:13 jnthn It actually falls straight out of the general verb nouning rules.
09:13 jnthn stretnut = to meet
09:13 hejki ok
09:14 jnthn Though I was using the word long before I knew how to noun verbs. :-)
09:17 jnthn Wow. If you accidentally the binary literal in C# (0b1000), the compiler gives you no less than four useless error messages. :-)
09:18 * jnthn is getting too used to the awesome Perl 6 errors.
09:24 mberends oh hai jnthn, could you spend a bit of time on zavolaj ?
09:27 cognominal zavolaJ?
09:27 cognominal I forgot what it was
09:27 mberends cognominal: native call interface from Rakudo
09:28 mberends 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.
09:29 jnthn 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
09:29 lisppaste3 mberends pasted "non working UnManagedStruct  to Bool method" at http://paste.lisp.org/display/100342
09:30 slavik joined #perl6
09:30 jnthn mberends: In what way does it not work?
09:31 jnthn 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
09:31 jnthn *nod*
09:31 jnthn I meant what is non-working in the thingy you pasted. :-)
09:32 mberends jnthn: isnull always returns the same value regardless of what the pointer contains
09:32 jnthn Aha.
09:32 jnthn Yeah...thing is that it's asking if $P0 contains a null
09:32 mberends always false, in this example
09:32 jnthn When actually it has an UnmanagedStruct PMC always, which may reference something null.
09:33 mberends indeed
09:33 mberends :-(
09:34 mberends so, something to gnaw at you brain whilst you travel ;-)
09:36 jnthn Having my brain nommed somehow sounds unappealing. :-)
09:38 jnthn mberends: Change
09:38 jnthn $I0 = isnull $P0
09:38 jnthn to
09:38 jnthn $I0 = defined $P0
09:39 mberends thanks jnthn, will try
09:39 jnthn (see line 916 of src/pmc/unmanagedstruct.pmc)
09:42 mberends jnthn++ # it works!
09:50 meppl joined #perl6
09:57 jnthn mberends: Yay! \o/
09:57 jnthn Well, that was easier helping than I expected. :-)
09:57 mberends jnthn: SELECT is almost running in generic form :)
09:59 jnthn \o/
09:59 moritz_ o//
10:00 kaare joined #perl6
10:08 masak mberends++ jnthn++ # wow, Perl 6 and mysql!
10:16 * jnthn thinks it's kinda cool that this will be installable via proto - without the need for a C compiler :-)
10:18 * jnthn orka till Malmö
10:18 jnthn er
10:18 * jnthn åker till Malmö
10:19 masak orka! :P
10:20 mberends updated http://github.com/jnthn/zavolaj
10:35 mberends It would be a really useful Rakudo challenge result, to find which other native libraries can now be called using zavolaj.
10:39 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 #perl6
10:41 masak jaffa4: \o
10:42 jaffa4 hi
10:42 masak there's something called GnomeLove that looks a lot like the Rakudo challenge, only larger-scale and older: http://live.gnome.org/GnomeLove
10:43 masak so it seems we're on the right track. :)
10:44 FreeStorm joined #perl6
10:46 moritz_ while discussing the challenge with my girlfriend today I came up with an idea to extend it
10:47 moritz_ a todo.perl6.org with lots of challenges tagged by effort, difficutly, involved systems, required knowledge, mentor etc.
10:47 moritz_ and then the weekly challenge would just be "featured" challenge
10:48 moritz_ though calling it 'love' instead of 'todo' is much sweeter :-)
10:49 moritz_ ugh, having a full home directory does bad things to a running thunderbird :(
10:49 moritz_ like re-downloading year old messages
10:50 masak love++
10:50 moritz_ so we just need to find somebody to give that idea some love :-)
10:51 mberends so the next challenge is to design love.perl6.org
10:52 moritz_ it might be a bit large for a challenge
10:54 BrowserUk joined #perl6
10:55 masak probably something that will have to grow over time...
10:58 masak 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
10:59 moritz_ and not write one on our own complete (for the love.perl6.org thing)
10:59 moritz_ writing websites seems like a topic that's gladly accepted
11:00 masak aye.
11:00 masak &
11:01 pugssvn r30770 | moritz++ | [S05] clarify how :x and :nth interact
11:02 pugssvn r30771 | moritz++ | [t/spec] tests for RT #75234, using a metaop in one class hides it from a second class
11:02 pmurias joined #perl6
11:02 pmurias hi
11:02 moritz_ hi pmurias
11:04 ejs joined #perl6
11:04 pmurias today is the start of the gsoc coding period :)
11:04 moritz_ \o/
11:05 moritz_ today is a publich holliday
11:06 pmurias which one?
11:07 moritz_ Pentecost
11:09 colomon \o/ # gsoc, Pentecost is not a public holiday here.
11:09 ejs joined #perl6
11:10 ive joined #perl6
11:10 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 moritz_ ... which would be inconsistent with the rest of the semantics
11:11 colomon moritz_: yes
11:11 moritz_ if it were :every-nth I'd allow it
11:12 moritz_ we have 13 public holidays in Bavaria, Germany (3 of which are on a Sunday this year, 2 on a Saturday)
11:13 Juerd How many private holidays do you have?
11:13 colomon as many as we can
11:22 moritz_ as many as I dare take
11:34 Amshu joined #perl6
11:54 pmichaud good morning, #perl6
11:55 mberends good day, pmichaud
11:56 pmichaud I finally figured out this morning how to get the REPL to work cleanly with code generation
11:57 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 #perl6
11:58 mberends that is terrific news
12:00 envi^home joined #perl6
12:01 pugssvn r30772 | pmurias++ | [mildew] my and named arguments in the m0ld replacement
12:03 pugssvn r30773 | pmurias++ | [mildew] ? and ¢ support in the perl5 m0ld version
12:08 FreeStorm left #perl6
12:08 masak pmichaud: \o/
12:09 pugssvn r30774 | pmurias++ | [mildew] fix submolds in the p5 m0ld
12:17 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?
12:17 dalek rakudo: a4d3266 | moritz++ | build/PARROT_REVISION:
12:17 dalek rakudo: bump PARROT_REVISION to get some testing after the ops_pct branch merge
12:17 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​4d3266f5c43c549a387ba3cf9d46a90dd581a41
12:17 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'.
12:18 mathw yeah that definitely won't work at the moment
12:18 mathw however, I found the problems I've got now very confusing
12:18 mberends joined #perl6
12:18 skangas joined #perl6
12:18 xinming joined #perl6
12:18 Sarten-X joined #perl6
12:18 mikehh joined #perl6
12:18 PZt joined #perl6
12:18 japhb joined #perl6
12:18 astinus joined #perl6
12:18 wolverian joined #perl6
12:18 p6eval joined #perl6
12:18 masak mathw: oh; I thought you said it compiled.
12:18 mathw yes
12:18 mathw but I'm having trouble actually using it
12:18 masak mathw: if you share the nature of your current problem, maybe I can help.
12:19 mathw I would, but I've got work to do now
12:19 mathw and I am unfortunately out all evening
12:19 JimmyZ joined #perl6
12:20 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 mathw possibly two
12:20 mathw actually, probably two
12:20 mathw I'm curious about your compile error though
12:20 mathw as I got various other parse errors, but not that one
12:21 masak I can nopaste it.
12:21 mathw they were seriously LTA messages too, as they were quite misleading
12:21 mathw please
12:22 masak mathw: http://gist.github.com/411797
12:23 masak the error message doesn't make any sense.
12:23 masak but I could try to golf it, if that helps.
12:24 mberends try a rough cut Rakudo DBI: http://github.com/mberends/fakedbi
12:24 mathw masak: yeah it doesn't
12:24 mathw and it's different to the errors I got
12:24 mathw so I can't help straight off
12:24 mathw this whole thing is quite bizarre
12:25 mathw and I think it might help shake out a few bugs
12:25 mathw at least some LTA errors
12:25 mathw there are some weird things going on around nested namespaces, qualifed and unqualified class names and the like
12:25 masak mathw: so far, attempting to port GGE has shaken out quite a few bugs.
12:25 mathw there are places I've seen fully-qualified class names not working and causing all sorts of parse crap
12:25 masak it's a lot of work, though :/
12:25 mathw while unqualified ones work when they shouldn't as those things weren't exported...
12:26 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
12:27 mathw well I'm gradually getting the time to get back into Form
12:27 masak \o/
12:27 mathw and now master can support it again, I intend to shake out bugs until it works
12:27 mathw no problems at all with the enums, by the way
12:27 mathw some stuff that uses them has even run correctly on my local box :D
12:28 hercynium joined #perl6
12:28 mathw of course I only use the most basic part of named enums
12:32 ruoso joined #perl6
12:33 masak mathw: do you have a recent Parrot/Rakudo?
12:34 mathw It was current as of Sunday morning
12:34 mathw I will be updating again before continuing work on this of course
12:36 masak it's quite mysterious why we're getting different results.
12:36 mathw yes
12:36 masak mathw: mind if I add a .gitignore file to your repo?
12:37 mathw so I'm hoping that's explained by something that went in since I updated
12:37 mathw masak: go ahead, do you have push access? I think you do
12:37 masak I think so too.
12:37 mathw well try it and find out :)
12:37 mathw just don't put lib/Form.pm in it :)
12:37 ruoso bom dia #perl6
12:37 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.
12:37 phenny 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 #perl6
12:38 masak mathw: :) I put the Makefile, lib/Test.pm and *.pir in it.
12:38 mathw brilliant
12:38 masak pushed.
12:38 mathw masak++
12:40 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 #perl6
12:45 pmurias ruoso: is it ok if SMOP depends on mildew?
12:46 ruoso pmurias, I guess...
12:46 * moritz_ thought it would be the other way round
12:46 ruoso unless mildew depends on smop too :) that would make it a bit awckward :)
12:47 ruoso but I assume you're building the m0ld compiler in mildew
12:47 pmurias yes
12:47 ruoso so yes, it's pretty sane
12:47 tedv joined #perl6
12:47 pmurias i'm converting the m0ld into mildew's AST
12:47 ruoso I see...
12:48 ruoso that makes sense...
12:49 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.
12:49 pmurias ruoso: v6/mildew-old/m0ld is the start of that
12:49 masak right now I'm occupied by $work, but will look at it later.
12:49 mathw However, I think jnthn might prefer bug-revealing test cases :)
12:51 pugssvn r30775 | pmurias++ | [mildew] remove old code
12:52 ejs joined #perl6
13:01 ejs joined #perl6
13:07 pmichaud ....is there a way that I can easily see what got changed as a result of bkeeler++'s merge?
13:07 pmichaud I never got a chance to review the last set of proposed changes
13:10 masak pmichaud: what about 'git show b9f260'? seems to work here.
13:12 JimmyZ joined #perl6
13:14 perlygatekeeper joined #perl6
13:15 colomon pmichaud: I usually look at the list of commits at http://github.com/rakudo/rakudo/commits/master and click on ones that look interesting to see the diffs.
13:16 colomon ooo, but if it was a proper merge of two branches, that might be LTA.
13:16 pmichaud it was a merge
13:16 pmichaud so github only shows me the changes that went from master into the branch, not vice-versa
13:16 pmichaud 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 #perl6
13:17 sahadev joined #perl6
13:18 pmichaud crap.  this is not how I intended to be spending this morning.
13:21 sahadev hello
13:22 [Coke] ~~
13:22 sahadev i am getting the error "Could not find sub &infix:<~~>
13:22 sahadev current instr.: '' pc 289070 (src/gen/perl6-actions.pir:0)" when compiling rakudo.
13:22 sahadev how do i fix this?
13:22 slavik so, what the new syntax for iterating the iterator?
13:23 colomon moritz_: --gen-parrot doesn't seem to be working for me with your latest patch?
13:24 * [Coke] does a new build with a fresh parrot.
13:24 * colomon is trying the same now.
13:28 colomon yup, just needed to blow away the old parrot before doing perl Configure.pl --gen-parrot
13:28 colomon Can't remember seeing that particular failure before, though.
13:28 pmichaud *sigh*
13:28 pmichaud okay, repl may be a bit delayed :-(
13:28 [Coke] colomon: rakudo just does an 'svn up' in place when updating parrot. that is not guaranteed to work.
13:29 pmichaud 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.
13:29 pmichaud currently it's doing the realclean after the svn up, which no longer works
13:29 [Coke] you really need an svnclobber, or whatever it's called.
13:30 [Coke] (yup, works for me here on a fresh parrot and rakudo.)
13:31 am0c joined #perl6
13:37 ejs joined #perl6
13:43 masak sahadev: when are you getting this error?
13:44 sahadev masak: .../rakudo/parrot_install/bin/parrot  perl6.pbc  --target=pir --output=Test.pir Test.pm
13:44 JimmyZ .... > $a = 3;
13:44 JimmyZ segfault
13:44 sahadev starting with a brand new parrot doesn't help either.
13:44 masak sahadev: odd. haven't heard other similar reports.
13:45 sahadev fwiw, i have seen it on my home laptop and work desktop. both running ubuntu jaunty.
13:46 masak and you're installing Rakudo throught git?
13:46 moritz_ JimmyZ: known problem
13:46 moritz_ colomon: you need to remove parrot/, or do some serious cleaning in there
13:47 colomon moritz_: yes, I figured that out.
13:47 sahadev masak: yes
13:49 sahadev masak: i have the git source + one patch (http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=75246). that was causing the problem. removing the patch fixed the problem.
13:50 masak huh.
13:51 patspam joined #perl6
13:54 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:56 alester joined #perl6
14:09 gbacon joined #perl6
14:09 ejs joined #perl6
14:11 AndroUser joined #perl6
14:11 * jnthn back from meeting
14:12 masak \o/
14:12 pnu joined #perl6
14:12 AndroUser who am i?
14:12 AndroUser bother
14:13 masak AndroUser: welcome :)
14:13 AndroUser (colomon trying out irc from phone.)
14:13 AndroUser ;)
14:14 PacoLinux joined #perl6
14:15 AndroUser did that work?
14:15 AndroUser :(
14:15 masak AndroUser: I liked you better as colomon. you seemed happier.
14:16 colomon_phone joined #perl6
14:16 pmurias joined #perl6
14:16 colomon_phone there we go
14:17 jnthn .oO( is that like banana phone? )
14:17 eternaleye colomon_phone: Maybe colomandroid?
14:17 pmurias diakopter: hi
14:17 pmichaud-ph joined #perl6
14:18 pmichaud-ph I can do this too. :-)
14:18 * jnthn gets phone envy
14:18 colomon_phone eternaleye: colomonbot would be shorter. ;)
14:18 pmichaud jnthn: you got an HTC also?  ;-)
14:19 dakkar_ joined #perl6
14:19 pmichaud oh, wait, that's an LG phone
14:19 jnthn pmichaud: :-P
14:19 jnthn I don't have any phone that you might class as "smart"
14:19 pmichaud (http://www.lgmobilephones.com/phone.aspx?id=298 for those missing the reference)
14:20 jnthn pmichaud: Did I hear something about repl? :-)
14:20 pmichaud I'm eagerly awaiting the new os update for my phone :-)
14:20 pmichaud 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
14:20 jnthn Interpolation changes?
14:20 jnthn Oh, regex ones.
14:20 pmichaud right
14:20 jnthn :-)
14:21 pmichaud they're.... still not right.
14:21 jnthn Ah.
14:21 jnthn Don't do the right thing, or do the right thing wrongly?
14:21 [Coke] pmichaud: you get my yapc-related message?
14:21 pmichaud a little of both
14:21 pmichaud mostly it adds way too many dependencies between things
14:22 pmichaud [Coke]: no, not yet
14:22 pmichaud [Coke]: I haven't decided yet on yapc, and no, I don't have anyone covering my talks yet.
14:23 [Coke] hokay.
14:23 [Coke] I thought you had decided in the negative. if I can convince you to go, lemme know. =-)
14:24 pmichaud it's still dependent on travel expenses
14:25 sahadev masak: changing '$l ~~ Iterable' form to 'Iterable.ACCEPTS($_)' form in the patch doesn't fail compilation.
14:26 pmichaud .oO( wouldn't that be Iterable.ACCEPTS($l) ?)
14:26 masak sahadev: cool. what pmichaud said.
14:26 masak or thought.
14:27 sahadev pmichaud: yes. that was a typo.
14:27 colomon_phone pmichaud: I was looking forward to meeting you...
14:28 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 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1812 (ext/nqp-rx/src/stage0/Regex-s0.pir:1008)␤»
14:28 masak mathw: there's the error. a comment in that place.
14:28 masak std: sub foo(Str $x) #`{LOL IMA COMMENT} { ... }
14:28 p6eval std 30775: OUTPUT«ok 00:01 116m␤»
14:28 * masak submits rakudobug
14:28 masak there are variants, too.
14:29 masak 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)␤»
14:29 PerlJam colomon_phone: pay his travel expenses  :)
14:29 masak er.
14:29 masak locally, that gives "Lexical '$x' not found"
14:29 mathw masak: aaaaaaah
14:29 masak mathw: now, how come that doesn't blow up for you?
14:30 pmichaud I don't think that Rakudo ng knows #`{....}  comments yet.  I could be wrong about that.
14:30 pmichaud (alpha did.)
14:30 masak hence the rakudobug.
14:30 mathw masak: I don't know
14:30 sahadev rakudo: my @a = 0..2; for @a { $_++ if $_ } say @a.perl
14:30 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)␤»
14:30 sahadev rakudo: my @a = 0..2; for @a { $_++ if $_ }; say @a.perl
14:30 pmichaud rakudo: 3+4  # just curious
14:30 p6eval rakudo a4d326: OUTPUT«[0, 2, 3]␤»
14:30 p6eval rakudo a4d326:  ( no output )
14:30 colomon_phone PerlJam: alas, only reason I can go is it is dirt cheap for me.
14:30 masak sahadev: semicolon after block.
14:31 PerlJam colomon_phone: yeah, I know the feeling.
14:31 sahadev rakudo: my @a = 0..2; for @a { if $_ { $_++ } }; say @a.perl
14:31 p6eval rakudo a4d326: OUTPUT«[0, 1, 2]␤»
14:31 masak sahadev: ah, you did that. sorry :)
14:31 sahadev masak: no problem.
14:31 sahadev is this a known bug?
14:32 sahadev the second form (for @a { if $_ { $_++ } }) fails.
14:32 sahadev for @a { $_++ if $_ } # works
14:32 pmichaud sahadev: I don't think it's in RT, no.
14:32 pmichaud sahadev: (yes, I was aware of the potential bug there.)
14:32 pyrimidine joined #perl6
14:32 sahadev cool
14:34 sahadev pmichaud: should i go ahead and submit a bug?
14:34 [Coke] sure.
14:34 pmichaud sahadev: +1
14:35 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 cognominal any clue?
14:35 cognominal I found a __dump method, but that's for nqp
14:35 pmichaud cognominal: it's the same method
14:36 pmichaud cognominal: it's just using Data::Dumper from Parrot.
14:36 pmichaud (and dumping the match tree using that)
14:37 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 http://github.com/perl6/nqp-rx/b​lob/master/src/Regex/Dumper.pir
14:38 dalek rakudo: 49b2c13 | Shrivatsan++ | src/core/Iterator.pm:
14:38 dalek rakudo: added .fmt method to Iterator.pm so that fmt can take Iterators of any form.
14:38 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
14:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​9b2c1303da1812ebc192c57656cef8c3d34043e
14:43 pugssvn r30776 | moritz++ | [t/spec] unfudge .fmt tests for rakudo
14:44 dalek rakudo: 10a3218 | moritz++ | CREDITS:
14:44 dalek rakudo: add isBEKaml to CREDITS
14:44 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​0a321814e6ea63bd549034b0e8ff83a8f722663
14:47 pugssvn r30777 | moritz++ | [t/spec] tests for RT #67278, non-awesome error message for class Foo does NonRole
14:47 mj41_ joined #perl6
14:50 cognominal masak, if you want to train in "modern shakespeare", read the two gentlemen of lebowski  :)
14:50 masak cognominal: I read it; it's wonderful :)
14:51 iblechbot joined #perl6
14:52 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)␤»
14:52 jnthn rakudo: class NonRole { }; class Foo does NonRole { }
14:52 p6eval rakudo a4d326: OUTPUT«Can only use does with a role, but NonRole is not one␤current instr.: '&die' pc 18143 (src/builtins/Junction.pir:381)␤»
14:52 jnthn rakudo++
14:52 moritz_ jnthn++
14:54 rv2733 joined #perl6
14:55 ajs Well, I wanted to get further, but need to run. http://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:56 ajs Now if I could just get my firewall to play ball with git :-/
14:57 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
14:58 moritz_ with git you're not so dependent on the repo hoster
14:58 moritz_ if you don't like github anymore, you can just push to $any_other_location
14:59 masak rakudo: enum A <a b c>; class Foo does A {}
14:59 moritz_ it's not like extracting all history was difficult :-)
14:59 p6eval rakudo a4d326: OUTPUT«Can only use does with a role, but {"b" => 1, "c" => 2, "a" => 0} is not one␤current instr.: '&die' pc 18143 (src/builtins/Junction.pir:381)␤»
14:59 jnthn lol
14:59 jnthn masak: Yeah, it just .perl's the thing...which for a typename usually works out great. :P
15:01 masak jnthn: I'll not submit that one, because the cause of it was submitted yesterday.
15:02 masak (A being an EnumMap)
15:03 jnthn It shouldn't be?
15:04 masak an anonymous enum should, yes.
15:04 masak a named one should wrap an EnumMap.
15:04 jnthn ah
15:04 jnthn Patches welcome.
15:04 masak (retreivable through .enums)
15:05 masak jnthn: I might attempt it. in my copious spare time.
15:05 jnthn I just did the minimum implementation that might work.
15:05 masak jnthn++
15:05 jnthn Which, by the way, I've not heard feedback about as to whether it's useful for the cheese - is it?
15:05 pyrimidine rakudo: rakudo: my @list = '&nbsp;', '&nbsp;&lt;', '&lt;', '&gt;', '&amp;'; say "&nbsp;&lt;&gt;&amp;".match(/ @list /, :g).join("\n");
15:05 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)␤»
15:05 masak the type of A must be something that implements .pick correctly, too.
15:05 pyrimidine rakudo: my @list = '&nbsp;', '&nbsp;&lt;', '&lt;', '&gt;', '&amp;'; say "&nbsp;&lt;&gt;&amp;".match(/ @list /, :g).join("\n");
15:05 masak rakudo: enum A <a b c>; say A.pick
15:06 p6eval rakudo a4d326: OUTPUT«&nbsp;␤&lt;␤&gt;␤&amp;␤»
15:06 p6eval rakudo a4d326: OUTPUT«c  2␤a      0␤b      1␤␤»
15:06 pyrimidine sorry 'bout mangling that  :(
15:07 pyrimidine Is LTM working with var interpolation in nqp-rx?
15:08 pyrimidine I would think that should pick '&nbsp;&lt;', not the two smaller matches
15:08 * masak doesn't think LTM works there yet
15:09 pyrimidine ok.
15:09 jnthn No, I think not.
15:09 pmichaud no, I don't think it works there
15:09 pmichaud it can be made to work there after I finish my fixes to the regex interpolator
15:09 pmichaud (working on that now)
15:09 pyrimidine ok.  working on .trans, and have it working with a few exceptions
15:09 pyrimidine like that one
15:10 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 pyrimidine rakudo: my @list = '&nbsp;&lt;', '&lt;', '&gt;', '&amp;'; say "&nbsp;&lt;&gt;&amp;".match(/ @list /, :g).join("\n");
15:10 p6eval rakudo a4d326: OUTPUT«&nbsp;&lt;␤&gt;␤&amp;␤»
15:11 pyrimidine rakudo: my @list = '&nbsp;', '&nbsp;&lt;', '&gt;', '&amp;'; say "&nbsp;&lt;&gt;&amp;".match(/ @list /, :g).join("\n");
15:11 p6eval rakudo a4d326: OUTPUT«&nbsp;␤&gt;␤&amp;␤»
15:11 pyrimidine leftmost
15:11 pyrimidine *leftmost first
15:12 orafu joined #perl6
15:13 skangas joined #perl6
15:26 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.
15:30 [Coke] any perl6's who are going to yapc::na for sure?
15:30 colomon [Coke]: me
15:30 [Coke] sixperlers? (is that better?)
15:31 colomon perlsixers?
15:31 [Coke] colomon: woot. are you running the rosa BOF room? =-)
15:31 colomon errr.... no?  what's a "rosa BOF room"?
15:32 [Coke] http://yapc2010.com/yn2010/schedule?day=2010-06-21
15:33 [Coke] ah, even better: http://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!?!
15:33 pmichaud there's a room reserved for Perl 6 / Parrot stuff
15:33 pmichaud it's not really an organized "workshop"  (yet?)
15:34 [Coke] pmichaud: I don't see it turning into one.
15:34 pmichaud [Coke]: me either
15:34 pmichaud we should probably get that title changed
15:35 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?
15:35 phenny BrowserUk: I'll pass that on when ruoso is around.
15:35 [Coke] good idea. (allison has already indicated the focus should be more sixy than parrot), and we should remove "workshop".
15:36 [Coke] colomon: an excellent question.
15:36 pmichaud at YAPC::NA last year, there was a 2-day Parrot workshop before the conference
15:36 [Coke] (which we're not doing this year!)
15:36 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.
15:36 pmichaud *scheduled
15:36 colomon oooo, Conway workshops.
15:37 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.
15:38 * [Coke] asks in #yapc.
15:38 BrowserUk phenny: tell ruoso, Correction: I favour 2), but 4) ...
15:38 phenny BrowserUk: I'll pass that on when ruoso is around.
15:39 colomon I see day 2 has four really exciting sounding panels, sweet!
15:39 colomon and I think [Coke] is already signed up for all of them...  :)
15:42 pmichaud argggh... The Perl 6 talk is scheduled opposite of the IronMan forfeit talk?!?
15:44 jnthn :/
15:45 pmichaud I think I'll switch my talks around :)
15:45 pmichaud (assuming I end up going, of course )
15:45 masak swimming &
15:49 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.
15:49 phenny 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?
15:49 phenny 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 #perl6
15:50 phenny ruoso: 15:38Z <BrowserUk> tell ruoso Correction: I favour 2), but 4) ...
15:50 jotr^afk left #perl6
15:54 [Coke] I am happy about http://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
15:55 pmichaud (or, at least, I can't)
15:56 [Coke] Damian - Hands-on Perl 6 with Rakudo
15:56 pmichaud I mean in the text of the page itself
15:56 jnthn Nice!
15:57 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 #perl6
15:57 colomon that's cool, but I will be long gone by friday too.  :(
15:59 jnthn pmichaud: I see the same, fwiw.
16:01 pyrimidine joined #perl6
16:01 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.
16:01 * jnthn notices there's a talk about Blizkost too
16:05 justatheory joined #perl6
16:09 cdarroch joined #perl6
16:09 cdarroch joined #perl6
16:14 [Coke] pmichaud: to add to your pile:
16:14 [Coke] 12:13 <@robkinyon> Coke: that name was at pmichaud's request
16:14 [Coke] 12:13 <@robkinyon> so, take it up with him. :)
16:15 [Coke] so if /you/ could request the name change for the ``workshop'', that'd cut through some red tape.
16:16 [particle] i'm sure i could do it as well
16:16 [Coke] very likely.
16:17 [Coke] 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 :)
16:17 [particle] what do you want to nam eit?
16:17 [Coke] so far all I have is "not a workshop"
16:18 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...
16:18 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?
16:18 [Coke] "Perl 6 (and parrot) BOF" seems better. I'd shop it around though.
16:19 pmichaud bkeeler: the regex code shouldn't be calling methods to convert values to strings/regexes
16:19 pmichaud that should be set up by the HLL
16:19 pmichaud also, there would be recursion problems with something like   [ $a ] *
16:19 pmichaud er
16:19 pmichaud [ $a ]*
16:19 [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.
16:19 pmichaud because the iterator register would get clobbered on the repetition
16:20 pmichaud or, more clearly:   [ @a ]*
16:21 bkeeler pmichaud: Hmmm, sounds nasty
16:21 pmichaud I have some updated regex code -- just bring NQP along to match now
16:23 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:28 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?
16:29 pyrimidine I would think $($/).keys, but it's not working
16:30 [Coke] colomon: I plan on being there when not attending talks.
16:31 colomon [Coke]: bad news on that front is I think you and I want to attend the same talks.  :)
16:31 colomon (ie we can't be trading off shifts there.)
16:32 colomon 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?
16:32 p6eval rakudo a4d326:  ( no output )
16:32 colomon bbkr: it should work
16:32 colomon it's a ... bug
16:33 * bbkr reports
16:34 colomon bbkr: actually, what error does it get?
16:34 colomon (and looking at it again, it shouldn't work, exactly.)
16:34 colomon (oh, I see, no output)
16:35 bbkr no error, looks like infinite loop
16:35 colomon rakudo: say 1..0
16:35 p6eval rakudo a4d326: OUTPUT«␤»
16:35 colomon rakudo: say 1...()
16:35 p6eval rakudo a4d326:  ( no output )
16:35 colomon yeah, okay, that won't ever do anything useful.
16:36 isBEKaml joined #perl6
16:36 isBEKaml hello, #perl6!
16:36 colomon o/
16:37 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.
16:38 colomon bbkr: definite bug, I'd say.
16:38 colomon but it should just give an error message of some sort.
16:38 colomon you're supposed to be able to pass an array on the RHS of ...
16:39 colomon but I don't think there is spec for the array being empty.
16:39 bbkr colomon: thanks, bug submitted
16:39 colomon bbkr++
16:41 dju joined #perl6
16:42 dju joined #perl6
16:43 TimToady more precisely, the RHS is supposed to be a list, not an array
16:43 colomon TimToady++ # for saying it clearly.
16:44 colomon so, what if the RHS is the empty list?
16:45 TimToady then the first value is not terribly useful
16:45 TimToady if the .get on that list returns EMPTY, probably the ... returns EMPTY as well
16:46 TimToady or possibly the list on the left
16:46 TimToady but that kinda goes against the part of the spec that says 1,2,3...2 returns 1,2
16:47 colomon rakudo: say 1, 2, 3...2
16:47 p6eval rakudo 10a321:  ( no output )
16:47 colomon apparently need to add that test too....
16:47 isBEKaml rakudo: say 1...1,2,3,4;
16:47 p6eval rakudo 10a321: OUTPUT«1␤»
16:48 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 #perl6
16:48 isBEKaml colomon: known bug?
16:48 colomon yes
16:48 colomon more NYI than bug.  ;)
16:48 isBEKaml :)
16:48 constant joined #perl6
16:48 constant joined #perl6
16:49 * [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:50 TimToady it's hard to know what the best default is on that
16:50 TimToady either way will surprise people
16:50 TimToady depends on whether they are thinking of 2,4,6 as abstract or concrete, and we can't know
16:51 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
16:51 p6eval rakudo 10a321:  ( no output )
16:51 colomon particularly when 1...1,2,3,4,5...2 should return 1, 2, 3, 4, 5, 6, 7, 8...
16:51 colomon isBEKaml: no
16:51 colomon isBEKaml: what are you trying to do?
16:52 isBEKaml colomon: I just looked at RHS of ... should be a list. Curious what that would take, so put that in.. ;)
16:53 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 colomon isBEKaml: second, lists on the RHS is NYI.
16:53 isBEKaml right.
16:56 [particle] the other way to say NYI is DIY ;)
16:56 bbkr std: 1, * ... 1
16:56 p6eval std 30777: OUTPUT«ok 00:01 114m␤»
16:56 bbkr rakudo: 1, * ... 1
16:56 p6eval rakudo 10a321: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
16:56 bbkr hmm, example abowe - NYI or a bug?
16:56 bbkr above*
16:56 colomon TimToady: any idea what 1, * ... 1 should do?
16:57 colomon bbkr: I think that one might be a "bug" in STD.
16:58 [Coke] I would expect that to be (1)
16:58 colomon [Coke]: but what does the * mean in this context?
16:58 [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'
16:58 bbkr 4x '1'
16:58 isBEKaml wait, why does it say "Block" there?
16:59 colomon [Coke]: it does matter, because we look to the * to figure out what the pattern for the series is.
16:59 colomon and we're looking for a closure, not a loose Whatever.
16:59 [Coke] (do you need the pattern if you don't have to get by the first element?)
16:59 colomon bbkr: errr... if the spec says that, it's wrong, IMO.
16:59 Ross joined #perl6
16:59 colomon [Coke]: figuring out the pattern is done first.
17:00 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.
17:00 [Coke] 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.
17:01 [Coke] so, you'd get the 1 from the RHS, then pull the 1 from the LHS, and then you're done.
17:01 [Coke] but, I iz not a larry.
17:01 bbkr Coke: indeed, i understood it the same way
17:02 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, {???} ... ???)␤»
17:02 colomon rakudo: (1, -* ... *).perl.say
17:02 p6eval rakudo 10a321: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
17:02 colomon bbkr: that one is just an example of Whatever closures not fully working yet.
17:03 bbkr colomon: ok, then i won't report it if it's just NYI
17:04 ruoso joined #perl6
17:07 colomon [Coke]: I think you're right.
17:07 pugssvn r30778 | lwall++ | [S03] typo noticed by markjreed++
17:08 colomon [Coke]: maybe.  it's a really perverse case.
17:12 SmokeMachine joined #perl6
17:12 ruoso BrowserUk, around?
17:12 colomon .oO(We could probably use dozens of additional test cases in the series test files....)
17:22 ash__ joined #perl6
17:28 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␤»
17:28 pmichaud because false == 0 in a numeric context?
17:28 pmichaud or true == 1 in a numeric context?
17:28 pmichaud rakudo: say +(Inf.Int !% Inf.Int)
17:28 p6eval rakudo 10a321: OUTPUT«1␤»
17:28 pmichaud rakudo: say (Inf.Int !% Inf.Int).WHAT
17:29 p6eval rakudo 10a321: OUTPUT«Bool()␤»
17:29 bbkr rakudo: say (Inf.Int !% Inf.Int + 1).WHAT
17:29 p6eval rakudo 10a321: OUTPUT«Num()␤»
17:29 skangas joined #perl6
17:30 pmichaud the infix:<+> coerces its arguments into numbers
17:30 TimToady rakudo: say (Inf.Int % Inf.Int).WHAT
17:30 p6eval rakudo 10a321: OUTPUT«Int()␤»
17:31 TimToady rakudo: say (Inf % Inf).WHAT
17:31 p6eval rakudo 10a321: OUTPUT«Num()␤»
17:32 TimToady though, arguably, $x % Inf is the identify function :)
17:32 TimToady rakudo: say Inf % Inf
17:32 bbkr still - if "Inf.Int + 2" is "Int" then I expect Bool from !% operator, not Num, right?
17:32 p6eval rakudo 10a321: OUTPUT«NaN␤»
17:33 pmichaud bbkr:  precedence
17:33 pmichaud % has higher precedence than +
17:33 TimToady sure, ! always forces Bool
17:33 pmichaud rakudo:  say Inf.Int !% (Inf.Int + 1)
17:33 p6eval rakudo 10a321: OUTPUT«1␤»
17:34 bbkr indeed, thanks, not a bug.
17:34 colomon and Bool::True == 1
17:34 colomon (and I think bbkr figured out what was going on before I did.  should have stayed quiet.  :)
17:34 TimToady rakudo: say 42.0 % Inf
17:34 p6eval rakudo 10a321: OUTPUT«NaN␤»
17:35 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
17:35 pmichaud ! is a meta-operator
17:36 TimToady seems like you ought to preserve the identity that $x % $y is always $x if $y is larger
17:36 TimToady even if $y is Inf
17:37 TimToady I can see that Inf % Inf is indeterminate, though
17:41 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)␤»
17:41 jaffa4 std: m:g/g/;
17:41 p6eval std 30778: OUTPUT«ok 00:01 114m␤»
17:41 TimToady and Perl 5 agrees with me that 42 % Inf should be 42, not NaN
17:42 TimToady masak: ^^^
17:42 jaffa4 Is there Inf in Perl 5?
17:42 TimToady masak: also, you are correct that there are 7 sets :)
17:43 BrowserUk Hey ruoso?
17:44 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 isBEKaml I got that when building the latest Rakudo..
17:44 SmokeMachine joined #perl6
17:44 isBEKaml I don't remember seeing this before..
17:45 [Coke] yup. it's a warning, that's all.
17:45 [Coke] 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)
17:46 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:55 dual joined #perl6
18:02 colomon TimToady: is 1 ... 10, 20 ... 100 really (1 ... 10, 20) ... 100  ?
18:05 kaare joined #perl6
18:15 lisppaste3 joined #perl6
18:16 Tene phenny: tell masak ping
18:16 phenny Tene: I'll pass that on when masak is around.
18:17 patrickas joined #perl6
18:17 patrickas hello perlsixers
18:27 TimToady colomon: I suspect it's more like 1 ... ( 10, 20 ... 100 )
18:29 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?
18:29 colomon 1 ... 10 ... 1, for instance.
18:30 colomon TimToady: good one too.
18:30 plobsing joined #perl6
18:31 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
18:31 TimToady yes, whereas the clear intent of  1 ... 10 ... 1 is 1 ... (10 ... 1)
18:32 PerlJam "clear intent"?
18:32 PerlJam a confused programmer's intent is never clear  :)
18:32 colomon PerlJam: 1 ... 10 ... 1 could be a lot of work to go through to get the list (1)
18:33 TimToady I cannot imagine even a confused programmer writing that expecting to get (1)
18:34 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)␤»
18:34 TimToady oh, right :)
18:34 colomon gather / take bug.  :(
18:34 colomon rakudo: say ~( 1 ... ( 10 ... 1 ).eager )
18:34 p6eval rakudo 10a321: OUTPUT«1␤»
18:34 colomon still doesn't work because .... interesting.
18:34 colomon and amusing.
18:35 TimToady rakudo: say ( 10 ... 1 ).eager.Str
18:35 p6eval rakudo 10a321: OUTPUT«10 9 8 7 6 5 4 3 2 1␤»
18:35 colomon RHS has to be a single scalar atm
18:35 colomon so I really don't know how you get "1" as a answer  for ~( 1 ... ( 10 ... 1 ).eager
18:36 TimToady well, it's a list, and is evaluated first, so that pretty much asks for right associative right there
18:36 TimToady rakudo: say +( 10 ... 1 )
18:36 p6eval rakudo 10a321: OUTPUT«10␤»
18:37 colomon seems like list infix precedence isn't right for what we're talking about?
18:40 TimToady list infixes are list associative, which means the operator gets to decide the semantics
18:42 colomon oh, cool!
18:42 TimToady multi infix:<...> (**@lists) can evaluate @lists in any order
18:42 * PerlJam ponders a listfix ... that can't make up its mind.
18:43 colomon oh, bother.  it's just a variation on that.
18:43 colomon I was thinking that somehow ... could specify that it was right associative and then be implemented in terms of just pairs of lists.
18:44 colomon this actually gets at the differences.  I was originally thinking that each pair of @lists would be evaluated.
18:44 colomon I mean, you'd do @lists[0] ... @lists[1]
18:44 colomon @lists[1] ... @lists[2]
18:44 colomon et
18:44 colomon etc
18:44 colomon and then the results would be pasted together.
18:45 colomon but that will get you radically different answers than @lists[0] ... (@lists[1] ... @lists[2]) would
18:48 TimToady multi infix:<...> ($x,*@y) { $x ... ( infix:<...>(|@y) ) }; multi infix:<...> ($x,$y) { #`{your ad here} } or some such, modulo slicing sigs
18:49 cognominal joined #perl6
18:54 perlygatekeeper left #perl6
19:02 ShaneC joined #perl6
19:02 ShaneC left #perl6
19:03 TimToady masak: if we ever get quantum computers, Complex will be very much a part of the core. :)
19:03 TimToady in any case, Complex is much more fundamental to how the universe works than DateTime is, regardless of how often it is used.
19:04 moritz_ so is group theory :/
19:04 moritz_ but I'd be OK with moving DateTime to a module
19:04 moritz_ and Date
19:05 moritz_ and keep only Instant in core
19:05 TimToady I'm okay if gregorian is in core, or out, can argue both ways...
19:06 TimToady bbiab &
19:10 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
19:10 moritz_ rakudo: my @list = <a b c d>; say 'abc' ~~ / @list /
19:10 p6eval rakudo 10a321: OUTPUT«a␤»
19:11 moritz_ rakudo: my @list = <a b c d>; say 'abc' ~~ / @list+ /
19:11 p6eval rakudo 10a321: OUTPUT«abc␤»
19:11 pmichaud okay, question (mainly for moritz_ and bkeeler)
19:12 pmichaud 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 pmichaud should I simply revert the nqp merge and start from there, or ... ?
19:12 pyrimidine maybe branch just prior to the merge, then add in?
19:12 bkeeler If it makes sense to start over, feel free.
19:13 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
19:13 pmichaud well, cleaning up the rakudo side is going to take a little work too :(
19:13 moritz_ :(
19:14 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
19:14 pmichaud it's definitely a fair bit simpler
19:15 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
19:15 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
19:15 pmichaud the patch is definitely far closer to what I had in mind and what we discussed a month or so ago (more)
19:16 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
19:17 pmichaud and it'll run into trouble backtracking on arrays
19:17 pmichaud (the iterator gets clobbered when used in a quantifier)
19:19 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
19:19 pmichaud because the $Pxx isn't saved anywhere
19:21 pmichaud 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 SmokeMachine joined #perl6
19:21 bkeeler Well, I certainly feel bad about putting a drain on your severely limited tuit supply...
19:22 pmichaud no problem -- I'm sad you had to wait so long for me to get a chance to look at it
19:22 pmichaud I had expected to be able to do it over the weekend, but $wife changed plans on me on Saturday morning
19:24 pmichaud so, what's the best way to revert everything back to an earlier commit?
19:24 pmichaud (in this case, 3ad311)
19:24 bkeeler rakudo: say '1abc2' ~~ / 1 <{ [ 'ab', 'a', 'bc' ]}> 2 /
19:24 p6eval rakudo 10a321: OUTPUT«␤»
19:25 bkeeler rakudo: say '1abc2' ~~ / 1 <{ [ 'ab', 'a', 'bc' ]}> ** 2 2 /
19:25 p6eval rakudo 10a321: OUTPUT«␤»
19:25 bkeeler rakudo: say '1abc2' ~~ / 1 <{ [ 'ab', 'a', 'bc' ]}>+ 2 /
19:25 p6eval rakudo 10a321: OUTPUT«␤»
19:25 bkeeler rakudo: say '1abc2' ~~ / 1 <{ [ 'a', 'bc' ]}>+ 2 /
19:25 p6eval rakudo 10a321: OUTPUT«1abc2␤»
19:26 bkeeler Boom
19:26 bkeeler I see what you mean
19:26 pmichaud rakudo:  my @x = <ab a bc>;  say '1abc2' ~~ / 1 @x+ 2/
19:26 p6eval rakudo 10a321: OUTPUT«␤»
19:26 pmichaud rakudo:  my @x = <a bc>;  say '1abc2' ~~ / 1 @x+ 2/
19:26 p6eval rakudo 10a321: OUTPUT«1abc2␤»
19:26 bkeeler Yep, same bug
19:26 pyrimidine was seeing the same thing here
19:27 pyrimidine 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
19:27 bkeeler Or maybe branch from head and just reverse the patches in your branch
19:27 pmichaud I'm not sure how to reverse the merge patches
19:27 pmichaud do I have to track them all down, or ...?
19:27 pyrimidine that sounds better
19:28 bkeeler Is it different from reversing a regular commit?
19:28 pmichaud I think so, because a merge isn't a single commit
19:28 pmichaud I could probably do
19:28 pmichaud git checkout 3ad311 -- src
19:29 pmichaud 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"?
19:29 pmichaud PerlJam: yeah, I said that wrong.  A merge has multiple parents
19:29 pmichaud I could try reverting just the merge commit... just a sec
19:29 PerlJam yes, git revert should work.
19:30 pmichaud pmichaud@orange:~/nqp-rx$ git revert bbaab4
19:30 pmichaud fatal: Commit bbaab497291b31bb7f0d3ccbdb021cff2b4afd6b is a merge but no -m option was given.
19:30 pmichaud See the revert-a-faulty-merge How-To[1] for more details.
19:31 pmichaud seems not-trivial.
19:31 pyrimidine Maybe: http://www.kernel.org/pub/software/scm/g​it/docs/howto/revert-a-faulty-merge.txt
19:31 PerlJam ah, then resetting to just before the merge is probably best.
19:32 pyrimidine reading that link gives me a headache
19:32 pmichaud same here
19:33 bkeeler Who was it who was volunteering as a git mentor?  dukeleto?
19:33 [particle] #git is just down the hall
19:33 pmichaud I'll just do the "git checkout" approach
19:33 pmichaud and see how far I get
19:33 [particle] though my last question  there was warnocked
19:34 PerlJam [particle]: what was it?
19:35 [particle] if 'git rev-parse --is-bare-repository' is true, should i 'git config core.worktree /some/dir' then 'git checkout -f' ?
19:35 [particle] i think the answer is no, because it did not work.
19:35 [particle] instead, it checked out over my current directory, which had the 600 line script i was running
19:36 [particle] of course, i hadn't committed that script.
19:37 * [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
19:38 pmichaud yes, frequent commits is a big plus for me :-)
19:38 [particle] yes, i should have vim commit on save
19:38 pmichaud time to pick up kids... bbiab
19:39 pyrimidine I have my .trans work on a fork on github, so i can just merge in changes from upstream later
19:40 stepnem joined #perl6
19:40 jnthn pyrimidine: How's the trans going? :-)
19:50 pyrimidine jnthn: well, actually
19:50 pyrimidine things not working are converting string ranges to char ranges
19:51 pyrimidine 'a..z' -> 'a'..'z'
19:51 pyrimidine but that was supposedly added to STD at some point
19:51 pyrimidine (for tr///)
19:53 pyrimidine "Whfg nabgure Crey unpxre".trans('a'..'z' => ['n'..'z','a'..'m'], 'A'..'Z' => ['N'..'Z','A'..'M']);
19:53 pyrimidine Just another Perl hacker
19:53 * jnthn wonders how hard it is to make tr/// work ones .trans is in
20:06 jferrero joined #perl6
20:08 hercynium joined #perl6
20:17 cosimo szabgab: ping
20:34 rgrau joined #perl6
20:38 ethel joined #perl6
20:43 rokoteko joined #perl6
20:46 ash__ joined #perl6
20:48 Ross joined #perl6
20:50 ash__ left #perl6
20:50 chitragupt joined #perl6
21:10 whiteknight joined #perl6
21:18 ive joined #perl6
21:41 lichtkind joined #perl6
21:42 lichtkind TimToady: is it true that the original Test.pm is  your design?
21:46 sakib joined #perl6
21:51 spinclad joined #perl6
22:16 ruoso joined #perl6
22:25 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:27 lichtkind TimToady: thanks, and the design with   tests =>, todo=>, onfail =>,  ok();,  skip();,  plan(); was similiar to the old TEST?
22:34 TimToady the old TEST merely expected the .t file to emit "1..5" followed by "ok 1", "ok 2", ... "ok 5"
22:34 TimToady but that is core of TAP
22:35 TimToady at some point I think comments were allowed, and eventually someone wrote Test.pm to support the typical operations
22:41 TimToady but that was after Perl 5 came out
22:41 TimToady in Perl 4 the .t files were still on their own to produce output, but comments were allowed by then
22:45 lichtkind TimToady: thanks a lot im currently writing a talk about some advanced perl testing but didnt know that :)
22:46 TimToady I don't wish to take credit for more than I actually did.  :)
22:46 TimToady I get plenty of that already....
22:46 Sarten-X joined #perl6
22:49 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:50 lichtkind TimToady: your face only pops up at tht 5ths slide or so ... in the beginning there was perl 1.0 and so
22:52 lichtkind TimToady: so TEST was a early TAP reader?
22:52 TimToady essentially, though no one called it TAP then :)
22:52 TimToady and I didn't name it either, I just invented it :)
22:53 lichtkind haha
22:55 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:59 Psyche^ joined #perl6
23:00 lichtkind Juerd: almost like in the early perl days :)
23:01 Juerd I would believe you if you told me that many of those tests have survived since the first perls :)
23:01 Juerd But I haven't checked.
23:07 whiteknight joined #perl6
23:10 japhb joined #perl6
23:36 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 TimToady std: use Test; MY::Test;
23:36 p6eval std 30778: OUTPUT«ok 00:01 112m ./lib/Test.pm6␤ok 00:01 114m␤»
23:37 TimToady std: use Test; MY::Toast;
23:37 p6eval std 30778: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤ 'MY::Toast' used at line 1␤Check failed␤FAILED 00:01 111m␤»
23:37 TimToady rakudo: use Test; MY::Test;
23:37 p6eval rakudo 10a321: OUTPUT«Can not find sub MY::Test␤current instr.: 'perl6;Perl6Exception;throw' pc 15629 (src/builtins/Associative.pir:32)␤»
23:39 TimToady std: use Test; { OUTER::Test; }
23:39 p6eval std 30778: OUTPUT«ok 00:01 111m␤»
23:39 TimToady rakudo: use Test; { OUTER::Test; }
23:39 p6eval rakudo 10a321: OUTPUT«Can not find sub OUTER::Test␤current instr.: 'perl6;Perl6Exception;throw' pc 15629 (src/builtins/Associative.pir:32)␤»
23:43 dju joined #perl6
23:44 christine joined #perl6
23:56 lichtkind good night
23:56 sahadev left #perl6

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

Perl 6 | Reference Documentation | Rakudo