[01:32] * eric256_ whistles [01:32] *** eric256_ is now known as eric256__ [02:05] *** eric256__ is now known as eric256 [02:10] wow...lively in here. ;) [02:13] anyone know a way to make a loop output colums in HTML::Template? like three even colums of all the items in the loop? [03:04] http://feather.perl6.nl/~eric256/t_index/ for anyone who is interested... added templating and sub pages for each directory of tests. ;) if only i knew someone with the HTML skills to make it pretty....hint hint. ;) [03:47] ?eval my $a; say $a++ for 0..100; [03:47] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 undef [03:47] ?eval my $a="a"; say $a++ for 0..100; [03:47] a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw undef [03:48] Wtf? [03:48] ?eval my $a="cw"; say $a-- for 0..100; [03:48] cw -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 undef [03:48] I demand a magical decrement. [03:48] you probably wont get it. ;) [03:48] demand though you may [03:48] Why not?! [03:48] i don't remember the specific reason...maybe you will [03:49] Someone lied to me and said that magical increment could get to 0 [03:49] it would actualy be pretty easy to add in the haskell code if you want [03:49] When it obviously can't. [03:49] ?eval my $x = '-10'; say($x++) for 0..20; [03:49] -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 undef [03:49] lol. thats not very good. lol [03:49] What does that have to do with anything? [03:49] Ok granted it's weird [03:50] But it's completely different [03:50] no if it had gone up like it should. then it would have gotten to 0 [03:50] well "0" [03:50] Yes, but that's not a magical increment [03:50] ?eval my $x = '-'; say($x++) for 0..20; [03:50] - . / 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 undef [03:50] yes it was [03:50] ick [03:50] No it's not [03:50] incrementing numbers is standard ++ behaviour! [03:51] yes it is. i promise. if its a string at all then its magic [03:51] Since when has perl cared if your number is surrounded by quotes? [03:51] and -10 ++ usualy equals 11? [03:51] always [03:51] its a string, ++ on a string doesn't force it to be a number [03:51] -10 ++ should be 9 [03:51] er [03:51] -9 [03:51] Like god intended. [03:52] ?eval my $x = '-10'; for 0..10 { $x += 1; say $x; } [03:52] -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 undef [03:52] and by god "b"-- should be a [03:52] non magic [03:52] ?eval my $x = '-10'; for 0..10 { $x++; say $x; } [03:52] -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 undef [03:52] magic [03:52] ?eval my $x = '-10 hello'; for 0..10 { $x++; say $x; } [03:52] -10 hellp -10 hellq -10 hellr -10 hells -10 hellt -10 hellu -10 hellv -10 hellw -10 hellx -10 helly -10 hellz undef [03:52] That's awful. [03:52] lol. not realy. [03:52] same things perl5 did [03:53] I don't care what perl5 did! [03:53] hehe [03:53] either way you can't say you want ++ to be magic, unless the thing inside the string might be a number [03:53] I don't see why it's so difficult to define a magic -- given the above constraints [03:53] its not difficult..where did you read that? [03:53] Here [03:53] i even just mentioned it would be quite easy to add to pugs [03:54] So what's the problem? [03:54] agreement, standard, like i said i can't remember the last reason why not, but i think its mostly just because no one realy needs it [03:56] i would say, if you want it, implement it in pugs.. pretty straight forward to do [03:58] buu, what's "a"--? [03:58] ?eval 'z'++ [03:58] Error: Can't modify constant item: VStr "z" [03:58] ?eval my $x ='z'; $x++ [03:58] "z" [03:59] ?eval my $x ='z'; $x++; $x [03:59] \"aa" [03:59] that was the reason. thanks wolverian [03:59] Why is that reason good enough? [03:59] Why not just do like perl5 does when you try to increment ";" (for instance) [04:00] didn't say it was ;) just thats the last reason i heard. hehe. what would it be? ''? [04:00] eric256: sure, why not. [04:00] Same thing for $a = "0000000"; $a-- [04:01] PerlJam: i think you would get many different answers. besides i never said we shouldn't. lol people keep trying to put me on that side. i keep saying implement it in pugs. ;) [04:01] ?eval my $x =''; $x++; $x [04:01] \"1" [04:01] ?eval my $x ='1'; $x++; $x [04:01] \"2" [04:01] ?eval my $x ='0'; $x++; $x [04:01] \"1" [04:02] eric256: indeed. Talk is cheap. I'm just entertaining buu's idea for a minute or two before I lose interest :) [04:02] interesting. ;) anyway i think the reason is just that ++ is pretty DWIM without special rules. -- could do many things at boundaries [04:15] hrm [04:15] eval: $x=''; $x++; $x [04:15] buu: Return: 1 [04:15] eval: $x='z'; $x++; $x [04:15] buu: Return: aa [04:15] eval: $x=';'; $x++; $x [04:15] buu: Return: 1 [04:15] heh [04:16] eval: $x='-'; $x++; $x [04:16] buu: Return: 1 [04:16] ?eval my $x='-'; $x++; $x [04:16] \"." [04:16] Teh weird. [04:16] ?eval:p5 my $x = 5; $x++; $x [04:16] Can't locate Scriptalicious.pm in @INC (@INC contains: /home/fibonaci/devel/pugs-base/perl5/PIL-Run/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/.. /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-Value/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-Container/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-MetaModel /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-MetaModel/lib /etc/perl /usr/local/lib/perl/5.8.7 [04:16] eric256: Error: syntax error at (eval 109) line 1, near "p5 my " [04:17] er [04:17] whups [04:17] yea [04:17] Didn't realize your 'eval' involved a colon [04:18] my eval? [04:19] your suppose to be able to eval with different backends.. could be usefull to eval p5 code for comparison too [04:19] ?eval:p5 [04:19] Can't locate Scriptalicious.pm in @INC (@INC contains: /home/fibonaci/devel/pugs-base/perl5/PIL-Run/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/.. /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-Value/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-Container/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-MetaModel /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-MetaModel/lib /etc/perl /usr/local/lib/perl/5.8.7 [04:19] buu: Return: p5 [04:19] Causing my bot to pick it up [04:19] lol [04:19] gotcha [04:19] you didn't anchor it? [04:19] I suppose I could change it [04:19] Apparently not [04:19] so i could just say eval:5 [04:19] eric256: Return: 5 [04:20] might be considered a feature. i'm assuming buubot is a p5 bot? [04:20] yes [04:20] buubot: reload [04:20] buu: Reloading! [04:20] ?eval: 42 [04:20] Error: unexpected ":" expecting program [04:20] eval: 42; [04:20] buu: Return: 42 [04:20] Anchored =] [04:22] eval: kill KILL => 'buu'; [04:22] =[ [04:23] You made it die. [04:23] eval: duh [04:23] eric256: Return: duh [04:23] Actualy, how does tha twork, I thought kill took a process id? [04:23] ?eval: 5 + 6 [04:23] Error: unexpected ":" expecting program [04:23] heh [04:23] Make up your mind! [04:23] ?eval kill $. [04:23] Error: unexpected "." expecting "::" [04:23] ?eval kill me [04:23] Error: No compatible subroutine found: "&me" [04:23] ?eval kill $$ [04:23] Error: unexpected "$" expecting "::" [04:23] ?eval kill $?PID [04:23] Error: Undeclared variable: "$?PID" [04:23] * buu gives up [04:24] ?eval kill $ [04:24] Error: unexpected end of input expecting "::" [04:24] eval: kill $$ [04:24] eric256: Return: 0 [04:24] Two args. [04:24] eval: kill 9,$$; [04:24] Notice the lack of response. [04:24] kill your own bot. [04:24] soo mean [04:25] I know =[ [04:25] oof [04:25] eval: "Help help I'm being opressed" [04:25] buu: Return: Help help I'm being opressed [04:25] you might not want to have him on here. to easy to kill your system with a system command [04:25] That's what you think [04:26] what? did you regex for a system in the command or something? or does p5 have a safe mode i don't know about? [04:26] Safe.pm exists [04:26] I'm just cool like that =] [04:26] guess you could have used a Safe compartment [04:26] eric256: trying to kill a line number? :P [04:26] I don't use Safe though [04:26] It didn't look safe =] [04:27] * eric256 fears for buu's computer [04:27] heh [04:27] eval:`start calc` [04:27] eric256: Return: [04:27] lol [04:27] rofls [04:27] heh [04:27] It's been beaten on by #perls on two networks now [04:27] eric256++ [04:27] And the worst anyone managed to do was make it flood a channel =[ [04:27] Which I fixed [04:28] built your own safe processings for it? [04:28] Yeah [04:28] based on? regex? [04:28] Naw [04:28] ulimits mostly [04:28] ahh [04:28] eval: use threads; [04:28] coral: Error: Can't locate threads.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr [04:28] okay. thought it was win box, [04:28] rats [04:28] eric256: Er.. no [04:28] * buu shudders [04:28] now you know why i worried for your saftey [04:28] lol [04:28] What on earth made you think it was windows? [04:29] eval: $^O [04:29] buu: Return: linux [04:29] buu: your name conjures up visions of broken windows! [04:29] Khisanth: Hurray! [04:30] uhh [04:30] buu is a windows whore. we all know that [04:31] =[ [04:31] http://perlmonks.org/?node_id=302287 [04:31] DEAR MOTHER OF GOD [04:31] * eric256 is amused that evalbot seems to be quicker than svn bot right now [04:33] r7732 | eric256++ | Added templates to the tests cataloge script, and some more output. test it at http://feather.perl6.nl/~eric256/t_index/ [04:34] eval: use CPAN; CPAN->Shell(install('threads')); [04:34] coral: Error: Can't locate CPAN.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/lo [04:34] rats [04:34] eval: use Socket; [04:34] eval: use LWP; [04:34] Khisanth: Return: [04:34] coral: Error: Can't locate LWP.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/loc [04:34] aha [04:34] ! [04:34] Khisanth++ [04:34] eval: socket(foo) or die $!; [04:34] buu: Error: Not enough arguments for socket at (eval 109) line 1, near "foo) " [04:34] * buu shrugs [04:35] eval: use IO::File; [04:35] coral: Return: [04:35] eval: `create hole into system through shell` [04:35] mrborisguy: Return: [04:35] Socket and such are already loaded [04:35] You can't do anything remotely useful with them any more [04:35] So I didn't bother to disable using them [04:36] if someone with some html/css skillz wants to hack on the templates for the test cataloge, that would be great. ;) [04:36] eval: grep { /Socket/ } keys %INC; [04:36] coral: Return: 6 [04:37] eval: delete @INC{grep{/^Socket(?::|$)/}}; [04:37] coral: Error: syntax error at (eval 109) line 1, at EOF [04:37] about labels ... [04:37] eval: delete @INC{grep{/^Socket(?::|$)/} keys %INC}; [04:37] coral: Return: [04:37] eval: use Socket; [04:37] Buubot is also listening in #buubot and in private message for your destructive pleasures. [04:37] coral: Return: [04:37] in perl 6, do they look like the perl 5 ones, eg "foo:", or something else? [04:37] ok, i'll stop [04:37] * buu shrugs [04:37] I just want to put in something that'll compile, even if it doesn't run yet [04:37] Feel free to break it [04:38] dduncan: yes, labels look the same. [04:38] But it keeps getting banned when people spam it in channel =[ [04:38] the current pugs will compile "next FOO" and "last FOO", but not the "FOO:" [04:40] buu: that sort of thing gets spammed here already! [04:40] * eric256 wonders why anyone ever wants or needs labels. ;) [04:41] eric256: how else are you going to use goto? [04:41] line numbers?! [04:41] how about in nested loops? [04:41] Khisanth: Well, yeah [04:41] when you want to use 'next' or 'last' and need to specify which loop you're controlling [04:41] Khisanth: I wasn't all that worried, I just thought I'd go ahead and point at the alternative methods. [04:41] why would i use goto? [04:41] in nested loops i use flags [04:42] I don't use goto [04:42] eval: goto: goto goto; [04:42] coral: Error: goto must have label at (eval 109) line 1. [04:42] and i've seldom even needed flags [04:42] eval: GOTO: goto GOTO; [04:45] "dduncan" at 24.108.164.7 pasted "example method using labels" (59 lines, 2.5K) at http://sial.org/pbot/13906 [04:45] eric256, here's where I want to use labels ... if anyone has an alternate suggestion to do the job which doesn't involve merging the 2 loops into one, speak up [04:51] coral: For my own edification, what do you think just happened with my bot when you ran that code? [04:51] eval/resource limit trap, possibly ignored it altogether, ulimit resource cap, none of the above [04:52] Heh, yeah, resource limit [04:52] I keep meaning to make it say something when the child gets killed off [04:55] buu: you know what's funny [04:56] JESUS [04:56] buu: the fuckers on topcoder.com were bitching about how hard it would be to safely run external perl, and i basically told them to do what you did, but they kept dribbling [05:54] Juerd, OT ping [06:20] yo [06:20] does someone know, how to create a class behaves like hash syntax ? [06:20] question: if a BUILD submethod is put in a class, and it doesn't explicitly set a new object's attributes, then will perl 6 automatically set them after BUILD ends ... [06:21] my situation is this ... [06:21] dduncan: afaik default values are undef/0 [06:22] I want to have default BUILD semantics, but that I can run a submethod around the same time that takes the same arguments and is just meant to test the arguments for correctness, throwing an exception if not [06:22] is there another special submethod I can define to do this, or does BUILD have to do that? [06:22] hmm [06:22] ask teh gurus [06:22] im a perl6 beginner, too [06:23] I did read something about traits or something that can be given to attribute definitions, one of whose names is CHECK, but I don't know if that's the route I want to take [06:24] I want to have something that is called once for the new object and can see all the initializer args given to it [06:24] hmm [06:27] yay [06:27] my Deephash is Hash works [06:27] eh s/my/class/ [06:32] geoffb: OT pong [06:33] Juerd, I haven't backlogged, so you may have seen this already, but the dovecot problem turned out to have a simple workaround; just ln -s /usr/lib/libz.so.1 /usr/lib/libz.so [06:33] (I thought of you while I was fixing this on my own mail server.) [06:33] is method postfix:<.{}> ($key) correct for creating a new hash access operator ? [06:43] geoffb: Thanks [06:43] Juerd, np [06:44] r0nny: Probably so, but it feels wrong. Methods don't include the "." usually. [06:44] r0nny: method postfix:<{ }> (*@keys) { ... } [06:44] (Certainly two arguments in <>) [06:45] Juerd, I think perl 6 fears was a good idea [06:45] luqui: Thank you [06:45] autrijus, ping [06:45] luqui: It'd be great if more people would write responses, but I may be a little impatient :) [06:46] I think it's nice because it gives people who need to vent a place to do it, and feel like they've been heard without having to jam it down people's throats [06:47] Some people who originally complained have seen the list, and decided they were being silly [06:47] r0nny, I was looking at A12 again and it seems that BUILD will actually do what I want, when you have $.foo or $:foo in the signiture of BUILD, but that it does the default assignments from new() args prior to the BUILD call, rather than after ... [06:47] This by itself took away some fears. Wonderful, I think. [06:47] :-) [06:47] It's probably partly because some fears are in contradiction [06:47] Yes, Juerd++ for that [06:47] if this is actually the preferred behaviour, then I may talk to Damian about his Class::Std doing it the same way (currently, it seems to do the default stuff after BUILD is called) [06:48] Obviously: "It will be slow" and "It will not be released" contradict [06:49] And: "Perl 6 will not look like Perl" versus "It will still look like line noise" [06:49] right [06:59] question ... when referring to a named object's private attribute, which syntax is better: "$obj.:foo" or "$obj:foo"? ... Pugs seems to parse both, while when referring to the topic object it only accepts "$:foo" but not "$.:foo" [07:01] dduncan: It cannot be referred to by object, IIRC [07:01] dduncan: It's $foo, without :, and it has no accessor method. This is fairly new stuff though, I don't know if Pugs already reflects it. [07:02] I'll clarify that the code in question is within the class whose attributes I'm talking about ... [07:03] so privates are visible there [07:03] also, the named objects are ones that belong to the same class as the code in question, or it trusts the code in question [07:04] an issue here is that I see an inconsistency with what formats are parseable [07:04] "$:foo" will parse, "$.:foo" will not, ... [07:05] "$obj:foo" will parse, so will "$obj.:foo" [07:06] so part of my question is whether "$.:foo" *should* parse or whether its non-parseability is correct behaviour [07:08] $:foo variables are gone [07:08] I just want to be able to either use both "$.:foo" and "$obj.:foo" or not be able to use either of them [07:08] If you want externally visible variables, I don't think they can still be private [07:09] these aren't externally visible [07:09] I'm referring to allowed syntaxes for a classes own code to see its own private attrs [07:10] is the dot optional, or should it always be used, or should it never be used, when a class references its own privates? [07:11] I'm thinking that it should be possible to always use the dot, even if one can leave it out at times when doing so isn't ambiguous [07:21] dduncan: When it is used, accessor methods are created. [07:22] I think I'll defer this discussion until later ... since it may end up being a non-issue ... thanks anyway [07:34] r7733 | juerd++ | ,=response [07:35] ,=? :) [07:35] push ;) [07:35] This said, I want all of +=, ~=, ++, etcetera, to work on $_ by defaut. [07:35] I've always wanted that. [07:35] We should be able to write ++; instead of ++$_; [07:36] is that postfix or prefix? [07:36] Prefix [07:36] why? [07:36] Heads. [07:36] :) [07:36] I have very little influence on the coin :) [07:36] Hm, no, postfix makes more sense [07:36] Because += would also get $_ on the LEFT [07:37] I think that's way more useful than having it on the right, at least :) [07:37] btw, am I right in reading that /foo/ returns a match object? [07:37] er [07:37] s,match,regex, [07:37] Depends on its context. [07:37] right. [07:37] when does it match automatically against $_? [07:37] When used in boolean context, or with ~~, it automatically matches. [07:37] good. thanks. :) [07:37] more rationalisation. [07:38] Do note that you may need m// in case of: ($foo) = /(...)/ [07:38] Or you just get a rx// in $foo [07:38] yeah, thought about that too [07:39] I guess you can always do my ($foo) = .match(/(...)/); # :) [07:39] $foo = m/(...)/ [07:40] yeah. [07:44] p6l'ed implicit $_ on mutation [07:45] you have a knack of suggesting things that you either love or hate. [07:45] s:2nd/you/one must/ [07:46] Hm? [07:46] How so? [07:46] And does that make the things good or bad? :) [07:46] I think usually your suggestions aren't exactly small - or if they are, they are excessively cute - so people will polarise strongly on the issue [07:47] Juerd, it doesn't have a goodness factor per se, besides the fact that it starts discussion. [07:47] (or badness factor.) [07:47] I like to think they're all cute :) [07:47] Cuteness is important, because very often, it matches a way of thinking. [07:47] I agree. [07:48] junctions and -> subs are cute in such a way [07:48] Because of their cuteness, they're instantly understood in their respective idiomatic contexts [07:48] I just wish -> was spelled lambda (as in the letter) [07:48] (boolean, and loops) [07:49] (I don't really. but it'd be even cuter.) [07:49] The arrow makes it cute [07:49] I think using -> outside of loops is in many cases bad style. [07:50] But "for @foos -> $foo { ... }" is so incredibly cute that a newbie will probably not even notice that -> is a regular prefix op. [07:51] :) [07:55] Damian wondered what I was drinking when I suggested using 1c as the ascii equiv. of [07:55] (It was Amsterdam tap water) [07:55] hehe. [07:55] He first tried to argue his way out of it :) [07:55] ¢ is kind of cute, although I'm scared of a new sigil. [07:55] But eventually had to admit it's possible without any clashing with existing syntax :P [07:56] It's needed [07:58] yes. [08:14] I'm off for a few hours [08:15] see ya later! [08:15] So if you should feel like responding to some fears without the possibility of clashing with my potential edits, now is the time! ;) [08:15] afk [08:23] Where was the fear-doc? [08:24] ahh /docs/quickref/ [09:07] The document OF FEAR [09:53] r7734 | Darren_Duncan++ | /ext/Rosetta-Incubator : wrote most of the initial Locale::KeyedText module ... present is nearly all the code, and a third of the POD [10:59] lisppaste3: paste? [11:07] spinclad pasted "Installation report for 6.2.10-3: libghc6-pugs-dev failed" at http://paste.lisp.org/display/12848 [11:09] rafl: install report for you [11:12] spinclad: Fuck.. I don't get it. I installed it >10 times without problems. The version in the archive isn't installable, though. :-( [11:13] something I can try? [11:19] ah. got the same problem [11:19] Jooon: You can try building it from source. [11:19] Jooon: My idea is that the 30installdirs patch wasn't applied. [11:27] where is libghc6-plugins-dev? [11:28] *nod* [11:28] In NEW. It needs to be approved by FTP-Masters before it goes into the archive. You can simply remove it from Build-Depends. That should not change the situation. You simply won't have hs eval support. [11:28] greetings :) [11:28] Hello autrijus [11:28] *** rafl_ is now known as rafl [11:28] morning! [11:29] * autrijus is back to life! [11:30] autrijus: smileys :) http://flickr.com/photos/jooon/55661134/ [11:31] Liz: hi :) got a moment? [11:31] Jooon: ooh, my face was a virtual smiley too [11:33] * autrijus starts massive backlogging [11:36] rafl: great regret to always bear bad news. [11:38] i'll look at it some more, something may pop out at me. [11:39] spinclad: The problem is, that there are directories from the src tree listed in install-dirs: in Pugs.cabal. [11:39] spinclad: 30installdirs.dpatch should prevent that. [11:45] never built pugs before. Pugs.AST.Internals seems to take a while [11:57] Jooon: it does that [11:57] and it has an annoying habbit of changing, too! [11:57] rafl: listed in library-dirs:, rather [11:58] spinclad: Of course. [11:59] fears++ # wonerful group therapy thing [11:59] Liz: ping? [11:59] ping [11:59] Liz: have you /msg'ed me? freenode doesn't allow /msg for nonregistered nicks [11:59] fighting with all sorts of irc clients [11:59] ahh. [11:59] Liz: I think after .dk I'll be in .nl again [12:00] possiblity of staying at your place? [12:00] cool [12:00] yep [12:00] did u get my email? [12:00] aye [12:01] sent on friday, 6:41pm [12:01] shall I send again? [12:01] no, I got the mail [12:02] the plan is to arrive to .nl around this weekend [12:02] ok [12:02] and stay there till around nov 8th [12:02] spinclad, Jooon: Is it reproduceable for you? [12:02] schiphol? [12:03] I don't know the best routing from copenhagen to where you are [12:03] lemme check and get back to you by email, ok? [12:03] sure! [12:03] thanks again :) [12:03] rafl: I have been building for over 20 minutes :) [12:03] rafl: but it looks like the patch is applied [12:03] Liz: oh also, I'll tell amazon to ship some books to your place. that's fine too? [12:04] sure, no pb [12:04] cool! [12:05] easyjet is out [12:06] Hey, Liz! How are you? I was just missing you the other day over at perlmonks. [12:07] the other year you mean? [12:07] ;-) [12:07] No, somebody mentioned you on perlmonks, and I thought "hmm, she was fun... I wonder why she stopped coming here". [12:08] work [12:08] ;-) [12:08] paid work, that is... [12:10] bbiab... [12:11] rafl: i can tell that the 30 patch was applied; haven [12:12] 't tried a build yet; will do so this afternoon. [12:12] autrijus - got a second? [12:12] crud [12:12] autrijus: Do you have an idea why cabal seems to add a library-dirs line to .installed-pkg-config? It isn't in Pugs.cabal. [12:15] robkinyon: mm? [12:15] rafl: no, no idea at all. what if we specify an empty one? [12:16] autrijus: Do you know if the cabal version of ghc changed between 6.4 and 6.4.1? I thin 6.4 didn't do that. [12:17] autrijus: I'll try specifying an empty one. [12:18] no, it's the same cabal. [12:18] but maybe ghcbugs on 6.4.0 [12:18] not sure [12:20] autrijus: Specifying an empty one: Setup: Line 22: Unknown field 'library-dirs' [12:20] :/ [12:20] library-dir perhaps? [12:20] in old cabal [12:20] not sure at all [12:22] library-dirs: seems to contain everything in extra-lib-dirs + $PREFIX/lib/Pugs-6.2.10 [12:56] autrijus: see mail of 2:56pm [13:01] * clkao hugs autrijus [13:07] rafl: same error with self built package [13:08] Jooon: Currently trying if I can work that around with a dirty hack: [13:08] grep -v library-dirs: .installed-pkg-config > $(CURDIR)/debian/libghc6-pugs-dev/usr/lib/haskell-packages/ghc6/lib/Pugs-6.2.10/installed-pkg-config [13:08] instead of cp .installed-pkg-config $(CURDIR)/debian/libghc6-pugs-dev/usr/lib/haskell-packages/ghc6/lib/Pugs-6.2.10/installed-pkg-config [13:53] morning [13:59] eric256: morning [13:59] yea someone is alive ;) [13:59] a little bit [15:42] *** wilx` is now known as wilx [15:44] autrijus: ping [15:51] Can someone please check the pugs_6.2.10-4 packages at perlcabal.org/~rafl/debian? [15:52] Espcially the libghc6-pugs-dev package. [15:56] gaal, Jooon, spinclad? [16:02] autrijus: ping [16:02] r7735 | eric256++ | Updated documentation linkage in more tests. [16:02] r7736 | eric256++ | Updated test cataloge script to include the number of links in each test next to its entry in the index. [16:04] stevan: pong [16:04] eric256: pong [16:05] hey autrijus :) [16:05] mostly I just wanted to bug you regarding the Object Space stuff [16:05] hey. would it be possible to reidrect tests.pugscode.org to http://feather.perl6.nl/~eric256/t_index/ [16:06] i'm working on better templates but its functional now. and will soo be being autoupdated [16:07] good work, eric256 [16:07] stevan: you are using that term, so I assume you've read through the PyPy literature? :) [16:07] autrijus: some, but not all [16:07] eric256: excellent. will do that now [16:08] stevan: cool. I'm still halfway thru pickaxe [16:08] autrijus: mostly I liked the idea of a seperate "part" of the compiler to deal with objects [16:08] "part"? [16:08] * stevan should really read that one again [16:09] well, it seemed to me that they were seperating the flow-control, syntax, etc part from the object part [16:09] thanks. mrborisguy ...care to work on the templates some? or add links to documentation ;) [16:09] stevan: yes, and I think it makes ~total sense [16:09] is that total in string context, or an approximate total [16:09] eric256: I can certainly help when I come by some time... what do you want me to do? [16:09] python doesn't allow type annotations [16:09] approximate [16:09] yes [16:09] so their type analysis is limited to flow analysis [16:09] but we need another type engine [16:10] so that makes 3 parts [16:10] ok [16:10] what will the responsibilties of the type engine be? [16:10] it's done in 2 phases [16:10] phase 1 is heuristics [16:10] well the templates are in util/catalog_tmp/ ... they need some work to be less functional and more pleasing. or just ad L links in test files ;) [16:10] just identification? or implementation [16:10] look at all annotations [16:10] and propagate them upward and downward [16:11] boy, that sounds kinda familiar... [16:11] downward? [16:11] phase 2 is standard typechecking / inference [16:11] * eric256 wonders if similar linking should be done in pugs source files..... [16:11] stevan: if you annotate an entire expression, "downward" means propagating things into subexpressions [16:11] ok [16:11] canonical example being a annotated function and the expression in it [16:12] eric256: alright. I'll do that. [16:12] so once checking and inferencing is done, it will hand things off to the object space? [16:12] mrborisguy: which one? lol. thanks btw [16:12] stevan: yes [16:12] eric256: uh, the easy one ;) [16:13] so that phase is really about squeezing the code for available info, so that by the time the object space gets it, there is very little left which is ambigious [16:13] eric256: another thing to consider would be taking note of all of the :todo items, and making another page that lists all of those [16:13] correct? or am I not understanding [16:13] it might help lurkers find something to do that isn't implimented [16:14] yea. i was going to look at linking to the tests.yml file and putting that info next to each test file too. starting small and easy ;) [16:14] eric256++ [16:14] eric256: are you writing this in perl6? or p5? [16:14] * eric256 anxiously awaits mrborisguy next commit. ;) [16:15] it was a script in the util directory that just needed some tlc, its in p5 currently [16:15] stevan: yup, ambiguity is either warning, rejection, or infereence [16:15] autrijus: cool [16:16] autrijus: so, I would like to get to work on the object space, using fglock's stuff as a basis, any thoughts? [16:16] Ambiguity doesn't exist! [16:16] Oh, the world would be SO boring. [16:16] stevan: I think that'd be excellent. [16:17] and we can update the long overdue S12.5 :) [16:17] eric256: catalog_tests.pl ? [16:17] yep [16:17] does what I wrote to p6c sound sane? [16:17] yes. [16:17] autrijus: yes, S12.5 needs updating, but there is too much hand waving until I work out some of these object space details [16:17] stevan: no. ;) j/k but most your stuff sounds insane to us mortals. ;) [16:17] eric256: tests. is live [16:17] alright... well don't wait too anxiously for my next commit... time to eat, then class in 20 minutes, then study for a big math test tomorrow. [16:17] stevan: yeah, exactly my thought [16:18] but I'll take a look at it some other time [16:18] autrijus sweet! thanks [16:18] eric256: sorry hard to type in this straightjacket,.. but thanks :) [16:19] * eric256 gives up on mrborisguy for the moment and looks for other prey. ;) [16:20] :D [16:22] autrijus: sounds good, I will probably make some more drawings before I start writing any code too [16:22] I will try and make em flashy, so you can sell more t-shirts :) [16:23] * stevan wonders where putter has been recently [16:23] ^H ^W^W^Wst you++ [16:23] gr, bad slow terminal [16:23] network going away in 30mins :/ [16:23] next signon will be from .dk [16:23] enjoy the trip :) [16:24] fortunately I'll stay at .nl from this weekend on for 10 days [16:24] then I can massively sync / update :) [16:24] autrijus: Where are you staying? [16:24] Juerd: liz's [16:24] in .dk will be defekt's [16:25] * Juerd wonders if this results in sane threads in a week ;) [16:25] eh? :) [16:25] Liz: By the way... Any chance of a lizperl-like thing for Perl 6? :) [16:25] btw, the "fears" stuff is absolutely wonderful. [16:25] autrijus: Thanks [16:29] * eric256 discovers thats his SEA was 2k commits behind...that would explain some missing parts ;) [16:31] Where are recent SEAs? [16:31] http://svn.perl.org/perl6 [16:32] Ah [16:32] Nice to know [16:32] i did svk co .... but that doesn't get the updates? or did i just choose the wrong option somewhere? ;) [16:33] It doesn't seem to be more recent than those at http://dev.perl.org/perl6/doc/design/syn/ [16:33] eric256, svk pull [16:35] svk up -s [16:35] juerd: then i could be wrong no idea realy...when i asked yesterday thats the one i got.. i could ask on p6l [16:36] When you have things checked out already. [16:36] yea i'm doing a svk pull now. just didn't know it wasn't automatic on co [16:42] *** r0nny_ is now known as r0nny [17:13] hehe. its almost up to date ;) [17:20] Juerd: with re to lizperl: you've got to be kidding... [17:24] r7737 | iblech++ | docs/quickref/fears: [17:24] r7737 | iblech++ | * Added a comment (should we $perl6_will_be_too_slow ~~ s/Perl 6/perl6/?) [17:24] r7737 | iblech++ | * "I'll have to *manually* separately compile my Perl 6 programs" [17:24] yo [17:26] is there a howto for creating new hash classes ? [17:28] r0nny: hey [17:28] r0nny: do you mean a class which does(Hash)? [17:28] so you can access it like as hash [17:29] and treat it like a hash [17:30] Liz: I said lizperl-*like* :) [17:30] Liz: Preferably much simpler internally :) [17:31] stevan: oh - so that was my essos ;P [17:32] stevan: btw - is there a way to use methods of the rhole ? [17:32] since i need to overwrite them for my needs [17:32] r0nny: I am not sure that functionality is implemented yet [17:32] actually I am pretty sure it is not [17:32] :/ [17:33] that really requires the metamodel,.. which is not here yet [17:33] you can add methods that work on hashes though [17:33] you can use multi-subs [17:33] or even just subs with typed parameters [17:33] stevan's going to have that metamodel done and implemented in a week though, then we can play with it ;) [17:33] eric256: it is already done,.. just not in Haskell ;) [17:33] hince *implemented* [17:34] s/implemented/implemented in pugs/ [17:34] well it aint any use in pugs unless its in there now is it!! ;) [17:35] actually you can use the p5 version, and there is a hacked in p6 class parser too [17:35] so its pretty close,.. [17:35] closer than nothing :) [17:35] yea. i've just been chomping at the bit for all the OO stuff. its the best part of perl6...and we keep waiting and waiting. ;) is the wait gonna be worth it? [17:35] eric256: I think so [17:36] cool [17:36] eric256: give the metamodel prototype a try, it can do quite a bit [17:36] is there any timeline on it yet? [17:36] and its faster than pugs right now ;) [17:36] i don't wanna program in p5...thats old school [17:37] eric256: Time is circular anyway... [17:37] eric256: to do the metamodel right, we need to have the object space, to have the objectspace, we need to rip the guts out of pugs, and in some ways start from scrath [17:37] s/scrath/scratch/ [17:37] yea /me feard that was your answer [17:37] ;) [17:38] but autrijus had a plan to shoehorn the mm into it for the 6.28 release [17:38] so it may not be all that long [17:38] i think it was juerd who was pointing out that there are some real issues with references in the current pugs that may require a large scale rewrite ;) [17:39] * eric256 just hopes a large scale rewrite wont stall pugs ;) [17:39] anymore than it currently is? [17:39] * stevan is hoping that autrijus's 10 days in .nl will be very productive [17:39] eric256: Not likely. [17:40] eric256: good things come to those who wait ;P [17:40] juerd...not likely that it was you, or that it wil stall? [17:40] I't likely that I said things were wrong [17:40] But not that I said anything requires large scale rewrites. [17:40] you said something about a new backend that autrijus was already working on /me might have misunderstood the implications [17:40] If I do hint about implementation time, it's usually that something ought to be trivial :) [17:41] eric256: I have no idea what autrijus is currently working on, so that wasn't me. [17:41] * eric256 needs memory pills ;) [17:41] mcflurry rolo ++ [17:43] anyone know where .pick is defined in teh SAE? [17:43] grep .pick *.pod? :) [17:44] no hits...which surprised me. :) ... guess pugs just decided to implement that on its onw [17:45] * Juerd wonders what eric256 wants to know [17:45] pick's very straight forward [17:45] When used on any collection, it gives you a random element. [17:46] Hash, array, disjunction, conjunction, ... [17:46] r7738 | dakkar++ | fears: corrected a reference to Perl 6 where Perl 5 was intended, and added a pityful answer to the 'obfu/golf' fear [17:46] juerd...where to link to in the documentation [17:46] remember my new quest to increase cross references ;) [17:46] Ahh [17:47] I don't think lists of methods are officially defined yet [17:47] You may find something in pugs/docs/quickref/data [17:47] But that's inofficial [17:47] It'd be wonderful if all over the place there were cross-references between implementation, test, and documentation, and if one of the three were missing, to consider it a bug in it's own right. [17:48] ...but getting there is hard. [17:48] theorbtwo: We need numbers, like some projects use bugnumbers [17:48] In a debian changelog, #238729 is all one needs to refer [17:48] The same notation is used in many places [17:48] rt [17:48] However, referring to a subdocument is hard. [17:49] So perhaps it is time for a spec cards wiki [17:49] theorbtwo yea i was thinking of linking in the haskell source too [17:49] perl6 has a queue in rt.perl.org and svn gives a convienent way to reference any bit of it. [17:49] A long time ago, we started introducing L links in the tests. [17:49] With lots of tiny subdocuments, named or numbered, that are categorized [17:49] theorbtwo thats what i'm currently working on [17:49] Great, eric. [17:49] theorbtwo: http://tests.pugscode.org ;) [17:50] makes it easy to find tests that need linked to documents, you can even surf the documents and see where tests are need (superscript T's mark the cross reference) [17:50] * theorbtwo remembers writing that code. [17:51] Wow, this way of cross referencing must be tedious [17:51] I really wanted tests to mark out extents in the file, but that'd make it more tedious. [17:51] OTOH, it'd also make it so that you could view the documentation with red spans where there weren't any tests. [17:51] a reged start and finsih theorbtwo? [17:52] Yeah, Juerd, I'd rather be able to say S3 § 3.4.8.7, or something, but I didn't consider changing Larry's writing style to be within my scope. [17:52] that would be interesting [17:54] I find it surprising that a spec can be maintainable in the form of only human language [17:54] * eric256 wonders what definition of maitained you are using ;) [17:54] theorbtwo: That still makes inserting sections hard [17:54] Yeah, Juerd, I know. [17:55] theorbtwo: The ultimate solution is to use *unstructured* pieces of spec, that by inclusion form larger documents [17:55] Juerd yes. i'm guessing commit access to those isn't easy to get? ;) [17:55] geoffb: (see http://use.perl.org/~brian_d_foy/journal/) [17:55] then someone could mark sections in them with bugnums and link to that from tests. lots easier [17:56] stevan, what am I looking for? [17:56] an article to write :) [17:56] you are the official pugs scribe after all ;) [17:56] stevan, lol [17:57] What would be best, I think, possibly, is a wiki that uses nodeids. [17:57] theorbtwo: That's more or less what I suggested :) [17:57] ...so sections could be retitled without links breaking. [17:57] stevan, well, hmm. Depends on when the deadline is, and whether it pays at all. Right now I've got a lot of stuff on my plate (witness the fact that I haven't even been reading #perl6 for about half a week) [17:58] Juerd: We are in agreement, then. Yey. [17:58] theorbtwo: But, I don't think we can get Larry to join in on such an effort [17:58] geoffb: oh well, just a thought [17:58] theorbtwo: And I don't think Larry would allow others to help [17:58] stevan, and a good one. Much appreciated. [17:58] Which, certainly combined, is a problem [17:58] Larry-- on this. [17:59] * geoffb needs to kill this $contract dead [17:59] It'd be great to have a wiki, with simply per node: [17:59] 1. title [17:59] 2. short description [17:59] 3. syntax [17:59] 4. semantics [17:59] yea ..../me is sad... guess i'll continue the regex linking for now [17:59] 5. tests [17:59] Then build test files from the spec sheets [17:59] Not even if we build some sort of red-letter bible system in, where the words of larry are in red, and the cabal is in purple? [17:59] And link in nodes to form synopses [17:59] That'd be wonderful. [18:00] * eric256 nominates juerd and theorbtwo as perl6 librarians and goes to lunch [18:00] All you need is a wiki without formatting syntax :) [18:00] (But not really likely to form good prose.) [18:00] (because plain text DOES rule.) [18:01] Juerd: sounds a bit like the perl.com article on how the TT book was written :) [18:01] theorbtwo: It doesn't have to. [18:01] theorbtwo: Articles and books are for that. [18:01] Prose doesn't have to be complete. In fact, when complete, it overwhelms. [18:01] Specs do have to be complete. [18:01] Let's talk about something else [18:03] Juerd: I can't help but think some sort of coverage system on docs is highly important at this phase. [18:04] My #1 complaint about p6 is that it's poorly documented, and I think one part of a good solution is to make many mailing list messages directly into documentation. [18:06] 1: Emails already get written. [18:06] 2: Don't try to redocument all over the place, reuse existing wording instead. [18:07] 3: A single email is hopefully small enough to be readable as the answer to a simple question. [18:07] eric256: when I do svk pull, I don't get your template folder [18:08] is there something you need to do to make sure that gets into SVN, or is there something special that I need to do to pull it? [18:29] theorbtwo: Documentation or specs? [18:29] theorbtwo: I think that at this point, specs are far more important. [18:29] Good point... I tend to use the terms interchangeably, but they really aren't... [18:30] theorbtwo: Mail is threaded and there are a lot of discussions. The summarizers don't even manage to summarize all of what is said, so we shouldn't expect outsiders to be able to follow anything of it. [18:30] The summeries used to do more summerizing, and less linking. [18:36] Yes, but then the lists got more activity, and more fanned out discussion [18:37] There is very little philosophy left in today's language design discussions [18:37] It's all purity versus cuteness, I sometimes think [18:38] reading FEAR: Perl 6 is hard to learn! [18:38] Perl has always been hard to learn. It pays off, though. [18:38] that's not true for everyone :) [18:39] The entire document assumes average programmers [18:39] I thought Perl has always been easy to learn. [18:39] But if you think you can refine it and make it better, by all means, please do so [18:39] how do I upload a folder with 4 new files to SVN? [18:39] (I've only been doing 'svk pull's recently, and I forget the syntax) [18:40] mrborisguy: man svk [18:40] svk --help [18:41] Juerd: thanks. [18:41] that sentence probably can be addressed bit flexible. though i am not sure how. me not good at english ;0 [18:43] Qiang: "for the average programmer" [18:43] Qiang: But I prefer not to include this. [18:49] r7739 | mrborisguy++ | Added template files for the test cataloger [19:03] mrborisguy - sorry forgot to add them to the repo...done now [19:06] svn check [19:06] ack mrborisguy added his own templates? /me is now realy confused [19:12] ahh mrborisguy must have got them out of my feather folder mrborisguy++ for determination ;) [19:14] Qiang: easy to learn, hard to master! [19:15] The "new sigil" thread is now the new largest thread that I didn't start [19:15] A few more posts and it's the largest thread in my entire p6l archive :) [19:25] yo [19:26] In a way it's a shame that the new sigil isn't #. #T looks nicer to me for some reason. [19:26] any date for "stuff like "class foo does hash" works if i want to change the way its operators work ? [19:26] * Khisanth comments out PerlJam's comments [19:29] r0nny you don't need that to change the way operators work... [19:29] PerlJam: I quite like # for comments. [19:29] well you do if you want to special case it i suppose, so that only certain hashes are treated differently [19:29] I think not picking ^ is a mistake. [19:30] eric256: can u gove me a hint ? [19:30] i think we should use /-# for comments ;) maybe throw in a < just to be safe too. ;) [19:30] Juerd: yeah, ^ already has that place-holder connotation. [19:30] sub infix:<+> (Hash $a, $b) { ... }; [19:30] PerlJam: And it is visually distinctive, easy to type, non unicode, and not already over used. [19:30] r7740 | juerd++ | re perl6 vs Perl 6 [19:30] * eric256 likes ^ too... so macro ^ as "class " and be happy [19:30] I think "class" as a sigil is a huge loss [19:31] Juerd: so reiterate that on p6l and see if it makes a dent [19:31] i want to translate stuff like %hash{thisisadeephash} to %hash{this}{is}{a}{deep}{hash} [19:31] i think it would be best if these don't end up with a sigil but become bare words. so that my T $x; isn't cluttered with sigils [19:31] I can't rebute the unicode fear this way. [19:31] Good thing I did that before this was decided. [19:31] r0nny...ohh. hmmm. i wonder if you can [19:31] hmm, May I know why the sigil exists? [19:32] :-S [19:32] eric256: Possibly other syntax, like `` ;) [19:32] `T` [19:32] A sigil isn't a bad idea, I think [19:32] eric256: how do you know whether or not to bind the type or look for an already existing type then? [19:32] sub circumfix:<{}> (Hash $x, $y) ... but i can't remember if circumfix is right or even working yet [19:32] But anything \w+ cannot be a *sigil* [19:32] easiest way is to look for tests or examples that override [19:33] PerlJam:....what? [19:33] Also, "class" provides false symmetry [19:33] it also needs % to have a "hash" equivalent [19:33] yea i'm not a fan of class in this instance [19:33] Khisanth: yeah i agree with you. [19:33] eric256: will it work, if i create a class wich does hash, to use it to decide ? [19:33] And & was used as an example, but you can't use "sub" where you can use "&", so it's a bad example [19:34] i don't think does Hash works at all yet. [19:34] so i can use sub circumfix:<{}> (FooHash $x, $y)? [19:34] my T $x; that suggests that $x is of type T. my class T $x; that suggests that T is some as yet unknown type but we're going to call it T for the duration of this scope. [19:34] r0nny. easiest way is to try it and see [19:34] PerlJam: For that matter, why not "T"? :) [19:34] my "T" $x [19:34] heh [19:35] hm, think about this while I drive home [19:35] PerlJam.. i'd just disagree with that, but yea barewords would have an issue with name collissions [19:35] Let me know [19:35] scare-quotes to the rescue! [19:35] afk [19:35] the T reminds me of C++ :) [19:35] hmm [19:35] * r0nny tries [19:35] Khisanth: yeah, where parameterized types use bracketing constructs, so why not my $x; ? [19:36] why do you need type sigils if you can declare parameterised functions? [19:36] btw - how to use the operator of the initial hash ?? [19:36] sub foo (Bar $baz) { ... } ! [19:36] integral: I have no idea. [19:36] r0nny yea i think you just can't do that right now [19:36] but you could do [19:36] integral: I'm taking on faith that there's some corner case that isn't covered. [19:37] %hash.processkey("asdf asdf asdf asd fasd f"); and have your processkey sub do the right thing [19:37] PerlJam: hmm, well I haven't seen it mentioned at all, and to me that's not necessarily a sign that anyone on p6l has thought about it outside of their tiny little part of the world [19:37] eric256: so it will be not-nice :/ [19:37] hmm [19:37] will have many FIXME's [19:37] that is the state of pugs/perl6 right now yes [19:38] integral: so suggest this to p6l. [19:38] sure [19:39] in fact, I thought at one time we'd talked about using my [T] $x to do the job of the class sigil [19:39] hmm, to pick a post at random to reply to, or a new thread [19:39] I thought perl used [] for parametric classes anyway, not <>? [19:39] integral: yes. (this week anyway) [19:39] r0nny you could always override + for hashes... %x + "asdf asd fas dfas df" sets all those keys. [19:39] sub infix:<+> (Hash %x, $key) { warn $key } [19:40] ok, I'll modify my suggestion to that so that hopefully people don't want time griping about that [19:40] eric256: i think + is the wrong thing for this [19:40] * eric256 takes it back. don't do that because thats overriding+ for everything, even though its signature is just Hash.. thats annoying [19:41] r0nny, i think you have the wrong idea. most of the *right* things, or at least lots of them, are either broken or unimplemented. that means most solutions are just get-it-done solutions, not get-it-done-all-nice-and-pretty [19:41] :/ [19:41] r0nny you can always make up any operator you want. sub infix: [19:41] %h expand "asdf asd fasdf "; [19:42] i will go wit sub processkey and sub deepexists [19:42] well both will be multi subs [19:42] they don't need to be muti [19:42] the only time you need multi is if you are going to have a sub with the same name but a different signature [19:43] both will be overloaded [19:43] overloading has nothing to do with it [19:43] damn - its the wrong word [19:43] * eric256 might be thinking of overloading differently. either way... two subs with the same name but different signatures need multi [19:44] eric256: im a c++ programmer [19:44] so im used to use overload with functions/methods, too [19:44] well - as word ;P [19:44] r0nny: wow. Don't admit that in public. Keep your dirty secrets ... well, secret. [19:44] lol [19:44] c++ isnt a dirty secret [19:44] actually i think its a nice language [19:44] r0nny...of course it is [19:45] ack... lol [19:45] r0nny: how long have you programmed in C++ [19:45] ? [19:45] but the std defining people make it suck more and more :/ [19:45] r0nny: and how many other languages have you use? [19:45] PerlJam: years [19:45] s/use/used/ [19:45] * eric256 used c++ for many years, then found perl...not needing a library to do hashes saves tons of time ;) [19:46] atm u use perl5 and sh besides of c++ [19:46] r0nny: well, that explains it. [19:46] lol [19:46] c++ has raw speed in some cases where perl just cant compare [19:46] r0nny: I think you're thinking of C ;) [19:47] PerlJam: no - c++ [19:47] well its not as fast as pure c, but still very fast [19:47] and lots more of syntactic shugar [19:48] r0nny: well, when you've only used one tool, of course that tool is the best tool in the world to you. Get out and try more tools. [19:48] syntactic nails and glass! [19:48] oh ;P [19:48] PerlJam: atm im trying lisp and haskell [19:48] r0nny++ excellent choices [19:48] and perl6 ;P (or at least the parts are implemented) [19:49] And if you don't learn to hate lisp, then you're doing something wrong! ;-) [19:49] scheme's not that hateful... [19:49] hehe - i hate it allready - one of my functions eded like this : "))))))))))))))))))))" [19:49] * PerlJam mumbles something about oatmeal and finger nail clippings. [19:50] r0nny: your function's too big :-) factorise it more [19:50] r0nny: then your function was too big [19:50] it was made to eat the mind of peoples reading it [19:50] :D [19:50] cant archive that wit sewwt small ones [19:51] sweet ;P [19:51] lisp has some cool features since its a very dynamic language [19:51] but i think perl6 will be a better choice ;P [19:52] integral: scheme has a certain beauty to it. Like that the entire spec and mathematical treatment can be expressed in under 60 pages. [19:52] nice [19:52] hmm, I wonder, why Larry made the sigil "C" please? [19:52] hmm [19:52] sigil ? [19:53] r0nny: perl6 is meant for humans, lisp is meant for machines (or weird humans) [19:53] ;-) [19:53] xinming: for "class" [19:53] i know some lisp fans [19:53] they are weird [19:53] one nice thing with haskell is that GHC is very much a compiler in the same format as a trad. unix C compiler [19:54] In my understanding, It just do `my $o; try { class $class_name $o } ; ... ` ; [19:54] right? [19:54] PerlJam: hmm, I know, I've read the mailing-list. But not understand. :( [19:55] where the "C|"T is becoming something like $class_name in the above example. [19:55] ?? [19:56] I mean the new sigil. [19:56] some suggest C| [19:57] I don't know how to type this. :-P [19:57] `AltGr + C` not works [19:58] damn :/ [19:58] xinming: heh, I'm trying to figure out how to type it too. In vi it would be ^KCt, but that doesn't work too well in irssi [19:58] using recursive methods in deep hashes is a disaster [19:58] In Theory, everyone can type Unicode, transport Unicode safely, and get perl6 released [19:59] integral: Only because I've had to learn a lot about character encodings lately. [19:59] is there a way to tell it all sub-hashes are the same class ? [19:59] heh. hello :) [19:59] Unicode integral to the work I do, now. ;-) [19:59] integral: In Theory, Haskell supports Unicode sources... [19:59] But the fact is, even in Windows, the utf-8 isn't fully supported by default( IIRC ) [20:00] SamB: No haskell in me, please. [20:00] seen autrijus [20:00] ingy: autrijus was seen 3 hours 34 minutes 34 seconds ago [20:00] xinming: anyway, my ¢T $x; says that $x is some type T that's not yet known, as soon as it's known, everywhere in that scope where it said T, is now whatever type was bound to T. [20:00] SamB: hmm, I guess real perl6 uses will just do what haskell people have done, and ignore it? [20:01] integral: probably [20:01] because they likely don't have those keys [20:01] PerlJam: hmm, so it's not like: my $x; my ::T := ref $x (or $x.class, or something) [20:01] xinming: so ... my Int $i = 5; sub foo (¢T $x) { say $x } foo($i) # Since $i is an Int, so T becomes an Int [20:02] so anyone who does people unicode to c6pan will be allowed to, but everyone will mutter about incompatibilities [20:02] *post [20:02] integral: I'm not sure what it's *really* supposed to be like. This is just what I think given the discussion so far. [20:02] hmm. Has someone posted a goal they want to use this to achieve? [20:02] (like why are non-linear type patterns useful without a unifying type checker?) [20:03] actualy they are pretty easy on windows. oddly it seems to do okay with those, i havn't found a progam i can't type them in. 􏿽xA5 􏿽xA2 [20:03] ¢? [20:03] integral: another good question (for you to ask p6l :_ [20:03] er :) [20:03] eric256: that sounds rather DOS-like! [20:04] it amuzed me when some of the arguments agianst it where becuase corp environments don't update, if they don't update then they arn't going to have perl6 anyway so it doesn't realy matter [20:04] PerlJam: hmm, I think I understand, thanks. [20:04] and: sub foo ($x --> C|foo $y) { $y = C|foo.new } # hmm, so context has to include *full* type info? [20:05] PerlJam: Why not use multi? [20:05] hmm, I guess multi is one place they would have an effect, since that effectively does typecheck [20:05] IIRC, there is a type /Any/ [20:06] by the way, How do you type this character? [20:06] xinming: yeah, but that won't quite do the same thing. [20:07] xinming: I typed it in vi and then cut+paste it here :) [20:07] damn [20:07] i got a problem with multi subs [20:07] * PerlJam is secretly hoping that @Larry will reply to his last post with "no,no,no, it works like *this*. and that useful *here* because ..." [20:08] perlbot nopaste [20:08] Paste your code here and # will be able to view it: http://sial.org/pbot/ [20:08] put your stuff there r0nny....multi subs are a bit picky right now. ;) or maybei should say they arn't picky enough yet [20:10] PerlJam: hmm, Could you please tell where the differences between multi and "C|" ? I really confused, hmm, if there is a type of any, then, multi can handle the case you showed above. [20:10] "r0nny" at 84.184.177.66 pasted "broke a multi-method - dont ask how" (74 lines, 1.6K) at http://sial.org/pbot/13927 [20:11] oh - its nams processkey [20:15] btw - how to access a member var ? [20:16] with the * i've had trouble with multi [20:16] access member var? has Str $.sep; then my $x = new DeepHash; $x.sep = ":"; [20:17] you probably want to start with a single multi and then add on, to see which one breaks it and when. [20:18] are these suppose to be methods? or subs? [20:18] methods [20:19] allready fixed the keyword [20:19] but it doesnt like them [20:19] if they are methods, then change the top two to multi method instad of sub, and drop the bottum one out of the class becuase it isn't a class method [20:19] you can't just access $self with no definition. [20:19] multi method processkey($self: Str $key) { [20:22] it breaks on the first call to the first method on the code below the class decl [20:23] r0nny....i meant, after adding which multi does it break. and break needs to be defined. does it give you an error? run the wrong mulit? etc. [20:24] besides that your first multi is going to be called when you are down to one element, it tries to split that element and then call itself, so you will get an infinite loop [20:25] eric256: it breaks becasue it cant find a fit [20:25] i havn't ever seen that error before. [20:26] *** No compatible subroutine found: "&processkey" [20:29] -_- [20:29] i would assume that does Hash isn't working at all [20:29] not that i see why you need it at all [20:29] well - time to go for multi-subs [20:30] yea. thats kinds what we've said since you started. ;) [20:30] or make info a full object [20:30] instead of a special hash [20:31] can i take a hash in the ctor ? [20:31] hmm and how to make a ctor [20:32] well - op = will do [20:37] btw the way you changed deepexists makes it fail [20:39] (slightly OT) anyone have experience w/ Text::Template? [20:44] eric256: i know [20:44] eric256: weill becone a method now ;P [20:49] still will be broken. you changed the order of the checks and it was important. if you deepexist with only one element it always returns true even if that element doesn't exist [20:53] really ? [20:53] need to repair then [20:53] i will geuss on my own [20:53] yea because you check +@a first. but it will be empty for single element. ;) [20:54] hmm [20:55] if i make a method allways will return a bool, will it automatically convert the return value ? [20:56] no [20:56] how to convert to bool best ? [21:04] darn [21:05] class Foo { ... }; wont work :/ [21:29] stevan: ping [22:07] I hate these "does he know that I know he knows that I know " questions I ask myself sometimes. [22:07] reminds me of that Dutch poet who wrote: [22:08] I wish I were two doggies, then I could play together outside... ;-) [22:08] I like that one. [22:09] I do wonder why you associate that with the qusetion of knowing whether someone knows you know they know you know something... [22:10] s/qusetion/question/ [22:10] You were asking yourself... [22:11] Oh [22:11] putter pasted "stevan: re object space" at http://paste.lisp.org/display/12866 [22:11] You never consult yourself for advice? :) [22:11] nope, I know what I need to know already ;-) [22:11] Hmm [22:11] Interesting :) [22:11] And potentially very useful. [22:11] Could you teach me? :) [22:12] It comes with age... [22:12] ;-) [22:13] Physical age? [22:13] hmmm... maybe I should say "experience" ? [22:13] I don't know :) [22:13] Were you asking yourself, by the way? :) [22:14] It should be obvious that I have no idea... ;) [22:14] Well, actually you're right, I do consult myself occasionally [22:15] I just don't consult myself on whether or not I should be consulting myself [22:15] Perhaps you should [22:15] ;-) [22:15] Though the recursion really bites after a while. [22:16] Indeed... thermal overload [22:16] Only if you're hot headed :P [22:16] I try to use air cooling, into one ear, out the other [22:17] This has some unpleasant side effects though [22:17] is there a wire between your ears? [22:18] No [22:18] Yes! [22:18] Just emptiness, to let the air flow along, and a radiator. [22:19] wow! [22:19] luqui: You will not guess what we are talking about :) [22:19] This introspection business is really great! [22:19] Liz: And you don't even need the little light! [22:21] perhaps not... [22:21] anyways... enough of this banter ;) [22:21] Banter? [22:21] ;-) [22:22] This happens every time I try to discuss the more important world issues. [22:23] That's experience... ;-) [22:23] Ahhh [22:23] It must be, because I didn't ask myself what it was. [22:23] I'm going to get some shuteye... its going to be a long to 2morrow... [22:23] Good to have learned something today. Thanks, Liz [22:23] slaap lekker [22:23] you're welcome... truste! [22:24] I'm also going to bed [22:24] Bye [22:40] what was the pastebot before lisp.org? (I'm hitting length limits...) [22:41] ah well. [22:41] http://sial.org/pbot/perl6 [22:42] ah, thanks! [22:42] *** integral changes topic to: 6.2.10 released! http://xrl.us/hxnb | geoffb's column (/. ed): http://xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: http://paste.lisp.org/new/perl6 or http://sial.org/pbot/perl6 | www.geeksunite.net [22:43] integral++ [22:43] "putter" at 66.30.119.55 pasted "stevan, fglock: some random overhaul code" (3463 lines, 110K) at http://sial.org/pbot/13931 [22:44] ?eval my $ x = 1; [22:44] Error: unexpected " " expecting "^", "*", "?", ".", ":" or qualified identifier [22:44] NOOOOOOOOOOO. [22:45] buu: Whaa? [22:45] collective fyi. sial.org is accepting pastes more than 3x the size of lisp.org. (Whether such a paste is a good idea is a separate issue...;) [22:45] The $ is part of the name. [22:45] theorbtwo: So? [22:45] I'm sad they don't allow it any more =[ [22:46] I think it's a good thing that it's not allowed. [22:46] =[ [22:46] But it's cool. [22:46] putter: at the very least that is useful :) [22:46] The variable is named $x, not x with some sort of strange thingy in front of it. [22:47] theorbtwo: This is just another way that p5 is cooler than p6. [22:47] perl6 devalues the primary sigil way too much [22:47] Huh, integral? It values it much more (but mostly not in ways that are user-visible, at least for normal users). [22:48] no, it makes it little more than a part of the variable name [22:48] integral: So I'm not the only one who hates %hash ? [22:48] The glob is gone; $x and @x are unrelated varables that happen to have similar names. [22:48] ?eval my $x; $x [22:48] \undef [22:48] ?eval my $x; $x=32; [22:48] \32 [22:48] Khisanth: sial accepting large pastes? [22:48] ?eval my %x; %x=32; [22:48] \32 [22:48] What's the difference? [22:48] putter: yes [22:48] What's named with a dollar sign and one isn't? [22:48] agreed [22:49] interpolation/context is the answer I got once to buu's question [22:49] Context? [22:49] And can I have my decrement operator now? [22:49] $a = ...; %a = ...; the yadas have different context. [22:49] $x-- ? Sure, never changed. [22:49] integral: That makes a certain amount of sense [22:49] ?eval my $x = "b"; $x--; $x; [22:49] \-1.0 [22:49] theorbtwo: It lacks goodness. [22:50] Oh. [22:50] Bring it up on p6l? [22:50] I suppose. [22:50] AFAIK, magic inc and dec have never been mentioned in the [AES]\d+es. [22:51] buu, the sigils don't mean too much anymore, but they do mean something [22:51] I've been looking for a good meaning for them, and haven't found one [22:52] putter: I started reading the new code - looks quite good (will finish later) [22:52] so basically, @a flattens itself in list context and $a doesn't. That's pretty much the only difference [22:52] Hmph. [22:52] don't we also still have @ as a prefix operator too? [22:52] still? [22:52] oh, like @$x [22:53] yep [22:53] to my dismay, I think so [22:53] ?eval my $x; $x[1]; @$x [22:53] [undef, undef] [22:53] if it's really just denoting context, we should just have one x, and have $x and @x differ purely on context, but be the same array [22:53] I agree. [22:53] Or something. [22:54] golly, and I was griping about CL's splitting of func and var namespaces earlier too :-/ [22:54] ?eval my $test = "no way!"; print $test; [22:54] no way!bool::true [22:55] (sorry all - great feature!) [22:55] ?eval:p5 %x [22:55] Can't locate Scriptalicious.pm in @INC (@INC contains: /home/fibonaci/devel/pugs-base/perl5/PIL-Run/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/.. /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-Value/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-Container/lib /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-MetaModel /home/fibonaci/devel/pugs-base/perl5/PIL-Run/../Perl6-MetaModel/lib /etc/perl /usr/local/lib/perl/5.8.7 [22:55] o_O [22:56] m()m [22:56] & [22:56] ?eval eval :p5 "die 'foo'" [22:56] undef [22:57] eval: print "?eval say 1" [22:58] buu: ?eval say 1Return: 1 [22:58] hrm [22:58] Shux. [22:58] integral; &? nothing more. just an indication of repect. [22:59] shift8: invalid bash syntax. [23:00] buu: does buubot have evalbot on ignore? [23:00] No =] [23:00] ?eval say "eval: 1 " [23:00] eval: 1 bool::true [23:00] evalbot_7740: Error: syntax error at (eval 109) line 2, near "1 bool::true " [23:00] heh [23:00] * buu ponders [23:01] infinite loop from buubot and evalbot? [23:01] that'd bef un [23:01] s/bef un/be fun [23:01] Naw, buubot can't trigger evalbot [23:02] I think that'd be less then fun, unless buu stopped buubot fairly quickly. [23:02] At least, I can't think of anyway to make it trigger [23:02] Since it automatically prepends the person who triggered it to it's response [23:02] that's true, since buubot puts "the name:" in front anyway [23:02] ?eval say "?eval say 'hi';" [23:03] ?eval say 'hi'; bool::true [23:03] hmm, it doesn't listen to itself? [23:03] it has no reason to :) [23:03] buubot: reload [23:03] buu: Reloading! [23:03] ?eval say "eval: 1" [23:03] eval: 1 bool::true [23:03] eval: 1 [23:03] buu: Return: 1 [23:05] eval: my %foo; %foo = 'world'; %foo.kv [23:05] luqui: Error: syntax error at (eval 109) line 1, near "hello>" [23:05] oh, buubot is not perl 6 [23:06] eval: dump [23:07] fglock__: hi. sorry for the delay (phone call). there was something else I was going to mention... eh, can't remember. [23:07] luqui: You killed it =[ [23:08] :-( [23:08] I know. [23:08] Fortunately it respawns. [23:08] eval: "I'm not dead yet!" [23:08] buu: Return: I'm not dead yet! [23:08] heh [23:08] evalbot_7740: `cwd` [23:08] irssi-- [23:09] Irssi? How is that irssi's fault? [23:09] eval: `pwd` [23:09] luqui: Return: [23:09] fglock__: my fuzzy recollection is the main changes to P6::V/C code were - cleaned up method inheritance (methods which do nothing but call nextmethod, or which should be interited from others, can be deleted); [23:09] buu: irssi tends to autocomplete things I didn't want it to when I begin a line with \w+[:,] [23:10] um [23:10] No it doesn't. [23:10] evalbot_7740: `cd` [23:10] Yes, it does; what I typed was "eval: `cd`" [23:10] um [23:10] I've never ever seen irssi do that [23:10] Are you sure you aren't on bitchx? [23:11] theorbtwo: perhaps you have a certain script loaded [23:11] /set completion_auto off [23:11] eval: 1 [23:11] theorbtwo: Return: 1 [23:11] Thanks, Joon -- just a moment too slow, though [23:12] eval: `cd` [23:12] theorbtwo: Return: [23:12] eval: $ENV{USER} [23:12] theorbtwo: Return: [23:12] Hm, perhaps it is better locked-down then I'd thought. [23:12] buu: Yes, I am quite certian I am not on bitchx. [23:13] unpacked the monster "aUTOLOAD implements a half dozen methods" cruft; switched to a more p6-like mm sugar; let's see... [23:16] ?eval () [23:16] pugs: Prelude.tail: empty list [23:16] woah [23:16] :q [23:18] tightened up some of the code (either to remove what seemed to be development history artifacts, do some simple clearer-and-faster changes, or just reduce code size so I could more easily see what was going on); switch to using runtime/mm for object creation and isa()/does(); ... maybe that's it. [23:19] ?eval [] [23:19] pugs: Prelude.tail: empty list [23:19] ?eval my $x = []; say "good"; $x [23:19] good pugs: Prelude.tail: empty list [23:21] quick question: what is now considered "The Right Thing To Use" for templating ? [23:24] Template Toolkit! [23:24] although, like everyone i presume, i've implemented a "mini language" one, i dislike that route. Text::Template is not meeting my needs. is there any other suggestions? (i know this is #perl6, but it's my best bet on freenode ;) [23:24] Templates without mini language? [23:24] Then you end up with pure perl. [23:24] Which is doable, but hard to teach newbies [23:24] yes... like Text::Template [23:25] afk # .sleep(:really(bool::true)) [23:26] The next step was to clean up and simplify the Containers and their helpers and Code (I was finding it hard, for example, to diagnose Code+Array bugs). When encountering a particular flavor of bugs, the right response is to house clean, rather than chase them. My impression is P6::V/C has reached a point of "throw one away". Ie, "now we now what we are doing, and the things we depend on have matured, so now it can all be done much mo [23:26] re simply". [23:28] fglock__: ah well. that's what comes to mind at the moment. let me know if you have any questions/comments/whatever. cheers. [23:28] & [23:34] Jooon, spinclad, gaal: ping [23:36] s/The next step was to clean up/The next step was to have been to clean up/ [23:43] Btw, the big picture was I took the pilrun p5 and p6 prelude files, and all the Perl6::Value and Perl6::Container files, and poured them into two big combined files, in the hope they could be distilled down into one. with regexps to rip it all apart again at runtime. basically, it all needed overhaul, but much of the changes would be non-local, so it seemed easiest to localize all the code. basically trying to get from a succesful sp [23:43] ike (we have a p5 backend that actually does stuff), to something which can be a real p6 platform.