Mariano Guerra 2024-05-13 15:55:39 The Alternative Implementation Problem
What I’ve concluded, based on experience, is that positioning your project as an alternative implementation of something is a losing proposition. It doesn’t matter how smart you are. It doesn’t matter how hard you work. The problem is, when you build an alternative implementation, you’ve made yourself subject to the whims of the canonical implementation. They have control over the direction of the project, and all you can do is try to keep up.
Mariano Guerra 2024-05-13 15:57:09 Inside the Cult of the Haskell Programmer
That Haskell never gained widespread adoption exemplifies a paradoxical truth in software engineering: Great programming languages aren’t always great for programming.
Don Abrams 2024-05-13 17:27:44 don't tell anybody I prototype ideas in haskell to make sure they work before coding them up in whatever other language my coworkers are using
Mariano Guerra 2024-05-13 17:47:24 Miranda and QuickCheck share the same problem, right time, right thing, wrong license and unwillingness to change it
(as everything I say, prefix with "from my understanding")
Jacob Zimmerman 2024-05-13 19:32:40 Idk if it’s really true, but I really like the sentiment at the end that Haskell is more about craft & art than product & function.
Alex McLean 2024-05-14 10:13:19 Strange article, not least because Haskell does have widespread adoption in some areas like finance and algorithmic music.
Alex McLean 2024-05-14 10:16:57 @Don Abrams me too! lately I've found prototyping in javascript, then firming up ideas in haskell, then porting back to javascript or whatever works really well, plus you benefit from the third system effect
Alex McLean 2024-05-14 10:19:30 The conclusion is also strange - it's true that Haskell has influenced other languages, but that was always the explicit stated aim of SPJ etc.. Rather than an unexpected result of a 'useless' exercise
Joe Nash 2024-05-14 13:31:50 It’s also such odd timing for this article. I could see an article like this 5-6 years ago maybe
Ivan Reese 2024-05-14 04:07:20 Brief meta note — breaking with the theme of the channel, but that's moderator's privilege :)
I want to highlight that the above links by Mariano have particularly nice formatting.
- Link title doubles as the URL, which is nice for archiving and (IIRC) for folks using assistive tech.
- There's a clearly demarcated quote, which is nice because it gives you an appetizing taste of the article.
- If Mariano wanted to add some commentary or his own brief summary, he could do that separately from the quote and it'd be easy to scan.
- No need for Slack's "rich" previews (which are about as modest and meaningful as roadside billboard advertisements)
Dany 2024-05-14 14:49:58 New Graphical Programming Language for Audio
Audio software development is rapidly moving towards incorporating machine learning-based processing. While research scientists are continuously presenting us with inventive results in the field of AI, there is a lack of software engineering tools to utilize these results.
Duncan Cragg 2024-05-14 20:59:32 How long can you all keep this up before this great new formatting trend gets broken?
Oh ... sorry
Mariano Guerra 2024-05-17 10:07:48
Bend: a parallel language
With
> Bend
> you can write parallel code for multi-core CPUs/GPUs without being a C/CUDA expert with 10 years of experience. It feels just like Python!
No need to deal with the complexity of concurrent programming: locks, mutexes, atomics...
> any
> work that can be done in parallel
> will
> be done in parallel.
Twitter announcement (includes a short video demo)
After almost 10 years of hard work, tireless research, and a dive deep into the kernels of computer science, I finally realized a dream: running a high-level language on GPUs. And I'm giving it to the world! Bend compiles modern programming features, including:
Lambdas with full closure support
Unrestricted recursion and loops
Fast object allocations of all kinds
Folds, ADTs, continuations and much more
To HVM2, a new runtime capable of spreading that workload across 1000's of cores, in a thread-safe, low-overhead fashion. As a result, we finally have a true high-level language that runs natively on GPUs!
Nicolay Gerold 2024-05-17 10:28:43 I am really curious how they want to integrate it with the rest of the AI stack.
Jacob Zimmerman 2024-05-17 16:11:10 In my experience with CUDA, you really have to be paying attention to hardware details like thread block size, banked memory layout and access patterns. I’m not sure if what I learned is still up to date, but don’t cache misses cause sequential processing?
I really like the idea behind their system, I’d love to learn more about their GPU runtime in particular though. In my experience I was very grateful for C & CUDA, do others agree? Though at times I felt that even they were too high level.
EDIT: This comment feels a bit pessimistic, it’s very cool, and I’m sure a large group could benefit from this.