HN user

FrankBro

20 karma
Posts0
Comments8
View on HN
No posts found.

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.

[1] https://github.com/josefs/Gradualizer [2] https://github.com/josefs/Gradualizer/blob/master/priv/prelu...

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.

[1] https://github.com/josefs/Gradualizer

I am curious to know what are the major differences between tmux and a tiling window manager? I've used awesome Wm for a while, now on i3wm.

This might be off-topic but if you want to see some good examples, elementary OS uses it for most of their applications. I tried it a while ago and really loved some of the features (integrated contract driven programming, yes please). However, as with most new languages, had problems with availability of tools, tutorials and libraries.