<div dir="ltr"><div>I have updated the Wiki with the clearer names, and noted that a single parser definition would still be used, as at present, but would only keep the extra info if it was requested to.</div><div><br></div><div>The naming around interactive and batch is to anticipate a further step I would like to take, to make the parser fully incremental, in the sense that it would process as input the prior parse tree and a list of changes to the source, and then generate a fresh parse tree, with the changed nodes marked. This mode would be tightly coupled to an external too like haskell-ide-engine, to manage the bookkeeping around this.<br></div><div><br></div><div>My thinking for this is to use the approach presented in the paper "Efficient and Flexible Incremental Parsing" by
Wagner and Graham[1].</div><div>The plan is to modify `happy`, so that we can reuse
the existing GHC Parser.y with minor modifications. This is the same approach as used in the library tree-sitter[2], which is a very active project on github.<br><br></div><div>WIP is at [3], but it is very early stage.<br></div><div><div><br></div><div>Regards<br></div><div> Alan<br></div><div><br><br>[1] <a href="https://pdfs.semanticscholar.org/4d22/fab95c78b3c23fa9dff88fb82976edc213c2.pdf" target="_blank">https://pdfs.semanticscholar.<wbr>org/4d22/<wbr>fab95c78b3c23fa9dff88fb82976ed<wbr>c213c2.pdf</a><br></div><div>[2] <a href="https://github.com/tree-sitter/tree-sitter" target="_blank">https://github.com/tree-<wbr>sitter/tree-sitter</a><div class="gmail-yj6qo"></div><div class="gmail-adL">[3] <a href="https://github.com/alanz/happy/tree/incremental" target="_blank">https://github.com/alanz/<wbr>happy/tree/incremental</a><br></div><br></div><br></div></div>