»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
rangerprice | Perl 6 will have more features than Python ? | 00:06 | |
skids | Heheh. We don need no stinkin basics. | 00:09 | |
skids cannot speak to what constitutes a "feature", or Python | 00:10 | ||
flussence | African or European python? | 00:12 | |
rangerprice | Hahahaha | ||
00:12
raiph left
|
|||
rangerprice | Another question, Perl 6 will have a increased speed performance ? | 00:13 | |
flussence | increased relative to what? | ||
rangerprice | relative to Perl 5 | ||
00:14
raiph joined
00:15
laouji joined
00:17
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
skids | I think currently the answer is it depends on how many frameworks/modules you usually load into Perl5 to get things that are builtin to Perl6. | 00:20 | |
timotimo | it depends drastically on what you're doing | 00:25 | |
if you have a very tight loop with numeric code and you use native integers, you can be quite a bit faster with rakudo + moarvm or rakudo + jvm | |||
if you're doing something that parallelizes well and you have enough cores, you can end up faster than perl5 by a bit | |||
the GLR will, once finished, improve performance related to lists quite a bit, which makes me quite excited every time i think about it :P | 00:26 | ||
00:26
raiph left
|
|||
timotimo | other than that, you'd really have to go on a case-by-case basis | 00:27 | |
i haven't done a run of the full benchmark suite in a long time | 00:28 | ||
rangerprice | Today perl 6 is a general purpose language. But why perl 6 is not specialized into a specific purpose ? like speed performance, concurrency, or system administration ? | ||
timotimo | and tux's Text::CSV stuff is always noticably slower in the perl 6 version compared to the different perl 5 versions :( | ||
that's not the perl way :) | |||
rangerprice | Oh | 00:29 | |
00:38
laouji left,
laouji joined
00:40
llfourn joined
00:42
laouji left,
laouji joined
00:45
llfourn left,
dnmfarrell joined
|
|||
ugexe | timotimo: zef works on nom and glr | 00:47 | |
timotimo | that's excellent news! | 00:50 | |
p6weekly.wordpress.com/2015/08/20/...-of-steam/ - published | 00:54 | ||
ugexe | anyone with a .travis.yml might want to add an appropriate line to test on GLR | 00:55 | |
timotimo++ | 00:57 | ||
00:57
sno left
|
|||
timotimo | i feel like i've forgotten a bunch of stuff, but that feeling's always there anyway | 00:57 | |
zef takes quite a bit longer to install than panda does :P | 01:03 | ||
dnmfarrell | Hey all I'm trying to create a pseudopod grammar with an "=include" token that has a filepath to another .pod file. I want the grammar to parse that pod file and insert the match object to the current parse tree. Is that possible? Here's what i've got so far: "token include { ^^\=include \h+ <singleline_text> \n { $/.make(self.parsefile( $/<singleline_text>, :actions($*ACTIONS) )); } }" | ||
timotimo | huh | 01:04 | |
arnsholt | I'd do it as an action | ||
timotimo | ugexe: i didn't end up with a "zef" binary in the folder it's supposed to end up in | ||
you may want to .ast after the ) belonging to parsefile | |||
oh | 01:05 | ||
you want the match object | |||
that's okay then | |||
arnsholt | Just an action method for the include directive, which can "make PseudoPod.parsefile(...)" | ||
dnmfarrell | arnsholt: but the action method is more to do with transformation pod --> html, pod --> markdown etc. The "include" directive is part of the grammar | 01:06 | |
arnsholt | Aha, in that case I don't have any terribly good ideas | 01:08 | |
dnmfarrell | I guess I could do it that way, but then i'd have to have the "include" action class everywhere I used the grammar. Hmm, maybe that's a pragmatic way forward... | ||
arnsholt | Except maybe factor it so that you can use the actions to build the AST, and have a separate AST transformer to convert it to different formats | ||
dalek | kudo-star-daily: 6956f2b | coke++ | log/MoarVM- (5 files): today (automated commit) |
01:09 | |
ugexe | the zef process takes so long because the test suite builds and test itself | 01:12 | |
timotimo | mhm | ||
ugexe | thanks for the tip on the bin though... that seems to change daily | 01:14 | |
timotimo | oh? | ||
01:15
pecastro joined
|
|||
ugexe | usually related to hyperoperators it seems. | 01:17 | |
01:19
Sgeo_ joined
|
|||
ugexe | yea... i have something like $*CWD.child("bin").ls(:f, :r).grep(!*.starts-with(".")) which shoes the bin, but tacking on a >>.IO does nothing (iterator>>.IO) | 01:19 | |
shoes/shows | 01:20 | ||
01:22
Sgeo left
01:23
robinsmidsrod joined
|
|||
dnmfarrell | hmm is it possible to inject the parsed pod from =include into $/.CURSOR? | 01:26 | |
ugexe | fixed anyway though. thanks | ||
skids | my %a = { :a, :b, :c }; %a.pairs>>.say.say; # >>. being somewhat broken is behind a few GLR test failures as well. | 01:31 | |
erg. | |||
m: my %a = { :a, :b, :c }; %a.pairs>>.say.say; # >>. being somewhat broken is behind a few GLR test failures as well. | |||
GLRelia | rakudo-moar 7880bb: OUTPUT«» | ||
camelia | rakudo-moar 93418e: OUTPUT«Odd number of elements found where hash initializer expected in block <unit> at /tmp/4sIayVILz7:1» | ||
skids | Oh heh, I found something broken two ways on both bots. | 01:32 | |
That one is reaking S02-types/isDEPRECATED at the very least. | 01:33 | ||
01:35
Averna left
|
|||
ShimmerFairy | dnmfarrell: are you aware of the P<> formatting code? It's meant to embed things into a Pod file, like standardized copyright info for instance. If you want to make something like =include , you could possibly look into spelling it as P<> | 01:37 | |
dnmfarrell | ShimmerFairy: no I'm not, P<> is a Perl6 pod formatting code? | 01:39 | |
ShimmerFairy | It would have the advantage of being compatible with regular Pod6, if nothing else :) (though rakudo's current parser doesn't support it, sadly) | ||
dnmfarrell | ah | ||
ShimmerFairy | dnmfarrell: yes, you can see here: design.perl6.org/S26.html#Placement_links | ||
dnmfarrell | I wonder why it's a formatting code and not a command block. That could create issues if it pointed at a pod file containing command blocks but it was in the middle of a paragraph | 01:41 | |
I guess you could inject blank lines | 01:42 | ||
ShimmerFairy | dnmfarrell: it is interesting, I'll admit, but I think the idea is that it's the "opposite" of a L<> code; instead of pointing you out of the document, it pulls something into the document. | ||
01:42
dayangkun joined
|
|||
dnmfarrell | Yeah, very curious, thanks for the link! | 01:42 | |
ShimmerFairy | dnmfarrell: the example S26 gives for P<> isn't formatted very clearly, but putting P<> as its own paragraph is exactly what's demonstrated | ||
You're welcome. I don't know for sure what your plans are with =include, but I just wanted to point out that something like what you were going for is already specified in the design docs :) | 01:43 | ||
dnmfarrell | I'm writing a pseudopod extension for Perl5 pod github.com/dnmfarrell/Pod-Perl5/bl...Grammar.pm | 01:47 | |
ShimmerFairy | And for what it's worth I think a directive would be clearer (though I guess the more Perl6-y name would be =use :P), however P<> seems harmless enough to let stay in the spec. (P<toc:> for a table of contents looks especially useful) | ||
dnmfarrell: interesting, is it an extension for Pod6 or Pod5? (pseudopod, looking quickly, is for books and such, right?) | 01:49 | ||
If Pod5, interesting choice writing it in Perl 6 :) | |||
dnmfarrell | Well version 0.1 was in Pod::Pseudopod, 'twas a painful experience | 01:50 | |
Pod::Simple literally has a module called "black box" | |||
Writing it in Perl 6 was just so much easier. But now I want more features, hence the extension :) | 01:51 | ||
ShimmerFairy | dnmfarrell: well, if you're ever adding a Pseudopod-like thing for Pod6, I'd be interested. I'm actually in the middle of writing a replacement Pod6 parser for rakudo (not public yet, but hopefully soon), so Pod6 design question will be on my mind for a while :) | 01:52 | |
*questions | |||
dnmfarrell | Interesting ... maybe I should just use Pod6 :) Is there much left to implement of the spec? | 01:53 | |
ShimmerFairy | dnmfarrell: unfortunately, I would say so. P<> like I said isn't supported, and neither is M<> (M<> is a tag meant for modules to plug in whatever formatting code they want, e.g. M<mymodule:stuff> is meant to generate a specific class with "stuff") | 01:54 | |
dnmfarrell: If you want to play around with Pod6, then it's perfectly fine. But if you have Serious Documentation™ in Pod5, I wouldn't fully switch that stuff over just yet. | 01:55 | ||
dnmfarrell | ShimmerFairy: thanks for the info. I'm going re-read the Pod6 spec, I think there are some ideas I can borrow for my project :) | 01:57 | |
ShimmerFairy | Looking at the Pseudopod tutorial, that T<> tag for citation would be implemented as M<citation:my-source> , as an example. | ||
dnmfarrell: it's worth a read for sure :) | |||
Also, G<> and H<> would be M<sup:> and M<sub:>, respectively. The idea of the M<> is that M<Foo:stuff> would generate an object of type Pod::FormattingCode::Named::Foo, in case you're curious :) | 02:00 | ||
02:03
cognominal joined
02:18
Kyun joined,
Kyun is now known as Kyunsiu,
Kyunsiu is now known as Kyun_
02:20
BenGoldberg left
02:22
abaugher left,
abaugher joined
02:27
noganex joined
02:30
noganex_ left
02:31
cognominal left
02:35
kaare_ joined
02:38
llfourn joined
02:43
jack_rabbit joined
02:51
jack_rabbit left
02:56
dnmfarrell left
03:03
TEttinger joined,
jack_rabbit joined
03:05
[Sno] joined
03:14
CQ_ joined
|
|||
jnthn | good...whatever time this is...#perl6 :) | 03:17 | |
yoleaux | 19 Aug 2015 19:06Z <nine> jnthn: what is .flat actually supposed to mean? Array has a flat method that does Seq.new(self.iterator) while inheriting .iterator from List. List itself on the other hand does not use its own iterator for .flat and inherits Iterable's instead. | ||
03:17
cognominal joined,
aborazmeh left,
CQ left
03:18
CQ_ is now known as CQ
|
|||
jnthn | .tell nine because an Array is a bunch of Scalar containers, we know that nothing will ever flatten, so instead of type-testing everything against Iterable we simply just give back an iterator over the values (and if you use binding to defeact that and put an Iterable directly in there, on your own head be it) | 03:19 | |
yoleaux | jnthn: I'll pass your message to nine. | ||
03:26
laouji left
|
|||
skids | jnthn: should Array not allow BIND-POS of uncontainerized things then? It's been unclear to me how strongly it polices Scalars, whether that was always or just via the iteration related APIs. | 03:35 | |
abaugher | I have a hash that's hitting my RAM limits. Is there a way to tie a hash to a file, like the old dbm routines or DB_File? | 03:36 | |
jnthn | skids: It doesn't police it that strongly. | 03:37 | |
skids: We've long had := as being fairly low level | 03:38 | ||
skids: The only place it enforces it is assignment. | |||
skids | OK. | ||
jnthn | blunchfast & | ||
skids | Yum. Though as a word, perhaps does not inspire appetite :-) enjoy. | 03:39 | |
03:44
aborazmeh joined,
aborazmeh left,
aborazmeh joined
03:45
Loren_ joined
|
|||
dalek | c: 59e885d | skids++ | lib/Language/containers.pod: Add an admonition against uncontainerized binding to array elements |
04:04 | |
04:06
skids left
04:07
abaugher left
04:08
abaugher joined
04:26
laouji joined
04:29
rangerprice left
04:44
AlexDaniel left
04:51
khw left
|
|||
ugexe | smoke testing ecosystem on glr to testers.perl6.org. it doesnt look too bad so far | 05:12 | |
05:21
araujo left
05:23
araujo joined
05:28
Kyun_ left
05:29
Kyun_ joined,
[Sno] left
05:37
rurban_ joined
05:46
rurban joined
06:05
diana_olhovik_ joined
06:08
xinming joined
06:10
dayangkun left
|
|||
moritz | abaugher: there's certainly nothing in core; you could take a look at modules.perl6.org if something already exists | 06:11 | |
06:13
dayangkun joined
|
|||
masak | morning, #perl6 | 06:13 | |
masak .oO( "<+dalek> doc: Add an abonimation" ) | |||
lizmat | moritz masak o/ | 06:16 | |
dalek | kudo/glr: 2a79bce | moritz++ | src/core/metaops.pm: Fix right-assoc reduce meta op |
||
moritz | \o lizmasak | ||
lizmat | .oO( all of a suddent, that sounds very japanese :-) |
06:17 | |
masak .oO( arre-gateaux ) | 06:18 | ||
lizmat | :-) | 06:21 | |
m: my @a = 1,2,3; say @a.sort>>.Str | 06:26 | ||
GLRelia | rakudo-moar 2a79bc: OUTPUT«» | 06:27 | |
camelia | rakudo-moar 93418e: OUTPUT«1 2 3» | ||
lizmat | m: my @a = 1,2,3; say @a.sort.WHAT | ||
GLRelia | rakudo-moar 2a79bc: OUTPUT«(Seq)» | ||
camelia | rakudo-moar 93418e: OUTPUT«(Parcel)» | ||
lizmat | seems like doing a >> on a Seq is not working | ||
06:27
cognominal left
|
|||
moritz | m: say (1, 2, 3).sort.List.perl | 06:31 | |
GLRelia | rakudo-moar 2a79bc: OUTPUT«(1, 2, 3)» | ||
camelia | rakudo-moar 93418e: OUTPUT«(1, 2, 3)» | ||
moritz | looks like deepmap wasn't really GLRd yet | 06:32 | |
06:37
domidumont joined
06:41
domidumont left,
domidumont joined
|
|||
jdv79 | didn't jnthn mention hyper wasn't fleshed out yet? | 06:42 | |
even in that gist maybe | 06:43 | ||
masak | there's a gist? | 06:44 | |
nine | jdv79: I fixed up most of hyper yesterday. | ||
yoleaux | 03:19Z <jnthn> nine: because an Array is a bunch of Scalar containers, we know that nothing will ever flatten, so instead of type-testing everything against Iterable we simply just give back an iterator over the values (and if you use binding to defeact that and put an Iterable directly in there, on your own head be it) | ||
nine | jnthn: thanks for clarification :) | ||
I guess I should have a look at Hash stuff next. It does have some strangeness to it. And I'm not particularly fond of Hash((:a(1))) running into an endless loop... | 06:46 | ||
jdv79 | i meant the thing glr was before it was in the repo | 06:48 | |
JimmyZ | that is about .hyper() | 06:51 | |
vs .race() | |||
jdv79 | >> is hyper ^H, no? | 06:53 | |
JimmyZ | it is hyper op | 06:54 | |
I think you mean threaded hyper :) | 06:56 | ||
06:56
xfix joined
|
|||
jdv79 | when iis it not? | 06:57 | |
nine | moritz++ # down to 209 failing files | 06:58 | |
07:02
[Sno] joined
07:03
araujo_ joined,
araujo left,
abraxxa joined
07:04
araujo_ left
|
|||
laben | timotimo++ for newest p6weekly | 07:04 | |
\o/ hello there #perl6 | |||
lizmat | indeed, timotimo++ | ||
laben o/ | |||
07:05
araujo_ joined
|
|||
nine | laben: sorry it took you so long to find the s/:=/=/ fix for the weird named return value thingy in panda. I've had the patch locally already :/ | 07:05 | |
laben | nine: O.o well, no worries. at least i knew what to do when i got to the other file | 07:07 | |
JimmyZ | github.com/rakudo/rakudo/commit/e9...6487ddR156 # Does this need s/=/:=/, I see only here is not := | ||
laben | nine: could you check the >> not iterating over Seq thing? | ||
nine | laben: I can have a look this evening | 07:08 | |
JimmyZ | I mean in the metaops.pm | ||
laben | nine: it could very well fix some problem the modules have (e.g. Shell::Command) without needing to change them to .map | 07:09 | |
nine | laben: that's why I stopped looking at panda and focused on rakudo instead. I'd much rather fix the underlying issues than commit workarounds :) | 07:13 | |
07:17
espadrine joined
|
|||
laben | m: dd [(), 1, 2] | 07:18 | |
GLRelia | rakudo-moar 2a79bc: OUTPUT«[$(), 1, 2]» | ||
camelia | rakudo-moar 93418e: OUTPUT«$ = [1, 2]» | ||
lizmat | I know that fixing Sec>>.method will fix at least the Deprecation tests failures | ||
m: dd [slip(), 1, 2] | 07:19 | ||
GLRelia | rakudo-moar 2a79bc: OUTPUT«[1, 2]» | ||
camelia | rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Dt1NPE_hIAUndeclared routine: slip used at line 1. Did you mean 'flip'?» | ||
nine | Well it can't be that hard, can it? :) | ||
lizmat | () is not a slip() | ||
nine | m: dd [Slip(), 1, 2] | ||
GLRelia | rakudo-moar 2a79bc: OUTPUT«[Slip(Any), 1, 2]» | ||
camelia | rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HbXd_54rsuUndeclared name: Slip used at line 1» | ||
laben | is it expected that the empy list doesn't get flattened/purged away? | 07:20 | |
nine | laben: yes, we have much less implicit flattening now | ||
lizmat | laben: after GLR, I think that's the case | ||
laben | ok | ||
dalek | kudo/glr: 9c599b4 | (Jimmy Zhuo)++ | src/core/metaops.pm: s/=/:=/ There are many similar code use :=, so no reason here is not :) |
07:21 | |
kudo/glr: 1fbbd02 | lizmat++ | src/core/metaops.pm: Merge pull request #503 from zhuomingliang/patch-3 s/=/:=/, there are many similar code use :=, so no reason here is not :) |
|||
laben | m: my @a = [(), 1, 2]; @a = @a>>.flat; dd @a | 07:24 | |
GLRelia | rakudo-moar 2a79bc: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/O2piGqHabL:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«@a = [[1, 2]]<>» | ||
laben | m: my @a = [(), 1, 2]; @a = @a.map(*.flat); dd @a | 07:25 | |
camelia | rakudo-moar 93418e: OUTPUT«@a = [1, 2]<>» | ||
GLRelia | rakudo-moar 2a79bc: OUTPUT«@a = [().iterator, (1).iterator, (2).iterator]» | ||
laben | m: my @a = [(), 1, 2]; @a = @a.map(flat *); dd @a | ||
GLRelia | rakudo-moar 2a79bc: OUTPUT«Cannot call map(Array: List); none of these signatures match: ($: &block, *%_) (HyperIterable:D $: &block, *%_) in block <unit> at /tmp/pOu1UepTbj:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«Cannot call map(Array: Whatever); none of these signatures match: ($: Whatever, *%_) ($: &block, :$label, *%_) in block <unit> at /tmp/_heb95EsU2:1» | ||
laben | m: my @a = [(), 1, 2]; @a = @a.map(flat $_); dd @a | ||
GLRelia | rakudo-moar 2a79bc: OUTPUT«Cannot call map(Array: List); none of these signatures match: ($: &block, *%_) (HyperIterable:D $: &block, *%_) in block <unit> at /tmp/MAeYxmgzx1:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«Cannot call map(Array: Any); none of these signatures match: ($: Whatever, *%_) ($: &block, :$label, *%_) in block <unit> at /tmp/C_brXa_8LT:1» | ||
laben | m: my @a = [(), 1, 2]; @a = @a.map({flat $_}); dd @a | ||
GLRelia | rakudo-moar 2a79bc: OUTPUT«@a = [$($()), $(1), $(2)]» | ||
camelia | rakudo-moar 93418e: OUTPUT«@a = [[1, 2]]<>» | ||
07:26
woolfy joined,
woolfy left
|
|||
dalek | kudo/glr: 7b80988 | (Stefan Seifert)++ | src/core/Hash.pm: Fix endless recursion in Hash coercer Fixes hang in Hash((:a)) and (:a).Hash |
07:26 | |
nine | That was easy :) | ||
lizmat | :-) | 07:29 | |
laben | is there an easy way to remove that empty list when already in an array? | 07:30 | |
or do i need not to generate it at all? | |||
07:33
darutoko joined,
Ven joined
|
|||
dalek | ast: d0f48cd | (Jimmy Zhuo)++ | integration/advent2012-day10.t: .lines returns Seq now, so fix the test. |
07:33 | |
JimmyZ | ^^ please review :) | ||
07:34
virtualsue joined
|
|||
JimmyZ | not whether we also need to fix perl6advent.wordpress.com/2012/12/...-me-on-it/ or not | 07:34 | |
sorry , wrong branch | 07:35 | ||
07:36
Ven left
|
|||
lizmat | JimmyZ: d0f48cd doesn't feel right to me, fwiw | 07:36 | |
feels like a workaround for a deeper issue | 07:37 | ||
that needs to be fixed | |||
dalek | ast: 5a54795 | (Jimmy Zhuo)++ | integration/advent2012-day10.t: Revert ".lines returns Seq now, so fix the test." This reverts commit d0f48cde653fa3add9c4434f5363d475a76638aa. |
07:39 | |
lizmat | m: my @a = (1,2,3).map(*.Str); dd @a # works as expected | 07:40 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«@a = ["1", "2", "3"]» | ||
camelia | rakudo-moar 93418e: OUTPUT«@a = ["1", "2", "3"]<>» | ||
lizmat | m: my ($a,@a) = (42,(1,2,3).map(*.Str)); dd $a, @a # something wrong here | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«$a = 42This Seq has already been iterated, and its values consumed in block <unit> at /tmp/hJYioNhZeq:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«$a = 42@a = ["1", "2", "3"]<>» | ||
JimmyZ | hmm, look like it is | 07:41 | |
07:45
RabidGravy joined,
Ven joined
|
|||
nine | lizmat: FWIW I've committed similiar spec test changes where we return a Seq now and this was compared with is-deeply. I don't see any other way than .List it before the comparison. We definitly want it to be a Seq and is-deeply rightfully complains that it's not a list. | 07:49 | |
lizmat: I may be wrong there, but that's as far as my understanding of the GLR goes. | 07:50 | ||
JimmyZ | m: my ($a,@a) = (42,(1,2,3).map(*.Str)); say @a.WHAT | 07:52 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«(Array)» | ||
camelia | rakudo-moar 93418e: OUTPUT«(Array)» | ||
JimmyZ | m: my ($a,@a) = (42,(1,2,3).map(*.Str)); dd @a | 07:53 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/NytjYLdwsd:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«@a = ["1", "2", "3"]<>» | ||
07:55
abraxxa left,
abraxxa joined
08:18
laouji left
08:22
laouji joined
|
|||
masak | m: say Seq ~~ List | 08:22 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«False» | ||
camelia | rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/66hAvrtyZsExpected a term, but found either infix ~~ or redundant prefix ~ (to suppress this message, please use a space like ~ ~)at /tmp/66hAvrtyZs:1------> 3say Seq ~~7⏏5 List» | ||
masak | heh. | ||
nine | lizmat: nice coincidence. Fixing >> will mean to just continue where I left off yesterday, i.e. HYPER(\op, \obj) | 08:27 | |
08:30
Ven left
|
|||
masak | m: repeat -> $thing { say $thing.^name } while False | 08:30 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«Mu» | ||
camelia | rakudo-moar 93418e: OUTPUT«Mu» | ||
masak | "Since the loop executes once before evaluating the condition, the bound parameter will be undefined that first time through the loop." | 08:31 | |
"undefined" is kinda vague there. doesn't say whether it'd be Any or Mu. | |||
lizmat | nine: but I won't be doing, as we're off to YAPC::Asia first evening talks / prereg / social | ||
laben | masak: yesterday i went and made a patch to make ufo compatible with glr too gist.github.com/bfac93f00649f1609ec2 | 08:32 | |
08:32
aborazmeh left
|
|||
masak | laben: if you send a PR, I will merge it. | 08:33 | |
08:37
Kyun_ left
|
|||
laben | masak: github.com/masak/ufo/pull/27 | 08:46 | |
masak | merged. | 08:50 | |
m: my %h = <a b c> Z 1, 2, 3; say %h.perl | |||
GLRelia | rakudo-moar 7b8098: OUTPUT«Odd number of elements found where hash initializer expected in block <unit> at /tmp/QQ6G8MWJuU:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«{:a(1), :b(2), :c(3)}<>» | ||
laben | m: my %h = <a b c> Z=> 1, 2, 3; say %h.perl | 08:51 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«{:a(1), :b(2), :c(3)}» | ||
camelia | rakudo-moar 93418e: OUTPUT«{:a(1), :b(2), :c(3)}<>» | ||
08:54
espadrine left
09:04
mr-foobar left
09:05
zakharyas joined
09:11
rarara joined
|
|||
nine | lizmat: oh, I meant that I would continue myself. Planned for this evening :) | 09:14 | |
masak: that's because you get an iterator from Z | |||
m: say (<a b c> Z (1, 2, 3)).perl | 09:15 | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«(("a", 1), ("b", 2), ("c", 3)).iterator» | ||
camelia | rakudo-moar 93418e: OUTPUT«(("a", 1), ("b", 2), ("c", 3))» | ||
laben | is it possible to conditionally define a sub? i tried inside an if, but it doesnt work, even in a BEGIN block | 09:18 | |
nine | Oh, but EnumMap.STORE already takes an iterable. Just not an iterator | 09:20 | |
09:22
espadrine joined
|
|||
nine | laben: I really have to ask why you would want to do this... | 09:22 | |
timotimo | o/ | 09:23 | |
JimmyZ | m: my &foo = sub(@a) { ... } without &foo | 09:25 | |
camelia | rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jcLdArHU4HVariable '@a' is not declaredat /tmp/jcLdArHU4H:1------> 3my &foo = sub(7⏏5@a) { ... } without &foo» | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yVSC0R30MjVariable '@a' is not declaredat /tmp/yVSC0R30Mj:1------> 3my &foo = sub(7⏏5@a) { ... } without &foo» | ||
JimmyZ | m: my &foo = -> @a { ... } without &foo | ||
GLRelia | ( no output ) | ||
camelia | ( no output ) | ||
laben | nine: slip did not exist before glr and i need it for a change in panda | ||
timotimo | i'm glad people appreciate the weekly even if it's late and written with a headached and tired brane :) | ||
laben | nine: wanted to keep retrocompat | ||
JimmyZ | m: sub foo(@a) { ...} ; my &foo = -> @a { ... } without &foo | 09:26 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«Potential difficulties: Redeclaration of symbol &foo at /tmp/c26fHE1gmA:1 ------> 3sub foo(@a) { ...} ; my &foo7⏏5 = -> @a { ... } without &foo» | ||
camelia | rakudo-moar 93418e: OUTPUT«Potential difficulties: Redeclaration of symbol &foo at /tmp/kiMNNbXcPt:1 ------> 3sub foo(@a) { ...} ; my &foo7⏏5 = -> @a { ... } without &foo» | ||
jdv79 | nine: how do you get your fail count? | ||
oh, nm - its back a bit in buffer | |||
i fail 296 | 09:27 | ||
maybe because i used TEST_JOBS=4? | |||
nine | masak: ok, the real problem is that Z returns ("a", 1), ("b", 2), ("c", 3) which is no longer automatically flattened before the assignment to %h | ||
timotimo | so it's trying to build ("a", 1) => ("b", 2)? | 09:28 | |
nine | m: my %h = flat <a b c> Z (1, 2, 3); say %h; | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«a => 1, b => 2, c => 3» | ||
camelia | rakudo-moar 93418e: OUTPUT«a => 1, b => 2, c => 3» | ||
nine | timotimo: yes, and the ("c", 3) is the single element left | ||
m: my %h = <a b> Z (1, 2); say %h; | |||
GLRelia | rakudo-moar 7b8098: OUTPUT«a 1 => b 2» | ||
camelia | rakudo-moar 93418e: OUTPUT«a => 1, b => 2» | ||
timotimo | mhm | ||
nine | I'd say that works as expected? | 09:29 | |
09:30
telex left
|
|||
masak | "Thank you - this FETCH & STORE structure was what I was looking for. Kind of ugly though" -- stackoverflow.com/questions/3166538...s-in-perl6 | 09:31 | |
this mirrors my feelings about Proxy quite well :) | |||
"what I was looking for. kind of ugly" :) | 09:32 | ||
09:32
telex joined
|
|||
masak | m: my %h = flat <a b c> Z 1, 2, 3; say %h.perl | 09:32 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«{:a(1), :b(2), :c(3)}» | ||
camelia | rakudo-moar 93418e: OUTPUT«{:a(1), :b(2), :c(3)}<>» | ||
masak | that works, too. | ||
jdv79 | masak ^H: what would be better? | 09:33 | |
nine | jdv79: I use TEST_JOBS=16 | 09:34 | |
jdv79: I past the spec test output into a cat | grep Wstat | wc -l to count the failing files | 09:35 | ||
jdv79 | ah | 09:36 | |
nine | jdv79: am I missing some using this method? | ||
jdv79 | i don' think so | 09:37 | |
i read the output wrong | |||
i'll check | |||
laben | m: say ::<&slip>:exists | 09:40 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«True» | ||
camelia | rakudo-moar 93418e: OUTPUT«False» | ||
09:46
araujo_ left
09:47
araujo joined,
araujo left
|
|||
jdv79 | whatups with hotels and wifi. you'd think these days it'd be a solved thing... | 09:48 | |
09:49
araujo joined
|
|||
nine | jdv79: if only... | 09:52 | |
jdv79: are you on the glr branch of roast in addition to rakudo? | |||
jdv79 | yes | ||
nine | ok...may have been a simple explanation :) | 09:53 | |
jdv79 | 209? | ||
is that correct? | |||
nine | yep :) | ||
jdv79 | nie | ||
*nice | |||
10:00
FROGGS_ is now known as FROGGS
|
|||
FROGGS | o/ | 10:00 | |
yoleaux | 19 Aug 2015 14:04Z <AlexDaniel> FROGGS: I've been waiting for this! So how does it work now? “<timotimo> froggs changed things in order to make them work differently with regards to output grabbing” | ||
19 Aug 2015 14:05Z <AlexDaniel> FROGGS: I mean, qx// and run. | |||
19 Aug 2015 14:31Z <laben> FROGGS: got a patch for TestML with a fix for latest nom, seems to work already on glr: gist.github.com/986ba2b9e63d1763601d | |||
FROGGS | .tell AlexDaniel I think timotimo meant the state we already had when we spoke last time | 10:01 | |
yoleaux | FROGGS: I'll pass your message to AlexDaniel. | ||
masak | jdv79: what would be better? that same commenter mentioned C#'s get/set as an ideal. | 10:02 | |
FROGGS | .tell laben can you please pull request that here? github.com/perl6-community-modules/testml-pm6/ | ||
yoleaux | FROGGS: I'll pass your message to laben. | ||
FROGGS | laben: or in case you accept the invitation I sent to you, you can push directly | 10:03 | |
.tell laben Or in case you accept the invitation I sent to you, you can push directly | |||
yoleaux | FROGGS: I'll pass your message to laben. | ||
laben | FROGGS: i can make the PR no problems, give me some time | 10:07 | |
yoleaux | 10:02Z <FROGGS> laben: can you please pull request that here? github.com/perl6-community-modules/testml-pm6/ | ||
10:03Z <FROGGS> laben: Or in case you accept the invitation I sent to you, you can push directly | |||
FROGGS | laben: you can do that on the website directly btw | 10:08 | |
masak | moritz: re irclog.perlgeek.de/perl6/2015-07-28#i_10968311 -- I think TypeScript qualifies. | 10:12 | |
blogs.msdn.com/b/typescript/archive...t-1-4.aspx | |||
_itz_ | m: my @s = 1,2,3,4; my $foo = @s[0..1, 2..3].join; warn $foo.perl; | 10:13 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«"1 23 4" in block <unit> at /tmp/lyfGseV56n:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«"1234" in block <unit> at /tmp/xx3y25Y0Fu:1» | ||
jdv79 | so, i have a situation where changing an attr wants to replace self as a side effect | 10:18 | |
is that even possible with p6? | |||
laben | FROGGS: got no inv for github. still, here it is github.com/perl6-community-modules...pm6/pull/4 | ||
jdv79: what do you mean? | 10:19 | ||
10:20
luiz_lha joined
10:21
luiz_lha is now known as Guest57289
|
|||
masak | jdv79: no. | 10:21 | |
10:21
rindolf joined
|
|||
masak | jdv79: "replace self" is even a little bit ill-defined. | 10:21 | |
jdv79: the closest thing I can think of is the `does` operator. | 10:22 | ||
but I'm not sure it works on `self` | |||
jdv79 | in what want ^H? | ||
RabidGravy | you can re-call the same method with a different invocant using callwith | ||
ShimmerFairy | jdv79: if you mean change what a given variable contains, I think you can only do that with a sub (with an is rw attribute, naturally) | ||
masak | m: role R {}; class C { method foo { self does R } }; given C.new -> $c { $c.foo; say $c ~~ R } | 10:23 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«True» | ||
camelia | rakudo-moar 93418e: OUTPUT«True» | ||
masak | oh dear, that worked. | ||
jdv79: yeah, then `does` is your best bet. | |||
jdv79: with it, you can at least turn your object into an anonymous subclass of what it was previously an instance of. | |||
wow, I didn't expect that to work :) | |||
FROGGS | laben: you should have received an invitation now | ||
jdv79 | yeah, I guess i'm trying to figure out how to mangle containers like p5 refs | 10:25 | |
failing so far | |||
masak | `does` gets you quite far, I think. | ||
jdv79 | just have to fail enough to not:) | ||
masak | you can inject methods and attributes that way, for example. | 10:26 | |
& | |||
jdv79 | the essntial bit im trying to do is inplace replace self with another obj of another class | ||
ShimmerFairy | jdv79: would something like sub change-me($foo is rw) { $foo = Bar.new($foo) } be sufficient? | ||
jdv79 | maybe, i'll try something like that | 10:27 | |
10:32
rurban_ left
|
|||
nine | scary: | 10:33 | |
m: class Bar {}; class Foo { method bar(\SELF is rw:) { SELF = Bar.new; }; }; my $foo = Foo.new; $foo.bar; say $foo.WHAT | |||
GLRelia | rakudo-moar 7b8098: OUTPUT«(Bar)» | ||
camelia | rakudo-moar 93418e: OUTPUT«(Bar)» | ||
nine | I should have called that method barify or so ;) | 10:34 | |
m: class Bar {}; class Foo { method barify(\SELF is rw:) { SELF = Bar.new; }; }; my $foo = Foo.new; my $bar = $foo; $bar.barify; say $foo.WHAT; say $bar.WHAT | 10:35 | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«(Foo)(Bar)» | ||
camelia | rakudo-moar 93418e: OUTPUT«(Foo)(Bar)» | ||
ShimmerFairy | nine: welp, I guess you can do it in a method after all :P | 10:36 | |
jdv79 | thanks | 10:37 | |
10:39
rurban_ joined
|
|||
jdv79 | but its not really "inplace" | 10:41 | |
m: class Bar {}; class Foo { method bar(\SELF is rw:) { SELF = Bar.new; }; }; my $foo = Foo.new; my $f2 = $foo; $foo.bar; say $foo; say $f2; | |||
GLRelia | rakudo-moar 7b8098: OUTPUT«Bar.newFoo.new» | ||
camelia | rakudo-moar 93418e: OUTPUT«Bar.newFoo.new» | ||
ShimmerFairy | m: class Bar {}; class Foo { method bar(\SELF is rw:) { SELF = Bar.new; }; }; my $foo = Foo.new; $foo.bar; say $foo; | 10:43 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«Bar.new» | ||
camelia | rakudo-moar 93418e: OUTPUT«Bar.new» | ||
10:43
jkva joined
|
|||
ShimmerFairy | jdv79: looks pretty in-place to me :) | 10:43 | |
jdv79 | it changing the "reference". i want to change the "referent". if that makes sense. | 10:44 | |
i think its not possible | 10:45 | ||
is there a way to rebless? | 10:46 | ||
ShimmerFairy | jdv79: I don't know P5 refs, so I don't understand that terminology enough to help. Best I can guess is that "is copy" instead of "is rw" lets you change SELF as though you had copied it. | ||
jdv79 | i imagine not as it would require uncomposing which is probably impossible | ||
definitely a pickle... | 10:47 | ||
ShimmerFairy | jdv79: am I right in thinking that, in C terms, you want to change what the pointer is pointing to, instead of changing the thing being pointed at? | 10:49 | |
laben | oh my, for Template6 and Flower, their precompilation bug seems not to be triggered anymore on glr, but they fail every test | 10:50 | |
jdv79 | yeah, i was going to say that - sorry | ||
nine | jdv79: nqp::rebless | ||
ShimmerFairy | jdv79: no worries, I don't know P5, so I wouldn't understand its terminology :) | ||
10:50
pierrot left
|
|||
jdv79 | well, its not complicated - ref is ptr basically | 10:50 | |
nine | m: use nqp; class Bar {has $.bar is rw;}; class Foo { method barify() { nqp::rebless(self, Bar); self.bar = 1 }; }; my $foo = Foo.new; my $bar = $foo; $bar.barify; say $foo.WHAT; say $bar.bar | 10:51 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«(Bar)1» | ||
camelia | rakudo-moar 93418e: OUTPUT«(Bar)1» | ||
nine | jdv79: do I even want to know, why you're asking for this? | 10:53 | |
laben | m: sub swap(\a, \b) { (a, b) = (b, a) }; my ($a, $b) = (5, 'd'); say $a~$b; swap($a,$b); say $a~$b; | 10:54 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«5ddd» | ||
camelia | rakudo-moar 93418e: OUTPUT«5dd5» | ||
jdv79 | whoa. nine++ that seems to work | ||
i'll show it soon when its complete enough to make sense | 10:55 | ||
a few days i hope | |||
thanks! | |||
nine | jdv79: please make sure, that you really, really have the problem you're solving with this hack :) | 10:56 | |
jdv79 | yeah . i don't like dipping into nqp like that | ||
but at least it will illustrate things a bit | 10:57 | ||
hopefully a better solution will come up | |||
11:06
notch joined,
AlexDaniel joined
11:07
xinming left
11:09
dayangkun left
11:15
leont joined
11:17
shalice joined
|
|||
shalice | dalek | 11:18 | |
11:21
Ven joined
11:22
suneesh joined,
Psyche^ left
11:23
RabidGravy left
11:33
TEttinger left
11:34
Psyche^ joined
|
|||
jdv79 | hmm. hotel amaris says 110 is "low cost". i might not. | 11:35 | |
11:37
Guest57289 is now known as luiz_lha
11:38
FROGGS_ joined
11:42
FROGGS left
|
|||
DrForr | We got EUR59/night for Evozon's rooms... Or is this SPW? | 11:42 | |
nine | SPW | 11:45 | |
12:00
suneesh left
12:07
RabidGravy joined
12:09
shalice left
|
|||
RabidGravy | there car all legal for another year | 12:09 | |
jdv79 | what? | 12:11 | |
nine | I think the repairs went well ;) | 12:12 | |
timotimo | either repairs or an inspection | 12:13 | |
nine | or both | ||
timotimo | true | 12:15 | |
masak | or neither | 12:17 | |
notch | Hi all. General question - is the page at "perl6.org/compilers/features" very outdated? No changes made to it since Feb 22, but I've read (many) things on concurrency or Unicode support recently. Shoud these improvements be reflected in the Compilers features chart? | 12:24 | |
RabidGravy | mot test and car tax paid | 12:25 | |
timotimo | ah, yes, that'd be a good idea | ||
12:27
virtualsue_ joined
|
|||
laben | mh, i can make a PR for a non-master branch on github, right? i would like to publish my fixes for panda in its glr branch | 12:27 | |
12:28
virtualsue left,
virtualsue_ is now known as virtualsue
|
|||
timotimo | sure | 12:28 | |
when opening a PR, you can select the target near the top | |||
near the title of the PR | |||
laben | yeah, i'm seeing it right now. sorry but i never really used github from this POV, i need to learn everithing | 12:29 | |
timotimo | :) | ||
don't worry | |||
nobody was born knowing everything about github | |||
Ven | moritz, masak, mouq: anyone of you with OP on #6macros? | 12:32 | |
Ulti | stackoverflow.com/questions/3195889...n-raw-mode | 12:34 | |
Ven | moritz: at least, I'm afraid I'll have to ask you to clean the logs | 12:36 | |
_itz_ | 27C in Olten next Thu | 12:37 | |
laben | timotimo: as an official confirmation, i'll announce you github.com/tadzik/panda/pull/202, with this even bootstrap works fine | 12:38 | |
12:40
Sgeo_ left
12:44
zakharyas1 joined
|
|||
timotimo | sweet! | 12:44 | |
tadzik | oh | ||
12:45
AlexDaniel left,
zakharyas left
|
|||
tadzik | very nice :) | 12:45 | |
12:46
colomon left
|
|||
laben | tadzik: the only things i feel could resolve by themselves inside rakudo-glr are the File::Find and Shell::Command PRs | 12:46 | |
tadzik: anyway i tested them on nom too, so they have retro-compatibility | 12:47 | ||
12:50
luiz_lha left
|
|||
tadzik | cool | 12:52 | |
rarara | Util: "Try "say" instead of "print ..."" LOL | 12:53 | |
Ulti | |||
timotimo | very wool. | ||
cool. | |||
rarara | I think there is a problem in REPL, would like to maybe see if I can fix it, but don't know where to put my hands | 12:57 | |
the problem is that it doesn't work with copy and paste using middle button mouse in linux | |||
can anybody help? | |||
12:58
colomon joined
|
|||
Ven | rarara: I think it's recommended to use linenoise | 13:02 | |
rarara | Ven I am using it, I think | ||
13:02
luiz_lha joined,
luiz_lha is now known as Guest19458
|
|||
rarara | Also I don't know how to remove Linenoise to do tests | 13:03 | |
linenoise.c -- guerrilla line editing library against the idea that a * line editing lib needs to be 20,000 lines of C code. | 13:04 | ||
WTF | |||
daxim_ | what does %song-data{~$} = +$, [$.words]; mean in English? | ||
it's from the recent blog entry | 13:05 | ||
rarara | how do you remove a package with panda? | 13:06 | |
daxim_ | nevermind, the software removed stuff between <> | ||
13:06
espadrine left,
espadrine joined
13:08
Guest19458 left
13:09
laouji left
13:11
virtualsue left
13:12
skids joined
13:13
rmgk_ joined,
rmgk is now known as Guest27151,
rmgk_ is now known as rmgk
|
|||
timotimo | rarara: well, gnu readline is about that big | 13:14 | |
and linenoise was created in the hopes of making a readline replacement that doesn't have to be so gigantic | 13:15 | ||
Ven | is "Cool is the supertype of everything in Perl6, and its subtype Any is the supertype of every primitive class type" valid? | 13:17 | |
13:17
Guest27151 left
|
|||
Ven | well, it's hard to digest... | 13:17 | |
rarara | timotimo ok, do you know how to uninstall linenoise? does rm `locate Linenoise` suffices | ||
? | |||
timotimo | welll.... | 13:18 | |
we don't really have a good way to do uninstallation yet :| | |||
or perhaps zef can uninstall? ugexe? | |||
CQ | zef -v uninstall CSV::Parser ...from github.com/ugexe/zef | 13:19 | |
13:24
virtualsue joined
|
|||
rarara | didn't manage to use zef | 13:24 | |
but rm `locate Linenoise` did the job | |||
Without Linenoise there is no bug in REPL | 13:26 | ||
but it misses Readline | |||
timotimo | so linenoise is setting some flag for the terminal that intercepts middle mouse clicks? | ||
rarara | timotimo don't know, would be interesting to see if it is a general problem or specific | 13:27 | |
timotimo there is the same problem with copy paste | 13:29 | ||
I cannot paste more than 1 line in REPL | |||
with linenoise | |||
but I use Linux, don't know about windows | |||
github.com/antirez/linenoise/issues/43 this is bug upstream | 13:30 | ||
apparently they are guerrilla | 13:31 | ||
13:35
khw joined
13:39
Sgeo joined
|
|||
leont | Can someone add github.com/Leont/yamlish and github.com/Leont/path-iterator to the ecosystem? | 13:42 | |
RabidGravy | leont, it's sent a pull request for the additional lines in github.com/perl6/ecosystem/blob/ma.../META.list | 13:46 | |
_itz_ | or just get commit access | 13:47 | |
hoelzro | good *, #perl6! | 13:48 | |
RabidGravy | or that | ||
yo | |||
nine | notch: the features page indeed seems to be a bit outdated. We do have NFG by default for example. | 13:49 | |
13:51
Ven left
|
|||
ugexe | i wonder, should uninstall also be a part of CURLI? | 13:51 | |
13:53
Ven joined
|
|||
RabidGravy | yes | 13:53 | |
flussence | (what nine said) I agree, that page is ancient history by now. It was more useful as a cheatsheet for which screws were loose in each VM than as a general feature reference point. I guess the new front page being worked on would fulfil the same purpose. | 13:54 | |
_itz_ | I wonder also if less emphasis should be put on the other VMs at the moment or the coming months given the current focus | 13:57 | |
Ven | don't we have also have double colon LTM stopper thanks to FROGGS_ ++ ? | ||
_itz_ | less visible on the web pages I mean | ||
Ven | I guess that "LoL" item will want a removal? | 13:58 | |
nine | yes | 13:59 | |
ShimmerFairy | m: my "abc" ~~ / a :: bc / | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ps04q4gUZnMalformed myat /tmp/Ps04q4gUZn:1------> 3my7⏏5 "abc" ~~ / a :: bc /» | ||
camelia | rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4mLfgVfCYFMalformed myat /tmp/4mLfgVfCYF:1------> 3my7⏏5 "abc" ~~ / a :: bc /» | ||
ShimmerFairy | m: say "abc" ~~ / a :: bc / | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YENYM3CiNF:: not yet implementedat /tmp/YENYM3CiNF:1------> 3say "abc" ~~ / a ::7⏏5 bc /» | ||
camelia | rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Jv0lmZ4ehb:: not yet implementedat /tmp/Jv0lmZ4ehb:1------> 3say "abc" ~~ / a ::7⏏5 bc /» | ||
ShimmerFairy | Ven: nope on :: :) | ||
Ven | I'm not sure where the "features" page is in the perl6/perl6.org repo | ||
flussence | it isn't; check the footer | 14:00 | |
Ven | uh, thanks flussence++ | ||
14:01
jkva left
|
|||
hoelzro | nine: I just tried to install Inline::Perl5, and I noticed it now requires Sub::Name in Perl5 land. Is there a way you could fallback to work without it, or is that just a hard requirement of the P5 environment? | 14:02 | |
Ven | "Any is the supertype of every defined value" how does that sound? | 14:04 | |
14:04
domidumont left
14:05
domidumont joined
|
|||
nine | hoelzro: it's only needed for v6::inline support. I guess with gist.github.com/niner/7e9f4a7b761a94bb811b most people would not even notice the missing functionality. | 14:05 | |
Ven: wrong :) | |||
ShimmerFairy | Ven: I think that messes with the meaning of "defined" in the language itself. | 14:06 | |
Ven | nine: I'm trying to make a gross oversimplification, but even then, I can't find a small enough one | ||
ShimmerFairy | Any is the type from which most (if not all) normal objects inherit from. The ones that inherit from Mu instead tend to be weird things, e.g. Junction :) | ||
hoelzro | nine: probably not; I don't mind having to install Sub::Name, I'm just wondering how that could be handled at build/test time | ||
Ven sighs and adds a "Perl6 pre-declared types" slide | 14:07 | ||
dalek | osystem: c6f3384 | leont++ | META.list: Add YAMLish and Path::Iterator |
||
osystem: 746ac3c | ugexe++ | META.list: Merge pull request #52 from Leont/leont Add YAMLish and Path::Iterator to ecosystem |
|||
timotimo | just one slide? ;) | ||
Ven | timotimo: I'd love not to say too much about it. | ||
Maybe I should just say nothing. sshhh! | |||
ShimmerFairy: really, the issue is trying to fit Mu, Any, Cool, Whatever and the other base types | |||
"The Any type encompasses all normal value and object types. It is the unit type, but includes units that are containers of multiple values." | 14:08 | ||
nine | hoelzro: maybe I should just inline it. It provides only one function of which 15 % is parameter checking and 33 % debug support | ||
notch | nine, flussence: thanks. as I understood this new page will come together with a v1.0? | 14:09 | |
nine | notch: that would be good timing | ||
hoelzro | nine: you could always use it if it's available, and make a note in the docs | 14:10 | |
Ven | " Cool Perl 6 Convenient OO Loopbacks" methods on Any are loopbacks for array of unit values, and methods on Cool are only on one value? | 14:13 | |
m: say $ ~~ Any; say $ ~~ Cool; | |||
GLRelia | rakudo-moar 7b8098: OUTPUT«TrueFalse» | ||
camelia | rakudo-moar 93418e: OUTPUT«TrueFalse» | ||
14:15
espadrine left
14:16
espadrine joined
|
|||
nine | Oh btw. at all: I would love to hear about real world use cases of Inline::Perl5, even if it's just for toying around. Would give me a better feel for what's needed and also food for my YAPC talk :) | 14:16 | |
laben | leont: you left yamlish description inside path-iterator META.info file | 14:17 | |
leont | D'oh! | ||
DrForr | nine: Well, you've of course got my module and conversion tool, so if anyone uses those, by proxy you get kudos :) | 14:19 | |
[Coke] submits a patch to dev.perl.org with updated info, waiting for it to get pushed. | |||
PerlJam | nine: I've used it a couple of times to get at Spreadsheet::ParseExcel and Excel::Writer::XLSX so that I could pull some data from a spreadsheet and use P6 to do things with it and generate new spreadsheets | 14:20 | |
DrForr | Dunno if anyone's actually created a module with it, I know that a few people here have 'used it in anger'... | ||
hoelzro | nine: I've been playing with it for a side project | 14:22 | |
I haven't picked that up in a few weeks, though =/ | |||
laben | DrForr: anger for what, ooc? | ||
DrForr | They never mentioned. | 14:23 | |
abaugher | moritz: Thanks, I didn't find anything on the modules list. The 'modules wanted' list has them. S29 seems to say 'tie' should be done as containers, something like "class FileHash is Hash". That's probably beyond my level now, but maybe I'll give it a shot soon. | 14:24 | |
JimmyZ thinks Inline-Perl5 would be the first productionish module of Perl 6 ;) | 14:28 | ||
nine | PerlJam: oh that's interesting. Do you remember any difficulties? | 14:31 | |
PerlJam | nine: Nope. I mostly remember being happy that everything Just Worked :) | 14:32 | |
14:32
lucasb joined
14:33
cognominal joined
|
|||
nine | hoelzro: can you elaborate a bit? | 14:34 | |
Ulti | rarara: not me, just linking it here for someone to answer | 14:38 | |
also so I can find it later ;) | |||
IRC is the best TODO list because sometimes someone else does it for you | 14:39 | ||
I sift through most URLs on here in the evening to send stuff to the subreddit | |||
[Coke] | trying to update the daily run scripts to use Inline::Perl5 so we can report on those also. panda bootstrap hanging here: Compiling lib/File/Find.pm to mbc | 14:43 | |
(cloned panda into ./panda - cd panda && ../install/bin/perl6 bootstrap.pl) | |||
also, when it says fetching File::Find - is it really fetching, or using the copy in ext/ ? | 14:44 | ||
14:44
jack_rabbit left
|
|||
nine | [Coke]: I changed line 40 in t/harness to +$ENV{'PERL6LIB'} = join ',', qw( lib . /home/nine/Inline-Perl5/lib ); | 14:44 | |
[Coke]: to run S01 spec tests | |||
laben | [Coke]: the one it builds and installs is the one fetched from git, the one in ext is used only for making included panda work OOTB | 14:46 | |
lizmat | ugexe: re irclog.perlgeek.de/perl6/2015-08-20#i_11087501 I would say: yes, uninstall should be part of any CompUnitRepo API module | ||
so also of CURLI | |||
Ven | m: subset A; say Mu.new ~~ A; # why does this throw instead of just returning False? | 14:48 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«X::Multi::NoMatch exception produced no message in block <unit> at /tmp/0bgzkBXHlx:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«X::Multi::NoMatch exception produced no message in block <unit> at /tmp/56rzDPEq8I:1» | ||
[Coke] | Ugh. Want to have a way to build without re-fetching things over the network all the time. (already doing this for rakudo, roast, pugs, nqp, moar, parrot, etc.) | ||
anyway, the panda install is busted for me on that setup. Will try nine's trick of using an uninstalled copy, but I'd rather test the install while I'm doing this. | 14:49 | ||
JimmyZ | what about zef? | ||
laben | [Coke]: also, for now File::Find Shell::Command and Panda need to have patches applied to them to work on glr, you can find them in PRs in their repos | 14:50 | |
JimmyZ | panda doesn't work for me for a long time , but zef works here | ||
hoelzro | nine: I mean something like this: gist.github.com/hoelzro/2a6a16ed3980426177b5 | ||
RabidGravy | nine, you'll be glad to know that Term::ReadKey works with I::P5 | ||
dalek | p: 01161fd | (Kamil Kułaga)++ | src/vm/jvm/QAST/Compiler.nqp: Probable code typo found by coke github.com/perl6/nqp/commit/87d8a6...d7ea6bf285 |
||
p: f95126b | lizmat++ | src/vm/jvm/QAST/Compiler.nqp: Merge pull request #242 from teodozjan/patch-1 Probable code typo found by coke |
|||
RabidGravy | which is nice | ||
[Coke] | I'm not doing this for glr at the moment. | ||
nine | RabidGravy: oh that's cool indeed :) | 14:52 | |
RabidGravy | I'm not sure I want to encourage it as it is bound to give rise to bug reports | ||
jdv79 | lizmat: how do i push a p6 dist to cpan then? | ||
14:53
domidumont left
|
|||
nine | RabidGravy: why? | 14:53 | |
RabidGravy | ReadMode(0) appears to work differently for some reason | ||
laben | [Coke]: strange, so you say panda stalls for you on nom? | 14:54 | |
hoelzro | RabidGravy: it might have something to do with how MoarVM treats STD* | ||
I had to compensate for that in Linenoise | |||
lizmat | jdv79: like you would upload any Distribution to PAUSE with a PAUSE ID | 14:55 | |
nine | RabidGravy: maybe that would be a nice example for my talk. I like to make people aware of potential difficulties and how to get around them. | ||
lizmat | just make sure there is a META6.json file in the top directory | ||
RabidGravy | nine, gist.github.com/jonathanstowe/deba...330cefa995 | 14:56 | |
14:57
woolfy joined
|
|||
[Coke] | nine: PERL6lib is comma separated? | 14:57 | |
laben: yes. | |||
nine | [Coke]: yes | ||
woolfy | Awesome news. Oetiker+Partner donates 5000 Swiss Francs to Perl 6. news.perlfoundation.org/2015/08/oet...00chf.html | ||
RabidGravy | yay | ||
nine | woolfy: yeah! | 14:58 | |
RabidGravy | hoelzro, ah I may have to check this out | ||
[Coke] | nine: tried: export PERL6LIB=`pwd`/Inline-Perl5/lib,`pwd`/lib, but "perl t/spec/test_summary" still skips the tests when running those files. | 14:59 | |
14:59
araujo left
|
|||
[Coke] | WOOT. | 14:59 | |
nine | [Coke]: that's because t/harness overwrites PERL6LIB | ||
[Coke]: hence I patched it locally | |||
laben | [Coke]: never seen that happen, how could i (help you) investigate this problem? | ||
14:59
woolfy left
|
|||
[Coke] | I'm not using t/harness. | 15:00 | |
15:00
araujo joined
|
|||
skids | m: say ([\-] 1,2,3) | 15:00 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«-1 -4» | ||
camelia | rakudo-moar 93418e: OUTPUT«1 -1 -4» | ||
nine | [Coke]: t/fudgeandrun does so, too. Maybe your setup as well? | ||
[Coke]: did you run perl6 configure.pl6 in Inline-Perl5 directory? It has to compile a lib for Perl 5 | 15:01 | ||
skids | mortiz: per PR#502's now-obselete third commit some takes are missing from [/op] | ||
[Coke] | nine - no, I didn't. (this is why I want to use panda and not cheat :) | ||
skids | *[\op | 15:02 | |
15:02
silug_ left
|
|||
skids | ergh I can't type. *moritz | 15:02 | |
[Coke] | nine: Could not find LibraryMake | ||
15:02
Ven left
|
|||
JimmyZ | (Oetiker+Partner)++ | 15:03 | |
nine | [Coke]: how did I do this?? | 15:04 | |
[Coke] | you probably already had some prereqs installed? | ||
nine | [Coke]: oh, could be that I compiled using nom and switched rakudo to glr only later. Compilation does not depend on perl6, so one can re-use the same lib for both branches. | ||
[Coke] | nine: I'm on a fresh copy of nom. | 15:06 | |
timotimo | praised be oetiker+partner! | ||
PerlJam | Did someone court Oetiker+Partner for the donation or was it "random"? | ||
timotimo | since they are based in olten, i bet they have something to do with the SPW | 15:07 | |
PerlJam | ah | ||
timotimo | in fact, they are one of the sponsors listed on the spw website | ||
[Coke] | laben: starting with github.com/coke/perl6-roast-data/b...ar-jit.sh, modifying that to grab panda, inline-perl5 ... it's a bunch of small change to that script, but basically, doing a make install, then using the installed perl6 to run panda hangs on teh aforementioned step. | ||
nine | [Coke]: if you're on Linux, just run this from your Inline-Perl5 directory: gcc -Wall p5helper.c `perl -MExtUtils::Embed -e ccopts -e ldopts` -shared -o lib/Inline/p5helper.so -fPIC -g | ||
[Coke] | nine: "just" ? | 15:08 | |
I'll make panda work instead. | |||
nine | or that :) | ||
timotimo | oh wow | ||
[Coke] | .. later, though. this easy thing has already gotten out of control. :) | ||
timotimo | tobi oetiker is the person who made MRTG and RRDtool, and O+P also made SmokePing | 15:09 | |
nine | wow indeed | ||
leont | nine: do you always build it with ldopts? | 15:10 | |
nine | leont: that's what perlembed told me to do | ||
leont | It's meant for executables, not shared objects. It's probably ok, there is a chance that has some consequence on some platforms. | ||
laben | [Coke]: did you try rakudobrew to help install and manage both rakudo and panda? | 15:11 | |
[Coke] | laben: no. | ||
oetiker bow gracefully | 15:12 | ||
lizmat | oetiker++ :-) | ||
[Coke] | I'm specifically doing this for the daily spec test run, which already has a build setup (does rakudobrew provide a way to build from local checkouts rather than fetching over the network?) | ||
oetiker++ | |||
PerlJam | oetiker++ | ||
nine | oetiker++ # counter is far behind | ||
tony-o | is there actually a counter? | 15:13 | |
laben | i would recommend, it makes keeping up with commits very easy and simply keeps the git repo around, so no big fetch every time | ||
nine | leont: without it I get Unhandled exception: Cannot locate native library 'lib/Inline/p5helper.so': lib/Inline/p5helper.so: undefined symbol: boot_DynaLoader | ||
tony-o: probably not :) | |||
lizmat | [Coke]: it is one of my goals to allow Installed modules to be re-precompiled when rakudo changes | ||
PerlJam | tony-o: only in our collective consciousness :) | ||
lizmat | without needing to refetch them from anywahere | ||
*anywhere | 15:14 | ||
ugexe | zef keeps the repos around in /tmp/module-name and does a git pull if it exists already | ||
leont | nine: yes, it certainly contains essential things, it will also contain useless things (you don't need most -l flags except on Windows/Cygwin for example), it may contain harmful things. | ||
Not saying it's wrong, I'm saying it may be subtly wrong somewhere. | |||
nine | that's the worst kind of wrong... | 15:15 | |
ugexe | lizmat: ive been thinkg how to do that as well, mostly boiling down to saving the dependency graph in the MANIFEST | ||
oetiker | at O+P we love perl ... most of our tools are made with perl ... so we thought that it would make sense to invest a bit into perl 6 ... especially hoping that other small shops would maybe follow our lead | ||
15:15
diana_olhovik_ left
|
|||
tony-o | i only love perl6 | 15:15 | |
_itz_ | oetiker++ # I've used rrdtool many times over the years | 15:16 | |
ugexe | and possibly a way to re-run the hooks/ (as well as saving the hooks) | ||
leont | It's probably nothing, I'll try to look into it when I have time | ||
tony-o | is the hooks thing still the biggest challenge with that? a lot of BUILD.pm junk still out there | 15:17 | |
lizmat | ugexe: as a core developer, re-installing modules should be possible without network access, every time I to "make install" | ||
tony-o | lizmat: if pull fails it tries to build what is there | ||
ugexe | lizmat: right. if the manifest contained a dependency graph then it would be possible | ||
lizmat | tony-o: I don't want it to try: I don't want modules changes as well whenever I do a make install of rakudo and I happen to have network connectivity | 15:18 | |
nine | Oh that's a cute one: adding debug output to deepmap makes many more hyper tests pass | ||
tony-o | lizmat++ | ||
timotimo | so you're potentionally sinking something that didn't get sunk before? | 15:19 | |
nine | timotimo: .perl reifies the list. deepmap(\op, \obj) really requires obj to be a fully reified list. It's accessing $!reified directly | 15:21 | |
timotimo | ah, mhh | ||
skids agrees strongly with lizmat++, was actually perturbed to discover build/test targets bailing for lack of net. | 15:22 | ||
moritz | \o | 15:23 | |
tony-o | skids: i think lizmat is more referring to when recompiling a bunch of modules all at once, those modules shouldn't be automatically upgraded to a new(er) version if available. just recompile the ones already available in the system | ||
lizmat | tony-o: indeed | 15:24 | |
tony-o | i'm taking yours to mean that build/test stage should fail if the module requires net but it isn't available (skids) | ||
nine | oetiker: maybe I should try to sell it as an investment to our mangement instead of as a donation. We are donating, but more tranditionally to social institutions. | ||
JimmyZ | oetiker: thank you! | 15:26 | |
lizmat | .oO( the new trend in mangening :-) |
||
PerlJam | nine: how would you do that? You don't typically expect a return for donations, but you do for investments. What would their ROI for Perl 6 be? | 15:28 | |
lizmat | ROI could be in personnel enthusiasm for work | 15:29 | |
mst | but also in potentially increased development speed | ||
skids | tony-o: the general principle of the matter, really. It's ok to quickly check for updates and notify the builder they are available, but you don't want code changing automatically when you are debugging stuff, and definitely don;t quit because your git pull failed. | ||
nine | PerlJam: it would be a long term investment, that's for sure. Well, keeping Perl alive can only be a good thing when you sit on a quarter million LOC Perl code. | ||
PerlJam | lizmat: that might work for nine, but I'm not sure it would work for "management" :) | ||
mst | 'spnsorship' is often an effective term | ||
skids | .oO(kids these days. When I was a kid you had to walk 25 feet up a flight of stairs to get your sibling off the phone before downloading anything.) |
15:30 | |
tony-o | skids: i believe that is what lizmat was hinting at, the default should be not checking for updates when rakudo version changed from the last one. zef doesn't die if the git pull fails | ||
s/hinting/stating/ | 15:31 | ||
PerlJam | nine: what mst said too | ||
skids | tony-o: Right. I would say as long as the timeouts are kept short, though, it's OK to quickly look and spit out a "hey there are updates, btw" message. | 15:32 | |
ugexe | the build process will get better as CURLI matures and the manifest contains more meta information | ||
lizmat | ugexe: indeed :-) | ||
[Coke] | skids++ #old timer. | ||
lizmat remembers having the neighbours come over to use our phone because they didn't have any | 15:33 | ||
PerlJam | .oO( and it was rotary dial ) |
15:34 | |
lizmat | oh yes.... :-) | ||
[Coke] remembers what a big deal it was getting a touch tone phone. | |||
skids remembers having a shared "party line". | |||
[Coke] | I still have a blue princess rotary somewhere in the house. | ||
CQ | I saw a picture somewhere that had a phone booth and a letterbox for posting letters with the caption "For the kids of today: yesterdays mobile phone and Mail Inbox" : ) | 15:35 | |
_itz_ remembers CCITT5 | |||
PerlJam | _itz_: did you ever um ... take advantage of it? ;) | 15:39 | |
FROGGS_ | Ven: we don't have the :: yet me thinks | ||
RabidGravy | I've "dialled" a pay phone using the "hook" when the dial wasn't working | 15:40 | |
_itz_ | PerlJam: errrr no of course not :) | 15:41 | |
tony-o | phreaker | ||
how old are you [Coke], i remember getting our first touch tone phone too | 15:42 | ||
moritz | m: use nqp; say nqp::elems(nqp::geattr(<a b c>.sort.List, List, '$!reified')) | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«===SORRY!===No registered operation handler for 'geattr'» | ||
camelia | rakudo-moar 93418e: OUTPUT«===SORRY!===No registered operation handler for 'geattr'» | ||
RabidGravy | infact IIRC when BT first introduced button pay phones you could circumvent the paying part with the hook | ||
moritz | m: use nqp; say nqp::elems(nqp::getattr(<a b c>.sort.List, List, '$!reified')) | ||
GLRelia | rakudo-moar 7b8098: OUTPUT«0» | ||
camelia | rakudo-moar 93418e: OUTPUT«P6opaque: no such attribute '$!reified' in block <unit> at /tmp/AoBF_qoEx7:1» | ||
dalek | kudo/glr: 3724b5d | (Stefan Seifert)++ | src/core/metaops.pm: Fix unary hyper operators deepmap(\op, \obj) really required obj to be a fully reified list. It's accessing $!reified directly. List.FLATTENABLE_LIST reifies and returns $!reified. Seems like a perfect match. All but one hyper test pass now. |
||
moritz | nine++ # I was just looking into that one :-) | 15:43 | |
ugexe | nine++ | ||
dalek | kudo/glr: 2c088cc | moritz++ | src/core/metaops.pm: Apply the deepmap fix to nodemap too |
15:44 | |
ugexe | i gave up on that one | ||
tony-o | ugexe: check this out man, gist.github.com/tony-o/0b841686d7e00bc1e08c | ||
skids | moritz: per backlog, [\op] still needs some work. | ||
tony-o | benchmark of to-json | ||
moritz | m: say [\+] 1, 2, 3, 4 | 15:45 | |
GLRelia | rakudo-moar 7b8098: OUTPUT«3 6 10» | ||
camelia | rakudo-moar 93418e: OUTPUT«1 3 6 10» | ||
ugexe | nice, does the build in from-json parse the output of it ok? | ||
15:45
andreoss joined
|
|||
tony-o | jsonlint parses it okay | 15:46 | |
nine | moritz: I really wonder why exactly one test in hyper.rakudo.moar is failing. | ||
ugexe | sweet, that would help generating projects.json files and manifest quicker | 15:47 | |
tony-o | ugexe: here is the output - gist.github.com/tony-o/18483cd4a55d52d57811 | ||
nine | moritz: no idea why this is the only test where such an inner list gets itemized: # expected: $[$[-1, -2], $[-3, $[-4, -5]]] # got: $[$[$(-1, -2)], $[$(-3, $[$(-4, -5)])]] | ||
[Coke] | ww | ||
m: say "\x[212b]" eq "\x[c5]" | |||
GLRelia | rakudo-moar 2c088c: OUTPUT«True» | ||
camelia | rakudo-moar 93418e: OUTPUT«True» | ||
ugexe | oh, you need to add escaping | ||
tony-o | it does escape | ||
[Coke] | Is that a result of NFG, straight up unicode normalness, or a bug? | 15:48 | |
ugexe | oh im thinking of the extra escape characters from the .perl | ||
[Coke] | m: say "\x[212a]" eq "K" # noticed first with this. | ||
GLRelia | rakudo-moar 2c088c: OUTPUT«True» | ||
camelia | rakudo-moar 93418e: OUTPUT«True» | ||
15:48
Ven joined
|
|||
[Coke] | .u K | 15:48 | |
yoleaux | U+004B LATIN CAPITAL LETTER K [Lu] (K) | ||
timotimo | nine: so we now have working >>.foo? awesome :) | 15:49 | |
Ven | wow, that's a lot of money. (Oetiker+Partner)++, and of course woolfy++ :) | ||
nine | timotimo: either that or we are missing spec tests for hyper | 15:51 | |
wait, there are _more_ spec test files failing now? | |||
skids | m: say ([R/] pi,4,e,2) | ||
GLRelia | rakudo-moar 2c088c: OUTPUT«1.0674667778342» | ||
camelia | rakudo-moar 93418e: OUTPUT«0.0585498315243192» | ||
skids | moritz: also that ^^ | ||
RabidGravy | what larks | 15:52 | |
timotimo | m: say "what's my version?" | ||
GLRelia | rakudo-moar 2c088c: OUTPUT«what's my version?» | ||
camelia | rakudo-moar 93418e: OUTPUT«what's my version?» | ||
dalek | ast/glr: 211dc1d | (Stefan Seifert)++ | S03-metaops/eager-hyper.t: Adjust eager-hyper.t to the fact that gather returns a Seq now |
||
hoelzro | oetiker++ very nice! | ||
timotimo | camelia's rakudo version is out of date by about 2 days :( | ||
moritz | m: say [\<] 1, 0 | ||
GLRelia | rakudo-moar 2c088c: OUTPUT«===SORRY!===The 'gimme' method was an internal method used by rakudo before the GreatList Refactor. The fact that you are seeing this message, means that youhave code that was using that unsupported rakudo internal API.Please refactor th…» | ||
camelia | rakudo-moar 93418e: OUTPUT«True False» | ||
15:53
domm joined
|
|||
nine | Oh, I broke Inline::Perl5 :( | 15:55 | |
m: for Any.^methods>>.name -> $name { say $name; } | |||
GLRelia | rakudo-moar 2c088c: OUTPUT«This type does not support elems in block <unit> at /tmp/bu4jVb8Jv9:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«invokeexists_keyEXISTS-KEYdelete_keyDELETE-KEYdelete_posDELETE-POSlistflateagerhashHashParcelListelemsendkeyskvvaluespairsantipairsinvertpairupsquishrotorreversesortreducec…» | ||
15:56
abraxxa left
|
|||
laben | nine: it did fix Shell::Command (no more need for my PR), but not File::Find | 15:57 | |
jdv79 | lizmat: how is that Perl6 distinction made | 15:58 | |
lizmat | the existence of a META6.json in the distribution is the flag | ||
jdv79 | k | ||
m: sub foo ($a? where * ~~ /<[a..z]>/) {}; foo() | |||
GLRelia | rakudo-moar 2c088c: OUTPUT«Use of uninitialized value of type Any in string context in whatevercode at /tmp/IRF9YOto_7:1Use of uninitialized value of type Any in string context in whatevercode at /tmp/IRF9YOto_7:1Constraint type check failed for parameter '$a' in sub f…» | ||
camelia | rakudo-moar 93418e: OUTPUT«Use of uninitialized value of type Any in string context in whatevercode at /tmp/OdvsLbSQJR:1Use of uninitialized value of type Any in string context in whatevercode at /tmp/OdvsLbSQJR:1Constraint type check failed for parameter '$a' in sub f…» | ||
jdv79 | shouldnt somethin like that work better | 15:59 | |
nine | I guess Any.^methods>>.name previously silently returned an empty list | 16:00 | |
dalek | kudo/glr: 83a29ca | moritz++ | src/core/metaops.pm: Add missing first value in triangle reduce |
16:01 | |
timotimo | nine: can you find out why camelia's rakudo-moar is out of date? is it failing to build? | 16:02 | |
Ven | m: multi sub compare-zero(1..*) { More } | ||
GLRelia | rakudo-moar 2c088c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cBy9cWOFbPMissing blockat /tmp/cBy9cWOFbP:1------> 3multi sub compare-zero(17⏏5..*) { More }» | ||
camelia | rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U_4H50GKuYMissing blockat /tmp/U_4H50GKuY:1------> 3multi sub compare-zero(17⏏5..*) { More }» | ||
Ven | multi sub compare-zero($ where 1..*) { More } | ||
m: multi sub compare-zero($ where 1..*) { More } #w hoops | |||
GLRelia | ( no output ) | ||
camelia | ( no output ) | ||
moritz | timotimo: I can take a look | 16:03 | |
timotimo | cool, thank you, moritz++ | ||
nine | moritz: oh, thanks for fixing my thinko! I somehow thought of "until" as "do { ... } until" | 16:04 | |
Oh noes... Any.^methods>>.name actually did work as advertised before my hyper fix | |||
moritz | timotimo: nqp-j build failure: Use of undeclared variable '$EX_CAT_AWIAT' at line 92, near " +| $EX_CA" | 16:06 | |
timotimo | huh! | ||
moritz | timotimo: while trying to build gen/jvm/stage1/QAST.jar | ||
timotimo | nobody noticed that typo, eh? | ||
ugexe | someone commented on the PR about the typo | ||
laben | didn't that get fixed by [Coke]? | ||
moritz | did somebody else bump the NQP revision? | 16:07 | |
timotimo | i'm working on a patch | ||
oh | |||
laben | github.com/perl6/nqp/commit/01161fd38c | ||
timotimo | yeah, it did got fixed, but perhaps the nqp revision of rakudo didn't get bumped | 16:08 | |
dalek | kudo/nom: 59d6cf8 | timotimo++ | tools/build/NQP_REVISION: bump NQP for AWIAT typo fix for jvm |
16:09 | |
timotimo | evalbot control rebuild | 16:10 | |
(or something like that?) | |||
16:11
xinming joined
16:12
zakharyas1 left,
yqt joined
|
|||
moritz | timotimo: that used to work a few years ago, but doesn't anymore | 16:13 | |
timotimo | OK :) | ||
BBIAB | |||
laben | omg i got an exception directly from moar "This type does not support elems"... | ||
Ven | timotimo: the typo was noticed, someone commented on the commit IIRC | 16:14 | |
moritz | m: say [<] () | ||
camelia | rakudo-moar 93418e: OUTPUT«True» | ||
GLRelia | rakudo-moar 83a29c: OUTPUT«The 'gimme' method was an internal method used by rakudo before the GreatList Refactor. The fact that you are seeing this message, means that youhave code that was using that unsupported rakudo internal API.Please refactor this code using t…» | ||
nine | m: say (1,2).^name; say (1,2).FLATTENABLE_LIST.^name; say Any.^methods.^name; say Any.^methods.FLATTENABLE_LIST.^name; # WTF?! | ||
GLRelia | rakudo-moar 83a29c: OUTPUT«ListIterationBufferListList» | ||
camelia | rakudo-moar 93418e: OUTPUT«ParcelParcelParcelParcel» | ||
nine | How can Any.^methods give me a List but its FLATTENABLE_LIST method return a different type than other lists? | 16:15 | |
moritz | nine: something bootstrappy, most likely; I'm pretty sure .^methods is written in NQP, so it returns a NQP-level array that's auto-mapped (?) into a List | 16:17 | |
nine | moritz: any idea where I could find this auto-mapping code? I'd be very interested in how such a List would look like. | ||
+ I think it's a bug worth fixing that $!reified is a List instead of an IterationBuffer | 16:18 | ||
Metamodel/BOOTSTRAP.nqp line 2604 looks like it | 16:20 | ||
dalek | kudo/glr: 5e3cfb3 | moritz++ | src/core/metaops.pm: GLRify [>] (and in general, non-triangle METAOP_REDUCE_CHAIN) |
16:21 | |
16:23
domidumont joined
|
|||
moritz | m: say [\<] 1, 2 | 16:23 | |
GLRelia | rakudo-moar 83a29c: OUTPUT«===SORRY!===The 'gimme' method was an internal method used by rakudo before the GreatList Refactor. The fact that you are seeing this message, means that youhave code that was using that unsupported rakudo internal API.Please refactor th…» | ||
camelia | rakudo-moar 93418e: OUTPUT«True True» | ||
[Coke] | on hack, examples has a process running for 73 hours that is pegging 3 cpus. | ||
timotimo | auto-mapping refers to "hllize" most likely | 16:24 | |
somewhere, likely in BOOTSTRAP, we set up that mapping | |||
moritz | [Coke]: thanks, killing it | 16:25 | |
nine | timotimo: I guess that's it? List.HOW.add_attribute(List, scalar_attr('$!reified', Mu, List)); | ||
timotimo: should be IterationBuffer, but of course that's running into bootstrap issues :) | |||
which are solvable | 16:26 | ||
16:26
FROGGS_ is now known as FROGGS
|
|||
FROGGS now compiles glr | 16:26 | ||
moritz | .tell [ptc] a perl6-examples job on hack was running for 72 CPU hours before I killed it; please investigate (and add a CPU limit to all cron jobs) | 16:27 | |
yoleaux | moritz: I'll pass your message to [ptc]. | ||
nine | But it didn't change anything :/ | ||
timotimo | that's not what sets up the type "nqp::hllize" uses, but it seems worth fixing anyway | ||
moritz | no, it's only the default type for the attribute | 16:28 | |
16:29
nowan joined
|
|||
nine | line 2885? | 16:29 | |
moritz | nine: the line number is a bit off, but foreign_transform_array it is | 16:30 | |
nine | moritz: oh, of course. I added a couple of lines for IterationBuffer :) | ||
moritz | nine: :-) | ||
16:30
travis-ci joined
|
|||
travis-ci | Rakudo build errored. Timo Paulssen 'bump NQP for AWIAT typo fix for jvm' | 16:30 | |
travis-ci.org/rakudo/rakudo/builds/76486980 github.com/rakudo/rakudo/compare/5...d6cf88ab9a | |||
16:30
travis-ci left
|
|||
nine | foreign_transform_array creates a List object and binds $farray to the list's $!reified. But where is $farray actually converted to a List object? | 16:33 | |
FROGGS | nine: at what test files are you working? | ||
timotimo | damn, my bump seemingly went wrong | ||
moritz | nine: the block returns the new List object | 16:34 | |
nine: which is the conversion, really | |||
timotimo | huh, what state was my git repository in ?! | ||
nine | FROGGS: currently on the S01 tests, i.e. Inline::Perl5 failing due to Any.^methods>>.name giving me a "This type does not support elems" in src/core/metaops.pm line 476 | ||
FROGGS | timotimo: Idaho? | 16:35 | |
nine: kthx | |||
dalek | kudo/nom: 815fff3 | timotimo++ | tools/build/NQP_REVISION: the previous bump was apparently bogus |
||
16:36
yqt left,
JimmyZ left,
JimmyZ joined
|
|||
nine | moritz: do I understand correctly that it binds an nqp::list to $!reified and when I try to do something in Perl 5 with $!reified it gets hllized to a List using the same mechanism? | 16:36 | |
moritz: in Perl 6 of course :) | |||
moritz | nine: I think so, yes | 16:37 | |
timotimo | m: use nqp; sub test() { my \foo = nqp::list(); say foo.WHAT; foo }; my $test = test(); say $test.WHAT | 16:38 | |
GLRelia | rakudo-moar 5e3cfb: OUTPUT«» | ||
camelia | rakudo-moar 93418e: OUTPUT«» | ||
timotimo | m: use nqp; sub test() { my \foo = nqp::list(); say foo.WHAT.name; foo }; my $test = test(); say $test.WHAT.name | ||
GLRelia | rakudo-moar 5e3cfb: OUTPUT«Cannot find method 'name': no method cache and no .^find_method in sub test at /tmp/LpZNts9CUk:1 in block <unit> at /tmp/LpZNts9CUk:1» | ||
camelia | rakudo-moar 93418e: OUTPUT«Cannot find method 'name': no method cache and no .^find_method in sub test at /tmp/0S05Pk92MO:1 in block <unit> at /tmp/0S05Pk92MO:1» | ||
timotimo | m: use nqp; sub test() { my \foo = nqp::list(); say foo.WHAT.^name; foo }; my $test = test(); say $test.WHAT.^name | ||
GLRelia | rakudo-moar 5e3cfb: OUTPUT«BOOTArrayBOOTArray» | ||
camelia | rakudo-moar 93418e: OUTPUT«BOOTArrayBOOTArray» | ||
moritz | nine: in the old design, $!refied was actually a nqp list, so people would never use it as a p6 object | ||
the reduce metaop patches I'm doing here are so full of thinkos :( | 16:41 | ||
Ven | moritz++ # patching stuff :) | 16:42 | |
dalek | kudo/glr: 91fc607 | moritz++ | src/core/metaops.pm: GLR-ify METAOP_REDUCE_CHAIN |
16:43 | |
nine | IterationBuffer is just a VMArray like nqp::list. Is there any way I can convert the nqp::list to an IterationBuffer? | ||
FROGGS | uhh, are there known speshbugs discovered by the glr branch? | 16:44 | |
timotimo: ^^ | |||
timotimo | i don't know of any yet | 16:45 | |
FROGGS | i.e. `perl6 t/spec/S05-mass/rx.rakudo.moar` vs. `MVM_SPESH_DISABLE=1 perl6 t/spec/S05-mass/rx.rakudo.moar` | ||
moritz | m: sub infix:<foo>(*@a) is assoc<list> { @a.join('|') }; say [\foo] 1, 2, 3 | 16:46 | |
camelia | rakudo-moar 93418e: OUTPUT«1 1|2 1|2|3» | ||
GLRelia | rakudo-moar 5e3cfb: OUTPUT«The 'gimme' method was an internal method used by rakudo before the GreatList Refactor. The fact that you are seeing this message, means that youhave code that was using that unsupported rakudo internal API.Please refactor this code using t…» | ||
moritz | m: say [**] 2, 3 | 16:48 | |
GLRelia | rakudo-moar 91fc60: OUTPUT«9» | ||
camelia | rakudo-moar 93418e: OUTPUT«8» | ||
FROGGS | timotimo: can you reproduce that ooc? | 16:49 | |
16:49
anaeem1 joined
|
|||
timotimo | rebuilding at the moment | 16:49 | |
has to be fudged first ... | 16:50 | ||
japhb | .tell jnthn I am seriously loving gist.github.com/anonymous/6607717a5d201a9acf82 ... I'm using it for language bragging rights with various friends. Can't wait to be using the finished API. :-) | 16:51 | |
yoleaux | japhb: I'll pass your message to jnthn. | ||
nine | I can work around it if I do my Mu $items := obj.FLATTENABLE_LIST; $items := nqp::getattr($items, List, '$!reified') if nqp::istype($items, List); but this is ridiculous... | 16:53 | |
moritz | nine: nah, the HLLize needs fixing | ||
nine | moritz: but how can I turn an nqp::list into an IterationBuffer? Both have the same repr, so I guess it should be possible somehow? | 16:54 | |
moritz | nine: how would you construct a List from an NQP array? | ||
hm | |||
timotimo | nine: did you see line 2871 in BOOTSTRAP.nqp? that's where we register types to be used for hllize and other such things (like slurpy parameter types and such) | 16:55 | |
moritz | if IterationBuffer was a subclass, a rebless would help | ||
nine | moritz: yes, that's the code I'm looking at | ||
timotimo | oh, i think that's what you were quoting up above | ||
nine | "This REPR cannot change type" :( | 16:56 | |
16:56
travis-ci joined
|
|||
travis-ci | Rakudo build passed. Timo Paulssen 'the previous bump was apparently bogus' | 16:56 | |
travis-ci.org/rakudo/rakudo/builds/76491365 github.com/rakudo/rakudo/compare/5...5fff36ac7c | |||
16:56
travis-ci left
|
|||
dalek | kudo/glr: 8afab2e | moritz++ | src/core/metaops.pm: GLR-ize METAOP_REDUCE_LIST (triangle form; the other one does not need changes) |
16:57 | |
nine | m: use nqp; my \l := nqp::list; say nqp::reprname(l); say nqp::reprname(IterationBuffer) | ||
GLRelia | rakudo-moar 91fc60: OUTPUT«VMArrayVMArray» | ||
camelia | rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/c_GwhhOB8yUndeclared name: IterationBuffer used at line 1» | ||
timotimo | what keeps us from making VMArray able to change type? | 16:58 | |
as long as the repr data is compatible (in other words: identical) | |||
nine | timotimo: it is even the same repr | ||
timotimo: so it's just a book keeping issue | |||
timotimo | FROGGS: i can reproduce | 16:59 | |
17:00
llfourn left
|
|||
FROGGS | timotimo: the exception is thrown here: MoarVM/src/6model/6model.c:178: "Cannot look for method '%s' on a null object", | 17:00 | |
moritz | m: .say for <a b c>.reverse | ||
camelia | rakudo-moar 815fff: OUTPUT«cba» | ||
GLRelia | rakudo-moar 91fc60: OUTPUT«cba» | ||
FROGGS | timotimo: does that mean we have a problem in our method cache? | 17:01 | |
or... well, I dunno | |||
timotimo | i don't think so | ||
my first thought is we optimize away something and some register ends up being null instead of having some value we expected | 17:02 | ||
well, i've found the place where we try to findmeth and it asplodes | 17:05 | ||
17:05
telex left
|
|||
timotimo | and there's only one value that'd get sunk. it's either pulled in from a wval or it's the return value of something | 17:05 | |
17:06
telex joined
|
|||
timotimo | the thing it's calling is apparently just the inner block; this is happening inside of Cursor's MATCH, btw | 17:08 | |
FROGGS | timotimo: in the while in the else, right? | 17:09 | |
Ven | m: say 42.WHY | ||
GLRelia | rakudo-moar 8afab2: OUTPUT«(Any)» | ||
camelia | rakudo-moar 815fff: OUTPUT«(Any)» | ||
timotimo | correct | 17:12 | |
17:13
KCL_ joined
|
|||
timotimo | the code that gets called where we try to sink the return value doesn't end up in the spesh log | 17:13 | |
i've gotta go buy some groceries :| | 17:14 | ||
pre-spesh there was an isconcrete there that'd skip the sink attempt | 17:15 | ||
that gets kicked out completely by spesh | |||
apparently that's wrong | |||
so how do we end up with a "known concreteness" value there? | 17:17 | ||
laben | O.o newest glr discovered another panda bootstrap bug, investigating... | ||
timotimo | perhaps merged registers doesn't do using log guards properly? | 17:18 | |
17:20
lucasb left
|
|||
timotimo | ah! i found the problem | 17:23 | |
FROGGS: thanks for the excellent hint; i just fixed the problem in moar; can you verify it fixes things? | 17:25 | ||
laben | sorry i got mixed again in the "Seq already consumed" error and the normal things dont work, what can i do? | ||
timotimo | i've got to actually buy groceries now :) | ||
FROGGS | uhh! | 17:26 | |
17:27
muraiki joined
|
|||
FROGGS | timotimo++ # that did it! \o/ | 17:28 | |
dalek | p: ab46da4 | (Stéphane Payrard)++ | docs/qast.markdown: stub to document QAST::ParamTypeCheck |
17:30 | |
p: 8717925 | FROGGS++ | docs/qast.markdown: Merge pull request #243 from cognominal/master stub to document QAST::ParamTypeCheck |
|||
laben | nvm it was a thinko, working on it | 17:34 | |
17:37
leont left
|
|||
nine | How can I give a stub a repr in BOOTSTRAP? | 17:43 | |
FROGGS | nine: dunno what you mean :o/ | 17:44 | |
nine: but can you tell me if Str.ords should return a Seq? changing a 'returns List:D' to 'returns Seq:D' would fix a spectest... | |||
nine | FROGGS: class IterationBuffer is repr('VMArray'). I need to stub that in BOOTSTRAP.nqp but cannot find a syntax hat allows me to add the is repr | 17:46 | |
FROGGS | nine: sorry, $wife forces me to eat dinner now :o( | ||
I'm back in about 30 minutes | 17:47 | ||
nine | FROGGS: considering that the GLR is about not copying lists anymore unless absolutely necessary, I'd say we should return Seq wherever possible | ||
17:47
[Sno] left
|
|||
dalek | kudo/glr: 328aa98 | moritz++ | src/core/metaops.pm: Fix right-assoc meta reduce |
17:53 | |
timotimo | damn, i just stumbled over my power cord and catapulted my laptop off of the table | 17:57 | |
moritz | ok, reduce.t now runs up to test 364, and passes those that nom pass | ||
timotimo | time to use that thinkpad protection programme i signed up for | ||
moritz | and then it dies in push-exactly | ||
so a gather/take bug | |||
17:59
Ven left
|
|||
moritz | out of my league, I fear | 18:00 | |
reduce meta op porting finished. | |||
18:04
rurban_ left,
Guest6532 left,
Guest6532 joined
18:06
Loren_ left
|
|||
timotimo | FROGGS: we may want a moarvm and nqp bump for that fix | 18:16 | |
RabidGravy | timotimo, it's usually the headphones I do it with. Though back around the turn of the century I did extensively remodel a laptop by propelling it off a desk to fall on to the very sticky out PCMCIA WiFi card, bending both card and slot. Strangely, given some gaffa tape to fix the wobbliness it carried on working. | 18:21 | |
timotimo | hmm. | 18:22 | |
i used this opportunity to set up my email on my smartphone so i can get an answer from the support there | |||
RabidGravy | The laptop finally bit the dust a few months later when I put it in the over-head luggage rack on a train and it managed to propel itself off when the train braked and smacked me in the head, giving me concussion and broke the screen | 18:24 | |
timotimo | ouch | ||
i'm going to open up the device to see if it'd take more damage if i plug in the power cord | 18:25 | ||
18:25
Averna joined
|
|||
timotimo | otherwise the battery'll run out and that'd be it ... | 18:25 | |
[Coke] | everything but glr died on today's run, so glr is at 100%. :P | ||
18:25
rurban left
|
|||
[Coke] | ah, happened to catch "error: pathspec '2015.07.2-28-g6fe08b4" | 18:26 | |
nine | Wow, so we can stop working now? | ||
RabidGravy | beers all round I guess | 18:27 | |
[Coke] | the bad nqp dep get fixed/ | ||
? | |||
looks like, running again... | 18:28 | ||
nine | Ok, I patched MoarVM so I can rebless an nqp::list to IterationBuffer. I patched nqp so I can give a stub a repr. I patched rakudo to rebless the nqp::list to IterationBuffer before binding to $!reified. | 18:33 | |
And now perl6 throws a huge backtrace because something expects a List but now gets an IterationBuffer :/ | |||
moritz | it's yaks all the way down | 18:35 | |
RabidGravy | what kind of noise do yaks make? | 18:37 | |
18:38
espadrine left
|
|||
RabidGravy | speaking of repr - is it possible to create a new repr in user space or is it a lower level thing exclusively | 18:38 | |
18:39
KCL joined,
virtualsue left
|
|||
moritz | it's a low-level thing | 18:39 | |
RabidGravy | plan A then | 18:41 | |
18:42
KCL_ left
|
|||
[Coke] | onomatopoeically, a yak would make kind of a barfing noise. | 18:44 | |
18:45
virtualsue joined
|
|||
moritz | programmatically, it would make no noise, because it hides so the programmer doesn't shave it | 18:45 | |
18:45
zakharyas joined
|
|||
muraiki | this led me to finding www.yak-lang.org/ which while I don't understand it, it uses racket so it must be awesome somehow | 18:48 | |
18:50
jkva joined
|
|||
skids | moritz: gist.github.com/skids/11e5cf9935e48f2a4cb9 | 18:51 | |
18:51
andreoss left
18:53
leont joined
|
|||
RabidGravy | disappointed with freesound.org on this matter but I think this is the sound yaks make freesound.org/people/Corsica_S/sounds/109936/ | 18:54 | |
18:54
khw left
18:55
diana_olhovik_ joined
|
|||
moritz | skids: I think this just hides a deeper bug | 18:57 | |
18:57
llfourn joined
|
|||
skids | Howso? It was dispatching 3 args to a 1-arg metaop -- should it not have had the 3 args? | 18:57 | |
moritz | skids: then why the special case for 2? | 18:58 | |
skids | Because of the special case that elides the &reduce at the top | 18:59 | |
Which strikes me as an optimization. | |||
19:00
mr-foobar joined
|
|||
moritz | skids: ok, you convinced me | 19:01 | |
nine | m: my @a = 1,2; say for ^@a.elems; | ||
GLRelia | rakudo-moar 328aa9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9ebi0AvoycUnsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentat /tmp/9ebi0Avoyc:1------> 3my @a = 1,2; say7⏏5 for ^@a.elems;» | ||
camelia | rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MgdDjH5QwAUnsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentat /tmp/MgdDjH5QwA:1------> 3my @a = 1,2; say7⏏5 for ^@a.elems;» | ||
nine | m: my @a = 1,2; .say for ^@a.elems; | ||
GLRelia | rakudo-moar 328aa9: OUTPUT«01» | ||
camelia | rakudo-moar 815fff: OUTPUT«01» | ||
19:02
llfourn left
|
|||
[Coke] | skids: the test you added for 123776 is different than the ticket - you're overriding a value there, not keeping the BEGIN one in the absence of a non BEGIN value. | 19:02 | |
skids looks | |||
[Coke] | skids; merged RT#123770 and RT#124839 | 19:04 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=123770 | ||
dalek | kudo/glr: 0d2f911 | moritz++ | src/core/metaops.pm: Fix [X~]. Patch by skids++ |
19:05 | |
skids | Huh, must have been real tired. | ||
FROGGS is back | 19:06 | ||
moritz | nine: fwiw deepmap also creates a List by binding an NQP list to $!reified | 19:07 | |
dalek | kudo/glr: 5679420 | FROGGS++ | src/core/Str.pm: change the return type constraint to Seq:D for ords() |
19:08 | |
ast/glr: f70ab58 | skids++ | S04-phasers/begin.t: Fix test for RT#123776 |
|||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=123776 | ||
nine | moritz: deepmap is what I'm working at | ||
skids | Oh dear I was on glr. | ||
[Coke] | lizmat: why did github.com/perl6/roast/commit/0452...5bf2e7f183 change so much more than just done-testing? | ||
19:08
[Sno] joined
|
|||
skids | Now I actually am forced to learn more git. | 19:09 | |
dalek | ast/glr: a7f470c | PerlJam++ | S32-hash/invert.t: update invert tests for glr |
||
ast/glr: 971fda7 | PerlJam++ | S32-hash/antipairs.t: add tests for antipairs |
|||
FROGGS | [Coke]: wow, that patch changes a lot | 19:10 | |
leont | Wait, done is now done-testing (almost-again)? | ||
[Coke] | done is being freed up for async stuff. | 19:11 | |
FROGGS: some of them seem to be sigfigs, but there's more than that. | |||
dalek | kudo/glr: 7d238fe | PerlJam++ | src/core/ (2 files): Implement invert/antipairs |
19:12 | |
skids | yay I now have used git cherry-pick for my first time. Do I get a big V painted on my forehead? | ||
leont | I was already surprised, done is a rather valuable name | ||
dalek | ast: e369518 | skids++ | S04-phasers/begin.t: Fix test for RT#123776 |
19:13 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=123776 | ||
19:13
espadrine joined
|
|||
FROGGS | skids: :D | 19:13 | |
is that signature valid? + method absolutify(CompUnitRepo::Locally:_: |c) { | |||
moritz | I think so | ||
FROGGS | m: sub foo(IO:_: |c) { } | 19:14 | |
GLRelia | ( no output ) | ||
camelia | ( no output ) | ||
moritz | :_ is a modifier like :D (though it's redundant, it allows everything) | ||
and the last : is the invocant marker | |||
FROGGS | ohh | ||
never seen it | |||
moritz | 'cause there's no reason to write it | ||
FROGGS | aye | ||
moritz | except maybe stating that you thought about making it :D, and explicitly decided against it | 19:15 | |
masak | :_: suffers from lack of visual-pill-ness. | 19:18 | |
or, perhaps more to the point, the two things :_ and : turn into a visual pill when they don't deserve to. | 19:19 | ||
19:19
abaugher left
|
|||
masak | 'night, #perl6 | 19:19 | |
[Coke] | ~~ | ||
colomon | o/ | 19:20 | |
nine | Why did I have to try this? | ||
19:20
abaugher joined
|
|||
moritz | nine: because you're awesome! | 19:20 | |
19:22
vendethiel joined
|
|||
dalek | kudo/glr: 5f95fa8 | PerlJam++ | src/core/Hash.pm: Remove apparently old "XXX GLR" comment |
19:24 | |
19:25
domidumont left
19:27
zakharyas left,
synbot6 left
|
|||
timotimo | Finally I have glowing bear set up on my tablet | 19:29 | |
19:29
lsm-desktop left
19:30
Juerd joined
|
|||
jdv79 | nine++ | 19:30 | |
19:31
integral joined
|
|||
nine | I only get "This representation (VMArray) does not support attribute storage" but the stack trace is useless and I can't find a place where $!reified of a List is accessed directly and treated like anything but an nqp::list or IterationBuffer | 19:32 | |
FROGGS | hmmm, hard to tell | 19:34 | |
nine | Or maybe the stack trace is usefull and only I can't see it: gist.github.com/niner/c46e336fb3f2e26a7990 | 19:35 | |
19:37
jkva left
|
|||
skids | Well, only to you, because the line numbers are from your m-CORE | 19:38 | |
19:41
mr-foobar left,
lsm-desktop joined,
geekosaur joined,
jkva joined
19:43
rindolf left
|
|||
RabidGravy | timotimo, I thought you said glowing beer and got all excited | 19:43 | |
19:44
zakharyas joined
19:45
anaeem1 left
19:50
yqt joined
19:56
[Tux] joined
19:57
llfourn joined
20:00
jkva left
20:01
abaugher left,
llfourn left,
jkva joined
20:02
abaugher joined
20:06
mr-foobar joined
20:09
xfix left
|
|||
FROGGS | m: say List ~~ Coolllllll | 20:10 | |
camelia | rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3XhpvxpADYUndeclared name: Coolllllll used at line 1» | ||
GLRelia | rakudo-moar b866b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Bi75JfyIe_Undeclared name: Coolllllll used at line 1» | ||
FROGGS | m: say List ~~ Cool | ||
GLRelia | rakudo-moar b866b6: OUTPUT«True» | ||
camelia | rakudo-moar 815fff: OUTPUT«True» | ||
FROGGS | m: say Seq ~~ Cool | ||
GLRelia | rakudo-moar b866b6: OUTPUT«False» | ||
camelia | rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7RiQv7HDe4Expected a term, but found either infix ~~ or redundant prefix ~ (to suppress this message, please use a space like ~ ~)at /tmp/7RiQv7HDe4:1------> 3say Seq ~~7⏏5 Cool» | ||
20:11
darutoko left
20:18
rurban joined
20:21
jkva left
|
|||
FROGGS | hmmm, I want to make Seq ~~ Cool true... | 20:24 | |
this makes two test files pass | |||
and it *feels* right to me | |||
RabidGravy | multi method ACCEPTS(Seq $) { True } ; | 20:25 | |
;-) | |||
FROGGS | :P | ||
nine | FROGGS: how does that help? | ||
FROGGS | nine: "foo".ords.chrs is meant to work | 20:26 | |
and .chrs is in Any or so | |||
and since List and Array are Cool I think Seq should be too... | |||
20:27
zakharyas left
20:32
jkva joined
|
|||
FROGGS | m: say join("|", []) | 20:35 | |
camelia | rakudo-moar 815fff: OUTPUT«» | ||
GLRelia | rakudo-moar 84375c: OUTPUT«» | ||
FROGGS | m: say join("|", [ "a", "b", "c" ]) | 20:38 | |
GLRelia | rakudo-moar 84375c: OUTPUT«a|b|c» | ||
camelia | rakudo-moar 815fff: OUTPUT«a b c» | ||
20:38
jkva_ joined
20:39
jkva left
20:40
diana_olhovik_ left
|
|||
FROGGS | m: sub foo(*@values) { say @values[0] }; foo [1, 2, 3] # that's a glr bug, right? | 20:41 | |
GLRelia | rakudo-moar 84375c: OUTPUT«1» | ||
camelia | rakudo-moar 815fff: OUTPUT«1 2 3» | ||
leont | m: sub foo(**@values) { say @values[0] }; foo [1, 2, 3] | 20:42 | |
GLRelia | rakudo-moar 84375c: OUTPUT«1 2 3» | ||
camelia | rakudo-moar 815fff: OUTPUT«1 2 3» | ||
nine | How could I have broken EXPORT, so I'd get a "Method 'EXISTS-KEY' not found for invocant of class 'Mu'" in src/core/traits.pm:252? | 20:45 | |
FROGGS | gist.github.com/jnthn/aa370f8b32ef...glr-p6-L64 | 20:46 | |
20:46
ShimmerFairy left
|
|||
nine | m: sub foo(*@values) { say @values[0] }; foo | [1, 2, 3] | 20:47 | |
FROGGS | nine: I guess the thing that is now Mu shouldn't be | ||
GLRelia | rakudo-moar 84375c: OUTPUT«1» | ||
camelia | rakudo-moar 815fff: OUTPUT«1» | ||
laben | there was an explaination around about *@ and **@, should be in irc logs | ||
nine | FROGGS: I guess it's the single arg rule that makes it interpolate | 20:48 | |
m: sub foo(*@values) { say @values[0] }; foo $[1, 2, 3] | |||
GLRelia | rakudo-moar 84375c: OUTPUT«1 2 3» | ||
camelia | rakudo-moar 815fff: OUTPUT«(Any)» | ||
FROGGS | nine: so I'll adjust the expectation of the tests | 20:52 | |
nine | FROGGS: it's just my guess however :) I'd really like jnthn++ or TimToady++ to confirm that | ||
FROGGS | yeah... | 20:53 | |
20:53
Averna left
|
|||
skids | IIRC *@ always flattens. | 20:57 | |
m: sub foo(*@a) { @a.perl.say }; foo [1,2,3],[4,5,6] | |||
GLRelia | rakudo-moar 84375c: OUTPUT«[1, 2, 3, 4, 5, 6]» | ||
camelia | rakudo-moar 815fff: OUTPUT«[[1, 2, 3], [4, 5, 6]]<>» | ||
20:57
muraiki left
|
|||
FROGGS | m: sub foo(*@a) { @a.perl.say }; foo [[1,2,3],[4,5,6]] | 20:59 | |
GLRelia | rakudo-moar 84375c: OUTPUT«[$[1, 2, 3], $[4, 5, 6]]» | ||
camelia | rakudo-moar 815fff: OUTPUT«[[[1, 2, 3], [4, 5, 6]]]<>» | ||
FROGGS | okay | ||
moritz | m: sub foo(|a) { a.perl.say }; foo [1,2,3],[4,5,6] | ||
GLRelia | rakudo-moar 84375c: OUTPUT«\([1, 2, 3], [4, 5, 6])» | ||
camelia | rakudo-moar 815fff: OUTPUT«\([1, 2, 3], [4, 5, 6])» | ||
21:00
skids left
|
|||
laben | >.< so much time lost because i fixed revdeps but forgot to remove installed libs and panda was going on and on with rebuilding them | 21:00 | |
nine | laben: I wasted the whole evening without any progress ;? | 21:02 | |
:/ | |||
21:02
kaare_ left
|
|||
laben | nine: that's when you need to stop and do something else, get your head away. when you return, you'll have a better POV | 21:03 | |
nine | laben: wisely spoken | 21:05 | |
Does panda need any more rakudo fixes? | 21:06 | ||
laben | panda does need panda fixes, one of which i just added to the PR | ||
panda's code will probably need a good reread after glr has stabilized, if the fixes are not consistent enough | 21:08 | ||
for now, i will follow my own advice and go to bed early, for once | 21:09 | ||
good work | rest #perl6 | |||
FROGGS | gnight laben | 21:10 | |
RabidGravy | toodlepip | 21:13 | |
21:14
jkva_ left,
ShimmerFairy joined
21:15
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
nine | dalek down? | 21:21 | |
FROGGS | seems like | 21:22 | |
nine | Woah! Only 189/1047 spec test files failing now. Good work people! | ||
FROGGS | my commit to roast did not show up also | ||
189? really? | |||
197 test files fail on my box | 21:23 | ||
nine | Including my latest commit? | ||
FROGGS | ohh, perhaps not, no | ||
nine | That would rescue my evening if I fixed 8 files with that :) | ||
FROGGS | *g* | 21:24 | |
21:25
aborazmeh left
|
|||
timotimo | How about that bump for moar and nqp revisions? | 21:25 | |
FROGGS | nine: and I potentially made three more pass with an upcoming commit :o) | 21:26 | |
timotimo: yes, we need to do that | |||
timotimo | I am without development machine at the moment | 21:27 | |
nine | I get 198 failing without my commit | ||
timotimo | Though I could turn the laptop on for an hour or so | ||
FROGGS | nine: you probably miss a roast commit | 21:28 | |
timotimo: I'll do it in a second | |||
nine | m: my %a = { :a, :b, :c }; %a.pairs>>.say.say; | ||
GLRelia | rakudo-moar 3df39d: OUTPUT«b => Truea => Truec => TrueTrue True True» | ||
camelia | rakudo-moar 815fff: OUTPUT«Odd number of elements found where hash initializer expected in block <unit> at /tmp/hVysqI5mFY:1» | ||
nine | m: my %a = { :a, :b, :c }; %a.pairs.say; | 21:29 | |
camelia | rakudo-moar 815fff: OUTPUT«Odd number of elements found where hash initializer expected in block <unit> at /tmp/qMzWFXM_8l:1» | ||
GLRelia | rakudo-moar 3df39d: OUTPUT«a => True c => True b => True» | ||
nine | m: my %a = { :a, :b, :c }; | ||
GLRelia | ( no output ) | ||
camelia | rakudo-moar 815fff: OUTPUT«Odd number of elements found where hash initializer expected in block <unit> at /tmp/MyImK5AflE:1» | ||
nine | ?? | ||
FROGGS | nine: don't use curlies | 21:30 | |
m: my %a = ( :a, :b, :c ); | 21:31 | ||
GLRelia | ( no output ) | ||
camelia | ( no output ) | ||
FROGGS | m: my %a = :a, :b, :c; | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
nine | m: my %a = ( :a, :b, :c ); %a.pairs>>.say.say; | ||
GLRelia | rakudo-moar 3df39d: OUTPUT«b => Truea => Truec => TrueTrue True True» | ||
camelia | rakudo-moar 815fff: OUTPUT«b => Truea => Truec => TrueTrue True True» | ||
nine | Well I was trying it only because skids++ mentioned it as the reason for deprecations.t failing. It now passes :) | 21:34 | |
FROGGS: what do you think of gist.github.com/niner/c7137af6c613bdef985d as a fix for t/spec/S02-names-vars/perl.t? | 21:40 | ||
FROGGS | we are down to 184 test files fwiw | 21:41 | |
RabidGravy | and tomorrow it will be less | 21:45 | |
21:45
dalek joined,
ChanServ sets mode: +v dalek
|
|||
FROGGS | nine: I dont understand why this would fix it | 21:46 | |
RabidGravy | the software fairies are smiling on you | 21:47 | |
nine | FROGGS: well .perl on an an itemized empty hash would print ${} which triggers a worry about using $() in Perl 6 instead of ${} while {}.item doesn't and should mean the same, shouldn't it? | 21:48 | |
FROGGS | nine: on my box it fails for \42 | ||
nine | FROGGS: you sure? that's just a warning | 21:49 | |
FROGGS | ok 41 - ("False").perl returned something whose EVAL()ed stringification is unchanged | 21:50 | |
ok 42 - ("False").perl returned something whose EVAL()ed .WHAT is unchanged | |||
Type check failed in binding <anon>; expected 'Any' but got 'Mu' | |||
and after False (?0) comes \42 | |||
nine | ??? | ||
FROGGS: oh, you're running perl.t, not perl.rakudo.moar | 21:51 | ||
FROGGS | ups | ||
sorry | 21:52 | ||
nine | So, would it make sense? | 21:53 | |
FROGGS | m: my $h = {}; say $h.perl; say $h.perl.EVAL | 21:54 | |
camelia | rakudo-moar 815fff: OUTPUT«{}» | ||
GLRelia | rakudo-moar 7896e4: OUTPUT«${}5===SORRY!5=== Error while compiling EVAL_0Unsupported use of ${}; in Perl 6 please use $()at EVAL_0:1------> 3${}7⏏5<EOL>» | ||
FROGGS | aha | ||
nine: yes, I think it is sane | |||
err, make sense to apply | |||
gnight | 21:55 | ||
21:56
rurban left,
espadrine left
21:58
llfourn joined
22:02
llfourn left
22:05
Juerd left,
Juerd joined
22:07
rangerprice joined
|
|||
rangerprice | Hi | 22:09 | |
vendethiel | o/, rangerprice | 22:10 | |
rangerprice | So, why Perl 6 has not metaprogramming features ? | ||
vendethiel | rangerprice: it has tons of them | 22:11 | |
rangerprice | serious ? | ||
vendethiel | rangerprice: yes. meta-programming for objects, macros, lexical scope, etc | 22:12 | |
rangerprice | Perl 6 is an homoiconic language ? | ||
vendethiel | m: sub f { g(); }; sub g { say callframe(1); } | ||
GLRelia | ( no output ) | ||
camelia | ( no output ) | ||
22:12
jkva joined
|
|||
vendethiel | no, not homoiconic. Lisp isn't the only language with macros ;) | 22:12 | |
m: sub f { g(); }; sub g { say callframe(1); }; f(); | |||
GLRelia | rakudo-moar 7896e4: OUTPUT«/tmp/bDIVSRz4bf at line 1» | ||
camelia | rakudo-moar 815fff: OUTPUT«/tmp/oOVP5T3ihV at line 1» | ||
rangerprice | You are a Perl 6 developer venderthiel ? | 22:13 | |
vendethiel | rangerprice: user, at least ;-) | 22:15 | |
rangerprice: I wrote the learnxinyminutes, though I guess I still need to translate it to french! | 22:16 | ||
but the developers are most definitely sleeping atthis hour | |||
22:16
jkva left
|
|||
rangerprice | venderthiel: if you need traduction, i'm here | 22:18 | |
ugexe | in a hash of array of hash/array etc (like projects.json for instance) is there a short and sweet way to find any instances of a specific key, any number of levels deep (but if it makes it easier, always at the end node), without knowing the exact structure of arrays and hashes? | 22:19 | |
22:21
laben left
|
|||
vendethiel | m: multi get(%hash, $key) { [//] %hash{$key}, (get($^v, $key) for %hash.values) }; multi get($, $) { Nil }; my %a = a => {b => 2};say get(%a, 'b'); | 22:22 | |
GLRelia | rakudo-moar 7896e4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rzcESsxGvIPlaceholder variable '$^v' cannot override existing signatureat /tmp/rzcESsxGvI:1------> 3multi 7⏏5get(%hash, $key) { [//] %hash{$key}, (ge» | ||
camelia | rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eGTZKZRWhjPlaceholder variable '$^v' cannot override existing signatureat /tmp/eGTZKZRWhj:1------> 3multi 7⏏5get(%hash, $key) { [//] %hash{$key}, (ge» | ||
vendethiel | m: multi get(%hash, $key) { [//] %hash{$key}, do for %hash.values { get($_, $key)} }; multi get($, $) { Nil }; my %a = a => {b => 2};say get(%a, 'b'); | ||
GLRelia | rakudo-moar 7896e4: OUTPUT«2» | ||
camelia | rakudo-moar 815fff: OUTPUT«2» | ||
vendethiel | ugexe: something like this? :) | ||
22:24
TEttinger joined
|
|||
vendethiel | I guess that doesn't work past one level, uh | 22:28 | |
ugexe | yeah :( | 22:29 | |
rangerprice | It would be great if perl have native c++ code integration in syntax | ||
leont | Good luck with that! | ||
vendethiel | rangerprice: that simply wouldn't be parsable. if your usecase is c/c++ code interop, nativecall is good at this | ||
ugexe | i was hoping there was a way to abuse antipairs or something to turn the hash inside out | 22:30 | |
RabidGravy | except for the c++ name mangling part | ||
vendethiel | ugexe: there might very well be! i'm not versed into anti-pairs | 22:31 | |
leont | RabidGravy: and its typesystem, and a bunch of other things | ||
vendethiel | leont: just think about name resolution! and ADL | ||
rangerprice | venderthiel : what metaprogramming features has perl | ||
leont | ADL will be fun too, yes | ||
RabidGravy | trivial to make a C wrapper of a C++ class in such a way the perl can use it | ||
22:32
AlexDaniel joined
|
|||
vendethiel | rangerprice: you can use "tab" to autocomplete my name :) | 22:32 | |
rangerprice: as I said: MOP for the objects, macros, callframe()-style, etc. | |||
rangerprice: the debugger is written only in perl6 code. | |||
rangerprice | oh | 22:33 | |
vendethiel | here's teh debugger: github.com/jnthn/rakudo-debugger some metaprogramming code that adds a "monitor" keyword: github.com/jnthn/oo-monitors | ||
RabidGravy | at various times in the lifetime of a program yoy can get access to and modify the behaviour and meta data of nearly all the meta objects | 22:35 | |
what you do to them is obviously down to the program design | 22:36 | ||
see also github.com/jonathanstowe/Staticish which takes some awful liberties with class composition to make a "static" class | 22:38 | ||
rangerprice | Why Perl is a hight level programming language and not a mid-level ? why perl has not C keyword like: const, static, constexpr...to produce a more optimized perl code ? | 22:41 | |
vendethiel | static isn't related to optimization | 22:43 | |
constexpr is akin to our BEGIN/constant | |||
const is "just" immutable data things in perl | |||
RabidGravy | it is optimised, but for programmer and design efficiency in mind rather than succinct machine code generation | 22:44 | |
"post-modern" - they've been banging on about moores law for years let's use it to make software developers lives happier | 22:46 | ||
rangerprice | okay, if perl can be optimized without an equivalent of the tons of keywords provided by C, why C need all this tons of keywords to produce optimized assembly and perl not ? | ||
22:47
virtualsue left
|
|||
RabidGravy | because perl doesn't make assembly (it could if you cared to make it happen of course) | 22:47 | |
22:48
skids joined
|
|||
rangerprice | oh | 22:49 | |
oh i understand now | |||
lizmat | .tell [Coke] re github.com/perl6/roast/commit/0452...5bf2e7f183 I have *no* idea, I just reran the generate script | 22:51 | |
yoleaux | lizmat: I'll pass your message to [Coke]. | ||
RabidGravy | perl 6 is just a specification, the specification indicates that it will run on some virtual machine, the nature and implementation of the VM is a separate matter | ||
lizmat | .tell [Coke] I assumed it to be a hash ordering thing | ||
yoleaux | lizmat: I'll pass your message to [Coke]. | ||
22:53
danaj left
|
|||
cognominal | rangerprice, in modern language most optimization is moved at the runtime. The runtime gets more info than the programmer and static optimizers can dream of. | 22:59 | |
And the time spent doing dynamic analysis is recouped by the optimisation produced except for very slow processors. | 23:01 | ||
rangerprice | oh | ||
vendethiel | ...in theory, at least ;-) | 23:02 | |
vendethiel looks at SufficientlySmartCompiler | |||
cognominal | This has been pionnered by the Self language, used by Hotspot Java and now every javascript interprer. | ||
vendethiel 's not sure he'd use "self language" rather than "whichever VMs the great engineers built" :P. didn't IBM sell self and all, back then? | 23:03 | ||
cognominal | rakudo has most of the infrastructure to do it, but is not quite there yet. | ||
self was a resarch language at Sun Microsystems. I think you can trace the self engineers moving from self, to java, to javascript and Go :) | 23:04 | ||
And then, there are the self taught people like jnthn :) | 23:05 | ||
speaking of languages, I noted on #perlfr that Perl is rococo when the tendancy is now neoclassic like go :( But TimToady would argue that Perl is postmodern, not rococo. Things are there for a reason. | 23:08 | ||
RabidGravy | Yeah I'd go with post-modern too | 23:09 | |
cognominal | well, that was an architectural pun, where neoclassic comes after rococo baroque :) | 23:10 | |
And go is definitevely neoclassical. | 23:11 | ||
23:12
lizmat left
|
|||
RabidGravy | yeah but taken to the concrete extreme it would imply that perl (rococo) is a sentimental re-imaging of the pre-classical (e.g. cobol) | 23:13 | |
23:13
jkva joined
|
|||
RabidGravy | which clearly isn't the case | 23:13 | |
metaphor not pun | |||
cognominal | yea | 23:14 | |
RabidGravy | :) | ||
23:15
leont left
23:17
jkva left
|
|||
RabidGravy | of course the problem with the whole analogy set is that in architectural (and indeed the arts generally) we're talking timescales of hundreds of years, in programming at most tens of years | 23:24 | |
TimToady now at YAPC::Asia venue | 23:28 | ||
RabidGravy | yay! | 23:29 | |
cognominal | RabidGravy, we could do a mapping like does Sagan with his cosmic calendar. There is clearly an event acceleration at the end and maybe some more complexity. | 23:30 | |
With the VM fashion, there is clearly the equivalent of endosymbiosis going on in the computer world. And that brings Sagan's wife, Lynn Margulis, in the picture :) | 23:33 | ||
23:39
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
tony-o | peter sagan? | 23:39 | |
cognominal | fr.wikipedia.org/wiki/Carl_Sagan en.wikipedia.org/wiki/Cosmic_Calendar | 23:42 | |
tony-o | i know | 23:46 | |
cognominal | I don't know peter sagan | ||
tony-o | he's a professional bicycle racer | ||
he also has event accelerations near the end | |||
cognominal | :) | 23:48 | |
23:57
fling left
23:59
llfourn joined,
mjgardner joined
|