Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-07-26

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 khw joined #perl6
00:09 colomon joined #perl6
00:09 clkao joined #perl6
00:42 jkva joined #perl6
00:52 Ben_Goldberg joined #perl6
01:19 rmgk_ joined #perl6
01:21 Spot__ joined #perl6
01:29 skids joined #perl6
01:32 telex joined #perl6
01:55 Hor|zon joined #perl6
02:05 tinyblak joined #perl6
02:08 cognominal joined #perl6
02:51 skids .tell smls I commented on your binary parsing gist, JFYI.
02:51 yoleaux skids: I'll pass your message to smls.
02:52 konsolebox joined #perl6
02:55 noganex_ joined #perl6
03:24 aborazmeh joined #perl6
03:24 aborazmeh joined #perl6
03:35 bjz joined #perl6
03:46 skids anyone got a recent rakudo-j running on Sun JVM?
03:46 skids (recent newer than 7-15)
03:46 skids (Or I guess that's Oracle JVM these days)
03:56 Hor|zon joined #perl6
04:03 jack_rabbit joined #perl6
04:22 ugexe you can always cheat and throw it up on travis using rakudobrew build jvm, as they use Oracle
04:24 tinyblak joined #perl6
04:24 * skids has never used anything travis related
04:31 bjz joined #perl6
04:41 mr-foobar joined #perl6
05:06 kaare__ joined #perl6
05:08 TEttinger joined #perl6
05:24 Alina-malina joined #perl6
05:27 silug_ joined #perl6
05:49 roguelazer joined #perl6
05:54 dalek star: d39f562 | moritz++ | tools/star/release-guide.pod:
05:54 dalek star: Document some more submodule magic
05:54 dalek star: review: https://github.com/rakudo/star/commit/d39f5625ce
05:57 Hor|zon joined #perl6
05:57 roguelazer joined #perl6
06:07 dalek star: 15fa3b1 | moritz++ | docs/announce/2015.07.md:
06:07 dalek star: Add 2015.07 announcement draft
06:07 dalek star: review: https://github.com/rakudo/star/commit/15fa3b1276
06:09 moritz TimToady: fwiw the ecosystem fallout from the ~~ precendence changes seem to be mostly related to smart-matching with a Range literal on one side now requiring parens
06:09 moritz $status ~~ 0..4 needs to be $status ~~ (0..4)
06:10 moritz which is a bit unfortunate, since I never wanted a smart-match result to be a Range endpoint, but smart-matching against ranges is quite common
06:11 dalek rakudo-star-daily: c9d0ad2 | coke++ | log/ (9 files):
06:11 dalek rakudo-star-daily: today (automated commit)
06:11 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/c9d0ad236a
06:11 dalek rakudo-star-daily: 0f9b993 | coke++ | log/ (9 files):
06:11 dalek rakudo-star-daily: today (automated commit)
06:11 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/0f9b993bf0
06:11 dalek perl6-roast-data: 45a7d72 | coke++ | / (9 files):
06:11 dalek perl6-roast-data: today (automated commit)
06:11 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/45a7d72c47
06:31 tinyblak joined #perl6
06:44 [Tux] joined #perl6
06:49 moritz http://hack.p6c.org/~moritz/r​akudo-star-2015.07-RC0.tar.gz # Rakudo Star release candidate. Feedback and testing very welcome!
06:59 jdv79 is there a way to run sans precomp?
06:59 jdv79 i'm tired of rebuiding/wiping/wasting time for simple experiments 
06:59 moritz run what?
07:00 jdv79 perl6
07:00 moritz if you ran rakudo without precompiling the setting, then startup time would be as long as compilation time
07:01 moritz you can run stuff without precompiling modules, however
07:01 jdv79 no, i want to test random settings changes
07:01 jdv79 *setting
07:02 RabidGravy joined #perl6
07:17 darutoko joined #perl6
07:18 RabidGravy marnin!
07:27 Hor|zon joined #perl6
07:48 espadrine_ joined #perl6
07:52 jdv79 did strings recently become unpos-able?
07:52 jdv79 oh, nm
07:52 jdv79 read it wrong
07:57 RabidGravy "more coffee needed"
07:58 rindolf joined #perl6
07:58 jdv79 index isn't kicking back a int anymore
07:58 jdv79 that's it
07:58 jdv79 Pos something now so == 0 instead of === 0
07:59 moritz it was reverted, afaict
07:59 moritz m: say 'foo'.index('0').^name
07:59 camelia rakudo-moar 6bbb56: OUTPUT«Int␤»
07:59 jdv79 but still a good idea - more coffee and tea
08:00 jdv79 oh.  i am a few days old here.
08:00 kaare__ joined #perl6
08:00 jdv79 cloning and rebuilding is getting time consuming:(
08:05 kaare__ joined #perl6
08:06 Averna joined #perl6
08:13 jdv79 thanks moritz - that did the trick
08:14 jdv79 breakage++ # cuz time is worthless:)
08:26 Foxcool joined #perl6
08:26 jdv79 could I get a lame little dist i wrote added to the ecosystem?
08:29 masak good antenoon, #perl6
08:30 jdv79 too bad in porting it from p5 to p6 the docs were forgotten.  oops.
08:31 masak moritz: re http://irclog.perlgeek.de/p​erl6/2015-07-25#i_10953418 -- I'd prefer if you task-stole that. I feel I've cursed myself a bit for this release. :/
08:32 masak TimToady: re http://irclog.perlgeek.de/p​erl6/2015-07-25#i_10953872 -- ok, wow. I think I can live with that, *provided* it's easy to make the right thing even when the right thing is "this object is not the sum of its parts", like with filehandles.
08:33 jdv79 i'm a little confused wrt that whole conversation - eqv is meant to be "value equality", no?
08:33 jdv79 at least timtoady speaks sense on it
08:33 masak I also found myself thinking the other day that the most important thing isn't defaults or macros or sexy MOP action, but a nice, friendly *tutorial* of perldoc style.
08:34 masak could even do cloning and eqv in the same tutorial, since they are related.
08:34 jdv79 good defaults are not useless
08:34 masak jdv79: didn't say they were.
08:34 jdv79 that something generally does the most intuitive thing saves a lot of effort doc'ing, explaining, debugging, etc...
08:35 nine m: class Foo is Mu { }; say Foo.new ~~ Pair;
08:35 camelia rakudo-moar 6bbb56: OUTPUT«X::Multi::NoMatch exception produced no message␤  in block <unit> at /tmp/5Qjq0b8f3L:1␤␤»
08:36 nine Locally I get a "Invocant requires a 'Failure' instance, but a type object was passed." message
08:36 jdv79 i don't really get your point masak
08:47 rurban joined #perl6
09:09 masak my point is that, while good technoques and defaults are important, a tutorial to describe how to use them (and the intents/theory behind them) is more important.
09:10 masak it's one of those "on-ramps" that we keep mentioning.
09:14 masak I mean that literally. I would prefer a good tutorial that explained how to do it in an insufficient way, than vice versa.
09:14 jdv79 the language section of the docs aren't enough?
09:14 masak haven't looked.
09:15 masak I doubt that there is a chapter on custom cloning and eqv, though
09:15 jdv79 i guess more depth would be nice but kinda hard when things are still kinda shifty
09:16 jdv79 i kind of assumed that would happen after christmas
09:16 ShimmerFairy masak: I do agree that Perl 6 is sorely lacking in tutorials. It's something I think about on occasion.
09:17 jdv79 i'm not sure if anyone thinks the p6 docs are anywhere near adequate
09:21 jdv79 docs and tests always come after the code;)
09:22 ShimmerFairy Actually, in the case of Perl 6, the docs (specs) and tests (roast) came _before_ the code :P
09:23 Begi joined #perl6
09:24 jdv79 the specs are not docs for devs
09:25 jdv79 roast++ though
09:29 RabidGravy it's pick a topic you think should be represented in http://docs.perl6.org/language.html, discuss it here and then make it really
09:30 jdv79 well, if masak and TimToady are disagreeing about something then a mere mortal probably shouldn't doc it
09:33 RabidGravy it was more in general really, but best effort on any topic, if it's not quite accurate someone who knows more detail will surely come along and remediate
09:59 smls joined #perl6
10:00 smls o/
10:00 yoleaux 02:51Z <skids> smls: I commented on your binary parsing gist, JFYI.
10:01 jkva joined #perl6
10:06 smls .tell skids Thnks; I posted a reply.
10:06 yoleaux smls: I'll pass your message to skids.
10:06 ShimmerFairy smls: One thing I thought about with binary parsing is that, for binary data, I find it more common to jump all over the file, as opposed to text data which you usually parse linearly from start to finish. (e.g. A file format whose header has some offsets, and that's from whence you get all the file's data).
10:06 smls true
10:06 ShimmerFairy So one thing I'd like is if the binary version of grammars were more able/open to a non-linear parsing of the data.
10:09 smls once can always "jump forward" using   . ** {$n}   I guess
10:11 ShimmerFairy Too bad that only works if your offset is relative and positive :)
10:11 smls :P
10:12 smls What would $/.Buf be if you jumped around though?
10:14 smls Maybe we'd need a way to prevent those Buf's from being constructed in the Match object altogether
10:14 ShimmerFairy Hard to say. My first thought for doing jumping around would be perhaps something like  <foodata(<getuint32>)>  , i.e. supplying the offset to a rule that'll start from there. (Probably wouldn't end up looking quite like that, though)
10:15 smls After parsing a full ZIP header, you don't really care what it's comple binary buffer looks like
10:15 smls *complete
10:17 smls Currently, a Match is assumed to know its .from and .to, and everything in between is part of the Match.
10:18 ShimmerFairy smls: I'm trying to think why parsing binary feels like a very different thing from text. I think I may have figured it out: text separates the meaningful parts with defined meaningless things (often whitespace, for example). Binary data on the other hand separates meaningful parts with _anything_ (including other meaningful parts).
10:19 smls Although, you can already extract captures from a look-ahead/behind that won't be part of the parent rule's "match substring", and I guess your idea is not so different from that
10:19 smls i.e. kind of like a "look-ahead to a specific position"
10:23 brrt joined #perl6
10:23 ShimmerFairy smls: The best analogy to offsets in a binary file I can think of atm would be stuff like  include "../foobar"  in text files.
10:24 smls though that would span multiple files
10:24 smls m: say "aaa123" ~~ /a+ <before 1(2)3>/
10:24 camelia rakudo-moar 6bbb56: OUTPUT«「aaa」␤ before => 「」␤»
10:24 smls hm, looks like you *can't* extract captures from look-arounds?
10:24 smls you can in Perl 5
10:25 ShimmerFairy smls: Sure, not the perfect analogy. I suppose the in-file equivalent would be some file-local "goto" piece :)
10:25 iH2O joined #perl6
10:25 iH2O left #perl6
10:27 jdv79 is there anything like "author tests" yet?
10:27 smls ShimmerFairy: Like foot-notes?
10:27 smls And don't XML/YAML have cross-references
10:28 jdv79 in p5 land i use https://metacpan.org/pod/Mo​dule::Install::AuthorTests
10:28 smls but the thing is, you pretty much have to parse the whole file to deal with those
10:28 smls it's not like an offset in a binary file which you can brindly follow without knowing about the rest of the file
10:28 smls *blindly
10:29 ShimmerFairy smls: Yeah, I suppose footnotes/cross-refs are also like that. The difference between the text versions and binary offsets is that the text ones are often left for application logic to handle, while in binary files it's something that leads to more parsing
10:30 ShimmerFairy (I can't imagine a text equivalent of binary offsets where there's no other way to parse the text file than to follow the "footnotes" as it were)
10:30 smls yeah
10:32 jdv79 also, what about "use warnings FATAL => 'all'" - how does that translate frpm p5 to p6?
10:34 ShimmerFairy smls: I think the main difference binary files introduce is that data within are more often (though not always) of constant size and location, or explicitly stated within the file. (Variable length/location data isn't as common as in text)
10:35 ShimmerFairy jdv79: I don't think we have a way to make warnings fatal yet, and I don't think there's anything like AuthorTests (nor is there really a system in place to make it work like it does in P5, judging from the description)
10:35 ShimmerFairy *data within is more often
10:35 smls ShimmerFairy: There could maybe be an "at" directive like this:     <imageoffset=.uint16le>  <at($<imageoffset>.made) <bitmapdata> >
10:37 smls which would count as a zero-width assertion as far as the parent rule is concerned
10:37 ShimmerFairy smls: too bad we couldn't use the @ symbol for that, I don't think :P
10:37 smls heh
10:38 RabidGravy just smoking the ecosystem and seeing a reasonable amount of fallout from the "non-associative" change
10:38 smls m: / <@100 foo> /
10:38 camelia rakudo-moar 6bbb56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Y6lKMDdwhx␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/Y6lKMDdwhx:1␤------> 3/ <@1007⏏5 foo> /␤»
10:38 ShimmerFairy m:bin/ <bitmapdata> @ <imageoffset> / :P
10:38 RabidGravy also pre-comp issues where there was none before
10:39 ShimmerFairy What non-associative change?
10:41 ShimmerFairy smls: I can't shake the feeling that going through a binary file feels almost... fundamentally? different from going through a text file. I can't figure out how to explain it either. I think it could possibly be worth drafting a regex-like language, and then see how sensible it is for regexes to do binary data.
10:44 diana_olhovik_ joined #perl6
10:46 smls Maybe...
10:46 smls Btw, what *does* @ mean in a regex currently?
10:47 RabidGravy ShimmerFairy, https://github.com/rakudo/rakudo/commit/​81ad2c0db9910fe7093c1db1d0e25e4710f3e67e
10:47 smls m: @b = "b"; say "abc" ~~ /a @b c/
10:47 camelia rakudo-moar 6bbb56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lIpgGnEAkQ␤Variable '@b' is not declared␤at /tmp/lIpgGnEAkQ:1␤------> 3<BOL>7⏏5@b = "b"; say "abc" ~~ /a @b c/␤»
10:47 smls m: my @b = "b"; say "abc" ~~ /a @b c/
10:47 camelia rakudo-moar 6bbb56: OUTPUT«「abc」␤»
10:47 smls m: my @ = "b"; say "abc" ~~ /a @ c/
10:47 camelia rakudo-moar 6bbb56: OUTPUT«Nil␤»
10:47 ShimmerFairy m: my @b = <b d>; say "abcadc" ~~ /[a @b c]+/
10:47 camelia rakudo-moar 6bbb56: OUTPUT«「abcadc」␤»
10:48 smls yeah, but the bare @ variant doesn't seem to mean the same thing
10:48 smls even though it's a valid variable name
10:49 jdv79 ok
10:49 ShimmerFairy smls: My only concern is that it would cause problems for people who don't like spaces ("Why does /a@c/ think I'm calling for some @c variable!?")
10:50 smls .oO( @ is taken? Just use @@ then! )
10:50 smls :P
10:52 lizmat joined #perl6
10:55 RabidGravy two PRs so far from the smoke run
10:57 * lizmat waves from Echt (really!)
10:58 ShimmerFairy o/
10:59 Spot___ joined #perl6
11:00 krakan joined #perl6
11:00 itz_ joined #perl6
11:00 Juerd_ joined #perl6
11:00 bonsaikitten joined #perl6
11:00 hahainte1net joined #perl6
11:00 hoelzro_ joined #perl6
11:02 ggherdov_ joined #perl6
11:04 roguelazer_ joined #perl6
11:04 robins joined #perl6
11:06 dustinm` joined #perl6
11:10 jdv79 are there any decent pod renderers besides htmlify.p6?
11:10 jdv79 trying to port docs from p5 to p6 is kinda hard to format when perl6 --doc looks wrong
11:11 timotimo joined #perl6
11:12 retupmoca joined #perl6
11:13 ShimmerFairy jdv79: something like  perl6 --doc=HTML file.p6 > file.html  would use the Pod::To::HTML module to render the docs in a file (this is the same module htmlify uses, incidentally)
11:14 jdv79 i meant for term display
11:15 ShimmerFairy I don't think there are any modules currently aside from Pod::To::HTML and Pod::To::Text (the default for --doc)
11:16 Woodi hallo #perl6 :)
11:16 ShimmerFairy Ooh, I was wrong, there's apparently a Pod::To::Markdown now
11:21 Woodi here is .Net eqv:  https://msdn.microsoft.com/en-us/l​ibrary/bsc2ak47%28v=vs.110%29.aspx  it: 1) check for reference equality; 2) check for value equality: a) do types are the same; b) compares private and public fields;  no word about cycles but it know about delegates
11:22 jdv79 seems pretty straightforward
11:24 inokenty joined #perl6
11:24 Woodi "serialize&compare" is nice, but discusion is a bit teoretical, no real use cases was presented
11:29 Woodi and there are two patterns on that subject (at least :)): Value Object (simple thing) and Identity Map. If someone needs somethig not basic then maybe "eqv" is not what is needed
11:34 telex joined #perl6
11:35 dalek Heuristic branch merge: pushed 29 commits to specs/newio by lizmat
11:37 dalek Heuristic branch merge: pushed 117 commits to rakudo/newio by lizmat
11:39 dalek Heuristic branch merge: pushed 212 commits to roast/newio by lizmat
11:53 konsolebox left #perl6
11:53 jdv79 can I get https://github.com/jdv/p6-data-selector added to the ecosystem?
11:54 moritz jdv79: sure
11:54 lizmat just do a PR in the ecosystem repo?
11:54 jdv79 i'd like to get it tested more at the very least
11:54 jdv79 oh, ok
11:54 [Sno] joined #perl6
11:55 moritz jdv79: you should have commit access to https://github.com/perl6/ecosystem already
11:55 jdv79 oh
11:55 moritz add it to META.list
11:57 jdv79 just at the tail?
11:57 RabidGravy everyone does
11:58 RabidGravy though the modules list makes it alphabetical anyway
11:59 dalek ecosystem: 3f800db | jdv79++ | META.list:
11:59 dalek ecosystem: Add Data::Selector.
11:59 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/3f800db1b3
11:59 jdv79 ok, thanks
12:00 jdv79 how long til that change propagates fully?
12:01 jdv79 panda claims ignorance of the dist
12:02 AlexDaniel joined #perl6
12:03 jkva joined #perl6
12:03 Begi joined #perl6
12:05 moritz jdv79: the next update of the list should be ~4min
12:06 jdv79 hmm, i didn't put a provides section in the meta - is that necessary?
12:06 moritz yes
12:11 jdv79 hopefully fixed that
12:12 masak TimToady: re-reading http://irclog.perlgeek.de/p​erl6/2015-07-25#i_10953872, it seems to me we should start thinking about cycle detection and massive serialization, and then use those new primitives to solve .perl/deep cloning/eqv all at the same time.
12:12 masak I realli would like it if we did this by simultaneously writing up a tutorial for docs.perl6, though.
12:12 jdv79 didn't make it
12:12 masak really*
12:13 jdv79 is it */5 or */15 - the projects.json refresh i mean
12:13 moritz jdv79: it's 8,28,48
12:13 masak m: BEGIN $_ = 1; .say
12:13 camelia rakudo-moar 6bbb56: OUTPUT«1␤»
12:13 masak m: BEGIN { $_ = 1 }; .say
12:13 camelia rakudo-moar 6bbb56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6nyYyMMdFr␤An exception occurred while evaluating a BEGIN␤at /tmp/6nyYyMMdFr:1␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot assign to an immutable value␤  at :␤»
12:13 jdv79 meh.  i need to eat.  i'll check it later i guess.
12:14 masak I don't understand why that block's $_ would be immutable.
12:14 moritz , or } expected while parsing object/hash, at character offset 419 (before ""BSON::
12:14 moritz Javascript": ...") at server/updatelist.pl line 29, <$_[...]> line 357.
12:15 masak moritz: do you know of an "all the things that are wrong about git submodules" resource on the web?
12:15 moritz masak: no
12:16 masak there should be one, I think. maybe I'll write a blog post for it.
12:17 masak mdinger, vendethiel: I always read `<?before` as meaning "I (the cursor) am standing *before* the following pattern"
12:17 moritz jdv79: did you 'panda update'?
12:17 moritz jdv79: I did, and now it knows about Data::Selector
12:17 lizmat hmmm... seeing quite some spectest breakage now?
12:17 jdv79 no, just panda install Data::Selector
12:17 jdv79 weird
12:18 lizmat oops
12:18 lizmat my bad
12:18 masak moritz++ # Star RC0
12:19 masak TimToady: I agree with moritz about `$status ~~ (0..4)` feeling less-than-optimal. or, put differently `$status ~~ 0..4` is a very natural thing to want to do, and I wouldn't want to see us breaking it.
12:19 jdv79 ah, i think i just installed it.  what is provides needed for then?
12:19 masak TimToady: is there a have-the-cake-and-eat-it option? if not, then I think I prefer ~~ to be of the precedence we had it at.
12:20 masak TimToady: (and I've never taken a stance against it being chaining; I just found it amusing/unnecessary)
12:21 jdv79 anyway, thanks moritz++
12:21 jdv79 food &
12:21 moritz since most smart-matches return a Bool, and smart-matching against a Bool is pretty boring, I don't see much motiviation for chaining ~~
12:22 smls masak: Maybe .. is the one that needs a different precedence? It feels too loose w.r.t. set/bag operators too.
12:22 vendethiel joined #perl6
12:23 masak moritz: me neither, but I dislike `$status ~~ (0..4)` a lot less than I mind chaining ~~
12:23 moritz smls: example?
12:23 masak in fact, until I see proof to the contrary, I don't think we can improve the current precedence table a lot.
12:23 lizmat masak: there is a precedent for needing to parenthesize ranges
12:24 masak (and trying will only upset the ecosystem)
12:24 moritz s/less/more/ ?
12:24 masak moritz: aye.
12:24 lizmat m: ^10>>.say
12:24 camelia rakudo-moar 6bbb56: OUTPUT«10␤»
12:24 lizmat m: (^10)>>.say
12:24 camelia rakudo-moar 6bbb56: OUTPUT«9␤7␤5␤3␤1␤8␤6␤4␤2␤0␤»
12:24 smls moritz: Hm, guess I remembered wrong, it seems it's actually tighter than set ops.
12:25 ShimmerFairy moritz: also, ~~ is a non-Bool comparer (most famously $something ~~ /regex/), so it makes sense to me to group it with the other non-Bool comparers.
12:26 smls m: say 1..5 (&) 3..10
12:26 camelia rakudo-moar 6bbb56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A0Bo141vfT␤Operators '..' and '..' are non-associative and require parentheses␤at /tmp/A0Bo141vfT:1␤------> 3say 1..5 (&) 3.7⏏5.10␤»
12:26 smls Hm no, not tighter than all of them
12:26 moritz ShimmerFairy: ~~ is mostly Bool; regex and substitution are the only examples I can think of that aren't Bool
12:27 smls m: say 1..5 (<) 3..10
12:27 camelia rakudo-moar 6bbb56: OUTPUT«False␤»
12:28 ShimmerFairy That paren-less (&) seems bad. I think it's much more natural to read that as (1..5) (&) (3..10) than 1..(5 (&) 3)..10
12:29 ShimmerFairy moritz: true (though the fact that it returns not-a-Bool in any case in core means you can't 100% trust it'll return a Bool). I also argue that chaining ~~ doesn't really make sense, at least not in the same way as 0 < $x < 5
12:34 smls m: say 1 .. 5 + 1
12:34 camelia rakudo-moar 6bbb56: OUTPUT«1..6␤»
12:34 smls ^^ I guess making this work is the reason why .. has so loose precedence
12:35 masak ShimmerFairy: "group it with the other non-Bool comparers" -- but infix:<..> is not a compararer at all.
12:36 ShimmerFairy masak: didn't say or suggest it was.
12:36 masak ShimmerFairy: that was a direct quote of you above.
12:36 masak I don't see how what you said can be read in any other way :)
12:36 ShimmerFairy masak: The other non-Bool comparers are at the above precedence level, but the above precedence level isn't exclusively a group of non-Bool comparers
12:36 Juerd joined #perl6
12:37 * masak has a look at that prec level
12:37 masak oh, the <=> and stuff
12:37 masak I see
12:38 masak ShimmerFairy: I would agree, if I didn't know that it causes people to have to write `$status ~~ (0..4)`, which feels like a bad hoop to have to jump through.
12:38 masak *especially* as it breaks existing code out there.
12:38 dalek rakudo/nom: 1c7c6ff | lizmat++ | src/core/ (3 files):
12:38 dalek rakudo/nom: Re-introduce Pos for returning Positions
12:38 dalek rakudo/nom:
12:38 dalek rakudo/nom: Using timotimo's suggestion for using MMD for Pos.Bool
12:38 dalek rakudo/nom:
12:38 kaare_ joined #perl6
12:38 dalek rakudo/nom: If this is thought to be a confusing / bad idea anyway, I'll revert
12:38 dalek rakudo/nom: again (but for unkeeps this time :-)
12:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c7c6ffb9f
12:39 ShimmerFairy I'm not concerned with changes in having to paren stuff, simply because it's impossible to design a paren-less precedence table. I'm more concerned with the sensibility of allowing ~~ to chain (and the RT ticket that exists because it never did)
12:40 masak ShimmerFairy: I'm weighing the badness of allowing ~~ to chain against the badness of having to insert those parentheses in a common idiom. the latter badness comes out much worse in my eyes.
12:41 masak ShimmerFairy: that ticket even theorizes that allowing it to chain might be useful in some (not yet encountered) situation.
12:41 masak I just want to make it clear that I was never against ~~ chaining :)
12:41 ShimmerFairy masak: I see it differently, esp. since I'm not aware of ~~ 0..4 as an idiom (I probably have done it somewhere, but not often enough to see it as a pattern)
12:41 masak that's how you check whether a thing is between two endpoints!
12:41 masak it's a very common idiom!
12:42 RabidGravy lot's of   $foo leg $bar ~~ Less in the ecosystem
12:42 ShimmerFairy Huh, I don't think I've ever done it like that.
12:42 masak RabidGravy: um, why not just `$foo lt $bar`...?
12:42 masak ShimmerFairy: some of us use that idiom a *lot*.
12:43 RabidGravy dunno, just seem it in the smoketests
12:43 masak ShimmerFairy: checking whether a thing is between two endpoint is a common thing to do in code.
12:43 ShimmerFairy masak: usually my "within a range" stuff involves iterating over stuff in Perl 6, rather than needing to check if an unknown number is in range.
12:44 ShimmerFairy masak: and I didn't contest that it was an idiom, just that I've never noticed it while writing my own Perl 6 (or looking at others') :)
12:45 ShimmerFairy masak: The way I see it, the only mention I've seen about chaining ~~ not working in rakudo comes from an almost 5 year old ticket that isn't even marked "open" (it's still "new"), and I've not seen anyone ever complain because they couldn't use ~~ for chaining.
12:46 ShimmerFairy masak: So I see our choices as "fix the bug so it's chaining" or "fix ~~ so it doesn't chain in the first place". Since nobody has apparently needed a chaining ~~ , I'm inclined to go with "not chaining" :)
12:49 gfldex joined #perl6
12:50 ShimmerFairy Note that if we could set ~~ to be non-chaining without changing precedence and it was OK to make the "chaining infix" level inconsistent like that, I'd be happy with that as a solution.
12:55 masak ok, very early draft of that tutorial for eqv/deepclone/perl. not complete by any means, but these are the main points I wanted to get across: https://gist.github.com/masak/b694a4050f4e91bd254c
12:57 masak ShimmerFairy: I think we should try to make ~~ chaining instead of changing its precedence.
12:57 masak ShimmerFairy: not because I see a great need for it being chaining, but because I think those parentheses would be something we'd end up regretting. I can easily see that becoming an FAQ.
12:58 ShimmerFairy Well, I personally don't see it being an FAQ unless every newcomer starts by looking at old code, but I do see your point :)
12:58 masak it's not about looking at old code.
12:58 masak someone tries, `$x ~~ 1..5`, it doesn't work, and they come on the channel and ask why.
12:59 masak s/,//
12:59 masak the counter to that is "ok, well, we insert a nice warning for that"... but I'd much rather keep ~~ at the preclevel it was.
12:59 ShimmerFairy I wouldn't mind if ~~ chained, I just don't see a good use for it myself, and I haven't seen that anyone else has, so I'm not inclined to try to make it work.
12:59 masak no-one's asking you to try to make it work :)
13:00 ShimmerFairy masak: this FAQ of yours would have a _lot_ of precedence question if that was the case :P
13:00 ShimmerFairy *questions
13:00 masak "I don't really see the use" is a much weaker strike against something than "this common idiom was made more ugly and inconvenient"
13:00 masak ShimmerFairy: there are definitely precedence questions in the FAQ, yes. people like to do ^$limit.method, for example, and expect that to work.
13:01 masak that one recently got a warning.
13:01 masak m: my $limit = -7; say ^$limit.abs
13:01 camelia rakudo-moar 6bbb56: OUTPUT«0..^7␤»
13:01 masak oh, that one's correct :P
13:01 masak m: my $limit = 7; say ^$limit.minmax
13:01 camelia rakudo-moar 6bbb56: OUTPUT«0..^1␤»
13:02 masak heh
13:02 ShimmerFairy the "common idiom" strike doesn't work on people for whom the idiom does not exist, however :P
13:02 masak apparently I don't know how to trigger the warning...
13:02 masak ShimmerFairy: do you ever do `if 1 <= $x <= 5`?
13:03 ShimmerFairy Not sure, I can't recall ever needing chaining comparison ops (though I probably have, and I wouldn't want the alternative anyway)
13:03 ShimmerFairy m: say ^42.reverse
13:03 camelia rakudo-moar 6bbb56: OUTPUT«Potential difficulties:␤    Precedence of ^ is looser than method call; please parenthesize␤    at /tmp/iaajDzcWzU:1␤    ------> 3say ^427⏏5.reverse␤0..^1␤»
13:04 masak ShimmerFairy: to be honest, I'm not so swayed by the fact that you personally have never needed that idiom, either. I have, and I wouldn't like those parentheses.
13:04 masak ShimmerFairy: oh right, that's how.
13:04 masak digits were needed, I guess.
13:05 moritz fwiw ~~ $a .. $b is used at least 8 times in 6 different modules in the ecosystem
13:05 masak moritz++
13:06 ShimmerFairy masak: Totally fair. The "common idiom" thing just sounds funny to me in the way that "Get 20 of this rare item" sounds in a game where the said item is a random and common drop. I agree that it's a valid argument for those who do use the idiom, and I certainly don't think you're wrong for seeing it as an idiom :)
13:06 masak I find myself being strongly against that precedence change. the more I think about it, the more I feel that ~~ actually has a kinship with the other comparison ops on the "chaining infix" level.
13:07 masak (which just happen to be chaining, so we may or may not want ~~ to be chaining too, and I don't really see the harm)
13:07 masak it feels to me that in the rare cases you would want to chain ~~, that's exactly when you also don't care about any regex Match or similar that may fall out.
13:08 ShimmerFairy masak: If ~~ chains, I'll likely never need it but I won't mind. If we make ~~ non-chaining on the chaining level and make for a small inconsistency, I'll be fine with that as well :)
13:08 masak like, maybe I want to say `$a ~~ $b ~~ $c` in some setting to express "$a is a kind of $b,, which is a kind of $c" -- I guess I can see that happening.
13:08 masak ShimmerFairy: yes. we agree on that, it seems.
13:08 masak s/,,/,/
13:08 ShimmerFairy masak: Also, "This level is chaining _except_ for ~~" sounds bad (and probably is), but fwiw that's how rakudo has been operating for at least 5 years now :P
13:10 * masak .oO( all the operators the light touches are chaining... but what about that shadowy operator? -- that's beyond our borders. you must never go there, simba )
13:11 * ShimmerFairy wonders if the world of programming will ever do better than pithy 1-dimensional precedence levels, and what kind of hell multi-dim precedence would bring to the world
13:12 moritz not everything can be improved by adding more dimensions.
13:12 masak ShimmerFairy: vendethiel has a paper on that, if you're interested.
13:13 * vendethiel looks around
13:13 vendethiel you mean mixfix parsing?
13:13 masak yes, that one.
13:13 jkva joined #perl6
13:13 ShimmerFairy masak: I also once jokingly brought up "quantum" precedence here, which basically runs on magic so you never need parens :P
13:14 masak ShimmerFairy: what you're after is not really called "multi-dim", but https://en.wikipedia.org/w​iki/Partially_ordered_set
13:14 vendethiel ShimmerFairy: http://www.cse.chalmers.se/~nad/publi​cations/danielsson-norell-mixfix.pdf
13:14 vendethiel ShimmerFairy: this allows agda to define
13:14 masak ShimmerFairy: also, I recommend everything Scott Aarsonson ever has written, to learn all the ways in which "quantum" != "magic" ;)
13:14 vendethiel if_then_else_ True value _ = value; if_then_else False _ value = value;
13:15 vendethiel and then use it is "if x then y else z"
13:17 ShimmerFairy vendethiel: thanks, I'll be sure to give it a read later :)
13:21 ShimmerFairy masak: Your gist seems good so far, I just want to point out that S02 seems to refer to the kinds of types as "object types" and "value types", if those terms would be appropriate for your gist at all.
13:23 masak ShimmerFairy: noted; thanks.
13:25 vendethiel which gist?
13:25 masak vendethiel: http://irclog.perlgeek.de/p​erl6/2015-07-26#i_10956385
13:26 dalek rakudo/nom: 391bdb1 | lizmat++ | src/core/ (4 files):
13:26 dalek rakudo/nom: Don't need to check for index().defined anymore
13:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/391bdb1dc3
13:27 moritz doc/ROADMAP mentions "2 **    Failure changes (japhb"
13:27 moritz what are those Failure changes
13:27 moritz ?
13:29 moritz 3 ***   complete Buf implementation (depends on 'is rw' native ints)
13:29 moritz what's missing?
13:30 jnthn moritz: Well, we got is rw native stuff and you can now slice Bufs
13:31 jnthn I'm not sure what else is missing.
13:31 moritz jnthn: then I'll remove it
13:32 moritz jnthn: any idea about the Failure changes?
13:33 ShimmerFairy moritz: that was added back in 2011: https://github.com/rakudo/rakudo/commit/6fd65520
13:33 ShimmerFairy Not sure how dated it is by this point.
13:33 * moritz neither
13:33 dalek rakudo/nom: 9617374 | moritz++ | docs/ROADMAP:
13:33 dalek rakudo/nom: Remove Buf item from ROADMAP
13:33 dalek rakudo/nom:
13:33 dalek rakudo/nom: we seem to be doing allright on the Buf front, and no concrete TODOs remain
13:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96173742cf
13:35 moritz .ask japhb in 2011, you added a point "Failure changes" to docs/ROADMAP; what changes are those? (If they are not needed anymore, or you forgot, please remove the TODO item)
13:35 yoleaux moritz: I'll pass your message to japhb.
13:35 jnthn moritz: No, 'fraid not
13:42 azawawi joined #perl6
13:42 azawawi hi
13:42 dalek roast: e86a689 | moritz++ | S03-operators/repeat.t:
13:42 dalek roast: RT #125627: xx Inf
13:42 dalek roast: review: https://github.com/perl6/roast/commit/e86a689260
13:42 moritz \o azawawi
13:42 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125627
13:43 azawawi how can i modify an attribute in custom new constructor? when i try it, i get "Cannot look up attributes in a type object"
13:44 azawawi grondilu: ping
13:44 moritz azawawi: .new is called on a type object, so you cannot access attributes there
13:44 moritz azawawi: http://doc.perl6.org/language​/objects#Object_Construction
13:45 timotimo m: class Foo { has $!a; method new { my $result = Foo.bless(); $result!a = 99; return $result; }; Foo.new()
13:45 camelia rakudo-moar 1c7c6f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4Z44E0u1Pn␤Missing block␤at /tmp/4Z44E0u1Pn:1␤------> 3ult!a = 99; return $result; }; Foo.new()7⏏5<EOL>␤    expecting any of:␤        statement end␤        statement modifier␤        stateme…»
13:46 timotimo m: class Foo { has $!a; method new { my $result = Foo.bless(); $result!a = 99; return $result; } }; Foo.new()
13:46 camelia rakudo-moar 1c7c6f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YrjxUxSYCR␤No such private method 'a' for invocant of type 'Foo'␤at /tmp/YrjxUxSYCR:1␤------> 3new { my $result = Foo.bless(); $result!7⏏5a = 99; return $result; } }; Foo.new()␤»
13:46 timotimo wasn't there a way to do this?
13:48 azawawi im wrapping electron API using JSON::RPC... so i need to store handle id to track it in .new lol :)
13:48 moritz m: class Foo { has $.a; method new { self.bless(a => 99) } }; say Foo.new.a, ' bottles of beer"
13:48 camelia rakudo-moar 1c7c6f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3N2foXRLIZ␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/3N2foXRLIZ:1␤------> 3) } }; say Foo.new.a, ' bottles of beer"7⏏5<EOL>␤    expecting any of:␤        sing…»
13:48 moritz m: class Foo { has $.a; method new { self.bless(a => 99) } }; say Foo.new.a, ' bottles of beer'
13:48 camelia rakudo-moar 1c7c6f: OUTPUT«99 bottles of beer␤»
13:48 azawawi i dont understand it is so simple to do in Java :)
13:49 timotimo oh, you're not even talking about private attributes
13:49 timotimo my mistake
13:50 jnthn And f you do want it private, you probably want to write a BUILD not a new
13:51 jnthn *if
13:51 moritz azawawi: if you have a usage example for me, it's likely I can show you a simple solution
13:51 jnthn Ah, and moritz++ linked to the docs already :)
13:52 dolmen joined #perl6
13:53 brrt joined #perl6
13:53 azawawi ok i will try it. thanks :)
13:53 FROGGS__ joined #perl6
13:56 jnthn Time to commute for a few days teaching &
13:56 timotimo "commute for a few days" :o
13:56 timotimo sounds like an exhausting trip
13:57 jnthn timotimo: No, one commute that'll take ~4 hours door to door, then it'll just be a 10 min walk to teaching each day ;)
13:57 jnthn airport & :)
13:57 BenGoldberg joined #perl6
13:57 timotimo OK! :)
14:02 brrt left #perl6
14:16 spider-mario joined #perl6
14:19 jdv79 masak: [$o4, $o5] eqv [$o5, $o4];      # True
14:20 jdv79 oh, nm.  nice.
14:26 jdv79 why is wanting eqv to front for === a common case or a good idea at all ?
14:26 jdv79 the rest seems cool
14:30 masak jdv79: eqv defaulting to === (for user-defined classes) is the current model. the tutorial describes the model we're aiming for
14:34 ugexe speaking of, what does the `method()!method()` do? (ex: self.bless(:$path, :$SPEC, :$CWD)!fap;)
14:34 jdv79 that doesn't answer my question. i know its the current model and i get the intent of the doc.
14:35 moritz ugexe: call private method !fap on the result of the .bless() call
14:36 ugexe oh i see...
14:37 masak jdv79: oh, and that one shoulda been False
14:37 masak oh, no, wait
14:37 jdv79 not if its value semantics
14:37 azawawi moritz: ping :)
14:37 masak right
14:37 moritz azawawi: pong
14:37 azawawi moritz: https://github.com/azawawi/perl6-atom-electr​on/blob/master/bin/electron_bridge_launcher
14:38 jdv79 i saw it wrong at first
14:38 azawawi moritz: and https://github.com/azawawi/perl6-atom-electron/​blob/master/lib/Atom/Electron/BrowserWindow.pm6
14:39 moritz azawawi: that looks rather fishy
14:40 azawawi moritz: yup, it is... my foo is weak in Perl 6 OO lol
14:41 azawawi moritz: basically im wrapping calls via JSON::RPC to electron JS renderer process (which is a JSON::RPC::Server)
14:43 azawawi .tell grondilu ELI5 => https://github.com/azawawi/perl6-atom-electr​on/blob/master/bin/electron_bridge_launcher
14:43 yoleaux azawawi: I'll pass your message to grondilu.
14:44 moritz azawawi: one way to do it: http://perlpunks.de/paste/show/55b4f231.6cf3.199
14:44 moritz azawawi: the other is to initilize $!handle_id in BUILDALL, see http://doc.perl6.org/language​/objects#Object_Construction
14:45 masak a thing struck me about circular structures. I don't thimk they can be created "all at once", with just one assignment.
14:45 masak example:
14:46 masak m: my $a = []; $a.push($a) # please write as one assignment
14:46 camelia rakudo-moar 961737: ( no output )
14:46 masak this is important for .perl output
14:46 masak but also for how we construct things with cycles in them
14:48 masak I think we should stop short of deep-cloning things which need the MOP to set attrs correctly
14:48 masak dunno what .perl should do in that case
14:50 moritz fwiw p5 Data::Dumper produces multiple statements
14:50 skids joined #perl6
14:52 timotimo m: my $a = [$a];
14:52 camelia rakudo-moar 961737: ( no output )
14:52 timotimo m: my $a = [$a]; say $a
14:52 camelia rakudo-moar 961737: OUTPUT«(Any)␤»
14:52 timotimo mhm.
14:53 vendethiel seems correct post-glr, no?
14:54 masak moritz: I think producing multiple statements is fine. as long as it's still fairly readable.
14:54 masak vendethiel: certainly not.
14:54 masak vendethiel: rhs is evaluated and then assigned to (l-value) lhs.
14:54 vendethiel isn't $a Any for the whole duration of its = ?
14:55 masak that's my point.
14:55 masak so you get an array of Any
14:56 masak m: my $a = [] but "OH HAI"; push $a, $a; say $a[0][0][0][0][0][0][0][0][0][0][0][0][0].Str
14:56 camelia rakudo-moar 961737: OUTPUT«OH HAI␤»
14:57 masak that one is less impressive because .[0] is a no-op when the thing is not Positional... :)
14:57 rurban joined #perl6
14:57 ugexe good to know
14:59 * vendethiel doesn't quite like it, but knows that perl6 is far too dependent on this behavior
15:01 [Tux] joined #perl6
15:05 azawawi moritz: it works but this is one catch... $!handle_id = 0 + $result:handle_id;   stores the first handle id for some reason
15:06 moritz azawawi: what kind of syntax in $result:handle_id anyway?
15:07 moritz azawawi: and what do you mean by "first"?
15:07 moritz azawawi: I haven't see multiple handle IDs yet
15:09 azawawi moritz: json rpc client returns {:handle_id(1)}
15:10 azawawi moritz: that's the blessing of working against a nodejs rpc server...
15:10 RabidGravy so $result<handle_id> right?
15:11 azawawi finally fixed...
15:12 azawawi Perl 6 can now control atom electron windows (aka chrome)
15:12 azawawi https://github.com/azawawi/perl6-atom-electr​on/blob/master/bin/electron_bridge_launcher
15:12 ugexe Other than using a file (such as a pid file), does anyone have an idea I could use to rate limit the number of Proc.run processes I have running at once? The difficult part being that the processes themselves may launch more processes, so I would need to somehow communicate the running thread count from the main program to each process after it is aleady started
15:13 ggoebel joined #perl6
15:13 masak vendethiel: I'm not too attached to that behavior, either. I don't know that I rely on it implicitly anywhere in my code.
15:14 vendethiel I think it's deep engrained into Perl6
15:14 vendethiel down into the sigils
15:15 timotimo nah, it's just Any
15:19 masak it's sort of Perl 6's way of saying "we may have gradual types and we may do much less auto-flattening than Perl 5... but we still respect the deliberate confusability between a single item and a 1-element list".
15:19 moritz it's more than just Any
15:19 ShimmerFairy m: my $a = [VAR($a)]; say $a; $a.push(1); say $a;  # masak: does this count as "please write as one assignment" ? :P
15:19 camelia rakudo-moar 961737: OUTPUT«[Array.new]␤[Array.new, 1] 1␤»
15:19 moritz it's also List.pick(1) return the element rather than a List, for example
15:20 masak ShimmerFairy: ...no.
15:20 masak ShimmerFairy: you didn't close the loop. and you *can't*, not in that way, because the thing you want $a to contain isn't in $a at the time of evaluating the rhs.
15:20 masak it's purely a timing issue.
15:21 masak if there was a phaser that could say "at the point after this statement", then it could be done, I guess. but I'm not sure such a phaser can be created.
15:21 ShimmerFairy masak: I see. I wonder if that still counts towards the "cycles" issue (which I'm not too familiar with, admittedly)
15:21 masak something like `my $a = [SOON { $a }];`
15:22 masak ShimmerFairy: "counts towards"? your suggestion doesn't create a cycle.
15:22 masak ShimmerFairy: it ends up containing two different arrays.
15:22 Possum joined #perl6
15:22 azawawi moritz: http://i.imgur.com/J6UolpB.png?1   # create and change url on two electron browser windows
15:24 Ben_Goldberg joined #perl6
15:26 moritz azawawi: did you fix the oversharing issue?
15:26 ShimmerFairy masak: In any case, I just discovered $a = [VAR($a)] and now I wish I had an excuse to use it :D
15:26 dalek rakudo/nom: 6c2ad86 | moritz++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp:
15:26 dalek rakudo/nom: RT #125606: Fix composition of private methods when all but one is a stub
15:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6c2ad869fc
15:26 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125606
15:26 azawawi moritz: yup
15:27 dalek roast: 2edb3c9 | moritz++ | S14-roles/stubs.t:
15:27 dalek roast: Tests for RT #125606: Role composition and private method stubs
15:27 dalek roast: review: https://github.com/perl6/roast/commit/2edb3c91da
15:27 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125606
15:27 azawawi moritz: thanks for your time :)
15:27 moritz azawawi: you're very welcome
15:28 azawawi moritz: next is getting windows events from JS to Perl 6
15:28 azawawi moritz: and wrapping more Electron API
15:30 * azawawi home &
15:36 * masak thinks the next step is to write tests for a bare-bones shared subgraphs/cycles detector
15:37 masak and then maybe have it provide an API for the three things we want to do, and see it work in a number of representative cases
15:42 khw joined #perl6
15:42 isBEKaml joined #perl6
15:51 moritz 'tis is a tough world: I managed to fix RT #125606, and immediatly had to open another bug report for an issue I uncovered in the process which I don't know how to fix :(
15:51 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125606
15:52 virtualsue joined #perl6
15:52 timotimo did --optimize=off remove the problem?
15:53 moritz timotimo: no
15:53 Begi joined #perl6
15:54 timotimo i'm always relieved when problems don't come from our optimizer, because i spent so much time in that thing :)
15:55 jkva joined #perl6
15:55 TEttinger joined #perl6
15:56 moritz timotimo: https://rt.perl.org/Ticket/Display.html?id=125694
15:57 moritz I don't even know if it was possible to create that condition before my previous commit
15:59 timotimo oh, huh
16:02 Averna joined #perl6
16:02 jdv79 masak: sounds like fun
16:05 jdv79 how come smoke stops at 7/21?
16:06 jkva joined #perl6
16:09 jdv79 also, what's up with gh's syn highlighting?
16:16 moritz jdv79: it's known to be imperfect
16:20 dalek rakudo/nom: ed945eb | moritz++ | src/core/Temporal.pm:
16:20 dalek rakudo/nom: RT #125683: Validate minutes in timezone string
16:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed945ebc3c
16:20 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125683
16:20 dalek roast: 9c46742 | moritz++ | S32-temporal/DateTime.t:
16:20 dalek roast: RT #125683: Validate minutes in timezone
16:20 dalek roast: review: https://github.com/perl6/roast/commit/9c46742e07
16:20 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125683
16:35 dalek perl6-roast-data: 01d81ba | coke++ | / (9 files):
16:35 dalek perl6-roast-data: today (automated commit)
16:35 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/01d81ba373
16:46 mohij joined #perl6
16:48 roguelazer joined #perl6
16:49 yqt joined #perl6
16:57 jkva joined #perl6
17:00 roguelazer joined #perl6
17:06 diana_olhovik_ joined #perl6
17:08 jkva joined #perl6
17:08 zakharyas joined #perl6
17:09 jack_rabbit joined #perl6
17:10 masak another variant to consider for the can't-assign-at-once self-referent structures problem:
17:11 masak `my $a = fix({ [$^f] });`
17:11 masak (I'm not sure that generalizes well for things with several cycles, though. need to think about that.)
17:39 brisby joined #perl6
17:49 moritz it turns out that git-subrepo is rather sloooow, and updating perl6-all-modules is no fun at all anymore
17:50 moritz we're talking about several hours on a host with really fast internet access
17:50 masak huh, wow.
17:50 masak moritz: would it make sense to turn it into a setup that downloads all those repos with --depth=1 instead?
17:51 masak (maybe nuking it every time in-between)
17:52 moritz masak: maybe; at the expense that a mere user can't simply 'git clone' the repo anymore
17:52 moritz that's the advantage with the current setup; only I have the pain with updating
17:52 moritz maybe I should just do a weekly cron job, and be done
17:52 moritz otoh, the ssh key setup doesn't favor cron jobs
17:59 moritz maybe with deploy keys
18:00 moritz or maybe I must give up the illusion that people other than me are using this repo
18:00 masak moritz: the fact that others aren't using the repo doesn't mean it's not a good idea to make it usable for others... :)
18:04 diana_olhovik_ joined #perl6
18:04 moritz masak: aye, but it sheds some light on the priority
18:05 * masak .oO( in fact, make it a *challenge* for others to use your repo! make them jump through hoops! users secretly like that! ) :P
18:07 mdinger joined #perl6
18:08 brrt joined #perl6
18:14 baest_ joined #perl6
18:24 xinming joined #perl6
18:35 Begi joined #perl6
18:49 AlexDaniel moritz: "I don't think validating the hour does much good, so I left that part as-is." Uhm... I'm not sure
18:50 AlexDaniel +99:00 timezone does not sound quite right
18:51 moritz AlexDaniel: so what exactly is the limit?
18:52 AlexDaniel not 99 for sure
18:52 AlexDaniel -12:00..14:00 is what we have right now
18:52 Begi Hey #perl6 ! Is someone can take a look at this code and tell me what can I improve ? Thanks ! https://github.com/Emeric54/​perl6/blob/master/course.p6  (It's a small program to back up my performance when I run)
18:53 AlexDaniel well, according to this: https://en.wikipedia.org/wi​ki/List_of_UTC_time_offsets
18:53 moritz AlexDaniel: but "what we have right now" isn't a good criterium for validation, IMHO
18:53 AlexDaniel +14 does not make enough sense to me, actually, but that's what we have...
18:54 AlexDaniel moritz: no validation at all is not that good as well
18:55 ShimmerFairy m: say DateTime.new("2015-07-26T18:52:21+99:00").local # a bit silly, but doesn't hurt anything I don't think
18:55 camelia rakudo-moar ed945e: OUTPUT«2015-07-22T17:52:21+02:00␤»
18:58 AlexDaniel I don't think that someone will ever attempt to increase this range
18:58 AlexDaniel and if this happens, ok – we can always change it
18:59 RabidGravy what if it was being used on Saturn?
18:59 AlexDaniel UTC timezone on Saturn? What?
18:59 AlexDaniel RabidGravy: if so, then there should be no limit at all, not even 99
19:00 RabidGravy :)
19:00 ShimmerFairy A quick look didn't turn up anything saying that the hour portion of the offset was limited to within a day, or the currently-defined timezones. Just that it's a difference relative to UTC
19:03 moritz AlexDaniel: fwiw we've had restrictions before with the motivation to avoid mistakes, and later that backfired
19:04 moritz AlexDaniel: like, we forbade products of Duration objects, because we thought we it wasn't necessary
19:04 moritz AlexDaniel: and then masak++ wanted to calculate standard deviations of durations
19:05 moritz so we threw that out
19:05 moritz (the limitation, I mean)
19:06 moritz so, the lesson I picked up is that as long as the behavior is well-defined, rather allow it than forbid it
19:07 dalek roast: 109bb8e | skids++ | S02- (2 files):
19:07 dalek roast: Refine JVM fudges/skips for relatively new tests
19:07 dalek roast: review: https://github.com/perl6/roast/commit/109bb8e6af
19:08 AlexDaniel moritz: maybe!
19:09 AlexDaniel at least that minute thing is fixed, so I'm happy anyway
19:10 mdinger Is there a difference between `rx{ foo <!before bar> }` and `rx{ foo <?!before bar> }`? I'm looking at S05 and I get the impression `?` is a positive assertion and `!` is a negative. Does that make `?!` superfluous?
19:11 moritz masak: I see no mention of ?! in S05
19:11 moritz sorry, meant mdinger
19:12 mdinger It's in the docs: http://doc.perl6.org/language​/regexes#Lookahead_assertions
19:12 mdinger lookbehind had it first
19:12 moritz m: say 'ab' ~~ /a <?!before 'x'>/
19:12 camelia rakudo-moar ed945e: OUTPUT«「a」␤»
19:12 moritz m: say 'ab' ~~ /a <!before 'x'>/
19:12 camelia rakudo-moar ed945e: OUTPUT«「a」␤»
19:13 moritz mdinger: seems it's redundant
19:13 moritz unless there are some LTM differences
19:13 mdinger Okay. cool.
19:14 dalek doc: f976bcc | moritz++ | lib/Language/regexes.pod:
19:14 dalek doc: Use ? instead of ?! for negated assertions, mdinger++
19:14 dalek doc: review: https://github.com/perl6/doc/commit/f976bcc465
19:23 zakharyas joined #perl6
19:29 brrt .tell meisl i have a (p5) initial implementation of aho-style tiling
19:29 yoleaux brrt: I'll pass your message to meisl.
19:31 brrt check it out: https://github.com/MoarVM/MoarVM/blob/eve​n-moar-jit/tools/tiler-table-generator.pl if you wish
19:32 brrt .tell meisl check out https://github.com/MoarVM/MoarVM/blob/eve​n-moar-jit/tools/tiler-table-generator.pl if you wish
19:32 yoleaux brrt: I'll pass your message to meisl.
19:32 * brrt now afk
19:32 brrt left #perl6
19:42 mdinger a capturing character class called `<alpha>` seems to be provide by perl6. Is there a list of these somewhere? It seems to tell how to make one but not which ones already exist.
19:43 skids mdinger: http://design.perl6.org/S0​5.html#Predefined_Subrules
19:43 yoleaux 10:06Z <smls> skids: Thnks; I posted a reply.
19:44 mdinger skids: thanks!
19:50 dalek roast: e4b422f | skids++ | S32-exceptions/misc.t:
19:50 dalek roast: This test turned out to really need a skip not just a fudge on JVM
19:50 dalek roast: review: https://github.com/perl6/roast/commit/e4b422fa4f
19:51 dalek doc: b2af0fa | mdinger++ | lib/Language/regexes.pod:
19:51 dalek doc: Remove more ? from ?! lookaround assertions
19:51 dalek doc: review: https://github.com/perl6/doc/commit/b2af0fa3f4
19:51 dalek doc: e82adb8 | mdinger++ | lib/Language/regexes.pod:
19:51 dalek doc: Merge pull request #107 from mdinger/lookaround_assert
19:51 dalek doc:
19:51 dalek doc: Remove more ? from ?! lookaround assertions
19:51 dalek doc: review: https://github.com/perl6/doc/commit/e82adb8583
19:52 Begi is there a way to get only the date (dd/mm/yy), without the time ?
19:52 bin_005 joined #perl6
19:57 virtualsue joined #perl6
20:03 BenGoldberg_ joined #perl6
20:07 yqt joined #perl6
20:09 ShimmerFairy m: say Date.new(now);
20:09 camelia rakudo-moar ed945e: OUTPUT«2015-07-26␤»
20:10 ShimmerFairy Begi: we have a Date class, if that helps :) .
20:10 Begi ShimmerFqiry: thanks !
20:11 Begi I was using DateTime instead of Date...
20:12 dalek doc: 86bd241 | mdinger++ | lib/Language/regexes.pod:
20:12 dalek doc: Link the regex subrules docs to the list of already defined
20:12 dalek doc: subrules in S05 so they are discoverable
20:12 dalek doc: review: https://github.com/perl6/doc/commit/86bd2416a6
20:24 virtualsue joined #perl6
20:27 rurban joined #perl6
20:32 moritz did anybody test the R* release candidate?
20:36 moritz m: say Date.today
20:36 camelia rakudo-moar ed945e: OUTPUT«2015-07-26␤»
20:39 b2gills lizmat: I think all of the `Pos` changes should have been in a branch that was merged with `git merge --no-ff --ff-only ...` so that it could easily be reverted if it turned out to be a bad idea
20:48 skids .oO(There's no "i" in perl.  That would put one in peril.)
20:48 simcop2387 joined #perl6
20:50 telex joined #perl6
21:03 bin_005 joined #perl6
21:43 census joined #perl6
21:46 masak census! \o/
21:46 census hi masak!
21:46 census i'm in the help-census room hahahahah
21:47 census and i'm still banned from the regular #perl room still after all these years!!
21:47 * masak joins #help-census
21:48 masak I find it awesome that the #perl6 culture ended up creating such a channel :P
21:48 masak anyone else who wans to #help-census, feel free to join ;)
21:50 masak b2gills: that's a nice practice. I like that.
21:51 masak b2gills: it's essentially creating a merge commit that stands in for a whole branch/experiment, and can easily be reverted if the experiment turns sour.
21:52 census masak is the best!
21:52 b2gills It of course only works if you've managed to get everything in before the merge
21:52 masak census: *blush*
21:53 masak census: I know a lot of people on this channel which I admire because they're better than me, so I don't think I technically can be "the best"... :P
21:54 census best personality, programmer, overall package.  but there can be ties too
21:54 masak well, I do have a nice package... :P
21:54 jnthn b2gills: iirc you can feed git revert multiple sha1s, so it's not too bad if the thing is over a couple of commits anyway :)
21:54 b2gills masak: I'm sure some of them also admire you
21:55 jnthn Git is quite good at letting you untangle most kinds of mess, if you know it well enough. :)
21:55 b2gills Git is the Perl of source control
21:56 jnthn Pretty much :)
21:56 masak that's a very good description.
21:56 masak Git has that je-ne-sais-quoi of liberalism that Perl also has.
21:56 b2gills so much so that some of it is/was written in Perl
21:56 jnthn That's probably why I swore at it for the first couple of weeks, then loved it forever afterwards :)
21:58 masak b2gills: but they're slowly moving away from it, I think :/
21:59 b2gills .oO( That's only because some people are wrong and don't like Perl )
22:02 masak :P
22:09 masak 'night, #perl6
22:18 RabidGravy nighty night
22:28 * jnthn should prolly rest also &
22:44 RabidGravy rest is over-rated
22:45 timotimo rest is ever rated
23:15 pierrot_ joined #perl6
23:21 dustinm` joined #perl6
23:22 dalek nqp/mast_localref_3: d125c71 | timotimo++ | / (2 files):
23:22 dalek nqp/mast_localref_3: initial implementation of localref X local access
23:22 dalek nqp/mast_localref_3:
23:22 dalek nqp/mast_localref_3: as well as three simple failing tests
23:22 dalek nqp/mast_localref_3: review: https://github.com/perl6/nqp/commit/d125c71ba2
23:22 dalek nqp/mast_localref_3: 3995237 | timotimo++ | / (2 files):
23:22 dalek nqp/mast_localref_3: mast compiler: fix accessing a local as a localref
23:22 dalek nqp/mast_localref_3: review: https://github.com/perl6/nqp/commit/3995237e50
23:22 dalek nqp/mast_localref_3: 38a10da | timotimo++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
23:22 dalek nqp/mast_localref_3: localrefs are always in object registers
23:22 dalek nqp/mast_localref_3: review: https://github.com/perl6/nqp/commit/38a10dad00
23:22 dalek nqp/mast_localref_3: 8d75d7e | timotimo++ | t/moar/02-qast-references.t:
23:22 dalek nqp/mast_localref_3: this loop'll give you spesh log output for the tests
23:22 dalek nqp/mast_localref_3: review: https://github.com/perl6/nqp/commit/8d75d7eaea
23:22 dalek nqp/mast_localref_3: 6868ff3 | timotimo++ | t/moar/02-qast-references.t:
23:22 dalek nqp/mast_localref_3: fix the tests about localref access
23:22 dalek nqp/mast_localref_3: review: https://github.com/perl6/nqp/commit/6868ff36d1
23:25 timotimo the newio branch makes git lg --all pretty much useless %)
23:25 timotimo gitk does better, though
23:25 brisby left #perl6
23:32 timotimo now it'll be a whole 'nother thing to fix up the optimizer properly so that it can lower lexicalref/lexical to localref/local
23:48 dayangkun joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo