Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-12-12

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:19 * psch sleeps &
00:33 KCL joined #perl6
00:42 kurahaupo joined #perl6
01:03 atroxaper joined #perl6
01:13 BenGoldberg joined #perl6
01:21 dalek specs: f03e922 | TimToady++ | S99-glossary.pod:
01:21 dalek specs: shortname and longname are compounded already
01:21 dalek specs: review: https://github.com/perl6/specs/commit/f03e922ca3
01:21 tinyblak joined #perl6
01:25 dylanwh joined #perl6
01:27 danaj_ joined #perl6
01:36 tinyblak joined #perl6
01:38 tinyblak_ joined #perl6
01:39 tinyblak joined #perl6
01:41 dylanwh joined #perl6
01:43 kst joined #perl6
01:56 dayangkun joined #perl6
02:04 tony-o anyone else have an issue with the rakudo 2014.11 tag building with openjdk 1.7?
02:09 Vlavv joined #perl6
02:12 rmgk_ joined #perl6
02:15 tinyblak joined #perl6
02:22 chenryn joined #perl6
02:26 tinyblak_ joined #perl6
02:28 tinyblak_ joined #perl6
02:55 atroxaper joined #perl6
03:03 ab5tract joined #perl6
03:04 jimmy2 joined #perl6
03:10 noganex_ joined #perl6
03:20 oetiker joined #perl6
03:32 [Coke] http://perl6advent.wordpress.com/2014/12/12/day-12-towards-cleaner-jvm-interoperability/ - might be missing an escape for the <> on $ perl6-j -e'use Bar:from; ?
03:45 kaare_ joined #perl6
04:05 kurahaupo joined #perl6
04:05 aborazmeh joined #perl6
04:07 colomon_ Ah, crap.  Tried to fix the typo [Coke] found, fixed it but made everything else worse.  Stupid wordpress.
04:08 tinyblak joined #perl6
04:15 colomon_ Damn damn damn damn
04:19 japhb .oO( Take off and nuke it from orbit.  It's the only way to be sure. )
04:20 colomon_ Somehow editing one line in there changed every < to &lt; and so on
04:20 japhb EWWW
04:20 colomon_ And even when I tell it to restore peschwa's version, it still happens.
04:21 colomon_ so i've completely borked the code in the post, and I cannot figure out any way to fix it.
04:22 colomon_ what's really awesome is it keeps adding on.  So now &lt; has become &amp;lt;
04:24 xiaomiao colomon_: escaping is hard to do ;)
04:32 colomon joined #perl6
04:34 m_athias joined #perl6
04:35 kaleem joined #perl6
04:44 chenryn joined #perl6
04:48 molaf joined #perl6
04:51 ab5tract joined #perl6
05:00 rurban joined #perl6
05:04 kaleem joined #perl6
05:15 ab5tract joined #perl6
05:16 dylanwh joined #perl6
05:29 ptc_p6 joined #perl6
05:52 chenryn joined #perl6
05:53 JimmyZ_ 早上好
06:07 xinming joined #perl6
06:33 atroxaper joined #perl6
06:40 bjz joined #perl6
06:41 aborazmeh joined #perl6
06:49 kaare_ joined #perl6
06:50 telex joined #perl6
06:57 kaleem joined #perl6
07:03 Isp-sec joined #perl6
07:13 dayangkun joined #perl6
07:22 FROGGS joined #perl6
07:29 anaeem1_ joined #perl6
07:35 tinyblak_ joined #perl6
07:38 konsolebox joined #perl6
07:48 chenryn joined #perl6
07:54 vti joined #perl6
08:05 anaeem1__ joined #perl6
08:07 Util_ joined #perl6
08:09 Brock joined #perl6
08:09 perlpilot joined #perl6
08:11 jimmy2 joined #perl6
08:13 sftp_ joined #perl6
08:15 Alina-malina joined #perl6
08:16 jimmy_ joined #perl6
08:23 darutoko joined #perl6
08:25 zakharyas joined #perl6
08:27 rurban joined #perl6
08:30 jimmy_ joined #perl6
08:40 rurban joined #perl6
08:47 sqirrel_ joined #perl6
08:48 tinyblak joined #perl6
08:49 jimmy_ joined #perl6
08:51 tinyblak joined #perl6
08:52 atroxaper joined #perl6
08:57 dalek doc: b7adf34 | (Joji Antony)++ | bin/p6doc:
08:57 dalek doc: Fix issue #31
08:57 dalek doc: review: https://github.com/perl6/doc/commit/b7adf34954
08:57 dalek doc: 6b46eaf | moritz++ | bin/p6doc:
08:57 dalek doc: Merge pull request #32 from simula67/windows_doc_fix
08:57 dalek doc:
08:57 dalek doc: Fix issue #31
08:57 dalek doc: review: https://github.com/perl6/doc/commit/6b46eaff3e
08:58 tinyblak joined #perl6
09:00 tinyblak_ joined #perl6
09:05 molaf_ joined #perl6
09:06 ab5tract joined #perl6
09:06 tinyblak joined #perl6
09:10 konsolebox joined #perl6
09:12 fhelmberger joined #perl6
09:12 abraxxa joined #perl6
09:20 kaleem joined #perl6
09:25 Rounin joined #perl6
09:27 rurban joined #perl6
09:28 [Sno] joined #perl6
09:37 ab5tract joined #perl6
09:42 prevost joined #perl6
09:44 sqirrel_ joined #perl6
10:00 zakharyas joined #perl6
10:04 sergot m: class A { }; my $a = A.new; die $a.WHAT;
10:04 camelia rakudo-moar 3fa1bd: OUTPUT«use of uninitialized value of type A in string context  in block <unit> at /tmp/xJ1iW2vZSP:1␤␤Error while creating error string: No exception handler located for warn␤»
10:05 sergot wait, what?
10:05 sergot m: class A { }; my $a = A.new; say $a.WHAT;
10:05 camelia rakudo-moar 3fa1bd: OUTPUT«(A)␤»
10:05 sergot m: class A { }; my $a = A.new; die $a.WHAT;
10:05 camelia rakudo-moar 3fa1bd: OUTPUT«use of uninitialized value of type A in string context  in block <unit> at /tmp/D6MlaJm4AW:1␤␤Error while creating error string: No exception handler located for warn␤»
10:05 tadzik hmm
10:08 rurban_ joined #perl6
10:09 moritz sergot: die $a.^name
10:09 moritz sergot: that gives you the type name. .WHAT gives the type *object* back
10:09 jnthn morning, #perl6
10:09 moritz sergot: and say() uses .gist on the type object, but die() uses .Str
10:09 moritz \o jnthn
10:09 jimmy_ moarning, jnthn
10:09 sergot hi jnthn
10:10 sergot moritz++ thanks!
10:26 eternaleye joined #perl6
10:28 prevost joined #perl6
10:29 anaeem1 joined #perl6
10:32 rindolf joined #perl6
10:33 dalek joined #perl6
10:35 rurban joined #perl6
10:38 eternaleye joined #perl6
10:40 rurban joined #perl6
10:42 atroxaper joined #perl6
10:43 rurban1 joined #perl6
10:49 Alula joined #perl6
10:52 anaeem1 joined #perl6
11:01 anaeem1__ joined #perl6
11:30 rurban1 joined #perl6
11:37 rurban joined #perl6
11:52 denis_boyun_ joined #perl6
11:55 TuxCM joined #perl6
11:59 ptc_p6 joined #perl6
12:04 vti joined #perl6
12:04 andreoss joined #perl6
12:07 denis_boyun___ joined #perl6
12:07 |Tux| joined #perl6
12:16 brrt joined #perl6
12:16 brrt \o
12:16 brrt jnthn++ for yesterdays p6advent calendar :-)
12:25 jnthn :-)
12:27 andreoss how do i prevent flattening here without loosing the sigil?  # my @a = 1,2 Z -1,-2; # (1,-1),(2,-2)
12:27 andreoss
12:30 jnthn Hm, binding it instead of assigning seems to do it
12:30 jnthn m: my @a := (1,2 Z -1,-2); say @a[1]
12:30 camelia rakudo-moar 3fa1bd: OUTPUT«2 -2␤»
12:30 jnthn oops, didn't need the parens there
12:30 jnthn m: my @a := 1,2 Z -1,-2; say @a[1]
12:30 camelia rakudo-moar 3fa1bd: OUTPUT«2 -2␤»
12:31 mvuets joined #perl6
12:33 denis_boyun joined #perl6
12:33 JimmyZ_ joined #perl6
12:34 JimmyZ_ jnthn++ indeed # very much promising post :)
12:38 smls joined #perl6
12:39 TuxCM joined #perl6
12:42 smls colomon: re introducing escaping/formatting errors by editing a wordpress post: Did you maybe use the visual (WYSIWYG) editor? Because I've noticed that switching to the visual editor after writing a post in the raw (HTML) editor, tends to break things.
12:44 colomon I think when I opened up the post it was in the "new" editor and then I switched to the "classic" editor.
12:52 anaeem1_ joined #perl6
12:53 rurban joined #perl6
13:05 vti joined #perl6
13:10 denis_boyun joined #perl6
13:18 dalek roast: c1cfc1c | jnthn++ | S12-meta/primitives.t:
13:18 dalek roast: Tests for new Metamodel::Primitives.
13:18 dalek roast: review: https://github.com/perl6/roast/commit/c1cfc1c08a
13:31 dalek rakudo/nom: 7432d62 | jnthn++ | / (4 files):
13:31 dalek rakudo/nom: Expose some MOP primitives for Perl 6 programmers.
13:31 dalek rakudo/nom:
13:31 dalek rakudo/nom: Now the 6model API has been stable for a while, we should expose some
13:31 dalek rakudo/nom: key aspects of it. So far, short of using nqp::ops, it has not been
13:31 dalek rakudo/nom: possible for a Perl 6 meta-programmer to totally create their own
13:31 dalek rakudo/nom: kinds of type from scratch; customizing existing ones has been the
13:31 dalek rakudo/nom: only way. Custom publishing of method caches has also not been on
13:31 dalek rakudo/nom: offer, and some modules could certainly make use of it. Now it will
13:31 dalek rakudo/nom: be possible.
13:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7432d6202e
13:32 dalek rakudo/nom: 9cb09a5 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
13:32 dalek rakudo/nom: Fix missing decont with .REPR implementation.
13:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9cb09a56f7
13:32 dalek rakudo/nom: b197c61 | jnthn++ | t/spectest.data:
13:32 dalek rakudo/nom: Run S12-meta/primitives.t.
13:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b197c61b47
13:33 atroxaper joined #perl6
13:38 prevost joined #perl6
13:42 FROGGS does a meta programmer program programmers?
13:43 JimmyZ_ so Is there a rule about -/_ when it is used in me-thod/me_thod ?
13:44 JimmyZ_ in the core setting
13:44 colomon JimmyZ_: I think "we" decided years ago to prefer - in sub and method names
13:44 colomon but it's never been consistent in the core.
13:45 FROGGS yes, we prefer - over _
13:45 JimmyZ_ yeah, I just find it's not consistent
13:46 FROGGS JimmyZ_: internally, or are you talking about exposed methods/subs?
13:46 JimmyZ_ FROGGS: exposed
13:46 FROGGS ohh, that's not good
13:47 JimmyZ_ .tell lizmat ^^ how do you think it?
13:47 yoleaux JimmyZ_: I'll pass your message to lizmat.
13:48 rurban1 joined #perl6
13:48 jnthn Well, it started with .is-prime, which I asked to make is_prime for consistency with the rest, and then once there was one case, we of course started getting many more :/
13:49 colomon jnthn: as I remember it, the "decision" predated is-prime by years, but we never came even vaguely close to being consistent about it.  :)
13:50 jnthn That was the first one I remember actually making it into core with a -
13:52 masak seems DNS is very unstable right now...
13:52 jnthn I agree - looks nicer, but I'd prefer consistency in CORE.setting over "occasionally something looks pretty" :/
13:52 jnthn masak: Maybe it's the stormy weather?
13:53 jnthn .oO( "We decided to pre-emptively cancel some DNS lookups, just like we did with the trains" )
13:53 smls jnthn: Although the built-in Perl 6 sub/method names are not consistent, there is sort of a pattern: "Every-day", user-facing ones like «is-prime» tend to use the dash, while "low-level"/"under the hood" ones like «at_pos» tend to use an underscore
13:54 lizmat computer: messages
13:54 yoleaux 13:47Z <JimmyZ_> lizmat: ^^ how do you think it?
13:54 jnthn smls: I suspect that's a blury enough distinction that it devolves into a "list of things to remember"
13:54 smls then change them all to dash! :P
13:54 lizmat fwiw, I think all public API from the core, would need to be consistent
13:54 lucas__ joined #perl6
13:54 lizmat and my consistency goes toward kebab-case
13:55 lucas__ Well, since you people touched the subject of dashes vs. underscore... Let me remind you of the Range excludes-{min,max} methods! :D
13:55 lizmat anything internal to the implementation (like at_pos, at_key) I don't care much about
13:56 smls are those really implementation specific?
13:56 lizmat actually, I prefer them to have underscores as a sort of indicator that they're not part of the public API
13:56 smls I thought they were the recommended way to provide postcircumfix:<[ ]> for your custom classes
13:56 jnthn lizmat: But at_pos *is* the thing you implement for...what smls++ said
13:56 lizmat at_pos / at_key are not mentioned in the synopses: that should be an indication
13:57 lizmat ah, good point
13:57 lizmat this is a fallout of the method -> sub transformation
13:57 lizmat hmmm....
13:58 lizmat I guess we should either upgrade at_pos / at_key to proper public API (as at-pos and at-key, probably)
13:58 lizmat or we should provide another way for classes to implement postcircumfixL<[]>
13:58 jnthn lizmat: I think they are mentioned in the synopses.
13:58 jnthn And I'm fairly sure they show up in the spectests
13:59 lizmat at_pos does, as part of IO-Socket-INET
13:59 jnthn But classes *don't* implement that, we changed that so we have a hope of getting native array accesses to compile into something nice.
13:59 lizmat at_key does not
14:00 smls Well they're still different in the sense that from the point of view of script writers, they're not supposed to be *called*, they're supposed to be *defined* (in custom classes).
14:00 jnthn Oh, the typecasting-long.t tests were just skipped instead of updated :(
14:00 smls So that might be a potential line to draw for different naming schemes
14:02 smls To discourage people from writing   @foo.at-pos(3)  in normal code... L)
14:03 dalek roast: 1c69e62 | (Elizabeth Mattijsen)++ | S32-io/IO-Socket-INET.pl:
14:03 dalek roast: Properly do []
14:03 dalek roast: review: https://github.com/perl6/roast/commit/1c69e62166
14:03 dalek roast: da9a349 | (Elizabeth Mattijsen)++ | S32-io/IO-Socket-INET.t:
14:03 dalek roast: Make sure test runs on OS X (again)
14:03 dalek roast: review: https://github.com/perl6/roast/commit/da9a349f76
14:04 lizmat jnthn: fwiw, I don't see any mention of at_pos/key in specs or roast anymore
14:05 jnthn Arrrghh *sigh*
14:05 jnthn Dammit.
14:05 lizmat what, that it is not mentioned ?
14:05 jnthn Yes, and not tested.
14:05 jnthn And that the tests we did have for doing this type of thing were just skipped.
14:06 colomon Let's fix that.  (And let jnthn work on the hard stuff.  :)
14:07 jnthn Well, the hard stuff will be right in this area soon, since I'll be adding postcircumfix:<[ ]> candidates for native arrays... :)
14:07 jnthn But yes, please let's salvage those tests.
14:09 jnthn Hm, this month's release is next week.
14:10 lizmat yes
14:11 jnthn OK. I'll probably have a branch for moving towards 6pe by then, and starting to prepare for the native arrays. But won't be mergable by that point.
14:13 jnthn I'm doing various bits of non-disruptive groundwork in nom, though.
14:13 lizmat $ ack -l 'METHOD TO SUB CASUALTY' t/spec
14:13 lizmat t/spec/S02-names-vars/varnames.t
14:13 lizmat t/spec/S12-methods/parallel-dispatch.t
14:13 lizmat t/spec/S13-overloading/operators.t
14:13 lizmat t/spec/S13-overloading/typecasting-long.t
14:13 lizmat t/spec/S13-overloading/typecasting-mixed.t
14:13 lizmat t/spec/S13-overloading/typecasting-short.t
14:13 lizmat t/spec/S14-roles/parameterized-type.t
14:14 lizmat files that contain similar problematic bits
14:14 jnthn eek
14:14 jnthn Quite a few.
14:14 lizmat I just remembered marked them when doing the method to sub migration
14:14 lizmat *marking
14:15 jnthn Well, good that they're marked and easily findable, at least.
14:15 lizmat that's what I figured  :-)
14:18 JimmyZ_ I'm very +1 to ALL to kebab-case :)
14:18 PZt joined #perl6
14:19 masak m: foo(); macro foo() { say "OH HAI" }; BEGIN { say "switching to runtime" }
14:19 camelia rakudo-moar 3fa1bd: OUTPUT«switching to runtime␤OH HAI␤»
14:20 jnthn masak: If you write CHECK instead you can put it anywhere. :)
14:20 masak TimToady: what should the semantics be of a macro that's called before its declaration? error at CHECK time?
14:20 jnthn (the BEGIN block I mean)
14:20 masak m: CHECK { say "doing what jnthn says" }; foo(); macro foo() { say "OH HAI" }
14:20 camelia rakudo-moar 3fa1bd: OUTPUT«doing what jnthn says␤OH HAI␤»
14:21 jnthn And yeah, that makes it very clear it runs after compilation.
14:21 masak TimToady: I think the above semantics is basically an emergent accident, and should be fixed.
14:21 masak it's too surprising that the exact same statement might meant two wildly different things depending on whether it comes before or after its definition.
14:22 jnthn masak: I'm inclined to agree
14:22 masak ok, that's good enough for me.
14:22 masak spec clarification coming up.
14:24 jnthn m: say A; class A { }
14:24 camelia rakudo-moar 3fa1bd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5iWGahghKEâ�¤Illegally post-declared type:â�¤    A used at line 1â�¤â�¤Â»
14:24 masak yeah.
14:24 jnthn I think given a macro is als something effective at compile time, we can argue it along the same lines as this
14:24 jnthn And maybe even implement it using the same mechanism.
14:25 dalek specs: 272d12f | masak++ | S06-routines.pod:
14:25 dalek specs: clarify that macros can't be called before they're defined
14:25 dalek specs: review: https://github.com/perl6/specs/commit/272d12fc84
14:26 masak ...and because it's now spec... :)
14:26 * masak submits rakudobug
14:30 anaeem1 joined #perl6
14:32 [Coke] oh thank goodness I didn't volunteer for this release. :)
14:33 [Coke] (skips) we have a lot of tests that were skipped out of t/spectest.data pre-some-other release that were not re-enabled post-release.
14:33 [Coke] (flappers)
14:34 andreoss is there a way to cancel a promise inside start {} block ?
14:34 lizmat andreoss: you mean the one that was returned by start ?
14:34 lizmat also: what do you mean by "cancel" ?
14:34 onebitboy joined #perl6
14:34 lizmat if you want to break the promise, a simple "die" inside the start code will do
14:35 lizmat *started
14:35 andreoss cancel like it never happened
14:35 jnthn I tend to use a Promise to convey cancellation.
14:35 lizmat define "it" in this context, please?
14:35 onebitboy joined #perl6
14:35 jnthn Have the thing I want to be able to cancel close over it, and poll it at appropriate points.
14:36 jnthn And then if I want to cancel, just keep it.
14:37 jnthn We may want to make it a little more convenient, but the mechanism - at least for CPU-bound work - is about right.
14:37 anaeem1 joined #perl6
14:38 perlpilot good * #perl6
14:39 masak perlpilo^WPerlJam! \o/
14:39 jnthn o/ PerlJam
14:40 anaeem1_ joined #perl6
14:41 andreoss jnthn: your workaround with redefining $*SCHEDULER works yesterday, but today it throws 'Cannot modify an immutable ThreadPoolScheduler'
14:42 jnthn m: my $*SCHEDULER = ThreadPoolScheduler.new
14:42 camelia rakudo-moar 3fa1bd: ( no output )
14:42 FROGGS andreoss: forgot the 'my' ?
14:42 FROGGS m: $*SCHEDULER = ThreadPoolScheduler.new
14:42 camelia rakudo-moar 3fa1bd: OUTPUT«Cannot modify an immutable ThreadPoolScheduler␤  in block <unit> at /tmp/8qPgoeTLbE:1␤␤»
14:42 dalek rakudo/newio: 8b85116 | usev6++ | src/core/operators.pm:
14:42 dalek rakudo/newio: Allow chained sequences with closures
14:42 dalek rakudo/newio: and more than one element after last infix:<...> operator
14:42 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/8b85116017
14:42 dalek rakudo/newio: 5f64944 | (Tobias Leich)++ | src/core/operators.pm:
14:42 masak probably remembered the 'my' yesterday :P
14:42 lizmat (sorry Dalek)
14:42 jnthn Yes, forgotten "my" is most likely :)
14:43 dalek joined #perl6
14:43 andreoss it worked without my.
14:43 FROGGS lizmat: btw, did you see my messages about panda/eleven a week ago?
14:44 FROGGS andreoss: but you really want to declare your own scheduler
14:44 timotimo FROGGS: https://www.youtube.com/watch?v=5FFRoYhTJQQ
14:44 lizmat FROGGS: I may have missed them...  haven't been backlogging very precisely, I must admit  :-(
14:45 FROGGS here it comes:
14:45 FROGGS lizmat: I can rebootstrap panda/eleven into a json blob using that config: https://gist.github.com/FR​OGGS/e9ef49b8fd8aab1a1149
14:45 FROGGS lizmat: now I try to unborke installing a module
14:45 FROGGS lizmat: I can install modules now with panda/eleven
14:45 lizmat aaaah, cool!
14:45 FROGGS :o)
14:45 lizmat FROGGS++
14:45 FROGGS timotimo: I think I've sen that one :o)
14:45 FROGGS seen*
14:49 jnthn TimToady: The second bit of http://perlcabal.org/syn/S12.html#Class_methods talks about method ^foo() { }
14:50 jnthn TimToady: However, it's not really consistent with the current semantics of .^ calls, which pass the object as an argument.
14:51 jnthn TimToady: I'd been looking at implementing the method ^foo() { } thing as providing a per-type way to override something a meta-object does (meaning Array can simply have a method ^parameterize(...) { ... } which will work out rather nicely with the upcoming parametricity changes).
14:52 jnthn TimToady: If it really did just work as "create a role with this method in and mix it into the meta-object", it's probably easy enough. But the spec seems to want a forwarder method on the class too, which would I guess need to do some magic with the args, and the example in S12 would need to take an arg to work today.
14:52 jnthn TimToady: Thoughts welcome. :)
14:53 rurban1 joined #perl6
14:58 rurban1 joined #perl6
15:00 kaleem joined #perl6
15:01 kaare_ joined #perl6
15:07 pmichaud good morning #perl6
15:07 pmichaud I thought I'd add some historical commentary on the API-ness of at_pos and at_key
15:09 masak pmichaud! \o/
15:09 pmichaud prior to at_pos and at_key, most people expected user-defined classes to overload postcircumfix:<[]> directly.  But that ends up meaning that user-defined classes also have to handle slicing, whatever-ness, etc.
15:10 pmichaud so, as an implementation detail (and to point the way I thought would be "more correct"), I introduced at_pos and at_key to provide the underlying single-element accessor, with slicing and overloads in the postcircumfix
15:11 pmichaud so, they've never been officially blessed or spec'd in Perl 6, which is why they've continued to have underscores
15:11 pmichaud at one time we even considered AT_POS and AT_KEY to highlight their "this is an implementation detail"
15:11 pmichaud but, I still think that having a underlying "here's how to retrieve a single element" method is the way to go, and that it should become part of the official api/spec
15:12 pmichaud history ends
15:12 smls pmichaud++  # history
15:13 smls pmichaud: How should user-defined classes handle things like   $foo{bar}:delete   and   $foo[42]:exists  though?
15:13 masak excellent question.
15:14 PerlJam jnthn: maybe declaring the method as ^foo automagically adds the appropriate object parameter to the signature?  Then the forwarder could just fill-in that value with an appropriate object.
15:14 rurban1 joined #perl6
15:14 smls Are all adverbs passed along to «at_pos» or is there a need for additional «exists_pos» and «delete_pos» variants?
15:15 PerlJam pmichaud: greetings!  :)
15:15 hoelzro o/ #perl6
15:16 masak \o hoelzro
15:16 hoelzro o/ masak
15:26 pmichaud I had generally expected there to be an exists_pos and delete_pos variants, I think.
15:26 pmichaud I wouldn't want them to be adverbial to at_pos.
15:26 pmichaud More generally, at_pos really wants to be fast.
15:27 onebitboy joined #perl6
15:28 JimmyZ_ m: Metamodel::.keys
15:28 camelia rakudo-moar 3fa1bd: ( no output )
15:28 JimmyZ_ m: say Metamodel::.keys
15:28 camelia rakudo-moar 3fa1bd: OUTPUT«Archetypes Naming Documenting Stashing Versioning TypePretense MethodDelegation BoolificationProtocol PackageHOW ModuleHOW GenericHOW AttributeContainer Finalization MethodContainer PrivateMethodContainer MultiMethodContainer RoleContainer MultipleInherita…»
15:28 lizmat smls: exists_pos, delete_pos, assign_pos and bind_pos are part of this set as well
15:28 pmichaud ...assign pos?
15:28 JimmyZ_ hmm, why Metamodel::Primitives is in the core setting, and others are not?
15:29 smls ok
15:29 lizmat pmichaud: there is a candidate in postcircumfix:<[ ]> for that
15:29 lizmat see array_slice.pm
15:29 pmichaud I'll have to investigate it later.
15:30 pmichaud I need to rush off again -- have to prepare for competition tomorrow
15:30 pmichaud bb next week
15:30 lizmat cu then!
15:30 PerlJam pmichaud: good luck!
15:30 masak bye pmichaud, and good luck!
15:31 * PerlJam finds it oddly funny that we're wish pmichaud luck when it's really the kids that need the luck (or just skill :)
15:32 PerlJam *wishing
15:32 pmichaud coaches need luck too... sometimes more than the kids :)
15:35 jnthn PerlJam: Yeah, but you may well want to talk about the argument :)
15:35 jnthn smls, pmichaud: I believe today it's already done as delete_pos, exists_pos, and the similar _key things.
15:36 smls yeah, makes sense
15:36 jnthn Oh, lizmat already answered that :)
15:36 smls But you don't *have* to implement all of them, do you?
15:36 smls e.g. if you don't want your elments to be deletable
15:36 jnthn smls: Well, if you miss one out that :exists and :delete just wouldn't work. :)
15:36 jnthn s/that/then/
15:37 smls Also, is anyone actually using 'delete' on arrays?
15:37 smls In Perl 5 it is deprecated and almost never used
15:37 lizmat m: class A { method at_pos($a) { $a + 1 }; method exists_pos($a) { $a == 42 } }; say A.new[42]; say A.new[42]:exists; say A.new[43]:exists
15:37 camelia rakudo-moar 3fa1bd: OUTPUT«43␤True␤False␤»
15:37 smls And when it is, it's usually considered a design smell
15:38 smls I think a   :remove   with splice semantics would be much more useful.
15:38 smls Because splice is one of those functions where I always need to go to the documentation and look up what each argument means, when I haven't used it for a while.
15:38 smls @foo[42]:remove  otoh would be easy to remember :)
15:39 lizmat fwiw, I wouldn't be against that
15:39 PerlJam smls: at first blush, I like it
15:40 lizmat @foo[42..50] = @bar[1,2,3] # would also be nice
15:40 smls I'd even go so far as deprecating  :delete  completely,  and providing only  :remove  for both arrays and hashes.
15:40 smls (For hashes, it would do exactly what delete does now, but having the same name is nice for consistency.)
15:41 smls m: my @a; @a[10] = "foo"; say @a.elems;
15:41 camelia rakudo-moar 3fa1bd: OUTPUT«11␤»
15:42 smls ^^ In a language where this would print 1, delete would make sense
15:42 smls But as it is, it adds weird "arrays with holes" semantics that seem out of place with everything else that arrays do.
15:43 lizmat m: my @a = ^5; @a[3]:delete; .say for @a   # perhaps it should skip element #3
15:43 camelia rakudo-moar 3fa1bd: OUTPUT«0␤1␤2␤(Any)␤4␤»
15:43 dalek perl6-roast-data: 6e59a1b | coke++ | / (5 files):
15:43 dalek perl6-roast-data: today (automated commit)
15:43 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/6e59a1b26d
15:43 PerlJam smls: except that shaped array promise the ability for arrays with holes.
15:45 jnthn It's useful for sparse arrays also
15:45 jnthn Which ours aren't by default
15:45 jnthn But modules could certainly implement them in various ways.
15:45 jnthn Certain problems tend to want them.
15:45 smls jnthn: What do they tend to create a full array first, and the 'delete' individual elements?
15:46 smls *But
15:46 telex joined #perl6
15:47 smls PerlJam: Is the shaped arrays support the same thing though?
15:47 jnthn smls: More normally you only ever set a small number of the elements compared to the overall size, so a more typical representation would be more tree-like...
15:47 smls PerlJam: I thought that was just a way to use non-custom names for your indexes.
15:48 JimmyZ_ jnthn: I see almost all method is Metamodel:: namespace is using underscore, is it fine to change to dash finally?
15:48 smls *non-standard
15:49 smls jnthn: Do those hypothetical specialized data structures need to do all of that through postcircumfix:<[ ]> though?
15:51 smls It seems odd that it provides an adverb for something that is not useful for normal built-in arrays, while not providing one for remove semantics that *would* be very useful for them.
15:51 jnthn smls: It'd be pretty un-Perl 6-ish to not be able to handle alternative storage strategies using the same API.
15:51 jnthn m: my @a = 1..4; say @a[2]:exists; @a[2]:delete; say @a[2]:exists;
15:51 camelia rakudo-moar 3fa1bd: OUTPUT«True␤False␤»
15:51 smls jnthn: What if a module author comes up with yet another thing that could be done through .[] for specialized arrays?
15:52 jnthn smls: Then...nice for that module author, I guess? :)
15:52 smls well, except that no adverb is provided for it
15:52 PerlJam smls: the onus would be on the module author then.
15:52 jnthn So define it.
15:52 jnthn Uh, so the module author would define it, I mean.
15:52 smls by overloading postcircumfix:<[ ]> after all?
15:53 smls And why can't module authors also define  :delete  then?
15:53 jnthn m: multi postcircumfix:<[ ]>(@array, $idx, :$remove!) { @array.splice($idx, 1); }; my @a = 1..4; @a[2]:remove; say @a.perl
15:53 camelia rakudo-moar 3fa1bd: OUTPUT«Array.new(1, 2, 4)␤»
15:54 jnthn smls: You're behaving like :exists and :delete don't actually do anything on Array today. They do. I just showed you they do.
15:54 jnthn And "is it there" vs "does it have a value" can be a quite useful distinction.
15:55 lizmat jnthn: but fwiw, I think a deleted array element should return Mu rather than Any
15:55 smls a distinction that auto-vivification blurs.
15:55 jnthn Granted we use it a lot more on hashes.
15:56 smls I get the feeling that delete on arrays is one of those things that Perl 6 just carried over from Perl 5 by default in its earlier years, and never got the memo when the Perl 5 community figured out it was a mistake and deprecated it...
15:57 jnthn lizmat: It should behave like any other non-existing element, no?
15:58 lizmat m: my @a is default(42) = ^5; @a[3]:delete; say @a[3]; .say for @a   # bug with for, something for GLR
15:58 camelia rakudo-moar 3fa1bd: OUTPUT«42␤0␤1␤2␤(Any)␤4␤»
15:58 lizmat jnthn: well, that is the question  :-)
15:58 lizmat should we make a difference between no container and an container containing (Any) ?
15:59 PerlJam smls: maybe :delete just needs a different name because it currently implies more than it delivers.  Something like :reset or :undefine or  ... idk   (or maybe, as you say, it should go away)
16:00 lizmat hmmm... don't we have anybody for tomorrow's advent post yet ?
16:01 PerlJam I was thinking of doing one on what comes "out of the box" with Rakudo  (mostly a survey of src/core) but I haven't really got much time for writing.
16:06 smls How about:
16:06 smls %a{foo}:remove   and   @a[42]:remove   for splicing out an element.
16:06 smls @a[42]:unset   (with no equivalent for postcircumfix:<{ }>) for making a hole in a positional data structures that want to support it (of whichy built-in arrays don't need to be one, imo).
16:08 smls the name 'remove' has the benefit of making it clear that it is not like Perl 5's delete, and also sounds appropriate for something that is technically merely a "side-effect" of indexing an element.
16:10 smls Btw. one reason why delete was deprecated in Perl 5 is that newbies who were told to use it on hashes, often also use it on arrays thinking it splices out elements, leading to strange bugs.
16:10 smls remove vs unset would make it very clear what's going on.
16:11 smls .tell TimToady ^^
16:11 yoleaux smls: I'll pass your message to TimToady.
16:12 PerlJam smls: like he isn't already going to backlog :)
16:19 smls to expand on "of which built-in arrays don't need to be one": jnthn's defense of delete has convinced me that adding holes would be useful for a custom class that implements sparse arrays, but he hasn't convinved me at all that it should be supported by the same built-in array class that autovivifies elements, because those two features don't make much sense together.
16:20 mvuets joined #perl6
16:21 mvuets new take on text camelia: ƸöƷ
16:24 JimmyZ_ oh
16:27 * jnthn away for a bit
16:27 smls With more distinct antennae: Ƹo̎Ʒ
16:29 * lizmat is considering a small advent post about interpolation
16:30 smls And with legs: Ƹo̤̎Ʒ
16:30 lizmat for tomorrow, unless someone else has a better idea and the time to do it before 0:00 UTC
16:36 rindolf joined #perl6
16:37 lizmat smls: if we ever need a 'camelia' operator, we have the non-texan version now  :-)
16:37 lizmat m: my %h = a=>42,b=>666; say "%h[]"   # feels awkward
16:38 camelia rakudo-moar 3fa1bd: OUTPUT«a    42 b    666␤»
16:38 lizmat m: my %h = a=>42,b=>666; say "%h[0]"   # logic, to an extent
16:38 camelia rakudo-moar 3fa1bd: OUTPUT«a    42 b    666␤»
16:38 masak lizmat: interpolation sounds great. go for it.
16:38 atroxaper joined #perl6
16:39 lizmat so what would be a good definition of the Zen slice ?
16:39 lizmat it is mentioned a few times in the spec, but nowhere defined, really (only by example)
16:39 lizmat (oops, I acked for "Zen" rather than "zen")
16:40 masak lizmat: a zen slice of something like @a always gives @a. that's the definition.
16:40 masak lizmat: I always read it as being "Zen" because it's empty, and yet it has meaning.
16:40 PerlJam lizmat: sounds like something that should go in S99 if it's not already there
16:40 lizmat PerlJam: doing that right now
16:41 lizmat m: my $a = 42; say "$a[]"  # it even works on scalars
16:41 camelia rakudo-moar 3fa1bd: OUTPUT«42␤»
16:42 andreoss joined #perl6
16:44 dalek specs: 9222ac6 | (Elizabeth Mattijsen)++ | S99-glossary.pod:
16:44 dalek specs: Add "Zen slice" lemma
16:44 dalek specs: review: https://github.com/perl6/specs/commit/9222ac6369
16:44 beastd joined #perl6
16:45 zakarias joined #perl6
16:46 dj_goku joined #perl6
16:46 dj_goku joined #perl6
16:47 mr-foobar joined #perl6
16:48 dalek mu: e398180 | (Elizabeth Mattijsen)++ | misc/perl6advent-2014/schedule:
16:48 dalek mu: Day #13: Interpolation and the Art of Zen Slicing
16:48 dalek mu: review: https://github.com/perl6/mu/commit/e39818057a
16:49 lizmat hmmm....
16:50 dalek mu: e1bfbf8 | (Elizabeth Mattijsen)++ | misc/perl6advent-2014/schedule:
16:50 dalek mu: Make that "String Interpolation"
16:50 dalek mu: review: https://github.com/perl6/mu/commit/e1bfbf86f0
16:53 treehug88 joined #perl6
16:53 lizmat m: my $args = \3; say @$args; say Array($args)   #  S02:2302 claims they should return the same
16:53 synopsebot Link: http://perlcabal.org/syn/S02.html#line_2302
16:53 camelia rakudo-moar 3fa1bd: OUTPUT«3␤\(3)␤»
16:54 mr-foobar any nqp/rules tutorial ?
16:55 lizmat m: my $args = \a=>42; say %$args; say Hash($args)   # same here, at S02:2303  (and .Hash seems to be NYI)
16:55 synopsebot Link: http://perlcabal.org/syn/S02.html#line_2303
16:55 camelia rakudo-moar 3fa1bd: OUTPUT«EnumMap.new("a", 42, )␤Cannot find method 'Hash'␤  in block <unit> at /tmp/5aSEYoHhd7:1␤␤»
17:00 FROGGS joined #perl6
17:02 smls .tell psch «In our case this means “a method called update which takes a primitive byte and returns void“» --is this still correct after you updated to example to use 'method/update/(I)V'?
17:02 yoleaux smls: I'll pass your message to psch.
17:05 tinyblak joined #perl6
17:07 raiph joined #perl6
17:13 BenGoldberg joined #perl6
17:15 raiph mr-foobar: have you read http://edumentab.github.io/rakudo-and-nqp-internals-course ?
17:15 BenGoldberg m: say [,] 1..5; say [R,] 1..5;
17:15 camelia rakudo-moar 3fa1bd: OUTPUT«1 2 3 4 5␤Too many positionals passed; expected 2 arguments but got 5␤  in block  at src/gen/m-CORE.setting:19659␤  in sub  at src/gen/m-CORE.setting:19809␤  in block <unit> at /tmp/t6bfFFS49C:1␤␤»
17:16 mr-foobar raiph: reading thx !
17:18 TimToady arguably, reversing a list associative operator should reverse the entire list and then call the N-ary function with it
17:18 yoleaux 16:12Z <smls> TimToady: ^^
17:19 BenGoldberg Regardless of what it should *do*, it definitely *shouldn't* throw an error like that.
17:19 BenGoldberg :)
17:20 BenGoldberg Hmm, would it be too strange to suggest that R do multi-dispatch, based on whether it's argument is a list operator?
17:21 raiph mr-foobar: yw. I note sections "NQP language" (p20 of first day) and "The regex and grammar engine" (p73 of second day)
17:21 mr-foobar raiph: There’s more than one way to get “Permanent head Damage”  :D
17:22 colomon TimToady: sounds like a nop bug?
17:22 colomon *Rop
17:22 colomon brain
17:23 moritz \o
17:24 * moritz idly wonders if there's any use building a p2p network that warns about malicious traffic from certain IPs
17:25 colomon o/
17:26 colomon m: say 1 R, 2 R, 3 R, 4
17:26 camelia rakudo-moar 3fa1bd: OUTPUT«2 1␤»
17:26 colomon :\
17:28 [Coke] moritz: need a way to defend against malicious reports of malicious traffic.
17:29 * TimToady hopes that was not a malicious report...
17:30 moritz [Coke]: I know; my first mental draft has signed reports, and leaves the decision of whom to trust outside the scope
17:31 moritz [Coke]: which means I'd only trust reports from people I know well enough
17:32 [Coke] seems legit.
17:37 Diederich ~~~
17:40 TimToady BenGoldberg: that makes me wonder whether associativity should be reflected in the type of the operator, to avoid the overhead of constraint checking or introspection
17:42 TimToady m: say &infix:<,>.WHAT
17:42 camelia rakudo-moar 3fa1bd: OUTPUT«(Sub+{<anon>}+{Precedence})␤»
17:42 TimToady huh, looks like precedence is already mixed in
17:43 TimToady but you can't name a type with anonymous mixins...
17:45 TimToady looks like the current system forces us to do introspection, which is probably a design smell of some sort
17:45 xinming_ joined #perl6
17:47 TimToady maybe if we mix in a role we can use the role name without naming the whole type
17:50 TimToady m: my $i = &infix:<,> but role ListAssoc { }; multi foo(&op) { say "oh" }; multi foo(ListAssoc &op) { say "ah" }; foo($i)
17:50 camelia rakudo-moar 3fa1bd: OUTPUT«oh␤»
17:50 TimToady drat
17:50 TimToady seems like that oughta work
17:51 TimToady m: my $i = &infix:<,> but role ListAssoc { }; say $i.WHAT
17:51 camelia rakudo-moar 3fa1bd: OUTPUT«(Sub+{<anon>}+{Precedence}+{ListAssoc})␤»
17:52 TimToady m: my $i = &infix:<,> but role ListAssoc { }; say $i ~~ ListAssoc
17:52 camelia rakudo-moar 3fa1bd: OUTPUT«True␤»
17:52 TimToady oh, doopf
17:52 TimToady m: my $i = &infix:<,> but role ListAssoc { }; multi foo($op) { say "oh" }; multi foo(ListAssoc $op) { say "ah" }; foo($i)
17:52 camelia rakudo-moar 3fa1bd: OUTPUT«ah␤»
17:53 TimToady there we go
17:53 lizmat m: my @a; say @a<>   # TimToady: is this a valid zen slice?
17:53 camelia rakudo-moar 3fa1bd: OUTPUT«␤»
17:53 lizmat m: my @a = ^10; say @a<>   # TimToady: is this a valid zen slice?
17:53 camelia rakudo-moar 3fa1bd: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
17:53 TimToady so we could mix in the associativity and multi dispatch on it
17:53 lizmat or is the validity of @a<> being a zen slice, an implementation artefact ?
17:54 TimToady std: my @a; say @a<>
17:54 camelia std 76ccee1: OUTPUT«ok 00:00 138m␤»
17:54 TimToady hmm
17:54 TimToady std: say :a<>
17:54 camelia std 76ccee1: OUTPUT«Potential difficulties:â�¤  Pair with <> really means an empty list, not null string; use :a('') to represent the null string,â�¤  or :a() to represent the empty list more accurately at /tmp/k3s_JJ5F_W line 1:â�¤------> [32msay :a<>[33mâ��[31m<EOL>[0mâ�¤ok 00…»
17:55 TimToady maybe we could carry that over
17:56 lizmat ok, so @a<> is not a good way to a Zen slice on an array
17:56 lizmat m: my %h = a => 42; say %h<>  # more natural on hashes ?
17:56 camelia rakudo-moar 3fa1bd: OUTPUT«"a" => 42␤»
17:57 TimToady it's probably harmless, unless they think they're saying @a['']
17:57 TimToady which doesn't make a lot of sense
17:57 TimToady Er, but <> is {}
17:57 TimToady they might well think they're trying to look up %h{''}
17:57 lizmat m: my @a = ^10; say @a{}
17:57 camelia rakudo-moar 3fa1bd: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
17:58 TimToady that should probably blow up, unless @a is declared to have {} keys
17:58 TimToady and <> should probably be warned on, just as :a<> does
17:59 TimToady there's no reason not to use [] as the zen slicer of an array
18:00 lizmat agree...
18:00 TimToady m: my @a = <nested brackets>; say qq[It should even work for @a[] and such];
18:00 camelia rakudo-moar 3fa1bd: OUTPUT«It should even work for nested brackets and such␤»
18:02 TimToady and for hashes, %h<> is the same braino as :x<>, namely, mistaking <> for '' rather that qw//
18:02 lizmat hmmm..  was @a interpolation in Perl 5 a 5.0 thing, or later ?
18:03 TimToady an easy mistake, since <foo> is equivalent to 'foo' but <foo bar> is not equiv to 'foo bar'
18:03 TimToady earlier, I think
18:03 lizmat so you're saying that %h<foo bar> is not equivalent to %h{ <foo bar } ?
18:04 TimToady no, I'm saying %h<foo bar> is not equivalent to %h{ 'foo bar' }
18:05 lizmat but %h<> feels as much as a Zen slice to me as %h{}
18:05 TimToady but people will think erroneously that %h<> is equivalent ot %h{ '' } when it is not, just as they think :x<> means x => '' when it really means x => (
18:05 TimToady ()
18:06 lizmat hmmm....  I've always interpreted <> as qw()
18:06 lizmat and %h<...> as a welcome shortcut
18:06 TimToady and again, there's no reason they can't use {} for a Zen slice, so we don't need <> esp. since it's confusing
18:06 lizmat true
18:07 lizmat but <> types a lot easier, especially on non-US keyboards
18:07 lizmat but ok, point taken  :-)
18:08 lizmat Maybe we need a bit of clarification in synopses on what a Zen slice is (and how to specify it)
18:09 [Sno] joined #perl6
18:26 moritz tadzik: does panda now use the new API location? If yes, https://github.com/tadzik/panda/issues/120 can be closed
18:30 grettis joined #perl6
18:31 masak for once, I don't mind outlawing %h<>
18:31 masak since if it were allowed it would be exactly identical in semantics to %h{}
18:31 masak only more confusing.
18:32 masak I can see how some day I *might* regret that if I decide to store '' keys in some hashes.
18:32 lizmat I guess our minds work differently: I see <foo> always as a slice
18:32 lizmat because <quoted words>
18:32 lizmat so %h<foo> is a 1 element slice
18:32 lizmat (I even think it works like that internally
18:33 lizmat )
18:33 masak yes, then our minds work differently on that point.
18:33 lizmat so %h<foo> is not equivalent to %h{'foo'}
18:33 masak my brain goes "<foo> is a string, <foo bar> is a list"
18:33 masak m: say <foo>.WHAT; say <foo bar>.WHAT
18:33 camelia rakudo-moar 3fa1bd: OUTPUT«(Str)␤(Parcel)␤»
18:33 lizmat but rather is equivalent to %h{ <foo> }
18:34 masak m: my %h = foo => 42; say %h<foo>.WHAT; say %h{ <foo> }.WHAT
18:34 camelia rakudo-moar 3fa1bd: OUTPUT«(Int)␤(Int)␤»
18:34 lizmat hmmm..
18:34 d4l3k2_ joined #perl6
18:34 lizmat hmmm....
18:35 lizmat I hadn't realized that <foo> is really 'foo'
18:35 lizmat that feels like something that is as hard to explain as @a  $a[0] in perl 5
18:35 dalek_p6c joined #perl6
18:35 lizmat to newbies
18:35 kurahaupo joined #perl6
18:36 TimToady it's the same as 'foo' vs 'foo','bar'
18:36 TimToady that's all
18:37 * lizmat makes mental note
18:37 dalek_p6c joined #perl6
18:38 masak ooh, I hadn't thought of that reason it is the way it is.
18:39 lizmat .oO( war of the daleks )
18:39 lizmat dinner&
18:41 * moritz has decimated a dalek
18:42 masak reducing it to 0.9 daleks?
18:44 moritz more like 0.01 daleks
18:45 masak m: say log(0.01) / log(0.9)
18:45 camelia rakudo-moar 3fa1bd: OUTPUT«43.7086906535657␤»
18:46 masak you would need to decimate it 44 times to get down to that low level of dalek.
18:46 masak m: say 0.9 ** 43.7
18:46 camelia rakudo-moar 3fa1bd: OUTPUT«0.0100091607107812␤»
18:47 * masak knew grokking logarithms would come in handy some day! o/
18:48 atroxaper joined #perl6
18:51 dalek_p6c json: 00c41c2 | (Moritz Lenz)++ | README:
18:51 dalek_p6c json: [README] add a synopsis
18:51 dalek_p6c json: review: https://github.com/moritz/json/commit/00c41c2583
18:52 wolv left #perl6
18:59 gfldex joined #perl6
19:00 raiph joined #perl6
19:03 tadzik moritz: yeah, I wanted to wait a bit for feedback first :)
19:03 FROGGS joined #perl6
19:09 dalek mu: 4c48a51 | moritz++ | misc/dalek-start.txt:
19:09 dalek mu: [dalek-start]: oops, removed the wrong instruction
19:09 dalek mu: review: https://github.com/perl6/mu/commit/4c48a514b2
19:09 dalek mu: d6abcff | moritz++ | misc/dalek- (2 files):
19:09 dalek mu: Update dalek instructions to new server
19:09 dalek mu: review: https://github.com/perl6/mu/commit/d6abcffb9e
19:09 FROGGS_ joined #perl6
19:10 moritz everybody, please use the the new dalek push URL in your github hooks: http://hack.p6c.org:80880/dalek?t=freenode,perl6
19:10 gtodd lizmat: I got off to a good start with perl5 and *instantly* grokked stuff ike @arr = qw/a 1 b 2 c 3/;  say $arr[0];  %hsh = (qw/a 1 b 2 c 3/) ; say $hsh{b}; say @hsh{qw/a b c/} ... then about 10 minutes later I hit a plateau ;-)
19:11 raydiak moritz: bad link...80880 eh? :)
19:12 moritz raydiak: sorry, 8088
19:12 dalek mu: 5c165e7 | moritz++ | misc/dalek-push.txt:
19:12 dalek mu: dalek-push.txt: fix port numbers
19:12 dalek mu: review: https://github.com/perl6/mu/commit/5c165e7c7f
19:14 raydiak good to know, I kinda wondered how dalek decided which repos to listen to or not
19:15 raydiak (and \o g'mornin while I'm at it)
19:16 beck_ joined #perl6
19:17 anaeem1 joined #perl6
19:18 vendethiel joined #perl6
19:20 dalek_p6c mu: 774ada3 | (Moritz Lenz)++ | misc/dalek-push.txt:
19:20 dalek_p6c mu: remove outdate information from dalek-push.txt
19:20 dalek_p6c mu: review: https://github.com/perl6/mu/commit/774ada3159
19:23 dalek_p6c specs: 368ac72 | (Bruce Gray)++ | S (2 files):
19:23 dalek_p6c specs: Fix typos and tenses.
19:23 dalek_p6c specs: review: https://github.com/perl6/specs/commit/368ac72c6f
19:23 dalek_p6c specs: 3890f88 | (Bruce Gray)++ | S32-setting-library/IO.pod:
19:23 dalek_p6c specs: Fix Unicode property `Zl` (Separator, Line); was listed as `ZI`.
19:23 dalek_p6c specs: review: https://github.com/perl6/specs/commit/3890f88fbf
19:24 anaeem1_ joined #perl6
19:29 * TimToady wonders how much code out there depends on s/// returning the string rather than the successful matches
19:30 masak as an anecdotal data point: I never use that return value, because (a) I'm never sure what it does, and (b) I'm pretty sure it's been different over time and across Rakudo/Niecza
19:31 masak some implementation used to return a Bool
19:31 masak I think at some point the original string was returned? who knows
19:31 TimToady n: $_ = "foo"; say s/oo/ox/
19:31 camelia niecza v24-109-g48a8de3: OUTPUT«True␤»
19:31 masak right.
19:31 TimToady pugs: $_ = "foo"; say s/oo/ox/
19:31 camelia pugs: OUTPUT«sh: /home/camelia/.cabal/bin/pugs: No such file or directory␤»
19:31 TimToady aww
19:33 moritz jnthn, arnsholt: please update the webhook URL in your github repos to http://hack.p6c.org:8088/dalek?t=freenode,perl6  (for zvolaj and snake, and potentially others if you have more with push notifications)
19:33 TimToady I think it's just going to return the list of matches, since we already have that handy
19:34 moritz +1
19:35 masak worksforme
19:35 masak fwiw, the rationale for the Bool result was a use case like `while s/x/y/ { ... }`
19:36 masak but list-of-matches would fullfil that too, methinks
19:36 anaeem1_ joined #perl6
19:36 * vendethiel thinks about the s//r he proposed to TimToady++ at the apw
19:37 raydiak vendethiel: like P5's /r?
19:38 moritz the problem is that all our modifies go to the front, and s:r:/// already has another meaning
19:38 raydiak well yeah we'd have to call it something else...but ".subst" is kinda verbose :)
19:38 moritz having that one go to at the end would be highly inconsistent
19:39 moritz raydiak: yes, but what to call it?
19:39 vendethiel raydiak: yes
19:39 vendethiel moritz: yes.
19:39 * raydiak goes to find the list of existing modifiers to consider collisions
19:39 vendethiel raydiak: yes again. .subst is very verbose
19:39 denis_boyun joined #perl6
19:41 * moritz wonders if :keep / :k for "keep the original around" might work
19:41 raydiak I thought about that, it kinda sorta parallels with \K in intent for a stretch of analogy :)
19:41 raydiak oh wait I'm back in P5 land, we don't have \K here I don't think
19:41 moritz there's no \K in perl 6.
19:43 raydiak too bad c for copy is taken
19:43 raydiak :d/:duplicate?
19:44 dalek_p6c joined #perl6
19:45 raydiak I think I like k more than the others I've considered so far...
19:45 hoelzro I feel like this was discussed before
19:45 * hoelzro searches logs
19:45 moritz hoelzro: it was, but none of the proposals stuck with me
19:45 [Coke] u for su[bst]
19:46 moritz but s/// already stands for subst :-)
19:46 PerlJam If we're voting, I like :k(eep)
19:47 raydiak more than one person I don't know hit on this issue in recent days, between directly asking it and trying to golf around it
19:47 moritz the thing I don't like about :keep and :duplicate is that it kinda focuses on the wrong aspect
19:48 raydiak what is the right aspect?
19:48 hoelzro I think :keep was what was proposed, and I liked it
19:48 moritz to me, returning the substituted version is more important than keeping the original around
19:48 TimToady \K is <( I think
19:48 hoelzro yup, July 30th
19:49 hoelzro http://irclog.perlgeek.de/perl6/2014-07-30#i_9105854
19:50 moritz TimToady: yes
19:50 [Coke] moritz++ dalek work
19:50 raydiak hmm good point...so "return the string itself" and "don't mangle the string" are two distinct concepts
19:50 raydiak and this adverb does both, right?
19:50 moritz aye
19:50 denis_boyun joined #perl6
19:51 * TimToady doesn't like any of the solutions yet
19:52 moritz I feel it would be more six-ish if s/// returned the modified copy by default, and special action would be necssary to make it mutating
19:53 moritz ~~= or s=/// or so
19:53 moritz the fact that we haven't found a good name yet might imply that we've been looking for a solution to the wrong problem
19:54 TimToady which, of course, will confuse P5 programmers completely
19:54 PerlJam TimToady: is that a good thing or a bad thing?  ;)
19:54 TimToady Ja.
19:55 PerlJam touche
19:57 ptc_p6 joined #perl6
19:58 smls TimToady: Well, s///r is popular in Perl 5 now too, so you could say it simply became the default (like /x also did)
20:03 denis_boyun___ joined #perl6
20:06 Isp-sec joined #perl6
20:10 TimToady hah, Test.pm apparently depends on s/// returning the value, because every test blows up
20:10 raydiak smls: but then the boolness of the default result would be mostly useless
20:11 raydiak unless it had a messy "but True" or something attached to it
20:11 lizmat TimToady: Test.pm could be easily fixed :-)
20:12 lizmat m: my @a = <foo bar baz>; say <<zip zop "@a[]">>   # feels like there is a space missing between zop and foo
20:12 camelia rakudo-moar 3fa1bd: OUTPUT«zip zopfoo bar baz␤»
20:13 lizmat m: my @a = <foo bar baz>; (<<zip zop "@a[]">>).perl.say  # some clarification
20:13 camelia rakudo-moar 3fa1bd: OUTPUT«(("zip", "zop"), "foo bar baz")␤»
20:13 lizmat I guess I would have expected ("zip", "zop", "foo bar baz") there
20:14 lizmat feels like a rakudobug to me
20:18 denis_boyun joined #perl6
20:19 * jnthn back from dinner, IPA
20:19 dalek_p6c infrastructure-doc: 319507a | moritz_++ | hosts/hack.p6c.org.pod:
20:19 dalek_p6c infrastructure-doc: [hack.p6c.org] document some services
20:19 dalek_p6c infrastructure-doc: review: https://github.com/perl6/infrastructure-doc/commit/319507a21c
20:19 TimToady well, we could have r///, but then we'd need to rename .subst to .replacing or so
20:20 dalek_p6c infrastructure-doc: 34de188 | moritz_++ | hosts/hack.p6c.org.pod:
20:20 dalek_p6c infrastructure-doc: Fix header level
20:20 dalek_p6c infrastructure-doc: review: https://github.com/perl6/infrastructure-doc/commit/34de188739
20:20 smls raydiak: You could still check the bolean value of $/ afterwards though right?
20:20 TimToady that doesn't help with smartmatching much
20:21 jnthn moritz: I updated it for Zavolaj
20:21 jnthn moritz: How about MoarVM?
20:21 moritz jnthn: that too, please
20:25 jnthn Done
20:27 moritz is anybody aware of any website of service that runs on perl6.org that doesn't yet run on p6c.org too?
20:28 moritz or asked another way, any reason not do the DNS switchover now?
20:29 denis_boyun___ joined #perl6
20:29 * TimToady hears a feather dropping
20:34 denis_boyun_ joined #perl6
20:34 anaeem1_ joined #perl6
20:34 woolfy left #perl6
20:35 jnthn moritz: After pondering for a few minutes, I can't think of any.
20:35 colomon moritz++
20:37 carlin m: try { say chr 56000; CATCH { say 'oh no' } }; say 'alive'
20:37 camelia rakudo-moar 3fa1bd: OUTPUT«oh no␤Iteration past end of grapheme iterator␤  in method print at src/gen/m-CORE.setting:15859␤  in sub say at src/gen/m-CORE.setting:16559␤  in block <unit> at /tmp/3BYslhptK7:1␤␤»
20:38 denis_boyun joined #perl6
20:39 jnthn m: say chr 56000;
20:39 camelia rakudo-moar 3fa1bd: OUTPUT«Iteration past end of grapheme iterator␤  in method print at src/gen/m-CORE.setting:15859␤  in sub say at src/gen/m-CORE.setting:16559␤  in block <unit> at /tmp/Pp0PQY7D4V:1␤␤»
20:39 jnthn m: say (chr 56000).chars;
20:39 camelia rakudo-moar 3fa1bd: OUTPUT«1␤»
20:39 jnthn m: say (chr 56000).perl;
20:39 camelia rakudo-moar 3fa1bd: OUTPUT«Error encoding UTF-8 string near grapheme position 0 with codepoint 34␤  in method print at src/gen/m-CORE.setting:15859␤  in sub say at src/gen/m-CORE.setting:16559␤  in block <unit> at /tmp/vPB_onjHSO:1␤␤»
20:40 jnthn Innerestin.
20:40 jnthn m: say (chr 56000).ord;
20:40 camelia rakudo-moar 3fa1bd: OUTPUT«56000␤»
20:43 denis_boyun joined #perl6
20:44 woolfy joined #perl6
20:45 dalek_p6c tablets: 6a80105 | moritz_++ | docs/build-html.pl:
20:45 dalek_p6c tablets: html generation: configurable output dir
20:45 dalek_p6c tablets: review: https://github.com/perl6/tablets/commit/6a80105db4
20:45 dalek_p6c tablets: b581d6b | moritz_++ | docs/build-html.pl:
20:45 dalek_p6c tablets: Avoid experimental smartmatch
20:45 dalek_p6c tablets: review: https://github.com/perl6/tablets/commit/b581d6b365
20:46 raydiak smls: you mean "if do { s///; $/ }"? I'd rather be forced to type :gimme-a-match on all my s/// than that line noise :)
20:46 ab5tract joined #perl6
20:46 raydiak not that the current hoops to emulate the non-existant :k are any better...
20:46 kurahaupo1 joined #perl6
20:48 dalek_p6c tablets: 82332bb | moritz_++ | docs/build-html.pl:
20:48 dalek_p6c tablets: also copy CSS
20:48 dalek_p6c tablets: review: https://github.com/perl6/tablets/commit/82332bbb28
20:50 denis_boyun__ joined #perl6
20:56 timotimo moritz: may i ask what went wrong with the KVM stuff before?
20:57 moritz timotimo: the debian testing installer hung
20:57 moritz timotimo: I "solved" by installing debian stable, and upgraded
20:57 timotimo and how you fixed it?
20:57 timotimo mhh
20:57 timotimo oh well. could have been worse
20:57 denis_boyun_ joined #perl6
20:58 dalek_p6c mu: 34d0642 | lizmat++ | misc/perl6advent-2014/schedule:
20:58 dalek_p6c mu: Day 16: Quoting on Steroids
20:58 dalek_p6c mu: review: https://github.com/perl6/mu/commit/34d0642797
20:58 lizmat seems I got too much material for one advent post
21:02 anaeem1_ joined #perl6
21:07 vendethiel- joined #perl6
21:09 denis_boyun__ joined #perl6
21:13 denis_boyun___ joined #perl6
21:13 jnthn lizmat: Well, nicer problem than too little ;)
21:18 ab5tract when a C library is asking for a `uint32_t *unicode_char`, what can be a strategy for giving it what it wants?
21:18 lizmat draft for tomorrow's advent blog: http://perl6advent.wordpress.com/?p=2414&amp;preview=true&amp;preview_id=2414
21:18 timotimo Str is encoded('ucs32')?
21:18 ab5tract .encode('UTF-8') causes a type error
21:18 ab5tract timotimo: thanks I will give that a try
21:19 moritz ab5tract: sounds like you want utf-32
21:19 ab5tract moritz: fair point ;)
21:19 timotimo lizmat: You will have to make sure that you use the right quoting symbols for the type of variable that you’re interpolating.
21:19 timotimo sounds like you're refering to [] vs {}, but that doesn't strike me as the right term: "quoting symbols"
21:20 lizmat so what should I use there ?
21:20 timotimo hmm
21:21 ab5tract the API of termbox uses tb_utf8_* as a prefix for it's handrolled conversion functions <-> char https://github.com/nsf/termbox/blob/master/src/termbox.h
21:21 masak 'night, #perl6
21:21 denis_boyun__ joined #perl6
21:22 timotimo gnite masak
21:29 lizmat m: say Int{} === Int   # how's that for a Zen slice  :-)
21:29 camelia rakudo-moar 3fa1bd: OUTPUT«True␤»
21:30 lizmat m: say 42{} === 42   # should we even allow these ?
21:30 camelia rakudo-moar 3fa1bd: OUTPUT«True␤»
21:31 Rounin joined #perl6
21:32 timotimo a single item pretends to be a list, or apparently also a hash?
21:32 lizmat I think it goes deeper: the parser sees a zen slice of any type, and assumes we need to return the same thing
21:32 lizmat m: say 42<> === 42   # should we even allow these ?
21:32 camelia rakudo-moar 3fa1bd: OUTPUT«True␤»
21:33 lizmat m: say 42[] === 42   # should we even allow these ?
21:33 camelia rakudo-moar 3fa1bd: OUTPUT«False␤»
21:33 lizmat huh?
21:33 lizmat m: say 42[].WHAT.say
21:33 camelia rakudo-moar 3fa1bd: OUTPUT«(List)␤True␤»
21:33 lizmat m: say 42[].say
21:33 camelia rakudo-moar 3fa1bd: OUTPUT«42␤True␤»
21:34 jnthn m: say 42<>.WHaT
21:34 camelia rakudo-moar 3fa1bd: OUTPUT«No such method 'WHaT' for invocant of type 'Int'␤  in block <unit> at /tmp/O3X003MO8e:1␤␤»
21:34 jnthn m: say 42<>.WHAT
21:34 camelia rakudo-moar 3fa1bd: OUTPUT«(Int)␤»
21:34 jnthn Hmm
21:34 jnthn m: say 42{}.WHAT
21:34 camelia rakudo-moar 3fa1bd: OUTPUT«(Int)␤»
21:34 lizmat m: say 42[].WHAT
21:34 camelia rakudo-moar 3fa1bd: OUTPUT«(List)␤»
21:34 jnthn Yeah, I'm a bit surprised at the <> and {} there
21:34 jnthn m: say 42.hash.perl
21:34 camelia rakudo-moar 3fa1bd: OUTPUT«Odd number of elements found where hash initializer expected␤  in method STORE at src/gen/m-CORE.setting:10248␤  in method hash at src/gen/m-CORE.setting:1642␤  in block <unit> at /tmp/ASYHWHOvZ8:1␤␤»
21:35 moritz seems there's a thing in Any that simply returns self for empty slices
21:35 moritz no matter what that self is
21:35 jnthn Ah, it's nothing to do with the parser
21:35 jnthn # %h{}
21:35 jnthn multi sub postcircumfix:<{ }>( \SELF ) is rw { SELF;
21:35 jnthn }
21:35 jnthn Yes, what moritz++ said
21:36 jnthn lizmat: I just call [], {}, and <> "indexers"
21:37 jnthn Note that
21:37 jnthn # @a[]
21:37 jnthn multi sub postcircumfix:<[ ]>( \SELF ) is rw { SELF.list;
21:37 jnthn }
21:37 jnthn Does a coercion
21:37 jnthn Thus the discrepancy
21:38 lizmat huh?  but that would imply that @a[] is not a true Zen slice?
21:38 [Coke] [A
21:38 moritz m: my $a = (1, 2, 3); .say for $a[];
21:38 camelia rakudo-moar 3fa1bd: OUTPUT«1␤2␤3␤»
21:38 lizmat ah, but for any, yes
21:39 lizmat m: my $a = (1,2,3); .WHAT.say for $a[]
21:39 camelia rakudo-moar 3fa1bd: OUTPUT«(Int)␤(Int)␤(Int)␤»
21:39 lizmat m: my $a = (1,2,3); .WHAT.say for $a{}
21:39 camelia rakudo-moar 3fa1bd: OUTPUT«(Parcel)␤»
21:39 lizmat hmmm....
21:40 lizmat m: my @a = 1,2,3; .WHAT.say for @a[]
21:40 camelia rakudo-moar 3fa1bd: OUTPUT«(Int)␤(Int)␤(Int)␤»
21:40 lizmat m: my @a = 1,2,3; .WHAT.say for @a{}
21:40 camelia rakudo-moar 3fa1bd: OUTPUT«(Int)␤(Int)␤(Int)␤»
21:40 jnthn I don't know what the right answers are, but I know the inconsistency ain't good ;)
21:41 lizmat m: my @a = 1,2,3; given @a[] { .WHAT.say }
21:41 camelia rakudo-moar 3fa1bd: OUTPUT«(Array)␤»
21:41 lizmat m: my @a = 1,2,3; given @a{} { .WHAT.say }
21:41 camelia rakudo-moar 3fa1bd: OUTPUT«(Array)␤»
21:41 lizmat I guess it is "for" messing up things there
21:42 jnthn lizmat: Where was something messed up?
21:43 jnthn m: my $a = (1,2,3); .WHAT.say for $a[] # the slice does .list, which flattens, so for should iterate 3 things
21:43 camelia rakudo-moar 3fa1bd: OUTPUT«(Int)␤(Int)␤(Int)␤»
21:43 lizmat m: my $a = (1,2,3); .WHAT.say for $a[]  # sort of expected (Array) here
21:43 camelia rakudo-moar 3fa1bd: OUTPUT«(Int)␤(Int)␤(Int)␤»
21:43 jnthn OK, but for is doing the right thing
21:43 jnthn It's that the zen slice is doing .list on the thing it gets
21:43 jnthn Thus flattening it
21:43 lizmat huh?  The Zen slice is supposed to return the object, unaldulterated
21:44 jnthn lizmat: Well, currently it doesn't; see array_slice.pm
21:44 lizmat ah?
21:44 lizmat hmmm....
21:45 jnthn git blame says you added that line, but you may have moved it from somewhere else...
21:45 jnthn f51a00ba fwiw
21:45 lizmat it probably came from somewhere else, as I didn't really understood the difference between Zen and Whatever slices then
21:45 jnthn Aha
21:46 lizmat seems like an error to me.... fixing
21:47 jnthn Trying to verify with the spec
21:47 jnthn But S02 doesn't mention zen slices and S09 says little...
21:48 lizmat the spec is pretty vague about Zen slices, apart from S99 (which I did today)
21:48 TimToady [] is a .list sometimes
21:49 lizmat so, [] is not a Zen slice sometimes ?
21:49 TimToady it must at least remove scalarness
21:50 TimToady but I think we rely on it for .list sometimes
21:50 TimToady $/[] returns the listy bits of the match
21:50 jnthn What does $/{} do?
21:50 jnthn Uh, *should*...
21:50 jnthn Return the hash bit?
21:50 * TimToady supposes
21:51 jnthn That means that 42<> is gonna become an "odd number of elements" error
21:51 jnthn (Which is fine, given I dunno why you'd ever do it)
21:51 lizmat indeed...  :-)
21:51 TimToady we already talked about warning on <>
21:52 jnthn ah, yes
21:52 jnthn So, seems it's the {} zen that wants fixing.
21:52 Sqirrel joined #perl6
21:52 jnthn And [] is correct
21:54 jnthn TimToady: Any reactions to my method ^foo() { } question earlier, or is it a case of "don't care, just don't make that mean something utterly insane"? :)
21:55 jnthn I somewhat suspect that bit of spec pre-dates SMOP, which iirc was when $obj.^foo started meaning $obj.HOW.foo($obj) instead of just $obj.HOW.foo.
21:55 TimToady it's a case of haven't actually got to the backlog yet...
21:55 jnthn Oh, sorry. :)
21:56 TimToady S03:5231 and following talks a bit about []
21:56 synopsebot Link: http://perlcabal.org/syn/S03.html#line_5231
21:56 lizmat the only spectest failure after making @a[] return SELF: for (<a b c> Z <X Y Z>).tree[]
21:56 jnthn lizmat: Yes, but I think it actually wants to self.list due to $/[]. That probably means we're missing tests. ))
21:58 TimToady [] was correct before, afaict
21:58 jnthn Yeah. It's {} that ain't
21:59 TimToady m: my $a = [1,2,3]; $a[] = 4,5,6; say $a
21:59 camelia rakudo-moar 3fa1bd: OUTPUT«4 5 6␤»
21:59 TimToady m: my $a = [1,2,3]; $a[] = 4,5,6,7; say $a
21:59 camelia rakudo-moar 3fa1bd: OUTPUT«4 5 6 7␤»
22:00 TimToady m: my $a = [1,2,3]; $a.list = 4,5,6,7; say $a
22:00 camelia rakudo-moar 3fa1bd: OUTPUT«4 5 6 7␤»
22:00 * TimToady didn't actually expect that to work
22:00 * TimToady is ok with it, though
22:01 jnthn Why? .list just returns identitty (mminus a Scalar) on Array and List, afaik...
22:02 * TimToady is normally unutterably stupid, in case you hadn't noticed yet
22:02 * TimToady just keeps his mouth shut most of the time, so people think he's smart...
22:02 kurahaupo1 joined #perl6
22:03 * vendethiel- is still convinced he's pretty smart...
22:07 lizmat m: class A {}; say (A.new[]).WHAT; say (A.new[]).WHAT   # this should both be List ?
22:07 camelia rakudo-moar 3fa1bd: OUTPUT«(List)␤(List)␤»
22:08 lizmat m: class A {}; say (A.new[]).WHAT; say (A.new{}).WHAT   # this should both be List ?
22:08 camelia rakudo-moar 3fa1bd: OUTPUT«(List)␤(A)␤»
22:09 denis_boyun___ joined #perl6
22:11 denis_boyun__ joined #perl6
22:12 lizmat making {} return SELF.list, does not break any spectest
22:12 lizmat so maybe that's the right thing to do at this moment?
22:14 raiph joined #perl6
22:15 dalek_p6c rakudo/nom: 8e76f01 | lizmat++ | src/core/hash_slice.pm:
22:15 dalek_p6c rakudo/nom: Make foo[] and foo{} consistent
22:15 dalek_p6c rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8e76f01723
22:15 denis_boyun___ joined #perl6
22:15 rurban1 joined #perl6
22:16 rurban1 joined #perl6
22:17 ab5tract joined #perl6
22:19 denis_boyun__ joined #perl6
22:20 telex joined #perl6
22:21 lizmat advent post scheduled for 0:01 UTC
22:21 vendethiel- lizmat++ # amazing
22:21 atroxaper joined #perl6
22:21 lizmat yes, rakudo is  :-)
22:24 jnthn lizmat: oh, I expected SELF.hash
22:24 dalek_p6c rakudo/newio: 8e76f01 | lizmat++ | src/core/hash_slice.pm:
22:24 dalek_p6c rakudo/newio: Make foo[] and foo{} consistent
22:24 dalek_p6c rakudo/newio: review: https://github.com/rakudo/rakudo/commit/8e76f01723
22:24 dalek_p6c rakudo/newio: f004534 | lizmat++ | src/core/hash_slice.pm:
22:24 dalek_p6c rakudo/newio: Merge branch 'nom' into newio
22:24 dalek_p6c rakudo/newio: review: https://github.com/rakudo/rakudo/commit/f00453494c
22:24 dalek_p6c rakudo/newio: a2a81a1 | lizmat++ | src/core/IO (2 files):
22:24 dalek_p6c rakudo/newio: Make IOU also consumer of IO::Locally
22:24 dalek_p6c rakudo/newio: review: https://github.com/rakudo/rakudo/commit/a2a81a10f8
22:25 lizmat jnthn: hmmm.... that also makes sense  :-)
22:25 jnthn lizmat: Well, it means that $/{} will do the right thing, for example :)
22:25 * lizmat builds and runs spectest
22:25 jnthn (return the hash part of th Match)
22:25 jnthn *the
22:25 lizmat yup
22:25 lizmat will it?  we'll see  :-)
22:26 jnthn I very much hope so :)
22:26 lizmat $ 6 'class A {}; say (A.new{}).WHAT'
22:26 lizmat Odd number of elements found where hash initializer expected
22:26 lizmat I guess that was only true when we had the old, fuzzy way of accepting .hash values
22:27 SHODAN joined #perl6
22:27 SHODAN joined #perl6
22:28 lizmat jnthn: ^^^ after making it SELF.hash
22:30 jnthn lizmat: I don't think I have a problem with that result.
22:32 lizmat you mean, if that's a problem for class A, it would need top provide her own .hash method ?
22:32 jnthn Yes
22:32 lizmat $ 6 'class A { method hash { self } }; say (A.new{}).WHAT'
22:33 lizmat (A)
22:38 TimToady jnthn: I'm okay with you stealing ^foo, and we don't need forwarders
22:38 jnthn TimToady: \o/
22:38 jnthn I'll have a look at it tomorrow :)
22:46 denis_boyun joined #perl6
22:49 lizmat jnthn: when returning SELF.hash for {}, I get breakage in t/spec/S32-str/numeric
22:49 lizmat not sure what's going on there, but it looks like something in the bowels
22:49 * lizmat is calling it a day now
22:49 lizmat will be offline for the weekend
22:51 denis_boyun___ joined #perl6
22:59 denis_boyun_ joined #perl6
22:59 jnthn lizmat: OK, mebbe I'll take a look over the weekend
23:00 jnthn lizmat: Have a good weekend!
23:02 denis_boyun__ joined #perl6
23:04 arnsholt date
23:04 arnsholt Er, that wasn't the window I was looking for =D
23:04 raydiak Fri Dec 12 23:04:31 UTC 2014 :)
23:04 arnsholt Thanks =D
23:06 * ab5tract decides maybe it is more interesting to write a "termgui" library in PP than to NativeCall a C one
23:07 ab5tract the only thing i'm unsure about is whether 'say $back-buffer;' is a good enough blit path
23:07 treehug88 joined #perl6
23:08 konsolebox joined #perl6
23:08 ab5tract this is where the matrix golf has taken me already, TimToady :P
23:19 raydiak timotimo: ghosts from the clog: "catui" :)

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

Perl 6 | Reference Documentation | Rakudo