Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-toolchain, 2016-02-11

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

All times shown according to UTC.

Time Nick Message
00:03 jdv79 where is this wrapper you speak of?
00:03 jdv79 i think i asked this somewhere the other day
00:04 ugexe https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/Repository/Installation.pm#L38
00:05 ugexe the problem is not the wrapper itself; its that the path in the usage help only shows the relative path if the currently running script is the first file by that name found in PATH
00:06 ugexe but the wrapper will naturally be seen first in PATH, so that forces the usage to show an absolute path
00:08 ugexe https://github.com/rakudo/rakudo/blob/2ae0dfaba6d77d59e053747c73ef7d7ab641d012/src/core/Main.pm#L54-L56 this code here constructs the path
00:08 jdv79 wait.  CompUnit::Repository::Installation::install() runs when i run "zef asdfsdfdsf" ?
00:08 ugexe no, that wrapper script gets run (which was installed by CU::R::I)
00:08 jdv79 ah
00:08 ugexe it gets installed as bin/zef, and the actual bin/zef gets installed as resources/JF(#)@JF)@(JF@JFPOJpj
00:09 jdv79 what kind of insanity is going on?
00:10 ugexe i think its meant to allow multiple versions of a module to be installed while only having a single bin/script exposed
00:11 jdv79 wow
00:13 jdv79 why can't we just us fs pathing for that?  seems like a complication.
00:13 jdv79 *use
00:14 ugexe i assume that would mean you could only ever load the lastest version (or whatever is first in PATH)
00:14 jdv79 so this is nine and/or mst territory?
00:15 jdv79 how do you run another version of a bin?
00:19 ugexe im not sure it really works. but you can see here https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/Repository/Installation.pm#L39
00:20 ugexe i.e. compare `zef --ver="asdf"` to `zef --xxx="sdf"`... neither --ver nor --xxx exists
00:22 jdv79 oh, it doesn't work yet.  i was trying and reading and couldn't get a real result
00:22 sufrostico joined #perl6-toolchain
00:28 ugexe ignoring all of that; the problem still persists if you use rakudobrew, because rakudobrew's bin is almost certainly first in the PATH but only puts a wrapper named `zef` in its bin (wrapper starts real script, real script sees its not the first `bin/zef` in PATH [wrapper is] and thus shows the absolute path)
00:31 jdv79 i hope that gets cleaned up
00:32 ugexe im not sure how it can be solved other than some convoluted options like -UsagePath=xxx so wrappers could override the path shown
00:33 jdv79 you know about this?: http://paste.scsys.co.uk/505242
00:34 jdv79 its not like this is rocket science (usage,paths,etc).  how about no path in the usage?
00:35 jdv79 pretty sure i know what i ran, right?
00:37 ugexe ha yeah, looks like i left in a piece of debug code from earlier in MAIN(:$help)
00:37 jdv79 o
00:38 ugexe just pushed the fix, sorry. forgot i was in the middle of that when the build.pm stuff came up
00:41 jdv79 how come it takes 3s to run "zef"?
00:43 ugexe probably because of modules being loaded before calling the usage sub
00:44 ugexe can probably be solved with BEGIN { <examine @*ARGS and do USAGE if neccesary> } or something
00:45 ugexe but for now it does some custom arg parsing on BEGIN (for changing config options), so some modules have to get loaded
00:46 jdv79 module loading is that slow still?
00:46 jdv79 wow.  i thought with precomp back it'd be less.  i haven't done any real p6 playing in months.
00:47 jdv79 i imagine down the road the default listing will not include dev versions, right?
00:51 ugexe yeah, but we seem to be so far from laying down the law on auth/ver/api and other meta data that who knows when that will be
00:53 jdv79 i guess.  for mc filtering on status of "latest"  is likely more useful
00:53 jdv79 basically indexed
00:53 jdv79 actualy literally iirc
01:10 ugexe seems .5 to 1.0 seconds are used in setting up the signal handler for window resizing
01:12 jdv79 what?!
01:12 jdv79 how'd you get that info
01:12 ugexe https://github.com/ugexe/zef/blob/master/lib/Zef/Utils/SystemInfo.pm6
01:13 TimToady joined #perl6-toolchain
01:13 ugexe by playing around with that code
01:13 ugexe to be fair it requires spawning a process
01:14 ugexe i thought i had it lazy loading though
01:14 jdv79 well, perf is on the radar for the core guys this year so hopefully that'll get fixed up
01:14 ugexe so that cost only has to be paid creating a search table
01:42 MadcapJake joined #perl6-toolchain
01:43 sevvie joined #perl6-toolchain
01:58 jdv79 ugexe: i feel like something fishy is going on:  http://paste.scsys.co.uk/505245
01:59 jdv79 maybe its not code loading per se
02:32 ugexe well the bin script itself is not precompiled
02:35 ugexe it could be though, becfause the wrapper acts as a perl6 entry point (the wrapper is not precompiled either)
02:46 ugexe for me it starts twice as fast invoking it directly (perl6 -Ilib bin/zef) than when its installed and using `zef`
02:46 ugexe (probably why i never noticed)
02:46 ugexe but i suppose that could be consistent with getting run through 2 wrappers (rakudobrew -> CURI -> $actual-bin)
02:46 ugexe afaik bin scripts could still easily be precompiled though. im not sure if anything about the CU refactor changed that fact, but its just a matter of running the precomp shell command on the scripts
02:53 FROGGS_ joined #perl6-toolchain
05:06 sevvie joined #perl6-toolchain
07:09 FROGGS joined #perl6-toolchain
07:10 domidumont joined #perl6-toolchain
07:18 domidumont joined #perl6-toolchain
08:05 domidumont joined #perl6-toolchain
09:17 domidumont joined #perl6-toolchain
10:18 leont joined #perl6-toolchain
12:29 domidumont joined #perl6-toolchain
12:31 domidumont joined #perl6-toolchain
12:43 sufrostico joined #perl6-toolchain
13:11 domidumont joined #perl6-toolchain
14:02 sufrostico joined #perl6-toolchain
14:04 sufrosti1o joined #perl6-toolchain
14:07 cognominal joined #perl6-toolchain
14:15 sufrosti1o joined #perl6-toolchain
14:46 prammer joined #perl6-toolchain
15:07 sufrostico joined #perl6-toolchain
15:07 sufrosti1o joined #perl6-toolchain
16:40 pnu joined #perl6-toolchain
16:43 prammer joined #perl6-toolchain
16:47 prammer joined #perl6-toolchain
16:50 prammer joined #perl6-toolchain
16:54 sufrostico joined #perl6-toolchain
16:58 FROGGS joined #perl6-toolchain
17:00 domidumont joined #perl6-toolchain
17:12 prammer joined #perl6-toolchain
17:54 ugexe so CURI.install($dist, %sources) modifies the contents of $dist such that you cannot simply do `@CURs.map: { $_.install($dist, $dist.sources) }` where $dist.sources generates %resources from $dist, because every call to install modifies the values of $dist
17:54 ugexe this goes back to a point of CURI.install() only taking a single argument: $dist
17:55 ugexe to be more specific: the first install will work. subsequent installs will fail because $dist.sources no longer contains the `provides` format, but the totally different format used by CURI
17:57 ugexe https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/Repository/Installation.pm#L140
17:57 ugexe there are also plenty of other examples like $dist.files{ ... } =
18:13 leont joined #perl6-toolchain
19:10 ugexe temporary solution is calling `temp $dist.provides; temp $dist.files;` before passing $dist to install
19:13 Kassandry joined #perl6-toolchain
19:43 leont joined #perl6-toolchain
20:59 sevvie joined #perl6-toolchain
22:21 ugexe jdv79: status:latest sort of works. the problem is not every distribution has stats:latest. http://hack.p6c.org:5000/v0/release/_search?size=1&amp;q=status:latest%20AND%20distribution:CSV-Parser <--(No results) http://hack.p6c.org:5000/v0/release/_search?size=1&amp;q=status:latest%20AND%20distribution:DBIish <--(results)
22:26 jdv79 i know - the indexing is screwed up
22:26 jdv79 its one of the next things i need to work on
22:26 jdv79 or someone else
22:26 jdv79 but been busy otherwise:(  sorry
22:26 jdv79 gotta run actually &
22:46 perlpilot joined #perl6-toolchain

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