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.
I'm having a hard time with Haskell. What other functional programming languages is a few steps below it regarding accessibility (for a OO programmer)? I'm thinking about Elm...
3 projects | reddit.com/r/functionalprogramming | 29 Nov 2021
The SAFE dojo is a tutorial repo for getting started with fullstack F# apps using the F# "framework" (although it's more of an unopinionated template/collection of libraries for writing fullstack apps). I'd suggest starting with Fable/Elmish before diving into a full SAFE stack app though.
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, which is notoriously complex/difficult-to-learn, and Futhark, 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...
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?
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
HIP - HIP: C++ Heterogeneous-Compute Interface for Portability
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.