Showing Posts 1 to 10

Nezteb

Nezteb OP

Some followup up questions/discussion:

AstonJ

AstonJ

Related poll for those interested…

:023:

cloudytoday

cloudytoday

If you don’t use any form of type checking tool, do you still bother maintaining typespecs?

Yes, althought I’m sorta bipolar about this. On the one hand, they really help as docs. On the other hand, at times writing them, while knowing that they ultimately mean nothing as they aren’t enforced, feels rather pointless.

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

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.

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.

hauleth

hauleth

There also was GitHub - Comcast/dialyzex: A Mix task for type-checking your Elixir project with dialyzer · GitHub which for me was more pleasant to use than Dialyxir, but it seems to be dead.

xpg

xpg

I have also considered doing that, but haven’t had the time to look into it properly.
So if you can share anything about how this works out for you, I would be really interested!

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:

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.

Where Next? Top

Trending in Polls Top

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews