Want to make some Domain Specific Language(DSL) for practice, first idea it is to write interpreter or compiler of Brainfuck.
First idea was to override functions such as they will behave as Brainfuck commands:
You don't say this specifically in your question, but it seems that when you say DSL, you mean Internal DSL?
Internal DSLs are great, but fundamentally you're always limited by the syntax of the language you're trying to use. Scala is a particularly good language for writing an internal DSL, because it has a simple and flexible syntax. But it's not infinitely flexible.
Other avenues you might want to explore might be: