Arraymancer VS nimskull

Compare Arraymancer vs nimskull and see what are their differences.

nimskull

An in development statically typed systems programming language; with sustainability at its core. We, the community of users, maintain it. (by nim-works)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Arraymancer nimskull
21 13
1,304 253
- 4.7%
8.2 9.9
7 days ago 5 days ago
Nim Nim
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

Arraymancer

Posts with mentions or reviews of Arraymancer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-28.
  • Arraymancer – Deep Learning Nim Library
    6 projects | news.ycombinator.com | 28 Mar 2024
    It is a small DSL written using macros at https://github.com/mratsim/Arraymancer/blob/master/src/array....

    Nim has pretty great meta-programming capabilities and arraymancer employs some cool features like emitting cuda-kernels on the fly using standard templates depending on backend !

  • Go, Python, Rust, and production AI applications
    4 projects | news.ycombinator.com | 12 Mar 2024
    Nim has also a powerful deep learning library called Arraymancer. It's selling point is that you don't have to rewrite your code from research to production. It's used in various machine learning projects, but one recent one that caught my eye was https://github.com/amkrajewski/nimCSO "Composition Space Optimization"

    https://github.com/mratsim/Arraymancer

  • D Programming Language
    13 projects | news.ycombinator.com | 3 Dec 2023
    - https://github.com/mratsim/Arraymancer/blob/master/src/array...

    It's worth noting that nim async/await transformation is fully implemented as a library in macros.

  • Prospects of utilising Nim in scientific computation?
    3 projects | /r/nim | 3 Jun 2023
  • How to write performant Nim?
    1 project | /r/nim | 7 Nov 2022
    https://github.com/mratsim/Arraymancer 11. « Premature optimisation is the root of all evil », Donald Knuth, The art of computer Programming It would be quite useful that someone writes one with examples for all these recommendations and more ...
  • Deeplearning in Nim?
    6 projects | /r/nim | 4 Jul 2022
    In particular for deep learning as bobsyourunkl already mentioned there is arraymancer on the one hand and also flambeau on the other. The latter is a Nim wrapper around libtorch (i.e. the PyTorch C++ backend). It is missing things (to be wrapped by adding a few lines) and has some rough edges, but if one needs to get stuff done, it's possible.
  • Mastering Nim – now available on Amazon
    9 projects | news.ycombinator.com | 29 Jun 2022
    how are u compiling (optimization, custom compilation flags etc.?) In my case https://github.com/mratsim/Arraymancer big project compile under your 4.2s so or you have like 10k+ lines of codes with macros or you just pass some debug flags to compiler :D
  • Nim Version 1.6.6 Released
    9 projects | news.ycombinator.com | 5 May 2022
  • The counter-intuitive rise of Python in scientific computing (2020)
    9 projects | news.ycombinator.com | 26 Mar 2022
  • Computer Programming with Nim
    13 projects | news.ycombinator.com | 27 Feb 2022
    We have both raw wrappers for BLAS:

    https://github.com/andreaferretti/nimblas

    as well as LAPACK:

    https://github.com/andreaferretti/nimlapack

    For an example, consider calling the least squares routine `dgelsd` in arraymancer:

    https://github.com/mratsim/Arraymancer/blob/master/src/array...

    wrapped up in a nicer user facing API.

    Feel free to hop onto matrix, if you have more questions!

nimskull

