»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by sjohnson on 21 August 2009.
00:00 jaldhar joined
quietfanatic The thing is it's not obvious whether positive should be right or left. 00:00
TimToady that's one of the things Perl 6 can't do--fix your comments
sjohnson hehe
TimToady it's obvious if you consider shift to be more natural than unshift 00:01
sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(1); # a statement will be executed 00:02
p6eval rakudo 0d4fe0: OUTPUT«BIO1BIO3ART2␤»
TimToady actually, by the time it gets to the comment, it's already done it :P 00:03
(not really)
quietfanatic It's the parser that sees the comment
yeah
sjohnson just had to clean up my act there 00:04
jnthn gains a 64-bit Linux box to test Rakudo on too 00:05
TimToady quick, rewrite all the numeric code to use rat64s
jnthn Can't. Too tired from screwing with mail server migration. :-P 00:06
jnthn was going to send a test mail to make sure it worked on his mail accounts...only to find that a spam got there first. :-/ 00:07
meh. make spectest runs a bunch faster on this box too 00:08
Limbic_Region oh just what we need, an even more productive jnthn 00:12
jnthn :-P
oh 00:13
Probably because I never got parallel testing running locally
And it probably works out of the box here.
Limbic_Region were you on a winblows box before?
Limbic_Region wrote a hack for the pugs harness using Parallel::ForkManager to get it running in parallel there 00:14
00:14 explorer left
jnthn Limbic_Region: I still am, I just got a Linux box in a data center to run various things on that I like remote access to wherever I am. 00:33
00:37 rba left 00:45 carlin joined 00:48 justatheory left 00:55 tak11 left
pugs_svn r28075 | lwall++ | [STD] don't complain about ?: unless there's a : before the next ; 00:57
r28075 | [STD] don't guess on suspicion of two terms in a row, just check it already.
TimToady gah, now I'll have to remember to put a blank line first to keep my [STD]'s lined up... 01:05
lisppaste3 colomon pasted "DRY-violating spectests?" at paste.lisp.org/display/86106 01:12
colomon When I was messing around with Any.sin today, I stumbled across a scad of tests that look like this in trig.t.
All the repetition makes my teeth hurt. 01:13
And it's not testing a lot of cases. 01:14
lisppaste3 colomon annotated #86106 "Maybe a better approach?" at paste.lisp.org/display/86106#1 01:18
colomon (I may have the hash creation syntax mucked up, but that's just a matter of running it through rakudo and seeing what works.) 01:19
The big advantage of doing it this way is it is vastly easier to add additional tests -- what happens if you're not in the principle domain of sin. Does $x.sin work like sin($x)? Etc. 01:20
Does that seem reasonable? I'm very new to Perl testing, and may still be missing nuances... 01:22
01:26 Whiteknight left
TimToady it's easier to fudge out individual tests when they're not table driven, is one consideration 01:31
probably not important in this case
colomon Yeah, it would be very weird to have sin work except for 180 degrees, or something like that.
rakudo: say sin(3); 01:35
p6eval rakudo 0d4fe0: OUTPUT«0.141120008059867␤» 01:36
colomon rakudo: say sin("3");
p6eval rakudo 0d4fe0: OUTPUT«Return value type check failed; expected Num, but got Str␤in method Any::!to-radians (src/gen_setting.pm:371)␤called from method Num::sin (src/gen_setting.pm:1382)␤called from Main (/tmp/w0LtkNa5n3:2)␤»
pugs_svn r28076 | lwall++ | [irclog] link camelia to perl6.org now 01:38
01:40 Trey_ joined 01:42 Trey left 01:43 ssandv joined
sjohnson happy toady 01:44
lisppaste3 colomon annotated #86106 "Working full rewritten sin test plus more" at paste.lisp.org/display/86106#2 01:48
jnthn night folks
colomon That's the full sin tests from trig.t in less than half the lines, with additional tests for -360 to 0 and 360 to 720 added. 01:49
sjohnson see ya jnthn don't let the p6 bugs bite 01:51
colomon If no one has told me not to by morning, I'll add a few more tests and then commit the new version to the spectests. I can add a bunch of working and failing tests at the same time... :)
sjohnson pats colomon on the back 01:52
01:53 frew__ joined
frew__ is chamelia really trademarked? 01:55
or is that a joke?
quietfanatic All you need is the (TM) 01:58
TimToady see misc/camelia.txt 01:59
sjohnson perl 6 camel suggestion: www.manalais.com.br/blog/wp-content..._camel.jpg
frew__ where is misc? 02:00
TimToady pugs repo
frew__ yeah, I don't see it in there...
maybe I need to update
TimToady std: WHY? 02:02
p6eval std 28076: OUTPUT«===SORRY!===␤Confused at /tmp/o1chsor2Mh line 1:␤------> WHY⏏?␤ expecting any of:␤ POST␤ argument list␤ bracketed infix␤ infix␤ infix stopper␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤ statement
..modifier loop␤ term__S_424identi…
sjohnson TimToady: we haven't programmed it a spiritual side yet 02:03
TimToady std: WHY? 42
p6eval std 28076: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/JsYNYwZd3B line 1:␤------> WHY⏏? 42␤ expecting any of:␤ POST␤ argument list␤ bracketed infix␤ infix␤ infix stopper␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤
.. statement modifier loop␤ term…
TimToady std: WHY? not 42: 43 02:04
p6eval std 28076: OUTPUT«===SORRY!===␤Obsolete use of ?: for the conditional operator; in Perl 6 please use ??!! instead at /tmp/51ikXL2WUi line 1:␤------> WHY?⏏ not 42: 43␤Undeclared name:␤ WHY used at 1 ␤FAILED 00:02 37m␤»
sjohnson std: 1; 02:05
p6eval std 28076: OUTPUT«ok 00:02 37m␤»
sjohnson TimToady: i've asked it before, but i'd like to hear it straight from the camel's mouth. what do you think of an array collapse method 02:10
that removes blank / undef vals from the array
(undef, '', 'data1', undef, '', 'data2').collapse
like in Ruby 02:11
i can't remember how many times i've had to reinvent the wheel for this when I am splitting CSV data and i don't want blank stuff.
it was probably 1 time
( `ー´)
well, just kidding, more than 1 02:12
02:12 justatheory joined
TimToady .grep: *.defined 02:13
and such 02:14
.grep: *.true will remove '' too 02:15
.grep: ?* is even shorter
in fact, that's the same length as .collapse 02:16
though masak will prefer .grep(?*)
same length
but usually if you're using split that way in Perl 6, you should be using comb instead, and not produce the spurious values in the first place 02:17
and comb is shorter than split :) 02:18
cognominal .say for 0,1 ... { $^a + $^b if $^a < 30 } 02:22
oops
rakudo:.say for 0,1 ... { $^a + $^b if $^a < 30 }
p6eval rakudo 0d4fe0: OUTPUT«0␤1␤1␤2␤3␤5␤8␤13␤21␤34␤55␤»
sjohnson ... comb eh 02:29
sjohnson rubs his hands together
TimToady not gonna add .times either...
sjohnson TimToady, you saw right through me 02:30
you knew i was thinking about Perl technology
err Ruby
can i haz a times()?
( `ー´)
TimToady is that supposed to be a sleeping cat?
sjohnson susposed to be a squinty smiling fat face 02:31
colomon rakudo: say sin(0 + 1i);
p6eval rakudo 0d4fe0: OUTPUT«Return value type check failed; expected Num, but got Complex␤in method Any::!to-radians (src/gen_setting.pm:371)␤called from method Num::sin (src/gen_setting.pm:1382)␤called from Main (/tmp/irGqi6OEyY:2)␤»
colomon rakudo: say (0 + 1i); 02:32
p6eval rakudo 0d4fe0: OUTPUT«0+1i␤»
colomon good night all.
sjohnson ^ ^
( `ー´)
ahh failed trying to make a cat for TimToady
see ya colomon
keep up the good work
02:33 carlin left
sjohnson the reason Perl is better for me than Python, is because you can code like a ninja in it. 02:35
02:37 LionMadeOfLions left 02:38 rba joined 03:01 molaf joined 03:05 Limbic_Region left 03:10 jimmy_ joined 03:18 nihiliad left 03:20 jimmy_ is now known as JimmyZ 03:21 nihiliad joined 03:28 molaf left 03:46 r0bby joined 03:49 ihrd joined, mrsaturn joined
mrsaturn howdy, world 03:50
03:51 synth joined
ihrd mrsaturn: hi 03:53
cognominal given the longest token rule, I would expect that given a factorial fonction and sub postfix:<!!> ($x) { $x! ** 2 } I could write 3!! 03:54
TimToady should work 03:55
std: sub postfix:<+++> ($x) {...}; $_+++ 03:56
p6eval std 28076: ( no output )
TimToady std: sub postfix:<+++> ($x) {...}; $_+++
p6eval std 28076: ( no output ) 03:57
TimToady taking too long to generate the new language, I guess
std: sub postfix:<+++> ($x) {...}; $_+++
p6eval std 28076: ( no output )
TimToady anyway, works locally
03:59 meppl left
cognominal ./perl6 -e 'multi sub fact(0) { 1 } ; multi sub fact($n) { $n * fact($n-1) } ; sub postfix:<!> ($x) { fact $x }; sub postfix:<!!> ($x) { $x! ** 2 }; say 3!!' 04:00
Syntax error at line 1, near "!!"
TimToady rakudo doesn't do LTM yet 04:01
cognominal ho, I did not notice your were using STD
TimToady that parses fine with STD 04:02
cognominal cool 04:03
TimToady though really, rakudo shouldn't have failed in any case
since it would just have misparsed as .!.!
so I don't know why it failed
btw, much easier to write fact as [*] 1..4n 04:04
$n
cognominal I thought so too.
TimToady so perhaps rakudo is only allowing one postfix 04:06
quietfanatic for some reason, dot-postfix doesn't work at all.
perl6 -e 'multi postfix:<!> (0) {1}; multi postfix:<!> ($x) {$x * ($x - 1)!}; say 3.!'
TimToady rakudo: $x++--
p6eval rakudo 0d4fe0: OUTPUT«Symbol '$x' not predeclared in <anonymous> (/tmp/xUf9GDELtv:2)␤in Main (src/gen_setting.pm:3460)␤»
quietfanatic Statement not terminated properly at line 1, near ".!"
TimToady rakudo: $_++--
p6eval rakudo 0d4fe0: ( no output )
quietfanatic rakudo: say $_++--
p6eval rakudo 0d4fe0: OUTPUT«Use of uninitialized value␤␤»
TimToady might not support . on postfixes 04:07
rakudo: $_ = 0; say $_.++; say $_
quietfanatic That's what I said, only less eloquently.
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ".++; say $"␤in Main (src/gen_setting.pm:3460)␤»
quietfanatic (I mean I said it less eloquently)
TimToady std: $_ = 0; say $_.++; say $_
p6eval std 28076: OUTPUT«ok 00:02 38m␤»
mrsaturn rakudo: sub postfix:<.> ($x) { return $x++; } say 5.;
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "say 5.;"␤in Main (src/gen_setting.pm:3460)␤»
TimToady std: sub postfix:<.> ($x) { return $x++; } say 5.; 04:08
p6eval std 28076: OUTPUT«===SORRY!===␤Decimal point must be followed by digit at /tmp/GWJtsX1kdx line 1:␤------> postfix:<.> ($x) { return $x++; } say 5.⏏;␤ expecting integer␤FAILED 00:04 47m␤»
mrsaturn what?
TimToady match 5. under LTM and fails 04:09
though it ought to have failed first for lack of a semi
which is what rakudo is failing on, I suspect 04:10
04:10 meppl joined
TimToady quietfanatic just figgered it out, it's the term lookahead I just put in 04:11
guess I need a try around that...
std: 42 42.
p6eval std 28076: OUTPUT«===SORRY!===␤Decimal point must be followed by digit at /tmp/SicWGveUvc line 1:␤------> 42 42.⏏<EOL>␤ expecting integer␤FAILED 00:02 37m␤» 04:12
TimToady yeah
std: 42 42abc
p6eval std 28076: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/qrEYAEdc9s line 1:␤------> 42 ⏏42abc␤ expecting any of:␤ bracketed infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤FAILED 00:02 37m␤»
mrsaturn does anyone else see very wierd errors, or is it just my irc thing messing up the words?
TimToady std: 42abc
p6eval std 28076: OUTPUT«===SORRY!===␤Whitespace is required between alphanumeric tokens at /tmp/bB0FIPLIj5 line 1:␤------> 42⏏abc␤ expecting any of:␤ POST␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤ terminator␤ whitespace␤FAILED 00:02
..37m␤»
quietfanatic mrsaturn: It's the color-coding, I think, that is not interpreted correctly by something or other. 04:13
mrsaturn thank you quietfanatic
04:15 kyle_l5l joined
quietfanatic To tell you the truth, I think the big SORRY! is a little jarring, but maybe that's because I'm not used to it. 04:16
pugs_svn r28077 | lwall++ | [STD] 2nd-term lookahead should suppress errors 04:17
TimToady it used to say PARSE FAILED
which is even more jarring, and not terribly informative to newbies
quietfanatic Well, maybe I'll just edit my own perl6 to lc the sorry or something. 04:18
TimToady and sort of comes across like "YOU LOSE!"
quietfanatic That is what FAIL means on the interweb, only a little more harsh.
TimToady at least there's an env symbol to change the eject symbol to something else :)
quietfanatic I see.
If the terminal supports color-coding the eject symbol isn't exactly necessary, unless you're looking for syntax errors between whitespace characters. 04:22
TimToady quietfanatic: the eject was for red-green colorblind folk 04:24
quietfanatic Ah. Your eyes have to support color-coding too. 04:25
"Couldn't find non-existent sub infix:::=" 04:28
Oh, I see. 04:29
It's ::= not := that's unimplemented. 04:30
TimToady I've been trying to get parrotfolx to change that notation for years now
we hates it every time we sees it 04:31
hates it, hates it, hates it
pmichaud TimToady: I might be able to change it. Is there a canonical form for a given operator? 04:42
04:44 SmokeMachine joined
quietfanatic iirc, it's category:<name> even if the name contains < or > 04:44
so like infix:<+<> for numeric bit-shift left 04:45
pmichaud I think not for < or >
I think for those one has to use a different delimiter
TimToady one could do it with <> with backslashes, but I think I'd rather see «» as an alternate 04:46
pmichaud well, parrot internally wants to have a consistent name
quietfanatic What if there's an operator with both < and «?
pmichaud we can say use single angles unless the operator name contains a single angle, but that get's a bit tricky 04:47
*gets
TimToady can always ['<', '»']
but the canonicalization is interesting
quietfanatic Perhaps backslashing is the best approach.
pmichaud that's the prime reason that Rakudo and other tools have skipped the angles altogether
because it's easily canonicalized internally
TimToady it's just not very human friendly 04:48
pmichaud my best guess about making it user-friendly was going to be to change the display name to include angles, but leave the internal name w/o the angles
TimToady needs a pill
pmichaud but I'm not entirely satisfied with that approach either. in some places the non-friendly names are just going to "leak out", no matter what we do.
04:49 quietfanatic_ joined
quietfanatic_ Sorry, Firefox Beta exploded 04:49
That's what I get for using beta.
TimToady well, I'd be happy enough with <\< \>> for canonical
quietfanatic_ I have it in the spec right here, I just need to link it...
S06:379 04:50
pmichaud we might be able to backwhack the angles
04:50 quietfanatic left
pmichaud S06:379 looks wrongish to me... is that really correct? 04:51
TimToady I think I'd prefer the backwhacks
it seems rather fossilish 04:52
quietfanatic_ Let me fix my username...
04:52 quietfanatic_ left, quietfanatic joined
quietfanatic There. 04:52
pmichaud I'm fine with what S06:379 currently says -- although I had never noticed that before. 04:53
quietfanatic: nice catch, btw.
TimToady indeed
but I think it would be good if the canonical form was .perl-safe 04:54
pmichaud it will seem very odd that the canonical for numeric greater than is 'infix:<>>'. I suspect that's not STD parse-able, though.
TimToady well, we could go with :['>'] as teh canonical form, I suppose
quietfanatic Naturally it's not, or I'd create an operater called "> ($x) { #`(do something bad) }" :) 04:55
*operator
TimToady but maybe just that form for things containing < or >, and :<> for everything else
pmichaud anyway, that's the reason parrot's tools have omitted the angles entirely until now -- just easier for consistency in the tools. 04:56
TimToady hates it...
quietfanatic But of course, infix:::= is also non-parseable.
pmichaud well, Rakudo understands how to convert infix:<::=> to its internal form 04:57
it's just a question of getting the correct name out :)
or having a consistent internal form that is parseable
TimToady even when you use %symtab.keys :)
pmichaud yes, I was thinking in that case also
TimToady so maybe just straight <> with \ 04:58
output can pretty that up if desired
pmichaud would we have any operators with \ in the token name?
or is that semi-reserved for unspace? 04:59
quietfanatic circumfix:<\\( )>
pmichaud (yes, we can backwhack it as well.)
quietfanatic ...for Captures.
TimToady std doesn't call that a circumfix, fwiw 05:01
hadn't though about unspace in <> though
seems undwimmy
unspace would disappear entirely 05:02
05:02 quietfanatic_ joined
quietfanatic_ happened again 05:02
TimToady but <foo\ bar> will be expected to mean "foo bar"
quietfanatic_ I ought to get a real irc client.
TimToady well, maybe I'll whack on S06 tomorrow after sleeping on it 05:03
pmichaud that'd be great :-)
TimToady but probably :<\< \>>
pmichaud I'm not likely to be able to make a change in the immediate future anyway. But I can start moving things in that direction. 05:04
05:04 quietfanatic left, quietfanatic_ left
cognominal .WHAT gives me the type name of a given type. But how can I know if it an enum, a class...? 05:04
pmichaud what would be the canonical Perl 6 mechanism for returning a block of type WhateverCode ? 05:05
i.e., I'm currently writing 05:06
multi sub infix:<+>(Whatever $a, $b) { -> $_ { $_ + $b } }
but I need the returned closure to be of type WhateverCode
TimToady but how to bless it, yeah...
05:07 quietfanatic joined
TimToady well, in theory, WhateverCode(-> $_ { $_ + $b } }) 05:07
quietfanatic Well I can't get ircii to work.
pmichaud oh, I might be able to get that to work. Maybe.
05:07 nihiliad left
quietfanatic ...trying irssi... 05:08
pmichaud maybe I'll just write an internal sub to do the blessing for now. We're still having issues with postcircumfix:<( )> on type objects, I think.
05:08 SmokeMachine left 05:09 quietfanatic left
TimToady I suppose in some sense WhateverCode could just be some kind of alias for Code:($) 05:11
pmichaud well, I don't think we want all Code:($) to be WhateverCode
it really seems to want a special type
05:12 quietfanatic joined
TimToady not sure 05:12
quietfanatic Is there anything special it does?
pmichaud it's special for purposes of dispatch, yes.
TimToady question is whether you want 1 + { $_ * 3 } to automatically turn into { 1 + $_ * 3 } 05:13
quietfanatic Ah...
Yes that would be helpful.
TimToady something to be said on both sides
as usual 05:14
pmichaud istr that there were some cases against having it auto-handle Code:($)
quietfanatic Well, you could always overload infix:<+>:(Num, Code) ...
but that'd be too wierd.
weird
TimToady well, it'd only be code with 1 arg 05:15
but still
(Num, Code:($))
quietfanatic speaking of which, do braces always create a Code object without running it, or are there some cases it runs?
TimToady if used as a statement, runs immediately 05:16
quietfanatic I mean, would 1 + { 3 * 4} normally run 3 * 4?
Oh
TimToady would normally be an error
since closures don't have a numeric value intrinsically
1 + do { 3 * 4 } would run
or 1 + ({3 + 4})
since inside parens is now considered a statement 05:17
which is how list comprehensions work out
quietfanatic Wait, WhateverCodes can have more than one argument, right? Like (* + *)?
TimToady ({3 + $_} for 1..10)
the block is a statement
pmichaud quietfanatic: that's still just one argument there
quietfanatic Oh, I see.
TimToady that is currently considered { $_ * $_ }
quietfanatic same * both places.
TimToady not { $^a * $^b }
HyperWhateverCode is Code:(*@) 05:18
since it can represent an arbitrary number of dimensions, 0 or more 05:19
quietfanatic so like @multidim.map({**.grep({...})})
or would that still be *.grep?
05:19 synth^2 joined
TimToady dunno, brane hertz 05:19
pmichaud I keep asking tough questions again, I think. :) 05:20
quietfanatic Well, Whatever... :)
05:21 synth left 05:23 finanalyst joined 05:30 rfordinal joined
pmichaud ls 05:35
oops
ww
JimmyZ rakudo: ('a','bb','cc').>>.chars; 05:38
p6eval rakudo 0d4fe0: ( no output )
quietfanatic rakudo: ('a', 'bb', 'cc')>>.chars 05:43
p6eval rakudo 0d4fe0: ( no output )
quietfanatic rakudo: say ('a', 'bb', 'cc')>>.chars
p6eval rakudo 0d4fe0: OUTPUT«122␤»
quietfanatic rakudo: say ('a', 'bb', 'cc').>>.chars
p6eval rakudo 0d4fe0: OUTPUT«122␤»
05:43 zamolxes left
quietfanatic oh 05:43
05:50 quietfanatic left 05:51 frew__ left
JimmyZ rakudo: say (1..20 X~ 2..20).pick; 05:52
p6eval rakudo 0d4fe0: OUTPUT«1116␤»
rakudo 0d4fe0: OUTPUT«110␤»
JimmyZ rakudo: say (1..20 X~ 2..20).pick(6); 05:56
p6eval rakudo 0d4fe0: ( no output )
mrsaturn rakudo: (1..42).pick.say; 06:01
p6eval rakudo 0d4fe0: OUTPUT«5␤»
sjohnson pats TimToady on the head 06:02
pmichaud off to sleep
be back tomorrow
mrsaturn g'night
sjohnson bye pmi 06:03
JimmyZ rakudo: (0..9).pick(9, :repl).say
p6eval rakudo 0d4fe0: OUTPUT«430427615␤»
JimmyZ rakudo: (0..9).pick(9, :repl).say
p6eval rakudo 0d4fe0: OUTPUT«295091965␤»
JimmyZ rakudo: (0..9).pick(32, :repl).say 06:04
p6eval rakudo 0d4fe0: OUTPUT«76335634188642403928309212558741␤»
mrsaturn rakudo:147.sqrt.say;
rakudo:1004.sqrt.say; 06:08
06:08 flip913 joined 06:10 mrsaturn left, mrsaturn joined
flip913 Will there be lazy hashes in Perl6 as well? S07 only talks about lazy lists. 06:10
So I'd have to build a lazy hash by a lazy list of pairs and a hash myself?
06:11 ssandv left
JimmyZ rakudo: (*..*).pick(3, :repl).say 06:12
p6eval rakudo 0d4fe0: OUTPUT«!whatever_closure!whatever_closure!whatever_closure␤»
mrsaturn rakudo: 139.sqrt.say; 06:13
flip913 jimmyz: was that the answer to my question? If so, then sorry, I don't understand
p6eval rakudo 0d4fe0: OUTPUT«11.7898261225516␤»
06:15 mrsaturn left, rfordinal left
moritz_ good morning 06:15
flip913: there are no lazy hashes, no 06:16
06:16 mrsaturn_ joined
moritz_ and hashes aren't just lists of pairs either 06:16
JimmyZ lazy lists
06:19 sri_kraih_ joined
flip913 moritz: I know that hashes are not just lists of pairs ... but that way I'd build a lazy hash. 06:20
JimmyZ flip913: I am just testing something.
flip913 remember the data already read (or computed), or read more
maybe a memoized function would be better?
06:21 meppl left
moritz_ doesn't quite understand why a normal hash won't do, and what prolbem flip913 is trying to solve 06:21
flip913 well, think about a dictionary that's on disk 06:22
where some key and value are stored
now say that i don't want to read the whole data in
but want to do accesses hash-like, ie. by a non-numeric key
so I'd think of that like a lazy hash - read until the wanted key is found (and store everything), and as soon as the key is found 06:23
stop reading until another, still unknown, key is queried
like a lazy list, when asked for the 10th element, evaluates everything before 06:24
moritz_ if you want to write that with a hash interface, you can just write your own Hash type
(in Perl 5 you'd use tie) 06:25
06:25 jauaor joined
moritz_ basically it sounds as if the interface can be normal, just the internals should be lazy 06:25
jauaor :)
06:26 mrsaturn_ left
flip913 I know that I can write that myself ... I just wanted to ask whether perl6 will help me there, ie. so that I only provide a single function returning (key, value), and the rest is done ... 06:30
But maybe that's the job of some module 06:31
06:31 eMaX joined
moritz_ presumably, yes 06:35
also notice that this would be a read-only hash then 06:36
if you supply only one function
06:36 sri_kraih left, sri_kraih_ is now known as sri_kraih 06:40 mrsaturn_ joined 06:42 thiagumohan joined, eMaX left, mrsaturn__ joined, mrsaturn__ left 06:43 mrsaturn_ left
flip913 moritz: yes, of course. 06:44
06:44 mrsaturn_ joined, mrsaturn_ is now known as mrsaturn, thiagumohan left 06:45 kent\n left, mrsaturn left, mrsaturn joined
mrsaturn yay i'm back 06:45
06:47 ihrd left, rfordinal joined 06:53 mrsaturn left 06:58 eMaX joined 07:16 RonOreck left 07:17 nbrown left 07:24 RonOreck joined, flip913 left 07:27 iblechbot joined 07:34 ejs joined 07:36 justatheory left
Matt-W Morning 07:38
moritz_ oh hai 07:39
07:50 ejs1 joined
Matt-W hey moritz_ 07:57
08:00 ejs left
sjohnson hi! 08:06
moritz_ I'm currently thinking about an IRC bot that lets us add committers to a github project 08:10
and I plan to use the Perl 5 Bot::BasicBot for that
sjohnson be sure to name it something cute
like... cuteb0t or something
Matt-W Donald
moritz_ does anybody know how I can get the information in that bot if the user is registered with freenode, and under which account? 08:11
BinGOs moritz_: I've already implemented asynchronous access to the Github API
sjohnson moritz_: whois command to see if they have identified with the nickserv
moritz_ BinGOs: I prototyped the adding with Net::GitHub, which seems to work fiine for my purposes
sjohnson or /msg nickserv info <nickname> 08:12
BinGOs as you will.
moritz_ sjohnson: so how do I whois with Bot::BasicBot?
hm, /msg'ing nickserv might be another option
cono_ /msg nickserv would be better I guess
08:12 cono_ is now known as cono
moritz_ BinGOs: is it on CPAN? 08:12
BinGOs search.cpan.org/~bingos/POE-Compone...thub-0.06/ 08:13
B::BB is great, but it starts to get tedious very very quickly. 08:14
moritz_ BinGOs: I know. So far I only did very simple stuff, and it already got a bit tedious...
sjohnson haven't checked basicbot too much, but it shouldn't be hard to just output a raw irc command to the socket
moritz_ BinGOs: but I haven't had the time and motivation yet to really dig into POE 08:15
BinGOs To get at any of the stuff you want in B::BB you have to get at the POE::Component::IRC session/object it uses under the hood
moritz_ Bot::BasicBot implements AUTOLOAD for sending arbitrary states to the underlying POE::Component::IRC compoment. 08:17
ah
BinGOs literal might know if the Freenode registration stuff is automagically gathered by POE::Component::IRC::State 08:18
sjohnson moritz_: did you try the /msg thingy
on your irc client 08:19
to see what kind of good stuff it returns for you to parse?
moritz_ sjohnson: yes; but the problem with that is that it doesn't answer by normal message
BinGOs Like a good bot it'll reply with a NOTICE 08:20
sjohnson right
moritz_ ... which B::BB doesn't capture. meh.
sjohnson on Rizon IRC network, it will respond with /msg
hmmmmmm
freenode is different i guess 08:21
BinGOs Which is against good practice
moritz_ it's fine by me if it works only on freenode by now
BinGOs The idea is that you send PRIVMSG to bot, bot replies with NOTICE
so bots don't go into cyclic loops with each other 08:22
( according to the RFC ).
Its an understanding rather than a rule.
the Quakenet service bots do it same ( unless you explicitly request them to use PRIVMSG to respond ). 08:23
moritz_ BinGOs: do you know an instructive example of a POE::Component::IRC based bot that doesn't use B::BB?
BinGOs </gabbling>
There is search.cpan.org/~bingos/POE-Compone...m#SYNOPSIS 08:24
literal also started writing a cookbook: search.cpan.org/~bingos/POE-Compone...okbook.pod 08:25
08:25 hercynium left
moritz_ thanks 08:25
sjohnson BinGOs: you seem to know quite a bit about the RFC spec 08:26
sjohnson is impressed
BinGOs I've been maintaining POE::Component::IRC for god knows how many years 08:27
and I wrote an IRC server as well.
search.cpan.org/~bingos/POE-Compone...-IRC-1.38/ 08:28
sjohnson neat 08:30
08:31 masak joined
masak good morning, #perl6. 08:33
sjohnson masak!!! 08:35
masak sjohnson!!!
sjohnson hehe
i wonder if i should be hitting the sack
sometimes, i just don't want to sleep 08:36
08:36 Chillance joined
masak sjohnson: having gotten up relatively early today, let's just say I'm not experiencing that problem right now. :/ 08:41
masak apologises for the dangling modifier 08:42
Matt-W would like to go to sleep 08:43
Unfortunately I'm only 1h45m into the working day
masak aye, same here.
Matt-W should probably stop listening to such soothing, calming music
masak on the bright side, maybe it'll be easier than usual to fall asleep tonight.
Matt-W puts Red Priest on instead 08:44
masak I giving a presentation at work today, and for some silly reason I had the notion that I would need an interactive Java shell to present my ideas.
so I wrote one in Perl 6.
Matt-W hah
rather than in Java
masak it was deceptively easy. 08:45
it's not advanced, but it looks like magiv.
s/magiv/magic/
actually, it shells out to javac and java for the execution part.
Matt-W I'm contemplating an 'innovation' project at work to attempt to prove that we could operate much more efficiently if we used git or a similar sort of DVCS for source control instead of Subversion
masak but it tries to handle declarations and imports intelligently, so it's already better than the Rakudo REPL. :P
Matt-W :) 08:46
Well then maybe you could work on that afterwards
08:46 Matt-W sets mode: +o masak
Matt-W I'm going on holiday tomorrow! \o/ 08:47
masak \o/
me too, in a way.
only over the weekend.
Matt-W I'm going tomorrow, returning on Tuesday 08:48
So five days
08:48 EDevil joined
masak Matt-W: I know what needs to be done for the Rakudo REPL, but I don't know exactly how. I think someone like Tene could engineer a solution. I'm not so sure I have the sufficient amount of midi-chlorians to pull it off. 08:48
Matt-W: have the appropriate amount of fun. 08:49
Matt-W Five days by the seaside, eating fish and chips, and probably worrying if my cat's okay staying with friends
Undecided on taking my laptop with me
masak hard choice.
Matt-W but I might and see if I can get some more of Form.pm working
I want to get numbers lining up in columns
masak YaY
Matt-W parents won't mind too much
they know I'm hard to separate from a computer
and it's quite pleasant to sit in the caravan in the evening after a BBQ and idly write some code 08:50
masak I'm going north to spend the weekend in the company of Esperanto-speaking friends.
Matt-W nice 08:52
I will just be speaking English, as usual
masak :)
08:56 synth^2 left 08:59 EDevil_ joined 09:00 EDevil_ left, EDevil_ joined, EDevil left, EDevil_ is now known as EDevil
cono masak: Cu vi paroli esperant lingve? :D 09:01
masak cono: Jes, ekde preskaŭ dek jaroj. 09:02
cono masak: Soz, that's only one that i know :D
masak :) kudos nevertheless. 09:03
cono masak: did you use pasporto servo ? 09:04
masak cono: I try sometimes. 09:05
but I've been hosting more than being a guest lately.
ok, meeting. see y'all later. &
09:05 masak left
cono nice 09:05
09:06 omega left, omega joined
jnthn morning, #perl6 09:10
szbalint morning 09:11
09:11 pctony joined
pctony moritz_: ping 09:12
moritz_: just looking at using ilbot, your site or the subvcersion checkout doesnt seem to contain the mod_rewrite rules 09:13
moritz_: any tips?
moritz_ pctony: just a second... 09:16
pctony thanks
09:20 Saran joined, Whiteknight joined
Saran perl6.org came with a new look 09:20
09:21 lollan joined
lollan hello :) 09:21
jnthn hello :-)
Saran @lollan @jnthn Hello guys :-) 09:22
lambdabot Error: 501 Syntax error, illegal parametersError: 501 Syntax error, illegal parametersError: 501 Syntax error, illegal parametersError: 501 Syntax error, illegal parameters 09:23
moritz_ pctony: they are in cgi/.htaccess
pctony have you just added them? as my checkout from svn.pugscode.org/pugs/misc/irclog/ - about 40 mins ago doesnt have a .htaccess 09:24
rhorn1 cgi]# ls 09:25
abbr.dat at.png camelia.png cgi.conf channel-index.pl channels database.conf index.pl jquery.autocomplete.js jquery.min.js links.dat moose1.ico moosecamel.png nickfilter.js out.pl search.pl spam.pl style.css template text.pl
moritz_ pctony: ls -a # :-)
pctony erhorn1 cgi]# ls -a
. .. abbr.dat at.png camelia.png cgi.conf channel-index.pl channels database.conf .htaccess index.pl jquery.autocomplete.js jquery.min.js links.dat moose1.ico moosecamel.png nickfilter.js out.pl search.pl spam.pl style.css .svn template text.pl
sorry, pasted wrong line
moritz_ pctony: files that begin with a dot are hidden by default
pctony yeah, i know that
moritz_ there you go, .htaccess in there
pctony hrmm, one sec
moritz_ svn.pugscode.org/pugs/misc/irclog/cgi/.htaccess 09:26
pctony brain, gear, not in
sorry fellas
moritz_ :-)
pctony long day
no bed in 2 days
moritz_ no problem
pctony: anyway, if you have more questions about ilbot we should go to private messages
pctony p.s. speaking with my freenode staff hat on, you really all shouldnt be sitting with a +o flag on
moritz_ uhm, why not? 09:27
pctony it's not the freenode way
lollan today is the day. I drop perl5, I don't touch it anymore
pctony it creates an "us and them" divide
you become +o when you *need* it
moritz_ pctony: got a point there... so the channel owner needs to us to chanserv somehow? 09:28
moritz_ is still not very familiar with the freenode infrastructure
pctony: you can also point me to a FAQ or so :-)
BinGOs /msg Chanserv access list #perl6 09:29
one of those guys should be able to add the appropriate access levels 09:30
moritz_ thanks
diakopter, Tene, Juerd, obra_: could one of you please do that? (add the current ops to the access list, that is) 09:31
pctony: if you have a public instance of the ilbot thing running, please tell me :-) 09:32
lollan as for now, what would be the most robust perl6 implementation ? 09:34
moritz_ lollan: I'd say it's rakudo
pugs might still have a few more features, but it's outdated and not updated 09:35
so it implements the specs from 2.5 years ago, or so
pctony moritz_: I will have soon enough, but it wont be for public consumption
09:36 omega_ joined
moritz_ pctony: ok 09:37
09:41 omega left 09:45 d3w joined, dew left
lollan thanks moritz_ 09:50
09:53 PacoLinux left 09:55 smuj joined
sjohnson smuj 09:56
smuj hello 09:57
sjohnson smuj == smu johnson ?
:)
smuj nah, 'nother smuj :) 09:58
sjohnson cool. bedtime!
smuj thought he was unique! :) 09:59
sjohnson: night!
09:59 pctony left 10:04 finanalyst left 10:05 finanalyst joined 10:07 Saran left 10:08 rba left
smuj rakudo: say 1..10; 10:08
p6eval rakudo 0d4fe0: OUTPUT«12345678910␤»
smuj rakudo 1..10.say
rakudo 1..10.say; 10:09
hmm
rakudo say "hello";
rakudo: say "hello"; 10:10
p6eval rakudo 0d4fe0: OUTPUT«hello␤»
smuj doh!
rakudo: 1..10.say;
p6eval rakudo 0d4fe0: OUTPUT«10␤»
smuj buglet | me? 10:11
10:17 PacoLinux joined
payload rakudo: (1..10).say 10:17
p6eval rakudo 0d4fe0: OUTPUT«12345678910␤»
payload rakudo: 1..10 .say 10:18
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ".say"␤in Main (src/gen_setting.pm:3454)␤»
Matt-W rakudo: 1..10\ .say
p6eval rakudo 0d4fe0: OUTPUT«10␤»
Matt-W have to unspace that sort of thing
payload okay 10:19
Matt-W it's the same rule that makes if () an if statement, and if() a sub call
Juerd moritz_: I don't see how I could add anyone to the access list here; I'm not even an op myself. 10:20
10:21 Whiteknight left
smuj rakudo: say 1..10; 1..10.say; 10:21
p6eval rakudo 0d4fe0: OUTPUT«12345678910␤10␤»
10:23 xinming left 10:24 xinming joined
payload rakudo: say.(1..10); (1..10).say # ^^ 10:24
p6eval rakudo 0d4fe0: OUTPUT«12345678910␤12345678910␤»
Matt-W I'm not sure what it's doing when you call it without the parens 10:25
rakudo: 1..10.perl.say; (1..10).perl.say
p6eval rakudo 0d4fe0: OUTPUT«10␤1..10␤»
Matt-W I think it's calling the method on the 10, then using the result of that in the .. 10:26
payload sure
Matt-W that's mildly surprising
but there are other situations where it wouldn't be
smuj yep :)
Matt-W like... 1..@array.elems 10:27
10:31 kyle_l5l left 10:32 rba joined
smuj perl6: 1..10.say; 10:35
p6eval elf 28077, pugs, rakudo 0d4fe0: OUTPUT«10␤»
10:36 JimmyZ left, nbrown joined 10:37 donaldh joined
smuj rakudo: my $fred=1..10.say; say $fred; say $fred.perl; # /me being silly :) 10:41
p6eval rakudo 0d4fe0: OUTPUT«10␤1␤1..Bool::True␤»
moritz_ Juerd: you seem to have privileges registered with chanserver 10:45
*chanserv*
Juerd Interesting 10:46
10:46 ChanServ sets mode: +o Juerd
Juerd Wow :) 10:46
moritz_: I don't have administrative privileges. 10:50
BinGOs hmmmm 10:51
grab a freenode staff member they appear to be the only ones with +f +F access
Juerd That's weird :) 10:52
BinGOs play along at home /msg ChanServ help flags
/msg chanserv access list #perl6
Matt-W indeed we need our friendly freenode staff member back 10:53
BinGOs freenode.net/faq.shtml#helpfromstaff 10:55
This is the philosophy they were referring to: freenode.net/channel_guidelines.shtml 10:56
10:56 KyleHa joined 11:00 M_o_C joined 11:07 minskman joined 11:10 Su-Shee joined
Su-Shee good day. :) 11:10
jnthn oh hai Su-Shee 11:18
moritz_ BinGOs: thanks, I've /msg'ed our helpful staffer
11:19 payload left 11:20 donaldh left, Su-Shee left, Su-Shee joined, donaldh joined 11:23 rba left, minskman is now known as rba 11:33 ihrd joined, ihrd left 11:55 ejs1 left, payload joined 11:58 ejs1 joined 12:00 takadonet joined
takadonet morning all 12:00
12:04 smuj_ joined 12:10 smuj_ left 12:18 abra joined 12:23 ruoso joined, smuj left
colomon morning! 12:30
rakudo: say 2i.WHAT 12:31
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ".WHAT"␤in Main (src/gen_setting.pm:3454)␤»
colomon rakudo: say 2i;
p6eval rakudo 0d4fe0: OUTPUT«0+2i␤»
colomon rakudo: say (2i).WHAT;
p6eval rakudo 0d4fe0: OUTPUT«Complex()␤»
ruoso the css of perl6.org defines the width of the content in pixels 12:32
or any other absolute unit
this cause the blocks to fall to only two columns
ruoso just notices it is in the svn 12:35
12:42 smuj joined
colomon rakudo: my $a = 2; my $b = $a + 0i; say $b.WHAT; 12:43
p6eval rakudo 0d4fe0: OUTPUT«Complex()␤»
12:45 KyleHa left
colomon rakudo: my $a = 2; my $b = $a + 0i; say sin($b); 12:45
p6eval rakudo 0d4fe0: ( no output )
12:45 abra left
colomon rakudo: my $a = 2; my $b = $a + 0i; say sin($a); say sin($b); 12:46
p6eval rakudo 0d4fe0: OUTPUT«0.909297426825682␤Return value type check failed; expected Num, but got Complex␤in method Any::!to-radians (src/gen_setting.pm:410)␤called from method Num::sin (src/gen_setting.pm:1421)␤called from Main (/tmp/MXP80IdRzq:2)␤»
ruoso the math type hierarchy in rakudo is not yet correct 12:47
colomon yes, I know.
it's actually pretty damn borked at the moment.
At the moment, I'm mostly puttering around pondering implementing sine/cosine for complex numbers. 12:48
And wondering how much of the type chaos should be reported as bugs. 12:50
rakudo: say (3.0).Num.Num.WHAT;
p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Num'␤»
colomon Like that. 12:51
ruoso colomon, I think a first "Math Type Hierarchy Refactoring" bug would make sense 12:56
12:56 Front_slash joined
ruoso and report all the weirdness in there 12:56
and the proposed solution
colomon ruoso: That's not a bad idea. Hmmm... 12:57
ruoso first weirdness I see is
rakudo: say 1 ~~ Complex
p6eval rakudo 0d4fe0: OUTPUT«0␤»
ruoso rakudo: say 1 ~~ Rat 12:58
p6eval rakudo 0d4fe0: OUTPUT«Could not find non-existent sub Rat␤»
ruoso rakudo: say 1 ~~ Num
p6eval rakudo 0d4fe0: OUTPUT«1␤»
ruoso rakudo: say 1 ~~ Int
p6eval rakudo 0d4fe0: OUTPUT«1␤»
ruoso Complex is a superset where 1 is contained
colomon I've been assuming most of the issues were already known. 12:59
ruoso I'm not sure there's a summarized report on that 13:00
colomon Unfortunately, my skills for searching RT are very poor.
Is this stuff supposed to be documented somewhere besides S32 Numeric? 13:01
It only seems to talk about the functions on the various types, not what the types are. 13:02
13:07 jaffa8 joined
colomon Just did a google search on perlcabal.org/syn, and I don't see any sign that Complex is mentioned anywhere besides S32::Numeric and (weirdly) S32::Str. 13:08
rakudo: say sqrt(-1); 13:12
p6eval rakudo 0d4fe0: OUTPUT«NaN␤»
colomon rakudo: say sqrt(-1+0i);
p6eval rakudo 0d4fe0: OUTPUT«0+1i␤»
colomon hey, that worked! 13:13
ruoso colomon, I guess S32 only mention the APIs 13:16
jaffa8 rakudo: my $r="9"; print $r.pos;
p6eval rakudo 0d4fe0: OUTPUT«Method 'pos' not found for invocant of class 'Str'␤»
ruoso I think S02 or S09 would be the place to document the type hierarchy
13:16 SmokeMachine joined
colomon S09 documents the low-level types: complex64 (for instance) being two 64-bit floats. 13:18
But there's nothing about the hierarchy at all (or if there is, it doesn't include Complex).
13:19 arnsholt left
pugs_svn r28078 | ruoso++ | [perl6-projects.org] refactor the css so that it works for people with large fonts 13:20
ruoso colomon, I guess you could start defining how a proper hierarchy should look like
colomon ruoso: I need to get to $work at the moment, but I will keep a background thread in my brain on exactly that. 13:22
ruoso colomon, I think we need to take a look at how math defines it...
and since all built-in types are roles, there's no need for a hierarchy in the traditional class sense 13:23
it's more like "subset" than "subclass"
rakudo: say 1i.i 13:24
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ".i"␤in Main (src/gen_setting.pm:3454)␤»
ruoso rakudo: say (1i).i
p6eval rakudo 0d4fe0: OUTPUT«Method 'i' not found for invocant of class 'Complex'␤»
ruoso rakudo: say Complex.^methods(:local).map:{~$_}
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ":{~$_}"␤in Main (src/gen_setting.pm:3454)␤»
ruoso rakudo: say Complex.^methods(:local).map: {~$_}
p6eval rakudo 0d4fe0: OUTPUT«relogperlimpolarScalar␤»
ruoso rakudo: say join ', ', Complex.^methods(:local).map: {~$_} 13:25
p6eval rakudo 0d4fe0: OUTPUT«im, polar, Scalar, re, log, perl␤»
ruoso rakudo: say (1i).im
p6eval rakudo 0d4fe0: ( no output )
13:27 meppl joined
colomon ruoso: I don't see how it makes sense without a hierarchy? possibly a hierarchy of roles, but the system needs to know that every float can be presented as a complex, but not vice versa. 13:28
ruoso colomon, that's what a "subset" is
subset Rat of Complex where { imaginary part is 0 } 13:29
colomon ah, I see what you're getting at.
but that raises other issues -- I would have thought it would be
subset Float of Complex where { $^z.im == 0 } 13:30
ruoso sorry, there's a superset of Rat and Float which is a subset of Complex as well
subset Real of Complex where { $^z.im == 0 } 13:31
subset Rat of Real where { ??? }
subset Float of Real where { ??? }
colomon It seems like that way lies madness. 13:32
I certainly wouldn't expect p6 to support a Real type which is really the real numbers. 13:33
I mean, I suppose you could use lazy evaluation to generate irrational numbers, but yow!
I guess you could have subset Float of Rat. 13:34
ruoso ok... Float is not a set 13:35
float is a storage mechanism
colomon right
other big fundamental questions: Does Int imply bignum? Or is there a BigNum type? 13:36
ruoso I think the storage is traversal to the type
13:36 rfordinal left
ruoso Complex( Real( Rational( Integer( Natural ) ), Irrational) ) 13:37
and I guess each of this roles only define API, while the behavior is implemented by the storage types 13:38
colomon S09 seems to imply that Num is a floating point number, which I find surprising: "The unsized types int and num are based on the architecture's normal size for int and double..." 13:39
ruoso www.mathsisfun.com/sets/images/number-sets.gif # a proper number sets representation 13:40
colomon Surely "I" there is imaginary, not irrational? irrationals are the part of "R" which is not "Q". 13:41
ruoso Imaginary, yes
www.mathsisfun.com/sets/number-types.html # for the full explanation 13:42
moritz_ is puzzled that I is smaller than R :-)
colomon those sets are not to scale. :0 13:43
:)
jaffa8 Is there pos like function in Perl 6
?hi
moritz_ jaffa8: it's $/.to 13:44
jaffa8 that is not very good
moritz_ the depends on your point of view
jaffa8 now it is not possible to scan it parallel 13:45
in
moritz_ sure it is.
you can store match objects in other variables too 13:46
pmichaud good morning, #perl6
jaffa8 good afternoon
ruoso good morning pmichaud...
we were just discussing something you migth find interesting
jaffa8 moritz_,in short, $/ has to be saved and restored. 13:47
ruoso jaffa8, you can always store the match directly, without using the $/ variable 13:48
moritz_ jaffa8: right. Just like pos() has to be saved and restored when you use the variable in a different match
ruoso my $match = $str ~~ /asdf/
say $match.pos
jaffa8 moritz_, what are you talking about? 13:49
ruoso jaffa8, if you use the same string in two different matches
moritz_ jaffa8: I'm talking about the benefits of the Perl 6 design
jaffa8 in Perl 6?
in Perl 5?
In Perl 5, nothing has to be donw
moritz_ depends on what you do. 13:50
jaffa8 using the same string, and matching different patterns on it. 13:51
Pos does not have to be touched.
moritz_ it does, if you want to use two different patterns with /g that should not influence each other
and hey, pos() isn't even a variable 13:52
you can't say if you want to share it between threads
jaffa8 moritz_, I did not need that. 13:53
moritz_ maybe not, but it's still something to be considered 13:54
we're not writing a programming language for a single user
13:54 iblechbot left
smuj rakudo: say 5..8; 13:55
p6eval rakudo 0d4fe0: ( no output )
smuj rakudo: say "hello"; 13:56
p6eval rakudo 0d4fe0: OUTPUT«hello␤»
smuj rakudo: say 'a'..'z'; 13:57
p6eval rakudo 0d4fe0: OUTPUT«abcdefghijklmnopqrstuvwxyz␤»
ruoso but anyway... the idea of decoupling the number Storage from the number Type might be an interesting idea...
smuj rakudo: say 5..8;
p6eval rakudo 0d4fe0: OUTPUT«5678␤»
smuj rakudo: say "5"..8; 13:58
p6eval rakudo 0d4fe0: OUTPUT«5678␤»
smuj rakudo: say "5"..9;
p6eval rakudo 0d4fe0: OUTPUT«567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889␤»
smuj hmmmm!!
13:59 SmokeMachine left
ruoso because 1i is an imaginary number that might be stored as an integer 14:00
14:01 SmokeMachine joined
moritz_ ruoso: don't we do that already? (the decoupling, that is) 14:01
all number except Complex do the Num role 14:02
and they are stored as int, num or int64 or whatever
ruoso right... it's just that the "types" part is kinda weird in rakudo now.. 14:03
ruoso doesn't quite like the "Num" role
after all, complex numbers are numbers too
moritz_ that's probably because the spec is less-than-awesome in that respect
colomon Actually, as nearly as I can tell the spec is completely silent on those issues. But maybe I'm looking in the wrong spot? 14:08
14:10 ejs2 joined
ruoso colomon, yeah... I was just looking for details on that part as well, and they're just missing 14:10
pmichaud times his built-in operator overloading patch to see how much of a speed hit we take. 14:13
ruoso I think we could define the number "Conceptual Types" and the number "Storage Types"
moritz_ pmichaud: does it pass spectest? 14:15
14:15 jaldhar left
smuj perl6: say "5"..8; 14:17
p6eval elf 28078, pugs, rakudo 0d4fe0: OUTPUT«5678␤»
smuj perl6: say "5"..18; 14:18
colomon ruoso: Looking at the functions Num supports, I do think a lot of them don't make particularly great deal of sense for Complex.
p6eval elf 28078, pugs: OUTPUT«56789101112131415161718␤»
..rakudo 0d4fe0: OUTPUT«␤»
ruoso colomon, I see.. but "Num" is a bad name for that
colomon ruoso: but it might mean Real is a better name.
14:18 ejs2 left 14:19 ejs1 left
ruoso colomon, probably 14:19
smuj pugs: say "5"..9;
p6eval pugs: OUTPUT«56789␤»
14:22 Psyche^ joined, Patterner left 14:23 Psyche^ is now known as Patterner
pmichaud moritz_: (operator overloading & spectest) -- spectest is what I'm using to time the speed hit :) 14:25
colomon ruoso: Actually, I get fuzzy on the usefulness of roles in cases like this.
14:26 kidd_ joined
ruoso colomon, is "fuzzy" good or bad? 14:26
pmichaud so far it seems to be passing the spectests. Since the operator I chose to refactor first is infix:<+>, that's probably a good sign :)
moritz_ pmichaud: that's not directly an answer to my question - they can run even if some of them fail
colomon ruoso: fuzzy bad
moritz_ ok, that is.
colomon ruoso: What is the advantage of having a role Num rather than just taking Any objects that have +, -, * defined (etc)? 14:27
moritz_ colomon: that answer is that you need something more specific to dispatch to
colomon moritz_: how so? 14:28
moritz_ suppose you have a multi (Any, Any)
ruoso the role there works as an Interface
moritz_ and that coerces both arguments to a number
but they are not of the same type
then when you re-dispatch to infix:<+> again 14:29
you get the (Any, Any) multi again
pmichaud it's possible that (Any, Any) can be implemented w/o a redispatch.
This is what Rakudo does now.
(it's probably semantically wrong, though) 14:30
moritz_ unless you want to define n**2 multis for n numeric types
pmichaud: you can't as soon as you honour lift-statements
pmichaud hmmm, spectest finished. 14:32
that was... quicker than I expected.
14:32 rfordinal joined
colomon I'm thinking of, say, a 3D vector class. If we had the Num role that Complex can do, can Vector3D do Num as well? 14:33
Vector3D wouldn't have a well-defined multiply operation which works on other Vector3Ds, but it would have it against "scalar" numbers. 14:34
I guess you could have Group and Ring roles... 14:36
ruoso the changes to perl6-project.org already propagated... could anyone check if it works in other browsers/OSs 14:38
?
pmichaud ruoso: box sizes changed...? 14:39
14:39 M_o_C left, M_o_C joined
ruoso pmichaud, they are no longer absolute-sized 14:39
pmichaud the "Community" box is no longer large enough to hold the text in my browser (FF 3, Linux)
the text bleeds off the bottom. 14:40
also the boxes are much thinner than they were previously.
I liked the fatter boxes better, fwiw
ruoso my intention was not to make them thinner
just to make them scale properly for people with bigger fonts 14:41
pmichaud, would you mind providing a screenshot?
moritz_ ruoso: but the text should *not* be larger than the box.
ruoso it shouldn't indeed... 14:42
I think I know what the problem is...
colomon moritz_: Is the idea you're talking about that the Num role basically means you can convert whatever type you have to a double?
ruoso the headers in the boxes are bigger than they were
moritz_ colomon: no
ruoso supposedly to a Number, but it's ruling out Complex currently 14:43
14:43 zamolxes joined 14:44 iblechbot joined
moritz_ ruoso: moritz.faui2k3.org/tmp/perl6.org.png 14:44
it shows at least the overflow of the Community box 14:45
pmichaud moritz's screenshot looks like mine
pugs_svn r28079 | ruoso++ | [perl6-projects.org] the last change made it look wrong for people with small fonts 14:47
ruoso svn.pugscode.org/pugs/docs/feather/...index.html
14:47 Front_slash left
ruoso moritz_, pmichaud, ^^ 14:48
pmichaud hasn't updated yet on my browser
ruoso pmichaud, look at the svn link
pmichaud oh yes, much better 14:49
ruose++
did the font change (say in the intro text at the top?)
it looks different
ruoso++ # fixing earlier typo
ruoso pmichaud, my changes supposedly didn't change the fonts... 14:50
14:50 M_o_C left
pmichaud okay, I might just be misremembering 14:51
ruoso but some sizes are different indeed, since they were not fully scalable 14:52
so now they depend more on your local settings
pmichaud - font: normal bold 12pt sans-serif;
that probably explains the difference 14:53
ruoso pmichaud, that is inherited from other elements
14:53 M_o_C joined
ruoso pmichaud, hmm... wait... the font-weight in the header is different indeed... 14:55
pmichaud right
it's not bold in my browser anymore
screenshots coming
ruoso fixing
pugs_svn r28080 | ruoso++ | [perl6-projects.org] make the intro text bold again
ruoso pmichaud, check the svn link again
14:56 jaffa8 left
pmichaud okay, now the text is as before 14:56
there's less whitespace between the boxes. Don't know if that's important, but whitespace is often a good thing
ruoso pmichaud, that was to giv more width to the boxes... 14:57
but I should probably make the entire site larger (in em), then set the whitespace back 14:58
14:58 zloyrusskiy joined, zloyrusskiy left
moritz_ then we risk having a line break after the first two boxes 14:59
pmichaud the link text at the bottom changed size also
anyway, those are the changes I notice
moritz_ maybe we should make it a table layout
I don't like that for most sites, because it enables horizontal scrolling in some cases
but since our boxes are so small, maybe horizontal scrollling is not too bad 15:00
15:00 zloyrusskiy joined
jnthn pmichaud: oh hai :-) 15:01
pmichaud the new layout also moves the "download" box quite a bit lower in the overall display 15:02
ruoso moritz_, table for layout is not very good idea...
pmichaud I think the text at the bottom should be a bit smaller, overall. It's too big now (compared to what it was before) 15:03
moritz_ ruoso: why? 15:04
pugs_svn r28081 | ruoso++ | [perl6-projects.org] make the overall width bigger, set a bit more margin between the boxes and reduce the size of the font in the footer
ruoso moritz_, because it makes the content layout-dependent
pmichaud, moritz_, see the svn link again
15:05 SmokeMachine left
pmichaud ruoso: much better on footer text 15:05
moritz_ ruoso: what do you mean by "makes the content layout-dependent"?
ruoso moritz_, when you see the content without the stylesheet
15:05 KyleHa joined
ruoso for accessibility purposes 15:05
pmichaud I'm done with my bikeshedding for now :)
jnthn pmichaud: how did the operator changes go? 15:06
15:06 payload left
moritz_ ruoso: then a table is not much worse than what we have now. 15:07
pmichaud jnthn: they seem to be going well so far. I'm just struggling with Complex and Parrot's "vtable MMD"
jnthn pmichaud: oh, that "fun" :-|
ruoso moritz_, try seeing the current page without a stylesheet... it will degrade gracefully in a understandable way
when someone sees it in a phone, it'll be usefull 15:08
pmichaud I wonder what it looks like in my phone (and if I can still do web accesses from my phone)
pmichaud tries
15:10 abra joined
pmichaud looks like not. 15:10
(I disabled web services for my phone last week)
ruoso pmichaud, you should have tested the site before that then ;)
15:10 j`ey joined
pmichaud you're correct, I should've done that. 15:11
oh well, I have a good test site for when I go after a new smartphone in a few months :)
ruoso heh...
ruoso lunch &
j`ey ctrl-z 15:12
lisppaste3 colomon pasted "Use of Num?" at paste.lisp.org/display/86128
15:13 ejs joined
colomon This is what I was trying to get at earlier... what is the point of using Num in that sub? 15:13
15:13 iblechbot left
pmichaud in this case it would be to constrain the sub to only working with Num arguments 15:14
15:14 j`ey left 15:18 Su-Shee left
colomon Right -- but unless I want to do something special if the argument is a Num, there's no point in that, is there? 15:19
15:20 donaldh left
colomon (Hypothetical minor performance improvements set aside for the moment.) 15:20
zamolxes about perl6.org/, don't you think it would be better to see the download link without a scroll? people expect a call-to-action, an obvious bannana. Imho a good position would be inside the top blue rectangle
15:20 donaldh joined
moritz_ zamolxes: thanks for the feedback. We're having another design in the making already where most people will see a download link on the first sreen page 15:21
15:22 SmokeMachine joined, ejs left 15:23 payload joined 15:24 jaldhar joined
colomon pmichaud: I should say that I'm trying to think about what the math types should look like. 15:24
pmichaud (one phone)
colomon and whether it makes sense for Num to include Complex or not.
15:26 rdice joined 15:28 payload1 joined, payload left
pmichaud I think this discussion has already been had and the decision was what we have now 15:30
colomon pmichaud: (assuming you're talking to me) What do we have now? There's virtually nothing in the specs on numerical types, and in practice most of the type-related stuff doesn't seem to work in Rakudo at the moment. 15:31
15:31 desertm4x joined
pmichaud colomon: I mean the decision that Num did not include Complex 15:31
jnthn: looks like Parrot's MMD doesn't play well with ObjectRef 15:33
15:33 finanalyst left
pmichaud (the vtable MMD, that is) 15:33
15:37 zloyrusskiy left
pmichaud just means we need a few extra deobjectref opcodes in useful places, I guess. 15:40
15:40 payload1 left, payload joined
colomon pmichaud: What is a Num, anyway? The spec seems to imply it is a double? 15:43
moritz_ a Num is an abstract concept for a real number 15:44
which can be an int, a float, a double, a rational, or high precision thing or whatnot
pmichaud jnthn: anyway, for the moment I've ended up putting everything into the setting -- I'm now seeing how big a performance hit we take from doing that 15:46
15:51 ejs joined
colomon moritz_: How does that work? 15:51
moritz_ colomon: all numeric types implement the Num role 15:52
that's it.
colomon Isn't Num a class? 15:53
15:53 justatheory joined
moritz_ not primarily 15:54
15:56 synth joined
colomon okay, going the other way around: how do you implement the Num role? 15:56
moritz_ that's a much more interesting question
maybe by defining common operations 15:57
class Int does Num { method sin { ... } }
15:57 ejs left
moritz_ but maybe one also needs to either overload primitive operations like +, or conversion to more low-level types 15:58
15:59 zloyrusskiy joined
colomon That reminds me: is there a distinction between +$a and $a.Num ? 15:59
pmichaud yes.
+$a could return a Complex 16:00
(or something that isn't a Num)
16:01 kid51 joined
moritz_ so could .Num, in theory (but it would break all code depending on it) 16:01
I mean it's just ordinary multi dispatch 16:02
you can write a class whos .Num methods returns a Str
but everybody who uses it will be greatly confused
pmichaud right; my point is that even without doing something like that there's a difference between +$a and $a.Num
my $a = "3+4i"; say +$a; say $a.Num; 16:03
the first say will probably do what you expect. The second will probably return a failure
16:03 kid51 left 16:04 nihiliad joined
colomon Is there some sort of default relationship between the two? 16:04
16:05 andrewz joined
pmichaud (operator overloading) all spectests now pass, looks like at most about a 5% performance hit 16:05
jnthn pmichaud: Go for it then. :-)
TimToady they boty probably call Num($x) by default
pmichaud let's try infix:<-> and see what we get
TimToady *both
andrewz hi i have a haskell program but want to use a perl script softlayer.dl.sourceforge.net/projec...0.1/sss.pl . Can i use pugs to do this, and how well would it work? 16:06
TimToady but the definition of + can be overridden by inner lexical scopes, while the definition of .Num can be overridden by derived classes
16:06 zloyrusskiy left
colomon TimToady: you realize "they both probably call Num($x) by default" makes me want to cry.... 16:06
TimToady I can think of several reasons for that :) 16:07
colomon Hint: not with joy.
TimToady more specifically, .() dispatch on the Num type, a low-level primitive 16:08
colomon okay, that's an interesting twist.
16:08 zloyrusskiy joined
TimToady part of our problem is that .() currently means two different things 16:09
colomon Do you mean the num type or the Num type?
TimToady num is just double
native
pmichaud actually, the Num type object.
TimToady Num is the abstract role
representing reals
but there's the .() that triggers multi dispatch, which is how the language is defined, basically 16:10
then there's methods, which are lower level, and controlled only by the class hierarchy
16:10 PZt left
TimToady and then down at the bottom, there's how each object responds to invocation 16:10
when I say Num() I mean how Num responds to invocation, not a Num multi 16:11
16:11 M_o_C left
TimToady it's possible we should find a way to make that clearer 16:11
16:13 cdarroch joined
colomon You've got me scratching my head here, I must admit. 16:13
TimToady that's better than crying, barely :)
colomon stepping back a moment to what pmichaud was saying: 16:14
Is the ideal difference that +$a means "make $a into the sort of object one might do math upon", whereas $a.Num means "make $a into a real number"? 16:15
16:15 w0rmie joined
colomon (That's assuming some bozo hasn't overloaded either of those in an unnatural way.) 16:16
TimToady yes, basically...Num is a particular named type, so is a bit more specific than +
16:16 Su-Shee joined
Su-Shee back. 16:16
TimToady wb
16:17 M_o_C joined
colomon TimToady++: That I can understand. 16:17
pmichaud Su-Shee++ # deserves another karma point for the design leading up to perl6.org
TimToady so + is free to return any type it reasonably feels like, Int, Rat, Num, Complex
whereas if you actually name a type, there's more pressure to actually return that type :)
16:18 hehehehe joined
colomon Is there a class / role hierarchy for this out there somewhere? 16:18
16:18 hehehehe left
colomon I thought Ints and Rats were types of Nums. 16:18
TimToady it's tricky working out such a network of types in practice, so we feel it's better to let the implementation document itself for now, and later describe what we end up with in external docs 16:19
Su-Shee ha! niiice. perl6.org and perl6-projects.org now.
TimToady they are all interrelated in strange ways 16:20
people always come to grief in trying to construct a numeric class hierarchy
so we're trying it with roles instead
colomon TimToady: At the moment, it seems like the implementation is all over the place....
pmichaud Rakudo's implementation is a bit all over the place, yes.
there are a large number of reasons for that
one of which is that the spec changes as we learn more about the implementation 16:21
it's cooperative evolution, and Rakudo isn't always able to adapt to new specification details as quickly as we identify them
TimToady but the relationships of one numeric type to another don't tend to analyze nicely in liskovian terms
16:22 abra left
pmichaud so some pieces of the Rakudo implementation are still based on ideas from long ago (e.g., before we really had the current type coercion mechanism) 16:22
colomon TimToady: sure, that's very understandable.
TimToady it's more of a tagmemic setup, where you have these various different kinds of things, and "I can use an X to mean Y"
16:23 quietfanatic joined
TimToady plus pragmatic constraints come into play 16:23
colomon I wandered off to this tangent wondering about the trig functions.
TimToady there's a sense in which everything is a Complex
but you don't want to store everything as a Complex
so we end up with subset types that obey certain constraints in order to achieve certain storage/performance goals 16:24
quietfanatic I always figured I'd be able to say sub x (Num $a) {...} and then say "34".x, because the string can convert into a Num.
colomon well, there's also the sense where a Complex is two of a real type, too.
quietfanatic *method x
TimToady we're working on a notation to mean that 16:25
16:25 zloyrusskiy left
quietfanatic ...oh right 16:25
TimToady method x (Num() $a) {...}
16:25 zloyrusskiy joined
TimToady would mean (Any $a) for binding, but coerce $a to Num 16:26
pmichaud TimToady: is that instead of "as Num"?
or is "as Num" going away?
quietfanatic I see.
TimToady where Num() in a declaration is short for Num(Any)
16:26 ihrd joined
quietfanatic But what if the particular Any can't be converted to a Num? Does it search other multis or fail here? 16:26
TimToady I suspect this is more general
16:27 zamolxes left
TimToady for a multi, if it got here, it's already searched the more specific candidates 16:27
so it should fail
the sig probably inserts itself into the candidate list both as Any and as Num 16:28
quietfanatic I mean is multi x (Any $a, Any $b) not more general than multi x (Num() $a, Num()$b) ?
pmichaud that last line seems weird
jnthn I think those will conflict.
(ambiguous)
If that is just being used as "coerece to Num" syntax anyway. 16:29
pmichaud what about sub foo( Num(XYZ) $a )
would that accept Num | XYZ as an argument?
or just XYZ ?
TimToady Num(), Num() implies an Any, Any already, along with a Num(), Num()
jnthn Just XYZ.
TimToady and probably the crosses too
*along with a Num,Num
jnthn TimToady: The type we coerce to isn't a constraint.
quietfanatic But then if I wanted that behavior, I'd have to write a seperate multi for evey possible Num conversion.
Is there a way I can restrain a Multi to those Anys than can be converted to Nums? 16:30
jnthn yes
pmichaud jnthn: that's why I'm thinking that Num(Any) is different from Any $x as Num
jnthn pmichaud: My expectation was the latter was going away.
quietfanatic I suppose (Any where {.can('Num')}) or something
jnthn pmichaud: To be replaced by Num(Any)
quietfanatic: That's what I was just about to type. :-)
pmichaud jnthn: I think that conflicts with (more)
16:28 <TimToady> the sig probably inserts itself into the candidate list both as Any and as Num 16:31
TimToady well, where Num() would try the coercion
but then it would throw it away
jnthn pmichaud: "probably" = "not before I try and argue that we don't" ;-)
pmichaud jnthn: "probably" sounds stronger than "I said 'maybe'" :-)
TimToady we're talking about a way not to have to write anything in the Any package 16:32
but autogenerating the Any coercion variants automatically
pmichaud right (more)
so what I'm reading is
sub foo( Num(Any) $a )
means 16:33
ruoso TimToady, re "you don't want to store everything as a Complex" -- that was why I was thinking that we should spec two different aspects... the "Conceptual Types", which relate to the math concepts, and the "Storage Types" which relate to how they're stored
TimToady ruoso: we may end up with that
pmichaud "I really want a Num here. However, if I get an Any, then I'll accept that and have it automatically convert to a Num"
that's different from
ruoso what I'm not confortable is that Num excludes Complex
TimToady but the mathematicians have already specced the conceptual types :)
pmichaud or more generally
sub foo( Num(XYZ) $a )
"I really want a Num here. But I'll accept an XYZ object also, and convert it to a Num" 16:34
ruoso TimToady, that's the point, we could just use that
pmichaud that's different from
sub bar( XYZ $a as Num )
which means
TimToady ruoso: I can't timeshare this discussion; brane too small
pmichaud "I'll only accept an XYZ argument here, and then I'll convert it to a Num"
jnthn pmichaud: Hmm, true. 16:35
TimToady please ask again later
jnthn I wonder if both are useful.
[particle] "we've secretly replaced your language designer with a magic 8-ball. let's see what happens..."
jnthn The problem I really worry about is that TimToady talked about it somewhat as generated a set of candidates. 16:36
I think we'll struggle on the type narrowness analysis if we do anything other than that.
TimToady the latter form is really the primitive that would be autogenerated by Num(XY)
*XYZ
jnthn *but* that means such syntax in an only won't fly.
pmichaud but then the latter form would only accept XYZ arguments
jnthn Or will have to mean a rather different thing to the dispatcher.
pmichaud it wouldn't accept Num
jnthn pmichaud: IMO that's a fine semantic.
It's a lot clearer what it does. 16:37
pmichaud jnthn: which one? I'm seeing two semantics.
jnthn Having it accept Num also is a bit too magic for me.
I mean, sure, it will anyway, as Num is a subclass of Any.
In that specific case.
pmichaud yes, for the Any case it works out okay
I'm curious about the general case 16:38
jnthn Right.
The general case I'd ratehr it was a constraint + a coercion.
pmichaud 16:28 <TimToady> the sig probably inserts itself into the candidate list both as Any and as Num
confused me.
jnthn And we treat knowing not to coerce as an optimization.
pmichaud: I'd really rather we didn't go down that road.
16:38 zloyrusskiy left
jnthn One candidate becoming many candidates bothers me a bit. 16:38
colomon ruoso: Apparently Num is officially real numbers. Seems fair enough to me. 16:39
jnthn The way this will work out if the types are from different hierarches also bothers me though, and there's no way to not probably tie ourselves in knots with the narrowness analysis without having many candidates.
pmichaud if Num(XYZ) $x is the same as XYZ $x as Num, I'm not sure the syntactic sugar is a big win
TimToady indeed 16:40
ruoso colomon, isn't a Complex *Number* a *Number*?... having "Num" excluding Complex seems like a huge semantical goof
TimToady I want to be able to say my Int() $x = prompt ": "
jnthn pmichaud: Quite possibly not. 16:41
pmichaud hmmm
what would one make of
jnthn I need to go now - will backlog.
pmichaud my Int(XYZ) $x = ... ?
I will have to leave in 4 mins also
ruoso colomon, my point is that the default *storage type* for a Number is "Float" 16:42
TimToady with the more powerful semantics would accept either Int or XYZ,and return Int
quietfanatic That would mean $x stores an Int, but can be assigned an XYZ as well, which is converted.
pmichaud except if XYZ is a type constraint, I'd take it to mean "can only be assigned an XYZ"
quietfanatic But isn't that how my Int $x normally works? Converting on input?
TimToady no
pmichaud no, my Int $x means $x can only be assigned or bound to something that "does Int" 16:43
rakudo: my Int $x = "3";
p6eval rakudo 0d4fe0: OUTPUT«Assignment type check failed; expected Int, but got Str␤in Main (/tmp/E3YgCCmAyX:2)␤»
quietfanatic I see
ruoso quietfanatic, no automatic cast in that case
if you use strong typing, you want strong typing
TimToady well, but sometimes you only want it *some* :) 16:45
jnthn OK, really gotta go... 16:46
bbl
16:50 rindolf joined
rindolf community.livejournal.com/shlomif_t...31840.html - new post about Haskell and Perl. I ask there about p6. 16:50
ruoso TimToady, then you just use *some* ;)
moritz_ rakudo: say "Hv o edyu IPtdy".comb Z "aeyura orSC oa?".com 16:53
p6eval rakudo 0d4fe0: OUTPUT«Method 'com' not found for invocant of class 'Str'␤»
moritz_ rakudo: say "Hv o edyu IPtdy".comb Z "aeyura orSC oa?".comb
p6eval rakudo 0d4fe0: OUTPUT«Have you read your SICP today?␤»
16:53 frederico joined
moritz_ rindolf: there you go 16:53
rindolf moritz_: thanks. 16:54
Z is Zip Iguess.
moritz_ I don't have any motivation to golve that further ;-)
aye
rindolf You can use map $_.comb
moritz_ I leave that to you ;-)
rindolf Can one do Z([1,2,3],[4,5,6])
moritz_ no 16:55
rindolf rakudo: say Z([1,2,3],[4,5,6])
p6eval rakudo 0d4fe0: OUTPUT«Could not find non-existent sub Z␤»
moritz_ there's a zip() function, but I doubt it's implemented yet
and there's [Z], but that needs captures/parcels first
ruoso TimToady, did the other task^Wdiscussion got on hold? can you context switch^W^W think about the nuber type system? 16:56
16:56 Trey_ is now known as Trey
quietfanatic rakudo: &zip := &infix:<Z>; say zip(<a b>, <c d>, <e f>) 16:56
p6eval rakudo 0d4fe0: OUTPUT«acebdf␤» 16:57
quietfanatic There, implemented :)
colomon ruoso: Scroll back and look at what they told me while you were gone. 16:59
rindolf quietfanatic: thanks.
quietfanatic++
moritz_++
Let me see. 17:00
ruoso colomon, I saw... but I don't agree with it ;)
rindolf rakudo: infix:<Z>(map $_.comb, "Hv o edyu IPtdy","aeyura orSC oa?")
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ":<Z>(map $"␤in Main (src/gen_setting.pm:3454)␤»
ruoso I really don't think it's sane to spec that Complex is not a Num
rindolf rakudo: infix:<Z>(map .comb, "Hv o edyu IPtdy","aeyura orSC oa?") 17:01
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ":<Z>(map ."␤in Main (src/gen_setting.pm:3454)␤»
ruoso if Num is conceptually the real numbers, so let's just call it Real
rindolf Can anyone improve on this?
moritz_ &infix:<Z>(map *.comb, "Hv o edyu IPtdy", "aeyura orSC oa?")
rakudo: &infix:<Z>(map *.comb, "Hv o edyu IPtdy", "aeyura orSC oa?")
p6eval rakudo 0d4fe0: ( no output )
moritz_ rakudo: say &infix:<Z>(map *.comb, "Hv o edyu IPtdy", "aeyura orSC oa?") 17:02
p6eval rakudo 0d4fe0: OUTPUT«Hv o edyu IPtdyaeyura orSC oa?␤»
moritz_ rakudo: say &infix:<Z>(map {[.comb]}, "Hv o edyu IPtdy", "aeyura orSC oa?")
quietfanatic map returns a single list here.
ruoso moritz_, rakudo doesn't do list flattening-unflattening correctly yet
p6eval rakudo 0d4fe0: OUTPUT«H v o e d y u I P t d ya e y u r a o r S C o a ?␤»
ruoso quietfanatic, it wasn't supposed to
moritz_ ruoso: I know
17:03 SmokeMachine left
quietfanatic Ah, it's suppose to match the dimensionality of its arguments. 17:03
moritz_ it's just a not-yet-implemented feature in rakudo
17:04 donaldh left, lionWrk joined 17:05 lionWrk is now known as LionMadeOfLions
ruoso rakudo: [Z] map *.comb, "Hv o edyu IPtdy", "aeyura orSC oa?"; 17:07
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "map *.comb"␤in Main (src/gen_setting.pm:3454)␤»
moritz_ [Z] is also NYI
ruoso hmm... is there any plan on making the meta-ops parsing dynamic? 17:08
moritz_ presumably STD.pm adoption
ruoso alrigth
moritz_ but pmichaud is re-working some of that operator stuff right now 17:09
maybe it'll be a bit earlier then
17:12 justatheory left
moritz_ www.perlmonks.org/?node_id=791486 17:16
anybody wants to chime in with Perl 6 interests?
17:26 kent\n joined 17:29 SmokeMachine joined 17:31 abra joined 17:37 EDevil left 17:39 andrewz left, jferrero joined 17:47 mberends joined 17:48 rdice left 17:51 rba left 17:57 jan_ left
Tene rakudo: sau (0+1i)**2; say (0+1i)*(0+1i); 17:59
p6eval rakudo 0d4fe0: OUTPUT«Could not find non-existent sub sau␤»
Tene rakudo: say (0+1i)**2; say (0+1i)*(0+1i);
p6eval rakudo 0d4fe0: OUTPUT«1␤-1+0i␤»
moritz_ that's pretty much broken
Tene is it already reported? 18:00
moritz_ yes
(back in the auld days)
we also have tests for that 18:01
18:01 jan_ joined
colomon Seems like it would be easy to fix in the setting? 18:03
moritz_ colomon: patches welcome
colomon Is that the appropriate place to do it? I'd certainly be happy to try.
That was actually going to be my next question for pmichaud et al: what can mere mortals do to help with the numeric situation in Rakudo? 18:04
18:04 SmokeMachine left, mikehh left
moritz_ colomon: src/setting/Complex.pm or so 18:04
colomon No such file yet, is there? 18:05
moritz_ not yet
so add one, and add it to build/Makefile.in like the other files in the setting
colomon If you add a file there, will it automagically be picked up... 18:06
ah, I see
moritz_ colomon: see also: docs/guide_to_setting.pod
colomon Let me see what I can do here.
How do you turn pod into something easy to read?
moritz_ perldoc $file
colomon even with p6? 18:07
18:09 PZt joined
colomon ooo, pod2html guide_to_setting.pod > guide_to_setting.html works quite nicely. moritz_++ 18:10
moritz_ we use perl 5 POD in rakudo
(except in the setting ;-)
18:12 iblechbot joined 18:24 abra left 18:26 jrtayloriv left 18:27 patrickas joined
patrickas perl6: say 3|2; 18:31
p6eval rakudo 0d4fe0: OUTPUT«any(3, 2)␤»
..pugs: OUTPUT«any(VInt 2,VInt 3)␤»
..elf 28081: OUTPUT«3␤»
18:31 eMaX left 18:32 PZt left 18:33 hugme joined 18:34 moritz_ sets mode: +v hugme
moritz_ let me introduce 'hugme', a new bot that can add contributors to github repositories 18:35
but more importantly it can hug people
18:35 eMaX joined
moritz_ hugme: hug colomon 18:35
hugme hugs colomon
moritz_ hugme: add masak to perl6-examples
colomon Thanks, I think I needed a hug. :)
18:36 PZt joined
moritz_ colomon: you're welcome 18:36
Su-Shee wow, perl love on demand :)
colomon Complex exponentiation more complicated than I thought, but with luck I'll have something sorted out by the time I reach my parents' house.
moritz_ now why doesn't this stupid bot doesn't respond to my second command?
patrickas moritz_: maybe it needs a hug? 18:38
moritz_ hugme: hug hugme
hugme hugs hugme
moritz_ hugme: add masak to json
18:38 colomon left
moritz_ patrickas: didn't help :( 18:38
patrickas sorry :( 18:39
moritz_ well, it's back to debuggin mode then ;-)
patrickas well at least it's spreading the love :-) that part is working fine :-) 18:40
moritz_ but that's not the part I spent 3 hours on today
;-)
rindolf moritz_: thanks for commenting on my blog. 18:41
moritz_ rindolf: you're welcome
patrickas hehehe :-)
hugme: hug moritz_ and stop wasting his time.
hugme hugs moritz_
rindolf moritz_: :-)
hugme: hug patrickas 18:42
hugme hugs patrickas
Su-Shee
.oO(and I always thought I'm just being metaphorical with spreading perl love.. ;)
rindolf hugme: hug Su-Shee 18:43
hugme hugs Su-Shee
rindolf hugme: help
moritz_ rindolf: NYI
18:44 hugme left
Su-Shee today I think, I missed perl 6 ops dearly. 18:44
18:45 hugme joined
moritz_ hugme: add masak to json 18:45
18:46 jauaor left
[particle] hugme: hug chromatic 18:46
hugme hugs chromatic
18:48 hugme left, hugme joined 18:53 hugme left, hugme joined
moritz_ hugme: add masak to json 18:53
18:54 jrtayloriv joined
hugme moritz_: successfully added masak to json 18:54
moritz_ YaY, it finally works
18:54 desertm4x left
patrickas hugs hugme 18:56
it derserved it :-)
18:57 hugme left, hugme joined 18:58 jaldhar left
moritz_ hugme: list projects 18:59
hugme moritz_: I know about these projects: tufte, svg-plot, perl6-examples, json
18:59 jaldhar joined
Su-Shee moritz_: oh, that's cool. 18:59
moritz_ Su-Shee: do you want commit access to any of those? ;-)
Su-Shee moritz_: later, probably to examples. 19:00
moritz_ I need to get that script on feather now 19:01
19:02 desertm4x joined
Su-Shee ah, but what i've wanted to ask: do I have to write parrot code or rakudo code to do a release or is it really "just" wrapping all things nicely? 19:03
moritz_ Su-Shee: I did neither for the release
Su-Shee in that case I'd like to do a release this year. 19:04
moritz_ Su-Shee: all the slots this year are already taken 19:05
[particle] moritz_: jnthn will probably want you to add blizkost
moritz_ Su-Shee: the first I could offer woudl be 2010-02
Su-Shee whut?! unbelievable. :) ok, I'll take it. :)
moritz_ [particle]: if he does so, he has to hand me he github token :/
TimToady Su-Shee: you might find someone willing to trade 19:06
19:06 PZt left
Su-Shee TimToady: well, it's a good sign having more people actually wanting to do something but too few.. :) 19:07
moritz_ Su-Shee: be sure to submit a send in a signed CLA
Su-Shee moritz_: I still have my CV somewhere and my article-list.. and a notarized copy of my diploma. 19:08
moritz_ Su-Shee: you don't need those to become a committer ;-)
Su-Shee: www.perlfoundation.org/contributor_..._agreement 19:09
Su-Shee moritz_: I thought you were kidding.. :)
moritz_ is german. moritz_ never tells jokes. 19:10
M_o_C woot, I thought moritz_ is from austria?
moritz_ not quite ;-) 19:11
Su-Shee ah. good point. so I sent my paperwork along. I'm german too and german know a thing or two about bureaucracy.
+s
19:14 masak joined
masak hugme: hug moritz_ 19:14
hugme hugs moritz_
masak :)
moritz_ ;-)
pmichaud (src/setting/Complex.pm) note that i've just added one here locally, so it might be worth waiting for that (in about 30 mins)
moritz_ masak: sorry for excessive hilighting :)
masak moritz_: no prob. :)
M_o_C moritz_: But you were born in austria, right? 19:15
moritz_ pmichaud: adding contributors to perl6-examples now works via IRC ;-)
pmichaud moritz++ excellent
moritz_ pmichaud: at least for a (now hardcoded) list of trusted people who are logged in to freenode
masak moritz_: for some reason, I was reminded of this: pbfcomics.com/?cid=PBF115-Hug_Bot.jpg
moritz_ the syntax ist 'hugme: add $user to $project' 19:16
hugme: list projects
hugme moritz_: I know about these projects: tufte, svg-plot, perl6-examples, json
masak moritz_: would it be possible to add proto to that list?
19:16 alester joined
moritz_ lol (re comic) 19:17
masak: it would, but you'd need to give me your github token for that
(with all the security implications involved)
masak hm.
moritz_ that's not great, I know
masak how would it be stored? 19:18
19:18 eMaX left
masak (it's not you I don't trust, it's possible other factors.) 19:18
moritz_ as a plain text hex string
masak where?
moritz_ on feather2, and on my local (encrypted) hard disc
masak what would the permissions be on feather2? 19:19
pmichaud we could always move proto into the perl6 account :)
rindolf Hi alester
moritz_ (feather2 has far less users than the "normal" feather2, and no risky bots involved)
masak pmichaud: wrong direction :)
rindolf alester: I'd like to add a "Diversity statement" optional feature to Module-Starter.
moritz_ masak: currently I'm the only user on feather2, but Juerd has root access
alester rindolf: I don't.
rindolf alester: ah. 19:20
moritz_ masak: and I'd like to increase the bus number to maybe 2 or 3 additional admins (because perl6.org is hosted there)
masak moritz_: just to be clear here: we're talking about a file on the form .ssh/id_rsa? the one that has rw-user-only permissions on my computer? 19:21
pmichaud masak: no
on github, go to your "account" page, then see the "API token"
*that's* what gets used 19:22
masak oh.
pmichaud (iiuc)
masak that's a bit less bad.
pmichaud if you change your password on github, the api token changes
moritz_ which gives the user access to the github account, basically
pmichaud but someone knowing the api token can ... what moritz said
19:22 nihiliad left
pmichaud I haven't been able to see if it's possible to change the account's email address 19:23
(I tried but it didn't work)
but certainly knowing the API token is sufficient to create and drop repositories
19:23 eMaX joined 19:24 nihiliad joined
pmichaud (changing the account's email address would make it possible for someone to take over the account) 19:24
TimToady hard to prevent man-in-the-middle attacks at the same time as installing your own man-in-the-middle :)
19:24 hugme left, hugme joined
moritz_ masak: not that you must register with freenode (and log in) to use that part of "hugme" 19:25
masak sounds reasonable. 19:26
but I always do that anyway.
masak hugs hugme
moritz_ great
sjohnson hugme, cute command name
rindolf TimToady: :-D 19:27
TimToady++
moritz_ was inspired by audreyt++'s recent blog post
TimToady you can always trust Alice and Bob
masak hugme: list projects
hugme masak: I know about these projects: json, perl6-examples, proto, svg-matchdumper, svg-plot, tufte
moritz_ the hardest part of it all was to send an asynchronous whois request and have all the important data available when the server answers 19:29
19:31 synth left
pmichaud hugeme: add pmichaud to proto 19:32
hugme: add pmichaud to proto
hugme pmichaud: successfully added pmichaud to proto
pmichaud \o/
moritz_ pmichaud: please verify on github if it worked 19:33
sjohnson hugme help
hugme:help
hugme: help
moritz_ NYI
:(
pmichaud moritz_: that would be easier for masak++ to verify
masak pmichaud: hold on.
pmichaud (I'd have to do a commit or something like that)
moritz_ pmichaud: when you go on a repo page for which you are committer, you see a "your clone URL"
pmichaud maybe a clone would be sufficient, though.
ahhhh
moritz_ otherwise it's just a public clone URL
pmichaud mine looks like a public clone url 19:34
masak pmichaud: I see you among the collaborators.
pmichaud okay, wfm
moritz_ you'd see two
pmichaud I only see one.
but it might be a cache
masak aye. 19:35
or github being daft. that happens.
19:35 adam-pwgsc joined
pmichaud jnthn: ping 19:37
(yay, infix:<-> now appears to be working. spectest, then commit, then push if that's the case) 19:38
19:42 SmokeMachine joined 19:44 rfordinal3643 joined 19:45 hugme left, hugme joined
moritz_ hugme: help 19:45
hugme moritz_: 'hugme: (add $who to $project | list projects | hug $nickname)
19:45 synth joined 19:46 hugme left, japhb left, hugme joined
moritz_ hugme: hug everybody 19:47
hugme hugs everybody
19:47 dukeleto_ joined
moritz_ ok, now it runs on feather2 19:47
if there's anything wrong with it, please kick it and tell me when I come back ;-)
19:48 patmat_ joined, awwaiid_ joined 19:49 nihiliad left, patrickas left, rfordinal left, dukeleto left, TimToady left, patmat left, Maddingue left, awwaiid left, gfldex left, dukeleto_ is now known as dukeleto 19:50 Maddingue joined, gfldex joined, TimToady joined, nihiliad joined, patrickas joined, irc.freenode.net sets mode: +o TimToady 19:52 TimToady_ joined, TimToady left 20:02 rba joined
sjohnson masak, do you know anything about whether or not we will have to worry about tying hashes in Perl 6? 20:02
masak sjohnson: how do you mean?
20:02 niros joined, ruoso left
masak more precisely, how do you mean 'worry' and how do you mean 'tying hashes'? 20:03
20:03 Chillance left
sjohnson in p5, if you start adding elements to a hash, and you Dump it, it will reveal that the order you inserted values into it isn't what yuo will see on the screen 20:03
unless you tie it with IxHash
masak sjohnson: I think someone will write an OrderedHash, and then you can use that. 20:04
sjohnson: the fact that ordinary hashes don't preserve the order for you is part of what makes them fast. 20:05
20:05 exekias joined
sjohnson oh i c 20:05
i had a feeling there was a reason for it, but i trusted the higher power's judgement on that one :) 20:06
cause i didn't know why myself in my meager state
masak sjohnson: I think you'd find the details of the reason interesting, too. check out this: en.wikipedia.org/wiki/Hash_function
20:07 TimToady_ is now known as TimToady
diakopter hugme: hug you 20:07
hugme hugs you
20:07 frederico left
sjohnson hugme: hug diakopter 20:07
hugme hugs diakopter
20:08 sjohnson sets mode: +o TimToady
masak is looking forward to hugme hugging its first channel troll 20:08
20:08 exekias left
sjohnson masak: that troll will be corrected by the power of love 20:09
Su-Shee probably in april.. :)
masak
Su-Shee unicode 2665 ;)
masak ;)
20:10 frew left, frew joined, frew left
[particle] unfortunately, hugme doesn't take msgs 20:10
masak that could indeed be useful.
[particle] hugme: hug all trolls
hugme hugs all
masak anonymous hugs :)
[particle] feh
masak: precisely 20:11
Su-Shee [particle]: for some alone time? ;)
diakopter TimToady: did 'troll' (in online context) come from "to be like a troll [under a bridge]" or "to fish by trolling"? or some other usage
reqamst hugme: hug hugme
hugme hugs hugme
diakopter hugme: hug me
hugme hugs me
diakopter trolls only bots, usually. 20:12
[particle] diakopter: wikipedia says the latter
sjohnson hugme: test
diakopter o
sjohnson how did the hugme bot get on here in the first place
TimToady trolls the ancient yuletide carol
pmichaud can't trust Carol.
sjohnson which one, Jingle Bells?
[particle] diakopter: did you pick on TimToady because he's old enough to know?
pmichaud Alice and Bob, maybe. but not Carol.
masak diakopter: 'Fig. sense of "to draw on as with a moving bait, entice, allure" is from 1565.' www.etymonline.com/index.php?term=troll
diakopter [particle]: I can't think of a comeback (let alone a reply other than this meta-reply) to that... 20:13
TimToady I don't want to troll Alice or Bob. I ♥ them.
sjohnson will the Dumper look sexier in Perl 6 when dumping hashes?
masak sjohnson: first off, the Dumper is spelled .perl now. 20:14
[particle] rakudo: { 'a' => 1, 'b' => 2 }.perl.say
p6eval rakudo 0d4fe0: OUTPUT«{"a" => 1, "b" => 2}␤»
masak sjohnson: second off, in what way do you want it to be sexier?
sjohnson the way you just showed me is perfect 20:15
in p5 it would show VAR1 = 'a'\n VAR2 = 1
etc
err, [particle] showed me it
but still!
masak aye, if you send in a hash, and not a hashref, it would say that. 20:16
sjohnson what's the difference if an @array has keys set like that, and a %hash?
in PHP the sigil is still $ so i believe they are no different, but i'm unsure in the Perl world 20:17
masak sjohnson: with the @array you'd get an ordered list of pairs.
sjohnson: but then you can't index on the keys, just on the integer indices.
diakopter there are a few ways to troll - using a dragnet, using bare hooks hoping to snag/gore a fish, or using non-trolling fishing techniques such as lures (prey replicas) with hidden hooks or bait (dead actual prey) with hidden hooks. and i'm sure others. Great analogies to online troll patterns.
masak sjohnson: still, I use that trick sometimes when I want to preserve the order.
sjohnson nice 20:18
20:19 sjohnson sets mode: +o masak
sjohnson masak u so helpful 20:19
masak woot, root.
TimToady diakopter: I suspect online trolling is derived from both ogres and angling
diakopter then there's folks who don't realize they are [being] trolls.
masak sjohnson: I like you too. :) I'm looking forward to your first Perl 6 module. :)
sjohnson TimToady: and computers 20:20
20:20 smuj left
[particle] module First {} 20:20
masak :)
20:21 frew joined
diakopter std: module First {} 20:21
TimToady hugging is more effective on trolls who are just bored than on trolls who take delight in being evil
p6eval std 28081: OUTPUT«ok 00:02 37m␤»
sjohnson i know a troll on rizon, im gonna see what happens when i hug him
masak I believe the latter type of troll is called 'griefer'.
sjohnson: it's most effective if you also sympathise at the same time. 20:22
alester is wrangling XHTML DTDs
sjohnson just don't show as much affection when hugging them as that brute in Of Mice and Men 20:23
lest you get wanted by the police 20:24
masak right.
TimToady "I once had a friend, but he don't move no more..."
20:24 rba is now known as rbaumer
diakopter empathizes with TimToady's grief. 20:25
20:25 xomas joined
sjohnson haha 20:25
20:26 rbaumer is now known as rba_, xomas left, rba_ is now known as rba 20:27 xomas joined, rba is now known as rbaumer
pugs_svn r28082 | pmichaud++ | [t/spec]: Fudge some tests that Rakudo was faux-passing. 20:27
[particle] hugme: hug alester 20:28
hugme hugs alester
alester :-)
sjohnson will Perl 6 have a set of core modules like p5?
alester Hugs rock
sjohnson hugs++
alester Perl 6 won't.
But Rakudo might.
pmichaud I'm likely to start making a distinction between the "Rakudo compiler" and "Rakudo distributions"
20:28 justatheory joined
[particle] i hope nothing has a set of core modules like p5 O_o 20:28
20:28 zloyrusskiy joined
TimToady if Rakudo turns into a distribution...what he said 20:28
20:28 rbaumer left 20:29 zloyrusskiy left
pmichaud to the point that the compiler and distributions will have separate release cycles and release numbers 20:29
moritz_ presumably just enough modules to install other modules
alester That's an excellent Rakudo FAQ, thought
s/t$//
sjohnson the Switch; core module in perl 5 is pretty ramshackle
20:29 rbaumer joined
moritz_ well, there are lots of modules in perl 5 core that are questionable 20:29
Text::Abbrev - I've never seen anybody using it 20:30
sjohnson cludged together
use Hugs; 20:32
TimToady use GHC is more likley
*likely
alester moritz_: I use tht mdul all th tm 20:33
20:34 justatheory left
sjohnson we should rename Pugs to Hugs cause it's cuter 20:34
moritz_ alester: which one?
alester Txt::Abrv
in fct im usng it nw 20:35
moritz_ oh.
alester svs bndwdth 20:36
moritz_ hey, and who writes Text::unAbbrev?
masak exercise left to the reader. 20:37
alester ppeerrhhaappss II sshhoouulldd
TimToady the UN, obviously
sjohnson United Nations? 20:38
masak :)
TimToady then there's un numbers they put on the backs of trucks 20:41
so we could interpolate random hazardous chemicals
masak so, Chinese for 'hug' is 拥抱 -- one of those dual-character words where each of the characters contains some of the intended meaning. both mean 'hold/embrace', but 拥 is more of a 'swarm/throng' whereas 抱 means 'surround/cherish'. 20:43
sjohnson kind of like Japanese 20:44
masak very probably kind of like Japanese, yes.
TimToady esp the parts of Japanese borrowed straight from Chinese :) 20:45
sjohnson i wonder if China will come out with a scripting language
masak it wouldn't surprise me if someone has already made one with hanzi in it. 20:46
yup: en.wikipedia.org/wiki/Chinese_BASIC 20:48
TimToady 赤蝶Perl
sjohnson hmm.. i wonder if that says ... red butterfly
or something 20:49
masak aye.
"Camelia"?
20:49 payload left, payload joined
masak also: en.wikipedia.org/wiki/ChinesePython 20:50
someone is bound to do that with Perl 6 as well. :) 20:51
anyway, tucking myself in early tonight. see y'all!
hugme: good night.
20:51 Woody2143 joined, masak left
moritz_ good night masa... too late 20:52
20:53 Chillance joined
moritz_ I'm about to change a bit of a server config of perl6.org 20:53
and rename the dir in pugs svn
so there's going to be short downtime 20:54
Juerd perl6.org is beautiful. 20:55
pugs_svn r28083 | moritz++ | [docs/feather] rename perl6-projects.org to perl6.org
pmichaud (I'm getting a redirect loop) 20:56
20:56 justatheory joined
moritz_ me too; working on it 20:56
pmichaud okay. :)
moritz_ should be working again 20:57
(unless your browser caches the redirect)
perl6-projects.org is broken
20:58 hercynium joined
moritz_ it should redirect to perl6.org 20:58
and it does now. 21:00
21:00 niros left, frew__ joined 21:01 takadonet left
pugs_svn r28084 | moritz++ | [perl6.org] update google webmasters identification tag to new domain name 21:02
21:02 SmokeMachine left
Juerd Who designed perl6.org? 21:02
moritz_ Su-Shee did 21:03
Juerd Su-Shee: Great job :)
TimToady with various other tweakers
pmichaud see story at perlgeek.de/blog-en/perl-6/a-shiny-...6-org.html
Juerd tHANKS
21:03 eMaX left
pmichaud (gratuitous article plug :-) 21:03
Juerd k0~~~~~
s/$/~/ 21:04
Su-Shee goes for "posh perl" ;)
21:05 colomon joined, rdice joined, sjohnson sets mode: +o Su-Shee
Su-Shee thanks, but I go to bed now. (and I really have to fix hibernate... :) 21:05
n8 all. :)
21:06 Su-Shee left
TimToady n8 21:06
Juerd It's great that David Wright allowed this to happen. I asked in 2007 and he wasn't so happy about the idea back then.
Good night
s/David/Daniel/
21:06 explorer__ joined
moritz_ it might have helped to have a nicely designed, non-outdated page available as content 21:07
like a "look, we can do *so* beautiful stuff with your domain if you let us"
Juerd Certainly. I had the reverse approach: iff we can get the domain, I'll invest time in making it a nice page. 21:08
21:08 payload left
TimToady indeed, @participants».++ 21:08
colomon rakudo: multi sub infix:<**>(Complex $a, Num $b) { exp($b * log($a)) }; say 1i ** 3;
p6eval rakudo 0d4fe0: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/qLTBc2txwb:2)␤»
pugs_svn r28085 | fglock++ | mp6 update 21:09
pmichaud I personally think it was several factors -- his primary concern was to hold the domain for the benefit of the community and not just a few. The openness of perl6-projects.org to modification was likely a big plus.
colomon rakudo: sub Pow(Complex $a, Num $b) { exp($b * log($a)) }; say Pow(1i, 3);
pmichaud so, moritz++ for that
p6eval rakudo 0d4fe0: OUTPUT«NaNNaNi␤»
TimToady maybe he got enough hugs
21:09 Woody2143 left
moritz_ NaNi is a nice number ;-) 21:09
21:09 molaf joined, Whiteknight joined
TimToady std: NaNi 21:10
p6eval std 28083: OUTPUT«Undeclared name:␤ NaNi used at 1 ␤ok 00:02 37m␤»
TimToady std: NaN\i
p6eval std 28083: OUTPUT«ok 00:02 37m␤»
colomon rakudo: sub Pow(Complex $a, Num $b) { exp($b * log($a)) }; say Pow(1i, 3.0);
p6eval rakudo 0d4fe0: OUTPUT«NaNNaNi␤»
diakopter third column hangs a bit lower
21:10 desertm4x left
colomon rakudo: say exp(3.0 * log(1i)); 21:11
p6eval rakudo 0d4fe0: OUTPUT«-1.83691e-16-1i␤»
colomon That's weird -- the last one at least worked on my MBP.
pugs_svn r28086 | moritz++ | [perl6.org] update SVN URL 21:12
colomon Oh, reading it wrong, that is correct.
Anyway, that's the result of my complex ** investigations while my wife drove us to my parents. 21:13
pmichaud incoming.
colomon It's easily implemented using implemented Rakudo functions, but the actually operator overload gets you a Null PMC. 21:14
pmichaud right... operator overloading doesn't work yet
at least, not for another 10 seconds
moritz_ ;-)
21:14 explorer__ left
pmichaud ...c'mon, dalek.... 21:14
moritz_ would love to test the new stuff, but has to go to bed early tonight to be ready for the sailing trip tomorrow 21:15
colomon oooo, looking forward to changes eagerly!
moritz_ colomon: git pull
it's already in
pmichaud only infix:<+> and infix:<-> so far.
I'm about to do * and / 21:16
and **
man, my computing environment is really cratering on me today
21:16 cognominal left
pmichaud keyboard has died twice, now wireless is shot 21:16
colomon moritz_: you mean git clone, I've learned enough not to override my main rakudo. ;)
pmichaud looks for sunspot activity or something. 21:17
moritz_ anyway, TTFN and see you all on Sunday (unless by some happy chance I'll have internet access earlier) 21:18
pmichaud great job this week, moritz -- see you Sunday!
TimToady have the appropriate amount of fun
and don't sink
unless appropriate 21:19
21:19 dalek left
pmichaud looks like I killed dalek. 21:19
21:19 dalek joined
quietfanatic The layout of perl6.org looks lopsided compared to how it used to be. 21:20
21:20 jferrero left
TimToady you want a commit bit? 21:21
just msg me your email addre....oh, wait 21:22
quietfanatic ...
I have done a bit of web design before.
It's just a matter of lining up the margins right...
diakopter dalek: Excess Flood? 21:23
quietfanatic ...which HTML can make surprisingly tricky.
21:23 molaf left
TimToady dalek survived in #parrot, but maybe that's because purl commented in the middle :) 21:24
[particle] is dalek not throttled on #parrot?
[particle] throttles dalek, just to be sure
diakopter hrm 21:25
21:28 molaf joined 21:31 justatheory left
pugs_svn r28087 | diakopter++ | [perl6.org] if we're gonna send it as xml+xhtml, make it validate so firefox doesn't whine. 21:32
21:33 rdice left
pugs_svn r28088 | diakopter++ | [perl6.org] revert last, but change svn:mime-type to match debian apache 2.2's "text/html"... 21:34
21:38 Woody2143 joined 21:44 payload joined 21:48 frew__ left 21:49 PZt joined 21:50 iblechbot left, KyleHa left
quietfanatic I think I shall straighten it by making the outer wrapper a little smaller, and changing the borders from px to em, to make it fit exactly. 21:53
Or should I grow the boxes instead of shrinking the page?
21:54 jan_ left
quietfanatic ...or should I just line them up in the middle? Hard choices! 21:55
22:00 cdarroch left 22:02 japhb joined 22:04 Whiteknight left, Whiteknight joined 22:09 justatheory joined
quietfanatic That's odd... 22:11
While I wasn't looking, perl6.org fixed itself. 22:13
22:13 cognominal joined
quietfanatic Oh, never mind 22:13
Firefox was still preview the stylesheet changes. 22:14
sjohnson hows it going quietfanatic
quietfanatic I believe I have a satisfactory layout now
I just have to figure out how to work svn.
22:16 alester left
pugs_svn r28089 | quietfanatic++ | [perl6.org] Recentered boxes by growing them a bit. 22:23
22:24 rocket_guatemala joined
quietfanatic Eck, the 5 in Perl 5 got sent to its own line. That's not pretty. 22:25
I should have been wary.
22:25 rocket_guatemala left
diakopter quietfanatic: use a nbsp; ? 22:29
quietfanatic Maybe...I was about to cut the width back and increase margins. 22:30
An nbsp would make it correct on all displays.
But then should I &nbsp; all the Perl 5/6s? 22:31
I think I will. 22:32
22:32 Chillance left 22:34 nihiliad left 22:36 M_o_C left 22:38 _jaldhar joined
pugs_svn r28090 | quietfanatic++ | [perl6.org] Added &nbsp;s in certain places to reduce orphaning. 22:39
22:39 _jaldhar left 22:43 jan joined
dalek kudo: 4276205 | pmichaud++ | (7 files):
Move infix:<*>, infix:</>, and infix:<**> to setting.
22:43
22:43 jan is now known as Guest3027 22:46 ihrd left
pmichaud rakudo: say +(3|4) 22:48
p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Int'␤»
22:58 payload left 23:02 pecastro joined 23:03 molaf left 23:10 jaldhar left 23:11 pecastro left 23:16 kidd_ left
diakopter waits 23:19
pmichaud rakudo: say +(3|4) 23:20
p6eval rakudo 0d4fe0: ( no output )
23:20 Avada joined 23:27 rindolf left 23:28 jaldhar joined 23:29 soupdragon joined 23:33 jrtayloriv left, jrtayloriv joined 23:53 hercynium left