Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_logs/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm Set by AlexDaniel on 12 June 2018. |
|||||||||||||||||||||||||||||||||||||||
00:04
entonian left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/car-grant-constants: 60447c6267 | (Zoffix Znet)++ | src/core/Map.pm6 [CaR Grant] Make Map.list return a List instead of Seq Partially fixes R#1344 github.com/rakudo/rakudo/issues/1344 Since (per discussion on the Issue) a Seq is not a "list", the .list/.cache methods need to return a Positional. This commit is required for the grant to have proper coersion+typecheck on `@`-sigilled constants. The rest of the Issue still requires filling in the gaps in positional slurpy semantics ( R#1355 github.com/rakudo/rakudo/issues/1355 ) |
00:43 | |||||||||||||||||||||||||||||||||||||
synopsebot_ | R#1344 [open]: github.com/rakudo/rakudo/issues/1344 [@LARRY] What is a "list"? | ||||||||||||||||||||||||||||||||||||||
synopsebot_ | R#1355 [open]: github.com/rakudo/rakudo/issues/1355 +@a/+a slurpies produce inconsistent results | ||||||||||||||||||||||||||||||||||||||
roast/car-grant-constants: 1ccc16134e | (Zoffix Znet)++ | S02-types/hash.t [CaR Grant] Spec Map/Hash.list/.cache return a List R#1344 github.com/rakudo/rakudo/issues/1344 Rakudo fix: github.com/rakudo/rakudo/commit/60447c6267 |
00:44 | ||||||||||||||||||||||||||||||||||||||
lizmat | dinner& | 00:51 | |||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: 30ce60e070 | (Zoffix Znet)++ | S04-declarations/constant-6.d.t [CaR Grant] Expand spec of @-sigilled constants - Spec throwage on attempts to parametarize - Spec coercion |
01:02 | |||||||||||||||||||||||||||||||||||||
01:08
Kaiepi left
01:09
ufobat_ left
01:25
llfourn joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: jstuder-gh++ created pull request #1928: Issue 1891: Add role to Signal for custom zero logic |
01:25 | |||||||||||||||||||||||||||||||||||||
01:45
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
hoelzro | bisectable6: old=2014.09 my $foobar; say "$foobar"; CONTROL { exit 0 if $_ ~~ /foobar/; exit 1} | 02:23 | |||||||||||||||||||||||||||||||||||||
bisectable6 | hoelzro, Bisecting by output (old=2014.09 new=b34d523) because on both starting points the exit code is 0 | ||||||||||||||||||||||||||||||||||||||
hoelzro, bisect log: gist.github.com/56395b053810b96629...f08692c47c | |||||||||||||||||||||||||||||||||||||||
hoelzro, (2015-01-12) github.com/rakudo/rakudo/commit/0a...b59e4e1e8d | |||||||||||||||||||||||||||||||||||||||
hoelzro | bisectable6: old=2014.09 my $foobar; say "$foobar"; | ||||||||||||||||||||||||||||||||||||||
bisectable6 | hoelzro, Bisecting by output (old=2014.09 new=b34d523) because on both starting points the exit code is 0 | ||||||||||||||||||||||||||||||||||||||
hoelzro, bisect log: gist.github.com/7f7ac288f3f6c2dc04...ad9c6c6b39 | 02:24 | ||||||||||||||||||||||||||||||||||||||
hoelzro, (2015-04-30) github.com/rakudo/rakudo/commit/64...241a0472bb | |||||||||||||||||||||||||||||||||||||||
Zoffix | /o\ | 02:29 | |||||||||||||||||||||||||||||||||||||
Any:U.hash returns an empty list | |||||||||||||||||||||||||||||||||||||||
which means `constant %foo = class {}` would silently create `%foo` which is an empty `Map` | 02:30 | ||||||||||||||||||||||||||||||||||||||
s/list/hash/; | |||||||||||||||||||||||||||||||||||||||
Also, inconsistency: .list returns a List, while .hash returns a Hash. | 02:31 | ||||||||||||||||||||||||||||||||||||||
(inconsistency being: when we have a choice to return whatever, we're returning an immutable ancestor in one case and mutable subclass in the other) | 02:32 | ||||||||||||||||||||||||||||||||||||||
02:42
Kaiepi left
02:46
perlpilot left
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | "@rustlang doc comment system is the best I have seen. Makes you look like you a professional or something." twitter.com/jackmott42/status/1008...5037304832 | 02:52 | |||||||||||||||||||||||||||||||||||||
And looks like it's just a simple special comment where you type markdown. The real awesomeness lies in the HTML generator | 02:53 | ||||||||||||||||||||||||||||||||||||||
I bet we could do a better thing. We already have supperiour markup, just need to make a better HTML generator for it :) | |||||||||||||||||||||||||||||||||||||||
(and yeah, I said Markdown > Pod6 in the past, but in this case linkage the L<> can do is more valuable, giving Pod6 an edge) | 02:54 | ||||||||||||||||||||||||||||||||||||||
crap meant to type that in #perl6 to snag a potential volunteer.... | 02:55 | ||||||||||||||||||||||||||||||||||||||
Oh well :) | |||||||||||||||||||||||||||||||||||||||
03:08
Zoffix left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: ce969de416 | (Zoffix Znet)++ | S04-declarations/constant-6.d.t [CaR Grant] Expand spec %-sigiled constants - Spec coersion - Spec throwage on parametarization |
03:12 | |||||||||||||||||||||||||||||||||||||
03:17
Kaiepi joined
03:35
Kaiepi left
03:36
Kaiepi joined
04:32
ZofBot joined,
ChanServ sets mode: +v ZofBot
04:39
ZofBot left,
ZofBot joined,
ChanServ sets mode: +v ZofBot
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: 49a6c5ebbe | (Zoffix Znet)++ | S04-declarations/constant-6.d.t [CaR Grant] Fix ups for new constant tests Formatting/missing `constant` declarators |
04:54 | |||||||||||||||||||||||||||||||||||||
04:54
Zoffix joined
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | Yeah it was on mine. I remember you saying it | 04:55 | |||||||||||||||||||||||||||||||||||||
nm | |||||||||||||||||||||||||||||||||||||||
05:45
Kaiepi left
05:49
PufferBot joined
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | What was the nqp op to see if a thing is a native type? | 06:36 | |||||||||||||||||||||||||||||||||||||
nqp::objprimspec | 06:37 | ||||||||||||||||||||||||||||||||||||||
07:23
[TuxCM] joined
|
|||||||||||||||||||||||||||||||||||||||
[TuxCM] |
|
07:40 | |||||||||||||||||||||||||||||||||||||
yoleaux | 16 Jun 2018 21:08Z <nine> [TuxCM]: Even with Inline::Perl5 0.35? | ||||||||||||||||||||||||||||||||||||||
zef update, so probably, yes | 07:41 | ||||||||||||||||||||||||||||||||||||||
08:02
[TuxCM] left
08:37
[TuxCM] joined
08:48
[TuxCM] left
08:50
dct joined
09:24
ufobat_ joined
09:40
dct left
09:46
pmurias joined
|
|||||||||||||||||||||||||||||||||||||||
pmurias | jnthn: do you import nqp-j into IntelliJ when working on it? (I'm giving IntelliJ a try) | 09:47 | |||||||||||||||||||||||||||||||||||||
12:28
AlexDaniel left
|
|||||||||||||||||||||||||||||||||||||||
tbrowder_ | m: say “\x[a2]” | 12:31 | |||||||||||||||||||||||||||||||||||||
camelia | ¢ | ||||||||||||||||||||||||||||||||||||||
tbrowder_ | can anyone please explain what that character is being used as a variable (with a $ sigil) for in src/Perl6/*.nqp? also, | 12:33 | |||||||||||||||||||||||||||||||||||||
“that character” is the CENT SIGN | 12:34 | ||||||||||||||||||||||||||||||||||||||
also, where is it defined? | 12:35 | ||||||||||||||||||||||||||||||||||||||
thanks | |||||||||||||||||||||||||||||||||||||||
12:48
[TuxCM] joined
|
|||||||||||||||||||||||||||||||||||||||
timotimo | it's short for $/.CURSOR | 13:02 | |||||||||||||||||||||||||||||||||||||
but since match and cursor have been merged, i think it's not necessary any more? | |||||||||||||||||||||||||||||||||||||||
jnthn | pmurias: No; the tweaks I've been doing of late are pretty tiny, thugh I probably would if I had to write any real amount of code. :) | 13:09 | |||||||||||||||||||||||||||||||||||||
13:38
dct joined
13:54
dct left
13:56
AlexDaniel joined
14:10
AlexDaniel left
14:39
lizmat left
14:48
lizmat joined
14:53
lizmat left,
lizmat joined
|
|||||||||||||||||||||||||||||||||||||||
tbrowder_ | timotimo: thanks. | 15:16 | |||||||||||||||||||||||||||||||||||||
15:18
skids joined
15:33
dct joined
15:41
dct left
15:54
MasterDuke left
16:02
MasterDuke joined
16:13
AlexDaniel joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | Is there any solution to R#1891 that is better than R#1928 ? | 16:22 | |||||||||||||||||||||||||||||||||||||
synopsebot_ | R#1891 [open]: github.com/rakudo/rakudo/issues/1891 [regression][⚠ blocker ⚠] Signal(0) gives FreeBSD signals on Linux | ||||||||||||||||||||||||||||||||||||||
R#1928 [open]: github.com/rakudo/rakudo/pull/1928 Issue 1891: Add role to Signal for custom zero logic | |||||||||||||||||||||||||||||||||||||||
geekosaur | if it works... | 16:28 | |||||||||||||||||||||||||||||||||||||
I could argue that "foreign" signals should be a different enum, which causes its elements to be (subclasses of?) Failure | 16:29 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 5603771fda | (Jeremy Studer)++ | 2 files Add role to Signal for custom zero logic We want to be able to take advantage of the powerful functionality of Enumerations, but also implement custom logic in the class. Enter roles. Add a role to the Signal class (created via enum keyword earlier in the unit) to implement custom handling of zero values (to the type object acting as a sub). jnthn++ for role suggestion. |
16:37 | |||||||||||||||||||||||||||||||||||||
rakudo: bfcfa5da2a | (Jeremy Studer)++ | src/core/signals.pm6 Allow types coercable to Int in Signally role AlexDaniel++ for pointing this out |
|||||||||||||||||||||||||||||||||||||||
rakudo: 5a6ff4073d | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | 2 files Merge pull request #1928 from jstuder-gh/signally_role_zero_logic Issue 1891: Add role to Signal for custom zero logic |
|||||||||||||||||||||||||||||||||||||||
16:48
AlexDaniel left,
AlexDaniel joined
17:02
MasterDuke left
17:11
MasterDuke joined
17:39
dct joined
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | m: my int constant PICK_CHAIN_BY_NAME = 0; multi foo (int) { say "in" }; foo PICK_CHAIN_BY_NAME | 18:06 | |||||||||||||||||||||||||||||||||||||
camelia | Cannot resolve caller foo(Int); none of these signatures match: (int) in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
Zoffix | Looks like some perf improvement in PseudoStash will occur soon, 'cause it got a bunch of `my int constant` but we currently ignore the type so those ain't native ATM | 18:07 | |||||||||||||||||||||||||||||||||||||
m: my $a := 4; my $b := 8; { for ^10000_000 { my $ = $a +| $b; Nil; }; say now - ENTER now } | 18:08 | ||||||||||||||||||||||||||||||||||||||
camelia | 1.2266776 | ||||||||||||||||||||||||||||||||||||||
Zoffix | m: my int $a = 4; my int $b = 8; { for ^10000_000 { my $ = $a +| $b; Nil; }; say now - ENTER now } | ||||||||||||||||||||||||||||||||||||||
camelia | 0.69476671 | ||||||||||||||||||||||||||||||||||||||
Zoffix | 10M... guess no observable improvement will be seen :) | 18:09 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: zoffixznet self-assigned Native-typed constants NYI github.com/rakudo/rakudo/issues/1932 jstuder-gh++ created pull request #1933: Issue 1891 Continued: Add special case for Inf in Signally CALL-ME |
18:11 | |||||||||||||||||||||||||||||||||||||
18:18
dct left
|
|||||||||||||||||||||||||||||||||||||||
timotimo | just made a random SDL2_raw example 2.5x faster by replacing a "state $counter" inside a routine with a "my int $counter" outside of it | 18:20 | |||||||||||||||||||||||||||||||||||||
Zoffix | cool... but that's no longer `state`? | 18:22 | |||||||||||||||||||||||||||||||||||||
timotimo | it's equivalent in this case | 18:23 | |||||||||||||||||||||||||||||||||||||
because the outside is actually the program's mainline | |||||||||||||||||||||||||||||||||||||||
timotimo | another 2x improvement in another script | 18:32 | |||||||||||||||||||||||||||||||||||||
Zoffix stares at github.com/perl6/roast/blob/6.c-er...#L149-L150 | 18:33 | ||||||||||||||||||||||||||||||||||||||
It clearly *doesn't* work :P | 18:34 | ||||||||||||||||||||||||||||||||||||||
m: my Num constant baz = 42; | |||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
Zoffix | $ ./perl6 -e 'my Num constant baz = 42;' | ||||||||||||||||||||||||||||||||||||||
===SORRY!=== Error while compiling -e | |||||||||||||||||||||||||||||||||||||||
Type check failed in constant declaration of baz; expected Num but got Int (Int) | |||||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: ae2eb4a16e | (Zoffix Znet)++ | S04-declarations/constant.t Remove traling whitespace |
18:35 | |||||||||||||||||||||||||||||||||||||
roast/car-grant-constants: df4acccf94 | (Zoffix Znet)++ | S04-declarations/constant.t [CaR Grant] Fix incorrect typed constant test The test declares a constant of type `Num` but tries to assign a value of type `Int` to it. The only reason this test didn't explode in the past was because type constraints on constants weren't plugged into anything and were entirely ignored. Fix test by using correct type of the value. Extra 6.d tests in S04-declarations/constant-6.d.t (master branch) also test the typecheck failure when types do not match. |
18:38 | ||||||||||||||||||||||||||||||||||||||
Zoffix | |7d cherry-pick to 6.c-errata: github.com/perl6/roast/commit/df4acccf94 | ||||||||||||||||||||||||||||||||||||||
ZofBot | Zoffix, Will remind you on 2018-06-24T14:38:31.544734-04:00 about cherry-pick to 6.c-errata: github.com/perl6/roast/commit/df4acccf94 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/home-precomp-with-fix: 4e782f6b75 | (Rob Hoelz)++ | src/core/CompUnit/RepositoryRegistry.pm6 Prepend inst# to home when setting up repositories The keys to the $repos hash are in the form of inst#/path/to/repo (among others), but $home was just the path before this change, causing all nqp::atkey($repos, $home) calls to come back as null |
18:39 | |||||||||||||||||||||||||||||||||||||
rakudo: hoelzro++ created pull request #1934: Prepend inst# to home when setting up repositories |
|||||||||||||||||||||||||||||||||||||||
rakudo/car-grant-constants: 0e2a7d93cb | (Zoffix Znet)++ | src/Perl6/World.nqp Make safely_stringify routine safer Right now it doesn't check whether the Int/Str/List objects are actually instances before trying to unbox them or peek at their attributes, which causes explosions if the exception being stringified has one of those types objects as a value. Fix by printing '(Int)'/'(Str)'/'(List)' if the things are type objects and aren't instances. |
18:42 | ||||||||||||||||||||||||||||||||||||||
samcv | REPL seems broken on jvm | 18:44 | |||||||||||||||||||||||||||||||||||||
Zoffix | What's the error? | ||||||||||||||||||||||||||||||||||||||
samcv | unless more recent changes have happened since a few days ago at least | 18:45 | |||||||||||||||||||||||||||||||||||||
no error | |||||||||||||||||||||||||||||||||||||||
i type: "my $foo = 10" press enter and then it does nothing | |||||||||||||||||||||||||||||||||||||||
Zoffix | I think I pushed a change like 1 or 2 days ago | ||||||||||||||||||||||||||||||||||||||
Oh, that went into post-rlease branch tho | 18:46 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: multi sub foo(Int() $x) { say ‘hmmm’ }; say foo Inf | 18:48 | |||||||||||||||||||||||||||||||||||||
camelia | hmmm True |
||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: multi sub foo(Int() $x) { say $x }; say foo Inf | ||||||||||||||||||||||||||||||||||||||
camelia | Cannot convert Inf to Int: in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
AlexDaniel | is that right? | ||||||||||||||||||||||||||||||||||||||
Zoffix | m: say Inf.Int.^name | 18:49 | |||||||||||||||||||||||||||||||||||||
camelia | Failure | ||||||||||||||||||||||||||||||||||||||
geekosaur | Inf is a floating point thing, isn't it? out of range for Int | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | yes but it goes into that candidate | 18:50 | |||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: more or less yeah. It's just we currently don't check the coerced value is of the right type, so it fails to detect that it got a Failure and not an Int | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: 2ac63b49f2 | (Samantha McVey)++ | tools/build/MOAR_REVISION Bump MoarVM to get native int lexpad fixes Changes: 2018.05-124-g4eda279b5..2018.05-131-g9fb02c950 44f17cea3 Fix a comment in MVMContext 1085a51e0 Allow MVMContext atkey to work on all sizes of native ints 9c48a675f Add support for all native int types to getlexref_ni d8b729d8e Add new atkey_u op ccb84367d Add support for all native int's in lexprimspec bbf38a97b Flesh out compare-oplist-interp-order.sh a bit more |
||||||||||||||||||||||||||||||||||||||
nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...g9fb02c950 0d7af14e99 | (Samantha McVey)++ | 12 files Implement the new atkey_u op so we can properly get these native types from the lexical pad. Also update stage3 .moarvm files. |
|||||||||||||||||||||||||||||||||||||||
nqp: ec508f9548 | (Samantha McVey)++ | docs/ops.markdown Add documentation on atkey_u newly added op |
18:53 | ||||||||||||||||||||||||||||||||||||||
rakudo: 8921cea954 | (Samantha McVey)++ | tools/build/NQP_REVISION Bump NQP/Moar to get native int lexpad fixes Changes: 2018.05-83-gc8519b79d..2018.05-86-gec508f954 ec508f954 Add documentation on atkey_u newly added op 0d7af14e9 Fix Unhandled lexical type error w/ native int's and Rakudo REPL 2ac63b49f Bump MoarVM to get native int lexpad fixes |
18:54 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....gec508f954 | |||||||||||||||||||||||||||||||||||||||
samcv | so now native int's work properly in repl without giving Unhandled lexical type 'int8' in lexprimspec for '$foo' | 18:55 | |||||||||||||||||||||||||||||||||||||
Zoffix | samcv++ | ||||||||||||||||||||||||||||||||||||||
samcv | though for uint's it now gives a new error | ||||||||||||||||||||||||||||||||||||||
No such method 'perl' for invocant of type 'Perl6::Compiler' | |||||||||||||||||||||||||||||||||||||||
doing: `my uint $foo = 10` then after that just typing `$foo` and pressing enter | 18:56 | ||||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: RT#132980 | ||||||||||||||||||||||||||||||||||||||
synopsebot_ | RT#132980 [open]: rt.perl.org/Ticket/Display.html?id=132980 Coercion type apparently does not check the actual type of the coerced value | ||||||||||||||||||||||||||||||||||||||
samcv | not sure where to go about trying to find that issue though | 18:58 | |||||||||||||||||||||||||||||||||||||
how can i trace where that exception comes from? | |||||||||||||||||||||||||||||||||||||||
and i think it must be handled in the repl somewhere i guess? | |||||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: 943b0dce43 | (Zoffix Znet)++ | S04-declarations/constant-6.d.t [CaR Grant] Remove X::ParametricConstant dummy |
19:11 | |||||||||||||||||||||||||||||||||||||
samcv | ah looks like things are perfectly fixed but they are much better for int's | 19:12 | |||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: 50772172f5 | (Zoffix Znet)++ | S04-declarations/constant-6.d.t [CaR Grant] Fudge newly failing new tests Typecheck is now implement, but coercion isn't so tests fail to compile due to typecheck failure |
||||||||||||||||||||||||||||||||||||||
samcv | doing 'my int8 $t = -4', '$t', '$t = 4' i get Cannot find method 'qast' on object of type NQPMu | ||||||||||||||||||||||||||||||||||||||
19:14
travis-ci joined
|
|||||||||||||||||||||||||||||||||||||||
travis-ci | NQP build passed. Samantha McVey 'Add documentation on atkey_u newly added op' | 19:14 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/perl6/nqp/builds/393373899 github.com/perl6/nqp/compare/0d7af...508f9548ea | |||||||||||||||||||||||||||||||||||||||
19:14
travis-ci left
|
|||||||||||||||||||||||||||||||||||||||
[Coke] waves from the lobby of the TPC hotel. | 19:23 | ||||||||||||||||||||||||||||||||||||||
yoleaux | 02:40Z <Zoffix> [Coke]: FYI it appears TPF's grant commenting page is losing some comments and it's been happening for possibly ~3m colabti.org/irclogger/irclogger_log...-06-17#l54 | ||||||||||||||||||||||||||||||||||||||
samcv waves back | 19:25 | ||||||||||||||||||||||||||||||||||||||
19:35
dct joined
|
|||||||||||||||||||||||||||||||||||||||
samcv | ok the problem now seems to be it loses the value | 19:43 | |||||||||||||||||||||||||||||||||||||
`my uint $foo = 10`, `say $foo` => 0 | 19:44 | ||||||||||||||||||||||||||||||||||||||
(on repl) | |||||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: fd20de7ae2 | (Zoffix Znet)++ | S04-declarations/constant-6.d.t [CaR Grant] Fix up test class name clashes colabti.org/irclogger/irclogger_log...06-17#l633 |
19:49 | |||||||||||||||||||||||||||||||||||||
20:01
dct left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: f403cf56ec | (Zoffix Znet)++ | S04-declarations/constant-6.d.t [CaR Grant] Remove all fudges / fix plans |
20:18 | |||||||||||||||||||||||||||||||||||||
rakudo/car-grant-constants: b6cd61228b | (Zoffix Znet)++ | src/core/Exception.pm6 [CaR Grant] Implement X::ParametricConstant exception Thrown when user attempts to parametarize %/@/& constants using `my Bar constant @foo` syntax. As discussed[^1] in the Work Proposal, allowing this syntax creates a lot of varying behaviour such as `constant @foo .= new: 1, 2, 3` creating a `List`, yet `my Int constant @foo .= new: 1,2, 3` would have ... (6 more lines) |
20:22 | ||||||||||||||||||||||||||||||||||||||
20:25
ufobat_ left
|
|||||||||||||||||||||||||||||||||||||||
samcv | maybe jnthn would know more. getting Cannot find method 'qast' on object of type NQPMu too | 20:30 | |||||||||||||||||||||||||||||||||||||
20:39
pmurias left
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | mf | 20:44 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 7e5a862e54 | (Jeremy Studer)++ | src/core/signals.pm6 Add special case for Inf in Signal CALL-ME |
||||||||||||||||||||||||||||||||||||||
rakudo: cd8d0445ef | (Jeremy Studer)++ | src/core/signals.pm6 Rm Inf candidate and alter Int() candidate logic The Inf was blowing up due to returning Failure on attempted coercion and then using it in a comparison. AlexDaniel++ for the explanation and for suggestion on how to alter the method. See comments [here](github.com/rakudo/rakudo/pull/1933...397898977) |
|||||||||||||||||||||||||||||||||||||||
rakudo: 61878c3e07 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | src/core/signals.pm6 Merge pull request #1933 from jstuder-gh/signally_role_zero_logic Issue 1891 Continued: Add special case for Inf in Signally CALL-ME |
|||||||||||||||||||||||||||||||||||||||
Zoffix | there's one 6.c-errata test that blocks the coercive behaviour of Associative constants... sorta | ||||||||||||||||||||||||||||||||||||||
m: use Test; throws-like 'constant %hash = "nothash"', X::TypeCheck | |||||||||||||||||||||||||||||||||||||||
camelia | 1..2 ok 1 - 'constant %hash = "nothash"' died ok 2 - right exception type (X::TypeCheck) ok 1 - did we throws-like X::TypeCheck? |
||||||||||||||||||||||||||||||||||||||
Zoffix | $ ./perl6 -e 'use Test; throws-like 「constant %hash = "nothash"」, X::TypeCheck' | ||||||||||||||||||||||||||||||||||||||
# Got: X::Hash::Store::OddNumber | |||||||||||||||||||||||||||||||||||||||
m: try EVAL '"notahash".Map'; say $!.^name | 20:46 | ||||||||||||||||||||||||||||||||||||||
camelia | X::Hash::Store::OddNumber | ||||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: what do you think? Can this be changed? The changed behaviour in that particular test is just the type of the exception, but the larger implication of the behaviour change is that `constant %foo = :42foo, :100bar` used to throw but now it works | 20:47 | |||||||||||||||||||||||||||||||||||||
And the sucky implication is this: | 20:48 | ||||||||||||||||||||||||||||||||||||||
m: class Foo {}; constant %foo = Foo | |||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Type check failed in constant declaration of %foo; expected Associative but got Foo (Foo) at <tmp>:1 ------> 3class Foo {}; constant %foo = Foo7⏏5<EOL> |
||||||||||||||||||||||||||||||||||||||
Zoffix | Now that silently succeeds and %foo is an empty Map, because Any:U.Map returns that | 20:49 | |||||||||||||||||||||||||||||||||||||
m: class Foo { method Map { Map.new: (:42foo, :70bar) } }; constant %foo = Foo | 20:50 | ||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Type check failed in constant declaration of %foo; expected Associative but got Foo (Foo) at <tmp>:1 ------> 3:42foo, :70bar) } }; constant %foo = Foo7⏏5<EOL> |
||||||||||||||||||||||||||||||||||||||
Zoffix | This works now tho | ||||||||||||||||||||||||||||||||||||||
And another pro-change argument is that before CaR grant, the @-sigilled constants actually always called .cache, so if we're blocking the change, then we have this inconsistency that @-sigils coerce but %-sigils don't | 20:51 | ||||||||||||||||||||||||||||||||||||||
And another pro-change argument is that Constants Work Proposal and CaR Grant both discussed the coercive behaviour and in ~4 months no one objected. | 20:53 | ||||||||||||||||||||||||||||||||||||||
20:54
robertle left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | Zoffix: well, with v6.d in mind, is there any possibility to have both behaviors depending on which language version is used? | 20:56 | |||||||||||||||||||||||||||||||||||||
Zoffix | should be | 20:57 | |||||||||||||||||||||||||||||||||||||
Obligatory reminder about R#1289 | 21:00 | ||||||||||||||||||||||||||||||||||||||
synopsebot_ | R#1289 [open]: github.com/rakudo/rakudo/issues/1289 [6.d][severe] [6.d BLOCKER] Implement a Way to Know Caller's Language | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | Zoffix: I mean, it makes sense, but we should really try not to make changes like this, I think | 21:05 | |||||||||||||||||||||||||||||||||||||
previous behavior wasn't blatantly wrong, and there's a spectest… | 21:06 | ||||||||||||||||||||||||||||||||||||||
so for me it's a bit hard to justify the change | 21:07 | ||||||||||||||||||||||||||||||||||||||
withing v6.c I mean, for v6.d go crazy with it :) | |||||||||||||||||||||||||||||||||||||||
within* | |||||||||||||||||||||||||||||||||||||||
Zoffix | mhm | 21:08 | |||||||||||||||||||||||||||||||||||||
21:10
perlpilot joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/car-grant-constants: 4dcf5929d3 | (Zoffix Znet)++ | 2 files Implement $*W.lang-ver-before method Tells you whether the current language version is before the given version letter. For use where language-specific behaviour needs to be implemented. $*W.lang-ver-before('d') ?? nqp::say('Bruh, your lang is too old') !! nqp::say('6.d or above. You get a new feature!') |
21:53 | |||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: what about generic stuff like this: | 21:58 | |||||||||||||||||||||||||||||||||||||
m: my Int(Any) constant z = "42" | |||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
Zoffix | There ain't no spectests covering it, but now it'll be fatal | 21:59 | |||||||||||||||||||||||||||||||||||||
m: my Int(Any) $z = "42" | |||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Coercion Int(Any) is insufficiently type-like to qualify a variable at <tmp>:1 ------> 3my Int(Any) $z7⏏5 = "42" expecting any of: constraint |
||||||||||||||||||||||||||||||||||||||
Zoffix | Like that ^ | ||||||||||||||||||||||||||||||||||||||
AlexDaniel: well, actually since it's a constant it'll probably be possible to just coerce the stuff, but still, in the past all of this type stuff was entirely ignored | 22:00 | ||||||||||||||||||||||||||||||||||||||
m: my Int(Date) constant z = "42"; dd z | |||||||||||||||||||||||||||||||||||||||
camelia | "42" | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/car-grant-constants: a1f544ad42 | (Zoffix Znet)++ | src/Perl6/Actions.nqp [CaR Grant] Implement basic typecheck and coercers on constants - Implement typechecking on &- and $- sigilled, sigilles, and backslash-sigilles constants - Throw X::ParametricConstant on attempts to specify parametarized @-, %-, and &- constants (using `my Int constant @foo` and similar syntax only; `constant @foo = Array[Int].new` is still ... (8 more lines) |
22:01 | |||||||||||||||||||||||||||||||||||||
roast/car-grant-constants: 86e2e20e07 | (Zoffix Znet)++ | S04-declarations/constant-6.d.t [CaR Grant] 6.d-fy relevant parts Coercers on %-sigilled constants are actually blocked by one spectest and so need to go into 6.d language. |
22:02 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | Zoffix: yeah :( not enough spectests | 22:03 | |||||||||||||||||||||||||||||||||||||
it depends | 22:04 | ||||||||||||||||||||||||||||||||||||||
I guess we can try changing it, and see what pops out of toaster | |||||||||||||||||||||||||||||||||||||||
Zoffix | ok | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/post-release-2018.06: 10 commits pushed by (Aleks-Daniel Jakimenko-Aleksejev)++, (Jeremy Studer)++, (Samantha McVey)++, (Zoffix Znet)++ review: github.com/rakudo/rakudo/compare/2...71cd9e1a41 |
22:05 | |||||||||||||||||||||||||||||||||||||
rakudo/car-grant-constants: 17 commits pushed by (Jeremy Studer)++, (Zoffix Znet)++, (Aleks-Daniel Jakimenko-Aleksejev)++, (Elizabeth Mattijsen)++, (Samantha McVey)++ review: github.com/rakudo/rakudo/compare/a...bf22e9c02e |
22:06 | ||||||||||||||||||||||||||||||||||||||
22:06
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast/car-grant-constants: 5 commits pushed by (JJ Merelo)++, (Zoffix Znet)++, (Tom Browder)++, (Jeremy Studer)++ | 22:06 | |||||||||||||||||||||||||||||||||||||
22:14
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | ZOFVM: Files=1295, Tests=153418, 155 wallclock secs (21.78 usr 3.46 sys + 3285.70 cusr 178.72 csys = 3489.66 CPU) | 22:14 | |||||||||||||||||||||||||||||||||||||
22:15
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: zoffixznet++ created pull request #1935: Implement typecheck and auto-coercers on constants |
22:15 | |||||||||||||||||||||||||||||||||||||
rakudo/post-release-2018.06: 9 commits pushed by (Zoffix Znet)++
|
|||||||||||||||||||||||||||||||||||||||
roast: zoffixznet++ created pull request #437: Spec typecheck and auto-coercive behaviour for constants |
|||||||||||||||||||||||||||||||||||||||
roast/post-release-2018.06: 20 commits pushed by (Zoffix Znet)++ review: github.com/perl6/roast/compare/9dc...12b2b6ecaa |
|||||||||||||||||||||||||||||||||||||||
22:27
perlpilot left
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | Zoffix: are you saying comments are not making it through, or comments are showing up and then disappearing. | 22:49 | |||||||||||||||||||||||||||||||||||||
Zoffix | [Coke]: not making it through, it seems | 22:50 | |||||||||||||||||||||||||||||||||||||
[Coke] | I don't see anything in the moderation queue. | ||||||||||||||||||||||||||||||||||||||
Most of the spam-moderated stuff is chinese text selling nikes. | 22:51 | ||||||||||||||||||||||||||||||||||||||
very rarely a human comment will get stuck there. | 22:52 | ||||||||||||||||||||||||||||||||||||||
Zoffix | ¯\_(ツ)_/¯ | ||||||||||||||||||||||||||||||||||||||
[Coke] | I don't know if there's a "so spammy it's deleted" variant of moderation; can't imagine that's true if I still hae to blacklist 50 comments a month selling sneakers. | ||||||||||||||||||||||||||||||||||||||
so, I believe you! but I can't see it. | 22:53 | ||||||||||||||||||||||||||||||||||||||
Zoffix | ok :) | ||||||||||||||||||||||||||||||||||||||
Kaiepi | would being able to get the file descriptor for IO::Socket::Async connections be desirable? | 23:00 | |||||||||||||||||||||||||||||||||||||
also, trying to get it for IO::Socket::INET connections on my system gives me -1 when it probably shouldn't be | 23:02 | ||||||||||||||||||||||||||||||||||||||
Zoffix | [Coke]: ok, try number 2 :) "Your comment has been received and held for approval by the blog owner." | 23:13 | |||||||||||||||||||||||||||||||||||||
[Coke]: the page you see after submitting a comment looks messed up BTW: i.imgur.com/hnbCMiT.png | 23:14 | ||||||||||||||||||||||||||||||||||||||
[Coke] | Yes. that is a known bug that will eventually be fixed by getting rid of mt | ||||||||||||||||||||||||||||||||||||||
Sorry. :( | |||||||||||||||||||||||||||||||||||||||
ok, checking to see the queue. | 23:15 | ||||||||||||||||||||||||||||||||||||||
Zoffix | k | ||||||||||||||||||||||||||||||||||||||
[Coke] | it was there, should be published. (takes a few minutes to propogate) | ||||||||||||||||||||||||||||||||||||||
Zoffix | cooll | ||||||||||||||||||||||||||||||||||||||
/j #perl6 | 23:19 | ||||||||||||||||||||||||||||||||||||||
23:29
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | [Coke]: fyi, i also just submitted a comment | 23:34 | |||||||||||||||||||||||||||||||||||||
23:46
lizmat joined
|