»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
Zoffix | And what should the behaviour be? :Baz is True or 1? | 00:00 | |
m: use nqp; nqp::bool_I(True).^mro.say | 00:01 | ||
camelia | ((Int) (Cool) (Any) (Mu)) | ||
AlexDaniel_ | do you know how to make any of these two work? :) | ||
Zoffix | just .Int it? | 00:02 | |
m: say True.Int.^mro | |||
camelia | ((Int) (Cool) (Any) (Mu)) | ||
Zoffix | m: enum Foo (:Bar(1), :Baz(<42>)) | 00:03 | |
camelia | ===SORRY!=== Incompatible MROs in P6opaque rebless for types IntStr and Foo |
||
Zoffix | m: enum Foo (:Bar(1), :Baz(<42>.Int)) | ||
camelia | ( no output ) | ||
AlexDaniel_ | no we can't .Int it | ||
m: enum Foo (:Bar("foo")); say Bar | |||
camelia | foo | ||
Zoffix | nqp::istype($blah, Int) ?? $blah.Int !! ... | 00:05 | |
AlexDaniel_ | m: enum Foo (:Bar("foo"), :Baz(42)); say Bar | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Type error in enum. Got 'Int' Expected: 'Str' at <tmp>:1 ------> 3enum Foo (:Bar("foo"), :Baz(42))7⏏5; say Bar |
||
AlexDaniel_ | m: enum Foo (:Bar("foo"), :Baz(<42>)); say Bar | ||
camelia | ===SORRY!=== Incompatible MROs in P6opaque rebless for types IntStr and Foo |
||
00:05
BenGoldberg joined
|
|||
AlexDaniel_ | Zoffix: then this won't work? | 00:05 | |
Zoffix | Well, not really, I guess. What's the correct behaviour? Is :Baz to be True? | ||
00:06
zakharyas left
|
|||
Zoffix | ? | 00:07 | |
AlexDaniel_ | m: use nqp; say so nqp::istype(True, Int); say nqp::rebless(True."Int"(), Int) | ||
camelia | True 1 |
||
AlexDaniel_ | I guess True would be more correct… | ||
Geth | rakudo/full-make-test: 6256ec8272 | (Zoffix Znet)++ | 2 files Make repl tests force interactive repl mode |
00:08 | |
00:12
leont left
00:13
cog__ left
|
|||
Geth | rakudo/full-make-test: e72dedf5cb | (Zoffix Znet)++ | t/02-rakudo/repl.t Simplify routine call |
00:13 | |
00:13
cognominal joined
00:14
TreyHarris left
|
|||
AlexDaniel_ | OK that's it for me on that ticket I think. I've left a comment and retitled it: RT #127775 | 00:18 | |
synopsebot | RT#127775 [new]: rt.perl.org/Ticket/Display.html?id=127775 Declaring enums with bools ( enum Foo (:Bar(1), :Baz(True) )) | ||
Zoffix | AlexDaniel_: but it's not just Bools, IntStr also has issues | 00:19 | |
I'll take a crack at it once I'm done with `full-make-test` | |||
00:20
profan joined
|
|||
Geth | rakudo/full-make-test: 4358871873 | (Zoffix Znet)++ | 2 files Add scrubber routine to is-run-repl |
00:22 | |
00:22
Cabanossi left
|
|||
Geth | rakudo/full-make-test: 92bc011ab0 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Follow convention of core multi sub declarations |
00:24 | |
00:25
Cabanossi joined
00:27
TreyHarris joined
00:29
markjszy joined
|
|||
Geth | rakudo/full-make-test: 63643ad042 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Friendlify is-run-repl() - If code is a Positional, assume its separate lines to feed REPL with - If out/err tests are Positionals, assume they're a bunch of lines |
00:33 | |
rakudo/full-make-test: 9c4025f33f | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Improve is-run() Default to empty Str test for err/out and 0 exit code |
00:34 | ||
00:39
nadim_ left
|
|||
Geth | roast: bitrauser++ created pull request #344: Add tests for RT#125466 |
00:49 | |
squashable6 | 🍕 bitrauser++ opened pull request “Add tests for RT#125466”: github.com/perl6/roast/pull/344 | ||
🍕🍕🍕 First contribution by bitrauser++! ♥ | |||
synopsebot | RT#125466 [open]: rt.perl.org/Ticket/Display.html?id=125466 [MATH] bitwise shift is inconsistent on int | ||
squashable6 | 🍕 zoffixznet++ wrote a comment on “Add tests for RT#125466”: github.com/perl6/roast/pull/344#is...-334975377 | 00:51 | |
00:52
margeas left
00:53
kaare__ left
00:56
labster joined
00:57
llfourn joined
01:02
ChoHag left
01:03
markjszy left
|
|||
Geth | rakudo/full-make-test: 71a0ad5528 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Rewrite Positional $code handling The multi setup isn't working because non-Positional one takes precedence when desc is given |
01:05 | |
rakudo/full-make-test: 2f0bb20e82 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 diag() received output when Callable test fails Otherwise we can't see why exactly it failed |
01:07 | ||
01:07
thou joined
|
|||
01:09
bitrauser joined
|
|||
Zoffix | Some of these REPL tests look bogus to me. `say "works"` with `if True` on another line is meant to be interpreted as one statement, but that's lame, since it means we have to beg for semicolons for each line? | 01:09 | |
Zoffix tosses these | 01:10 | ||
squashable6 | 🍕 bitrauser++ synchronize pull request “Add tests for RT#125466”: github.com/perl6/roast/pull/344 | ||
synopsebot | RT#125466 [open]: rt.perl.org/Ticket/Display.html?id=125466 [MATH] bitwise shift is inconsistent on int | ||
01:12
bitrauser_ left
01:14
ChoHag joined
|
|||
Zoffix | Anyone know how are our bitshifts are meant to behave and can review the above roast PR? | 01:15 | |
bitrauser | Happy for any feedback :) | 01:16 | |
Zoffix | m: my int $i = int.Range.max; say $i; say $i +< -2 | ||
camelia | 9223372036854775807 2305843009213693951 |
||
Zoffix | bitrauser: one thing I notice is the types are missing. It needs `int` if the tests are testing for native ints instead of our Int types | 01:17 | |
And then, if it is native, then I get different results for some of these when I run them with C (maybe I'm doing wrong, I dunno this stuff) | |||
ccc 'long long x = 9223372036854775807; printf("%lld\n", x >> -32)' | |||
-4294967296 | |||
And the last "WHAT" in the ticket looks right if I run it with C | 01:19 | ||
I mean, I get "-4" for it with C | 01:20 | ||
m: my int $i = int.Range.max; say ($i +> -2).log: 2 | 01:22 | ||
camelia | 65 | ||
Zoffix | That one should prolly be overflowing instead of returning an Int | ||
bitrauser: for the ones that are wrong, you can just TODO "fudge" them. Fudging is explained in some readme I think. Here's an example of its use: github.com/perl6/roast/blob/master...aram.t#L19 The comment tells the fudger to rewrite the following test as a TODO | 01:24 | ||
Zoffix added these comments to the ticket | 01:26 | ||
bitrauser | Hmm they do? Trying out the test with `my int $int_min = int.Range.min;` and `my int $int_max = int.Range.max;` still makes it pass on my machine. | ||
Zoffix | Because the tests test for wrong values, don't they? | 01:27 | |
is($int_min +> -64, -170141183460469231731687303715884105728) and is($int_max +> -32, 39614081257132168792477007872); and probably others... Those values look too big for `int` | 01:28 | ||
Do we guarantee `int` is an `int64`? I know on moarvm that's so, but what about other backends? | |||
bitrauser: though I don't know this area, so I'm just guessing here :) For example, `my $shift = -32; say $native_int +> $shift` will likely go through `Int` candidate of the operator and in that case it's probably meant to return large values so... I dunno, are we meant to return Ints when the value is to big. | 01:30 | ||
Maybe timotimo or jnthn know | |||
bitrauser | I see, that's why I used absolute values instead of `Range.max`/`Range.min`, but I did not consider that the needs to assume native ints, as you explained. | 01:31 | |
01:34
evalable6 left,
evalable6 joined
01:35
Rawriful left
01:38
Cabanossi left
01:40
Cabanossi joined
|
|||
Zoffix | You know what'd be cool? For List.kv to take an arg that indicates starting index | 01:43 | |
for lines.kv: 1 { say "Line #$^a is $^b" } | 01:44 | ||
Don't make any sense on a Hash tho, so... nm | 01:45 | ||
01:45
ilbot3 left
|
|||
AlexDaniel_ | WOOOP WOOOP WOOOP | 01:46 | |
AlexDaniel_ acts like an idiot, this won't be logged anyway | |||
well, only in matrix network and maybe other loggers… | 01:47 | ||
Zoffix | :o All this time I thought "2001 A Space Oddysey" was made... in 2001 | 01:48 | |
buggable | New CPAN upload: Geo-Hash-0.0.1.tar.gz by TITSUKI cpan.metacpan.org/authors/id/T/TI/...0.1.tar.gz | 01:52 | |
teatime | Zoffix: You are kidding, right? | 01:54 | |
Zoffix | teatime: nope :( | ||
01:54
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
teatime | haha, that's great :) | 01:55 | |
Zoffix | :) | 01:56 | |
01:57
ryn1x joined
|
|||
ryn1x | Is there a way to speed up vim while editing perl6 files? I am not sure why but it slows to a crawl only when I am in a .p6 file... | 01:58 | |
Geth | rakudo/full-make-test: 153f133bc2 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Implement Map test to test specific lines - Keys are line numbers and values are expected lines - Key "t" is total expected line numbers |
02:00 | |
geekosaur suddenly feels old | |||
Zoffix | That feature looks a bit nutty... Might remove it if I don't use it often enough when I'm done with REPL testss | ||
ryn1x: I saw that question asked several times. Don't remember what the answers were, but perhaps you can find something by searching logs: irclog.perlgeek.de/perl6/2017-10-08 | 02:01 | ||
ryn1x | Zoffix: Thanks. I'll do that. Can I ask what text editor you are using for perl6? | 02:03 | |
Zoffix | ryn1x: Atom | ||
huggable: atom ide | |||
huggable | Zoffix, github.com/perl6/Atom-as-a-Perl6-IDE | ||
AlexDaniel_ | ryn1x: alternatively, if you're using vim, then maybe you can try emacs with perl6-mode! No joking, if you go with spacemacs then you can use it straight away | 02:07 | |
spacemacs has no perl6 layer yet, unfortunately | 02:08 | ||
but this does not prevent you from using perl6-mode | |||
Zoffix | But can you do Power Mode? atom.io/packages/activate-power-mode | 02:09 | |
^_^ | |||
AlexDaniel_ | “Screen Shake” “Play Audio” “Particles” | 02:10 | |
hmm | |||
maybe not | |||
actually, I think I lied about perl6 layer | |||
github.com/syl20bnr/spacemacs/issues/5019 | |||
02:10
releasable6 left
02:11
releasable6 joined,
ChanServ sets mode: +v releasable6
|
|||
AlexDaniel_ | the issue is there but it seems to be resolved: github.com/syl20bnr/spacemacs/pull/8493 | 02:11 | |
ryn1x | AlexDaniel_: I was thinking about trying that again... maybe I'll give it a shot if I cant fix this slow vim with perl6 issue... I tried spacemacs a while back and switched to vim because I had a lot of problems loading it at work... and I like mirroring my work and home set-ups. | ||
AlexDaniel_ | Zoffix: do we have a list of editors somewhere? | 02:12 | |
pierrot | /5/5 | ||
Zoffix | No idea | 02:13 | |
AlexDaniel_ | ok, found it: perl6.org/whatever/ | 02:14 | |
Geth | rakudo/full-make-test: be4d57deb5 | (Zoffix Znet)++ | t/02-rakudo/repl.t Start rewriting REPL tests using new test routine Tossed sanity tests (what's the point?) and two TODOed tests for postfix if/for on next lines. Such behaviour is undesirable, since we'll have to force users to use a semicolon at the end, having unhelpful behaviour of expecting further lines of input when it's missing. |
02:15 | |
teatime | ryn1x: The answer is yes, there is. It has been like 6mo. at least since I last touched that stuff though, so I do not remember the specific details. | 02:17 | |
AlexDaniel_ | ryn1x: I created this issue github.com/perl6/perl6.org/issues/83 | ||
AlexDaniel_ wonders why he stopped using spacemacs | 02:18 | ||
it was years ago so I don't really remember | |||
teatime | ryn1x: Perl 6 is pretty complex/difficult to properly syntax-highlight. vim comes w/ perl6 support, but it is not very good/complete/whatever. | ||
02:19
cdg joined
|
|||
teatime | so pretty sure the answer is to install a/the better Perl6 highlighting stuff | 02:19 | |
ryn1x | AlexDaniel_: What editor are you using now? Atom also? | ||
AlexDaniel_ | I think one of the issues was that I went with vim keybindings and after several months of use realized what a horrible idea it was | ||
ryn1x: emacs with perl6-mode | |||
teatime | and as a super-short-term workaround, turning syntax off should eliminate the slowdown; if it doesn't, do let me know. | ||
ryn1x | teatime: Thank.. I am reading through the logs now... it looks like it has been brought up a few times... no solution yet... | 02:20 | |
AlexDaniel_ | wait, there's perl6 mode for neovim? | 02:21 | |
teatime | I didn't have slowdown problems, but I did encounter limitations of the built-in Perl6 definitions that were all completely resolved by installing some other one. | ||
AlexDaniel_ | err doesn't look like it does anything: github.com/neovim/neovim/blob/mast.../perl6.vim | ||
teatime | AlexDaniel_: ftplugin is a hook that runs when vim recognizes it's loaded a file of that type | 02:22 | |
02:23
cdg left
|
|||
teatime | AlexDaniel_: and multiple ones can be registered and run | 02:23 | |
AlexDaniel_: so it's not too weird to have one that just does something like "set indenting to two spaces" for Ruby or "actually use tabs" for Makefiles, etc. | 02:24 | ||
AlexDaniel_ | ah ok | ||
github.com/neovim/neovim/blob/mast.../perl6.vim | |||
teatime | AlexDaniel_: also neovim includes everything (afaik?) in vim, jsyk | ||
AlexDaniel_ | this is the right file | ||
02:24
yht joined
|
|||
AlexDaniel_ | teatime: so they just took all syntax files from vim, right? | 02:25 | |
teatime | AlexDaniel_: there's definitely more to a syntax definition than that, it'll be elsewhere, but it kinda looks like this ftplugin is fixing-up some stuff that would be set there? I dunno. agreed, it doesn't look like it does much. | ||
AlexDaniel_ | doesn't it make neovim a possible editor alternative also? | ||
teatime | AlexDaniel_: yeah, presumably. they may have then improved etc. them tho. | ||
well sure! :) | |||
ryn1x | Says last change 2013... | ||
teatime | I beleive neovim is pretty much 100% backwards-compatible to vim... it just 1) has saner more modern defaults for config settings and 2) has additional features. | 02:26 | |
vim syntax highlighting is pretty much just defining a bunch of regular expressions that identify each kind of syntax element | 02:27 | ||
you can see how 1) this would be even more difficult to do well for perl6 than maybe it is in general :) and 2) prone to slowness on big files | |||
AlexDaniel_ | github.com/perl6/perl6.org/issues/84 | ||
teatime | of course, if I ask you guys "Is it sane to parse Perl6 code with just regexes??" you would probably say "Well, Perl6 does ;)" | ||
02:29
yht left
|
|||
teatime | AlexDaniel_: was this what you were looking for / expecting? github.com/neovim/neovim/blob/9f6d.../perl6.vim | 02:29 | |
AlexDaniel_ | teatime: yeah, given that I've sent this link a few messages ago… :) | 02:30 | |
ryn1x | I wish there was support for sublime text... seems like atom has taken the spotlight, but it is horribly slow compared to sublime.. and vim/emacs has always scared off the majority because of the learning curve. | ||
teatime | heh, sorry, multi-tasking poorly | ||
AlexDaniel_ | never really understood the learning curve problem with emacs | 02:32 | |
teatime | I've never given emacs a fair trial, but when I have started to, it's just kinda overwhelming. | ||
02:32
hoffentlichja joined
|
|||
ryn1x | AlexDaniel_ Me either, but for the GUI generation of people it is not very approachable I guess | 02:32 | |
AlexDaniel_ | sure, ctrl+s and some other shortcuts don't work, but you have all the buttons in the GUI, and all these show how you can do this stuff using the keyboard | ||
teatime | I don't try to convert people to vim but I use it because I am used to it. | ||
ryn1x: how big is the file(s) that are causing bad slowdowns for you / are they public / etc. | 02:34 | ||
would like to duplicate it | |||
ryn1x | teatime: File size does not seem to matter... I can open a 20 liner and get scroll lag with j/k | 02:36 | |
teatime | oh wow, ok | 02:37 | |
how close to stock is your vim configuration? 'cause *that* has not been my experience | |||
02:40
cdg joined
|
|||
ryn1x | teatime: it ir very small... I just backed it up and removed it and the lag is almost gone though... I think it may be my relative line numbering... going to turn that off and try again.. | 02:40 | |
02:40
noganex joined
|
|||
teatime | ahhh yes, I don't use rel numbering but it is a known source of ui lag | 02:42 | |
ryn1x | teatime: yep that fixed it... strange... it is only within a perl6 file that the relative line numbering can't keep up... | ||
02:43
noganex_ left
|
|||
Zoffix | huggable: slow vim :is: Perl 6 Vim is slow? Turn off relative line numbering: irclog.perlgeek.de/perl6/2017-10-08#i_15272870 | 02:43 | |
huggable | Zoffix, Added slow vim as Perl 6 Vim is slow? Turn off relative line numbering: irclog.perlgeek.de/perl6/2017-10-08#i_15272870 | ||
ryn1x | now I can stop all these crazy thoughts of trying a different text editor | ||
teatime relaxes. | 02:44 | ||
02:44
cdg left
|
|||
teatime | ryn1x: #vim is pretty useful, fyi. curmudgeonly sometimes, but what else can one expect. | 02:45 | |
ryn1x | teatime: I bet. There is no friendlier channel than this one! Honestly the interactions I have had here made me decide to stick with learning perl6. | 02:48 | |
teatime | yeah, it's a big influence on my sticking with it, and also tbh a motivator for me to behave better in general | 02:49 | |
sometimes I start to snark at someone in #randomchannel and then think, "Wait, that would def. be a Less Than Awesome response, now wouldn't it?" | 02:50 | ||
Zoffix | \o/ | ||
AlexDaniel_ | \o/ indeed | 02:52 | |
.oO( hey, it's a positive feedback loop right there! ) |
02:54 | ||
02:56
yht joined
03:02
yht left
|
|||
Geth | rakudo/full-make-test: c45d0cd1b5 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Disable error colouring |
03:04 | |
Zoffix | squashable6: status | 03:05 | |
squashable6 | Zoffix, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈8 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
Zoffix, Log and stats: gist.github.com/1e0dfeae35507a7e6c...1f55e29243 | |||
03:19
Aaronepower left
03:26
pilne joined,
jeromelanteri joined
|
|||
Geth | rakudo/full-make-test: 338a097246 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Allow :out test given as third positional |
03:31 | |
rakudo/full-make-test: 7c8a2739a5 | (Zoffix Znet)++ | t/02-rakudo/repl.t Rewrite remaining REPL tests using new routine |
03:32 | ||
rakudo/full-make-test: d82c09b351 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Toss `Map` test option Too convoluted and turned out to be rather useless afterall. |
03:33 | ||
03:33
mudguts joined
|
|||
mudguts | squashable: next | ||
squashable6 | mudguts, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈8 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
mudguts, Log and stats: gist.github.com/585d37427b74182866...032e81c123 | 03:34 | ||
teatime | ryn1x: some things that may or may not mitigate some of the symptoms: set lazyredraw, set regexpengine=1 ... expected to exacerbate issue: set cursorline, set relativenumber, folding especially foldmethod=syntax. you likely found all that already. | ||
ryn1x: I found this quite interesting: github.com/chrishunt/dot-files/iss...t-39977334 | 03:35 | ||
03:38
Cabanossi left
|
|||
teatime | ryn1x: cursorcolumn is out for same reason. | 03:39 | |
03:40
Cabanossi joined
|
|||
ryn1x | teatime: thx. i didn't think about it until reading the link you just sent, but if rel line nums causes the screen to be redrawn... that is probably killing me because I am using a 5k monitor.. that and the demanding syntax highlighting for p6 was just too much for my laptop. | 03:43 | |
teatime | tbh the real core issue is that vim re-calculates/re-matches the syntax stuff way over-often | 03:44 | |
i.e., (I think) reducing the amount of redrawing is making such a dramatic improvement because vim is unnecessarily re-doing all the regex matching work for the syntax highlighting, on every redraw | 03:45 | ||
Zoffix | 5k monitors are out? | 03:46 | |
teatime | github.com/vim/vim/issues/1735 <-- issue is here, if you want to track it; also mentioned in `:help todo` ... many other langs with non-trivial syntax configs are affected (I've seen ruby, php, html mentioned so far), so at least you don't have to wait on someone to be motivated by Perl6 to fix it :) | ||
(I, however, wouldn't be shocked if neovim fixes the problem before vim...) | 03:47 | ||
Geth | rakudo/full-make-test: c9913277c9 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Consistify interface By allowing Seq :out/:err tests, since we allow Seqs for $code |
||
ryn1x | Zoffix: LG UltraFine 5k. It is really nice, but quite pricey. | ||
Geth | rakudo/full-make-test: f8edb82957 | (Zoffix Znet)++ | t/packages/Test/Helpers.pm6 Document test helpers |
||
rakudo: zoffixznet++ created pull request #1187: Full make test |
03:48 | ||
squashable6 | 🍕 zoffixznet++ opened pull request “Full make test”: github.com/rakudo/rakudo/pull/1187 | ||
🍕 zoffixznet++ merged pull request “Full make test”: github.com/rakudo/rakudo/pull/1187 | |||
Zoffix | yeah boiii | ||
ryn1x: fancy :o I'm on 1440p and 1050p monitors feel rather interior by comparison. 5k sounds heavenly, though I guess I'd need several monster video cards to be able to game on it properly | 03:49 | ||
03:49
wamba joined
|
|||
Zoffix | For some reason Geth fails to notify about merge of PRs with many commits | 03:50 | |
AlexDaniel_ | Zoffix: this last merge… doesn't look quite right | 03:51 | |
maybe there's a reason for it but it's weird | |||
so it's a bunch of commits rebased on something? Hmmm… | |||
ryn1x | Zoffix: Oh yeah... you are not gaming on this thing ha. I think 1440 is still the sweetspot for gamers. | ||
03:51
Cabanossi left
|
|||
Zoffix | AlexDaniel_: what's weird? | 03:52 | |
AlexDaniel_ | Zoffix: basically, all of the latest commits show up twice | 03:53 | |
Zoffix: once normally and once rebased by you, or something | |||
or do they | |||
Zoffix | AlexDaniel_: ah, yeah, they were rebased when I was pulling in master. The same thing happened when I was working on IO::CatHandle in a branch, so I know it doesn't break anything, but no idea how to avoid this duplication stuff | ||
AlexDaniel_ | Zoffix: something does --rebase in your workflow, I think | 03:54 | |
Zoffix | Yeah, I did it myself | ||
03:54
Cabanossi joined
|
|||
Zoffix | Is it wrong? I always did it this way | 03:54 | |
teatime | I could have sworn I installed a *different* Perl6 syntax file and it being much better... perhaps it was just a *newer* one than what shiped with my vim ... | ||
AlexDaniel_ | so that's how you avoid it… :) | ||
just merge instead | |||
Zoffix | AlexDaniel_: how? | ||
Currently, I did `git pull --rebase github.com/rakudo/rakudo/` to bring in new stuff from master to my branch | 03:55 | ||
AlexDaniel_ | Zoffix: git checkout nom; git pull; git checkout YOURBRANCH; git merge nom | 03:56 | |
I think | |||
Zoffix | k, I'll try that next time | ||
AlexDaniel_ | that will create a merge commit and that's ok, one merge commit is better than tens of duplicated commits | 03:57 | |
03:57
mudguts left
|
|||
Zoffix | Yeah | 03:57 | |
AlexDaniel_: how do TimToady and jnthn pull in stuff? I seen no merge commits when they pull in master | 03:58 | ||
AlexDaniel_ | maybe they rebase their branch instead? | ||
Zoffix | How to do that? | ||
AlexDaniel_ | on top of nom HEAD | ||
Zoffix | Ahh, right. Probably | 03:59 | |
Maybe one day I'll actually learn git :) | |||
xkcd.com/1597/ | |||
AlexDaniel_ | that I don't know by heart :) | ||
should be something easy like 「git rebase nom」 instead of 「git merge nom」 but I have no idea actually | 04:00 | ||
yea | 04:01 | ||
Zoffix | I think that's what I did basically, but TimToady and jnthn don't use GitHub to merge to master and I guess they just rebase to master or whatever | ||
squashable6: log | 04:02 | ||
squashable6 | Zoffix, Log and stats: gist.github.com/dbbec790ed026a6a8f...1020dcfe78 | ||
Zoffix | squashable6: status | ||
squashable6 | Zoffix, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈7 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
Zoffix, Log and stats: gist.github.com/b28c4e8c62f4b3b38d...f2e0cde70f | |||
AlexDaniel_ | Zoffix: that's not exactly the same | ||
04:03
stux|RC joined
|
|||
AlexDaniel_ | but now that I think about it I really don't know… git pull --rebase should've done exactly the same /o\ | 04:03 | |
04:04
mudguts joined
04:05
ryn1x left
|
|||
Zoffix | AlexDaniel_: so RT#127775 ... why is it reblessing to an Int? Are enums forced to be all of the same type? | 04:08 | |
synopsebot | RT#127775 [new]: rt.perl.org/Ticket/Display.html?id=127775 Declaring enums with Bools, IntStrs and maybe other things ( enum Foo (:Bar(1), :Baz(True) )) | ||
AlexDaniel_ | Zoffix: as I understand it, there's some low-level reason for it | 04:09 | |
all this stuff is compile-time and scary | |||
you can try removing rebless, it didn't compile for me | 04:10 | ||
oh also, it doesn't really rebless to Int I think | 04:11 | ||
it reblesses to Foo (enum type object) | |||
Zoffix | m: enum Foo (:1a, :b<b>, :c<c>); | 04:13 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Type error in enum. Got 'Str' Expected: 'Int' at <tmp>:1 ------> 3enum Foo (:1a, :b<b>, :c<c>)7⏏5; |
||
04:13
raschipi joined
|
|||
Zoffix | Yeah, looks like same type is expected | 04:14 | |
m: enum Foo (:a<42>, :b(42)); | 04:16 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Multi method 'Str' with signature :(Foo:D $: *%_) must be resolved by class Foo because it exists in multiple roles (StringyEnumeration, NumericEnumeration) at <tmp>:1 |
||
Zoffix puts the ticket back into the pile | |||
enums are really gross | |||
AlexDaniel_ | actually, this probably means that your enums should be either stringy or numeric… | 04:17 | |
and the error message above simply says that there's a bug, you can't have both at the same time | |||
04:18
thou left
04:38
evalable6 left,
evalable6 joined,
ChanServ sets mode: +v evalable6
|
|||
Zoffix rejects RT#125344 | 04:44 | ||
synopsebot | RT#125344 [rejected]: rt.perl.org/Ticket/Display.html?id=125344 [PERF] Int..Whatever ranges are slow (~20 times slower than Int..Int) | ||
Zoffix | Rejections still count towards SQUASHathon right? :) | ||
04:45
pilne left
|
|||
AlexDaniel_ | yes | 04:49 | |
04:50
BenGoldberg left
|
|||
AlexDaniel_ | Zoffix: but… why does it have to be lazy? | 04:51 | |
ah, the whole returned thing is lazy | 04:52 | ||
hm, nope? | |||
AlexDaniel_ doesn't get it | |||
Zoffix | m: say (1, 2, 3)[^10] | 04:54 | |
camelia | (1 2 3 Nil Nil Nil Nil Nil Nil Nil) | ||
AlexDaniel_ | “0..* is a lazy Iterable” – no? It's just a range object? Can't [] just look at the range object and decide to do 0..$end ? | ||
Zoffix | m: say (1, 2, 3)[lazy ^10] | ||
camelia | (1 2 3) | ||
Zoffix | Range does Iterable | ||
AlexDaniel_ | lazy returns a Seq | ||
Zoffix | Seq is also iterable | 04:55 | |
Zoffix doesn't get what AlexDaniel_ is getting at | |||
AlexDaniel_ | with 0..* you're working with a Range object directly, there's all information there to make it fast | ||
squashable6 | 🍕 bitrauser++ synchronize pull request “Add tests for RT#125466”: github.com/perl6/roast/pull/344 | ||
Zoffix | AlexDaniel_: look at my evals above. The extra work is not in reifying the indices. | ||
synopsebot | RT#125466 [open]: rt.perl.org/Ticket/Display.html?id=125466 [MATH] bitwise shift is inconsistent on int | ||
04:56
thou joined
|
|||
squashable6 | 🍕 zoffixznet++ merged pull request “Add tests for RT#125466”: github.com/perl6/roast/pull/344 | 04:56 | |
Geth | roast: 447ceef0d2 | Joel++ (committed by Zoffix Znet) | S03-operators/bit.t Add tests for RT#125466 (#344) * Add tests for RT#125466 * Bump `plan` * Add missing types and "todo fudge" unclear cases |
||
squashable6 | 🍕 zoffixznet++ wrote a comment on “Add tests for RT#125466”: github.com/perl6/roast/pull/344#is...-334983274 | ||
04:57
Aaronepower joined
|
|||
04:58
Aaronepower left
|
|||
AlexDaniel_ | Zoffix: sorry, but in what? I don't understand the point | 04:58 | |
Geth | roast: 6aa3422b63 | (Zoffix Znet)++ | S03-operators/bit.t Change todo fudges to skip So they don't get reported on stresstests as passing todos |
||
AlexDaniel_ | to me it seems that both [0..*] and [0..$end] give exactly the same result. If not, what's the difference between these results? | 04:59 | |
Zoffix | AlexDaniel_: see my evals above. They clearly have different behaviours -_- | ||
AlexDaniel_ | Zoffix: your evals above don't show @arr[0..*] and @arr[0..$end] | 05:00 | |
oh | |||
Zoffix | AlexDaniel_: lazy iterables as indeces stop when the iterable they're indexing ends, while non-lazy ones continue returning Nils. The [0..*] has to do extra work to figure out where the iterable ends while [0..$end] don't got to do anything | ||
AlexDaniel_ | Zoffix: OK I'm stupid, I see now! | ||
squashable6 | 🍕 samcv++ edited pull request “Add tests for RT#125466”: github.com/perl6/roast/pull/344 | 05:01 | |
AlexDaniel_ | or do I… | ||
no. I don't | |||
squashable6 | 🍕 samcv++ edited pull request “Add tests for RT#125466 …”: github.com/perl6/roast/pull/344 | ||
AlexDaniel_ | the claim is that 0..$end is faster, why can't 0..* do the same? | ||
it doesn't have to figure it out, it can just use $end | |||
Zoffix | No it can't | 05:02 | |
AlexDaniel_ shrugs… the information is right there, finding out the value of $end can't take that much time | 05:03 | ||
Zoffix: anyway, let's give somebody else to take a look at it with fresh eyes, or something | |||
a chance* | 05:04 | ||
05:06
Aaronepower joined,
Cabanossi left
|
|||
Zoffix | m: my @a = 1..10; @a[2]:delete; say @a[0..*] | 05:07 | |
camelia | (1 2) | ||
Zoffix | m: my @a = 1..10; @a[2]:delete; say @a[0..@a.end] | ||
camelia | (1 2 (Any) 4 5 6 7 8 9 10) | ||
Zoffix | currently, it stops at the first hole too | ||
05:07
aborazmeh joined,
aborazmeh left,
aborazmeh joined
05:08
Aaronepower left
|
|||
AlexDaniel_ | isn't it a bug? | 05:08 | |
Zoffix | There's a ticktet for it, yeah, but the source comment reads "We truncate at the first one that fails to exists."; dunno if the author thought about holes | 05:09 | |
05:09
Cabanossi joined
|
|||
Zoffix | in src/core/ | 05:09 | |
in src/core/array_slice.pm | 05:10 | ||
05:11
mudguts left
05:12
kaare__ joined
|
|||
AlexDaniel_ | I found RT #131783 but that's not the right one, do you remember the ticket id? | 05:12 | |
synopsebot | RT#131783 [open]: rt.perl.org/Ticket/Display.html?id=131783 [LTA] :delete holes in Arrays get turned to Mus when coercing to List or Slip | ||
Zoffix | #127573 | 05:13 | |
RT#127573 | |||
synopsebot | RT#127573 [new]: rt.perl.org/Ticket/Display.html?id=127573 Lazy range as Array index stops at first deleted index unexpectedly | ||
Zoffix | Looks like it can be safely deemed a bug, since it affects .splice apparently | 05:14 | |
05:15
Aaronepower joined
05:16
hoffentlichja left
05:17
Aaronepower left,
HoboWithAShotgun joined
05:18
Aaronepower joined
05:19
Aaronepower left
|
|||
Zoffix | m: my @a = 1..10; @a[(1..10) but role { method iterator { ^3 .iterator } }].say | 05:19 | |
camelia | (1 2 3) | ||
Zoffix | Though there's userlange Ranges to consider too... .oO( nqp::iscoretype(...) ) | ||
AlexDaniel_ | Zoffix: okay I think I did my best trying to explain myself: rt.perl.org/Ticket/Display.html?id...xn-1497369 | 05:22 | |
but my brains are squashathoned away so please don't be angry at me if I'm saying something really stupid | |||
05:23
mr-foobar left
|
|||
teatime idly wonders why ssh doesn't default to -t when local side is connected to a terminal | 05:24 | ||
05:25
atroxaper joined
|
|||
atroxaper | o/ #perl6 | 05:25 | |
bitrauser | atroxaper: o/ | ||
Zoffix | \o | ||
atroxaper | Can not find information about 'how to write it' :) | 05:26 | |
Zoffix | Write what? | ||
atroxaper | Foo $obj.field-name will call method .field-name. $obj!field-name will get field itself. Right? | 05:27 | |
05:28
araujo_ joined
|
|||
Zoffix | Oh wait. $todo.WHAT === Range should do it | 05:28 | |
Zoffix hackety hacks | |||
atroxaper: right | |||
atroxaper | If Foo has Foo field inside. How can I write something like method foo-obj-method() { self!foo-field!private-field } ? | 05:29 | |
I found only self!foo-field.private-field. But is it method call instead of field access. | 05:30 | ||
Zoffix | does foo-field's object trust the owner of the method? | ||
05:30
Aaronepower joined
|
|||
Zoffix | Ah. No idea | 05:30 | |
I mean, without nqp... since it's a private access and it's not private up in there. | 05:31 | ||
Why you need that anyway? | |||
atroxaper | But they have the same Object Type. | ||
In Java I can write that. | |||
05:32
araujo left
|
|||
atroxaper | For example I what to write LinkedList. And Node can operate its next and prev link. Recursevly :) | 05:32 | |
05:33
mr-foobar joined
|
|||
Zoffix | Well, you can define a private method and call it. | 05:34 | |
atroxaper | Probably. Ok then :) | ||
Zoffix | m: class Foo { has $!bar = 42; has $!o; method BUILD(:$x) { $!o = ::?CLASS.new if $x }; method !bar is rw { $!bar }; method z { $!o!bar } }; Foo.new(:x).z.say | ||
camelia | 42 | ||
05:35
raschipi left
|
|||
atroxaper | Yeah. It works with private method< but not with private fields... | 05:36 | |
05:37
Wiertek joined
|
|||
Zoffix | m: use nqp; class Foo { has $!bar = 42; has $!o; method BUILD(:$x) { $!o = ::?CLASS.new if $x }; method z { nqp::getattr($!o, ::?CLASS, q|$!bar|) } }; Foo.new(:x).z.say | 05:37 | |
camelia | P6opaque: no such attribute '$!bar' in type Foo when trying to get a value in method z at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | m: use nqp; class Foo { has $!bar = 42; has $!o; method BUILD(:$x) { $!o = ::?CLASS.new if $x }; method z { nqp::getattr(nqp::decont($!o), ::?CLASS, q|$!bar|) } }; Foo.new(:x).z.say | ||
camelia | 42 | ||
Zoffix | (P.S.: nqp is not user-land material and there's no support for it) | 05:38 | |
can be changed at any time without notice | |||
atroxaper | I understand that, sure. Will write private methods then. | 05:39 | |
AlexDaniel_ | atroxaper: maybe another option is not to hide these attributes? | 05:41 | |
like, make them public | 05:42 | ||
atroxaper | They a public. But inside the class I what to call field instead of method. | 05:43 | |
Maybe without a purpose :) | 05:44 | ||
Does we have 'static' methods? | 05:53 | ||
Zoffix | What are those? | 05:55 | |
atroxaper | Methods that we can call without object. Just with Type Object. | 05:57 | |
05:57
evalable6 left,
evalable6 joined,
ChanServ sets mode: +v evalable6
|
|||
atroxaper | Oh. I remembered. Any methods are static until they access fields :) | 05:57 | |
Zoffix | Yeah | ||
06:00
rindolf joined
|
|||
Geth | rakudo/nom: 456358e3c3 | (Zoffix Znet)++ | src/core/array_slice.pm Make @a[42..*] 4.2x faster; AlexDaniel++ for persistence - Faster with any Inf .max Range - Faster only with non-lazy @a (we can't .elems lazies) - Fixes RT#125344: rt.perl.org/Ticket/Display.html?id=125344 |
06:06 | |
synopsebot | RT#125344 [open]: rt.perl.org/Ticket/Display.html?id=125344 [PERF] Int..Whatever ranges are slow (~20 times slower than Int..Int) | ||
06:07
Aaronepower left
|
|||
teatime | AlexDaniel_: would it be acceptable/appropriate for me to throw some notes from the earlier vim discussion (and my related googling etc.) to github.com/perl6/perl6.org/issues/84 ? it's links & info that I would find useful, if I were to extend the Whatever blurb about vim [and neovim] as a Perl6 editor. (but it's probably pretty off-topic/orthogonal to that *particular* issue title... can I | 06:07 | |
retitle it? :) | |||
AlexDaniel_ | teatime: go for it | 06:08 | |
teatime: and I'm very used to wiki-like development so feel free to edit any of my issues and comments | |||
Zoffix | teatime: you can also just edit the page and close the Issue: github.com/perl6/perl6.org/blob/ma...index.html | ||
AlexDaniel_ | 42..* 4.2x faster? :) | 06:10 | |
.oO( what about 100..* ) |
06:11 | ||
Zoffix | also 4.2 | ||
06:11
Aaronepower joined
|
|||
AlexDaniel_ | wrong, because my array has less than 100 elements! | 06:12 | |
06:12
ryn1x joined,
Aaronepower left
|
|||
Zoffix | In that case, 58% faster | 06:13 | |
AlexDaniel_ | anyway, Zoffix++ :) | ||
Zoffix | AlexDaniel_++ | 06:14 | |
AlexDaniel_ | with enough nerves for all this tension people can do great things! | ||
teatime | Zoffix: I most likely will, but for the moment I need to context-switch to non-perl (and this way, I have a reminder & my notes preserved :) | 06:16 | |
AlexDaniel_ | squashable6: status | 06:19 | |
squashable6 | AlexDaniel_, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈5 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
AlexDaniel_, Log and stats: gist.github.com/db74f19170d3f042b7...ac0a86b705 | |||
06:22
Aaronepower joined
06:23
Aaronepower left
|
|||
HoboWithAShotgun wishes atom would support code folding | 06:28 | ||
06:29
Aaronepower joined
|
|||
Zoffix sees dozens of packages show up when searching for "folding" | 06:29 | ||
squashable6 | 🍕 bitrauser++ opened pull request “Add tests for RT#132083 …”: github.com/perl6/roast/pull/345 | 06:30 | |
Geth | roast: bitrauser++ created pull request #345: Add tests for RT#132083 | [REGRESSION] Broken math (-2147483648 != -2147483648) |
||
synopsebot | RT#132083 [new]: rt.perl.org/Ticket/Display.html?id=132083 [REGRESSION] Broken math (-2147483648 != -2147483648) | ||
06:33
kaare__ left
|
|||
Zoffix | bitrauser: I sent you an invite to perl6 github org (can accept it on github.com/perl6/ ). That gives you a commit bit to most of our repos, so you should be able to merge that PR and commit anything else directly | 06:33 | |
AlexDaniel_ | well, eh… I've got a very ugly fix for something :S | 06:36 | |
bitrauser | Zoffix: Wow that's nice, actually feeling honored. Not sure I'm ready yet. | 06:37 | |
AlexDaniel_ | bitrauser: I believe in you! | 06:38 | |
loop (42;42) {} # Malformed loop spec (expected 3 semicolon-separated expressions but got 2) | 06:39 | ||
loop (my $x = 0, $x < 5, $x++) {} # Malformed loop spec (expected 3 semicolon-separated expressions but got 1) | |||
awesome? Awesome. As long as you don't look at the code that does this /o\ | 06:40 | ||
06:42
aborazmeh left
|
|||
HoboWithAShotgun | yes, i stumbled over github.com/perl6/Atom-as-a-Perl6-IDE | 06:43 | |
great stuff, but i can't get nav-panel-plus to work | |||
it installed but the panel won't show up | 06:44 | ||
06:44
thou left
06:47
kaare__ joined
06:52
jeromelanteri left
06:53
jeromelanteri joined
|
|||
squashable6 | 🍕 bitrauser++ merged pull request “Add tests for RT#132083 …”: github.com/perl6/roast/pull/345 | 06:54 | |
HoboWithAShotgun | "But for now you can use .nav-marker-rules as the instructions show." | ||
Geth | roast: b2a148d684 | bitrauser++ | S03-operators/arith.t Add tests for RT#132083 |
||
synopsebot | RT#132083 [resolved]: rt.perl.org/Ticket/Display.html?id=132083 [REGRESSION] Broken math (-2147483648 != -2147483648) | ||
roast: 64227ec7a2 | Joel++ (committed using GitHub Web editor) | S03-operators/arith.t Add tests for RT#132083 (#345) Add tests for RT#132083 | [REGRESSION] Broken math (-2147483648 != -2147483648) |
|||
HoboWithAShotgun | which effing instructions? | ||
06:55
nadim_ joined
|
|||
Zoffix | HoboWithAShotgun: I think samcv++ wrote that stuff; perhaps she can explain the missing bits | 06:59 | |
samcv | oh hello | ||
ah hey HoboWithAShotgun | 07:00 | ||
07:00
kaare__ left
|
|||
HoboWithAShotgun | good morning good sir | 07:01 | |
samcv | lemme just start up my atom then i'll help you. i know sometimes when you first install it you have to do something to get it to show up. since by defualt it's disabled | ||
HoboWithAShotgun | and lady | 07:02 | |
oh it works for other languages | |||
just not for Perl6, the doc talks about nav-marker-rules | 07:03 | ||
that i should use and instructions therefore | |||
i just can't find any, or am i supposed to apply that pull request? | |||
samcv | ok you can right click and choose show | 07:04 | |
"toggle nav panel plus" | 07:05 | ||
HoboWithAShotgun, oh. no the PR has been applied | |||
i can update the readme though | |||
lemme check | 07:06 | ||
hmm. it is applied and they released. but not working atm for me. i'm investigating | 07:08 | ||
HoboWithAShotgun | well it doesn't work. the panel is there for other files like .coffe, but disappers for perl6 types | 07:09 | |
my apt says atom is up to date | |||
samcv | yeah i'm seeing that too | 07:10 | |
HoboWithAShotgun | Atom : 1.20.0, Electron: 1.6.9, Chrome : 56.0.2924.87, Node : 7.4.0 | ||
07:10
domidumont joined
|
|||
HoboWithAShotgun | also i read that change being reverted cause it operate on the wrong file | 07:10 | |
07:11
atroxaper left
|
|||
samcv | well yeah it doesn't seem to be working | 07:15 | |
07:15
domidumont left,
domidumont joined
|
|||
samcv | ah i see | 07:16 | |
well you can put github.com/perl6/Atom-as-a-Perl6-I...rker-rules in the folder of the project | |||
launch atom from within that folder and it should then work | |||
HoboWithAShotgun | yes, that's the droid i was looking for | 07:17 | |
you may pass now :) | 07:18 | ||
can you update the doc and link this file therein? | |||
07:20
darutoko joined,
kaare__ joined
|
|||
HoboWithAShotgun | yay, works | 07:20 | |
HoboWithAShotgun shares chocolate peach cake with samcv | 07:21 | ||
just one slice! | |||
samcv | thanks :) | 07:24 | |
teatime | is audrey tang one of y'all? | 07:32 | |
Zoffix | `She's busy being Minister of Digital of Taiwan | 07:34 | |
samcv | HoboWithAShotgun, i updated the doc | ||
Zoffix, fancy :) | |||
Zoffix | teatime: audreyt is the IRC nick, if you wanted to read logs :) | 07:35 | |
teatime | huh. that's pretty cool. (just read her wikipedia page.) | 07:36 | |
07:38
Cabanossi left
|
|||
AlexDaniel_ | ===SORRY!=== | 07:38 | |
Frame 1 local access out of range | |||
hmm | |||
07:39
Cabanossi joined
|
|||
HoboWithAShotgun | m: say $*KERNEL, '#', $*DISTRO | 07:39 | |
camelia | linux (4.4.70.18.9.default)#opensuse (42.2) | ||
HoboWithAShotgun | m: say qx{ stty size } | 07:40 | |
camelia | qx, qqx is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in sub QX at src/RESTRICTED.setting line 11 in block <unit> at <tmp> line 1 |
||
HoboWithAShotgun | good :) | ||
maybe sucha restricted seeting shouldn't talk about OS details as well | 07:41 | ||
teatime | (sorry guys if I've been a bit hyper/off-topic this eve... did 16-hour day today as pollworker for election, and the end of it was stress++) | ||
07:45
Mrofnet joined
07:47
smls joined
07:48
Morfent left,
araraloren joined
|
|||
Geth | rakudo/awesome-malformed-loops: a757328bdd | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/Perl6/Grammar.nqp Awesomify “malformed loop spec” errors This is a questionable fix for RT #127857. Makes each parse of a loop construct 0.04 ms slower. So if you have one hundred 「loop」-s in your code, that's already about four milliseconds slower. Also breaks one 6.c-errata test that checks for “loop spec” text. |
07:48 | |
synopsebot | RT#127857 [new]: rt.perl.org/Ticket/Display.html?id=127857 [RFC] [LTA] error message when using commas in c-style “loop” (loop (my $x = 0, $x < 10, $x++) {}) | ||
rakudo: AlexDaniel++ created pull request #1188: Awesomify “malformed loop spec” errors |
07:49 | ||
squashable6 | 🍕 AlexDaniel++ opened pull request “Awesomify “malformed loop spec” errors”: github.com/rakudo/rakudo/pull/1188 | ||
🍕 AlexDaniel++ wrote a comment on “Awesomify “malformed loop spec” errors”: github.com/rakudo/rakudo/pull/1188...-334989585 | |||
07:49
thunktone joined
|
|||
smls | Oh, 🍕 is still going on? | 07:50 | |
Zoffix | squashable6: status | ||
squashable6 | Zoffix, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈4 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
Zoffix, Log and stats: gist.github.com/bacbebf576af814b10...f105cbdbf6 | |||
Zoffix | Yup | ||
smls | Unrelated question: When dealing with an IO::Proc that responds with one line of output for every line of input, is it safe to do this in a loop: | 07:51 | |
$proc.in.print: "$input\n"; my $output = $proc.out.lines.head; | |||
squashable6 | 🍕 AlexDaniel++ wrote a comment on “Awesomify “malformed loop spec” errors”: github.com/rakudo/rakudo/pull/1188...-334989717 | 07:52 | |
smls | Or is creating a new .lines Seq on each iteration cause some problems down the road? | ||
Zoffix | eco: IO::Proc | 07:53 | |
buggable | Zoffix, Nothing found | ||
Zoffix has no idea what that is | 07:54 | ||
smls: seems easier to just call .get | |||
07:54
ryn1x left
|
|||
smls | Zoffix: I meant the built-in `Proc`, sorry. | 07:54 | |
Ah, I forgot about get! Thank. | 07:55 | ||
*Thanks | |||
07:55
ryn1x joined
|
|||
Zoffix | But don't think there'd be any problems with .lines, other than wasted effort of creating and GCing the Seq | 07:55 | |
squashable6 | 🍕 AlexDaniel++ wrote a comment on “Awesomify “malformed loop spec” errors”: github.com/rakudo/rakudo/pull/1188...-334989899 | 07:56 | |
AlexDaniel_ | you wouldn't believe how much time I've spent on this… | ||
Geth | roast: bitrauser++ created pull request #346: Add tests for RT#125215 | [BUG] 10 ** -1 is a Num, but should probably be a Rat since it can in Rakudo |
||
squashable6 | 🍕 bitrauser++ opened pull request “Add tests for RT#125215 …”: github.com/perl6/roast/pull/346 | ||
synopsebot | RT#125215 [open]: rt.perl.org/Ticket/Display.html?id=125215 [BUG] 10 ** -1 is a Num, but should probably be a Rat since it can in Rakudo | ||
07:59
Voldenet left
|
|||
squashable6 | 🍕 zoffixznet++ wrote a comment on “Add tests for RT#125215 …”: github.com/perl6/roast/pull/346#is...-334990184 | 08:01 | |
bitrauser | forgot the bump again on the commit just noticed | ||
08:02
thunktone left
|
|||
Zoffix didn't notice >_< | 08:02 | ||
:) | |||
m: -> (*%_) {dd %_}(Failure.new) | 08:03 | ||
camelia | {:backtrace(Backtrace.new), :exception(X::AdHoc.new(payload => "Failed"))} | ||
Zoffix | Gonna make it blow up | ||
08:04
ryn1x left,
Voldenet joined,
Voldenet left,
Voldenet joined
08:05
ryn1x joined
|
|||
squashable6 | 🍕 bitrauser++ synchronize pull request “Add tests for RT#125215 …”: github.com/perl6/roast/pull/346 | 08:05 | |
08:06
thunktone joined
|
|||
bitrauser | Starting to get tired ^^ | 08:07 | |
AlexDaniel_ | buggable: pizza bitrauser | ||
buggable | bitrauser, enjoy this slice of Vegan pizza, my friend! Yummy 🍕 | 08:08 | |
AlexDaniel_ | bitrauser: at least you didn't spend more than 4 hours on one LTA ticket like I did… | ||
(and in the end didn't even come up with a good solution) | |||
bitrauser: so good job :) | 08:09 | ||
bitrauser | Pizza sounds good :) | ||
AlexDaniel_ | squashable6: status | 08:10 | |
squashable6 | AlexDaniel_, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈3 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
AlexDaniel_, Log and stats: gist.github.com/0b50f9198c5b85aca4...36a4ae85a5 | |||
🍕 bitrauser++ merged pull request “Add tests for RT#125215 …”: github.com/perl6/roast/pull/346 | 08:12 | ||
Geth | roast: a55c0f4ae5 | Joel++ (committed using GitHub Web editor) | S32-num/rat.t Add tests for RT#125215 | [BUG] 10 ** -1 is a Num, but should probably be a Rat since it can in Rakudo (#346) * Add tests for RT#125215 * Bump `plan` |
||
synopsebot | RT#125215 [resolved]: rt.perl.org/Ticket/Display.html?id=125215 [BUG] 10 ** -1 is a Num, but should probably be a Rat since it can in Rakudo | ||
08:13
ryn1x left
|
|||
AlexDaniel_ laughs at RT #127980 | 08:14 | ||
synopsebot | RT#127980 [rejected]: rt.perl.org/Ticket/Display.html?id=127980 Smartmatching $item ~~ list does not DWIM (4 ~~ (4,5,6,7)) | ||
08:14
ryn1x joined
|
|||
AlexDaniel_ | “The concept of the Perl 6 smart-matching operator, is not "Do whatever operation the developer thinks would be most useful in the given situation so he doesn't have to write it out explicitly".” | 08:14 | |
why is it called *smart*match then :D | |||
that's dumbmatch right there! | 08:17 | ||
anyway, the ticket is rejected correctly :) | |||
stmuk | it means the language is smart | 08:18 | |
Geth | rakudo/nom: 8300844303 | (Zoffix Znet)++ | 2 files Do not explode in IO::CatHandle.nl-out Doing so breaks .Capture, which is more important than throwing in a feature clearly documented as NYI |
08:20 | |
08:20
araraloren_ joined
|
|||
08:22
araraloren left
|
|||
AlexDaniel_ | c: all say 'Hello'; *...'WAT' | 08:23 | |
tyil | how long does it take for perl 6 modules on cpan to show up on modules.perl6.org? | ||
committable6 | AlexDaniel_, gist.github.com/d515acf8181f9d3900...eb60580d4f | ||
08:23
smls left
|
|||
HoboWithAShotgun | m: my %a; %a<a, b> = <1 2>; say %a | 08:24 | |
camelia | {a, => 1, b => 2} | ||
HoboWithAShotgun | how do i do that anonymously? | ||
Zoffix | tyil: 0..100 minutes | ||
tyil: "In about 2 hours, the dist will also appear on modules.perl6.org. Its updater is started in a cron job on 20th and 40th minute of the hour (unless a job is already running) and it takes about 2 hours to finish each run." | |||
tyil | hmm | ||
HoboWithAShotgun | m: (<a b> Z <1 2>).flat.Hash.say | 08:25 | |
camelia | {a => 1, b => 2} | ||
tyil | one of my modules is available on modules.perl6, but others arent | ||
AlexDaniel_ | bisectable6: old=2016.09 new=2016.10 say 'Hello'; *...'WAT' | ||
bisectable6 | AlexDaniel_, Bisecting by output (old=2016.09 new=2016.10) because on both starting points the exit code is 1 | ||
HoboWithAShotgun | that seems clumsy | ||
bisectable6 | AlexDaniel_, bisect log: gist.github.com/f5220f4b280d3947d8...66d0716cc0 | ||
AlexDaniel_, (2016-09-27) github.com/rakudo/rakudo/commit/22...0f14b9c05c | |||
Zoffix | m: %(<a b> Z=> <1 2>).say | ||
camelia | {a => 1, b => 2} | ||
tyil | in addition, my Hash::Merge module seems to be tested against p5 tests, even though its uploaded to $CPAN/authors/id/T/TY/TYIL/Perl6/Hash-Merge/Perl6/Hash-Merge-0.1.0.tar.gz | ||
(there is a p5 Hash::Merge) | 08:26 | ||
the same seems to happen for Config | |||
Zoffix | It's possible the system has some bugs to iron out still | ||
tyil | the ones with no p5 equivalent seem to be tested against p6 correctly | ||
HoboWithAShotgun | what does z=> do? or is that a combination of Z and =>? | ||
Zoffix | HoboWithAShotgun: yes | ||
tyil | but only IRC::Client::Plugin::Github appears on modules.perl6 so far | 08:27 | |
Zoffix | HoboWithAShotgun: Z is equivalent to Z with "," op; Z=> uses "=>" instead | ||
AlexDaniel_ | bisectable6: old=2016.07.1 new=2016.08.1 say 'Hello'; *...'WAT' | ||
bisectable6 | AlexDaniel_, Bisecting by output (old=2016.07.1 new=2016.08.1) because on both starting points the exit code is 1 | ||
AlexDaniel_, bisect log: gist.github.com/74a1d1bea32406938a...4faf594fcf | |||
AlexDaniel_, (2016-08-19) github.com/rakudo/rakudo/commit/25...b0673f26e2 | |||
Zoffix | eco: author:TYIL | ||
buggable | Zoffix, Found 2 results: MPD::AutoQueue, IRC::Client::Plugin::Github. See modules.perl6.org/s/author%3ATYIL | ||
tyil | do the PAUSE/CPAN folk have their own irc channel? | ||
Zoffix | tyil: yeah, but I forget what it is. mst would know | ||
08:28
ryn1x left
08:29
ryn1x joined
|
|||
Zoffix | tyil: why is "Perl6/" appear twice in that URL? | 08:29 | |
HoboWithAShotgun | i feel really bad for poor sods who will learm Perl6 as first language | 08:30 | |
in the sense that they'll always feel somewhat amputated when having to use something else | 08:31 | ||
tyil | Zoffix: idk | ||
I told it to upload into Hash-Merge/Perl6 | 08:32 | ||
AlexDaniel_ | what a title for a ticket… :D RT #128879 | ||
synopsebot | RT#128879 [new]: rt.perl.org/Ticket/Display.html?id=128879 [LTA] “is default” trait is compile-time, but no warning is printed when I do stupid things (is default($x)) | ||
tyil | it has appended an additional Perl6 for all my uploads | ||
prepended* | |||
HoboWithAShotgun | i mean look at this: return %( <rows columns> Z=> qx[ stty size ].comb(/\d+/) ); | 08:33 | |
you need 20 lines of c# for that | |||
Zoffix | tyil: "well, there's yer problem" | ||
08:34
|oLa| left
|
|||
tyil | :( | 08:34 | |
Zoffix | tyil: just select "Perl6" from the <select>; don't specify any other extra paths. | ||
I'm guessing that's why it's going through perl5 channels. Modules.perl6.org has an exlude rule in rsync to toss stuff deeper in the tree, so I guess that's why those aren't showing up on it either | 08:35 | ||
This one github.com/perl6/modules.perl6.org...er.pm#L139 | |||
08:35
pecastro left
|
|||
tyil | oh, I didnt know about stuff deeper in the tree being ignored | 08:36 | |
can I move the files on PAUSE or should i delete and re-up? | |||
Zoffix isn't aware of any interface to move stuff | |||
08:37
Cabanossi left
|
|||
Zoffix | c: HEAD dd %(<rows columns> Z=> qx/stty size/.words) | 08:37 | |
committable6 | Zoffix, ¦HEAD(8300844): «stty: 'standard input': Inappropriate ioctl for deviceHash % = {}» | ||
08:37
ryn1x left
|
|||
AlexDaniel_ | well, it's not a tty | 08:37 | |
08:38
ryn1x joined
08:39
Cabanossi joined,
dogbert17 left
08:41
dogbert17 joined
|
|||
buggable | New CPAN upload: App-MPD-AutoQueue-0.1.0.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.0.tar.gz | 08:42 | |
08:43
araraloren_ left
|
|||
AlexDaniel_ | alright, I'm done for today | 08:43 | |
happy squashathoning everyone o/ | |||
Zoffix | \oi | ||
AlexDaniel_ | squashable6: status | ||
squashable6 | AlexDaniel_, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈3 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
AlexDaniel_, Log and stats: gist.github.com/9f178ca985456533ef...e4a80ce7a8 | |||
08:44
TEttinger left
08:47
ryn1x left
|
|||
HoboWithAShotgun | is there an operator so i can call something-that-might-return-any.method safely? | 08:50 | |
c# as a ?. operator for that | |||
AlexDaniel_ | well, you can try .? | 08:51 | |
IIRC it checks if a method exists… right? But chances are Any does not have your method | 08:52 | ||
HoboWithAShotgun | oh. <- feels silly | 08:53 | |
i tried $ob//.method | |||
AlexDaniel_ | m: class Foo { method bar { 42 } }; my $x = Foo.new; say $x.?bar | ||
camelia | 42 | ||
AlexDaniel_ | m: class Foo { method bar { 42 } }; my $x = Any; say $x.?bar | ||
camelia | Nil | ||
HoboWithAShotgun | m: class Foo { method bar { %(:a(1) } }; my $x = Foo.new; say $x.?bar<a> | 08:55 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in contextualizer; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> 3class Foo { method bar { %(:a(1) 7⏏5} }; my $x = Foo.new; say $x.?ba… |
||
HoboWithAShotgun | m: class Foo { method bar { %(:a(1)) } }; my $x = Foo.new; say $x.?bar<a> | ||
camelia | 1 | ||
HoboWithAShotgun | m: class Foo { method bar { Any } }; my $x = Foo.new; say $x.?bar<a> | 08:56 | |
camelia | (Any) | ||
Zoffix | 5am. Time for bed | 08:58 | |
squashable6: status | |||
squashable6 | Zoffix, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈3 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
Zoffix, Log and stats: gist.github.com/49830f1b965e4d3cb3...50f18a5c11 | |||
AlexDaniel_ | 11:59:49 *AM* | 08:59 | |
time for bed, too | 09:00 | ||
09:03
araraloren joined
09:04
domidumont left
09:08
ryn1x joined
|
|||
buggable | New CPAN upload: App-MPD-AutoQueue-0.1.1.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.1.tar.gz | 09:12 | |
09:18
Merfont joined
09:21
Mrofnet left,
itaipu joined
|
|||
buggable | New CPAN upload: perl6-App-MPD-Notify.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...ify.tar.gz | 09:22 | |
HoboWithAShotgun | how do i redirect STDERR to nul when doing a qx? | 09:23 | |
maybe i should use run instead? | 09:24 | ||
09:24
pecastro joined
09:31
rba_ joined
|
|||
HoboWithAShotgun | mmh. i tried qx[ sttyx size &>/dev/null ] | 09:31 | |
but i still have "/bin/sh: 1: sttyx: not found" in my output | 09:32 | ||
09:33
rba left
|
|||
go|dfish | HoboWithAShotgun: 2>/dev/null | 09:33 | |
HoboWithAShotgun | yay :) | 09:35 | |
lizmat | not sure this was posted here already: www.infoq.com/presentations/langua...esign-perl | 09:37 | |
09:37
Cabanossi left
09:39
Cabanossi joined
|
|||
HoboWithAShotgun | another site that doesn't work wiith JS off | 09:40 | |
09:40
nadim_ left
09:41
nadim joined
|
|||
tyil | welcome to the internet in 2017 | 09:41 | |
HoboWithAShotgun | it's readable at least | 09:42 | |
09:45
ryn1x left
09:46
ryn1x joined,
rba joined
09:48
rba_ left
09:50
wander4096 joined
|
|||
HoboWithAShotgun just learned about my n = 1; say n; | 09:51 | ||
not sure wether i should like this | |||
wander4096 | why we have `?^` which is the same as `!`, it seems waste | 09:52 | |
09:52
nadim left
|
|||
HoboWithAShotgun | m: class c { has \.foo = 1 }; say c.new.foo | 09:52 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed has at <tmp>:1 ------> 3class c { has7⏏5 \.foo = 1 }; say c.new.foo |
||
HoboWithAShotgun | m: class c { has \foo = 1 }; say c.new.foo | 09:53 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> has scoped term definitions (only 'my' is supported at the moment) not yet implemented. Sorry. at <tmp>:1 ------> 3class c { has \foo7⏏5 = 1 }; say c.new.foo expecting any of: new… |
||
09:54
ryn1x left
09:55
ryn1x joined
09:59
eythian left
10:00
ryn1x left
10:02
rba_ joined
10:03
rba left
10:13
ryn1x joined
10:16
rba joined,
eythian_ joined,
eythian_ left,
eythian_ joined
10:18
eythian_ is now known as eythian,
rba_ left
10:20
andreoss joined
10:22
ryn1x left,
ryn1x joined
|
|||
andreoss | what is the name for Metamodel constants in EXPORTHOW::DECLARE package? where I can find docs on them? | 10:25 | |
10:27
ryn1x left,
|oLa| joined
10:28
|oLa| left,
|oLa| joined
|
|||
llfourn | andreoss: design.perl6.org/S12.html#Custom_Meta-objects # don't think there's docs for it yet | 10:29 | |
10:31
rba_ joined
10:32
ShalokShalom joined
10:33
atroxaper joined,
rba left,
itaipu left,
ShalokShalom_ left
10:37
Cabanossi left
10:39
Cabanossi joined
10:40
pecastro left
10:46
rba joined
10:48
ryn1x joined,
rba_ left
10:55
Aaronepower left
|
|||
gfldex | m: class C { method m:sym<s>{} }; C.new.m:sym<s>(); | 11:00 | |
camelia | No such method 'm' for invocant of type 'C' in block <unit> at <tmp> line 1 |
||
gfldex | how do I call that method? | ||
moritz | the whole MOP documentation is very patchy | ||
m: class C { method m:sym<s>{} }; C.new."m:sym<s>"() | |||
camelia | ( no output ) | 11:01 | |
11:01
rba_ joined
11:02
thunktone left
11:03
rba left,
rba joined
11:04
thunktone joined
|
|||
andreoss | llfourn: thanks | 11:04 | |
are class and role keywords defined in the same manner (as constants in some package)? | 11:05 | ||
11:05
rba_ left
|
|||
lizmat | m: class C { method m:sym<s> { "foo" } }; dd C.new.^find_method(q/m:sym<s>/)(C) # gfldex | 11:06 | |
camelia | "foo" | ||
11:06
margeas joined
|
|||
lizmat | m: class A {}; role A {} | 11:08 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Redeclaration of symbol 'A' at <tmp>:1 ------> 3class A {}; role A7⏏5 {} expecting any of: generic role |
||
lizmat | andreoss: I'd say yes :-) | ||
11:09
pecastro joined
11:10
andreoss left
|
|||
HoboWithAShotgun | when i run this the on-close gets never called: hastebin.com/oyagusonaf.pl | 11:15 | |
but Terminal::Print::RawInput does the same, and there the event gets fired | 11:16 | ||
wgat am i missing? | |||
geekosaur | buggable: eco Terminal::Print | 11:18 | |
buggable | geekosaur, Terminal::Print 'Asynchronous printing to your terminal -- as a simple grid': github.com/ab5tract/Terminal-Print | ||
HoboWithAShotgun | github.com/ab5tract/Terminal-Print...wInput.pm6 | 11:19 | |
geekosaur | yes, but my expectation is that on-close is triggered by something elsewhere | 11:20 | |
11:21
ryn1x left
11:22
ryn1x joined
|
|||
geekosaur | hm, doesn't look like it. | 11:22 | |
oh. this may be the buffering stuff | 11:23 | ||
11:24
Aaronepower joined
|
|||
geekosaur | but I don't know where that is now :/ | 11:25 | |
HoboWithAShotgun | o i meant its called by calling done on a supply | 11:26 | |
geekosaur | hm. are you using v6.d.PREVIEW? this affects how buffering works iirc | 11:27 | |
timotimo | i don't think so, geekosaur | 11:30 | |
11:30
ryn1x left
|
|||
timotimo | the preview stuff changes how await works (including some things that await behind the scenes) | 11:30 | |
the recent chnanges to turn on buffering automatically for files should be in .c as well as .d | 11:31 | ||
11:31
ryn1x joined
|
|||
HoboWithAShotgun | nah preview is n't it. | 11:34 | |
fricking strange, i do have T::P installed and injected a say into that handler | 11:35 | ||
and i see it getting called | |||
by calling done on what gets returned by that method | 11:36 | ||
11:40
ryn1x left
11:44
wander4096 left
11:51
Cabanossi left
11:54
Cabanossi joined
11:57
ShalokShalom_ joined,
ShalokShalom left
12:01
ryn1x joined,
Rawriful joined
12:10
ryn1x left,
ryn1x joined
12:14
BenGoldberg joined
12:15
ryn1x left,
ryn1x joined
12:21
Cabanossi left
12:24
Cabanossi joined
12:26
thunktone left
12:27
lichtkind joined
12:28
thunktone joined
12:29
ryn1x left
12:34
ShalokShalom_ is now known as ShalokShalom
12:37
itaipu joined
|
|||
buggable | New CPAN upload: IO-Prompt-0.0.2.tar.gz by WBIKER cpan.metacpan.org/authors/id/W/WB/...0.2.tar.gz | 12:42 | |
12:43
wbiker joined
|
|||
wbiker | hi all | 12:43 | |
12:44
thunktone left
12:45
ryn1x joined
|
|||
wbiker | I uploaded my perl6 module IO::Prompt to cpan. How can I remove the github module from modules.perl6.org? | 12:46 | |
I mean it will be listed twice then, or? | |||
12:50
thunktone joined
12:51
nadim joined
12:54
Cabanossi left,
ryn1x left,
Cabanossi joined
12:55
ryn1x joined
12:56
go|dfish left
13:00
itaipu left
|
|||
MasterDuke | wbiker: i think just remove it from here github.com/perl6/ecosystem/blob/ma.../META.list | 13:01 | |
wbiker | MasterDuke: Thanks, I think that is what I was looking for | 13:03 | |
MasterDuke | np | ||
13:03
ryn1x left
13:04
ryn1x joined
13:11
thunktone left
13:13
thunktone joined
13:18
ryn1x left,
nadim left
13:22
Cabanossi left
13:24
Cabanossi joined
|
|||
Geth | ecosystem: wbiker++ created pull request #373: Remove IO::Prompt because it is uploaded to cpan |
13:27 | |
ecosystem: 37463e1c0c | Wolf++ (committed by timo) | META.list Remove IO::Prompt because it is uploaded to cpan (#373) |
13:29 | ||
timotimo | i like where this is going :) | 13:32 | |
just a couple more modules have to move from ecosystem to cpan and we'll get two modules.perl6.org updates per hour working (if there's enough change) | 13:33 | ||
hm. well, a bit more than "a couple" | |||
m: say 7.5 * 60 / 2 | |||
camelia | 225 | ||
timotimo | okay, maybe a few hundred | ||
moritz | is there an idiot's guide to moving stuff to CPAN? | 13:34 | |
13:36
mattr joined
|
|||
mattr | p6: say List.^methods | 13:36 | |
camelia | (from-iterator from-slurpy from-slurpy-onearg from-slurpy-flat new to from sum fmt BIND-POS reification-target iterator sink STORE eager Capture FLATTENABLE_LIST FLATTENABLE_HASH CALL-ME pick roll reverse rotate combinations permutations join push append… | ||
timotimo | moritz: mi6 makes it pretty idiot-proof (except you have to be careful not to lose the contents of your README.md, because mi6 re-generates it from what pod is in your "main module") | 13:38 | |
you just gotta sign up for a pause account | |||
i think the post zoffix just made on his perl6.party (or rakudo.party?) should help a lot with that | |||
13:39
ryn1x joined
13:44
audiatorix joined
13:45
audiatorix left
|
|||
atroxaper | Can somebody help me, please? I can not find any information about how standard hash's implementation (or language design) converts keys to indexes and compare keys between themselves. My knowledge enough for looking to Rakudo repo and find 'key.Str'. But further I see solid nqp code :( | 13:45 | |
In Java I know that everything has equals and hashCode. I naively suppose that there should be something similar. | 13:47 | ||
moritz | timotimo: hm, mi6 doesn't install here :( | ||
13:47
mattr left
|
|||
moritz | atroxaper: are you looking for ways to make your objects hashable, or do you want to know the low-level gory details? | 13:47 | |
13:48
ryn1x left
|
|||
atroxaper | In Java I know how it works and know what I can do. I know how to override equals method if I need. But in Perl 6 I do not mechanics of equals and key mapping. | 13:49 | |
do not know * | |||
For example, I want to use 'not string key'. And I doubt can I use 'similar' objects as keys, or have to use 'same' objects. | 13:50 | ||
13:51
poitqehj joined,
Cabanossi left
|
|||
atroxaper | I know that ~~ uses .ACCEPTS under the hood. But what the hash uses? :) | 13:52 | |
13:54
Cabanossi joined
|
|||
moritz | so, the normal hash coerces to Str by default | 13:54 | |
13:54
nadim joined
|
|||
moritz | which means if you're fine with that, you can write your own Str method | 13:54 | |
but, then the hash contains Str keys, not your object keys | |||
if you want the objects to remain as keys, you have to declare the hash appropriately, and write a WHICH method | 13:55 | ||
atroxaper | With my 'object keys' example above - I tries to write class key { has Str $.s; has Num $.n }; And it is works with 'similar' keys. But what if I what to add mutable field in key. Of course I do not what to use that field while comparing of keys. Do not know how to do that. | ||
moritz | then don't include the mutable part in your WHICH method | 13:57 | |
atroxaper | Does WHICH contains Java's equals+hashCode methods together? | 13:58 | |
moritz | hashCode, i think | ||
I don't know java well enough | |||
atroxaper | Ok. Thank you. Gonna find some WHICH implementation example :) | 14:00 | |
moritz | rakudo has some | 14:01 | |
bitrauser | Good evening, again :) | ||
atroxaper | Yeah. Enough. | 14:02 | |
moritz | good morning, bitrauser :-) | 14:03 | |
14:09
ryn1x joined
|
|||
timotimo | moritz: what's the failure mode? | 14:10 | |
moritz | timotimo: perlpunks.de/paste/show/59da3221.3c0b.3c8 | 14:11 | |
This is Rakudo version 2017.09-246-g5747bc7 built on MoarVM version 2017.09.1-575-gd4e230a | 14:12 | ||
timotimo | oh | ||
moritz | built yesterday, iirc | ||
timotimo | you gotta update zef | ||
potentially by git cloning it; it might not be able to update itself in this state | |||
yoleaux | Zoffix: add `where-is` to subset helper, bruh | 14:27 | |
14:29
evalable6 left,
evalable6 joined,
thunktone left
|
|||
moritz uploaded two Perl 6 dists to CPAN and now waits for the indexer mails | 14:29 | ||
14:31
thunktone joined
|
|||
moritz | according to pause.perl.org/pause/authenquery?A...ile_1=5000 it has sent at least some mails | 14:31 | |
haven't gotten them yet :( | |||
buggable | New CPAN upload: Math-Model-0.1.tar.gz by MORITZ cpan.metacpan.org/authors/id/M/MO/...0.1.tar.gz | 14:32 | |
New CPAN upload: Math-RungeKutta-0.1.tar.gz by MORITZ cpan.metacpan.org/authors/id/M/MO/...0.1.tar.gz | |||
moritz | ah, there they go! | 14:33 | |
timotimo | fantastic :) | ||
moritz | I guess I should teach perl6-all-modules about CPAN then :/ | ||
timotimo | that'd be good | 14:34 | |
14:35
poitqehj left
|
|||
moritz | github.com/moritz/perl6-all-modules/issues/1 | 14:36 | |
is there a nice URL that gives me all Perl 6 modules on CPAN? | 14:37 | ||
14:38
ryn1x left,
ryn1x joined,
bwisti joined
|
|||
timotimo | i'm just looking for it | 14:39 | |
there is one. | |||
raw.githubusercontent.com/ugexe/Pe.../cpan.json | |||
moritz | I had hoped for one that is generated by PAUSE | ||
the modules.perl6.org code seems to use rsync | 14:40 | ||
timotimo | github.com/ugexe/Perl6-App--ecogen...n/cpan.pm6 - the ecogen program grabs all the interesting data via rsync | ||
14:41
bjorkintosh joined,
bjorkintosh left
|
|||
atroxaper | I always think that if we what to implement HashTable then we have to convert key object to some integer, then use it integer as index in some array. In simple story. But, if I am not wrong, in Perl 6 Map's keys converted in Map's fields itself. Without explicit array. Am I right?! | 14:46 | |
timotimo | in rakudo we use uthash to do the hashing | 14:47 | |
14:47
ryn1x left
|
|||
timotimo | we have an explicit string-key-based associative access API | 14:47 | |
i.e. nqp::atkey, nqp::bindkey, nqp::existskey | |||
14:48
ryn1x joined
|
|||
atroxaper | It seemed to me that nqp::bindkey just add one more field to object :) | 14:48 | |
timotimo | nope, that would have terrible performance | 14:49 | |
atroxaper | timotimo: Ok. Then WHICH is like Java's equals+hashCode. As documents says. | 14:50 | |
timotimo | yeah | ||
if you want you can implement a hash based on adding attributes whenever a new key gets added | 14:51 | ||
atroxaper | timotimo: can you describe how nqp::objectid works. If this can be done shortly of course. | ||
timotimo | and see how well that goes ;) | ||
14:52
Cabanossi left
|
|||
atroxaper | nonono. I do not what. I was really surprised when I came to this conclusion ^^ | 14:52 | |
timotimo | i find it hard to find a good starting point for the explanation | ||
14:53
ryn1x left
|
|||
timotimo | let's just say it gives you the object's location in memory and simultaneously prevents it from being moved around by the garbage collector | 14:53 | |
14:54
Cabanossi joined
|
|||
atroxaper | timotimo: as I thought... In simple words it is some address im memory. | 14:55 | |
timotimo: And the is a mechanics which map string '123' and '123' to the same 'memory'. Right? | 14:56 | ||
timotimo | the is? | 14:57 | |
atroxaper | Donno. But '123'.WHICH is the same as another '123'.WHICH | 14:58 | |
moritz | this is because Str is a value type | ||
timotimo | yeah, it implements its own method WHICH | ||
atroxaper | 1 ~ 2 ~ 3 . WHICH even | ||
moritz | it doesn't mean that string interning (reusing the same memory for identical strings) is happening | 14:59 | |
BenGoldberg | m: "ABC".WHERE for ^3 | ||
camelia | ( no output ) | ||
BenGoldberg | m: "ABC".WHERE.say for ^3 | ||
camelia | 140459212386120 140459212386120 140459212386120 |
||
timotimo | yes. when you get lines from a file and every line happens to haev the same contents, they'll still be separate string objects behind the scenes | ||
14:59
nowan left
|
|||
BenGoldberg | m: "ABC".WHICH.say for ^3 | 15:00 | |
camelia | Str|ABC Str|ABC Str|ABC |
||
timotimo | m: ("ABC" ~ "a".pick).WHERE.say for ^4 | ||
camelia | 140280001647936 140280001658488 140280001659968 140280001661448 |
||
timotimo | ^- same string, but different WHERE results | ||
same string in value, not in identity | |||
15:00
Aaronepower left
|
|||
BenGoldberg | m: "ABC".pick.WHERE.say for ^5 | 15:01 | |
camelia | 140149397008200 140149397008200 140149397008200 140149397008200 140149397008200 |
||
BenGoldberg | m: ("A"~"B").pick.WHERE.say for ^5 | ||
camelia | 139986690128432 139986690128432 139986690128432 139986690128432 139986690128432 |
||
15:01
nowan joined
|
|||
BenGoldberg | m: ("A".pick~"B").WHERE.say for ^5 | 15:02 | |
atroxaper | timotimo: % uses === which uses WHICH. Right? | ||
camelia | 140537259521960 140537259532512 140537259533992 140537259535472 140537259536952 |
||
15:02
Mrofnet joined
15:03
dogbert17 left
|
|||
BenGoldberg | It looks like the parser does constant folding of strings, and re-uses the string value objects where it can. | 15:04 | |
timotimo | the optimizer will constant-fold the ~ operation, the result will be serialized into the string heap and every reference to it will use that same string object in the future | 15:05 | |
15:05
Merfont left
|
|||
timotimo | though there's still a difference between the strings in the string heap - which are low-level VMString objects - and the actual Str objects - which have a VMString object boxed up inside of them | 15:05 | |
15:06
yht joined
|
|||
atroxaper | timotimo: % uses === which uses WHICH. Right? | 15:07 | |
timotimo | you mean hashes, right? | 15:08 | |
because we also have a % operator | |||
object hashes and "regular hashes" are implemented differently | |||
since regular hashes stringify everything anyway, it completely ignores WHICH | 15:09 | ||
WHICH is used by object hashes to create a string that can be used for keys in the underlying hash | |||
in fact, object hashes store pairs as their values; each pair has the "actual object" as its key and the "final" hash value as its value | 15:10 | ||
and the key used for the hash storage itself is what WHICH gives you from the object | |||
15:10
Morfent joined
|
|||
atroxaper | timotimo: Then hashes use string (from WHICH or itself) as uthash key. Right? | 15:12 | |
timotimo | yes | ||
there's currently an open bug that .pick and .roll on object hashes accidentally give you the "actual" pairs that the hash stores | |||
so you can see its guts spill out: | |||
15:12
Mrofnet left
|
|||
atroxaper | Yeah! I feel level up! :)) | 15:12 | |
timotimo | m: my %foo{Any} = 123 => 9, what => 8, 1.5 => 7, set(1, 2, 3) => 6; .perl.say for %foo.pick(*) | 15:13 | |
camelia | 123 => 9 1.5 => 7 (set(1,3,2)) => 6 :what(8) |
||
timotimo | oh, huh? | ||
15:13
eliasr joined,
ryn1x joined
|
|||
timotimo | oh, maybe the bug happens onyl when the object hash has just a single entry | 15:13 | |
m: my %foo{Any} = 123 => 9; .perl.say for %foo.pick(*) | 15:14 | ||
camelia | 123 => 9 | ||
timotimo | ... did somebody fix the bug in the mean time? | ||
m: my %foo{Any} = question => 9; .perl.say for %foo.pairs.pick(*); .perl.say for %foo.pick(*) | |||
camelia | :question(9) :question(9) |
||
atroxaper | Cool. Gonna write some text about basics s/Java/Perl 6/ | ||
timotimo | i'm confused now. | 15:15 | |
15:15
skids joined
|
|||
timotimo | i swear i was able to reproduce this bug yesterday | 15:16 | |
it's #132246 FTR | 15:17 | ||
synopsebot | RT#132246 [new]: rt.perl.org/Ticket/Display.html?id=132246 .pick and .roll return incorrect results for object hashes | ||
15:21
ufobat joined
|
|||
Geth | rakudo/nom: 775c367f34 | (Zoffix Znet)++ | t/02-rakudo/repl.t Fudge OSX-failing tests REPL output differred slightly on OSX for ages and we already had fudged tests for that reason. Fudging a couple more of these new ones. |
15:27 | |
Zoffix | squashable6: | ||
squashable6 | Zoffix, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Squashable | ||
Zoffix | squashable6: status | ||
squashable6 | Zoffix, Next SQUASHathon in 25 days and ≈18 hours (2017-11-04 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
lizmat | timotimo: I'll take RT#132246 | ||
synopsebot | RT#132246 [new]: rt.perl.org/Ticket/Display.html?id=132246 .pick and .roll return incorrect results for object hashes | ||
lizmat | m: dd :{ a => 42 }.pick # confirmed | ||
camelia | "Str|a" => :a(42) | ||
timotimo | oh | 15:29 | |
i'm still not quite sure how i messed up my code examples. assigning to that %foo{Any} should have properly kept the key objects? | |||
15:31
ryn1x left,
dogbert17 joined
|
|||
Zoffix | jnthn: perlpilot: SQUASHathon is over. Would you remove `,#perl6` from the end of the URL in geth's webhook on rakudo/rakudo repo? (moarvm/moarvm might've been set up with it too, I'm unsure) | 15:33 | |
15:34
leont joined
|
|||
timotimo | there's a big amount of modules still mentioning "build panda" or "build-panda" in their travis files :( | 15:35 | |
15:35
ChoHag left
|
|||
timotimo | some have that line commented, though | 15:35 | |
15:43
holyghost joined
15:47
ryn1x joined
15:59
araraloren left
16:02
cdg joined,
yht left
|
|||
Zoffix tries to remember the good reason why object hashes .Captures converts keys to Str | 16:03 | ||
m: dd :{42=>70}.Capture | |||
camelia | \("42" => 70) | ||
timotimo | well, capture doesn't support non-string keys | ||
Zoffix | Yeah, but why? | ||
timotimo | because capture is about calling stuff with arguments | 16:04 | |
that's where the limitation lives | |||
Zoffix | I can't have an argument named "42", can I? | ||
timotimo | though with slurpy hashes ... hmm | ||
m: sub test(*%foo) { say %foo.perl }; test(|:{42 => "hi"}); | |||
camelia | {"42" => "hi"} | ||
timotimo | ah, that goes via .Capture i assume | ||
Zoffix | bisect: [42 => 42].Capture.perl.say | 16:05 | |
bisectable6 | Zoffix, Bisecting by exit code (old=2015.12 new=775c367). Old exit code: 1 | ||
Zoffix, bisect log: gist.github.com/338e79a02083a9dcd6...2c41d0d170 | |||
Zoffix, (2017-05-26) github.com/rakudo/rakudo/commit/75...c62347b9df | |||
timotimo | i need to take a break for my wrists | ||
Zoffix | Expl: irclog.perlgeek.de/perl6-dev/2017-...i_14629113 | ||
timotimo: take like 1-2 days off the computer. | 16:06 | ||
16:08
|oLa| left
|
|||
ugexe | moritz: there is no pause generated index of perl6 dists, and it could be possible there won't be for awhile due to the fact its not equiped to deal with the same short-name/ver being used by more than one author | 16:13 | |
jdv79 | tony-o: HTML::Parser::XML looks borked | 16:14 | |
16:14
markldevine joined
|
|||
jdv79 | parse's main loop isn't ending | 16:14 | |
.seen tony-o | |||
yoleaux | I saw tony-o 2 Oct 2017 16:00Z in #perl6: <tony-o> m: my %h = :foo<FOO>, :bar<BAR>; my $key = "foo"; sub callme($arg where %h = $key) { say %h; say $arg; }; callme; | ||
jdv79 | .tell tony-o HTML::Parser::XML - parse - the main loop never ends on latest rakudo | 16:15 | |
yoleaux | jdv79: I'll pass your message to tony-o. | ||
[Coke] | timotimo: fixed up the vote formatting | 16:17 | |
Zoffix | moritz: "is there a nice URL that gives me all Perl 6 modules on CPAN?" Yup, use use `from:cpan` search qualifier on mp6.o without any search term: modules.perl6.org/search/?q=from%3Acpan available as JSON too: modules.perl6.org/s/from:cpan/.json | 16:20 | |
.tell moritz "is there a nice URL that gives me all Perl 6 modules on CPAN?" Yup, use use `from:cpan` search qualifier on mp6.o without any search term: modules.perl6.org/search/?q=from%3Acpan available as JSON too: modules.perl6.org/s/from:cpan/.json | |||
yoleaux | Zoffix: I'll pass your message to moritz. | ||
16:22
ryn1x left,
ryn1x joined
|
|||
Geth | rakudo/nom: 12fcece494 | (Elizabeth Mattijsen)++ | src/core/Hash.pm Fix for RT #132246 |
16:22 | |
synopsebot | RT#132246 [new]: rt.perl.org/Ticket/Display.html?id=132246 .pick and .roll return incorrect results for object hashes | 16:23 | |
16:24
kyan joined
16:28
kyan left
16:31
ryn1x left,
ryn1x joined
16:36
ryn1x left,
Cabanossi left
16:37
Wiertek left,
HoboWithAShotgun left
16:41
Cabanossi joined
16:50
chakli joined
|
|||
thundergnat | . | 16:51 | |
yoleaux | 7 Oct 2017 14:10Z <Xliff_> thundergnat: Thanks for the suggestion. I will upgrade, but I thought I had done that, recently. | ||
7 Oct 2017 14:12Z <Xliff_> thundergnat: I am on Inline::Perl5 0.26 and am still getting the error. | |||
16:51
markldevine left
|
|||
thundergnat | .tell Xliff_ Ah. Oh well, it was worth checking since I was getting that exact same behavior with an older version. | 16:51 | |
yoleaux | thundergnat: I'll pass your message to Xliff_. | ||
16:53
cdg left,
ryn1x joined
|
|||
Geth | doc/master: 6 commits pushed by (Will "Coke" Coleda)++ | 16:54 | |
thundergnat | .tell timotimo Is there any reason JSON::Fast doesn't have a JSON tag in its META file? I was mildly surprised when I searched for modules tagged JSON and it didn't show up. (Had to do a keyword search like an animal... ;-) ) | 16:56 | |
yoleaux | thundergnat: I'll pass your message to timotimo. | ||
timotimo | oops | ||
yoleaux | 16:56Z <thundergnat> timotimo: Is there any reason JSON::Fast doesn't have a JSON tag in its META file? I was mildly surprised when I searched for modules tagged JSON and it didn't show up. (Had to do a keyword search like an animal... ;-) ) | ||
thundergnat | timotimo BTW, cool module. Is literally at least 3 orders of magnitude faster than using .perl and EVAL to save large hashes to a file. | 16:59 | |
timotimo | yeah, it's not bad :) | ||
EVAL is especially slow since it's the full rakudo grammar | 17:00 | ||
however, with .perl you can use precompilation for your benefit | |||
moritz | thanks Zoffix | ||
yoleaux | 16:20Z <Zoffix> moritz: "is there a nice URL that gives me all Perl 6 modules on CPAN?" Yup, use use `from:cpan` search qualifier on mp6.o without any search term: modules.perl6.org/search/?q=from%3Acpan available as JSON too: modules.perl6.org/s/from:cpan/.json | ||
timotimo | in which case it'll be massively faster than JSON::Fast could ever hope to be | ||
Zoffix | moritz: would you remove ",#perl6" from the end of Geth's webhook for rakudo repo github.com/rakudo/rakudo/ ? SQUASHathon is over, so it don't need to report up in here no more | 17:01 | |
thundergnat | yeah. It works fine for small hashes but I had a 100KB file I was EVALing and it was.... not so much. | ||
moritz | Zoffix: will do | ||
Zoffix | Thanks! | ||
17:01
Khisanth left
|
|||
moritz | done | 17:01 | |
17:01
ryn1x left
17:02
ryn1x joined
|
|||
Zoffix | \o/ | 17:02 | |
moritz | so, there's a small thing that's less than awesome | 17:05 | |
from modules.perl6.org/s/from:cpan/.json I get the CPAN user name, but not the github username | |||
so I'll have both zoffixznet/somemodule and ZOFFIX/othermodule | 17:06 | ||
what should I do? just accept it? | |||
or create separate directories, cpan/ZOFFIX/othermodule and github/zoffixznet/somemodule? | |||
I'm currently leaning towards the latter | 17:08 | ||
not all cpan modules must come from github, so there's not always a reliable way to link it back | |||
17:09
chakli left
|
|||
Zoffix | moritz: yeah, there's no reason why cpan/ZOFFIX and github/zoffix are the same person even, so it makes sense to keep these all separate | 17:10 | |
(P.S.: we have a few dists off gitlab (`from:gitlab`) too) | |||
moritz | I must say that renaming 19.6k files in a git repo is unpleasantly slow | 17:13 | |
17:14
ryn1x left,
Khisanth joined
|
|||
Geth | perl6.org: tibi77++ created pull request #85: Adding spacemacs reference |
17:19 | |
17:20
profan left
17:21
domidumont joined
17:22
wbiker left,
thunktone left
17:23
thunktone joined
|
|||
gfldex | lolibloggedalittle: gfldex.wordpress.com/2017/10/08/it...-way-down/ | 17:23 | |
17:24
kyan joined
|
|||
moritz | gfldex++ | 17:25 | |
"But if tokens are methods then grammars must be classes." Not quite sound reasoning, but close enough :-) | 17:26 | ||
m: Metamodel::GrammarHOW.^mro | |||
camelia | ( no output ) | ||
Geth | perl6.org: 4036b7ef0d | tiberiu_lepadatu++ | source/whatever/index.html Adding spacemacs referance |
||
perl6.org: fe5662e5e8 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/whatever/index.html Merge pull request #85 from tibi77/master Adding spacemacs reference |
|||
moritz | m: say Metamodel::GrammarHOW.^mro | ||
camelia | ((GrammarHOW) (ClassHOW) (Any) (Mu)) | ||
Geth | perl6.org: c356a5f59c | (Zoffix Znet)++ (committed using GitHub Web editor) | source/whatever/index.html Add closing </li> for consistency |
17:27 | |
gfldex | Perl 6 defies logic :-> | ||
ugexe | why not have grammar be a role (that still puns to a class)? then we could apply a grammar as a role or a class... | 17:28 | |
17:28
ChoHag joined
17:33
timo2 joined
|
|||
moritz | you can just put your regexes and tokens into roles | 17:33 | |
and then compose them as you like | |||
17:35
HoboWithAShotgun joined
|
|||
moritz | (my upcoming book shows examples of this) | 17:35 | |
timo2 | dragon is incompatible with qwebirc m( | 17:36 | |
17:39
timo3 joined
|
|||
timo3 | bleh! even with firefox it opens the print window instead of putting my text into the text box >:( | 17:40 | |
17:42
go|dfish joined
|
|||
timo3 | Maybe it works now | 17:42 | |
timo2 | and maybe it even works with Google Chrome | 17:43 | |
that's cool | |||
HoboWithAShotgun | m: my \a = @(1,2,3).WHAT; say a; | 17:44 | |
camelia | (List) | ||
HoboWithAShotgun | is there a way to get a sigil-less array/hash? | ||
timo2 | m: my \a = (1,2,3).Array; say a.WHAT | 17:45 | |
camelia | (Array) | ||
HoboWithAShotgun | that's ugly | 17:46 | |
timo2 | m: my \a = my @ = 1, 2, 3; say a.WHAT | 17:47 | |
camelia | (Array) | ||
HoboWithAShotgun | better. we went from woody allen to prince charles | 17:48 | |
now the ben affleck solution? | |||
17:48
leont left
|
|||
HoboWithAShotgun | i like this slang though. i can use siggiless for lexicals and sigils for arguments and attributes | 17:50 | |
i'd like the other way around more but alas | |||
m: class { has \foo; } | 17:51 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> has scoped term definitions (only 'my' is supported at the moment) not yet implemented. Sorry. at <tmp>:1 ------> 3class { has \foo7⏏5; } expecting any of: new term to be defined |
||
17:51
committable6 left,
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
ugexe | moritz: yeah thats what i have done as well. but then you can't easily do things like have multiple stand alone RFC grammars that compose into a single larger grammar | 17:51 | |
moritz | ugexe: you can in each role have an "is Grammar", that makes them stand-alone | 17:52 | |
ugexe | well you can, but you have to add boilerplate | ||
ah | |||
17:52
unicodable6 left
17:53
unicodable6 joined
|
|||
moritz | m: role ABC is Grammar { token TOP { abc } }; say ABC.parse('abc') | 17:53 | |
camelia | 「abc」 | ||
17:53
vike joined
|
|||
moritz | Zoffix: it looks like Math-Model made it to CPAN correctly: irclog.perlgeek.de/perl6/2017-10-08#i_15274350 but it doesn't show up on modules.perl6.org/s/from:cpan/.json | 18:00 | |
18:00
ryn1x joined
|
|||
moritz | Zoffix: bad timing, or bug? | 18:00 | |
18:00
atroxaper left
|
|||
Geth | ecosystem: 25a2f3bf05 | (Moritz Lenz)++ | META.list Remove module that now lives on CPAN |
18:01 | |
18:01
Wiertek joined
|
|||
moritz | Zoffix: also in modules.perl6.org/s/from:cpan/.json the "files" attribute in each dist seems to be a JSON-encoded string rather than the JSON data structure. Bug or feature? | 18:03 | |
18:05
Aaronepower joined
18:08
Cabanossi left,
wander4096 joined
|
|||
wander4096 | m: my $a = (1, 2, 3).Seq; $a.skip | 18:09 | |
camelia | ( no output ) | ||
18:09
Cabanossi joined
|
|||
wander4096 | m: my $a = (1, 2, 3).Seq; $a.skip.say | 18:09 | |
camelia | (2 3) | ||
wander4096 | but it doesn't work if call in different line | ||
Method 'pull-one' must be implemented by Iterator because it is required by roles: Iterator. in block <unit> at <unknown file> line 1 | |||
seems like REPL's bug | 18:11 | ||
MasterDuke | wander4096: the REPL has a bunch of known bugs | 18:12 | |
using -e or just a file is better at this point | 18:13 | ||
wander4096 | where can find a list of it | ||
sure | |||
MasterDuke | wander4096: fail.rakudo.party/t/REPL should have some | ||
wander4096 | get it | 18:14 | |
18:16
profan joined
18:17
wander4096 left
|
|||
moritz | perl6-all-modules now has cpan support | 18:20 | |
18:21
timo3 left,
timo2 left,
Aaronepower left
|
|||
AlexDaniel_ | moritz: yay! | 18:26 | |
18:26
thunktone left
|
|||
HoboWithAShotgun | what am i missing here? | 18:26 | |
class c { has &.sub; method m { &.sub.(1); }; }; my $c = c.new( s => sub ($x,$y) { say $x } ).m; | |||
m: class c { has &.sub; method m { &.sub.(1); }; }; my $c = c.new( s => sub ($x,$y) { say $x } ).m; | |||
camelia | Cannot invoke this object (REPR: Uninstantiable; Callable) in method m at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
HoboWithAShotgun | that's | ||
sorry | 18:27 | ||
m: class c { has &.sub; method m { &.sub(1); }; }; my $c = c.new( s => sub ($x,$y) { say $x } ).m; | |||
camelia | Too many positionals passed; expected 1 argument but got 2 in method sub at <tmp> line 1 in method m at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
HoboWithAShotgun | that's the one | ||
ugexe | why would s => not be sub => ? | ||
moritz | right; so far you're just calling the accessor for $.sub, which doesn't want any arguments | 18:28 | |
18:29
thunktone joined
|
|||
HoboWithAShotgun | yes that's a typo | 18:29 | |
moritz | m: m: class c { has &.sub; method m { &.sub()(1, 2); }; }; my $c = c.new(sub => sub($x, $y) { say $x }).m | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$x' is not declared at <tmp>:1 ------> 3)(1, 2); }; }; my $c = c.new(sub => sub(7⏏5$x, $y) { say $x }).m |
||
moritz | m: m: class c { has &.sub; method m { &.sub()(1, 2); }; }; my $c = c.new(sub => sub ($x, $y) { say $x }).m | ||
camelia | 1 | ||
HoboWithAShotgun | but even then its the same error | ||
moritz | HoboWithAShotgun: ^^ | ||
ugexe | your sub requires 2 positional arguments, and you are passing just 1 | 18:31 | |
18:33
audiatorix joined
|
|||
HoboWithAShotgun | that was a typo. what moritz++ did there was my problem | 18:34 | |
why do i have to do ()() on a callable to actually call it? | |||
18:34
darutoko left
18:35
audiatorix left
|
|||
ugexe | &($.sub)(1,2) | 18:38 | |
moritz | HoboWithAShotgun: because $.foo is a shorthand for $.foo() | ||
HoboWithAShotgun: and if you add the parens, they contain the arguments for the accessor method, not for the thing that the accessor method returns (if it's a callable) | |||
($.foo() is a shorthand for $(self.foo())) | 18:39 | ||
HoboWithAShotgun | ah, yes ugexe. that's a clearer syntax | 18:41 | |
HoboWithAShotgun needs a trinary boolean | 18:47 | ||
Zoffix | m: class c { has &.sub; method m { &.sub,(1, 2); }; }; my $c = c.new(sub => sub ($x, $y) { say $x }).m | 18:51 | |
camelia | ( no output ) | ||
Zoffix | m: class c { has &.sub; method m { &.sub.(1, 2); }; }; my $c = c.new(sub => sub ($x, $y) { say $x }).m | ||
camelia | 1 | ||
Zoffix | moritz: "feature". It's decoded only on individual dist pages. It's not an ideal design, but I got annoyed with trying to make it work The Right Way 'cause I'm not good with databases, so I just shoved it into a cells as a JSON string | 18:53 | |
18:55
evalable6 left,
evalable6 joined
|
|||
Zoffix | moritz: hm, Math::Model ain't got a meta file generated for it. That's why it's not showing up on mp6.o. Dunno why it's missing: cpan.metacpan.org/authors/id/M/MO/MORITZ/Perl6/ | 18:56 | |
18:57
ecocode left
|
|||
Zoffix | moritz: looks like there's 2 math models; one in Perl6 dir and another not in it; perhaps that's what's screwing up PAUSE that it doesn't generate meta file? www.nntp.perl.org/group/perl.cpan....16988.html www.nntp.perl.org/group/perl.cpan....16989.html | 18:58 | |
moritz | Zoffix: I've deleted the on outside of Perl6/ | 18:59 | |
*one | 19:00 | ||
19:00
ecocode joined
19:03
TEttinger joined,
domidumont left
|
|||
Zoffix | I don't know anything about PAUSE system, so don't even have any guesses why the meta wasn't generated. I'd trying uploading the module again. If that fails, check if keys are missing in the meta file inside the tar (check other dists that made it through to see what they got up in them) | 19:03 | |
moritz tries again | 19:15 | ||
ugexe | might need to bump the version as well (otherwise backpan wouldnt work right) | 19:17 | |
19:17
audiatorix joined
|
|||
audiatorix | Do arguments to BUILD have to be named? | 19:17 | |
19:18
andreoss joined
|
|||
moritz | ugexe: I've done that, yes | 19:18 | |
audiatorix: that would be advisable, yes | |||
audiatorix | Maybe if I just describe the problem you could help me here. I want a constructor which takes two hashmaps which do not directly correspond to class fields | 19:20 | |
Zoffix | Just define your own method new | ||
andreoss | are objects somehow carring the information about a package/module from which they were imported? | ||
something like .^package | |||
Zoffix | They're from that package yeah | 19:21 | |
m: class { has $.foo; method new ($what) { self.bless: :foo($what) } }.new(42).foo.say | |||
camelia | 42 | ||
andreoss | by objects i mean routines/constants and so on | ||
audiatorix | So that would probably mean making a hashmap that does correspond to the fields, and calling bless with that | 19:22 | |
Zoffix | audiatorix: ^ you can do whatever processing you need in `new` and just shove the results into appropriate attributes by passing them as named args to bless | ||
audiatorix | right | ||
19:22
Cabanossi left
|
|||
buggable | New CPAN upload: Math-Model-0.2.tar.gz by MORITZ cpan.metacpan.org/authors/id/M/MO/...0.2.tar.gz | 19:22 | |
audiatorix | Construction seems a bit strange after doing OO in other langs | 19:23 | |
19:24
audiatorix left,
Cabanossi joined
|
|||
ugexe | `method new($pos1, $pos2, |c) { self.bless(:$pos1, :foo($pos2), |c) }` | 19:25 | |
but by using named arguments you encourage composition instead of hamper it | |||
Zoffix | andreoss: for subs, it's the .package method | 19:26 | |
No sure what it is for constants | 19:27 | ||
andreoss | m: &say.package.say | 19:28 | |
camelia | No such method 'say' for invocant of type 'GLOBAL' in block <unit> at <tmp> line 1 |
||
Zoffix | m: use Test; &is.package.say | 19:29 | |
camelia | (Test) | ||
Zoffix | m: use Test; &is.package.name.say | ||
camelia | No such method 'name' for invocant of type 'Test' in block <unit> at <tmp> line 1 |
||
Zoffix | m: use Test; &is.package.^name.say | ||
camelia | Test | ||
Zoffix | m: &say.package.^name.say | ||
camelia | GLOBAL | ||
andreoss | is "jump to definition" possible for perl6? | 19:33 | |
19:33
profan left
|
|||
moritz | I don't see why it would be harder to do than in other dynamic languages | 19:34 | |
sjn | o/ | 19:35 | |
Anyone here heard of langserver.org/ ? | |||
thundergnat | m: my \a = [1,2,3,4]; say a.WHAT; my \b = {:a(1), :b(2)}; say b.WHAT; # <-- HoboWithAShotgun | 19:36 | |
camelia | (Array) (Hash) |
||
andreoss | Ruby has source_location for example | 19:37 | |
moritz: it seems to me that it should be implemented in HOW classes | 19:39 | ||
geekosaur | I think there's a .WHERE described in the old design docs but not implemented or in the current spec? | 19:40 | |
moritz | andreoss: I'm a bit confused; I thought you were talking about static analysis | ||
andreoss | so they would save somekind of metadata about origin of method/routine | ||
moritz | andreoss: an IDE shouldn't require running the code to be able to jump to a definition | ||
ugexe | moritz: cpan isn't indexing your dist because the dist needs to be in a root directory inside the tar | 19:42 | |
andreoss | i guess an IDE asks a compiler for source location | ||
ugexe | moritz: you can use the archive downloaded from githib (.tar.gz or .zip) as an example of what i mean | 19:44 | |
19:47
ryn1x left,
ryn1x joined
|
|||
moritz | ugexe: thanks | 19:52 | |
tar --transform 's,^,Math-Model-0.3/,' -czf Math-Model-0.3.tar.gz $(git ls-files) | 19:53 | ||
hope this works | |||
weabot | if I modify a zef module in its .zef directory, how do I make sure that every file will be recompiled and my modifications used as they are? | ||
moritz | weabot: in general zef --force-install install . | 19:54 | |
though I have no idea if that works inside of .zef | |||
weabot | it'll just refetch it won't it? | 19:56 | |
moritz | weabot: . installs from the current directory | ||
20:00
timo2timo joined
|
|||
ugexe | if you give it a directory it will install whatever is in that directory. if you change something in .zef/ it will get used if it matches whatever query you use | 20:02 | |
buggable | New CPAN upload: Math-Model-0.3.tar.gz by MORITZ cpan.metacpan.org/authors/id/M/MO/...0.3.tar.gz | ||
ugexe | moritz: i think you also need to include the directories | 20:04 | |
you can test with `zef install my-dist.tar.gz` | |||
weabot | yep, it worked. thanks a lot! | ||
moritz | now it generated a .meta file | 20:07 | |
ugexe | zef doesn't seem to understand without directories though (not that i cant fix this) | 20:08 | |
zef counts on the first thing listed with tar --list to be the directory it will be extrated into | 20:09 | ||
20:09
releasable6 left
20:10
releasable6 joined,
ChanServ sets mode: +v releasable6
|
|||
ugexe | the fix would be a routine that when given a list of relative paths would determine the longest common path prefix | 20:14 | |
20:15
Xliff joined
20:20
thunktone left
|
|||
Xliff | \o | 20:21 | |
20:21
Cabanossi left
|
|||
Xliff | Why is it that when I am dealing with string objects from Inline::Perl5, when I want to save it to another structure, I get an $[Inline::Perl5::Perl5Object.new(ptr => NativeCall::Types::Pointer.new(121489008), perl5 => Inline::Perl5.new)] | 20:21 | |
How can I convert those to Str? I can do a $o.Str and it does nothing? | 20:22 | ||
jdv79 | did you assign it back? | 20:24 | |
gfldex | m: my (@a1, @a2); sub s1 { 1,2,3 }; sub s2 { <a b c> }; (@a1, @a2) = [&s1, &s2].hyper.map({@($_.())}); dd @a1, @a2; | ||
camelia | Array @a1 = [(1, 2, 3), ("a", "b", "c")] Array @a2 = [] |
||
20:24
Cabanossi joined
|
|||
gfldex | m: my ($a1, $a2); sub s1 { 1,2,3 }; sub s2 { <a b c> }; ($a1, $a2) = [&s1, &s2].hyper.map({@($_.())}); dd $a1, $a2; | 20:25 | |
camelia | List $a1 = $(1, 2, 3) List $a2 = $("a", "b", "c") |
||
jdv79 | m: my $v = <a b c >; say $v.perl; $v ~= ""; say $v.perl | 20:27 | |
camelia | $("a", "b", "c") "a b c" |
||
jdv79 | Xliff: ^^ - is that not sufficient? | 20:28 | |
20:28
cschwenz joined
|
|||
Xliff | Yes. I am assigning it back. I am working through another bug to see if I fixed it. | 20:30 | |
20:32
Wiertek left
20:35
|oLa| joined
20:48
andreoss left
|
|||
AlexDaniel_ | squashable6: status | 20:51 | |
squashable6 | AlexDaniel_, Next SQUASHathon in 25 days and ≈13 hours (2017-11-04 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
AlexDaniel_ | errr how do I get the log of the previous one | ||
squashable6: log | 20:52 | ||
squashable6 | AlexDaniel_, Nothing there yet | ||
AlexDaniel_ | squashable6: status 2017-10-07 | 20:53 | |
squashable6 | AlexDaniel_, Log and stats: gist.github.com/f60a0b881294d52756...cd2b5a1cbf | ||
20:53
cschwenz left
|
|||
AlexDaniel_ | squashable6: status 2017-10-42 | 20:54 | |
squashable6 | AlexDaniel_, Invalid date format | ||
AlexDaniel_ | squashable6: status 2017-10-01 | ||
squashable6 | AlexDaniel_, Invalid date format | ||
20:58
ryn1x left
21:08
Cabanossi left
21:09
Cabanossi joined
21:12
[particle] left,
BenGoldberg left
21:13
ryn1x joined
21:14
margeas left
|
|||
HoboWithAShotgun got the event loop, screen driver going and a working clock widget | 21:18 | ||
imgur.com/a/mADp5 | 21:19 | ||
AlexDaniel_ | buggable: bugs | 21:20 | |
buggable | AlexDaniel_, Total: 1640; 6.D: 2; 9999: 10; @LARRY: 26; ANNOYING: 9; BOOTSTRAP: 4; BUG: 596; BUILD: 12; CONC: 47; DOCS: 1; EXOTICTEST: 2; FLAP: 1; GLR: 3; IO: 22; JVM: 48; LHF: 7; LTA: 177; MATH: 4; META: 2; MOAR: 2; MOLD: 233; NATIVECALL: 22; NYI: 57; OO: 13; OPTIMIZER: 8; OSX: 2; PARSER: 5; PERF: 26; POD: 19; PRECOMP: 15; REGEX: 46; REGRESSION: | ||
AlexDaniel_, 36; REPL: 6; RFC: 62; RT: 2; SECURITY: 1; SEGV: 26; SINK: 1; SITE: 1; SPESH: 1; STAR: 7; TESTCOMMITTED: 10; TESTNEEDED: 56; TODO: 13; UNI: 28; UNTAGGED: 278; WEIRD: 2; WINDOWS: 3; See fail.rakudo.party/ for details | |||
21:21
itaipu joined
|
|||
AlexDaniel_ | dammit, I'm counting 29 tickets more again /o\ | 21:21 | |
HoboWithAShotgun | so, can you have them done by friday? | 21:25 | |
AlexDaniel_ | HoboWithAShotgun: yes | ||
21:25
profan joined
|
|||
AlexDaniel_ | HoboWithAShotgun: not sure which Friday though | 21:25 | |
HoboWithAShotgun | lol. that was a joke | 21:26 | |
oh, right. lol free zone | |||
no more lols | |||
:) | |||
AlexDaniel_ | Zoffix: any chance you know why buggable says 1640 tickets in total instead of 1669? | ||
it's 1638 without “stalled”, fwiw | 21:27 | ||
ok, so fail.rakudo.party does not include stalled tickets | 21:29 | ||
and these extra 2 are there because… I don't know | |||
yoleaux | Zoffix: link tyil to CPAN guide | 21:37 | |
tyil | yoleaux: ? | ||
I read it, yoleaux | |||
weabot | how do I ensure precision in Ints? is there a way to force them to be floating point? | 21:39 | |
tyil | docs.perl6.org/type/Num | 21:40 | |
21:40
rindolf left
|
|||
weabot | thanks | 21:40 | |
AlexDaniel_ | weabot: hold on, what's your problem exactly? | 21:41 | |
weabot: Num will not give you the precision you want | |||
most likely you need either Rat or FatRat, but I can't know without more info | |||
weabot | I was just adding up a value to DateTime.now and it became a whole int | ||
Num will probably be fine | |||
21:45
itaipu left
|
|||
AlexDaniel_ | RT #121327 | 21:47 | |
synopsebot | RT#121327 [resolved]: rt.perl.org/Ticket/Display.html?id=121327 [TESTNEEDED] Scoping bug with `xx` | ||
AlexDaniel_ | synopsebot: how many tickets can you handle? | ||
21:49
Aaronepower joined
|
|||
AlexDaniel_ | synopsebot: nevermind | 21:51 | |
buggable: tag TESTNEEDED | 21:55 | ||
buggable | AlexDaniel_, There are 56 tickets tagged with TESTNEEDED; See fail.rakudo.party/t/TESTNEEDED for details | ||
Juerd | Observation: slang (the suggested pronunciation for 6lang) is Dutch for snake. Interesting clash with Python :) | 21:56 | |
21:56
itaipu joined
21:59
kyan left
|
|||
AlexDaniel_ | Juerd: ha-ha :D | 21:59 | |
22:00
vike left
22:01
vike joined
22:02
Rawriful left
|
|||
HoboWithAShotgun | is anybody working on an intellisense plugin for atom? | 22:18 | |
HoboWithAShotgun prays to the code pixies | |||
22:21
ufobat left
22:22
ryn1x left
22:23
Xal left
22:25
kyan joined,
itaipu left
22:26
ryn1x joined
22:28
Xal joined
22:38
Herby_ joined
|
|||
Herby_ | o/ | 22:38 | |
Zoffix | \o | ||
AlexDaniel_ | \o … o/ | 22:39 | |
22:41
ryn1x left
22:42
ryn1x joined
22:43
Alikzus_ joined
22:44
lichtkind left
22:46
ryn1x left
23:01
itaipu joined
23:05
ryn1x joined
23:06
Cabanossi left
|
|||
AlexDaniel_ | Zoffix: MasterDuke: hey, what do you think? gist.github.com/AlexDaniel/0cdb8ea...b0701a20e1 | 23:08 | |
23:09
ryn1x left,
Cabanossi joined
23:10
ryn1x joined,
[particle] joined
|
|||
AlexDaniel_ | lizmat: hey. I have a script that generates this stuff ↑. What if we start doing it every week for p6weekly? | 23:12 | |
timotimo: hey, I know you love pretty graphs. Maybe you'll have some ideas on how to make a pretty gist? ↑ | |||
23:13
cdg joined
|
|||
timo2timo | are you asking for something graphical? | 23:14 | |
like generate an svg with pretty things? | |||
not sure how to display anything more than the numbers or something | 23:15 | ||
do you know if svg displayed in a gist will let you have links? | |||
AlexDaniel_ | timo2timo: it doesn't have to be a gist. I can upload it anywhere | ||
it can be graphical if we want to | 23:16 | ||
timo2timo | make it a square filled with pizza emoticons and butterflies | ||
and put some of the RT numbers in there, clickable? | 23:17 | ||
i haven't a clue :) | |||
23:17
cdg left
|
|||
AlexDaniel_ | that's an interesting idea | 23:17 | |
timo2timo | somewhat inspired by the perlin noise twitter bot | 23:18 | |
23:18
ryn1x left
23:19
ryn1x joined
|
|||
TEttinger | there's a perlin noise twitter bot? | 23:22 | |
AlexDaniel_ | twitter.com/perlin_noise this one I think | ||
23:23
mcmillhj joined
|
|||
TEttinger | yeah, that's classic perlin noise, not simplex it looks like | 23:24 | |
meanwhile, I'm off cavorting with really weird kinds of noise i.imgur.com/hZWjfN6.gifv | 23:26 | ||
that's a neat gist summary, btw AlexDaniel | 23:29 | ||
I think a lot of projects would appreciate something like that being done automatically | |||
AlexDaniel_ | u: hyphen | 23:32 | |
unicodable6 | AlexDaniel_, U+002D HYPHEN-MINUS [Pd] (-) | ||
AlexDaniel_, U+00AD SOFT HYPHEN [Cf] (control character) | |||
AlexDaniel_, 16 characters in total: gist.github.com/e825b7ae12503ed0f2...d53e9aceff | |||
23:43
evalable6 left,
evalable6 joined
|
|||
AlexDaniel_ | OK this page is now updated github.com/rakudo/rakudo/wiki/Mont...Squash-Day | 23:48 | |
23:58
ryn1x left
23:59
ryn1x joined
|