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:07 anatofuz left
vrurg What's the purpose of ObjAt class and how ValueObjAt is different considering that it adds nothing to its parent? 00:35
01:08 squashable6 left 01:09 squashable6 joined, ChanServ sets mode: +v squashable6 01:19 squashable6 left 01:24 squashable6 joined, squashable6 left
timotimo ValueObjAt is for objects that are value types, ObjAt is for everything else 01:28
hashes that take object keys look at this 01:29
01:29 squashable6 joined, ChanServ sets mode: +v squashable6 02:03 anatofuz joined 02:17 anatofuz left, anatofuz joined
vrurg timotimo: thanks, makes more sense. But I 02:31
I'm overexhausted today and can't grasp what is value type in Perl6. Stuck thinking of C-like languages. 02:32
timotimo oh, it's just the difference whether an object is identified via its contained values or its identity as "memory location" 02:35
i.e. will Foo.new(x => 1, y => 2) eqv Foo.new(x => 1, y => 2) or not
vrurg timotimo: Thanks! I was close but not enough. ;) 02:36
03:42 zostay left 03:44 kawaii joined 03:45 zostay joined 05:38 robertle left 06:12 gdonald left 06:14 gdonald joined 06:56 anatofuz left 06:57 anatofuz joined 06:58 anatofuz left, anatofuz joined 07:41 anatofuz left 07:42 anatofuz joined 07:47 anatofuz left 08:27 anatofuz joined 08:31 anatofuz_ joined 08:35 anatofuz left 08:57 robertle joined 08:59 leont joined
|Tux| Rakudo version 2019.07.1-260-g9dd67cb37 - MoarVM version 2019.07.1-191-g15a8725e3
csv-ip5xs0.678 - 0.790
csv-ip5xs-204.866 - 4.887
csv-parser20.873 - 21.052
csv-test-xs-200.434 - 0.438
test6.934 - 7.016
test-t1.734 - 1.739
test-t --race0.773 - 0.775
test-t-2029.431 - 29.473
test-t-20 --race9.050 - 9.245
09:03
09:19 leont left
lizmat m: dd [].WHICH.^name, 42.WHICH.^name # vrurg: technical distinction 09:59
evalable6 "ObjAt"
"ValueObjAt"
nine |Tux|: is your Inline::Perl5 up to date (0.41). I expected a noticable slow down after merging my memory leak fix 10:19
11:08 squashable6 left, squashable6 joined, ChanServ sets mode: +v squashable6 11:32 anatofuz joined 11:36 anatofuz_ left 11:37 anatofuz left, lucasb joined 12:20 squashable6 left 12:21 squashable6 joined, ChanServ sets mode: +v squashable6 12:27 anatofuz joined 12:37 anatofuz left 12:52 hankache joined 12:58 anatofuz joined
nine '/home/nine/rakudo/perl6-m' '/home/nine/rakudo/tools/build/upgrade-repository.p6' '/home/nine/rakudo/install/share/perl6/core' 13:07
Missing or wrong version of dependency 'src/Perl6/World.nqp' (from 'gen/moar/CORE.c.setting')
Build's broken? 13:08
vrurg nine: not really. delete CORE.*.moarvm from source root. 13:10
We should probably remove implicit support for ./ for build. 13:11
nine If it doesn't build, the build is broken. 13:12
vrurg nine: they're now build in blib. But you have old ones from previous build in rakudo root. 13:13
|Tux| $ p6 -e 'use Inline::Perl5; say Inline::Perl5.^ver;' 13:14
(Mu)
jnthn vrurg: Does a `make clean` get rid of such files? 13:20
vrurg jnthn: no, unfortuantely. I wanted to fix this yesterday, but sunk in other stuff. 13:22
jnthn OK, that's probably a good thing to do
Folks really shouldn't need to manually fix their build tree 13:23
Geth rakudo: 1e148100b2 | (Vadim Belman)++ | tools/templates/Makefile-backend-common.in
Remove stale CORE.<rev>.setting precompiles from base dir

Prevent 'Missing or wrong version of dependency' issue.
13:27
vrurg Done. 13:29
jnthn vrurg++ 13:34
13:37 anatofuz left 13:38 anatofuz joined
vrurg lizmat: unfortunately, recompilation of all COREs id inevitable because we generate hll-config() which incliudes sha sum over all source files used. 13:42
s/id/is/
Geth rakudo: vrurg++ created pull request #3180:
Fix dependencies for CORE.<rev>.setting
13:45
rakudo: d938e2fc77 | (Vadim Belman)++ | tools/templates/Makefile-backend-common.in
Fix dependencies for CORE.<rev>.setting

