Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've built a DSL engine on top of CUE + Go's text/template [1]. This largely becomes feeding data into a set of templates, and even this can be hard to debug because template engines often lack the extras needed to support it.

I'd be curious to see if a more code based DSL engine has better debug support. I would imagine you would be stepping through both the DSL code and the engine, if it is more dynamic (i.e. there is not a two step process for DSL authoring)

What I like about a text/template engine is that anyone can use it (create new DSLs) without knowing the language the engine is implemented in. CUE appeals to me as the language for writing/using the DSL because (1) I don't have to learn a new syntax per DSL and (2) it becomes data (json/yaml) I can use anywhere for other purposes beyond generating code.

[1] https://github.com/hofstadter-io/hof



my experience with interpreter pattern is that you will be spending 90% of debugger time stepping through abstract "eval" functions that are irrelevant to what you want debug.


I solved this by writing code to walk the stack and extract the information I needed (this was Python, but am sure it would translate to Ruby).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: