Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-11-24

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 ugexe joined #perl6
00:15 timotimo if the CAS doesn't turn into a little functional language, is it even useful?
00:15 BenGoldberg joined #perl6
00:16 raydiak well, I suppose not, I just didn't think about it that way when I started out, but w/the compiling and stuff, it's starting to show a little potential for actual usefulness
00:21 raydiak with only a couple more additions, it could be a new way to define primitives for Pray...or render procedural 3D surfaces from a user-entered equation by auto-generating the intersection tests at runtime
00:22 raydiak would have been way too slow for any actual use like that before, was mostly just good for rearranging equations or evaluating them for non-performance-sensitive uses
00:26 ugexe does feather have some threshold that can be exceeded by updating the ecosystem with panda a lot? i keep getting connection refused on one specific machine when panda tries to update the ecosystem
00:28 timotimo isn't the panda server down in general right now?
00:29 raydiak ugexe: if feather moved hosts today, could you have an old cached dns record on that machine or something?
00:29 timotimo i wonder why we don't just host that on a static web server
00:29 raydiak panda has been pack up for me for hours now
00:29 raydiak *back up
00:29 timotimo OK
00:29 ugexe_ joined #perl6
00:33 ugexe its possible. just weird it worked one second then the next it was refused
00:45 jack_rabbit joined #perl6
00:57 timotimo just to make sure ... perl6 regex do have negative look-behind with variable-length things, right?
01:01 TimToady for things that are reversible
01:01 TimToady supposed to, ayway
01:02 TimToady *n
01:02 TimToady otoh, it's almost always a parsing smell to use one
01:03 timotimo mhm mhm
01:03 timotimo i'd just like to throw a "that works in perl6!" into a conversation about perl regexes having that limitation
01:03 TimToady *g*
01:05 TimToady m: say 'abbbc' ~~ /<.after ab+> c/
01:05 camelia rakudo-moar c40c1b: OUTPUT«「c」␤␤»
01:05 TimToady m: say 'Abbbc' ~~ /<.after ab+> c/
01:05 camelia rakudo-moar c40c1b: OUTPUT«Nil␤»
01:05 TimToady looks like it works to me
01:06 timotimo can we reverse subrules if they are declarative?
01:09 KCL joined #perl6
01:16 TimToady it's the declarative ones that are easy
01:16 dalek snake: d022e43 | (Arne Skjærholt)++ | src/Snake/ (3 files):
01:16 dalek snake: Store functions defined in a class body in the class object.
01:16 dalek snake:
01:16 dalek snake: This means methods are half-way there. To make them work properly, attributes
01:16 dalek snake: looked up in the class object have to be wrapped up as a lambda with the
01:16 dalek snake: invocant to make them behave properly.
01:16 dalek snake: review: https://github.com/arnsholt/snake/commit/d022e4303e
01:16 timotimo i was mostly wondering if we can reverse all <foobar> and <&barbaz> likes
01:17 timotimo anyway, i should catch some sleep
01:17 timotimo good night, #perl6 !
01:17 psch g'night timotimo
01:18 TimToady o/
01:18 psch i've had an idea, in between, how to make jvm interop work, but apparently i confused the HOW with the class it describes...
01:26 psch where "work" doesn't really mean work
01:27 psch more like "try to understand", i guess
01:27 psch i probably should also sleep o/
01:29 panchiniak joined #perl6
01:31 Ben_Goldberg joined #perl6
01:32 chenryn joined #perl6
01:42 BenGoldberg joined #perl6
01:49 robinsmidsrod joined #perl6
02:37 kurahaupo joined #perl6
02:45 BenGoldberg joined #perl6
02:53 chenryn joined #perl6
03:11 adu joined #perl6
03:19 robinsmidsrod joined #perl6
03:22 chenryn joined #perl6
03:23 noganex_ joined #perl6
03:30 JimmyZ joined #perl6
03:42 itz joined #perl6
03:43 waressearcher2 left #perl6
04:09 rmgk_ joined #perl6
04:09 robinsmidsrod joined #perl6
04:15 kaare__ joined #perl6
04:35 robinsmidsrod joined #perl6
04:37 robinsmidsrod joined #perl6
04:39 robinsmidsrod joined #perl6
04:44 robinsmidsrod joined #perl6
04:54 robinsmidsrod joined #perl6
04:55 PZt joined #perl6
05:19 robinsmidsrod joined #perl6
05:25 chenryn joined #perl6
05:33 itz_ joined #perl6
05:44 kaare__ joined #perl6
05:56 jfredett joined #perl6
06:00 telex joined #perl6
06:07 denis_boyun joined #perl6
06:12 mephinet joined #perl6
06:14 anaeem1_ joined #perl6
06:34 raydiak not sure if anyone is around, but I'm having trouble thinking of an adequate name for a data structure I made that I might wrap up into its own module
06:34 * moritz is around sporadically
06:34 raydiak it's a hash keyed by hash w/eqv semantics
06:35 raydiak also has extra methods to e.g. find all keys with a certain sub-key w/o manual grepping and such
06:37 raydiak using it for polynomials in math::symbolic...like {:x(2),:y(1)} => 3 is an entry for 3x²y at a certain place in the guts
06:39 raydiak but there's nothing specific in it about numbers or math
06:42 raydiak it's not a HoH b/c the sub-hash is on the key side :) calling it MultiHash in the code, b/c I couldn't think of anything meaningful/intuitive/descriptive
06:44 gfldex joined #perl6
06:47 dayangkun joined #perl6
07:02 dayangkun joined #perl6
07:03 JimmyZ 3x^2y ?
07:07 eternaleye joined #perl6
07:08 rurban joined #perl6
07:13 davido__ joined #perl6
07:19 kaleem joined #perl6
07:21 jluis joined #perl6
07:21 FROGGS joined #perl6
07:26 virtualsue joined #perl6
07:31 dayangkun_ joined #perl6
07:32 blackbolt joined #perl6
07:36 darutoko joined #perl6
07:37 Alina-malina joined #perl6
07:49 robins joined #perl6
07:53 robinsmidsrod joined #perl6
07:54 bjz joined #perl6
07:54 dalek doc: a14cc56 | smls++ | lib/Type/ (17 files):
07:54 dalek doc: Add summaries for roles
07:54 dalek doc: review: https://github.com/perl6/doc/commit/a14cc561ff
07:54 dalek doc: acd0982 | smls++ | lib/ (86 files):
07:54 dalek doc: Add summaries for all remaining classes
07:54 dalek doc: review: https://github.com/perl6/doc/commit/acd09823c3
07:54 dalek doc: 9633d96 | smls++ | htmlify.p6:
07:54 dalek doc: Make summaries work for type docs embedded in language docs
07:54 dalek doc: review: https://github.com/perl6/doc/commit/9633d96cf0
07:55 dalek doc: 7ec008c | smls++ | htmlify.p6:
07:55 dalek doc: Render role summaries in italic, on type index pages
07:55 dalek doc:
07:55 dalek doc: Since the summaries for classes and roles are phrased differently, it will help readers if we also render them differently.
07:55 dalek doc: review: https://github.com/perl6/doc/commit/7ec008ca6d
07:55 dalek doc: eecebd6 | moritz++ | / (103 files):
07:55 dalek doc: Merge pull request #30 from smls/master
07:55 dalek doc:
07:55 dalek doc: Add summaries for all remaining documented types, + minor related htmlify improvements
07:55 dalek doc: review: https://github.com/perl6/doc/commit/eecebd6367
07:57 robinsmidsrod joined #perl6
07:59 robinsmidsrod joined #perl6
08:00 grondilu joined #perl6
08:00 grondilu guys, my version of rakudo comes from the future!
08:00 grondilu This is perl6 version 2014.11-25-gc40c1b8 built on MoarVM version 2014.11-17-g972d95b
08:00 grondilu :-)
08:01 FROGGS grondilu: :P
08:08 blackbolt10 joined #perl6
08:11 [Tux] joined #perl6
08:12 masak morning, #perl6!
08:12 moritz \o masak, #perl6
08:14 robinsmidsrod joined #perl6
08:15 FROGGS morning m&m
08:16 masak moritz and masak: http://www.m-ms.com.au/media/3387/red_yellow_running.jpg
08:19 robins joined #perl6
08:19 moritz masak: who's the red one? :-)
08:20 rindolf joined #perl6
08:27 masak still trying to figure that out myself.
08:28 erkan joined #perl6
08:28 erkan joined #perl6
08:29 smls joined #perl6
08:29 smls o/
08:32 moritz \o smls
08:32 moritz smls: you should have an invitation to join the perl6 organization on github, so that you can push doc changes (and more) directly
08:32 moritz smls: and thanks for your patches so far!
08:32 smls ok
08:33 smls though for more invasive changes, review requests are still better, right?
08:33 smls so you can review them... :)
08:33 moritz yes
08:34 moritz though normally we operated on the "forgiveness is better than permission" principle
08:34 smls is the sync to doc.perl6.org automated thought?
08:34 smls if it is, we should be a little more careful with this particular repo
08:35 rurban1 joined #perl6
08:35 moritz it's not
08:36 moritz though I hope to automate it in a few months
08:52 dalek specs: ba95f5f | (L. Grondin)++ | S99-glossary.pod:
08:52 dalek specs: fix "control flow" link
08:52 dalek specs: review: https://github.com/perl6/specs/commit/ba95f5f5d3
08:52 dalek specs: c86147b | (L. Grondin)++ | S99-glossary.pod:
08:52 dalek specs: fix "sigil" link
08:52 dalek specs: review: https://github.com/perl6/specs/commit/c86147be43
08:52 dalek specs: 780f49e | (L. Grondin)++ | S (5 files):
08:52 dalek specs: Merge branch 'master' of github.com:perl6/specs
08:52 dalek specs: review: https://github.com/perl6/specs/commit/780f49e20b
08:54 bjz joined #perl6
08:55 abraxxa joined #perl6
08:55 moritz http://www.greghendershott.com/2014/11/github-dropped-pygments.html does that mean github doesn't hilight Perl 6 code anymore?
08:56 jnthn smls++ # documentation work
08:56 vti joined #perl6
08:56 Ven joined #perl6
08:57 Ven .tell masak swift has something akin to your THUNK. http://stackoverflow.com/questions/24102617/how-to-use-swift-autoclosure – it's like a "call-by-name"
08:57 yoleaux Ven: I'll pass your message to masak.
08:57 masak moritz: well, I see highlighting in https://github.com/masak/druid/blob/master/lib/Druid/Game.pm -- but it might be it's Perl 5 highlighting. `has` ain't highlighted, for example.
08:57 yoleaux 08:57Z <Ven> masak: swift has something akin to your THUNK. http://stackoverflow.com/questions/24102617/how-to-use-swift-autoclosure – it's like a "call-by-name"
08:57 masak Ven: I'm right here.
08:57 Ven :) nice then.
08:58 Ven (but it's a more like your THUNK than a call-by-name)
08:58 moritz useless use of yoleaux at line *-3
08:58 Ven "is-move-bad" wouldn't "illegal" be a more fitted name?
08:59 masak yes, that's pretty close to THUNK.
09:00 masak Ven: yes, probably.
09:00 sqirrel__ joined #perl6
09:00 * Ven just skimmed through druid's code once again
09:00 masak seems my 2010 self optimized that name for brevity, though.
09:01 * Ven ponders the idea of a D&D game in p6
09:01 masak Ven: does this mean that in Swift, functions cannot be called before they're declared?
09:02 Ven masak: think so. That's 100% for the best in my book, though :)
09:02 Ven also, operators can be predeclared (operator prefix |>, e.g.)
09:02 masak *nod*
09:02 masak I sometimes like post-declaring functions.
09:03 masak I realized yesterday that this actually provides a limited Haskell-style `where` functionality, for functions only.
09:04 Ven It does. But I think there's usually a problem in your "flow" if you need that :)
09:04 masak m: 2 + 2 == 5 or exit-saying("seems I need to brush up my math") given my &exit-saying = -> $msg { say $msg; exit }
09:04 camelia rakudo-moar c40c1b: OUTPUT«seems I need to brush up my math␤»
09:04 masak \o/
09:04 Ven you might be either overengineering or not having enough blocks in such cases
09:04 masak nah, it's all about emphasis in the phrase.
09:04 Ven yeah, the postfix-given is nice :)
09:06 jnthn .oO( I might use that idiom given it's possible... )
09:07 masak actually, with some gritting of teeth, it's possible for other variables as well.
09:07 masak m: 2 + 2 == 4 or say "Turns out it was ", (my $actual) given $actual = 4
09:07 camelia rakudo-moar c40c1b: ( no output )
09:07 masak m: 2 + 2 == 5 or say "Turns out it was ", (my $actual) given $actual = 4
09:07 camelia rakudo-moar c40c1b: OUTPUT«Turns out it was 4␤»
09:07 azawawi joined #perl6
09:07 azawawi hi
09:07 masak azawawi! \o
09:07 Ven now that's evil :)
09:08 Ven hey awwaiid
09:08 Ven whoops. azawawi
09:08 azawawi lol
09:09 azawawi panda's meta http server seems to be down... feather.perl6.nl:3000 is down from the same box
09:09 azawawi cant panda update
09:09 * azawawi wonders if he will see rakudo star 2014.11
09:11 smls moritz: Speaking of slightly more invasive changes... Are you very fond of keeping the full type docs for the 8 types {Set, SetHash, Bag, BagHash, Mix, MixHash, Grammar, Perl6::Metamodel::ClassHOW} embedded inside free-form Language/ Pods?
09:11 smls I'd prefer them to have their own stand-alone Type/ Pods like all other classes and roles.
09:11 masak azawawi: feather was migrated yesterday, and the panda service is not back up.
09:12 smls Both because I think linking instead of embedding would be more reader-friendly, and because htmlify would benefit from being able to expect a more consistent structure for its input data (rather than munging through everything and heuristically extracting stuff from all over the place, like it does now).
09:12 azawawi masak: migrated where?
09:12 masak to a new feather.
09:12 smls (Especially in anticipation of the envisaged refactor to make htmlify.pl pull-based/incremental...)
09:14 moritz smls: +1 to having them in type/
09:14 smls ok
09:14 * azawawi tries to build rakudo on windows 7 64-bit
09:18 smls moritz: While I modify Language/Sets_Bags_and_Mixes.pod to accomodate that change, may I also rename it to Language/setbagmix.pod to match the naming/URL scheme of the other docs?
09:18 smls Do you have a system in place to add URL redirects on doc.perl6.org for backwards-compatibility?
09:19 itz joined #perl6
09:21 Ugator joined #perl6
09:24 dakkar joined #perl6
09:24 cosimo joined #perl6
09:27 ribasushi joined #perl6
09:49 denis_boyun joined #perl6
10:07 zakharyas joined #perl6
10:10 Celelibi joined #perl6
10:21 carlin re: github highlighting, yes it appears that perl6 is no longer highted, tested by creating a gist and selecting Perl6 as the language, and it doesn't highlight it when it definitely used to
10:22 smls m: my %fruits := <apple orange apple banana>.Set; say "{++$}) $_" for %fruits;
10:22 camelia rakudo-moar c40c1b: OUTPUT«1) apple orange banana␤»
10:23 smls ^^ It looks like Set does not do Iterable, and hence does not flatten. Why not?
10:23 JimmyZ carlin: you're right
10:23 kst` joined #perl6
10:26 peteretep that's because they stopped using pygments, right?
10:32 smls m: my Set[Int] $n;   :(
10:32 camelia rakudo-moar c40c1b: OUTPUT«===SORRY!===␤Type Set cannot accept type arguments␤»
10:35 jnthn It's not spec'd as doing so either, afaik.
10:35 jnthn Maybe in 6.future :)
10:35 moritz smls: +1 to renames; no system for preserving old URLs
10:43 chenryn joined #perl6
10:43 moritz smls: so that sets can be nested, IIRC
10:45 smls hm but hashes, array, and lists can also be nested just fine...
10:46 smls re preserving URLs: What kind of server setup does doc.perl6.org use? nginx?
10:46 moritz smls: apache2
10:57 smls m: my $x = set <foo bar baz 1 2 3>; say $x.list;
10:57 camelia rakudo-moar c40c1b: OUTPUT«foo bar baz 1 2 3␤»
10:58 smls ^^ don't hash'y things scramble the order of their elements like they do it Perl 5?
10:58 moritz they can
10:58 moritz iirc set currently doesn't, but don't rely on it
11:00 pecastro joined #perl6
11:01 Woodi hallo #perl6 :)
11:02 Woodi m: Grammar::Tracer; grammar abc { rule TOP { <quoted> }; rule quoted { '"' <string> '"' }; }; abc.parse('"abc"');
11:02 camelia rakudo-moar c40c1b: OUTPUT«Could not find symbol '&Tracer'␤  in method <anon> at src/gen/m-CORE.setting:13780␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2725␤  in any find_method at src/gen/m-Metamodel.nqp:988␤  in block <unit> at /tmp/pGIm0jTQPn:1␤␤»
11:02 masak 'allo, Woodi
11:02 masak Woodi: missing `use`
11:03 Woodi in repl I get a bit of grammar trace and error: Method 'string' not found for invocant of class 'abc'
11:03 Woodi so, grammar class is build at runtime ? or it is Tracer effect ?
11:03 jnthn Well, yeah...your grammar has no method named string.
11:04 Woodi I thinked it should be checked at compile time
11:04 jnthn It's just a normal method call, and those are always late-bound.
11:04 Woodi a bit strange...
11:04 jnthn Nope.
11:04 jnthn Not unless the only languages you ever programmed in are Java, C#, and C++, anyway. :P
11:05 * masak .oO( requestor fails at pasting code into camelia, then complains about language features he doesn't fully grok. community++ remains polite. )
11:10 jnthn Iinterestingly, the original OO languages were dynamic in this sense, and used the more helpful "message send" metaphor rather than "method call"... :)
11:10 masak Woodi: the same mechanism that allows a method base class to call a method in a derived class (with no additional fuss) also makes it impossible to check at compile time.
11:11 masak Woodi: it's called "runtime polymorphism".
11:12 jnthn And of course, when you send a message, the object can be all like, "return to sender...address unknown..." :)
11:12 * masak .oO( this method call ain't nothin' but a hound dog )
11:13 jnthn .oO( you ain't never seen my fields and you ain't no friend class of mine )
11:14 * masak .oO( don't be cruel to a class that's true )
11:17 sqirrel__ joined #perl6
11:20 ssqq joined #perl6
11:21 smls What's an example of a simple, commonly-used (by users not implementors) Perl 6 built-in type that is *not* a value type?
11:22 masak Hash
11:22 masak Array
11:22 masak Pair
11:23 smls m: say (1, 2, 3).WHICH; say [1, 2, 3].WHICH; say (a => 1).WHICH;
11:23 camelia rakudo-moar c40c1b: OUTPUT«Parcel|(Int|1)(Int|2)(Int|3)␤Array|70620192␤Pair|77700592␤»
11:23 smls ok
11:27 smls m: say .WHICH for /./, {$_}, Buf.new(2, 4, 6)
11:28 camelia rakudo-moar c40c1b: OUTPUT«Regex|55031280␤Block|61498240␤Buf|76158368␤»
11:28 ssqq https://github.com/songzan/vim_plug/blob/master/VimScript/syntax/pod.vim could make Pod more readable.
11:28 smls ^^These two, or is their .WHICH just NYI?
11:28 smls *too
11:33 yeahnoob joined #perl6
11:35 anaeem1 joined #perl6
11:36 lizmat smls: what do you expect about their .WHICH ?
11:36 smls in theory they could be value types, no?
11:36 smls same which for every structurally identical instance
11:37 lizmat Array will never be a value type, nor will Pair be (because the value is not fixed)
11:37 lizmat Parcel is on the chopping block
11:37 jnthn And Buf is a kind of array really.
11:37 jnthn So it also ain't a value type
11:37 smls ok
11:37 anaeem1_ joined #perl6
11:38 araujo joined #perl6
11:38 jnthn Same with regex, since "are these two pieces of code identical" is the halting problem :)
11:38 moritz and we still haven't solved that. We should be trying harder :-)
11:38 jnthn I fear if we start working on it, we'll just never stop...
11:39 smls "Parcel is on the chopping block"  -- but List will take over its duties :)
11:41 moritz List is a mutable type, so no value type
11:41 smls but post-GLR?
11:42 smls "Thus infix:<,> will now create Lists directly. It’s likely that comma-Lists will be immutable [...]"  - http://pmthium.com/2014/10/apw2014/
11:43 moritz huh, I missed that part
11:44 smls Having one mutable list type (Array) and one immutable one (List), seems elegant to me :)
11:45 smls I would maybe even go one step further, and make List the only one that supports laziness.
11:45 lizmat ???  a lazy, immutable List ?
11:45 smls why not?
11:46 lizmat that's called a generator, surely ?
11:46 nine We could also rename List to Tuple and match Python
11:47 abraxxa tuple are pairs, list is just a list imho
11:47 moritz tuples don't need to be 2-tuples
11:47 robinsmidsrod joined #perl6
11:49 lizmat that sounds more like Parcels to me...
11:50 smls As for lazy/infinite Arrays, do we really need them?
11:50 lizmat yes
11:50 ssqq_ joined #perl6
11:51 lizmat going back to p5 and not having them, has made that *very* clear to me
11:52 smls I think the kind of functional idioms/algorithms that tend to make use of lazy lists, don't really have much use for mutability or guaranteed itemization of values...
11:53 smls lizmat: Can you give an example of an algorithm/solution that is better served by a lazy Array than a lazy List?
11:54 lizmat ah, sorry, I didn't get the emphasis on Array there
11:54 lizmat hmmm....
11:54 smls And jnthn said in one of his talks, that potential laziness is one of the reasons why arrays are still a lot slower than in Perl 5...
11:54 lizmat you could have a point there...
11:56 lizmat so, no I don't have an example of lazy Array over lazy List
12:00 jnthn Well, if you can't do that, you can't assign an infinite thing to an array, ever.
12:02 lizmat you maen: my @a := inifinite list ?
12:02 lizmat my @a = infinite list
12:02 lizmat ?
12:02 jnthn That's not assignment.
12:02 jnthn Right, = is
12:02 jnthn You would have to write :=
12:02 lizmat I could live with that, really
12:02 lizmat it makes it *really* clear what you're doing
12:04 dalek rakudo/newio: 55d59e4 | (Tobias Leich)++ | src/Perl6/ (2 files):
12:04 dalek rakudo/newio: attempt to fix RT #123215
12:04 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123215
12:04 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/55d59e461a
12:04 dalek rakudo/newio: 2b6e77e | (Tobias Leich)++ | src/Perl6/Actions.nqp:
12:04 dalek rakudo/newio: fix value of chained colonpairs in ( )
12:04 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/2b6e77ecf6
12:04 dalek rakudo/newio: c40c1b8 | (Tobias Leich)++ | src/Perl6/ (2 files):
12:04 dalek rakudo/newio: fix chained colonpairs in curlies, resolves RT #123215
12:04 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/c40c1b861f
12:04 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123215
12:04 dalek rakudo/newio: f55a607 | (Elizabeth Mattijsen)++ | src/Perl6/ (2 files):
12:04 dalek rakudo/newio: Merge branch 'nom' into newio
12:04 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/f55a607cd1
12:05 jnthn Also, Array ~~ List, and Array not being lazy when List is seems like a pretty clear Liskov violation...
12:06 fhelmberger joined #perl6
12:08 lizmat perhaps Array !~~ List?
12:09 lizmat just playing devil's advocate here
12:09 lizmat they're just both Iterables ?
12:09 smls joined #perl6
12:10 smls Array ~~ List, but Array !~~ Parcel
12:10 smls So, if post-GLR List becomes more like current Parcel...
12:13 smls As for assigning vs binding infinite lists to @ variables, I wouldn't miss it the current state of being able to assign *some* infinite lists but having to use binding for others
12:14 smls As lizmat said, always using binding in those cases improves clarity anyway
12:17 smls s/'i't '//
12:18 * smls can't even type his typo corrections without typos :/
12:31 chenryn joined #perl6
12:40 Ugator hi #perl6 :-) is there gonna be a weekly?
12:42 vti in regexes is this supposed to work '** ^2'? like from 0 to 2 range? right now you have to write  '** 0..2', or am i missing smth?
12:43 masak Ugator: good question! haven't seen timotimo today...
12:43 masak vti: I think you're the first who thinks of that syntax.
12:43 masak vti: doesn't sound all that unreasonable to me.
12:43 Ugator .seen timotimo
12:43 yoleaux I saw timotimo 01:17Z in #perl6: <timotimo> good night, #perl6 !
12:43 Woodi I was not aware that Perl6 design choices was "too-late" binding :)  becouse this can be categorized as syntax-error-not-detected during compilation. in such simple case all info is in code but not used...
12:44 vti masak: i thought it had the same 'range' functionality as in loops
12:45 darutoko- joined #perl6
12:45 masak m: say "AxxxB" ~~ / A [x ** ^4] B /
12:45 camelia rakudo-moar c40c1b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/dyFJahR0z4â�¤Quantifier quantifies nothingâ�¤at /tmp/dyFJahR0z4:1â�¤------> [32msay "AxxxB" ~~ / A [x ** [33mâ��[31m^4] B /[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopper…»
12:45 Woodi jnthn: interestingly, I always understand "method sending" as as asynchronous signal :)
12:46 masak I don't see it colliding with anything, so... I guess it's just a simple matter of programming.
12:46 masak Woodi: you mean "message passing".
12:48 vti masak: nice, how do i start? :)
12:49 masak vti: write failing spectest. then (I'm guessing) extend the NQP grammar engine.
12:49 jnthn Message sends to an object can be sync or async; it's all up to the meta-object doing the dispatching. See my OO::Actors model for that makes $obj.something(...) an async operation on $obj :)
12:49 masak was gonna say -- whether it is actually sync or async is up to the object system.
12:50 jnthn *systems* :)
12:51 masak oh, in the sense that each meta-object can be one, and they're running alongside each other? fair enough.
12:51 masak Woodi: some years ago, I found http://worrydream.com/EarlyHistoryOfSmalltalk/ fascinating reading. you might, too. it's long but worth it.
12:52 Woodi yes, I mean as in actors. that was my first intuition whrn learning OO. I have problems with learning "method call-and-return" class interaction design...
12:53 Woodi it's design choice, I know...
12:55 jnthn Well, I suspect Perl 6 is flexible enough that you could write a module that enforces much stricter compile-time checking. But I don't think it's a good default.
12:55 masak it kinda presupposes a closed world hypothesis.
12:56 jnthn (Especially when considered in the context of the rest of the language.)
12:56 jnthn Hm, I better get ready for my train trip... :)
12:57 jnthn bbl &
13:01 lizmat sometimes I wish we had something like ifd
13:01 lizmat (as in if defined)
13:02 masak what's wrong with `if $thing.defined` ?
13:02 lizmat ifd complicated_thing -> $foo {
13:02 brrt joined #perl6
13:03 lizmat would match only if complicated_thing were defined, but passed the thing into $foo (rather than the result of defined)
13:03 lizmat or do we have a simple recipe to do something like that already ?
13:04 masak m: sub ifd($thing, &fn) { if $thing.defined { fn($thing) } }; ifd 2, -> $n { say $n }; ifd my $x, -> $y { say "!!!" }
13:04 camelia rakudo-moar c40c1b: OUTPUT«2␤»
13:04 ssqq joined #perl6
13:05 masak m: macro ifd($thing, $fn) { quasi { if {{{$thing}}}.defined { {{{$fn}}}({{{$thing}}}) } } }; ifd 2, -> $n { say $n }; ifd my $x, -> $y { say "!!!" }
13:05 camelia rakudo-moar c40c1b: OUTPUT«===SORRY!===␤Cannot reference undeclared local 'pres_topic__1'␤»
13:05 masak :/
13:06 robinsmidsrod joined #perl6
13:06 ssqq How to get all *symbols/symbolic*  of current package?
13:07 moritz m: say ::?PACKAGE.WHO.keys
13:07 camelia rakudo-moar c40c1b: OUTPUT«␤»
13:07 masak m: module Current { our $x; say Current.WHO.perl }
13:07 camelia rakudo-moar c40c1b: OUTPUT«("\$x" => Any).hash␤»
13:07 moritz m: module A { our sub f() { }; say ::?PACKAGE.WHO.keys }
13:07 camelia rakudo-moar c40c1b: OUTPUT«&f␤»
13:08 nine lizmat: doesn't a Perl 5 like if my $foo = complicated_thing { ... } still work?
13:08 nine lizmat: if defined my $foo = complicated_thing { ... } of course
13:08 lizmat hmmm....
13:08 moritz nine: but iirc it's differently scoped
13:08 moritz that is, visible after the if
13:08 masak it is.
13:08 moritz my: if defined(my $x = 42) { }; say $x
13:08 moritz m: if defined(my $x = 42) { }; say $x
13:08 camelia rakudo-moar c40c1b: OUTPUT«42␤»
13:09 * moritz loves camelia++
13:09 nine moritz: oh indeed. A Pity.
13:09 masak you could do `given complicated_thing { if .defined { ... } }`
13:09 lizmat m: if defined my $foo = 42 { say $foo }
13:09 camelia rakudo-moar c40c1b: OUTPUT«42␤»
13:09 lizmat but yeah...
13:09 masak or even name it with `->`
13:09 lizmat m: if defined my $foo = Int { say $foo }
13:09 camelia rakudo-moar c40c1b: ( no output )
13:10 ssqq m: say ::?GLOBAL.WHO.keys
13:10 camelia rakudo-moar c40c1b: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol ::?GLOBAL␤»
13:10 moritz that's just GLOBAL
13:10 moritz m: say GLOBAL.WHO.keys
13:10 camelia rakudo-moar c40c1b: OUTPUT«␤»
13:11 nine m: { if defined my $foo = 1 { say $foo; } }
13:11 camelia rakudo-moar c40c1b: OUTPUT«1␤»
13:11 nine m: { if defined my $foo = 1 { say $foo; } } say $foo;
13:11 camelia rakudo-moar c40c1b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/m7U81ACHTUâ�¤Two terms in a rowâ�¤at /tmp/m7U81ACHTU:1â�¤------> [32m if defined my $foo = 1 { say $foo; } } [33mâ��[31msay $foo;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement…»
13:11 nine m: { if defined my $foo = 1 { say $foo; } }; say $foo;
13:11 camelia rakudo-moar c40c1b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/gI1aCI7q0sâ�¤Variable '$foo' is not declaredâ�¤at /tmp/gI1aCI7q0s:1â�¤------> [32med my $foo = 1 { say $foo; } }; say $foo[33mâ��[31m;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
13:11 moritz ssqq: the setting is full of lexical symbols which get added to your program as an outer scope
13:11 moritz m: say CORE::.keys
13:11 camelia rakudo-moar c40c1b: OUTPUT«%DEPRECATIONS @UNITS $init-time-num %FILETEST-HASH %CLEAN-PARTS-NUL &zip %pvalcodecache %propcodecache $?TABSTOP $UINT64_UPPER $sprintfHandlerInitialized $default &samewith &lastcall &nextsame &callsame &nextwith &callwith &redo &next &last &return &return…»
13:13 Woodi can we have a switch --do-compile-time-bind ?
13:13 masak no.
13:13 moritz Woodi: nope; that's a recipe for disaster
13:14 Woodi why ?
13:14 moritz first of all, the whole setting would need to be done differently if we expected it to be used with such an option
13:14 moritz second, it'd fracture the language (worse than strict/no strict)
13:14 moritz third, lots of extra work
13:15 masak it doesn't work well with how people (including core developers) use the language.
13:15 guru joined #perl6
13:15 masak Woodi: the closest you can realistically wish for is a pragma you can load to conform to your kinky mode of programming.
13:15 Woodi moritz: I thinked it could be optimization time work. I prefer more compile time work...
13:16 Woodi masak: that dynamic-idealism is not always good
13:17 Woodi but just dreaming...
13:17 masak Woodi: people have informed you of why your dreaming does not work out in practice. it's all there in the backlog.
13:18 ssqq O,my god, COE:: have 596 symbols have been used.
13:18 masak Woodi: I fail to see which "dynamic-idealism" it is you dislike, beyond *runtime polymorphism*, which tends to be help up as one of the nicer things in OO.
13:18 masak held*
13:18 ssqq CORE:: have 596 symbols have been used
13:22 kaleem joined #perl6
13:22 Woodi masak: I think you like to have things sharply categorized... such or such. but good things are often "elastic"
13:23 masak maybe a summary of the situation is that Perl 6 is strict in the lexical scoping end, but loose/dynamic in the method dispatch end.
13:24 masak Woodi: yes, sure. though sometimes, things are fairly well clear-cut, and wishing the core language were different, without understanding the tradeoffs, is unproductive.
13:25 Spot__ joined #perl6
13:27 sivoais joined #perl6
13:27 pnu joined #perl6
13:27 skarn joined #perl6
13:28 sqirrel__ joined #perl6
13:35 ssqq m: say pi;
13:35 camelia rakudo-moar c40c1b: OUTPUT«3.14159265358979␤»
13:36 yeahnoob joined #perl6
13:38 masak m: say round e ** (2 * pi * i), 1e-15
13:38 camelia rakudo-moar c40c1b: OUTPUT«1+0i␤»
13:38 masak \o/
13:38 sivoais joined #perl6
13:45 grondilu joined #perl6
13:46 moritz strict by default is basicall .NET :-)
13:46 moritz *basically
13:47 masak I was thinking TypeScript.
13:48 masak but yes, that's a level of static method checking that Perl simply doesn't subscribe to.
13:48 sivoais joined #perl6
13:49 * moritz sometimes ponders a stricter fork of p6, just for experimenting
13:49 masak ooh
13:49 masak Striktudo!
13:49 moritz "how would it looks like, if..."
13:50 moritz I have the theory that it'd force us to think more about which roles we put methods in
13:52 rurban1 left #perl6
13:53 ssqq Just like elisp, Perl 6 *MAIN* namespace have amount of symbols that exported from many module.
13:55 moritz no, they aren't exported from many modules
13:59 masak elisp doesn't have namespaces.
13:59 masak it has community-encouraged manual prefixing of everything.
14:00 sivoais joined #perl6
14:00 brrt (just like c, one might add)
14:01 masak right -- and IIUC, C++ codegens methods using a similar mapping.
14:02 masak I mean, there's an obvious isomorphism between actual namespaces and prefixing.
14:02 bjz joined #perl6
14:05 [Coke] Wish me luck! water advisory at work today, so no coffee! *twitch*
14:05 anaeem1 joined #perl6
14:06 vti it seems that $$ doesn't eat the newline character and smth like '[ \n | $ ]' has to be written, is there a way around that? and is \n portable? i mean \r?\n isn't required anymore?
14:06 lizmat .oO( if they cannot have coffee, give them tea! :-)
14:06 masak vti: $$ is an anchor, and by nature zero-width.
14:07 masak vti: you can always define your own rule <eol> or something.
14:07 molaf joined #perl6
14:08 vti masak: i see
14:08 FROGGS m: say "a\r\n" ~~ / a $$/
14:08 camelia rakudo-moar c40c1b: OUTPUT«「a」␤␤»
14:08 FROGGS m: say "a\n" ~~ / a $$/
14:08 camelia rakudo-moar c40c1b: OUTPUT«「a」␤␤»
14:08 FROGGS m: say "a\r\n" ~~ / a $$/
14:08 camelia rakudo-moar c40c1b: OUTPUT«「a」␤␤»
14:08 FROGGS er
14:08 FROGGS m: say "a\r" ~~ / a $$/
14:08 camelia rakudo-moar c40c1b: OUTPUT«「a」␤␤»
14:08 FROGGS so yeah, it is portable
14:09 timotimo o/
14:09 timotimo i want to do a weekly today
14:09 FROGGS \o/
14:09 jnthn \n will match \r\n, yes
14:09 FROGGS ++timotimo
14:09 masak timotimo: how appropriate -- we want to read it! :D
14:09 jnthn Why would you write \n $$, though?
14:10 jnthn You just matched a new line, it's pretty darn clear you're at the end of the line. :)
14:10 bjz joined #perl6
14:11 jnthn I can see [\n | $] a bit more
14:11 Util joined #perl6
14:11 vti jnthn: i am not writing \n $$, just [\n | $]
14:11 jnthn Though in many cases I'd structure it more like <line>* % \n [ $ || { die 'parse fail' } ] or so
14:12 sivoais joined #perl6
14:12 jnthn vti: Yeah, others were, I missed what you originally wrote.
14:12 masak jnthn: I don't see any `\n $$` in the backlog, except from you ;)
14:13 marconrd joined #perl6
14:13 jnthn Yes, lots of $$ though.
14:13 anaeem1_ joined #perl6
14:14 masak agree on principle, though. better to handle line breaks outside of the line rule.
14:14 masak it's an inside-outside thing. if the line rule itself can avoid talking about line breaks, so much the better.
14:14 masak sometimes it has to. but better to avoid it if possible.
14:15 jnthn Aye, that's a more eloquent way of saying what I was trying to :)
14:18 timotimo make test inside nqp gives me two failing tests, 10-file-ops.t and 78-shell.t
14:18 vti i don't what to parse in a 'line per line' way, but sometimes i want to cut the line out with the newline, so instead of (my own syntax follows :) /^^ .*? $$+/ i write /^^ .*? [ \n | $ ]/, $$+ is $$ + \n :)
14:18 timotimo they seem to be trying to do operations on folders, which we now throw exceptions for, OSLT?
14:19 marconrd hi, folks! can anyone help me? how to add my first p6 module on ecosystem? (https://github.com/marcoonroad/Coro-Simple ...)
14:20 JimmyZ joined #perl6
14:20 chenryn joined #perl6
14:20 timotimo marconrd: do you know of the "take-rw" feature?
14:21 marconrd "take-rw"? not...
14:21 jnthn marconrd: Submit a pull request to https://github.com/perl6/ecosystem/blob/master/META.list or just ask for a commit bit to it if you plan to do more modules in the future :)
14:21 timotimo it will put a read-write-able container into the resulting lazy list, that the receiver of the list can then write to
14:22 timotimo and the "generator" can inspect the container for a change in value after the take has returned
14:22 moritz marconrd: what's your github ID?
14:22 timotimo (this relies on "no batching" behavior, though)
14:23 sivoais joined #perl6
14:24 FROGGS moritz: seems to be marcoonroad
14:24 marconrd this is just a minimal module for coroutines inspired on Lua coroutine.wrap/coroutine.yield...
14:24 timotimo FROGGS: macarooned?
14:24 timotimo marconrd: OK :)
14:25 FROGGS timotimo: my kids often look macarooned
14:25 * moritz would like to wait for a confirmation from marconrd
14:26 marconrd thanks to everyone, i will think about new features before try to submit the pull request :)
14:27 timotimo i didn't know what a "macaroon" was until i saw an article on google's security/permission framework with that name yesterday
14:27 * moritz makes coconut macaroons for christmas each year
14:28 kjs_ joined #perl6
14:28 timotimo is that "makronen" in german?
14:29 moritz yes
14:30 timotimo ah
14:34 sivoais joined #perl6
14:45 sivoais joined #perl6
14:54 telex joined #perl6
14:57 sivoais joined #perl6
14:59 dalek rakudo/nom: f526b08 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp:
14:59 dalek rakudo/nom: optimize METAOP_ASSIGN in-place (benefits += in sink context)
14:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f526b08e9e
15:00 lizmat timotimo++
15:00 timotimo before this, only += in non-sink contexts would be optimized, which isn't as clever i think %)
15:00 timotimo hm. actually: "void context" would have been more correct
15:00 timotimo since the void context itself is what causes the sink to be emitted
15:01 timotimo &METAOP_ASSIGN is now completely gone from the rat_mul_div_cancel benchmark profile
15:01 lizmat we have $foo.?method (as in call method on foo if method exists)
15:01 lizmat is there something like:
15:01 lizmat $foo?.method
15:02 timotimo $foo andthen .method could work
15:02 lizmat (call method on $foo if instantiated)
15:02 timotimo m: my $foo = "Hello"; say ($foo andthen .lc)
15:02 camelia rakudo-moar c40c1b: OUTPUT«␤»
15:02 timotimo m: my $foo = "Hello"; say ($foo andthen *.lc)
15:02 camelia rakudo-moar c40c1b: OUTPUT«hello␤»
15:02 timotimo m: my $foo; say ($foo andthen *.lc)
15:02 camelia rakudo-moar c40c1b: OUTPUT«(Any)␤»
15:02 timotimo m: my $foo; say ($foo.lc)
15:02 camelia rakudo-moar c40c1b: OUTPUT«No such method 'lc' for invocant of type 'Any'␤  in block <unit> at /tmp/hZg4SYDWzK:1␤␤»
15:02 lizmat timotimo++
15:02 timotimo :)
15:03 jnthn ooh, nice :)
15:03 timotimo DIVIDE_NUMBERS is responsible for 50% of all Scalar allocations in rat_mul_div_cancel. that could probably be cut down significantly by using binding instead of assignment, OSLT?
15:04 [Coke] m: no, andthen!
15:04 camelia rakudo-moar c40c1b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Gdcivk69fhâ�¤Two terms in a rowâ�¤at /tmp/Gdcivk69fh:1â�¤------> [32mno, andthen[33mâ��[31m![0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤      â€¦Â»
15:04 moritz timotimo: OSLT?
15:04 timotimo "or something like that"
15:04 moritz timotimo: +1
15:05 moritz timotimo: are you going for it, or should I?
15:06 timotimo you can if you like, i'll open up my wordpress "add post" page and see what i can come up with :)
15:07 sivoais joined #perl6
15:07 * jnthn actually did something this week to report in the weekly :)
15:08 timotimo i see you started work on the parameterized 6model things
15:08 timotimo i haven't looked at the full commit log yet, but i will do that for the weekly
15:08 * moritz spectests
15:11 kjs_ joined #perl6
15:13 Sir_Ragnarok joined #perl6
15:13 vti what's an alternative for like in Test.pm?
15:13 moritz vti: what kind of alternative are you looking for?
15:14 sqirrel__ joined #perl6
15:14 vti moritz: 'like', sorry for not empasizing :)
15:14 moritz vti: why do you need an alternative?
15:14 vti because i coudn't find like(), maybe there is smth else
15:15 vti i tried reading source code, but no luck
15:15 b2gills left #perl6
15:16 vti i expected is $foo, rx// to work, but 'is' looks like just does 'eq'
15:16 moritz vti: it seems we don't have anything (I thought we had something, and you were looking for an alternative)
15:16 osfameron so you mean an alternative to *Test::More*'s like() ?
15:16 moritz vti: I tend to use   ok $thing ~~ /.../, but that doesn't give good diagnostics
15:17 moritz but I think I'd welcome a like() function in Test.pm that simply smart-matches
15:17 moritz one problem is that our regexes don't stringify nicely
15:17 moritz so the diagnostics won't be very good
15:17 vti osfameron: exactly
15:17 [Coke] like++
15:18 sivoais joined #perl6
15:19 lizmat so, what *is* the quickest way to get the name of the calling sub ?
15:20 timotimo i'd go via callframe(1) i think?
15:21 moritz m: sub f() { g() }; sub g { say Backtrace.new()[0].code.name }
15:21 lizmat m: sub b { a }; sub a { callframe(1).my<&?ROUTINE>.name }; say b   # timotimo++
15:21 camelia rakudo-moar c40c1b: ( no output )
15:21 camelia rakudo-moar c40c1b: OUTPUT«b␤»
15:21 moritz m: sub f() { g() }; sub g { say Backtrace.new()[0].code.name }; f()
15:21 camelia rakudo-moar c40c1b: OUTPUT«␤»
15:21 moritz m: sub f() { g() }; sub g { say Backtrace.new()[1].code.name }; f()
15:21 camelia rakudo-moar c40c1b: OUTPUT«new␤»
15:21 moritz m: sub f() { g() }; sub g { say Backtrace.new()[3].code.name }; f()
15:21 camelia rakudo-moar c40c1b: OUTPUT«f␤»
15:22 timotimo heh heh
15:22 lizmat moritz: I think callframe will be cheaper
15:22 jnthn Yes, much cheaper
15:22 jnthn I'd hope. :)
15:22 lizmat creating a while Backtrace is expensive
15:22 moritz aye :-)
15:22 pmurias joined #perl6
15:22 lizmat *whole
15:23 jnthn If you're doing it in CORE.setting you can nqp::getcodename(nqp::callercode()) or so :)
15:23 pmurias hi
15:23 moritz \o pmurias
15:23 pmurias snake seems to have very little tests, do they live elsewhere or do they need to be written?
15:24 * moritz hilights arnsholt for ^^
15:24 timotimo oh hey pmurias :)
15:24 jnthn .oO( will badgering arnsholt cause tests to mushroom into existence? )
15:25 arnsholt pmurias: They need to be written
15:25 arnsholt Also, my irssi only highlights on /^arnsholt/ =)
15:26 moritz Hi, my name is moritz, I'm a failed highlighting engineer
15:26 jnthn You must work at GitHub!
15:27 arnsholt (jnthn: Implementing Python has addered by brains, incidentally =p)
15:27 pmurias arnsholt: and later on it should be possible to steal some tests from pynie?
15:27 lizmat jnthn++
15:27 arnsholt pmurias: Definitely!
15:27 * moritz kinda hopes it's possible to steal tests from python
15:27 moritz they do have tests, don't they?
15:28 arnsholt The indent handling is almost entirely cribbed from Pynie, actually. Except in NQP, rather than PIR
15:28 arnsholt I tried looking for tests at some point. Nothing as specific as roast, certainly
15:28 pmurias moritz: as far as i remember the tests in python are rather complex in structure
15:29 arnsholt There's some test stuff in the Python repo, but it wasn't clear to me whether they were sanity tests for the implementation, or more speccy
15:29 arnsholt Pypy might have something. Didn't check there yet
15:30 sivoais joined #perl6
15:30 arnsholt I have actually considered joining #pypy and ask some questions
15:31 masak do it!
15:32 Akagi201 joined #perl6
15:32 arnsholt Yeah, I think the time is more right now, since some things actually work
15:32 arnsholt Last I thought about it I was still working on getting the parsing right
15:33 timotimo jnthn: the thing you were refering to for the weekly was the parameterized 6model stuff, right?
15:33 jnthn timotimo: That plus some Windows test fixes plus fixing the floor/ceil bug on Moar with large numbers...
15:34 timotimo ah, yes
15:39 Sir_Ragnarok joined #perl6
15:40 hoelzro o/ #perl6
15:40 anaeem1_ joined #perl6
15:41 sivoais joined #perl6
15:42 [Coke] heyo, hoelzro
15:43 vti what is the best way of doing smth like this from p5 'sub get{shift->route('GET', @_}', currently I have 'sub get  (*@rest) { route('GET',  |@rest) }'
15:44 hoelzro o/ [Coke]
15:45 jnthn sub get($_, *@rest) { .route('GET, @rest) } maybe.
15:45 jnthn uh, without a missing quote :)
15:46 lizmat m: sub a (|c) { b(|c) }; sub b { say @_; say %_ }; a( 42, b=>5)   #  maybe this ?
15:46 camelia rakudo-moar f526b0: OUTPUT«42␤"b" => 5␤»
15:46 lizmat m: sub a (|c) { b("foo", |c) }; sub b { say @_; say %_ }; a( 42, b=>5)   #  maybe this ?
15:46 camelia rakudo-moar f526b0: OUTPUT«foo 42␤"b" => 5␤»
15:47 jnthn I thought the point wsa to method call on the first argument?
15:47 jnthn Or did I understand the shift-> wrong?
15:47 vti jnthn: sorry, actually there is no 'shift', just added that automatically
15:47 jnthn Oh
15:47 vti just passing the same args and adding one in front
15:48 jnthn Then what you had looked fine enough
15:48 jnthn May be a bit faster with the capture approach
15:48 moritz or you can use  sub get($_, \c) { .route('GET', |c) }
15:48 moritz that passes along named arguments too
15:49 jnthn |c in the sig too
15:50 moritz oh
15:50 * moritz tends to mix those up
15:50 moritz \c would be a single one, right?
15:51 moritz vti: sub get($_, |c) { .route('GET', |c) }  then
15:51 jnthn Right
15:52 vti thanks
15:52 sivoais joined #perl6
15:52 mr-foobar joined #perl6
15:55 hoelzro I was thinking about the non-definite form of return values in S06 (ex. method foo($x --> self)).  S06 is kind of murky on this, but can the return value in the signature be an arbitrary expression?
15:55 sivoais joined #perl6
15:55 hoelzro (I'm thinking of trying my hand at implementing it)
15:56 b2gills joined #perl6
15:59 * moritz has no idea
16:03 timotimo moritz: did the scalar-decreasement-effort work out?
16:03 dalek rakudo/nom: a3cf223 | moritz++ | src/core/Rat.pm:
16:03 dalek rakudo/nom: Avoid scalar allocations in DIVIDE_NUMBERS
16:03 dalek rakudo/nom:
16:03 dalek rakudo/nom: timotimo++ for coming up with the idea, and benchmarking/profiling
16:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a3cf2230d9
16:03 * moritz lets dalek answer
16:04 timotimo :)
16:04 timotimo did you measure yet?
16:04 timotimo if not, i'm going to do it
16:05 moritz timotimo: I didn't
16:05 timotimo i'll have results in a bit :)
16:05 hoelzro I'm thinking it makes sense as an arbitrary expression, but I'm wondering if it should be evaluated at compile time or runtime
16:05 moritz I had a hang in t/spec/S17-procasync/kill.rakudo.moar and a failure in another async test; I hope they aren't related to my change
16:05 moritz hoelzro: run time
16:05 timotimo i don't think so, moritz
16:06 moritz hoelzro: just like default values are evaluated at run time
16:06 hoelzro moritz: to be consistent with "regular" params?
16:06 lizmat fwiw, I've not seen hangs for a *long* time
16:06 hoelzro yeah, that makes sense
16:06 lizmat moritz: so I would be suspect of hangs ...
16:06 timotimo uh oh
16:06 moritz hoelzro: yes, you don't want --> [1, 2, 3]  to return references to the same array
16:06 hoelzro indeed
16:06 brrt yeah, spectest hangs for me too
16:06 hoelzro moritz++
16:07 timotimo it could be compile-time evaluated (maybe in the optimizer) and generate a clone() for it?
16:07 moritz timotimo: in that special cases, yes
16:07 moritz timotimo: in --> self, no
16:08 timotimo ah, yes
16:09 timotimo moritz: i'm sad to say the number of allocations didn't decrease
16:09 chenryn joined #perl6
16:09 timotimo i feared that ;(
16:10 timotimo but *something* caused the number of GC runs to decrease anyway
16:10 timotimo so we may have another case of an op not being annotated as ALLOCATES
16:10 timotimo 1505 gc runs instead of 1778 gc runs
16:11 dalek perl6-roast-data: a853cd8 | coke++ | / (5 files):
16:11 dalek perl6-roast-data: today (automated commit)
16:11 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/a853cd8fca
16:11 jnthn timotimo: getlex may vivify containers, as may getattr; if you implement the "look at end of nursery" thing, then we can just mark up all of those.
16:12 timotimo ah, yes, that'd be good
16:13 timotimo jnthn: that's the little push i needed to make me implement that :P
16:16 |Tux| ==> Reinstalling Slang::Tuxic
16:16 |Tux| Could not download module metadata: Failed to connect: connection refused
16:16 |Tux| in method update at lib/Panda/Ecosystem.pm:91
16:17 moritz tadzik: ^^ panda meta data server not running?
16:17 timotimo jnthn: what do you think about ops that first allocate and then call other stuff that may allocate, too? should i allow for a bit of space between the returned object and the current allocation pointer?
16:19 ptc_p6 joined #perl6
16:19 moritz lizmat: can't reproduce the hang
16:19 moritz so I hope we're fine :-)
16:20 brrt moritz - i can
16:20 lizmat I hope so too, otherwise the wrath of [Coke]  will be upon you  :-)
16:20 moritz :(
16:20 moritz brrt: can you bisect it please?
16:21 kaare__ joined #perl6
16:22 jnthn timotimo: Hm, wonder how many of those we have...
16:22 jnthn timotimo: Oh...guess split is an example...
16:23 lizmat m: "~/rakudo/.bashrc".IO.f   # shouldn't we handle ~ at the beginning of a string when creating an .IO ?
16:23 camelia rakudo-moar f526b0: OUTPUT«Unhandled exception: Failed to find '~/rakudo/.bashrc' while trying to do '.f'␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13784  (/home/camelia/rakudo-inst-…»
16:25 lizmat does ~ mean something on Win32 ?
16:26 * brrt doesn't know how bisect works, and only has mac-availability for the next 5 minutes or so
16:26 timotimo huh, interesting.
16:27 timotimo i get a segfault now
16:27 timotimo getlex or getattr_o may return an actual null pointer?
16:27 brrt hmmm
16:28 jnthn Don't think they should
16:28 brrt it should not
16:28 brrt although getattr_o may
16:28 brrt it is repr-dependent
16:29 brrt getlex should not though. and it should do that correctly even if we're jitting
16:31 timotimo i didn't actually look where exactly the segfault came from, but it seems obvious enough %)
16:34 timotimo and just as i say that, it still blows up even though i put in a null pointer check %)
16:35 timotimo huh.
16:35 tadzik moritz: indeed, it crashed. Should be up now
16:36 timotimo ah, getlex can handle native types, too
16:37 timotimo so it's not necessarily a pointer that it returns
16:37 timotimo so getting the STABLE(obj)->WHAT fails
16:38 hoelzro when a value is deserialized, there's no nqp:: call going on like nqp::create, is there?
16:39 timotimo don't think so
16:40 timotimo jnthn: what other ops should i annotate as "maybe annotates"?
16:40 jnthn timotimo: When you instrument, you should only do it if it's an object lexical...
16:40 timotimo right, i'll have to inspect that
16:40 timotimo haven't done much with lexicals yet
16:41 jnthn hoelzro: No, no code is run on deserialization
16:41 jnthn timotimo: You don't have to, just look at the local type of the register it's assigned into.
16:42 timotimo oooooh
16:42 timotimo of course :)
16:44 japhb I noticed someone mention implementing D&D in Perl 6 in the backlog as I was skimmming for highlights.  FWIW I've been sketching out what it would take to implement the rules (even just the character generation rules) of a full pen and paper RPG.  It's ... a LOT of special cases.  Old school RPGs pretty much assumed they could write any rule at all, because it was humans that had to deal with it, not computers.
16:44 timotimo jnthn: apparently i'll have to check if the spesh_graph's lexical_types was set up and if not i'd look at g->sf instead?
16:45 kaleem joined #perl6
16:46 jnthn timotimo: Just always look at g->sf->local_types, I think
16:46 timotimo um, local types
16:46 timotimo yes
16:47 jluis_ joined #perl6
16:48 jnthn Oh, wait, you might want to always go for local_types actually
16:48 jnthn Because otherwise it may explode on inlined things
16:48 timotimo local_types in the g rather than the sf?
16:49 timotimo moritz: if you'd like to do a tiny bit more with DIVIDE_NUMBERS: it allocates hundreds of thousands of BOOTCode in my current profile
16:49 nine Is this one known?
16:49 nine m: Buf.new() eq Str.new()
16:49 camelia rakudo-moar a3cf22: OUTPUT«Cannot use a Buf as a string, but you called the Stringy method on it␤  in method Stringy at src/gen/m-CORE.setting:5715␤  in sub infix:<eq> at src/gen/m-CORE.setting:1550␤  in block <unit> at /tmp/ZZbxARVm7s:1␤␤»
16:49 timotimo exactly as many as it allocates Scalar objects
16:50 nine Oh, seems even fixed! Ends in an endless loop allocating memory on my machine. Will upgrade rakudo
16:50 jnthn timotimo: yes
16:51 timotimo jnthn: but that segfaults :)
16:51 jnthn Oh.
16:52 jnthn Does the instrumentation look at the locals anywhere yet at all?
16:53 timotimo i don't think so
16:53 timotimo the comment clearly states that the local_types is only set up if there's inlines
16:53 jnthn Oh, well, I'd trust it then :)
16:53 timotimo so since we allocate from a nulled blob anyway, i just put in a check for g->local_types to be non-null
16:54 timotimo i just added getattr_o and getlex; i should probably add many more. like getlexouter, getdynlex, ... as well as sp_get_o and sp_p6get_o and such?
16:55 jnthn Yeah
16:55 jnthn Uh
16:55 jnthn Not sp_p6get_o
16:55 jnthn You know that one does not
16:55 jnthn But there is a variant that does
16:55 timotimo oh, of course
16:55 jnthn Also getattrs_o, the late-bound one.
16:57 timotimo ah, yes
16:57 timotimo how do you feel about counting how many allocations come from interpreted code and how many come from spesh'd code?
16:57 timotimo that way, thrown-out allocations due to spesh would be visible
17:00 pmichaud joined #perl6
17:00 pmichaud Good morning, #perl6
17:01 nine Good morning, pmichaud!
17:02 jnthn timotimo: Hm, could be interesting idea...
17:02 jnthn timotimo: Good prep for when we get escanal too...
17:02 jnthn o/ pmichaud
17:02 pmichaud o/ jnthn
17:02 timotimo escanal? that's an amusing way to shorten in
17:02 timotimo it*
17:03 jnthn "A canal! It is a canal!"
17:03 [Coke] enterprise standards C analytics?
17:03 * [Coke] makes up something plausible.
17:03 pmichaud A man, a plan, a canal?
17:03 jnthn Escape analysis :P
17:04 pmichaud At one level I'm really concerned about how many things our "optimizations" will break after doing GLR.
17:06 vti is my-method preferred over my_method? are there any conventions?
17:06 timotimo there are at least two conventions!
17:07 jnthn pmichaud: Which ones, ooc?
17:07 timotimo a third one might be my'method
17:07 jnthn pmichaud: There's rather few of them that relate specifically to lists.
17:07 pmichaud well, especially the ones attempting to optimize for sink context
17:07 jnthn Ah
17:07 jnthn So things in Perl6::Optimizer, rather than things in Moar
17:07 pmichaud since we're planning to change our notion of sink context a bit
17:08 pmichaud yes, in Perl6::Optimizer
17:08 pmichaud and throughout much of src/core
17:08 jnthn Yes, there'll be some upheavel. It's easy enough to turn the optimizer down while we work on GLR
17:08 timotimo jnthn: looking at DIVIDE_NUMBERS, here: https://github.com/rakudo/rakudo/blob/nom/src/core/Rat.pm#L40
17:09 timotimo do you think the way the code uses the "last statement of block as return value" causes the optimizer to not inline the blocks?
17:09 timotimo and thus causes closures to be taken every time we DIVIDE_NUMBERS?
17:11 jnthn timotimo: It's more likely the "my $r" getting in the way
17:11 jnthn timotimo: Lexicals declared in a scope prevent it being flattened away, modulo other opts
17:11 jnthn And while NQP is quite good at those now, Rakudo is less so ('cus it's harder)
17:12 timotimo i would have expected that to be turned into a local; i could probably look at the speshlog to find out
17:12 jnthn https://github.com/rakudo/rakudo/blob/nom/src/core/Rat.pm#L40
17:12 jnthn oops
17:12 jnthn No, it won't be.
17:12 timotimo we could most probably put $r outside the if/else and it could help?
17:12 jnthn Could do, yes
17:13 timotimo we don't require escanal to turn lexicals into registers at the spesh level when we inline other spesh graphs, right
17:13 timotimo ?
17:14 timotimo yes, that did it! :)
17:14 timotimo now i'll just need a proper measurement to see if it got worse for some unrelated reason
17:15 jnthn The VM isn't the right place to turn lexicals into registers, I don't think. That is a decisoin for higher up.
17:15 anaeem1 joined #perl6
17:15 jnthn Too many language semantics come into play
17:15 timotimo OK
17:17 jnthn Note that Moar's optimizer can inline blocks with lexicals, in some cases.
17:17 guru joined #perl6
17:17 * TimToady is working on his fifth implementation of longext literals now, having discovered four other ways that mostly work... :)
17:18 TimToady the current implementation works so well it's coredumping now :)
17:18 jnthn TimToady++ # perserverance
17:18 timotimo jnthn: how do we handle allocations like in p6recont_ro? it allocates a new container and swaps out the container in its first argument ...
17:19 jnthn timotimo: Umm...not sure we easily can...
17:19 pmurias longext literals?
17:19 jnthn timotimo: I think that op may go away though
17:20 TimToady pmurias: the 2nd tiebreaker rule for longest token matching
17:20 jnthn timotimo: Since emitting it as code would make it transparent to spesh.
17:21 timotimo ah, that sounds fair
17:22 timotimo jnthn: would you +1 a moar revision bump just to make p6listitems MVM_EXTOP_ALLOCATING? or should i just wait until the next bump comes along?
17:22 kurahaupo joined #perl6
17:23 jnthn timotimo: Feels fine; bumps are a renewable resource... :)
17:23 dalek rakudo/nom: c238291 | (Timo Paulssen)++ | src/core/Rat.pm:
17:23 dalek rakudo/nom: make DIVIDE_NUMBERS friendlier to block inlining
17:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c238291d2f
17:23 TimToady it's debumps that are limited, since you can't go negative
17:25 jnthn timotimo: Did that last patch make a measurable difference?
17:25 timotimo i pushed it for convenience so that i can measure it with perl6-bench on my desktop
17:27 jnthn :P
17:27 timotimo might have wanted to push it to a branch instead, but i'm hopeful it'll turn out an improvement
17:30 timotimo DIVIDE_NUMBERS is now a single "thing" at spesh time, but it still has 42 BBs
17:31 jnthn Well, is that 'cus it inlined all the ops used in it?
17:32 timotimo i'm looking closer right now
17:32 jnthn k
17:32 jnthn Time to detrain &
17:34 timotimo there's some invokes still in there
17:35 timotimo the first three fastinvokes probably correspond to gcd, div and div in the first three lines
17:35 timotimo and one at the end is for sinking
17:39 kaleem joined #perl6
17:57 cognominal http://strongloop.com/strongblog/whats-new-node-js-v0-12-multiple-context-execution/  Can we do that with rakudo and moarvm?
17:58 chenryn joined #perl6
17:58 timotimo yes, we can
17:59 timotimo you can have as many MVMInterpreter structures as you like
18:00 kaleem joined #perl6
18:00 timotimo actually, i just very briefly looked at the post; what is it actually about, exactly?
18:01 timotimo i think moarvm is pretty global-free
18:01 timotimo but i haven't actually checked to make sure
18:02 cognominal well, I am looking about the editor atom, and transitively I read about atom-shell, a new way to build guis using node-js and this article about a necessary feature?
18:03 timotimo anyway, gotta AFK for a bit
18:03 cognominal Would be nice if we could hook rakudo as well to atom.
18:05 virtualsue joined #perl6
18:10 tony-o found it, nvm
18:11 kjs_ joined #perl6
18:17 timotimo found what?
18:20 gfldex joined #perl6
18:23 tony-o wrong channel, i was missing a comma in my META for Slang::SQL though
18:26 xinming_ joined #perl6
18:27 timotimo OK :)
18:29 masak JSON is a harsh mistress.
18:29 timotimo rat_mul_div_cancel                                       95092/s                   108362/s
18:29 timotimo rat_harmonic                                             19060/s                    21178/s
18:29 timotimo that's before my DIVIDE_NUMBERS inlining patch on the left, and after on the right
18:30 tony-o is ab5tract in here?
18:30 masak timotimo: looks... better.
18:30 timotimo just a tiny bit :\
18:30 kjs_ joined #perl6
18:32 denis_boyun_ joined #perl6
18:32 timotimo for some reason, divide-and-conquer got 4.8x faster over that exact commit
18:32 timotimo i don't think that's due to my change, though
18:38 FROGGS joined #perl6
18:42 japhb timotimo: d-a-c is using rationals ... but perhaps you have accidentally found one of the things that causes d-a-c to be unreasonably slow (closures)
18:42 japhb (I don't know that to be the case, I'm just speculating on possible reasons)
18:44 timotimo i didn't improve closures
18:44 timotimo sadly, the profiler doesn't work very well with multple threads
18:50 raydiak \o mornin #perl6
18:50 hoelzro o/ raydiak
18:51 timotimo heyo raydiak :)
18:52 raydiak how goes it timo & hoelzro?
18:52 hoelzro it goes
18:52 hoelzro holiday season and whatnot =)
18:53 raydiak I hear that...time of year I keep my head down and try to stay away from stores :)
18:55 raydiak .oO( oh wait that's all year )
18:58 nine "Or Node embedded in a phone or network switch where it is performing routing logic for multiple connections" <- this scares me on so many levels...
18:58 raydiak as in Node.js?
18:59 tony-o .tell ab5tract fixed the HTML::Parser::XML module, it works as expected and it works with the advent sample ugexe provided
18:59 yoleaux tony-o: I'll pass your message to ab5tract.
18:59 timotimo yes, node.js
18:59 timotimo tony-o: way cool :)
19:00 tony-o timotimo: it's much faster than when i originally released too :-) (not because i optimized it, either)
19:00 tony-o need to get my other modules up to snuff too, i'm disappointed in the async http server performance
19:01 raydiak why would you want your embedded devices to run javascript?
19:01 tony-o because ecmascript
19:02 timotimo tony-o: did you ever have a look at moarvm's --profile? :)
19:02 anaeem1_ joined #perl6
19:02 tony-o timotimo: i haven't, moar segfaults when i siege the server, jvm perl hangs when i siege
19:03 timotimo for html::parser::xml, though? :)
19:07 sqirrel__ joined #perl6
19:12 tony-o html parser seems to work great
19:12 tony-o i'm taking a look at the web scraper right now, then the async serber
19:13 tony-o timotimo: are you trying to use the parser for something?
19:18 timotimo nah
19:18 timotimo i just meant for the profiler
19:20 anaeem1_ joined #perl6
19:20 tony-o ah
19:26 dalek joined #perl6
19:27 * TimToady has pushed the latest longlit patch; you'll need to pull both nqp and moar to keep them in sync under master
19:29 dalek roast: 49638fb | TimToady++ | S05-metasyntax/longest-alternative.t:
19:29 dalek roast: more longlit tests for various failure modes
19:29 dalek roast: review: https://github.com/perl6/roast/commit/49638fbf44
19:29 vendethiel- TimToady: https://github.com/perl6/nqp/compare/53e0c2c24f...55b3c93702#diff-dfc6a9504f70f64a1841da9fae20de67R164 indentation seems off here
19:29 vendethiel- is that a github issue or is it an editor one?
19:32 dalek nqp: 750f659 | TimToady++ | src/QRegex/NFA.nqp:
19:32 dalek nqp: fix tab damaged noticed by ven++
19:32 dalek nqp: review: https://github.com/perl6/nqp/commit/750f65973f
19:32 timotimo TimToady: how stable does it seem to be?
19:32 TimToady passes all the tests except the pairs test, which doesn't seem to be my problem
19:33 TimToady though it probably only works right for moar, now that I think on it
19:34 Ugator joined #perl6
19:34 dalek rakudo/newio: 00535f7 | (Elizabeth Mattijsen)++ | src/core/ (7 files):
19:34 dalek rakudo/newio: .IO now does an IOU.new
19:34 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/00535f791a
19:34 TimToady probably should have checked in the branch instead, but got lost in a maze of merge conflicts
19:35 dalek rakudo/newio: f526b08 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp:
19:35 dalek rakudo/newio: optimize METAOP_ASSIGN in-place (benefits += in sink context)
19:35 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/f526b08e9e
19:35 dalek rakudo/newio: a3cf223 | moritz++ | src/core/Rat.pm:
19:35 dalek rakudo/newio: Avoid scalar allocations in DIVIDE_NUMBERS
19:35 dalek rakudo/newio:
19:35 dalek rakudo/newio: timotimo++ for coming up with the idea, and benchmarking/profiling
19:35 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/a3cf2230d9
19:35 dalek rakudo/newio: c238291 | (Timo Paulssen)++ | src/core/Rat.pm:
19:35 dalek rakudo/newio: make DIVIDE_NUMBERS friendlier to block inlining
19:35 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/c238291d2f
19:35 dalek rakudo/newio: f6eea6e | (Elizabeth Mattijsen)++ | src/ (2 files):
19:35 dalek rakudo/newio: Merge branch 'nom' into newio
19:35 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/f6eea6ef84
19:35 moritz timotimo: those BOOTCodes, are they from if statements?
19:35 moritz timotimo: and what benchmark do you use?
19:35 timotimo they are from taking closures
19:36 timotimo rat_mul_div_cancel from perl6-bench
19:36 TimToady in fact, don't pull nqp right now if you're on jvm or parrot
19:36 moritz timotimo: how do I run just that one?
19:36 timotimo the lexical $r inside the if clauses prevented inlining, because lexicals are hard
19:36 timotimo i usually just copy&paste from microbenchmarks.pl and insert a number for SCALE
19:37 timotimo because i also want to --profile
19:38 moritz timotimo: I can see how $numerator and $denominator can cause closurification, but there's no $r in a condition in DIVIDE_NUMBERS
19:38 nine How do I unpack an array into variables in Perl 6? In Perl 5 I'd do my ($foo, $bar) = @baz;
19:39 moritz m: my @ar = <a b c>; my ($a, $b) = @ar; say $b
19:39 camelia rakudo-moar c23829: OUTPUT«b␤»
19:39 moritz nine: just the same :-)
19:40 tony-o is it possible to break a promise already vowed?  i'm using one as a timer to "timeout" a request if it takes too long and if my request is fulfilled prior to the timer then i'd like to not have that timeout promise hanging around
19:40 nine Oh, then I did something wrong when I tried that.
19:40 nine moritz: thanks
19:40 tony-o break or keep..
19:41 tony-o or destroy
19:41 travis-ci joined #perl6
19:41 travis-ci NQP build failed. TimToady 'fix tab damaged noticed by ven++'
19:41 travis-ci http://travis-ci.org/perl6/nqp/builds/41997965 https://github.com/perl6/nqp/compare/55b3c93702e1...750f65973fcc
19:41 travis-ci left #perl6
19:42 timotimo damn you, tabs!
19:42 timotimo tony-o: timer promises are pretty cheap, i believe
19:43 dalek ecosystem: 0f6241c | (Marco Aurélio)++ | META.list:
19:43 dalek ecosystem: Add Coro::Simple.
19:43 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/0f6241c3a3
19:43 dalek ecosystem: 6542129 | moritz++ | META.list:
19:43 dalek ecosystem: Merge pull request #37 from marcoonroad/master
19:43 dalek ecosystem:
19:43 dalek ecosystem: Add Coro::Simple.
19:43 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/6542129e41
19:43 tadzik oh :)
19:43 timotimo tadzik: is that better than yours? :)
19:43 tony-o timotimo: i think they are but they're filling up the queue and causing moar to stop responding
19:43 tadzik timotimo: I don't know yet :)
19:44 tadzik the code looks familiar
19:44 tadzik it has some features mine doesn't
19:46 chenryn joined #perl6
19:49 timotimo oh, wow.
19:52 vendethiel joined #perl6
19:53 tony-o there isn't a mechanism to break the timer promise, though?
19:54 Alula joined #perl6
19:55 timotimo oh, wait, actually
19:55 timotimo didn't we get cancelable thingies?
19:55 timotimo no, i think that was for repeating things
19:56 tony-o i wonder if i'm using the wrong mechanism for a timeout :/
19:56 tony-o it sounds like i am
20:01 raiph joined #perl6
20:01 dalek roast: 71cb115 | usev6++ | S02-types/pair.t:
20:01 dalek roast: Fudge tests for RT #123215 for Parrot and JVM
20:01 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123215
20:01 dalek roast: review: https://github.com/perl6/roast/commit/71cb115dac
20:04 FROGGS bartolin: how does that fail on these backends? the patch I did was not moar only
20:05 bartolin FROGGS: on parrot it aborts with duplicate named argument in call in block <unit> at t/spec/S02-types/pair.rakudo.parrot:329
20:05 FROGGS hmmm
20:07 bartolin FROGGS: on jvm it just doesn't pass: https://gist.github.com/usev6/2758cadede70afcb92c6
20:08 bartolin FROGGS: is a gist for the failure on parrot useful, too?
20:08 FROGGS jvm fails very interestingly here
20:08 FROGGS bartolin: no, I'll need to build a perl6-p anyway :o)
20:08 FROGGS bartolin: thank you
20:09 bartolin no problem :-)
20:10 dalek rakudo/nom: bf6f157 | moritz++ | src/Perl6/World.nqp:
20:10 dalek rakudo/nom: Fix error reporting inside the setting
20:10 dalek rakudo/nom:
20:10 dalek rakudo/nom: without thsi patch, at least r-m always printed the last key for all elements
20:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf6f157461
20:11 timotimo good catch, moritz!
20:18 kurahaupo joined #perl6
20:19 * TimToady will have to disable longlit on parrot and jvm till he gets those backend nfa engines in shape
20:22 travis-ci joined #perl6
20:22 travis-ci Rakudo build failed. Moritz Lenz 'Fix error reporting inside the setting
20:22 travis-ci http://travis-ci.org/rakudo/rakudo/builds/42001844 https://github.com/rakudo/rakudo/compare/c238291d2f2b...bf6f15746194
20:22 travis-ci left #perl6
20:22 timotimo http://p6weekly.wordpress.com/?p=266&amp;shareadraft=547393895e763 - feedback please :)
20:27 dalek nqp: 38d290c | TimToady++ | src/QRegex/NFA.nqp:
20:27 dalek nqp: disable longlit on jvm and parrot for the moment
20:27 dalek nqp: review: https://github.com/perl6/nqp/commit/38d290cd1c
20:27 TimToady that should make travis happier anyway
20:28 TimToady only moar will pass all the new longlit tests though
20:28 TimToady but that should unbreak the build
20:29 TimToady (for people on master)
20:35 jnthn evening, #perl6
20:36 lizmat jnthn o/
20:36 FROGGS timotimo: I feedbacked
20:37 bjz_ joined #perl6
20:37 colomon \o
20:37 timotimo i saw, thanks :)
20:37 timotimo jnthn, lizmat, http://p6weekly.wordpress.com/?p=266&amp;shareadraft=547393895e763 feel free to feed back :)
20:38 lizmat timotimo: I think TimToady did most of the work on the negative index issue...  I merely nudged
20:38 jnthn FROGGS: "feedbuck", no? :)
20:38 FROGGS jnthn: yeah, probably :o)
20:38 * jnthn looks at the weekly before he digs into teaching prep :)
20:40 jnthn timotimo: Looks good to me :)
20:41 panchiniak joined #perl6
20:42 guru joined #perl6
20:47 chenryn joined #perl6
20:53 Mouq joined #perl6
20:53 masak timotimo: "Mouq worked towards making slangs more easily usable from Perl 6 code, among others by introducing the ~ sigil."
20:53 masak should that be "twigil"?
20:54 Mouq TimToady: NQP needs a Moar bump
20:55 [Coke] masak++
20:55 denis_boyun_ joined #perl6
20:56 dalek Inline-Python: 09ad48b | nine++ | / (3 files):
20:56 dalek Inline-Python: Handle exceptions raised in Python or Perl code correctly
20:56 dalek Inline-Python:
20:56 dalek Inline-Python: We now handle user exceptions, invalid function or method names and
20:56 dalek Inline-Python: passing exceptions from Perl through Python back to Perl.
20:56 dalek Inline-Python: review: https://github.com/niner/Inline-Python/commit/09ad48b13a
20:56 cognominal joined #perl6
20:56 raiph joined #perl6
20:56 Mouq nine++
20:57 nine This should make debugging so much easier :)
20:58 jluis_ joined #perl6
20:58 dalek nqp: 5d9d2b7 | TimToady++ | tools/build/MOAR_REVISION:
20:58 dalek nqp: bump moar
20:58 dalek nqp: review: https://github.com/perl6/nqp/commit/5d9d2b7921
20:59 jnthn TimToady: I guess try number 5 was the lucky one? :)
20:59 dalek rakudo/nom: ac27d2f | TimToady++ | tools/build/NQP_REVISION:
20:59 dalek rakudo/nom: bump nqp
20:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ac27d2f063
20:59 vendethiel nine++ :-)
20:59 TimToady except I forgot to fix jvm and parrot's nqp runner, oops
21:00 TimToady so longlit is disabled in those for the moment
21:00 jnthn nqp runner, or nfa runner?
21:00 TimToady er, nfa
21:00 jnthn ftm tla...
21:01 TimToady ysi
21:01 jnthn What approach did you settle on in the end?
21:02 TimToady see the commit messages :)
21:02 TimToady errands &
21:02 dalek Inline-Python: 9cb450f | nine++ | pyhelper.c:
21:02 dalek Inline-Python: Correctly handle invalid method names when calling methods on P6 objects inheriting from Python
21:02 dalek Inline-Python: review: https://github.com/niner/Inline-Python/commit/9cb450f632
21:05 kjs_ joined #perl6
21:06 jnthn ah, which dalek didn't report. :) OK.
21:09 vendethiel oooh we have a beginning of native arrays :o)?
21:17 brrt joined #perl6
21:17 brrt left #perl6
21:24 raiph joined #perl6
21:28 kjs_ joined #perl6
21:28 exixt joined #perl6
21:29 woolfy Interviews by Denis Banovic during Austrian Perl Workshop with Larry Wall and Jonathan Worthington, in Salzburg (by the way, the article around it is nice too): http://www.tourismusbesprechungsraum.at/blog/perl-workshop-salzburg/
21:32 jnthn oh no, what did I say... :)
21:33 woolfy Follow the link, see the second video...
21:33 Pleiades` joined #perl6
21:33 lizmat .tell timotimo "Interviews by Denis Banovic during Austrian Perl Workshop with Larry Wall and Jonathan Worthington, in Salzburg (by the way, the article around it is nice too): http://www.tourismusbesprechungsraum.at/blog/perl-workshop-salzburg/" might be worth mentioning in the Perl 6 Weekly
21:33 yoleaux lizmat: I'll pass your message to timotimo.
21:34 vendethiel ooh, I remember this interview!
21:34 vendethiel woolfy was interviewed as well, I'm sure :P
21:35 vendethiel *g*
21:35 woolfy I was the one holding the camera...  I was not interviewed.
21:36 woolfy (a train interrupted the interview at the end...  just a bit of noise...)
21:36 vendethiel this week was a very good week :)
21:37 dalek roast: d025d6c | usev6++ | S03-operators/ (2 files):
21:37 dalek roast: Replace tests like 'dies_ok' with more specific version
21:37 dalek roast: mostly for RT #77592
21:37 dalek roast: review: https://github.com/perl6/roast/commit/d025d6c4a7
21:37 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=77592
21:38 woolfy (I did not hold the camera during the interview with jnthn...  I assume I did a bad job during Larry's...  with the train and all)
21:39 [Coke] Is anyone working on adding a "like" to our Test.pm?
21:40 bartolin hmm, maybe that commit holds a bit too much (too specific) testing. but someone once mentioned the term 'interface consistency' ;-)
21:44 anaeem1_ joined #perl6
21:47 [Coke] m: say /'hi'/.WHAT
21:47 camelia rakudo-moar ac27d2: OUTPUT«(Regex)␤»
21:47 FROGGS m: say /'knockknock'/.WHAT
21:47 camelia rakudo-moar ac27d2: OUTPUT«(Regex)␤»
21:48 lizmat m: say /'knockknock'/.WHO
21:48 camelia rakudo-moar ac27d2: OUTPUT«(Mu)␤»
21:48 lizmat MuMuMuMu
21:48 lizmat .oO( there have been better knock knock jokes )
21:49 FROGGS m: say ('Look, a joke!'; *).WHAT
21:49 camelia rakudo-moar ac27d2: OUTPUT«(LoL)␤»
21:50 [Coke] :P
21:52 [Coke] m: say /'hi'/.Str ; say /'hi'/
21:52 camelia rakudo-moar ac27d2: OUTPUT«Code object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/Sjs_VLbH9m:1␤␤␤␤»
21:52 FROGGS how would a aborigine react?
21:52 [Coke] m: say /'hi'/.Str ; say /'hi'/.gist
21:52 camelia rakudo-moar ac27d2: OUTPUT«Code object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/mJISZ2Qb9q:1␤␤␤␤»
21:52 FROGGS (lol) # native LoL
21:52 [Coke] m: say /'hi'/.gist
21:52 camelia rakudo-moar ac27d2: OUTPUT«␤»
21:52 * FROGGS stops now
21:52 [Coke] m: say /'hi'/.perl
21:52 camelia rakudo-moar ac27d2: OUTPUT«regex (Mu: *%_) { #`(Regex|74193440) ... }␤»
21:53 [Coke] so there's no pretty printing a regex?
21:53 [Coke] (vaguely needed to implement like())
21:55 FROGGS [Coke]: you could make it output the .perl output for now
21:56 [Coke] http://perl6.org/compilers/ - the rakudo section needs to be updated to talk about moar.
21:56 [Coke] FROGGS: the .perl is useless.
21:56 [Coke] see ^^
21:56 jnthn m: class StateMachine { has $!state = 0; method run() { given $!state++ % 3 { when 0 { 'Knock knock?' }; when 1 { 'Who\'s there?' }; when 2 { 'Bug in your state machine' } } } }; my $sm = StateMachine.new; say $sm.run for ^4
21:56 camelia rakudo-moar ac27d2: OUTPUT«Knock knock?␤Who's there?␤Bug in your state machine␤Knock knock?␤»
21:57 FROGGS >.<
21:58 FROGGS [Coke]: same goes for subroutines
21:58 FROGGS (I think)
21:58 telex joined #perl6
22:00 denis_boyun_ joined #perl6
22:04 jnthn I dunno how robust this will be, but:
22:04 jnthn m: sub like-impl($a, $b, $txt) { say $a ~~ $b ?? "ok" !! "not ok - $a ain't like $txt" }; macro like($a, $b) { my $txt = ~$b; quasi { like-impl({{{ $a }}}, {{{ $b }}}, $txt) } }; like 'abc', /\w+/; like '!!!', /\w+/;sub like-impl($a, $b, $txt) { say $a ~~ $b ?? "ok" !! "not ok - $a ain't like $txt" }; macro like($a, $b) { my $txt = ~$b; quasi { like-impl({{{ $a }}}, {{{ $b }}}, $txt) } }; like 'abc', /\w+/; like '!!!', /\w+/;
22:04 camelia rakudo-moar ac27d2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/D3uet963gtâ�¤Redeclaration of routine like-implâ�¤at /tmp/D3uet963gt:1â�¤------> [32m "ok" !! "not ok - $a ain't like $txt" }[33mâ��[31m; macro like($a, $b) { my $txt = ~$b; qu[0mâ�¤    expectin…»
22:04 jnthn wtf
22:05 jnthn m: sub like-impl($a, $b, $txt) { say $a ~~ $b ?? "ok" !! "not ok - $a ain't like $txt" }; macro like($a, $b) { my $txt = ~$b; quasi { like-impl({{{ $a }}}, {{{ $b }}}, $txt) } }; like 'abc', /\w+/; like '!!!', /\w+/;
22:05 camelia rakudo-moar ac27d2: OUTPUT«ok␤not ok - !!! ain't like  '!!!', /\w+/␤»
22:05 jnthn There we go :)
22:06 jnthn oh, well, almost...hmm.
22:06 jnthn Anyway, it's a way to get the text :)
22:12 dalek roast: aad8694 | usev6++ | S03-operators/arith.t:
22:12 dalek roast: Add test for RT #122053
22:12 dalek roast: review: https://github.com/perl6/roast/commit/aad869406e
22:12 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122053
22:15 bartolin and with that: good night #perl6!
22:18 wtw joined #perl6
22:26 FROGGS gnight bartolin
22:27 panchiniak left #perl6
22:36 chenryn joined #perl6
22:40 kjs_ joined #perl6
22:46 Mouq joined #perl6
22:46 dalek rakudo/newio: 7b96bac | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
22:46 dalek rakudo/newio: Copy all file open logic to open()
22:46 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/7b96bac45c
22:46 dalek rakudo/newio: 327ef78 | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm:
22:46 dalek rakudo/newio: PIO is a public attribute (at least for now)
22:46 dalek rakudo/newio:
22:46 dalek rakudo/newio: We need to be able to set it with .new
22:46 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/327ef78337
22:48 dalek rakudo/newio: bf6f157 | moritz++ | src/Perl6/World.nqp:
22:48 dalek rakudo/newio: Fix error reporting inside the setting
22:48 dalek rakudo/newio:
22:48 dalek rakudo/newio: without thsi patch, at least r-m always printed the last key for all elements
22:48 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/bf6f157461
22:48 dalek rakudo/newio: ac27d2f | TimToady++ | tools/build/NQP_REVISION:
22:48 dalek rakudo/newio: bump nqp
22:48 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/ac27d2f063
22:48 dalek rakudo/newio: ef6e3b9 | (Elizabeth Mattijsen)++ | / (2 files):
22:48 dalek rakudo/newio: Merge branch 'nom' into newio
22:48 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/ef6e3b9781
22:48 timo joined #perl6
22:50 jnthn Sleep time...'night
22:50 TimToady good night
22:50 timotimo seems like the machine i'm using for irc, mail, web hosting, jabber and other stuff has fallen off the 'net
22:50 yoleaux 21:33Z <lizmat> timotimo: "Interviews by Denis Banovic during Austrian Perl Workshop with Larry Wall and Jonathan Worthington, in Salzburg (by the way, the article around it is nice too): http://www.tourismusbesprechungsraum.at/blog/perl-workshop-salzburg/" might be worth mentioning in the Perl 6 Weekly
22:51 lizmat gnight jnthn
22:51 lizmat timotimo++ weekly!
22:51 KCL_ joined #perl6
22:51 timotimo thank you
22:51 timotimo and thank you all for the work i was able to present :)
22:54 timotimo oh, kind of looks like another server that's used for irc sessions has fallen off the 'net
22:55 TimToady oh, ~ is a twigil, not a sigil...
22:58 Mouq m: say $~MAIN # Still 99% NYI :P
22:58 camelia rakudo-moar ac27d2: OUTPUT«Slang.new(:grammar(Perl6::Grammar), :actions(Perl6::Actions))␤»
23:00 raydiak perlcabal.org and perl6.org are down too
23:06 masak joined #perl6
23:06 tadzik joined #perl6
23:06 pmichaud joined #perl6
23:06 Util joined #perl6
23:06 Juerd joined #perl6
23:06 dalek joined #perl6
23:06 timotimo welcome back, featherers!
23:07 TimToady .oO(The United Featheration of P6anets)
23:07 hugme joined #perl6
23:08 TimToady hugme: hug yourself
23:08 * hugme hugs yourself
23:08 synopsebot joined #perl6
23:10 lizmat hugme: hug herself
23:10 * hugme hugs herself
23:10 lizmat :-)
23:11 [Coke] joined #perl6
23:11 vti joined #perl6
23:14 timotimo vendethiel: please tell me more about how the last week was good :)
23:22 [Sno] joined #perl6
23:37 chenryn joined #perl6
23:46 timo joined #perl6
23:52 tony-o with nativecall, is it possible to dereference a sub and pass that into the library (as a mechanism for a callback, for instance)?
23:53 tony-o i'm looking at the microhttpd example here: http://www.gnu.org/software/libmicrohttpd/
23:53 tony-o trying to figure out in what way i can abuse MHD_start_daemon to run a perl6 sub
23:54 dalek rakudo/newio: d64b919 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
23:54 dalek rakudo/newio: pipe() now has all the logic it needs
23:54 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/d64b919134
23:54 dalek rakudo/newio: 130fd21 | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm:
23:54 dalek rakudo/newio: IO::Handle.encoding fixes
23:54 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/130fd21c92
23:54 FROGGS tony-o: yes
23:54 lizmat and with that, good night, #perl6!
23:54 FROGGS tony-o: look at NativeCall's test suite, there are examples for callbacks
23:54 FROGGS gnight lizmat
23:55 tony-o FROGGS: i guess i missed it
23:55 tony-o FROGGS: oh in the test suite ..
23:55 FROGGS yes
23:56 woolfy timotimo: I should have asked vendethiel the same question...  so I hope he answers...

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

Perl 6 | Reference Documentation | Rakudo