Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-10-06

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:10 camelia joined #perl6
00:17 dalek doc: fbacd28 | Mouq++ | / (2 files):
00:17 dalek doc: Add html/syntax for misc definitions
00:17 dalek doc: review: https://github.com/perl6/doc/commit/fbacd28480
00:28 Hor|zon joined #perl6
00:37 njmurphy joined #perl6
01:02 camelia joined #perl6
01:08 dalek doc: c473a1b | Mouq++ | / (5 files):
01:08 dalek doc: Basic support for definitions via X<>
01:08 dalek doc: review: https://github.com/perl6/doc/commit/c473a1b0ea
01:13 Mso150 joined #perl6
01:23 raiph joined #perl6
01:25 fhelmberger joined #perl6
01:30 BenGoldberg joined #perl6
01:37 davido__ joined #perl6
01:41 tinyblak joined #perl6
01:46 FROGGS_ joined #perl6
01:52 yeahnoob joined #perl6
01:53 camelia joined #perl6
02:03 dj_goku joined #perl6
02:03 dj_goku joined #perl6
02:05 rurban joined #perl6
02:05 rurban parrot will rename ops2c to parrot-ops2c in the next release. see https://github.com/parrot/parrot/issues/900
02:16 dj_goku joined #perl6
02:16 dj_goku joined #perl6
02:29 Hor|zon joined #perl6
02:38 dalek doc: ba47ea5 | Mouq++ | htmlify.p6:
02:38 dalek doc: Restructure find-definition to allow for multiple definitions
02:38 dalek doc: review: https://github.com/perl6/doc/commit/ba47ea51b0
02:44 dalek nqp: 6ab57d7 | rurban++ | tools/ (2 files):
02:44 dalek nqp: prepare for new parrot-ops2c
02:44 dalek nqp:
02:44 dalek nqp: with fallback if config{ops2c} does not exist, < parrot-6.9.0
02:44 dalek nqp: review: https://github.com/perl6/nqp/commit/6ab57d77eb
02:58 noganex_ joined #perl6
03:17 kaare_ joined #perl6
03:27 Akagi201 joined #perl6
03:37 Akagi201_ joined #perl6
03:38 Akagi201_ joined #perl6
03:45 tinyblak joined #perl6
03:54 n00bster joined #perl6
03:57 virtualsue joined #perl6
03:59 n00bster left #perl6
04:01 MikeFair_ joined #perl6
04:25 tinyblak joined #perl6
04:30 Hor|zon joined #perl6
04:39 rurban joined #perl6
04:40 MikeFair_ joined #perl6
04:45 ggoebel1111111 joined #perl6
04:47 dalek doc: 60cdbe9 | Mouq++ | / (2 files):
04:47 dalek doc: $dr -> $*DR
04:47 dalek doc:
04:47 dalek doc: Simplifies code and doesn't seem to have any preformance penalties
04:47 dalek doc: review: https://github.com/perl6/doc/commit/60cdbe9840
04:48 kaare_ joined #perl6
05:04 SamuraiJack_ joined #perl6
05:05 tinyblak joined #perl6
05:09 MikeFair_ joined #perl6
05:13 dalek nqp: 2b5b400 | rurban++ | tools/lib/NQP/Configure.pm:
05:13 dalek nqp: fixup parrot-ops2c for rakudo
05:13 dalek nqp:
05:13 dalek nqp: use the parrot:: prefix, otherwise rakudo verify_install will fail
05:13 dalek nqp: review: https://github.com/perl6/nqp/commit/2b5b400d60
05:51 gfldex joined #perl6
06:01 tinyblak joined #perl6
06:26 bartolin joined #perl6
06:27 dalek roast: 26af8f8 | usev6++ | S09-typed-arrays/arrays.t:
06:27 dalek roast: Add test for RT #114968
06:27 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=114968
06:27 dalek roast: review: https://github.com/perl6/roast/commit/26af8f842f
06:31 Hor|zon joined #perl6
06:34 rindolf joined #perl6
06:42 Mso150 joined #perl6
06:53 ghostlines joined #perl6
06:56 pepl joined #perl6
06:57 jnthn morning, #perl6
06:58 lizmat morning jnthn
06:58 * jnthn sips coffee and slowly wakes up
07:01 zakharyas joined #perl6
07:10 bartolin m: my $x = 'Just Another'; my $y := $x; say $y;
07:10 camelia rakudo-moar bc6de5: OUTPUT«Just Another␤»
07:10 bartolin say $y;  ## is this expected behaviour in REPL?
07:11 bartolin m: say $y;  ## is this expected behaviour in REPL?
07:11 camelia rakudo-moar bc6de5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/B6ZGPfTKe4â�¤Variable '$y' is not declaredâ�¤at /tmp/B6ZGPfTKe4:1â�¤------> [32msay $y[33mâ��[31m;  ## is this expected behaviour in REPL[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
07:11 moritz bartolin: looks like a bug to me
07:11 bartolin m: say $x;
07:11 camelia rakudo-moar bc6de5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/WFxWXUlZt_â�¤Variable '$x' is not declaredâ�¤at /tmp/WFxWXUlZt_:1â�¤------> [32msay $x[33mâ��[31m;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
07:12 moritz (in the REPL, doing a 'say $x' on a separate line gives (Mu))
07:13 bartolin moritz: locally I get 'Just Another' for 'say $x', but (Mu) for 'say $y'
07:13 moritz bartolin: right
07:13 moritz bartolin: (camelia doesn't use the REPL, so you can't reproduce it here)
07:13 moritz bartolin: that's a bug
07:14 bartolin moritz: oh, I see (camelia doesn't use the REPL)
07:14 bartolin moritz: okay, I'll submit a rakudobug.
07:14 moritz it spawns a new process for each line
07:15 bartolin makes sense
07:15 moritz everything else would cause too much confusion in the general case
07:15 lizmat jnthn moritz: parrot is currently barfing on $!PIO := nqp::getstdin();
07:15 lizmat is there something wrong with that ?
07:16 jnthn lizmat: Not that I know of
07:16 lizmat does this ring a bell"  "Unmarshallable foreign language value passed for parameter 'arg'"
07:17 moritz uhm
07:18 moritz lizmat: does it go away if you explicitly type $!PIO as Mu
07:18 moritz ?
07:18 moritz istr that we had to do something like that in the early days of the nom branch
07:18 * lizmat tries that
07:19 lizmat I seem to recall Mu on attributes in setting didn't work
07:19 lizmat we'll know in a few mins
07:21 lizmat hmmm... I replaced nqp::bindattr(self, IO::Handle, '$!PIO', with $!PIO :=
07:21 lizmat maybe on parrot, that is *not* the same ??
07:22 jnthn I'm not sure. I do know that the Parrot code-gen stuf pre-dates the JVM and Moar code-gen by some way
07:22 jnthn And while the JVM and Moar ones are quite consistent with each other, there are discrepancies with how things are on Parrot, typically around boxing semantics.
07:23 lizmat Mu didn't fix it
07:23 lizmat going for nqp::bindattr(self, IO::Handle, '$!PIO', reversal now
07:24 jnthn ok
07:25 * jnthn ain't sure exactly how you could get that error out of it...
07:27 lizmat it's the only functional difference with the old code that I can see
07:27 jnthn k
07:27 lizmat building again, will know result in a few mins
07:27 jnthn OK. With luck my last couple of students will be here by then and I'll be attemtping to teach useful concurrency stuff :)
07:29 jnthn yup :)
07:30 tinyblak_ joined #perl6
07:31 lizmat no difference  :-( :-(
07:32 odc joined #perl6
07:39 darutoko joined #perl6
07:40 tinyblak joined #perl6
07:41 FROGGS joined #perl6
07:50 lizmat seems parrot was barfing over the use of given / when
07:50 FROGGS in combination with a capture?
07:50 lizmat given $!path.what {
07:50 lizmat when << <STDIN> >> {
07:50 lizmat $!PIO := nqp::getstdin();
07:51 FROGGS because I think the error also pops up when you pass a non-sixmodelobject to a capture or so
07:51 FROGGS ahh, hmmm
07:51 lizmat reverting the bindattr change now, see if that makes a diff
07:52 FROGGS sadly that one has to wait soo long when testing this :/
07:52 lizmat yes, meanwhile I'm doing other things
07:53 lizmat exercise in concurrency  :-)
07:53 lizmat m: say 1 & say 2 & say 3  # this I expect
07:53 camelia rakudo-moar bc6de5: OUTPUT«3␤all(2, True)␤all(1, True)␤»
07:53 lizmat m: say 1 S& say 2 S& say 3  # this I find strange
07:53 camelia rakudo-moar bc6de5: OUTPUT«3␤all()␤all()␤»
07:55 lizmat S03:1107 would indicate sequential evaluation for S& ?
07:55 synopsebot Link: http://perlcabal.org/syn/S03.html#line_1107
07:57 moritz precedence?
07:57 moritz m: (say 1) S& (say 2) S& (say 3)
07:57 camelia rakudo-moar bc6de5: OUTPUT«1␤2␤3␤»
07:57 lizmat ah, good point  :-)
07:59 tinyblak joined #perl6
08:01 tinyblak joined #perl6
08:02 bartolin m: S05 says that $/ is implicitly lexically scoped. does that mean that the following two pieces of code should behave identically?
08:02 camelia rakudo-moar bc6de5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/H6kqLpK6YSâ�¤Two terms in a rowâ�¤at /tmp/H6kqLpK6YS:1â�¤------> [32mS05 says that $/ [33mâ��[31mis implicitly lexically scoped. does tha[0mâ�¤    expecting any of:â�¤        postfixâ�¤        i…»
08:02 bartolin S05 says that $/ is implicitly lexically scoped. does that mean that the following two pieces of code should behave identically?
08:02 bartolin m: { my $x = "foobar"; my $/ := $x; say "INNER: $/"}; say "OUTER: $/"
08:02 camelia rakudo-moar bc6de5: OUTPUT«INNER: foobar␤OUTER: ␤»
08:02 bartolin m: { my $x = "foobar"; $/ := $x; say "INNER: $/"}; say "OUTER: $/"
08:02 camelia rakudo-moar bc6de5: OUTPUT«INNER: foobar␤OUTER: foobar␤»
08:04 FROGGS bartolin: in your last example the $/ defaults to the outer (which still is lexically scoped)
08:07 dalek rakudo/nom: fcf6dcf | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm:
08:07 dalek rakudo/nom: Unbreak rakudo build on parrot
08:07 dalek rakudo/nom:
08:07 dalek rakudo/nom: It looks like parrot gets thoroughly confused by using smart match in this way.
08:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fcf6dcfc7b
08:07 lizmat at least, when used in the setting
08:07 bartolin FROGGS: okay, thanks. so in this example $/ within the block is behaving just like an ordinary variable?
08:07 FROGGS bartolin: yes
08:08 FROGGS m: sub foo { say $/ }; foo() # it is just implicitely declared 'my' in such situations...
08:08 camelia rakudo-moar bc6de5: OUTPUT«Nil␤»
08:08 FROGGS like packages or subs (or units?)...
08:08 rurban lizmat: looks like a nqp-p problem to me with ~~
08:09 lizmat yeah  anyway, it builds again
08:09 lizmat spent way too much time on that already  :-(
08:09 rurban thanks!
08:10 lizmat you're welcome: I broke it, so I should fix it
08:10 lizmat it's just something I did not expect :-(
08:10 yeahnoob joined #perl6
08:11 bartolin FROGGS: okay. then probably tests like that for RT #72956 (in S05-match/capturing-contexts.t) would like to use 'my $/' within their block, right.
08:11 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=72956
08:13 bartolin m: {$/ := 'foobar';} say $/;
08:13 camelia rakudo-moar bc6de5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ib9oq8viXsâ�¤Two terms in a rowâ�¤at /tmp/ib9oq8viXs:1â�¤------> [32m{$/ := 'foobar';} [33mâ��[31msay $/;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement endâ�¤        statement…»
08:13 bartolin m: {$/ := 'foobar';}; say $/;
08:13 camelia rakudo-moar bc6de5: OUTPUT«foobar␤»
08:13 bartolin m: {my $/ := 'foobar';}; say $/;
08:13 camelia rakudo-moar bc6de5: OUTPUT«Nil␤»
08:14 Hor|zon joined #perl6
08:32 dakkar joined #perl6
08:38 dalek rakudo/nom: f573ede | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm:
08:38 dalek rakudo/nom: First part of cruft removal from IO::Handle
08:38 dalek rakudo/nom:
08:38 dalek rakudo/nom: Because before, .IO would give you an unopened IO::Handle.  So any time you
08:38 dalek rakudo/nom: would call a method on an IO::Handle that would require an open file, it would
08:38 dalek rakudo/nom: have to check whether the file was open already or not, and whether it was a
08:38 dalek rakudo/nom: directory or not.  Because it is now a lot harder to create an unopened
08:38 dalek rakudo/nom: IO::Handle, we can drop the tests now.
08:38 dalek rakudo/nom:
08:38 dalek rakudo/nom: This should particularly make loops with .get and .getc a *lot* faster.
08:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f573edeeca
08:38 Akagi201 joined #perl6
08:51 Hor|zon joined #perl6
08:53 lizmat argh, now looking at some tests that segfault on parrot
08:57 dalek rakudo/nom: 65819d1 | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm:
08:57 dalek rakudo/nom: Eradicate the IO::Handle "isDir" attribute
08:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/65819d1f91
08:57 TuxCM joined #perl6
08:57 fhelmberger joined #perl6
09:03 carlin are those isDir changes going to cause regressions for RT #122358 ?
09:03 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122358
09:06 dalek roast: 5fe25b6 | usev6++ | S0 (2 files):
09:06 dalek roast: Modify and unfudge tests for binding $/, add test for RT #114726
09:06 dalek roast: binding to $/ works
09:06 dalek roast: but binding to the outer $/ would lead to problems with later tests
09:06 dalek roast: hence the modification to use "my $/ :=" instead of "$/ :="
09:06 dalek roast: review: https://github.com/perl6/roast/commit/5fe25b6de8
09:06 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=114726
09:06 lizmat it shouldn't, as slurp() uses IO::Path.slurp, not IO::Handle.slurp
09:07 lizmat arguably, slurp and spurt on IO::Handle should go
09:08 lizmat a bare slurp() might, as that uses $*ARGFILES... hmmm...
09:10 bartolin it would be great if someone could check whether my last commit to roast makes sense. (all tests pass, but maybe I missed the purpose of binding to non local $/ in the formerly skipped tests)
09:10 lizmat no, it shouldn't
09:10 lizmat but I will need to fix ArgFiles.slurp before I can get rid of IO::Handle.slurp  :-)
09:17 virtualsue joined #perl6
09:24 Ven joined #perl6
09:25 Ven S06:L1628 looks like it has a typo (and just below as well)
09:25 Ven S06:1628 ? synopsebot ?
09:25 synopsebot Link: http://perlcabal.org/syn/S06.html#line_1628
09:25 Ven thanks
09:36 dalek perl6.org: 4914096 | (Kamil Kułaga)++ | includes/menu-nav:
09:36 dalek perl6.org: #11 link faqhttp://faq.perl6.org/
09:36 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/491409675a
09:36 dalek perl6.org: b1ba4e1 | moritz++ | includes/menu-nav:
09:36 dalek perl6.org: Merge pull request #12 from teodozjan/master
09:36 dalek perl6.org:
09:36 dalek perl6.org: #11 link faqhttp://faq.perl6.org/
09:36 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/b1ba4e1344
09:47 kjs_ joined #perl6
09:59 kjs_ joined #perl6
10:03 cognome joined #perl6
10:16 Hor|zon joined #perl6
10:21 bjz joined #perl6
10:26 cognome joined #perl6
10:30 [Sno] joined #perl6
10:31 leont joined #perl6
10:32 dalek rakudo/nom: 9a6501a | (Elizabeth Mattijsen)++ | src/core/ (3 files):
10:32 dalek rakudo/nom: Deprecate IO::Handle.spurt
10:32 dalek rakudo/nom:
10:32 dalek rakudo/nom: In favour of IO::Path.spurt.  Spurting on an opened handle is not really
10:32 dalek rakudo/nom: anything else but print/write on the handle.
10:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9a6501aee7
10:33 dalek roast: afbef95 | usev6++ | S05-ma (2 files):
10:33 dalek roast: Remove duplicate test for RT #70007
10:33 dalek roast: review: https://github.com/perl6/roast/commit/afbef95e4b
10:33 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=70007
10:45 camelia joined #perl6
10:55 cognome joined #perl6
11:00 bartolin r: say $]   ## LTA error message, RT #119293
11:00 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=119293
11:00 camelia rakudo-{parrot,moar} 65819d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Unexpected closing bracketâ�¤at /tmp/tmpfile:1â�¤------> [32msay $[33mâ��[31m]   ## LTA error message, RT #119293[0mâ�¤Â»
11:00 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=119293
11:00 pepl joined #perl6
11:01 lichtkind joined #perl6
11:02 colomon Fire::Directory::Tree started failing overnight, I'll bet it was lizmat++'s changes to IO
11:02 kjs_ joined #perl6
11:02 leont colomon: you shouldn't put trees on fire! ;-)
11:03 colomon whoops, *File
11:03 * lizmat goes to fetch and investigate
11:06 lizmat Ah, I see: tmpdir *was* returning a Str, but now returns an IO::Path
11:07 lizmat Str.path gives an IO (for historical reasons, and should probably be deprecated)
11:07 lizmat IO::Path.path gives a string, as that is just the $!path attribute really
11:07 lizmat hmmmm....
11:09 * moritz though IO::Path.path was a no-op
11:10 moritz that is, returning the invocant
11:10 moritz but that might have changed too
11:11 lizmat yes, it has
11:12 lizmat suggestions for improvement welcome  :-)
11:17 dalek rakudo/nom: b3c26ed | (Elizabeth Mattijsen)++ | src/core/IO/Spec.pm:
11:17 dalek rakudo/nom: Deprecate IO::Spec.tmpdir in favour of $*TMPDIR
11:17 dalek rakudo/nom:
11:17 dalek rakudo/nom: IO::Spec.tmpdir also now returns a Str, rather than (the recently changed)
11:17 dalek rakudo/nom: IO::Path.  This unbreaks testing of File::Directory::Tree.
11:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b3c26ed0a1
11:17 lizmat colomon: ^^^
11:19 colomon lizmat++ # launching rerun of spec test
11:34 prevost joined #perl6
11:43 araujo joined #perl6
11:46 Ulti joined #perl6
11:51 rurban joined #perl6
11:57 kjs_ joined #perl6
12:01 brrt joined #perl6
12:01 brrt \o
12:04 lizmat brrt o/
12:06 FROGGS olá
12:08 brrt \o lizmat
12:09 brrt how p6 been doing since.. last week?
12:09 brrt and how are the preparations for APW going along?
12:11 Mouq joined #perl6
12:13 colomon lizmat: huh, now OpenSSL is broken instead.  :\
12:14 * lizmat goes check
12:15 lizmat installs ok here, but I have additional changes
12:16 dalek rakudo/nom: fc75710 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
12:16 dalek rakudo/nom: Deprecate IO::Handle.slurp|copy
12:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fc75710b58
12:16 lizmat pretty sure this won't make a change, though
12:17 lizmat what is the error with OpenSSL (on which OS/VM ?)
12:17 woolfy1 joined #perl6
12:19 denis_boyun joined #perl6
12:32 dalek rakudo/nom: 0d20bdd | (Elizabeth Mattijsen)++ | src/core/IO/ (4 files):
12:32 dalek rakudo/nom: Give up on IO::Path.all on parrot
12:32 dalek rakudo/nom:
12:32 dalek rakudo/nom: Just too many strange errors, segfaults, repr_unbox_whatever errors that just
12:32 dalek rakudo/nom: take too much time.  If someone wants to use this newer feature on parrot,
12:32 dalek rakudo/nom: they are welcome to provide a fix!
12:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d20bddca6
12:33 colomon lizmat: sorry for spacing out there.
12:34 colomon lizmat: rebuilding rakudo, then I'll give it a try directly and see what happens
12:34 lizmat colomon++
12:40 lizmat m: say "foo".IO ~~ :d
12:40 camelia rakudo-moar b3c26e: OUTPUT«False␤»
12:41 lizmat m: say "foo".IO ~~ :d:r
12:41 camelia rakudo-moar b3c26e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/y0saYFSJjzâ�¤You can't adverb thatâ�¤at /tmp/y0saYFSJjz:1â�¤------> [32msay "foo".IO ~~ :d:r[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        pair valueâ�¤Â»
12:41 lizmat would be nice if the above would be syntactic sugar for "foo".IO.all(<d r>)
12:41 colomon hmmm, works if I invoke Panda directly.
12:43 pecastro joined #perl6
12:43 dalek specs: 6b22f92 | (Elizabeth Mattijsen)++ | S03-operators.pod:
12:43 dalek specs: Don't give people the wrong idea  :-)
12:43 dalek specs:
12:43 dalek specs: File tests are primarily for paths, *not* for handles
12:43 dalek specs: review: https://github.com/perl6/specs/commit/6b22f9210d
12:44 colomon lizmat: either it was just something transient or your change fixed it, because it's working fine for me in the smoker now.
12:44 lizmat ok, good to hear!
12:45 arnsholt jnthn: https://github.com/jnthn/zavolaj​/issues/47#issuecomment-58010593 looks like a Moar internals thing, no?
12:46 FROGGS arnsholt: likely
12:50 lichtkind is there a shortcut in p6 to rotate values like $a += 2; $a = 0 if $a > 10 ?
12:50 lizmat something with mod comes to mind?
12:51 lichtkind ah thats an idea thanks
12:51 psch joined #perl6
12:51 lichtkind would even work in p5
12:51 psch hi #perl6 o/
12:51 dalek rakudo/nom: 0730d44 | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
12:51 dalek rakudo/nom: Allow all possible file tests on .chdir/chdir()
12:51 dalek rakudo/nom:
12:51 dalek rakudo/nom: Except on parrot, because it doesn't like IO::Path.all, so the old restriction
12:51 dalek rakudo/nom: to <r>, <r w> and <r w x> remains there.
12:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0730d444ac
12:52 arnsholt lichtkind: Maybe %= could work?
12:55 moritz $a = ($a + 2) % 10;
12:55 colomon what moritz++ said.  Clean, simple, and straightforward
12:56 lichtkind true :)
12:57 lizmat except lichtkind's code said $a > 10
12:57 lizmat I guess that would work, yes, as the check is after the addition :-)
12:57 SamuraiJack_ joined #perl6
12:59 lichtkind yeah but i can adapt :)
12:59 colomon sure, so it's % 11
13:00 lichtkind it was an example and not with actual numbers i need anyway :)
13:00 lizmat now for an excercise, turn this into a rot10 operator :-)
13:00 lizmat using macros  :-)
13:01 moritz a meta operator, please
13:01 lizmat where the "10" would become one of the parameters to the function
13:01 moritz $a = 42 rot10+ 5
13:01 moritz $a rot10+= 2;
13:01 moritz eeeks
13:03 lizmat of course, rotN would do something differently on strings, e.g. rot13  :-)
13:03 lichtkind haha
13:03 lichtkind critcs are right perl ahs builtin encryption :)
13:04 colomon wouldn't it be much more sane to define a modular group?
13:04 lichtkind we can stack that metaop on the parser grammer anyway
13:04 lichtkind sure
13:04 lizmat .oO( I still have a Perl 5 IO layer module on CPAN doing rot13, would anybody be interested in maintaining that ? )
13:04 lichtkind haha
13:05 lichtkind shit no original idea from me today
13:05 lichtkind not now
13:09 abraxxa joined #perl6
13:09 abraxxa arnsholt: hi!
13:09 abraxxa arnsholt: thanks for your help so far!
13:10 arnsholt Not a problem
13:10 kurahaupo joined #perl6
13:13 arnsholt From looking at the test suite, it looks like it dies in DBIish.install_driver
13:14 arnsholt Try making a test script with install_driver inlined and see if that explodes with the same error
13:15 kjs_ joined #perl6
13:15 colomon https://gist.github.com/co​lomon/fbdee769ed36d9836cbb # kind of awkward but works for addition
13:15 arnsholt And perhaps try to eliminate the use of EVAL and just put in the code that's called for the Oracle code
13:16 arnsholt abraxxa: If it still errors out without the EVAL, see if it's the act of using DBDish::Oracle that causes the failure, or the call to DBDish::Oracle.new
13:17 abraxxa arnsholt: ok
13:17 arnsholt Actually, try the use DBDish::Oracle first
13:18 arnsholt The error from serialisation might point in that direction
13:21 abraxxa arnsholt: my $drh = DBIish.install_driver($*mdriver); directly in t/45... throws Serialization Error: Unimplemented case of read_ref
13:21 abraxxa maybe my DBDish class doesn't implement enough methods to be compatible so far?
13:22 arnsholt That sounds weird
13:22 arnsholt Try to have a file with just "use DBDish::Oracle; say 'alive';" in it
13:22 arnsholt (And the library paths set up correctly, obviously)
13:23 abraxxa perl6 -e 'use DBDish::Oracle; say "alive";'
13:23 abraxxa same
13:23 arnsholt Yeah
13:23 abraxxa ah, -Ilib works
13:23 arnsholt Yeah, that might work
13:23 abraxxa now t/45... also executes ok
13:24 arnsholt Since that won't use the precompiled modules, but compile it directly on the fly
13:24 abraxxa original t/45 now Segmentation fault (core dumped)
13:24 arnsholt So your module somehow triggers an edge case in serialisation/deserialisation
13:24 abraxxa so that was the difference between panda install . and using perl6 directly
13:24 abraxxa i thought it's passing a pointer to an unreserved memory segment
13:25 arnsholt Nah
13:26 abraxxa the OCIEnvNlsCreate call is fine, if i put a die in the if i get -1 as return value
13:26 arnsholt Yeah, that sounds reasonable
13:26 dalek faq: e1ed104 | pmichaud++ | answers.md:
13:26 dalek faq: s/backtrace/backtrack/ when talking about 'rule' and regexes.
13:26 dalek faq: review: https://github.com/perl6/faq/commit/e1ed104127
13:26 arnsholt If there's an error, the handle probably won't be valid =)
13:27 Hor|zon joined #perl6
13:28 abraxxa arnsholt: but that's how you shoud get the error text according to the oracle oci docs
13:28 abraxxa arnsholt: http://docs.oracle.com/cd/E11882_01/app​dev.112/e10646/oci02bas.htm#LNOCI16220
13:32 arnsholt abraxxa: From http://docs.oracle.com/cd/E11882_01/app​dev.112/e10646/oci17msc007.htm#i540516 it looks like you need to use the "environment handle", whatever that is
13:33 abraxxa OCIEnvNlsCreate should return this handle
13:33 arnsholt Oh, that's the thing created by the Create call
13:34 arnsholt Right
13:34 abraxxa i tried OCI_DEFAULT instead of OCI_THREADED, also segfaults
13:34 colomon https://gist.github.com/co​lomon/3a2861c1b9e492836b75 # hard to recognize Unicode twist
13:35 abraxxa do i need to pass the memory allocation functions to it?
13:35 abraxxa does NativeCall expose them?
13:35 arnsholt Oh, I think I see it
13:35 arnsholt Or maybe not
13:35 arnsholt What type does OraText correspond to?
13:36 dalek faq: e6aa625 | pmichaud++ | answers.md:
13:36 dalek faq: A bit more rigor in describing "Any".
13:36 dalek faq: review: https://github.com/perl6/faq/commit/e6aa625235
13:36 jnthn arnsholt: Does it work if the module ain't pre-comp'd? It looks like something was written bogus serialization data, or is trying to read it in a bogus way...
13:36 arnsholt jnthn: Yeah, sounds like that from what abraxxa says
13:37 arnsholt abraxxa: It looks like OraText is a character type, from the descriptions in the manpage
13:37 jnthn arnsholt: That error sounds like a silly bug ratehr than a deep one
13:38 jnthn arnsholt: As in, something is writing one format and the reader is reading it differently
13:38 arnsholt Right, right
13:39 abraxxa arnsholt: yes, that's why I've defined the pointer as my @errortextp := CArray[Str].new;
13:39 Hor|zon joined #perl6
13:39 arnsholt abraxxa: There's a type mismatch in your use of ErrorGet. The errorcodep argument is declared as OpaquePointer, but your passing a CArray
13:39 nebuchadnezzar joined #perl6
13:39 arnsholt abraxxa: Yeah, but that array is empty. So it only has a small amount of storage allocated intially (from memory)
13:39 yeahnoob joined #perl6
13:39 arnsholt And you're claiming that it's 512 bytes, which it certainly isn't
13:40 abraxxa arnsholt: correct, that's why I asked if i have to preallocate it by e.g. filling it with zeros
13:40 arnsholt But I suspect OraText* corresponds to Str, not CArray[Str]
13:40 abraxxa arnsholt: but i have to pass a pointer to a Str
13:41 arnsholt Well, that depends on what OraText is. Is it a char-like type, or a string-like type?
13:41 abraxxa I've interpreted your response on github that I should use CArray to get a pointer to it
13:41 arnsholt Well for a char** type argument that's correct
13:41 abraxxa how do I find out the details of OraText?
13:41 arnsholt But the description of OCIErrorGet only really makes sense if the argument is char*
13:42 abraxxa oratypes.h has  typedef OraText *string;
13:42 Mouq joined #perl6
13:42 arnsholt From http://docs.oracle.com/cd/E11882_01/ap​pdev.112/e10646/oci08sca.htm#BGBCCBGF: static OraText *username = (OraText *) "HR";
13:43 arnsholt It's definitely a character type
13:43 abraxxa http://paste.scsys.co.uk/428318
13:43 arnsholt Which gets into a different weak point of NativeCall
13:43 bartolin joined #perl6
13:44 arnsholt The correct type for that argument is CArray[int8]
13:44 abraxxa i tried int32
13:44 abraxxa nah, that was errorcodep
13:44 arnsholt So you'll have to make a CArray[int8] and write a 0 to the element with index 511 (that'll resize and zero all the preceding slots) and pass that in
13:45 arnsholt errorcodep should be CArray[int32]
13:46 abraxxa still segfaults
13:47 abraxxa Native call expected object with CPointer representation, but got something else
13:47 abraxxa but it doesn't print which call and arg
13:49 arnsholt I think it's errorcodep
13:49 dalek rakudo/nom: ef945a7 | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm:
13:49 dalek rakudo/nom: Some more parameter sanity and cleanup
13:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ef945a7325
13:49 arnsholt You've declared it as OpaquePointer but you're passing a CArray
13:49 abraxxa is my definition wrong or the call?
13:50 abraxxa because I need to access the value the pointer points at
13:50 arnsholt Assuming you actually want to look at the value, it should be CArray[int32]
13:50 arnsholt Which means that both the definition and the call is wrong, since you're actually passing a CArray[Str] =)
13:51 abraxxa i've changed both, looks good now
13:52 abraxxa how do i get at the CArray[int8] errortext now?
13:53 arnsholt Then you copy the contents of the CArray into a Buf, which you can decode (or is it encode, I never remember which is which) to a string
13:54 abraxxa arnsholt: i've tried that in the past, there is a problem with that...
13:54 [particle] joined #perl6
13:56 guru joined #perl6
13:56 dalek rakudo/nom: 8f625c9 | (Elizabeth Mattijsen)++ | / (4 files):
13:56 dalek rakudo/nom: IO::FileTestable is no more
13:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f625c9a65
13:57 arnsholt You're comparing the errorcode as if it's a string too, BTW
13:59 abraxxa is there a channel log?
13:59 arnsholt irc.perl6.org
13:59 moritz yes, at irc.perl6.org
13:59 abraxxa we've discussed the Buf problem on the 12th September says my log
14:00 abraxxa starts here http://irclog.perlgeek.de/​perl6/2014-09-12#i_9343864
14:01 abraxxa Malformed termination of UTF-8 string
14:01 abraxxa ;)
14:01 abraxxa we got an error message
14:02 eternaleye joined #perl6
14:02 abraxxa regarding OCI_DEFAULT vs OCI_THREADED, which one should I use? I thought for Perl 6 OCI_THREADED would make sense but I'm not sure if that is supported by NativeCall
14:03 arnsholt I have no idea what those mean
14:03 arnsholt What's the difference between the two modes of operation?
14:06 nine Regarding the suggestion of an "a bit more stable than nom" branch. How about calling it "master"? nom would be an integration branch and master a continuously releasable branch like in many other projects.
14:07 arnsholt abraxxa: Anyways, it should work if you copy the int8 elements of the CArray into a Buf[int8] and then decode that into a Str
14:07 abraxxa arnsholt: I 'guess' threading support
14:07 moritz nine: release/master or master/dev would be a good pair
14:07 arnsholt From the usage example of OraText I linked earlier, it's clearly not a UTF-16 string
14:08 arnsholt abraxxa: In that case, I'd go with default until you know what threaded mode does =)
14:08 abraxxa ok
14:08 psch joined #perl6
14:08 [Coke] japhb: so, the issue with the daily runs keeping track of what's the latest stable build: roast. We don't have a way to say "this passes all spectests at <rev>", just "at some point".
14:08 molaf joined #perl6
14:09 abraxxa arnsholt: see newest commit
14:09 abraxxa let me look up why i encode this as UTF-16
14:09 nine abraxxa: I'm curious. How's your Oracle driver coming along?
14:10 abraxxa nine: GAH!
14:10 abraxxa :P
14:10 abraxxa I found a poor soul with github issue (arnsholt) who helps me understand
14:10 abraxxa arnsholt++
14:11 arnsholt That looks more reasonable
14:11 abraxxa i guess it was a misinterpretation of OraText
14:11 arnsholt Yeah, OraText is a terrible (TERRIBLE!) name for it
14:12 arnsholt So you get a sane error message out now?
14:12 abraxxa can i define OraText in the perl 6 module with the same name as CArray[int8] to use the same name everywhere?
14:12 abraxxa 'Malformed termination of UTF-8 string' is the error text
14:13 abraxxa so how do i have to pass the username and password to OCILogon2?
14:13 abraxxa no, that can't be the problem as that happens later
14:14 arnsholt The malformed termination error comes from the call to NlsCreate?
14:14 abraxxa AH
14:14 abraxxa http://docs.oracle.com/cd/E11882_01/app​dev.112/e10646/oci16rel001.htm#i562098
14:14 abraxxa read charset(IN)
14:14 abraxxa i'm passing OCI_UTF16ID
14:15 slavik joined #perl6
14:15 abraxxa that's why I'm encoding the username and password to UTF-16 later down
14:16 arnsholt Right. Just make it UTF-8 instead
14:16 arnsholt That'll probably save you some grief in the end
14:17 pmurias joined #perl6
14:18 abraxxa arnsholt: not supported
14:19 abraxxa arnsholt: i'm not so sure any more @error
14:21 abraxxa i wonder if i have to use OCINlsCharSetConvert everywhere
14:22 arnsholt Could be
14:23 arnsholt I've absolutely no idea how the OCI API works
14:23 abraxxa arnsholt: is that the correct invocation? https://github.com/abraxxa/DBIish/bl​ob/master/lib/DBDish/Oracle.pm6#L467
14:23 abraxxa arnsholt: me neither
14:23 arnsholt It looks reasonable, but I'm not entirely sure how the Buf API works
14:24 abraxxa can the error come from this call?
14:25 arnsholt Entirely possible. Try putting a say on either side of it
14:25 dalek roast: 938728b | (Elizabeth Mattijsen)++ | S32-io/dir.t:
14:25 dalek roast: Esthetics
14:25 dalek roast: review: https://github.com/perl6/roast/commit/938728baf4
14:25 dalek roast: 2c843cc | (Elizabeth Mattijsen)++ | S32-io/spurt.t:
14:25 dalek roast: Properly plan and fudge for niecza
14:25 dalek roast: review: https://github.com/perl6/roast/commit/2c843cc1e8
14:25 arnsholt If only the one is called, it's Buf that's unhappy
14:25 arnsholt It could be that it doesn't like getting the CArray as an argument
14:25 abraxxa yeah, coming from decode
14:26 arnsholt Try copying over the elements one by one
14:26 eternaleye joined #perl6
14:26 arnsholt r: for 0..^3 { .say }
14:26 abraxxa arnsholt: that should be fine according to http://doc.perl6.org/routine/new#class_Buf
14:27 camelia rakudo-{parrot,moar} 0730d4: OUTPUT«(timeout)»
14:28 arnsholt abraxxa: Try copying over the bytes one by one, but stopping when you reach a NULL byte
14:29 arnsholt It might not like the trailing zeroes
14:30 abraxxa arnsholt: is there a helper function available in NativeCall?
14:31 arnsholt Oh. It might be that the resize doesn't actually zero the array
14:31 arnsholt I thought it did, but now that I think about it, I don't think it does
14:31 abraxxa DBDish::Pg uses CArray[Str], maybe there is support for this already?
14:31 abraxxa https://github.com/abraxxa/DBIish/​blob/master/lib/DBDish/Pg.pm6#L22
14:31 arnsholt Try setting all the elements to 0
14:31 arnsholt No, there's no support for this particular use case
14:32 arnsholt It's something we've discussed in the past, but we haven't really figured out how to best handle it yet
14:32 arnsholt Or actually
14:32 arnsholt You could also get away with copying from the CArray one by one and stopping at the first NULL byte
14:33 FROGGS joined #perl6
14:33 arnsholt Which you'll probably end up doing anyways, since if it's nulled, you'll get a Str with a lot of trailing nulls
14:33 laben joined #perl6
14:34 laben hai #perl6 o/
14:35 abraxxa arnsholt: what's the neatest syntax of setting all 512 int's to 0?
14:37 arnsholt Neatest syntax is 0..^512, IIRC
14:37 sjn \o
14:37 arnsholt Fastest syntax is probably while $i < 512
14:37 arnsholt for 0..^512, that is
14:38 xfix And 0..^512 can be shortened to ^512, right?
14:38 masak hejhej, #perl6
14:38 abraxxa but i'd need the iterator number for the array access, or should i use push?
14:38 masak xfix: right.
14:38 moritz ho ho masak
14:38 lizmat masak moritz  o/
14:38 masak moritz: ho ho ho!
14:39 arnsholt xfix: Yeah, I think so
14:39 arnsholt abraxxa: Either way probably works
14:41 dalek nqp-js: 7f00d5e | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
14:41 dalek nqp-js: Remove misleading comment.
14:41 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/7f00d5e104
14:41 pmurias masak: hi
14:41 laben lizmat: i have something strange going on, can you help me?
14:41 lizmat sure
14:42 laben m: my @a=1..5; for @a { indir "foo", { say "OK"; }}
14:42 camelia rakudo-moar 0730d4: OUTPUT«(timeout)»
14:42 laben this errors out
14:42 laben oops i put m:
14:42 abraxxa Cannot call 'push'; none of these signatures match
14:42 abraxxa @errortextp.push(0) for ^512;
14:42 laben it says Unknown tesst r w
14:43 abraxxa it seems CArray doesn't support push
14:43 lizmat laben: what VM ?
14:43 laben moarvm ofc
14:43 moritz @errortextp[$_] = 0 for  ^512;
14:43 laben i pulled 2h ago
14:43 arnsholt Oh, for CArray you're stuck with array indices, yeah
14:43 lizmat laben: confirmed
14:44 arnsholt push isn't there because for a pointer returned from C we don't know anything about how many elements there are or how much room is available
14:45 abraxxa moritz: thanks
14:45 masak Mouq: if you example http://irclog.perlgeek.de/​perl6/2014-10-05#i_9460255 -- was it deliberate to do `sub where` rather than `macro where`? you seem to return a quasi at the end, just like from a macro.
14:45 lizmat laben: fixing now
14:46 laben lizmat: perfect :-) it's great having such active devs
14:47 abraxxa arnsholt: the values aren't overwritten by the call but still both contain zeros
14:48 laben btw, "filename".IO.slurp and slurp "filename" both return deprecation warnings now, what is recommended?
14:48 arnsholt abraxxa: Not sure I understand what you mean
14:48 abraxxa after calling OCIErrorGet the values still only contain the zeros i"ve prefilled them with
14:49 arnsholt Huh. That's odd
14:49 arnsholt Not sure what's going on in that case
14:50 lizmat "filename".IO.slurp shouldn't give a deprecation warning, not should slurp "filename|" ?
14:50 lizmat hmmm...
14:52 dalek rakudo/nom: 9818ba1 | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
14:52 dalek rakudo/nom: Fix issue with indir, spotted by laben++
14:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9818ba1887
14:53 laben lizmat: i'll rebuild and retest ASAP
14:55 xfix I wonder how easy would it be to create a domain specific language in Perl 6 that would allow you to write code like `if (SELECT first_name || ' ' || second_name AS $name FROM users WHERE id = 1) { say "User #001's name is $name." }`.
14:57 * moritz shouts "macros", just to annoy masak++ :-)
14:58 eternaleye joined #perl6
15:02 Hor|zon joined #perl6
15:04 laben lizmat: indir fixed, many thanks to lizmat++
15:04 laben deprec warnings remain though
15:04 lizmat it was only a 1 character change  :-)
15:04 lizmat yes, working on that
15:10 masak moritz: probably more of a slang, but time will tell ;)
15:10 moritz masak: I think so too
15:11 moritz masak: but it's more fun to annoy you with "macro!" :-)
15:11 jnthn moritz: no no, to annoy masak, should MARCO!
15:11 masak auugh
15:11 moritz jnthn: macro polo!
15:11 * jnthn swiftly decommutes :)
15:13 kaare_ joined #perl6
15:16 pmurias somebody should write a marco module that allows users to write 'use marco; marco foo {...}' ;)
15:19 masak "defining keyword synonyms". got it.
15:21 lizmat Mu $!path Mu $!PIO int $!ins Mu $!chomp
15:21 lizmat P6opaque: no such attribute '$!PIO'
15:22 lizmat hmmm.. something wrong in this picture
15:23 eternaleye joined #perl6
15:25 japhb [Coke]: Part of the reason I was thinking of the daily runs is that we could time them to run during the lull when Europe is mostly asleep, when commits are mostly idle.  And that might put gentle pressure on people not to push a major refactor to nom just before going to sleep, analogous to at most companies not pushing new software releases on Friday evening.
15:25 timotimo so much backlog i just skipped because i don't want to touch anything related to the oracle database ... :P
15:28 treehug88 joined #perl6
15:28 carlin just think about how much Larry Ellison's networth increased by while you were scrolling past it
15:32 abraxxa x
15:32 dalek rakudo/nom: c24537e | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
15:32 dalek rakudo/nom: Fix deprecation warning on IO::Path.slurp
15:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c24537e09b
15:32 lizmat laben: ^^^
15:32 lizmat cycling&
15:33 abraxxa arnsholt: the problem was that I defined $envhp as OpaquePointer and assigned @envhpp[0] to it hoping that I later can use $envhp which isn't the case
15:33 laben lizmat: retest coming right up
15:34 abraxxa instead I have to assign @envhpp[0] to $envhp to get the filled pointer out
15:41 abraxxa arnsholt: ORA-24483: Invalid parameters were passed into environment creation call
15:41 abraxxa YEAH
15:44 [Sno] joined #perl6
15:45 abraxxa how do i pass null to NativeCall?
15:47 eternaleye joined #perl6
15:49 Hor|zon joined #perl6
15:51 timotimo just use OpaquePointer
15:52 timotimo any type object will be treated as NULL, but OpaquePointer's type object seems like a common one to use
15:59 guru joined #perl6
16:00 tinyblak joined #perl6
16:01 laben lizmat: sorry i did not answer quickly, i got a little busy. Everything is fine now, no deprec warnings :)
16:08 ribasushi joined #perl6
16:08 raiph joined #perl6
16:10 abraxxa timotimo: thanks
16:13 abraxxa passing OpaquePointer instead of a CArray[OpaquePointer] fixed the OCIEnvNlsCreate call
16:13 Hor|zon joined #perl6
16:17 eternaleye joined #perl6
16:18 [Coke] japhb: I think having something like this is a good idea; I'll play with it and let you know. Maybe good enough will be good enough.
16:21 japhb [Coke]: OK, cool, thank you.
16:23 tony-o carlin: np, thank you for creating the merge req
16:25 liztormato joined #perl6
16:36 cognome joined #perl6
16:39 Mso150 joined #perl6
16:41 psch does --no-regex-lib in the invocation for compiling NQPHLL.nqp mean that i don't get any regex and thus no grammars?
16:41 psch ...and would that segfault if i use a grammar anyway?
16:41 pmurias you don't get any regex or grammar support
16:42 pmurias it's not supposed to segfault (haven't actually tried it so it might)
16:42 * colomon ponders planned segfaults...
16:42 psch pmurias: thanks.  i suppose the segfault isn't really much of a problem if i'm doing something that shouldn't be done.
16:43 psch i guess i'd have to get parsing of command line options out of NQPHLL-land then
16:43 psch i also wish i'd have asked earlier, heh
16:44 psch but then moritz++ did raise a good point with 'multiple -e might not really make sense and people should write a proper script when it gets complicated'
16:44 psch i'll repurpose my nqp PR for multiple -e towards "forbid multiples of options we definitely don't want more than one of" i think
16:45 eternaleye joined #perl6
16:45 PerlJam multiple -e might make sense in conjunction with multiple -I
16:46 pmurias multiple -I is something we really want
16:47 PerlJam for a completely made-up example: perl6 -e 'perl 6 here' -IInline::Python -e 'python here'  -ISome::Other::Slang -e 'you get the idea'
16:48 PerlJam er, ... sorry that should have been -M, not -I
16:48 PerlJam my brain or something isn't quite working right.
16:50 PerlJam (But, yeah, multiple -I is certainly wanted :)
16:51 erkan joined #perl6
16:52 gfldex joined #perl6
17:03 chipotle joined #perl6
17:08 Hor|zon joined #perl6
17:09 masak PerlJam: how does Perl 5's `perl` work in that regard? it already has both multiple -M and multiple -e
17:09 tony-o i use multiple I with p5 pretty regularly, i just did it to time min/max vs single loop
17:10 MikeFair_ joined #perl6
17:12 leont perl 5 has use semantics for -M
17:14 psch masak: https://gist.github.com/pe​schwa/0864c6a62a16218a17a8
17:14 psch -Ms seem to get prepended
17:14 psch at least if O=Deparse isn't cheating more than it's supposed to
17:14 tony-o interesting
17:19 masak psch: very interesting.
17:20 masak given what I know of the cmdflags codegen, this makes sense.
17:26 _slade_ joined #perl6
17:31 moritz rakudo currently stops parsing after the first -e
17:32 moritz which IMHO makes a lot of sense, because everything after going into @*ARGS is a very simple and natural rule
17:33 moritz multiple -e would imply a more complicated rule for deciding when to stop
17:33 moritz and until I've seen a good use case for multiple -e, I'm against more complicated rules
17:33 moritz I've nobody objects, I'll patch S19 accordingly
17:34 PerlJam so, that implies that -e must be the last option?
17:34 moritz yes
17:34 PerlJam or, that -e is effectively a stopper for future options.  (like -- normally does)
17:34 PerlJam wfm I guess.  I have no real need of multiple -e
17:34 moritz those two are equivalent, no?
17:35 tony-o i treat them that way but i think it'd be confusing to people who don't
17:35 tony-o like the argument ordering in OSX vs linux
17:35 kaare__ joined #perl6
17:36 moritz who are arguments ordered in OSX?
17:36 tony-o rm folder -Rf in OSX won't remove a folder
17:37 tony-o it won't parse -Rf until after it tries to remove the folder
17:37 abraxxa arnsholt: it starts to work! look at my latest commits if you like
17:37 tony-o same argument order works fine in gnu 'rm' which is what most linux distros come with iirc
17:37 moritz tony-o: so 'rm a -Rf b' would remove b/ but not a/ ?
17:37 moritz tony-o: or would it try to rm files 'a', '-Rf' and 'b' ?
17:38 tony-o it errors out as: rm a: is a dir rm: -Rf: no such file or directory
17:38 moritz so, the latter
17:38 moritz ok, thanks
17:38 tony-o same error with b, it treats the non flag argument as the end of flags
17:38 masak PerlJam: or alternatively, that -e '...' has the same effect on (wrt later arguments) as <scriptfile> does
17:39 masak moritz: +1 to only one -e
17:39 masak s/on /
17:39 tony-o +1
17:40 PerlJam moritz++
17:42 psch i don't have a particular use case that makes -e very useful.  if anything the one PerlJam brought up before is the only one.
17:43 psch additionally, i feel like my solution would need much more time to get working properly, which i'll probably be lacking in the near future
17:44 kjs_ joined #perl6
17:46 dwarring joined #perl6
17:46 dalek rakudo-star-daily: a210212 | coke++ | log/MoarVM-version.log:
17:46 dalek rakudo-star-daily: today (automated commit)
17:46 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/a210212a62
17:46 dalek rakudo-star-daily: 7bdc24f | coke++ | log/MoarVM-version.log:
17:46 dalek rakudo-star-daily: today (automated commit)
17:46 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/7bdc24f80e
17:46 dalek perl6-roast-data: 9180fe1 | coke++ | / (4 files):
17:46 dalek perl6-roast-data: today (automated commit)
17:46 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/9180fe1d96
17:46 dalek perl6-roast-data: 70cccd9 | coke++ | / (4 files):
17:46 dalek perl6-roast-data: today (automated commit)
17:46 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/70cccd9632
17:47 [Coke] I never thought -e was a stopper for args.
17:47 moritz [Coke]: what did you think was a stopper for args?
17:48 moritz [Coke]: also, current rakudo already implements -e as a stopper. Did that ever surprise you?
17:50 eternaleye joined #perl6
17:50 [Coke] moritz: --
17:51 [Coke] moritz: hasn't come up
17:51 moritz [Coke]: so in the case of  perl -e 'program' more stuff here, the "more stuff here" is always part of the command line arguments to perl, not the program?
17:52 [Coke] also, it doesn't seem true: "perl -E 'say 3' -d" puts me in the debugger.
17:53 [Coke] (same with -e)
17:53 moritz [Coke]: rakudo currently implements -e as a stopper, not perl5
17:54 [Coke] I thought the argument was "we're doing this because perl 5 does."
17:54 [Coke] my bad.
17:54 moritz we're doing that because
17:54 dalek doc: 4b84000 | Mouq++ | lib/Language/functions.pod:
17:54 dalek doc: Stub functions.pod
17:54 dalek doc: review: https://github.com/perl6/doc/commit/4b8400068d
17:55 moritz 1) p5's disambiguation means that some arguments are interpreted as options to p5, and some as options to the program
17:55 moritz 2) those rules change when there's a new command line option
17:55 moritz and
17:55 moritz 3) they are much more complicated than they need to be
17:56 Mouq joined #perl6
17:56 [Coke] I will make my -1 tentative instead of firm, then. :)
17:56 moritz noted, thanks
17:57 Mouq masak: Yes, I meant macro. And I was fighting the syntax in that example, but I was trying to express some sort of macro for pattern-matching
17:59 nine If perl6 should one day replace perl even for Perl 5 programs, it should be as compatible as possible.
18:01 PerlJam Doing the conservative thing first, then opening it up in the future is far easier than if it were the other way around (ie. we decided after allowing multiple -e that we really only want one and for it to be a stoppper for args)
18:01 PerlJam nine: I think when that day comes, compatibility with Perl 5 probably won't matter  :)
18:02 treehug8_ joined #perl6
18:02 nine PerlJam: you seem to think that this day is far in the future?
18:03 masak Mouq: I am intrigued by your example.
18:04 PerlJam nine: I dunno, but judging by the time scale of previous Perl cultural shifts, yes.
18:04 masak Mouq: could you maybe give an example input, too? i.e. how would that macro be used? the more concrete, the better.
18:05 nine PerlJam: I don't see a cultural shift needed. I'd say lower start up time, a stricter adherence to S01 and automatic loading of Inline::Perl5 is all it needs. And those are not that far out.
18:06 Mouq masak: It came up in another project where I wanted to do something similar, although I think in both cases it runs into the issue with blocks in quasis
18:06 masak yes, that's what I thought
18:06 Mouq masak: I have class soon, but I'll try to write something up soonish
18:06 masak \o/
18:06 Mouq masak: :)
18:06 Mouq \o
18:06 masak quite often I find myself wishing that a macro could flaunt TTIAR a little.
18:06 tadzik heheh
18:06 tadzik don't we all :)
18:06 PerlJam nine: The cultural shift is convincing p5p that that's all it needs (or that the role of p5p changes)
18:07 masak I guess that comes down to macros being more grammar-y than they are now.
18:12 treehug88 joined #perl6
18:35 prevost joined #perl6
18:36 spider-mario joined #perl6
18:39 dalek roast: cb72de7 | usev6++ | S32-exceptions/misc.t:
18:39 dalek roast: Add test for RT #71800
18:39 dalek roast: review: https://github.com/perl6/roast/commit/cb72de79a1
18:39 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=71800
18:45 rindolf joined #perl6
18:48 kjs_ joined #perl6
18:51 treehug8_ joined #perl6
18:52 leont joined #perl6
19:01 dalek panda/CPAN: 29e0bcb | (Elizabeth Mattijsen)++ | lib/Panda/Fetcher.pm:
19:01 dalek panda/CPAN: Fix Panda breakage caused by S16|S32/IO refactor
19:01 dalek panda/CPAN: review: https://github.com/tadzik/panda/commit/29e0bcb02b
19:01 dalek panda/CPAN: 7398d28 | (Elizabeth Mattijsen)++ | / (3 files):
19:01 dalek panda/CPAN: Use $*CWD instead of cwd()
19:01 FROGGS (not to worry, that's just a branch merge)
19:01 dalek joined #perl6
19:02 molaf joined #perl6
19:06 Mso150_y joined #perl6
19:06 dalek specs: 8f8c840 | moritz++ | S19-commandline.pod:
19:06 dalek specs: [S19] simplify rules for command line parsing
19:06 dalek specs:
19:06 dalek specs: -e now stops command line parsing. This means only one -e is now interpreted.
19:06 dalek specs: Use proper scripts instead.
19:06 dalek specs:
19:06 dalek specs: Rationale:
19:06 dalek specs: p5's disambiguation rule is that everything after the -e program is considered
19:06 dalek specs: an option to perl if it's a valid perl option.
19:06 dalek specs: This means that
19:06 dalek specs: 1) you have to memorize an arbitrary list of options that apply to the
19:06 dalek specs: compiler to know where an option belongs to
19:06 dalek specs: 2) introducing an option to the compiler is a backwards incompatible change
19:06 dalek specs: 3) the rules are more complicated
19:06 dalek specs: review: https://github.com/perl6/specs/commit/8f8c84034c
19:10 Hor|zon joined #perl6
19:16 Mso150_y joined #perl6
19:19 Hor|zon joined #perl6
19:35 ajr joined #perl6
19:36 fhelmberger joined #perl6
19:43 Hor|zon joined #perl6
19:45 Psyche^ joined #perl6
19:56 kjs_ joined #perl6
20:00 treehug88 joined #perl6
20:01 camelia joined #perl6
20:11 virtualsue joined #perl6
20:13 rmgk_ joined #perl6
20:14 kjs_ joined #perl6
20:15 Hor|zon joined #perl6
20:15 lichtkind good night
20:16 rurban joined #perl6
20:18 bjz joined #perl6
20:18 rurban left #perl6
20:25 chipotle joined #perl6
20:26 ribasushi joined #perl6
20:26 japhb moritz: FWIW (after you made the spec change): 1. I've actually used the multiple -e with perl5 before.  2. IIRC this was to get around some confusing bit of shell parsing.  3. The benefit gained over just breaking down and writing my code to a file was not, on balance, worth the ugliness in the default option parsing.  So in other words, as someone who has used the feature you are declaring dead, I think you made the right decision.
20:29 moritz japhb: thanks
20:42 * leont is just at horror at the general behavior, and wonders if it can break MakeMaker (which is using -e + @ARGV in many of the ExtUtils::Command lines)
20:43 kjs_ joined #perl6
20:45 leont I'm looking for a roommate in Salzburg, anyone up for that?
20:47 denis_boyun_ joined #perl6
21:01 dalek roast: 059caa0 | (David Warring david.warring@gmail.com)++ | / (2 files):
21:01 dalek roast: snick in a test for RT #122896
21:01 dalek roast: review: https://github.com/perl6/roast/commit/059caa02b8
21:01 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122896
21:04 timotimo nine: is it safe to say that there's not that much to report on Inline::Perl5 because it's already so close to being done? and you're now spending time on the secret thing you want to unveil at APW?
21:13 beastd joined #perl6
21:27 japhb nine: And as a followup to timotimo's question, what is *not* done for Inline::Perl5?
21:41 chipotle joined #perl6
21:52 dolmen joined #perl6
21:55 lichtkind joined #perl6
21:55 lichtkind there was some talking about closing specs in 2014
21:56 lichtkind is it still relevant?
21:56 lichtkind or is it next chsitmas :)
21:56 lichtkind christman
21:57 lizmat It is my goal to get clarity about that at the APW
21:58 lichtkind allright so i delete this sentence
21:59 lichtkind thanks
21:59 lichtkind sorry cant make it to apw
21:59 japhb As a mantle developer, it does not appear to me that Rakudo's core functionality is sufficiently complete to declare specs closed.
21:59 lichtkind still 2 exams left
21:59 lizmat japhb: clarity does not necessarily equate to closing the specs
22:00 lizmat for me, it will equate to specifying things we want *for sure* in 6.0 and marking them as such in the spec
22:00 japhb lizmat: I don't disagree there.  I'm saying more along the lines of "I mostly expect the clarity to be 'We can't close the specs yet.'"
22:01 lizmat I would take such an outcome as not meeting my expectation
22:03 japhb I cautiously accept your optimism.  ;-)
22:03 timotimo tony-o: just looking at your DB::ORM::Quicky; you're doing $username ~= chr((65 .. 90).pick) for 0 .. 10; which i think is more simply written as  my $username = [~] ("a".."z").roll(10)
22:06 lizmat japhb: to me it's more important that we set what we want for 6.0, and that we can tell the world what that would be
22:07 tony-o timotimo: nice, thank you!
22:07 dalek rakudo/nom: 26e285b | (Elizabeth Mattijsen)++ | src/core/IO/Spec.pm:
22:07 dalek rakudo/nom: Deprecate what we can from IO::Spec
22:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/26e285bf02
22:09 tony-o m: my $username = [~] ("a".."z").roll(10); say $username; $username = [~] ('a'..'z').roll(10); say $username;
22:09 camelia rakudo-moar c24537: OUTPUT«kkxtznlqji␤wnsmvkhrjo␤»
22:09 japhb lizmat: I just haven't seen evidence that any of our previous predictions about solid parts of the spec has actually turned out to be that way *once we actually implemented those parts*
22:10 japhb (And I use 'our' loosely here, because I've not made such a prediction that I can recall -- for reasons that recurse with my above statement.)
22:11 lizmat well, things have been moving very fast the past 6 months
22:12 * japhb is of the "Versioned specs are what happens after unversioned specs get implemented" school of thought, rather than the "Versioned specs are what comes out of committee and gets implemented" school
22:12 japhb lizmat: Oh sure, and that's *fantastic*.
22:12 tony-o timotimo: as soon as i figure out why i have the wrong version of m-CORE i'll push the change
22:12 japhb (everyone who committed this year)++ for that
22:13 lizmat :-)
22:13 * japhb finds this reminiscent of the w3c specs that got enshrined in versioned spec and never came to be -- much less came to be in the same form
22:14 timotimo tony-o: you will need to reinstall/recompile all modules after you've rebuilt your rakudo
22:14 lizmat let's not make the same mistakes  :-)
22:14 tony-o is there a quick way to do that with panda?
22:14 * lizmat runs a rebootstrap.pl to make sure she didn't break panda
22:14 japhb lizmat: *chuckle*.  Yes, well, ... I'm aiming for mistake #0.  :-)
22:15 tony-o really tired of vendors who roll their own "secure" VPN software
22:16 tony-o s/vendors/customers/
22:16 Hor|zon joined #perl6
22:18 chipotle_ joined #perl6
22:19 timotimo "rebootstrap.pl" will remember what packages you've had installed and will install them again
22:21 japhb tony-o: <sarcasm>But it's just so *easy* to do, why wouldn't everyone make their own?  After all, they can add all the extra security ideas they had back in college, plus use one-time pads for everything!  What could go wrong?</sarcasm>
22:21 japhb .oO( Reviewing C++ commits is making me snarky ... )
22:22 timotimo japhb: "and use a one-time pad for everything!" :P
22:24 tony-o i normally don't mind because i can do p6 stuff while the customer fixes their half working VPN stuff but this one wants to do all of this mobile stuff with phones and ipads so they can get their data without being on the network but their VPN doesn't work with mobile devices (inc windows phone), or OSX, or linux, or even firefox|chrome|opera|safari|ie10+ on windows
22:25 timotimo m(
22:27 tony-o guess it's better than no customer
22:28 timotimo except if you're expected to fix such things for them
22:31 tony-o hah
22:34 virtualsue joined #perl6
22:37 jack_rabbit joined #perl6
22:38 njmurphy joined #perl6
22:38 BenGoldberg joined #perl6
22:39 tony-o timotimo: pushed changes
22:45 Hor|zon joined #perl6
22:54 timotimo posted the weekly, too
22:54 tony-o link?
22:56 timotimo p6weekly.wordpress.com
22:57 chipotle_ joined #perl6
23:02 kurahaupo joined #perl6
23:05 tony-o oh cool, i made one :-)
23:07 tony-o is p6 represented at yapc?
23:07 japhb Which YAPC?
23:08 tony-o whichever happens in the US
23:08 tony-o i think it was in texas this year
23:09 japhb That was last year (I went to that one).  It was in Orlando this year, IIRC.
23:09 tony-o yea i'm seeing that now -
23:09 japhb I dunno where the next one is.
23:09 tony-o i think i'm gonna try to go this year even though perl has nothing to do with what i do for a living
23:10 japhb It's usually announced at the conference.
23:10 tony-o this coming year*
23:10 japhb nodnod
23:12 colomon joined #perl6
23:18 woolfy1 The next YAPC::NA will be in Salt Lake City in Utah.
23:19 woolfy1 On 8-10 June, 2015.
23:19 woolfy1 Perl 6 was represented at this year's YAPC::NA, and last year's YAPC::NA, and the year before that too...
23:20 timotimo is the next yapc::eu location known yet?
23:20 woolfy1 Yep, YAPC::EU in 2015 will be in Granada, Spain, in september 2015.
23:21 woolfy1 Exact date...  not know yet.
23:21 woolfy1 But september.  Not august.
23:24 woolfy1 If you want a lot of Perl 6, you gotta go this week to Salzburg, Austria, for the Austrian Perl Workshop & Hackathon.   http://act.useperl.at/apw2014/
23:24 woolfy1 Lots of Perl 6 people at the hackathon.  It is going to be great!
23:25 tony-o austria would be a lot of fun
23:27 woolfy1 Salzburg is one of the most beautiful cities on this planet!
23:27 japhb Wish I could be there.
23:28 tony-o füssen in germany has been my favorite so far
23:29 woolfy1 Füssen, Bavaria, Germany: population of 14,631; town is known for its violinmaking industry. :-)
23:30 tony-o i stayed there for a week when i was 18 or 19, i like the solitude and german folks
23:31 leont What does the jit-by-default mean for rakudobrew? Is the moar versus moar_jit distinction still relevant?
23:32 timotimo i think we'll want to turn that into "moar" and "moar_nojit"
23:32 timotimo as it stands, the "moar" target will give you a moar-jit and "moar_jit" will give you a "--enable-jit is no longer needed" message
23:37 fhelmberger joined #perl6
23:50 Akagi201 joined #perl6
23:59 _slade_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo