Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-03-16

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:05 Rotwang1 joined #perl6
00:18 colomon joined #perl6
00:24 kaare__ joined #perl6
00:35 BenGoldberg joined #perl6
00:45 timotimo we could totally offer rakudo as a docker container for people to get from the docker index
00:45 timotimo as in: a pre-built rakudo. or something
00:57 timotimo apparently getting an interactive session with a docker contained app seems "not so easy" :(
01:05 Grrrr joined #perl6
01:10 xenoterracide joined #perl6
01:30 Grrrr joined #perl6
01:38 rurban1 joined #perl6
01:39 kurahaupo_mobile joined #perl6
02:03 xenoterracide joined #perl6
02:06 timotimo or maybe it is.
02:07 timotimo maybe it is doable*
02:07 timotimo that'll still need some javascript terminal emulator stuff (preferably with more features than jsterm)
02:35 lue r: proto sub foo($a) { my $b = $a * 2; {*} }; multi sub foo($a) { say $a, $b }; foo(23)
02:35 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '$b' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32m2; {*} }; multi sub foo($a) { say $a, $b[33mâ��[31m }; foo(23)[0mâ�¤    expecti…»
02:36 lue was kinda hoping that would work :) not sure if $*b is what I want there, but seems like the best choice of what I know about.
02:36 TimToady you'd need $*b for that sort of thing
02:38 lue yeah. Just tried it out, and it works.
02:46 skids joined #perl6
02:56 klapperl joined #perl6
03:33 bjz joined #perl6
03:45 rurban1 joined #perl6
03:58 xragnar_ joined #perl6
04:01 SamuraiJack_ joined #perl6
04:18 lue Is there a Pod::To::Markdown yet? I didn't see it modules.perl6.org
04:20 lue *see it in
04:26 retupmoca This seems somewhat incorrect to me: https://gist.github.com/retupmoca/9578524
04:28 retupmoca it almost looks to me like CArray doesn't do what it should when it gets resized, but I don't know what the internals of NativeCall look like
04:33 lue retupmoca: IIRC, NativeCall is under active development on perl6-m at the moment, so I'm not surprised something breaks there.
04:38 retupmoca yeah, that's half the reason I'm trying to use it. I'm just throwing failures out in case nobody is aware of them yet
04:39 lue retupmoca: I don't have any problems with that :)
04:43 Mouq joined #perl6
04:44 daniel-s joined #perl6
04:47 Mouq lue: Pod::To::Markdown is something that came to my mind too, esp. if we're using .pod6 in Github repos
04:48 lue Mouq: That's where I remember talk of a markdown converter. :)
04:48 lue just so you know, I'm not necessarily going to work on it. In fact I'd rather create Pod::To::Man :) [even though anything more than a literal translation would be annoying, though the literal way is at least a start]
04:49 dalek joined #perl6
04:50 Mouq lue: Ahhh
04:50 Mouq lue: Ok, well -ofun :)
04:50 Mouq That should probably be -Ofun, but outputting fun is good to :)
04:50 Mouq *too
04:50 lue It's practically a requirement for any perldoc-like, so I imagine it's somewhat more important than other possible converters :P
04:53 lue Mouq:    https://github.com/lue/pod-walker    (not sure if I should add this to the ecosystem yet, or if waiting for a converter to actually use it would be good)
04:53 lue (tadzik, you might be interested in ^^^ as well)
05:08 retupmoca Fix for my segfault above: https://github.com/MoarVM/MoarVM/pull/82
05:08 retupmoca err, I should probably be putting this in #moarvm
05:08 retupmoca but either way, fix
05:09 Mouq retupmoca++ :)
05:11 Mouq lue++ # Pod::Walker
05:12 Mouq Very clean code too :)
05:13 lue probably one of the largest protos you're likely to see though :P
05:14 Mouq lue: Nothing wrong with that :)
05:15 lue yeah, I got to touch some parts of Perl 6 that I don't use that often during the writing of the module, so that's good.
05:17 * lue has to remember proto-based recursive functions for the future :)
05:23 dalek doc: 5c56f64 | Mouq++ | lib/ (2 files):
05:23 dalek doc: Document Bag ops
05:23 dalek doc: review: https://github.com/perl6/doc/commit/5c56f64258
05:24 * Mouq takes that off his TODO list
05:24 darutoko joined #perl6
05:29 rurban1 joined #perl6
06:48 vincent22 joined #perl6
06:50 [Sno] joined #perl6
07:19 bjz joined #perl6
07:29 lizmat joined #perl6
07:33 kaare__ joined #perl6
07:39 [Sno] joined #perl6
07:53 dalek specs: 98eb912 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
07:53 dalek specs: Elaborate a bit on the recommendation manager
07:53 dalek specs: review: https://github.com/perl6/specs/commit/98eb912cb2
07:54 lizmat and good *, #perl6!
08:18 lizmat joined #perl6
08:20 FROGGS joined #perl6
08:28 lizmat joined #perl6
08:36 dalek specs: 9826d21 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
08:36 dalek specs: Elaborate a bit on "excludes" META6.json tag
08:36 dalek specs: review: https://github.com/perl6/specs/commit/9826d214d7
08:36 dalek specs: 2b2df65 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
08:36 dalek specs: Introduce "tags" entry, stolen from old S22
08:36 dalek specs: review: https://github.com/perl6/specs/commit/2b2df65962
08:37 Mouq joined #perl6
08:39 [Sno] joined #perl6
08:46 rindolf joined #perl6
09:06 masak good morning, #perl6
09:06 masak and happy sqrt(10) day!
09:07 FROGGS morning masak
09:08 FROGGS masak: why is today sqrt(10) day?
09:16 masak m: say Date.today
09:16 camelia rakudo-moar a24091: OUTPUT«2014-03-16␤»
09:16 masak m: say sqrt(10)
09:16 camelia rakudo-moar a24091: OUTPUT«3.16227766016838␤»
09:16 masak m: say sqrt(10).fmt('%.2f')
09:16 camelia rakudo-moar a24091: OUTPUT«3.16␤»
09:17 masak if other people can have pi day, then I can have sqrt(10) day :)
09:24 lizmat joined #perl6
09:30 FROGGS ahh :o)
09:37 dalek specs: c308fcd | (Elizabeth Mattijsen)++ | S22-package-format.pod:
09:37 dalek specs: Allow for alternatives in "depends"
09:37 dalek specs: review: https://github.com/perl6/specs/commit/c308fcd5b5
09:48 masak lizmat: design alert: list-of-lists seems a bit anemic for specifying and-clause-of-or-clauses semantics.
09:49 masak lizmat: put differently, I don't look at that structure and go "aha! those dependencies are *alternatives* to each other!"
09:49 masak lizmat: suggest exploring the design space, preferably here on #perl6.
09:50 lizmat I was actually using the old S22 as inspiration
09:50 masak lizmat: the first thought that occurs to me, and I don't necessarily know if it's better, is `"depends": [ "Archive::Compress | Archive::Zlib" ]`
09:50 masak lizmat: advantage compared to the current syntax: it's obvious that it's an alternative.
09:50 masak lizmat: could also go with `||` to highlight the "should be tried in order" semantics.
09:51 lizmat so allow both | and ||
09:51 lizmat where "I" would mean: just take any
09:51 masak could you be more precise? what would the order be with `|` ?
09:52 masak explicitly undefined?
09:52 lizmat there would be no order
09:52 masak um.
09:52 lizmat yes, to be consistent, I guess  :-)
09:52 FROGGS m: slang Foo { }
09:52 camelia rakudo-moar a24091: OUTPUT«===SORRY!===␤Cannot find method 'new_type'␤»
09:52 FROGGS veeeery interesting :o)
09:52 masak lizmat: barring an actual use case for "no order", I think I would prefer `||` only.
09:52 lizmat ok
09:52 masak lizmat++
09:53 lizmat and then we could go with && as well ?
09:53 lizmat and basically write the whole thing as pseudo code
09:53 lizmat the problem is really here, that maybe non-perl 6 packagers would need to be able to understand this as well
09:53 lizmat lemme check with sno
09:55 masak I'm not advocating using `&&` as well.
09:55 masak because (a) a list of dependencies is fine
09:55 masak and (b) infix:<&&> binds tighter, so technically you'd need lots of parentheses around all the prefix:<||> terms if you did that.
09:56 masak I'm not even married to `||` -- I just looked at the list-of-lists and figured there must be a clearer way to indicate alternative dependencies.
09:57 lizmat well, most importantly, packagers and installers need to be able to understand
09:58 masak *nod*
09:58 lizmat but on the depends level
09:58 masak oh. another point. alternative dependencies are basically sum types, categorically. sum types are a pain in the neck to deal with. should probably think long and hard about the consequences for the toolchain.
09:58 masak not just packagers and installers.
09:58 lizmat ack
09:58 masak but anything that in the future might want to do dependency analysis on the Perl 6 ecosystem.
09:59 lizmat but I think we actually may be missing a vital part in the current spec
09:59 lizmat the current spec indicates a compilation unit
09:59 masak yeah.
09:59 masak how does this syntax interact with module versions, auths, etc?
09:59 lizmat but we don't know if that compilation unit provides a module, a class, a grammar, a role
10:00 masak *nod*
10:00 lizmat so I wonder whether we shouldn't actually indicate in the depends
10:00 lizmat exactlty *what* type of Foo the compilation unit provides
10:02 lizmat I have this feeling that we're applying Perl 5 thought to Perl 6 here, by omitting the type of package
10:03 lizmat (where package is any type of class / module / grammar / role / etc.)
10:03 pmurias joined #perl6
10:04 pmurias masak: re replacing a list of lists with ||, can we guarantee that package names won't contain | as part of the name?
10:05 lizmat r: class Fo|o {}
10:05 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Unable to parse class definitionâ�¤at /tmp/tmpfile:1â�¤------> [32mclass Fo[33mâ��[31m|o {}[0mâ�¤    expecting any of:â�¤        statement list…»
10:05 lizmat std: class Fo|o {}
10:05 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse class definition at /tmp/GDxU50uBRl line 1:â�¤------> [32mclass Fo[33mâ��[31m|o {}[0mâ�¤    expecting any of:â�¤ nameâ�¤   traitâ�¤Parse failedâ�¤FAILED 00:01 120mâ�¤Â»
10:05 lizmat pmurias: I would take that as a yes
10:06 FROGGS yes, only - and ' are allowed between word characters
10:06 FROGGS so you could even do set operations in that META6.json :P
10:06 pmurias std: module Foo:infix<||> {}
10:06 camelia std 09dda5b: OUTPUT«ok 00:01 122m␤»
10:07 woolfy joined #perl6
10:08 FROGGS pmurias: that has nothing to do with a "use" statement, and we kinda put these in the META6.json
10:09 FROGGS ohh, addverbs could contain ||, but even that will work out
10:09 FROGGS -d
10:10 pmurias -d?
10:10 FROGGS addverbs -d ==> adverbs
10:10 FROGGS :o)
10:11 pmurias ok ;)
10:12 Rotwang1 joined #perl6
10:13 FROGGS "depends" : [ "Foo:ver(1.1 || 1.2) || Bar" ] # we can parse that right
10:13 FROGGS (should be v1.1 and v1.2, but w/e)
10:13 JimmyZ 1.*
10:13 JimmyZ >1.*
10:13 FROGGS JimmyZ: that is not the same
10:13 lizmat FROGGS: but that is not a string you could use in a "use" statement
10:14 FROGGS and ">1.*" is invalid
10:14 lizmat I'd like to keep those the same and not introduce new syntax in that respect
10:14 FROGGS m: use Test:ver(v1.2 || v1.4)
10:14 camelia rakudo-moar a24091: ( no output )
10:14 FROGGS lizmat: ^^
10:15 lizmat yes, but I was referring to || Bar
10:15 masak I wouldn't mind writing it the long way, I think.
10:15 masak "Foo:ver(v1.2) || Foo:ver(v1.4)"
10:15 masak in the rare case I needed that.
10:15 lizmat you don't need to write it often, I don't think  :-)
10:16 lizmat std: use Test:ver(v1.2 || v1.4)
10:16 camelia std 09dda5b: OUTPUT«Compiled lib/Test.pm6␤ok 00:01 129m␤»
10:16 lizmat std: use Test:ver(v1.2 || v1.4) || Bar
10:16 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'Bar' used at line 1â�¤Check failedâ�¤FAILED 00:01 126mâ�¤Â»
10:16 FROGGS I am not sure it does the right thing though in: use Test:ver(v1.2 || v1.4)
10:16 lizmat it's this syntax I'm worried about
10:16 FROGGS k, got it
10:17 lizmat pretty sure it doesn't at the moment
10:17 FROGGS m: say <a b c>.grep('a' || 'b')
10:17 camelia rakudo-moar a24091: OUTPUT«a␤»
10:17 FROGGS m: say <a b c>.grep('a' | 'b')
10:17 camelia rakudo-moar a24091: OUTPUT«a b␤»
10:18 FROGGS m: say <a b c>.grep('d' || 'a' || 'b')
10:18 camelia rakudo-moar a24091: OUTPUT«␤»
10:18 FROGGS ahh, k
10:19 dmol joined #perl6
10:19 masak m: say v1.2 || v1.4
10:19 camelia rakudo-moar a24091: OUTPUT«v1.2␤»
10:19 lizmat masak: so I'm thinking on keeping the current syntax, at least for now
10:19 masak IMO, we should also be worried about this semantics :)
10:19 FROGGS masak: yeah, was just a thinko on my side :o)
10:20 FROGGS that should not be supported, because it is plain stupid :o)
10:20 masak infix:<||> has a specified meaning in the language already, and that meaning is not "prefer this version, or that other version if the first doesn't exist"
10:20 FROGGS true
10:21 FROGGS you have to use Whatever™ to do that
10:21 FROGGS m: say <a b c>.grep(any 'd', 'a', 'b') # or this
10:21 camelia rakudo-moar a24091: OUTPUT«a b␤»
10:22 FROGGS m: use Test:ver(any v1.2, v1.4)
10:22 camelia rakudo-moar a24091: ( no output )
10:23 masak ooh, I like that much better from a readability standpoint.
10:23 FROGGS me too
10:23 FROGGS m: say <a b c>.grep(first 'd', 'a', 'b') # or this
10:23 camelia rakudo-moar a24091: OUTPUT«␤»
10:25 FROGGS ahh, okay, first is something else
10:25 Mouq joined #perl6
10:26 masak yeah.
10:28 itz2 joined #perl6
10:30 pmurias what's the use case for excludes in S22?
10:30 FROGGS that you can say that two modules clash in the same namespace
10:30 lizmat I'm not sure, but TimToady originally specced it
10:33 lizmat so:
10:34 lizmat if Foo excludes the Bar compilation unit
10:35 lizmat then, whenever Foo is loaded in a scope, loading Bar in that same scope will cause a failure (at compile time if possible)
10:35 lizmat I should elaborate on that in the spec
10:35 lizmat it could also be a require that causes the failure
10:36 lizmat from an implementation point of view, the loading of compilation unit Foo
10:37 lizmat would create a lexically scoped entry in the "installed compilation unit" database in memory
10:37 lizmat which would fire if loading of the compilation unit Bar is attempted there
10:38 lizmat whether there would be an actual clash, or a conceptual clash, is not really important at that stage
10:39 lizmat an actual clash would probably be a failure about trying to redefining something that would not be clear to the average user
10:40 lizmat the excludes failure could be made much more clear, as it would be able to tell which two compilation units are mutually exclusive
10:45 clkao joined #perl6
10:49 woolfy left #perl6
11:02 SamuraiJack_ joined #perl6
11:09 kaare__ joined #perl6
11:16 jnthn commute &
11:22 FROGGS joined #perl6
11:23 [Sno] joined #perl6
11:40 spider-mario joined #perl6
11:43 denis_boyun joined #perl6
11:59 aborazmeh joined #perl6
12:01 stevelangton joined #perl6
12:02 stevelangton How do i add a deploy step using perl
12:02 stevelangton on a build script TeamCity
12:03 FROGGS stevelangton: hi, that sounds like a Perl 5 question and I would suggest you ask in irc.perl.org #perl-help or so :o)
12:04 stevelangton thank
12:04 FROGGS you're welcome
12:15 [Sno] joined #perl6
12:25 SamuraiJack_ joined #perl6
12:46 daniel-s joined #perl6
12:50 pecastro joined #perl6
12:53 lizmat joined #perl6
12:53 [Sno] joined #perl6
13:05 woolfy joined #perl6
13:10 cognominal joined #perl6
13:11 xenoterracide joined #perl6
13:13 [Sno] joined #perl6
13:14 timotimo o/
13:16 daniel-s joined #perl6
13:17 lizmat timotimo: /O
13:19 dalek specs: 1609527 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
13:19 dalek specs: Another batch of changes and clarifications
13:19 dalek specs: review: https://github.com/perl6/specs/commit/1609527f9f
13:22 daniel-s_ joined #perl6
13:24 darutoko- joined #perl6
13:26 pmurias re irc url in S22 is there a standard way of describing those?
13:32 daniel-s_ joined #perl6
13:34 logie_ joined #perl6
13:34 guru joined #perl6
13:35 dalek nqp: a1347c2 | (Timo Paulssen)++ | README.pod:
13:35 dalek nqp: unmemify readme slightly
13:35 dalek nqp: review: https://github.com/perl6/nqp/commit/a1347c2b9b
13:36 timotimo FROGGS: btw, is the "there_is_no_return" branch mergable?
13:41 pmurias the "there_is_no_return" branch sounds like something we should be extra carefull about merging ;)
13:49 FROGGS timotimo: no, because in fact it caused a slowdown, and in the middle of finding out why I got distracted and stopped
13:50 FROGGS stage parse was about 7% slower IIRC
13:50 lizmat timotimo++ for teh fix
13:52 boooboo joined #perl6
13:53 dalek specs: ee77b32 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
13:53 dalek specs: Introduce the "hooks" directory
13:53 dalek specs: review: https://github.com/perl6/specs/commit/ee77b328db
13:53 SamuraiJack joined #perl6
13:59 lizmat pmurias: http://en.wikipedia.org/wiki/Uniform_resource_locator
14:19 timotimo jnthn: which part of the jvm interop arity dispatcher code was supposed to move from nqp to rakudo again?
14:31 dalek specs: 48fdab6 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
14:31 dalek specs: Wave some hands about the installation process
14:31 dalek specs: review: https://github.com/perl6/specs/commit/48fdab653f
14:33 timotimo i may build a TermInfo module for Perl 6.
14:35 Mouq joined #perl6
14:35 timotimo cool. someone went ahead and built a curses-independent lightweight threadsafe terminfo parsing library
14:39 * moritz notices that his motivation for hacking after $dayjob are at an all-time low
14:42 nwc10 moritz: is this due to factors outside of your control?
14:44 dalek specs: 37bf0dc | (Elizabeth Mattijsen)++ | S (2 files):
14:44 dalek specs: Move CompUnitRepo API description from S11 to S22
14:44 dalek specs: review: https://github.com/perl6/specs/commit/37bf0dcd72
14:49 isBEKaml joined #perl6
14:51 moritz nwc10: well, having a programming job is kinda under my control :-)
14:51 moritz other factors (family needing much attention, sleep deficit) are less und my control
14:53 FROGGS moritz: would something extra -Ofun help?
14:53 moritz FROGGS: maybe
14:53 FROGGS so we just need to find something for ya :o)
14:54 moritz I guess four weeks of vacation would also help :-)
14:54 lizmat vacation++
14:54 rurban1 joined #perl6
14:55 FROGGS I know that we could need Archive::Tar (pure perl perhaps) at some point, but I don't think that is -Ofun enough
14:56 lizmat FROGGS: thought about that: I guess for now we can live with not being able to install distributions with unicode characters in filenames
14:56 lizmat on filesystems that do not support unicode
14:57 FROGGS lizmat: true
14:57 lizmat as long as we keep the API clean, we should be able to add that feature at a later time
14:58 lizmat so that we write files with mangled filenames from the contents stored from a distribution unpacked in memory
14:59 FROGGS still we need to unpack
14:59 FROGGS and we don't do that atm at all
15:01 rindolf joined #perl6
15:03 FROGGS moritz: hmmm, my brane is somewhat empty at the moment, but I'll propose more when I have more :o)
15:04 lizmat FROGGS: I guess we can live with shell( "tar -xf foo.tar.gz") for now ?
15:04 FROGGS lizmat: and on windows?
15:05 lizmat good question...
15:05 lizmat I guess we need Archive::Tar asap  :-)
15:05 isBEKaml forget windows, jnthn++ can deal with it himself. :P
15:06 daniel-s_ joined #perl6
15:06 FROGGS yeah :/
15:06 * FROGGS .oO( yet another can of worms )
15:07 JimmyZ btw: qx// does not work here, 'cus it's GBK encoding output here on windows
15:08 Mouq Something I thought of, more panda-specific; There are going to be a variety of authorities: should panda just come preinstalled for CPAN and Github and then you can `install` new Panda::Installer::* packages?
15:08 timotimo a cpan of worms?
15:08 timotimo meeeeeh. "no subtests run" again >_<
15:08 timotimo how am i supposed to make sure my changes are all right when i have to individually invoke the test files myself? :(
15:09 Mouq Tar doesn't look that complicated
15:10 FROGGS JimmyZ: you already have made a ticket?
15:10 timotimo yeah, but try to implement gzip, bzip, and xz on top of that :P
15:11 Mouq Unless anyone thinks this is messy code: https://github.com/Mouq/Image-GIF/blob/master/lib/Image/GIF.pm6#L37
15:11 Mouq I'll at least try today and see where I get with Tar
15:11 geekosaur the big problem with tar format is there is a simple original tar format and then there are various POSIX, GNU, etc. extensions, some of which are incompatible with each other
15:11 Mouq Ah
15:12 Mouq clearly we need to create our own tar6 ;)
15:12 moritz "the 6 tar pit" :-)
15:12 geekosaur also no indication in the archive of which format it is /o\
15:12 JimmyZ FROGGS: not yet.
15:13 daniel-s_ joined #perl6
15:14 bjz joined #perl6
15:14 xinming_ joined #perl6
15:15 timotimo Mouq: what was the purpose of the commented-out code at the bottom in the image descriptor code?
15:16 pmurias timotimo: couldn't the docker container just expose ssh? (I haven't used docker, just looked at the docs to check what it is)
15:16 isBEKaml geekosaur: atleast, 6's  tar pit shouldn't have anything to depend on the various extensions in distributions...
15:17 Mouq timotimo: That's the actual data. I need to decompress it from LZW before its usable
15:17 timotimo oh
15:18 Mouq timotimo: So, next step: Compress::LZW
15:18 timotimo pmurias: it could, but what does that solve? then the user would have to have an ssh client
15:18 timotimo though, probably there's js ssh terminal gadgets out there already
15:20 woolfy joined #perl6
15:23 FROGGS Mouq: I like your Image::GIF code :o)
15:25 timotimo i do, too. Mouq++
15:28 pmurias timotimo: there is an ssh addon for chrome
15:30 timotimo then people have to a) use chrome and b) get that addon :)
15:31 isBEKaml timotimo: If there's one for Chrome, there must be one in other browsers too - A little gSearch gave me FireSSH for firefox. :-)
15:31 FROGGS joined #perl6
15:31 timotimo that's still not "hello, traveler. type this text into this input line and see for yourself how Perl 6 works!"
15:32 timotimo that's "hey, if you would like to try Perl 6 right here in your browser¹, install FireSSH or ChromeSSH and enter this username, password, address and port and click connect"
15:33 lizmat Perl5's Archive::Tar on CPAN seems source only
15:35 pmurias timotimo: 537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36"
15:35 pmurias timotimo: https://github.com/moritz/try.rakudo.org/
15:36 pmurias timotimo: the first line was a misspaste
15:36 timotimo ah
15:36 timotimo i was wondering about that :)
15:36 guru joined #perl6
15:36 FROGGS joined #perl6
15:37 timotimo as far as i can tell that only sends strings to a repl and returns the output to the html
15:37 timotimo without support for ansi escape codes, for example
15:38 timotimo at the very least color should be supported
15:39 Mouq FROGGS: Thanks :)
15:42 kurahaupo joined #perl6
15:43 pmurias timotimo: should be trivial to add color (https://metacpan.org/pod/HTML::FromANSI)
15:44 pmurias if I want to avoid writing perl5 I could implement that once the docker thing is working
15:44 timotimo i think it may very well be easier to use the docker api instead of ssh to do the whole try thing.
15:44 Mouq Regarding Tar and its many formats in conjunction with the S11/22 work: would an "optional depends" field be sensible?
15:45 timotimo and it would be even easier if we would offer full files rather than a repl
15:45 FROGGS Mouq: what do you mean?
15:45 lizmat Mouq: not sure what you mean, could you elaborate?
15:47 Mouq Well, what spurned the thought was that Archive::Tar can use IO::Zlib, but if IO::Zlib isn't installed, that's fine too, you just can't decompress gzipped tar files
15:47 geekosaur (spurred)
15:48 Mouq geekosaur: Err, yes, thank you
15:48 geekosaur "spurned" reads ... oddly ... there
15:48 timotimo how come t/spec/S17-async/async.t still has "async" rather than "start"?
15:48 timotimo maybe because rakudo doesn't even run that whole folder.
15:49 Mouq geekosaur: Spurned means kind of the opposite of what I intended
15:49 geekosaur yep
15:50 FROGGS Mouq: we already discussed what you need there, so there might be a commit about that in the next days
15:50 timotimo lock.t is testing for a method called "condition" to exist on the Lock class, but it doesn't have it
15:52 Mouq FROGGS: Ok :) I'm just throwing things out as I think of them, in case they're helpful
15:53 FROGGS they are :o)
15:53 Mouq Sweet :)
15:53 FROGGS because that means we have a test case for that feature in near future as well
15:58 * Mouq downloads Archive-Tar-1.96.tar.gz.. But how to open it?? :P
16:01 lizmat timotimo: good find: but is t/spec/S17-async/async.t actually in spectest.data for jvm ?
16:01 timotimo no
16:02 lizmat so it's really a remnant from older times, I guess, and can be dropped from t/spec
16:02 timotimo seems so; the S17-concurrency files exercise "start" already, don't they?
16:03 lizmat yes
16:03 jnthn o/
16:03 lizmat and async is no longer specced
16:03 timotimo actually not.
16:03 timotimo the S17-concurrency tests all use Promise.new({ ... }) and friends
16:03 jnthn S17-concurrency is the tests I wrote and that we run
16:04 jnthn S17-async are what was there before; I glanced 'em, then decided I wanted to start over
16:06 lizmat S17-async are dead tests...  I think they can go
16:06 lizmat I'll git rm them, ok?
16:06 timotimo git rm is undoable, so yeah. go ahead :)
16:06 jnthn +1
16:09 dalek roast: 1f9a555 | (Elizabeth Mattijsen)++ | S17-async/ (3 files):
16:09 dalek roast: Nuke obsolete S17 tests, spotted by timotimo++
16:09 dalek roast: review: https://github.com/perl6/roast/commit/1f9a55596e
16:09 jnthn timotimo: Potentially "all of it" - my main concern is not really about the arity dispatcher *per se*, it's that the type-based stuff that will go on top of it will be needing to know about Rakudo types.
16:11 lizmat joined #perl6
16:11 timotimo aye, but why wouldn't parts of it remain in nqp itself?
16:11 timotimo as in, parts of the whole thing
16:12 timotimo not just the arity dispatcher
16:13 vendethiel joined #perl6
16:13 timotimo bbl
16:13 jnthn Oh parts of the whole thing can
16:13 jnthn It's the disambiguation bits that are interesting.
16:13 lizmat on that note
16:14 lizmat jnthn: looking at the levenshtein code in Perl6/World.nqp
16:14 lizmat I would like to use that when a method lookup fails
16:14 lizmat as it is now, this is not possible
16:15 lizmat so I was wondering if I should migrate the levenshtein code to nqp, and make it an nqp::op
16:15 lizmat do you think that's a good idea, or should I look at another way ?
16:15 jnthn lizmat: Another way, but I can tell you what you'll really block on.
16:15 jnthn lizmat: At present, the method not found exception only carries a string type name, not the actual type
16:16 lizmat and I would need the object in question, yes
16:16 jnthn lizmat: So that wants addressing first.
16:16 lizmat right ?
16:16 jnthn Right
16:16 lizmat so after I addressed that, what would be the other way ?
16:17 jnthn On Moar it'll be easy. On JVM I think we can port the Moar mechanism. On Parrot...forget it...
16:17 jnthn Well, nqp::bindhllsym the levenstein thing in Perl6::World and then just look it up wiht nqp::gethllsym in CORE.setting or so.
16:18 jnthn It's not hot path.
16:18 lizmat indeed, things are borked already when this happens
16:18 jnthn Sure, just make sure you only ever do this if we're dumping the exception
16:18 jnthn Not at construction time
16:18 lizmat indeed, that is the plan
16:18 jnthn So that if you catch a method not found exception and don't care for the suggestions it's still cheap
16:18 lizmat yup
16:19 lizmat ok, startting to wind down at the QA hackathon
16:19 jnthn ok
16:19 jnthn have a nice^Wlyon last evening there :)
16:20 lizmat hehe  we will
16:20 lizmat tomorrow we'll be driving mostly, and on Tue we'll be sleeping in late and then off to Amsterdam to see TheDamian
16:20 Mouq r: "How adverbial" ~~ :say
16:20 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«How adverbial␤»
16:20 jnthn cool
16:20 jnthn Have fun :)
16:20 lizmat we will  :-)
16:21 * jnthn will be teaching the next 2 days, then at home with some tuits, and then maybe away for the weekend.
16:21 jnthn Hopefully Wednesday's tuits can go on making things in better shape for the tri-Star release
16:22 lizmat .oO( getting things in a Tri-Star state )
16:22 daniel-s_ joined #perl6
16:22 nwc10 no-one else is brave enough to wrestle the tri-star between now and Wednesday?
16:22 jnthn I'll tri...
16:22 jnthn Help would be very very very welcome.
16:22 lizmat starring jnthn
16:25 itz2 joined #perl6
16:26 jnthn Especially if you're of the line of thought that the current Makefile.in should do anything other than delegate most of the work to a Perl script. :P
16:27 BenGoldberg joined #perl6
16:27 jnthn It's kinda ridiculous that the least competent guy at build systems is having to work on this. :/
16:28 lizmat .oO( I thought I was the most complete noob in that respect )
16:29 Mouq r: $*KERNEL.name
16:29 camelia rakudo-jvm a24091: OUTPUT«Dynamic variable $*KERNEL not found␤  in method <anon> at gen/jvm/CORE.setting:12386␤  in any  at gen/jvm/Metamodel.nqp:2611␤  in any find_method_fallback at gen/jvm/Metamodel.nqp:2610␤  in any find_method at gen/jvm/Metamodel.nqp:948␤  in block  …»
16:29 camelia ..rakudo-moar a24091: OUTPUT«===SORRY!===␤Dynamic variable $*KERNEL not found␤»
16:29 camelia ..rakudo-parrot a24091: OUTPUT«Dynamic variable $*KERNEL not found␤  in method <anon> at gen/parrot/CORE.setting:12407␤  in any  at gen/parrot/Metamodel.nqp:2694␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2682␤  in any find_method at gen/parrot/Metamodel.nqp:949…»
16:29 Mouq m: say $*OS
16:29 camelia rakudo-moar a24091: OUTPUT«linux␤»
16:32 Mouq n: say $*DISTRO
16:32 camelia niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
16:32 Mouq n: say $*OS
16:32 camelia niecza v24-109-g48a8de3: OUTPUT«Unix␤»
16:33 woolfy left #perl6
16:33 Mouq Spec seems to disagree (S28)
16:34 lizmat that's maybe LHF
16:35 lizmat http://www.flickr.com/photos/wendyga/sets/72157642437424235/   # QA group photo's with Camelia
16:36 timotimo oh, quite a few people!
16:37 colomon giant Camelia!
16:37 daniel-s_ joined #perl6
16:37 lizmat up to spec!
16:37 * lizmat shutting down, see you all again soon
16:38 timotimo the only people i recognize on that picture are lizmat, woolfy, froggs and riba
16:38 itz2 joined #perl6
16:38 * colomon had missed FROGGS
16:38 timotimo but not all of these people actually contributed stuff to Perl 6?
16:39 FROGGS timotimo: no
16:39 timotimo aaw :)
16:45 kivutar joined #perl6
16:46 telex joined #perl6
16:48 bjz joined #perl6
16:51 bjz joined #perl6
17:11 guru joined #perl6
17:12 timotimo the only real user of jvm interop so far has been the concurrency stuff
17:12 timotimo which is being abstracted away behind nqp ops now anyway
17:13 jnthn Aye. We should probably create a t/jvm/ set of tests for it.
17:13 jnthn To make sure we don't regress it accidentally
17:16 timotimo that sounds like a totally easy thing to do >_>
17:18 arnsholt jnthn: When an NQP class "has str $!name" the attribute I get a hint for and getattr_s is just called "$!name", no?
17:19 jnthn timotimo: Well, just use stuff from the Java class library and make sure we can call it...
17:19 jnthn arnsholt: Yes, name is $!name
17:21 arnsholt Yeah, that's what I thought. Then something else is broken
17:22 SamuraiJack joined #perl6
17:22 timotimo i'm doing "use Foo::Bar" "import Foo::Bar" now, is there something that's supposed to do the same thing but only be one statement?
17:24 jnthn timotimo: use Foo::Bar; should be enough, given that all "is export" things are meant to cascade to the top level...
17:24 timotimo hmm, ok
17:25 timotimo another thing: should the things be our + is export?
17:25 timotimo well, that seems to work. good.
17:26 timotimo hm.
17:26 timotimo what's the exact difference between "module" and "package" again?
17:27 vendethiel joined #perl6
17:27 jnthn No, one or the other will do
17:31 timotimo oh, seems like i need to have "is export" for variables
17:31 timotimo not sure if that's to spec
17:31 timotimo oh. i need it for routines,m too
17:31 timotimo that's fine then.
17:33 dalek perl6-bench: 97b7b6c | (Timo Paulssen)++ | / (3 files):
17:33 dalek perl6-bench: factor out helper functions and globals into modules
17:33 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/97b7b6c8d1
17:37 Mouq Shell::Command::rm_rf ~~ Perl5::File::Path::remove_tree, right?
17:49 FROGGS joined #perl6
17:57 daniel-s_ joined #perl6
17:59 kurahaupo_mobile joined #perl6
18:00 zakharyas joined #perl6
18:11 kurahaupo joined #perl6
18:23 avar joined #perl6
18:32 timotimo interesting. no xpath module for Perl 6 yet?
18:37 denisboyun joined #perl6
18:40 colomon xpath?
18:40 timotimo xml selector query thingies
18:40 * colomon files it under xml...
18:41 timotimo colomon: will ABC get an s11 compatible meta.info? :)
18:41 colomon you mean a META6.json or what-not?
18:41 colomon does anything support it yet?
18:41 colomon I will certainly change as soon as the general ecosystem does.
18:42 timotimo only "provides"
18:49 Mouq joined #perl6
18:50 Mouq timotimo: Not xpath, but  https://github.com/supernovus/perl6-xml-query/
18:50 timotimo right
18:50 timotimo won't help implement the xpath rosettacode task :)
18:51 Mouq timotimo: Ohh
18:51 timotimo i don't have a use beyond that so far
18:53 timotimo japhb__: with ./bench setup, it seems to clone nqp-moarvm, nqp-parrot separately rather than re-using the repository if it has the same url :(
18:54 Mouq timotimo: You could still use XML::Query for that RosettaCode task, but maybe that wouldn't be considered answering the task
18:55 skids Has the S11/S22 conversation gotten around to dependencies and optional dependencies on non-perl6 packages, like where the dlls used by NativeCall should be from?
18:56 skids e.g. for Sum I want to add support for librhash/libmhash, but optionally, because not everyone will have them installed.
18:57 timotimo i'm also interested for a terminfo library that could depend either on curses or unibilium
18:59 skids Especially also how will panda deal with that, I don't expect the automated build checker will necessarily have some libs installed.
18:59 timotimo and then it'd have to have some compile-time or run-time mechanism to properly decide
19:00 skids Yeah, last time I tried that was a year or so ago and it almost worked, but was ugly.  aybe better now.
19:00 Mouq std: class A { ... }; class B; 1
19:00 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Too late for semicolon form of class definition at /tmp/izH0Jv_6_2 line 1:â�¤------> [32mclass A { ... }; class B[33mâ��[31m; 1[0mâ�¤    expecting any of:â�¤    nameâ�¤   traitâ�¤Parse failedâ�¤FAILED 00:01 122mâ�¤Â»
19:00 Mouq n: class A { ... }; class B; 1
19:00 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Too late for semicolon form of class definition at /tmp/54VwFw4wVD line 1:�------> [32mclass A { ... }; class B[33m�[31m; 1[0m��Package was stubbed but not defined at /tmp/54VwFw4wVD line 1:�------> […»
19:00 Mouq star: class A { ... }; class B; 1
19:00 camelia star 2013-09: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/sp8oF1vsHHâ�¤Too late for semicolon form of class definitionâ�¤at /tmp/sp8oF1vsHH:1â�¤------> [32mclass A { ... }; class B; [33mâ��[31m1[0mâ�¤    expecting any of:â�¤        argument listâ�¤        po…»
19:00 Mouq Huh
19:01 Mouq moritz++ # https://github.com/ingydotnet/testml-pm6/pull/1
19:01 * Mouq pokes ingy to merge that
19:01 Mouq I guess I could bump it
19:06 guru joined #perl6
19:08 timotimo japhb__: can you tell me how "variants" is supposed to be used?
19:09 aborazmeh joined #perl6
19:12 dalek doc: 21f87cf | Mouq++ | type-graph.txt:
19:12 dalek doc: Add IO::Spec to type-graph.txt
19:12 dalek doc: review: https://github.com/perl6/doc/commit/21f87cf2d7
19:16 timotimo could it be that %*ENV is b0rked in combination with qx/ ... / on parrot?
19:27 daniel-s_ joined #perl6
19:46 lue r: warn "ing"
19:46 camelia rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«ing␤»
19:46 camelia ..rakudo-parrot a24091: OUTPUT«ing  in block  at /tmp/tmpfile:1␤␤»
19:46 lue I can't find out why parrot's the only one being helpful there :/
19:46 moritz hey, what do you think about implementing parse tree pruning?
19:47 moritz like, a method $/.prune which discards all captures
19:47 moritz and .prune(:positional) or :named to prune only some
19:47 moritz might save a bit of memory during compilation, if used appropriately
19:48 lue Could be interesting, though admittedly I'm not quite sure what would be pruned and when.
19:49 moritz what? captures. When? when .prune is called.
19:49 moritz (typically after the interesting bits have been used in the AST
19:49 moritz erm, to construct the QAST tree)
19:49 skids What about making it an adverb to rx so pruning can happen as soon as data is no longer wanted?
19:50 moritz if you don't wan tthe data at regex compile time, you simply don't capture in the first place
19:50 moritz use [] instead of (), and <.foo> instead of <foo>
19:51 skids Right but you still have lots of Match objects you may not want.
19:51 moritz why else would you match a regex, except for getting a Match object?
19:51 lue moritz: ☺ well, yeah, those are the obvious answers. I'm just trying to think of a situation where .prune would be used, so that I can better understand what's required of it.
19:51 skids For the .made
19:52 lue r: say "ABC" ~~ /<alpha>+/;
19:52 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「ABC」␤ alpha => 「A」␤ alpha => 「B」␤ alpha => 「C」␤␤»
19:52 lue r: say "ABC" ~~ /<.alpha>+/;
19:52 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「ABC」␤␤»
19:56 skids I guess the compiler could probably figure out whether the Match tree is used other then to get at .ast/.made without a flag.
20:00 * moritz shouldn't have asked, but just started hacking
20:02 aborazmeh joined #perl6
20:03 lue yeah, I'm not too familiar with how matches and everything are structured, so if you're working on it, that'd save some time :)
20:04 skids My head's not been in that part of perl6 for a while either.
20:04 moritz nqp: class A { method x() { say("A") } }; class B { method x() { self.A::x() } }; B.x
20:04 camelia nqp-parrot: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "self.A::x("␤current instr.: 'panic' pc 15934 (gen/parrot/stage2/NQPHLL.pir:5941) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
20:04 camelia ..nqp-moarvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "self.A::x("␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:120)␤ from gen/moar/stage2/NQPHLL.nqp:376  (/home/p6eval/rakud…»
20:04 camelia ..nqp-jvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "self.A::x("␤  in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤  in FAILGOAL (gen/jvm/stage2/NQPHLL.nqp:385)␤  in blockoid (gen/jvm/stage2/NQP.nqp:989)␤  in method_def (gen/jvm/stage2/N…»
20:07 skids nqp: class B { method x() { self.A::x() } }; B.x
20:07 camelia nqp-parrot: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "self.A::x("␤current instr.: 'panic' pc 15934 (gen/parrot/stage2/NQPHLL.pir:5941) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
20:07 camelia ..nqp-moarvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "self.A::x("␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:120)␤ from gen/moar/stage2/NQPHLL.nqp:376  (/home/p6eval/rakud…»
20:07 camelia ..nqp-jvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "self.A::x("␤  in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤  in FAILGOAL (gen/jvm/stage2/NQPHLL.nqp:385)␤  in blockoid (gen/jvm/stage2/NQP.nqp:989)␤  in method_def (gen/jvm/stage2/N…»
20:13 lue since when do people span ticket systems?    https://rt.perl.org/Ticket/Display.html?id=121449
20:13 lue *spam
20:15 lue Wait, does RT still do the "email to rakudobug must be confirmed" thing?
20:15 * skids wonders which part of that says "viagra"
20:16 lue it's apparently titled "Really beneficial schemes on the Transport", and talks about similar stuff, according to Google Translate at least :)
20:18 * lue pressed the not-immediately-obvious spam button on the ticket
20:20 Mouq r: say $?FILE
20:20 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«/tmp/tmpfile␤»
20:20 Mouq r: say $?FILE.WHAT
20:20 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«(Str)␤»
20:21 LLamaRider joined #perl6
20:21 Mouq ^^ $?FILE should probably be an IO::*
20:23 aborazmeh joined #perl6
20:26 moritz +1
20:27 moritz when I implement parse tree pruning for NQP, and use it in NQP::Grammar, I somehow get NQPMu objects in the QAST tree
20:28 timotimo moritz: i already implemented something like that
20:28 timotimo i may have it in a branch again
20:29 timotimo er. still, not again
20:32 moritz timotimo: that would be awesome
20:34 timotimo moritz: IIRC it was not worth it, though
20:37 timotimo it seems like i only added the method
20:37 timotimo but i don't have a commit that uses it somewhere
20:37 timotimo probably because i was so sad about it? :(
20:39 timotimo i *do* have a prune_matches branch
20:39 dalek rakudo/prune_matches: b407068 | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
20:39 dalek rakudo/prune_matches: prune lots of matches
20:39 dalek rakudo/prune_matches: review: https://github.com/rakudo/rakudo/commit/b407068ddd
20:39 dalek rakudo/prune_matches: e78000f | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
20:39 dalek rakudo/prune_matches: prune more/less.
20:39 dalek rakudo/prune_matches: review: https://github.com/rakudo/rakudo/commit/e78000f02b
20:39 dalek rakudo/prune_matches: e693315 | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
20:39 dalek rakudo/prune_matches: a few less prunes.
20:39 dalek rakudo/prune_matches: review: https://github.com/rakudo/rakudo/commit/e693315c1c
20:39 timotimo there you go
20:42 moritz timotimo: thanks
20:42 timotimo it may explode horribly
20:42 dalek nqp/prune_matches: b8b4e53 | (Timo Paulssen)++ | src/QRegex/Cursor.nqp:
20:42 dalek nqp/prune_matches: add a prune method to NQPCursor.
20:42 dalek nqp/prune_matches: review: https://github.com/perl6/nqp/commit/b8b4e53192
20:42 dalek nqp/prune_matches: 6b2cba8 | (Timo Paulssen)++ | src/QRegex/Cursor.nqp:
20:42 dalek nqp/prune_matches: if the bstack is null, empty the cstack.
20:42 dalek nqp/prune_matches: review: https://github.com/perl6/nqp/commit/6b2cba8abe
20:42 timotimo this is my version of $/.prune
20:43 timotimo maybe you can find out why it wasn't helping at all.
20:43 moritz timotimo: I'm now experimenting with setting $!cursor to NQPMu in $/.prune
20:44 timotimo ah. i have that in my $/prune already
20:44 moritz oh right
20:45 moritz so, you found no wins in terms of memory usage?
20:45 timotimo yes. but i've always looked at maxrss, so perhaps it's not such a good measurement.
20:45 timotimo maybe you can make a better measurement, or benchmark
20:46 [Sno] joined #perl6
20:51 [Coke] (since when do people spam RT) all the time
20:53 Quom joined #perl6
20:54 telex joined #perl6
20:54 moritz aye; people spam EVERYTHING that accepts user input in any form
20:57 lue yeah, it just happened to be the first time I saw any of it on RT :)
20:58 pecastro_ joined #perl6
20:59 Gruber joined #perl6
21:01 dwarring joined #perl6
21:04 bjz joined #perl6
21:05 dalek star/tristar: 45ea838 | jnthn++ | / (2 files):
21:05 dalek star/tristar: Work towards multi-backend build/install.
21:05 dalek star/tristar:
21:05 dalek star/tristar: This gets closer to handling the Rakudo build/install itself
21:05 dalek star/tristar: on other backends, though not the module install.
21:05 dalek star/tristar: review: https://github.com/rakudo/star/commit/45ea838173
21:09 [particle]1 joined #perl6
21:12 timotimo ConcBlockingQueue*
21:14 timotimo anyone want to look closely at the qx + %*ENV thing?
21:17 timotimo er. that queue thing was supposed to go into #moarvm
21:18 timotimo it doesn't seem like sub QX from control.pm looks at %*ENV at all
21:18 timotimo that's not very helpful :|
21:19 meltingwax joined #perl6
21:19 khisanth_ joined #perl6
21:19 meltingwax perl6: say 3;
21:19 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«3␤»
21:20 meltingwax perl6: run('ls')
21:20 camelia rakudo-jvm a24091: ( no output )
21:20 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: run may not be used in safe mode␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (run @ 0) ␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza…»
21:20 camelia ..rakudo-parrot a24091, rakudo-moar a24091: OUTPUT«run is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:2␤  in sub run at src/RESTRICTED.setting:8␤  in block  at /tmp/tmpfile:1␤␤»
21:20 timotimo froggs isn't here :(
21:20 timotimo otherwise i would have asked him if he knows how to do that
21:20 meltingwax perl6: while (1) {}
21:21 timotimo is there an alternative to qx that'll give me both the string output of the command and work with %*ENV on parrot?
21:21 Quom The suspense...
21:21 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«(timeout)»
21:22 Vlavv joined #perl6
21:22 timotimo i think that's because camelia runs these in sequence rather than in parallel
21:22 jnthn meltingwax: You don't need the parens around the 1 in Perl 6.
21:22 timotimo so we get something like 10 seconds * 5 backends
21:22 jnthn meltingwax: Wasting CPU time just got 2 chars easier :P
21:23 meltingwax jnthn: ty
21:23 timotimo m: loop { }
21:23 jnthn Or that :)
21:23 camelia rakudo-moar a24091: OUTPUT«(timeout)»
21:23 Quom m: loop { say "lo{'o' x ++state$}p!" }
21:23 camelia rakudo-moar a24091: OUTPUT«(signal XFSZ)loop!␤looop!␤loooop!␤looooop!␤loooooop!␤looooooop!␤loooooooop!␤looooooooop!␤loooooooooop!␤looooooooooop!␤loooooooooooop!␤looooooooooooop!␤loooooooooooooop!␤looooooooooooooop!␤loooooooooooooooop!␤looooooooooooooooo…»
21:24 jnthn whoa...
21:24 moritz m: say 'Qoum'.flip.tclc
21:24 camelia rakudo-moar a24091: OUTPUT«Muoq␤»
21:24 lue What the heck's a (signal XFSZ) ?
21:25 moritz lue: man 7 signal
21:25 moritz (File size limit exceeded)
21:25 dalek star/tristar: 3488b6c | jnthn++ | / (2 files):
21:25 dalek star/tristar: Some fixes to get tri-Star build/test working.
21:25 dalek star/tristar: review: https://github.com/rakudo/star/commit/3488b6c547
21:26 jnthn I'm guessing the output is temporarily stored in a file before being sent back over IRC
21:26 moritz aye
21:27 * Quom is somewhat proud
21:28 jnthn OK, tristar now seems to let you get much of the way
21:28 jnthn What remains is to make it do the module install.
21:28 jnthn And then to maybe deal with targets like clean to make them less whiny.
21:33 jnthn Scheduling wise, I reckon moar-conc is going to land after the monthly release.
21:40 colomon joined #perl6
21:41 rurban1 joined #perl6
21:53 timotimo aaw
21:54 timotimo anything (easy) i can help with?
21:55 daniel-s_ joined #perl6
21:55 jnthn timotimo: The easy stuff is actually offloading me of Star stuff
21:55 timotimo i have *no* clue of that stuff :<
21:56 timotimo it's also partially perl5, no?
21:56 * masak .oO( we're all made of Star stuff )
21:56 jnthn timotimo: Yeah and makefile but it should be easy
21:56 jnthn timotimo: I mean, it's a script that calls out to Perl 6.
21:56 timotimo hm.
21:56 timotimo so ... anything more exact you can tell me to do?
21:56 jnthn timotimo: The next step is to get multi-backend module installing to work.
21:56 jnthn If you check out tristar
21:57 timotimo in principle that's just calling panda with all three backends in a row?
21:57 timotimo do we get panda-p, panda-m, panda-j?
21:57 jnthn No, I don't think it's done with panda
21:57 timotimo oh. so just cp?
21:57 timotimo and pre-compile?
21:57 jnthn https://github.com/rakudo/star/blob/master/tools/build/module-install.pl
21:58 jnthn that is the script in question
21:58 jnthn It's invoked from the makefile
21:58 timotimo so $perl6bin will be which perl6-* we have?
21:58 jnthn If you search in it for --target=pir you'll see where it hardcodes Parrot.
21:59 jnthn Yeah...
21:59 jnthn Either we can update the script to take a list of backends to install for
21:59 jnthn Or we can invoke it once per backend
21:59 jnthn I don't really care which.
21:59 jnthn Whatever's easiest.
22:00 timotimo ah, currently it's doing --target=pir, so that's the most obvious thing that needs to change
22:00 jnthn right
22:00 jnthn https://github.com/rakudo/star/blob/tristar/tools/build/Makefile.in
22:00 jnthn That is the makefile that calls it
22:01 timotimo and that's supposed to be for all three backends, looks like
22:01 jnthn You can see I've started to do multi-backend stuff
22:01 jnthn @backend_exes@ for example is set by the Configure.pl
22:01 jnthn Everything down to rakudo-install is updated
22:01 jnthn So it's modules-install and modules-test that need work
22:03 masak 'night, #perl6
22:04 araujo joined #perl6
22:07 timotimo what's @win32_libparrot_copy@? a bunch of commands to copy over libparrot.so or .dll?
22:07 moritz iirc only .dll
22:07 timotimo er
22:07 timotimo win32, yeah
22:07 jnthn some windows hack
22:08 timotimo most things involving windows seems hacky to me :P
22:08 timotimo would modules-install be "instantiated" once per backend?
22:08 timotimo or would it be one rule to install all modules for all backends?
22:08 timotimo somehow it still has to handle --backends=, doesn't it?
22:09 meltingwax left #perl6
22:10 [Sno] joined #perl6
22:11 timotimo i suppose that's how @backend_exes@ works
22:11 timotimo but now i don't know how to make make run the rule for each :|
22:12 jnthn timotimo: Well, if you make the module install script take the target and extension as a flag, you can write 3 rules: module-install-p, module-install-m and module-install-j
22:12 jnthn And then have a module-install: @backend_module_installs@ that will be built by Configure.pl just like @backend_exes@
22:12 timotimo OK, i'll just have to copypaste the body and add the flags there
22:12 timotimo i have to change Configure.pl to do that, but it'll just be a bit of copypaste?
22:13 jnthn Correct
22:13 jnthn Look for backend_exes
22:13 jnthn It's jnthn Perl 5 which menas it's probably got at least some 6ism in it :)
22:13 timotimo thanks :)
22:14 jnthn My first crack at perl 5 doesn't compile half the time these days 'cus I accidentally some 6ism :)
22:14 jnthn (Gets better quickly once I get back into it, though.)
22:24 colomon joined #perl6
22:26 timotimo how do i change $out =~ s/\.pm6?$/.pir/ so that it puts $comptarget after the . instead of just pir? can i just interpolate that?
22:29 timotimo jnthn: how exactly do i try out my changes? make -f tools/star/Makefile?
22:29 jnthn I *think* you can, and if not you add an e at the end.
22:29 jnthn timotimo: See release guide but basically you need to make -f tools/star/Makefile release VERSION=2014.03
22:30 jnthn timotimo: Then you take the .tar.gz it produces off to a separate location, unzip, change into the directory, and perl Configure.pl --backend=... [--gen-moar] [--gen-parrot] depending what you want to try out.
22:30 jnthn timotimo: Before that release step you'll need to make -f tools/star/Makefile to grab down all the things too, I think.
22:30 timotimo right. that's what i did just now
22:31 timotimo i still haev to bump all the version strings, don't i?
22:31 jnthn timotimo: I've personally been hacking the Configure.pl etc. off in that separate directory, then copying them back to the star directory
22:31 jnthn No, you can get away with that.
22:31 jnthn It won't give you something you'd want to releaes, but it gives you a tarball.
22:32 timotimo ah
22:32 timotimo thanks
22:32 jnthn np :)
22:32 jnthn Thanks for looking at it. :)
22:32 jnthn OK, I should sleep now...course tomorrow morning...
22:32 jnthn ...at a location I need to find 'cus I didn't go to it before. :)
22:32 jnthn 'night
22:33 timotimo i hope i'll manage :)
22:39 timotimo bin-install.pl should be installing the -debug-* binaries, too, right?
22:44 colomon joined #perl6
22:44 xinming_ joined #perl6
22:44 pmurias joined #perl6
22:44 xragnar joined #perl6
22:44 skids joined #perl6
22:44 Juerd joined #perl6
22:44 takesako___ joined #perl6
22:44 dylanwh joined #perl6
22:44 atrodo joined #perl6
22:52 daniel-s_ joined #perl6
22:56 yoleaux joined #perl6
22:56 tadzik joined #perl6
23:05 Quom p6: my $x ="abcdefghijklmnop"; $x.substr-rw(15) = "aww"; say $x
23:05 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method substr-rw in type Str␤  at /tmp/tmpfile line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) …»
23:05 camelia ..rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«No such method 'substr-rw' for invocant of type 'Str'␤  in block  at /tmp/tmpfile:1␤␤»
23:06 timotimo is that not yet implemented? :o
23:06 Psyche^ joined #perl6
23:07 Quom timotimo: Nope. Not sure how it would be either. Proxy trickery?
23:07 timotimo that's how i thought it was implemented
23:07 Quom timotimo: Should really be a low-level thing...
23:08 timotimo not terribly easy to do, aye
23:08 Quom timotimo: Though Perl 6 tends to modify strings in place much less than Perl 5
23:08 Quom timotimo: So maybe effeciency isn't really a priority here
23:08 Quom *efficiency
23:08 timotimo that's right
23:09 timotimo well, really you have something whose SET will combine a $pre with the given value to set and append a $post and the next FETCH will return the result of that operation
23:09 timotimo and then SET will have to revert to regular assignment
23:10 timotimo otherwise $foo = substr-rw(...) = "hi"; $foo = "bye" will result in $foo being something like "abcdefgbyexyz"
23:10 timotimo rather than just "bye"
23:10 lue substr-rw is a sub, not a method
23:10 Quom p6: my $x ="abcdefghijklmnop"; substr-rw($x,15) = "aww"; say $x
23:10 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«abcdefghijklmnoaww␤»
23:10 Quom Well
23:10 Quom Cool
23:11 Quom p6: my $x ="abcdefghijklmnop"; my $y = substr-rw($x,15) = "aww"; $y = "yay!"; say $x
23:11 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«abcdefghijklmnoaww␤»
23:11 Quom lue++
23:12 timotimo oh. well :)
23:12 Quom p6: my $x ="abcdefghijklmnop"; my $y = substr-rw($x,15); $y = "yay!"; say $x
23:12 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«abcdefghijklmnop␤»
23:12 colomon joined #perl6
23:13 timotimo hm
23:13 Quom EEDGECASES
23:13 timotimo yeah
23:15 lue p6: my $x ="abcdefghijklmnop"; my $y = &substr-rw.assuming($x,15); $y() = "yay!"; say $x
23:15 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«abcdefghijklmnop␤»
23:15 camelia ..niecza v24-109-g48a8de3: OUTPUT«abcdefghijklmnoyay!␤»
23:15 lue niecza gets that right at least :)
23:15 timotimo doing all this star-stuff is taking quite long :|
23:15 timotimo huh, wat
23:16 timotimo i'm getting errors from imcc when building rakudo-parrot
23:20 Quom p5 "my $nulls = $data =~ tr/\0/\0/;" becomes p6 "my $nulls = +$data.comb(/\0/);" Readibility++
23:20 Quom no
23:20 Quom readibility-- readability++
23:20 Quom spelling++
23:22 timotimo why would you tr/\0/\0/?
23:22 timotimo that seems like a no-op to me >_>
23:22 timotimo oh. scalar context.
23:26 * Quom is attempting to translate https://metacpan.org/source/BINGOS/Archive-Tar-1.96/lib/Archive/Tar.pm that this comes up
23:28 daniel-s__ joined #perl6
23:29 timotimo actually. i may have been getting the weird pir errors because of parallel builds that are not actually supported
23:41 lue r: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+)/, {$0.fmt("%04d")}); say @a.perl  # why does this not work? :(
23:41 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«Array.new("a", "b", "c", "d")␤»
23:42 colomon joined #perl6
23:42 lue (I've tried many variations on that, all unsuccessful, but you get the idea of what I'm trying to do)
23:42 timotimo mkdir /languages: Permission denied at tools/build/module-install.pl line 32.
23:42 timotimo seems legit!
23:43 Mouq r: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+)/, {say $/;$0.fmt("%04d")}); say @a.perl
23:43 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«Nil␤Nil␤Nil␤Nil␤Array.new("a", "b", "c", "d")␤»
23:43 Mouq r: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+)/, {$_[0].fmt("%04d")}); say @a.perl
23:43 Mouq Ohhh
23:43 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«Array.new("0001a", "b0002", "0003c", "d0004")␤»
23:43 Mouq r: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+){}/, {$0.fmt("%04d")}); say @a.perl
23:43 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«Array.new("0001a", "b0002", "0003c", "d0004")␤»
23:44 Mouq You need the "{}"
23:44 lue ...
23:44 Mouq lue: Annoying?
23:44 timotimo DESTDIR seems to be missing somehow
23:44 Mouq lue: I agree
23:44 Mouq n: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+){}/, {$0.fmt("%04d")}); say @a.perl
23:44 camelia niecza v24-109-g48a8de3: OUTPUT«["0001a", "b0002", "0003c", "d0004"].list␤»
23:44 Mouq n: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+)/, {$0.fmt("%04d")}); say @a.perl
23:44 camelia niecza v24-109-g48a8de3: OUTPUT«["0001a", "b0002", "0003c", "d0004"].list␤»
23:44 Mouq Looks like it's a bug
23:45 timotimo maybe it should be PREFIX_DIR instead of DESTDIR in the makefile?
23:45 timotimo there is also PREFIX_DIR and PREFIX
23:46 timotimo the latter is only used once
23:46 timotimo and not assigned anywhere
23:46 lue Mouq: you couldn't convince me that the need for a random {} isn't a bug :)
23:48 timotimo now i've messed it all up
23:49 Mouq hugme: hug timotimo
23:49 * hugme hugs timotimo
23:50 timotimo fortunately i could undo the stuff
23:50 timotimo but i'm not getting any closer to the destination yet
23:50 timotimo i guess i'll push my changes so far anyway
23:51 Mouq r: "1a" ~~ /(<.digit>+)/; say $/
23:51 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
23:51 Mouq r: "1a" ~~ /(<.digit>+){}/; say $/
23:51 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
23:51 Mouq r: say "1a" ~~ /(<.digit>+){}/;
23:52 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
23:52 Mouq r: say "1a" ~~ /(<.digit>+)/;
23:52 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
23:52 Mouq r: say "1a".match(/(<.digit>+)/);
23:52 camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
23:52 Mouq hm
23:52 dalek star/tristar: ae70436 | (Timo Paulssen)++ | / (3 files):
23:52 dalek star/tristar: baby steps towards tri-module-install.
23:52 dalek star/tristar: review: https://github.com/rakudo/star/commit/ae704363e4
23:53 timotimo also, for some reason it seems like all my submodules have been rewound
23:54 timotimo er. git status says "new commits" for all the submodules
23:56 Mouq timotimo: https://github.com/rakudo/star/commit/ae704363e4#commitcomment-5692513
23:56 timotimo good catch, thank you!
23:58 Khisanth joined #perl6
23:59 dalek star/tristar: dda5873 | (Timo Paulssen)++ | Configure.pl:
23:59 dalek star/tristar: Mouq++ found this
23:59 dalek star/tristar: review: https://github.com/rakudo/star/commit/dda5873b96
23:59 timotimo that would explain why it said "nothing to be done for modules-install" :)

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

Perl 6 | Reference Documentation | Rakudo