Other

Other libraries

Space here for other libraries

Placeholder.

To avoid polluting this meta-thread with specific discussion on certain topics (say what I want in the random library), this will link to the discussion topics:

Multidimensional arrays, Linear-algebra #14, #17, #25, #50, #59

Plotting #17, #51, #70

Geospatial #13, #69

Image processing #69

Dataframes, columnar/tabular data processing #20, #47, #33

Random #40

Statistics #16

Machine learning #48

Deep learning No issue open

Computational Geometry #53

For some precision engineering/scientific applications, the ability to use arbitrary precision floating point arithmetic would be useful. Does an MPFR wrapper a la Julia’s built-in support for BigFloat belong on this list?

it seems that there is still no computer algebra system module like https://www.sympy.org/. I also made a post https://forum.nim-lang.org/t/4165

REPL / JUPYTER-like

having a (nearly?) fully functional jupyter kernel would be quite useful for my work and, I suspect for many people.

@brentp: There is (or was) jupyternim: https://github.com/stisa/jupyternim I’m not sure if it’s abandoned and/or still compiles (last activity Oct 2018); I have never used it. Its downside is that it was written without hot code reloading in mind of course. However, I think it’d provide a nice basis for an updated implementation, which uses HCR for the relevant parts and the socket communication of jupyternim.

I once started playing around with HCR, but wasn’t very successful even implementing a trivial repl, https://github.com/vindaar/brokenrepl. Posting it here if anyone wants to give it a try.

yes, I saw that and inim from @stisa, now that there are ggplots and dataframes, the notebook would a be a boon.

(my) jupyternim and inim are the same code, there was a naming conflict with https://github.com/AndreiRegiani/INim so I renamed it. I agree it’s due an update, but I have been pretty busy this year. Last time I saw, HCR was limited to JS target, looking at https://nim-lang.org/docs/hcr.html there was a lot of progress so I may have a look into adopting it when I get some free time, if nobody starts working on it first.

More stuff

@chemist69 Jupyternim predates hot-code reloading which was written also with jupyter kernel in mind and should be less hacky. No idea though on how to use it in practice.

Docs if someone want to play with it: https://nim-lang.org/docs/hcr.html

@miran In terms of plotting we have nim-plotly and ggplotnim which is written from scratch.

On my side I’m still convinced that the Vega ecosystem is probably one of the best ways forward. Especially because they provide an open-source Tableau called Lyra (build with feedback from Tableau people) and most impressively a tool that does automatic suggestions of data visualizations called Voyager

This is the video that sold me on Vega from the OpenVis 2015 conference. Focus on Voyager at 19:15 - https://youtu.be/GdoDLuPe-Wg?t=1155.

I have a PoC of calling Vega lite from Nim here: https://github.com/numforge/monocle but I have no time to work on it for the foreseeable future.

Some inspiration

Scipy structure

  • Basic functions
  • Special functions (scipy.special)
  • Integration (scipy.integrate)
  • Optimization (scipy.optimize)
  • Interpolation (scipy.interpolate)
  • Fourier Transforms (scipy.fft)
  • Signal Processing (scipy.signal)
  • Linear Algebra (scipy.linalg)
  • Sparse eigenvalue problems with ARPACK
  • Compressed Sparse Graph Routines (scipy.sparse.csgraph)
  • Spatial data structures and algorithms (scipy.spatial)
  • Statistics (scipy.stats)
  • Multidimensional image processing (scipy.ndimage)
  • File IO (scipy.io)

Awesome Julia

  • Julia Lang-the language - The core language and other libraries in Julia.
  • Julia Stats- Statistic and Machine learning enthusiasts.
  • Julia Opt- Solutions and libraries for Mathematical Optimization.
  • Julia Parallel-Various models of Parallel Programming in Julia.
  • Julia Astro - Astronomy and Astrophysics packages for Julia.
  • Julia Quant -Quantitative Finance Libraries in Julia.
  • Julia Quantum - Julia Libraries for Quantum Science and Technology.
  • Julia Sparse -Sparse Matrix and Graph Partioning libraries.
  • Julia Diff - Differential Tools in Julia.
  • Julia GPU - GPU computing for Julia
  • Julia Web - Libraries for the web . Includes sockets, requests, curl, GeoIP and much more.
  • Julia CI - Continous Integration support for Julia. Includes Travis Builds and Tests.
  • BioJulia - -Bioinformatics Research.
  • JuliaBox - Code Julia on the go using a browser.

Last modified January 1, 0001