Hammurabi is a rule engine written in Scala that tries to leverage the features of this language making it particularly suitable to implement extremely readable internal Domain Specific Languages. Indeed, despite its rules can be easily read and then validated by a non-technical person, what actually makes Hammurabi different from all other rule engines is that it is possible to write and compile those rules directly in the host language.
That allows the developer who has to implement the rules to write them in a language that he is already familiar with, to leverage all the goodies provided by his favorite IDE, like autocompletion and syntax highlighting, and to use the Scala compiler to syntactically validate the rules themselves.




