AstonJ

AstonJ

Types on the BEAM

Currently a hot topic in the BEAM world, let’s start a thread for it (as suggested by @crowdhailer here) :smiley:

What are your current thoughts? What would you like to see/not see? :upside_down_face:

Most Liked

Korbin73

Korbin73

I would really like to see types on the beam. Right now the one that I’m keeping the closest eye on is Hamler (https://github.com/hamler-lang/hamler). I know the other project is Gleam, but I’m indifferent to the syntax. It must be pretty hard since projects like Alpaca, and Elchemy have been abandoned.

For me it’s not about checking types, it’s really about reasoning about the code. When I put my Elixir projects down and come back 3 months later, when I navigate to the function that needs changing, it involves tracing every call site to infer what types are getting passed in. I loose interest in having to Hindley/Milner all my types when the computer can do it better than me :stuck_out_tongue: To be fair typespecs are great but it’s so easy for them to get out of sync and doesn’t help when you pass a function to another function and need to know the type signature (at runtime).

dimitarvp

dimitarvp

I am fully with you on the sentiment – but I am trying very hard to detach myself from syntax tastes. I have found so many times during my career that syntax barely matters. If the language constructs and the runtime are good I can swallow almost any syntax (well, maybe not COBOL but who knows).

wolf4earth

wolf4earth

Very true.

Personally I quite like the ML-style syntax, speak Haskell, Elm, and the like. At the same time I’m not really fond of the C++ style syntax with deeply nested :: namespaces with lots of shortened names, like std or Buf (seriously, you couldn’t call if Buffer)?

But the latter also applies to Rust and I cannot deny that Rust is a very thoughtfully designed language with a lot of merits (I’m actually learning it at the moment).

So yeah, as I see it good language design is nearly orthogonal to choice of syntax.

Where Next?

Popular Backend topics Top

bot
A new item has been posted: This thread was posted automatically, if you feel it could be in a better category and are at Trust Level ...
New
New
First poster: bot
C++: The Good Parts . Jordan DeLong overviews the past, current and near future “good parts” of C++'s functional side through the colore...
New
First poster: bot
The Emerging Architectures for Modern Data Infrastructure. Five years ago, if you were building a system, it was a result of the code yo...
New
First poster: bot
Multicore OCaml: October 2020. Welcome to the October 2020 multicore OCaml report, compiled by @shakthimaan, @kayceesrk and of course my...
New
AstonJ
Inspired by this post by @stefan.jarina, I’m curious about the kind of Bash scripts you’ve written and whether you still use Bash given t...
New
AstonJ
If you are experiencing Rails console using 100% CPU on your dev machine, then updating your development and test gems might fix the issu...
New
DevotionGeo
What do you people do for reading Erlang docs? Is there something like Ruby’s ri? I installed manual pages for Erlang under /usr/local/...
New
Cellane
Phoenix 1.6.0 got released last week, with built-in authentication and mailer generators, a whole new HEEx (HTML-aware Embedded Elixir) e...
New
New

Other popular topics Top

AstonJ
If it’s a mechanical keyboard, which switches do you have? Would you recommend it? Why? What will your next keyboard be? Pics always w...
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
mafinar
Crystal recently reached version 1. I had been following it for awhile but never got to really learn it. Most languages I picked up out o...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1143 25883 760
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
New
New
RobertRichards
Hair Salon Games for Girls Fun Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New