realworldocaml/mdx

Indented code fences are not recognised

brendanzab opened this issue · 0 comments

When attempting to use MDX to test this README.md, I noticed it wasn't picking up the following code fence:

- A-Normal Form

  This defines an intermediate binding for each computation. This is close to
  the [three-address code] found in many optimising compilers.

  ```sh
  $ arithcond compile --target=anf <<< "let x := 3 * 4; if x = 5 then (let y := 3 + x; 8 - y / 4) else x + 8"
  let e0 := mul 3 4;
  let e1 := eq e0 5;
  if e1 then
    let e2 := add 3 e0;
    let e3 := div e2 4;
    sub 8 e3
  else
    add e0 8
  ```

Dedenting the code fence seemed to fix things. In the interim I’ll rework the document to get it to work, but I thought it would be good to record the edge-case!

(Note that I had to switch to from command to sh from what is on that repo - other tools like trycmd use command for these kinds of tests, so I was in the habit of using that)