Functional programming language with dependent types
