Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2016-01-04

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

All times shown according to UTC.

Time Nick Message
00:44 Idiosyncrat joined #marpa
00:46 Idiosyncrat Yes, I've done a lot of tutorials, but I'm not necessarily the best guy because a lot of what is obvious to me is not so obvious to a lot of my readers.
00:46 Idiosyncrat Some of it is not so much amount of knowledge as the kind of knowledge.
00:47 VsyachePuz Idiosyncrat: the problem is obvious - you dont link your tutorials from your marketing articles
00:47 Idiosyncrat For example, in college I was taught (by Alan Perlis) BNF and Markov algorithms, but not IIRC regular expressions.
00:47 Idiosyncrat Regular expressions didn't take off until the ex/vi series of editors.
00:48 Idiosyncrat Btw, anyone who has a better idea for a Marpa intro page can create one.
00:49 Idiosyncrat That's kind of what Loup-Vailliant did.
00:50 Idiosyncrat He created those pages without consulting me, and I noticed they were more popular than my own tutorials.
00:50 Idiosyncrat So I started pointing people to them.
01:06 koo7 i thought the unofficial homepage is http://savage.net.au/Marpa.html , was this before that?
01:07 koo7 also, ronsavage, "A C code generator" points to https://github.com/jddurand/marpaXml
01:08 koo7 if this is intended, some explanation of what im looking at would be cool
01:08 koo7 would this be like a tool that takes a grammar perhaps in the perl marpa syntax and generates a libmarpa-calling c code? do we have such?
01:19 Idiosyncrat My own page is the "official official" Marpa page
01:20 Idiosyncrat Ron's is the "unofficial official" page.  It's unofficial because I exercise no editorial control -- I only make suggestions.
01:21 Idiosyncrat There's lot of room for more pages to appear, targeted at different purposes and audiences
01:22 Idiosyncrat A least one person has taken that on in the past, and started one, but either things came up or their enthusiasm cooled.
01:26 ronsavage koo7: Re http://irclog.perlgeek.de/marpa/2016-01-04#i_11824395. I'll have to let Jean-Damien answer that.....
01:26 ronsavage JK: Re http://irclog.perlgeek.de/marpa/2016-01-03#i_11822985. Tell me which link you'd like added or emphasized.
01:38 Idiosyncrat ronsavage: Maybe if at the top we there was a line or two before the "What is Marpa?" saying ...
01:39 Idiosyncrat "Do you want the theory?" -- and sending them to a special page
01:41 Idiosyncrat I'm just not too clear what to do about the other suggestions.  If somebody does a mock-up of something they think would be better it would help.
01:42 Idiosyncrat ronsavage: btw I'm very grateful to you for taking the web page on.
01:42 Idiosyncrat One clear advantage is that I can use the time to create other materials.
01:47 Idiosyncrat ronsavage: actually looking at your week page, "tutorials" is the 2nd item in the table of contents.
01:48 Idiosyncrat Maybe the contents section could use "subtitle" text, as long as it is kept to one line.
01:48 Idiosyncrat So, for example, instead of "Marpa", it becomes "Marpa -- a short overview"
01:49 * Idiosyncrat wonders aloud
01:50 Idiosyncrat I wonder how much of the problem is that folks are used to recursive descent, which doesn't work well, but does reduce parsing to calling subroutines ...
01:50 Idiosyncrat basically requiring no special knowledge at all.
01:50 Idiosyncrat In that context, of course, it would seem that Marpa is being just perversely difficult.
01:51 Idiosyncrat Because I do turn parsing into a branch of mathematics ... sorry, but there really isn't an alternative ...
01:52 Idiosyncrat unless you count recursive descent as an alternative.
01:52 Idiosyncrat Note that when I was in college regular expressions were considered difficult math, which they in fact are if you've ever
01:53 Idiosyncrat looked at a text about them ... it's just that editors have made a useful subset of the topic of RE's common knowledge
01:53 Idiosyncrat among programmers, and every time you use a text editor you're drilled on them, until it's as familar as
01:54 Idiosyncrat grade school arithmetic.
01:54 Idiosyncrat Note btw, if you have to learn grade school arithmetic as an adult, you would not find it easy --
01:55 Idiosyncrat there is a lot of memorization and tricky detail to it.
01:59 kaare_ joined #marpa
02:07 Idiosyncrat If, for example, our topic were oribtal mechanics, I think nobody would find it perverse if there was lots of excruciately hard math wherever you turned ...
02:07 Idiosyncrat because you'd know it went with the territory.
02:07 Idiosyncrat Parsing at one time was considered the same sort of territory -- one that it took a lot of math to do right.
02:08 Idiosyncrat But then all that that fancy math produced was yacc/bison/LALR, which proved to be more trouble than they were worth ...
02:09 Idiosyncrat and that's not even counting the difficulty of trying to learn the theory behind LALR.
02:09 Idiosyncrat With LALR's failure, everybody went back to recursive descent which is just calling subroutines -- no math at all really.
02:10 Idiosyncrat Math had proved itself worthless when it came to parsing -- so it seemed.
02:11 Idiosyncrat So of course coming from that history, the modern generation of programmers hits the math in Marpa and ...
02:12 Idiosyncrat it's OMG, is all this really necessary?  or useful?  or even interesting?
02:36 Idiosyncrat joined #marpa
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
02:49 ronsavage JK: I've updated the TOC on the home page, slightly. But I really think your latest musings are of much greater significance regarding resistance than the format of 1 web page!
02:54 Idiosyncrat Also, maybe both "Imagery" and "Other parsers" can go?
03:00 Idiosyncrat ronsavage: re http://irclog.perlgeek.de/marpa/2016-01-04#i_11824621 -- I think you're right.  I mean, how great is PEG's web page?
03:00 Idiosyncrat But PEG's syntax makes it looks like a hacker's dream come true, and it sells itself.
03:01 Idiosyncrat Interestingly, nobody seems to ask how PEG works ...
03:02 VsyachePuz Idiosyncrat: I am asking - how SPPF works. I am not interested in PEG. Where is my link on the page https://jeffreykegler.github.io/Marpa-web-site/ ?
03:03 Idiosyncrat VsyachePuz: huh?
03:03 Idiosyncrat Elizabeth Scott did a paper on her SPPF implementation,
03:03 Idiosyncrat which is essentially the same as mine.
03:03 VsyachePuz you gave me link to Loup-Vaillant, but he avoid answering this
03:04 VsyachePuz and i quoted, what he said about Scott's paper
03:04 Idiosyncrat Scott's paper is all there is.
03:05 VsyachePuz so, Marpa web site is not good enough. It doesn't answer my questions
03:06 Idiosyncrat ronsavage: I wonder if this SPPF thing has risen to the level of a FAQ?
03:07 Idiosyncrat IIRC VsyachePuz is not the first to have asked it.
03:07 Idiosyncrat All we can do is refer to Scott's paper.
03:07 VsyachePuz because it is logical step in understanding, and obvious obstacle
03:09 ronsavage AFK. Will address these issues later today.
03:09 Idiosyncrat ronsavage: Thanks!!!
03:10 Idiosyncrat I guess it's a good sign that people care about how Marpa works ...
03:10 Idiosyncrat I went for years without anybody being interested.
03:12 Idiosyncrat Scott's SPPF paper I found not to be too hard, at least in comparision with Leo.
03:12 Idiosyncrat You have to know the Earley algorithm cold, however, there's just no escaping a learning curve if you want to recreate Marpa from scratch.
03:19 VsyachePuz Idiosyncrat: look at deveeldb. It's database engine, which uses Irony parser (which is kind of LALR, but you may be will call it "recursive descent"). All what I need is to learn how to add a dependency to my project, and how to recode BNF to C# syntax. With Earley I can't do that - no enough examples.
03:20 VsyachePuz https://irony.codeplex.com/
03:27 VsyachePuz https://en.wikipedia.org/wiki/Irony_(framework) - here it is written that it is LALR(1)
03:28 Idiosyncrat Yes, OK
03:28 Idiosyncrat It's kind of an attempt to bring yacc back from the dead. :-)
03:29 Idiosyncrat Would I be wrong in saying that you're essentially looking for Marpa in the .NET framework?
03:30 VsyachePuz yes, that woutld totally satisfy me
03:30 Idiosyncrat Unfortunately, that doesn't exist right now.
03:31 Idiosyncrat And it would take some time to create such a thing.
03:31 VsyachePuz may be https://github.com/coonsta/earley will be good to, but i can't pass the barrier yet
03:31 Idiosyncrat Btw, when I started on Marpa in 2007 my idea was just quickly skim the literature and throw together something ...
03:32 Idiosyncrat I was thinking about 3 months is what it would take.
03:32 Idiosyncrat Now here it is 2016
03:32 VsyachePuz consta/earley was written in 2004
03:33 Idiosyncrat Are you doing R&D/experimentation or is this like $work with deadlines and all that?
03:34 VsyachePuz I dislike the approach of deveeldb - to take first available framework. He argues that earley is not good because nobody uses it for 10 years
03:34 Idiosyncrat :-)
03:35 VsyachePuz So, for now I tried to use Eto.Parse, and took a look on Irony (don't see a big difference between them)
03:35 VsyachePuz And earley gives the feeling of difference
03:35 VsyachePuz may be it's slower, but it looks like an investment. That I will have no problems in the future with parsing
03:36 Idiosyncrat Bringing Marpa to a new environment would take many man-months.
03:36 Idiosyncrat Ideally, a team should do it.
03:36 Idiosyncrat Meaning it may not be right given the resources/time frame you are looking at
03:37 Idiosyncrat As for other Earley's they might be easier, but they're more limited, and I'd obviously know less about their portability.
03:38 Idiosyncrat rns & I had started on Kollos, which is a kind of portable Marpa, which would make new ports faster.
03:38 Idiosyncrat But that got derailed when I got immersed in writing up the theory for the new Marpa book.
03:39 Idiosyncrat Back to your issues ...
03:39 Idiosyncrat it is possible that some top-down or LALR-based solution already existing in the .NET framework,
03:39 Idiosyncrat may be what you have to deal with.
03:40 Idiosyncrat Sorry
03:53 Idiosyncrat ronsavage: Another candidate for the FAQ is "I need Marpa for the XYZ framework or the ABC language.  How can I do that?"
03:53 Idiosyncrat And perhaps the SPPF answer should be wrapped into that.
03:53 Idiosyncrat Because that seems to be the underlying question in a lot of cases.
03:54 Idiosyncrat This is one that I'll need to do a first draft of the answer, I think.
04:00 VsyachePuz It is possible to run lua under clr (=.net framework), but of course it is better to have "native" solution
04:04 VsyachePuz actually it took me 3 hours to read the explaination of earley. If there were prepared the similar expaination for all other questions, it would take 2-3 days to understand how this all works. The problem is the quality of explaination
04:05 VsyachePuz and book will not solve it, because it have technological limitations (no physical hyperlinks)
04:06 VsyachePuz book solves the tasks of copyright protection and profit extraction
04:09 Idiosyncrat Complicated algorithms don't get detailed simple textbooks explanations immediately.
04:09 Idiosyncrat From Knuth's invention of LR to the first implementation was 10 years.
04:10 Idiosyncrat And in that time all those doing it had funding.
04:10 Idiosyncrat Marpa is perhaps 3 years old, I have no funding and the core work I do almost alone.
04:11 Idiosyncrat So, yes, quality of explanation leaves much to be desired at this point.
04:12 VsyachePuz Idiosyncrat: then you are doing the wrong thing. You need to do economical explaination, why you marpa research should be funded on national level
04:14 Idiosyncrat Maybe they'll listen to deveeldb, who'll tell them not to fund it because everybody knows Earley's is dead :-)
04:14 Idiosyncrat I considered going after funding, but it takes time, and it struck me as likeliest I'd spend the time I needed to create something not getting funding
04:15 Idiosyncrat and have no algorithm and no money.
04:15 Idiosyncrat So I do have a Perl implementation.
04:15 VsyachePuz the approach to getting money will have for the future projects, so you will not lost your time
04:16 Idiosyncrat My strategy was to produce an implementation that would make people *want* an Marpa implementation.
04:16 VsyachePuz *the same will be applicable to another projects
04:16 Idiosyncrat And that seems to have worked ...
04:16 Idiosyncrat but of course it means there's an interim period where there is a desire for it, but still no funding, ...
04:17 Idiosyncrat which folks will find frustrating.
04:17 VsyachePuz so we have 2 approaches: 1) to think why something will be usefull and then do it; 2) do something in hope that it will be usefull. And you choose the second one
04:18 Idiosyncrat huh?
04:19 Idiosyncrat Btw, wrt funding, Larry Wall has troubles too, and he's got a lot bigger rep (deservedly) than I do.
04:19 VsyachePuz you have no phinansial explaination, that new algorithm will save more efforts, than it's developement cost
04:20 Idiosyncrat Frankly, I could not have imagined making that financial case in 2007 in a way anyone with money would believe.
04:20 VsyachePuz I hear about Larry Wall for the first time, but I heard about Anders Hejlsberg earlier
04:20 Idiosyncrat Remember, everybody thinks Earley's has been dead for decades.
04:21 Idiosyncrat Also, if they do fund, they'd want to fund someone with an academic post, which I don't have.
04:22 Idiosyncrat And couldn't get for doing research if it was going to be on parsing, because academia knows that parsing research is a dead end.
04:22 Idiosyncrat So my case for funding is my current theory paper, and Marpa::R2.
04:22 VsyachePuz Idiosyncrat: how do they know this? they have some calculations
04:23 Idiosyncrat Remember your experience with deveeldb.  People follow fashions.
04:23 Idiosyncrat In algorithms, like with music groups, things are hot because they're hot.
04:24 VsyachePuz prototypes can't be the base for funding. Estimations can.
04:24 Idiosyncrat Not if the estimations are not believed.
04:25 VsyachePuz they will be, if they will have explainations. And explainations is your weak point
04:25 Idiosyncrat You are free to blog and explain for me. :-)
04:27 Idiosyncrat Btw, Marpa::R2 is *not* a prototype.
04:28 Idiosyncrat Though perhaps from a .NET point of view you can see it that way.
04:28 VsyachePuz anyway, it will not give you the same abount of money, as good budget funding can
04:29 VsyachePuz because in budget you can ask money fo developing all directions (all popular frameworks), and here you are restricted to one
04:36 Idiosyncrat Well, as you say, I don't know how to do that.
04:37 Idiosyncrat Anybody who is, is welcome to send the checks on to me. :-)
05:35 ronsavage joined #marpa
05:38 ronsavage JK: Re http://irclog.perlgeek.de/marpa/2016-01-03#i_11822799. I think that writer was probably trying to combine Marpa with the parable of the blind women who were introduced to an elephant.
05:41 ronsavage One felt the trunk, one the tusk, one the leg and one the tail. They were all uniformly confused even though they may have thought they now knew what an elephant was.
05:41 ronsavage JK: And as for 'marketing articles'. There is a solution: I could put more links on my page to specific articles of yours which explain why top-down, bottom-up and PEG  etc, etc are unsustainable approaches to parsing. Let me know the links if you'd like me to do that.
06:01 ronsavage I've added Q36 to the FAQ. It's just a link to Scott's paper.
06:04 ronsavage I've removed Imagery and Other Parsers from the homepage.
06:09 Idiosyncrat ronsavage: re http://irclog.perlgeek.de/marpa/2016-01-04#i_11825013 -- well, I certainly hope the Ponzi schemes of her experience are much higher class than those whose materials I have read :-)
06:10 Idiosyncrat Re collecting the 'marketing articles', let me think that one over.  I'd likely to add more articles in that vein and that would affect how I'd like to see them collected.
06:11 Idiosyncrat Re Q36 & Imagery and "Other parsers" -- thanks.
06:44 Idiosyncrat Good night!
06:51 ronsavage joined #marpa
07:56 ronsavage joined #marpa
10:05 pczarn joined #marpa
10:27 rarara joined #marpa
10:40 rarara Isn't it amazing that Perl 6 parse herself with a Perl 6 grammar?
10:44 Idiosyncrat joined #marpa
10:46 Idiosyncrat rarara: It's kind of cool, yes.
10:47 Idiosyncrat Marpa's SLIF also parses itself, and it does so both in theory and in practice.
10:47 Idiosyncrat That is, Perl 6 has a Perl 6 grammar that describes itself, but it is *not* the grammar that is used in practice in parsing Perl 6 --
10:48 Idiosyncrat The Perl 6 implementations use (I believe) hand-written parsers.
10:49 Idiosyncrat Marpa's SLIF's only implementation parses itself using a grammar generated by the SLIF.
10:49 rarara I think the parsing stage is done by the grammar engine
10:49 rarara I think that marpa have many things in commong
10:50 Idiosyncrat My information is based on what they tell me on #perl6
10:51 Idiosyncrat But, yes, self-parsing is an important property.
10:51 rarara that would be interesting
10:51 Idiosyncrat I believe perl6's intent is to parse tiself both in theory *and* in practice
10:51 Idiosyncrat and there is no theoretical obstacle to that.
10:52 Idiosyncrat But it is not the case as of today.
10:53 Idiosyncrat Note that full self-parsing, as in the case of the SLIF, raises some interesting development problems that Perl 6 does not have to face.
10:54 Idiosyncrat That is, there is no SLIF "bootstrap", in case the SLIF breaks.
10:54 Idiosyncrat So I have to make sure some earlier SLIF can be found which will parse a working SLIF.
10:55 Idiosyncrat Otherwise a broken SLIF would create an unsolveable chicken-and-egg problem.
10:56 rarara Perl 6 could be bootstraped with marpa
10:56 rarara ;0
10:56 rarara ;)
10:56 Idiosyncrat But not vice versa. :-)
10:57 Idiosyncrat rarara: your server identifies itself as French -- are you from France?
10:58 rarara yea I'm working there
10:59 Idiosyncrat Self-parsing was an early Marpa goal, because when I was young (the 70's) self-parsing was *the* cool thing to do.
10:59 Idiosyncrat And they tried hard to create truly self--parsing languages, but never quite succeeded.
11:00 Idiosyncrat yacc *almost* parses itself, but requires a small hack or two.
11:00 Idiosyncrat I believe that the SLIF (depending on who you count these things) is the first language to be self-parsing in production.
11:01 Idiosyncrat I suspect you can find something out there with a make-able counterclaim, but anyway the SLIF is in the running for first.
11:02 rarara this is cool: not really a computational singularity but something on the way (let's say :)
11:02 Idiosyncrat computational singularity?
11:03 rarara something about science fiction books
11:03 rarara there is also wikipedia page about it: it is when computers will be able to program computer
11:03 rarara and doing so become in an exponential way better and better at doing it, finally surpassing humans in the ability
11:04 Idiosyncrat I never thought of that.
11:04 rarara some writers speculated this may be the end of our civilisation
11:04 Idiosyncrat Of course for a true singularity, it needs a semantics which describes its own semantics, and the SLIF is only self-describing syntactically
11:04 rarara yep
11:05 rarara the thing most similar to a singularity, I belive, is the human development himself
11:05 Idiosyncrat So I have not ended our civilization. :=)
11:06 rarara good so far :)
11:06 Idiosyncrat Ending civilization was actually never a design goal. :-)
11:06 Idiosyncrat But ...
11:07 Idiosyncrat I do hope people can use Marpa to bring in a LOP (language-oriented programming) paradigm.
11:07 Idiosyncrat And create new languages.
11:08 Idiosyncrat When I get back to Kollos, that will have a semantics -- Lua.
11:09 Idiosyncrat I don't know if Lua is powerful enough to end civilization though. :-)
11:09 Idiosyncrat We'd have to ask Roberto, who invented it. :-)
11:10 rarara Lua is at least powerful enough to work in low powered devices
11:11 rarara if we our civilisation is supposed to be succeded by a computer dominated one, we would like them to conquest the whole universe at least, no?
11:11 rarara maybe they could carry around the legend about us
11:11 Idiosyncrat ACtually, I guess at that point, you and I would not need to worry ourselves about it.
11:11 * Idiosyncrat assumes that rarara is not a computer
11:12 rarara lol
11:12 rarara Idiosyncrat assumes that the brain is not a calculator
11:13 Idiosyncrat I *do* believe that actually.
11:13 Idiosyncrat And thinking along those lines was crucial behind Marpa.
11:14 Idiosyncrat I *do* think that as far as syntax processing goes, the brain is a calculator.
11:14 Idiosyncrat And I noticed that the languages brains process are much more powerful (syntactically) than those man-made computers process.
11:15 Idiosyncrat I concluded that there was an much more powerful parsing algorithm waiting to be discovered.
11:15 Idiosyncrat Which turned out to be right.
11:16 Idiosyncrat Whether I was the one to discover it is pretty debatable, however -- you might say the crucial step was Joop Leo's 1991 paper.
11:18 rarara cool, I will check that out
11:19 Idiosyncrat IT is a *very* difficult paper -- I was the first person to implement a Leo parser ...
11:19 Idiosyncrat it didn't happen for 2 decades.
11:27 Idiosyncrat AFK
12:28 kaare_ joined #marpa
12:31 VsyachePuz "Marpa doesn't use SPPF" - that's fatal. How can I export your invention to the government, if it doesn't implement top scientific achievements?
13:08 Idiosyncrat joined #marpa
13:09 Idiosyncrat VsyachePuz: re http://irclog.perlgeek.de/marpa/2016-01-04#i_11826591
13:09 Idiosyncrat Marpa does use SPPF
13:09 VsyachePuz Idiosyncrat: read the faq - http://savage.net.au/Perl-modules/html/marpa.faq/faq.html#q36
13:10 Idiosyncrat I'll ask Ron to fix the FAQ.
13:11 Idiosyncrat Marpa uses a structure called a parse bocage, which I invented independently.
13:11 Idiosyncrat And later discovered was essentially identical to Elizabeth Scott's version of SPPF's.
13:12 Idiosyncrat ronsavage: If you're backlogging, note this.
13:12 Idiosyncrat ronsavage: Thanks!
13:12 Idiosyncrat And thanks, VsyachePuz for catching this.
13:53 VsyachePuz joined #marpa
20:58 Idiosyncrat joined #marpa
21:50 ronsavage joined #marpa
22:21 ronsavage I've update the FAQ's text (Q36) re SPPF.
23:49 VsyachePuz ronsavage: the obvious next question - ok, and where the link to bocades description?
23:51 VsyachePuz and to proof of their equivalence
23:51 VsyachePuz bocage <-> sppf

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