Productivity and performance with embedded domain-specific languages