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| |
|
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
|