Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
00:08 MasterDuke left 00:39 epony joined 00:48 sivoais left 00:59 lucasb left 01:02 sivoais joined 01:16 AlexDani` joined 01:20 AlexDaniel left 06:15 [Tux] left 06:20 [Tux] joined 06:46 TreyHarris left 06:51 TreyHarris joined 07:25 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined 07:27 squashable6 left 07:30 squashable6 joined 08:00 leont joined 08:14 leont left
|Tux| Rakudo version 2019.07.1-351-g554f91e88 - MoarVM version 2019.07.1-238-gfc78a13b6
csv-ip5xs0.761 - 0.777
csv-ip5xs-206.471 - 6.490
csv-parser22.318 - 23.171
csv-test-xs-200.429 - 0.485
test6.884 - 7.074
test-t1.754 - 1.760
test-t --race0.822 - 0.854
test-t-2029.394 - 29.876
test-t-20 --race9.012 - 9.157
08:20
lizmat AlexDaniel: are you ok with me merging github.com/rakudo/rakudo/pull/3196 ? 08:55
AlexDaniel lizmat: any particular reason you ask? I can't see how this can immediately break things, only Blin can eventually tell. By any chance did you miss this commit? github.com/rakudo/rakudo/commit/c1...25de7f9dd5 08:57
lizmat ah, yes, I did 08:58
so I'll merge then :-)
AlexDaniel yes, please
nine++ asked for a release branch, maybe we'll have it earlier for this release 08:59
we'll see how things go
Geth_ rakudo/master: 6 commits pushed by (Elizabeth Mattijsen)++ 09:02
lizmat hmmm... git diff on the newer-sprintf branch is telling me now: 09:33
-Subproject commit 6245bf980e224c8202a88b774c5488c0e5fe2126
+Subproject commit 9c948ec47b23c93e3b9736debb669ee6734a41cd
whereas git stash tells me: No local changes to save 09:34
ah, a "git submodule update" seems to fix that
Geth_ rakudo/newer-sprintf: 2b52313203 | (Elizabeth Mattijsen)++ | src/core.e/Rakudo/Internals/Sprintf.pm6
Yet another try, yet another branch

I sincerely hope this one sticks
09:35
lizmat yes, that was a forced update
10:24 squashable6 left 10:25 squashable6 joined, ChanServ sets mode: +v squashable6 11:06 squashable6 left 11:08 squashable6 joined 11:35 ufobat__ left 12:56 pmurias joined 13:17 vrurg joined 13:46 cognomin_ joined 13:48 lucasb joined 13:50 cognominal left 14:31 pmurias left
Geth_ roast: bf7d0fbe51 | (Elizabeth Mattijsen)++ | S06-routine-modifiers/proxy.t
Add tests for subclassed Proxy
15:10
15:50 |Tux| left, |Tux| joined 16:02 MasterDuke joined
lizmat so I had this nice idea to make a module for an "is tracked" variable traits 16:18
my $a is tracked = 42
$a = 666;
say $a.VAR.history # [42]
proof of concept: gist.github.com/lizmat/8c0476706a4...93eff69f72
however, it appears that a new Scalar is bound *after* the trait is run 16:19
aaah... of course, the trait only runs once at compile time, while the lexical could be created many times 16:20
so maybe I should be working on the descriptor of the Variable object ?
jnthn: any pointers on that? ^^
jnthn I don't think you want a trait there, I think you just want the type? 16:21
Like `my %bomb is Set`
timotimo like "my $a is TrackedScalar = 5"?
jnthn Right
lizmat hmmm...
m: class A { }; my $a is A 16:23
camelia 5===SORRY!5=== Error while compiling <tmp>
is trait on $-sigil variable not yet implemented. Sorry.
Did you mean: my A $a?
at <tmp>:1
------> 3class A { }; my $a is A7ā5<EOL>
expecting any of:
constraint
lizmat seems to me that won't work on scalars
16:24 leont joined
lizmat I mean, it's all about syntactic sugar 16:24
the reason I want a trait, is that one can expand the trait:
my $a is tracked<values sites> = 42;
would track both values and sites where they would get changed 16:25
timotimo the type could also be parameterized though 16:26
lizmat true
still, type atm won't work for scalars
I guess mainly because we haven't figured out the semantics
SmokeMachine if that worked, should `my $a is Scalar` work? 16:29
jnthn Presumably, yes :)
timotimo we don't look up "Scalar" in the local lexical environment any more, right?
lizmat what I see as the big issue making this work
is that there is no way to set up a descriptor in such a way that it will create a Proxy object (or subclass thereof) 16:30
or am I missing something there ?
16:31 leont left
lizmat must admit she's sorta lost track on how descriptors work in one of jnthn's refactoring rounds 16:32
jnthn It's not really about descriptors at all, but rather about what gets bound to the variable 16:33
I'm not sure exactly what makes it complicated to support is Type on scalars
lizmat well, I'm willing to do that, it's just that atm I need pointers on how to do that :-) 16:34
because if that works, a "is tracked" should also be possible :-) 16:35
if I look at the codegen of "my $a = 42", I see a nqp::assign being codegenned 16:36
so either something else would need to be codegenned, or nqp::assign should be made smarter ? 16:37
jnthn Sure, which is fine
The runtime semantics of this are an assign. It's the declaration semantics that are interesting here
lizmat QAST::Var(lexical $a :decl(static)) you mean ?
jnthn Yes 16:38
Probably somewhere in Perl6::World, build_container or whatever the thing was called (it's been a while... :))
lizmat ok, will see if I can make sense of that :-)
looks like build_container assumes any unrecognized cont_type is to be bound to the descriptor in the container_base 16:40
17:01 dogbert11 joined
dogbert11 hmm, looks as if the commands perl6-valgrind-m and perl6-gdb-m are broken 17:22
I get 'Unhandled exception: While looking for 'ModuleLoader.moarvm': no such file or directory'
18:09 [Tux] left
MasterDuke dogbert11: running them from the rakudo root directory? what if you try from somewhere else? 18:14
18:32 chloekek joined 19:18 hoelzro joined 19:21 [Tux] joined
nine The following step can take a long time, please be patient. 20:02
Unhandled exception: While looking for 'ModuleLoader.moarvm': no such file or directory
And I don't even get to see the command that led to this error anymore... 20:06
So the build's broken and I don't know how to debug it 20:07
timotimo yeah, to see the commands there's a Configure.pl flag
--no-silent-build or so 20:08
MasterDuke nine: i get that if i run e.g., ./perl6-gdb-m in my rakudo directory. but they work fine if i run the installed versions
nine Why do we hide this important information by default? 20:10
timotimo builds are not supposed to give error messages, so there's no need to see what might have caused an error because no errors happen move along 20:11
nine If I wanted to have a useless splash screen instead of information on my screen, I'd have stayed with Windows 20 years ago 20:12
timotimo dunno, take it up with vrurg or just put --no-silent-build in whatever alias or script runs Configure.pl 20:15
(in my case it's reverse shell history search that does it)
when i asked why there is nothing like "make VERBOSE=1" the answer was that it'd bloat the makefile too much because we target some makes that lack lots of stuff 20:17
nine Looks like the issue's actually in NQP
So why hide information at all? Who is helped by this in what situation? It definitely created issues for me as a developer and it will create issues for me as a packager as I will probably only remember adding that switch to the .spec file when I'm already staring at the useless log of a failed build 20:19
Seems like running nqp's Configure.pl fixed rakudo's build. 20:22
20:32 chloekek left 21:17 lucasb left 22:07 MasterDuke left