Nezteb
What do you prefer to use for type checking Elixir/Erlang code? (poll)
- GitHub - jeremyjh/dialyxir: Mix tasks to simplify use of Dialyzer in Elixir projects. · GitHub (or regular Dialyzer)
- GitHub - esl/gradient: Gradient is a static typechecker for Elixir · GitHub
- GitHub - Qqwy/elixir-type_check: TypeCheck: Fast and flexible runtime type-checking for your Elixir projects. · GitHub
- GitHub - WhatsApp/eqwalizer: A type-checker for Erlang · GitHub
- GitHub - josefs/Gradualizer: A Gradual type system for Erlang · GitHub
- Other
- Types? What are these “types” you speak of? (Nothing)
The poll allows up to 2 votes for cases where people have a preferred tool for Elixir and a separate preferred tool for Erlang or they simply can’t choose a favorite. ![]()
First Post!
Nezteb
Some followup up questions/discussion:
- If you chose a tool on the poll (or answered “other”), what do you use, why do you use it, and how do you use it?
- If you don’t use any form of type checking tool, do you still bother maintaining typespecs? Is there some other process or tool you use besides the usual manual code review and unit/integration testing?
- If you use Dialyxir/Dialyzer, have you figured out how to use the new
--incrementalmode? As far as I can tell, incremental mode is not usable on Elixir code (yet). - As far as I know,
eqwalizerisn’t usable from Elixir (yet); is that correct, or have you found a way to use them?
Most Liked
Nicd
Checking out if I can use https://gleam.run for most of my code and just have the necessary parts like Phoenix and Ecto in Elixir.
cloudytoday
With regards to alternative BEAM languages, I’m currently learning Purerl, which is Purescript with Erlang as the backend. The interop story is very good: running PS code from Elixir is very easy, and FFI in Purescript seems to also be frictionless. They also have OTP, Gun, etc bindings. However, I can see why it didn’t get more traction: I’ve been studying it for a couple weeks, I’ve writtern monad transformers but I still don’t know how to make a simple GET request
. But, it’s fun and powerful, so I’m looking forward to learn it and eventually use it with my Elixir code.
xpg
I always try to use Dialyzer and typespecs as much as possible. Even for project where I don’t use Dialyzer, typespecs are used.
At work, Dialyzer warning are tracked by our CI-tool. Builds don’t fail when introducing Dialyzer warnings, but there is a strict agreement om fixing those warnings as quick as possible.
I have tried several of the other tools, but they simply don’t work on our code base - they usually crash in one way or another.
Would love some faster and more accurate type analyser tools, but for now Dialyzer works and does indeed find potential issues.
Last Post!
Mostalive
Popular in Polls
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










