samcv \o/ 00:35
pushing in now
Geth nqp/master: 4 commits pushed by (Samantha McVey)++ 00:36
rakudo/nom: 1ac7996a42 | (Samantha McVey)++ | tools/build/NQP_REVISION
[unicode-grant]↑Moar: new indexicim and eqaticim ops + RT128875 fix

RT #128875 which was a bug where ignorecase+ignoremark regex would give false positive matches if the first grapheme of the needle matched any of the graphemes in the haystack.
It also exposes the new nqp::indexicim and nqp::eqaticim ops on MoarVM
00:41
¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....gb96a0afe7
roast: 249eaf9238 | (Samantha McVey)++ | S15-nfg/GraphemeBreakTest.t
[unicode-grant] Minor non-functional change to GraphemeBreakTest.t
00:46
roast: 0a80d0d2e8 | (Samantha McVey)++ | S05-modifier/ignorecase-and-ignoremark.t
[unicode-grant] add tests to cover RT #128875

RT #128875 is fixed on rakudo.moar as of
  github.com/rakudo/rakudo/commit/1ac7996a42
eveo \o/ 00:58
travis-ci NQP build failed. Samantha McVey 'Add tests for RT #128875, ignorecase+ignoremark false positives' 01:08
travis-ci.org/perl6/nqp/builds/240605802 github.com/perl6/nqp/compare/0ac9b...6a0afe7f5f
samcv looks like i need to fudge some tests for jvm 01:13
Geth nqp: c684890f7a | (Samantha McVey)++ | t/qregex/rx_modifiers
[unicode-grant] todo 2 ignorecase+ignoremark tests on JVM
02:53
travis-ci NQP build passed. Samantha McVey '[unicode-grant] todo 2 ignorecase+ignoremark tests on JVM' 03:34
travis-ci.org/perl6/nqp/builds/240631933 github.com/perl6/nqp/compare/b96a0...84890f7acc
lizmat Files=1204, Tests=61799, 218 wallclock secs (12.87 usr 4.93 sys + 1321.03 cusr 120.37 csys = 1459.20 CPU) 07:30
Geth roast: 670e3152c1 | (Elizabeth Mattijsen)++ | S16-io/handles-between-threads.t
Unfudge now passing file handle passing test
07:52
nqp: 26adef6be4 | (Samantha McVey)++ | t/moar/08-indexic.t
[unicode-grant] run indexicim through all of the indexic tests

At least for all the tests written in this file, indexic and indexicim should both return the same result. Run all the tests through indexicim so that it can get more thorough testing.
08:25
|Tux| This is Rakudo version 2017.05-381-g1ac7996a4 built on MoarVM version 2017.05-71-gad6ab26f 08:26
csv-ip5xs 2.860
test 12.686
test-t 4.296 - 4.309
csv-parser 12.938
Geth nqp: 76098315da | (Jonathan Worthington)++ | src/vm/jvm/QAST/Compiler.nqp
Map async proc nqp:: ops.

Not yet implemented in any way.
09:43
rakudo/proc-using-proc-async: a2543a9c81 | (Jonathan Worthington)++ | 2 files
Include Proc::Async into JVM core setting.
09:45
nqp: 53836564db | (Jonathan Worthington)++ | 3 files
Remove now-unused async char read/write ops on JVM

