Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-04

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:00 sjn cool
00:00 * sjn wanted to take a look at the Dockerfile, really
00:00 hobbs joined #perl6
00:01 sjn are they using the same as https://github.com/perl6/docker/blob/master/Dockerfile ?
00:20 hoelzro sjn: yes
00:22 sjn ok, cool
00:23 sjn hoelzro: had a talk with tadzik today about deployment and stuff
00:23 ab5tract m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say <thunkadunk thunder thrunk>.map: % *; # instant fun when moving from '%' to '$
00:23 camelia rakudo-moar 416276: OUTPUT«True False False␤»
00:24 sjn hoelzro: we found a couple of interesting problems with the current scheme
00:24 sjn and I'm wondering if it'll translate to the docker image creation things too
00:25 ab5tract Perl 6 is a pretty amazing thing. I wish everyone a fantastic *.
00:27 ab5tract m: sub prefix:<z> (|c) { ~c xx 3 }; z "zZz";
00:27 camelia rakudo-moar 416276: ( no output )
00:27 hoelzro sjn: oh? do tell!
00:27 ab5tract m: sub prefix:<z> (|c) { ~c xx 3 }; say z "zZz";
00:27 camelia rakudo-moar 416276: OUTPUT«zZz zZz zZz␤»
00:28 hoelzro or was it here in #perl6? if so, I can backlog
00:35 noganex joined #perl6
00:38 timotimo m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say %<<<thunkadunk thunder thrunk>;
00:38 camelia rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3eZpUG5cvu␤Unable to parse quote-words subscript; couldn't find right double-angle quote␤at /tmp/3eZpUG5cvu:1␤------> 3/ }; say %<<<thunkadunk thunder thrunk>;7⏏5<EOL>␤    expecting any of:␤    …»
00:38 timotimo m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say [%]<<<thunkadunk thunder thrunk>;
00:38 camelia rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bts46uFdfW␤Unable to parse quote-words subscript; couldn't find right double-angle quote␤at /tmp/bts46uFdfW:1␤------> 3}; say [%]<<<thunkadunk thunder thrunk>;7⏏5<EOL>␤    expecting any of:␤    …»
00:38 timotimo m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say [%]«<thunkadunk thunder thrunk>;
00:38 camelia rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0gEyzVjUvZ␤Unable to parse quote-words subscript; couldn't find right double-angle quote␤at /tmp/0gEyzVjUvZ:1␤------> 3 }; say [%]«<thunkadunk thunder thrunk>;7⏏5<EOL>␤    expecting any of:␤   …»
00:38 timotimo m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say %«<thunkadunk thunder thrunk>;
00:38 sjn hoelzro: nah, skype
00:38 camelia rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SGhuh3EGPY␤Unable to parse quote-words subscript; couldn't find right double-angle quote␤at /tmp/SGhuh3EGPY:1␤------> 3k/ }; say %«<thunkadunk thunder thrunk>;7⏏5<EOL>␤    expecting any of:␤   …»
00:38 timotimo :(
00:39 timotimo m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say %('thunkadunk' 'thunder' 'thrunk');
00:39 camelia rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bzYV47E2wh␤Two terms in a row␤at /tmp/bzYV47E2wh:1␤------> 3n so $s ~~ /thunk/ }; say %('thunkadunk'7⏏5 'thunder' 'thrunk');␤    expecting any of:␤        infix␤        infix stopper␤       …»
00:39 sjn hoelzro: basically, when installing into the CompUnit scheme, we're making it difficulty for file-based packaging systems like rpm & deb &c.
00:40 jack_rabbit joined #perl6
00:40 timotimo unless there's a CompUnitRepo::blah class that's tailored to file-access
00:41 hoelzro sjn: I don't know if that'll be a problem for Docker, but sounds like OS packaging will suffer
00:41 hoelzro is it because paths are hardcoded into the comp units or something?
00:42 sjn hoelzro: well, if I've understood how docker works, each image is basically a filesystem layered "on top" of the previous base image's file system. (that was clumsily said, I know)
00:44 sjn now, if you recreate the rakudo docker image from scratch, maybe that's not so bad, but if someone intends to add modules on top of the rakudo image, I'm wondering if some funky stuff can start happening
00:44 hoelzro sjn: kinda sorta, yeah
00:44 hoelzro oh, I see now
00:45 hoelzro that's an eventual goal I have for the images, but I think I'll wait for S22 and co to stabilize before I worry about it too much =)
00:45 sjn I'm partly thinking about the numbering scheme for the files in the CompUnit, and partly the manifest file contents, which might come out of sync with the other files
00:45 hoelzro docker images might be a good way for folks to deploy perl6 apps without realizing it
00:45 hoelzro and that's how we'll get 'em >:)
00:46 * hoelzro knows near-nothing about how the compunit stuff works =/
00:46 sjn nah, if we're gonna "get" them, we also need the other packaging systems :)
00:46 * sjn is pretty new to it too
00:47 hoelzro docker images are just the gateway drug =P
00:48 sjn hoelzro: here's something you can try. make a docker image of the previous release of rakudo *, and then install some modules on top of it, using docker (creating an updated image), then see what happens wheb you upgrade the rakudo star image to a newer version
00:49 hoelzro oh, you can't do that
00:49 sjn the filesystem diffs should be interesting to see & record
00:49 hoelzro think of it like git commits
00:49 hoelzro the rakudo star image is a commit (let's say A), and the image after installing a few modules has A as its "parent"
00:49 sjn well, then apply the new rakudo star image on top of the old "in use" one?
00:50 hoelzro I don't think you can manipulate the layers with that level of control
00:50 * sjn guesses this will fuck around with the manifest file
00:50 hoelzro the idea is that only the filesystem contents that differ are in the new image
00:51 sjn s/f.* around/break/
00:51 hoelzro so a new manifest file, plus additional installed modules, would be in the topmost layer
00:51 sjn but are the contents tracked on a per-file level, per-line, or per-byte level?
00:51 sjn or per-block?
00:52 hoelzro I want to say "per file", but I think that loses accuracy
00:52 hoelzro let's say you have the root directory
00:52 hoelzro and it's got 3 files in it: foo bar baz
00:52 hoelzro if you add a new file, quux
00:52 hoelzro and change baz
00:53 sjn how would you upgrade rakudo star? throw away the old stuff, and re-apply the new modification images (with the "current" in-use modules) on top of the new rakudo-star image?
00:53 hoelzro when you list that directory in the child image, it'll refer to the parent's foo and bar, bu the child's baz and quux
00:53 sjn right, per-file
00:53 sjn that's where the manifest might break then
00:54 sjn unless you reapply every change on top of the new base every time you want to upgrade the base
00:54 sjn which kinda defeats the purpose of a scheme like this, methinks :-P
00:55 hoelzro what'd you do, if you want to update star, is build a whole new image
00:56 sjn although it could be that I'm expecting too much from docker :-P
00:58 sjn (kinda sucks that you have to install *everything* every time you update the base image
00:58 sjn )
00:58 sjn but, I can imagine scenarios where docker still is useful :)
01:00 tinyblak joined #perl6
01:02 tinyblak_ joined #perl6
01:06 sjn hoelzro: anyhoo, I could be wrong and worrying about nothing :)
01:07 sjn although this may very well be a problem with other packaging systems :-(
01:09 sjn (maybe it's possible to work around these problems by making sure the packages don't contain the manifest file itself, and instead generate/update it post-install)
01:10 sjn still very cludgy
01:10 * sjn isn't a fan of post-install scripts
01:10 sjn and equivalents
01:10 hoelzro ah, interesting idea
01:10 hoelzro that could work for now
01:11 * sjn also suggested moving away from the numbered-file storage to instead use a sha-1 digest as filename
01:17 timotimo always very changable, of course
01:19 timotimo shouldn't you already be able to just move files around and change the manifest listing?
01:19 timotimo to try out how well it works?
01:20 * sjn got the impression that moving around compunit files isn't trivial
01:20 sjn (or are we talking about something different here?)
01:20 sjn try out what?
01:22 timotimo hold on, i'll probably have to look myself ...
01:24 timotimo yeah, the files are referenced by a "file":... in the MANIFEST json file
01:24 timotimo if you change the path in that MANIFEST file and also mv the file on the file system
01:24 timotimo shouldn't that work?
01:25 sjn probably
01:33 timotimo shall i write a little script to do it or something?
01:33 Zoffix Do it! Do it! :D                                                                                                                                                                                                                                                                                                                                             D
01:33 Zoffix oops
01:34 timotimo hmm
01:35 timotimo CompUnitRepo::Local::Installation.new('/home/timo/perl6/moarvm/../install/share/perl6/site')
01:35 timotimo this is the one i have to look out for, right?
01:36 timotimo (also, these moarvm/../ pieces show up all over the damn place :S
01:37 timotimo actually ... now i'll play a bit of Distance
02:14 noganex_ joined #perl6
02:26 jdv79 is panda unhappy recently?
02:26 jdv79 "resolve stage failed for Term::ANSIColor: Dependency nqp is not present in the module ecosystem"
02:29 Zoffix Installs fine for me: http://fpaste.scsys.co.uk/471174
02:29 Zoffix Installed panda today or last night..
02:30 jdv79 i was y'day
02:30 jdv79 i'll try rebuilding
02:32 mr-foobar joined #perl6
02:37 jdv79 yeah.  all better.
02:38 Zoffix \o/
02:50 jdv79 m: say .Str for "123"~~m:g/<$("2|3")>/; # why matching 1 there?
02:50 camelia rakudo-moar 416276: OUTPUT«1␤2␤3␤»
03:01 skids m: say .Str for "123"~~m:g/<$("[2|3]")>/; # workaround, don't know why.
03:01 camelia rakudo-moar 416276: OUTPUT«2␤3␤»
03:02 jdv79 hmm.  nice.
03:02 skids say .Str for "1234"~~m:g/<$("2|4")>/; # the second number seems to be taken as a length
03:02 skids m: say .Str for "1234"~~m:g/<$("2|4")>/; # the second number seems to be taken as a length
03:02 camelia rakudo-moar 416276: OUTPUT«1␤2␤3␤4␤»
03:03 skids m: say .Str for "1234"~~m:g/<$("2|3")>/;
03:03 camelia rakudo-moar 416276: OUTPUT«1␤2␤3␤»
03:03 skids m: say .Str for "1234"~~m:g/<$("3|4")>/;
03:03 camelia rakudo-moar 416276: OUTPUT«1␤2␤3␤4␤»
03:05 jdv79 insanity but i pass another test so circle back later i guess - thanks!
03:05 Zoffix It seems more to be a "from-to" type of thing, instead of length:
03:05 Zoffix m: say .Str for "abcd1ef2g"~~m:g/<$("1|2")>/;
03:05 camelia rakudo-moar 416276: OUTPUT«a␤b␤c␤d␤1␤e␤f␤2␤»
03:05 jdv79 from-to?
03:05 jdv79 m: say .Str for "abc"~~m:g/<$("b|c")>/;
03:05 camelia rakudo-moar 416276: OUTPUT«a␤b␤c␤»
03:06 Zoffix so it matched all until it found "b" and then continued matching until it found "c"
03:06 Zoffix m: say .Str for "bca"~~m:g/<$("b|c")>/;
03:06 camelia rakudo-moar 416276: OUTPUT«b␤c␤»
03:06 Zoffix *shrug*
03:06 Zoffix Where did you find that syntax?
03:06 jdv79 i guessed it - sorry
03:06 Zoffix the $(...) bit
03:07 jdv79 it works the same, it seems if you just have <$var>
03:07 Zoffix Ah :) I'm looking at http://doc.perl6.org/language/regexes and not seeing anything resembiling it
03:07 Zoffix Ah
03:07 jdv79 golfing
03:07 jdv79 maybe too hard
03:08 jdv79 m: say .Str for "abc"~~m:g/b|c/; # so its something with the interpolation?...
03:08 camelia rakudo-moar 416276: OUTPUT«b␤c␤»
03:09 skids Interpolation into regexes has like 5 open bugs.
03:09 jdv79 that makes sense then:)
03:14 skids RT#121024
03:14 skids .botsnack
03:14 yoleaux :D
03:14 jdv79 did someone change .perl on Hashes to use colonpairs?
03:14 skids botsnack
03:14 jdv79 is that what :k("v") is called?
03:15 jdv79 makes trying to read big structures even more fun to try to read
03:17 skids yes apparently so.
03:18 skids r: my %x = ( "a", 3, "s", 4, 5, 5 ); %x.perl.say # they got nonidentifier keys right
03:18 camelia rakudo-moar 416276: OUTPUT«{"5" => 5, :a(3), :s(4)}<>␤»
03:18 jdv79 also, why does rt.perl6.org resolve the the synopsis index?
03:18 jdv79 hmm
03:18 skids (and yes "colonpairs")
03:18 jdv79 s/the/to/
03:19 skids any undefined host in .perl6.org resolves there.
03:19 jdv79 neat.  i guess now there's another reason why a dumper could be helpful.
03:19 jdv79 oh
03:20 skids I think a dumper that made AST and Match really nice to read would be very popular.
03:20 skids (QAST)
03:20 b2gills adverb is another name for :k<v>, typically limited to its use as a named argument
03:23 Sqirrel joined #perl6
03:24 jdv79 i don't totally get that bug report but thanks for finding it
03:29 skids b2gills: properly adverb is the name of a semantic which a colonpair fills, while colonpair is the name of the syntax.  There's a syntactically special meaning of "operator adverb" as well.
03:31 jdv79 WHOA.  all tests pass.  even though it all hacked up terribly.  i can sleep now.
03:36 skids Heheh.  Funnily, the :a(1) form is referred to almost everywhere in the design docs as "colon pair" except in the section of the docs that actually defines them which calls them the "Adverbial pair" form.
03:41 jdv79 optimized p5 version runs in 70ms while unoptimized p6 version runs in 7s.  expected i guess.
03:41 dalek specs: dcd6f6c | skids++ | S02-bits.pod:
03:41 dalek specs: Make it easy to find Adverbial Pair form section when searching for colon pair
03:41 dalek specs: (because that is what everyone calls it, even parts of the desin docs)
03:41 dalek specs: review: https://github.com/perl6/specs/commit/dcd6f6c7c6
03:46 aborazmeh joined #perl6
03:46 aborazmeh joined #perl6
04:08 tinyblak joined #perl6
04:31 aborazmeh joined #perl6
04:31 aborazmeh joined #perl6
04:56 telex joined #perl6
05:01 dalek doc: ae713fe | skids++ | lib/Language/glossary.pod:
05:01 dalek doc: Add adverb and colon pair to glossary
05:01 dalek doc: review: https://github.com/perl6/doc/commit/ae713fe294
05:02 xfix joined #perl6
05:04 kaare_ joined #perl6
06:00 dalek doc: 8f9b970 | moritz++ | lib/Language/syntax.pod:
06:00 dalek doc: Syntax: Statements and expressions
06:00 dalek doc: review: https://github.com/perl6/doc/commit/8f9b970e2c
06:02 dalek doc: 1128660 | moritz++ | lib/Language/syntax.pod:
06:02 dalek doc: Fix grammar
06:02 dalek doc: review: https://github.com/perl6/doc/commit/1128660930
06:12 dalek doc: e88123d | moritz++ | lib/Language/syntax.pod:
06:12 dalek doc: syntax: more headings
06:12 dalek doc: review: https://github.com/perl6/doc/commit/e88123de7d
06:19 dalek doc: f3008c5 | moritz++ | lib/Language/syntax.pod:
06:19 dalek doc: Terms, variables
06:19 dalek doc: review: https://github.com/perl6/doc/commit/f3008c5dfd
06:21 16WAANYC7 joined #perl6
06:42 jnthn morning, #perl6
06:42 yoleaux 3 Apr 2015 16:34Z <japhb> jnthn: My ++jnthn wish list, as requested: https://gist.github.com/japhb/a20fa0fc0423f11204bf
06:43 RabidGravy joined #perl6
07:00 jack_rabbit joined #perl6
07:19 dalek rakudo/nom: d597a07 | jnthn++ | src/Perl6/Actions.nqp:
07:19 dalek rakudo/nom: Remove left-behind debugging code.
07:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d597a0714c
07:21 eiro joined #perl6
07:46 Sqirrel joined #perl6
07:46 FROGGS joined #perl6
07:47 darutoko joined #perl6
07:48 rurban_ joined #perl6
07:49 Ven joined #perl6
07:56 prl joined #perl6
07:57 prl m: my $f = False; my $t = True; my $z = $f S& $t; say $z.Bool;
07:57 camelia rakudo-moar d597a0: OUTPUT«True␤»
07:57 prl wrong, right?
07:58 Ven S&, huh
08:03 prl S&, yes, sequential metaoperator
08:06 dalek rakudo/nom: 5692768 | jnthn++ | / (3 files):
08:06 dalek rakudo/nom: Support int64 in NativeCall signatures.
08:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5692768016
08:09 dalek rakudo/nom: 6b27502 | jnthn++ | t/04-nativecall/03-simple-returns. (2 files):
08:09 dalek rakudo/nom: Test for int64 as native call return type.
08:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6b27502af9
08:16 diana_olhovik_ joined #perl6
08:19 gfldex joined #perl6
08:37 diana_olhovik__ joined #perl6
08:42 dalek nqp: 1c6c916 | jnthn++ | tools/build/MOAR_REVISION:
08:42 dalek nqp: Bump MOAR_REVISION for unsigned int native calls.
08:42 dalek nqp: review: https://github.com/perl6/nqp/commit/1c6c916bf7
08:42 darutoko- joined #perl6
08:44 nine_ jnthn: I know the source of RT #123989
08:44 nine_ https://rt.perl.org/SelfService/Display.html?id=123989
08:45 nine_ jnthn: the lambda in the multi method's signature like all blocks does a takedispatcher, thus eating the cur_dispatcher that was meant for the method's body.
08:47 Ven joined #perl6
08:47 jnthn nine_: Ah, oops.
08:48 jnthn nine_: Yeah, then takedispatcher will need to happen earlier...
08:48 jnthn Nice find.
08:48 jnthn Anyone else having problems building r-j?
08:49 jnthn While building BOOTSTRAP.jar I get:
08:49 jnthn java.lang.LinkageError: loader (instance of  org/perl6/nqp/runtime/ByteClassLoader): attempted  duplicate class definition for name: "FB6731E54858509E6CD874E56B41C332505A10A4"
08:49 moritz j: say 42
08:49 camelia rakudo-jvm 569276: OUTPUT«42␤»
08:49 eli-se joined #perl6
08:50 nine_ jnthn: I learned a lot about Rakudo's internals while investigating this :)
08:50 moritz jnthn: that's on your second-to-last commit
08:50 jnthn moritz: Hmmm...what on earth...
08:51 prl joined #perl6
08:56 Vlavv_ joined #perl6
08:56 moritz star: say 42
08:56 camelia star-{m,p} 2015.02: OUTPUT«42␤»
09:07 dalek nqp: 314a1cd | jnthn++ | src/vm/jvm/HLL/Backend.nqp:
09:07 dalek nqp: Fix race/timing issue in JVM classname generation.
09:07 dalek nqp:
09:07 dalek nqp: If the time between two evals was too short, we could end up re-using
09:07 dalek nqp: a class name, thus upsetting the class loader.
09:07 dalek nqp: review: https://github.com/perl6/nqp/commit/314a1cd424
09:07 dalek evalbot: eb33872 | moritz++ | evalbot.pl:
09:07 dalek evalbot: remove star-p; make "star" be only star-m by default
09:07 dalek evalbot: review: https://github.com/perl6/evalbot/commit/eb33872b1a
09:09 dalek evalbot: 9002c38 | moritz++ | service/camelia (2 files):
09:09 dalek evalbot: Add systemd service files
09:09 dalek evalbot: review: https://github.com/perl6/evalbot/commit/9002c38cae
09:09 moritz star-m: say "version?"
09:10 dalek nqp: a405133 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
09:10 dalek nqp: Support int64 arg/return in native call on JVM.
09:10 dalek nqp: review: https://github.com/perl6/nqp/commit/a4051331f0
09:11 nwc10 jnthn: I guess you don't need me to answer "Anyone else ..."?
09:12 jnthn nwc10: No, I fixed the thing now :)
09:14 camelia joined #perl6
09:17 espadrine_ joined #perl6
09:24 dalek nqp: dbaecae | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
09:24 dalek nqp: Basic unsigned int native call support on JVM.
09:24 dalek nqp:
09:24 dalek nqp: Java and the JVM don't really do unsinged, so it's a bit hacky, but it
09:24 dalek nqp: is at least enough to pass the tests added to Rakudo for unsinged int
09:24 dalek nqp: args and returns.
09:24 dalek nqp: review: https://github.com/perl6/nqp/commit/dbaecae69b
09:26 dalek rakudo/nom: 54d6aa0 | jnthn++ | tools/build/NQP_REVISION:
09:26 dalek rakudo/nom: Bump NQP revision for int64/unsinged nativecalls.
09:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/54d6aa09a8
09:26 dalek rakudo/nom: f2b9e0c | jnthn++ | / (5 files):
09:26 dalek rakudo/nom: Support and test unsinged types in NativeCall.
09:26 dalek rakudo/nom:
09:26 dalek rakudo/nom: Tests pass on both MoarVM and JVM.
09:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f2b9e0c84b
09:27 jnthn Hopefully that's enough to unblock those waiting for this.
09:27 jnthn (and let me know if not)
09:30 Perl6_newbee joined #perl6
09:32 masak good almost-noon, #perl6
09:32 yoleaux 3 Apr 2015 23:17Z <ab5tract> masak: Sorry about that then, buddy :)
09:32 masak no sweat :)
09:35 jnthn o/ masak
09:40 Alina-malina joined #perl6
09:42 Rounin joined #perl6
09:56 esaym153 joined #perl6
10:03 moritz jnthn++
10:06 camelia joined #perl6
10:10 xinming joined #perl6
10:12 BenGoldberg joined #perl6
10:13 jnthn m: use Test; is ({ try { map    { die }, 1,2,3 }; 42 }()), 42, "die in map"; done;
10:13 camelia rakudo-moar f2b9e0: OUTPUT«Died␤  in block  at /tmp/W0kwmzfeta:1␤  in block <unit> at /tmp/W0kwmzfeta:1␤␤»
10:14 jnthn Seems that's a recent regression.
10:14 moritz regression?
10:14 jnthn Well
10:14 jnthn Hm
10:14 jnthn Behavior change, at least.
10:14 moritz the map isn't called in sink context
10:15 jnthn Aye...
10:15 jnthn hmm
10:15 jnthn Thing is, S29-context/die.t now explodes
10:15 jnthn oh
10:16 jnthn It looks like TimToady may have "fixed" a thinko...
10:16 dalek doc: aeaa776 | moritz++ | lib/Language/syntax.pod:
10:16 dalek doc: document barewords
10:16 dalek doc: review: https://github.com/perl6/doc/commit/aeaa776696
10:16 moritz in the test? or in rakudo?
10:16 jnthn Or a "thnko"
10:16 jnthn In the test.
10:17 jnthn https://github.com/perl6/roast/commit/cc2c90b58e27e31f9ef4c8dcc93a384c95caf2f8
10:17 jnthn I'm dubious that the test writer really intended ; there instead of ,
10:17 jnthn But it had the side-effect of sink-contexting the map
10:17 moritz well
10:18 moritz since it's "die in map"
10:18 moritz I'd propose to change the tests to  try { eager map { die }, ... }
10:20 nwc10 jnthn: On Linux gcc2-power8.osuosl.org 3.17.4-301.fc21.ppc64le #1 SMP Mon Dec 1 07:51:01 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux
10:20 dalek roast: f153994 | jnthn++ | S29-context/die.t:
10:20 dalek roast: Unbust tests after ; => , correction.
10:20 dalek roast:
10:20 dalek roast: We need to be eager with these operations to ensure they take place in
10:20 dalek roast: the scope of the try.
10:20 dalek roast: review: https://github.com/perl6/roast/commit/f1539949b6
10:20 nwc10 with avac 1.8.0_25
10:20 nwc10 t/nativecall/01-basic.t ............... Dubious, test returned 1 (wstat 256, 0x100)
10:21 nwc10 I have no idea if Power is the problem, or a dodgy version of Java
10:21 jnthn nwc10: Is that a recent regression, or a long-standing problem, or don't know?
10:21 nwc10 don't know - never tried before
10:21 jnthn Does it fail all the tests in that file or just some of them?
10:23 hobbs joined #perl6
10:23 nwc10 at the risk of a splat:
10:23 nwc10 1..3
10:23 nwc10 java.lang.NullPointerException in <mainline> (t/nativecall/01-basic.t:63) in eval (gen/jvm/stage2/NQPHLL.nqp:1160) in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1358) in command_eval (gen/jvm/stage2/NQPHLL.nqp:1256) in command_line (gen/jvm/stage2/NQPHLL.nqp:1231) in MAIN (gen/jvm/stage2/NQP.nqp:4092) in <mainline> (gen/jvm/stage2/NQP.nqp:4088) in  (gen/jvm/stage2/NQP.nqp)
10:23 jnthn eek
10:23 jnthn That's an...odd kind of failure.
10:25 rindolf joined #perl6
10:26 nwc10 I have no idea how old or buggy 1.8.0_25 is
10:26 nwc10 particularly on not-x86
10:28 nwc10 also, that machine has 160 cores, so that might shake out some bugs Oracle didn't know about
10:28 nwc10 (or care about)
10:29 rindolf joined #perl6
10:30 Ven joined #perl6
10:31 rindolf joined #perl6
10:32 nwc10 makefile races, we have 'em:
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 nwc10 /usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar .
10:32 * nwc10 spares the channel all the other 10-fold duplication
10:33 jnthn It happens without parallel make too
10:34 coffee` joined #perl6
10:34 dalek doc: 9fd2155 | moritz++ | lib/Language/syntax.pod:
10:34 dalek doc: Start to document literals
10:34 dalek doc: review: https://github.com/perl6/doc/commit/9fd2155a85
10:35 nwc10 oh. OK. Curious
10:35 rindolf joined #perl6
10:36 nwc10 also, I looked up the docs - ExtUtils::Command::cp can take file file file ... dir
10:36 nwc10 (not sure if that's since forever)
10:36 nwc10 but it would permit Makefile simplification, and a few fewer shell-outs
10:36 nwc10 will patch at some point, but might be rendered irrelevant if someone else refactors that bit before I get there
10:37 LonelyGM joined #perl6
10:38 rindolf joined #perl6
10:41 dustinm` joined #perl6
10:50 moritz why does the nqp-jvm makefile copy all those jars to the current working directory?
10:57 jnthn moritz: Probably 'cus NQP has no equivalent of the blib folder used during the Rakudo building.
10:58 jnthn Oh, also because of the staged build thing
10:58 xinming joined #perl6
11:11 Ven joined #perl6
11:12 nwc10 well, this isn't going to fly:
11:12 nwc10 java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-ppc64/libjnidispatch.so) not found in resource path ([file:/home/nick/Perl/rakudo-j/, file:/home/nick/Perl/rakudo-j/, file:/home/nick/Perl/rakudo-j/blib/, file:/home/nick/Sandpit/jvm/share/nqp/lib/])
11:21 [Tux] joined #perl6
11:25 KCL joined #perl6
11:30 sirdancealot joined #perl6
11:35 mr-foobar joined #perl6
11:46 LonelyGM joined #perl6
11:58 dalek nqp: 7aa9537 | moritz++ | tools/build/Makefile-JVM.in:
11:58 dalek nqp: JVM build: reduce number of shellouts by combining several $(CP) steps into one
11:58 dalek nqp: review: https://github.com/perl6/nqp/commit/7aa9537752
12:01 moritz nwc10++
12:02 nwc10 moritz++ # doing the actual work
12:04 raiph joined #perl6
12:09 moritz FROGGS, tadzik: I don't know if it's a bug in rakudo or in panda, but since the last bigger merge, I can't bootstrap panda after I did a "make install" with a new rakudo version (and without cleaning the install location first)
12:09 moritz that used to work, and it would be great if it worked again
12:09 moritz Missing or wrong version of dependency 'src/gen/m-CORE.setting'
12:26 dalek rakudo/nom: 4afc9e9 | moritz++ | tools/build/Makefile-Moar.in:
12:26 dalek rakudo/nom: m-install: reduce the number of shell commands by combining several $(CP) statements into one, nwc10++
12:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4afc9e92a1
12:27 dalek DBIish: eb14b62 | moritz++ | lib/DBDish/mysql.pm6:
12:27 dalek DBIish: mysql: use proper unsigned types
12:28 dalek DBIish:
12:28 dalek DBIish: requires very latest rakudo (at least 2015.03-159-g4afc9e9) to work
12:28 dalek DBIish: review: https://github.com/perl6/DBIish/commit/eb14b627dd
12:31 Sqirrel joined #perl6
12:33 raiph joined #perl6
12:45 rmgk_ joined #perl6
12:51 eternaleye joined #perl6
12:52 pochi joined #perl6
13:11 tinyblak joined #perl6
13:11 dalek Heuristic branch merge: pushed 27 commits to perl6-examples by paultcochrane
13:15 Sqirrel joined #perl6
13:27 espadrine_ joined #perl6
13:34 diana_olhovik_ joined #perl6
13:46 lucasb joined #perl6
13:57 eli-se joined #perl6
13:59 moritz m: say :16<BEEF>.^name
13:59 camelia rakudo-moar 4afc9e: OUTPUT«Int␤»
14:00 moritz m: say -1 * -1
14:00 camelia rakudo-moar 4afc9e: OUTPUT«1␤»
14:03 tinyblak joined #perl6
14:03 lucasb m: say so False & False
14:03 camelia rakudo-moar 4afc9e: OUTPUT«False␤»
14:04 lucasb m: say so False S& False
14:04 camelia rakudo-moar 4afc9e: OUTPUT«True␤»
14:04 lucasb m: say False & False
14:04 camelia rakudo-moar 4afc9e: OUTPUT«all(False, False)␤»
14:04 moritz m: say 3_00_00e0
14:04 camelia rakudo-moar 4afc9e: OUTPUT«30000␤»
14:04 lucasb m: say False S& False
14:04 camelia rakudo-moar 4afc9e: OUTPUT«all()␤»
14:04 lucasb say so all()
14:04 lucasb m: say so all()
14:04 camelia rakudo-moar 4afc9e: OUTPUT«True␤»
14:04 lucasb As noted by prl++ in the backlog, there is something strange with the sequential metaoperator S
14:05 jnthn We would probably vote for un-stranging it by saying "not in 6.0" and throwing it out of Rakudo. :)
14:05 timotimo moritz: aye, i had to nuke my install directory, too ... that same error message :(
14:06 moritz timotimo: fwiw I found that rebootstrap still works; still not great
14:06 moritz m: say 0755
14:06 camelia rakudo-moar 4afc9e: OUTPUT«Potential difficulties:␤    Leading 0 does not indicate octal in Perl 6; please use 0o755 if you mean that␤    at /tmp/1xrFa_lhzL:1␤    ------> 3say 07557⏏5<EOL>␤755␤»
14:07 timotimo yeah, the update path between previous panda and current S11-panda is a bit rocky :(
14:07 moritz not between previosu and current panda
14:07 moritz between current panda and rakudo-1 to rakudo+0
14:07 jnthn Um, especially as I don't know that it does anything much...
14:07 timotimo oh
14:08 moritz m: say 0b1101e0
14:08 camelia rakudo-moar 4afc9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/m2kxeCo9Dy␤Confused␤at /tmp/m2kxeCo9Dy:1␤------> 3say 0b11017⏏5e0␤»
14:09 skids joined #perl6
14:10 jnthn m: say 1 S+ 2
14:10 camelia rakudo-moar 4afc9e: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in block <unit> at /tmp/6RBdPcsK5O:1␤␤»
14:11 jnthn It's actually compiling into &infix<+>.()(1, 2), or &infix:<&>().(True, False) in the original case
14:11 moritz wtf.
14:11 jnthn That reduces to all()(True, False)
14:11 Perl6_newbee joined #perl6
14:11 jnthn Which auto-threads the call over zero elements
14:12 jnthn Meaning nothing ahppens.
14:12 jnthn *happens
14:15 jnthn Hmm
14:15 jnthn Though given we aren't doing any of the parallelism at present, we could equally well implement S as a no-op
14:16 skids moritz: what happens is that File::Find etc have old versions that request the now-missing old setting, so panda cannot run.
14:16 jnthn I don't think the optimizer goes re-ordering things either in such a way that'd bust stuff.
14:16 moritz skids: then installing rakudo should install a new, empty module registry too
14:17 skids I did post this late a night or two ago to make those error messages more awesome: https://gist.github.com/skids/dbe151cb35a4de8c4b9a
14:17 * colomon is trying to remember what the use-case for Sop was…
14:17 timotimo yeah, i don't remember seeing any optimization in the tree-based optimizer that'd reorder things
14:18 retupmoca timotimo: I have PR's open for .dll bundling/fetching on your Cairo and SDL2::Raw modules :)
14:18 timotimo signaling "do not reorder" into spesh and jit would seem quite a bit more tricky, no idea how the signaling ought to work there
14:18 timotimo retupmoca: thank you! i didn't manage to merge it yet >_<
14:19 timotimo retupmoca: did you see my question about renaming "gtk-dlls.p6c.org" and hosting more dlls there?
14:19 jnthn timotimo: Typically these are handled by the compiler emitting memory barriers.
14:19 timotimo that seems simple & sensible
14:20 retupmoca timotimo: yeah - that would probably make sense. Anything less than a MB or two I tend to just drop into the repo directly, so zlib and openssl aren't downloading right now
14:20 retupmoca but perhaps they should be made to
14:21 timotimo ah, SDL2.dll is just above a meg
14:21 timotimo that's not that terrible
14:21 retupmoca right, I gave you two different options for bundling that one :)
14:21 timotimo yes, i saw :)
14:22 moritz skids: I'd spectest that patch, and apply it, if you have no objections
14:22 skids Please.  I don't know how to do a thorough spectest yet.
14:23 moritz well, "make spectest" in rakudo :-)
14:23 retupmoca timotimo: you may need a couple more 'is export' in your Cairo module BTW; I'm getting things like 'Undeclared name: FORMAT_ARGB32 used at line 46'
14:23 retupmoca and adding an is export *seemed* to fix it
14:23 skids mortiz: Well, if that's the bar I can certainly fit under that.  I thought it would be more involved.
14:25 moritz skids: I'll also try to provoke the error, and see if the error message improved
14:28 jnthn skids: The patch looks sane to me at first glance.
14:33 timotimo retupmoca: i put a Cairo:: in front instead
14:34 timotimo retupmoca: especially since FORMAT_ARGB32 looks like something that could equally well come from SDL and/or OpenGL modules
14:38 moritz fwiw I've had some spectest weirdness
14:39 moritz several (7 or so) test failed reported that no test output was found, but they were fine when run individually
14:39 retupmoca timotimo: ah, ok. your SDL2/examples folder needs the tweak then :)
14:39 moritz now testing with the previous MoarVM version
14:39 timotimo yes; i've got it locally and just neglected to push :S
14:40 dalek doc: b7d5b91 | moritz++ | lib/Language/syntax.pod:
14:40 dalek doc: Start to document number literals
14:40 dalek doc: review: https://github.com/perl6/doc/commit/b7d5b91530
14:53 Sqirrel joined #perl6
15:00 BenGoldberg joined #perl6
15:02 BenGoldberg joined #perl6
15:03 timotimo retupmoca, moritz: looking for suggestions for a new name for "gtk-dlls.p6c.org"; maybe "library-rehost"? "dll-rehost"?
15:06 flussence "mirror"?
15:06 mr-foobar joined #perl6
15:07 TimToady jnthn: according to S04:1018, the try should be sunk inside because it's sunk outside
15:07 timotimo "mirror" sort of implies - to me at least - an automated, swiftly updated copy of a different site; this host has something more akin to a selection/collection of dlls
15:07 TimToady so the eager should not be necessary
15:07 jnthn TimToady: Ah...
15:08 jnthn TimToady: OK, I can fix that.
15:08 FROGGS moritz: I can rebootstrap just fine
15:08 jnthn (And unfix the test. :))
15:08 eli-se joined #perl6
15:09 moritz FROGGS: rebootstrap, yes; bootstrap, no
15:09 jnthn TimToady: I've been doing lots of reading/thinking/planning on NFG stuff today
15:09 FROGGS moritz: but that is the point of rebootstrapt
15:09 FROGGS -t
15:10 jnthn TimToady: I've got a work-in-progress doc about where I got so far
15:10 jnthn TimToady: https://gist.github.com/jnthn/b312a7a211e78c27b96d
15:10 FROGGS moritz: bootstrap wont work when you reinstall rakudo
15:10 moritz FROGGS: it used to
15:10 Sqirrel joined #perl6
15:10 FROGGS moritz: I doubt that
15:10 jnthn TimToady: Drew on S15, S02, S05, the Unicode spec. :)
15:10 moritz FROGGS: it just didn't install the old modules
15:10 jnthn TimToady: Would very much appreciate any input on whether I'm wondering off in right-ish directions or thinking the right way about things.
15:12 timotimo "infix:<~^>, infix:, infix:, infix:, infix:, infix:, infix:, infix:, and infix:."
15:12 timotimo damn you, markdown
15:12 jnthn *sigh*, yes
15:12 moritz FROGGS: I still consider it a bug that installing a new version of rakudo invalidates old modules, without removing them
15:12 TimToady jnthn: okay, I'll try to have a glance at it
15:12 jnthn TimToady: Thanks. :)
15:14 FROGGS moritz: it is also a but that it wont fall back to .pm files when the precomped files are invalid
15:15 TimToady you'll have to debut it then
15:15 masak with a debutter
15:15 timotimo when that feature debuts, i'll be quite happy
15:21 jnthn timotimo: Fixed 'em, by the way
15:22 masak no, not "damn you, markdown". you meant "gosh, I need to learn markdown's simple and consistent rules" :P
15:24 eli-se joined #perl6
15:24 jnthn Why have simple and consistent when you could DWIM... :P
15:32 TimToady moritz: might consider mentioning the my \foo = ... barewords along with constant
15:32 eli-se Writing interpreters is fun!
15:32 TimToady that's a matter of interpretation...
15:33 masak I agree!
15:33 fhelmberger joined #perl6
15:33 TimToady "
15:34 TimToady "Implement types Uni/NFC/NFD/NFKC/NFKD" -- we really need to sneak a KFC type in there somewhere
15:35 jnthn :D
15:35 * masak .oO( "what's the matter, Colonel Sanders? chicken!?" -- I never got that joke when I was young )
15:35 jnthn To be honest, I'm quite happy with Not Kentucky Fried Chicken... :P
15:38 Ven joined #perl6
15:39 masak jnthn: why do you hate freedom? why do you hate America?
15:39 masak :P
15:39 TimToady "whereas a Buf/Blob may be holding UTF-32 in some other endian." -- could be other-endian UTF-16 too
15:39 jnthn TimToady: For sure. :)
15:40 TimToady actually, it's Not Fried Kentucky Chicken, which is different
15:41 jnthn I called out UTF-32 mostly 'cus I suggest a representation for Uni is a uint32 array...
15:41 ShimmerFairy A couple things I want to point out: first, I never got around to propagating S15's stuff through the other synopses, so I think in general trust S15 more on Unicode :)
15:42 ShimmerFairy Secondly, I wrote a new S32::Str about a year ago, but never really did much with it (I didn't want to put a third pod6 file in the specs repo). It's here in case it's still interesting: https://gist.github.com/lue/9941658
15:43 TimToady I also agree that the multi-view view of Stringy is probably not gonna ever happen, unless it becomes obvious how to do it later; but it's probably the same mistake as P5-style num/str allomorphism
15:43 TimToady that is, it's okay to cache alternate representations, but not okay to confuse the computer about the intended type
15:44 ShimmerFairy And I do recall TimToady once mentioning that StrLen/StrPos were a pre-NFG thing, so I'm confident those won't be around much longer.
15:45 TimToady we might possibly want to have a way of translating offsets along with a string though, just not with special types like that
15:45 jnthn ShimmerFairy: Yes, the conversation linked from S15 between you and TimToady was useful; I'm glad you left that link in there.
15:46 jnthn TimToady: Yeah, I can see how that might be useful
15:46 * TimToady actually does feel like chopped liver this morning; finally caught the plague from my family, who's had it for a week and a half before me...
15:46 jnthn Urgh
15:46 jnthn Get Well Soon.
15:47 TimToady would like to blame my sniping at lizmat++ on this, but I'm sure it was just sheer cussedness :)
15:50 jnthn It would be helpful to figure out concretely where what's in S11 and what you'd like diverge, so we can work out some decent way forward.
15:50 TimToady besides, lizmat++ is correct that I've been sniping for a good while now, instead of doing the review that I shoulda done when she asked me to
15:51 ShimmerFairy jnthn: in general, I'm of the opinion that buffers and strings don't go together (that is, I don't like how closely Buf and Str are linked together currently), in the case of any questions involving the two :)
15:52 Ven joined #perl6
15:52 jnthn ShimmerFairy: I don't see them as too closely linked fwiw; you have to explicitly encode/decode, unless the encoding is known.
15:52 TimToady several times as they were growing up, my kids pointed out this "sniper" failure mode in me...I guess it's a form of laziness...
15:53 jnthn Well, sniping is one way to defer decision making... :P
15:53 jnthn I think most/all of us need to better understand what you mean by "identity"
15:53 ShimmerFairy yeah, my issue is more with how Buf is interfaced with in a string-like, rather than array-like, way (.subbuf instead of .[], for instance), and how they share the same kind of operators (the ~ "prefix" on various ops)
15:53 TimToady me too :)
15:55 jnthn ShimmerFairy: Well, the trouble is that .[...] always give you back a Parcel, and we want a Buf of the same kind, presumably...
15:55 jnthn ShimmerFairy: You can use .[...] just fine on a Buf/Blob already.
15:55 ShimmerFairy Wasn't there a time where Parcels were supposed to be kinda invisible, though? :P
15:55 jnthn ShimmerFairy: I ever fixed it so you can list-assign to a Buf.
15:55 jnthn *even
15:55 TimToady well, they *are* strings, just not of Unicode characters
15:56 ShimmerFairy last time I tried [] it didn't work, though that was probably just an old rakudo :)
15:56 jnthn m: my $b = Buf.new; $b[^5] = 5..10; say $b;
15:56 camelia rakudo-moar 4afc9e: OUTPUT«Buf:0x<>␤»
15:56 jnthn uh...
15:56 jnthn m: my $b = Buf.new; $b[^5] = 5..10; say $b[0];
15:56 camelia rakudo-moar 4afc9e: OUTPUT«0␤»
15:57 jnthn wat...
15:57 ShimmerFairy TimToady: I personally find referring to buffers as strings misleading, considering they don't necessarily hold text. You definitely _could_ call it a string, but I think it conflicts with most programmers' understanding of the word "string" :)
15:58 TimToady to me, strings != text
15:58 TimToady but maybe that's BASIC showing through
15:58 raiph joined #perl6
15:59 ShimmerFairy I heavily associate the word "string" with "that data type you use for text", so that's why I don't like referring to buffers as such.
15:59 TimToady well, and that's why it's subbuf, not substr :)
16:00 ShimmerFairy As long as I can treat my Bufs as the arrays I see them as, I don't care what other methods are on them :)
16:00 TimToady and a buf is only Stringy in the sense that you *can* view it as a sort of string if you want
16:01 timotimo jnthn: seems to be limited to ranges being wrong; with an explicit list that works
16:01 timotimo m: my $b = Buf.new; $b[0,1,2,3,4] = 5..10; say $b;
16:01 camelia rakudo-moar 4afc9e: OUTPUT«Buf:0x<05 06 07 08 09>␤»
16:01 joss joined #perl6
16:01 jnthn timotimo: ah, interesting...
16:01 ShimmerFairy My other issue is that buffers and strings share the same ~ for their ops, like ~& and such, and at least now just about all of those in S03 mention a Str->Buf conversion being a design flaw (IIRC). I can't think of a suitable symbol for buffers though.
16:02 jnthn ShimmerFairy: ~ is more about Stringy than Str
16:02 jnthn ShimmerFairy: Once you accept buf ~ buf gives a buf, then the others feel OK to me.
16:03 colomon What is buf ~ Str  ?
16:03 ShimmerFairy yeah, it's just the part where stuff like ~& will implicitly convert a str to a buf that feels wrong to me (as the "design flaw" comments in S03 would concur :) )
16:03 * colomon would be happy if it was illegal….
16:04 jnthn colomon: I think buf ~ Str fails unless your buf is actually a utf8
16:04 RabidGravy joined #perl6
16:04 jnthn ShimmerFairy: It won't implicitly convert a Str to a Buf afaik
16:04 ShimmerFairy yeah, lemme check S03 to be sure :)
16:05 TimToady this also relates to the issue of ord/ords in NFG; when do we prohibit the user from thinking about characters as numbers?
16:05 timotimo http://news.perlfoundation.org/2015/04/wenzperl-donate-10000-eur-to-n.html - oh, this seems nice :)
16:05 TimToady especially if they are synthetic
16:05 jnthn timotimo: Indeed :)
16:05 ShimmerFairy for ~& : "Coerces NFG strings to non-variable-encoding string buffer type (such as buf8, buf16, or buf32) and then does numeric bitwise AND on corresponding integers of the two buffers" ... "The use of coercion probably indicates a design error, however."
16:06 tinyblak_ joined #perl6
16:07 TimToady (Liz & Wendy)++
16:08 jnthn TimToady: One data point: if we reveal the synthetics and given I'm going for a global synthetics table, then people will be able to write code comparing them, and then we'll be in trouble if we want to have an implementation using a per-string NFG table in the future.
16:08 jnthn TimToady: The negatives would be meaningless in a per-string NFG table
16:08 TimToady we should also think about DoS attacks on a global table
16:09 TimToady especially if we can't GC it
16:09 jnthn Local ones could be vulnerable too, depending how many strings you can cause to be around in memory.
16:10 TimToady but you know which string to blame in that case
16:10 zakharyas joined #perl6
16:10 * TimToady guesses we'll end up with a hybrid
16:10 ShimmerFairy I wrote in S15 that .ord would return negative numbers for NFG synthetics, but by no means would I insist on it.
16:11 TimToady some set of global codes that capture the local orthography, if any, and the overflow into locals
16:11 jnthn If we want to allow ourselves the freedom to do some locals scheme of any kind, we probably need to not expose the synthetics.
16:11 TimToady and we should just define our semantics from the getgo to discourage people from relying on the synthetic codes that way
16:12 TimToady and always send them to the NFD for such purposes
16:12 TimToady well, or just post a huge HERE BE MONKEYS warning
16:12 jnthn We could only support .ords on Uni and its descendents, yes
16:12 tinyblak joined #perl6
16:13 jnthn .ord is not a problem in that you can always hand back the base char if the first thing is a synthetic.
16:13 ShimmerFairy In general, I'd suggest kicking things down to NFC where NFG is inappropriate (which includes printing characters to a terminal or file, fwiw)
16:13 TimToady well, .ords could essentially do the same thing, but it would be ambiguous whether they were wanting NFC or NFD in either case
16:13 jnthn We could kill off ords
16:14 TimToady so maybe we say we require explicit conversion for now
16:14 jnthn Since if Uni is an array-ish thing then we add .NFC and .NFD coercion methods and be done with it :)
16:14 jnthn And we also get to stop masak whining about us having a .ords method :P
16:14 * TimToady likes to hear masak whine...
16:15 jnthn Don't worry, there are plenty of other things. :P
16:16 masak did somebody say "kill off ords"? \o/
16:16 jnthn haha
16:16 jnthn masak: Yes by replacing it with 4 other methods :D
16:17 * ShimmerFairy tentatively suggests .ordses :P
16:17 timotimo what's a bagginses ordses?
16:17 TimToady .NFD-ordeses
16:17 masak I'm just gonna let the dust settle on this one, and then come back and see if there's anything left to whine about :P
16:19 Ven joined #perl6
16:20 * jnthn is hungry and thirsty and should fix this :)
16:21 jnthn TimToady: I guess you'll need a bunch more thinking time, but I take from this that I can probably quite safely go ahead with a Uni type and the various subclasses as array-like things, and dig into implementing the normalization bits.
16:22 TimToady what I've seen so far (about 2/3 of doc) seems sane
16:24 jnthn TimToady: OK, sounds good.
16:24 jnthn TimToady: Any thoughts on NFC vs. nfc for type names?
16:24 TimToady not entirely sure we want to include normalization as part of encode/decode; maybe a logically separate step that we can optimize
16:24 jnthn (given we picked utf8 for that kind of blob)
16:24 TimToady I still prefer the uppercase there, just 'cuz
16:25 jnthn OK, and Uni for the "worreva" type?
16:25 TimToady mostly because people are used to seeing NFC and such
16:25 jnthn *nod*
16:26 TimToady utf8 is trying to look 'native', I guess
16:26 TimToady but yeah, it's inconsistent...
16:26 telex joined #perl6
16:27 TimToady also, there's the p5 heritage of 'utf8' meaning something more than UTF-8, though perhaps we want a different type for "illegal" characters that p5 supports
16:28 TimToady utf8ish or so
16:29 TimToady Unicode-mandated semantics aside, it is fairly obvious how the format itself extends to any integers up to 32 bits, and p5 even supports a 64-bit form, urque
16:29 Ven joined #perl6
16:30 TimToady and UTF-8 is of course an illegal identifier...
16:30 jnthn True
16:30 TimToady one could argue that UTF8 is Unicode limited, and utf8 isn't, but maybe that's icky
16:31 TimToady one does need to be able to form illegal Unicode somehow for testing purposes
16:31 jnthn I think something called utf8 should be...
16:32 jnthn Sure, there's Buf for that
16:32 jnthn utf8 is a "we know it's utf8 'cus we just encoded it"
16:33 TimToady I think you also have to say that we don't trust incoming UTF-16, even when encoded to the Uni level
16:33 TimToady Uni should never see a bare surrogate
16:35 jnthn Oh, I was imagining Uni as basically native endian UTF-32 under the hood
16:35 jnthn So you've hve to .decode a bunch of UTF-16 to get a Uni
16:36 TimToady well, I'd call it UCS4, so we can talk about UCS2 and UCS1 as well :)
16:36 TimToady UCS1 being a string (or piece of rope) that contains only Latin-1
16:36 grondilu joined #perl6
16:37 jnthn Well, except you'll probably never see a Uni, but rather an NFC, NFD, etc.
16:37 grondilu m: say ([1], { @_; [@_, 0 Z- 0, @_] } ... *)[5]
16:37 camelia rakudo-moar 4afc9e: OUTPUT«1 1 1 1 1 -5␤»
16:37 TimToady afk a half hour or so &
16:37 grondilu m: say ([1], { [@_, 0 Z- 0, @_] } ... *)[5]
16:37 camelia rakudo-moar 4afc9e: OUTPUT«1 1 1 1 1 -5␤»
16:37 grondilu m: say ([1], -> @_ { [@_, 0 Z- 0, @_] } ... *)[5]
16:37 jnthn If we bring that axis into it also it gets tricky...
16:37 camelia rakudo-moar 4afc9e: OUTPUT«1 -5 10 -10 5 -1␤»
16:37 jnthn I'll take that as my cue to go for dinner :)
16:37 * jnthn bbiab
16:38 yvan1 joined #perl6
16:40 grondilu m: say ([1], { [@$_, 0 Z- 0, @$_] } ... *)[5]
16:40 camelia rakudo-moar 4afc9e: OUTPUT«1 -5 10 -10 5 -1␤»
17:00 ugexe so ive installed 'Encode', but everytime i try to install HTTP::UserAgent it fails with cannot find 'Encode::Windows1512' even though while isntalling encode it passed that specific test and also stated '
17:00 ugexe Compiling lib/Encode/Windows1252.pm6 to mbc
17:02 pmurias joined #perl6
17:02 dalek nqp/js: 0df1882 | (Pawel Murias)++ | src/vm/js/ (2 files):
17:02 dalek nqp/js: Pass test 78.
17:02 dalek nqp/js:
17:02 dalek nqp/js: Implement bos, eos regex anchors.
17:02 dalek nqp/js: review: https://github.com/perl6/nqp/commit/0df1882021
17:02 dalek nqp/js: fb42527 | (Pawel Murias)++ | t/nqp/62-subst.t:
17:02 dalek nqp/js: Fix typo in test description
17:02 dalek nqp/js: review: https://github.com/perl6/nqp/commit/fb425277e1
17:02 pmurias hi
17:03 Akagi201 joined #perl6
17:08 Ven joined #perl6
17:36 Psyche^ joined #perl6
17:42 timotimo o/
17:55 TimToady m: reduce { die }, 1,2,3
17:55 camelia rakudo-moar 4afc9e: OUTPUT«Too many positionals passed; expected 0 or 1 arguments but got 2␤  in block <unit> at /tmp/82eRUCl_oA:1␤␤»
17:55 TimToady that dies anyway without the die
17:55 TimToady m: reduce -> $a, $b { die }, 1,2,3
17:55 camelia rakudo-moar 4afc9e: OUTPUT«Died␤  in block <unit> at /tmp/ZuIw2wMuWb:1␤␤»
17:56 TimToady m: reduce -> $a, $b { die } 1,2,3
17:56 camelia rakudo-moar 4afc9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yzS02uzSd_␤Strange text after block (missing semicolon or comma?)␤at /tmp/yzS02uzSd_:1␤------> 3reduce -> $a, $b { die }7⏏5 1,2,3␤    expecting any of:␤        infix␤        infix stopper␤  …»
17:56 TimToady I guess I could add that to the list of functions that require a comma there, like map and grep
17:57 masak and sort
17:57 masak and classify
17:57 TimToady sort is already like map and grep :)
17:57 masak ok :)
17:58 eli-se Why does Perl 5 not require a comma there, actually? I always wondered. It seems so inconsistent.
17:58 tinyblak joined #perl6
17:58 eli-se Although it does make try { } catch { } looks good. :P
17:58 masak eli-se: the proximal reason I guess is that `map` and `grep` and `sort` were kind of special functions from the beginning.
17:58 TimToady because the extra block was shoehorned into the language as an indirect object, which in retrospect was suboptimal
17:59 eli-se I see.
17:59 masak eli-se: the distal reason is that prototypes allowed you to make functions behave like that, even user-defined ones.
17:59 TimToady except they were like that before prototypes ever existed
17:59 TimToady so aren't all that distal
18:00 eli-se Sometimes I feel like I'm the only one who programs without syntax highlighting.
18:01 Zoffix I do too
18:01 mst same.
18:01 eli-se OMG
18:01 Zoffix Kinda have to, since I can't find a working plugin for Sublime Text 2 that doesn't highlight Perl6 code one giant comment :)
18:01 mst I hate synhi full stop.
18:02 mst hence my dragging a patched ex-vi around with me
18:02 Zoffix I like it. Makes things less monotone
18:02 mst sure, it's a useful crutch for people who can't read code
18:02 Zoffix :D
18:02 eli-se I like syntax highlighting for diffs.
18:02 mst but once you can, it just gets in the way
18:06 dalek rakudo/nom: df5acd2 | TimToady++ | src/Perl6/Actions.nqp:
18:06 dalek rakudo/nom: add reduce, classify, categorize to commatraps
18:06 dalek rakudo/nom:
18:06 dalek rakudo/nom: also, lambdas can also begin with -> or <->
18:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df5acd2fee
18:08 timotimo do we have a way to provide the contents of a compunit to the VM given just a buffer?
18:08 timotimo for example if i were to implement a "load multiple compunits from a zip file" CUR without extracting it to disk in between?
18:09 timotimo or for preventing race conditions between sha1-verifying a file and loading it in the VM
18:10 masak mst: I don't expect (or need) to convince you, but I used to be in your camp wrt syntax highlighting.
18:10 moritz n+1-fach
18:10 dalek roast: 7bb87ca | TimToady++ | S29-context/die.t:
18:10 dalek roast: get reduce to die for the right reason
18:10 dalek roast: review: https://github.com/perl6/roast/commit/7bb87caf12
18:10 mst masak: my real problem, tbh, is granularity
18:10 Zoffix masak, and what changed?
18:11 masak Zoffix: I guess I saw good syntax highlighting.
18:11 mst when I mentally switch between considering method level, block level, expression level etc.
18:11 mst the synhi doesn't follow, and it induces cognitive dissonance
18:12 TimToady you have to be able to put it into your backbrane as a sort of "getting warmer, getting cooler" hint that your forebrane can ignore
18:13 TimToady or maybe turn up and down the chroma in your visual cortex :)
18:13 masak I agree that any kind of syntax highlighting that *gets things wrong* is an immediate turnoff. literally, as it will make me turn it off.
18:13 TimToady I guess that's backbrane :)
18:14 TimToady one has to be able to ignore the "wrongness" when typing anyway, since you don't generally type both quotes at the same time
18:14 masak there's also small kvetches I have with most systems which try to fade comments into the background. don't do that, comments should be visible, sometimes moreso than the code.
18:14 TimToady well, helps to be able to pick your own color scheme
18:15 masak the most exciting types of syntax highlighting that I've seen are the ones that don't take a single view of the source, but which introduce "filters" that allow you to highlight various aspects of the code.
18:15 mst I didn't mind elvis' perl mode which mostly just highlighted things like parens and braces
18:15 FROGGS timotimo: yes
18:15 mst masak: right, I would be curious to try one of those
18:16 TimToady I did mind it when the highlighter tried to decide which words were keywords and which not, since those concepts are intentionally mushy
18:16 mst but honestly over the years I've been making my setup less featureful, not more
18:16 masak another cool feature that I would like in my editor is the ability to conceptually inline -- transclude -- a routine into another. kind of an inline-but-only-for-show operation.
18:16 mst TimToady: yeah, my only response to that is *inarticulate rage noises* followed by disabling it
18:17 FROGGS timotimo: ahh, it is probably still in a fork :/
18:17 masak my main kvetch with vim's Perl 6 highlighter these days is that it's slow. though it's possible I'm not on the latest version.
18:17 masak sometimes I turn it off because it lags when I type.
18:17 TimToady gee, maybe we could build a whole network based on the concept of transclusion...
18:18 masak TimToady: that will never work
18:18 * TimToady decrees a stately pleasure dome
18:18 masak more precisely, it will invariably be outcompeted by a network of breakable links :)
18:18 masak breakable one-way links, even
18:19 TimToady citation needed?  :)
18:19 mst TimToady: I still can't work out why you'd want a pleasure dome to be *stately*
18:19 masak I could give you a citation, but the link would 404... :)
18:20 TimToady maybe your link went through caverns measureless to man
18:20 virtualsue joined #perl6
18:21 masak more like three totally useless URL shortening services
18:21 * TimToady reminds himself not to write poetry while on cough medicine
18:22 * masak .oO( don't sneeze and muse )
18:23 timotimo masak: the vim highlighter recently got profiled and optimized
18:23 masak yeah. literal++
18:23 masak I realized while I wrote tha above that I'm probably not on latest.
18:23 timotimo yup, literal++ once again :)
18:24 timotimo don't forget you'll get a better experience with 7.4
18:24 masak I'm on 7.4.52 here
18:24 timotimo excellent
18:25 timotimo but that alone doesn't improve the highlighter; also need to get vim-perl from github, i'd expect
18:25 masak this one, right? https://github.com/vim-perl/vim-perl/blob/master/syntax/perl6.vim
18:25 timotimo i think so
18:26 masak oh, there's both ftplugin/ and indent/ and syntax/, all with their own perl6.vim
18:27 * TimToady has been thinking about the problem of "0" being true/false if it's an IntStr
18:27 TimToady m: multi foo (Int() $i) { say "Int $i" }; multi foo (Str $s) { say "Str $s" }; foo "42"
18:27 camelia rakudo-moar df5acd: OUTPUT«Str 42␤»
18:27 TimToady m: multi foo (Int(Str) $i) { say "Int $i" }; multi foo (Str $s) { say "Str $s" }; foo "42"
18:27 camelia rakudo-moar df5acd: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(Str $i)␤:(Str $s)␤  in sub foo at /tmp/ClKOnFl4lg:1␤  in block <unit> at /tmp/ClKOnFl4lg:1␤␤»
18:28 TimToady arguably, the first should win because of the extra "constraint" of needing to be coercable to Int
18:28 TimToady m: multi foo (Int(Str) $i) { say "Int $i" }; multi foo ($s) { say "Str $s" }; foo "42"
18:28 camelia rakudo-moar df5acd: OUTPUT«Int 42␤»
18:28 TimToady m: multi foo (Int() $i) { say "Int $i" }; multi foo ($s) { say "Str $s" }; foo "42"
18:28 camelia rakudo-moar df5acd: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(Any $i)␤:(Any $s)␤  in sub foo at /tmp/7Ys71JMPrA:1␤  in block <unit> at /tmp/7Ys71JMPrA:1␤␤»
18:28 TimToady likewise there
18:29 TimToady if that worked, we might be able to do away with the concept of IntStr etc
18:29 masak new highligher feels much more snappy. nice!
18:29 masak literal++
18:30 masak TimToady: agree about the narrowness.
18:30 TimToady and if there were no IntStr, I wouldn't mind making "0" true
18:30 masak \o/
18:30 masak that's excellent news
18:31 TimToady well, I said much the same a couple weeks ago, but nobody noticed...
18:31 masak hehe
18:31 tony-o thanks for the vim-perl6 whoever made that ^^
18:31 masak tony-o: it was literal++
18:31 tony-o literal: ++
18:31 masak I think he might have inherited it from luqui or someone though.
18:34 TimToady alester++ and hoelzro++ I think
18:35 masak oh yes, I saw hoelzro++ had made a recent commit.
18:35 masak and now you mention it, I remember alester++ being in charge of that repo for a while.
18:36 tony-o alester++ hoelzro++ - much thanks
18:40 TimToady jnthn: is it possible to treat Int() as an unconstrained type if you pass an Int, but as a constrained (albeit less exact) type if something looser is passed?
18:41 * TimToady once had an idea about installing more than one candidate in the list to do something like that
18:41 TimToady though one should be aware of combinatorics if the args are considered independent in that regard
18:42 hobbs joined #perl6
18:42 TimToady and would an approach where we assume one candidate is exact, and another candidate has all the contraints, work, since that's essentially what we do now by hand with our Any,Any candidates
18:43 TimToady we don't generally bother to write the Any,Int or Int,Any candidates
18:44 TimToady so this would essentially just be automating what we already do by hand, and might let us get rid of IntStr and friends
18:44 TimToady if we can just write sub MAIN (Int() $i, Rat(), $r) and such
18:45 TimToady er, s:2nd/,//
18:45 masak I thinkg RT #124242 is a dupe of RT #122286
18:45 masak think*
18:45 masak also, I could've sword we had a ticket older than 9 months for this.
18:47 raiph joined #perl6
18:50 dalek nqp: 7533c6b | FROGGS++ | / (13 files):
18:50 dalek nqp: take care of NativeRefs in nativecall op
18:50 dalek nqp:
18:50 dalek nqp: If we would just decont as we did before, we'd strip the NativeRef container
18:50 dalek nqp: we need to be able to do assignments. This also needs a stage0 update, so
18:50 dalek nqp: we can use nqp::isont_[ins] here.
18:50 dalek nqp: review: https://github.com/perl6/nqp/commit/7533c6bd87
18:51 tadzik perl 6 core development fund! \o/
18:51 tony-o https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit.pm#L110
18:51 tony-o FROGGS: ping
18:51 tadzik it's like christmas morning
18:51 FROGGS tony-o: pong
18:51 FROGGS tadzik: what did I miss?
18:51 tony-o do you know about that .precomp function?  it doesn't look like it uses :INC anywhere in that method..
18:51 tadzik FROGGS: http://news.perlfoundation.org/2015/04/wenzperl-donate-10000-eur-to-n.html
18:52 tadzik wenzperl++
18:52 FROGGS tony-o: it was implemented to aid testing precomp bugs in roast...
18:52 tony-o should it be iterating somewhere to send -I flags further down in the 'shell' ?
18:52 FROGGS tony-o: so it might only work for that purpose atm, which means that little patches might be needed to make it useful
18:53 tony-o FROGGS: i'll play around with it
18:53 FROGGS tony-o++
18:53 tony-o thank you for the info ^
18:54 FROGGS tony-o: feel free to ping me when you come to a conclusion
18:55 tony-o FROGGS: roger
18:55 FROGGS WenZPerl++ # \o/
18:55 FROGGS that is sooooo awesome!
18:55 tony-o what does a company like wenzperl get out of donating to the p6 cause?
18:56 tony-o aside from continuing progress on a language they want to see come to fruition
18:56 FROGGS tony-o: I guess it is also about 'giving something back' to the community
18:56 ugexe :INC was to get around setting PERL6LIB or whatever that hacky thing panda had to do
18:57 ugexe https://github.com/rakudo/rakudo/blob/2cd96450af5ee9836b449882ab080fe3b9ca7d49/src/core/CompUnit.pm#L119
18:57 pmurias mst: just having things multicolored is useful to me as it helps tokenizing code
18:57 tony-o ugexe: yea but the point is that :INC isn't affecting the shell command at all
18:57 FROGGS like, you've built a company using Perl that lets you earn money, you can pay the community back by supporting it :o)
18:58 tadzik oh, it's the syntax hilighting discussion
18:58 tadzik I'm in mst's camp, and it's his fault :P
18:58 ugexe i dont think :INC works if you pass a -I
18:59 FROGGS tony-o: look at line 119
18:59 tony-o it doesn't work at all if you pass CompUnit.new(:INC(<somedir>)) - that somedir doesn't actually end up being visible to the precomp
19:00 tadzik I'd like to have hilighting of something I can't figure out (easily) on my own, so not syntax but profiling data or test coverage
19:00 FROGGS tony-o: shell() uses %*ENV
19:00 tadzik green for good, red for bad etc
19:00 tony-o FROGGS: yea i can't get that part to work :-), whatever i pass to :INC doesn't pass through into the shell()
19:01 moritz what do we call the 'key => "value"' form of pair literals? "fat comma pairs"?
19:02 moritz or arrow pairs?
19:02 tony-o FROGGS: i'll upload a quick example of my predicament
19:03 vendethiel joined #perl6
19:03 ugexe shell should be reading ENV<RAKUDO_PRECOMP_WITH> which would be set by :INC
19:04 FROGGS and Inc.pm will put thing from %*ENV<RAKUDO_PRECOMP_WITH> to @*INC of the spawned process
19:04 FROGGS moritz: fat arrow pairs?
19:05 tony-o FROGGS: ugexe here is a self contained example https://github.com/tony-o/CU-error-example
19:05 FROGGS moritz: fat comma might be very surprising for non-P5er
19:05 moritz FROGGS: agreed
19:05 moritz the design docs say both "arrow pair" and "fatarrow pair"
19:06 moritz and they also use both "colon pair" and "colonpair"
19:06 FROGGS tony-o: try :INC<file:lib>
19:06 jnthn mmm...that was some nice dinner :)
19:06 FROGGS :o)
19:06 ugexe you are supposed to pass an array or a scalar i believe, not a hash
19:07 FROGGS moritz: my English is not good enough to judge here :o)
19:07 tony-o passing it as an array or scalar errors with the same message, file:lib in both array or scalar or as FROGGS mentioned all fail with the same message
19:07 jnthn TimToady: Well, the property we really need to retain for optimizability is that we can statically sort candidate lists.
19:08 FROGGS jnthn: unsigned 'is rw's do not work... they'll end up signed :/
19:08 brrt joined #perl6
19:08 tony-o none of the 'includes' in the error output include the path passed ^
19:08 FROGGS jnthn: I'll push my rakudo changes to a branch in a bit, and will then test on the jvm
19:08 jnthn FROGGS: Do not work where exactly?
19:08 ugexe because they get deleted from @*INC
19:08 ugexe https://github.com/rakudo/rakudo/blob/2cd96450af5ee9836b449882ab080fe3b9ca7d49/src/core/CompUnit.pm#L123
19:08 brrt \o
19:09 FROGGS jnthn: in nativecall tests I added
19:09 jnthn Well, that's a troubling sign...
19:10 FROGGS but let's not think negative about that
19:10 dalek rakudo/nom: 1c1e9a3 | FROGGS++ | lib/NativeCall.pm:
19:10 dalek rakudo/nom: handle/add longlong and ulonglong in NativeCall
19:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c1e9a3cba
19:10 tony-o ugexe: that's not why they're not printed, the error comes from the shell command
19:11 jnthn FROGGS: Ah, is it restricted to "is rw"?
19:11 jnthn FROGGS: I know we're going to have problems with 64-bit unsinged int for now
19:11 ugexe well you are hard coding the entire path of the module, including lib, and then passing 'lib' into :INC
19:12 dalek rakudo/param-is-rw-tests: 81e1822 | FROGGS++ | t/04-nativecall/15-rw-args. (2 files):
19:12 dalek rakudo/param-is-rw-tests: add tests for 'is rw' parms in native calls
19:12 dalek rakudo/param-is-rw-tests: review: https://github.com/rakudo/rakudo/commit/81e182273d
19:12 TimToady jnthn: in that case, we'd be the same as now, because we have an Int,Int candidate, and an Any,Any candidate; the only difference would be that with Int(),Int() we'd have something that is considered to have coercion constraints on the Anys, so it would sort slightly tighter than an explicit Any,Any
19:12 ugexe remove lib/ from the first argument and you wont get an error
19:12 FROGGS jnthn: that's the test output: https://gist.github.com/FROGGS/dfd3880da345f37348c9
19:12 TimToady so you'd only get the explicit Any,Any case if you couldn't coerce both args to Int
19:13 FROGGS jnthn: only char is tested with a high enough number to trigger that problem
19:13 tony-o ugexe: i also don't get a compiled unit
19:13 tony-o ugexe: the CU just returns Nil
19:13 FROGGS jnthn: but yeah, I've seen that longlong will be a problem
19:14 jnthn TimToady: I wonder if we can do it by duplicating the candidate during the sort.
19:14 jnthn TimToady: So it shows up in two places
19:14 TimToady that's my thought
19:14 jnthn TimToady: Of course it's gonna be visible if you do .candidates on the proto
19:14 jnthn But I guess we can live with that.
19:14 jnthn Oh
19:14 jnthn It doesn' thave to be
19:15 jnthn 'cus .candidates ain't in sort order iirc
19:15 ugexe you just have to look at the zef source. the modules it builds that end up in /lib are build using that technique. the ones in blib use the command line and -I
19:15 jnthn It's the input list to sort
19:15 ugexe for instance, you arent supplying an output file
19:15 ugexe im sure there are some other things missing that ive forgotten since i last worked on that
19:15 jnthn TimToady: Anyway, I think in principle it's possible
19:15 tony-o it doesn't do anything for the default
19:15 ugexe it does for me
19:15 tony-o just run the build in the repo, the thing doesn't work
19:16 jnthn TimToady: Since the stuff the multi-dispatcher works with is a projection of the candidates, not the candidates themselves.
19:16 ugexe it outputs compiled files though
19:16 ugexe and it doesnt give an errors about not finding what its missing
19:16 tony-o gist
19:16 ugexe im just using bin/zef test
19:16 jnthn TimToady: Is there a combinatorial issue though?
19:16 TimToady not if we treat all the args the same in parallel, as I said
19:16 tony-o in zef's directory?
19:17 ugexe :INC might need to carry over between builds or something
19:17 tony-o do it in the repo
19:17 ugexe which is why it might not work
19:17 jnthn I wonder if that creates oddness :)
19:17 tony-o that i made to show why it isn't working
19:17 TimToady as I said, we don't do that now with our explicit solutoin
19:17 TimToady and it seems to work out
19:17 jnthn Point.
19:17 tony-o it just isn't passing anything you give it except for what exists in @*INC
19:17 ugexe well your example was wrong
19:17 tony-o my example is 100% correct
19:17 jnthn I shoulda full backlogged before answering the first bit of the backlog :P
19:18 ugexe lib/p.pm6 was not the correct first argument for example
19:18 tony-o make the example work without doing perl6 -Ilib
19:19 jnthn TimToady: Would you prefer it prototyped in a branch to play with, or put straight in if it works out not to break anything?
19:19 TimToady I think we mostly agree that replying to backlog during stream of backlogging is better than not replying at all because you forgot
19:20 dalek doc: 0e60c9a | moritz++ | lib/Language/syntax.pod:
19:20 dalek doc: Pair and Blob literals
19:20 dalek doc: review: https://github.com/perl6/doc/commit/0e60c9a56f
19:20 TimToady jnthn: I'd go for all the marbles, but I'm a gamblin' man
19:20 TimToady feel free to branch if it you think it'd be more expeditious
19:21 TimToady as in, if you feel you'd want to interleave work on that with other things.
19:23 FROGGS Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/nqpmo.nqp'
19:23 FROGGS :o(
19:23 jnthn TimToady: In theory, it'll be a small patch
19:24 TimToady I'm also fine with it going in immediately, if it passes roast
19:24 jnthn I was gonna hack on NF* stuff more, but guess I'll do this instead, since I can probably do it before sleep time :)
19:24 * jnthn makes a cuppa first :)
19:31 FROGGS ahh, I had to delete it from share/nqp/lib
19:32 tony-o FROGGS: what would be a good test to make sure i didn't break anything else after i have something i think might be ok
19:32 raiph joined #perl6
19:32 FROGGS tony-o: run the spectest
19:32 tony-o roger
19:33 raydiak tony-o: :INC should be passed to .precomp, not .new
19:34 tony-o raydiak: thank you
19:34 raydiak yw :)
19:35 tony-o raydiak: still doesn't add that lib to the searched paths :-) but i'll fix my example ^^
19:36 raydiak tony-o: changes the behavior of your example when I tried it here, gives a different error
19:36 raydiak now I get "No such method 'short-id' for invocant of type 'Str'"
19:36 tony-o hmm, i get the same 'could not find p in any of ...'
19:37 jnthn TimToady: Just to check: https://gist.github.com/jnthn/67a5c42a0ce9a1ba2424 should all pass once I get this right?
19:39 jnthn (Set chosen 'cus Set !~~ Cool)
19:48 colomon Sets aren’t Cool?  Huh.
19:48 jnthn uh-oh :)
19:49 jnthn Looks like I'd better define my own not-Cool type with an Int coercion :)
19:49 colomon They might not be, but I don’t remember them not being.  If you know what I mean.
19:49 jnthn Well, Array and Hash *are*
19:49 jnthn So it's certainly a question worth asking. :)
19:50 colomon Oh, ++TimToady?
19:51 jnthn Anyway, thanks for the poke, I'll make my test robuts against such a change :)
19:51 colomon Actually, I’m also a bit surprised by your example, even leaving out the Set question
19:52 colomon Looking at that, my presumption would be Int() takes Any and gives you Int, therefore I would expect Cool to be a better match for an actual Int input.
19:52 espadrine_ joined #perl6
19:52 masak m: say Set ~~ Cool
19:52 camelia rakudo-moar 1c1e9a: OUTPUT«False␤»
19:53 masak Set isn't Cool, nor does it have any claim to be.
19:53 colomon understanding that I haven’t been following the latest in coercion syntax.
19:53 masak the original purpose of Cool was to emulate the interconversion behavior from Perl 5 between numbers and strings.
19:53 tony-o raydiak++
19:55 jnthn colomon: Yes, that's the current behavior; TimToady just above was asking if we can have it behave as if there were two candidates, an exact match and a coercive one.
19:55 colomon jnthn: ah
19:57 dalek specs: 5c8213f | (Lucas Buchala)++ | S03-operators.pod:
19:57 dalek specs: Use unicode notation; \x escape is defined elsewhere
19:57 dalek specs: review: https://github.com/perl6/specs/commit/5c8213fc5c
19:57 dalek specs: 8e1c6ee | (Lucas Buchala)++ | S02-bits.pod:
19:57 dalek specs: Wrap unicode chars in C<>
19:57 dalek specs: review: https://github.com/perl6/specs/commit/8e1c6ee129
19:57 dalek specs: 5da63dc | (Lucas Buchala)++ | S (6 files):
19:57 dalek specs: Small POD and typographical fixes
19:57 dalek specs: review: https://github.com/perl6/specs/commit/5da63dc8da
19:57 dalek specs: df6c1b4 | (Lucas Buchala)++ | S19-commandline.pod:
19:57 dalek specs: Update URLs mentioned in S19
19:57 dalek specs: review: https://github.com/perl6/specs/commit/df6c1b440a
19:57 dalek specs: 43579ec | (Lucas Buchala)++ | S03-operators.pod:
19:57 dalek specs: Update comment about that Fido dog
19:57 dalek specs: review: https://github.com/perl6/specs/commit/43579ecc3e
19:57 dalek specs: c040f33 | (Zoffix Znet)++ | S (6 files):
19:57 dalek specs: Merge pull request #92 from lucasbuchala/random-changes1
19:57 dalek specs:
19:57 dalek specs: Miscellaneous changes
19:57 dalek specs: review: https://github.com/perl6/specs/commit/c040f335cc
19:58 dalek nqp: 52b8347 | FROGGS++ | tools/build/Makefile-JVM.in:
19:58 dalek nqp: fix install location of {ModuleLoader,nqpmo}.jar
19:58 dalek nqp: review: https://github.com/perl6/nqp/commit/52b83479cd
19:59 dalek rakudo/nom: 1ccb19d | FROGGS++ | tools/build/NQP_REVISION:
19:59 dalek rakudo/nom: bump nqp rev for jvm build fix
19:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1ccb19d6a5
20:00 tinyblak joined #perl6
20:06 jnthn TimToady: Darn, seems we do get some spectest fails
20:09 jnthn Oh, rather dodgy candidate set though
20:12 baest_ joined #perl6
20:12 jnthn TimToady: Ah, the other thing we run into is that if there *was* a hand-coded Str and also a Str() then we now end up with amgibuity
20:13 masak yeah, that doesn't sound right.
20:14 jnthn Well, I suspect ecosystem impact will be small in so far as we ain't had coercion types in for long.
20:15 masak indeed.
20:16 jnthn Not to mention so far I only ran across one case of it in CORE.setting - and the body of both candidates was copy-paste.
20:16 jnthn Which is kinda telling... :)
20:16 jnthn We can let spesh write our micro-optimized duplicate code for us. :)
20:18 masak :)
20:33 dalek rakudo/coerce-multi-tweak: 0611b09 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
20:33 dalek rakudo/coerce-multi-tweak: Change semantics of coercion types in multis.
20:33 dalek rakudo/coerce-multi-tweak:
20:33 dalek rakudo/coerce-multi-tweak: Before, a "sub foo(Int() $x) { }" would act as a candidate taking Any
20:33 dalek rakudo/coerce-multi-tweak: for the purposes of the multi-dispatch candidate sort. Now, it gets
20:33 dalek rakudo/coerce-multi-tweak: two entries in the list that we sort: one Any, as before, and an extra
20:33 dalek rakudo/coerce-multi-tweak: one with Int.
20:33 dalek rakudo/coerce-multi-tweak: review: https://github.com/rakudo/rakudo/commit/0611b099cf
20:33 dalek rakudo/coerce-multi-tweak: 40f8883 | jnthn++ | src/core/List.pm:
20:33 dalek rakudo/coerce-multi-tweak: Fix dodgy xx candidate set.
20:33 dalek rakudo/coerce-multi-tweak:
20:33 dalek rakudo/coerce-multi-tweak: We had a Real() candidate that accepted a thunked required named arg,
20:33 dalek rakudo/coerce-multi-tweak: and an Int() one that did not. Make them both Int(). This is likely
20:33 dalek rakudo/coerce-multi-tweak: how they should have been in the first place, and fixes a regression
20:33 dalek rakudo/coerce-multi-tweak: introduced by the multi-dispatch coercion semantics changes.
20:33 dalek rakudo/coerce-multi-tweak: review: https://github.com/rakudo/rakudo/commit/40f8883423
20:34 dalek rakudo/coerce-multi-tweak: 93e0f3c | jnthn++ | src/core/Hash.pm:
20:34 dalek rakudo/coerce-multi-tweak: Remove DELETE-KEY Str candidate; let Str() do it.
20:34 dalek rakudo/coerce-multi-tweak:
20:34 dalek rakudo/coerce-multi-tweak: With the new multi-dispatch semantics around coercion types, this led
20:34 dalek rakudo/coerce-multi-tweak: to an ambiguous dispatch error.
20:34 dalek rakudo/coerce-multi-tweak: review: https://github.com/rakudo/rakudo/commit/93e0f3c930
20:34 jnthn TimToady: So, I patched it into the multi-dispatcher. It wasn't particularly hard (which is good). I had to change two things in CORE.setting to keep things happy. Both of the changes I made felt like improvements, though.
20:35 jnthn TimToady: With those 3, spectest looks good. Let me know what you think. :)
20:35 morgan_ joined #perl6
20:35 jnthn (Feedback from others welcome too, of course.)
20:35 masak just looking at the commit messages and your descriptiong of it, I have a good feeling.
20:36 masak m: multi x() { say "tighter" }; multi x(*@a) { say "looser" }; x(); x(1, 2, 3)
20:36 camelia rakudo-moar 1ccb19: OUTPUT«tighter␤looser␤»
20:36 masak is ^^ somewhere in the spec?
20:36 jnthn I'm not sure, off hand.
20:36 jnthn I think so though
20:36 masak I remember us adding it to Rakudo back in, um, 2009 or something.
20:37 jnthn The whole arity and slurpy thing still has at least one open RT, iirc
20:37 jnthn Or maybe it's about optionals.
20:37 jnthn I'm pretty sure at one point we had RTs that were asking for two conflicting things inn this area; I forget the details.
20:37 jnthn But the rules have already kinda reached a point where I can only just remember them, which is probably a sign they're already involved enough :)
20:38 masak to be honest my internal simulation of you had you sighing and complaining about added complexity at TimToady's suggestion... :)
20:39 jnthn Well, when I first saw it I worried because I fear it was going to encroach on an important invariant.
20:40 jnthn *feared
20:40 jnthn But once I realized it could be done with a second entry in the candidate sort DAG, it felt not so bad.
20:40 H2O1 joined #perl6
20:40 masak yeah, the design seems to nicely allow this one.
20:40 jnthn And then the patch in the end was smaller than I'd expected.
20:41 H2O1 left #perl6
20:41 jnthn Yeah...sometimes denormalization wins. :)
20:41 masak hehe
20:41 jnthn Seems actually we don't have any really crazy rules around optionals at the moment. :)
20:42 jnthn In fact, the only thing they really do is help us decide how many types to involve in narrowness analysis.
20:44 dalek rakudo/nom: 07bf03b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
20:44 dalek rakudo/nom: Fix comment typo.
20:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/07bf03ba9c
20:51 kurahaupo1 joined #perl6
20:55 * TimToady returns from trying (and failing) to fix the church's video projector; fortunately we have a backup
20:57 * TimToady will have to play with the new bits, and see how they play now with MAIN and such
20:59 TimToady so, I take it that's still in a branch?
20:59 masak coerce-multi-tweak
21:07 jnthn What masak said
21:08 jnthn I can put it in nom, if you're OK with the two changes I had to do in CORE.setting for it to work out
21:08 jnthn Though I'm going to sleep in a few minutes. Or attempting to, at least. :)
21:09 jnthn m: say uniname(0x16AD0)
21:09 camelia rakudo-moar 1ccb19: OUTPUT«BASSA VAH LETTER ENNI␤»
21:09 jnthn We has le Unicode 7 :)
21:10 TimToady I'm fine with putting it in
21:10 * masak .oO( we got Unicode 7, and all we felt was a certain enni ) :P
21:10 jnthn One of the BASSA chars looks like an overweight snowman...
21:11 masak now all we need is a skinny comet
21:11 * jnthn rebases and puts it in
21:12 dalek rakudo/nom: 8f5865b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
21:12 dalek rakudo/nom: Change semantics of coercion types in multis.
21:12 dalek rakudo/nom:
21:12 dalek rakudo/nom: Before, a "sub foo(Int() $x) { }" would act as a candidate taking Any
21:12 dalek rakudo/nom: for the purposes of the multi-dispatch candidate sort. Now, it gets
21:12 dalek rakudo/nom: two entries in the list that we sort: one Any, as before, and an extra
21:12 dalek rakudo/nom: one with Int.
21:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f5865bd57
21:12 dalek rakudo/nom: ef3ef50 | jnthn++ | src/core/List.pm:
21:12 dalek rakudo/nom: Fix dodgy xx candidate set.
21:12 dalek rakudo/nom:
21:12 dalek rakudo/nom: We had a Real() candidate that accepted a thunked required named arg,
21:12 dalek rakudo/nom: and an Int() one that did not. Make them both Int(). This is likely
21:12 dalek rakudo/nom: how they should have been in the first place, and fixes a regression
21:12 dalek rakudo/nom: introduced by the multi-dispatch coercion semantics changes.
21:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ef3ef503cd
21:12 dalek rakudo/nom: 6e7735d | jnthn++ | src/core/Hash.pm:
21:12 dalek rakudo/nom: Remove DELETE-KEY Str candidate; let Str() do it.
21:12 dalek rakudo/nom:
21:12 dalek rakudo/nom: With the new multi-dispatch semantics around coercion types, this led
21:12 dalek rakudo/nom: to an ambiguous dispatch error.
21:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6e7735d7b2
21:13 * colomon launches a new smoke run with that
21:13 jack_rabbit joined #perl6
21:15 dalek roast: 0f4a710 | jnthn++ | S06-multi/type-based.t:
21:15 dalek roast: Basic test for new multi/coercion semantics.
21:15 dalek roast: review: https://github.com/perl6/roast/commit/0f4a710762
21:15 jnthn colomon++
21:16 jnthn I hope the relative youth of coercion types will make impact be nothing to minimal.
21:16 jnthn otoh, today I taught NativeCall about unsigned types that that made the ecosystem already, so... :)
21:17 jnthn Anyway, time to get some rest. :)
21:17 colomon o/
21:17 TimToady 'night
21:17 jnthn 'night o/
21:18 masak 'night, jnthn
21:19 * TimToady starts his own test runs and his own snooze &
21:53 raiph joined #perl6
21:54 lichtkind joined #perl6
21:54 lichtkind how do i remove the filename part from $?FILE.IO.abspath ?
21:57 raydiak $?FILE.IO.parent.abspath
22:00 grondilu Stage mast       : Segmentation fault
22:00 grondilu linux, 32bits, MoarVM
22:00 lichtkind grondilu++ that works thanks
22:02 raydiak yw :)
22:02 grondilu not sure what you refer to with "that works"
22:02 lichtkind sorry
22:02 lichtkind i meant raydiak++
22:02 lichtkind and dont worry i dont -- you :)
22:03 grondilu so I have no more perl6 on my machine :(  what shall I do?  :)
22:04 lichtkind install from git :)
22:04 grondilu by the way it's quite not normal that a fail build breaks my install
22:04 lichtkind go with freshest and help the guys here with testing
22:04 raydiak grondilu: yeah that is weird...rakudobrew?
22:05 grondilu no
22:05 grondilu now when I try to run perl6 I get:
22:05 grondilu Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' (from 'src/gen/m-main.nqp'
22:05 raydiak oh cd out of the build dir
22:05 grondilu still
22:06 raydiak weird/sad :P
22:06 * grondilu runs which perl6 to make sure his path is ok
22:06 * grondilu gets /usr/local/bin/perl6 as expected
22:07 raydiak that's the same error I get when I try to run the perl6 in my path from a (different) rakudo's directory
22:15 ggoebel joined #perl6
22:26 jack_rabbit joined #perl6
22:39 grondilu plus, why would perl6 ever need some nqp code?
22:54 raiph grondilu: http://irclog.perlgeek.de/perl6/2015-04-04#i_10390072 ?

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

Perl 6 | Reference Documentation | Rakudo