MasterDuke | m: use Test; my @a = ^3; isa-ok @a[*], List; isa-ok @a[], Array | 01:01 | |
camelia | ok 1 - The object is-a 'List' ok 2 - The object is-a 'Array' |
||
Zoffix | m: use Test; isa-ok [], List | 01:05 | |
camelia | ok 1 - The object is-a 'List' | ||
samcv | argh i hate travis ci | 04:45 | |
why would this not be in the path | 04:46 | ||
MasterDuke, llvm utils can't be in the path on Travis CI because that would just be too easy | 05:04 | ||
MasterDuke | what do you want llvm utils for? | ||
samcv | idk true or not some people on line at least say they should be part of the path on installing Xcode or wahtever | 05:05 | |
oh for MVM code coverage Travis CI | |||
i want it to build it then dump coverage info after running Travis checks | |||
MasterDuke | and you're installing Xcode in travis, but them llvm utils isn't in the path? | 05:06 | |
*then | |||
samcv | no. it is already installed | ||
but somehow nothing is in the path | |||
well i guess a few things are | |||
but not a whole bunch of compilier utilities and such | 05:07 | ||
MasterDuke | might have to install the xcode command line tools | ||
samcv | that should be in the path when they're installed apparently | ||
no they are there | |||
but not in the path and it drove me crazy | |||
figuring out which folder on the os they were | |||
tried /usr/bin, then tried the Xcode.app, which had some utilities but not most of the bluk of them | 05:08 | ||
which ended up being in /Library or something some library folder like 4 levels deep | |||
exported /Library/Developer/CommandLineTools/usr/bin/:/Applications/Xcode.app/Contents/Developer/usr/bin/ | 05:10 | ||
just to be safe. only really needed one of those the library one | |||
but they should just be in the path so i don't have to waste my time | |||
but yeah i don't install Xcode, travis ci os x servers already have it | 05:11 | ||
since it's a build machine | |||
MasterDuke | PR to travis to document that? | ||
samcv | maybe after i get this to work right | 05:26 | |
MasterDuke, think i'm almost there travis-ci.org/samcv/MoarVM/builds/...49258#L957 | 05:42 | ||
seemed to find my coverage report. but i think it got confused cause i gave it a raw file and a nonprocessed file, and maybe was in the nqp directoy or something. idk will have to play with it. not sure how smart this codecov script is | |||
cause with llvm-whatever i need to tell it where libmoar.so is, and be in the MoarVM folder so it can read all the weird files it makes in the repository when it compiles it to process the report | 05:43 | ||
would be cool if we can get a coverage badge lol | 05:44 | ||
their instructions are kind of not that great for C projects. not sure why it has to be so difficult | 05:49 | ||
oh well. i will figure it out | |||
Geth | rakudo/nom: 213a72ccff | (Elizabeth Mattijsen)++ | src/core/Setty.pm Streamline Set.new-from-pairs a bit for Pairs - use nqp::getattr to get at the Pair innards - makes it about 4% faster for Pairs - also affects .Set/.SetHash, specifically when coercing a Map - which is used a lot inside many set operators |
09:11 | |
bartolin | the build process is broken with bsd make 'cause github.com/rakudo/rakudo/commit/408b4035ea introduced a conditional that is not supported by bsd make | 10:53 | |
should we require a gnu make? | |||
bartolin is talking about rakudo's build process | 10:54 | ||
Geth | rakudo/nom: fab9f87c3f | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm Simplify R:I.ALL_TYPE/ALL_DEFINED_TYPE We don't need the number of elements functionality. |
10:57 | |
rakudo/nom: 9671ffec1b | (Elizabeth Mattijsen)++ | 2 files Add R:I.ANY_DEFINED_TYPE and use it - provides a faster way to do @a.first(Foo) - 10x faster for 10 element list and no match - 6x faster for 10 element list and match on first - affects all set operators that first check for any Mixy / Baggy types |
|||
rakudo/nom: 08a973572f | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm Make IO::Handle.close/DESTROY a bit smarter - don't do anything if file handle already closed / not opened yet - DESTROY is now same as close, but without (todoed) error checking |
11:18 | ||
lizmat | m: use nqp; dd nqp::objectid(ā ); dd nqp::objectid(ā ) # so we get a fresh empty Set whenever we ask for the immutable empty Set | 11:48 | |
camelia | 74988064 74988160 |
||
lizmat | code gen suggests it's calling set() | ||
shouldn't we codegen the result of a nqp::create(Set) ? | 11:49 | ||
gist.github.com/lizmat/5f5bdb529a4...6093249251 # guess this change is too simplistic :-( | 12:02 | ||
jnthn: what am I missing ? | |||
putting the assignment in the main line, starts mumbling about not being able to find find_symbol | 12:03 | ||
ah, but that's correct of course, because Actions doesn't know anything about HLL things such as Sets | 12:04 | ||
at the time it is getting compiler | |||
*compiled | |||
jnthn | It's because the empty set object you're creating isn't being put into the SC | 12:06 | |
But it's quite dangerous to do it this way | |||
Since it'll break compiler reentrancy | |||
There's a $*W.add_constant that does this stuff in a smarter way | 12:07 | ||
Though perhaps better still would be in the implementation of set in CORE.setting to check if we're making an empty one and then construct one at BEGIN time | |||
Well, use one constructed at BEGIN time | |||
Oh wait | 12:08 | ||
lizmat | well, I ti | ||
yes? | |||
jnthn | We're actually code-generating the term directly | ||
Not emitting a call | |||
Oh, no, we *were* emitting a call :) | 12:09 | ||
lizmat | yes | ||
and that generates a new empty one every time | |||
so you're saying, make sure that set() always returns the same ? | |||
jnthn | Is there a reason we can't have a set() zero-arg multi candidate that just does BEGIN nqp::create(Set) or so? | ||
lizmat | sure, can do that | ||
jnthn | That'll actually compile into a QAST::WVal too | ||
lizmat | but then it would still be a call in the codegen | ||
ok, will take that approach | 12:10 | ||
jnthn | Sure, but a very easy one for spesh inlining :) | ||
timotimo | this is especially fun when someone mixes into the one immutable set and it ends up having the changes everywhere in the whole program :) | 12:55 | |
jnthn | That's already a problem with other constants :) | 12:57 | |
It'd be nice to have a role to mark out such things, and have does refuse to work on them, though | |||
timotimo | oh, sneaky | 12:58 | |
lizmat | but then, how would one mix a role into *an* empty set ? | 13:06 | |
jnthn | but | 13:08 | |
Which clones first | |||
MasterDuke | m: use nqp; say nqp::objprimunsigned(uint); say nqp::objprimunsigned(uint8); | 13:18 | |
camelia | 0 1 |
||
MasterDuke | jnthn: ^^^ that's a bug, correct? | ||
timotimo | oh, we didn't commit anything for that yet, right? | ||
MasterDuke | timotimo: no, i haven't been able to figure it out yet | 13:19 | |
timotimo | oh, i thought we were almost there last time | 13:20 | |
MasterDuke | i think i tried adding an additional check here github.com/rakudo/rakudo/blob/nom/...p#L61-L63, but it didn't work | ||
jnthn | MasterDuke: Looks rather wrong, yes | 13:21 | |
MasterDuke | oh wait, no, the check i added there was for the actual uint attribute support, which would have had a bug for uint precisely because objprimunsigned would return 0 | ||
timotimo | right, that's not the code where we were trying to fix that | 13:22 | |
MasterDuke | now i don't remember where to try and fix nqp::objprimunsigned(uint) | ||
timotimo | it's in the NativeHOW | 13:23 | |
and inside moarvm | |||
remember, moarvm was seeing "oh, no native size was passed, so we don't have to set anything in the storage spec" | |||
but signedness is part of the storage spec | |||
so if you have no nativesize, but a signedness, the signedness just gets completely ignored | 13:24 | ||
MasterDuke | right | ||
i think i tried changing github.com/rakudo/rakudo/blob/nom/...OW.nqp#L37 from `if !$!composed && $!nativesize {` to `if !$!composed && ($!nativesize || $!unsigned) {` | 13:25 | ||
but i think that didn't do anything | |||
MasterDuke is trying that again | 13:27 | ||
Stage parse : MVMP6int: Unsupported int size (0bit) at gen/moar/Metamodel.nqp:3237 (blib/Perl6/Metamodel.moarvm:compose) | 13:28 | ||
timotimo | i believe it has to have a change inside MoarVM, too | 13:32 | |
so that if nativesize is 0 it'll take the default size there | |||
Geth | rakudo/nom: 0f9f00082b | (Jonathan Worthington)++ | 3 files Make Parameter object available in bind error. Just for the nominal error so far. This also allows a slight wording improvement to the error to make clear that it was a parameter that could not be bound. Since this is a subtype of the previous exception type, any tests/code relying on the previous exception type will work as before. |
||
rakudo/nom: f1cd8e313a | (Jonathan Worthington)++ | 2 files Typed exception for parameter constraint failure. Also providing access to the Parameter object, and allowing for a slightly better error message that includes the non-matching value and, where the constraint is a named subset type, that type name. |
|||
timotimo | neat. | 13:33 | |
jnthn had a need for the Parameter object of the failing thing for something he's working on, and figured he'd make errors a little better along the way :) | 13:34 | ||
At least I got a Rakudo commit in this week :P | 13:35 | ||
Busy times... | |||
MasterDuke | timotimo: the `nqp::unbox_i($!nativesize)` here github.com/rakudo/rakudo/blob/nom/...OW.nqp#L47 will die if $!nativesize isn't instantiated | 13:37 | |
timotimo | ah yes | ||
because we want to be able to have nativesize "not set" | |||
or maybe we want to allow strings, too? | |||
MasterDuke | so i could set it to the default | 13:38 | |
or somehow skip that code | |||
timotimo | does the moarvm side handle the keys not existing? | ||
MasterDuke | in the `|| $!unsigned` case | ||
timotimo | m: use nqp; say nqp::objprimspec(Int) | 13:39 | |
camelia | 0 | ||
timotimo | OK | ||
MasterDuke | pretty sure moarvm makes it the default | ||
timotimo | cool, then we can skip it | ||
but hold on | |||
there's a && $!nativesize up top there | |||
if it isn't set, it wouldn't go into that code at all | |||
which is also bad because we really want to compose if only signedness is set | |||
MasterDuke | i changed it to `($!nativesize || $!unsigned)` | 13:40 | |
timotimo | OK, that explains why the code below didn't check anything more | ||
MasterDuke | but it's dying here github.com/rakudo/rakudo/blob/nom/...OW.nqp#L50 `nqp::composetype($obj, $info);` | 13:47 | |
timotimo | OK, that's inside moarvm's c code now | 13:48 | |
MasterDuke | here you think? github.com/MoarVM/MoarVM/blob/mast...int.c#L123 | 13:49 | |
oh wait, that's where i thought it set it to default if not set, maybe i was wrong | 13:50 | ||
timotimo | that's the function, yes | 13:51 | |
Zoffix | MasterDuke: any idea how to fix your change to make it work in bsd make? irclog.perlgeek.de/perl6-dev/2017-...i_14359897 | 13:55 | |
MasterDuke | huh. i tried adding `else repr_data->bits = 64;` to the `if (!MVM_is_null(tc, bits_o)) {`, but still same thing | ||
Zoffix: i don't know bsd make, but some googling suggests it uses a completely different syntax for conditionals | 13:56 | ||
so if there's a way to know in Configure.pl which is going to be used i guess we can emit different code | 13:57 | ||
or maybe there is some shared syntax to do the same thing as what i added? | 13:58 | ||
Zoffix | We do choose harnesses with `make spectest`; surely the same method can be used for `make test-file` | ||
MasterDuke | i believe `make spectest` calls `make spectest5` or `make spectest6`, but there's no `make test-file5` and `make test-file6` to choose from | 14:00 | |
the target is just `t/*/*.t t/*.t t/*/*/*.t: all` | |||
but my make-fu is weak in general, so i'm sure somebody knows a better way | 14:01 | ||
timotimo: ah, my else branch isn't getting called | 14:03 | ||
in P6int.c | |||
timotimo | i don't know where you have what if or else :) | 14:04 | |
MasterDuke | timotimo: i added `else repr_data->bits = 64;` here github.com/MoarVM/MoarVM/blob/mast...int.c#L152 | 14:05 | |
and then i added an fprintf in the else branch, but it didn't get hit | |||
timotimo | that only gets called when there is no "bits" key in the hash, right? | 14:06 | |
MasterDuke | that's how i read it | ||
timotimo | does the "then" branch get called at all? | 14:07 | |
MasterDuke | timotimo: oh, it's actually dying here github.com/MoarVM/MoarVM/blob/mast...int.c#L149 | 14:11 | |
timotimo | ah, so it gets into the "then" | 14:12 | |
the info hash is there, but bits isn't set | |||
it should be possible to just set the bits to default_storage_spec.bits in a default branch for the switch, or something | |||
no | 14:13 | ||
that'd be wrong | |||
MasterDuke | heh, trying that now | ||
timotimo | why are we still setting the bits field if we don't have nativesize set at all? | 14:15 | |
MasterDuke | huh, rakudo built, but then got `Normalization output must be native array of 32-bit integers` from ./perl6-m tools/build/upgrade-repository.pl /home/dan/Source/perl6/install/share/perl6 | ||
timotimo | that'd be the right way to signal "no nativesize was asked for" | ||
MasterDuke | well, it has to have some size, right? | ||
timotimo | yeah, default_storage_spec.bits | 14:16 | |
MasterDuke | ooh, `use nqp; say nqp::objprimunsigned(uint)` give 1 for me locally | ||
timotimo | neat. | 14:17 | |
MasterDuke | don't know what to do about that normalization error though | 14:18 | |
timotimo | could it be it's relying on uint pretending to be signed? | 14:19 | |
could it be we broke int32 in the process? | 14:20 | ||
did you put in a default: in the switch/case? | |||
MasterDuke | default: repr_data->bits = default_storage_spec.bits; break;`` | ||
timotimo | yes | ||
remember when i said "no that'd be wrong"? | 14:21 | ||
that's what i meant :) | |||
we're now giving every int 64bits except for "long", "size_t", "char", "short", ... | |||
MasterDuke | heh, then what'd be right? | ||
timotimo | we ought to set no "bits" field in the hash | ||
then we won't enter the !MVM_is_null(tc, bits_o) | |||
instead, we'll put an else there that sets repr_data->bits = default_...bits | |||
MasterDuke | i put an else there, didn't get hit | 14:22 | |
timotimo | right, we need to change the nqp code a bit | ||
show me what you have there at the moment? | 14:23 | ||
MasterDuke | well, i just removed the default and added `else repr_data->bits = default_storage_spec.bits;` | 14:24 | |
but it never gets to that else | |||
timotimo | oh, no changes in the nqp code at all? | 14:25 | |
hm. let me try to do this whole thing from scratch, maybe i need a bit more clarity than irc can provide | 14:26 | ||
MasterDuke | just changing NativeHOW.nqp to `($!nativesize || $!unsigned)` | 14:27 | |
timotimo | i also put an if around the second batch of $info<float/int><bits> = ... | 14:28 | |
compiling now to see how it explodes over here | 14:29 | ||
ah, yes: Unsupported int size (0bit) | |||
MasterDuke | yeah, at one point i changed the `else` to `elsif $!nativesize`, but it didn't seem to be needed | ||
Zoffix | jnthn: any word on IO Action Plan? Should I proceed with it tomorrow? | 14:30 | |
timotimo | gaaaaah | 14:36 | |
it's setting nativesize to 0 in the constructor | |||
that's why it wasn't doing set_nativesize, but still had a valid int in there | |||
MasterDuke | oh, damn. i saw that earlier, but completely forgot | 14:40 | |
timotimo | i got a rakudo that builds | 14:42 | |
MasterDuke | and nqp::objprimunsigned(uint)? | ||
timotimo | one sec | 14:43 | |
1 | |||
MasterDuke | nice | 14:44 | |
Geth | rakudo/nom: af4aae240d | (Timo Paulssen)++ | src/Perl6/Metamodel/NativeHOW.nqp allow nativesize to be unset in NativeHOW, but still compose this makes uint properly marked as unsigned. MasterDuke++ |
||
timotimo | oh, wait | ||
nooooo | |||
i should have bumped first | |||
um ... sorry, geth? | 14:46 | ||
Zoffix: how did i(?) break geth? | 14:47 | ||
Zoffix: could it be it doesn't like when two consecutive nqp commits are just MOAR_REVISION bumps? | |||
MasterDuke | timotimo++ | 14:49 | |
timotimo | that was quite something to unravel | 14:50 | |
Zoffix | timotimo: no idea. All exceptions thrown by plugins get caught. Maybe something makes it nom too much ram and it gets killed? No idea. Gonna add a logger some time, to see the last messages before its death at least | 14:51 | |
MasterDuke | really glad we found that nqp::objprimunsigned(uint) bug first before getting too far into unsigned native attributes, that could have been a real red herring | 14:52 | |
timotimo | infinite recursion would nom all ram, for example | ||
oh yes, indeed | |||
especially since most probably the type would still have given 1 as .^unsigned even though it isn't unsigned "on the inside" | |||
m: say uint.unsigned; use nqp; say nqp::objprimunsigned(uint) | 14:53 | ||
camelia | No such method 'unsigned' for invocant of type 'uint' in block <unit> at <tmp> line 1 |
||
timotimo | m: say uint.^unsigned; use nqp; say nqp::objprimunsigned(uint) | ||
camelia | 1 1 |
||
timotimo | oh, it's already got that commit? | ||
it does, that's fast | |||
MasterDuke | c: 2017.03 say uint.^unsigned; use nqp; say nqp::objprimunsigned(uint) | ||
committable6 | MasterDuke, Ā¦2017.03: Ā«1ā¤0Ā» | ||
Zoffix | huggable: camelia | ||
huggable | Zoffix, Camelia updates every 20m at 8, 28, and 48 minutes of the hour | ||
Zoffix | just updated 5m ago | 14:54 | |
timotimo | neat. | ||
i wouldn't put a test with nqp:: ops in them into roast, but maybe under t/ somewhere we can test the signed/unsigned natives to see if their otuside matches their inside | 14:55 | ||
MasterDuke | m: use Test; use nqp; for uint, uint8, int, int8 { is $_.^unsigned, nqp::objprimunsigned($_) } # like this? | 14:58 | |
camelia | ok 1 - ok 2 - ok 3 - ok 4 - |
||
timotimo | kind of, yeah | ||
MasterDuke | so now for unsigned native attributes, istr we need to do something here github.com/rakudo/rakudo/blob/nom/...AN.nqp#L61 | 15:00 | |
c: 2017.03 use Test; use nqp; for uint, uint8, int, int8 { is $_.^unsigned, nqp::objprimunsigned($_) } # like this? | 15:01 | ||
committable6 | MasterDuke, Ā¦2017.03: Ā«not ok 1 - ā¤ā¤# Failed test at /tmp/aR9JDvHpMQ line 1ā¤# expected: '0'ā¤# got: '1'ā¤ok 2 - ā¤ok 3 - ā¤ok 4 - Ā«exit code = 1Ā»Ā» | ||
jnthn | Zoffix: Not had anything like the time I woulda liked to comment on it this week. :( I'll leave some commnets on tickets now, though. | 15:14 | |
Zoffix | OK. | ||
AlexDaniel | huggable: whateverable | 15:31 | |
huggable | AlexDaniel, nothing found | ||
AlexDaniel | huggable: whateverable :is: whateverable updates every 5 minutes (+ it takes 3 minutes to build rakudo) | 15:33 | |
huggable | AlexDaniel, Added whateverable as whateverable updates every 5 minutes (+ it takes 3 minutes to build rakudo) | ||
lizmat | m: sub a() { Proxy.new( FETCH => {}, STORE => -> $, Int() $v { say "didnt throw"; dd $v } ) }; a() = "foo" # shouldn't this throw ? | ||
camelia | didnt throw Failure $v = Failure.new(exception => X::Str::Numeric.new(source => "foo", pos => 0, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new) |
||
lizmat | hmmm... guess not | 15:35 | |
m: sub a(Int() $a) { say "didn't throw"; dd $a }; a "foo | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in double quotes; couldn't find final '"' at <tmp>:1 ------> 3a) { say "didn't throw"; dd $a }; a "foo7ā5<EOL> expecting any of: argument list ā¦ |
||
lizmat | m: sub a(Int() $a) { say "didn't throw"; dd $a }; a "foo" | ||
camelia | didn't throw Failure $a = Failure.new(exception => X::Str::Numeric.new(source => "foo", pos => 0, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new) |
||
Zoffix | m: sub a(Int() $a) { say "didn't throw"; dd $a }; a "foo" but role { method Int { my class Meows {} } } | 15:37 | |
camelia | didn't throw <anon|29974016>::Meows $a = <anon|29974016>::Meows |
||
Zoffix | I think there's a ticket for "coersers don't check the result type" | ||
This one: rt.perl.org/Ticket/Display.html?id...et-history | 15:38 | ||
lizmat | I see | 15:39 | |
Zoffix is dissapointed no one's biting on the prime factors tweet... | 15:48 | ||
twitter.com/zoffix/status/848180417194852353 | |||
MasterDuke | maybe you need a follow up that you used it to find the next Mersenne prime? | 15:50 | |
or would that be too obvious? | 15:51 | ||
Zoffix | Too obvious :D | 15:52 | |
lizmat | in this world of fake news... all of the April Fool's jokes are spoilt | ||
MasterDuke | timotimo: i modified Mu.pm and BUILDPLAN.nqp to add a kind of plan for unsigned, which calls bindattr_u (which i added to nqp, but not yet to moar) | 15:57 | |
Zoffix | So it's the only day of the year where people bother to verify claims before accepting them as true? :) I forsee the holiday being renamed to something else in the future :) | 15:58 | |
MasterDuke | and `class :: { has uint64 $.foo; }.new( foo => -2 ).foo.say` calls my new code (i added a debugging print to be sure), but doesn't die | ||
Geth | rakudo/nom: 743394795e | (Elizabeth Mattijsen)++ | 3 files Make sure that Baggy handle bare objects ok As a step towards not allocating storage for empty Baggies. |
16:00 | |
jnthn | Zoffix: I've left comments on various of the issues | ||
Zoffix: Hope they're of some help | |||
MasterDuke | how in the world is nqp::bindattr_u() not dying when there's no bindattr_u op in moar? | 16:01 | |
jnthn | I dunno, is it mapped to something else? :) | ||
MasterDuke | i added `add_bindattr_op('bindattr_u', 'bindattr_u', 'bindattrs_u', $MVM_reg_uint64);` to QASTOperationsMAST.nqp, but there's no bindattr_u or bindattrs_u in moar | 16:03 | |
timotimo | it's not being compiled into anything? | ||
jnthn | Oh...this sounds familiar | 16:04 | |
I think it's probably turning it into a noop | |||
Because something numifies to 0 somewhere in the lookup | |||
MasterDuke | ok, so that's somewhat expected then? now to figure out which git stash was it where i actually added bindattr_u and bindattrs_u to moar... | 16:07 | |
Zoffix | jnthn++ thanks. Yes, they're very helpful. | ||
jnthn | Oh dear... | 16:35 | |
makefile(630) : fatal error U1034: syntax error : separator missing | |||
Stop. | |||
That's nmake on Windows | 16:36 | ||
timotimo | huh, is that perhaps the one that also broke our makefile on bsd make (or what was it?) | ||
MasterDuke | yep, my commit github.com/rakudo/rakudo/commit/40...6fc2403541 | 16:37 | |
some discussion with Zoffix earlier today irclog.perlgeek.de/perl6-dev/2017-...i_14360554 | 16:38 | ||
timotimo | so better revert it for the time being? | 16:40 | |
geekosaur | maybe just a leading newline to match the leading newline in the other? | 16:42 | |
the fact that the original started with a newline makes me think the ifeq is being output in the middle of a line | 16:43 | ||
MasterDuke | i don't have a windows env to test with, and i don't know make very well, so i'll defer to whatever anybody else suggests | ||
geekosaur | also, uh, that ifeq syntax is gnumake only | ||
not bsd make, also I think not nmake | 16:44 | ||
so yes, revert and figure out how to do it portably | |||
dogbert17 | o/ anyone getting a test failure in t/spec/integration/error-reporting.t all of a sudden? | ||
# Error message: Constraint check failed in binding to parameter '$x'; expected Even but got Int (3) | 16:47 | ||
not ok 6 - subset type check fail mentions type check | |||
geekosaur would want to see the generated makefile, to be certain... | |||
MasterDuke | geekosaur: gist.github.com/MasterDuke17/506bc...e9a1c79f9a | 16:48 | |
timotimo | dogbert17: i think jnthn just recently changed something about typecheck error messages | 16:49 | |
github.com/rakudo/rakudo/commit/f1cd8e313a | |||
geekosaur | ok, then (aside from I would still put a blank line before the following target) that's just using a gnumake-ism in non-gnumake | ||
timotimo | it wants 'type check' and 'constraint' to both be in the error message | 16:50 | |
dogbert17 | timotimo: thx, didn't think jnthn hacked on weekends :) | ||
geekosaur | either require gnumake or find a different way to do it | ||
timotimo | we simply dropped the "type" from the "check" | 16:51 | |
thus: boom | |||
dogbert17 | should the test be changed then? | ||
timotimo | don't think so | 16:53 | |
dogbert17 | the code test stuff related to RT #74348 | 16:54 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...l?id=74348 | ||
dogbert17 leaves the test to jnthn | 16:56 | ||
jnthn | Sorry, cooking needed attention | 16:57 | |
I've no idea how to fix the makefile thing to work on nmake | |||
so yeah, let's revert it for now | |||
dogbert17 suspects jnthn is cooking up some Indian dish | 16:58 | ||
jnthn | No, chili con carne today :) | 16:59 | |
Got family visiting next week and will be doing a bunch of Indian for them :) | |||
MasterDuke | jnthn: there's also t/spec/integration/error-reporting.t that dogbert17 pointed out | ||
jnthn | So figured some variety was good | ||
Yeah...grrr, tests that check for words, not types :P | |||
MasterDuke was excited when an Indian restaurant announced they were opening just down the road, but construction seems to have stalled... | 17:00 | ||
dogbert17 | chili con carne can be very nice 8and can contain many spices) | ||
jnthn | Indeed | 17:01 | |
MasterDuke has gotten my wife to start eating (some) Indian food over the past couple years | |||
but it's not big in our area | 17:02 | ||
jnthn usually puts in a real chili, some broken up dried chili, and some kashmiri chili powder, to get an interesting blend | |||
dogbert17 sounds like a strong mix | 17:03 | ||
MasterDuke doesn't know kashmiri chili powder, but loves the flavor of chipotle chilis | |||
Geth | rakudo/nom: 1f854b12a5 | (Jonathan Worthington)++ | src/core/Exception.pm Keep a test looking for exact wording happy. |
||
jnthn | There's the integration test happy again...sorry I missed that | 17:04 | |
I spectested...but only the first of my 2 patches. D'oh. | 17:05 | ||
timotimo | :) | 17:08 | |
jnthn | Any objections to reverting 408b4035eab51be? | ||
timotimo | nah, that hash isn't particularly pretty | 17:10 | |
MasterDuke | not from me (but it'd be nice if someone who know make better could implement it in a portable way) | ||
timotimo | well, we could check if the platform is linux and only emit the new code there :P | ||
Geth | rakudo/nom: 20f335f145 | (Jonathan Worthington)++ | Configure.pl Revert "Enable `make t/spec/<file> HARNESS_TYPE=6` to work" This reverts commit 408b4035eab51be3154618234b05ab6fc2403541, which relies on gnumake-specific syntax (or at least, syntax that neither nmake or BSD make understand). |
||
jnthn | timotimo: In git, the hash is forever anyway :) | 17:11 | |
geekosaur | BSD make uses directives that start with a dot. I don't know what nmake does | ||
also the conditions look quite different | |||
timotimo | can always invoke system commands to do heavy-lifting :) | 17:12 | |
jnthn | nmake happy again after that revert | 17:14 | |
lizmat | hmmm: looks like t/spec/integration/error-reporting.t test #6 got borked today | 17:56 | |
timotimo | lizmat: already fixed | ||
lizmat | ah? | ||
timotimo | 190334 +Geth ā Ā¦ rakudo/nom: review: github.com/rakudo/rakudo/commit/1f854b12a5 | ||
er, wrong line | |||
but you can click that to get the description, which is what i had hoped to copy | |||
lizmat | oki :-) | 17:57 | |
patrickz | m: use NativeCall; my CArray[uint8] $a .= new(128); say $a[0]; | 19:39 | |
camelia | -128 | ||
Zoffix | Known bug: rt.perl.org/Ticket/Display.html?id...et-history | 19:55 | |
Geth | rakudo/nom: e660a57337 | (Elizabeth Mattijsen)++ | 2 files Make sure that Setty handles bare objects ok As a step towards not allocating storage for empty Setties. |
20:14 | |
rakudo/nom: 8a4df16204 | (Elizabeth Mattijsen)++ | 3 files Don't allocate hash for empty Set/Bag/Mix - set()/bag()/mix() now return a sentinel value - Set/Bag/Mix.new still return a new (empty) object each time |
20:23 | ||
rakudo/nom: e24980f91b | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Add shortcut for infix:<(|)>() Like the other set operators have that return a Set by default. |
20:35 | ||
patrickz | Zoffix: timotimos latest commit sounded promising wrt that bug and I was to lazy to update rakudo locally. That was basically the test whether that bug is still there. Sadly it is... | 20:44 | |
timotimo | it didn't change anything about uint8 | 20:45 | |
uint8 was already correct | |||
uint itself wasn't, because there was no "is nativesize(...)" attached to it | |||
MasterDuke is looking into all kinds of unsignedness things | 20:46 | ||
Zoffix snickers | 21:22 | ||
"So, ignoring that factoring isn't even a part of RSA's normal operation (only for breaking it), it's utterly broken to use this for RSA" | |||
Haters hating on an imaginary Perl 6 function :) | 21:23 | ||
samcv | hi Zoffix | 21:26 | |
so if i have a html profile file generated by travis. how can i get it onto perl6.fail/moarvm | 21:27 | ||
Zoffix | Dunno. I never give out keys to the box perl6.fail is on. I guess I should've thought of that when I said I could add that stuff to perl6.fail. I could make that URL redirect to somewhere; would that work? | 21:33 | |
samcv | uhm i guess. hmm | 21:40 | |
trying to think best way to upload something from travis | |||
without having to give it secrets | |||
timotimo | oh, doesn't it have a "artifacts" mechanism somewhere? | ||
docs.travis-ci.com/user/deployment/custom/ - this is what you mean with "give it secrets", right? | 21:41 | ||
samcv | maybe. if you can find out a way for it to upload something somewhere without having to store private keys or secret tokens in repo | 21:42 | |
that would be great | |||
timotimo | oh, cool, they have a public key you can just encrypt stuff with | 21:43 | |
just "gem install travis", then - while inside your project - travis encrypt SOMEVAR="secretvalue" | |||
i.e. you can use that to upload stuff with a secret that doesn't have to get put into the .travis.yml | 21:51 | ||
samcv | kk will work on that once I get coverage printing out online | 22:02 | |
er on travis or whatever | |||
also sent a message to codecov.io site, cause that would be great to have stats and graphs with this stuff. but their examples and documentatiuon is not that great for C | 22:03 | ||
Geth | rakudo/nom: 6686abbff7 | (Elizabeth Mattijsen)++ | 2 files Make Setty coercion to (Bag|Mix)Hash 7x faster - for a 10 element set, larger sets will probably be faster still - basically first clone the internal hash, then replace values - doesn't need any possibly expensive .WHICH re-calculations - so for sets with expensive .WHICH, this will probably be faster still - should also affect many set operators that do a lot of coercions - also make SET-SELF non-private, so we can use it from other classes |
22:44 | |
rakudo/nom: f947a19717 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm Make Baggy coercion to Set|SetHash 10x faster - for a 10 element bag, larger baggies will probably be faster still - basically first clone the internal hash, then replace values - doesn't need any possibly expensive .WHICH re-calculations - so for baggies with expensive .WHICH, this will probably be faster still - should also affect many set operators that do a lot of coercions |
23:02 | ||
lizmat | and this concludes my hacking for today | 23:03 | |
good night, #perl6-dev! | |||
samcv | night lizmat :) | 23:05 | |
sleep well | |||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Make Setty coercion to (Bag|Mix)Hash 7x faster | 23:23 | |
travis-ci.org/rakudo/rakudo/builds/217638480 github.com/rakudo/rakudo/compare/e...86abbff7c9 |