5 ms·
What typing does Python have available?
by hosh 2y ago
What typing does Python have available?
- greenavocado 2y agoEnforcing use of mypy is good enough for all real world use cases https://mypy.readthedocs.io/en/stable/index.html https://mypy.readthedocs.io/en/stable/index.html
- hosh 2y agoAs far as the lack of US Elixir developers, there is truth in that. It isn't that there are not Elixir developers, but that everyone who wants to work on Elixir is already working on Elixir. Years ago, I knew this engineering manager whose strategy for recruiting Erlang developers wasn't to look for Erlang developers. He found generalists and polygots who would do well in any language, and were willing to learn Erlang, and recruited them, and then taught them Erlang. These are the kind of people who can take advantage of what Erlang/OTP (and Elixir) offers. They can do well with or without typing. As for defects, the key isn't necessarily what's happening within a module, but how the various GenServer interact with each other. Having low defects within module boundaries are table stakes when working with Elixir. So if you're only measuring defects within module boundaries, you might miss the systemic problems related to interacting GenServers.
- h0l0cube 2y agoHow is this different to typespecs and Dialyzer?
- greenavocado 2y agoSee the first reply to the question linked below. I have nothing more to add. https://elixirforum.com/t/how-to-make-dialyzer-more-strict/13854 https://elixirforum.com/t/how-to-make-dialyzer-more-strict/1...
- cess11 2y agoOK, great, then I'll add that pattern matching on struct types is built-in and good enough for my purposes. Haven't used the LSP-server in a while, but I think it runs the Dialyzer-checking by default too, so that layer of checking will likely be there without adding project dependencies.
- hosh 2y agoThis is in the works right now: https://elixir-lang.org/blog/2023/09/20/strong-arrows-gradual-typing/ https://elixir-lang.org/blog/2023/09/20/strong-arrows-gradua...