New Language Expands on Google's Go
Polish developer Marcin Wrochniak has introduced Have, a computer language that transpiles to and expands on Google's Go. Wrochniak developed Have as a hobby project, with the goal of the language becoming a "companion" to Go that addresses some of its common "landmines." One of the most obvious differences between Have and Go is the formatting; Go uses curly braces similar to C/C++, while Have uses block indents like Python. Other differences address idiosyncrasies in Go. For example, the way that variable declaration, structs, and interfaces work have all been modified in Have to be more consistent with each other and to avoid internal inconsistencies that are a common source of bugs. The new language also plans to add generics to Go, which will enable programmers to create constructs in the language that use type parameters and make it possible to extend Have in ways not readily possible in Go. Have also features "specializations," which let generics use different code based on the type in question. Although many of the features Wrochniak wants to provide have not been implemented yet, Go's role as a platform for language innovation is notable.