Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-11-28

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

All times shown according to UTC.

Time Nick Message
01:37 samcv joined #perl6-dev
02:22 kalkin-_ joined #perl6-dev
02:32 ZzZombo joined #perl6-dev
02:32 Guest36651 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:53 AlexDaniel heh, bubble sort
03:03 MasterDuke yeah, a merge sort was even faster, but large profiles are such memory hogs anyway i thought the in-place heap sort was a better choice
03:26 ugjka joined #perl6-dev
03:32 cognominal joined #perl6-dev
06:51 RabidGravy joined #perl6-dev
07:11 [TuxCM] joined #perl6-dev
08:00 dalek nqp: bcf3fe7 | MasterDuke17++ | .gitignore:
08:00 dalek nqp: Add bin/ to .gitignore
08:00 dalek nqp:
08:00 dalek nqp: So it does not accidentally get committed
08:00 dalek nqp: review: https://github.com/perl6/nqp/commit/bcf3fe72dc
08:00 dalek nqp: 93ea436 | niner++ | .gitignore:
08:00 dalek nqp: Merge pull request #322 from MasterDuke17/gitignore_bin
08:00 dalek nqp:
08:00 dalek nqp: Add bin/ to .gitignore
08:00 dalek nqp: review: https://github.com/perl6/nqp/commit/93ea436eb0
08:03 dalek nqp: 316ee5b | MasterDuke17++ | src/vm/moar/HLL/Backend.nqp:
08:03 dalek nqp: Use heap sort to sort the keys when creating JSON
08:03 dalek nqp:
08:03 dalek nqp: The existing bubble sort could take over 8s one of the times it's called
08:03 dalek nqp: with over 4k keys when profiling a Rakudo build. That's reduced to about
08:03 dalek nqp: 0.1s with the heap sort. The usual case of <10 keys is not noticeably
08:03 dalek nqp: changed either way.
08:03 dalek nqp: review: https://github.com/perl6/nqp/commit/316ee5bda2
08:03 dalek nqp: 6e63342 | niner++ | src/vm/moar/HLL/Backend.nqp:
08:03 dalek nqp: Merge pull request #323 from MasterDuke17/better_key_sorting_for_json_in_profiles
08:03 dalek nqp:
08:03 dalek nqp: Use heap sort to sort the keys when creating JSON
08:11 timotimo MasterDuke: oh wow
08:31 mj41 joined #perl6-dev
09:09 masak heh, we had a bubble sort in there? :P
09:10 timotimo yeah, i was convinced the number of keys you'd encounter would always be around 10
09:11 masak that might still be completely true of the average case, yes
09:11 timotimo hm, why did i sort the keys in the first place?
09:12 gfldex lizmat: could you add the caterogy "2016" for the advent on wordpress please? It wont let me.
09:14 timotimo i think i can
09:14 timotimo yup, there it is
09:15 timotimo it seems like we had some trouble in the past with using tags where tags ended up with LOTS of words in them
09:15 timotimo here's a good one: 2012 Perl 5 Core Documentation I wrote perlootut from scratch and revised perlobj from the ground up for the Perl 5.16.0 release. I also made major edits to several other documents in the Perl core
09:15 timotimo ain't that a tag to behold?
09:15 DrForr I saw that in blogs.perl.org stuff as well.
09:16 timotimo oh dude
09:16 timotimo i added a 2016 tag, not category
09:16 DrForr Oh, I wasn't accusing.
09:17 timotimo now the category exists
09:17 timotimo i just updated a tag to split it into the tags it was meant to have; will that re-push it to aggregators and subscribers?
09:18 timotimo there's some tags i find amusing and cool
09:18 gfldex "Publishing of post failed." that aint nice
09:19 timotimo it looks almost as if someone wrote their whole post in the tag field instead of the content field
09:19 timotimo https://i.imgur.com/KanZTqC.png
09:20 DrForr gfldex: Is this the b.p.org beta?
09:20 gfldex think so
09:20 timotimo i think it's perl6advent.wordpress.com?
09:20 timotimo oh, ok!
09:20 timotimo some of those tags are actually totally cool
09:21 timotimo "a command line program" "or a daemon", why did it split that so perfectly? but the rest is jumbled together?
09:22 gfldex i can't publish or save a draft right now. If I happen to fall of a cliff before the problem is solved, here is my post: https://gist.github.com/gfldex/f5145c24e7021512d21ad1471aa8efcd
09:29 gfldex using the WP Admin worked. Post scheduled an ready for proofreading
09:34 psch the first paragraph has wonky line breaks here
09:35 gfldex will check (pasting html does that on WP)
09:36 psch also "there's a class for anything besides classes [...]. Metamodel::ClassHOW [...] is the class behind class" read a bit weird
09:36 psch +s
09:36 gfldex i know, but it is weird
09:37 psch i mean, it's self-contradictory
09:37 psch "there's no class behind this, except this class is behind it"
09:38 psch maybe link to some other blog post that explains the MOP a bit more, if we have one of those lying around somewhere
09:38 gfldex true, i need to think about how to tell the difference between a class defined with the class-declarator and a MOP one
09:38 timotimo there is hardly any
09:38 psch i mean
09:38 psch you define MOP classes with 'class' too, no?
09:39 gfldex conceptually there is a difference, the byte code may not agree
09:39 gfldex what i ment is that there is no class called Class
09:40 psch m: say Grammar; say Grammar.HOW
09:40 camelia rakudo-moar 054aca: OUTPUT«(Grammar)␤Perl6::Metamodel::ClassHOW.new␤»
09:41 psch that's also kinda a thing too
09:41 psch gfldex: you're definitely right that the distinction is hard to make.  maybe coming from a purely practical angle works?
09:42 gfldex i just updated with tactical typesetting
09:42 psch gfldex: it also depends a lot on how much MOP you want to explain i suppose
09:42 gfldex i will leave to MOD-explaining to jnthn :->
09:43 psch oh, and i think "[...] ClassHOW, what is [...]" is bad english grammar?
09:43 psch feels like that should be 'which'
09:43 gfldex true
10:33 |Tux| joined #perl6-dev
11:10 gfldex m: say Any.WHO, Any.new.WHO
11:10 camelia rakudo-moar 054aca: OUTPUT«AnyAny␤»
11:20 chinarulezzz joined #perl6-dev
11:56 viki m: printf '%z'; CATCH { default { dd [.is-setting, .Str] given .backtrace[4] } }
11:56 camelia rakudo-moar 054aca: OUTPUT«[Bool::False, "  in any  at /home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.setting.moarvm line 1\n"]␤»
11:57 viki .ask MasterDuke would you know how come this Backtrace::Frame doesn't get the seperate-core-file treatment and still has CORE.setting.moarvm in it instead of src/Backtrace or whatever? m: printf '%z'; CATCH { default { dd [.is-setting, .Str] given .backtrace[4] } }
11:57 yoleaux2 viki: I'll pass your message to MasterDuke.
12:30 dalek rakudo/nom: 843a6be | peschwa++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
12:30 dalek rakudo/nom: Fix attributive binding not looking outward for self.
12:30 dalek rakudo/nom:
12:30 dalek rakudo/nom: jnthn++ for pointing out that this is a valid use case.
12:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/843a6be684
12:30 psch r: class A { has $.foo; method bar($baz) { with $baz -> $!foo { self } } }; A.new.bar("foo").foo.say # my test case for that
12:30 camelia rakudo-jvm 76b061: OUTPUT«Unable to bind attributive parameter '$!foo' - could not find self␤  in method bar at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
12:30 camelia ..rakudo-moar 054aca: OUTPUT«foo␤»
12:31 * psch looks where to put that into roast...
12:34 psch hm, S12-methods/attribute-params.t i suppose
12:40 dalek roast: aa74436 | peschwa++ | S12-methods/attribute-params.t:
12:40 dalek roast: Add test for slightly unconventional attributive binding
12:40 dalek roast: review: https://github.com/perl6/roast/commit/aa74436d54
12:59 pmurias joined #perl6-dev
13:10 AlexDaniel joined #perl6-dev
13:20 dalek rakudo/nom: 35183f3 | (Zoffix Znet)++ | src/core/Cool.pm:
13:20 dalek rakudo/nom: Fix sprintf($format) issuing spurious warnings
13:20 dalek rakudo/nom:
13:20 dalek rakudo/nom: When no arguments are given, $!riefied of *@args ends up being
13:20 dalek rakudo/nom: a type object and we get warnings when we pass it to nqp::sprintf
13:20 dalek rakudo/nom:
13:20 dalek rakudo/nom: https://irclog.perlgeek.de/perl6/2016-11-28#i_13640361
13:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/35183f396e
13:21 dalek roast: 23867b4 | (Zoffix Znet)++ | S32-str/sprintf.t:
13:21 dalek roast: Test sprintf($format) does not issue warnings
13:21 dalek roast:
13:21 dalek roast: Fixed in commit:
13:21 dalek roast: https://github.com/rakudo/rakudo/commit/35183f396e
13:21 dalek roast: review: https://github.com/perl6/roast/commit/23867b4018
13:22 dalek rakudo/nom: 3c4ac3c | (Zoffix Znet)++ | src/core/IO/Handle.pm:
13:22 dalek rakudo/nom: Use &sprintf for IO::Handle.printf
13:22 dalek rakudo/nom:
13:22 dalek rakudo/nom: instead of re-inventing the wheel
13:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c4ac3c009
13:38 camelia joined #perl6-dev
13:42 viki ZOFVM: Files=1204, Tests=130209, 142 wallclock secs (20.56 usr  3.18 sys + 2613.62 cusr 210.01 csys = 2847.37 CPU)
14:40 gfldex viki: could you have a look at https://docs.perl6.org/build-log/ please? Seams broken.
15:09 [Coke] why did we need to add bin to .gitignore on nqp? what's generating it? (I just did a build and install, and it's not there.)
15:09 timotimo maybe someone used --prefix=. or something?
15:13 dalek rakudo/nom: 10ad853 | lizmat++ | src/core/ (2 files):
15:13 dalek rakudo/nom: Add push|sink-all to R:I:ShapeLeafIterator
15:13 dalek rakudo/nom:
15:13 dalek rakudo/nom: To speed up copying/initializing larger shaped arrays.  Note that this
15:13 dalek rakudo/nom: addition needed a change in .kv, since it was messing with the indices.
15:13 dalek rakudo/nom: So no speed increase in that case.
15:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/10ad853fcd
15:15 pmurias joined #perl6-dev
15:33 dalek rakudo/nom: 437538e | lizmat++ | / (2 files):
15:33 dalek rakudo/nom: Abstract native shape checking logic
15:33 dalek rakudo/nom:
15:33 dalek rakudo/nom: - it is independent of native type
15:33 dalek rakudo/nom: - we need it in more places
15:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/437538efcc
15:44 lizmat m: my Num $a = 42.13e1; my Str $b = $a; dd $b
15:44 camelia rakudo-moar 054aca: OUTPUT«Type check failed in assignment to $b; expected Str but got Num (421.3e0)␤  in block <unit> at <tmp> line 1␤␤»
15:44 lizmat m: my num $a = 42.13e1; my str $b = $a; dd $b   # this doesn't seem consistent, jnthn TimToady ??
15:44 camelia rakudo-moar 054aca: OUTPUT«"421.3"␤»
15:46 jnthn Perhaps thanks to overly-helpful code-gen.
15:47 jnthn I'll bet it auto-coerces int <-> num too in such cases
15:47 lizmat jnthn: yes it does
15:47 lizmat so we agree this is a bug ?
15:48 jnthn Well, we tend to be good with natives auto-unboxing, but this is probably going a bit too far
15:49 jnthn I rather suspect NQP relies quite heavily on the code-gen in question, however
15:49 jnthn (They're actually inserted down at the QAST -> [MJ]AST level)
15:49 jnthn So tightening it up will take some thought.
15:49 lizmat m: my int @a = ^10; my num @b = @a
15:49 camelia rakudo-moar 054aca: OUTPUT«This type cannot unbox to a native number: P6opaque, Int␤  in block <unit> at <tmp> line 1␤␤»
15:50 lizmat m: my int @a = ^10; my int8 @b = @a
15:50 camelia rakudo-moar 054aca: ( no output )
15:50 jnthn That second case is likely fine
15:50 lizmat well, I just wanted to make sure that the behaviour was unexpected
15:51 jnthn Yup, just comes from our code-gen being quite eager to make things work out :)
15:59 lizmat m: my int @a[2;2] = (0,1),(2,3); my num @b[2;2] = @a; dd @b
15:59 camelia rakudo-moar 054aca: OUTPUT«This type cannot unbox to a native number: P6opaque, Int␤  in block <unit> at <tmp> line 1␤␤»
15:59 lizmat should give us a better error message shortly  :-)
16:02 ZzZombo joined #perl6-dev
16:02 buggable joined #perl6-dev
16:02 ugexe joined #perl6-dev
16:03 b2gills joined #perl6-dev
16:13 mj41 joined #perl6-dev
16:17 lizmat so, should we document "dd" or not ?
16:17 dalek joined #perl6-dev
16:17 Undercover joined #perl6-dev
16:17 SourceBaby joined #perl6-dev
16:18 viki :o
16:18 lizmat seems to me it is a handy feature for debugging that we should tell people about ?
16:18 lizmat even though it isn't strictly Perl 6 ?
16:19 lizmat and yes, I know it's my brainchild  :-)
16:20 viki For a second I thought this was an amazing coincidence you mentioning it... *looks at GitHub notifications*... but it isn't :)
16:20 lizmat :-)
16:20 lizmat I realized that the discussion there wouldn't be seen by a lot of people  :-_
16:20 lizmat )
16:20 viki I'm ok with documenting
16:23 viki maybe a section in https://docs.perl6.org/programs/00-running ? All the other stuff on that page seems to be Rakudo-specific
16:32 [Coke] Put it where it would go if it were a real spec thing, but I would include:
16:33 [Coke] a tag noting that this is only part of rakudo, and that we make no guarantee as to the output. Do not rely on the particular formatting.
16:36 [Coke] (maybe with something like https://getbootstrap.com/2.3.2/components.html#labels-badges with a [RAKUDO] tag somewhere, at least on the HTML side)
16:36 [Coke] but if we do that, there's a bunch of Rakudo-specific stuff that we've been excluding that we could put in. (most recently, rakudo-specific environment variable)
16:37 [Coke] Then we have to decide - mark the rakudo stuff per page? per method/heading?
16:38 [Coke] (I think this is going to end up being the same mechanism where we mark which version of the spec things are from)
16:56 dalek rakudo/nom: 79090b2 | lizmat++ | / (2 files):
16:56 dalek rakudo/nom: Make copying intX[2;2] to intY[2;2] just as fast
16:56 dalek rakudo/nom:
16:56 dalek rakudo/nom: as copying intX[2;2] to intX[2;2]
16:56 dalek rakudo/nom:
16:56 dalek rakudo/nom: - modulo conversion from intX to IntY
16:56 dalek rakudo/nom: - add more descriptive error in case they're not the same type
16:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/79090b29d7
17:26 dogbert17 o/
17:26 dogbert17 viki: are you at $work by any chance?
17:28 viki Yeah
17:29 viki Now I recall you wanted me to try something on 32-bit box...
17:29 dogbert17 could you try 'make t/spec/S32-num/power.t' on your 32 bit box
17:29 dogbert17 :-)
17:40 viki dogbert17: "Result: PASS"
17:41 viki oh wait, my roast is ancient...
17:42 dogbert17 phew, you should 'hopefully' get one fail
17:42 viki "Result: FAIL"
17:42 viki :)
17:42 dogbert17 yay
17:43 viki and it's a bogus test
17:43 viki or is it..
17:43 * viki looks it up
17:45 viki m: say 1.0000001 ** (10 ** 9)
17:45 camelia rakudo-moar 054aca: OUTPUT«(timeout)»
17:45 viki m: say 10**9
17:45 camelia rakudo-moar 054aca: OUTPUT«1000000000␤»
17:45 viki yikes
17:45 viki m: Int.max.say
17:45 camelia rakudo-moar 054aca: OUTPUT«-Inf␤»
17:45 viki :S
17:46 viki That's the weirdest answer
17:46 dogbert17 indeed
17:46 viki m: Int.Range.max.say
17:46 camelia rakudo-moar 054aca: OUTPUT«Inf␤»
17:46 viki m: int.Range.max.say
17:46 camelia rakudo-moar 054aca: OUTPUT«9223372036854775807␤»
17:46 viki m: num.Range.max.say
17:46 camelia rakudo-moar 054aca: OUTPUT«Inf␤»
17:47 viki yeah, right
17:50 timotimo it's not weird, you're getting the maximum value of an empty list
17:51 timotimo so it's got to be the value that's smaller than any value a non-empty list could possibly have
17:51 timotimo i.e. it's the neutral element
17:53 viki why is it judging the non-empty list if I gave it an empty list (which I didn't)
17:54 timotimo single items tend to act like lists of only themselves
17:54 viki right
17:54 timotimo i suppose it's judging it as the undefined value instead
17:54 geekosaur seems to me .max on an item promoted it to a single element list, and the element being the type object (no value) was ignored and got you the identity for max
17:55 ilmari m: ().max.say
17:55 camelia rakudo-moar 054aca: OUTPUT«-Inf␤»
17:55 geekosaur that said, I would expect an Int type object to act like 0
17:55 geekosaur with a warning
17:56 moritz m: say +Int
17:56 camelia rakudo-moar 054aca: OUTPUT«Use of uninitialized value of type Int in numeric context␤  in block <unit> at <tmp> line 1␤0␤»
17:57 geekosaur or that
17:57 geekosaur s: 'max', Int
17:57 SourceBaby geekosaur, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Str, Int); none of these signatures match:␤    ($thing, Str:D $method, Capture $c)␤    ($thing, Str:D $method)␤    (&code)␤    (&code, Capture $c)␤  in block <unit> at -e line 6␤␤
17:58 viki s: Int,
17:58 SourceBaby viki, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Int); none of these signatures match:␤    ($thing, Str:D $method, Capture $c)␤    ($thing, Str:D $method)␤    (&code)␤    (&code, Capture $c)␤  in block <unit> at -e line 6␤␤
17:58 viki s: Int, '
17:58 SourceBaby viki, Something's wrong: ␤ERR: [31m===[0mSORRY![31m===[0m Error while compiling -e␤Unable to parse expression in single quotes; couldn't find final "'" ␤at -e:7␤------> [32m<BOL>[33m⏏[31m<EOL>[0m␤    expecting any of:␤        single quotes␤        term␤
17:58 viki bah
17:58 viki s: Int, 'max', \()
17:58 SourceBaby viki, Sauce is at https://github.com/rakudo/rakudo/blob/79090b2/src/core/Any-iterable-methods.pm#L1276
17:58 geekosaur bass-ackwards, figures >.>
17:59 viki It's not
17:59 geekosaur no, me
17:59 viki It follows the Int.^lookup('max').can(\())
17:59 viki s/can/cando/.;
18:00 geekosaur in any case that looks like it's coercing the item into a 1-element list
18:00 geekosaur s: (Int), 'max', \()
18:00 SourceBaby geekosaur, Sauce is at https://github.com/rakudo/rakudo/blob/79090b2/src/core/Any-iterable-methods.pm#L1276
18:00 geekosaur bah
18:00 viki what's the conventional method to check if the code is running on a 32-bit box?
18:00 geekosaur s: (Int,), 'max', \()
18:00 SourceBaby geekosaur, Sauce is at https://github.com/rakudo/rakudo/blob/79090b2/src/core/Any-iterable-methods.pm#L1276
18:02 geekosaur oh, that is the right thing and not just the coercer
18:02 geekosaur https://github.com/rakudo/rakudo/blob/79090b2/src/core/Any-iterable-methods.pm#L1283
18:02 geekosaur ignores type objects
18:02 geekosaur should possibly throw
18:02 geekosaur well, fail
18:04 geekosaur no, I completely scrambled what it's doing. warn and use 0
18:04 geekosaur like in any other numeric context
18:08 geekosaur rathetr, any other context where it is asked to provide a value. sigh. (think these through before commenting...)
18:09 viki m: use nqp; say nqp::pow_I(10000001, 1000000000, Num, Int)
18:09 geekosaur if someone wants max to skip type objects, maybe it can be an adverb
18:09 camelia rakudo-moar 054aca: OUTPUT«(timeout)»
18:10 viki dogbert17: well, it overflows in ^ that op in src/core/Int.pm#L286 I don't know what the expected limit for it that it doesn't blow up on 64-bit boxes, 'cause that's a huge number
18:10 viki 2.68810370126492381050560030147750374656383777515+×+10^7000000043
18:11 viki And actually the Rat limit would be smaller, because we exponentiate numerator/denominator separately
18:12 dogbert17 that look big
18:12 viki And this is the ticket the test testss https://rt.perl.org/Ticket/Display.html?id=112788
18:13 viki So the solution may be to pick a smaller number to stuff into the test? *shrug*
18:14 dogbert17 hmm, might need some contemplation
18:15 dogbert17 this seems to do the trick on 32-bit say 1.0000001 ** (10 ** 8)
18:16 dogbert17 m: say 1.0000001 ** (10 ** 8)
18:16 camelia rakudo-moar 054aca: OUTPUT«(timeout)»
18:16 dogbert17 I think that should do it
18:17 viki committable6: 2015.07 say 1.0000001 ** (10 ** 8)
18:17 viki /o\
18:17 dogbert17 heh
18:18 dogbert17 you might have found a bot killer
18:18 viki What can I say, I have a knack
18:19 viki m: say 1.0000001 ** (10 ** 90000)
18:19 camelia rakudo-moar 054aca: OUTPUT«Numeric overflow␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
18:19 viki Yeah, so maybe then reduce the current test to 10 ** 8 and also add another one for 1.0000001 ** (10 ** 90000) to test that it throws Numeric overflow and not the weird stuff mentioned in the ticket
18:20 viki m: say 10 ** 90000
18:20 camelia rakudo-moar 054aca: OUTPUT«1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…»
18:22 dogbert17 yep
18:23 dogbert17 me or you?
18:27 viki you :)
18:27 * viki is at $work, remember?
18:27 viki :)
18:27 viki I'm... working...
18:29 dogbert17 ok :) if you get bored, can you also try 'make t/spec/S04-declarations/constant.t' on your 32-bit machine, it sometimes fails completely for me
18:31 viki Same "MoarVM panic: Internal error: zeroed target thread ID in work pass"
18:32 dogbert17 excellent, then it's not only me
18:34 diakopter well if it's a GC problem, you should be able to force that error on 64-bit too, with the twiddle that makes moarvm run the GC on every allocation
18:35 committable6 joined #perl6-dev
18:37 dogbert17 what twiddle might that be?
18:39 diakopter not sure; ask on #moarvm I'd guess
18:44 dogbert17 thx, will do
18:56 ZzZombo joined #perl6-dev
19:26 RabidGravy joined #perl6-dev
19:27 geekosaur joined #perl6-dev
19:50 mj41 joined #perl6-dev
19:51 dalek rakudo/nom: 87dcc08 | lizmat++ | src/core/ (2 files):
19:51 dalek rakudo/nom: Add support for natives to R:I:ShapeBranchIterator
19:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/87dcc0873b
19:55 ugjka joined #perl6-dev
19:59 dalek roast/power-fix: d127a53 | (Jan-Olof Hendig)++ | S32-num/power.t:
19:59 dalek roast/power-fix: Fix test which breaks on 32 bit systems
19:59 dalek roast/power-fix:
19:59 dalek roast/power-fix: The test for RT #112788 didn't work properly on 32-bit systems. This
19:59 dalek roast/power-fix: has been fixed by changing the exponent from 9 to 8 so now it should
19:59 dalek roast/power-fix: behave the same, i.e. hang, on both 32 and 64 bit systems. An
19:59 dalek roast/power-fix: additional test was added (viki++) which checks that a Rat raised to
19:59 dalek roast/power-fix: a very large number actually throws.
19:59 dalek roast/power-fix: review: https://github.com/perl6/roast/commit/d127a53c2c
20:04 dalek roast: db78f0f | dogbert17++ | S32-num/power.t:
20:04 dalek roast: Fix test which breaks on 32 bit systems (#185)
20:04 dalek roast:
20:04 dalek roast: The test for RT #112788 didn't work properly on 32-bit systems. This
20:04 dalek roast: has been fixed by changing the exponent from 9 to 8 so now it should
20:04 dalek roast: behave the same, i.e. hang, on both 32 and 64 bit systems. An
20:04 dalek roast: additional test was added (viki++) which checks that a Rat raised to
20:04 dalek roast: a very large number actually throws.
20:04 dalek roast: review: https://github.com/perl6/roast/commit/db78f0feee
20:09 diakopter lizmat: did you see this https://github.com/rakudo/rakudo/commit/87dcc0873b#commitcomment-19988382
20:09 diakopter just curious if you get notified on a comment like that
20:10 lizmat diakopter: yes, I got notified by mail just now
20:10 diakopter oh ok
20:10 lizmat whether or not it makes sense to remove the getattr, you tell me
20:11 lizmat should it ?
20:12 diakopter well if $shape isn't changing inside the loop, I don't see why not
20:12 lizmat ok, lemme try to benchmark that after I'm done with what I'm working on now
20:14 unicodable6 joined #perl6-dev
20:16 unicodable6 joined #perl6-dev
20:17 unicodable6 joined #perl6-dev
20:18 committable6 joined #perl6-dev
20:22 committable6 joined #perl6-dev
20:24 diakopter lizmat: can you use atpos_i in that same line?
20:25 lizmat no, because for non-native shaped arrays, the shape is a List
20:25 lizmat and Lists cannot have list_i as their reified
20:25 diakopter oh
20:25 lizmat (well, technically, they can, but all sorts of things break when they do)
20:26 lizmat in any case, a non-native shape should be able to have a Whatever in it
20:52 dalek rakudo/nom: 4dffef7 | lizmat++ | src/core/ (2 files):
20:52 dalek rakudo/nom: Use same role detection logic for (non)-natives
20:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4dffef7a7a
20:53 lizmat dogbert17: t/spec/S32-num/power.t , test #78 started failing for me
21:02 seatek joined #perl6-dev
21:05 viki lizmat, which test? One was changed another was addedd
21:09 viki oh sorry, you said it.
21:09 * viki is blind
21:15 dogbert17 nooo
21:15 dogbert17 lizmat: tried to make it work on both 32 aand 64 bit
21:16 * dogbert17 curses Mac OS X :)
21:18 dogbert17 so it's the new test, odd
21:24 lizmat dogbert17: will look at it more closely after finishing the P6W
21:25 dogbert17 cool
21:28 FROGGS joined #perl6-dev
21:29 bartolin looks like nqp::substr on MoarVM works with a negative offset: https://github.com/MoarVM/MoarVM/blob/ee0b54e264ca3647f55ffd115238b72c7a0729f5/src/strings/ops.c#L290 (it does not on JVM)
21:29 yoleaux2 26 Nov 2016 16:16Z <viki> bartolin: what's the failure in this test (sleep huge values)? Seems to work fine in camelia. https://github.com/perl6/roast/commit/08ffd2f682bc376f1219f1802a96fb67fb20b397
21:29 yoleaux2 26 Nov 2016 16:16Z <viki> bartolin: never mind. Reproduced :)
21:29 bartolin r: use nqp; say nqp::substr("bar", -1, 1)
21:29 camelia rakudo-moar 054aca: OUTPUT«r␤»
21:29 camelia ..rakudo-jvm 76b061: OUTPUT«java.lang.StringIndexOutOfBoundsException: String index out of range: -1␤  in block <unit> at <tmp> line 1␤␤»
21:30 bartolin should I open a nqp issue for this difference?
21:37 AlexDaniel m: use nqp; say nqp::substr("bar", -1, 1)
21:37 camelia rakudo-moar 054aca: OUTPUT«r␤»
21:37 AlexDaniel m: use nqp; say nqp::substr("bar", -2, 1)
21:37 camelia rakudo-moar 054aca: OUTPUT«a␤»
21:37 AlexDaniel m: use nqp; say nqp::substr("bar", -4, 1)
21:37 camelia rakudo-moar 054aca: OUTPUT«␤»
21:37 AlexDaniel m: use nqp; say nqp::substr("bar", -5, 1)
21:37 camelia rakudo-moar 054aca: OUTPUT«Substring end (-1) cannot be less than 0␤  in block <unit> at <tmp> line 1␤␤»
21:37 AlexDaniel m: use nqp; say nqp::substr("bar", -4, 5)
21:37 camelia rakudo-moar 054aca: OUTPUT«bar␤»
21:39 bartolin m: 'say "bar".substr(-1, 1)'
21:39 camelia rakudo-moar 054aca: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant string "say \"bar\".substr(-1, 1)" in sink context (line 1)␤»
21:39 bartolin m: say "bar".substr(-1, 1)
21:39 camelia rakudo-moar 054aca: OUTPUT«Start argument to substr out of range. Is: -1, should be in 0..3; use *-1 if you want to index relative to the end␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
21:42 FROGGS bartolin: yes, please open said ticket
21:42 bartolin will do
21:46 perlpilot bartolin: be sure to include a transcript of what AlexDaniel did above ... even if I can accept that it should handle negative offsets, that second to last one is just crazy
21:47 bartolin I'm on it :-)
21:48 perlpilot bartolin++
22:24 bartolin nqp issue 324 it is
22:26 dalek rakudo/nom: b516784 | bartolin++ | src/Perl6/Grammar.nqp:
22:26 dalek rakudo/nom: Avoid calling nqp::substr with negative offset
22:26 dalek rakudo/nom:
22:26 dalek rakudo/nom: ... when we are interested in the preceding character.
22:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b516784b83
22:26 dalek rakudo/nom: 5163e8a | (Zoffix Znet)++ | src/Perl6/Grammar.nqp:
22:26 dalek rakudo/nom: Merge pull request #930 from usev6/patch-3
22:26 dalek rakudo/nom:
22:26 dalek rakudo/nom: Avoid calling nqp::substr with negative offset
22:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5163e8a81d
22:37 lizmat and another Perl6 Weekly hits the net: https://p6weekly.wordpress.com/2016/11/28/2016-48-kickstarting-along/
22:42 dogbert17 lizmat++ Weeky
22:42 dogbert17 s/Weeky/Weekly/
22:43 b2gills m: use MONKEY-TYPING;augment class IO::ArgFiles { method getc (|c){ self!next-io.getc(|c) }}; say $*ARGFILES.getc.say
22:43 camelia rakudo-moar 054aca: OUTPUT«C␤True␤»
22:51 chinarulezzz joined #perl6-dev
23:04 lizmat good night, #perl6-dev!
23:04 viki night

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