SAFE-Dojo VS futhark

Compare SAFE-Dojo vs futhark and see what are their differences.

SAFE-Dojo

An introductory dojo to learn how to develop full stack web applications in F# (by CompositionalIT)

futhark

:boom::computer::boom: A data-parallel functional programming language (by diku-dk)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Clean code begins in your IDE with SonarLint
  • SaaSHub - Software Alternatives and Reviews
SAFE-Dojo futhark
1 25
347 1,828
0.9% 0.9%
4.1 9.3
23 days ago 5 days ago
F# Haskell
- ISC License
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.

SAFE-Dojo

Posts with mentions or reviews of SAFE-Dojo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-29.

futhark

Posts with mentions or reviews of futhark. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-16.
  • 1000x speedup on interactive Mandelbrot zooms: from C, to inline SSE assembly, to OpenMP for multiple cores, to CUDA, to pixel-reuse from previous frames, to inline AVX assembly...
    9 projects | reddit.com/r/programming | 16 Jul 2022
    Really cool work. Would be interested on your take on Futhark.
  • The Futhark Programming Language – functional data-parallel array programming
    1 project | news.ycombinator.com | 22 Jun 2022
  • Ante: A low-level functional language
    4 projects | news.ycombinator.com | 17 Jun 2022
    This looks really lovely, I look forward to following the maturation of Ante in the future. I've often thought that the niche of a general purpose low-level FP language was a promising space. The only other langs that fit in there are ATS[1], which is notoriously complex/difficult-to-learn, and Futhark[2], which is more GPGPU/scientific-computing specific.

    We've got Rust, which is essentially a C-style lang that steals all kinds of goodies from the ML family; it's nice to see Ante as a kind of inverse to this: i.e. an ML style lang that borrows some of the nice bits from traditional imperative langs (and hopefully maintains their performance characteristics).

    Looking through the language tour there already seem to be a plethora of very sensible/ergonomic design decisions here. The 'loop' and 'recur' keywords are a great feature, making a nice little functional nod towards while loops. As a long-time Haskell user the explicit currying initially turned me off, but after seeing a couple examples I can see how it's actually a very reasonable solution, and moreover the ability to curry out of order is really nice instead of having to use 'flip' or similar combinators (as a side note, the explicit currying reminds me a bit of APL's α and ω arguments in dfns, a feature I'd love to see pop up more). The paired tuples also seem like they'd be a pleasure to use; certainly a bit more flexible than tuples in other ML style langs. Making '.' the pipeline operator is also a smart bit of syntax, and I can see it being very accessible to OO programmers in that it looks (and acts) like the method chaining they're familiar with. Refinement Types seem like a good alternative to full on dependent typing (ATS has an analogous (and more general) proof system for ensuring things like array indices are valid (an essential feature in a low level FP lang), but it involves threading those proofs through your program which seems much more clunky than what's presented here).

    Overall I'm really excited to see where Ante goes, it seems like a very pragmatic functional language, something the world definitely needs more of...

    [1]: http://www.ats-lang.org/Home.html

    [2]: https://futhark-lang.org/

  • Futhark - Merge AD (autodiff) support into master (#1641) · diku-dk/[email protected]
    1 project | reddit.com/r/contextfree | 4 May 2022
  • State of GPGPU in 2022
    12 projects | reddit.com/r/rust | 27 Apr 2022
    Albeit on a rather small-scale case, I have ben pretty happy interfacing Rust with Futhark kernels through the C ABI. I don't know how far you can go with that, but it worked nicely for me.
  • Zig self hosted compiler is now capable of building itself
    17 projects | news.ycombinator.com | 16 Apr 2022
  • Looking for Feedback on Array-Traversal Construct
    2 projects | reddit.com/r/haskell | 9 Feb 2022
    It also might be worth looking at combinator based array languages like Accelerate and Futhark. Those probably have a more complete set of combinators.
  • Does a language like this exist?
    3 projects | reddit.com/r/ProgrammingLanguages | 8 Feb 2022
    The array-handling characteristics of APL (or more recently BQN) can be ergonomically emulated in libraries, (usually with greater readability.) The higher-order functional programming characteristics of APL-languages are present in most modern high-performance languages, e.g. Rust, C++. Also things like Futhark exists.
  • Provably Space-Efficient Parallel Functional Programming
    2 projects | news.ycombinator.com | 14 Jan 2022
    A combination of both. This work targets multicore, but execution on the GPU is definitely possible. It's just a different line of research. I'd highly recommend taking a look at Futhark (https://futhark-lang.org/), which has a similar programming model (purely functional and parallel), but targets GPU. The compilation strategy is quite a bit different!
  • What is your favorite programming language that isn't Haskell?
    4 projects | reddit.com/r/haskell | 22 Dec 2021
    Apart from this one, I must say Erlang. I think that Erlang is the best language that I never actually use. It is extremely well adapted for its domain; it's just a domain that I don't work in. This is not because Erlang is some particularly flawless jewel - the language itself has tons of warts - but it supports a wonderful style for writing large concurrent systems. Probably Elixir is actually better, as it's a newer language built on the same VM and ideas, but I have never tried it.

What are some alternatives?

When comparing SAFE-Dojo and futhark you can also consider the following projects:

arrayfire-rust - Rust wrapper for ArrayFire

dex-lang - Research language for array processing in the Haskell/ML family

haskell-to-elm - Generate Elm types, encoders, and decoders from Haskell types

arrayfire-python - Python bindings for ArrayFire: A general purpose GPU library.

kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.

hasktorch - Tensors and neural networks in Haskell

BQN - An APL-like programming language. Self-hosted!

Halide - a language for fast, portable data-parallel computation

UwUpp - The next generation esoteric language

langs

HIP - HIP: C++ Heterogeneous-Compute Interface for Portability

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.