Perl 6 - the future is here, just unevenly distributed

IRC log for #6macros, 2016-10-31

| Channels | #6macros index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:48 ilbot3 joined #6macros
07:54 pdcawley joined #6macros
08:26 vendethiel joined #6macros
08:55 pdcawley joined #6macros
09:16 FROGGS joined #6macros
09:23 masak vendethiel: at some point, I'd love to discuss 007 and `is parsed` a little. at your convenience, of course.
09:23 vendethiel *searchs for a coffee mug*
09:24 * masak looks furtively around; ducks
09:25 vendethiel no coffee for me then ;-).
09:25 masak no no, go ahead
09:25 vendethiel i'm not doing anything special at the moment, so fire at will (or wall).
09:25 masak I'm just being silly
09:25 masak :P
09:26 vendethiel (I don't have any coffee anymore.. :(.)
09:26 masak ok, my question is "what's the next step?", basically
09:26 vendethiel the two issues we have for regexes and is parsed?
09:27 masak looks like it's either #174 (regexes) or #177 (`is parsed`)
09:27 masak both of them are marked up as `currently-looking-for-pr`
09:27 masak a very nice label :)
09:27 masak warmly yellow on the page
09:28 masak #174 is looking for the simplest-possible-way to parse <EXPR>, which would indeed be a big win to have
09:28 masak and would raise a lot of important questions to the forefront
09:28 masak for example "how is it that <EXPR> is available in an `is parsed` expression?"
09:28 masak what's the exact link between `is parsed` and the currently in effect grammar?
09:30 vendethiel both good questions
09:30 vendethiel I was thinking about catch-all, that'd look at the extra rules in place, and parse with that
09:31 vendethiel (in each grammar category)
09:31 masak #177 is looking for using `is parsed` with just a constant-string regex on a statement macro. in a way, we'll get #80 for free if we do that.
09:31 masak yes, catch-all sounds fine, at least at first
09:31 masak in the fullness of time we'll probably want everything to go in with the same mechanism
09:32 masak (that's the trend with other similar features in 007)
09:32 vendethiel aye
09:32 masak oh, speaking of which
09:32 masak in implementing `class`, I'm feeling that the current implementation of Val:: and Q:: classes is reaching its limits
09:32 masak I'm thinking of throwing it out and replacing it with something better
09:33 masak basically, whenever we declare a `class` or `role` currently in Perl 6 (for some 007 type), we'd do a method call .register-type or something instead
09:33 masak the idea being just that, to put everything at the same level, and make user-defined types just as real as 007-defined types
09:34 masak (it's another example of "lifting", the act of putting more and more stuff in 007 itself rather than in Perl 6)
09:34 vendethiel meta machinery
09:35 masak right
09:36 masak it's also a chance to actually reify and expose the places where the snake will eat its own tail
09:36 masak things such as "Type is a subtype of Object" but "type(Object) is Type"
09:38 masak vendethiel: did I tell you the fun thing that happened with builtins in runtime.007?
09:38 vendethiel not sure
09:39 masak so, I had this "great idea" about getting rid of Val::Sub::Builtin, which was a hack
09:39 masak instead, builtins became normal Val::Sub objects, but with a &.hook which contained the Perl 6 code to be run
09:40 masak and the .call method in Runtime.pm knew to look for the &.hook and run the Perl 6 code
09:40 masak if $c.hook -> &hook { return &hook(|@arguments) || NONE; }
09:40 masak now -- cue reality ensuing -- none of the built-ins do a thing in runtime.007
09:41 masak *because* that mechanism is not something we can emulate in pure 007 code
09:41 masak cheat successfully here, get punished for it there. waterbed design in action.
09:47 vendethiel huh?
09:54 masak runtime.007 has a sub `call(fn, args)`
09:55 masak whose implementation is "bind signature, run statementlist"
09:55 masak but the statementlist of a built-in with a Perl 6 implementation is *empty*, because the code is all Perl 6, not Q::Statement nodes
09:56 masak so nothing runs
09:57 vendethiel ah, of course
09:57 masak and there's no way for the 007 code to check for &.hook, because the point of it was to not be exposed in 007 userland. d'oh
10:01 masak I was really pleased with &.hook until I realized this
10:01 masak not quite sure how to solve it, either
13:01 masak vendethiel: anyway, back to regexes and `is parsed` -- are you still eager to work on it? if so, can we perhaps plan a time to have a look at it all?
16:01 vendethiel Not sure. I don't really code on my free time these days... A bit too tired when I get home
19:18 masak understandable. I have periods like that too.
19:26 vendethiel- joined #6macros
20:32 FROGGS joined #6macros
21:15 FROGGS joined #6macros

| Channels | #6macros index | Today | | Search | Google Search | Plain-Text | summary