»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:03
whiteknight joined
|
|||
dalek | kudo/nom: 3c22598 | pmichaud++ | src/core/ (2 files): Update Array.new and List.new to be more robust. |
00:07 | |
00:12
nrr left
00:15
nrr joined
|
|||
dalek | ast: 319bec5 | sorear++ | S06-signature/arity.t: Unfudge S06/arity for Niecza |
00:19 | |
ast: 55f9056 | sorear++ | S06-traits/precedence.t: Modernize and fix S06-traits/precedence |
|||
00:25
wolfman2000 left
00:26
prettyrobots left,
prettyrobots joined,
benabik joined
|
|||
sorear | What is %*PID? | 00:31 | |
00:32
daniel-s left
00:34
prettyrobots left
00:41
wolfman2000 joined
|
|||
sorear | $*DISTRO is bothersome. Why does Perl 6 need to include a distribution probing system? | 00:41 | |
00:54
flatwhatson left
01:00
jaldhar_ left
01:01
noganex_ joined
01:02
jaldhar_ joined
01:05
eebrah left,
noganex left
01:06
Reaganomicon joined
01:17
donri left
01:24
woosley joined
01:26
jaldhar_ left,
jaldhar_ joined
01:28
tokuhirom left
01:29
pernatiy joined
01:35
jaldhar_ left
01:37
flatwhatson joined,
flatwhatson left
01:38
jaldhar_ joined,
starcoder2 left
01:41
icwiener_ joined
01:43
alester joined
01:45
icwiener left
|
|||
dalek | ecza: ecfc817 | sorear++ | / (7 files): Implement %*ENV, $*PROGRAM_NAME |
01:47 | |
01:48
whiteknight left
|
|||
dalek | kudo/nom: 8812718 | pmichaud++ | / (11 files): Create an opcode for building Parcels; the opcode also handles replacing |
01:52 | |
01:54
lichtkind left
01:58
jaldhar_ left,
jaldhar_ joined
02:02
eebrah joined
02:03
eebrah left
02:04
eebrah joined
02:05
eebrah left
02:06
bluescreen10 left
02:14
[Coke] left
02:17
[Coke] joined
02:20
jaldhar_ left
02:24
jaldhar_ joined
02:25
thou left
02:26
thou joined
02:38
jferrero left
02:42
envi joined
02:45
_jaldhar_ joined,
jaldhar_ left
02:53
benabik left,
prettyrobots joined
|
|||
colomon | sorear: don't think I'm going to get inbox:<**> sorted out tonight. ended up playing music for two hours longer than I expected, and now I'm all done in. will get back to it in the morning. | 02:53 | |
02:53
prettyrobots left
02:57
benabik joined,
aesop joined
03:14
alester left
|
|||
dalek | kudo/nom: ab1dda5 | pmichaud++ | src/core/ (15 files): Convert some more pir:: opcodes to nqp:: . |
03:18 | |
03:24
Su-Shee_ joined
03:26
Su-Shee left
|
|||
dalek | ecza: 836acfc | sorear++ | / (3 files): Fix outer-frame issues that broke $_ in REPL |
04:15 | |
04:34
kaare_ joined
|
|||
dalek | ecza: 0fdbd7c | sorear++ | src/NieczaBackendDotnet.pm6: Fix REPL getting wedged after late compiler failures (#44) |
04:43 | |
ecza: 1735ca0 | sorear++ | src/Op.pm6: Fix prefix:<|> adverbing bug (#45) thou++ |
05:01 | ||
05:07
thou_ joined
05:08
thou_ left
05:09
wamba joined
|
|||
dalek | kudo/nom: c58a3dd | pmichaud++ | NOMMAP.markdown: More NOMMAP notes. |
05:14 | |
05:15
koban joined
|
|||
thou | sorear: this seems buggy to me -- you agree? paste2.org/p/1491224 | 05:18 | |
05:31
birdwindupbird joined
05:39
bakedb joined
|
|||
sorear | thou: I don't understand. | 05:46 | |
oh | 05:47 | ||
thou | sorear: S02 says Leading whitespace equivalent to the indentation of the delimiter will be removed from all preceding lines. | ||
which niecza does OK | |||
sorear | I see what's going on here. | ||
thou | ok | 05:48 | |
sorear | niecza is treating the end of interpolations as the begininning of a new line | ||
thou | dunno, it still does it if the 2nd heredoc is indented more than 1 space | 05:49 | |
sorear | yes | 05:51 | |
thou | related, there's a weirdness in the spec, it seems. it says that :to means "Parse result as heredoc terminator". taken on its own, it sounds like the other adverbs would apply to the terminator itself, not to the heredoc string. i.e., qq :to /$foo/ should interpolate, while q :to /$foo/ shouldn't. But that's clearly not what we mean. | 05:56 | |
I guess the result itself is parsed as Q, and all adverbs apply to the heredoc text. | 05:57 | ||
sorear | it's actually a little bit more complicated than that | ||
qq :to means Q :qq :to, which parses the body with :qq | 05:58 | ||
there's also Q :to :qq, which would interpolate the terminator | |||
thou | ah | ||
sorear | (except it won't work. no BEGIN) | ||
05:59
jdhore1 left,
mberends left
06:04
wamba left
06:06
Su-Shee_ is now known as Su-Shee
06:14
agentzh joined
06:17
icwiener_ left
06:19
wtw joined
|
|||
moritz | good morning | 06:33 | |
06:34
noganex_ is now known as noganex,
bakedb left
06:38
jdhore joined
06:42
daxim joined
06:43
kanishka joined,
kanishka left
06:45
kanishka joined
|
|||
dalek | kudo/nom: 27cef7c | pmichaud++ | src/core/ (2 files): Gather needs to execute its body in sink context. |
06:45 | |
kudo/nom: 8c2ecf4 | pmichaud++ | src/core/ (2 files): Add Any.grep, Any.min. Fix &infix:<cmp> to handle infinity arguments. |
|||
sorear | goood morning moritz | 06:49 | |
06:53
jdhore left
|
|||
dalek | ecza: ba002dd | sorear++ | / (3 files): Fix heredoc interpolation space oddity (thou++) |
06:57 | |
thou | sorear: i don't think that regression test is accurate. the $x can't be at the end of the line, or it won't show the bug. | 07:03 | |
i.e., $x Foo becomes BarFoo; but Foo $x becomes Foo Bar even in buggy impl. | 07:04 | ||
sorear | yeah | ||
I'll fix that | |||
dalek | kudo/nom: b1195a8 | moritz++ | t/spectest.data: three more passing spectest files |
07:05 | |
07:05
zby_home_ left
|
|||
TiMBuS | why is planetsix frozen | 07:11 | |
has someone tried banging the side of the server to unstick the feed | 07:12 | ||
07:22
wamba joined
|
|||
sorear | TiMBuS: try scrolling down | 07:25 | |
masak postdated a post | |||
and is too consumed by NIH to have used software to prevent that :( | |||
TiMBuS | lol | 07:26 | |
i see now | |||
jnthn | morning, #perl6 | 07:28 | |
pmichaud++ # nice :) | |||
07:32
wamba left
07:41
Chillance left
|
|||
dalek | ecza: ae25334 | sorear++ | src/ (5 files): Mergeback augments |
07:50 | |
ecza: 4d02280 | sorear++ | / (2 files): Fix heredoc despacing for real, now with a working test too |
|||
07:50
bakedb joined
|
|||
sorear | now... to write a concise description of 208 commits | 07:50 | |
tadzik | Files=50, Tests=441, 67 wallclock secs ( 0.35 usr 0.12 sys + 61.34 cusr 4.01 csys = 65.82 CPU) | ||
and some tests passed | |||
* todo tests | |||
07:59
cooper left
08:04
mj41 joined
|
|||
moritz | phenny: tell masak about xkcd.com/917/ when he appears | 08:15 | |
phenny | moritz: I'll pass that on when masak is around. | ||
08:18
thou left
08:21
dakkar joined
|
|||
dalek | ast: a1e4daa | moritz++ | S03-operators/numeric-context.t: [numeric-context.t] remove outdated, wrong tests |
08:21 | |
ecza: 1ea7e81 | sorear++ | docs/announce.v7: Draft v7 announce |
08:28 | ||
sorear | I now sleep; comments wanted | ||
moritz | sorear: "INVOKE has been renamed postcircumfix:<( )>, at_key and at_pos likewise." the "likewise" isn't very telling | 08:31 | |
make a small table instead | |||
otherwise quite nice | 08:33 | ||
sorear++ | |||
(but I don't have a good idea for a new name either) | |||
pmichaud | wow | 08:35 | |
check this out | |||
my $i = 0; my $j = 1; while $j <= 10000 { $i = $i + $j; $j++ } | |||
0.2103 sec | |||
my $i = 0; for 1..10000 { $i = $i + $_ } | |||
0.2663 sec | |||
jnthn | pmichaud: wow :) | 08:36 | |
pmichaud: That's got 'em closer. | |||
pmichaud | that wasn't my goal at this point, but it's a nice side-effect :) | ||
I was just adding next/last/redo support to map | 08:37 | ||
moritz | pmichaud: what did you do? | ||
jnthn | Accidentally the win | ||
:) | |||
pmichaud | in order to do next/last/redo, I had to replace the while { } loop in MapIter with Q:PIR, in order to get the exception handling correct (and semi efficient) | ||
otherwise the cost of creating the exception handlers on each iteration was going to kill us. | |||
(indeed, this is probably part of what makes .map in master slow) | 08:38 | ||
jnthn | aha | ||
yes, exception handlers in Parrot are a pig. | |||
pmichaud | when we have good CONTROL { } handling, we can perhaps go back to a more pure p6-solution | ||
but for now I'll take the speed win | |||
(and the Q:PIR is fairly straightforward) | 08:39 | ||
jnthn | Yeah, we need a new, fast exceptions implementation relly. | ||
*really | |||
But that's a post-nom task. | |||
And may need some co-ordination with Parrot folks. | |||
Control flow is one of the least easily plug-in-your-own-able bits. | 08:41 | ||
08:42
lue left
|
|||
jnthn | "Is there a handler of some kind here?" should really be something like checking a flag/bitfield on a context. | 08:42 | |
08:46
tokuhirom joined
|
|||
pmichaud | we're likely to need lexotics soon | 08:46 | |
at least lexotic return | 08:47 | ||
jnthn | That also. | ||
pmichaud | right now for @list { return if ... } fails badly. | ||
jnthn | I may be able to hack that into the existing system though. | ||
pmichaud | because now that all of the low-level stuff is written in p6, we have return handlers all over the place. | ||
moritz | jnthn: how far are roles in nom? | 08:48 | |
nom: say 'a' ~~ /a/ | |||
p6eval | nom: OUTPUT«too many positional arguments: 3 passed, 1 expectedcurrent instr.: 'nqp;Perl6;Actions;block_closure' pc 21670 (src/gen/perl6-actions.pir:7029)» | ||
jnthn | moritz: roles or rules? :) | 08:49 | |
moritz | jnthn: roles | ||
jnthn | moritz: ah :) | ||
moritz | jnthn: that regex test was rather unrelated | ||
more related to "stuff that needs to be put back" | |||
jnthn | moritz: Still some significant missing things. | ||
moritz: The heart of the roles implementation is there. | |||
moritz: But there's still quite a few other bits to do yet. | 08:50 | ||
moritz | jnthn: how feasible is it to turn the X:: classes into roles? | ||
jnthn | moritz: We already have some roles in the setting, so at that level it's possible. | 08:51 | |
pmichaud | jnthn: did you see my note about Positional/Associative not working for multidispatch? | ||
(in NOMMAP) | |||
jnthn | pmichaud: Yeah. How exactly did you trigger it? (more) | ||
Did you explicitly write Positional/Associative or just use the sigils? | |||
pmichaud | just the sigils | 08:52 | |
jnthn | ah | ||
Yeah, then it's not MD that's busted, just that I didn't put the sigil => role mapping back yet. | |||
pmichaud | okay | ||
testing. | |||
jnthn | nom: proto x(|$) { * }; multi x(Positional $x) { say 1 }; multi x(Associative $x) { say 2 }; x(my @a); x(my %h) | 08:53 | |
p6eval | nom: OUTPUT«Rebuild in progress» | ||
jnthn | aw | ||
dalek | kudo/nom: 01af805 | moritz++ | NOMMAP.markdown: add missing regexes to NOMMAP |
||
jnthn | nom: proto x(|$) { * }; multi x(Positional $x) { say 1 }; multi x(Associative $x) { say 2 }; x(my @a); x(my %h) | ||
p6eval | nom: OUTPUT«No type check cache and no type_check method in meta-objectcurrent instr.: 'x' pc 463 ((file unknown):38168184) (:1)» | ||
pmichaud | that's the error I get | ||
gist.github.com/1048533 | |||
jnthn | nom: sub x(Positional $x) { say 1 }; x(my @a) | 08:54 | |
p6eval | nom: OUTPUT«1» | ||
jnthn | nom: sub x(Positional $x) { say 1 }; x(my %h) | ||
p6eval | nom: OUTPUT«Nominal type check failed for parameter '$x'; expected Positional but got Hash insteadcurrent instr.: 'x' pc 345 ((file unknown):30256379) (:1)» | ||
jnthn | hm | ||
moritz | nom: my @a := 1 | ||
p6eval | nom: ( no output ) | ||
jnthn | oh | ||
I know why | |||
moritz | nom: my Num $x := 1 | 08:55 | |
p6eval | nom: OUTPUT«Type check failed in bindingcurrent instr.: '_block1002' pc 28 ((file unknown):0) (:1)» | ||
jnthn | It's in the narrowness analysis. | ||
pmichaud: Can try to fix that later today, but need to look after some $dayjob things first. | 08:56 | ||
pmichaud | no problem | ||
it's a blocker on slices for me | |||
(but I have plenty else to work on) | |||
jnthn | pmichaud: In ParametricRoleHOW, if you add a method type_check($obj, $checkee) { 0 # XXX TODO } | 08:57 | |
That'll probably make it work | |||
In general, the composition-y aspects of rules work fairly well, the type checking is muchly still to do and the parametricism is awesome in the places it works but not finished yet. | 08:59 | ||
*roles | |||
pmichaud | how would you feel about a 3-part block structure instead of the 2-part one we have now? ;-) | 09:03 | |
.[0] = initialization | |||
.[1] = body | |||
.[2] = return | |||
you can do type constraint checking in [2], if you want :-) | 09:04 | ||
(return type constraint, that is :-) | |||
actually, that's probably not going to work | 09:06 | ||
hrm | |||
jnthn | pmichaud: Can we somehow unify the code path we take for both return exception and fall-off-the-bottom return? | ||
pmichaud | that's what this would do, yes. | ||
jnthn | pmichaud: That was always the factoring headache I had before when putting in the return type constraint check. | ||
pmichaud | return stuff would always end up being "fall off the bottomish" -- a return exception just gets you to the bottom. | 09:07 | |
jnthn | *nod* | ||
If you give me a place I can put the return type constraint check, I can easily enough add it :) | 09:08 | ||
pmichaud | okay, just wanted to make sure that mucking with the block structure slightly wouldn't cause too much grief | ||
jnthn | Adding another one on the end shoudl not. | ||
pmichaud | (mainly in the .[1] node, it looks like | ||
I'm thinking we'll end up remaining 2-node, but it should work out okay. | 09:09 | ||
jnthn | Breaking the current 0/1 meanings probably would hurt a bit. | ||
09:09
huf joined
|
|||
pmichaud | we'll definitely keep the 0 meaning. 1 should be mostly the same | 09:09 | |
09:12
jdhore joined
09:13
JimmyZ joined
|
|||
dalek | kudo/nom: 30f5cc9 | pmichaud++ | src/core/MapIter.pm: Add last/next/redo handling to map loops in MapIter. Unfortunately, for much of the MapIter body, although it's very straightforward code. Fortunately, this gives us another huge speed boost, such that using map to iterate over a range is twice as fast as it was before (about 80% faster than master). while loop with an increment variable. |
09:15 | |
pmichaud | hmm, don't know what happened to my commit message there. oh well. | 09:19 | |
jdhore | Well this sucks | 09:20 | |
09:21
grandmoun joined,
awoodland left
09:31
donri joined
09:42
_twitch joined
09:43
koban left
|
|||
moritz | blogs.perl.org/users/leanan/2011/06...rever.html sigh | 09:43 | |
daxim | »That people don’t think Perl6 is dead confounds me; we’ll get to that later, though.« - first, make sure 'e's dead. - *bang* OK, what now? | 09:45 | |
09:45
koban joined
|
|||
moritz wonders if people will continue to call perl 6 vapourware even when it has fast, stable compilers and a big module repository | 09:47 | ||
I kinda have the feeling that it's so ingrained in some people that they won't change their opinions, no matter what the facts say | 09:48 | ||
daxim | the argument already shifted from "vapour" to "production ready". keep up with the distractors!! | ||
jlaire | like the title says, perl6 is like dnf; it will be released, eventually :) | ||
moritz | well, leanan still says "vapour" | ||
jlaire: and contain lots of unnecessary rudeness? :-) | 09:49 | ||
jlaire | moritz: oh, don't take the analogy *too* far :) | ||
daxim | Perl6's gonna pop off your head and shift down your neck? | 09:50 | |
jnthn | I love how in one sentence there's "still no software4" and in the following sentences it turns out you can even run it. | ||
daxim | now, fixing these mistakes in the article, does the overall intended assertion still hold? | 09:51 | |
jlaire | that post doesn't have even an epsilon of constructiveness, just ignore it | ||
moritz | daxim: I fear there's a grain of truth in there | 09:52 | |
pmichaud | Oh, I think it can be constructive. Basically it's identifying the problem that there's an assumption that X(n+1) is always newer/better/supercedes X(n) | ||
daxim | that's realistic. I'd blog about it | ||
moritz | daxim: many people still think that Perl 6 will obsolete Perl 5 one day, just because of the version nubmers | ||
jdhore | My biggest reason I don't think people will be happy with P6 is the same reason DNF is getting horrid reviews. | 09:53 | |
Eevee | afaict, DNF is getting horrid review because it's genuinely a bad game | ||
moritz | we've tried to tell everybody that that's not true, but we're reaching only very few people | ||
jdhore | No, you won't have to pull some feces out of Perl 6's urinal in the first 5 minutes, but VERY little can live up to 14 years of hype | ||
pmichaud | so, as far as identifying that problem, it's got something to add. But I think most of the people discussing it at length are already painfully aware of that issue, and the post doesn't do anything to move the discussion forward. | ||
jdhore | and while Perl 6 will be really really good, I sort of doubt that it will be able to live up to the 10-12 years of hype. | 09:54 | |
moritz | pmichaud: agreed | ||
pmichaud | i.e., he didn't really address how one might dissociate any connection between Perl5 and Perl6, nor how to get Larry to possibly consider a different name. | ||
simply yelling "Perl 6 needs a new name" isn't really moving the discussion. | |||
frettled | It's just another thimblefull of vitriol. | ||
jdhore | I know what this argument is, but i think here's a good idea for a name: Perl-ng/Perlng | 09:56 | |
09:56
pernatiy left
|
|||
tadzik | let's name it Parrot. | 09:57 | |
oh, wait... | |||
moritz | jdhore: not good. Too lang, to hard to pronounce | ||
tadzik | perl-angie | ||
frettled | Camelia | 09:59 | |
moritz | that's a nice name for a logo, but not good for a programming language | 10:00 | |
10:00
grandmoun left
|
|||
jdhore | moritz, That's as maybe, but perl-ng fits what Perl 6 is perfectly | 10:00 | |
tadzik | screw this naming issues. No one is arguing over C# killing C++ killing C. The problem lies not in the naming | ||
jdhore | If you think of Perl 1-5 as all scaling in a linear fashion (they did), Perl 6 is scaling in a exponential fashion, so -ng fits | 10:01 | |
tadzik | I don't think this will fool anybody | ||
moritz | jdhore: assuming that "ng" stands for a "new generation", it's a terrible postfix. In 20 years it won't be any "new" | 10:02 | |
dalek | kudo/nom: 3f99683 | moritz++ | t/00-parrot/09-pir.t: adapt t/00-parrot/09-pir.t to current reality |
||
pmichaud | btw, we can liberally change the 00-parrot and 01-sanity test files | ||
moritz | (same argument for "next" - if what it is next to is forgotten, it makes no sense whatsoever) | ||
10:03
daniel-s joined
10:04
burning_aces joined,
woosley left
|
|||
daxim | (raptor|butterfly) perl? | 10:05 | |
moritz never really associated 'raptor' with any Perl version | 10:06 | ||
jdhore | moritz, It's the new generation of Perl...If I created a car with the same principles of the Model T or the E-Type Jaguar, everyone would call it a new generation of the Model T or the E-Type Jaguar. | ||
pmichaud | Let's all agree to call it Perl 5.20 and see if that fixes the problem. :) | ||
moritz | and "butterfly" is way too long | ||
jdhore: so? it's still a terrible name in the long run | |||
jdhore | I disagree | ||
pmichaud | "Window NT" | 10:07 | |
"Windows NT" | |||
moritz can't be won with "everybody does"-style arguments | |||
10:07
_twitch left
|
|||
jdhore | moritz, Then what would you call this: www.jaguarspeedster.com/ ? | 10:09 | |
pmichaud | What nobody ever addresses directly is #2 from the blog post. (more) | ||
moritz | jdhore: an URL | ||
pmichaud | I see three possibilities. | ||
(a) Larry is convinced to start calling Perl 6 something else. | 10:10 | ||
jdhore | moritz, What's on (behind?) the URL :P | ||
moritz | jdhore: a website about a car | ||
moritz really doesn't see the point jdhore is trying to make | |||
pmichaud | (b) The community collectively decides to call Perl 6 something else regardless of what Larry says, does, or thinks. | ||
(c) The name remains Perl 6. | |||
moritz | (d) the community decides to rename Perl 5 | 10:11 | |
pmichaud | I don't see "b" happening. I wouldn't be part of such a movement. | ||
flussence | *groan* this again... :) | ||
pmichaud | yes, (d) is a possibility also. | ||
moritz | as I keep saying, a really good, new name is prerequisite for both (a) and (b) | ||
(and for (d) too) | 10:12 | ||
I haven't seen one yet. | |||
pmichaud | and (d) doesn't supplant either (a), (b), or (c) | ||
it's kind of on another axis. | |||
flussence | we could offer to name it "21st Century Perl" to differentiate it from the language users of other languages usually call unreadable ;) | ||
moritz | well, if perl 5 was renamed, we wouldn't have to worry about the name clash anymore | ||
pmichaud | for those people who say that Perl 6 needs to be called something else, the options are (a), (b), and (c). | 10:13 | |
TiMBuS | i like it as perl 6 | 10:14 | |
10:14
_jaldhar_ left
|
|||
TiMBuS | its perl and a next major revision of it | 10:14 | |
moritz wonders if he should throw another blog post into the mix | |||
TiMBuS | oh my god *scrolls back* | ||
daniel-s | Perl Xtreme!! | ||
flussence | besides, aren't people already renaming Perl 5 to "Modern Perl" to differentiate it from... Perl 5? :) | 10:15 | |
moritz | to distinguish it from post-modern Perl 5? :-) | ||
flussence | .oO( post-mortem? ) |
10:16 | |
tadzik | <a dead language joke> | 10:17 | |
moritz | <a meta joke about dead language jokes> | ||
daniel-s | you could just name it as a misspelling of another semi-precious stone that's similar to pearls | ||
moritz | rby? | ||
gem? | 10:18 | ||
Eevee | safire | ||
I think 'gem' is already taken as a binary name :) | 10:19 | ||
moritz | quarz | ||
japer | |||
jlaire | just another ...? | ||
just another perl | |||
moritz | mis-spelled "jasper" | 10:20 | |
(or "berl" as a mis-spelled "beryl" :-) | 10:21 | ||
jlaire | or "jaspr", in the true spirit of web 2.0 | ||
moritz | NOOO | ||
10:23
_twitch joined
|
|||
flussence | I think the p5 people are missing the point. There's *three* versions of Perl now - 6, 5, and the horrible mess non-perlers associate with the word "perl". Trying to force p6 to rename won't fix that at all, it'll exacerbate their public image problems if anything. | 10:24 | |
tadzik | +1 | ||
jdhore | I have it. | 10:25 | |
Call Perl 6 Lerp. | |||
daniel-s | that sounds gross | ||
tadzik | derp | 10:26 | |
10:26
burning_aces left
|
|||
daniel-s | sounds like a bodily function, like berp | 10:26 | |
jdhore | crap...That won't work...didn't think that's though...It's 6AM and i've had a horrible evening | ||
*that | |||
daniel-s likes Perl 6 (fwiw) | 10:32 | ||
10:34
am0c joined
10:49
pernatiy joined
|
|||
Su-Shee | flussence: "their" image problem? all perl 6 image problems are perl 5 image problems and vice versa. noone outside out (shrinking ;) perl world actually cares for the distinction... ;) | 11:29 | |
outside of our is that supposed to mean :) | 11:30 | ||
11:31
lichtkind joined
|
|||
flussence | it'll become their problem if they force Perl 6 out; right now if someone brings up the "perl is ugly" meme I just point them to random bits of p6 code and they quickly shut up :) | 11:33 | |
Su-Shee | good thing then that more or less noone really cares what's up with either 5 and 6 all in all and most developers moved on to other languages entirely. ;) and until this bickering on _both_ sides doesn't stop, barely anyone will come (back).. ;) | 11:36 | |
flussence | and when people claim perl6 will never be released/production-ready, I point them to tryrakudo and ask them where PHP 6 is :) | 11:43 | |
11:43
Mowah joined
|
|||
frettled | where's my flying car? | 11:46 | |
I was promised one by 2000. | |||
flussence | there is one, you just have to share it with everyone else | 11:47 | |
moritz | blogs.perl.org/users/mithaldu/2011/...again.html | ||
JimmyZ | if name change fixes the problem, let's change it everyday | 11:50 | |
flussence | I can't help but wonder if people would stop complaining if there was a perl6 that could run v5 code as well as perl5... | ||
frettled | flussence: they probably wouldn't, because then the v6 would be 'too slow', and the incompatibilities would cause bitching and whining, which of course will continue to be greater in strength and quantity than when we had the v4 -> v5 hullabaloop. | 11:51 | |
flussence | isn't lexically-scoped "use v5" in our spec already? | 11:52 | |
moritz is too young to have witnessed the v4 -> v5 hullabaloop. | |||
11:53
mj41 left
|
|||
flussence | S11:625! | 11:53 | |
frettled | there's a small remnant here: www.cygwin.com/ml/automake/1999-04/msg00311.html | 11:55 | |
flussence | regex changed between 4 and 5? I'm not sure I want to know what it looked like before... | 11:56 | |
11:59
mtk joined,
wamba joined
12:03
am0c left
12:04
wamba left
12:08
orafu left,
orafu joined
12:09
mberends joined
|
|||
gfldex | "people would stop complaining" - Whining gets you stuff. That's why humans deem themself at the top of the food chain. (What they are not. Zombies, bacteria and maggots > human) | 12:24 | |
12:25
icwiener joined
|
|||
mberends | sorear: niecza v7 has a truly impressive release announcement. For a name suggestion, how about p6sharp? And +1 for CLR libraries, if that includes callbacks we can work towards a GUI. | 12:35 | |
12:38
leprevost joined
|
|||
eiro | hello all | 12:39 | |
felher | Is there something like haskells where-operator in perl6? | ||
12:39
colomon left
|
|||
daxim | gfldex, I *demand* a pony. | 12:39 | |
felher | o/ eiro | ||
eiro | ho ... masak's missing. | 12:40 | |
anyone else interested to join the perlude list ? | |||
moritz | what is perlude? | ||
eiro | (perlude is an haskell prelude in perl5) | ||
moritz | so... you implement Haskell functions in Perl 5? | 12:41 | |
eiro | yep | ||
moritz | sounds like fun | ||
but /me has already too many other projects | |||
flussence looks up the where-operator... | 12:42 | ||
jlaire | where is not an operator, it's part of the core syntax of Haskell | 12:43 | |
12:43
benabik left,
tokuhirom left,
tokuhirom joined
12:44
vam joined
|
|||
eiro | you can write things like say sum take 10, filter { /3/ } fibo 1,1 | 12:44 | |
gfldex | daxim: there you go: img4.hostingpics.net/pics/935404cqlol1024.jpg | ||
felher | Thnx jlaire. I don't know enough haskell for sure. :) | 12:45 | |
eiro | moritz, we are already 3 core developpers and it mostly work. what i need now is users we can ask for ideas, feedback and feature requests | ||
flussence | if you're writing haskell functions in p5, does that mean eventually pugs will run on it? :) | 12:46 | |
eiro | haha ... not at all :) | ||
jlaire | felher: 'where' desugars to 'let .. in', so the equivalent in perl6 is just normal local variables :) | ||
eiro | actually there are still some differences | 12:47 | |
and that's why i would appreciate members on the list | |||
for exemple: mapM and mapM_ are really annoying perl people. it became apply and traverse | 12:48 | ||
(traverse was a masak idea) | |||
jlaire | how'd you implement mapM? o_O | ||
moritz | eiro: sounds like jlaire is your first "victim" :-) | 12:49 | |
jlaire goes to cpan | 12:51 | ||
felher | jlaire: ah, okay. thnx alot. :) | ||
eiro | jlaire: by lying to myself: i used closures as monads | 12:52 | |
and basically: mapM_ is | |||
jlaire | felher: np, the more people interested in haskell the better ;) | 12:53 | |
eiro: I see | |||
eiro | my ( $block , $C ) = @; sub { (my $v = $C->() ) or return; $block->() for $v; $v } | ||
jlaire | an interesting project :) | ||
eiro | thanks | ||
jlaire, interested to join the list ? | 12:54 | ||
(it's just an alias for the moment, that's why i came to ask masak) | |||
jlaire | eiro: I have too much to do already :| | 13:01 | |
eiro | jlaire, i just asked : you're welcome | 13:02 | |
13:10
vam left,
Holy_Cow joined
13:12
bluescreen10 joined
13:16
colomon joined
|
|||
colomon | o/ from yapc::na! | 13:16 | |
mberends | o/ | ||
jnthn | o/ | 13:19 | |
13:20
cheeseboy joined,
Katibe joined
|
|||
cheeseboy | can someone help me with ilbot? | 13:21 | |
Can't locate Config/File.pm in @INC (@INC contains: lib /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at ./ilbot2.pl line 5. | |||
BEGIN failed--compilation aborted at ./ilbot2.pl line 5. | |||
docs are non existent :/ | |||
13:23
Katibe left,
agentzh left
13:24
molaf joined
13:26
Katibe joined
|
|||
JimmyZ | good evening, #perl6 | 13:26 | |
13:31
f00li5h joined
|
|||
flussence | cheeseboy: "Can't locate Config/File.pm" means you don't have Config::File installed in a place where the script can find it. | 13:34 | |
13:34
Kivutarrr joined
|
|||
cheeseboy | flussence, pastebin.com/0DQdXVqx any guesses on which i need? | 13:36 | |
flussence | none of those are the right one, you'll need to use CPAN | 13:37 | |
cheeseboy | cant find it | 13:39 | |
flussence | You should have the "cpan" or "cpanm" command, one of those will install it. | ||
colomon | sorear: ping? | 13:41 | |
cheeseboy: or perl -MCPAN -eshell | |||
cheeseboy: and then "install Config::File" | |||
cheeseboy: might need sudo... | 13:42 | ||
sorear: I appear to have completely broken my niezca somehow. :( | 13:45 | ||
sorear: never mind, back in business | 13:48 | ||
niecza: say 1000000 / 8 | 13:49 | ||
p6eval | niecza v6-209-g1ea7e81: OUTPUT«125000/1» | 13:50 | |
colomon | niecza: say 1000000000000000000 / 8 | 13:52 | |
p6eval | niecza v6-209-g1ea7e81: OUTPUT«125000000000000000/1» | ||
JimmyZ | nom: say 1000000 / 8 | 13:53 | |
p6eval | nom: OUTPUT«125000» | ||
JimmyZ | nom: say 8 / 1000000 | 13:55 | |
p6eval | nom: OUTPUT«8e-06» | ||
14:00
tokuhir__ joined
14:03
PacoLinux joined
14:04
tokuhirom left
|
|||
colomon | rakudo: say 2.54e0 ** 3 | 14:12 | |
p6eval | rakudo b2bc99: OUTPUT«16.387064» | ||
14:13
wtw left
|
|||
colomon | TimToady's keynote at the moment! | 14:14 | |
14:15
mberends left,
mberends joined
|
|||
colomon | rakudo: say 2.54e0 ** -3 | 14:17 | |
p6eval | rakudo b2bc99: OUTPUT«===SORRY!===Confused at line 22, near "say \x{2}2.54e"» | ||
colomon | rakudo: say 2.54e0 ** -3 | ||
p6eval | rakudo b2bc99: OUTPUT«0.0610237440947323» | ||
jnthn wonders what this year's keynote is about :) | 14:18 | ||
jnthn should maybe wait to YAPC::EU to find out ;) | 14:19 | ||
(if it's the same one :)) | |||
colomon | jnthn: community | 14:21 | |
jnthn | ooh, nice :) | ||
14:23
thou joined
14:33
kanishka left,
drbean left
14:36
_twitch left
14:38
avidguy joined
|
|||
colomon | "We've tried to change the Perl 6 community into a roach motel." :) | 14:39 | |
14:39
koban left
14:44
alester joined
|
|||
PerlJam | colomon: is someone recording it? | 14:46 | |
colomon | PerlJam: I assume so, but I don't know for certain | ||
14:47
bluescreen10 left
14:50
kanishka joined
14:51
bluescreen10 joined
14:52
Kivutarrr left
14:54
Moukeddar joined
14:55
mkramer joined,
jevin left
|
|||
colomon | rakudo: say 1i ** 2 | 14:55 | |
p6eval | rakudo b2bc99: OUTPUT«-1 + 1.22464679914735e-16i» | 14:56 | |
14:56
avidguy left
14:57
jevin joined
14:59
mberends left
15:01
mkramer left
15:03
tokuhir__ left
15:04
tokuhirom joined
15:08
donri left
|
|||
colomon | well poop. | 15:09 | |
just went through the spectests looking for some juicy Complex ** Complex tests, and there don't appear to actully be any. | |||
15:10
donri joined
15:16
daxim left
15:19
tokuhirom left
15:20
tokuhirom joined
15:31
molaf left
15:32
bloonix joined
15:33
spq2 joined
15:44
Moukeddar left
|
|||
colomon | TimToady mentioned "Keep your core contributors sane", but not how to find contributors that are sane in the first place? ;) | 15:45 | |
slavik | colomon: that is the magic | 15:50 | |
pmichaud | good morning, #perl6 | 15:53 | |
15:53
mkramer1 joined
|
|||
JimmyZ | good morning, pmichaud | 15:53 | |
15:56
slavik left
15:57
slavik joined
|
|||
colomon | o/ | 16:02 | |
JimmyZ | why perl6 -e '' goes into interactive mode? | 16:03 | |
16:05
mkramer1 left
|
|||
TimToady | maybe a || that should be // | 16:09 | |
16:14
tokuhirom left
16:16
spq2 left,
tokuhirom joined
|
|||
jlaire | perl6: say (pi + 20) ** i | 16:17 | |
p6eval | rakudo b2bc99: OUTPUT«-0.99999999924368 - 3.88926694022219e-05i» | ||
..pugs: OUTPUT«*** No such subroutine: "&i" at /tmp/DVmM6o42gm line 1, column 5 - line 2, column 1» | |||
..niecza v6-209-g1ea7e81: OUTPUT«23.1415926535898» | |||
TimToady | niecza: say i | 16:18 | |
p6eval | niecza v6-209-g1ea7e81: OUTPUT«0+1i» | ||
16:18
MayDaniel joined
|
|||
colomon | jlaire: my fixed local copy of niecza gets that right | 16:18 | |
jlaire | colomon: nice | 16:19 | |
colomon | jlaire: now we just need sorear++ to wake up and apply my patch. :) | 16:20 | |
dalek | p: fa94a60 | pmichaud++ | src/PAST/NQP.pir: Add first pass at handling lexical returns; create a new :pasttype<lexotic> |
||
16:20
mberends joined
|
|||
sorear | good * #perl6 | 16:23 | |
colomon | speak of the devil | 16:24 | |
sorear: infix:<**> is incredibly fugly | |||
but it's in your mailbox | |||
mberends | o/ sorear: another niecza rename suggestion: call it Sprixel, and hope that diakopter++ doesn't notice ;) | 16:26 | |
sorear | heh, diakopter's already used that name for 2-3 entirely unrelated names | 16:29 | |
things | |||
TimToady | so he's even less likely to notice one more :) | ||
colomon | sorear: power running low on laptop, then will be questing for nom. should be back online 2:30ish est | ||
sorear | bye! | ||
dalek | kudo/nom: f647b57 | pmichaud++ | / (3 files): Switch to using lexical returns. A return invocation now attaches purely dynamic. This implementation uses continuations directly instead of Parrot's exception handling, which may be both good and bad. We'll have to see how it all works out. |
16:30 | |
kudo/nom: 8b62352 | pmichaud++ | t/00-parrot/09-pir.t: Merge branch 'nom' of github.com:rakudo/rakudo into nom |
|||
pmichaud | nom: say 1,1,*+* ... { * > 100 }; # just checking | 16:31 | |
p6eval | nom: OUTPUT«1 » | ||
16:31
Chillance joined
|
|||
pmichaud | hmmmm | 16:31 | |
TimToady | $_ not * | 16:32 | |
16:32
Chillance left
|
|||
pmichaud | oh | 16:32 | |
nom: say 1,1,*+* ... { $_ > 100 }; # just checking | |||
p6eval | nom: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144 » | ||
16:32
Chillance joined
|
|||
pmichaud | TimToady: thanks | 16:32 | |
colomon thought that was what pmichaud was trying to test.... | |||
pmichaud | nope, I just think-o'd there | ||
how's the conference? | |||
colomon | nice so far | 16:33 | |
TimToady | fine now | ||
PerlJam | TimToady: now that you're done with your public-facing portion? :) | ||
TimToady | well, the one where I can't just wing it | ||
colomon | it was fine when TimToady was talking, too -- at least for the rest of us. | 16:35 | |
PerlJam | TimToady: at some point you need to do a talk themed around you answering for your transgressions at the perly gates ;) | 16:36 | |
sorear | colomon: as it turns out I broke @*ARGS, again | ||
colomon: so... last minute fixes :/ | |||
16:36
colomon left
|
|||
PerlJam | TimToady: unless you've already done one of those and I missed it. | 16:36 | |
TimToady | well, kinda | 16:37 | |
I had Gloria and Aron being the good and bad angels on my shoulders | |||
PerlJam | sure, but that usually happens while you're still alive. Once you're at the pearly gates, it's usually clear which side won | 16:38 | |
pmichaud | istr that TimToady++ gets hit by a bus in that particular episode :) | 16:39 | |
dalek | ecza: 27122b4 | sorear++ | / (5 files): Fix binding to package-scoped arrays (yet again), @*ARGS and %*ENV flattening |
||
PerlJam | The perl community bears a striking resemblence to a bus now that you mention it .... | 16:40 | |
But he gets hit by that bus all the time | |||
sorear | now to look at that patch of colomon | ||
16:40
drbean joined
|
|||
pmichaud tries to figure out what to hack on next in nom. | 16:41 | ||
oh, fail(). | |||
16:42
moritz_ joined
16:43
moritz_ is now known as moritz
|
|||
TimToady | nomsville & | 16:43 | |
16:45
pernatiy left
16:46
colomon joined
|
|||
sorear | colomon: big_pow is kindof unnecessary | 16:47 | |
16:47
MayDaniel left
|
|||
sorear | BigInteger cannot represent any number larger than 2 ** (32 * int.MaxValue) | 16:49 | |
16:50
cdarroch joined,
cdarroch left,
cdarroch joined
16:58
_jaldhar_ joined
|
|||
mberends | sorear: what do you think of renaming niecza to p6sharp (or perl6sharp) ? | 17:05 | |
17:05
birdwindupbird left
|
|||
sorear | mberends: it makes me wonder what I'll do with the JVM backend I keep speculating about | 17:06 | |
mberends | oh, good point :) | 17:07 | |
17:10
mkramer joined
|
|||
dalek | ecza: e5fa57e | (Solomon Foster)++ | lib/ (2 files): Initial implementation of infix:<**>. Not properly tested, completely broken for Complex numbers. |
17:11 | |
ecza: 1948f60 | (Solomon Foster)++ | lib/Builtins.cs: Fixes, first implementation of Complex infix:<**>. |
|||
ecza: d6516ab | sorear++ | test2.pl: Incorporate colomon's power tests |
|||
17:12
noganex_ joined,
_jaldhar_ left
|
|||
dalek | ecza: be28ad1 | sorear++ | docs/announce.v7: Revise announcement |
17:14 | |
JimmyZ | niecza: use v7 | 17:15 | |
p6eval | niecza v6-209-g1ea7e81: ( no output ) | ||
17:15
noganex left
17:17
cooper joined,
cooper left,
cooper joined,
cooper left,
odrm joined
17:18
cooper joined,
cooper left,
cooper joined,
cooper left,
cooper joined
17:20
dakkar left
17:26
mkramer left
17:28
colomon left
17:30
pernatiy joined
17:31
mkramer joined
|
|||
[Coke] | pmichaud: so, you still interesting in hacking on partcl? (Or pointing me at how the next-big-rewrite needs to be done?) | 17:31 | |
*interested | |||
pmichaud | [Coke]: yes, I'm interested. nqp needs to be moved a little farther along, I think. | ||
maybe a week or so | |||
it's much the same as before, though | 17:32 | ||
we should be able to use the same grammar and actions for the most part (that's what Rakudo nom hss done) | |||
but it's also a chance to clean up any cruft :) | 17:33 | ||
[Coke] | Hokay. | 17:34 | |
17:35
colomon joined
|
|||
jlaire | perl6: say (-1)**-i | 17:37 | |
p6eval | rakudo b2bc99: OUTPUT«NaN + NaNi» | ||
..pugs: OUTPUT«***  Unexpected "i" at /tmp/KXGRXyGznY line 1, column 12» | |||
..niecza v6-214-gbe28ad1: OUTPUT«23.1406926327793+0i» | |||
jlaire | niecza++ | 17:38 | |
(colomon++) | |||
sorear | NaN? really? | 17:39 | |
17:39
wamba joined
|
|||
colomon | niecza: say (2/5)**4 | 17:39 | |
p6eval | niecza v6-214-gbe28ad1: OUTPUT«16/625» | ||
colomon | how does 23.1406926327793 make sense for that? | 17:40 | |
jlaire | colomon: en.wikipedia.org/wiki/Gelfond%27s_constant | ||
17:40
mj41 joined,
mkramer left
|
|||
colomon | woah. okay, I'll take that ++ as earned. ;) | 17:40 | |
jlaire | niecza: say (-1)**-i == e**pi | ||
p6eval | niecza v6-214-gbe28ad1: OUTPUT«Bool::False» | ||
jlaire | niecza: say (-1)**-i - e**pi | ||
p6eval | niecza v6-214-gbe28ad1: OUTPUT«-5.32907051820075E-14+0i» | 17:41 | |
colomon doesn't have a good intuitive grasp of what complex powers should look like | |||
17:41
mkramer joined
|
|||
dalek | kudo/nom: 3cefeb4 | pmichaud++ | / (4 files): Make fail() into a soft-fail. |
17:41 | |
17:41
mkramer left
|
|||
colomon | niecza: say (4/25)**.5 | 17:41 | |
p6eval | niecza v6-214-gbe28ad1: OUTPUT«0.4» | ||
colomon | niecza: say (4/25)**-1 | ||
p6eval | niecza v6-214-gbe28ad1: OUTPUT«25/4» | 17:42 | |
pmichaud | perl6: say (-1).log | ||
p6eval | niecza v6-214-gbe28ad1: OUTPUT«Unhandled exception: Unable to resolve method log in class Int at /tmp/gkX3_IjKo0 line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1787 (CORE C849_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 1788 (CORE module-CORE … | ||
..pugs, rakudo b2bc99: OUTPUT«NaN» | |||
pmichaud | perl6: say (-1e0).log | 17:43 | |
p6eval | niecza v6-214-gbe28ad1: OUTPUT«Unhandled exception: Unable to resolve method log in class Num at /tmp/Dlr2v1rxXZ line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1787 (CORE C849_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 1788 (CORE module-CORE … | ||
..pugs, rakudo b2bc99: OUTPUT«NaN» | |||
pmichaud | that's why Rakudo is reporting NaN :-) | ||
colomon | yes | ||
but then I don't know why niecza is getting it right | 17:44 | ||
sorear | perl6: say (2 ** (1/1)).WHAT | 17:45 | |
p6eval | rakudo b2bc99, niecza v6-214-gbe28ad1: OUTPUT«Num()» | ||
..pugs: OUTPUT«Rat» | |||
colomon | oh, wait | ||
17:46
bakedb left
|
|||
colomon | rakudo: (-1 + 0i).log | 17:46 | |
p6eval | rakudo b2bc99: ( no output ) | ||
colomon | rakudo: say (-1 + 0i).log | ||
p6eval | rakudo b2bc99: OUTPUT«0 + 3.14159265358979i» | ||
colomon | that's.... kind of weird | ||
but it's right, too. | 17:48 | ||
pmichaud | rakudo: say (-1+0i).log * -1i | ||
p6eval | rakudo b2bc99: OUTPUT«3.14159265358979 + 0i» | ||
pmichaud | rakudo: say ((-1+0i).log * -1i).exp | ||
p6eval | rakudo b2bc99: OUTPUT«23.1406926327793 + 0i» | ||
pmichaud | nice | ||
easy fix for rakudo :-) | 17:49 | ||
colomon | yeah, I'm just worried about the math of it. | ||
17:49
JimmyZ left
|
|||
colomon | oh, wait, I see | 17:49 | |
if you're only in the reals, then -1.log is NaN | 17:50 | ||
yeah, easy fix. shall I? | |||
pmichaud | right | 17:51 | |
yes, please do :) | |||
colomon | okay, should be able to get it in (with tests!) before the next talk | ||
pmichaud | that'd be great | 17:52 | |
colomon++ jlaire++ | 17:53 | ||
colomon | I suppose I need a colomon-- for getting the Rakudo version wrong. :) | ||
pmichaud | not at all -- we all learned something cool. | ||
be sure to add a spectest for it, though. that'd be worth an extra ++ | |||
17:54
tokuhir__ joined
|
|||
pmichaud | lunchtime here | 17:54 | |
colomon | pmichaud: if you're still there, any thought on where infix:<**> spectests should go? There are vanishing few of the things in the spec at the moment. | 17:56 | |
pmichaud | S03-operators, probably | 17:57 | |
sorear | S32-num/power.t | ||
17:57
tokuhir__ left,
tokuhirom left
|
|||
pmichaud | I'd probably do S03-operators/exponentiation.t for the basic <**> tests... complex tests could conceivably be in a separate spectest file | 17:57 | |
oh, yes, power.t works | |||
colomon | power.t looks appropriate. thanks! | 17:58 | |
pmichaud | maybe rename power.t to exponentation.t. I'm thinking we may want some significant test file renames | ||
sorear | niecza: say 1.015 ** 200 | ||
p6eval | niecza v6-214-gbe28ad1: OUTPUT«NaN» | ||
colomon | hmmm. | 17:59 | |
niecza: say 1.015 | |||
p6eval | niecza v6-214-gbe28ad1: OUTPUT«203/200» | ||
sorear | niecza: say (1.015 ** 200).nude | ||
p6eval | niecza v6-214-gbe28ad1: OUTPUT«Unhandled exception: Unable to resolve method nude in class Num at /tmp/WppG0Xzp7L line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1787 (CORE C849_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 1788 (CORE module-CORE… | ||
sorear | ohright it overflows the Rat denominator | ||
colomon | sorear: it's going to be a Num, because... right | ||
so why doesn't it get the correct Num? | 18:00 | ||
Am I using the C# Rat constructor incorrectly? | |||
sorear | because 200 ** 200 > double.MaxValue | ||
colomon | ooooooo | ||
sorear | the division operator on line 397 sees Inf / Inf | ||
colomon | right, guess it would be. | ||
rakudo: say 1.015 ** 200 | 18:01 | ||
p6eval | rakudo b2bc99: OUTPUT«19.6430286394751» | ||
colomon | niecza: say 1.015.Num ** 200 | ||
p6eval | niecza v6-214-gbe28ad1: OUTPUT«19.6430286394751» | ||
pmichaud | lunchtime, afk | 18:03 | |
dalek | ast: 0f596fe | (Solomon Foster)++ | S32-num/power.t: Add test for (-1) ** -i power. |
18:09 | |
kudo/nom: c461a7d | pmichaud++ | / (2 files): Update NOMMAP (remove fail() from things-to-do). |
|||
kudo: 1fcb142 | (Solomon Foster)++ | src/core/Complex.pm: Fix (-1) ** -i bug by switching to Complex log. |
18:10 | ||
18:22
colomon left
18:24
colomon joined
18:25
buubot_backup left
18:39
Bzek left
18:46
buubot_backup joined,
Mowah left
18:50
colomon left
18:51
spq2 joined
18:53
colomon joined
|
|||
thou is glad he rebuilt niecza from fresh git before reporting a bug that's no longer there :-) | 18:53 | ||
moritz | nom: say fail("foo").WHAT | 18:55 | |
p6eval | nom: OUTPUT«Null PMC access in invoke()current instr.: '_block3494' pc 219633 (src/gen/CORE.setting.pir:58412) (:2681)» | ||
moritz | nom: say fail("foo") | ||
p6eval | nom: OUTPUT«Null PMC access in invoke()current instr.: '_block3494' pc 219633 (src/gen/CORE.setting.pir:58412) (:2681)» | ||
moritz | that looks... LTA | ||
colomon | rakudo: say -1.sqrt | 18:59 | |
p6eval | rakudo 1fcb14: OUTPUT«-1» | ||
colomon | rakudo: say (-1).sqrt | ||
p6eval | rakudo 1fcb14: OUTPUT«NaN» | ||
19:02
huf left
|
|||
colomon | rakudo: say (-1).Complex.sqrt | 19:03 | |
p6eval | rakudo 1fcb14: OUTPUT«0 + 1i» | ||
pmichaud | moritz: the problem is that fail() doesn't have a Routine to return from. I can fix that. | 19:06 | |
dalek | ecza: 67cc261 | sorear++ | FETCH_URL: Update bootstrap for v7 |
||
19:08
spq2 left
|
|||
sorear | v7 message sent | 19:08 | |
19:09
bakedb joined
19:12
_jaldhar_ joined
19:16
SAAMVME joined
19:26
dalek left
19:27
p6eval left
|
|||
mberends | pmichaud: I can add our sub chop in nom/src/core.Str.pm as nqp::p6box_s(pir::chopn__Ssi(nqp::unbox_s($a), 1)). Is that the right way, if so, should I commit that? | 19:27 | |
pmichaud | looks good to me, and yes, you should commit | 19:28 | |
mberends | ok :) plenty more LHF in that case | ||
pmichaud | wait... looks to me like Str already has chop | ||
line 26 | |||
sorear | niecza: say 2 + 2 | ||
[Coke] | sorear: how to pronounce niecza? | 19:29 | |
mberends | pmichaud: Str has method chop but not sub | ||
pmichaud | nom: say 'abc'.chop | ||
oh, *sub* | |||
the real way to do it will be with 'is export' on the method, I suspect. But I also think that's nyi | |||
mberends tries 'is export' | 19:30 | ||
pmichaud | maybe write sub chop as sub chop($s) { $s.chop } then | ||
sorear | [Coke]: I need to learn IPA someday :/ I usually say like Hepburn niecha or niekka. It needs a new name | 19:31 | |
pmichaud | and it might belong in Cool instead of Str | ||
mberends | yes, so that we can chop(421) and get 42 | 19:32 | |
19:32
birdwindupbird joined
|
|||
mberends | 'is export' spews 'Could not find sub &DYNAMIC' | 19:33 | |
pmichaud | yeah, nyi then. | ||
I think it's already in the nommap | |||
mberends | will try the Cool way now | 19:34 | |
pmichaud | hmm, it's not. | ||
19:36
bakedb left
19:37
dalek joined,
ChanServ sets mode: +v dalek,
p6eval joined,
ChanServ sets mode: +v p6eval
19:40
cheeseboy is now known as Josh|Jr
|
|||
ggoebel | sorear: a name suggestions... shebang | 19:43 | |
diakopter gigles | |||
19:43
kanishka left
|
|||
ggoebel | shebang perl6 rolls off the tongue | 19:44 | |
but then... so do associations with William Hung and Shazam! | |||
19:45
Tedd1 joined
19:59
Holy_Cow left,
Josh|Jr is now known as Josh|Sr
20:00
Josh|Sr is now known as Lil|Josh,
Lil|Josh is now known as cheeseboy
20:03
birdwindupbird left
20:04
daniel-s left,
NineTailedDemonF joined
20:05
NineTailedDemonF left
|
|||
jnthn | is export is fine. Just not in the setting. | 20:05 | |
And if it does go in the setting, not until after DYNAMIC is defined. | 20:06 | ||
20:06
jferrero joined,
explorer__ joined
|
|||
jnthn | And only then when I fix stuff up so it can be found. | 20:06 | |
pmichaud | oh, I can move DYNAMIC earlier in the setting then | ||
jnthn | Yeah, but it won't help just yet. | ||
pmichaud | that's fine, at least it'll be in place :) | ||
jnthn | BEGIN time stuff doesn't yet see the lexical scope. | 20:07 | |
20:07
lue joined,
jferrero left,
explorer__ left
20:08
bakedb joined
|
|||
mberends | I'm making subs for all existing Str methods now, without 'is export'. All unfudged tests pass. | 20:08 | |
pmichaud | niiiice | ||
jnthn | Trouble with using "is export" in the setting is that something's gotta import them. Well, we could implement import too I guess :) | ||
mberends | only the optional params fail when omitted on substr, index, rindex | 20:09 | |
lichtkind | who was the guy who suggested to write a git based wiki in perl 6? | 20:10 | |
thou: cheers | 20:13 | ||
thou | hi, lichtkind! o/ | 20:14 | |
lichtkind | thou: any tuits for today? | ||
thou | lichtkind: a few, yes! | 20:15 | |
lichtkind: as long as nothing blows up at work :-) | |||
lichtkind: i'm starting a crappy e-mail module in perl6, hoping to just learn a bit more practical stuff and get grounded a bit more. | 20:16 | ||
ideally once i write a crappy one, i'll write a nice one. | |||
20:16
bakedb left
|
|||
lichtkind | :) | 20:17 | |
20:17
envi left
|
|||
thou | lichtkind: btw, i saw a talk you did on "what we can learn from rebol" | 20:17 | |
lichtkind | what about military disciplin and go down the index A ? :) | ||
thou: yes whyt you want to know? | 20:18 | ||
thou | i didn't have the patience to listen to the end of it because the audio was so bad, but at least i got to see who you are :-) | ||
lichtkind | thou: im much better looking now :) | ||
thou | nothing in particular. just watching it while i did the dishes | ||
that's a relief. | |||
moritz | pmichaud: are you sure that Nil assignment is a LHF? looks like it needs digging in src/binder/container.c or so... | 20:19 | |
pmichaud | moritz: I think it's mainly a change to Rakudo's assignment opcode | ||
jnthn | LHF but C ;) | 20:20 | |
pmichaud | basically, assigning Nil to a scalar should cause the Scalar to revert to its original defined type | ||
my $x = Nil; # assigns Any to $x | |||
jnthn | That one is tricky. :) | ||
pmichaud | okay, maybe it's not lhf then :-) | ||
jnthn | Because we can't just grab the type constraint. | ||
my Int $x = Nil # easy | 20:21 | ||
pmichaud | isn't my $x just the same as my Any $x ? | ||
jnthn | No, it's like my Mu $x = Any | ||
pmichaud | oh. I thought the spec folks wanted to change that. | ||
i.e., all scalars default to Any | 20:22 | ||
(in type, as well as initial value) | |||
jnthn | I thought that idea was successfully put down by the junctionists. :) | ||
pmichaud | hmmmm | ||
jnthn | I for one didn't like it. | ||
pmichaud | I thought we decided that storing a junction required declaring the variable as Mu | ||
jnthn | my $x = 1 | 2; # error | ||
I remember it being discussed | |||
I'm not sure it made it to a decision. | 20:23 | ||
20:23
kaare_ left,
spq2 joined
|
|||
sorear | pmichaud: it was discussed but I backed down | 20:23 | |
PerlJam | But what does the spec say? :) | ||
pmichaud | I think the spec is thus far silent. although the spectests probably aren't. | ||
jnthn | No, I think we have a load of spectests taht expect my $x = 1 | 2; style things to work. | 20:24 | |
sorear | pmichaud: allowing my $x = ANYTHING seems like useful behavior, and the spectests use it | ||
pmichaud | sorear: yes, I was the one that originally advocated it. :) | ||
jnthn | pmichaud: Anyway, we can have my $x = Nil lead to Any easy enough | ||
sorear | pmichaud: I'm dubious about 'my $x = Nil' though :/ | ||
jnthn | pmichaud: It'd just be rather hard to make my Mu $x = Nil not put Any there. :) | 20:25 | |
lichtkind | thou: so whats our plan for today? do a section of the tut or 2 chapters of a tablet? | ||
jnthn | But maybe that's not an issue. :) | ||
pmichaud | irclog.perlgeek.de/perl6/2011-05-16#i_3751984 | ||
thou | lichtkind: let's do tablets | ||
pmichaud | the only thing more definitive than that statement would be if it showed up in the spec :-) | 20:26 | |
sometimes it's rare to get TimToady++ to say something so clearly. :) | |||
jnthn | Hmm. | 20:27 | |
pmichaud | this also gets regular my declarations to be consistent with parameter declarations :-) | ||
jnthn | Yeah, but that's useful. It makes auto-threading work. | ||
pmichaud | sub xyz($a is rw) { $a = 2|3; } | ||
jnthn | my $a = 1 | 2 can't auto-thread. | 20:28 | |
Well, it *chould*. :) | |||
"Guess what $a might be?" ;) | |||
But the only thing making it Any there would do is make it die. | |||
pmichaud | which might be good, if you weren't expecting a Junction result. | 20:29 | |
jnthn | Hm | ||
Maybe. | |||
pmichaud | anyway, I was simply going on TimToady++'s comment of 05/16 | ||
20:30
masak joined
|
|||
jnthn | We tend to lean towards making stuff work in absence of type constraitns though. | 20:30 | |
masak | o/, #perl6 | ||
phenny | masak: 08:15Z <moritz> tell masak about xkcd.com/917/ when he appears | ||
masak | moritz: yes, I like :) | ||
pmichaud | I'm looking forward to attacking lots of RT tickets soon :) | ||
("now works in nom, ticket closed") | |||
jnthn | :) | ||
pmichaud | anyway, if we just had a version of $x = Nil that reverted $x to its type object (regardless of special Mu/Any semantics), that'd be enough for what I wanted from the LHF | 20:31 | |
masak | sorear: re NIH: while the problem could've been solved by me using someone else's blogging software, it could also have been solved by me scratching a few more itches and having the datetime be autogenerated. I haven't gotten to that point for various tuit-related reasons. | ||
pmichaud | I definitely don't want $x to end up as Nil -- that's the part that needs avoiding. | 20:32 | |
jnthn | ok | ||
sorear | o/ masak | ||
masak | sorear: I'm sorry for the inconvenience that poisoning the planetperl6 feed causes. I still think/hope that having a Perl 6 blog in production is a net win. | ||
20:32
huf joined
|
|||
pmichaud | one could equally blame the feed for not having robust date handling :) | 20:32 | |
masak | well, it just has a good memory, is all. | 20:33 | |
PerlJam has always blamed the feed for that | |||
mberends forgives masak | |||
masak | ;) | ||
pmichaud hugs masak | |||
masak smiles | |||
I'm also glad I didn't typo in 2012 or something :P | 20:34 | ||
PerlJam | wait ... where are all of your posts on renaming or not renaming Perl 6?!? | ||
masak | those were tweets. | ||
pmichaud: I nicked your line about 5.20 -- hope that's OK. I saw it in the backlog and thought it was really funny :) | 20:35 | ||
pmichaud | sure thing :-) | ||
jnthn pulls latest nom to see how we're doing with tests :) | 20:36 | ||
moritz | we're doing quite fine on those we pass | 20:37 | |
t/spec/S06-advanced_subroutine_features/lexical-subs.rakudo .... Failed 1/10 subtests | 20:38 | ||
jnthn | oh, hm | ||
I thought we passed all of that before | |||
pmichaud | No wait! Let's name it "Perl ڪⅸ" lolololol | ||
moritz | we did | ||
masak | :D | ||
pmichaud | I might have an unpushed commit for that fail | 20:39 | |
just a sec | |||
masak | pmichaud: sub foo { return { return 42 } }; my $a = foo(); say $a() # what should it do/print? | 20:40 | |
pmichaud | masak: I have no idea :-) | ||
jnthn | nom: sub foo { return { return 42 } }; my $a = foo(); say $a() | ||
p6eval | nom: OUTPUT«invoke() not implemented in class 'Int'current instr.: '_block1002' pc 93 ((file unknown):77) (:1)» | ||
masak | pmichaud: I mean, if returns are lexical... | ||
pmichaud | nom: sub foo { return { return 42 } }; my $a = foo(); say $a.WHAT; | 20:41 | |
p6eval | nom: OUTPUT«Block()» | ||
pmichaud | nom: sub foo { return { return 42 } }; my $a = foo(); $a() | ||
p6eval | nom: OUTPUT«invoke() not implemented in class 'Int'current instr.: '_block1002' pc 93 ((file unknown):24300965) (:1)» | ||
jnthn | nom: sub foo { return { say 'here'; return 42 } }; my $a = foo(); say $a() | 20:42 | |
p6eval | nom: OUTPUT«hereinvoke() not implemented in class 'Int'current instr.: '_block1002' pc 93 ((file unknown):81813485) (:1)» | ||
masak | odd/strange. | 20:43 | |
jnthn | Yeah | ||
pmichaud | if someone will tell me what it should do, I'm sure I can make it do that. :) | ||
I know this discussion has come up many times. | |||
jnthn | Probably complain. | ||
masak | pmichaud: it should say "can't return from exhausted sub" or something like that. | ||
jnthn | "You already returned from this." | ||
exhausted sub :D | |||
masak | you only get one return :) | ||
and you have to be this tall to ride. | 20:44 | ||
PerlJam | "no deposit, no return" | 20:46 | |
[Coke] | are nom commits showing up in the default github commit feed for raudo? | 20:47 | |
*rakudo? | |||
lichtkind | thou: allright let to basics | ||
jnthn | [Coke]: yes | ||
thou | ok! brb | 20:48 | |
20:48
thou left
|
|||
[Coke] | hurm. I haven't seen any big number of commits that would make me think you could close any RTs. Will look harder. | 20:48 | |
sorear | pmichaud: is this an attempt to force a spec change? | ||
[Coke]: lots of buggy code has been completely rewritten, so the old RTs are invalid | 20:49 | ||
[Coke] | ah.because I'm looking at "rakudo/master". | ||
... I hate branch development sometimes. ;) | |||
how long til nom becomes master? | |||
dalek | kudo/nom: b79c7b3 | (Martin Berends)++ | src/core/Cool.pm: [src/core/Cool.pm] add sub equivalents of 11 Str methods |
20:50 | |
pmichaud | 20:48 <sorear> pmichaud: is this an attempt to force a spec change? | ||
...is _what_ an attempt to force a spec change? | |||
masak | this. | ||
whatever it is, it's very subtle! :) | 20:51 | ||
oh, speaking of spec change... | |||
is it reasonable to expect private attrs from a role to not be visible from the class it's mixed into? I'd argue it is, and that it's saner/more useful than having it be visible. | 20:52 | ||
jnthn | .oO( oh no, what did I say at dinner... :) ) |
||
masak | :) | 20:53 | |
PerlJam | masak: define "private attr"? | ||
jnthn | has $!x | ||
masak | PerlJam: that's really the only kind. | ||
PerlJam: pecause a public attr is just a private attr + an accessor. | |||
PerlJam | oh, I guess so. You mentioned privacy and I immediately thought of "my $foo" as "private attr" | 20:54 | |
masak | ah. | ||
PerlJam | but that's not an attr so ... | ||
masak | no, I consider that an ordinary lexical. | ||
'has $x', however... | |||
PerlJam | in any case, what's your argument? :) | 20:55 | |
eiro | masak, want to join perlude list ? | ||
TimToady | it's sort of an attribute of that lexical scope as a type, with each object being the closure clone | ||
masak | eiro: oh hai. yes, I might do that :) | ||
jnthn | Rakudo master and nom treat has $!x differently in roles. | ||
In master, you can refer to $!x in the body of the class | |||
In nom, you can't | |||
eiro | masak, give me your email (it's not a mailing list for now: just an alias) | 20:56 | |
20:56
thou joined
|
|||
masak | PerlJam: my argument is one of encapsulation. the class has no way of knowing the correct use of the attribute, and lots of ways of stepping on its toes. | 20:56 | |
we already have that behaviour for derived classes. so why not for composed classes as well? | 20:57 | ||
jnthn | Admittedly in nom it's more a result of the way things naturally fall out than a deliberate change of behavior from master. | ||
masak | but that's a sign of something, too :) | ||
jnthn | But I can kinda see why we'd want to keep it that way. | ||
sorear | pmichaud: &return used to throw a control exception which is caught by the nearest dynamically enclosing Routine | 20:58 | |
pmichaud | sorear: that's the way it was implemented, but not the way it was specced, iiuc. | ||
sorear | pmichaud: in the interests of performance, you seem to have changed it to lexotically thow to the nearest lexically enclosing Routine frame | ||
masak | PerlJam: if the class shares the attribute, the concept of "attribute merging" has to be considered. will 'has $!x' merge will 'has Int $!x'? and so on. | 20:59 | |
jnthn | sorear: I think the spec has had it as lexotic. | ||
pmichaud | sorear: no, what I did today has nothing to do with performance. | ||
jnthn | er, for a while | ||
pmichaud | (it may be more performant, but that wasn't my motivation for doing it.) | ||
jnthn | sorear: sub foo { @a.map: { ... return $x ... } } # should return from foo, not from map | ||
sorear | I see now | 21:00 | |
pmichaud | so no, I'm not trying to force a spec change, I'm trying to (finally) conform to the spec. | ||
PerlJam | masak: also, I guess from the flip side ... how is the class to know a role will be composed into it? The only useful place to use the private attr would be in the role itself. | ||
sorear | (ugh) | ||
masak | PerlJam: yes. the role should encapsulate the use of the attr completely, that's my point. | ||
PerlJam | masak: makes sense to me even when I'm looking for a "fatal flaw" :) | 21:01 | |
masak | it's free to define/compose a public accessor, of course. | ||
sorear | jnthn: how does this fall out from the definitions of roles? | 21:02 | |
jnthn: I think I need your help understanding Perl 6 roles... | |||
masak | PerlJam: well, as jnthn pointed out, we run into interesting issues when we have a parametric role with such a private attribute and compose several specializations of it into the same class. | ||
jnthn | sorear: It's not really the definition of roles here. | ||
sorear: It's simple pre-declaration semantics in this case. | |||
sorear: Roles aren't composed until the closing } of the class | |||
sorear: Until then we don't know what attributes we'll have | 21:03 | ||
And at the moment nom checks for attribute declaration just as it'd check for lexical declaration, apart from it consults the meta-object rather than the lexpad. | |||
masak | PerlJam: in that case it might actually be easier to have the attribute be "copied" over to the class, instead of kept around in several specialized "versions" with each role. | ||
jnthn | master got away with it working because it didn't compile-time check attrs names. | ||
PerlJam | aye | 21:04 | |
jnthn | masak: We *do* copy. Role composition is denormalization. | ||
masak: The problem is that there's only want $!x slot. | |||
masak | PerlJam: because in the end, an attribute is a storage slot in some object, even a role attribute. so the "same" attribute from several specializations of a parameterized role would have to translate to different slot. | ||
jnthn: yes :) | |||
jnthn | masak: That's fine apart from we need to wrok out how to differentiate those slots. | 21:05 | |
masak | s:2nd/slot/slots/ | ||
jnthn | masak: I can probably think of something. | ||
masak | ++jnthn | ||
21:05
Transformer joined
|
|||
masak | Transformer: hi! | 21:05 | |
jnthn | oh, yay, my hotel tomorrow is easy to find. :) | 21:06 | |
21:06
spq2 left
|
|||
masak | jnthn: does it have a big sign saying "Close to Forbidden Hotel"? :P | 21:07 | |
21:07
pmurias joined,
Transformer left
|
|||
jnthn | :P | 21:07 | |
masak | or maybe "Forbidden View"... | ||
pmurias | sorear: re p6sharp, you'll just call the jvm backen jp6 ;) | 21:08 | |
phenny | pmurias: 29 May 15:07Z <tadzik> tell pmurias no, haven't yet | ||
masak | (jnthn's hotel is close to the Forbidden City) | ||
jnthn | masak: No, it's easy to find from Tianeman Sq or the Forbidden City (well, you can see one from the other..) | ||
masak | aye. | ||
jnthn: Tian an men | |||
jnthn | ooh, I recognize two of the Chinese chars in Tiannemen :) | ||
oh, it's an | |||
dalek | kudo/nom: 0594102 | (Martin Berends)++ | t/spectest.data: [t/spectest.data] uncomment tests for chomp chop and flip |
||
jnthn | Yes, I recognize Tian and men :) | ||
masak | yes. 安 | 21:09 | |
jnthn | an =... peace? | ||
pmichaud | afk for a bit | ||
masak | means "stillness" or "to install" :) | ||
jnthn | ah | ||
Heavenly Stillness Gate? | |||
TimToady | well, I call that one "easy" | ||
masak | I guess peace is a better translation. | ||
jnthn | :) | ||
masak | the picture is of a woman under a roof. | ||
TimToady | I got tired of typing "woman", so it's "fem" :) | 21:10 | |
jnthn reads masak and TimToady's comments one after the other and chuckles | |||
masak: I see that now. Gah, I'm rusty. :) | |||
masak | TimToady: I hope some day your character database gets published in some form. it sounds very nice. | ||
jnthn really should spend his flight playing with That Stroke Order iPhone App. :) | |||
masak | jnthn: stroke order is a finite problem. it's remembering the damn characters that's the real challenge. :/ | 21:11 | |
jnthn | masak: Well, it actually has a mode for learning those too | ||
masak: It's quite flexible. :) | |||
masak | more specifically, learning (char, sound, meaning) triplets. | 21:12 | |
jnthn | huh, I have to *speak* too? :P | ||
masak | and then also the character's occurrance in words. | ||
jnthn | Sounds like hard work. :) | ||
masak | it's a full-time job. | ||
jnthn | I know what "beef" and "beer" look like :) | ||
21:12
bluescreen10 left
|
|||
TimToady | I also got tired of typing "person", so that one's just "guy" | 21:14 | |
(in the Californian non-gendered sense) | |||
21:15
rindolf joined
|
|||
rindolf | Hi all. | 21:15 | |
thou | hello, rindolf | ||
21:15
spq2 joined
|
|||
rindolf | thou: hi. | 21:15 | |
thou: what's up? | |||
thou | no mucho | ||
TimToady | 你好 | ||
masak | yo, rindolf. | ||
rindolf | Did work on Rakudo resume? | ||
masak: hi. | |||
masak | it's ongoing, not just on the master branch. | ||
rindolf | masak: s/not just/just not/? | 21:16 | |
masak | oh. yes. | ||
well, there are commits on the master branch too, but the great majority are on the nom branch. | |||
nom will close a massive amount of RT tickets :) | 21:17 | ||
TimToady | automatically, since nom is an AI project | ||
[Coke] | I wonder how many languages beef/beer are so close in other than english. | ||
21:17
leprevost left
|
|||
rindolf | masak: nice. | 21:18 | |
TimToady | they're pretty close in American too | ||
and Canadian, unless you consider them Americans | |||
masak | [Coke]: one day I'll have a knowledge agent that I can just turn to and ask that question, and it will answer immediately with an estimate :) | ||
TimToady | the answer will, of course, be wildly inaccurate, but no one will care | 21:19 | |
21:19
cognominal_ joined
|
|||
[Coke] needs to make his bot smart enough to join IRC and not just the weird one-off MOO server from his college. | 21:19 | ||
rindolf | In Hebrew it's "Birah" and "Baqar" | ||
TimToady | knowledge agents will also make up 92.3% of statistics on the spot :) | ||
rindolf | Well, Beef is more like "Basar Baqar" | ||
sorear | Birah sounds like a loan word... | ||
TimToady | agents down't actually care about you as long as they get paid | 21:20 | |
colomon | TimToady: be careful not to tell the Canadians they are American. ;) | ||
sorear | masak: what if it becomes sentient and lazy? | ||
TimToady | sentient Canadians? | 21:21 | |
the mind boggles | |||
[Coke] | I doubt that. | ||
masak | sorear: "sentient" is a sliding grayscale thing. "lazy" sounds like an advantage; I don't want it to do megawatts of work just for a silly question :) | 21:22 | |
sorear | ...megawatts? | ||
TimToady | that's why you just want it to make up a plausible answer | ||
masak | er. megajoules. | ||
21:22
cognominal left
|
|||
masak | TimToady: I did say "estimate" :) | 21:22 | |
TimToady | "Please place your knowledge agent out in the sun every day to keep your joule balance in the green." | 21:23 | |
"And never ask it hard questions." | 21:24 | ||
masak | awww | ||
living in the future sucks. | |||
diakopter | also the past | ||
masak | the Singularity is riddled with electrical outages. | ||
TimToady | come to think of it, living in the present also presents difficulties | 21:25 | |
masak | only the fantasy world has some claim to perfection. | ||
TimToady | KA: I know that I will know the answer to that someday, but I cannot predict on which day I will know it. | ||
masak | (yeah, that's a mood, not a tense.) | ||
PerlJam | Those Long Now folks are building their 10,000 year clock in Texas somewhere. | 21:26 | |
TimToady | KA: especially if you forget to put me out in the sun. | ||
PerlJam wonders what "present" and "past" and "future" really mean | |||
masak | TimToady: my futuristic KA isn't a physical object. it just hangs around in the Cloud all day. Google powers it. | ||
PerlJam: only physics can make you uncertain about such a thing... :) | 21:27 | ||
PerlJam | masak: so then it's a matter of powering your interface | ||
masak | I can put my interface out in the sun. | ||
diakopter | that's what she said | ||
masak | *lol* | ||
PerlJam | masak: it runs off of your body-heat or possibly even your electrochemical interactions | 21:28 | |
masak: and that's *really* what she said :) | |||
diakopter | cheap humor is gassy | ||
jnthn | *lol* | ||
TimToady | cheese humor is gappy, esp if swiss | 21:29 | |
diakopter | I want to be powered by the cloud. cloud 9, specifically. | 21:31 | |
diakopter idly wonders the origin of that phrase | |||
TimToady | is that a swiss cloud? | ||
masak | Claud, Nein! | ||
PerlJam | Something like joelonsoftware.com/items/2011/06/27.html but for Perl would be a nice addition to a YAPC I think | 21:32 | |
masak | swiss clouds are holy, too. | ||
eiro | what's the world for "not lazy" ? | ||
diakopter finds en.wikipedia.org/wiki/Cloud_Nine | |||
eiro | the word | ||
TimToady | in p6 context, eager | ||
PerlJam | "great preseneters from the community who will write code and compile code and explain it while you watch" | ||
TimToady | in cultural context, industrious | 21:33 | |
eiro | TimToady, so we call it eager in Perlude too | ||
thanks | |||
masak | we're eager to help :) | ||
TimToady | mostly eager | ||
21:34
BooK joined
|
|||
masak | eager, id, and super-eager. | 21:34 | |
diakopter | igor, | ||
oops | |||
masak | yes, massster? | ||
TimToady | just so you don't support shared libidos | 21:35 | |
masak | what's that, a C library? | ||
TimToady | except with a .so | ||
thou | masak, :-) # masssster | ||
masak | apt-get install libido-dev | ||
diakopter bets it exists | 21:36 | ||
masak | thou: the whole joke is: "Igor, you IDIOT!" -- "Yes, masssster?" | ||
jlaire | aur/klibido exists | 21:40 | |
"kLibido - the KDE3 Linux Binadires Downloader" | |||
Binaries* | |||
apparently, there's an app for that | 21:41 | ||
masak | I can have libido, but I have to run KDE? figures. | ||
21:42
Psyche^ joined
21:44
stephanepayrard_ joined
21:45
Patterner left,
Psyche^ is now known as Patterner
|
|||
mberends | that's because Gnomes need no libido, being made of cement and all. | 21:46 | |
masak | :) | ||
21:47
cognominal_ left
|
|||
pmichaud | masak: | 21:49 | |
> sub foo { return { return 42 } }; my $a = foo(); say $a(); | |||
Attempt to return from exhausted sub | |||
masak | pmichaud++ | 21:51 | |
every time I see that error message, I will envision a really tired submarine :) | |||
21:52
daniel-s joined
|
|||
pmichaud | > sub bar($x) { $x() }; sub foo() { my $x = -> { return 42 }; say 'in foo'; bar($x); say 'still in foo'; }; say foo(); | 21:52 | |
in foo | |||
42 | |||
or, more clearly: | 21:53 | ||
> sub bar($x) { $x(); 'oops' }; sub foo() { my $x = -> { return 42 }; say 'in foo'; bar($x); say 'still in foo'; }; say foo(); | |||
in foo | |||
42 | |||
invoking $x forces a return from foo() | 21:54 | ||
masak | how continuation-y. | ||
but totally per spec. | |||
arnsholt_ | Indeed. The possibilities are mind-bending | 21:55 | |
21:55
arnsholt_ is now known as arnsholt
|
|||
masak | arnsholt: yes, up to exhausting the submarines. routines. | 21:55 | |
jlaire | is dalek another reference to drwho? | 21:56 | |
tardis is an awesome name | |||
masak | thanks. hope to make it a useful tool as well :) | 21:57 | |
dalek | p: 342cd53 | pmichaud++ | tools/build/PARROT_REVISION: Bump PARROT_REVISION to get PAST::Node signatures. |
||
21:57
nsh left
21:59
nsh joined
22:03
huf left
|
|||
jlaire | hm, there's probably a nice replacement for 'niecza' somewhere in drwho | 22:06 | |
22:07
lichtkind left
|
|||
jlaire goes digging | 22:08 | ||
22:10
spq2 left
|
|||
dalek | kudo/nom: dc16a4f | pmichaud++ | / (3 files): Refactor return handling to be in a single place (DRY). Handle the case where someone tries to return from an already-exited subroutine. |
22:10 | |
kudo/nom: 3efe8f8 | pmichaud++ | NOMMAP.markdown: NOMMAP update. |
|||
sorear | jlaire: new here? | ||
jlaire | sorear: well, I've been lurking for a few years | 22:11 | |
(changed nick at some point) | |||
haven't contributed to anything yet | |||
22:12
Chillance left,
whiteknight joined
|
|||
masak | never too late to start :) | 22:13 | |
jlaire | :)) | ||
masak | blog post! strangelyconsistent.org/blog/more-planning | ||
22:13
whiteknight left
22:14
whiteknight joined,
Chillance joined
|
|||
dalek | kudo/nom: 872a536 | jonathan++ | NOMMAP.markdown: Comment on a couple of nommap items. |
22:15 | |
[Coke] asks timtoady if he's played with minecraft yet. | |||
22:15
lichtkind joined
|
|||
pmichaud | loliblogged: pmthium.com/2011/06/27/lots-of-raku...spectests/ | 22:18 | |
felher | masak: yeah :) *longing for the adventure game in the not too distant future* | 22:19 | |
masak | \o/ | ||
tadzik | nom progress makes me think I want to move gsoc work to nom | ||
1 exam remaining! | |||
pmichaud | tadzik: we still don't have regexes in nom yet, though. But I suspect that'll happen this week. | ||
tadzik | pmichaud: the parser has regexes, that's what I need as for now | 22:21 | |
jnthn | pmichaud: whoa whoa we did that in the last week?! :) | ||
tadzik | time flies | ||
masak | lie can arrow. | ||
jlaire | fruit files / like a banana | ||
flies | 22:22 | ||
22:24
jevin left
|
|||
felher | rosettacode.org/wiki/Align_columns#Perl_6 , the second way. As i don't know Perl6 all that well, critics are highly welcome. | 22:24 | |
jnthn | nom: proto rbd(|$) { * }; multi rbd(Positional $p) { say "ok positional" }; multi rbd(Associative $a) { say "ok associative" }; rbd(my @a); rbd(my %h); | 22:25 | |
p6eval | nom: OUTPUT«No type check cache and no type_check method in meta-objectcurrent instr.: 'rbd' pc 463 ((file unknown):30842368) (:1)» | ||
22:26
stepnem left,
jevin joined
|
|||
tadzik | Files=53, Tests=478, 69 wallclock secs ( 0.36 usr 0.14 sys + 64.72 cusr 3.92 csys = 69.14 CPU) | 22:27 | |
4 TODO tests passed | |||
jnthn | tadzik: I saw some extras pass too | ||
22:27
Vlavv_ left
|
|||
pmichaud | tadzik: then yes, I'd say it's okay to be targeting nom. | 22:30 | |
jnthn: yes, in the last week. I basically looked at the nom log entries since Jun 20. :) | |||
tadzik | jnthn: does nom give any more proper way for "build it in compile time, expose it in runtime"? | 22:31 | |
dalek | kudo/nom: 4fc90f1 | jonathan++ | src/Perl6/Metamodel/ParametricRoleHOW.pm: Fix role-based dispatch up a bit more. Should be able to distinguish by Positional and Associative now. |
||
jnthn | tadzik: It's still more work that it will be with full-blown serialization. | 22:32 | |
tadzik: But it's far easier than in master. | |||
mberends | do remember that the 478 tests include 47 skips and 14 todos, there are now 417 passes (from tools/test_summary.pl) | ||
22:33
stepnem joined
|
|||
lichtkind | thou: back? | 22:33 | |
thou | yes | ||
so ... basics, huh? | |||
jnthn | pmichaud: That patch hopefully lets you do slicing. | ||
pmichaud | jnthn: testing | 22:34 | |
jnthn | pmichaud: I didn't make sigils map to roles yet | 22:35 | |
pmichaud | no problem, I'm just testing the basic type checking on $vars | ||
22:36
PacoLinux left
|
|||
jnthn | pmichaud: The one I pasted above that failed works. | 22:37 | |
nom: proto rbd(|$) { * }; multi rbd(Positional $p) { say "ok positional" }; multi rbd(Associative $a) { say "ok associative" }; rbd(my @a); rbd(my %h); | |||
p6eval | nom: OUTPUT«No type check cache and no type_check method in meta-objectcurrent instr.: 'rbd' pc 463 ((file unknown):10497536) (:1)» | ||
jnthn | ENOTYET :) | ||
pmichaud: ^ that one works locally (and with the patch) | |||
pmichaud | it's not working here | ||
nopaste coming | |||
oh, wait | |||
gist.github.com/1050030 | 22:38 | ||
jnthn | oh | 22:39 | |
er | |||
:/ | |||
Yeah, roles are "magically" meant to be narrower than..Mu? Any? | |||
pmichaud | Any in this case, yes? | ||
22:40
mj41 left
|
|||
jnthn | rakudo: role Foo { }; say Foo ~~ Mu; say Foo ~~ Any; | 22:40 | |
p6eval | rakudo 1fcb14: OUTPUT«Bool::TrueBool::True» | ||
jnthn | rakudo: role Foo { }; say Foo ~~ Cool | ||
p6eval | rakudo 1fcb14: OUTPUT«Bool::True» | ||
jnthn | rakudo: role Foo { }; say Foo ~~ Int | ||
p6eval | rakudo 1fcb14: OUTPUT«Bool::False» | ||
jnthn | hm | ||
22:40
eternaleye left
|
|||
jnthn | I wonder why we made it narrower than Cool. | 22:41 | |
22:41
eternaleye joined
|
|||
lichtkind | thou: no www.perlfoundation.org/perl6/index...._io_tablet | 22:42 | |
thou: just did a few lines | |||
jnthn | pmichaud: Will make it narrower than Any for now | 22:43 | |
thou | lichtkind: OK | ||
masak | 'night, #perl6 | ||
pmichaud | later, masak | ||
22:43
masak left
|
|||
tadzik | jnthn: how far are we from full-blown serialization? | 22:45 | |
I'll probably need to nag you a bit in the nearish time :) | |||
jnthn | tadzik: A while. It's post-nom, and probably not top of the post-nom list. | 22:46 | |
tadzik: That is, don't wait for it. :) | 22:47 | ||
tadzik: What sort of things do you need to assemble? | |||
dalek | kudo/nom: eda6101 | jonathan++ | src/Perl6/Metamodel/ParametricRoleHOW.pm: is_composed in ParametricRoleHOW so we can stub a role. |
22:48 | |
kudo/nom: 144660f | jonathan++ | src/core/traits.pm: Stub Positional/Associative/Callable in preparation for making sigils map to roles. Need to do this really early. |
|||
22:48
jdhore left
|
|||
lichtkind | thou: did you correct something? | 22:49 | |
thou | lichtkind: nope | ||
lichtkind: stuck w/ some work stuff at the moment | |||
... customers .... ;-) | 22:50 | ||
pmichaud | jnthn: I still get the same result... ? | 22:51 | |
gist.github.com/1050054 | 22:52 | ||
lichtkind | thou: its much better now i think | ||
tadzik | jnthn: build a POD AST and expose it to runtime | ||
jnthn | pmichaud: Above patches weren't The Fix You're Looking For :) | 22:54 | |
pmichaud | oh. | ||
pmichaud moves along. :) | |||
jnthn | tadzik: What do the AST nodes look like, ooc? | 22:59 | |
thou | lichtkind: what's better? | 23:01 | |
lichtkind: afaik i didn't touch it :-) | |||
jnthn | pmichaud: Patch coming up, I think. Just spectesting. | 23:03 | |
pmichaud: My brane exploded a little and I had to go draw myself a diagram to make it happy again :) | |||
tadzik | jnthn: github.com/tadzik/gsocmess/blob/ma...Actions.pm at the top | 23:04 | |
jnthn | (First effort caused the multi-dispatcher to tell me I'd got circles in my DAG. :-)) | ||
tadzik: Oh, I think we can handle that fine. | 23:05 | ||
23:05
daniel-s left
|
|||
tadzik | jnthn: care to elaborate? I'm curious :) | 23:06 | |
lichtkind | thou: no i rewrote it its now much more and much better | ||
thou | aaah, OK | 23:07 | |
pmichaud | jnthn: (draw diagram) yeah, I do that a fair bit also :) | ||
jnthn | :) | ||
thou | lichtkind: i'll hope to get to it once i get off the IM with this customer | ||
dalek | kudo/nom: 0035ddb | jonathan++ | / (5 files): Roles should be narrower than Cool/Any/Mu. |
||
jnthn | Yeah, you know you're in trouble when you're drawing a DAG and your pen does a cycle :) | ||
thou | lichtkind: looking forward to learning some more, as I help w/ some editing :-)! | ||
jnthn | tadzik: SymbolTable.pm ;) | ||
tadzik: But basically we do the kinda thing you want to for signatures and parameters and code objects and so on. | 23:08 | ||
pmichaud: That patch should do it. | |||
pmichaud: Your example, and another more complex one I have that does associative into the mix also, should work. | 23:09 | ||
er, *do* work :) | |||
colomon | wooo, nom passes spectest! :) | ||
jnthn | colomon: subset of ;) But yes, it's nice that we're running tests again. :) | ||
tadzik | jnthn: I see | 23:10 | |
colomon | jnthn: oh, I just thought it was 100x faster than master. ;) | ||
tadzik | that's very nice :) | ||
jnthn | tadzik: I can help you out some with those. | ||
colomon | jnthn: passing what spectests are in place is great from the perspective of someone looking to hack on it. | ||
jnthn | colomon: Yes, it's an important mark to have reached. | ||
tadzik: Catch me when you are going to start hacking on it. | 23:11 | ||
tadzik | jnthn: I'm looking at how rakudo uses the SymbolTable. I'll probably ask you about two days from now. Technically, my exam is tomorrow | ||
jnthn | tadzik: Though first step is get those classes into CORE.setting. | ||
tadzik | but that's because it's 1 AM already :) | ||
jnthn | Though as lexical ones. | ||
tadzik | so that doesn't count | ||
jnthn | ;) | ||
OK | |||
tadzik | jnthn: I see | ||
jnthn | We may have some fun with timezones :) | ||
tadzik | $*ST.install_lexical_symbol | 23:12 | |
woooo :) | |||
jnthn | .oO( I guess if I'm this night-owlish in Beijing I'll just look like a normal European ) |
||
pmichaud: Any other things you want me to especially look at? | 23:13 | ||
pmichaud | checking | 23:14 | |
23:14
jdhore joined
|
|||
tadzik | oh, and add_phaser(). So cool | 23:14 | |
jnthn++ | |||
colomon | afk # yapc noms, I hope | 23:15 | |
lichtkind | does promt outputs like say or like print? | ||
jnthn | pmichaud: May have a little time tomorrow in the day also | ||
pmichaud | jnthn: okay. I'm not seeing anything atm other than things already identified. | ||
jnthn | pmichaud: OK | ||
tadzik | sleepytime & | ||
jnthn | I'm just looking at sigil based dispatch. | 23:16 | |
tadzik: night o/ | |||
pmichaud | having positional work should open up a lot of stuff (and spectests) | ||
jnthn | pmichaud: Other priorities for me are $_/$!/$/ working | ||
tadzik | 'night and thank you! | ||
jnthn | pmichaud: (since they're "magically" handled...) | ||
23:16
stepnem left
|
|||
jnthn | That'll open up a bunch more tests. | 23:16 | |
pmichaud | I've been thinking about metaops a bit more | ||
23:17
pmurias left
|
|||
pmichaud | instead of installing into the package, we might be able to just generate closures at runtime and cache them | 23:17 | |
23:17
donri left
|
|||
jnthn | hm | 23:17 | |
Could work | |||
pmichaud | or even at compile time, really. | 23:18 | |
jnthn | Though why not...yes, that :) | ||
It's FAR easier to cache something at compile time, in a way. | |||
pmichaud | right | ||
jnthn | Just shove 'er in SC. :) | ||
Like you did for whatevercodes :) | |||
pmichaud | well, I'm not entirely familiar with how "shove 'er in SC" is done :) | ||
but I can follow the whatever_curry template, yes. | |||
jnthn | pmichaud: $*ST.create_code(... | 23:19 | |
er, create_code_object ;) | |||
pmichaud | well, it's the caching that is a bit trickier there :) | ||
with whatever_curry, we don't cache. | |||
jnthn | What do you mean by cache exactly? | ||
pmichaud | do we want a separate closure for every metaop occurrence? | ||
i.e., if someone does += four times, should that be four closures? | |||
jnthn | oh, I see what you mean. | 23:20 | |
Nah | |||
Keep a hash. | |||
Like we do today | |||
But put either the code objects in it, or the SC ref PAST | |||
BUT it needs care. | |||
pmichaud | right | ||
I'm not sure where the hash should go :) | |||
jnthn | Since we need to know when we can't use the cache because somebody did a language tweak. | ||
pmichaud | actually, I'm not too worried about that case. | 23:21 | |
jnthn | Oh | ||
Then :my %*METAOPCACHE; in comp_unit :) | |||
lichtkind | thou: im done for today please have a look | ||
thou | lichtkind: thanks, i will | ||
lichtkind | thanks :) | 23:22 | |
pmichaud | and it's okay for the SC ref PAST to appear multiple times in the past tree? | ||
23:22
bluescreen10 joined
|
|||
thou | lichtkind: my goal: 1) all of the IO tablet; 2) the rest of the punctuation in Index. :-) | 23:22 | |
pmichaud | (I'm thinking that's why it exists, yes ) | ||
jnthn | pmichaud: Of course, that's...right :) | ||
pmichaud | perfect | ||
I'll likely give that a shot in the next day or so. | |||
23:22
rindolf left
|
|||
jnthn | pmichaud: If you're worried about multiple PAST node occurences, just keep the code object in the hash and $*ST.get_object_sc_ref_past($code_object) | 23:23 | |
pmichaud | okay | ||
jnthn | It's actually only a single PAST::Op that you get there, iirc. | ||
(e.g. what that method produces) | 23:24 | ||
pmichaud | I'll give it a shot with op= | ||
jnthn | get_object_sc_ref_past is basically your way of getting hold of anything that's in the SC. | ||
But at the moment it must be an SC root node. | |||
Code objects, signatures, parameters and constants always will be. | 23:25 | ||
As will type objects. | 23:26 | ||
pmichaud | Positional seems to work for me now. | ||
jnthn++ | |||
I can do slices :) | |||
23:27
stepnem joined
|
|||
jnthn | \o/ | 23:27 | |
pmichaud | time for dinner here | 23:29 | |
bbiaw | |||
[Coke] | pmichaud++ | 23:30 | |
jnthn++ | |||
dalek | kudo/nom: f670236 | jonathan++ | src/Perl6/Actions.pm: Dispatch by sigil. |
23:36 | |
kudo/nom: d6c905b | jonathan++ | / (2 files): Fix &infix:<cmp> proto. |
23:41 | ||
pmichaud | we'll want to fix the protos for the other operators, too :) | 23:42 | |
jnthn | pmichaud: Some | 23:43 | |
pmichaud: Thing is... | |||
pmichaud: infix:<+> has 0, 1 and 2 arity | |||
pmichaud: Maybe it should be infix:<+>($?, $?) | |||
So .arity is 0 but .count is 2 | |||
pmichaud | that works for me | ||
jnthn | The proto sig has to admit all that the multi one would. | 23:44 | |
*ones | |||
Anyway, that patch shows the way. :) | |||
pmichaud: In a routine, $_, $! and $/ default to empty rw scalars, yes? | 23:45 | ||
pmichaud: And in a nested block it's fresh scalars, with the outer's value assigned, rather than a binding? | 23:46 | ||
pmichaud | I think it's a binding | ||
jnthn | Ah | ||
OK, that's even easier | |||
pmichaud | it's a is rw binding | ||
jnthn | Well, it doesn't make much difference. :) | ||
(as in, to implementation difficulty) | |||
:) | |||
pmichaud | I'm not sure about $! and $/, but for $_ it's certainly a binding | 23:47 | |
jnthn | ah | ||
pmichaud | we expect modifications of $_ in a nested block to affect $_ in the outer | ||
jnthn | Yeah | ||
pmichaud | I'm not sure what will happen with $/, I need to review that in light of regex matches | 23:48 | |
jnthn | I'll just Do Something for now and we can diddle it later. | 23:49 | |
pmichaud | yes, that's what I was trying to say (but not very well) | ||
a bit distracted on this end | |||
jnthn | np | ||
pmichaud | okay, we're really heading off to dinner now. | 23:53 | |
sorear | jnthn: $/ should default to something rw | 23:56 | |
jnthn: $/ = ... is syntactically illegal, it makes little sense to have $/ be a rw container | |||
matches should probably bind it | |||
jnthn | std: $/ = 42 | ||
p6eval | std 37a0cdd: OUTPUT«===SORRY!===Unsupported use of $/ variable as input record separator; in Perl 6 please use the filehandle's :irs attribute at /tmp/jdg6zWQNPz line 1:------> $/⏏ = 42Parse failedFAILED 00:01 118m» | 23:57 | |
jnthn | oh :) | ||
sorear | *should default to something ro | 23:58 |