<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Thanks to Zoltan for tracing it…it seems I have a penchant for naming my modules with the same names as the core set without noticing.<div class=""><br class=""></div><div class="">I had recently created a module called pprint, having failed to notice it in the list when doing</div><div class=""><br class=""></div><div class="">    mmc-doc —list-modules</div><div class=""><br class=""></div><div class="">The pretty_printer one I noticed but why oh why I failed to spot `pprint` a mere two lines above in the monochrome terminal noise, heavens only know.</div><div class="">Ironically I had shied away from using the pretty_printer months and months ago as it ‘looked complicated’ but my Mercury experience has grown a lot since then, so in light of this recent fiasco of my making, I decided to give it a go and well, talk about pleasantly surprised!</div><div class=""><br class=""></div><div class="">I had written my own ANSII coloured pretty printer specifically for viewing parse trees but I am now at the syntax and structure checking phase, and I tried the stock PP on the output of my pre-render phase, I love it!</div><div class=""><br class=""></div><div class="">I have many phases as this project is intended to be industrial grade bullet proof when done (if ever) which is why I eventually decided to use mercury for it, despite only finding evidence of one commercial product having been written in it, the Prolog and Haskell junkie in me knew it was the way forward, and so far, despite the odd hiccup and huge learning curves here and there,  I remain very happy with my choice of implementation language.</div><div class=""><br class=""></div><div class="">I enclose a small screen-grab of my REPL in colour mode, it shows the coloured output from the lex command and the tree buld command, and the stock pretty printer showing the structured output that is a series of rendering instructions to the final stage, after any macro expansion (way in the future but planned) has taken place etc. The REPL is intended to be a playground / sandbox for new users to get the feel of how it all works, it has an edit facility (shells out to FELT_EDITOR), and help pages for all the instructions taken from <a href="http://felt-lang.com" class="">http://felt-lang.com</a> etc etc. It’s a mountain of work left to do but C code generation is close to being viable, it just needs some tweaking to the the type management at render time and also some porting of the SWI prolog code I have to generate a print() format string based on the argument types to my EMIT instruction.</div><div class=""><br class=""></div><div class=""><a href="https://pasteboard.co/Oi2FEXuR9KYC.png" class="">https://pasteboard.co/Oi2FEXuR9KYC.png</a></div><div class=""><br class=""></div><div class="">Thank you again Zoltan and everybody else who has nudged me away from the rocks, great stuff!</div><div class=""><br class=""></div><div class="">Sean</div><div class=""><br class=""></div></body></html>