»ö« 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. |
|||
00:05
khw joined
00:09
Alina-malina left,
clkao left,
colomon joined,
clkao joined
00:42
jkva joined,
espadrine_ left
00:52
Ben_Goldberg joined,
jkva left
00:55
BenGoldberg left
01:15
mr-foobar left
01:19
rmgk left,
rmgk_ joined,
rmgk_ is now known as rmgk
01:21
Spot__ left,
Spot__ joined
01:24
gfldex left
01:29
skids joined
01:30
telex left
01:32
telex joined
01:43
vendethiel left
01:55
Hor|zon joined
02:00
Hor|zon left
02:05
tinyblak joined
02:08
cognominal left,
cognominal joined
|
|||
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
02:55
noganex_ joined
02:56
Ben_Goldberg is now known as BenGoldberg
02:58
noganex left
03:21
yqt left
03:24
tinyblak left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
03:33
bjz left
03:35
bjz joined
|
|||
skids | anyone got a recent rakudo-j running on Sun JVM? | 03:46 | |
(recent newer than 7-15) | |||
(Or I guess that's Oracle JVM these days) | |||
03:53
bjz left
03:56
Hor|zon joined
04:01
Hor|zon left
04:03
jack_rabbit joined
04:05
Averna left
|
|||
ugexe | you can always cheat and throw it up on travis using rakudobrew build jvm, as they use Oracle | 04:22 | |
04:24
tinyblak joined
|
|||
skids has never used anything travis related | 04:24 | ||
04:30
tinyblak left
04:31
bjz joined
04:38
BenGoldberg left
04:41
mr-foobar joined
04:50
khw left
05:06
TEttinger left,
kaare__ joined
05:08
TEttinger joined
05:24
Alina-malina joined
05:27
silug_ left
05:28
silug_ joined
05:49
roguelazer joined
|
|||
dalek | ar: d39f562 | moritz++ | tools/star/release-guide.pod: Document some more submodule magic |
05:54 | |
05:56
roguelazer left
05:57
Hor|zon joined,
roguelazer joined
06:02
Hor|zon left
|
|||
dalek | ar: 15fa3b1 | moritz++ | docs/announce/2015.07.md: Add 2015.07 announcement draft |
06:07 | |
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 | |
$status ~~ 0..4 needs to be $status ~~ (0..4) | |||
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 | kudo-star-daily: c9d0ad2 | coke++ | log/ (9 files): today (automated commit) |
||
kudo-star-daily: 0f9b993 | coke++ | log/ (9 files): today (automated commit) |
|||
rl6-roast-data: 45a7d72 | coke++ | / (9 files): today (automated commit) |
|||
06:15
aborazmeh left
06:31
tinyblak joined
06:44
[Tux] joined
|
|||
moritz | hack.p6c.org/~moritz/rakudo-star-20...RC0.tar.gz # Rakudo Star release candidate. Feedback and testing very welcome! | 06:49 | |
06:51
AlexDaniel left
|
|||
jdv79 | is there a way to run sans precomp? | 06:59 | |
i'm tired of rebuiding/wiping/wasting time for simple experiments ^H | |||
moritz | run what? | ||
jdv79 | perl6 | 07:00 | |
moritz | if you ran rakudo without precompiling the setting, then startup time would be as long as compilation time | ||
you can run stuff without precompiling modules, however | 07:01 | ||
jdv79 | no, i want to test random settings changes | ||
*setting | |||
07:02
RabidGravy joined
07:09
skids left
07:13
kaare__ is now known as kaare_
07:17
darutoko joined
|
|||
RabidGravy | marnin! | 07:18 | |
07:27
Hor|zon joined
07:33
Hor|zon left
07:48
espadrine_ joined
|
|||
jdv79 | did strings recently become unpos-able? | 07:52 | |
oh, nm | |||
read it wrong | |||
RabidGravy | "more coffee needed" | 07:57 | |
07:58
rindolf joined
|
|||
jdv79 | index isn't kicking back a int anymore | 07:58 | |
that's it | |||
Pos something now so == 0 instead of === 0 | |||
moritz | it was reverted, afaict | 07:59 | |
m: say 'foo'.index('0').^name | |||
camelia | rakudo-moar 6bbb56: OUTPUT«Int» | ||
jdv79 | but still a good idea - more coffee and tea | ||
oh. i am a few days old here. | 08:00 | ||
08:00
kaare__ joined
|
|||
jdv79 | cloning and rebuilding is getting time consuming:( | 08:00 | |
08:03
kaare_ left
08:04
kaare__ left
08:05
kaare__ joined
08:06
Averna joined
|
|||
jdv79 | thanks moritz - that did the trick | 08:13 | |
breakage++ # cuz time is worthless:) | 08:14 | ||
08:26
Foxcool joined
|
|||
jdv79 | could I get a lame little dist i wrote added to the ecosystem? | 08:26 | |
masak | good antenoon, #perl6 | 08:29 | |
jdv79 | too bad in porting it from p5 to p6 the docs were forgotten. oops. | 08:30 | |
masak | moritz: re irclog.perlgeek.de/perl6/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:31 | |
TimToady: re irclog.perlgeek.de/perl6/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:32 | ||
jdv79 | i'm a little confused wrt that whole conversation - eqv is meant to be "value equality", no? | 08:33 | |
at least timtoady speaks sense on it | |||
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. | ||
could even do cloning and eqv in the same tutorial, since they are related. | 08:34 | ||
jdv79 | good defaults are not useless | ||
masak | jdv79: didn't say they were. | ||
jdv79 | that something generally does the most intuitive thing saves a lot of effort doc'ing, explaining, debugging, etc... | ||
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» | ||
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
09:00
kaare__ is now known as kaare_
|
|||
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:09 | |
it's one of those "on-ramps" that we keep mentioning. | 09:10 | ||
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? | ||
masak | haven't looked. | 09:15 | |
I doubt that there is a chapter on custom cloning and eqv, though | |||
jdv79 | i guess more depth would be nice but kinda hard when things are still kinda shifty | ||
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. | ||
jdv79 | i'm not sure if anyone thinks the p6 docs are anywhere near adequate | 09:17 | |
docs and tests always come after the code;) | 09:21 | ||
ShimmerFairy | Actually, in the case of Perl 6, the docs (specs) and tests (roast) came _before_ the code :P | 09:22 | |
09:23
Begi joined
|
|||
jdv79 | the specs are not docs for devs | 09:24 | |
roast++ though | 09:25 | ||
RabidGravy | it's pick a topic you think should be represented in docs.perl6.org/language.html, discuss it here and then make it really | 09:29 | |
jdv79 | well, if masak and TimToady are disagreeing about something then a mere mortal probably shouldn't doc it | 09:30 | |
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:33 | |
09:44
colomon left
09:59
smls joined
|
|||
smls | o/ | 10:00 | |
yoleaux | 02:51Z <skids> smls: I commented on your binary parsing gist, JFYI. | ||
10:01
jkva joined
|
|||
smls | .tell skids Thnks; I posted a reply. | 10:06 | |
yoleaux | smls: I'll pass your message to skids. | ||
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). | ||
smls | true | ||
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. | ||
smls | once can always "jump forward" using . ** {$n} I guess | 10:09 | |
ShimmerFairy | Too bad that only works if your offset is relative and positive :) | 10:11 | |
smls | :P | ||
What would $/.Buf be if you jumped around though? | 10:12 | ||
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) | ||
smls | After parsing a full ZIP header, you don't really care what it's comple binary buffer looks like | 10:15 | |
*complete | |||
Currently, a Match is assumed to know its .from and .to, and everything in between is part of the Match. | 10:17 | ||
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:18 | |
10:18
TEttinger left
|
|||
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 | |
i.e. kind of like a "look-ahead to a specific position" | |||
10:23
brrt joined
|
|||
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:23 | |
smls | though that would span multiple files | 10:24 | |
m: say "aaa123" ~~ /a+ <before 1(2)3>/ | |||
camelia | rakudo-moar 6bbb56: OUTPUT«「aaa」 before => 「」» | ||
smls | hm, looks like you *can't* extract captures from look-arounds? | ||
you can in Perl 5 | |||
ShimmerFairy | smls: Sure, not the perfect analogy. I suppose the in-file equivalent would be some file-local "goto" piece :) | 10:25 | |
10:25
iH2O joined,
iH2O left
|
|||
jdv79 | is there anything like "author tests" yet? | 10:27 | |
smls | ShimmerFairy: Like foot-notes? | ||
And don't XML/YAML have cross-references | |||
jdv79 | in p5 land i use metacpan.org/pod/Module::Install::AuthorTests | 10:28 | |
smls | but the thing is, you pretty much have to parse the whole file to deal with those | ||
it's not like an offset in a binary file which you can brindly follow without knowing about the rest of the file | |||
*blindly | |||
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:29 | |
(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 | ||
jdv79 | also, what about "use warnings FATAL => 'all'" - how does that translate frpm p5 to p6? | 10:32 | |
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:34 | |
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 | ||
*data within is more often | |||
smls | ShimmerFairy: There could maybe be an "at" directive like this: <imageoffset=.uint16le> <at($<imageoffset>.made) <bitmapdata> > | ||
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 | ||
smls | heh | ||
RabidGravy | just smoking the ecosystem and seeing a reasonable amount of fallout from the "non-associative" change | 10:38 | |
10:38
brrt left
|
|||
smls | m: / <@100 foo> / | 10:38 | |
camelia | rakudo-moar 6bbb56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Y6lKMDdwhxUnable to parse expression in metachar:sym<assert>; couldn't find final '>' at /tmp/Y6lKMDdwhx:1------> 3/ <@1007⏏5 foo> /» | ||
ShimmerFairy | m:bin/ <bitmapdata> @ <imageoffset> / :P | ||
RabidGravy | also pre-comp issues where there was none before | ||
ShimmerFairy | What non-associative change? | 10:39 | |
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:41 | ||
10:44
diana_olhovik_ joined
|
|||
smls | Maybe... | 10:46 | |
Btw, what *does* @ mean in a regex currently? | |||
RabidGravy | ShimmerFairy, github.com/rakudo/rakudo/commit/81...4710f3e67e | 10:47 | |
smls | m: @b = "b"; say "abc" ~~ /a @b c/ | ||
camelia | rakudo-moar 6bbb56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lIpgGnEAkQVariable '@b' is not declaredat /tmp/lIpgGnEAkQ:1------> 3<BOL>7⏏5@b = "b"; say "abc" ~~ /a @b c/» | ||
smls | m: my @b = "b"; say "abc" ~~ /a @b c/ | ||
camelia | rakudo-moar 6bbb56: OUTPUT«「abc」» | ||
smls | m: my @ = "b"; say "abc" ~~ /a @ c/ | ||
camelia | rakudo-moar 6bbb56: OUTPUT«Nil» | ||
ShimmerFairy | m: my @b = <b d>; say "abcadc" ~~ /[a @b c]+/ | ||
camelia | rakudo-moar 6bbb56: OUTPUT«「abcadc」» | ||
smls | yeah, but the bare @ variant doesn't seem to mean the same thing | 10:48 | |
even though it's a valid variable name | |||
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!?") | ||
smls | .oO( @ is taken? Just use @@ then! ) |
10:50 | |
:P | |||
10:52
lizmat joined
|
|||
RabidGravy | two PRs so far from the smoke run | 10:55 | |
lizmat waves from Echt (really!) | 10:57 | ||
ShimmerFairy | o/ | 10:58 | |
10:59
Spot___ joined
11:00
krakan joined,
itz_ joined,
Juerd_ joined,
bonsaikitten joined,
hahainte1net joined,
hoelzro_ joined
11:02
ggherdov_ joined
11:03
jkva left
11:04
roguelazer_ joined,
robins joined
11:05
roguelazer left,
Spot__ left,
itz left,
ggherdov left,
xiaomiao left,
dustinm` left,
roguelazer_ is now known as roguelazer,
Juerd_ is now known as Juerd
11:06
dustinm` joined,
Spot___ is now known as Spot__
|
|||
jdv79 | are there any decent pod renderers besides htmlify.p6? | 11:10 | |
trying to port docs from p5 to p6 is kinda hard to format when perl6 --doc looks wrong | |||
11:11
timotimo joined
11:12
ggherdov_ is now known as ggherdov,
retupmoca joined
|
|||
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:13 | |
jdv79 | i meant for term display | 11:14 | |
ShimmerFairy | I don't think there are any modules currently aside from Pod::To::HTML and Pod::To::Text (the default for --doc) | 11:15 | |
Woodi | hallo #perl6 :) | 11:16 | |
ShimmerFairy | Ooh, I was wrong, there's apparently a Pod::To::Markdown now | ||
11:17
kaare_ left
|
|||
Woodi | here is .Net eqv: msdn.microsoft.com/en-us/library/b...10%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:21 | |
jdv79 | seems pretty straightforward | 11:22 | |
11:24
inokenty joined
|
|||
Woodi | "serialize&compare" is nice, but discusion is a bit teoretical, no real use cases was presented | 11:24 | |
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:29 | ||
11:33
telex left
11:34
telex joined,
robins is now known as robinsmidsrod
|
|||
dalek | Heuristic branch merge: pushed 29 commits to specs/newio by lizmat | 11:35 | |
Heuristic branch merge: pushed 117 commits to rakudo/newio by lizmat | 11:37 | ||
Heuristic branch merge: pushed 212 commits to roast/newio by lizmat | 11:39 | ||
11:52
Begi left
11:53
konsolebox left
|
|||
jdv79 | can I get github.com/jdv/p6-data-selector added to the ecosystem? | 11:53 | |
moritz | jdv79: sure | 11:54 | |
lizmat | just do a PR in the ecosystem repo? | ||
jdv79 | i'd like to get it tested more at the very least | ||
oh, ok | |||
11:54
[Sno] left,
[Sno] joined
|
|||
moritz | jdv79: you should have commit access to github.com/perl6/ecosystem already | 11:55 | |
jdv79 | oh | ||
moritz | add it to META.list | ||
jdv79 | just at the tail? | 11:57 | |
RabidGravy | everyone does | ||
though the modules list makes it alphabetical anyway | 11:58 | ||
dalek | osystem: 3f800db | jdv79++ | META.list: Add Data::Selector. |
11:59 | |
jdv79 | ok, thanks | 12:00 | |
how long til that change propagates fully? | |||
panda claims ignorance of the dist | 12:01 | ||
12:02
AlexDaniel joined
12:03
jkva joined,
Begi joined
|
|||
moritz | jdv79: the next update of the list should be ~4min | 12:05 | |
jdv79 | hmm, i didn't put a provides section in the meta - is that necessary? | 12:06 | |
moritz | yes | ||
jdv79 | hopefully fixed that | 12:11 | |
masak | TimToady: re-reading irclog.perlgeek.de/perl6/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 | |
I realli would like it if we did this by simultaneously writing up a tutorial for docs.perl6, though. | |||
jdv79 | didn't make it | ||
masak | really* | ||
jdv79 | is it */5 or */15 - the projects.json refresh i mean | 12:13 | |
moritz | jdv79: it's 8,28,48 | ||
masak | m: BEGIN $_ = 1; .say | ||
camelia | rakudo-moar 6bbb56: OUTPUT«1» | ||
masak | m: BEGIN { $_ = 1 }; .say | ||
camelia | rakudo-moar 6bbb56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6nyYyMMdFrAn exception occurred while evaluating a BEGINat /tmp/6nyYyMMdFr:1Exception details: 5===SORRY!5=== Error while compiling  Cannot assign to an immutable value at :» | ||
jdv79 | meh. i need to eat. i'll check it later i guess. | ||
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:: | ||
Javascript": ...") at server/updatelist.pl line 29, <$_[...]> line 357. | |||
masak | moritz: do you know of an "all the things that are wrong about git submodules" resource on the web? | 12:15 | |
12:15
jkva left
|
|||
moritz | masak: no | 12:15 | |
masak | there should be one, I think. maybe I'll write a blog post for it. | 12:16 | |
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'? | ||
jdv79: I did, and now it knows about Data::Selector | |||
lizmat | hmmm... seeing quite some spectest breakage now? | ||
jdv79 | no, just panda install Data::Selector | ||
weird | |||
lizmat | oops | 12:18 | |
my bad | |||
masak | moritz++ # Star RC0 | ||
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? | ||
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. | ||
TimToady: (and I've never taken a stance against it being chaining; I just found it amusing/unnecessary) | 12:20 | ||
jdv79 | anyway, thanks moritz++ | 12:21 | |
food & | |||
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 ~~ | ||
smls | masak: Maybe .. is the one that needs a different precedence? It feels too loose w.r.t. set/bag operators too. | 12:22 | |
12:22
vendethiel joined
|
|||
masak | moritz: me neither, but I dislike `$status ~~ (0..4)` a lot less than I mind chaining ~~ | 12:23 | |
moritz | smls: example? | ||
masak | in fact, until I see proof to the contrary, I don't think we can improve the current precedence table a lot. | ||
lizmat | masak: there is a precedent for needing to parenthesize ranges | ||
masak | (and trying will only upset the ecosystem) | 12:24 | |
moritz | s/less/more/ ? | ||
masak | moritz: aye. | ||
lizmat | m: ^10>>.say | ||
camelia | rakudo-moar 6bbb56: OUTPUT«10» | ||
lizmat | m: (^10)>>.say | ||
camelia | rakudo-moar 6bbb56: OUTPUT«9753186420» | ||
smls | moritz: Hm, guess I remembered wrong, it seems it's actually tighter than set ops. | ||
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:25 | |
smls | m: say 1..5 (&) 3..10 | 12:26 | |
camelia | rakudo-moar 6bbb56: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A0Bo141vfTOperators '..' and '..' are non-associative and require parenthesesat /tmp/A0Bo141vfT:1------> 3say 1..5 (&) 3.7⏏5.10» | ||
smls | Hm no, not tighter than all of them | ||
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 | ||
camelia | rakudo-moar 6bbb56: OUTPUT«False» | ||
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:28 | |
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:29 | ||
smls | m: say 1 .. 5 + 1 | 12:34 | |
camelia | rakudo-moar 6bbb56: OUTPUT«1..6» | ||
smls | ^^ I guess making this work is the reason why .. has so loose precedence | ||
12:35
Juerd left
|
|||
masak | ShimmerFairy: "group it with the other non-Bool comparers" -- but infix:<..> is not a compararer at all. | 12:35 | |
ShimmerFairy | masak: didn't say or suggest it was. | 12:36 | |
masak | ShimmerFairy: that was a direct quote of you above. | ||
12:36
Begi left
|
|||
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
|
|||
masak has a look at that prec level | 12:37 | ||
oh, the <=> and stuff | |||
I see | |||
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 | ||
*especially* as it breaks existing code out there. | |||
dalek | kudo/nom: 1c7c6ff | lizmat++ | src/core/ (3 files): Re-introduce Pos for returning Positions Using timotimo's suggestion for using MMD for Pos.Bool If this is thought to be a confusing / bad idea anyway, I'll revert again (but for unkeeps this time :-) |
12:39 | |
12:39
kaare_ joined
|
|||
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) | ||
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:40 | |
12:40
bin_005 left
|
|||
masak | ShimmerFairy: that ticket even theorizes that allowing it to chain might be useful in some (not yet encountered) situation. | 12:41 | |
I just want to make it clear that I was never against ~~ chaining :) | |||
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) | ||
masak | that's how you check whether a thing is between two endpoints! | ||
it's a very common idiom! | |||
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. | ||
masak | RabidGravy: um, why not just `$foo lt $bar`...? | ||
ShimmerFairy: some of us use that idiom a *lot*. | |||
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. | ||
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. | ||
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:44 | ||
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:45 | ||
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:46 | ||
12:49
gfldex joined
|
|||
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:50 | |
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: gist.github.com/masak/b694a4050f4e91bd254c | 12:55 | |
12:56
smls left
|
|||
masak | ShimmerFairy: I think we should try to make ~~ chaining instead of changing its precedence. | 12:57 | |
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. | |||
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. | ||
someone tries, `$x ~~ 1..5`, it doesn't work, and they come on the channel and ask why. | |||
s/,// | 12:59 | ||
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. | |||
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. | ||
masak | no-one's asking you to try to make it work :) | ||
ShimmerFairy | masak: this FAQ of yours would have a _lot_ of precedence question if that was the case :P | 13:00 | |
*questions | |||
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" | ||
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 | ||
that one recently got a warning. | |||
m: my $limit = -7; say ^$limit.abs | |||
camelia | rakudo-moar 6bbb56: OUTPUT«0..^7» | ||
masak | oh, that one's correct :P | ||
m: my $limit = 7; say ^$limit.minmax | |||
camelia | rakudo-moar 6bbb56: OUTPUT«0..^1» | ||
masak | heh | 13:02 | |
ShimmerFairy | the "common idiom" strike doesn't work on people for whom the idiom does not exist, however :P | ||
masak | apparently I don't know how to trigger the warning... | ||
ShimmerFairy: do you ever do `if 1 <= $x <= 5`? | |||
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 | |
m: say ^42.reverse | |||
camelia | rakudo-moar 6bbb56: OUTPUT«Potential difficulties: Precedence of ^ is looser than method call; please parenthesize at /tmp/iaajDzcWzU:1 ------> 3say ^427⏏5.reverse0..^1» | ||
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 | |
ShimmerFairy: oh right, that's how. | |||
digits were needed, I guess. | |||
moritz | fwiw ~~ $a .. $b is used at least 8 times in 6 different modules in the ecosystem | 13:05 | |
masak | moritz++ | ||
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. | ||
(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 | ||
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. | |||
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. | ||
ShimmerFairy: yes. we agree on that, it seems. | |||
s/,,/,/ | |||
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 | ||
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:10 | ||
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:11 | ||
moritz | not everything can be improved by adding more dimensions. | 13:12 | |
masak | ShimmerFairy: vendethiel has a paper on that, if you're interested. | ||
vendethiel looks around | 13:13 | ||
you mean mixfix parsing? | |||
masak | yes, that one. | ||
13:13
jkva joined
|
|||
ShimmerFairy | masak: I also once jokingly brought up "quantum" precedence here, which basically runs on magic so you never need parens :P | 13:13 | |
masak | ShimmerFairy: what you're after is not really called "multi-dim", but en.wikipedia.org/wiki/Partially_ordered_set | 13:14 | |
vendethiel | ShimmerFairy: www.cse.chalmers.se/~nad/publicatio...mixfix.pdf | ||
ShimmerFairy: this allows agda to define | |||
masak | ShimmerFairy: also, I recommend everything Scott Aarsonson ever has written, to learn all the ways in which "quantum" != "magic" ;) | ||
vendethiel | if_then_else_ True value _ = value; if_then_else False _ value = value; | ||
and then use it is "if x then y else z" | 13:15 | ||
ShimmerFairy | vendethiel: thanks, I'll be sure to give it a read later :) | 13:17 | |
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:21 | ||
13:21
daxim_ left
|
|||
masak | ShimmerFairy: noted; thanks. | 13:23 | |
vendethiel | which gist? | 13:25 | |
masak | vendethiel: irclog.perlgeek.de/perl6/2015-07-26#i_10956385 | ||
dalek | kudo/nom: 391bdb1 | lizmat++ | src/core/ (4 files): Don't need to check for index().defined anymore |
13:26 | |
moritz | doc/ROADMAP mentions "2 ** Failure changes (japhb" | 13:27 | |
what are those Failure changes | |||
? | |||
13:29
jack_rabbit left,
rurban left
|
|||
moritz | 3 *** complete Buf implementation (depends on 'is rw' native ints) | 13:29 | |
what's missing? | |||
jnthn | moritz: Well, we got is rw native stuff and you can now slice Bufs | 13:30 | |
I'm not sure what else is missing. | 13:31 | ||
moritz | jnthn: then I'll remove it | ||
jnthn: any idea about the Failure changes? | 13:32 | ||
ShimmerFairy | moritz: that was added back in 2011: github.com/rakudo/rakudo/commit/6fd65520 | 13:33 | |
Not sure how dated it is by this point. | |||
moritz neither | |||
dalek | kudo/nom: 9617374 | moritz++ | docs/ROADMAP: Remove Buf item from ROADMAP we seem to be doing allright on the Buf front, and no concrete TODOs remain |
13:34 | |
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. | ||
jnthn | moritz: No, 'fraid not | ||
13:41
diana_olhovik_ left
13:42
azawawi joined
|
|||
azawawi | hi | 13:42 | |
dalek | ast: e86a689 | moritz++ | S03-operators/repeat.t: RT #125627: xx Inf |
||
moritz | \o azawawi | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125627 | ||
13:43
Possum left
|
|||
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:43 | |
grondilu: ping | 13:44 | ||
moritz | azawawi: .new is called on a type object, so you cannot access attributes there | ||
azawawi: doc.perl6.org/language/objects#Obje...nstruction | |||
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/4Z44E0u1PnMissing blockat /tmp/4Z44E0u1Pn:1------> 3ult!a = 99; return $result; }; Foo.new()7⏏5<EOL> expecting any of: statement end statement modifier stateme…» | ||
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/YrjxUxSYCRNo 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()» | ||
timotimo | wasn't there a way to do this? | ||
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" | ||
camelia | rakudo-moar 1c7c6f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3N2foXRLIZUnable 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…» | ||
moritz | m: class Foo { has $.a; method new { self.bless(a => 99) } }; say Foo.new.a, ' bottles of beer' | ||
camelia | rakudo-moar 1c7c6f: OUTPUT«99 bottles of beer» | ||
azawawi | i dont understand it is so simple to do in Java :) | ||
timotimo | oh, you're not even talking about private attributes | 13:49 | |
my mistake | |||
jnthn | And f you do want it private, you probably want to write a BUILD not a new | 13:51 | |
*if | |||
moritz | azawawi: if you have a usage example for me, it's likely I can show you a simple solution | ||
jnthn | Ah, and moritz++ linked to the docs already :) | ||
13:52
dolmen joined
13:53
brrt joined
|
|||
azawawi | ok i will try it. thanks :) | 13:53 | |
13:53
FROGGS__ joined
|
|||
jnthn | Time to commute for a few days teaching & | 13:56 | |
timotimo | "commute for a few days" :o | ||
sounds like an exhausting trip | |||
13:57
FROGGS_ left
|
|||
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 | |
airport & :) | |||
13:57
BenGoldberg joined
|
|||
timotimo | OK! :) | 13:57 | |
14:00
dolmen left
14:02
brrt left
14:16
spider-mario joined
|
|||
jdv79 | masak: [$o4, $o5] eqv [$o5, $o4]; # True | 14:19 | |
oh, nm. nice. | 14:20 | ||
why is wanting eqv to front for === a common case or a good idea at all ^H? | 14:26 | ||
the rest seems cool | |||
masak | jdv79: eqv defaulting to === (for user-defined classes) is the current model. the tutorial describes the model we're aiming for | 14:30 | |
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. | ||
moritz | ugexe: call private method !fap on the result of the .bless() call | 14:35 | |
ugexe | oh i see... | 14:36 | |
masak | jdv79: oh, and that one shoulda been False | 14:37 | |
oh, no, wait | |||
jdv79 | not if its value semantics | ||
azawawi | moritz: ping :) | ||
masak | right | ||
moritz | azawawi: pong | ||
azawawi | moritz: github.com/azawawi/perl6-atom-elec...e_launcher | ||
jdv79 | i saw it wrong at first | 14:38 | |
azawawi | moritz: and github.com/azawawi/perl6-atom-elec...Window.pm6 | ||
moritz | azawawi: that looks rather fishy | 14:39 | |
azawawi | moritz: yup, it is... my foo is weak in Perl 6 OO lol | 14:40 | |
moritz: basically im wrapping calls via JSON::RPC to electron JS renderer process (which is a JSON::RPC::Server) | 14:41 | ||
.tell grondilu ELI5 => github.com/azawawi/perl6-atom-elec...e_launcher | 14:43 | ||
yoleaux | azawawi: I'll pass your message to grondilu. | ||
moritz | azawawi: one way to do it: perlpunks.de/paste/show/55b4f231.6cf3.199 | 14:44 | |
azawawi: the other is to initilize $!handle_id in BUILDALL, see doc.perl6.org/language/objects#Obje...nstruction | |||
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 | |
example: | |||
m: my $a = []; $a.push($a) # please write as one assignment | 14:46 | ||
camelia | ( no output ) | ||
masak | this is important for .perl output | ||
but also for how we construct things with cycles in them | |||
14:47
[Tux] left
|
|||
masak | I think we should stop short of deep-cloning things which need the MOP to set attrs correctly | 14:48 | |
dunno what .perl should do in that case | |||
14:49
jkva left
|
|||
moritz | fwiw p5 Data::Dumper produces multiple statements | 14:50 | |
14:50
skids joined
|
|||
timotimo | m: my $a = [$a]; | 14:52 | |
camelia | ( no output ) | ||
timotimo | m: my $a = [$a]; say $a | ||
camelia | rakudo-moar 961737: OUTPUT«(Any)» | ||
timotimo | mhm. | ||
vendethiel | seems correct post-glr, no? | 14:53 | |
masak | moritz: I think producing multiple statements is fine. as long as it's still fairly readable. | 14:54 | |
vendethiel: certainly not. | |||
vendethiel: rhs is evaluated and then assigned to (l-value) lhs. | |||
vendethiel | isn't $a Any for the whole duration of its = ? | ||
masak | that's my point. | 14:55 | |
so you get an array of Any | |||
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» | ||
masak | that one is less impressive because .[0] is a no-op when the thing is not Positional... :) | 14:57 | |
14:57
rurban joined
|
|||
ugexe | good to know | 14:57 | |
vendethiel doesn't quite like it, but knows that perl6 is far too dependent on this behavior | 14:59 | ||
15:01
[Tux] joined
|
|||
azawawi | moritz: it works but this is one catch... $!handle_id = 0 + $result:handle_id; stores the first handle id for some reason | 15:05 | |
moritz | azawawi: what kind of syntax in $result:handle_id anyway? | 15:06 | |
azawawi: and what do you mean by "first"? | 15:07 | ||
azawawi: I haven't see multiple handle IDs yet | |||
azawawi | moritz: json rpc client returns {:handle_id(1)} | 15:09 | |
moritz: that's the blessing of working against a nodejs rpc server... | 15:10 | ||
RabidGravy | so $result<handle_id> right? | ||
azawawi | finally fixed... | 15:11 | |
Perl 6 can now control atom electron windows (aka chrome) | 15:12 | ||
github.com/azawawi/perl6-atom-elec...e_launcher | |||
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
|
|||
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:13 | |
vendethiel | I think it's deep engrained into Perl6 | 15:14 | |
down into the sigils | |||
timotimo | nah, it's just Any | 15:15 | |
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 | ||
ShimmerFairy | m: my $a = [VAR($a)]; say $a; $a.push(1); say $a; # masak: does this count as "please write as one assignment" ? :P | ||
camelia | rakudo-moar 961737: OUTPUT«[Array.new][Array.new, 1] 1» | ||
moritz | it's also List.pick(1) return the element rather than a List, for example | ||
masak | ShimmerFairy: ...no. | 15:20 | |
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. | |||
it's purely a timing issue. | |||
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) | ||
masak | something like `my $a = [SOON { $a }];` | ||
ShimmerFairy: "counts towards"? your suggestion doesn't create a cycle. | 15:22 | ||
ShimmerFairy: it ends up containing two different arrays. | |||
15:22
Possum joined
|
|||
azawawi | moritz: i.imgur.com/J6UolpB.png?1 # create and change url on two electron browser windows | 15:22 | |
15:24
Ben_Goldberg joined
|
|||
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 | ||
dalek | kudo/nom: 6c2ad86 | moritz++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp: RT #125606: Fix composition of private methods when all but one is a stub |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125606 | ||
azawawi | moritz: yup | ||
dalek | ast: 2edb3c9 | moritz++ | S14-roles/stubs.t: Tests for RT #125606: Role composition and private method stubs |
15:27 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125606 | ||
azawawi | moritz: thanks for your time :) | ||
moritz | azawawi: you're very welcome | ||
15:28
BenGoldberg left
|
|||
azawawi | moritz: next is getting windows events from JS to Perl 6 | 15:28 | |
moritz: and wrapping more Electron API | |||
azawawi home & | 15:30 | ||
15:30
azawawi left
15:32
ggoebel left
|
|||
masak thinks the next step is to write tests for a bare-bones shared subgraphs/cycles detector | 15:36 | ||
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:37 | ||
15:42
khw joined,
isBEKaml joined
15:49
isBEKaml left
|
|||
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: rt.perl.org/rt3/Public/Bug/Display...?id=125606 | ||
15:52
virtualsue joined
|
|||
timotimo | did --optimize=off remove the problem? | 15:52 | |
moritz | timotimo: no | 15:53 | |
15:53
Begi joined
|
|||
timotimo | i'm always relieved when problems don't come from our optimizer, because i spent so much time in that thing :) | 15:54 | |
15:55
jkva joined,
TEttinger joined
|
|||
moritz | timotimo: rt.perl.org/Ticket/Display.html?id=125694 | 15:56 | |
I don't even know if it was possible to create that condition before my previous commit | 15:57 | ||
timotimo | oh, huh | 15:59 | |
16:00
jkva left,
Averna left
16:01
tinyblak left
16:02
Averna joined
|
|||
jdv79 | masak: sounds like fun | 16:02 | |
how come smoke stops at 7/21? | 16:05 | ||
16:06
jkva joined
16:09
Averna left
|
|||
jdv79 | also, what's up with gh's syn highlighting? | 16:09 | |
16:13
jkva left
|
|||
moritz | jdv79: it's known to be imperfect | 16:16 | |
dalek | kudo/nom: ed945eb | moritz++ | src/core/Temporal.pm: RT #125683: Validate minutes in timezone string |
16:20 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125683 | ||
dalek | ast: 9c46742 | moritz++ | S32-temporal/DateTime.t: RT #125683: Validate minutes in timezone |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125683 | ||
dalek | rl6-roast-data: 01d81ba | coke++ | / (9 files): today (automated commit) |
16:35 | |
16:42
rindolf left
16:46
mohij joined
16:48
roguelazer left,
roguelazer joined
16:49
roguelazer left,
yqt joined
16:57
jkva joined
17:00
roguelazer joined
17:01
virtualsue left
17:06
diana_olhovik_ joined
17:07
jkva left
17:08
jkva joined,
zakharyas joined
17:09
jack_rabbit joined
|
|||
masak | another variant to consider for the can't-assign-at-once self-referent structures problem: | 17:10 | |
`my $a = fix({ [$^f] });` | 17:11 | ||
(I'm not sure that generalizes well for things with several cycles, though. need to think about that.) | |||
17:15
jack_rabbit left
17:17
jkva left
17:26
diana_olhovik_ left
17:34
spider-mario left
17:39
brisby joined
|
|||
moritz | it turns out that git-subrepo is rather sloooow, and updating perl6-all-modules is no fun at all anymore | 17:49 | |
we're talking about several hours on a host with really fast internet access | 17:50 | ||
masak | huh, wow. | ||
moritz: would it make sense to turn it into a setup that downloads all those repos with --depth=1 instead? | |||
(maybe nuking it every time in-between) | 17:51 | ||
moritz | masak: maybe; at the expense that a mere user can't simply 'git clone' the repo anymore | 17:52 | |
that's the advantage with the current setup; only I have the pain with updating | |||
maybe I should just do a weekly cron job, and be done | |||
otoh, the ssh key setup doesn't favor cron jobs | |||
17:55
yqt left
|
|||
moritz | maybe with deploy keys | 17:59 | |
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
|
|||
moritz | masak: aye, but it sheds some light on the priority | 18:04 | |
18:04
zakharyas left
|
|||
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:05 | ||
18:07
mdinger joined
18:08
brrt joined
18:11
Begi left
18:14
baest_ joined
18:15
baest left
18:24
xinming joined
18:35
Begi joined
|
|||
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:49 | |
+99:00 timezone does not sound quite right | 18:50 | ||
moritz | AlexDaniel: so what exactly is the limit? | 18:51 | |
AlexDaniel | not 99 for sure | 18:52 | |
-12:00..14:00 is what we have right now | |||
Begi | Hey #perl6 ! Is someone can take a look at this code and tell me what can I improve ? Thanks ! github.com/Emeric54/perl6/blob/master/course.p6 (It's a small program to back up my performance when I run) | ||
AlexDaniel | well, according to this: en.wikipedia.org/wiki/List_of_UTC_time_offsets | 18:53 | |
moritz | AlexDaniel: but "what we have right now" isn't a good criterium for validation, IMHO | ||
AlexDaniel | +14 does not make enough sense to me, actually, but that's what we have... | ||
moritz: no validation at all is not that good as well | 18:54 | ||
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» | ||
AlexDaniel | I don't think that someone will ever attempt to increase this range | 18:58 | |
and if this happens, ok – we can always change it | |||
RabidGravy | what if it was being used on Saturn? | 18:59 | |
AlexDaniel | UTC timezone on Saturn? What? | ||
RabidGravy: if so, then there should be no limit at all, not even 99 | |||
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 | ||
moritz | AlexDaniel: fwiw we've had restrictions before with the motivation to avoid mistakes, and later that backfired | 19:03 | |
19:03
Guest28157 is now known as felher
|
|||
moritz | AlexDaniel: like, we forbade products of Duration objects, because we thought we it wasn't necessary | 19:04 | |
AlexDaniel: and then masak++ wanted to calculate standard deviations of durations | |||
so we threw that out | 19:05 | ||
(the limitation, I mean) | |||
so, the lesson I picked up is that as long as the behavior is well-defined, rather allow it than forbid it | 19:06 | ||
dalek | ast: 109bb8e | skids++ | S02- (2 files): Refine JVM fudges/skips for relatively new tests |
19:07 | |
AlexDaniel | moritz: maybe! | 19:08 | |
at least that minute thing is fixed, so I'm happy anyway | 19:09 | ||
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:10 | |
moritz | masak: I see no mention of ?! in S05 | 19:11 | |
sorry, meant mdinger | |||
mdinger | It's in the docs: doc.perl6.org/language/regexes#Look...assertions | 19:12 | |
lookbehind had it first | |||
moritz | m: say 'ab' ~~ /a <?!before 'x'>/ | ||
camelia | rakudo-moar ed945e: OUTPUT«「a」» | ||
moritz | m: say 'ab' ~~ /a <!before 'x'>/ | ||
camelia | rakudo-moar ed945e: OUTPUT«「a」» | ||
moritz | mdinger: seems it's redundant | 19:13 | |
unless there are some LTM differences | |||
mdinger | Okay. cool. | ||
dalek | c: f976bcc | moritz++ | lib/Language/regexes.pod: Use ? instead of ?! for negated assertions, mdinger++ |
19:14 | |
19:17
espadrine_ left
19:20
TEttinger left
19:23
zakharyas joined
|
|||
brrt | .tell meisl i have a (p5) initial implementation of aho-style tiling | 19:29 | |
yoleaux | brrt: I'll pass your message to meisl. | ||
brrt | check it out: github.com/MoarVM/MoarVM/blob/even...nerator.pl if you wish | 19:31 | |
.tell meisl check out github.com/MoarVM/MoarVM/blob/even...nerator.pl if you wish | 19:32 | ||
yoleaux | brrt: I'll pass your message to meisl. | ||
brrt now afk | |||
19:32
brrt left
19:40
rurban left
|
|||
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:42 | |
skids | mdinger: design.perl6.org/S05.html#Predefined_Subrules | 19:43 | |
yoleaux | 10:06Z <smls> skids: Thnks; I posted a reply. | ||
mdinger | skids: thanks! | 19:44 | |
19:44
darutoko left
|
|||
dalek | ast: e4b422f | skids++ | S32-exceptions/misc.t: This test turned out to really need a skip not just a fudge on JVM |
19:50 | |
c: b2af0fa | mdinger++ | lib/Language/regexes.pod: Remove more ? from ?! lookaround assertions |
19:51 | ||
c: e82adb8 | mdinger++ | lib/Language/regexes.pod: Merge pull request #107 from mdinger/lookaround_assert Remove more ? from ?! lookaround assertions |
|||
Begi | is there a way to get only the date (dd/mm/yy), without the time ? | 19:52 | |
19:52
bin_005 joined
19:57
virtualsue joined
20:03
BenGoldberg_ joined
20:06
Ben_Goldberg left,
virtualsue left
20:07
yqt joined
|
|||
ShimmerFairy | m: say Date.new(now); | 20:09 | |
camelia | rakudo-moar ed945e: OUTPUT«2015-07-26» | ||
ShimmerFairy | Begi: we have a Date class, if that helps :) . | 20:10 | |
Begi | ShimmerFqiry: thanks ! | ||
I was using DateTime instead of Date... | 20:11 | ||
dalek | c: 86bd241 | mdinger++ | lib/Language/regexes.pod: Link the regex subrules docs to the list of already defined |
20:12 | |
20:21
Begi left
20:22
diana_olhovik_ left
20:24
virtualsue joined
20:27
rurban joined
20:32
zakharyas left
|
|||
moritz | did anybody test the R* release candidate? | 20:33 | |
m: say Date.today | 20:36 | ||
camelia | rakudo-moar ed945e: OUTPUT«2015-07-26» | ||
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:39 | |
20:47
simcop2387 left
|
|||
skids | .oO(There's no "i" in perl. That would put one in peril.) |
20:48 | |
20:48
simcop2387 joined
20:49
telex left
20:50
telex joined
21:02
bin_005 left
21:03
bin_005 joined
21:08
mohij left
21:09
virtualsue left
21:39
rurban left
21:43
census joined
|
|||
masak | census! \o/ | 21:46 | |
census | hi masak! | ||
i'm in the help-census room hahahahah | |||
and i'm still banned from the regular #perl room still after all these years!! | 21:47 | ||
masak joins #help-census | |||
I find it awesome that the #perl6 culture ended up creating such a channel :P | 21:48 | ||
anyone else who wans to #help-census, feel free to join ;) | |||
b2gills: that's a nice practice. I like that. | 21:50 | ||
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:51 | ||
census | masak is the best! | 21:52 | |
b2gills | It of course only works if you've managed to get everything in before the merge | ||
masak | census: *blush* | ||
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:53 | ||
census | best personality, programmer, overall package. but there can be ties too | 21:54 | |
masak | well, I do have a nice package... :P | ||
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 :) | ||
b2gills | masak: I'm sure some of them also admire you | ||
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 | ||
jnthn | Pretty much :) | 21:56 | |
masak | that's a very good description. | ||
Git has that je-ne-sais-quoi of liberalism that Perl also has. | |||
b2gills | so much so that some of it is/was written in Perl | ||
jnthn | That's probably why I swore at it for the first couple of weeks, then loved it forever afterwards :) | ||
21:56
inokenty left
|
|||
masak | b2gills: but they're slowly moving away from it, I think :/ | 21:58 | |
b2gills | .oO( That's only because some people are wrong and don't like Perl ) |
21:59 | |
masak | :P | 22:02 | |
'night, #perl6 | 22:09 | ||
RabidGravy | nighty night | 22:18 | |
22:19
bin_005 left
|
|||
jnthn should prolly rest also & | 22:28 | ||
22:34
bjz left
22:38
mdinger left
22:41
kaare_ left
|
|||
RabidGravy | rest is over-rated | 22:44 | |
timotimo | rest is ever rated | 22:45 | |
23:03
RabidGravy left
23:05
[Tux] left
23:15
dustinm` left,
pierrot_ joined
23:21
dustinm` joined
|
|||
dalek | p/mast_localref_3: d125c71 | timotimo++ | / (2 files): initial implementation of localref X local access as well as three simple failing tests |
23:22 | |
p/mast_localref_3: 3995237 | timotimo++ | / (2 files): mast compiler: fix accessing a local as a localref |
|||
p/mast_localref_3: 38a10da | timotimo++ | src/vm/moar/QAST/QASTCompilerMAST.nqp: localrefs are always in object registers |
|||
p/mast_localref_3: 8d75d7e | timotimo++ | t/moar/02-qast-references.t: this loop'll give you spesh log output for the tests |
|||
p/mast_localref_3: 6868ff3 | timotimo++ | t/moar/02-qast-references.t: fix the tests about localref access |
|||
timotimo | the newio branch makes git lg --all pretty much useless %) | 23:25 | |
gitk does better, though | |||
23:25
brisby left
23:29
perturbation left
23:30
BenGoldberg_ left
|
|||
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:32 | |
23:48
dayangkun joined
|