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

New
New
New
ariandanim
Hello, i am facing difficult using webpack when to install within phoenix framework 1.5.7 because the webpack is still version 4.x.x inf...
New
Jsdr3398
I’ve recently become interested in Elixir and all it’s neat perks. And since I’m currently working on a messaging platform; elixir seems ...
New
First poster: bot
https://twitter.com/briandfoy_perl/status/1354535622069919748 This thread was posted by one of our members via one of our news source tr...
New
mudasobwa
To promote Tarearbol.DynamicManager I created the :heart_eyes_cat:-language (which is a brainfuck dialect.) Code outputting “Meow” to th...
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
jaeyson
Sorry for the very vague noob question, I really want to ask this: When do we use async or sync code in the context of Elixir? AFAIK gen...
New
mafinar
December is only a few weeks away. I have been detached from programming puzzles for a while now so thought I would give myself some warm...
New

Other popular topics Top

PragmaticBookshelf
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
AstonJ
Or looking forward to? :nerd_face:
503 14512 277
New
PragmaticBookshelf
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New
New
AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
AstonJ
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
PragmaticBookshelf
Author Spotlight Mike Riley @mriley This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
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