DynaProg - a Scala DSL for Dynamic Programming