markdown as a programming language

modern parsing technology prefers nested, textual languages, e.g. {...}

markdown appears not to be nested

markdown translates to HTML which IS nested

use richer set of syntactical doo-dads to represent declarative code

easy to parse using existing tools

backtracking parsers

e.g. highlighting, lists, Unicode, vinculum represented as underline, other rules represented using sub-scripting

Ohm-JS

PEG

make grammar specs easier to write

makes it possible to match pairs of brackets (not possible using CFG)

HTML looks horrible to the eyes, but can be parsed using Ohm-JS

use markdown + embedded HTML (a feature in Obsidian)

matching pairs of brackets lead to recursive languages and patterns

i.e. if you can render it in HTML, you can probably parse it as a programming language