Norm
Elixir
Our great sponsors
- Paraxial.io - Bot detection and prevention for Elixir/Phoenix applications
- Scout APM - Less time debugging, more time building
- SonarQube - Static code analysis for 29 languages.
Norm | Elixir | |
---|---|---|
4 | 64 | |
650 | 20,219 | |
3.4% | 1.0% | |
3.7 | 9.8 | |
22 days ago | 3 days ago | |
Elixir | Elixir | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Norm
-
Pattern matching and guards as a form of natural type specification?
Forget the typespecs. Have a boundary layer where you check the shape of things and their types as they enter your system and possibly convert them to some type you need inside your system. Norm is great for this.
-
Question on how to idiomatically apply "defensive programming" concepts from Pragmatic Programmer book
HexDocs for norm. — I am not a robot but maybe there should be a Hex package manager auto link bot. 🤖
-
Erlang/OTP 24 Highlights
I generally verify types only at the boundaries of my application (or very critical modules) using norm[1].
Either you have a strict type system that does not have an "any" type (yes, I'm looking at you Typescript), or you have a flexible type system like Python/Erlang/Elixir and you do runtime type checking whenever it's needed.
I'm writing more Typescript code than I would in Javascript for almost no type safety benefits (but for documentation, it's awesome).
-
Clojure Spec like library in Elixir for data generation
Check out Norm. Sounds like it's right up your alley
Elixir
-
Erlang/OTP 25 has been released
1.13.4 is verified on OTP 25 RC2, so I'd assume it supports the release OTP 25.
See: https://github.com/elixir-lang/elixir/releases/tag/v1.13.4
- C# Developers, what other programming language you would like to learn next?
-
Is OCaml the "Go" of Functional Programming Languages?
If you want a more quantified comparison, here is Elixir's parser, and here is OCaml's. Removing a lot of the function definitions that are left in ocaml's parse file, we can still see that Elixir's syntax is about a third of Ocaml's. For reference, Java would be about twice as much as OCaml's. Elixir does have some sugar on top of things that might not be necessary, e.g. sigils for strings and so on, but if you compare core elixir to core ocaml (or most other functional languages), or you compare full Elixir to full OCaml, you see that it's a smaller language. And to me, it provides overall a very Go-like experience.
-
clear screen with `cls` instead of `clear`
In Elixir v1.14+ you will be able to import the module as you define it in .iex.exs files, as we now evaluate it line by line: https://github.com/elixir-lang/elixir/commit/395b0534f0e5312ab3ebbb9a9f9bc8da224ffdd8
-
What language do you think looks the most interesting?
Well, in terms of programming languages, I'm really interested in Elixir. Its approach to concurrency seems completely different to anything I've touched in C++, and its Ruby-like syntax is also quite appealing.
-
Task.start_link vs spawn_link
It is similar but better if you use Task.start_link cause you will get better introspection. It will also get supervised: https://github.com/elixir-lang/elixir/blob/v1.13.3/lib/elixir/lib/task.ex
-
Boolean help?
There are more resources listed on the Elixir Homepage but these two in particular might be worth checking out. Being able to have an interactive discussion about some of your questions might be worthwhile.
-
I am still confused 🤕
Have you considered becoming an Elixir dev?
-
Modern Webapps with React, Phoenix, Elixir and TypeScript
I've started working on a side project this year and the tech stack I have chosen was the Elixir lang due to its functional design and fault tolerance (Thanks to the Erlang VM) so the Phoenix framework was a natural choice for me.
-
Phoenix LiveView, but event-sourced
The context: I'm building a cryptocurrency exchange application. I don't have the business chops to run an actual exchange, so this is just for fun. The application is built in Elixir, using the Commanded framework for CQRS/ES goodness, and Phoenix LiveView because it's the hot new thing that I wanted to learn.
What are some alternatives?
solidity - Solidity, the Smart Contract Programming Language
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
rust - Empowering everyone to build reliable and efficient software.
crystal - The Crystal Programming Language
Akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM
Phoenix - Peace of mind from prototype to production
nx - Multi-dimensional arrays (tensors) and numerical definitions for Elixir
scala - Scala 2 compiler and standard library. For bugs, see scala/bug
actix - Actor framework for Rust.
valdi - Simple data validation for elixir
pwntools - CTF framework and exploit development library
vex - Data Validation for Elixir