Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-01-01

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:13 Ven joined #perl6-dev
00:24 pmurias joined #perl6-dev
00:32 dugword joined #perl6-dev
00:33 Ven joined #perl6-dev
00:45 pyrimidine joined #perl6-dev
00:53 Ven joined #perl6-dev
01:06 * [Coke] waves to lizmat from the past.
01:12 Ven joined #perl6-dev
01:32 Ven joined #perl6-dev
01:52 Ven joined #perl6-dev
01:58 pyrimidine joined #perl6-dev
02:09 unicodable6 joined #perl6-dev
02:12 Ven joined #perl6-dev
02:25 FROGGS_ joined #perl6-dev
02:32 Ven joined #perl6-dev
02:37 Tux__ joined #perl6-dev
02:39 pyrimidi_ joined #perl6-dev
02:39 kalkin-_ joined #perl6-dev
02:48 ilbot3 joined #perl6-dev
02:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:52 Ven joined #perl6-dev
03:12 Ven joined #perl6-dev
03:26 pyrimidine joined #perl6-dev
03:31 dugword joined #perl6-dev
03:32 Ven joined #perl6-dev
03:33 dugword https://github.com/rakudo/rakudo/pull/981
03:33 dugword Pull request to resolve issue
03:33 dugword Hey all, I just submitted a pull request to rakudo to resolve some issues with IO::Socket::INET. Please let me know if there is anything I can change in the code, or in the process I followed to document/submit my changes. (This'll be my first pull request on the project).
03:34 notviki dugword: what I'm seeing is we had port default to 80 but now it's removed?
03:37 notviki dugword: it's more performant to write { unless $port ~~ PIO::MIN_PORT .. PIO::MAX_PORT; } as unless PIO::MIN_PORT <= $port <= PIO::MAX_PORT;
03:37 notviki guess doesn't really matter for this method.
03:38 dugword I don't think that actually was the default. When I ran the code with no port specified I couldn't get a client to connect to 80
03:38 dugword And the docs don't specify a default
03:38 dugword Nor does roast
03:38 dugword I can make that change if it is more performant. I think both are as easy to read
03:39 dugword Lemme double check that port 80 thing though
03:40 notviki Also, it's probably a bad idea to have two multies repeating all the defaults like that.
03:41 notviki And multi method new (*%args) { can just omit the argument since we're not using it, as methods ignore any extra named params anyway
03:44 dugword Idea for a better strategy on dealing with the defaults? Switch it back to a single method with an if statement for the client/server constructors? Or check to see if the values are defined before passing them to bless
03:47 dugword Also, confirmed that IO::Socket::INET.new(:listen, :localhost<localhost>) does not listen on port 80. IO::Socket::INET.new(:listen, :localhost<localhost>, :localport(80)) does
03:47 dugword That default is a lie :)
03:49 notviki But that's $localport, not $port
03:51 notviki looks like there's a bug with it
03:51 notviki If you use .new() to connect, the default would apply, but I also see .connect() method that would mess up the default
03:51 dugword d'oh, you are correct. port 80 does work as a default when connecting
03:52 Ven joined #perl6-dev
03:54 dugword I don't follow, the .connect() method seems to work with the new code
03:55 dugword Both new and old code fail when a port isn't passed. .connect() requires two arguments
03:55 notviki No, I was talking about the old code. The 80 default for port only worked if you used .new() and not .connect()
03:55 notviki So it's probably fine that it's omited
03:57 notviki dugword: as for de-duplicating the defaults. I think if we stick them onto the attributes and add *%rest slurpies to .new()s and then just slip those into .bless(|%rest, ...) then it'll work. That'll also ensure all the attributes of subclasses get passed along as well.
03:57 dugword That's a good idea
03:58 dugword Should I update the .connect() method? It could default to the current value of $.port
03:59 notviki No, it's fine. And leave off the 80 default altogether. Seems a strange default and probably not worth having it.
04:00 notviki I'd also relax the port/localport requiring an Int to an Int(Cool) coercer instead
04:01 notviki and $family too
04:02 dugword Will do, thanks
04:06 notviki dugword: BTW did you run the spectest on it?    TEST_JOBS=7 make spectest
04:06 notviki or TEST_JOBS=7 make stresstest  (more thorough)
04:07 dugword I did, I get weird issues with one of the tests that looks at file events. But I was getting those before. make t/spec/S32-io/IO-Socket-INET.t passes
04:08 dugword There are no IO::Socket::INET tests for the default port, or for parsing URIs like host:port
04:08 notviki OK
04:10 * notviki hopes to commit one more fix in the next 50 minutes...
04:11 notviki "Cannot iterate object with P6opaque representation (NQPMatch)"
04:11 notviki Dammit, how do I see what's in the NQPMatch :/
04:12 Ven joined #perl6-dev
04:30 * notviki gives up on trying to fix it.
04:30 notviki "# This is a cheaty and evil hack."
04:30 notviki Yeah, well, then why did you put it in?
04:31 * notviki purposfully avoids looking at git blame
04:32 Ven joined #perl6-dev
04:42 pyrimidi_ joined #perl6-dev
04:51 dalek rakudo/nom: 3d3e7e5 | (Zoffix Znet)++ | README.md:
04:51 dalek rakudo/nom: Make reference to #perl6 a clickable URL
04:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d3e7e57ff
04:51 notviki There!
04:51 notviki Last commit of 2016.
04:52 Ven joined #perl6-dev
04:52 * notviki goes to fetch celebratory carbonated water
04:53 samcv u: party
04:53 unicodable6 samcv, U+1F389 PARTY POPPER [So] (🎉)
04:54 * notviki read that as "party pooper" at first...
04:55 samcv submit an emoji recommendation hhehe
05:12 Ven joined #perl6-dev
05:24 Zoffix joined #perl6-dev
05:27 notviki joined #perl6-dev
05:32 Ven joined #perl6-dev
05:43 dalek roast: 149ad98 | samcv++ | S15-nfg/GraphemeBreakTest (2 files):
05:43 dalek roast: Update Unicode Grapheme Break test to have more clear messages
05:43 dalek roast:
05:43 dalek roast: May have fixed a couple tests which had the incorrect expected number of
05:43 dalek roast: characters.
05:43 dalek roast: review: https://github.com/perl6/roast/commit/149ad98aaa
05:43 dalek roast: e512b14 | samcv++ | S15-nfg/GraphemeBreakTest.t:
05:43 dalek roast: Todo failing tests in GraphemeBreakTest.t
05:43 dalek roast: review: https://github.com/perl6/roast/commit/e512b14699
05:51 Ven joined #perl6-dev
06:11 Ven joined #perl6-dev
06:29 Zoffix dugword, all done or are you working on more changes for your PR?
06:30 dugword Might be done, doing some testing and review
06:31 Ven joined #perl6-dev
06:31 dugword while trying to corral a 3 year old back to her bed
06:34 dalek rakudo/nom: 6b92983 | (Zoffix Znet)++ | appveyor.yml:
06:34 dalek rakudo/nom: Remove trailing whitespace
06:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6b92983273
06:34 dalek rakudo/nom: 15a2f11 | (Zoffix Znet)++ | appveyor.yml:
06:34 dalek rakudo/nom: Try to unbust appveyer
06:34 dalek rakudo/nom:
06:34 dalek rakudo/nom: The build error message suggests this option, so let's give it a whirl.
06:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/15a2f112ba
06:41 dugword I closed it for now, I'll re-open when I'm done reviewing
06:41 notviki OK
06:51 Ven joined #perl6-dev
07:10 pyrimidine joined #perl6-dev
07:11 Ven joined #perl6-dev
07:27 bartolin oh noes, the jvm backend is broken again /o\
07:27 * bartolin looks at src/core/Cursor.pm suspiciously
07:29 dalek roast: 0fce7c1 | usev6++ | S (5 files):
07:29 dalek roast: Fudge some more failing tests for JVM
07:29 dalek roast: review: https://github.com/perl6/roast/commit/0fce7c121a
07:29 notviki :(
07:31 Ven joined #perl6-dev
07:36 dalek rakudo/nom: c5e54ef | (Zoffix Znet)++ | src/core/Range.pm:
07:36 dalek rakudo/nom: Make Range.AT-POS on int ranges same as num Ranges and lists
07:36 dalek rakudo/nom:
07:36 dalek rakudo/nom: When fetching an item at index higher than what's available, lists and
07:36 dalek rakudo/nom: Num ranges return Nil. Integer Ranges, on the other hand, return a Failure.
07:36 dalek rakudo/nom:
07:36 dalek rakudo/nom: Fix by making int ranges behave same as num ranges and lists (return Nil).
07:36 dalek rakudo/nom:
07:36 dalek rakudo/nom: Fixes RT#130449: https://rt.perl.org/Ticket/Display.html?id=130449
07:36 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130449
07:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c5e54efc88
07:36 dalek roast: 88106f4 | (Zoffix Znet)++ | S02-types/range.t:
07:36 dalek roast: Test out-of-range AT-POS on Range objects
07:36 dalek roast:
07:36 dalek roast: RT#130449: https://rt.perl.org/Ticket/Display.html?id=130449
07:36 dalek roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/c5e54efc88
07:36 dalek roast: review: https://github.com/perl6/roast/commit/88106f42b3
07:36 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130449
07:47 Ven joined #perl6-dev
07:48 pyrimidine joined #perl6-dev
07:55 Ven joined #perl6-dev
08:01 TimToady hny from PST!
08:02 Zoffix HNY!
08:15 Ven joined #perl6-dev
08:20 * japhb wonders when the neighborhood fireworks will stop ...
08:21 samcv bartolin, have you ever used Collate on JVM?
08:21 samcv and what are your thoughts on JVM's compareTo for strings, which is like super vague about how it sorts, not even telling you any rules of sorting
08:24 samcv Compares two strings lexicographically. The comparison is based on the Unicode value of each character in the strings. The character sequence represented by this String object is compared lexicographically to the character sequence represented by the argument string
08:24 samcv j: say 'a' cmp 'B'
08:24 camelia rakudo-jvm 8ca367: OUTPUT«More␤»
08:25 samcv m: say 'a' cmp 'B'
08:25 camelia rakudo-moar c5e54e: OUTPUT«More␤»
08:26 samcv TimToady, do you think these return values are sane? https://github.com/MoarVM/MoarVM/pull/477 for unicmp_s
08:37 dalek rakudo/nom: 1e3a325 | (Zoffix Znet)++ | src/core/ (2 files):
08:37 dalek rakudo/nom: Strip trailing whitespace
08:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1e3a325bd1
08:37 bartolin samcv: sorry, I know next to nothing about that topic
08:39 samcv there is Collation too though apparently
08:40 samcv bartolin, are java strings stored as NFG codepoints or just as the actual provided ones? and doesn't do normalization? you know?
08:40 samcv i know these are hard questions, just curious
08:40 samcv j: "test".NFC.say
08:40 camelia rakudo-jvm 8ca367: OUTPUT«NFC not yet implemented. Sorry. ␤  in method throw at gen/jvm/CORE.setting line 27529␤  in method NFC at gen/jvm/CORE.setting line 14596␤  in block <unit> at <tmp> line 1␤␤»
08:41 * bartolin is clueless about that
08:42 samcv j: say "\x[1E69]".ords.say
08:42 camelia rakudo-jvm 8ca367: ( no output )
08:42 Ven joined #perl6-dev
08:43 samcv m: say "\x[1E69]".ords.say
08:43 camelia rakudo-moar c5e54e: OUTPUT«(7785)␤True␤»
08:43 samcv weird.
08:43 samcv ( that character changes on normalization )
08:43 samcv oh wait
08:43 samcv duh i'm dumb
08:43 samcv j: say "\x[1E69]".ords
08:43 camelia rakudo-jvm 8ca367: OUTPUT«(7785)␤»
08:43 samcv m: 7785.base(16).say
08:43 camelia rakudo-moar c5e54e: OUTPUT«1E69␤»
08:44 samcv oh that was a bad example. the canonical form is the same
08:44 samcv m: say "\x[1E0B]\x[0323]".ords
08:44 camelia rakudo-moar c5e54e: OUTPUT«(7693 775)␤»
08:45 samcv m: say "\x[1E0B]\x[0323]".ords.».base(16).say
08:45 camelia rakudo-moar c5e54e: OUTPUT«(1E0D 307)␤True␤»
08:45 samcv j: say "\x[1E0B]\x[0323]".ords.».base(16).say
08:45 camelia rakudo-jvm 8ca367: OUTPUT«(1E0B 323)␤True␤»
08:45 samcv ah here we go :)
08:45 samcv java doesn't do any normalization
08:46 samcv m: say "\x[1E0B]\x[0323]".chars
08:46 camelia rakudo-moar c5e54e: OUTPUT«1␤»
08:46 samcv j: say "\x[1E0B]\x[0323]".chars
08:46 camelia rakudo-jvm 8ca367: OUTPUT«2␤»
08:49 samcv looks like BreakIterator could return the proper number of characters
08:50 samcv also java.text.Normalizer may be of interest for getting the same functionality as moar
08:51 samcv looks like java has ways to do NFC and NFD and NFKC and NFKD https://docs.oracle.com/javase/6/docs/api/java/text/Normalizer.Form.html
08:51 samcv so looks like that could eventually be implemented
08:54 samcv bartolin, so you say the JVM doesn't build atm?
08:56 bartolin samcv: yeah, looks like 9eef565c29 broke it. (make still works, but make install does not)
08:56 bartolin "This type cannot unbox to a native number" ...
08:56 samcv lameo. i don't really know java but i am willing to help out with the unicode stuff, maybe implement those
08:57 samcv those errors piss me off when programming in nqp
08:57 samcv bartolin, i'd also like to help add uniprop to JVM as well
08:57 bartolin that sounds great! ++samcv :-)
08:57 samcv i hope you know how to add ops to nqp or whatever? for jvm. can't be too hard?
08:58 samcv java looks kind of boring of a language. is this true?
09:00 bartolin well, tbh I'm not really proficient with java. I'm only trying to do some housekeeping and keep rakudo-j "alive" -- hoping for someone else to take over
09:01 bartolin as psch noted a few times ago, we need a kind of champion for the JVM backend
09:01 bartolin s/ago/earlier/
09:02 Ven joined #perl6-dev
09:02 samcv champion heh
09:03 samcv compiling and installing would be a good bar to get to at least
09:05 * bartolin aims at 'spectest mostly error free, so that regressions can be found (and fixed)'
09:06 samcv yeah
09:09 gfldex m: say (1/1000) < 0
09:09 camelia rakudo-moar 1e3a32: OUTPUT«False␤»
09:09 gfldex who broke my math?
09:09 gfldex m: say (1/1000).WHAT
09:09 camelia rakudo-moar 1e3a32: OUTPUT«(Rat)␤»
09:10 samcv well 1/1000 isn't less than 0
09:10 samcv at least on odd numbered days
09:10 Zoffix bisectable6, say (1/1000) < 0
09:10 bisectable6 Zoffix, On both starting points (old=2015.12 new=1e3a325) the exit code is 0 and the output is identical as well
09:10 bisectable6 Zoffix, Output on both points: False
09:10 gfldex m: say (1/1000) > 0
09:10 camelia rakudo-moar 1e3a32: OUTPUT«True␤»
09:10 bartolin anyway, it would be really nice to get better unicode support for rakudo-j. I'd like to help with that, but I'm afraid I don't have enough tuits for the required learning and hacking :-(
09:12 Zoffix gfldex, what made you think math was broken?
09:12 gfldex lack of sleep
09:12 Zoffix OK
09:12 * Zoffix done some work on 0-denominator Rats recently.
09:13 Zoffix Well, I did last year
09:13 Zoffix :P
09:13 gfldex well, I do have some problems in a script
09:13 samcv Zoffix, no, he thought it was an even numbered day
09:14 Zoffix m: say (1/1000) > 0/0
09:14 camelia rakudo-moar 1e3a32: OUTPUT«False␤»
09:14 Zoffix m: say (1/1000) < 0/0
09:14 camelia rakudo-moar 1e3a32: OUTPUT«False␤»
09:14 samcv easy mistake to makje
09:14 gfldex it's all good, found my mistake
09:14 Zoffix *phew* :)
09:14 samcv well 0/0 is NaN tho
09:15 samcv so right, left side is greater
09:15 samcv m: say 0/0
09:15 camelia rakudo-moar 1e3a32: OUTPUT«Attempt to divide by zero using div␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
09:15 samcv please camelia. why are you so mean
09:15 samcv i just wanted to divide by zero :(
09:16 samcv i do like the 'Attempt' part though. makes it clear you actually did _not_ divide by zero hehe
09:16 Zoffix m: my $a = 1/1000; my $b = 0/0; dd [ $a < $b, $a > $b, $a == $b ]
09:16 camelia rakudo-moar 1e3a32: OUTPUT«[Bool::False, Bool::False, Bool::False]␤»
09:19 samcv i think in some occurances though Java seems to compare ""lexigraphically" and other times by codepoint badly
09:20 samcv maybe. i think i remember that. looking at the docs they say something about unicode codepoints, but maybe it was just the differences between sorting by NFC on moar vs like whatever Java had stored
09:21 samcv the wiki page for lexographical order says it's by dictionary order, but has a specific meaning comparing length at specific points or whatever
09:22 RabidGravy joined #perl6-dev
09:22 Ven joined #perl6-dev
09:26 dalek roast/6.c-errata: 9eb108d | (Zoffix Znet)++ | S02-types/nested_arrays.t:
09:26 dalek roast/6.c-errata: Fix incorrect test
09:26 dalek roast/6.c-errata:
09:26 dalek roast/6.c-errata: The test tests the range in error message is 0..Inf, but the actual
09:26 dalek roast/6.c-errata: range the error should be reporting must not include Inf itself.
09:26 dalek roast/6.c-errata: review: https://github.com/perl6/roast/commit/9eb108d2ef
09:27 dalek roast: 7149170 | (Zoffix Znet)++ | S02-types/nested_arrays.t:
09:27 dalek roast: Fix incorrect test
09:27 dalek roast:
09:27 dalek roast: The test tests the range in error message is 0..Inf, but the actual
09:27 dalek roast: range the error should be reporting must not include Inf itself.
09:27 dalek roast: review: https://github.com/perl6/roast/commit/7149170ad1
09:29 samcv j: say $*VERSION
09:29 camelia rakudo-jvm 8ca367: OUTPUT«Dynamic variable $*VERSION not found␤  in sub DYNAMIC at gen/jvm/CORE.setting line 589␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in method throw at gen/jvm/CORE.setting line 27529␤  in method throw at gen/jvm/CORE.setting line 301…»
09:29 samcv maybe i made up that variable
09:29 samcv yeah
09:30 timotimo we have more than one kind of version
09:30 samcv yes
09:31 Zoffix j: say $*VM.version
09:31 camelia rakudo-jvm 8ca367: ( no output )
09:31 Zoffix j: say $*VM.version
09:31 camelia rakudo-jvm 8ca367: OUTPUT«v1.8␤»
09:33 samcv Unicode 10.0 adds exactly 8,518 characters, for a total of 136,690 characters. These additions include 4 new scripts and 56 new emoji characters.
09:33 samcv The new scripts and characters in Version 10.0 add support for lesser-used languages worldwide, including:
09:33 samcv TBD
09:33 samcv Important symbol additions include:
09:33 samcv TBD
09:33 samcv 56 emoji characters, such as ...
09:33 samcv hahaha
09:34 timotimo that reminds me of the article on the GOP website proclaiming that trump clearly won the debate against hillary clinton that would start a few hours after they accidentally published it
09:34 pyrimidine joined #perl6-dev
09:34 samcv hah
09:34 samcv it cites that it adds 4 scripts. but they don't know what?
09:34 samcv they do mention one though, some ancient japanese script
09:34 timotimo i hope they didn't add java script
09:35 samcv also there are not enough symbols. i need a symbol for zero width joiner
09:35 samcv i mean there IS an ISO symbol for it
09:35 samcv but it's not in unicode
09:36 samcv zero width non-joiner: https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/ISOIEC-9995-7-081--IEC-60417-6077-1--Symbol-for-ZWNJ.svg/120px-ISOIEC-9995-7-081--IEC-60417-6077-1--Symbol-for-ZWNJ.svg.png
09:36 samcv zero width joiner: https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/ISOIEC-9995-7-082--IEC-60417-6077-2--Symbol-for-ZWJ.svg/2000px-ISOIEC-9995-7-082--IEC-60417-6077-2--Symbol-for-ZWJ.svg.png
09:37 samcv wow they prolly gonna add DIGIT ZERO short diagonal stroke form eventually maybe in unicode 10
09:37 samcv well a lot of these things are for being able to transcribe written things, and retain the information on the page
09:37 samcv 278 additional emoji variation sequences WEW
09:38 samcv on the proposed page
09:38 samcv aka pipeline
09:38 samcv oh wait no that was accepted i'm looking in the past. the dates this year are being in ISO
09:39 timotimo "WEW"?
09:39 samcv whew
09:39 timotimo ah
09:42 Ven joined #perl6-dev
09:43 samcv reading the list of unicode rejections
09:43 samcv 2011 rejected a subscript forward slash
09:43 samcv heh
09:44 samcv b-but there are subscript numbers. they're reasoning was that there is already a slash character, just like use markup or something to render as subscript
09:46 timotimo :\
09:46 dalek rakudo/nom: efc075b | (Zoffix Znet)++ | src/core/ (11 files):
09:46 dalek rakudo/nom: Fix and consistify X::OutOfRange
09:46 dalek rakudo/nom:
09:46 dalek rakudo/nom: - Consistently use Str as range instead of Range object. One exception
09:46 dalek rakudo/nom:     is Range.in-range that still returns a Range because 6.c-errata
09:46 dalek rakudo/nom:     tests for some Dateish methods test that use Range.in-range actually
09:46 dalek rakudo/nom:     tests an exception has a Range object in it it. Why not make them all
09:46 dalek rakudo/nom:     Range objects? Because `.gist()` for int ranges that start from zero
09:46 dalek rakudo/nom:     shows them as "^42" instead of "0..42," which is a bit confusing in an
09:46 dalek rakudo/nom:     error message. Also, a .rotor X::OutOfRange may soon contain a more
09:46 dalek rakudo/nom:     elaborate Range description that can't be represented with Range object.
09:46 dalek rakudo/nom: - Consitently use "Inf" (changes use of "0..*" to "0..Inf")
09:47 notviki https://github.com/rakudo/rakudo/commit/efc075bdbcbfa29980db26a9cb878a2ce57ad701
09:47 samcv i'm hungry. feel like i haven't eaten since last year
09:47 samcv don't know how i'm alive right now
09:47 timotimo everything i've eaten since last year i've thrown up already
09:47 samcv what did you eat?
09:48 timotimo a few slices of zwieback
09:54 [Tux] This is Rakudo version 2016.12-162-g1e3a325bd built on MoarVM version 2016.12-35-g293bda71
09:54 [Tux] csv-ip5xs        3.090
09:54 [Tux] test            12.972
09:54 [Tux] test-t           5.258
09:54 [Tux] csv-parser      14.046
09:55 timotimo i'll try sleep again
09:55 timotimo buggable: speed
09:55 buggable timotimo, ▆▄▅▅▅▄▅▅▅▅▅█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▃▃▃▂▂▂▂▂▂▂▁▁▁▁▂▁▂▃▁▁▂▁ data for 2016-12-10–2017-01-01; variance: 5.137s–7.592s
10:02 Ven joined #perl6-dev
10:22 Ven joined #perl6-dev
10:26 samcv j: say Q<ୈtest<ୈ
10:26 camelia rakudo-jvm 8ca367: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Couldn't find terminator > (corresponding < was at line 1)␤at <tmp>:1␤------> say Q<ୈtest<ୈ⏏<EOL>␤    expecting any of:␤        >␤»
10:26 samcv very interesting
10:27 samcv j: say Q<ୈtest>
10:27 camelia rakudo-jvm 8ca367: OUTPUT«ୈtest␤»
10:27 samcv m: say Q<ୈtest>
10:27 camelia rakudo-moar efc075: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Couldn't find terminator <ୈ (corresponding <ୈ was at line 1)␤at <tmp>:1␤------> say Q<ୈtest>⏏<EOL>␤    expecting any of:␤        <ୈ␤»
10:28 samcv but i guess that makes sense if it parses by codepoint
10:42 Ven joined #perl6-dev
11:02 Ven joined #perl6-dev
11:05 Zoffix left #perl6-dev
11:15 dalek roast: 0963eed | moritz++ | S09-typed-arrays/native-int.t:
11:15 dalek roast: RT #130443: my int @a = ^Inf
11:15 dalek roast: review: https://github.com/perl6/roast/commit/0963eed92e
11:15 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130443
11:16 dalek rakudo/nom: d5f27f9 | bartolin++ | t/spectest.data:
11:16 dalek rakudo/nom: Don't run test file on JVM
11:16 dalek rakudo/nom:
11:16 dalek rakudo/nom: The test file contains only one test that dies with a StackOverflowError
11:16 dalek rakudo/nom: on JVM and isn't easily fudgeable.
11:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d5f27f9f4a
11:18 dalek rakudo/nom: 268dc92 | (Zoffix Znet)++ | / (2 files):
11:18 dalek rakudo/nom: Handle Mu in Test::is()
11:18 dalek rakudo/nom:
11:18 dalek rakudo/nom: Fixes RT#126149: https://rt.perl.org/Ticket/Display.html?id=126149
11:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/268dc92e2a
11:18 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126149
11:22 Ven joined #perl6-dev
11:25 pyrimidine joined #perl6-dev
11:26 dalek roast: 6647021 | (Zoffix Znet)++ | S09-typed-arrays/native-int.t:
11:26 dalek roast: Tweak int array = ^Inf test
11:26 dalek roast:
11:26 dalek roast: The bug it tests is sensitive to sink context and having the code as
11:26 dalek roast: last value of the block uses its value as return value, so the test
11:26 dalek roast: passes even before the bug fix.
11:26 dalek roast:
11:26 dalek roast: Fix by using a dummy value as return value for the block.
11:26 dalek roast: review: https://github.com/perl6/roast/commit/66470216bb
11:30 dalek roast: bb45101 | samcv++ | S05-modifier/sigspace.t:
11:30 dalek roast: Add test for trailing space with :sigspace regex being significant
11:30 dalek roast:
11:30 dalek roast: Closes RT #30045
11:30 dalek roast: review: https://github.com/perl6/roast/commit/bb45101437
11:30 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=30045
11:34 dalek roast: 59c548d | samcv++ | S05-modifier/sigspace.t:
11:34 dalek roast: Make test `is` instead of `ok` for regex sigspace
11:34 dalek roast: review: https://github.com/perl6/roast/commit/59c548d1ed
11:42 pyrimidine joined #perl6-dev
11:42 Ven joined #perl6-dev
12:02 Ven joined #perl6-dev
12:34 Ven joined #perl6-dev
12:46 gfldex m: role R { method m { say 'oi‽' } }; R.new.^mro.say; say R.new.^mro[0].HOW.^name; say R.new ~~ R;
12:46 camelia rakudo-moar 268dc9: OUTPUT«((R) (Any) (Mu))␤Perl6::Metamodel::ClassHOW␤True␤»
13:04 froggs joined #perl6-dev
13:05 pyrimidine joined #perl6-dev
13:14 FROGGS joined #perl6-dev
13:14 dalek roast: 65e399e | usev6++ | S05-capture/match-object.t:
13:14 dalek roast: Fudge newly added tests for r-j
13:14 dalek roast: review: https://github.com/perl6/roast/commit/65e399e827
13:19 FROGGS joined #perl6-dev
13:39 dalek rakudo/nom: 9af9515 | usev6++ | src/core/Cursor.pm:
13:39 dalek rakudo/nom: Remove special cases for JVM
13:39 dalek rakudo/nom:
13:39 dalek rakudo/nom: ... which are no longer needed. This fixes the build
13:39 dalek rakudo/nom: for rakudo-j.
13:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9af9515df6
13:39 dalek rakudo/nom: 29b5eab | lizmat++ | src/core/Cursor.pm:
13:39 dalek rakudo/nom: Merge pull request #983 from usev6/jvm_cursor
13:39 dalek rakudo/nom:
13:39 dalek rakudo/nom: Remove special cases for JVM
13:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29b5eab0fd
14:12 nine I just love commits like these ^^^ :)
14:17 bartolin yeah, that was nice (and surprising) fix
14:18 bartolin btw, now that rakudo-j builds again, could you maybe build a current camelia-on-jvm?
14:20 nine bartolin: it's building right now. I'll watch it and help if needed
14:21 bartolin thanks!
14:22 bartolin nine++ # running camelia
14:22 nine Yeah, the good old java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp'
14:37 nine Aha, it's trying to load /home/camelia/rakudo-j-inst-1/share/nqp/lib/Perl6/ModuleLoader.jar instead of blib/Perl6/ModuleLoader.jar
14:37 nine "it" being NQP's module loader. So those gorram build issues may be fixed by shuffling around NQP's search paths
14:39 bartolin ooc did you do a git clean -dfx first?
14:42 nine No, but I did delete blib/Perl6/*
14:42 nine But since it finds the old, _installed_ QRegex.jar instead of the one in blib, it ought to be a search path priority issue
14:42 bartolin *nod*
14:50 AlexDaniel joined #perl6-dev
14:54 nine nqp-j does have a --module-path argument, but AFAICS you can only give it a single path which is not enough to cover both blib and the installed nqp libs :/
15:15 Ven joined #perl6-dev
15:28 timotimo .u BEL
15:28 yoleaux2 U+0007 BELL [Cc] (␇)
15:28 yoleaux2 U+0218 LATIN CAPITAL LETTER S WITH COMMA BELOW [Lu] (Ș)
15:28 yoleaux2 U+0219 LATIN SMALL LETTER S WITH COMMA BELOW [Ll] (ș)
15:28 timotimo .u SYMBOL FOR BEL
15:28 yoleaux2 U+2407 SYMBOL FOR BELL [So] (␇)
15:29 timotimo do y'all think \␇ in strings should work?
15:34 psch "work" in what sense?  make a sound..?
15:35 Ven joined #perl6-dev
15:35 psch oh, wait, that one behind the \ is U+2407, isn't it
15:38 timotimo hah
15:38 timotimo correct
15:39 psch isn't that just an invalid escape sequence?
15:39 psch m: say "\␤"
15:39 camelia rakudo-moar 29b5ea: OUTPUT«␤␤»
15:40 psch m: say "\␇"
15:40 camelia rakudo-moar 29b5ea: OUTPUT«␇␤»
15:40 psch m: say "\2"
15:40 camelia rakudo-moar 29b5ea: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Unrecognized backslash sequence (did you mean $1?)␤at <tmp>:1␤------> say "\2⏏"␤»
15:40 psch m: say "\☃"
15:40 camelia rakudo-moar 29b5ea: OUTPUT«☃␤»
15:40 psch ...apparently not
15:41 psch i'm still not sure what "work" should mean in that context though vOv
15:42 timotimo well, you could get BEL when you write \SYMBOL FOR BEL
15:42 timotimo and the other ones
15:43 psch so every So that corresponds to an ascii escape should be convertable to it via backslashing?
15:43 timotimo yeah, that'd be fun, no?
15:43 timotimo maybe even for other invisible things like the ZWJ and ZWNJ
15:43 psch doesn't sound too bad i suppose
15:44 psch i'm guessing there's some uniprop that makes it clear which ones can be converted like that?
15:47 psch ...although we'd probably hardcode that i guess
15:55 Ven joined #perl6-dev
16:00 dalek nqp: c67a3cd | (Pawel Murias)++ | src/vm/jvm/QAST/JASTNodes.nqp:
16:00 dalek nqp: [JVM] Avoid duplicating the mapping of opcode numbers.
16:00 dalek nqp: review: https://github.com/perl6/nqp/commit/c67a3cd7df
16:00 dalek nqp: 5f5ecf9 | (Pawel Murias)++ | t/serialization/01-basic.t:
16:00 dalek nqp: Fix the test on the JVM.
16:00 dalek nqp: review: https://github.com/perl6/nqp/commit/5f5ecf9036
16:14 Ven joined #perl6-dev
16:25 Ven_ joined #perl6-dev
16:36 dugword joined #perl6-dev
16:50 MasterDukeMobile joined #perl6-dev
16:59 * notviki plans to merge abst5act's set work later today.
17:00 notviki It only exposes an existing bug and re-hiding it in 6.c-errata doesn't need any changes to tests themselves. I don't want that PR to bit-rot.
17:10 huggable joined #perl6-dev
17:10 buggable joined #perl6-dev
18:06 lizmat good *, #perl6-dev!
18:06 lizmat m: class A { has $.x = 42 }; dd A.new("a" => 666)   # TIL that this doesn't work
18:06 camelia rakudo-moar 29b5ea: OUTPUT«Default constructor for 'A' only takes named arguments␤  in block <unit> at <tmp> line 1␤␤»
18:07 notviki \o
18:07 lizmat m: class A { has $.x = 42 }; dd A.new(|{"a" => 666})   # yuck
18:07 camelia rakudo-moar 29b5ea: OUTPUT«A.new(x => 42)␤»
18:08 lizmat anyways, I have a feeling this has been discussed at length before my involvement with Perl 6
18:08 notviki prolly. That way is for passing Pair objects
18:08 notviki m: class A { has $.x = 42 }; dd A.new(42 => 666) # same with this form
18:08 camelia rakudo-moar 29b5ea: OUTPUT«Default constructor for 'A' only takes named arguments␤  in block <unit> at <tmp> line 1␤␤»
18:09 lizmat m: class A { has $.x = 42 }; dd A.new(:a(666))  # use :named syntax for reliable passing of named params
18:09 camelia rakudo-moar 29b5ea: OUTPUT«A.new(x => 42)␤»
18:14 notviki m: class A { method new (*%_) { self.bless: |%_ }}; dd A.new(|("💩" => 666))
18:14 camelia rakudo-moar 29b5ea: OUTPUT«A.new␤»
18:19 notviki m: class A { method new (*%_) { with self.bless { for %_ -> (:$key, :$value) { .^add_method: $key, { $value }  }; $_}}}; dd A.new(|("💩" => 666)).^methods».name
18:19 camelia rakudo-moar 29b5ea: OUTPUT«("new", "")␤»
18:19 notviki m: class A { method new (*%_) { with self.bless { for %_ -> (:$key, :$value) { .^add_method: $key, { $value }  }; $_}}}; dd A.new(|("💩" => 666))."💩"
18:19 camelia rakudo-moar 29b5ea: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Quoted method name requires parenthesized arguments. If you meant to concatenate two strings, use '~'.␤at <tmp>:1␤------> }  }; $_}}}; dd A.new(|("💩" => 666))."💩"⏏<EOL>␤»
18:19 notviki m: class A { method new (*%_) { with self.bless { for %_ -> (:$key, :$value) { .^add_method: $key, { $value }  }; $_}}}; dd A.new(|("💩" => 666))."💩"()
18:19 camelia rakudo-moar 29b5ea: OUTPUT«Int $value = 666␤»
18:20 notviki m: class A { method new (*%_) { with self.bless { for %_ -> (:$key, :$value) { .^add_method: $key, { $value }  }; .^compose; $_}}}; dd A.new(|("💩" => 666)).^methods».name
18:20 camelia rakudo-moar 29b5ea: OUTPUT«("new", "")␤»
18:20 * notviki shrugs
18:20 notviki m: class A { method new (*%_) { with self.bless { for %_ -> (:$key, :$value) { .^add_method: $key, method ::('💩') { $value }  }; .^compose; $_}}}; dd A.new(|("💩" => 666)).^methods».name
18:20 camelia rakudo-moar 29b5ea: OUTPUT«Package 'A' already has a method '💩' (did you mean to declare a multi-method?)␤  in any add_method at gen/moar/Metamodel.nqp line 472␤  in block  at <tmp> line 1␤  in method new at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
18:22 notviki TIL perl6 has a --rxtrace switch
18:24 nebuchadnezzar joined #perl6-dev
18:24 * notviki spots "lib:." directory again :S
18:24 notviki Thought I fixed that...
18:50 dugword timtoady
18:50 dugword sorry ignore that
19:38 pyrimidine joined #perl6-dev
19:56 dalek nqp: 71d6a34 | (Joachim Durchholz)++ | tools/build/Makefile- (3 files):
19:56 dalek nqp: Makefile readability improvements: Formatting
19:56 dalek nqp:
19:56 dalek nqp: Unified formatting for list-of-file macros:
19:56 dalek nqp: One line per file, last line ends with \ (with a follow-up empty line)
19:56 dalek nqp:
19:56 dalek nqp: Unified formatting for actions:
19:56 dalek nqp: Follow-up lines start with a tab (some lines had blanks instead, others didn't)
19:56 dalek nqp: review: https://github.com/perl6/nqp/commit/71d6a34cb4
19:56 dalek nqp: 796756c | (Joachim Durchholz)++ | tools/build/Makefile- (2 files):
19:56 dalek nqp: Improve Makefile readability: Add _DIR to ?_STAGE?
19:56 dalek nqp: review: https://github.com/perl6/nqp/commit/796756cbc0
20:01 brrt joined #perl6-dev
20:08 brrt2 joined #perl6-dev
20:31 TimToady timotimo: the current behavior of "\␇" is correct and unlikely to change, since it would violate the general rule that only backslashed alphanums are meta
20:32 TimToady also note that it's not illegal because double quotes default to allowing random redundant backslashing (even in P5), while single quotes default to the other semantics keeping unrecognized backslashes
20:33 TimToady m: say '\␇'
20:33 camelia rakudo-moar 29b5ea: OUTPUT«\␇␤»
20:35 * psch wonders if the general idea has a usable application
20:35 psch as in, a backslash sequence that strip one layer, so to speak
20:36 psch i.e. SYMBOL OF BELL would turn into BEL, some grapheme with a numeric representation turns into its .Num value
20:36 psch well, .Num.Str value
20:37 psch i guess that's mixing types and q// on a level that doesn't help
20:37 psch +adverbs
20:37 lizmat https://perlgeek.de/blog-en.cgi/perl-6/2017-001-book-silent-cron.html  # moritz++
20:38 * lizmat wonders:
20:38 lizmat couldn't we abbreviate "my $result = $proc.start.result;" to "my $result = $proc.result" ?
20:38 lizmat and is the ".list" in "my $output = $collector.list.join;" needed ?
20:42 notviki s: Channel.new, 'join', \()
20:42 SourceBaby notviki, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Method+{<anon|45721456>} (Method+{<anon|4572145...)␤  in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤  in block <unit> at -e
20:42 notviki *sigh*
20:42 TimToady m: say '\qq/\c[SYMBOL FOR BELL]/'
20:42 camelia rakudo-moar 29b5ea: OUTPUT«␇␤»
20:43 notviki m: say '\c[SYMBOL FOR BELL]'
20:43 camelia rakudo-moar 29b5ea: OUTPUT«\c[SYMBOL FOR BELL]␤»
20:43 notviki :S what sorcery is that...
20:44 Ven joined #perl6-dev
20:44 TimToady single quotes still recognize \q thingies
20:45 TimToady this is primarily so you can still interpolate occasionally into long q-style heredocs containing code
20:45 notviki Didn't know we had any \q thingies :o
20:45 psch only Q doesn't do \q i think?
20:46 psch oh, there was an adverb for that, i think :c?
20:46 psch m: say Q/\qq[{ 1 + 1 }]/
20:46 camelia rakudo-moar 29b5ea: OUTPUT«\qq[{ 1 + 1 }]␤»
20:46 psch m: say Q:c/\qq[{ 1 + 1 }]/
20:46 camelia rakudo-moar 29b5ea: OUTPUT«\qq[2]␤»
20:47 TimToady no, that comes in with Q:b which is implied by Q:q
20:47 psch m: say Q:b/\qq[{ 1 + 1 }]/
20:47 camelia rakudo-moar 29b5ea: OUTPUT«2␤»
20:47 psch m: say Q:!b/\qq[{ 1 + 1 }]/
20:47 camelia rakudo-moar 29b5ea: OUTPUT«\qq[{ 1 + 1 }]␤»
20:47 psch right
21:03 Ven joined #perl6-dev
21:10 nebuchadnezzar joined #perl6-dev
21:20 kalkin- joined #perl6-dev
21:31 dalek rakudo/nom: e6ccb47 | usev6++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files):
21:31 dalek rakudo/nom: [JVM] Complete adaptation to findmethod changes
21:31 dalek rakudo/nom:
21:31 dalek rakudo/nom: With https://github.com/rakudo/rakudo/pull/967 a few occurences
21:31 dalek rakudo/nom: of 'findmethod' were changed to unbust the JVM build. It turned
21:31 dalek rakudo/nom: out that some other tweaks were necessary, because 'findmethod'
21:31 dalek rakudo/nom: throws an exception now if it can't find the method. Where the
21:31 dalek rakudo/nom: return value from 'findmethod' is checked manually, the code
21:31 dalek rakudo/nom: now uses the new method 'findmethodNonFatal'.
21:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e6ccb47087
21:31 dalek rakudo/nom: 702f845 | (Zoffix Znet)++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files):
21:31 dalek rakudo/nom: Merge pull request #984 from usev6/jvm_findmethod
21:32 jnthn (from bit of backlog I read) I'd tend to suggest writing `my $result = $proc.start.result` as `my $result = await $proc.start` (the thinking being `await` will start do the more scalable thing in the coming months, while `result` will be the blocking escape hatch)
21:32 yoleaux2 30 Dec 2016 23:52Z <japhb> jnthn: Found another possible oo-monitors bug for you (https://github.com/jnthn/oo-monitors/issues/9).  Hopefully this one is golfed down enough to make it easier to debug.
21:33 jnthn .tell japhb Thanks! Will likely get time to look at it in the next few days.
21:33 yoleaux2 jnthn: I'll pass your message to japhb.
21:33 jnthn Happy 2017, everyone. :) I'll be back to hacking on stuff from tomorrow-ish. :)
21:35 dalek roast: 8d48abf | usev6++ | S (15 files):
21:35 dalek roast: Revert "Fudge for X::Assignment::RO on JVM, RT #130470"
21:35 dalek roast:
21:35 dalek roast: This reverts commit e89914d71d1268914216d1eadac6e37511d1a546.
21:35 dalek roast:
21:35 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130470
21:35 dalek roast: The test failures were fixed with Rakudo commit
21:35 dalek roast: e6ccb47087d252a5c77c74bfd8c92ef63feccde6
21:35 dalek roast: review: https://github.com/perl6/roast/commit/8d48abf5d2
21:38 dalek nqp: 891eb6f | (Pawel Murias)++ | t/nqp/044-try-catch.t:
21:38 dalek nqp: Test nqp::getextype.
21:38 dalek nqp: review: https://github.com/perl6/nqp/commit/891eb6fe9d
21:38 dalek nqp: 5daf0e3 | (Pawel Murias)++ | / (3 files):
21:38 dalek nqp: Generate Makefile-JS.in in Configure.PL rather then keep it in the repo.
21:38 dalek nqp: review: https://github.com/perl6/nqp/commit/5daf0e31ad
21:50 pyrimidine joined #perl6-dev
21:51 bartolin r: 'say 0/0 cmp 42'  # on latest r-j fails with 'ArithmeticException: BigInteger divide by zero'
21:51 camelia rakudo-moar 702f84: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant string "say 0/0 cmp 42" in sink context (line 1)␤»
21:51 camelia ..rakudo-jvm 8ca367: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant string "say 0/0 cmp 42" in sink context (line 1)␤»
21:52 bartolin r: say 0/0 cmp 42  # on latest r-j fails with 'ArithmeticException: BigInteger divide by zero'
21:52 camelia rakudo-moar 702f84: OUTPUT«More␤»
21:52 camelia ..rakudo-jvm 8ca367: OUTPUT«java.lang.ArithmeticException: BigInteger divide by zero␤  in method Num at gen/jvm/CORE.setting line 26188␤  in method Bridge at gen/jvm/CORE.setting line 26213␤  in sub infix:<cmp> at gen/jvm/CORE.setting line 11095␤  in block <unit> at <tmp> line…»
21:53 bartolin oh, that happened on older r-j as well (8ca367 is from 2016-11-27)
21:53 bartolin so, the failing tests are probably new tests
21:54 bartolin there are failing tests in S03-operators/cmp.t, S32-list/produce.t, S32-num/fatrat.t and S32-num/rat.t
21:55 psch r: say try 0/0; say $!.perl
21:55 camelia rakudo-moar 702f84: OUTPUT«Attempt to divide by zero using div␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
21:55 camelia ..rakudo-jvm 8ca367: OUTPUT«Attempt to divide by zero using div␤  in method floor at gen/jvm/CORE.setting line 26197␤  in method Str at gen/jvm/CORE.setting line 26217␤  in method gist at gen/jvm/CORE.setting line 10002␤  in sub say at gen/jvm/CORE.setting line 33656␤  in bl…»
21:57 psch r: use nqp; nqp::div_I(0, 0, Int)
21:57 camelia rakudo-moar 702f84: OUTPUT«(signal FPE)»
21:57 camelia ..rakudo-jvm 8ca367: OUTPUT«java.lang.ArithmeticException: BigInteger divide by zero␤  in block <unit> at <tmp> line 1␤␤»
21:57 psch r: use nqp; nqp::div_In(0, 0, Int)
21:57 camelia rakudo-moar 702f84: OUTPUT«This type cannot unbox to a native number: P6opaque, Int␤  in block <unit> at <tmp> line 1␤␤»
21:57 camelia ..rakudo-jvm 8ca367: OUTPUT«===SORRY!===␤Operation 'div_In' requires 2 operands␤»
21:57 psch ah
21:57 psch still curious
21:57 psch but then i haven't actually looked at the cmp impl
21:59 bartolin I suspected some recent changes (like a567eb44ca) to cause the failures, since Zoffix++ did some work in that area
22:00 psch infix:<cmp>(Real, Real) looks weird from here, but that probably just means i shouldn't look at code right now anymore... :)
22:00 psch m: say (0/0).Bridge
22:00 camelia rakudo-moar 702f84: OUTPUT«NaN␤»
22:00 psch m: say (0/0).Bridge cmp 42
22:00 camelia rakudo-moar 702f84: OUTPUT«More␤»
22:00 psch j: say (0/0).Bridge cmp 42
22:01 camelia rakudo-jvm 8ca367: OUTPUT«java.lang.ArithmeticException: BigInteger divide by zero␤  in method Num at gen/jvm/CORE.setting line 26188␤  in method Bridge at gen/jvm/CORE.setting line 26213␤  in block <unit> at <tmp> line 1␤␤»
22:01 psch j: say (0/0).Bridge
22:01 camelia rakudo-jvm 8ca367: OUTPUT«java.lang.ArithmeticException: BigInteger divide by zero␤  in method Num at gen/jvm/CORE.setting line 26188␤  in method Bridge at gen/jvm/CORE.setting line 26213␤  in block <unit> at <tmp> line 1␤␤»
22:01 psch j: say (0/0).Num
22:01 camelia rakudo-jvm 8ca367: OUTPUT«java.lang.ArithmeticException: BigInteger divide by zero␤  in method Num at gen/jvm/CORE.setting line 26188␤  in block <unit> at <tmp> line 1␤␤»
22:02 psch https://github.com/rakudo/rakudo/blob/nom/src/core/Rational.pm#L45
22:02 psch is where we could check for ?$!denominator i suppose
22:02 psch or patch div_In to call through to a HLL exception handler maybe, although i guess that'd still throw upwards far enough
22:03 psch r: use nqp; nqp::div_In(0,0)
22:03 camelia rakudo-jvm 8ca367: OUTPUT«java.lang.ArithmeticException: BigInteger divide by zero␤  in block <unit> at <tmp> line 1␤␤»
22:03 camelia ..rakudo-moar 702f84: ( no output )
22:03 psch i mean, who's right there..? :)
22:05 bartolin well, that's to complicated for me (at least for this evening)
22:11 bartolin ahh, there is already a ticket for (0/0).Num: RT #128264
22:11 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128264
22:11 bartolin I'll update it with the nqp stuff (maybe tomorrow)
22:12 bartolin maybe I'll also fudge the failing tests with that ticket number
22:12 notviki If nqp::div_In returns a native num, it should handle the _Inf/NaN cases, per IEEE
22:13 psch yeah in the end it's a decision about backend congruity, which i find is hard to find a consensus for
22:14 notviki And https://github.com/rakudo/rakudo/commit/498d0a4ae4 looks LTA to me, because it's producing a type that can't be used in a Rat, and I'm not entirely clear on the commit message; it says it lets us .Rat'ify Inf/NaN while keeping div-by-zero exception... well, we have that without any special types, can't we?
22:15 notviki m: my Rat $x = Inf.Rat
22:15 camelia rakudo-moar 702f84: OUTPUT«Type check failed in assignment to $x; expected Rat but got Rational[Num,Int] (?)␤  in block <unit> at <tmp> line 1␤␤»
22:15 dugword joined #perl6-dev
22:16 Ven joined #perl6-dev
22:17 psch not sure i can grasp the intention of that patch, i think i'll go bedwards... :)
22:18 bartolin there is also http://irclog.perlgeek.de/perl6/2010-02-24#i_2027452
22:18 bartolin (taken from a comment in S32-num/rat.t)
22:19 bartolin https://github.com/perl6/roast/blob/8d48abf5d2398f252937e9c3f26a8c2dc1c93f82/S32-num/rat.t#L232
22:20 notviki Yeah and for the the `cmp` thing TimToady also said we shouldn't throw
22:20 notviki (that's what I implemented)
22:21 notviki And I don't know Java, but it looks like div_In is implemented as an integer division (which can't have NaN/Inf) which is then converted into a Num, which is why it's exploding: return new BigDecimal(getBI(tc, a)).divide(new BigDecimal(getBI(tc, b)), 309, RoundingMode.HALF_UP).doubleValue();
22:25 notviki Here's IEEE 754-2008 for reference: http://www.csee.umbc.edu/~tsimo1/CMSC455/IEEE-754-2008.pdf  Page 49, Section 7.2 says Inf/Inf or 0/0 is a NaN for "operations that produce results in floating-point format" and the next section 7.3 tells that for definite numerators you get Inf with its sign when divinding by zero
22:25 bartolin notviki++
22:35 pyrimidine joined #perl6-dev
22:53 dalek rakudo/nom: 3c13b73 | (Zoffix Znet)++ | tools/build/NQP_REVISION:
22:53 dalek rakudo/nom: (nqp bump) Bring in NQP with new makefile generator
22:53 dalek rakudo/nom:
22:53 dalek rakudo/nom: Full set of changes: https://github.com/perl6/nqp/compare/0ccfb63...5daf0e3
22:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c13b731ac
22:58 dalek rakudo/nom: a578e7b | ab5tract++ | src/core/set_operators.pm:
22:58 dalek rakudo/nom: Fix bag/set (^) without affecting set
22:58 dalek rakudo/nom:
22:58 dalek rakudo/nom: This should address the issues that led to the previous revert.
22:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a578e7b690
22:58 dalek rakudo/nom: 1087f84 | ab5tract++ | src/core/set_operators.pm:
22:58 dalek rakudo/nom: Fix pervasive defined-ness bug
22:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1087f8460f
22:58 dalek rakudo/nom: a687d95 | (Zoffix Znet)++ | src/core/set_operators.pm:
22:58 dalek rakudo/nom: Merge pull request #934 from ab5tract/ab5tract/sym-diff-bag-mix
22:58 dalek rakudo/nom:
22:58 dalek rakudo/nom: Fix bag/mix (^) without affecting set
23:23 dalek roast: bc86bee | ab5tract++ | S03-operators/ (2 files):
23:23 dalek roast: Re-introduce the fixes for bag/mix symdif (#187)
23:23 dalek roast:
23:23 dalek roast: * Re-introduce the fixes for bag/mix symdif
23:23 dalek roast:
23:23 dalek roast: This time, we don't change any of the set tests.
23:23 dalek roast:
23:23 dalek roast: All of the 'showkv' calls were removed as they are no longer necessary
23:23 dalek roast: and several new tests to ensure symmetric behavior on (+) and (.) operators.
23:23 dalek roast:
23:23 dalek roast: * Move away from showkv, add tests for empty bags and sets
23:23 dalek roast: review: https://github.com/perl6/roast/commit/bc86bee801

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary