Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2017-01-30

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

All times shown according to UTC.

Time Nick Message
01:14 idiosyncrat joined #marpa
01:15 idiosyncrat Focusing on a new feature has a tendency to point out refactorings which really should be done first.
01:15 idiosyncrat Emphasizing work on features is valuable for that, if nothing else. :-)
01:17 idiosyncrat In the past weeks Marpa::R3 has contained a lot of transitional code, and I've realized that I am close to eliminating it all.
01:17 idiosyncrat This seems worthwhile, because it opens the way for others to work on the Marpa::R3 codebase.
01:17 idiosyncrat At the moment, it contains a lot that is strange and temporary -- easier to eliminate than explain.
01:18 idiosyncrat I hope the new Marpa::R3/Kollos will be *much* easier for others to read and work on than Marpa::R2.
01:19 idiosyncrat Marpa::R2 had a lot going on in Perl's XS -- c C dialect designed as Perl glue, one which is very arcane & difficult, even for a C-based dialect.
01:20 idiosyncrat Worse, there was no defined interface between the XS and the Perl code.
01:21 idiosyncrat With Marpa::R3, I will have eliminated a lot of XS code, and will eliminate more.
01:21 idiosyncrat What remains in XS will essentially be an interface to Lua, with few Marpa-specific features, and an interface which is capable of being documented ...
01:22 idiosyncrat so that someone working in Marpa::R3 could accomplish a lot working 100% in Perl and Lua, without knowing any C, either of the normal or the XS variety
01:23 idiosyncrat Summarizing, Marpa::R3 will contain
01:24 idiosyncrat 1.) the Libmarpa bottom layer.  This is the core C library, the same as that in Marpa::R2.  It has a clean, documented interface, and has been completely stable for months.
01:24 idiosyncrat 2.)  A Lua layer (Kollos proper), to which more and more of the logic will migrate.
01:26 idiosyncrat 3.) An XS layer, one which in fact is more of a Lua interface that a Marpa/Kollos interface.  The interface will be well defined and, unlike the current Marpa::R2 Perl-to-XS interface could reasonably be documented.
01:27 idiosyncrat 4.)  A Perl upper layer, which call the Lua layer using the XS layers.  It's intended that eventually this contain only that logic which is Perl-specific -- that all parsing features be implemented in the Lua.
01:29 idiosyncrat With regard to minimizing the Perl layer, that may not all happen in Marpa::R3 -- the process may be completed in a Marpa::R4, which might end up being called Perl's Kollos module.
01:30 idiosyncrat My guideline for Marpa::R3 is that it must be Perl-oriented, and that Lua is added only as an aid to that process.  However, I have wound up claiming to be able to justify adding a whole lot of Lua on those grounds. :-)
01:32 idiosyncrat But, for example, while adding Lua semantics, I will *not* rip out the Perl semantics in Marpa::R3 -- a user will be able to use Marpa::R3 without knowing *any* Lua.
01:32 idiosyncrat And therefore, whatever Lua semantics I add to Marpa::R3, I may not document it.
02:48 ilbot3 joined #marpa
02:48 Topic for #marpa is now Start here: http://savage.net.au/Marpa.html - Pastebin: http://scsys.co.uk:8002/marpa - Jeffrey's Marpa site: http://jeffreykegler.github.io/Marpa-web-site/ - IRC log: http://irclog.perlgeek.de/marpa/today
05:00 ronsavage joined #marpa
06:00 idiosyncrat joined #marpa
06:00 idiosyncrat Good night!
07:44 sirdancealot joined #marpa
08:36 ronsavage joined #marpa
09:35 sirdancealot joined #marpa
21:39 choroba joined #marpa
23:16 idiosyncrat joined #marpa
23:19 idiosyncrat My Internet connectivity is back.
23:51 ronsavage joined #marpa

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