Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-07-03

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

All times shown according to UTC.

Time Nick Message
01:02 FROGGS_ joined #perl6-dev
01:05 sno joined #perl6-dev
01:32 jdv79 Zoffix: did you hit up nine or jnthn on that bug for hints?
01:38 MasterDuke does anyone have strong feelings about adding new dependencies to htmlify.p6 in doc?
01:39 MasterDuke i just created a PR for Perl6::TypeGraph::Viz to use File::Temp instead of rolling its own temp file creation
01:40 MasterDuke but wanted to get some other opinions before merging it
01:41 jdv79 just do it:)
01:50 MasterDuke ha, sounds like +1 so far
01:53 Zoffix jdv79, they're busy
01:53 Zoffix MasterDuke, +1
01:53 jdv79 Zoffix: :(
01:54 MasterDuke +2 gets it done
01:59 FROGGS__ joined #perl6-dev
02:00 MasterDuke but now the more interesting change. converting the "Processing $dir Pod files ..." section to a bunch of start()s and await()s, and the "Writing [type graph images, specialized visualizations] to html/image" to a bunch of Proc::Async.new()s, start()s, and awaits()?
02:01 MasterDuke for me, it brings "time perl6 htmlify.p6 --no-highlight" from 6 min to 1.5 min
02:01 jdv79 yes please
02:01 jdv79 is it done?
02:01 MasterDuke pretty much
02:01 jdv79 nice!
02:01 MasterDuke it's just a couple lines
02:02 MasterDuke but the docs do say Proc::Async is not implented for Rakudo on the JVM
02:02 MasterDuke *implemented
02:02 jdv79 and?
02:03 MasterDuke and all the async/concurrency parts of Rakudo are definitely kind of weird crash prone
02:04 MasterDuke well, i don't think losing JVM compatability is the worst things for htmlify.p6, but not sure i want to make that decision unilaterally
02:05 Zoffix MasterDuke, considering the JVM backend doesn't even pass the spectest at the moment, I wouldn't even worry about it for htmlify.p6
02:05 Zoffix MasterDuke, you may wanna touch back with [Coke] though. I think he was working on parallelizing htmlify.p6 too, IIRC.
02:05 Zoffix *touch base
02:07 MasterDuke Zoffix: thanks, i'll create the PR and ask him to weigh in before i merge anything
02:48 MasterDuke all, i created a PR (https://github.com/perl6/doc/pull/661) for docs that i would appreciate some eyes on
02:49 MasterDuke .tell [Coke] i created a PR (https://github.com/perl6/doc/pull/661) for docs that i would appreciate some eyes on, it's an attempt at parallelizing htmlify.p6. Zoffix++ mentioned you were working on the same thing
02:49 yoleaux2 MasterDuke: I'll pass your message to [Coke].
02:51 vendethiel joined #perl6-dev
02:54 Zoffix Check it out: http://i.imgur.com/oW9nuJr.png  Making an interactive app for doing Rakudo releases. Gonna try to automate some steps too. It's Mojolicious via Inline::Perl5 :)
02:58 Zoffix Well, I guess screenshot isn't impressive, but each "step" is a separate plugin class, so it's easy to... do stuff... with them :)
03:06 skids joined #perl6-dev
03:19 Zoffix grrr.... getting bitten by #128457 and can't workaround it ~_~
03:19 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128457
03:19 * Zoffix installs 2016.04
03:32 Zoffix Now modules fail. (╯°□°)╯︵ ┻━┻
04:12 vendethiel joined #perl6-dev
04:13 sno joined #perl6-dev
05:51 vendethiel joined #perl6-dev
06:57 RabidGravy joined #perl6-dev
07:22 [Tux] joined #perl6-dev
08:06 nine Zoffix: Repository::Installation is fully backwards compatible but unfortunately not forwards compatible :/ Once it upgraded to the current version, and old rakudo won't be able to deal with it properly.
09:00 gfldex joined #perl6-dev
10:31 psch i kind of want to toss the EVAL call in CU::PrecompUnit
10:31 psch just to see if things get easier to debug that way
10:31 psch but then, seeing as the Foo.pm already fails differently, it'd probably not help :|
10:33 BrokenRobot joined #perl6-dev
10:35 psch +case
10:40 nine psch: the EVALs all look like this: CompUnit::DependencySpecification.new(short-name => "NativeCall::Types", source-line-number => 5, from => "Perl6", version-matcher => Bool::True, auth-matcher => Bool::True, api-matcher => Bool::True)
10:40 psch yeah, except they might have colonpairs, 'cause the regex i used to pull that apart failed sometimes
10:40 nine psch: I'd guess the only changing parts in current real life code are the short-name and line-number fields
10:40 nine oh
10:41 psch anyway, the more reasonable approach would probably be storing the non-changing parts in a easier-to-parse format instead of fiddling with a regex and a .new call
10:41 psch err, s/non-//
10:42 nine true
10:52 [Tux] This is Rakudo version 2016.06-118-g3fda0b0 built on MoarVM version 2016.06-9-g8fc21d5
10:52 [Tux] test            16.389
10:52 [Tux] test-t           9.585
10:52 [Tux] csv-parser      17.639
11:12 psch m: class A { has $.b }; my $a = A.new(:2b); say "$(.name.substr(2) ~":"~ $a."{.name.substr(2)}"() for $a.^attributes)" # i am going mad with power \o/
11:12 camelia rakudo-moar 3fda0b: OUTPUT«b:2␤»
11:14 psch m: class A { has $.b; has $.c }; my $a = A.new(:2b,:3c); say "$([~] do [.name.substr(2) ~":"~ $a."{.name.substr(2)}"() for $a.^attributes])" # haha!
11:14 camelia rakudo-moar 3fda0b: OUTPUT«WARNINGS for <tmp>:␤Useless use of "~" in expression "~\":\"~ $a.\"{.name.substr(2)}\"()" in sink context (line 1)␤b:2c:3␤»
11:14 psch although probably wants a "quietly" - or a less crunched-in-one-line solution
11:15 psch i think that's a false positive though, isn't it?
11:20 dalek rakudo/nom: ba09318 | lizmat++ | src/core/Hash.pm:
11:20 dalek rakudo/nom: Make Hash initialization about 10% faster
11:20 dalek rakudo/nom:
11:20 dalek rakudo/nom: By given Hash its own dedicated STORE_AT_KEY, since we spent much
11:20 dalek rakudo/nom: more time initializing Hashes then we do Maps.
11:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ba09318d14
11:23 dalek nqp: b45f22e | (Pawel Murias)++ | src/vm/js/ (5 files):
11:23 dalek nqp: [js] Remove code to compile method specially in a way that passes the invocant in this as it's not compatible with containers.
11:23 dalek nqp: review: https://github.com/perl6/nqp/commit/b45f22ea40
11:36 brrt joined #perl6-dev
11:39 [Sno] joined #perl6-dev
11:40 AlexDaniel joined #perl6-dev
12:29 dalek rakudo/nom: ecfb956 | lizmat++ | src/core/Map.pm:
12:29 dalek rakudo/nom: Make Map|Hash initialization about 30% faster
12:29 dalek rakudo/nom:
12:29 dalek rakudo/nom: By optimizing Map.STORE and optimizing the handling of a Map initializing
12:29 dalek rakudo/nom: a Map.
12:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ecfb956bcf
12:32 [Tux] This is Rakudo version 2016.06-119-gba09318 built on MoarVM version 2016.06-9-g8fc21d5
12:32 [Tux] test            16.117
12:32 [Tux] test-t           9.284
12:32 [Tux] csv-parser      16.431
12:32 [Tux] rm -rf /tmp/*-p5helper.so
12:33 [Tux] give the girl a whishy!
12:33 [Tux] whisky
12:33 lizmat .oO( washy )
12:40 [Sno] joined #perl6-dev
12:48 [Tux] This is Rakudo version 2016.06-120-gecfb956 built on MoarVM version 2016.06-9-g8fc21d5
12:48 [Tux] test            16.082
12:48 [Tux] test-t           9.285
12:48 [Tux] csv-parser      16.577
12:51 lizmat yeah, I guess that other use cases will benefit more from that last opt
12:51 brrt joined #perl6-dev
12:52 dalek rakudo/nom: 539adae | lizmat++ | src/core/Exception.pm:
12:52 dalek rakudo/nom: Make X::Hash::Store::OddNumber more awesome
12:52 dalek rakudo/nom:
12:52 dalek rakudo/nom: By actually using the extra info added in the last commit
12:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/539adae201
12:57 psch well, not having the EVAL PrecompUnit.deserialize gets NC installed
12:57 psch it's apparently terribly broken, though
12:58 psch as in, 01-*.t to 16-*.t all fail completely
12:59 psch ohh, but that's the getextype problem apparently
13:07 vendethiel joined #perl6-dev
13:40 nine psch: cool :) Then I'd suggest we avoid the EVAL on JVM, so people can join in fixing JVM issues again and we at least don't regress any more
13:40 nine We can get back to EVAL any time and a little break from that may actually help :)
13:40 psch well, it definitely points at a architectural issue with my fix
13:41 psch i mean, the fact that it kinda-sorta almost fixes the Foo.pm case, but doesn't help with the PrecompUnit EVAL
13:41 psch which is probably because the latter nests two EVALs
13:48 psch hrm
13:49 psch what i don't like with interactive rebases
13:49 psch if there's exactly one commit that gets picked for the rebase
13:49 psch and my desired action is to drop that one commit
13:49 psch it doesn't work, because the buffer is then empty, and git does nothing if the rebase buffer is empty
13:49 psch as in, only contains comments
13:50 psch i mean, yeah, the instruction in the comments say as much
13:50 psch but i really don't want to push a revert commit and the following revert-revert commit
13:50 psch so i just 'reset --hard origin/master' i suppose?
13:50 psch well, that's what i have been doing at least
14:00 dalek nqp/jvm-begin-eval: 87675a6 | peschwa++ | src/vm/jvm/ (5 files):
14:00 dalek nqp/jvm-begin-eval: Mostly debug says, with a few bits that point at a solution.
14:00 dalek nqp/jvm-begin-eval:
14:00 dalek nqp/jvm-begin-eval: Specifically the changes in QAST::Compiler seem like they are
14:00 dalek nqp/jvm-begin-eval: at least somewhat on the right path, in so far as that the
14:00 dalek nqp/jvm-begin-eval: missing JAST::Method actually arrives in the Java class, but
14:00 dalek nqp/jvm-begin-eval: unfortunately it loses pretty much all the CodeRef-relevant
14:00 dalek nqp/jvm-begin-eval: information...
14:00 dalek nqp/jvm-begin-eval: review: https://github.com/perl6/nqp/commit/87675a6413
14:00 dalek rakudo/jvm-begin-eval: d5b9bc8 | peschwa++ | src/core/CompUnit/PrecompilationUnit.pm:
14:00 dalek rakudo/jvm-begin-eval: Work around broken BEGIN time EVAL on JVM.
14:00 dalek rakudo/jvm-begin-eval:
14:00 dalek rakudo/jvm-begin-eval: There is a real solution for the problem somewhere, blah, blah, amend after branch
14:00 dalek rakudo/jvm-begin-eval: review: https://github.com/rakudo/rakudo/commit/d5b9bc8e5b
14:00 dalek rakudo/jvm-begin-eval: 7715aee | peschwa++ | / (4 files):
14:00 dalek rakudo/jvm-begin-eval: Companion branch to the NQP branch of the same name.
14:00 dalek rakudo/jvm-begin-eval:
14:00 dalek rakudo/jvm-begin-eval: As in the NQP branch, mostly debug output with a few bits that seem necessary
14:00 dalek rakudo/jvm-begin-eval: to get the half-finished solution in NQP to work. As there's a workaround in
14:00 dalek rakudo/jvm-begin-eval: nom and this issue is really tough... well, I'm taking a break from thinking
14:00 dalek rakudo/jvm-begin-eval: about CompUnits and QAST compilation.
14:00 dalek rakudo/jvm-begin-eval: review: https://github.com/rakudo/rakudo/commit/7715aeeaf9
14:00 psch oh fsck
14:00 psch that one commit shouldn't have been there >_>
14:00 psch well, as long as it's meaningful on nom, right..? :|
14:03 psch hm, does that already break history if i amend the same commit on nom that didn't plan to push with the branch?
14:04 psch +i
14:04 psch git is hard /o\
14:10 nine it's only a branch anyway, isn't it?
14:11 nine di you actually push to nom?
14:15 psch no, didn't yet
14:15 psch but well, the first commit on the rakudo branch is also on nom
14:15 psch and amended now
14:39 skids joined #perl6-dev
14:46 psch well, if nothing else it means cherry-picking from jvm-begin-eval, whenever it can be merged vOv
14:47 psch oh, but i probably should test if moar and jvm actually build with the patch as-is... :)
14:55 |Sno| joined #perl6-dev
15:29 Madcap^Jake^ joined #perl6-dev
15:31 dalek rakudo/nom: 24e608e | peschwa++ | src/core/CompUnit/PrecompilationUnit.pm:
15:31 dalek rakudo/nom: Work around broken BEGIN time EVAL on JVM.
15:31 dalek rakudo/nom:
15:31 dalek rakudo/nom: There is a real solution for the problem somewhere, and the parts that I've
15:31 dalek rakudo/nom: kinda-sorta figured out are in the NQP and Rakudo branches jvm-begin-eval.
15:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/24e608e598
15:31 psch there, that builds moar and jvm
15:35 psch ...and of course now i notice that i don't know if having both installed could mess with the serialization of the DepSpec somehow
15:35 psch but backends don't share files, right?  so everything's fine..?
15:40 Ven joined #perl6-dev
16:02 nine That's...a good question
16:03 nine Maybe they do accidentally now
16:08 nine But even so, the serialization of the DepSpec is the smaller issue. They also share the bytecode.
16:09 Ven joined #perl6-dev
16:10 psch ...how does that work
16:45 nine The precomp files simply don't have a file extension :) So all backends try to load the same files, even if they were written by another backend
16:46 nine I just forgot about multiple backends when I implemented that
16:46 psch oh.  well, that sounds rather fixable
17:45 Ven joined #perl6-dev
18:19 lizmat nine: wouldn't it be simpler to just include the backend name in the string for SHA1 creation ?
18:32 nine lizmat: nice idea!
18:32 timotimo that actually basically solves everything
18:33 * nine loves hashes
18:35 jnthn Hm, isn't there a "compiler ID" which is factored into the hash at the end of the repo chain? I'd've thought that might factor backend in... Or have things changed a load since then? ;)
18:40 nine Ah, is the compiler id different per backend?
18:40 nine If yes, we're good
18:42 jnthn Well, I'd check it...
18:42 jnthn But it's the place I'd make the fix if there's a need to fix it :)
19:24 dalek rakudo/nom: 32087fe | lizmat++ | src/core/Any-iterable-methods.pm:
19:24 dalek rakudo/nom: Make Iterable.sink-all "simple" about 15% faster
19:24 dalek rakudo/nom:
19:24 dalek rakudo/nom: Finally found a way to work around the
19:24 dalek rakudo/nom:   Cannot reference undeclared local '__lowered_lex_3225'
19:24 dalek rakudo/nom: bug while compiling the setting.
19:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/32087fe516
20:08 dalek rakudo/nom: 240eeaf | lizmat++ | src/core/Any-iterable-methods.pm:
20:08 dalek rakudo/nom: A few % out of sequential-map "simple" sink-all
20:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/240eeafbdc
20:35 RabidGravy joined #perl6-dev
21:29 Zoffix Is there a way to somehow pass Perl 5 data structures to Perl 5 code via Inline::Perl5? I have basically the same setup as here: https://github.com/niner/Inline-Perl5#invoke-a-method-on-a-perl-6-object-from-perl-5
21:29 Zoffix Except I'm trying to pass a hashref instead of a string and I'm just getting Perl6::Object or somethinbg
21:30 Zoffix yeah, Perl6::Object
21:31 lizmat Zoffix: isn't a perl5 hash marshalled to a Perl 6 Hash ?
21:31 Zoffix Yeah. I'm trying to go the other way though. Marshall Perl 6 hash into Perl 5 hash
21:33 Zoffix Oh, this was meant for #perl :)
21:33 Zoffix And I found a way to cheatsy-doodle: my $hash_ref = { $p6hash->kv }
21:34 Zoffix s/#perl/#perl6/;
21:39 [Coke] (htmlify ||-zation) - I was going after it a different way, but breaking it up into makefile-sized chunks was non trivial.
21:39 yoleaux2 02:49Z <MasterDuke> [Coke]: i created a PR (https://github.com/perl6/doc/pull/661) for docs that i would appreciate some eyes on, it's an attempt at parallelizing htmlify.p6. Zoffix++ mentioned you were working on the same thing
21:56 tbrowder I'm getting a rakudo build failure on the current nom: commit 23daf3bb448b9278499162b4c7c4ebb964fbcd36; error is:
21:57 tbrowder https://www.irccloud.com/pastebin/MRazIsZV/build-error
21:58 lizmat tbrowder: that's not the current nom?
21:58 tbrowder I think it is...
21:58 lizmat current is 240eeafbdc9f28c505f afaik
21:59 lizmat tbrowder: could you do a configure and build from that again?
22:01 tbrowder it may be my git: git branch nom; ugh; I'll have to save some stuff before I do that...I'll report back
22:01 lizmat okido!
22:03 tbrowder it will probably be tomorrow, but this is probably one of those times mentioned in the FAQ that a reconfig will cure (fingers crossed)
22:12 dalek rakudo/nom: 6ed117a | lizmat++ | src/core/Any-iterable-methods.pm:
22:12 dalek rakudo/nom: Streamline sequential-map "simple" pull-one a bit
22:12 dalek rakudo/nom:
22:12 dalek rakudo/nom: Mainly for readability, wouldn't be surprised if codegen was the same.
22:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ed117a5fd
22:12 Zoffix *phew* After an annoying day of messing with RT, my Rele6sr app is starting to get proper useful. It can now show new tickets since last release: http://i.imgur.com/ky1p95z.png
22:14 tbrowder okay, build after reconfig is good, thanks (I've been doing: git checkout nom; git pull upstream nom while fiddling so I guess that doesn't always work: because that doesn't update npq? or ?
22:15 lizmat nqp bumps are still missed by make install  :-(
22:15 tbrowder ah! ok, t'anks
22:19 Zoffix This ticket can be closed: https://rt.perl.org/Ticket/Display.html?id=128439#ticket-history
22:19 * Zoffix doesn't have the close button
22:20 Zoffix This one too [resolved]: https://rt.perl.org/Ticket/Display.html?id=128447#ticket-history
22:22 [Coke] Zoffix: what's your rt id?
22:24 [Coke] nevermind, found you
22:24 [Coke] you should have close buttons now.
22:26 Zoffix Thanks.
22:32 timotimo Zoffix: damn, that feature alone is super helpful
22:37 timotimo (new tickets since last release, i mean)
22:38 Zoffix :)
23:15 dalek rakudo/nom: 5581b24 | lizmat++ | src/core/Any-iterable-methods.pm:
23:15 dalek rakudo/nom: Add "push-all" to sequential-map "normal"
23:15 dalek rakudo/nom:
23:15 dalek rakudo/nom: The great benefit of this should be that any Slips are short-circuited
23:15 dalek rakudo/nom: by just doing a "push-all" on the iterator of the Slip.
23:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5581b24111
23:15 lizmat and with that I wish #perl6-dev good night!
23:20 timotimo gmat, liznite
23:38 jdv79 is "Suge Knight" the name ive heard pronounces "shoog night"?
23:38 jdv79 *d

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