Perl 6 - the future is here, just unevenly distributed

IRC log for #p6dev, 2016-04-29

| Channels | #p6dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:14 ugexe fyi: i'm getting TravisCI build failures with `language: perl` on OSX (if the next rakudo commit fails, this is likely why)
03:29 vendethiel joined #p6dev
05:03 vendethiel joined #p6dev
05:59 sno joined #p6dev
06:52 RabidGravy joined #p6dev
07:08 dalek rakudo/nom: a63deba | (David Warring)++ | lib/NativeCall (2 files):
07:08 dalek rakudo/nom: define native type ssize_t. size_t should be unsigned
07:08 dalek rakudo/nom:
07:08 dalek rakudo/nom: Fixes RT #127823
07:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a63deba129
07:08 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127823
07:08 dalek rakudo/nom: 6cb2319 | niner++ | lib/NativeCall (2 files):
07:08 dalek rakudo/nom: Merge pull request #760 from dwarring/ssize_t
07:08 dalek rakudo/nom:
07:08 dalek rakudo/nom: define native type ssize_t. size_t should be unsigned
07:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6cb231924d
07:37 travis-ci joined #p6dev
07:37 travis-ci Rakudo build errored. niner 'Merge pull request #760 from dwarring/ssize_t
07:37 travis-ci https://travis-ci.org/rakudo/rakudo/builds/126580095 https://github.com/rakudo/rakudo/compare/3cab7c25f6bb...6cb231924d80
07:37 travis-ci left #p6dev
08:01 [Tux] This is Rakudo version 2016.04-48-g6cb2319 built on MoarVM version 2016.04
08:01 [Tux] test            22.245
08:01 [Tux] test-t          13.100
08:01 [Tux] csv-parser      23.469
08:17 RabidGravy Hmm it has been wibbling upward slightly for the last few days
09:08 psch grr jvm *shakes fist*
09:09 psch TAP uses &signal
09:09 psch which means we have a non-building r-j again
09:14 psch in the interest of portability i'd try and expose only those that translate to "shut down everything" and expose a ShutdownHook for that
09:15 psch i think that's the best we can do without relying on sun.misc, which is unofficial and all that
09:18 jnthn Interesting. S12-methods/qualified.t fails its second test under GC torture
09:18 jnthn m: class A { }; say ~A.new
09:18 camelia rakudo-moar 6cb231: OUTPUT«A<140212425128552>␤»
09:18 jnthn Reason being that if you do
09:18 jnthn m: class A { }; say ~A.new eq ~A.new
09:18 camelia rakudo-moar 6cb231: OUTPUT«False␤»
09:18 jnthn It uses the memory address
09:19 jnthn Which relies on the object not moving. But you're doing string concat to form the string A<...>
09:19 jnthn Which can trigger GC
09:19 jnthn uh, I shoulda done the same A instnace there of course
09:19 jnthn m: class A { }; loop { my \a = A.new; die "oops" unless a eq a; }
09:19 camelia rakudo-moar 6cb231: OUTPUT«oops␤  in block  at /tmp/jufArJEyz4 line 1␤␤»
09:20 jnthn m: class A { }; loop { ++state $i; my \a = A.new; die "oops $i" unless a eq a; }
09:20 camelia rakudo-moar 6cb231: OUTPUT«oops 12371␤  in block  at /tmp/QXxR9HCHk3 line 1␤␤»
09:20 jnthn m: class A { }; loop { ++state $i; my \a = A.new; die "oops $i" unless a eq a; }
09:20 camelia rakudo-moar 6cb231: OUTPUT«oops 12371␤  in block  at /tmp/5lx8DtDidF line 1␤␤»
09:20 jnthn This has quite possibly caused various heisenbugs over time.
09:27 nine_ So it should use nqp::objectid instead?
09:28 jnthn Yeah, got a local patch for that
09:29 jnthn And building a MoarVM without a 13KB nursery so I can build Rakudo fast enough :)
09:29 jnthn Also a fix for a spurious wakeup vulnerability in Promise.result.
09:39 jnthn Yeah, patch fixes the busted test and the above loop seems to run "forever" without dying
09:41 nine_ \o/
09:59 * jnthn isn't have any luck making S17-procasync/no-runaway-file-limit.t erupt with all the various fixes
09:59 jnthn Wonder if that means I fixed it or the bug's just playing hide and seek really well...
10:03 jnthn Ah, it deadlocks
10:11 RabidGravy boom
10:18 nine_ I guess a boom would be easier to debug than a silent deadlock ;)
10:20 jnthn Well, the deadlock is seemingly that GC orchestration one that bites now and then
10:20 jnthn Which I plan to take on soon, but know is independent of the call frames changes.
10:20 jnthn In fact, I suspect everything I'm looking at is, by now.
10:21 jnthn Though really want to get to the bottom on this S15-nfg/many-threads.t one
10:21 jnthn *of
11:38 dalek rakudo/js: f16c03d | (Pawel Murias)++ | src/vm/js/Perl6/Ops.nqp:
11:38 dalek rakudo/js: [js] Add missing file.
11:38 dalek rakudo/js: review: https://github.com/rakudo/rakudo/commit/f16c03d9af
11:39 pmurias joined #p6dev
11:39 dalek nqp: 428de5f | (Pawel Murias)++ | src/vm/js/ (2 files):
11:39 dalek nqp: [js] Stub nqp::neverreposses. It's won't do anything till we implement repossession.
11:39 dalek nqp: review: https://github.com/perl6/nqp/commit/428de5fcd1
11:39 dalek nqp: 9f8a952 | (Pawel Murias)++ | src/vm/js/Operations.nqp:
11:39 dalek nqp: [js] Add more support to defining ops from compiled code.
11:39 dalek nqp: review: https://github.com/perl6/nqp/commit/9f8a952115
12:17 RabidGravy just in case people aren't reading the other channel, I'm going to start a "Perl 6 Noise Gang" organisation on GH to promote and/or bring focus to audio/music stuff, any objections from anyone?
12:18 jnthn So...Perl 6 can result in line noise too? :D
12:19 jnthn Sounds cool to me :)
12:19 RabidGravy yeah, been meaning to do something like it for a while
12:34 psch oh bugger
12:34 psch this whole signal stuff probably can't work with a shutdown hook i think
12:34 psch 'cause that might run too late for the TC and all that to still be around
12:43 psch actually, i'm just doing things wrong, probably...
13:15 psch fwiw, it does seem to want to run the tap'd code on the signal
13:15 psch but i don't really know how i can pass arguments there
13:15 psch and well, it hangs and has to be kill -9'd, too
13:22 psch hm, is there already a *handle that could let me pass the argument through to the asynctask..?
13:30 psch actually, i think i misunderstood this
13:30 psch every signal from @signals gets tapped with a closure that takes the signum
13:31 psch so i can just create AsyncTasks that invokeDirect and pass the signum for the signal they belong to, right
13:59 skids joined #p6dev
14:22 psch oh ffs java
14:22 jnthn A common reaction to writing Java :)
14:23 vendethiel joined #p6dev
14:25 dalek joined #p6dev
14:26 geekosaur joined #p6dev
14:26 psch_ joined #p6dev
14:27 psch 14:22 < psch> "public Foo(int tpyo) { this.typo = typo }"
14:27 psch 14:22 < psch> of course that compiles
14:27 psch 14:23 < psch> well, plus the semicolon
14:28 psch from before my early-aborted timeout... :)
14:28 timotimo ugh
14:29 psch i suppose that's an argument against "name the constructor arguments the same as the attributes"
14:30 psch and it really makes me appreciate our BUILD syntax magic
14:30 psch and, well, the inherited .new as well
14:31 timotimo good point!
14:37 JimmyZ joined #p6dev
14:37 masak joined #p6dev
14:37 [Coke] joined #p6dev
14:43 psch $ ./perl6-j -e'say "ok..."; signal(SIGINT).tap({ say "k, bye" }); sleep 1000'
14:43 psch ok...
14:43 psch ^Ck, bye
14:43 psch that's not that bad i suppose :)
14:43 psch unfortunately it NPEs during install-core-dist.pl /o\
14:44 * psch summons bartolin++
14:44 psch there's a precedence for bartolin and fixing NPEs... :P
14:54 psch hm, unless that's the NPE that PR 748 fixes..?
15:05 psch ...apparently so
15:06 dalek rakudo/nom: 6ea0927 | usev6++ | src/core/Parameter.pm:
15:06 dalek rakudo/nom: Avoid NPE when parameter has no coerce_type
15:06 dalek rakudo/nom:
15:06 dalek rakudo/nom: This lead to NPE in some files under S32-trig/
15:06 dalek rakudo/nom: One golfed example for dying code:
15:06 dalek rakudo/nom:
15:06 dalek rakudo/nom:   class Foo is Real { }
15:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ea092739a
15:06 dalek rakudo/nom: 6964266 | usev6++ | src/core/Parameter.pm:
15:06 dalek rakudo/nom: rakudo-j no longer needs nqp::getattr_i here
15:06 dalek rakudo/nom:
15:06 dalek rakudo/nom: was fixed with nqp commit 5981bf0439
15:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6964266d21
15:06 dalek rakudo/nom: 120f56d | peschwa++ | src/core/Parameter.pm:
15:11 sno joined #p6dev
15:11 dalek nqp: d54d719 | peschwa++ | src/vm/jvm/ (2 files):
15:11 dalek nqp: Add rudimentary signal workaround.
15:11 dalek nqp:
15:11 dalek nqp: This is the best we can do considering the mechanism of supporting signal() on
15:11 dalek nqp: the JVM. The supported signals could probably be expanded to "everything that
15:11 dalek nqp: ends the receiving process", but I don't know enough about POSIX signals to
15:11 dalek nqp: decide which signals belong into that group.
15:11 dalek nqp: review: https://github.com/perl6/nqp/commit/d54d719311
15:11 dalek rakudo/nom: eaa5834 | peschwa++ | tools/build/NQP_REVISION:
15:11 dalek rakudo/nom: Bump NQP_REVISION
15:11 dalek rakudo/nom:
15:11 dalek rakudo/nom: This gets us basic almost-signal-handling on nqp-j, see the corresponding nqp
15:11 dalek rakudo/nom: commit message for details.
15:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eaa58345e5
15:11 dalek rakudo/nom: 1acf805 | peschwa++ | / (3 files):
15:11 dalek rakudo/nom: Handle the few supported signals on R-J.
15:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1acf805b6d
15:11 psch there, nom head builds r-j again
15:12 psch now for a spectest too see how that looks \o/
16:02 travis-ci joined #p6dev
16:02 travis-ci Rakudo build passed. peschwa 'Merge pull request #748 from usev6/NPE_S32_trig
16:02 travis-ci https://travis-ci.org/rakudo/rakudo/builds/126679039 https://github.com/rakudo/rakudo/compare/6cb231924d80...120f56d200c9
16:02 travis-ci left #p6dev
16:04 vendethiel joined #p6dev
17:03 psch m: say "{6069 / 60} minutes for make j-spectest"
17:03 camelia rakudo-moar 1acf80: OUTPUT«101.15 minutes for make j-spectest␤»
17:03 psch total of 23 tests failed
17:04 psch https://gist.github.com/peschwa/fb61ff5f579c3a269b4cfc53d42f7a45
17:04 psch well, unless i miscounted... :)
17:19 bartolin psch: nice! (the fails in S05-mass/properties-general.t don't happen with jdk 1.8 (cause of newer unicode version))
17:22 dalek roast: feda328 | usev6++ | S06-other/main-usage.t:
17:22 dalek roast: Fudge (todo) test for RT #127977
17:22 dalek roast: review: https://github.com/perl6/roast/commit/feda32843c
17:22 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127977
19:16 dalek roast: 0e0084f | usev6++ | S02-types/version-stress.t:
19:16 dalek roast: Skip 3 dying tests on JVM
19:16 dalek roast: review: https://github.com/perl6/roast/commit/0e0084fc90
19:19 psch oh, yeah, the whole NFG stuff is gonna be fun too
19:19 psch well, and the unicode support before that even
19:19 psch like unival etc
19:20 psch well, maybe that'll finally teach me about unicode ;)
19:20 timotimo it'll be a challenge, yeah :\
19:20 timotimo i mean, you can just steal our code for moarvm
19:21 timotimo that part generates C code, which is almost compatible with java code anyway
19:24 psch well, i don't really want to side-step the jvm-inherent unicode support complete if i don't have to...
19:24 psch otoh, i probably do have to, because we don't want to rely on a given jvm version or higher...
19:25 psch anyway, maybe *i* specifically don't have to because someone comes and along and says "oh boy implementing unicode in java!" and does it instead :P
19:26 [Coke] psch: I've been dreading it for a year now. :)
19:26 timotimo :D
19:27 jnthn It shouldn't be too hard to crib the NFG impl from Moar
19:27 jnthn Updating everything to use it will be trickier.
19:28 jnthn Though I guess you can introduce overloads of all the ops that take String to make them take NFGString or something
19:28 jnthn And then update the code-gen, rebootstrap, and whee
19:30 psch never have ever i heard the debug-cycle in java describes as "whee" :P
19:32 timotimo :D
19:32 timotimo java has hot code swapping!
19:33 geekosaur [29 15:30] <psch> never have ever i heard the debug-cycle in java describes as "whee" :P     ...do you count sarcasm? :p
19:37 vendethiel timotimo: yeah, when it works :v
19:37 timotimo i've never tried it
19:38 timotimo but i'm jealous
19:38 timotimo that's now for android, too
22:16 skids joined #p6dev
22:21 tomboy64 joined #p6dev
22:40 tomboy64 joined #p6dev

| Channels | #p6dev index | Today | | Search | Google Search | Plain-Text | summary