These code paths have long been handled in Rakudo by doing binary I/O and using the DecodeStream.
10:00
nqp: 8849e9a531 | (Jonathan Worthington)++ | 2 files
Start to stub in async process handle.
10:22
eveo I wish TimToady would rule on RT#126732 10:28
'cause "I've never programmed Perl 6 and don't understand how this works, so it should be banned" don't sound like well-thought language design to me and I haven't heard a more cogent argument from the other side as of yet. 10:41
ilmari print join("|",$socket_file2,SOCK_DGRAM,"unix"), "\n 10:42
bah
eveo ZofBot: do your sock landry, yo!
ZofBot eveo, set_name("Sam"); # same as the above An invocant is the topic of the corresponding method if that formal parameter is declared with the name $_
nine eveo: FWIW I think you already argued the case completely and competently. No Timtoady necessary. If anything I'd have an issue with the tone of your comments. It's crystal clear that you are annoyed with "the bone headedness of beginners who have not thought a bit about the implications of their proposal", but that does not help convince the reporters and can only cause them to get defensive instead. 10:53
I even say you have every right to be annoyed :) It's just that it's not helping you. 10:54
Geth nqp: c9ca5de8dc | (Jonathan Worthington)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncProcessHandle.java
Start async process, conveying any errors.
10:57
eveo OK 10:59
Ulti eveo: I am near the top of that thread, one thing I would do to talk down my own argument in support of Zoffix is that I originally thought the exponent characters were all digits but its actually only up to 3 so the chance of it being some epic problem is really minimal 11:05
like I thought someone might want to do bigger exponents and get confused
but that isnt the case 11:06
whether its really worth the possible hassle just to have squared and cubed with a pretty syntax is debatable and if the argument is about maintenance etc. I would have thought not using them as operators is a better shout than fixing whats used as a numeric literal... or just leave it as is because its going to affect like one person ever in the history of Perl 6 11:07
the only real weirdness is that you can compose up to bigger exponents so long as they are only made of 1 2 or 3 :S which I think is weird behaviour 11:09
m: say 2²² eqv 2**22
camelia True
Ulti 2²² being 22**2 feels a little less surprising, but as Zoffix points out just no one is going to notice this behaviour at this point 11:10
eveo Ulti: all digits are available as exponents, they just aren't a contiguous Unicode range 11:11
Ulti or even 2**(2+2) would be the least surprising
eveo u: superscript
unicodable6 eveo, U+00B2 SUPERSCRIPT TWO [No] (²)
eveo, U+00B3 SUPERSCRIPT THREE [No] (³)
eveo, 25 characters in total: gist.github.com/6c2fa1520ae59be9ae...922e1474c0
Ulti eveo: really?
I could only find 2 and 3
and looked hard 11:12
eveo yeah, 2074+ range has other ones (see gist from bot above)
Ulti are they all the same character class and work the same way?
eveo Yeah
Ulti aha
ok that is a bit weirder then
lets face it though simply no one is going to even do something other than squared or cubed 11:13
anything else is madness
Geth nqp: 1bd2aa9043 | (Jonathan Worthington)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncProcessHandle.java
Fire exit event with exit code on async proc exit.

