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
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, 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/ 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 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 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/
Streamline 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
bartolin the build process is broken with bsd make 'cause 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/

We don't need the number of elements functionality.
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/
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
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
lizmat code gen suggests it's calling set()
shouldn't we codegen the result of a nqp::create(Set) ? 11:49 # 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
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
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
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, 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 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 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 `nqp::composetype($obj, $info);` 13:47
timotimo OK, that's inside moarvm's c code now 13:48
MasterDuke here you think? 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? 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 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 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 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/ /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
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
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
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 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() { FETCH => {}, STORE => -> $, Int() $v { say "didnt throw"; dd $v } ) }; a() = "foo" # shouldn't this throw ?
camelia didnt throw
Failure $v = => => "foo", pos => 0, reason => "base-10 number must begin with valid digits or '.'"), backtrace =>
lizmat hmmm... guess not 15:35
m: sub a(Int() $a) { say "didn't throw"; dd $a }; a "foo
camelia ===SORRY!=== Error while compiling <tmp>
Unable to parse expression in double quotes; couldn't find final '"'
at <tmp>:1
------> a) { say "didn't throw"; dd $a }; a "foo<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 = => => "foo", pos => 0, reason => "base-10 number must begin with valid digits or '.'"), backtrace =>
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: 15:38
lizmat I see 15:39
Zoffix is dissapointed no one's biting on the prime factors tweet... 15:48
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 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.
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
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 16:37
some discussion with Zoffix earlier today 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: 16:48
timotimo dogbert17: i think jnthn just recently changed something about typecheck error messages 16:49
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:
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/
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)++ |
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:
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: 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.
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/ still return a new (empty) object each time
rakudo/nom: e24980f91b | (Elizabeth Mattijsen)++ | src/core/
Add shortcut for infix:<(|)>()

Like the other set operators have that return a Set by default.
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 21:27
Zoffix Dunno. I never give out keys to the box is on. I guess I should've thought of that when I said I could add that stuff to 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? - 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 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