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