This gets the most basic case of Proc::Async working on JVM, where no input/output handles are used.
nine Ok, I have to admit, that I don't understand why say 2²² == 2**22 11:14
pmurias nine: you mean design or implementation wise? 11:15
Ulti it looks like 2 to the 22 though
nine well both :)
pmurias nine: design wise it's special code (I remember fixing a bug in that)
nine If ² is a number and not a digit, ²² should simply not be 22 :)
Ulti I guess the way to think about it is the whole thing is a single number literal
pmurias well implementation wise
jnthn lunch &
ilmari nine: ² as a term is a number, any string of superscripts as an operator is exponentiation 11:16
Ulti but this is defo deep in the bike shed
eveo nine: in that context it's an operator. The No rule applies to terna
*terma
Ulti ilmari yeah the issue being addressed is:
m: say ???
camelia Stub code executed
in block <unit> at <tmp> line 1
0
nine eveo: ah, so we basically have an unlimited number of exponentiation operators
eveo yeah
Ulti oh 11:17
ilmari m: say ²²²
camelia 4194304
ilmari yes, I'm aware
I'v read the ticket
Ulti k
ilmari and I agree with eveo
eveo :)
ilmari FW(L)IW
pmurias using ² as term like ²² seems just silly (might not be worth doing anything about if it's just a silly consequence of other rules)
Ulti no one is going to write that though
as in they wont rely on the first superscript as a digit
ilmari it's not a digit. it's a number 11:18
Nd vs No
pmurias do we have any real use for digits outside of 0-9?
ilmari do we have any real use for identifiers outside of [a-z_]?
Ulti we should stick to just using 0 and 1 for everything 11:19
Ulti is voting in the UK today this feels like a similar situation
ilmari is in the UK, but not voting (filthy furriner)
Ulti go home
you'll genuinely be better off, I wish my home wasnt here 11:20
ilmari I will, after the pub (home being London)
Ulti :3
pmurias ilmari: there are words that contain characters outside of [a-z]
Ulti like Apple
ilmari pmurias: only in weird languages
pmurias is English considered a weird language? ;) 11:21
ilmari and some of them have numbers with digits outside of [0-9]
Ulti also I like the unicode exponent syntax so I want to bow out of that ticket
being able to copy paste maths as written in PDF into Perl 6 is a major victory for the common people 11:22
ilmari I thought part of the very raison d'être of perl6 was pervasive, world-class unicode support
thundergnat_ Ulti: Re "noone sane is going to use large exponents in practice"... points sheepishly towards rosettacode.org/wiki/Prime_decomposition#Perl_6 :/ 11:23
Ulti the whole look at all these other weird No's is a strawman though its a very specific case that it is confusing the first superscript is not included in exponent generation
but no one is going to do it
pmurias ilmari: I'm fine with banning all the weird digits using a Perl::Critic style slang ;) 11:24
Ulti thundergnat_: sure but lets face it Rosetta code Perl 6 right now is a load of language designers show boating their stuff
joe bloggs i.e. me is never going to do it because I can barely find # on my Mac keyboard let alone unicode
eveo Ulti: my understanding is the argument for banning them is that users will accidentall type two superscripts in a row, not that people will actually use it and others will find it confusing 11:25
ilmari on X11 it's Compose ^ <digit> for the superscripts
Ulti ± though we need that ;3
ilmari and Compose <digit> <digit> for fractions
m: say ⅗ + ⅝⁵
camelia 0.6953674
Ulti eveo: I would hope someone would notice the numerical result between ^2 and ^22 is perhaps a /little/ off
I for one welcome the first finance software to make this mistake 11:27
eveo Though now that you mention it. I think I'm gonna rewrite all my modules to use only superscripts for numerals and then just claim we can't change it because it'd cause a lot of ecosystem breakage :) 11:28
Ulti hah
I think we should perhaps count number of authors not lines of code :P
though I guess thats unfair on the people with like 100 modules to my 2
sooo is now a good time to bring up ? 11:31
>:D
actually that would be a fun module if its not already there add in all the other unicode operators 11:32
github.com/raydiak/Math-Symbolic looks like the best place to do it since you could end up with a symbolic maths slang 11:35
this is why I love Perl 6
pmurias test seems incorrect: github.com/perl6/roast/blob/master...sed.t#L215 11:39
not sure what to do with that as it's a broken regression test 11:41
Geth rakudo/nom: ccfa5e51a2 | pmurias++ | 2 files
Stop the optimizer from using what I assume are old semantics for multi dispatch
11:50
pmurias eveo: the optimizer bug should be fixed now
eveo pmurias++ awesome! 11:51
|Tux| This is Rakudo version 2017.05-382-gccfa5e51a built on MoarVM version 2017.05-71-gad6ab26f 12:01
csv-ip5xs 2.861
test 13.018
test-t 4.367 - 4.376
csv-parser 13.001
that version info does not show the git commit sha for nom. So I cannot verify it is the same commit I checked on 12:02
eveo |Tux|: commit is ccfa5e51a innit? 12:03
|Tux| or is ccfa5e51a2 the same as -gccfa5e51a
eveo Yes. 12:04
or should be
|Tux| why does Geth show one more digit than the version does?
eveo (github seems to refuse to show it)
|Tux| ah :)
eveo |Tux|: because the short sha only works if there isn't another commit with the same sha and the version short sha has the git describe bit in it, so it's less important to have it long 12:05
So geth uses more chars of it
Ah, it doesn't refuse to show it, it's just it's the HEAD already. This works tho: github.com/rakudo/rakudo/compare/2...gccfa5e51a 12:07
buggable: speed 4
buggable eveo, ▁▁▂▂ data for 2017-06-08–2017-06-08; range: 4.296s–4.376s; 1% slower
eveo buggable: speed 10
buggable eveo, ▃▅↑▂▃▄▁▁▂▂ data for 2017-06-05–2017-06-08; range: 4.296s–5.038s; 1% faster
eveo buggable: speed 60
buggable eveo, ▁▁▂▁▁▂▁▁▃▃▃▃▃▃▂▂▁▂▆▇▂▂▂▂▃▃▃▄▂▆█▅▆▅▃▄▄▄▅▇▄▃▆▆↑▅▄▄██▄▆↑▄▅▅▃▂▄▄ data for 2017-05-13–2017-06-08; range: 4.194s–5.038s; 3% slower
jnthn back 12:20
eveo jnthn++ (blog) ugexe++ funding 12:27
timotimo ugexe++ \o/
perlpilot indeed. jnthn++ ugexe++
timotimo and jnthn++ is always correct :) 12:29
jnthn Uh...not quite always :P 12:38
nine jnthn: incorrect!
pmurias I'm not sure how to add a regression test for the optimizer inlining things incorrectly multi bug without using nqp ops, as the optimizer doesn't seem to inline things that use high level stuff 12:39
jnthn nine: :P 12:40
eveo c: ccfa5e51a2~1,ccfa5e51a2 multi f(int) {'i'}; multi f(Int) {'I'}; f(1) eq 'I' or die 12:43
committable6 eveo, ¦ccfa5e51a2~1: «Died␤ in block <unit> at /tmp/Chx3ccf6tp line 1␤ «exit code = 1»» ¦ccfa5e5: «»
eveo pmurias: ^
pmurias: use lib <t/spec/packages>; use Test::Util; is_run 「multi f(int) {'i'}; multi f(Int) {'I'}; f(1) eq 'I' or die」, {:out(''), :err(''), :0status}, 'optimizer does not get confused with native types';
(is_run is to isolate it from the rest of the code which may or may not cause the bug to disappear)
dogbert17 are there known failures in t/spec/S06-multi/type-based.rakudo.t atm? 12:47
ok 55 - generics in multis (-) 12:48
Cannot resolve caller rt107638(1); none of these signatures match:
(int $a)
(Str $a where { ... })
in block <unit> at t/spec/S06-multi/type-based.rakudo.moar line 219
jnthn Oh, Java. getErrorStream() gets the stream connected to the process stderr. Fine. Guess what getOutputStream() gets? :P 12:50
eveo m: multi sub infix:<+>(Str $ where 1, Str $) { }; quietly 'a' + 'a'
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)
in block <unit> at <tmp> line 1
timotimo jnthn: it gives you the stream you can output stuff into the process with?
nine jnthn: NULL :P 12:51
eveo dogbert17: that looks like related to pmurias++'s last commit
nine Oh boy, timotimo++ is right 12:52
eveo c: ccfa5e51a2~1,ccfa5e51a2 multi rt107638(int $a) { 'ok' }; multi rt107638(Str $a where 1) { }; rt107638(1)
committable6 eveo, ¦ccfa5e51a2~1: «» ¦ccfa5e5: «Cannot resolve caller rt107638(1); none of these signatures match:␤ (int $a)␤ (Str $a where { ... })␤ in block <unit> at /tmp/kZMErGurAc line 1␤ «exit code = 1»»
timotimo what seriously
eveo dogbert17: yeah
nine "This method returns the output stream connected to the normal input of the subprocess." 12:53
timotimo well, er ... you get an OutputStream back from the process. an output stream is something you cat put data into ... i guess that makes sense?!
dogbert17 eveo: cool, maybe we should tell Zoffix about this :-)
jnthn Correct. getOutputStream() actually gets you the thing bound to stdin :P
eveo pmurias: ^ looks like the commit fixing that bug introed another bug where natives don't get called at all now
dogbert17: what does Zoffix have to do with this?
timotimo to be fair, it'd also be weird if getInputStream gave you an OutputStream object 12:54
you pretty much can't win here
dogbert17 eveo: he's ususally interested in stuff like this but he seems to have gone up in smoke :) 12:55
nine timotimo: why not just getStdIn and getStdOut?
Or since it's Java: getStreamForSendingDataIntoTheSubProcess() 12:56
timotimo :D 13:01
.getStreamFactory.getNamedStream(System.nameForStdinStream())
pmurias eveo: I removed that test because it seems to be broken 13:21
Geth roast: 1ba85e8222 | pmurias++ | S06-multi/type-based.t
Remove test that's not correct
13:22
pmurias ahh, forgot to push
eveo: int won't match either int or Str
eveo pmurias: ah, so native type multies never auto-unbox. You have to use a native to get to them 13:23
pmurias eveo: you linked me an explanation why that happens not that long ago 13:24
eveo Yeah. Now I rememeber
Geth nqp: 320a8b9c47 | (Jonathan Worthington)++ | 2 files
Implement stdout/stderr collection for async procs
14:26
rakudo/nom: 6805f5c3c7 | (Elizabeth Mattijsen)++ | 3 files
Bring interface of R:Q.ADD-xx-TO-SET in line with others
14:40
nqp: 3f0b63c9b4 | (Jonathan Worthington)++ | 2 files
Implement writing/closing STDIN for aysnc proc.
14:50
jnthn With that, passing all but one test in S17-procasync/basic.t on JVM
Geth rakudo/nom: 58c01c501d | (Elizabeth Mattijsen)++ | 3 files
Unify interface of R:Q.ADD-xx-TO-BAG
15:18
rakudo/nom: f0c3bf7e9f | (Elizabeth Mattijsen)++ | 2 files
Some more unification in R:Q methods
15:35
dogbert17 eveo: is this text up to date, i.e. the arguments part? docs.perl6.org/language/5to6-perlfunc#link 15:40
eveo Fixed thanks. 15:44
dogbert17 np
m: my $x = prompt("Enter a number") 16:06
camelia Enter a number
dogbert17 eveo: have your 32 bit machine handy? 16:16
something has changed (quite recently) which makes the 'prompt' example above fail on my 32 bit Linix vm 16:21
doing an doing an strace of the snippet, i.e. strace -f ./perl6 -e 'my $x = prompt("Enter a number")' gives the following 16:22
...
write(1, "Enter a number", 14Enter a number) = 14
fsync(1) = -1 EINVAL (Invalid argument)
jnthn How does it fail? 16:23
dogbert17 jnthn: Enter a numberCannot flush handle: Failed to flush filehandle: Invalid argument 16:25
in block <unit> at -e line 1
eveo dogbert17: works fine on 2017.05-363-gf974dcc
dogbert17 eveo: must be very recent. Am on 2017.05-385-gf0c3bf7e9 16:26
just to clarify, I don't get a chance to type anything on the console, I get the 'Enter a number' prompt and the error in one fell swoop 16:28
jnthn Are you at MoarVM HEAD? 16:29
Also, ooc, does the REPL work?
dogbert17 2017.05-71-gad6ab26f
eveo Don't look like there are any IO commits between my working versions and yours: github.com/rakudo/rakudo/compare/2...gf0c3bf7e9 16:30
dogbert17 the REPL seems to work
jnthn How about the NQP REPL?
dogbert17 strange, there was an nqp bump though if that makes a difference
jnthn Yeah, I'm suspecting a MoarVM change 16:31
dogbert17 jnthn: nqp REPL seems to work, only did a nqp::say("Hi")
jnthn Even more odd 16:32
dogbert17 might I have messed something up
jnthn dogbert17: Could you try this diff: gist.github.com/jnthn/4dec46cd34c6...5bff124684 16:37
dogbert17 jnthn: will do
jnthn++, fixed it 16:40
jnthn OK. I'm...not quite sure whether that's the best fix
In that I worry it won't cover all the cases
But time to make dal now :) 16:41
dogbert17 indian food again?
dogbert17 google say yes :) 16:42
eveo moritz: "and als for download" s/als/also/; 16:52
moritz: "as a as a" in the same sentence
moritz: also unclosed parens :) 16:53
Andrew Shitov is on the roll with Perl 6 books it seems. Neat
timotimo two books, right? 16:57
eveo Looks like more, if I understand moritz's blog post right 16:58
timotimo impressive 16:59
i wonder if there's room on the market for a book i could write. it'd have lots of memes and lolcatspeak in it 17:00
eveo ZofBot: we should also write a book. Just for robots! 17:05
ZofBot eveo, A candidate is considered narrower than another candidate if at least one of its parameters is narrower and all the rest of its parameters are either narrower or tied
dogbert17 eveo: nice work on the perl6.org front page 17:34
eveo Async example could be better, but nothing decent comes to mind
dogbert17 one nitpick though, does the output from the async example really contain a 'T' ? 17:35
eveo It's already fixed. Just not refreshed on the site
dogbert17 eveo++ 17:36
moritz eveo: thanks, fix'd 17:42
samcv good * #perl6-dev 18:24
eveo \o 18:25
samcv oh nice the perl6.org page changed a bit i guess 18:29
more information on the front page now? i don't fully remember it previously
eveo samcv: better code examples github.com/perl6/perl6.org/commit/...9660e3d546 18:31
timotimo there's one more example, at the very least
masak .oO( no-one cares about custom ops? ) 18:43
who is this no-one, and how do I talk sense into them? :P
samcv custom operators at the perl 6 level? or custom moarvm ops 18:45
masak it was in the message of the commit linked above. so perl6. 18:46
eveo It's not the most salient feature
timotimo yeah, the example that was tossed was postfix:<!>
masak fair enough 18:47
though custom operators *are* nice, in some programs more than others
timotimo true 18:48
masak I've made extensive and joyous use of them in some kinds of exploratory programming
eveo I came across them twice in someone else's program and they were awful. Trying to link essentially arbitrary symbol (in this case) to some functionality while reading someone's code is much harder than I expected, compared to some method's name for example 18:51
Stuff like this: github.com/zoffixznet/perl6-Color#-5 18:52
timotimo those are cool 18:53
eveo "say $c ???? 20;" looks neat and probably makes sense if you came up with it, but just looking at it, there's no connection between some circle and saturation.
Makes me think of a donut
timotimo yeah, the other ones before are somewhat universal pictographical language for the idea of lightening or darkening
samcv i can't see that symbol 18:58
masak eveo: I think most "good" uses of custom operators are mathematical or algebraic in nature 19:01
eveo Yeah
masak the exploratory programming I was doing very naturally needed some new infix symbols, because it was basically an algebra 19:02
TimToady it's just as easy to pick bad words as it is to pick bad symbols :) 19:16
eveo $ perl6 -e 'say $*PERL.compiler.version; say $*PERL.compiler.version before v2017.05.380.g.0.a.100825.d' 19:27
v2017.05.380.g.0.a.10082
True
ohhh
That's weird. IIRC the version literal came from camelia. It's weird they have different versions :/ 19:28
I guess I should just be using the `v2017.05.380.g` part
1844 Zoffix │ m: say $*PERL.compiler.version 19:29
v2017.05.380.g.0.a.100825.d
why does it produce different length string? It's possible for $*PERL.compiler.version of one build to be "before" the version of the same commit on another build 19:30
m: say v2017.05.380.g.0.a.10082 before v2017.05.380.g 19:33
camelia True
eveo orly
eveo goes with v2017.05.380.* 19:34
Maybe it's due to rakudobrew 19:37
This just bizzare: 19:47
c: 0a10082 say $*PERL.compiler.version
committable6 eveo, ¦0a10082: «v2017.05.380.g.0.a.100825.d»
eveo ^ debian jesse
./perl6 -e 'say $*PERL.compiler.version' 19:48
v2017.05.380.g.0.a.10082
Debian jesse... Now compiled by hand to eliminate rakudobrew influence :S Why are they different?
Filed as rt.perl.org/Ticket/Display.html?id=131539 19:50
Just need to look at the code that makes it and it'll make sense, I guess
eveo relocates
hah... remember that groubdhog I said came up to me at the bus stop. I think I see it again now. It's a lot thinner and less cuter thia time. Tanning in the middle of the tarmac :) 20:08
AlexDaniel “lets face it though simply no one is going to even do something other than squared or cubed” 20:51
Ulti: ↑ WTF? 20:52
I've been doing stuff like 2³² a lot
or 2⁶⁴ even
let's face that just because you can't type these characters you are so sure that nobody else is going to use it… 20:53
Geth rakudo: AlexDaniel++ created pull request #1095:
A worry for RT #126732
21:24
MasterDuke what's up with synopsesbot (sp)? 21:35
eveo back 21:37
perlpilot S04
eveo S04:19 21:38
synopsebot6 Link: design.perl6.org/S04.html#line_19
perlpilot ah
S12:Interface Consistency
synopsebot6 Link: design.perl6.org/S12.html#Interface_Consistency
perlpilot I haven't used that bot in sooooo long 21:39
pmurias how is this is Blob.new(+^(my int $i = 10)).perl,'Blob.new(245)', 22:00
'check prefix +^ int';
supposed to work?
m: say(+^(my int $i = 10))
camelia -11
eveo m: say [+] ^10 22:01
camelia 45
eveo no idea 22:02
Ah, it overflows backwards
Um 22:03
s: &prefix:<+>, \(^10) 22:04
SourceBaby eveo, Sauce is at github.com/rakudo/rakudo/blob/f0c3...ric.pm#L46
eveo so where is the minus coming from
Oh wait
Ah. +^ is bitwise negation. I thought there was a range involved 22:05
pmurias is that a intentional feature? 22:06
ahh, it's the content not the length 22:07
too much js
m: use nqp;my int $i = -11; say Blob.new(nqp::add_i($i,0)).perl 22:09
camelia Type check failed in initializing element #0 to Blob; expected uint8 but got Int (-11)
in block <unit> at <tmp> line 1
pmurias eveo: it turns out if the multi method optimization bug is fixed, uncommenting all the subs from 128655 cause that test failure 22:14
eveo: Blob.new doesn't like taking a negative int
eveo m: dd Blob.new: -11 22:16
camelia Blob.new(245)
eveo weird
pmurias m: use nqp;my int $i = 11; say Blob.new(nqp::add_i($i,0)).perl 22:26
camelia Type check failed in initializing element #0 to Blob; expected uint8 but got Int (11)
in block <unit> at <tmp> line 1
pmurias eveo: it happens with positive ints too 22:27
eveo: my guess is they avoid being hllized somehow and the type check fails
I think I'll leave the exact bug for someone else to eradicate as I have tons of js bugs to hunt down 22:28
eveo Sure. 22:33