3 ms·
Actually, my reading is that they are ultimately pretty set on static typing and want to use a strong static typing base and build in some dynamic components:
by yawaramin 9y ago
Actually, my reading is that they are ultimately pretty set on static typing and want to use a strong static typing base and build in some dynamic components:
Static typing is a powerful tool to help programmers express
their assumptions about the problem they are trying to solve
and allows them to write more concise and correct code. Dealing with uncertain assumptions, dynamism and (unexepected) change is becoming increasingly important in a loosely couple [sic] distributed world.
Where they go wrong is that they are lax in their understanding of 'a well-typed program cannot go wrong' (at runtime). They use the example of reading query resultsets, but those resultset reader methods are wrongly typed because they don't account for the possibility of error. So that's really a strawman.
But it's interesting to see their idea about what essentially became Scala's (and potentially OCaml's) typeclass machinery (using implicit witnesses). I guess a lot of people were thinking about typeclasses and implicits around that time.