CORE_ALL_SOURCES is not used anymore.
13:56
rakudo: b6bbc36429 | (Vadim Belman)++ (committed using GitHub Web editor) | tools/templates/Makefile-backend-common.in
Merge pull request #3180 from vrurg/rakudo_3151

Fix dependencies for CORE.<rev>.setting
14:36 hankache left 14:43 anatofuz left 14:45 anatofuz joined 14:49 anatofuz left 14:59 robertle left 15:14 ufobat__ joined 15:18 ufobat_ left 15:43 cognominal joined
cognominal what is the canonical way to test if an argument has been given to a positional parameter? 15:44
oops, either in nqp or Perl 6 15:45
timotimo in nqp we often have a default value that acts as a sentinel
ideally a value that the caller has no access to without doing evil stuff 15:46
see the implementation of QAST nodes for example
hm, i wonder if that's the most performant implementation
cognominal Apparently with no argument, it is bound to []. Which is no different from having [] as an argument
timotimo otherwise you can use slurpy positionals or slurpy captures 15:47
and count the arity
or multi candidates, of course
cognominal My concern is nqp right now. But I don't know for Perl6 either
QAST use slurpy everywhere so I probably will do the same. I can always use a(|@a) to feed it to a slurpy. 15:50
thx timotimo
jnthn m: sub foo(@a = (my $a-missing = True, [])) { say so $a-missing }; foo([1,2,3]); foo();
evalable6 False
True
cognominal n: say(NO_VALUE.HOW.name(NO_VALUE)) 15:54
timotimo are we using the most performant version of optional parameters in QAST nodes, i wonder
all i'd have to do is look at a spesh log 15:55
maybe later.
cognominal n-m: say(NO_VALUE.HOW.name(NO_VALUE))
timotimo nqp: say("hi") 15:56
i think we don't have an nqp evalbot at the moment
cognominal in nqp, using NQPArray as a default parameter is the obvious way. Thx jnthn, timotimo 16:02
nqp is so strange. So powerful, and very unfriendly. 16:06
timotimo yeah, the hope is to keep the nqp compiler small 16:08
i think, at least
cognominal yup, just enough to booststrap Rakudo which means... a lot.
jnthn I figure pretty much all the effort on being friendly goes into Rakudo, which has a vastly largely userbsae 16:10
cognominal I was spoiled by rakudo friendliness so going back to nqp is a setback :) 16:12
MasterDuke cognominal: just idle curiosity, but what's causing the need to go back to nqp? 16:18
cognominal I am writing a nicer text based parse dumper and eventually from json output browsing a parse from a web browser. That would involve a .chunks at nqp level with no match overlap at a given level. 'abc' ~~ / $<abc>=[ a $<b>=b c ] / 16:22
16:23 leont joined
cognominal I already tweaked the parse engine to get the specific matched multi. I will have to tweak EXPR too to get better info 16:24
timotimo is that only for rakudo's parser? 16:25
cognominal It will benefit rakudo as well.
timotimo what do you do if there are legit overlapping matches? like when you capture in a lookahead or lookbehind? 16:26
cognominal If we go crazy with slang we should have a way to correctly highlighy code. So we must have a way to output a usable parse. 16:27
What I will do with overlapping matches is that I push them down the tree and append a dash to show I have cheated. 16:28
I append a dash to the name of the named match. 16:29
16:29 [Tux] left
cognominal In fact this is the code that triggered my question. 16:29
16:43 [Tux] joined 17:27 ggoebel joined
ggoebel in nqp how does one test if a scalar has been declared but not bound? 17:28
timotimo a scalar not being declared is a compile-time error 17:29
are you working with nqp or with nqp ops inside perl6 code?
ggoebel nqp... I'm looking at the self-contained-executable branch and trying to resolve a bug "Error while reading from file: Cannot find method 'slurp' on object of type NQPMu" 17:31
which happens because it is trying to slurp an $in-handle which was declared but never bound to anything... 17:32
timotimo one way is to use nqp::defined
ggoebel thanks! 17:35
17:37 Xliff joined
Xliff . 17:37
Geth nqp: ggoebel++ created pull request #577:
Self contained executable
18:21
18:25 robertle joined 19:38 ufobat__ left 21:16 anatofuz joined 21:27 lucasb left 21:36 pyrimidi_ left 22:00 ggoebel left 22:08 anatofuz left 22:36 anatofuz joined 23:01 anatofuz left 23:03 anatofuz joined 23:06 ggoebel joined 23:12 anatofuz left 23:13 anatofuz joined 23:17 anatofuz left 23:19 anatofuz joined 23:24 anatofuz left 23:25 anatofuz joined 23:27 anatofuz left, anatofuz joined
Geth ¦ problem-solving: vrurg assigned to jnthn Issue A threat of full CORE duplication for each language revision github.com/perl6/problem-solving/issues/104 23:54
23:58 leont left