Elixir Protocols vs. Clojure Multimethods

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

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • 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.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • 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.

    https://github.com/drujensen/fib

    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).

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • 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]

    [0]https://github.com/matteing/stack/blob/main/server/boilerpla...

  • 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