A statically typed functional programming language with dependent types that compiles to JavaScript