Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-09-13

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

All times shown according to UTC.

Time Nick Message
00:00 pyrimidi_ joined #perl6-dev
00:13 samcv where is the code for perl6 -n located?
00:13 samcv anyone know? the one that takes stdin and then runs the given code once for each line of input
00:16 MasterDuke samcv: Actions.nqp
00:21 ugexe git grep '<%?OPTIONS><n>'
00:34 samcv thank you :)
01:33 BenGoldberg If I wanted to use NativeCall to play with the C-level dirent struct and readdir functions, how would I declare the d_name part of the struct?  In C, it's defined as: struct dirent { ...; char d_name[PATH_MAX+1]; }; typedef struct dirent dirent;
01:55 ilbot3 joined #perl6-dev
01:55 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:03 cuonglm joined #perl6-dev
02:04 cuonglm Can anyone take a look at this PR https://github.com/rakudo/rakudo/pull/1154
02:04 cuonglm thanks
02:07 samcv QAST::WVal.new( :value($*W.find_symbol(['Array'])) )
02:07 samcv ^ this will get me an undefined array y/n? how do i make a defined Array?
02:07 samcv aka Array.new
02:09 yoleaux joined #perl6-dev
02:13 BenGoldberg nativecallable6, struct foo { char bar[42] };
02:13 nativecallable6 BenGoldberg, https://gist.github.com/b828fd25a36677922e45ac23d9a7cec5
02:14 BenGoldberg nativecallable6, struct foo { char bar[42]; };
02:14 nativecallable6 BenGoldberg, class foo is repr('CStruct') is export {␤ has NYIRP6(Array with size) $.bar; # char[42] bar␤}
02:14 BenGoldberg NYI, fooey.
02:26 AlexDaniel heh
03:45 llfourn joined #perl6-dev
05:29 samcv just had a friend get an issue. not all distros have ExtUtils::Command included with their perl
05:29 samcv and they had no clue why rakudo star wouldn't install. as it's only used in the makefile
05:32 Geth ¦ rakudo/nom: 3f4a9ffac6 | (Samantha McVey)++ | Configure.pl
05:32 Geth ¦ rakudo/nom: Don't start Configure.pl without ExtUtils::Command
05:32 Geth ¦ rakudo/nom:
05:32 Geth ¦ rakudo/nom: Not all distros include this module, but it is needed to run the Makefile.
05:32 Geth ¦ rakudo/nom: If a user would try and install Rakudo Star and they don't have the module,
05:32 Geth ¦ rakudo/nom: this would obscure the missing module and they likely would not know why
05:32 Geth ¦ rakudo/nom: the Rakudo Star compilation/installation was failing.
05:32 Geth ¦ rakudo/nom:
05:32 Geth ¦ rakudo/nom: `use` the module in Configure.pl so the user immediately knows they must
05:32 Geth ¦ rakudo/nom: install this module if they do not have it.
05:32 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3f4a9ffac6
05:40 moritz samcv++
05:50 llfourn joined #perl6-dev
06:16 travis-ci joined #perl6-dev
06:16 travis-ci Rakudo build failed. Samantha McVey 'Don't start Configure.pl without ExtUtils::Command
06:16 travis-ci https://travis-ci.org/rakudo/rakudo/builds/274899885 https://github.com/rakudo/rakudo/compare/ec18efa056e8...3f4a9ffac61e
06:16 travis-ci left #perl6-dev
06:16 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
06:43 astj_ joined #perl6-dev
06:44 samcv oh no
06:44 samcv oh it looks like probably a flapper not me
06:56 jnthn gfldex: No; last inside whenever should work and mean "unsubscribe", but in the top-level react the only control exception that makes sense is done
07:15 b2gills joined #perl6-dev
08:15 lizmat Files=1223, Tests=67675, 290 wallclock secs (11.03 usr  4.59 sys + 1963.13 cusr 206.70 csys = 2185.45 CPU)
08:15 yoleaux 12 Sep 2017 16:40Z <Zoffix> lizmat: fixes to S24-testing/8-die_on_fail.t look good. The only thing I don't get is why they were passing before or what do you mean by "core returns the wrong exit codes". perl6 -e 'exit 255'; echo $? gives me 255. Some glitch in is_run() routine?
08:16 lizmat .tell zoffix they were passing before because they were checking for the wrong thing
08:16 yoleaux lizmat: I'll pass your message to zoffix.
08:29 robertle joined #perl6-dev
08:48 cog_ joined #perl6-dev
08:55 [TuxCM] joined #perl6-dev
08:58 [TuxCM] This is Rakudo version 2017.08-112-g3f4a9ffac built on MoarVM version 2017.08.1-156-g49b90b99
08:58 [TuxCM] csv-ip5xs        1.281 -  1.302
08:58 [TuxCM] test             9.524 -  9.536
08:58 [TuxCM] test-t           3.394 -  3.402
08:58 [TuxCM] csv-parser      10.661 - 10.844
09:35 lizmat first time below 3.4 ?
09:35 lizmat .speed 10
09:53 timo1 joined #perl6-dev
09:56 ilmari lizmat: it's been twice before
09:56 ilmari [2017-09-06 10:02:51]< |Tux|> test-t           3.376 -  3.490
09:57 ilmari [2017-09-13 09:58:25]< [TuxCM]> test-t           3.394 -  3.402
09:58 gfldex didn't we used to have typed exceptions for IO?
10:05 timo1 joined #perl6-dev
10:24 moritz m: say X::IO
10:24 camelia rakudo-moar 3f4a9f: OUTPUT: «(IO)␤»
10:30 gfldex i'm getting `X::AdHoc: Failed to open file radio-fifo-i: No such file or directory`
10:30 gfldex but I can't find where that comes from
10:30 timo1 joined #perl6-dev
10:33 lizmat m: die; CATCH { dd $_ }   # die will throw X::AdHoc
10:33 camelia rakudo-moar 3f4a9f: OUTPUT: «X::AdHoc.new(payload => "Died")␤Died␤  in block <unit> at <tmp> line 1␤␤»
10:33 lizmat gfldex: ^^^
10:33 gfldex so does fail
10:33 gfldex and there are quite a few fails with bare strings left in Rakudo
10:35 gfldex could be something for a SQUASHathon. Fairly easy to do and could be finished in one weekend
10:51 Zoffix .
10:51 yoleaux 08:16Z <lizmat> Zoffix: they were passing before because they were checking for the wrong thing
10:52 * Zoffix still doesn't get it, but OK :)
10:52 Zoffix mst: I didn't know you were a vocalist in a Christian power metal band :) https://www.youtube.com/watch?v=oxS1aQSSb5M
10:54 Zoffix gfldex: IIRC the was a plan to make open die with a VM typed exception instead of X::AdHoc
10:54 Zoffix gfldex: this PR in particular: https://github.com/rakudo/rakudo/pull/894
10:55 Zoffix s/the/there/;
11:16 lizmat joined #perl6-dev
11:27 skids joined #perl6-dev
11:29 jnthn Righty, that was lunch. Back to this scheduler...
11:33 timotimo back to your regularly scheduler coding
11:38 Geth ¦ rakudo/nom: 80e069a4b4 | (Elizabeth Mattijsen)++ | 2 files
11:38 Geth ¦ rakudo/nom: BUILDPLAN states 2,3 were not being used
11:38 Geth ¦ rakudo/nom:
11:38 Geth ¦ rakudo/nom: - so eradicate them
11:38 Geth ¦ rakudo/nom: - probably does not have any noticeable performance effects
11:38 Geth ¦ rakudo/nom: - but it cleans up, and means less codegen to worry about later
11:38 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80e069a4b4
11:47 jnthn lizmat: fwiw, I think they're used by NQP
11:48 lizmat well, it spectests clean  :-)
11:48 lizmat and as a single commit, easily reversible
11:50 lizmat jnthn: are you saying that NQP executes Mu.BUILDALL  ?
11:50 lizmat lunch&
11:51 jnthn lizmat: No, I think it'd only happen if you inherit from an NQP class
12:11 lizmat jnthn: so, do you think I should revert ?
12:12 jnthn lizmat: Well, I doubt there's much doing that, though I think v5 was
12:18 lizmat hmmm... v5 is severely bitrotted: 'Build' cannot inherit from 'Panda::Builder' because it is unknown.
12:25 jnthn Basics of the new thread pool scheduler slowly starting to come together
12:26 * lizmat assumes that will be merged post 2017.09 release, right ?
12:26 jnthn Absolutely.
12:26 jnthn I've caused enough trouble for one release already :P
12:26 gfldex jnthn: do you got an interface for keeping track and terminating threads aleady?
12:27 lizmat gfldex: you mean terminating threads from the outside?
12:27 gfldex yes
12:27 jnthn gfldex: The interface is the same as today
12:27 jnthn Well, modulo it accepting some extra hints when asked for a queue
12:28 jnthn That said, the new design does keep rather better track of what threads it's running
12:29 jnthn So if we want to have a way to get that status info, we can
12:29 jnthn The design still assumes "lives until shutdown"
12:35 gfldex I would like to terminate a thread that is blocking on a `open`.
12:38 lizmat gfldex: I assume technically, you would like to end the work that a thread is doing, right?
12:38 gfldex yes
12:38 lizmat ok, just checking  :-)
12:38 jnthn Ah, that's...trickier
12:39 gfldex having non-bocking open would mitigate the problem. At least for my usecase.
12:46 lizmat gfldex: since we can now pass handles between threads (afaik), wouldn't a start block returning the handle, and a Promise.in(5) timeout do the work for you ?
12:50 gfldex if I `open` a FIFO (other fancy stuff like dev-inodes, plasticfs, unionfs and such) the thread will block. The fifo-file can be unlinked without the open call to return. Now I have a thead I can't possibly get rid of, because I can't even for a write from the other end of the pipe (that may be done from a different thread in the same process).
12:51 gfldex s/for/force/
12:53 gfldex I intend to build a webradio server that knows about bluetooth speakers and as such will have to talk to all sort of os-subsystems _and_ will run continuesly for weeks.
12:53 gfldex at least that's the plan.
12:53 gfldex Segmentation fault (core dumped)
12:53 gfldex real    1702m34.239s
12:53 gfldex that's how for Rakudo will carry me so far :)
12:57 jnthn lizmat: Promise.in timeout stuff doesn't terminate the other operation
12:58 lizmat ah, duh...  and the Promise.in runs in another thread anyway, right ?
12:59 gfldex in the world of fork one could use signals. Is there something like that in the (portable) thread world?
12:59 jnthn Perhaps yes, especially if you're willing to play NativeCall games
12:59 * gfldex fleets in terror
13:01 jnthn fwiw http://docs.libuv.org/en/v1.x/fs.html#c.uv_fs_open is on the one hand non-blocking, but on the other hand doesn't seem to provide a cancellation mechanism
13:02 jnthn It seems the open syscall does take O_NONBLOCK though
13:48 tadzik joined #perl6-dev
13:51 MasterDukeMobile joined #perl6-dev
13:54 * jnthn reaches the point where he wants to try out the new scheduler in CORE.setting, before doing further smarts in it
13:55 [Coke] jnthn: ISTR you suggested that, in the setting $*ERR // stderr() would be problematic (and it is) - do you remember what your suggested resolution was?
13:55 [Coke] (no worries if not)
13:56 jnthn Ummm...no
13:56 jnthn Though stderr() is an NQP thing
13:57 jnthn Which is why it won't work in the setting
13:57 jnthn (which is Perl 6 code)
13:57 jnthn nqp::stderr gets the handle but that's the low-level object
13:57 jnthn Do we have situations in CORE.setting where we don't have a $*ERR?
13:57 jnthn I guess during the build...
13:58 jnthn We can always use nqp::writefh(nqp::stderr(), nqp::encode('blah', 'utf8')) or so though
13:59 pyrimidine joined #perl6-dev
14:00 jnthn hm, well, passes make test :)
14:06 ilmari[m] joined #perl6-dev
14:06 CIAvash[m] joined #perl6-dev
14:08 jnthn heh, that moment when your new scheduler passes spectest first time and you git diff to check if you really actually tested it :P
14:10 Zoffix :D
14:11 mst jnthn: and you're still going to be paranoid for weeks
14:12 lizmat Q: are we supposed to allow subclassing of Mu.bless ?
14:12 jnthn Umm...I think that falls into "not very advisable but it's a method so what can we do about it" :)
14:19 mst also quite possibly "99% of the time a bad idea, but 1% of the time enables you to do things that are really quite awesome and had never occurred to anybody in advance"
14:19 mst like, "this is the sort of thing ingy or I might use to do something amazing and everybody else probably just loses a foot" ;)
14:19 llfourn joined #perl6-dev
14:20 lizmat what if you'd still be able to subclass .bless, but you'd need t supply your own .new ?
14:21 jnthn Sounds a bit odd-ish...
14:22 lizmat what if object creation with a single attribute could be made 30% faster
14:23 jnthn What if we solved the more general problem and made all object creations 30% faster? :P
14:23 jnthn s/the more/a more/
14:25 jnthn Hurrah, for ^100 { run "ls" } runs in about half the memory with the new scheduler
14:25 mst lizmat: surely if that's possible it could be done via an optimisation that detects the presence of a single attribute with a constructor with a single positional arg or something?
14:25 lizmat well, I guess I could just wait for it :-)
14:25 lizmat ah, maybe I expressed myself unclearly: the 30% is for a class with  single attribute
14:26 lizmat this would speed up *all* object creation through Mu.new, the percentage would vary with number of attributes and default values needing to be set or not
14:26 jnthn Ah, OK, then it's maybe less bad than I feared :)
14:27 lizmat basically, letting Mu.new do nqp::create(self).BUILDALL(%attrinit); directly
14:27 lizmat rather than go through Mu.bless
14:27 mst lizmat: then I'm confued as to the relationship with Mu.bless ? if you're already needing to detetc the 'single attribute' part you could detect 'My.bless has not been subclassed' at the same time?
14:28 mst sorry if these are stupid questions
14:28 Geth ¦ rakudo/better-sched: d2eb742312 | (Jonathan Worthington)++ | 3 files
14:28 Geth ¦ rakudo/better-sched: Pass :hint-affinity to scheduler in some places
14:28 Geth ¦ rakudo/better-sched:
14:28 Geth ¦ rakudo/better-sched: These are cases where the input is arriving to be emitted by a Supply,
14:28 Geth ¦ rakudo/better-sched: and thus having multiple threads scrambling to handle the input will
14:28 Geth ¦ rakudo/better-sched: do more harm than good. Ignored by the current thread pool scheduler,
14:28 Geth ¦ rakudo/better-sched: but will be used by the upcoming new one.
14:28 Geth ¦ rakudo/better-sched: review: https://github.com/rakudo/rakudo/commit/d2eb742312
14:28 Geth ¦ rakudo/better-sched: 80b49320cf | (Jonathan Worthington)++ | 2 files
14:28 Geth ¦ rakudo/better-sched: Initial re-implementation of thread pool scheduler
14:28 Geth ¦ rakudo/better-sched:
14:28 Geth ¦ rakudo/better-sched: Has separate general and timer queues with separate workers, and also
14:28 Geth ¦ rakudo/better-sched: introduces affinity queues, which are intended for cases where events
14:28 Geth ¦ rakudo/better-sched: will be fed into a `Supply`, and thus there's no point having lots of
14:28 Geth ¦ rakudo/better-sched: threads competing over them only to immediately stumble over each
14:28 Geth ¦ rakudo/better-sched: other. The separate timer queue helps with timer events being delayed,
14:28 Geth ¦ rakudo/better-sched: <…commit message has 15 more lines…>
14:28 Geth ¦ rakudo/better-sched: review: https://github.com/rakudo/rakudo/commit/80b49320cf
14:28 lizmat mst: hmmm.. good point
14:28 mst I mean, that sounds really cool for the "didn't customize bless or BUILD or new" case in general
14:29 mst you could perhaps inline BUILDALL in that case as well
14:29 mst (and only call TWEAKALL if there's a TWEAK ...)
14:29 jnthn BUILDALL is what I think we'd code-gen
14:29 lizmat BUILDALL would be codegenned indeed
14:29 mst aha, ok
14:29 jnthn Rather than it being interpreted
14:30 lizmat I'm just doing some research into optimizing BUILDALL and grokking the whole machinery deeply
14:30 jnthn Also worth noting that manual inlining is generally less useful in Perl 6 than one might thing, since spesh does it in a lot of cases
14:30 mst bearin mind in p5 M* what you call BUILD is always generated, and your TWEAK is the user-accessible bit
14:30 lizmat before starting on the codegen step
14:30 jnthn *might think
14:30 mst so my POV can be skewed by that
14:30 lizmat mst: BUILD/TWEAK will always be called
14:31 mst lizmat: I'm talking about the "when they don't exist" case
14:31 lizmat ah, ok.. they will only be called if they exist, of course
14:32 lizmat but I don't see BUILD and TWEAK code genned into BUILDALL just yet
14:32 jnthn In theory, though, a short BUILD/TWEAK method would be inlined into the code-gen'd BUILDALL, which in turn might manage to be inlined into .new
14:32 jnthn And if the new is then inlined then we've basically won.
14:32 lizmat yup
14:32 mst my point being that if there's no BUILDs in the heirarchy you could generate a single BUILDALL that e.g. only unpacks the named args once
14:32 mst not sure if your inlining includes signature merging
14:33 jnthn mst: Not yet, though it's in the realm of possible things :)
14:33 mst hence the thing where "hier has no custom BUILDs" might still make generating a BUILDALL worth it if there's N levels since %attrinit would then only be unpacked once
14:34 mst I think
14:34 * mst *thinks* he's being *theoretically* coherent here
14:34 mst but that doesn't mean it's a good idea ;)
14:34 lizmat being theoretically coherent is always a good first step    :-)
14:35 mst yeah, but I'm a pure mathematician by training, so I'm really good at being theoretically coherent with no actual relationship to reality ... ;)
14:35 jnthn Hurrah, stresstest is also happy under the new scheduler
14:36 jnthn I guess that means I can now work on making it a bit smarter :)
14:37 jnthn Can confirm it fixes R
14:37 jnthn https://rt.perl.org/Ticket/Display.html?id=122709
14:37 jnthn grr :)
14:37 jnthn That RT
14:38 lizmat .oO( R you being fixed ? )
14:38 jnthn And makes things much betterin RT #131915
14:38 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131915
14:38 jnthn And in theory helps with RT #130370; will check that now
14:38 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130370
14:40 jnthn bah, output buffering actually makes that much less of an issue already :P
14:41 lizmat don't you hate it if previous opts make new opts obsolete  :-)
14:41 jnthn ;)
14:42 jnthn Well, adding .flush re-shows the problem of the late timer
14:42 jnthn And I can see that with the new scheduler the timer fires on time
14:42 jnthn So, yay
14:45 samcv jnthn, i'm getting crashes in p6decontrv
14:45 samcv <samcv>30 of perl6_ops.c:340 in the rakudo tree
14:46 jnthn Crashes?
14:46 samcv SIGSEV
14:47 jnthn hm, line 340 is just a pointer comparison
14:48 jnthn Got any local changes?
14:48 samcv just things only triggered with -a and none of these happned with that
14:48 samcv libperl6_ops_moar.so`p6decontrv(tc=0x0000000000cf6980, cur_op="") at perl6_ops.c:340
14:48 jnthn Could be some kind of version skew
14:49 samcv maybe this means something
14:49 samcv no cur_op?
14:49 jnthn e.g. a MoarVM change happened and then the extops weren't built against it
14:49 samcv i mean what would i have to do just compile rakudo again?
14:49 samcv if so then that can't be it since i have been doing that
14:50 Geth ¦ rakudo: sjn++ created pull request #1155: Improve generate MAIN usage for rakudobrew
14:50 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1155
14:51 lizmat m: class A { method bless() { "blessed" } }; dd A.new
14:51 camelia rakudo-moar 80e069: OUTPUT: «"blessed"␤»
14:51 samcv jnthn, also how do i insert a value stored in Actions.nqp into a QAST node?
14:51 jnthn samcv: Did you try a make clean? If you only chanage Actions.nqp...
14:51 jnthn What kind of value?
14:51 Geth ¦ rakudo/nom: 76ccfd591d | (Salve J. Nilsen)++ | src/core/Main.pm
14:51 Geth ¦ rakudo/nom: Improve generate MAIN usage for rakudobrew
14:51 Geth ¦ rakudo/nom:
14:51 Geth ¦ rakudo/nom: When using rakudobrew, the MAIN function's generated usage text contains
14:51 Geth ¦ rakudo/nom: very long paths on every line. This changes the output to showing the
14:51 Geth ¦ rakudo/nom: full path on only one line, and then the basename on all subsequent lines.
14:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/76ccfd591d
14:51 samcv a string value
14:51 Geth ¦ rakudo/nom: 7f0367b795 | lizmat++ (committed using GitHub Web editor) | src/core/Main.pm
14:51 Geth ¦ rakudo/nom: Merge pull request #1155 from sjn/sjn-main-usage
14:51 samcv QAST::WVal.new(:value($delimiter)),
14:51 Geth ¦ rakudo/nom:
14:51 Geth ¦ rakudo/nom: Improve generate MAIN usage for rakudobrew
14:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7f0367b795
14:52 samcv it's a variable that's in the code, well it's an argument for a sub in Actions.nqp and it's a str type
14:52 dogbert17_ jnthn: is it enough to check out the 'better-sched' branch and rebuild rakudo in order to test it or does something else have to be done as well?
14:52 samcv if i try that i get: Object of type BOOTStr in QAST::WVal, but not in SC
14:52 cognominal joined #perl6-dev
14:52 jnthn dogbert17_: That'd be all for now
14:52 jnthn samcv: Yeah, that's not sufficinet
14:52 Geth ¦ rakudo/nom: 62fd509333 | (Elizabeth Mattijsen)++ | src/core/Mu.pm
14:52 Geth ¦ rakudo/nom: Bypass Mu.bless if we can
14:52 Geth ¦ rakudo/nom:
14:52 Geth ¦ rakudo/nom: - check if the object's bless method is same as Mu.bless
14:52 Geth ¦ rakudo/nom: - if so, bypass calling Mu.bless and go for self.BUILDALL directly
14:52 Geth ¦ rakudo/nom: - makes object creation a bit faster
14:52 Geth ¦ rakudo/nom:   - about 25% for .new on a class with a single attribute and a default value
14:52 Geth ¦ rakudo/nom:   - about 1% slower if you subclass .bless yourself, but that should be rare
14:52 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/62fd509333
14:52 jnthn samcv: There's an add_str_constant or some such method on $*W that does it right
14:52 dogbert17_ hmm, the build, i.e. make went well but make test
14:53 dogbert17_ and make install didn't go that well
14:53 jnthn samcv: ah, add_string_constant actually
14:54 jnthn dogbert17_: ohhh
14:54 jnthn I forgot
14:54 jnthn I uncovered a MoarVM bug
14:54 samcv that doesn't seem to accept a name though. only a value
14:54 dogbert17_ aha :)
14:54 samcv how do i refer to it by name then?
14:54 jnthn samcv: What kind of name?
14:54 samcv or do i do QAST::WVal(:value($*Wadd_string_constant($foo))
14:55 jnthn Oh, I see
14:55 jnthn Yes
14:55 samcv to refer to the variable i mean
14:55 samcv ok thanks
14:55 jnthn For a moment I thought you were wanting to pass it as a named parameter
14:56 samcv but from the coredump it looks like that thing in perl6_ops.c wasn't getting any argument. so i added a throw in to it in case it gets a NULL pointer
14:56 jnthn dogbert17_: HEAD of MoarVM :)
14:56 dogbert17_ jnthn: thx
14:56 samcv will see if it triggers that check and let you know. crash isn't always consistent just been happening randomly
14:56 jnthn samcv: "" doesn't mean NULL pointer
14:56 samcv oh
14:57 jnthn It's jsut that the bytecode stream is a char *
14:57 jnthn But the bytecode stream can have null bytes in it
14:57 jnthn gdb then helpfully tries to show it as a string
14:57 samcv well the argument is MVMuint8 *cur_op
14:57 jnthn 'cus it can't know it's not
14:57 jnthn And ends up showing either a junk string or, if it's a zero, the empty string
14:57 samcv so it points to something that has a NULL in there?
14:58 jnthn yeah
14:58 jnthn But it's not string data at all
14:58 samcv yep
14:58 jnthn And it's not even a null pointer, just a zero byte
14:58 samcv yeah i got it
14:59 jnthn Did you try a make clean ?
15:01 Skarsnik joined #perl6-dev
15:05 samcv jnthn, now i get Object of type QAST::Want in QAST::WVal, but not in SC
15:05 samcv yeah i'll try that
15:05 samcv this is with the WVal issue
15:07 jnthn samcv: oh...
15:07 jnthn Then add_string_constant is already returning a QAST node
15:07 jnthn I forgot it did that
15:07 jnthn So you don't need to wrap it int a WVal at all
15:07 jnthn Just stick it straight into the tree
15:08 samcv ok cool
15:15 Skarsnik Hello
15:15 yoleaux 12:10Z <Zoffix> Skarsnik: you were asking how much HDD Toaster needed. I have the answer: https://irclog.perlgeek.de/perl6/2017-09-13#i_15156762
15:16 Skarsnik Hm someone ran toaster already?
15:20 Zoffix Skarsnik: I think stmuk was gonna. At least he was asking about how much HDD space was needed
15:21 ugexe what tool should i use to find leaking/opening handles other than playing with ulimit?
15:21 Skarsnik I am actually preparing a vm to run it
15:21 stmuk Skarsnik: I'm running it on a very low resource VM right now but I have only got to th Ds
15:22 stmuk the more runs the better
15:22 Skarsnik Zoffix, I need to upgrade the free account to something? max core I could set was 8
15:23 Zoffix Skarsnik: oh, dunno. I guess that's the limit now. I think I subbed to full account right away and while I still had the $300 credit, I could use full systems (32-core at the time, they have 64-core boxes now)
15:24 ugexe someone should make a tool to generate a perl6 docker + toaster + post-run ~/.zef/store folder (so no fetching is required)
15:25 stmuk Zoffix: which VPS service did you use?
15:25 Skarsnik or just put all cmd on the readme in a script x)
15:25 ugexe that still requires downloading
15:26 ugexe which means various commands could fail during install process
15:26 Zoffix stmuk: Google Compute Engine
15:27 Zoffix For toasting and rakudo-hacking-on-the-go. I use Linode for my always-on server
15:27 ugexe me too
15:28 Skarsnik btw why perlbrew?
15:28 Skarsnik perl on debian is too old?
15:28 ugexe does debian come with a perl with the proper flags turned on?
15:28 Skarsnik No idea
15:29 Zoffix Skarsnik: dunno, just force of habbit. I always brew my own perl, leaving system one alone
15:29 Skarsnik Why would you need special flgas?
15:29 Zoffix For Inline::Perl5
15:29 Skarsnik Ooh make sense
15:31 jnthn More scheduler fun tomorrow. :) bbl
15:34 stmuk I've used the Redhat cloud service before as well .. I wonder if there is a regularly updated resource keeping tab on cloudy free-ness?
15:34 nine I really don't like https://github.com/rakudo/rakudo/pull/1155/commits/76ccfd591db960c6d1a22a496ef928cdd7758403
15:34 nine It's useful only for rakudobrew users and may confuse others.
15:35 Skarsnik hm
15:35 Skarsnik not really
15:35 Skarsnik zef does the same thing
15:36 Skarsnik I get a /opt/....../zef in front of each line
15:36 Zoffix Skarsnik: it only does that because you're using rakudobrew
15:37 Zoffix Do you?
15:38 Skarsnik hm
15:38 Skarsnik it does not now x)
15:39 stmuk I think zef behaviour changed recently I've not seen the long paths for a while
15:39 Skarsnik Usage:
15:39 Skarsnik zef [--force|--force-fetch] fetch '[<identities> ...]' -- Download specific distributions
15:39 Skarsnik I remember having a full path here
15:39 Zoffix Skarsnik: there's a plug in zef itself to avoid that.... Try   zef dfasdassadsa
15:40 Skarsnik well anyway it's not here, it's cool
15:40 Skarsnik and I installed by hand
15:42 stmuk talking of rakudobrew .. there are some PRs open (inc. one of mine :-) )
15:42 [TuxCM] joined #perl6-dev
15:43 Skarsnik Zoffix, toaster detect the number of core?
15:44 Geth ¦ rakudo/nom: 9b527d0f08 | (Stefan Seifert)++ | src/core/Main.pm
15:44 Geth ¦ rakudo/nom: Revert "Improve generate MAIN usage for rakudobrew"
15:44 Geth ¦ rakudo/nom:
15:44 Geth ¦ rakudo/nom: This reverts commit 76ccfd591db960c6d1a22a496ef928cdd7758403.
15:44 Geth ¦ rakudo/nom:
15:44 Geth ¦ rakudo/nom: The issue only affects rakudobrew users and that's because rakudobrew
15:44 Geth ¦ rakudo/nom: plays tricks with module installation. The proper fix would be to change
15:44 Geth ¦ rakudo/nom: rakudobrew so it no longer uses different module installation paths for
15:44 Geth ¦ rakudo/nom: each rakudo version.
15:44 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9b527d0f08
15:44 pyrimidine joined #perl6-dev
15:45 JimmyZ jnthn: re TPS, how do you think about https://github.com/rakudo/rakudo/pull/1088 ? :)
15:45 Skarsnik I need to toast HEAD and 2017.08 ?
15:45 pyrimidine joined #perl6-dev
15:46 Zoffix Skarsnik: yes
15:46 Zoffix Skarsnik: .. and yes :)
15:47 Skarsnik so I do toaster 2017.08 HEAD and it's good? x)
15:47 Skarsnik And I can take a shower, do some groceries, write 10 000 words of stuff...
15:48 stmuk I'm seeing a few moar backtraces BTW
15:52 pyrimidine joined #perl6-dev
15:52 samcv yay i got -a working \o/ splits the STDIN into an array
15:52 samcv though not sure what default would be, perl has it be like \s+
15:54 Zoffix it also uses $*ARGVFILES equivalent instead of STDIN, innit?
15:55 samcv it's like -n
15:55 samcv except it splits $_ into $*f, though the variable name can be changed of course
15:56 samcv i gotta sleep a tad more. o/
15:56 * samcv &
15:56 Zoffix $ echo 'one three' > one; echo 'two four' > two; perl -wlaE 'say @F' one two
15:56 Zoffix onethree
15:56 Zoffix twofour
15:56 Zoffix \o
15:56 pyrimidine joined #perl6-dev
15:58 Zoffix Skarsnik: OK, I've just confirmed. when using rakudobrew, `zef dasdsadsad` prints awful long parts. When using my installer bash alias, it just uses `zef`
16:00 * Zoffix builds HEAD
16:01 pyrimidine joined #perl6-dev
16:02 replacementimo joined #perl6-dev
16:10 Zoffix Oh, lol, nine++ reverted the update
16:10 Zoffix For a second I was confused why bleed rakudo did not show changed message :)
16:11 Skarsnik there is no spec to specify external deps in the meta file btw?
16:11 Skarsnik external = no perl6 deps
16:11 Zoffix I think samcv++ was working on that at some point
16:12 Skarsnik is that just agreed on the field name/struct? I mean implementation can came later
16:15 Zoffix There's no official specification for the META file contents. As in, there are no roast tests (that I'm aware of) that test what happens with a META6.json file.
16:15 Geth ¦ rakudo/nom: 2574f8835f | (Elizabeth Mattijsen)++ | 2 files
16:15 Geth ¦ rakudo/nom: Adapt BUILDPLAN further
16:15 Geth ¦ rakudo/nom:
16:15 Geth ¦ rakudo/nom: - replace state 0 for calling BUILD/TWEAK by just the Callable
16:15 Geth ¦ rakudo/nom:   - saves one int + one list for each BUILD/TWEAK method in class or derived
16:15 Geth ¦ rakudo/nom:   - adapt Mu.BUILDALL/BUILD_LEAST_DERIVED accordingly
16:15 Geth ¦ rakudo/nom:   - runtime improvements within noise
16:15 Geth ¦ rakudo/nom: - move up all other states one notch
16:15 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2574f8835f
16:16 Zoffix Skarsnik: It's actually part of 6.d-prep preliminary TODOs, if you'd like to get the ball rolling there :) https://github.com/perl6/6.d-prep/tree/master/TODO#see-if-we-can-nail-down-the-meta6json-spec
16:16 lizmat dinner&
16:17 Zoffix .oO( 6.d "Dismorphia" sounds so cool... )
16:20 Skarsnik Zoffix, I could add https://rt.perl.org/Ticket/Display.html?id=126744 in this file maybe x)
16:22 ugexe what about https://design.perl6.org/S22.html#%3Afrom%3Cnative%3E
16:24 Skarsnik I am not fan on how it's done in this, but it's some ideas
16:24 Zoffix Skarsnik: yeah, so looks like ^ S22 has seen some updates. Would be sweet to see an impl and some tests :)
16:25 Zoffix Or maybe not. Perhaps this isn't something we want to rush just to include in 6.d
16:25 * Zoffix &
16:25 Skarsnik having the spec defined for 6.d could be a nice goal
16:25 ugexe most of it has nothing to do with rakudo, the important pats to hammer down are the parts rakudo uses
16:26 Skarsnik implemnetation will be for stuff like zef
16:27 ugexe nine, tony-o, and myself came up with the s22 specs based on hours of discussion
16:30 Skarsnik dunno. for me it should not be directly on the depend keyword, to make a good barrier between perl6 dependancies and the rest
16:31 ugexe why is that distinction important
16:31 ugexe which, you otherwise make with :from<...>
16:32 ugexe s/make/mark/
16:33 Skarsnik It's clearer. From a packager point of view I would prefer having them on a separate part than the perl6 deps
16:34 ugexe thats objective
16:34 Skarsnik both are subjective point of view :)
16:35 ugexe right, im trying to ignore those things
16:35 ugexe i dont claim one looks better than the other
16:36 Skarsnik If you are like zef/panda/whatever writer for me it draw a clear line between "I need to handle the depends stuff to be perl6 module installer" and "the other deps I can do then later of let another tool do the job"
16:36 nine Skarsnik: as a packager (which I am, too) you have to consider all dependencies anyway. What would duplicating the hierarchy gain you?
16:37 ugexe zef/panda/whatever can draw their own lines
16:38 Skarsnik Well the perl 6 parts dep are like "generic" the non perl6 deps need specific need
16:38 ugexe besides, it not even about what they can handle as far as fetching. its also about searching for all the parts to complete a dependency graph. if you don't have curl and can't fetch it, but a different optional dependency doesnt need curl, it should choose that path
16:39 ugexe all of this before downloading any actual packages (just the index)
16:40 ugexe thats why the keys in the example show names that correspnd to $*KERNEL, $*VM and the like
16:40 Skarsnik if it's a python module, maybe you need to call the python packager, if it's a C deps, maybe there is a tool to build the lib, or you can call the distrib installer or whatever
16:40 ugexe right, but that doesn't change anything
16:41 Skarsnik It change it's very different than handling a Perl 6 dep
16:41 ugexe infact it only reinforces that a single dependency field is needed, unless you want to spec $each_lanage_dependencies : { }
16:41 Skarsnik No, just a non-perl6-deps or something
16:41 ugexe its not different
16:42 ugexe what does that change? the python package manager still doesn't understand it
16:43 dogbert17 joined #perl6-dev
16:43 ugexe the topic of handing off responsibility to other package manager (apt-get, cpanm) was also brought up and taken into consideration of this design
16:49 ugexe there is also a poc implementation https://github.com/tony-o/p6-warthog (System::Query)
16:54 robertle joined #perl6-dev
16:55 nine Skarsnik: why do you think that zef should install Perl 6 dependencies? If they are available as distro package, I'd want zef to let that do the job. Same as with Python or C dependencies.
16:56 Skarsnik https://gist.github.com/Skarsnik/0c0b88a1f26ce8e68b33f30b4239d125 hm
16:56 Skarsnik I really not fan of the "gumbo:from<native>"
17:07 sjn joined #perl6-dev
17:07 sjn o/
17:07 Zoffix \\o
17:07 AlexDaniel joined #perl6-dev
17:07 ugexe so write { "name" : "gumbo", "from" : "native", ... }
17:11 AlexDaniel .
17:11 yoleaux 10:36Z <gfldex> AlexDaniel: you may want to have a look at https://irclog.perlgeek.de/perl6-dev/2017-09-13#i_15156473
17:13 AlexDaniel gfldex: I noticed that during the squashathon it's best to have short tickets with very clear goals
17:14 AlexDaniel gfldex: if we can do that for what you've said, then great
17:17 Skarsnik Finished Net::ZMQ: Fail
17:17 Skarsnik Finished Net::ZMQ: Fail
17:17 Skarsnik hm does it appears twice on the ecosystem file? x)
17:19 Zoffix Skarsnik: looks like it: http://modules.perl6.org/s/ZMQ
17:20 Skarsnik ho there is 2 candidates
17:21 Zoffix Yeah :)
17:21 Skarsnik I wonder what zef install in this case xD
17:22 Zoffix Just said "===> Installing: Net::ZMQ:ver('0.8')"
17:22 Skarsnik oh it takes highter version probably
17:22 ugexe both are the same meta file
17:23 Zoffix ugexe: no, they aren't. Did you click the dist URLs on MP6.org? They both point to one module, but there are two different modules.
17:23 Zoffix One https://github.com/arnsholt/Net-ZMQ and the other https://github.com/gabrielash/perl6-zmq
17:23 Zoffix (the github icon on the site links to repos directly)
17:23 ugexe ah
17:24 Zoffix And the handling of same-name-multi-auth still needs to be implemented. I just had no clue where to get the auth info from
17:24 ugexe yeah neither one include it
17:25 ugexe er i see it is in one of them
17:26 Zoffix Ah, OK. I'll use that and fallback to GitHub username the next time I work on MP6.org
17:27 AlexDaniel Skarsnik: thanks for working on it. <3
17:28 AlexDaniel where did my compose key go… :-S
17:28 AlexDaniel errr… emacs is now eating it, wtf
17:30 AlexDaniel “This is a bug. It's fixed in Emacs 24.4.” ahem
17:34 AlexDaniel actually, it's my mistake, nvm
17:39 [TuxCM] joined #perl6-dev
17:45 AlexDaniel samcv: do we have full unicode 10 support now or are there any missing pieces?
17:57 skids joined #perl6-dev
18:02 Geth ¦ rakudo/nom: 9f1d03e727 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
18:02 Geth ¦ rakudo/nom: Log some changes
18:02 Geth ¦ rakudo/nom:
18:02 Geth ¦ rakudo/nom: Deliberately not logged:
18:02 Geth ¦ rakudo/nom: 89447213 636a3c12 d0a5cfa8 3518b13b ffd87fe5 3cfc3285 ab69dc3a
18:02 Geth ¦ rakudo/nom: 29cd9fb5 d8958fc3 b6a60236 43abdb1d 74ca5ce9 9b43c8de f1b08630
18:02 Geth ¦ rakudo/nom: e3af6629 3e13825b 1f39d684 067f5407 e717d14d d135728b 90968895
18:02 Geth ¦ rakudo/nom: d85569d0 85a97ab3 9a478b1e 75c98704 138b6ce0 72bf0238 c39db878
18:02 Geth ¦ rakudo/nom: 35916427 d5a5fb7c dfbd39b8 456c4398 e5a60099 fb140b89 dd52b07b
18:02 Geth ¦ rakudo/nom: 591b93ea 16f8419a 2762bcc4 76f1d897 2c0cd0a3 94fe65db f097e551
18:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f1d03e727
18:03 AlexDaniel releasable6: status
18:03 releasable6 AlexDaniel, Next release in 3 days and ≈0 hours. 1 blocker. Changelog for this release was not started yet
18:03 releasable6 AlexDaniel, Details: https://gist.github.com/d9374cfd8b247e6c371f84cbf8563d12
18:03 AlexDaniel ah right… it takes a minute or two for releasable to pull stuff
18:03 AlexDaniel (relevant https://github.com/perl6/whateverable/issues/207)
18:04 AlexDaniel anyway, please take a look at the changelog and see if I logged your changes correctly
18:04 AlexDaniel meanwhile I'm taking a nap, have a nice evening everyone
18:04 Skarsnik ok reached W for 2017.08 x)
18:05 AlexDaniel Skarsnik: \o/
18:05 AlexDaniel Skarsnik: I'll be back in 3-4 hours :)
18:05 Skarsnik Time for dinner anyways
18:05 Skarsnik I hope it will be finished before 5h
18:06 Zoffix Gah, read all the discussion on that blocker, just to get to the end and see lizmat++ already fixed it :)
18:08 Zoffix Skarsnik: oh, forgot to mention. When I ran the Toaster, some time some modules would never finish testing. I think it's a bug in Proc::Async.kill (or it's just not meant to kill some things) that may or may not be fixed already.
18:13 Zoffix .tell AlexDaniel commit d0d105b8 can go from the ChangeLog. It was just a refinement over 5db5b1db and the issue it fixes did not exist in previous release.
18:13 yoleaux Zoffix: I'll pass your message to AlexDaniel.
18:15 Skarsnik hm everything fail with nom
18:15 Skarsnik nvm one passed lol
18:26 lizmat Zoffix: what did I fix ?
18:27 lizmat I wasn't aware I fixed any blockers
18:29 Zoffix lizmat: https://rt.perl.org/rt3/Public/Bug/Display.html?id=132030
18:29 Zoffix The close-handles-on-exit thing
18:30 lizmat ah, that, yeah, I fixed that
18:30 Zoffix \o/
18:30 lizmat wasn't aware that was listed as a blocker  :-)
19:04 Geth ¦ rakudo/nom: 532f709278 | (Elizabeth Mattijsen)++ | src/core/Mu.pm
19:04 Geth ¦ rakudo/nom: Oops, forgot to update the vivify shortcut check
19:04 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/532f709278
19:12 timo joined #perl6-dev
19:25 travis-ci joined #perl6-dev
19:25 travis-ci Rakudo build failed. lizmat 'Merge pull request #1155 from sjn/sjn-main-usage
19:25 travis-ci https://travis-ci.org/rakudo/rakudo/builds/275074500 https://github.com/rakudo/rakudo/compare/80e069a4b4de...7f0367b79516
19:25 travis-ci left #perl6-dev
19:25 buggable [travis build above] ✓ All failures are due to timeout (0), missing build log (0), GitHub connectivity (0), or failed make test (1). Across all jobs, only t/04-nativecall/12-sizeof.t test file failed.
19:26 Skarsnik err
19:40 Geth ¦ rakudo/nom: b706b84312 | (Elizabeth Mattijsen)++ | src/core/Mu.pm
19:40 Geth ¦ rakudo/nom: Make BUILDALLPLAN and BUILD_LEAST_DERIVED use same internal logic
19:40 Geth ¦ rakudo/nom:
19:40 Geth ¦ rakudo/nom: This might have some effect on "but role" code.
19:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b706b84312
19:41 geekosaur joined #perl6-dev
20:02 geekosaur joined #perl6-dev
20:03 geekosaur joined #perl6-dev
20:05 pyrimidine joined #perl6-dev
20:07 pyrimidi_ joined #perl6-dev
20:12 pyrimidine joined #perl6-dev
20:14 pyrimidine joined #perl6-dev
20:15 Geth ¦ rakudo/nom: 963b28d196 | (Elizabeth Mattijsen)++ | 2 files
20:15 Geth ¦ rakudo/nom: Make BUILDPLAN states order more logical
20:15 Geth ¦ rakudo/nom:
20:15 Geth ¦ rakudo/nom: - group all of the init / set default value states together
20:15 Geth ¦ rakudo/nom: - simplifies build plan creation
20:15 Geth ¦ rakudo/nom: - should not influence execution speed much
20:15 Geth ¦ rakudo/nom: - paves way for more optimizations in the future
20:15 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/963b28d196
20:16 pyrimidine joined #perl6-dev
20:19 pyrimidi_ joined #perl6-dev
20:22 pyrimidine joined #perl6-dev
20:27 Skarsnik_ joined #perl6-dev
20:31 pyrimidine joined #perl6-dev
20:36 pyrimidine joined #perl6-dev
20:41 pyrimidine joined #perl6-dev
20:43 pyrimidine joined #perl6-dev
21:13 pyrimidine joined #perl6-dev
21:16 pyrimidi_ joined #perl6-dev
21:22 skids joined #perl6-dev
21:36 pyrimidine joined #perl6-dev
21:46 pyrimidine joined #perl6-dev
21:49 pyrimidi_ joined #perl6-dev
21:56 AlexDaniel FWIW the blocker is probably resolved, but I wouldn't bet on it without toaster results
21:56 yoleaux 18:13Z <Zoffix> AlexDaniel: commit d0d105b8 can go from the ChangeLog. It was just a refinement over 5db5b1db and the issue it fixes did not exist in previous release.
21:57 AlexDaniel we can theorize about it as much as we want but I want to see if the modules are actually working
21:57 AlexDaniel IIRC whateverables still get stuck in their tests, for whatever reason. Will look into it now
21:57 AlexDaniel releasable6: status
21:57 releasable6 AlexDaniel, Next release in 2 days and ≈21 hours. 1 blocker. 105 out of 122 commits logged
21:57 releasable6 AlexDaniel, Details: https://gist.github.com/0fa137fd3f4224c88fff39151222c940
22:18 pyrimidine joined #perl6-dev
22:22 Geth ¦ rakudo/nom: c4043b068d | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
22:22 Geth ¦ rakudo/nom: Log remaining commits
22:22 Geth ¦ rakudo/nom:
22:22 Geth ¦ rakudo/nom: Deliberately not logged:
22:22 Geth ¦ rakudo/nom: d0d105b8 db68552f c19e810e
22:22 Geth ¦ rakudo/nom: b62b40f1 76ccfd59 7f0367b7
22:22 Geth ¦ rakudo/nom: 9b527d0f 9f1d03e7 eb99bbc4
22:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c4043b068d
22:23 AlexDaniel Zoffix: thanks
22:27 pyrimidine joined #perl6-dev
22:33 replacementimo joined #perl6-dev
22:38 vendethiel- joined #perl6-dev
22:49 Skarsnik_ AlexDaniel, here the result : http://www.nyo.fr/~skarsnik/tmp/toast.sqlite.db look at Toaster instruction to use them ^^
22:50 Skarsnik_ I need to go to sleep
22:55 AlexDaniel Skarsnik_: cool, thanks. Will take some time to set it up probably, but I'm on it :)
23:18 AlexDaniel it runs! It runs!!
23:30 replacementimo joined #perl6-dev
23:35 geekosaur joined #perl6-dev
23:36 pyrimidine joined #perl6-dev

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