Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Many years ago I was studying deep learning using this resource:

* http://neuralnetworksanddeeplearning.com/

I decided to try to implement everything from scratch in Elixir (after initially doing all the math with pen and paper on a trivial example to get the feel of it). Obviously pure elixir was extremely slow, so I started creating NIFs to pass over matrix multiplication to OpenBLAS. Then I was thinking more and more of what things I can pass to C code and just have Elixir as a "frontend" for it. My enthusiasm died down when I realised I was simply implementing things in C with the pretext of "doing elixir", a nice learning experience but I could see I was not doing the things that initially got me pumped up.

Don't get me wrong, I loved the discovery part of it, reading research and trying to understand so I can implement the different new (at the time) deep learning techniques, like convolutions, LSTM, and the different nuances of it. I think it gave me a better understanding of how things work and why it works. But it deviated from the initial scope and I lost interest once the learning phase was over and I knew I could simply use tensorflow or pytoorch as I did not actually need the advantages BEAM offers for this type of workload.

Code is still available here:

* https://gitlab.com/sdwolfz/experimental/-/tree/master/exlear...




That pretty much describes my Tcl experience in the first Internet wave, to the point I only care for languages with good JIT/AOT tooling in the box, leaving the rest for scripting activities.


As of OTP25, released last year, Erlang has JIT.


True, but without trying to move goalposts, the JIT still lacks the numerics support for machine learning.


I think Mojo may win eventually when it’s complete, but you might want to check out: https://github.com/elixir-nx


Given how Swift for Tensorflow was managed, I am quite sceptical of Mojo.

That Elixir project is nice, but I already have enough on my plate with JVM, CLR, V8.

Noted for follow-up though.


Does Nx change that mindset in any way?


Not really as I've shifted my focus over the years to other areas of software/business development and left ML behind.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: