Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2015-06-04

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

All times shown according to UTC.

Time Nick Message
00:11 koo6 joined #marpa
00:51 hobbs joined #marpa
01:23 ronsavage joined #marpa
02:31 jeffreykegler joined #marpa
02:39 jeffreykegler https://github.com/jeffreykegler/kollo​s/blob/master/notes/design/new_luif.md
02:40 jeffreykegler A design note with a new version of the LUIF syntax --
02:40 jeffreykegler the LUIF will be Kollos's interface.
02:40 jeffreykegler This new version differs in major ways from what rns and I have been talking about
02:41 jeffreykegler It's very influenced by Perl 6 and top-down parsing -- instead of writing
02:41 jeffreykegler lhs ::= rhs1 rhs2 ...
02:41 jeffreykegler you write
02:41 jeffreykegler lhs (rhs1 rhs2)
02:41 jeffreykegler This allows expression of the syntax is a very natural way.
02:41 jeffreykegler And I've even adopted it for precedences rules.
02:42 jeffreykegler A major disadvantage is that it encourages too much procedural thinking, -- the rules really are BNF.
02:43 jeffreykegler Which is good because you actually get general BNF parsing, not just the far more limited grammar that a series of procedural calls is capable of.
02:44 jeffreykegler And even though it is in the form of a function name, lhs can be used more than once.
02:44 jeffreykegler that is,
02:44 jeffreykegler you can have
02:44 jeffreykegler lhs (a b c d)
02:44 jeffreykegler and
02:44 jeffreykegler lhs (e f g*)
02:45 jeffreykegler because it is really "lhs ::= a b c d" and "lhs ::= e f g*"
02:45 jeffreykegler Comments welcome & appreciated.
02:46 jeffreykegler Our pastebot has already given it's reaction -- it refused my note twice, which is why it is on Github. :-)
02:48 Aria Hmm. That seems strange.
02:48 Aria I'm going to have to see a couple grammars and play with it.
03:35 ronsavage joined #marpa
04:43 ronsavage jk: But if the whole line is bound by ( and ), aren't they redundant? I can see a use for () inside a line, but not as delimiters. I can see it does allow the rhs to extend over multiple lines....
08:35 lwa joined #marpa
12:35 rns jeffreykegler: re new LUIF -- some notes while I have no time to fully wrap my head around it.
12:35 rns parens instead of ::= -- with Ron on this one -- look redundant, perhaps better to be left for grouping of series.
12:36 rns Good points: implicit whitespace discarding -- ws? / ws ::= .. -> nil
12:36 rns -> (does) operator
12:36 rns implicit lexemes, e.g. X -> X -- meaning sequence of input characters matched by the rule with lhs X
12:37 rns implicit RHS symbols in semantics (E:1 * E:2), as in E ws? '*' ws? E -> E * E
12:37 rns Arguably not very Lua'ish, but looks like way to go.
12:38 rns Finally, a sample of the grammar with all above points included:
12:39 rns E      ::= number -> number
12:39 rns || E ws? '*' ws? E -> E * E
12:39 rns || E ws? '+' ws? E -> E + E
12:39 rns ws  ::= [\009\010\013\032] -> nil
12:39 rns number ::= [%d]+
16:30 jeffreykegler joined #marpa
16:30 jeffreykegler "Contrast [Perl] to languages that leak heavily and require server processes to constantly be restarted."
16:31 jeffreykegler http://www.reddit.com/r/perl/comments/38fta5/what_​can_perl_practically_do_what_do_you_use_it/crv8iae
16:31 jeffreykegler the quote is from the above link.
16:32 jeffreykegler There are languages in major use which leak memory???
16:32 jeffreykegler I know some application writers have come to see memory leaks as acceptable nuisances ...
16:33 jeffreykegler that's an approach with which I very much disagree -- memory leaks in Marpa ...
16:33 jeffreykegler I believe none exist as of this writing ...
16:33 jeffreykegler have always been treated as serious issues and fixed quickly.
17:02 koo6 joined #marpa
17:34 koo6 joined #marpa
17:45 jeffreykegler rns: trying to get going with MarpaX::Languages::Lua::AST
17:46 jeffreykegler one obstacle is the use of Perl 5.14 -- whenever developing, even experimentally, I use Perl 5.10, to ensure compatibility is maintained.
17:50 jeffreykegler I am able to run run_all_lua_tests.sh with only 3 failures: attrib.lua, big.lua and main.lua
18:15 rns jeffreykegler: re 5.10 -- didn't tried it, minimum I had was 5.14.1, but I expected 5.10.1 should work; re 3 failures -- they are expected, that's where I got without precedence.
18:51 jeffreykegler Conversion to 5.10 works fine.
18:52 jeffreykegler I'll try to start using this as my basis -- note that the LUIF parser will treat Lua code in two different ways --
18:52 jeffreykegler Lua code at the top level will be parsed as a series of tokens -- because we just pass it thru.
18:53 jeffreykegler Lua code in the semantics actions will have some extensions.
18:53 jeffreykegler So 2 Lua parsers, neither of them vanilla
22:30 sirdancealot joined #marpa
22:40 ronsavage joined #marpa

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