> So, I built a ClojureScript app that did just that. Sitting down and churning through hundreds of those allowed me to build an intuition for grammar rules that I knew on paper but would mess up when attempting to use them.
If you did not use an existing rules engine, would you please consider open sourcing what you have done to help others who are considering building something similar? Or describe more in depth how you did it?
The current tools I see out there like LanguageTool are quite horrid when it comes to expressing the rules.
I had a bunch of helper functions, but my view was that there's no way to solve it in general; building exercises would always involve writing annotations via a DSL.
You wouldn't be able to avoid hand crafting each sentence structure (like you were writing a textbook), but the advantage comes from being able to parameterize the generation of tests. You define where the holes are and what can go in them for a particular exercise, and the combinatorial nature of it yields thousands of examples, with tunable complexity, allowing you to crunch on a topic with enough variation that you still have to think and not get bored.
Ich mag rote Bücher, aber er grüne besser ist denkt.
It's been two years so es ist viellicht nicht richtig!
I don't think if you solve it this way, my solution would really be a helpful starting point.
I didn't have a plan for moving past the first year or two of learning, I think you could learn a ton of basics this way, but once language gets more subtle and varied you'd probably need to do something else entirely.
Also I don't know if this would work with other languages. German is extremely regular.
If you did not use an existing rules engine, would you please consider open sourcing what you have done to help others who are considering building something similar? Or describe more in depth how you did it?
The current tools I see out there like LanguageTool are quite horrid when it comes to expressing the rules.
https://github.com/languagetool-org/languagetool