I think it did partially stopped. I'm the only one committing right now but some of the original devs will review PRs and are EXTREMELY helpful. Great bunch.
I'm going to shill Gradualizer[1] in here as well.
1. I think you have to see typing as helpful information. Like:
-spec add(integer(), integer()) -> integer().
add(A, B) -> A + B.
Technically, nothing prevents add from accepting number() or float(). It's too much specification.
2. I was surprised how much there actually is but also disappointed that a lot of errors were in until OTP 23. Gradualizer also overrides some definitions [2]
3. Haven't encountered a problem with this yet with gradualizer, would need to test.
I replied to your post on twitter but I highly recommend Gradualizer[1].
Discovered it last year and started using it. The refinement portion handles unions and guards very well. It's not perfect but I'm integrating it in our codebase with some interesting successes. I'm hoping more people use it on their codebase and can find any bugs they have with it so it can be improved further.
Remote: YES PLEASE
Willing to relocate: No
Technologies: F#, Erlang and Go are top but I've touched pretty much everything.
Resume/CV:
https://www.linkedin.com/in/francois-brodeur-49587837/
https://github.com/frankbro
Email: [email protected]
Backend/system mostly. 8+ years of experience, 3 years in adtech.