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:48
leont left
01:15
fake_space_whale joined
01:16
p6bannerbot sets mode: +v fake_space_whale
01:35
ggoebel left
01:47
ggoebel joined
01:48
p6bannerbot sets mode: +v ggoebel
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 246481f488 | (Zoffix Znet)++ | 30 files Add missing plans to subtests Closes github.com/perl6/roast/issues/485 S#485 |
02:06 | |||||||||||||||||||||||||||||||||||||
synopsebot | S#485 [open]: github.com/perl6/roast/issues/485 [6.d review] Add plans to subtests that are missing them | ||||||||||||||||||||||||||||||||||||||
02:38
PufferBot left
03:32
ufobat___ joined
03:33
p6bannerbot sets mode: +v ufobat___
03:36
ufobat_ left
04:11
fake_space_whale left
04:26
fake_space_whale joined,
p6bannerbot sets mode: +v fake_space_whale
05:19
lizmat left
05:22
lizmat joined,
p6bannerbot sets mode: +v lizmat
05:33
leont joined,
p6bannerbot sets mode: +v leont
06:18
AlexDaniel` left
06:20
AlexDaniel` joined,
p6bannerbot sets mode: +v AlexDaniel`
06:26
leont left
06:36
fake_space_whale left
06:40
AlexDaniel` left
06:47
AlexDaniel` joined,
p6bannerbot sets mode: +v AlexDaniel`
06:57
dct joined,
p6bannerbot sets mode: +v dct
07:06
fake_space_whale joined
07:07
p6bannerbot sets mode: +v fake_space_whale
07:14
dct left
07:31
[TuxCM] joined,
p6bannerbot sets mode: +v [TuxCM]
07:36
lizmat left
08:01
fake_space_whale left
08:03
robertle joined
08:04
p6bannerbot sets mode: +v robertle
08:38
ufobat___ is now known as ufobat
08:51
AlexDaniel` left
08:57
mryan joined,
p6bannerbot sets mode: +v mryan
09:02
AlexDaniel` joined,
p6bannerbot sets mode: +v AlexDaniel`
09:03
mryan left
09:09
dogbert17 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: b685036b94 | (Tom Browder)++ (committed using GitHub Web editor) | docs/rakudo-nqp-and-pod-notes.md add a new trap, reword another |
09:17 | |||||||||||||||||||||||||||||||||||||
rakudo: 1c1527f426 | (Tom Browder)++ (committed using GitHub Web editor) | docs/rakudo-nqp-and-pod-notes.md correct example |
09:33 | ||||||||||||||||||||||||||||||||||||||
09:42
lizmat joined,
p6bannerbot sets mode: +v lizmat
09:58
robertle left
|
|||||||||||||||||||||||||||||||||||||||
tbrowder___ | .ask [Coke] do you know dates for TPC::NA 2019? | 10:11 | |||||||||||||||||||||||||||||||||||||
yoleaux | tbrowder___: I'll pass your message to [Coke]. | ||||||||||||||||||||||||||||||||||||||
11:46
cog left
12:06
robertle joined
12:07
p6bannerbot sets mode: +v robertle
12:18
cog joined
12:19
p6bannerbot sets mode: +v cog
12:25
cog left
12:26
cognominal-p6 joined
12:27
p6bannerbot sets mode: +v cognominal-p6
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Hmm, startup time seems to have gotten worse sometime recently | 13:17 | |||||||||||||||||||||||||||||||||||||
timotimo | wow, yeah, 0.2s instead of the usual 0.1s is what i'm seeing | 13:18 | |||||||||||||||||||||||||||||||||||||
"perf report" shows MVM_string_ascii_encode_substr at a surprisingly high place | 13:22 | ||||||||||||||||||||||||||||||||||||||
i put a breakpoint and got some very long strings that look a bit like base64 perhaps | |||||||||||||||||||||||||||||||||||||||
jnthn | o.O | 13:23 | |||||||||||||||||||||||||||||||||||||
timotimo | at <unknown>:1 (/home/timo/perl6/install/share/nqp/lib/QRegex.moarvm:<dependencies+deserialize>) | ||||||||||||||||||||||||||||||||||||||
const_s, then some invoke, then deserialize | 13:24 | ||||||||||||||||||||||||||||||||||||||
didn't we kick out base64 strings as blobs? | |||||||||||||||||||||||||||||||||||||||
jnthn | Yes | 13:25 | |||||||||||||||||||||||||||||||||||||
Hmm, there's MoarVM commit e92f6572e58f99b8 | |||||||||||||||||||||||||||||||||||||||
timotimo | i believe nine explained what's going on there on IRC around the time of the commit, but i'd expect it's been rebased a few times | 13:26 | |||||||||||||||||||||||||||||||||||||
so you can't find it by id any more, should still be findable based on the comment | |||||||||||||||||||||||||||||||||||||||
jnthn | Well, the code in NQP does this: | 13:27 | |||||||||||||||||||||||||||||||||||||
nqp::isnull_s($serialized) | |||||||||||||||||||||||||||||||||||||||
?? QAST::Op.new( :op('null_s') ) | |||||||||||||||||||||||||||||||||||||||
!! QAST::SVal.new( :value($serialized) ), | |||||||||||||||||||||||||||||||||||||||
That is, checks if there's no base64'd stuff, and if there is, uses the string, otherwise uses null so it will find it in the bytecode file | 13:28 | ||||||||||||||||||||||||||||||||||||||
I'm wondering if the change that's in MoarVM HEAD works out OK with the changes in some NQP branch that switches the code-gen over to the new mechanism, but with NQP master results in it doing this less efficient serialization | 13:29 | ||||||||||||||||||||||||||||||||||||||
In which case I guess that work is close to merge anyway, so "wait a bit" might be a reasonable answer. | |||||||||||||||||||||||||||||||||||||||
timotimo | right | 13:30 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/more-local-lowering: 071854b224 | (Jonathan Worthington)++ | src/Perl6/Optimizer.nqp Remove dead code |
13:31 | |||||||||||||||||||||||||||||||||||||
rakudo/more-local-lowering: f4be43c83a | (Jonathan Worthington)++ | 2 files Work towards more aggressive lexical lowering This starts us down the path of turning "normal" variables into locals, which will not only be a little faster for lookup, but give dynamic optimizers a good bit more to work with too. It will also enable more block flattening. This gets the transformation essentially working, however there's quite a bit of spectest fallout that needs to be investigated yet (most likely with just a few root causes). |
|||||||||||||||||||||||||||||||||||||||
jnthn | Just a rebase :) | ||||||||||||||||||||||||||||||||||||||
timotimo | how old was that code? i don't even remember seeing it the last time | ||||||||||||||||||||||||||||||||||||||
jnthn | I started working on it..hmm, earlier this month? | 13:33 | |||||||||||||||||||||||||||||||||||||
nine | IOW ancient | 13:35 | |||||||||||||||||||||||||||||||||||||
Oh, that base64 stuff was not exactly intentional. A later commit in my branch makes it obsolete anyway. I'll have a look probably tomorrow. | 13:37 | ||||||||||||||||||||||||||||||||||||||
jnthn | nine++ | 13:39 | |||||||||||||||||||||||||||||||||||||
nine | Unfortunately I lost a day because my desktop wouldn't start anymore. Spent hours tinkering with the hardware and only the very last thing I tried before sending the mainboard off to a 4 week long warranty replacement trip brought it back to life - clearing the CMOS | ||||||||||||||||||||||||||||||||||||||
jnthn | Wow | 13:40 | |||||||||||||||||||||||||||||||||||||
timotimo | oh wow | ||||||||||||||||||||||||||||||||||||||
jnthn | 1 day is better than 4 weeks, at least... | ||||||||||||||||||||||||||||||||||||||
timotimo | is that the same thing that lets you b0rk an efi bios by putting something in some register even though the spec allows for it? that's like 2 years old at the very least | ||||||||||||||||||||||||||||||||||||||
nine | Thing just wouldn't turn on anymore. Not even a flicker of one of the LEDs or any movement of a fan. | ||||||||||||||||||||||||||||||||||||||
timotimo | have you ever had a POST card? like that would output the state somehow? | 13:41 | |||||||||||||||||||||||||||||||||||||
nine | Thing is...I didn't do anything :) Turned it off in the morning and when I came back from work it was bricked | ||||||||||||||||||||||||||||||||||||||
The mainboard has it even integrated :) But not even that would turn on | |||||||||||||||||||||||||||||||||||||||
timotimo | wow | ||||||||||||||||||||||||||||||||||||||
jnthn | It's been years since I sent a postcard... | ||||||||||||||||||||||||||||||||||||||
timotimo | try it again, i'm sure people would be delighted to receive one :) | 13:42 | |||||||||||||||||||||||||||||||||||||
"oh how quaint. ol' jonathan has always been into this retro technology" | |||||||||||||||||||||||||||||||||||||||
jnthn | oh ffs | 13:45 | |||||||||||||||||||||||||||||||||||||
sub throws-like($code, $ex_type, $reason?, *%matcher) is export { | |||||||||||||||||||||||||||||||||||||||
... | |||||||||||||||||||||||||||||||||||||||
EVAL $code, context => CALLER::CALLER::CALLER::CALLER::; | 13:46 | ||||||||||||||||||||||||||||||||||||||
Now consider this test: | |||||||||||||||||||||||||||||||||||||||
my $baz of Int; | |||||||||||||||||||||||||||||||||||||||
throws-like q[$baz = 'xyz'], X::TypeCheck::Assignment, 'of Int restricts to integers'; | |||||||||||||||||||||||||||||||||||||||
So, Test.pm6 is using something unsupported. | |||||||||||||||||||||||||||||||||||||||
I bet this is why so many spectests blow up with the new opt | 13:47 | ||||||||||||||||||||||||||||||||||||||
timotimo | hah | ||||||||||||||||||||||||||||||||||||||
should it put a my $context := CALLER::<enough times>::; at the very start of throws-like perhaps? | |||||||||||||||||||||||||||||||||||||||
jnthn | throws-like is from a completely different compilation unit | 13:48 | |||||||||||||||||||||||||||||||||||||
timotimo | well, yeah, but what about inner blocks? | ||||||||||||||||||||||||||||||||||||||
oh, they aren't even considered for CALLER, right? | |||||||||||||||||||||||||||||||||||||||
jnthn | They are but the compiler sees use of CALLER:: and disables all block inlining opts | ||||||||||||||||||||||||||||||||||||||
Lexical use of CALLER:: is fine, we can see it | 13:49 | ||||||||||||||||||||||||||||||||||||||
timotimo | oh, so it's about actually the caller's layout | ||||||||||||||||||||||||||||||||||||||
13:50
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | The lexical to local lowering opt means that the $baz there goes away | 13:50 | |||||||||||||||||||||||||||||||||||||
It doesn't exist as a lexical any more | |||||||||||||||||||||||||||||||||||||||
timotimo | oh! | 13:51 | |||||||||||||||||||||||||||||||||||||
that's what's happening | |||||||||||||||||||||||||||||||||||||||
jeez | |||||||||||||||||||||||||||||||||||||||
jnthn | Things are spec'd so as to make alright | ||||||||||||||||||||||||||||||||||||||
*make this | |||||||||||||||||||||||||||||||||||||||
But Test.pm6 is using a non-spec feature | |||||||||||||||||||||||||||||||||||||||
timotimo | context of EVAL? | 13:52 | |||||||||||||||||||||||||||||||||||||
jnthn | Yes | ||||||||||||||||||||||||||||||||||||||
13:53
lizmat joined,
p6bannerbot sets mode: +v lizmat
|
|||||||||||||||||||||||||||||||||||||||
timotimo | i'm not entirely sure why that uses a string instead of a curly block | 13:54 | |||||||||||||||||||||||||||||||||||||
to prevent the optimizer from complaining early? | |||||||||||||||||||||||||||||||||||||||
jnthn | yeah, I guess | ||||||||||||||||||||||||||||||||||||||
But it could do the EVAL in the curly block | |||||||||||||||||||||||||||||||||||||||
timotimo | not a bad idea i think | 13:55 | |||||||||||||||||||||||||||||||||||||
jnthn | As a hack, I've stuck throws-like into the list of poison calls to see how many spectests still fail | ||||||||||||||||||||||||||||||||||||||
Plenty do, so there's obviously more I need to fix | |||||||||||||||||||||||||||||||||||||||
timotimo | that doesn't sound fun :| | 13:56 | |||||||||||||||||||||||||||||||||||||
jnthn | Why do you think I put off working on this until I really need it to make PEA worthwhile? :P | 13:57 | |||||||||||||||||||||||||||||||||||||
timotimo | it all makes sense | ||||||||||||||||||||||||||||||||||||||
m: say .substr(*-3) ~ .substr(*-6, 3) ~ "t" given "implementor" | 13:58 | ||||||||||||||||||||||||||||||||||||||
camelia | torment | ||||||||||||||||||||||||||||||||||||||
timotimo | m: say .substr(*-3) ~ .substr(*-6, 3) ~ .substr(*-3, 1) given "implementor" | ||||||||||||||||||||||||||||||||||||||
camelia | torment | ||||||||||||||||||||||||||||||||||||||
13:58
Zoffix joined,
p6bannerbot sets mode: +v Zoffix
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | jnthn: FWIW, there's been a ticket about throws-like for ages: RT#128419 | 13:59 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#128419 [new]: rt.perl.org/Ticket/Display.html?id=128419 [BUG] throws-like uses :context CALLER:: that will break soon | ||||||||||||||||||||||||||||||||||||||
jnthn | Hah. D'oh. :) | ||||||||||||||||||||||||||||||||||||||
I wonder how widely the string form of throws-like is used in the ecosystem... | |||||||||||||||||||||||||||||||||||||||
Zoffix | greppable6: throws-like\s+['"qļ½¢] | 14:00 | |||||||||||||||||||||||||||||||||||||
greppable6 | Zoffix, 4 lines, 3 modules: gist.github.com/fbe76050ecc9b8f307...7115d127d6 | ||||||||||||||||||||||||||||||||||||||
jnthn | One person. :P | ||||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: why does greppable put `git@github` stuff in? In makes links unclickable. | 14:01 | |||||||||||||||||||||||||||||||||||||
timotimo | could be based on the meta6 | 14:02 | |||||||||||||||||||||||||||||||||||||
hm, no | |||||||||||||||||||||||||||||||||||||||
"source-url" : "git://github.com/sergot/datetime-parse.git" | |||||||||||||||||||||||||||||||||||||||
that's not a ssh-style url | |||||||||||||||||||||||||||||||||||||||
14:07
Zoffix left
|
|||||||||||||||||||||||||||||||||||||||
[Tux] | Sorry | 14:13 | |||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/more-local-lowering: 853330d7aa | (Jonathan Worthington)++ | src/Perl6/World.nqp Mark our-decls in `our ($a, $b)` form too So they won't be mangled by the optimizer. |
14:14 | |||||||||||||||||||||||||||||||||||||
rakudo/more-local-lowering: bc88e438c1 | (Jonathan Worthington)++ | src/Perl6/Optimizer.nqp Can't lower if `:($a, $b) := $capture` is used Since that uses the signature binder, which needs the real lexicals to bind in to. (In the future, when we're smarter, we might be able to just compile the destructuring rather than interpreting it in the binder, which would get us back to allowing lowering again.) |
14:20 | ||||||||||||||||||||||||||||||||||||||
timotimo | good on you for finding all these rude causes | 14:21 | |||||||||||||||||||||||||||||||||||||
jnthn | Those fixed quite a few of the failures | ||||||||||||||||||||||||||||||||||||||
There's a whole bunch of I/O ones that fail | 14:22 | ||||||||||||||||||||||||||||||||||||||
All looking similar | |||||||||||||||||||||||||||||||||||||||
oh, interesting | 14:24 | ||||||||||||||||||||||||||||||||||||||
my $fh will leave {.close} = open make-temp-file :content<meows>; | |||||||||||||||||||||||||||||||||||||||
I guess things with variable traits applied will indeed need some special handling. | |||||||||||||||||||||||||||||||||||||||
14:34
klapperl joined
14:35
p6bannerbot sets mode: +v klapperl,
klapperl_ left
14:39
klapperl_ joined
14:40
p6bannerbot sets mode: +v klapperl_
14:41
klapperl left,
leont joined
14:42
p6bannerbot sets mode: +v leont
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/more-local-lowering: f2d7269935 | (Jonathan Worthington)++ | 4 files Don't lower lexicals used by traits Otherwise, we break things like `my $x will leave { .close }` style constructs. |
14:49 | |||||||||||||||||||||||||||||||||||||
jnthn | With those fixed, plus the throws-like hack, I'm now down to 3 spectests with complaints | 14:52 | |||||||||||||||||||||||||||||||||||||
timotimo | very good | ||||||||||||||||||||||||||||||||||||||
jnthn | (throws-like hack kept locally) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | Zoffix: it used to work before, I'm not sureā¦ hmm | 14:54 | |||||||||||||||||||||||||||||||||||||
Zoffix: because perl6-all-modules changed: github.com/moritz/perl6-all-module...rAgent.pm6 | 14:57 | ||||||||||||||||||||||||||||||||||||||
github.com/moritz/perl6-all-module...ter/github | |||||||||||||||||||||||||||||||||||||||
:S | 14:58 | ||||||||||||||||||||||||||||||||||||||
moritz: ā any idea? | |||||||||||||||||||||||||||||||||||||||
moritz | AlexDaniel: about what? is there something wrong? | 15:02 | |||||||||||||||||||||||||||||||||||||
timotimo | why everything is called [email@hidden.address] | 15:10 | |||||||||||||||||||||||||||||||||||||
moritz | ah, likely a programming error | 15:11 | |||||||||||||||||||||||||||||||||||||
lizmat | m: my %m is Map = a => { b => 42 }; dd %m; %m<a><b> = 666; dd %m # feels to me that should die | 15:12 | |||||||||||||||||||||||||||||||||||||
camelia | Map.new((:a({:b(42)}))) Map.new((:a({:b(666)}))) |
||||||||||||||||||||||||||||||||||||||
timotimo | deep immutability is Really Hardā¢ | ||||||||||||||||||||||||||||||||||||||
jnthn | But Map doesn't promise that :) | ||||||||||||||||||||||||||||||||||||||
lizmat | well, atm this is perhaps also a syntax thing | ||||||||||||||||||||||||||||||||||||||
jnthn | And { b => 42 } is quite clearly a mutable Hash | ||||||||||||||||||||||||||||||||||||||
timotimo | right | 15:13 | |||||||||||||||||||||||||||||||||||||
do we want syntax for a map literal? like we do for object hashes? | |||||||||||||||||||||||||||||||||||||||
lizmat | but we don't have syntax for a Map | ||||||||||||||||||||||||||||||||||||||
well, perhaps we do ? | |||||||||||||||||||||||||||||||||||||||
moritz | Map.new | ||||||||||||||||||||||||||||||||||||||
jnthn | m: my %m is Map = a => Map(b => 42); dd %m; %m<a><b> = 666; dd %m | ||||||||||||||||||||||||||||||||||||||
camelia | Cannot coerce to Map with named arguments in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
jnthn | m: my %m is Map = a => Map((b => 42)); dd %m; %m<a><b> = 666; dd %m | ||||||||||||||||||||||||||||||||||||||
camelia | Map.new((:a(Map.new((:b(42)))))) Cannot change key 'b' in an immutable Map in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
jnthn | m: my %m is Map = a => (b => 42).Map; dd %m; %m<a><b> = 666; dd %m | ||||||||||||||||||||||||||||||||||||||
camelia | Map.new((:a(Map.new((:b(42)))))) Cannot change key 'b' in an immutable Map in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
lizmat | yeah, I realize I can do that... | 15:14 | |||||||||||||||||||||||||||||||||||||
still, for initializing multi-level Map's, that's sorta LTA | |||||||||||||||||||||||||||||||||||||||
moritz | timotimo, AlexDaniel: fix forthcoming | ||||||||||||||||||||||||||||||||||||||
lizmat | I guess this looks like module space and a "is immutable" trait :-) | 15:16 | |||||||||||||||||||||||||||||||||||||
timotimo | immumap | 15:19 | |||||||||||||||||||||||||||||||||||||
lizmat | it would also do arrays: modules.perl6.org/dist/Tuple:cpan:ELIZABETH | ||||||||||||||||||||||||||||||||||||||
hmmm... bad news: a violation of contract: | 15:21 | ||||||||||||||||||||||||||||||||||||||
m: my %m is Map = a => { b => 42 }; dd %m.WHICH; %m<a><b> = 666; dd %m.WHICH | |||||||||||||||||||||||||||||||||||||||
camelia | ValueObjAt.new("Map|48F9E6CA8891782BD4CA62AB57C97BE3FED940B2") ValueObjAt.new("Map|29DFBC4D51E71664D7DF9C4CDB232F3E227A9CE9") |
||||||||||||||||||||||||||||||||||||||
lizmat | a changing value type :-( | ||||||||||||||||||||||||||||||||||||||
timotimo | probably difficult to make that work properly | 15:23 | |||||||||||||||||||||||||||||||||||||
15:23
fake_space_whale joined
|
|||||||||||||||||||||||||||||||||||||||
timotimo | only create a ValueObjAt if it's been constructed from only ValueObjAt instances | 15:24 | |||||||||||||||||||||||||||||||||||||
as soon as one thing no matter how deep in the hierarchy goes in that isn't a ValueObjAt, "infect" the tree upwards and have it result in an ObjAt instead? | |||||||||||||||||||||||||||||||||||||||
15:24
p6bannerbot sets mode: +v fake_space_whale
|
|||||||||||||||||||||||||||||||||||||||
lizmat | yeah, yuk :-( | 15:26 | |||||||||||||||||||||||||||||||||||||
nine | rakudo startup performance should be restored with latest moar | 15:27 | |||||||||||||||||||||||||||||||||||||
timotimo | glad to hear it :) | 15:28 | |||||||||||||||||||||||||||||||||||||
lizmat | jnthn: are we fine with Map sometimes being a value type, and sometimes not, depending on contents ? | 15:36 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | moritz: cool, thanks! | 15:37 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 4e0a1c2432 | (Elizabeth Mattijsen)++ | src/core/Map.pm6 Map.WHICH only value type if all its elements are As soon as a value is encountered that is not a ValueObjAt, revert to Mu::WHICH. Fixed R#2447 |
15:48 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2447 [open]: github.com/rakudo/rakudo/issues/2447 Map can have a changing ValueObjAt | ||||||||||||||||||||||||||||||||||||||
jnthn | lizmat: I'm not so keen on that | 15:52 | |||||||||||||||||||||||||||||||||||||
Though may be even less keen on alternatives :P | 15:53 | ||||||||||||||||||||||||||||||||||||||
lizmat | well, *if* we're going to do this, then we could also do it for List.WHICH | 15:54 | |||||||||||||||||||||||||||||||||||||
jnthn | I don't think a type changing its value nature based on content is right | ||||||||||||||||||||||||||||||||||||||
lizmat | which would solve a lot of issues for some people and remove one of the reasons for the existence of Tuple | ||||||||||||||||||||||||||||||||||||||
jnthn | It feels rather too unpredictable | 15:55 | |||||||||||||||||||||||||||||||||||||
lizmat | true | ||||||||||||||||||||||||||||||||||||||
jnthn | Plus it's actually OK to have a value type refer to things that are reference types and just care about their object identity | ||||||||||||||||||||||||||||||||||||||
lizmat | perhaps we need a fully immutable Tuple type, and a fully immutable Dict type ? | ||||||||||||||||||||||||||||||||||||||
jnthn | For example, storing tuples of two objects | ||||||||||||||||||||||||||||||||||||||
lizmat | why would that be ok ? | 15:56 | |||||||||||||||||||||||||||||||||||||
if you change one of the objects, shouldn't that change the WHICH of the tuple ? | 15:57 | ||||||||||||||||||||||||||||||||||||||
jnthn | No | 16:00 | |||||||||||||||||||||||||||||||||||||
Not if the objects are reference types | |||||||||||||||||||||||||||||||||||||||
Imagine my objects are nodes and I want to have a set of arrows between them | |||||||||||||||||||||||||||||||||||||||
Geth | nqp: 21b7d3c506 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/MOAR_REVISION [MoarVM Bump] Brings 8 commits MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...g318e1ec55 318e1ec55 Revert "Have nqp::serialize always return the serialized data" fb57d40b8 Fix some format directives add43502e prof: log parent thread id in thread creation acb5000bf call node's first entry time should be relative 5e142f46a expose a thread's start time 3eadf7653 expose first entry time in profiler data 543f53aad store time of "first ever entry" of call nodes a4d4c95d4 factor out profile call node creation |
16:01 | |||||||||||||||||||||||||||||||||||||
Ā¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...g318e1ec55 | |||||||||||||||||||||||||||||||||||||||
rakudo: b8176dc5bf | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/NQP_REVISION [NQP Bump] Brings 18 commits NQP bump brought: github.com/perl6/nqp/compare/2018....g21b7d3c50 21b7d3c50 [MoarVM Bump] Brings 8 commits 18df0daf0 throw out silly debug print 8d4d1e756 expose thread's parent thread id in profile 85187cee2 make sure to stringify thread start time ... (14 more lines) |
|||||||||||||||||||||||||||||||||||||||
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....g21b7d3c50 052067fd13 | (Elizabeth Mattijsen)++ | src/core/Map.pm6 Always use the .WHICH of objects in the map to create the value type .WHICH. Since the .WHICH is supposed to be immutable for an object even if it is not a value type, this can create a stable .WHICH for a Map, even though it still be mutable at a deeper level. |
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | Zoffix: hmmm these bumps look a bit wrong to me | 16:02 | |||||||||||||||||||||||||||||||||||||
some pre-release commits there | |||||||||||||||||||||||||||||||||||||||
the description I mean, the bumps themselves are ok | 16:03 | ||||||||||||||||||||||||||||||||||||||
lizmat | jnthn: should (1, 42) be a value type? (1,my $ = 42) ? (1,Node.new()) ? | 16:04 | |||||||||||||||||||||||||||||||||||||
jnthn | lizmat: Given we don't consider List to be one, then no | ||||||||||||||||||||||||||||||||||||||
That's entirely what I'm arguing :) | 16:05 | ||||||||||||||||||||||||||||||||||||||
If we had a Tuple type, then the answer for all the above would be "yes" if those we made as tuples instead. | |||||||||||||||||||||||||||||||||||||||
lizmat | ok, how about Map (which we *do* consider to be a value type atm) | ||||||||||||||||||||||||||||||||||||||
jnthn | I'm not convinced it should be one, tbh | 16:06 | |||||||||||||||||||||||||||||||||||||
lizmat | dindins& | ||||||||||||||||||||||||||||||||||||||
16:17
Zoffix joined,
p6bannerbot sets mode: +v Zoffix
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: like which commits? | 16:17 | |||||||||||||||||||||||||||||||||||||
AlexDaniel: it uses git log --oneline "$before...$after" | 16:18 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | hmm maybe you're right | 16:21 | |||||||||||||||||||||||||||||||||||||
ok let's see | 16:22 | ||||||||||||||||||||||||||||||||||||||
Zoffix g2g | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | github.com/rakudo/rakudo/commit/b8...d00ef80ccf | ||||||||||||||||||||||||||||||||||||||
16:22
Zoffix left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | so it should be commits after 2018.10, right? | 16:22 | |||||||||||||||||||||||||||||||||||||
O_o | 16:23 | ||||||||||||||||||||||||||||||||||||||
OK nevermind I was looking at an old bump | |||||||||||||||||||||||||||||||||||||||
haha | |||||||||||||||||||||||||||||||||||||||
16:29
robertle left
16:47
[TuxCM] left
16:52
travis-ci joined,
p6bannerbot sets mode: +v travis-ci
|
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Map.WHICH only value type if all its elements are | 16:52 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/448406297 github.com/rakudo/rakudo/compare/1...0a1c243210 | |||||||||||||||||||||||||||||||||||||||
16:52
travis-ci left
|
|||||||||||||||||||||||||||||||||||||||
buggable | [travis build above] ā Did not recognize some failures. Check results manually. | 16:52 | |||||||||||||||||||||||||||||||||||||
17:05
robertle joined
17:06
p6bannerbot sets mode: +v robertle
17:11
cognominal-p6 left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | m: my %m is Map = a => (my $ = 42); %m<a> = 67 # jnthn, do you think this is correct ? | 17:20 | |||||||||||||||||||||||||||||||||||||
camelia | Cannot change key 'a' in an immutable Map in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
timotimo | i got rid of moarperf's silly requirement for the user to sometimes click "load this data" buttons | 17:32 | |||||||||||||||||||||||||||||||||||||
japhb | timotimo++ | 17:40 | |||||||||||||||||||||||||||||||||||||
timotimo | i still have an ungodly combination of pure react with setState and react/redux | ||||||||||||||||||||||||||||||||||||||
japhb | The devil is in the details, I suppose | 17:41 | |||||||||||||||||||||||||||||||||||||
17:48
ufobat left
|
|||||||||||||||||||||||||||||||||||||||
synopsebot | R#2447 [open]: github.com/rakudo/rakudo/issues/2447 Map can have a changing ValueObjAt | ||||||||||||||||||||||||||||||||||||||
timotimo | do you do anything with react? | ||||||||||||||||||||||||||||||||||||||
Geth | roast: 49795d8724 | (Elizabeth Mattijsen)++ | S32-hash/map.t Add test for R#2447 |
17:56 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2447 [closed]: github.com/rakudo/rakudo/issues/2447 Map can have a changing ValueObjAt | ||||||||||||||||||||||||||||||||||||||
timotimo | method digit ($/) { @!numbers[*-1] ~= $/.ord.&[+](2358).chr } | 18:12 | |||||||||||||||||||||||||||||||||||||
^- does the language page on grammars really need to write it this concisely? | |||||||||||||||||||||||||||||||||||||||
like, .&[+] is pretty advanced, and probably not easy to find in the docs themselves | |||||||||||||||||||||||||||||||||||||||
lizmat | yeah, I guess that's one of those cases where people were trying to show off :-) | 18:13 | |||||||||||||||||||||||||||||||||||||
timotimo | yeah | 18:14 | |||||||||||||||||||||||||||||||||||||
BBL | 18:15 | ||||||||||||||||||||||||||||||||||||||
18:46
j3nnn1 joined,
p6bannerbot sets mode: +v j3nnn1
|
|||||||||||||||||||||||||||||||||||||||
lizmat | m: class Axe { has $.x = 666 }; say Axe.new.perl # shouldn't that need to be "Axe.new" ? | 19:49 | |||||||||||||||||||||||||||||||||||||
camelia | Axe.new(x => 666) | ||||||||||||||||||||||||||||||||||||||
lizmat | aka, shouldn't the default .perl look at the value and if it is eqv to the default, not show the parameter ? | ||||||||||||||||||||||||||||||||||||||
or is that taking it too far? | 19:50 | ||||||||||||||||||||||||||||||||||||||
19:51
AlexDaniel left,
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel
|
|||||||||||||||||||||||||||||||||||||||
Geth | star/2018.10: fba8e2c456 | (Steve Mynott)++ | 3 files remove panda-stub #118 |
19:51 | |||||||||||||||||||||||||||||||||||||
19:52
AlexDaniel left
|
|||||||||||||||||||||||||||||||||||||||
Geth | star/2018.10: 6fe562ca06 | (Steve Mynott)++ | ports/win32/panda.bat remove window's panda.bat |
19:53 | |||||||||||||||||||||||||||||||||||||
star/2018.10: 68ff8e6bc5 | (Steve Mynott)++ | docs/announce/2018.10.md import draft announce |
20:01 | ||||||||||||||||||||||||||||||||||||||
lizmat | ++stmuk_ | 20:03 | |||||||||||||||||||||||||||||||||||||
20:07
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel,
cognominal-p6 joined
20:08
p6bannerbot sets mode: +v cognominal-p6
20:15
cognominal-p6 left,
cognominal-p6 joined
20:16
p6bannerbot sets mode: +v cognominal-p6
20:35
cognominal-p6 left
20:44
ufobat joined
20:45
p6bannerbot sets mode: +v ufobat
|
|||||||||||||||||||||||||||||||||||||||
ufobat | does anyone still has an idea regarding stackoverflow.com/questions/530621...6-with-cro because it just doesn't work on my box :( | 20:58 | |||||||||||||||||||||||||||||||||||||
oups wrong channel | |||||||||||||||||||||||||||||||||||||||
21:02
AlexDaniel left
21:03
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel
21:22
AlexDaniel left,
AlexDaniel joined,
p6bannerbot sets mode: +v AlexDaniel
21:28
robertle left
|
|||||||||||||||||||||||||||||||||||||||
samcv | .tell Zoffix I will update it soonish. on vacation atm, but should have some time to do it in the next few days | 22:06 | |||||||||||||||||||||||||||||||||||||
yoleaux | 29 Oct 2018 10:49Z <Zoffix> samcv: would you be able to changelog log 6.d Unicode-related changes and collation stuff? It's over my head and I don't know how to document it all properly: github.com/perl6/6.d-prep/blob/mas...angeLog.md | ||||||||||||||||||||||||||||||||||||||
samcv: I'll pass your message to Zoffix. | |||||||||||||||||||||||||||||||||||||||
22:15
ufobat left
22:28
dct joined,
p6bannerbot sets mode: +v dct
22:44
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke
22:45
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
22:48
cognominal-p6 joined,
p6bannerbot sets mode: +v cognominal-p6
22:58
fake_space_whale left
23:28
dct left
|