Elixir Protocols vs. Clojure Multimethods

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • CodiumAI - TestGPT | Generating meaningful tests for busy devs
  • InfluxDB - Access the most powerful time series database as a service
  • ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
  • core.match

    An optimized pattern matching library for Clojure

    Why not just use core.match? https://github.com/clojure/core.match

  • defun

    A macro to define clojure functions with parameter pattern matching just like erlang or elixir.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • meander

    Tools for transparent data transformation

  • ClojureCLR

    A port of Clojure to the CLR, part of the Clojure project

    I recently found there was a clojure implementation for .NET and also one for the BEAM Virtual Machine. Has anyone used the latter? Regards

    [1] https://github.com/clojure/clojure-clr

  • clojerl

    Clojure for the Erlang VM (unofficial)

  • protocol_ex

    Elixir Extended Protocol

  • fib

    Performance Benchmark of top Github languages

    How? Do you mean how do I know it's slow? Because it takes longer to run.

    Write a typical computation such as Fibonacci in Java and Erlang/Elixir and compare. Fortunately someone has already done this.

    Elixir is 3x slower than C and 2x slower than Java for this single thread example.


    Apparently this upsets people for me to point this out. However, I did not say that Elixir was slow in general or a bad choice. It's an excellent choice for problems which suit parallelization or which require reliable, consistent performance.

    Since the parent poster had commented that adding this multi-module dispatch would not be performant, I merely pointed out that the single thread peformance was already slow (as in, why worry too much about the performance cost of the multi dispatch suggestion).

  • CodiumAI

    TestGPT | Generating meaningful tests for busy devs. Get non-trivial tests (and trivial, too!) suggested right inside your IDE, so you can code smart, create more value, and stay confident when you push.

  • stack

    My stack for new products. (by matteing)

    I had most of these concerns when I was early learning the language. I found it annoying to have everything in modules. Now, however, I've come to appreciate the organization and structure that this forces upon the programmer.

    It makes me structure my code and group related concerns at time of writing.

    And with .exs files, you can have multiple modules in one file for quick scripting.[0]


  • nx

    Multi-dimensional arrays (tensors) and numerical definitions for Elixir (by elixir-nx)

    Elixir has macros. People are currently building Nx https://github.com/elixir-nx/nx while not having to change anything in the language. Java/JS interop being unmatched is true, but Elixir has Erlang interop too.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts