Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-05-04

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

All times shown according to UTC.

Time Nick Message
01:10 Geth ¦ roast: 86c9a94371 | (Zoffix Znet)++ | S32-array/rotate.t
01:10 Geth ¦ roast: Test .rotate can be used on empty stuff
01:10 Geth ¦ roast:
01:10 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/f4cbdb64bc
01:10 Geth ¦ roast: Bug find: https://irclog.perlgeek.de/perl6-dev/2017-05-03#i_14522073
01:10 Geth ¦ roast: review: https://github.com/perl6/roast/commit/86c9a94371
01:50 ilbot3 joined #perl6-dev
01:50 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:51 Geth ¦ roast: 07f5a45ee8 | MasterDuke17++ | S10-packages/precompilation.t
02:51 Geth ¦ roast: Unfudge a passing test for JVM
02:51 Geth ¦ roast: review: https://github.com/perl6/roast/commit/07f5a45ee8
03:06 ilmari_ joined #perl6-dev
03:07 Woodi_ joined #perl6-dev
03:14 robertle joined #perl6-dev
03:19 Zoffix joined #perl6-dev
05:10 AlexDaniel joined #perl6-dev
05:54 astj joined #perl6-dev
06:25 [Tux] This is Rakudo version 2017.04.3-170-gf4cbdb64b built on MoarVM version 2017.04-57-g8d8a09b9
06:25 [Tux] csv-ip5xs        3.082
06:25 [Tux] test            13.113
06:25 [Tux] test-t           4.276 - 4.356
06:25 [Tux] csv-parser      12.863
07:06 dct joined #perl6-dev
07:24 geekosaur joined #perl6-dev
07:44 lizmat Files=1192, Tests=56885, 206 wallclock secs (12.35 usr  4.94 sys + 1216.70 cusr 123.72 csys = 1357.71 CPU)
08:24 Geth ¦ rakudo/nom: 2fb6872b14 | (Elizabeth Mattijsen)++ | src/core/Map.pm
08:24 Geth ¦ rakudo/nom: Make Map.pick()/roll() about 7x faster
08:24 Geth ¦ rakudo/nom:
08:24 Geth ¦ rakudo/nom: - on a 26 element Hash, larger hashes faster still
08:24 Geth ¦ rakudo/nom: - doesn't need to build a list of Pairs to select from
08:24 Geth ¦ rakudo/nom: - so much easier on the memory
08:24 Geth ¦ rakudo/nom: - instead loops the iter a random number of times
08:24 Geth ¦ rakudo/nom: - and *then* builds a Pair on the iteration where stopped
08:24 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2fb6872b14
08:25 lizmat wonder if we would want to implement a Hash.grab
08:25 samcv grab?
08:25 samcv oh i forget what baggy thing i wanted
08:25 samcv maybe i will remember
08:26 lizmat m: my $b = <a b b c c c>.BagHash; dd $b.grab; dd $b
08:26 camelia rakudo-moar f4cbdb: OUTPUT: «"b"␤BagHash $b = ("b"=>1,"a"=>1,"c"=>3).BagHash␤»
08:26 lizmat afk&
08:28 samcv oh lizmat i wanted to be able to add more thnigs to a baghash
08:28 samcv with the same semantics as (foo,bar).BagHash
08:28 samcv my $bh = (1,2,3,3,2).BagHash; $bh.add(2,8,9)
08:29 samcv lizmat, if you add that I will be very happy
08:30 samcv you can grab things so would be nice if you can add things
09:01 jnthn m: say BagHash.^methods
09:01 camelia rakudo-moar 2fb687: OUTPUT: «(total Bag BagHash Mix pick MixHash list fmt SANITY categorize-list Set of SET-SELF classify-list Int Num Real grabpairs pickpairs Numeric default grab Capture raw_keys clone kxxv roll SetHash keyof new-from-pairs raw_hash WHICH Method+{<anon|74186528>}.…»
09:01 robertle joined #perl6-dev
09:01 jnthn m: say BagHash.^find_method('push')
09:02 camelia rakudo-moar 2fb687: OUTPUT: «Method+{<anon|74186528>}.new␤»
09:02 * jnthn wonders what semantics that has :)
09:03 jnthn m: my %bh is BagHash; $bh.push(2, 8, 9); dd $bh
09:03 camelia rakudo-moar 2fb687: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '$bh' is not declared. Did you mean '%bh'?␤at <tmp>:1␤------> 3my %bh is BagHash; 7⏏5$bh.push(2, 8, 9); dd $bh␤»
09:03 jnthn m: my %bh is BagHash; %bh.push(2, 8, 9); dd %bh
09:03 camelia rakudo-moar 2fb687: OUTPUT: «Cannot resolve caller push(BagHash: Int, Int, Int); none of these signatures match:␤    (Any:U \SELF: |values is raw)␤  in block <unit> at <tmp> line 1␤␤»
09:03 jnthn Ah
09:03 jnthn It doesn't implement it, just inherits the auto-viv from Any
09:03 jnthn But given Hash does implement .push that may be more consistent
09:51 geekosaur joined #perl6-dev
09:52 lizmat noted
09:53 lizmat m: my $bh = BagHash.new; $bh<a> = 42; dd $bh   # samcv: like this ?
09:53 camelia rakudo-moar 2fb687: OUTPUT: «BagHash $bh = ("a"=>42).BagHash␤»
09:57 samcv that edits the baghash, what i'm looking for is adding elements from an Array and have it be as easy as creating/semantically similar as creating a BagHash
09:57 samcv sleep &
09:57 samcv night o/
09:57 lizmat nighty night!
09:58 lizmat m: my %bh is BagHash; my @a = <a b c>; %bh{@a} = 1 xx *; dd %bh
09:58 camelia rakudo-moar 2fb687: OUTPUT: «("b"=>1,"a"=>1,"c"=>1).BagHash␤»
09:58 jnthn m: my %bh is BagHash; my @a = <foo bar foo baz bar>; %bh{@a}>>++; say %bh
09:58 camelia rakudo-moar 2fb687: OUTPUT: «BagHash.new(foo(2), baz, bar(2))␤»
09:59 lizmat that too  :-)
09:59 lizmat and better  :-)
09:59 jnthn Yeah, I think the 1 xx * one doesn't do the right thing if there's repeated elements?
09:59 lizmat but that looks to me like the semantics that BagHash.push should allow
10:00 lizmat jnthn: yeah, that's why yours is better :-)
10:48 Zoffix There's a ticket on that topic: https://rt.perl.org/Ticket/Display.html?id=128903#ticket-history
11:04 lizmat hmmm..  :-)
12:13 brrt joined #perl6-dev
12:30 pmurias joined #perl6-dev
12:55 geekosaur joined #perl6-dev
13:08 geekosaur joined #perl6-dev
13:11 Geth ¦ rakudo/js: 136a5ccc8d | (Pawel Murias)++ | src/vm/js/perl6-runtime/runtime.js
13:11 Geth ¦ rakudo/js: [js] Remove incorrect extra argument
13:11 Geth ¦ rakudo/js: review: https://github.com/rakudo/rakudo/commit/136a5ccc8d
13:11 Geth ¦ rakudo/js: 2c91f3c7d7 | (Pawel Murias)++ | src/vm/js/perl6-runtime/runtime.js
13:11 Geth ¦ rakudo/js: [js] Do type checking when storing stuff into scalars
13:11 Geth ¦ rakudo/js: review: https://github.com/rakudo/rakudo/commit/2c91f3c7d7
13:53 dct joined #perl6-dev
14:01 MasterDuke_ what's the difference between a VMString and a BOOTStr?
14:02 jnthn BOOTStr is a boxed object, VMString corresponds to str
14:03 MasterDuke_ i think you were talking about this recently, but are VMStrings much more efficient than BOOTStrs?
14:05 jnthn Yes, in that they save an allocation
14:05 Zoffix What does BOOT stand for?
14:05 jnthn (Of the box)
14:05 jnthn Zoffix: Bootstrap
14:05 Zoffix Ah. Thanks.
14:06 timotimo strings powered by twitter
14:13 MasterDuke_ a heap profile of `-e ''` shows 35,705 VMStrings and 14,963 BOOTStrs. any way to see where the BOOTStrs came from?
14:14 AlexDaniel joined #perl6-dev
14:17 AlexDaniel m: use experimental :macros; macro infix:<plus>($a, $b) { return quasi { {{{$a}}} + {{{$b}}} } }; say 2 plus 3;
14:17 camelia rakudo-moar 2fb687: OUTPUT: «WARNINGS for <tmp>:␤Useless use of constant integer 2 in sink context (line 1)␤Useless use of constant integer 3 in sink context (line 1)␤5␤»
14:17 AlexDaniel wow
14:17 AlexDaniel it's working
14:18 AlexDaniel I'm sure there's a catch somewhere (besides this useless use message)
14:18 timotimo MasterDuke_: we don't have anything like "origin tracking" or something
14:18 timotimo if you mean that
14:18 timotimo but the regular profiler will tell you what function allocated how many BOOTStr and such
14:19 MasterDuke_ yeah, but a regular profile of `-e ''` just shows one BOOTArray and one BOOTCode allocated
14:22 timotimo did you --profile-compile?
14:26 MasterDuke_ hm. that shows 557 BOOTStrs and 151 Strs, but no VMStrings
14:27 timotimo but VMString is just the REPR, and BOOTStr is one class that uses that repr ... at least i thought so
14:32 AlexDaniel joined #perl6-dev
15:02 Zoffix m: say .posix == .earlier(:second).posix with DateTime.new: :2017year
15:02 camelia rakudo-moar 2fb687: OUTPUT: «True␤»
15:02 Zoffix Never realized that.
15:03 Zoffix So, if you were watching the clock tick, it'd stop for 1 sec?
15:07 brrt joined #perl6-dev
15:10 hoelzro joined #perl6-dev
15:10 brrt joined #perl6-dev
15:38 TimToady yes, try not to get an X-ray right then
15:38 yoleaux 2 May 2017 21:52Z <AlexDaniel> TimToady: You may be interested in https://rt.perl.org/Ticket/Display.html?id=131247
15:38 yoleaux 3 May 2017 15:39Z <Zoffix> TimToady: what do we do: due to a sequence of 2 bugs, `is-deeply` currently converts a Seq arg into a List and so falsely makes `is-deeply (1,).Seq, (1,)` pass, which causes 69 roast tests to fail (67 of which are 6.c-errata) and likely many module test suite failures as well. So, do we bite the bullet and fix is-deeply and tests or do we document the flaw and call it by-design?
15:38 ZofBot joined #perl6-dev
15:44 Zoffix it converts Seq -> List only *args* themselves, it still will fail the test when testing, say, is-deeply ((1,).Seq,), ((1,),)
15:52 * Zoffix is leaning toward "leave as is"
15:53 Zoffix Test.pm6 is yuky as it is, so it's just another yuk
15:53 * TimToady still wishes there was some way to write ordinary comparison operators with an option to hook them to tap output
15:55 TimToady so that you could just explicitly use 'eqv' but still get diagnostics that know the args
15:55 TimToady but the last time I pushed that idea was before we had a decent compiler :)
15:55 Zoffix m: use Test; cmp-ok (1,).Seq, 'eqv', (1,)
15:55 camelia rakudo-moar 2fb687: OUTPUT: «not ok 1 - ␤␤# Failed test at <tmp> line 1␤# expected: '1'␤#  matcher: 'infix:<eqv>'␤#      got: '1'␤»
15:55 Zoffix boo at that output
16:00 TimToady I suspect we could now do it by overloading the comparison ops, and making 'ok' smart enough to look for "complicated" values of true/false
16:02 TimToady except, of course, that comparison ops have to be chaining, which might complicate things...
16:04 Zoffix m: class Foo {}; multi infix:<eqv>(Foo, Foo) { say "OK!" }; use Test; cmp-ok Foo, 'eqv', Foo
16:04 camelia rakudo-moar 2fb687: OUTPUT: «OK!␤ok 1 - ␤»
16:04 Zoffix Huh, weird. I thought that wasn't working
16:05 Zoffix 'cuase of this pos: https://www.reddit.com/r/perl6/comments/5li94u/comparing_custom_classes_with_eqv/?st=j2alru0g&amp;sh=69d8c6e1
16:05 Zoffix Ahh.. that was using is-deeply
16:06 TimToady maybe cmp-ok is a macro?
16:06 TimToady or cheats by looking things up in the caller's lexical scope?
16:07 TimToady it's still notationally inconvenient
16:07 Zoffix You can use &[eqv] as well
16:08 Zoffix It does: my $matcher = $op ~~ Callable ?? $op !! &CALLERS::("infix:<$op>") // &CALLERS::("infix:«$op»") // &CALLERS::("infix:<$op.subst(/<?before <[<>]>>/, "\\", :g)>");
16:08 TimToady druther just write: ok Foo eqv Bar, "did stuff"
16:09 TimToady and make eqv smart enough to pass arg into to ok
16:09 TimToady and it still degrades gracefull even if your 'ok' isn't bootstrapped enough to do anything other than pure boolean
16:10 TimToady *fully
16:10 Zoffix What sort of arg?
16:10 Zoffix Or both
16:10 TimToady *args
16:10 Zoffix Ah
16:11 TimToady m: say ([1,2] but False).perl
16:11 camelia rakudo-moar 2fb687: OUTPUT: «[1, 2]␤»
16:11 TimToady m: say ([1,2] but False).so
16:11 camelia rakudo-moar 2fb687: OUTPUT: «False␤»
16:11 TimToady m: say ([1,2] but False) ~~ Positional
16:11 camelia rakudo-moar 2fb687: OUTPUT: «True␤»
16:12 TimToady ok could see that it as a Positional and use that for its report
16:12 TimToady *has
16:12 timotimo role ComparisonOperation { has $.lhs; has $.rhs; has $.op }
16:12 TimToady can't typ ths mrnig
16:12 TimToady timotimo: or that
16:13 TimToady though it'd be nice to handle chains
16:13 TimToady so more likely a list that alternates args and ops
16:13 TimToady but that'll take more work in the parser (which we wanna do anyway)
16:14 TimToady on accounta chains are currently parsed as left-assoc and then reconstructed later as a hack
16:15 TimToady we need to teach EXPR how to return the alternating form
16:15 TimToady need that to allow proper user-level overloading of chains anyway
16:16 TimToady doubtless we could find a few additional yaks to add there... :)
16:21 mst only a few?
16:21 yoleaux 2 May 2017 13:01Z <Zoffix> mst: this looks like something you wanted to add to Perl 5. Any opinions? https://github.com/perl6/ecosystem/issues/334
16:21 mst I've seen toke.c
16:22 Zoffix holy crap. That's like a million comments on that Issue
16:24 * mst comments with "no, fuck off, wait 2-3 years, btw I've spent 10 years working on this and think MY work should also wait 2-3 years"
16:28 mst samcv: my comments on https://github.com/perl6/ecosystem/issues/334 are totally down to how hard I found it to figure out an approach - basically "yes, we should have this if we can, but it may take as long to get this to work as it took us to get 6.c"
16:52 dogbert17 m: say (* + $_)(32) given 10  # tests old bug report
16:52 camelia rakudo-moar 2fb687: OUTPUT: «Use of uninitialized value of type Any in numeric context␤  in whatevercode  at <tmp> line 1␤32␤»
16:54 Zoffix m: $_ = 10; say (* + $_)(32) given 42
16:54 camelia rakudo-moar 2fb687: OUTPUT: «42␤»
16:54 Zoffix Closes over (the wrong?) $_
16:55 robertle joined #perl6-dev
16:55 dogbert17 Zoffix: RT #126413
16:55 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126413
16:55 awwaiid joined #perl6-dev
17:06 Geth ¦ roast: 4ade099426 | (Zoffix Znet)++ | S32-exceptions/misc.t
17:06 Geth ¦ roast: Remove indirect test of `Exception.resumable`
17:06 Geth ¦ roast:
17:06 Geth ¦ roast: That method is broken and will be removed for the time being and
17:06 Geth ¦ roast: this test doesn't test the method itself, but only that concreteness
17:06 Geth ¦ roast: exception gets thrown when this method is called on the type object.
17:06 Geth ¦ roast:
17:06 TimToady * doesn't close over anything, or closes over everything, depending on how you look at it; but there is no $_ inside for it to NOT close over
17:06 Geth ¦ roast: https://irclog.perlgeek.de/perl6/2017-05-04#i_14532712
17:06 Geth ¦ roast: https://irclog.perlgeek.de/perl6/2017-05-04#i_14532815
17:06 Geth ¦ roast: review: https://github.com/perl6/roast/commit/4ade099426
17:06 TimToady * is the argument, so $_ can't be one
17:07 TimToady oh, wait, nevermind, I misread :)
17:07 Zoffix m: my $x = 42; say (* + $x)(10)
17:07 camelia rakudo-moar 2fb687: OUTPUT: «52␤»
17:07 Zoffix m: $_ = 42; say (* + $_)(10)
17:07 camelia rakudo-moar 2fb687: OUTPUT: «52␤»
17:07 Zoffix m: $_ = 42; say (* + $_)(10) with 42
17:07 camelia rakudo-moar 2fb687: OUTPUT: «52␤»
17:07 Zoffix m: $_ = 42; say (* + $_)(10) with 100
17:07 camelia rakudo-moar 2fb687: OUTPUT: «52␤»
17:07 Zoffix m: $_ = 42; for 100 { say (* + $_)(10) }
17:07 camelia rakudo-moar 2fb687: OUTPUT: «110␤»
17:08 Zoffix m: $_ = 42; with 100 { say (* + $_)(10) }
17:08 camelia rakudo-moar 2fb687: OUTPUT: «110␤»
17:08 TimToady perhaps it closes the $_ before parsing the with
17:08 Zoffix Looks like just postfixed stuff is affected
17:08 Zoffix Ah, maybe
17:10 * dogbert17 wonders if RT #126413 and RT #126984 are related
17:12 Geth ¦ rakudo/nom: f2af3db16d | (Zoffix Znet)++ | src/core/Exception.pm
17:12 Geth ¦ rakudo/nom: Remove broken Exception.resumable
17:12 Geth ¦ rakudo/nom:
17:12 Geth ¦ rakudo/nom: Per:
17:12 Geth ¦ rakudo/nom: https://irclog.perlgeek.de/perl6/2017-05-04#i_14532712
17:12 Geth ¦ rakudo/nom: https://irclog.perlgeek.de/perl6/2017-05-04#i_14532815
17:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f2af3db16d
17:13 dogbert17 m: sub foo($x) { say (* ~ $x)($_) given $x }; foo(1); foo(2)
17:13 camelia rakudo-moar 2fb687: OUTPUT: «11␤21␤»
17:14 Geth ¦ roast/6.c-errata: d7d8f03b17 | (Zoffix Znet)++ | S32-exceptions/misc.t
17:14 Geth ¦ roast/6.c-errata: Remove indirect test of `Exception.resumable`
17:14 Geth ¦ roast/6.c-errata:
17:14 Geth ¦ roast/6.c-errata: That method is broken and will be removed for the time being and
17:14 Geth ¦ roast/6.c-errata: this test doesn't test the method itself, but only that concreteness
17:14 Geth ¦ roast/6.c-errata: exception gets thrown when this method is called on the type object.
17:14 Geth ¦ roast/6.c-errata:
17:14 Geth ¦ roast/6.c-errata: https://irclog.perlgeek.de/perl6/2017-05-04#i_14532712
17:14 Geth ¦ roast/6.c-errata: https://irclog.perlgeek.de/perl6/2017-05-04#i_14532815
17:14 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/d7d8f03b17
17:17 TimToady how in the world is it getting a 1 the second time?
17:18 Zoffix m: sub foo($x) { given $x { say (* ~ $x)($_) } }; foo(1); foo(2)
17:18 camelia rakudo-moar 2fb687: OUTPUT: «11␤22␤»
17:18 Zoffix dogbert17: looks related, yeah
17:18 TimToady m: sub foo($x) { say (* ~ $x)($_) given $x }; foo(3); foo(2)
17:18 camelia rakudo-moar 2fb687: OUTPUT: «33␤23␤»
17:18 TimToady something's acting like 'state'
17:44 Zoffix m: sub foo($x) { -> $_ { (* ~ $x)($_) }($_) with "x" }; my $c1 = foo 3; my $c2 = foo 2; dd [ $c1, $c2, $c1.^name ]
17:44 camelia rakudo-moar f2af3d: OUTPUT: «["x3", "x2", "Str"]␤»
17:44 Zoffix m: sub foo($x) { -> { (* ~ $x)($_) } with "x" }; my $c1 = foo 3; my $c2 = foo 2; dd [ $c1(), $c2() ]
17:44 camelia rakudo-moar f2af3d: OUTPUT: «Use of uninitialized value $_ of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in whatevercode  at <tmp> line 1␤Use of uninitialized value $_ of type Any in string context.…»
17:45 Zoffix m: sub foo($x) { -> $_ { (* ~ $x)($_) } with "x" }; my $c1 = foo 3; my $c2 = foo 2; dd [ $c1, $c2, ]
17:45 camelia rakudo-moar f2af3d: OUTPUT: «["x3", "x2"]␤»
17:45 * Zoffix wonders why that version doesn't return a Block :/
17:45 Zoffix m: -> $ { say "hi" }
17:45 camelia rakudo-moar f2af3d: ( no output )
17:45 Zoffix m: -> $_ { say "hi" }
17:45 camelia rakudo-moar f2af3d: ( no output )
17:47 Zoffix oh it wants explict return... Fine
17:47 Zoffix m: sub foo($x) { return -> { (* ~ $x)($_) } with "x" }; my $c1 = foo 3; my $c2 = foo 2; dd [ $c1(), $c2(), ]
17:47 camelia rakudo-moar f2af3d: OUTPUT: «["x3", "x2"]␤»
19:23 Zoffix ZofBot: how is your day going?
19:23 ZofBot Zoffix, Used primarily in "macro" parlance, a gensym acts as a "handle" on something anonymous, allowing a macro author to refer to synthetically created bits of a program after creating them
19:27 perlpilot joined #perl6-dev
19:37 AlexDaniel joined #perl6-dev
20:06 dct joined #perl6-dev
20:16 Geth ¦ star: 6b415fc151 | (Steve Mynott)++ | ports/build_msi.bat
20:16 Geth ¦ star: temporary hack to build standalone MSI
20:16 Geth ¦ star: review: https://github.com/rakudo/star/commit/6b415fc151
20:33 stmuk I'm going to have a look at ARM tomorrow and hopefully finally tag
20:56 Ven joined #perl6-dev
21:04 jnthn I did an SO post giving details on the array sharing question: http://stackoverflow.com/questions/43782864/is-it-safe-to-share-an-array-between-threads/43792718#43792718
21:11 lizmat gory and again, so much better :-)
21:12 * Zoffix quickly deletes his answer
21:13 lizmat tries to do as well, but apparently can not
21:13 jnthn Well, some of the other answers said what to do instead, which I didn't :)
21:13 jnthn Looks like I finally get my new hardware tomorrow. \o/
21:16 Zoffix \o/
21:20 * lizmat takes an early night for a change
21:35 sivoais joined #perl6-dev
21:41 sasheto joined #perl6-dev
21:42 samcv good *
21:42 Zoffix \o
22:14 Zoffix Is there a way to eval a QAST tree to see how it runs?
22:14 Zoffix m: use QAST:from<NQP>; $ = QAST::WVal(Nil)
22:14 camelia rakudo-moar f2af3d: ( no output )
22:14 Zoffix Like that, but I want it to actually execute the QAST stuff
22:14 timotimo you can manually run the individual stages of the compiler
22:14 Zoffix How?
22:14 timotimo each stage is "just" a method
22:14 Zoffix oh
22:16 Zoffix m: use nqp; use QAST:from<NQP>; nqp::getcomp("perl6").ast: QAST::WVal(Nil)
22:16 camelia rakudo-moar f2af3d: OUTPUT: «Cannot find method 'ast' on object of type (null)␤␤»
22:17 * Zoffix decides to repurpose perl7 compiler into a QAST debug tool
22:17 timotimo hm, i don't think that's it
22:17 Zoffix m: use nqp; use QAST:from<NQP>; nqp::getcomp("perl6").ast: QAST::Op.new: :name<say>, QAST::SVal.new: :value<Hi>
22:17 camelia rakudo-moar f2af3d: OUTPUT: «Cannot find method 'ast' on object of type QAST::Op␤␤»
22:18 timotimo you'd likely .mast and put in the qast
22:18 timotimo and the result of that you can then feed into .mbc
22:19 timotimo whihc, if you don't have a :output adverb, will run the code for you
22:27 Zoffix I got it.
22:27 Zoffix Gonna turn it into a bot feature
22:28 timotimo neato
22:31 timotimo how do you feed the qast into the bot then? just as perl6 literal stuff with QAST::blah?
22:32 timotimo it'd be kinda cool if you didn't have to write QAST:: every time, as well as .new
22:41 stmuk joined #perl6-dev
22:42 Zoffix 0.o Stage parse      : 159.183
22:42 Zoffix I thought hack was a meaty machine
22:43 timotimo you do realize it's running at all cores maxed at the moment?
22:43 timotimo hm
22:43 Zoffix Ah, samcv's script is doing something
22:44 samcv hmm?
22:44 timotimo samcv: do you think a few of your tests are infinilooping or something?
22:44 Zoffix module install stuff, I'm guessing
22:44 timotimo because two of them have over 100 hours of cpu time
22:44 timotimo another i sat 99, one at 46, 49, 60 hours
22:45 Zoffix samcv: looks like some of the test files from modules hung and no one killed them
22:45 samcv hmm looks like i have moar running
22:45 timotimo you have moar than just moar running :P
22:45 samcv looks like it. i'll kill all the moar's
22:45 Zoffix \o/
22:45 timotimo it's dead, jim
22:45 samcv maybe should have it kill all of my users moar processes at the end of the script :P
22:45 Zoffix w00t
22:45 timotimo did it actually reach the end of the script?
22:46 samcv prolly
22:46 timotimo we should probably put a limit into collectd so it warns if the cpu utilization has been at >95% for all cores for over 24h or so
22:46 timotimo so we can check if anything is hanging
22:46 samcv https://gist.github.com/samcv/5339208c44a4d65f5165508e02dd0cee
22:46 timotimo alternatively, put in some ulimit d)
22:47 samcv it got 885 modules
22:47 timotimo :)
22:47 samcv on the run 3 days ago
22:47 Zoffix There's also user "go" with two jvm things that've been running for hours. One is eatin 35% CPU and been up for 9hr
22:49 Zoffix ZofBot: I thought go was fast!
22:49 ZofBot Zoffix, This "Cat" is also lazy
22:49 Zoffix ZofBot: all cats are lazy
22:49 ZofBot Zoffix, infix:[$op]($y) $x
22:50 samcv my @pids = qqx{pgrep moar | grep -v $*PID}
22:50 SourceBaby joined #perl6-dev
22:50 samcv yeah if a script hangs i'll just kill all the moar scripts that aren't that one
22:53 SourceBaby joined #perl6-dev
22:56 Zoffix weird. I swapped chdir $.dir; run().... to indir $.dir, sub { run() ... } in sourceable and it refuses to respond :/
22:59 timotimo will changing sub to -> change anything?
22:59 Zoffix ...
22:59 Zoffix And now it works.
22:59 Zoffix ZofBot: the robot's just screwing with me!
22:59 ZofBot Zoffix, git The distributed source revision system used by many, if not all Perl 6 projects, generally hosted on "github"
23:00 Zoffix I couldn't change it anyway, 'cause there's a couple of returns. But works now all of a sudden
23:00 Zoffix Oh. I just upgraded perl6 it was recompiling IRC and a bunch of other modules
23:00 Zoffix (I have them as files in a dir)
23:01 Zoffix ... maybe
23:01 samcv hm
23:19 SourceBaby joined #perl6-dev
23:20 Zoffix qast: QAST::Op.new: :op<say>, QAST::SVal.new: :value<Hi>
23:20 SourceBaby Zoffix, OUTPUT: «Hi␤»
23:20 Zoffix timotimo: that's how
23:20 Zoffix qast: ▸Op: :op<say>, ▸SVal: :value<Hi>
23:20 SourceBaby Zoffix, OUTPUT: «Hi␤»
23:20 Zoffix And this is the shortcut to avoid typing QAST and new. ▸(\w+) gets changed to QAST::$0.new
23:21 timotimo neat.
23:21 timotimo yeah, i kinda like that
23:22 Zoffix qast: ▸WVal: :value(Nil)
23:22 SourceBaby Zoffix, OUTPUT: «»
23:22 Zoffix I guess this isn't where the bug I was hunting is at....
23:22 Zoffix And it only took me 70 minutes to answer it!
23:23 timotimo %)
23:51 samcv Zoffix, gonna try running the serever again
23:52 * Zoffix has no idea what that means
23:52 samcv the module build script. sorry XD
23:53 Zoffix Ah
23:53 * Zoffix isn't doing anything on hack anymore

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