Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2014-09-25

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

All times shown according to UTC.

Time Nick Message
00:01 idiosyncrat joined #marpa
06:11 ronsavage joined #marpa
07:40 lwa joined #marpa
08:17 pczarn joined #marpa
10:47 pczarn joined #marpa
17:20 flaviu1 joined #marpa
17:23 flaviu1 I've finally found some time to look into marpa, but I can't actually find the source code D:
17:23 flaviu1 there anything that explains the directory structure for both the Marpa--X2 and the libmarpa repos?
17:24 flaviu1 *R2
17:26 flaviu1 Also, I assume `||` means ordered choice?
18:16 jeffreykegler joined #marpa
18:17 jeffreykegler flaviu1: Marpa::R2's source code follows the usual structure for the Perl code, with most stuff under cpan/lib
18:17 jeffreykegler The XS source is under cpan/xs
18:18 jeffreykegler Libmarpa's source is mainly in a file named marpa.w, which is a Cweb file ...
18:18 jeffreykegler Cweb is Knuth's literate programming system.
18:19 jeffreykegler For reading Libmarpa, you'd really need to read my theory paper first.
18:19 flaviu1 Ah, I just ignored anything that didn't end in .c
18:19 flaviu1 I did find the paper though
18:20 jeffreykegler No wonder you were perplexed. :-)
18:21 jeffreykegler The source is a bit of a mess, and unfortunately with other, higher, time priorities, I don't think that will change soon.
18:22 jeffreykegler By the way, someone who want to be a Marpa internals hacker (besides me), the best way to do it is ...
18:22 jeffreykegler 1.) Read the Libmarpa API
18:23 jeffreykegler 2.) Read those parts of the theory paper that you can -- you should be able to read the pseudo-code in the paper, at least.
18:23 jeffreykegler 3.) Learn Lua
18:24 jeffreykegler Lua, because the wrappings are all moving over to Lua.
18:24 flaviu1 Well, I'm mostly interested in the libmarpa API - but I'll keep that in mind if I need it later
18:24 jeffreykegler The above steps will allow someone to be a very serious Marpa internals hacker, but avoid most of the stuff in the XS code, and in marpa.w
18:26 jeffreykegler Oh, yes, '||' is described in the docs and means precedence ...
18:27 jeffreykegler the "ordered choice" of things like PEG and YACC is a symptom -- a guess made in the event of a parse failure, with the failure coming at a hard-to-determine boundary.
18:27 flaviu1 oh, Marpa::R2::Scanless::DSL
18:27 jeffreykegler Whereas Marpa's precedence is 100% predictable, you get *exactly* what you specified.
18:29 jeffreykegler In most parsers, "ordered choice" is like having to drive a car when you are allowed to touch the steering well only briefly, when about to drive into an accident situation.
18:33 flaviu1 While I appreciate the detailed explanation, my level of knowledge right now is that || allows me to do precedence without mucking around with terms, factors, and so on.
18:33 hobbs I didn't find the explanation for || where I was looking for it either, but I didn't write down where I was looking so that that could be fixed :)
18:50 jeffreykegler left #marpa
18:54 jeffreykegler joined #marpa
21:58 flaviu1 left #marpa
22:29 flaviu1 joined #marpa
22:30 flaviu1 left #marpa

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