evolving the spec (was: forking Markdown.pl?)

John Fraser john at attacklab.net
Sat Mar 1 15:42:21 EST 2008

On Mar 1, 2008, at 1:19 PM, david parsons wrote:

>> I agree that Markdown needs to be defined unambiguously, but I don't

>> think that's feasible with plain English in the loop. For something

>> as complex and flighty as Markdown, we need working code.


> I'm not so sure about this. I managed to write a markdown

> implementation without using anything other than the daring

> fireball

> syntax document and MarkdownTest_1.0. And I am by no means a

> Perl programmer.

Okay, but I'd argue that your success had a lot more to do with the
test suite than the syntax document.

I'll admit it: I'm probably more suspicious of paper specs than I
should be. But I can't help thinking that (1) any natural-language
Markdown spec will have holes; (2) any test suite will have littler
holes; and (3) the most popular implementation will always be the de
facto standard.

My JavaScript port of Markdown needs to match up perfectly with a
server-side version in order to be useful, so I'm probably a little
more sensitive to underspecification than most. But a spec's not
worth much if implementations aren't interchangeable. And since
Markdown has to continue silently when it gets confused, we'd need to
define all the corner cases completely -- or risk locking users into a
particular reading of the spec.

I'm all for writing a specification, but I think its purpose should be
to inform and to justify a reference implementation and test suite.

- John Fraser

More information about the Markdown-Discuss mailing list