Accelerate

(github.com)

40 points | by tosh 2 hours ago

5 comments

  • cpa 28 minutes ago
    For those wondering what it's for: it's basically NumPy + a JIT compiler with standard Haskell syntax (you mostly just need to change the type signatures, not the code).

    It can vectorize, parallelize on the CPU, or offload to the GPU automatically.

    It's a very mature project, maybe 10+ years old.

  • nine_k 25 minutes ago
    If the weird syntax of APL and J bothers you, you can use the familiar Haskell syntax!

    Jokes aside, types should help a lot.

  • dcrazy 24 minutes ago
    I guess the author is unaware of Accelerate.framework, the vector library that has shipped with Mac OS since Jaguar.
    • LatencyKills 9 minutes ago
      Heh... I just spent 5 minutes looking at the repo, wondering the same thing. (I was a dev on the performance team at Apple) ;-)
    • nozzlegear 9 minutes ago
      Were the authors of Accelerate.framework unaware of the word Accelerate, which has shipped with the English language since the 1500s?

      /s

      Overlaps in naming happen, especially when we all want to choose simple and catchy words like "Accelerate."

  • ruguo 34 minutes ago
    What’s the main use case for this?
  • mgaunard 2 hours ago
    aren't there like dozens of similar things with pretty much the same name?
    • arjie 8 minutes ago
      Yes, and that’s fine. There are many notable Michael Jordans for instance. Maybe they could have taken the opportunity to call this one Haccelerate or Haskellerate or something like that but there is no reason for everything to have a distinct name. Context has sufficient namespacing.
    • whateveracct 1 hour ago
      Maybe. Nothing else in Haskell named similarly, so it's not confusing.

      also, accelerate was first published to Hackage in 2009 though so it isn't an especially new thing.

    • embedding-shape 1 hour ago
      I think we ran out of `$NameFast` and `Fast$Name`, so people are just using plain verbs as names now, ideally as similar to something existing as possible, so you can attempt to steal their SEO and similar nifty "growth hacking" stuff.