New blog post: "Evolvable languages"

39 views
Skip to first unread message

Jeffrey Kegler

unread,
Mar 11, 2014, 2:09:46 PM3/11/14
to marpa-...@googlegroups.com
I have a new blog post up: "Language design has been like shooting crap in a casino that sets you up to win a lot of the first rolls before the laws of probability grind you down."

Durand Jean-Damien

unread,
Mar 11, 2014, 4:15:01 PM3/11/14
to marpa-...@googlegroups.com
Nice post -; !

Ross Attrill

unread,
Mar 11, 2014, 5:35:35 PM3/11/14
to marpa-...@googlegroups.com
Interesting reading.   You say that it would be impossible to embed Marpa into Perl 5.   However, I wonder if it could not be used in one of the implementations of Perl 6, Perl 11 http://perl11.org/ or Moe projects.   Something to watch for I guess.

Jeffrey Kegler

unread,
Mar 11, 2014, 6:27:33 PM3/11/14
to marpa-...@googlegroups.com
In one sense, Marpa is very much embedded in Perl 5 -- it's core is in C and it is accessed via an XS module.

On the other hand, you could not really "embed" Marpa into Perl 5's own *parsing*, and I think that's what we're talking about.  We speak of parse "engines" and the metaphor is powerful -- replacing a parse engine in a language is like a car model siwtching to a different model of engine.  An automotive engineer has no real middle ground available -- he is forced to decide to go one way or the other.

This, by the way, makes GCC's decision to throw out yacc and LALR parsing, in favor of recursive descent, a major event in the history of computer parsing.  They had to have been very unhappy with LALR/yacc/bison to do that.

-- jeffrey

--
You received this message because you are subscribed to the Google Groups "marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email to marpa-parser...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

pole...@gmail.com

unread,
Mar 23, 2014, 2:04:38 PM3/23/14
to marpa-...@googlegroups.com
On Tuesday, March 11, 2014 7:09:46 PM UTC+1, Jeffrey Kegler wrote:
I have a new blog post up: "Language design has been like shooting crap in a casino that sets you up to win a lot of the first rolls before the laws of probability grind you down."

It might be appealing at first sight, but its reliance on layout makes it quite unperlish.

Ciao,

    Flavio.

Jeffrey Kegler

unread,
Mar 23, 2014, 2:39:38 PM3/23/14
to marpa-...@googlegroups.com
I'm not sure if I understood what you mean by "layout" correctly, but

{
 company name => 'Kamamaya Technology', employee 1 => first name =>
 'Jane', employee 1 => last name => 'Doe', employee 1 => title =>
 'President', employee 2 => first name => 'John', employee 2 => last
 name => 'Smith', employee 3 => first name => 'Clarence', employee 3 =>
 last name => 'Darrow',
}

where the layout is completely disarranged, parses exactly the same as the original
{
 company name => 'Kamamaya Technology',
 employee 1 => first name => 'Jane',
 employee 1 => last name => 'Doe',
 employee 1 => title => 'President',
 employee 2 => first name => 'John',
 employee 2 => last name => 'Smith',
 employee 3 => first name => 'Clarence',
 employee 3 => last name => 'Darrow',
}

So in the sense of "arrangement of whitespace", the syntax is not dependent on layout.  (The above rearrangement was done by using the Linux "fmt" command.  Any other whitespace rearrangement will work as well.)

I hope I'm reading your comment correctly.  -- jeffrey

Flavio Poletti

unread,
Mar 23, 2014, 3:02:46 PM3/23/14
to marpa-...@googlegroups.com

Oh I see! It was me to misread... sorry for that!

Ciao,
    Flavio

You received this message because you are subscribed to a topic in the Google Groups "marpa parser" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/marpa-parser/C0415Qx_g18/unsubscribe.
To unsubscribe from this group and all its topics, send an email to marpa-parser...@googlegroups.com.

Jeffrey Kegler

unread,
Mar 24, 2014, 11:30:39 AM3/24/14
to marpa-...@googlegroups.com
In reading things, we exclude the impossible.  For example, when you read "He sold the dog biscuits", you may not even notice there are two parses, because the second one has the dog being the buyer of the biscuits and we know that's impossible -- dogs, much as they love biscuits, have to rely on others to buy them.

Many have come to believe over the years that a practical parser that can efficiently handle a very wide variety of syntax was just not a real possibility -- not gonna happen.  I think a lot of people are reading my blog posts in terms of the "possible" and missing what I'm saying.  I think that is a big issue for my posts on DSL's.  When you say DSL these days, people think of Ruby-style internal DSL's, which are really API's and not DSL's.  True external DSL's have been almost impossible to write, and folks have not been expecting that to change.  So folks look at my blog posts about Marpa DSL's and assume that I am talking about an API, and not actual domain-specific *languages*.

Really.  I have trained a dog to go to the store and buy his own biscuits.

-- jeffrey

Ron Savage

unread,
Mar 24, 2014, 6:17:29 PM3/24/14
to marpa-...@googlegroups.com
Really.  I have trained a dog to go to the store and buy his own biscuits.

Ahh, yes. But can she code? 
Reply all
Reply to author
Forward
0 new messages