back-translation and round-tripping

Eric Astor eastor1 at swarthmore.edu
Wed Oct 18 14:23:52 EDT 2006


John Gruber wrote:

> Bowerbird at aol.com wrote on 10/17/06 at 8:28 PM:

>

>> p.s. anyone here have reaction to the

>> analysis of markdown from ivan kristic

>> for the one-laptop-per-child project?

>

> It's OK, I guess, but certainly nothing I'd allow the name

> "Markdown" to apply to. Some of his criticism of Markdown's 1.0

> syntax I agree with, but most of the differences in his proposal I

> consider unsightly.

>

> -J.G.


I've been involved with Ivan's proposed document syntax from the
start... I'm actually writing the first parser for it sometime in the
near future. It's now called CrossMark, and there's been significant
revisions since the last public discussion (or git release).

After many discussions on the unfortunately-named Markdown 2.0 list,
I've come to agree with John - for the purposes that Markdown targets,
many of the changes we've made are unsightly, and I still disagree with
many of them. Believe me, there has been a lot of debate over CrossMark
- and there still is. However, people should keep in mind the fact that
CrossMark has very different goals than the current Markdown, in a few
ways... Some of our primary goals are:

1. Parseability. We cannot afford to have our parser choke on 50k of
text for any significant length of time, and the entire system will be
running on a 366 MHz (approx.) AMD Geode processor with probably 128 MB
of RAM. We need an efficient parser, which means we need a more easily
parsed markup than Markdown as it stands today.

Somewhat more detail: Markdown's syntax for **bold** and *italics* turns
out to lead to edge cases that cannot be formally parsed with fixed
lookahead. We should note that this is a problem with wikitext, as well.
Fixed lookahead is particularly important for us - due to shortage of
RAM, we'll have to render only a few pages ahead of where the reader is
looking at any given time. This implies that we can't have something
that can be arbitrarily far down in the document that would change the
rendering of something earlier.

2. Human readability. We want this format to be straight-forward enough
that our target audience (children with /little to no technology
exposure/) could easily read and edit the raw documents. Markdown almost
does this, but relies heavily on e-mail conventions - with good
justification. It's just a different interpretation of this goal.

3. Computer read/write-ability. The format must be designed to be
editable via a WYSIWYG editor in such a way that the result can still be
easily human-readable. This is a hard problem in general - Markdown
would be very good at this, though.

4. Concise. This is critical - the laptop will only have 512 MB of
storage space, and among other things, we will include a converted
snapshot of a chunk of Wikipedia out of the box. Markdown is, again,
very good at this.

As you can see - we drew on Markdown in creating Crossmark because we do
share many of the same goals. It just became clearer over time that we
differed on some of our critical goals, and so were forced to diverge.

Personally, I very much like most of Markdown's syntax - I've fought
quite a bit for a more Markdown-like Crossmark. However, I know that
some of what John objects to, we do have good reason for, even though it
might be unnecessarily ugly in the context of Markdown's goals.

- Eric Astor


More information about the Markdown-Discuss mailing list