Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2016-04-19

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

All times shown according to UTC.

Time Nick Message
00:18 idiosyncrat_ rns: re square brackets for hiding in the SLIF/Kollos, did I forget about character classes.
00:18 idiosyncrat_ see https://github.com/rns/kollos-luif-doc/blob/master/manual.md#character_classes
00:18 idiosyncrat_ The problem is with this: [a b]
00:19 idiosyncrat_ Is that a character class which allows the three ' ' (space), 'a', and 'b'?
00:19 idiosyncrat_ Or is it a grouping of the symbols <a> and <b> which hides them?
00:20 idiosyncrat_ Doing that Kollos doc, I wondered why I hadn't considered using square brackets before -- it's the natural choice -- and I think now I'm remembering why.
00:21 idiosyncrat_ I do want to restore parens to their traditional meaning of simply grouping things, unlike in Marpa::R2 where they indicate hiding.
00:21 idiosyncrat_ What about a minus sign for hiding so that
00:23 idiosyncrat_ A ::= B- C D- means that the symbols <B> and <D> are hidden.  (The minus signs would hide the preceding symbol.)
00:23 idiosyncrat_ Or alternatively,
00:23 idiosyncrat_ A :: (- B C -) D
00:24 idiosyncrat_ where <B> and <C> are hidden.  In that, minus signs inside parens "hide" the symbols inside the parens.
00:45 ronsavage joined #marpa
00:56 ronsavage My first thought is to do a big, even huge, clean up without adding Lua. I guess this implies no new features. So I'd like to see Marpa::R3 as stable as Marpa::R2 before adding features.
00:58 ronsavage So I'd need (- - -) to hide a minus, right?
01:25 idiosyncrat_ (- [-] -)
01:25 idiosyncrat_ or
01:25 idiosyncrat_ (- '-' -)
01:26 idiosyncrat_ because a minus sign must be either a character class or a single-quoted string on the RHS.
01:26 idiosyncrat_ There can be quite a few new features without Lua.
01:27 idiosyncrat_ Particularly, if I accept "no Lua in Marpa::R3" in the sense of "no externally visible Lua".
02:40 ronsavage Ahh. No end-user visibility of Lua!? Hmmm. I sense you're /really/ dying to introduce it, so then yes, add Lua. Of course once it's in there, making it visible would come under that category of But Why Not! So I guess you might as well make it visible too. And it'll be a good learning tool for when we switch to Kollos.
02:51 idiosyncrat_ Yes, rns and I have done a good deal with Lua, the benefits of which aren't very visible to the Marpa community yet.
02:52 idiosyncrat_ The greatest direct value-added is that Libmarpa has its own test suite now, which is Lua driven.
02:52 idiosyncrat_ And even that, while very much value-added, is not really very visible.
02:52 idiosyncrat_ ronsavage: by the way, thanks for gifting me with the Lua book!
03:13 idiosyncrat_ aredridel: I noted your tweet re Unicode: https://twitter.com/ReBeccaOrg/status/722253274535997440
03:14 idiosyncrat_ I assume you're talking about the difficult of dealing with Unicode in any new general-purpose language.
03:21 idiosyncrat_ aredridel: OOOOOPS!
03:21 idiosyncrat_ Mixed you and Rebecca up.
03:24 rns idiosyncrat: re http://irclog.perlgeek.de/marpa/2016-04-19#i_12358130 -- sounds good -- or perhaps now that Unicode is folly supported in a Marpa::R3 grammar, we can use a suitable pair of Unicode brackets from http://www.macchiato.com/unicode/brackets
03:24 rns e.g. ⁅ ⁆ LEFT SQUARE BRACKET WITH QUILL
03:26 idiosyncrat_ My point (I think) of the tweet just above, the one which got me so excited I lost track of who it was from
03:26 idiosyncrat_ is what a mess you get into when you deal with Unicode.
03:27 rns s/folly/fully/
03:27 idiosyncrat_ In this respect my attitude is the opposite of Larry's, who with Perl 6 has embraced Unicode fully --
03:28 idiosyncrat_ and I'm not sure an 'o' is not better than a 'u' there --
03:28 idiosyncrat_ and Larry has decided to outdo the Unicode folks at their own game with NFG.
03:29 idiosyncrat_ Which I fear will make it very hard to write XS-like modules for Perl 6.
03:29 idiosyncrat_ So with the SLIF syntax, even in Marpa::R3, I want to stick to ASCII-7.
03:30 idiosyncrat_ I have been thinking of ways to get Marpa to deal efficiently with systems that are into complex character encoding systems ...
03:30 idiosyncrat_ but my approach and attitude is defensive ...
03:31 idiosyncrat_ I want Marpa to be part of Perl 6 someday, but I'm not going to court trouble because of that ...
03:31 teatime I've been worried lately about Perl6's unicode and places that still don't want to embrace unicode.  but I don't know enough about those places to know if it's an actual potential issue.  but I think there are still places in the east where local 16-bit encodings are preferred for expedience, or because of issues w/ han unification.
03:31 idiosyncrat_ and IMHO getting heavily into Unicode is courting trouble.
03:32 idiosyncrat_ teatime: my issue is somewhat different
03:32 idiosyncrat_ It's not that I'm a fan of legacy encodings.
03:33 idiosyncrat_ It's this -- if every library and module has to be Unicode aware, that means all of them that are low-level have to be at least as complex as a good Unicode library -- and that's very complex.
03:34 idiosyncrat_ All of a sudden I'm not doing parsing theory any more, I'm playing Unicode guru.
03:35 teatime I was originally writing a thing using perl6 grammars, and got bit when non-NFG-based regexes aren't implemented yet, and I need to match standalone combining characters.  that's how I ended up at marpa in the beginning.
03:35 idiosyncrat_ Oh, yes, right.
03:35 teatime so please, continue to allow unicode chars in literals :)
03:36 teatime for the sanity of my source code.
03:36 idiosyncrat_ My problem is trying to allow Marpa to be Unicode friendly, while keeping its internals unaware of Unicode.
03:37 idiosyncrat_ This was possible for Libmarpa, the core parse engine, because I kept it so low level it does not even know about strings ...
03:37 idiosyncrat_ not even ASCII-7 strings -- everything in Libmarpa is an integer.
03:39 idiosyncrat_ But I think I've found a way, going forward, of making Marpa compatible with whatever encoding it's being used with, without knowing that encoding, and without prohibitive overhead.
03:39 lucs joined #marpa
03:40 rns idiosyncrat: re http://irclog.perlgeek.de/marpa/2016-04-18#i_12358059 -- IMHO, we can refactor/stabilize to a degree that is sufficient to make adding features and then add features one at a time -- adding Lua can be considered such a feature -- so it's like refactor/stabilize/add feature cycle.
03:40 idiosyncrat_ teatime: because there's not just the Latin-8 holdouts, or UTF-16, or UTF-32, ...
03:40 idiosyncrat_ rns: Interesting
03:40 * idiosyncrat_ continues his Unicode rant
03:41 idiosyncrat_ but UTF-8 is different things according to Perl 5, Perl 6 and the Unicode consortium.
03:41 teatime eh, don't conflate UTF-8 and Unicode.  which obv. you know enough to not, but you're confusing me.
03:42 idiosyncrat_ Perl 5's utf8 abstracts above UTF-8, so that it's an integer encoding, not just a codepoint encoding, which means lots of characters are legal in Perl 5 utf8 which are not supposed to be accepted in UTF-8.
03:44 idiosyncrat_ So I'm going to try to take the same course that Robero is taking with Lua, which is to provide facilities so that the upper layers can support Unicode, without pulling knowledge about Unicode and/or UTF-8 into my code.
03:45 teatime low-level stuff probably shouldn't be doing lots of strict checking w/o being asked anyway
03:45 teatime it's often useful to be able to handle various types of invalid characters/sequences.
03:45 idiosyncrat_ Anway, it has become clear to me that Marpa::R3 will have to support Unicode at the same level as Marpa::R2
03:45 idiosyncrat_ and it will.
03:46 idiosyncrat_ As a matter of fact, it already has a bugfix in its Unicode support -- Marpa::R2 was not handling Unicode chars in SLIF DSL scripts properly -- it was handling Unicode fine in the input strings, but not in the DSL itself.
03:46 idiosyncrat_ Marpa::R3 has fixed that.
03:47 teatime R3 is going to be very unstable / in development until finalized, though?
03:47 teatime that's what I'm gathering from the channel.
03:48 idiosyncrat_ Yes, R3 is very unstable at the moment.
03:48 idiosyncrat_ rns: I've started the refactoring, by eliminating the NAIF.
03:49 idiosyncrat_ rns: I think next after that I'll refactor the part of the Perl/XS code which converts the grammars to internal form.
03:50 idiosyncrat_ It's pretty impenetrable now, apparently enough so to dissuade many people who want to study that code.
03:51 idiosyncrat_ With the NAIF gone, I won't have multiple interfaces to support ...
03:51 idiosyncrat_ and I plan to change the programming strategy to something like I started on in our Kollos effort ...
03:51 idiosyncrat_ so all those notes I made are going to come in useful.
03:53 rns yep, in Kollos you did considerbale work on internal grammar -- https://github.com/jeffreykegler/kollos/commit/0ffe22665385303dda0ac31ce03ec8a9a8d5e90a -- refactoring along those lines?
03:55 idiosyncrat_ Yes.
03:55 idiosyncrat_ I'll translate all that into Perl.
03:56 idiosyncrat_ In a sense this R3 effort *is* the Kollos effect, just in reverse.
03:56 idiosyncrat_ Because I know that once I got Kollos working, I'd have to test it, and that meant hauling out the Marpa::R2 test suite ...
03:57 idiosyncrat_ and getting the test to work on Kollos one by one, which I know would be a huge, tedious effort.
03:57 idiosyncrat_ I hadn't even thought of how I would do that, but I know it wouldn't be easy.
03:57 idiosyncrat_ But now the test suite for Kollos is all ready!
03:58 idiosyncrat_ It was several days of tedious work or you and I, but it's done.
03:58 idiosyncrat_ And so this R3 effort *is* the Kollos effort, just "top down" instead of "bottom up".
03:59 idiosyncrat_ And all that "bottom up" work is paying off, because I know a lot more about where I'm headed during this "top down" phase.
04:00 idiosyncrat_ This R3 effort will also have the big advantage that we can easily spin off stuff that people can and I hope will want to use.
04:01 idiosyncrat_ With the current improvement (new defaults, the Unicode fix I mentioned), R3 is already noticeably better and more fun than R2.
04:02 idiosyncrat_ This last release (assuming you could build it, that is) would have been quite useable.
04:02 idiosyncrat_ And I have been keeping the documentation up with the changes, and there is a Changes.pod, so someone who knows Marpa::R2, or even a newbie, can jump right in.
04:03 idiosyncrat_ They will have to deal with the fact that we're early in alpha and we are breaking stuff often now so we won't have to break it later.
04:04 idiosyncrat_ By the way, I think a new Marpa::R3 is going to come out tonight CA time.
04:04 idiosyncrat_ I finished the Linux and Darwin tests, and the Raspbian test is most of the way through.
04:05 idiosyncrat_ If Raspbian tests OK, I'll upload to CPAN.
04:07 rns idiosyncrat: just built from Marpa-R3-4.001_001.tar.gz successfully under windows xp and windows 7 -- hope this time cpantesters will show more green -- only *BSD issue -- http://irclog.perlgeek.de/marpa/2016-04-18#i_12355796 -- would remain, hopefully.
04:09 idiosyncrat_ rns: thanks for your patience on this -- I was very distracted with other issues, so only listened to the build issue stuff with one ear, so to speak.
04:10 rns No prob -- I also needed time to figure out what's going on exactly, so it all was taken care of in good time.
04:11 idiosyncrat_ I wonder if the BSD problem is that the make of *Libmarpa* does not work under parallel makes.
04:11 idiosyncrat_ I added ".NOTPARALLEL" to cpan/Makefile.PL, but that would have no effect in the Libmarpa build directories.
04:12 idiosyncrat_ You note I insisted on doing the build conversion the very first thing, because I expected it might take a lot of time to work out every last nit.
04:13 idiosyncrat_ Converting a build of this complexity from Module::Build to EU::MM is not something you want to do 3 days before the release daate.
04:15 rns Sure.
04:16 rns I'd say let's release a dev version and see what issues will show up in cpantesters.
04:17 rns re .NOTPARALLEL -- don't know why, but test runs with make -j4 somehow disappeared from cpantesters, unless I'm missing something.
04:18 idiosyncrat_ Scared them off? :-)
04:18 idiosyncrat_ Did you notice if "-j4" was on any particular testbeds.
04:19 idiosyncrat_ Some of the testers will get aggressive in various directions, and back off if they've gone too far.
04:20 idiosyncrat_ Those of you who've worked with me may have noticed I'm very tolerant of false negatives -- false negatives mean aggressive testing and I *want* aggressive testing.
04:21 rns Oh, yes, me for one. :) BTW, I learned a lot in from my false negatives.
04:30 idiosyncrat_ Marpa-R3-4.001_001.tar.gz is now on CPAN
04:59 rns installed ok under cygwin, windows xp, windows 7.
05:03 idiosyncrat_ rns: Thanks!
05:03 idiosyncrat_ Good night!
05:03 rns Good night
05:37 ronsavage joined #marpa
06:34 koo7 joined #marpa
06:59 ronsavage Installed OK under Debian V 8.4 and gcc 4.9.2.
11:29 kaare_ joined #marpa
14:54 rns joined #marpa
15:05 idiosyncrat_ joined #marpa
15:05 idiosyncrat_ ronsavage: Thanks!
15:06 idiosyncrat_ Build still fails on all the BSD's
15:20 idiosyncrat_ Re hiding: Did anyone have a preference between postfix minus and the "paren-minus" notation -- that is
15:21 idiosyncrat_ A :: B C- D-
15:21 idiosyncrat_ Oops!, make that
15:21 idiosyncrat_ A ::= B C- D-
15:21 idiosyncrat_ and
15:21 idiosyncrat_ A ::= B (- C D -)
15:22 idiosyncrat_ where in both cases C and D are hidden from the semantics.
15:23 idiosyncrat_ I think I like the 'paren-minus' notation better -- the postfix minus is too underemphasized -- I think it'd be easy to miss
16:20 rns Parens-minus, yea or minus-parens, as in A ::= B -(C D)-
17:27 idiosyncrat_ I'm preferring parens-minus, because we will add Perl 6 quantification having the minus outside the parens (I think) addsto the reading difficulty
17:27 idiosyncrat_ For example,
17:28 idiosyncrat_ A ::= B -(C D)- ** 2..* % ','
17:28 idiosyncrat_ as opposed to
17:28 idiosyncrat_ A ::= B (- C D -) ** 2..* % ','
17:29 idiosyncrat_ Both of them take some getting used to :-)
17:29 idiosyncrat_ but I think the 2nd one is slightly more readable
17:29 kaare_ joined #marpa
17:30 jdurand joined #marpa
17:31 jdurand ronsavage: Re http://irclog.perlgeek.de/marpa/2016-04-18#i_12353701 - thx - though can you enlight me on what is new lol -;
17:31 jdurand all: hmm there is a lot to backlog - a bit too much for me I admit
17:37 harovali joined #marpa
18:37 kaare__ joined #marpa
23:47 idiosyncrat_ joined #marpa
23:52 ronsavage jdurand: Re http://irclog.perlgeek.de/marpa/2016-04-19#i_12361736. I'll forward the email I received re this SQL patches.
23:54 ronsavage As for the hiding syntax, why not adapt the 'comment' syntax to 'comment out': (# ... #). Neat.
23:56 idiosyncrat_ Re: the comment syntax.  Hmmm.  Others, any thoughts?
23:57 idiosyncrat_ One problem is that you could not start a comment inside a hidden group.

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