Nezteb

Nezteb

What do you prefer to use for type checking Elixir/Erlang code? (poll)

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. :smile:

Most Liked

Nicd

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

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 :slight_smile: . But, it’s fun and powerful, so I’m looking forward to learn it and eventually use it with my Elixir code.

xpg

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.

Nicd

Nicd

I will! Currently I’m writing a little code generation thing so that I can read Ecto schema structs in a type safe way in Gleam (I’m calling it Neglecto). But I’ll post a separate thread about it if it goes somewhere. :slight_smile:

mat-hek

mat-hek

Membrane Core Team

We use Dialyzer and CI fails if there are any warnings. Also, we recently enabled the unmatched_returns flag, which I can recommend.

Regarding other tools, I thought about trying TypeCheck and enabling it in tests. Given good coverage, I’d expect it to be quite accurate.

Where Next?

Popular in Polls Top

AstonJ
A terminal multiplexer is a software application that can be used to multiplex several separate pseudoterminal-based login sessions insid...
New
AstonJ
Do you use Dialyzer/Dialyxir in your Elixir projects? poll If you only use it in some of them, which ones? If you don’t use it, why not...
New
New
AstonJ
I think I’ve used LittleSnitch since my first ever Mac - does anyone else use it or whatever the equivalent is on your OS? What does it ...
New
spicychickensauce
There are many v0 libraries in the elixir echo system, where at least officially, semantic versioning means nothing. However, it seems t...
New
AstonJ
Curious whether you remap your Caps Lock key.. Do you remap your Caps Lock key? poll I have no idea what Globe is btw, just seen it in t...
New
AstonJ
Curious whether you’re using wired or wireless to connect to your main working machine to the internet - if you have any specific reasons...
New
AstonJ
Curious how much people are paying for hosting of their Elixir (or other BEAM lang) apps :smiley: The poll is anonymous so if you can ge...
New
AstonJ
Following on from a conversation in the Tidewave thread - how useful do you think AI dev tools are right now and how useful do you think ...
New
akoutmos
I was wondering how people are handling run-time configuration of their Plugs in their Phoenix applications as of today: poll I am also ...
New

Other popular topics Top

srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New

We're in Beta

About us Mission Statement