Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-11-28

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:23 charsbar joined #perl6
00:31 SmokeMachine joined #perl6
00:35 robert__ left #perl6
00:50 frew_ joined #perl6
00:50 frew__ joined #perl6
00:53 Wolfman2000 frew: unsure which nick you are using right now, but...need a Google Wave invite?
01:00 astrojp left #perl6
01:01 astrojp joined #perl6
01:05 astrojp left #perl6
01:07 sjohnson Wolfman2000: someone said you can use that to do collaborative editing which is kinda cool
01:07 sjohnson that technology with vim would be pretty cool
01:07 Wolfman2000 sjohnson: Yep. That's what some of us did with one of my perl files up on the Wave.
01:07 Wolfman2000 ...ugh, I'm not using Google Wave with vim. Or emac.s
01:08 frew_ joined #perl6
01:08 sjohnson Wolfman2000: are you forced to use their web based text editor when doing that sort of thing?
01:08 frew_ Wolfman2000: if you've still got one sure!
01:08 Wolfman2000 frew_: I do. hang on, and give me your email
01:08 frew_ Wolfman2000: frioux@gmail.com
01:08 arnsholt sjohnson: You could try using vimperator? That should give you vim and Wave =)
01:09 frew_ sjohnson: I like the "It's All Text" add on
01:09 frew_ it lets me use gvim for text fields I want to do serious editing with
01:09 Wolfman2000 arnsholt: I don't want to use vim
01:09 Wolfman2000 Perhaps that wasn't made clear.
01:10 arnsholt Wolfman2000: I understood that. But I think sjohnson wanted to
01:10 Wolfman2000 I wonder if the green dots on Google Wave mean they are online
01:11 frew_ what do people here use for persistent IRC connections?
01:11 frew_ I think a linnode would be way too expensive for that
01:12 frew_ but Dreamhost doesn't seem like it would be fast enough or whatever
01:13 Wolfman2000 frew_: your invite will come soon...hopefully
01:14 frew_ sweet, thanks :-)
01:20 Tene frew_: just screen+irssi
01:20 colomon phenny: tell masak Instead of the work-around Rank.pick(*) -> $rank, how about just @cards.map *.rank -> $rank  ?/
01:20 phenny colomon: I'll pass that on when masak is around.
01:21 sjohnson thanks arnsholt
01:21 sjohnson frew_: gnu screen + weechat :)
01:22 sjohnson frew_: http://members.shaw.ca/smujohn​son/img/weechat-screenshot.png
01:23 Tene frew_: I keep my irc client running on a friend's openhosting box that he already had up to host a website.  Several people here run IRC on feather, iirc.
01:23 Tene Mostly, ask around among your acquaintences to see if any of them have a server you could have a shell on.
02:16 astrojp joined #perl6
02:19 TiMBuS joined #perl6
02:23 jaldhar joined #perl6
02:24 orafu joined #perl6
02:24 astrojp left #perl6
02:44 colomon phenny: tell masak or better yet @cards>>.rank -> $rank
02:44 phenny colomon: I'll pass that on when masak is around.
02:53 Wolfman2000 ...yeah, still bewildered at the amount of ops today. I wonder if they are all needed.
02:53 Wolfman2000 Anyway...time to enter the Perl 5 zone should I need help with more of our hopeful eventual Perl 6 Pastebin. With luck, I won't be run out.
02:59 frew_ Tene: that's what I should do...
03:07 Wolfman2000 frew_: I believe I gave you the URL of my github pastebin project. I'm awaiting your criticism when you can give it.
03:18 JimmyZ joined #perl6
03:27 Khisanth frew_: not fast enough for IRC?! O_o
03:27 Khisanth 56k was more than enough ...
03:29 frew_ Wolfman2000: I looked through it a little, but not a lot
03:29 frew_ Wolfman2000: I'll certainly let you know though
03:29 Wolfman2000 gotcha. also, soon asking a question in the dbic room
03:29 frew_ Wolfman2000: the one thing I will say now though is that you have a really long method in one of the controllers I looked at
03:30 frew_ I try to keep it under 20 lines generally
03:30 frew_ I'll hop in there :-)
03:30 Wolfman2000 frew_: Some of the subs are hard to keep under 20.
03:30 frew_ I know, especially when you are generating html
03:31 Wolfman2000 frew_: Now, if I can understand how to have actual ResultSets and call upon them that way, that would reduce some line clutter.
03:31 jallorina joined #perl6
03:32 Wolfman2000 But some subs will just have to be above your recommended limit.
03:32 frew_ heh
03:32 frew_ well, I'd also say that your variable names are a little weird, being camel case and using abbreviations
03:35 Khisanth add some underscores for full coverage!
03:35 Khisanth $foo_Br :)
03:35 frew_ Khisanth: close, but not perfect
03:35 frew_ this is what I've seen:
03:36 frew_ $Foo_Br
03:36 frew_ but of course that's never consistent :-)
03:36 * Khisanth find variable naming to be the hardest part of programming
03:36 * Khisanth wonders if writers have the same issue with character names
03:36 frew_ I bet they do
03:37 frew_ but they can't reduce scope as much as we can
03:37 mdxi i really don't like the "less than x lines" thing. i take more of a toolkit view: a method/sub should do one thing. if i notive it doing more than one thing, or doing something repeatedly, i know it's time to split.
03:37 Khisanth they can if it's sci-fi
03:37 mdxi going by line count just seems like a bad way to make decisions.
03:37 frew_ mdxi: that's fine, but I'd say his controller method does more than it should
03:37 frew_ way more
03:37 Khisanth maybe that is where all those unpronounceable names come from :)
03:37 frew_ it does model code
03:38 frew_ Khisanth: heh, maybe?
03:38 frew_ oh!
03:38 frew_ I'm readin Arabian Nights and they actually do it in those!
03:38 frew_ because all the stories are told in other stories which are in turn told in other stories
03:38 Khisanth abbreviated names?
03:38 frew_ so far it's only 3 deep
03:38 frew_ no, scope :-)
03:46 Wolfman2000 Khisanth: I have to admit...I'm kind of surprised to see you here. Didn't know you were into Perl 6
03:52 Khisanth I am in #lisp, #scheme, #haskell too ;)
03:54 Wolfman2000 Can't say I'm into those languages
03:55 quantumEd Perl 6 = Lisp * Scheme * Haskell * <everything else too>
03:55 quantumEd (+ infinitely other terms)
04:04 beggars joined #perl6
04:16 hercynium joined #perl6
04:47 diakopter i see
04:50 [particle]1 joined #perl6
04:51 JeffreyKegler joined #perl6
05:01 envi^home joined #perl6
05:06 diakopter std: say::(say 6)
05:06 p6eval std 29203: ok 00:01 103m␤
05:06 diakopter rakudo: say::(say 6)
05:06 p6eval rakudo 7347ec: invoke() not implemented in class 'Undef'␤in Main (file <unknown>, line <unknown>)␤
05:06 diakopter pugs: say::(say 6)
05:06 p6eval pugs: *** ␤    Unexpected "say"␤    expecting program␤    at /tmp/eQls0BPPRH line 1, column 1␤
05:07 Wolfman2000 someone want to remind me how many versions of Perl 6 there are?
05:07 Tene Wolfman2000: One.  You mean implementations?
05:07 Wolfman2000 Tene: yes
05:07 Tene Ah.  No idea.
05:09 diakopter Wolfman2000: http://perl6.org/compilers/
05:16 Wolfman2000 diakopter: I thought there was something else being done with javascript besides Sprixel. Or is what I was seeing one and the same?
05:20 diakopter two others, actually
05:20 diakopter that page needs amended
05:20 diakopter sprixel is mine..
05:20 diakopter pmurias is writing mildew-js
05:20 diakopter (same as mildew as listed on that page, except targeting JS on V8 (and the browsers))
05:21 Tene pugs had a js backend at one point.
05:21 diakopter also, flavio glock has compiled his P6-ish compiler to JS..
05:21 diakopter also, what Tene said
05:22 diakopter Wolfman2000: (Perlito is the name of fglock's)
05:22 diakopter so yes, there are several
05:22 gfx joined #perl6
05:24 diakopter Wolfman2000: fglock's Perlito grew out of KindaPerl6 & MostlyPerl6 & what was called v6-alpha (v6.pm)
05:25 diakopter afaik.
05:25 Wolfman2000 ...okay, slight implementation overload
05:26 diakopter heh
05:27 diakopter oh, Pugs::Compiler::Rule stopped working on perl 5.11.1,2 sez the matrix.cpantesters
05:28 diakopter b/c of Data::Dumper output format changes...!
05:28 diakopter interesting
05:47 mberends good morning, what does the V in VAST stand for?
05:48 mberends (guessing viv, but that's not intuitive)
06:18 ruz joined #perl6
06:34 diakopter mberends: not viv
06:38 mberends thanks, the search for VAST on irclog turned up nothing useful, and the glossary on perlfoundation.org has an empty entry :(
06:38 diakopter mberends: how are you
06:38 diakopter it might derive from the same as the 'viv' acronym, though
06:38 diakopter V for 5
06:38 mberends diakopter: very well, going to a big (vast) computer fair today
06:39 mberends diakopter: understood, it's a bit of a lame name
06:43 diakopter I think it's meant to be a descriptive name
06:44 mberends it does distinguish viv's AST from any other AST, so, yeah, ok
06:45 sjohnson y0
06:45 mberends g'day
06:48 sjohnson how's it going guys?
06:49 mberends good, debugging some C lately. (wrote == instead of =, took 3 days to find ;)
06:50 mberends needle <<<<< haystack
06:52 mberends TDD rescued the work. TDD++
06:57 * diakopter reads about parallel nfa
07:09 snarkyboojum joined #perl6
07:21 snarkyboojum_ joined #perl6
07:23 zloyrusskiy joined #perl6
07:28 vamped joined #perl6
07:37 sjohnson perl6: question.  if you do a s///e command on a pop(@array), if the array has nothing to pop, will the s/// fail, in terms of s/// or die
07:37 p6eval rakudo 7347ec: Confused at line 2, near ".  if you "␤in Main (file <unknown>, line <unknown>)␤
07:37 p6eval ..elf 29203: Parse error in: /tmp/rW94P8SuUH␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: question.  if you do a s///e c␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤
07:37 p6eval ..STD_red/std.rb…
07:37 p6eval ..pugs: *** ␤    Unexpected "  if"␤    expecting ".", "\187", ">>", "=", "^", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript␤    at /tmp/xHRPnKepnd line 1, column 10␤
07:43 sjohnson oops
07:43 sjohnson i didn't mean to get the compiler involved
07:45 KatrinaTheLamia joined #perl6
07:47 diakopter that's what he said
07:48 Su-Shee joined #perl6
07:48 cotto joined #perl6
08:04 cotto_w0rk joined #perl6
08:05 pointme joined #perl6
08:05 zaslon joined #perl6
08:05 zaslon lolmasakhazblogged! masak++ 'November 27 2009 -- straight towards the surface': http://use.perl.org/~masak/journal/39956?from=rss
08:12 kaare joined #perl6
08:22 mberends afk & # http://www.hccdagen.nl/
08:30 am0c joined #perl6
08:39 eternaleye joined #perl6
08:47 iblechbot joined #perl6
08:51 xinming joined #perl6
08:54 meppl joined #perl6
09:10 ejs joined #perl6
09:14 agentzh joined #perl6
09:22 sjohnson emergency perl 5 question:
09:22 sjohnson how can you return the last/first value, without pop/shifting it
09:22 sjohnson well, end i suppose would be more important to know than the @a[0] part
09:22 sjohnson (´ー` )
09:22 Su-Shee sjohnson: $foo = $arr[-1] and $arr[0]
09:23 sjohnson thank you
09:23 sjohnson you can do that in p5?  *dumbfounded stupid look on face*
09:23 Su-Shee aeh...
09:23 sjohnson thank you
09:35 pnate i had no idea about -1
09:36 pnate i always used [$#arr]
09:37 pnate guess idling in this channel paid off for my perl 5 programming too!
09:38 vamped but in P6 it's @arr[*-1], right?
09:59 jan__ joined #perl6
10:03 vamped left #perl6
10:07 sjohnson pnate++ # agreed
10:09 pmurias joined #perl6
10:09 Su-Shee joined #perl6
10:10 pmurias perl6: say 123.WHAT
10:10 p6eval rakudo 7347ec: Int()␤
10:10 p6eval ..elf 29203, pugs: Int␤
10:10 Su-Shee_ joined #perl6
10:10 pmurias perl6: say 123.7.WHAT
10:10 p6eval pugs: Rat␤
10:10 p6eval ..rakudo 7347ec: Num()␤
10:10 p6eval ..elf 29203: Num␤
10:11 pmurias rakudo is incorrect here
10:12 FCO joined #perl6
10:37 am0c joined #perl6
10:51 broquaint joined #perl6
11:09 masak joined #perl6
11:09 masak oh hai
11:09 phenny masak: 01:20Z <colomon> tell masak Instead of the work-around Rank.pick(*) -> $rank, how about just @cards.map *.rank -> $rank  ?/
11:09 phenny masak: 02:44Z <colomon> tell masak or better yet @cards>>.rank -> $rank
11:10 masak colomon: good idea. @cards>>.rank.uniq, perhaps.
11:11 * masak directs people's attention towards http://perlmonks.org/?node_id=809868
11:33 frettled *WOOSH*   - *attention shift*
11:36 colomon masak: Thought of adding the .uniq after I went to bed, not sure if it's worth the extra overhead or not.  Ooooo, though I guess you definitely need it in TwoPair.
11:37 masak yes.
11:37 masak I wrote my version of a reply to the PerlMonks node. http://perlmonks.org/?node_id=809872
11:38 masak others are welcome to chip in with their versions.
11:38 masak I need to go offline soon. I'm sitting in a lecture hall, and my battery is running out.
11:54 SmokeMachine joined #perl6
11:58 sjohnson colomon: uniq is a big deal
11:58 sjohnson one of my favourite Perl to-be functions
11:59 Jedai joined #perl6
11:59 Su-Shee we could offer a "adopt a function" sponsoring program.. ;)
11:59 colomon it's not even written properly yet!  :)
12:02 sjohnson colomon: i thought it worked fine
12:02 sjohnson rakudo:  say <1 2 3 4 5 3 2 4 1 3>.uniq.sort
12:02 p6eval rakudo 7347ec: 12345␤
12:02 sjohnson i suppose i didnt need that sort, but still !
12:06 colomon sjohnson: as written currently, it uses a double loop.  very inefficient.  also not lazy.
12:07 colomon boy awake, afk for a bit.
12:07 sjohnson thanks colomon
12:07 sjohnson <--- wasn't aware :[
12:15 colomon joined #perl6
12:16 colomon also, uniq isn't actually spec'd yet, unless it has been since the last time I looked for it.  :)
12:17 colomon "Write new uniq" has been on my todo list for about a month.  ;)
12:25 jnthn o/
12:27 colomon \o
12:28 colomon jnthn: Do I vaguely recall some talk that Set should be taken out of p6?
12:32 * colomon reflects that his question is kind of oddly phrased....
12:35 jnthn colomon: I don't remember either way...
12:36 jnthn colomon: There's still references to it in S02.
12:37 colomon It's still in S32-Containers, too.
12:38 colomon Oooo, Set's not supposed to be mutable.  So much for that notion.
12:39 colomon I must admit that looking over the Container types, I don't _get_ them yet.
12:40 colomon "A KeyHash automatically deletes any key whose value goes false."  ??????
12:42 colomon I guess that makes sense for KeySet and KeyBag, but it seems weird for a more generic hash.
12:47 colomon Actually, I guess what strikes me as odd here is KeySet is the mutable version of Set, but KeyHash and Hash are both mutable, and (as far as I can tell) only differ by what happens when you set a hash value to something false.
12:47 colomon rakudo: say Hash.new.WHAT
12:48 p6eval rakudo 7347ec: Hash()␤
12:48 colomon oooooooo
12:51 payload joined #perl6
12:52 diakopter ihih
12:52 diakopter rakudo: say 123.7.WHAT
12:52 p6eval rakudo 7347ec: Num()␤
12:52 diakopter rakudo: say (123.7).WHAT
12:53 p6eval rakudo 7347ec: Num()␤
12:53 colomon ng: say (123.7).WHAT
12:53 p6eval ng b155b4: Rat()␤
12:57 sjohnson what is ng?
12:58 colomon rakudo _n_ext _g_eneration
12:58 colomon it's what jnthn and pmichaud have been working on for the last month.
12:58 colomon it does a lot of basic stuff more correctly than rakudo does, but much of the advanced stuff isn't there at all yet.
12:59 jeremiah joined #perl6
13:02 lisppaste3 colomon pasted "Quick breakfast-time implementation of uniq as a sub" at http://paste.lisp.org/display/91196
13:03 colomon The unless condition should probably use :exists, but that's NYI in rakudo.  And maybe the $set argument should be "is rw"?
13:03 colomon But it's a single loop version, and as soon as gather / take is lazy, it will be too.
13:13 colomon_ joined #perl6
13:14 JimmyZ joined #perl6
13:35 colomon_ joined #perl6
13:43 zloyrusskiy joined #perl6
13:59 Su-Shee joined #perl6
14:03 Wolfman2000 *yawn* morning
14:04 JimmyZ Wolfman2000: morning
14:05 araujo joined #perl6
14:10 carlin rakudo: sub foo(Str $s, Str %h?) {}; foo('bar', { baz => 'quux' });
14:10 p6eval rakudo 7347ec:  ( no output )
14:10 carlin rakudo: say 1
14:10 p6eval rakudo 7347ec: 1␤
14:10 carlin rakudo: sub foo(Str $s, Str %h?) {}; foo('bar', { baz => 'quux' });
14:11 p6eval rakudo 7347ec:  ( no output )
14:11 carlin rakudo: sub foo(Str $s) { }; foo('bar');
14:11 p6eval rakudo 7347ec:  ( no output )
14:12 carlin rakudo: sub foo(Str $s, Str %h?) {}; foo('bar', { baz => 'quux' }); say 'alive';
14:12 p6eval rakudo 7347ec:  ( no output )
14:15 carlin rakudo: sub foo(Str $s) {}; foo('bar'); say 'alive';
14:15 p6eval rakudo 7347ec: alive␤
14:15 Wolfman2000 carlin: what's the point of testing rakudo subs if they aren't...well, being used?
14:16 carlin Wolfman2000: On my box the first one I tried to test explodes but p6eval is timing out or something I think
14:17 colomon joined #perl6
14:25 lisppaste3 carlin pasted "Asking for a hash of strings" at http://paste.lisp.org/display/91199
14:26 jnthn carlin: You need to declare a hash of strings explicitly.
14:26 jnthn carlin: Just having a hash whose values all happen to be strings isn't enoguh.
14:28 carlin jnthn: oh right, thanks
14:28 carlin jnthn: but the error is a bit of a WTF though
14:28 pmichaud good morning, #perl6
14:30 payload left #perl6
14:30 colomon joined #perl6
14:31 jnthn carlin: Yes, that look slike a bug.
14:31 jnthn pmichaud: morning
14:32 Wolfman2000 jnthn: I believe you often work with STD.pm, right?
14:33 jnthn Wolfman2000: I often read STD.
14:33 jnthn Wolfman2000: I've only used it through the bot here on channel.
14:36 ejs joined #perl6
14:38 lisppaste3 Wolfman2000 pasted "My compiling of STD.pm for Perl 5 use. Got some interesting warnings here..." at http://paste.lisp.org/display/91200
14:40 arthur-_ joined #perl6
14:42 Su-Shee joined #perl6
14:43 astrojp joined #perl6
14:45 colomon_ joined #perl6
14:59 zaslon lolmasakhazblogged! masak++ 'November 28 2009 -- do you want enfranchisement with that?': http://use.perl.org/~masak/journal/39958?from=rss
14:59 ejs joined #perl6
15:00 Psyche^ joined #perl6
15:01 jnthn Mmm...enfranchisement sounds tasty.
15:03 Wolfman2000 Well, got more github pastebin work taken care of this morning...I can possibly do a bit more work now that the Perl 5 people are at least being sociable enough.
15:06 patspam joined #perl6
15:19 carlin Hmm, masak's historical fact was interesting because that wasn't mentioned on the news here or anything
15:19 * carlin would have liked a national holiday for that :-)
15:25 quantumEd joined #perl6
15:27 colomon_ joined #perl6
15:28 Wolfman2000 ...isn't masak supposed to be asleep right now?
15:28 jnthn Wolfman2000: I'd hope not, it's only 4:30pm ;-)
15:28 Wolfman2000 ...right. time zones.
15:38 cognominal joined #perl6
15:41 vamped joined #perl6
15:42 colomon_ joined #perl6
15:44 jferrero joined #perl6
15:49 colomon joined #perl6
15:54 patspam1 joined #perl6
15:58 pmurias joined #perl6
15:58 Psyche^ joined #perl6
16:04 colomon_ joined #perl6
16:26 cognominal joined #perl6
16:43 Su-Shee_ joined #perl6
16:43 snarkyboojum joined #perl6
16:44 patspam joined #perl6
16:45 vamped joined #perl6
16:45 justatheory joined #perl6
16:49 colomon_ joined #perl6
16:53 Wolfman2000 I'll be back later...the laptop is needed for errands.
16:56 colomon joined #perl6
16:57 nbrown joined #perl6
16:59 nihiliad joined #perl6
17:04 patspam joined #perl6
17:04 masterovpuppetz joined #perl6
17:12 colomon_ joined #perl6
17:14 colomon_ joined #perl6
17:19 colomon_ joined #perl6
17:29 colomon_ joined #perl6
17:31 pmurias diakopter: did you get V8.pm to run on windows?
17:35 IllvilJa joined #perl6
17:38 avar joined #perl6
17:38 literal joined #perl6
17:49 colomon rakudo: my %hash = (a => 1, b => 3); %hash>>.key>>.say
17:50 p6eval rakudo 7347ec:  ( no output )
17:50 colomon rakudo: my %hash = (a => 1, b => 3); %hash.keys>>.say
17:50 p6eval rakudo 7347ec:  ( no output )
17:52 nihiliad joined #perl6
17:53 colomon rakudo: my %hash = (a => 1, b => 3); for %hash.keys { .say }
17:53 p6eval rakudo 7347ec:  ( no output )
17:53 colomon huh.
17:57 Cyrus joined #perl6
18:08 explorer__ joined #perl6
18:12 colomon_ joined #perl6
18:14 colomon rakudo: my $a = lazy => Sunday; say $a
18:14 p6eval rakudo 7347ec: Could not find non-existent sub Sunday␤in Main (file src/gen_setting.pm, line 324)␤
18:14 colomon rakudo: my $a = lazy => "Sunday"; say $a
18:15 p6eval rakudo 7347ec: lazy     Sunday␤
18:15 mberends joined #perl6
18:15 Tene rakudo: my $a = lazy => Boomtime; say $a
18:15 p6eval rakudo 7347ec: Could not find non-existent sub Boomtime␤in Main (file src/gen_setting.pm, line 324)␤
18:16 colomon rakudo: my $a = lazy => "Sunday"; say $a; $a.value = "afternoon"; say $a;
18:16 p6eval rakudo 7347ec: lazy     Sunday␤lazy       afternoon␤
18:16 jnthn wtf...isn't it Saturday?
18:16 colomon Pair is mutable, then
18:16 jnthn oh, phew...
18:16 jnthn :-)
18:17 * jnthn thought he'd missed a day there or something...
18:17 colomon jnthn: Yes, but I'm listening to Queen.
18:17 jnthn colomon: It appears that Rakudo has it that way...
18:17 colomon Is it not supposed to be?
18:17 patspam joined #perl6
18:18 s1n left #perl6
18:18 jnthn colomon: It's mant to be mutable. PairVal is the immutable version.
18:18 jnthn *ment
18:18 jnthn *meant
18:21 colomon danke
18:21 colomon my next test:
18:21 colomon rakudo: my @a = (1,2);  @a.push: 10; say @a.perl
18:22 p6eval rakudo 7347ec: [1, 2, 10]␤
18:34 pdcawley joined #perl6
18:38 FCO joined #perl6
18:48 hercynium joined #perl6
18:48 colomon rakudo: my $a = lazing => <On A Sunday>; say $a.perl;
18:48 p6eval rakudo 7347ec: "lazing" => ["On", "A", "Sunday"]␤
18:48 colomon rakudo: my $a = lazing => <On A Sunday>; say $a.perl; $a.value.push("Afternoon"); say $a.perl;
18:49 p6eval rakudo 7347ec: "lazing" => ["On", "A", "Sunday"]␤"lazing" => ["On", "A", "Sunday", "Afternoon"]␤
18:49 colomon I must be doing something exceedingly stupid on my real code, but I can't see it.
19:06 snearch_ joined #perl6
19:07 SmokeMachine joined #perl6
19:21 justatheory joined #perl6
19:25 Wolfman2000 joined #perl6
19:28 patspam1 joined #perl6
19:29 patspam joined #perl6
19:31 patspam left #perl6
19:32 patspam joined #perl6
19:32 patspam left #perl6
19:36 frew_ joined #perl6
19:44 nihiliad joined #perl6
19:48 jferrero joined #perl6
19:52 patspam joined #perl6
19:55 patspam left #perl6
20:24 colomon joined #perl6
20:30 iblechbot joined #perl6
20:32 rbaumer joined #perl6
20:47 mj41_ joined #perl6
20:57 pugs_svn r29204 | lwall++ | [S12] major rethink of enums, which are no longer roles (but may still imply them)
20:57 pugs_svn r29204 | Enum types now supply an explicit .mapping method for masak++
20:57 pugs_svn r29204 | Got rid of stupid translation methods in favor of just using .mapping variants.
20:57 pugs_svn r29204 | (kept normal coercion syntax where it makes sense, though)
20:58 TimToady jnthn: see ☝
20:58 jnthn TimToady: \o/
20:59 jnthn TimToady: Thanks, will take a look over it.
20:59 jnthn TimToady: Glad I pestered you about this before we got to them in ng. :-)
21:00 M_o_C joined #perl6
21:01 TimToady jnthn++ for pesteration
21:01 M_o_C joined #perl6
21:03 mberends masak++ for the use cases
21:03 mberends TimToady++ for the rethink
21:03 jnthn TimToady: "an undefined type object" - any particular reason "undefined" features in that sentence?
21:04 jnthn TimToady: As in, type objects are generally undefined anyway.
21:06 jnthn heh
21:06 jnthn $x does Has[Day, '$.Day', (:rw), { Tue }];
21:06 jnthn Cute!
21:06 jnthn It's like lolspeak
21:07 pugs_svn r29205 | lwall++ | [S03,S04] more treatment of .true as highlevel, .Bool as lowlevel
21:08 mberends $x can haz[ ... ];
21:08 TimToady "undefined" is not meant to be a restrictive adjective :)
21:08 TimToady $x can Haz[Cheezburger]
21:09 jnthn multi infix:<can>(\$lhs, \$rhs) { $lhs does $rhs }
21:09 jnthn TimToady: It looks more sane than the previous spec, at first read-through.
21:10 TimToady yes, I think it was a mistake to confuse enums directly with roles
21:12 TimToady distinguishing them allows us to distinguish things that do Boolean with their own .Bool method from things that get a .Bool method via mixin of a $.Bool attribute
21:13 TimToady so now most of the type behavior more or less falls out naturally
21:13 TimToady making an enum function as a subset is perhaps still a bit forced
21:13 jnthn Yeah...
21:14 jnthn I think "it's a package of constants" works quite nicely.
21:14 jnthn And that role creation from that is something does/but worry about.
21:15 TimToady but I think Day.ACCEPTS just does a $arg ~~ Day.mapping.values.any
21:15 TimToady or some such
21:15 jnthn yes.
21:15 TimToady yes, I thought does/but could stant to be that one level of dwimmy
21:15 TimToady as long as the arg comes in with sufficient type info
21:15 jnthn Do we have a way to identify enums generally?
21:16 jnthn Then it's just a multi candidate.
21:16 jnthn multi infix:<does>(\$thingy, EnumValue $val) { ... }
21:16 TimToady does Enumeration maybe
21:16 jnthn Yeah
21:17 jnthn With something like that, I'm starting to see how we can actually implement it in Perl 6.
21:17 TimToady the duck typing answer is that .WHAT.mapping returns something :)
21:18 TimToady yeah, tried not to put anything in that I could at least think of an implementation story
21:18 TimToady and adding .mapping really simplifies a lot of other things
21:18 jnthn We are *not* doing the duck typing! :P
21:18 jnthn :-)
21:18 TimToady unless someone says 'use DUCK_TYPING;' and then we all duck
21:19 jnthn Yes, .mapping makes...a lot...of problems jsut go away.
21:19 jnthn But not problems with typing "just" correctly...
21:19 mberends jnthn: JFTI
21:19 TimToady well, we need something to keep our collective back-patting arm from going out of joint :)
21:20 jnthn mberends: IT!
21:20 mberends :)
21:20 TimToady You too could be an IT engineer!
21:20 jnthn TimToady: Anyways, I'll give implementing this a crack next week or so. :-)
21:20 jnthn I wonder how much of it I can actually write in NQP, or Perl 6. :-)
21:21 * jnthn is into that these days
21:21 TimToady .oO(so much for working on LTM this weekend... :)
21:21 jnthn My eventual goal is to have things like ClassHOW and RoleHOW written in NQP.
21:22 jnthn And really have the underlying VM just provide some very simple-ish primitives.
21:22 TimToady my eventual goal is to have *everything* written in Perl 6...but you knew that already...
21:22 jnthn Well, there's eventual and eventual. :-)
21:23 mberends ...all the way down?
21:23 jnthn My eventual for this is potentially before the year ends, because it probably matters for Other Things I'd like to start hacking on after ng.
21:24 TimToady mberends: yes, verilog better watch out :)
21:24 TimToady not to mention QM...
21:25 jnthn my Str $theory
21:25 mberends :) that's ALL the way down, yes
21:25 TimToady funny that we have a reality inversion in Perl 6.  quantum operations are high-level, while low-level ones like .Bool are classical...
21:28 TimToady lunch &
21:30 colomon jnthn: oddly enough, all this chatting went on while I was out talking a walk with my boy asleep in the stroller.  While out there, I was pondering was a bad idea it was to change things in ng right now, because of the requirement of sharing spectest with master.
21:31 colomon I was specifically thinking of moving TrigBase over to the proper enum, but I think it applies generally, too.
21:33 jnthn colomon: Yes, the spectests are a bit of a challenge in that aspect.
21:34 colomon I guess we could temporarily branch them...
21:34 mberends colomon: agreed, breaking master (even just its testing) would be bad
21:35 jnthn Thing is, in a sense we don't really *need* the tests for master that much at the moment because there's not much active development there...
21:35 jnthn ...I guess it may be possible to argue that if a test file has to change in a way that would cause it to fail in master, but in the interest of correctness, we just comment it out in master's spectest.data...
21:36 colomon I'm really inclined to think branching spectest is the way to go.
21:36 colomon At least, if you're serious about making ng behave differently than master, instead of just being a better implementation of the exact same spec.
21:36 jnthn In general in the past, we've gone with "the tests reflect current spec"
21:37 Coke joined #perl6
21:37 jnthn That's why Rakudo regressed on the tests for "is also" when the spec changed to wanting augment.
21:37 Coke hio. is 'delete' in P6? (and then, is it in NQP?)
21:38 jnthn IIRC, delete is adverbial in Perl 6...
21:38 jnthn $foo[42] :delete;
21:38 jnthn or some such.
21:38 jnthn But that's NYI.
21:38 Coke ok. will just drop down to PIR then. danke.
21:38 jnthn (In Rakudo, let alone NQP. Actually at the base of this is a lack of adverb parsing just yet.)
21:39 colomon jnthn: but that's basically abandoning master completely.  I know that's the medium term goal, but I'm not convinced it's a good idea today without ng able to replace it.
21:39 jnthn colomon: How many tests are we talking about here though? I mean, from wht you said in this case, it's just the trig tests, no?
21:40 colomon For that particular example, yes.  (of course, that's like 10,000 tests!)
21:40 rbaumer joined #perl6
21:40 jnthn Well yes, that's mostly 'cus trig is incredibly well tested compared to many other bits of Rakudo. :-)
21:40 jnthn But I see the issue.
21:40 colomon we're already having issues in master with the Mu change.
21:41 jnthn Sure - again though, the principle has been "the spec tests reflect spec".
21:41 mberends otoh, the urgency of testing that much trig in ng is rather low
21:41 jnthn I guess there's competing requirements here. :-)
21:42 jnthn If we're going to branch the spectest suite, my suggestion is that it's Rakudo master that looks at the branch.
21:42 jnthn Or tag.
21:42 colomon The other thing that branching spectest would do is let us start fudging tests that don't work in ng.
21:42 jnthn And trunk is tests as conforming to spec.
21:42 colomon Tag seems like a fine idea, actually!
21:43 colomon We could just rewind master's tests to a happy pre-Mu state and then go to town making the spectests reflect the latest and greatest AND what works on ng.
21:43 jnthn That feels More Right to me.
21:44 colomon Anyone else we need to sign on to this crazy idea before jumping out and doing it?  ;)
21:46 jnthn Forgiveness...permission... ;-)
21:46 colomon I'm on it, then.  ;)
21:46 * TimToady is still at lunch
21:46 jnthn TimToady can forgive us after his lunch :-)
21:48 colomon while I'm running svn log, do you have a name suggestion for the tag?
21:49 Woodi joined #perl6
21:49 colomon oh wait, voice of sanity... run spectest on your quadcore, not on the laptop!
21:50 jnthn colomon: I'm awful at naming things.
21:51 colomon okay, quadcore running spectest against -r29189
21:51 colomon pre-ng-master-freeze ?
21:52 jnthn It'd include rakudo in the name somewhere I guess.
21:52 colomon pre-ng-rakudo-freeze
21:52 jnthn Something like that :-)
21:54 colomon ack, may take a while to pin down the best revision to use.
21:54 colomon ah, but on the other hand, with this decided, there's nothing to stop us going crazy with the mainline spectests.
22:07 snarkyboojum joined #perl6
22:24 justatheory joined #perl6
22:40 colomon doh!
22:41 colomon make spectest does svn update automatically.  So svn update -rXXXX gets cancelled as soon as you run spectest.  sigh.
22:44 Wolfman2000 *yawn* afternoon. what's going on...is Mu going away?
22:54 colomon_ joined #perl6
23:03 colomon_ joined #perl6
23:06 colomon_ joined #perl6
23:30 diakopter hi
23:35 justatheory joined #perl6
23:38 diakopter TimToady: parallel nfa question:
23:40 diakopter nm

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

Perl 6 | Reference Documentation | Rakudo