»ö« | 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 Strin 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: 43Undeclared 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«011235813213455» | ||
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 Complexin 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 integerFAILED 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 integerFAILED 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 terminatorFAILED 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 whitespaceFAILED 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 |
|