Posts with mentions or reviews of nimskull. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-24.
  • V Language Review (2023)
    6 projects | news.ycombinator.com | 24 Feb 2024
    > Unfortunately there seems to be a big "civil war" happening right now in Nim land

    I believe the war is already over, the other side forked the language and seems to move in their own direction to create something new - https://github.com/nim-works/nimskull . That's probably for the better.

    I've been around Nim communtiy around a year and I haven't seen any major conflicts break out since these people left. Nim is still actively developed and a jou to use.

  • OpenD, a D language fork that is open to your contributions
    9 projects | news.ycombinator.com | 13 Jan 2024
    FYI, some members of the Nim community are working on a fork, for apparently similar reasons as OpenD (community-led development). https://github.com/nim-works/nimskull under active development and not ready for general consumption though, from my understanding.
  • A Tour of C++, 3rd edition (covering C++20 plus a few likely features of C++23)
    3 projects | news.ycombinator.com | 30 Oct 2022
    There's a looming feeling that C++17 is really going to be the last version of C++ (practically, in production). The Vasa is now half-sunk [0][1], but the alternatives are yet to be truly born. The current issues surrounding the language standards:

    - The important but half-baked features of C++20 that has never really been polished enough for actual production usage (modules, coroutines)

    - Unnecessary "hyper-modern" C++ features which are dead on arrival (ranges)

    - The dramatic increase in build times due to the STL library (which are accelerated by those hyper-modern C++ features) [2]

    - The fleeing of LLVM/Clang engineers to other projects (as you've said, Apple engineers shifting work to Swift, and Google abandoning Clang and moving to Carbon).

    - Implosions in the ISO committee (notably the controversy surrounding the rape convict)

    It's really not looking good, but there aren't that much alternatives so I think people will just stick to C++17 for the moment. Listing the worthwhile competitors:

    - Rust is a bit too awkward to use in many cases where C++ is used (particularly with unsafe Rust), and inherits some of the hyper-modern complexities/insanities of C++.

    - Zig is still too unstable, they just finished reworking the compiler

    - Jai is not even released to the public

    - D might be a candidate but IMO they should really commit 100% fully for GC-less betterC mode...

    - Nim still has many warts and unbaked features, and also the dev community was split into half recently [3]

    [0] https://www.aristeia.com/TalkNotes/C++vstheVasa2-ups.pdf

    [1] https://www.stroustrup.com/P0977-remember-the-vasa.pdf

    [2] https://old.reddit.com/r/cpp/comments/o94gvz/what_happened_w...

    [3] https://github.com/nim-works/nimskull

  • NimSkull: A Hard Fork of Nim
    1 project | /r/patient_hackernews | 8 Jul 2022
    1 project | /r/hackernews | 8 Jul 2022
    1 project | /r/hypeurls | 7 Jul 2022
    6 projects | news.ycombinator.com | 7 Jul 2022
  • Nim Version 1.6.6 Released
    9 projects | news.ycombinator.com | 5 May 2022
    I started programming in Nim around 2015 and still write code in it from time to time. At this point I would have a tough time suggesting the language to anyone for much. While you can certainly accomplish almost any programming task with Nim, how much frustration you will encounter fighting the compiler and broken / under-specified language features and semantics might be a turn-off. There are other major warts with Nim, which I'll outline briefly below.

    1) Nim's leadership is awful and has always been historically. Those in charge of managing the community are more interested in their personal reputation's and resumes than they are actually contributing working software to the language's ecosystem. Even the BDFL treats Nim like their own personal compiler R&D playground. There are so many broken features in Nim which never see the light of day or never get removed.

    2) Continuing to expand on the point above, the Nim compiler has become insanely difficult to work on. As more and more half-baked features have been added to the language, the situation has only worsened. There are many would-be contributors who have come into the community only to leave completely frustrated or appalled by the lack of interest in improving the situation from those leading the community.

    3) The development path is driven by leadership and not the community, and leadership has no plan. This was extremely evident last year when Araq and others were asked for a roadmap for Nim and they admitted to not having one, and basically wrote one up in a forum thread. Araq and dom96 and a few others, especially those who have been brave enough to actually deploy Nim code in production (looking at you status.im) tend to dictate what gets worked on or fixed. There is no coordination amongst folks working on initiatives. You can look at the `fusion` project, which was started by Nim's leadership, drew contributors in, and then was abandoned by leadership while maintainers were left on the hook to keep things afloat until they too dumped the project.

    Things have gotten so bad, that a hard fork has been in development since last year, and many of the more senior community members or those who have been around for a bit have migrated there: https://github.com/nim-works/nimskull

    Nim's community now consists of mostly new members or folks who weren't really active in it before, but maybe used Nim. Of course, the leadership remains in place, but there are only a handful of folks remaining that have been around for more than a year or two. Mostly those who bit the bullet on using Nim in production or built large projects with Nim and are stuck maintaining them.

    My advice would be to look elsewhere.

  • NimSkull - A reimagining of Nim
    1 project | /r/nim | 27 Feb 2022
  • Computer Programming with Nim
    13 projects | news.ycombinator.com | 27 Feb 2022
    A lot of previous contributors to Nim are currently working on an experimental fork due to disagreements with the development of the official compiler: https://github.com/nim-works/nimskull

What are some alternatives?

When comparing Arraymancer and nimskull you can also consider the following projects:

nimtorch - PyTorch - Python + Nim

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

NimProgrammingBook - Computer Programming with the Nim Programming Language -- A gentle Introduction

nimble - Package manager for the Nim programming language.

nimpy - Nim - Python bridge

awesome-tensor-compilers - A list of awesome compiler projects and papers for tensor computation and deep learning.

matrix.to - A simple stateless privacy-protecting URL redirecting service for Matrix

nvim-treesitter - Nvim Treesitter configurations and abstraction layer

nimblas - BLAS for Nim

prologue - Powerful and flexible web framework written in Nim

RFCs - A repository for your Nim proposals.