clojure
supercollider
Our great sponsors
clojure | supercollider | |
---|---|---|
97 | 64 | |
10,268 | 5,157 | |
0.5% | 1.5% | |
7.9 | 8.5 | |
2 days ago | 6 days ago | |
Java | C++ | |
- | GNU General Public License v3.0 only |
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.
clojure
-
Top Paying Programming Technologies 2024
5. Clojure - $96,381
-
A new F# compiler feature: graph-based type-checking
I have a tangential question that is related to this cool new feature.
Warning: the question I ask comes from a part of my brain that is currently melted due to heavy thinking.
Context: I write a fair amount of Clojure, and in Lisps the code itself is a tree. Just like this F# parallel graph type-checker. In Lisps, one would use Macros to perform compile-time computation to accomplish something like this, I think.
More context: Idris2 allows for first class type-driven development, where the types are passed around and used to formally specify program behavior, even down to the value of a particular definition.
Given that this F# feature enables parallel analysis, wouldn't it make sense to do all of our development in a Lisp-like Trie structure where the types are simply part of the program itself, like in Idris2?
Also related, is this similar to how HVM works with their "Interaction nets"?
https://github.com/HigherOrderCO/HVM
I'm afraid I don't even understand what the difference between code, data, and types are anymore... it used to make sense, but these new languages have dissolved those boundaries in my mind, and I am not sure how to build it back up again.
-
Ask HN: Why does the Clojure ecosystem feel like such a wasteland?
As an analogy - my face hasn't changed all that much in a past few years, and I haven't changed my profile picture in those few years. Does it really mean that I'm unmaintained/dead?
> Where can I find latest documentation [...]?
The answer is still https://clojure.org/. And https://clojuredocs.org/ but it's community-maintained so might occasionally be missing some things right after they're released. E.g. as of this moment Clojure 1.11 is still not there since the maintainer of the website has some technical issues deploying the updated version of the website.
For me personally, the best API-level documentation is the source code.
> Where can I find [...] tools / libraries in a easy to use page or section?
There's no central repository of all the available things since they can be loaded from many places (Clojars, Maven Central, other Maven repositories, S3, Git, local files).
But there are community-maintained lists, like the one you've mentioned at https://www.clojure-toolbox.com (fully manual, AFAIK) or the one at https://phronmophobic.github.io/dewey/search.html (automated but only for GitHub). Perhaps there are others but I'm not familiar with them - most of the time, I myself don't find that much value in such services as I'm usually able to find things with a regular web search engine or ask the community when I need something in particular.
-
Why Lisp Syntax Works
They are written in Java, and implement a bunch of interfaces, so the implementation looks complicated, but they are basically just classes with head and tail fields.
https://github.com/clojure/clojure/blob/master/src/jvm/cloju...
-
Best implementation of CL for learning purposes
As a Java/Scala user you should check out Clojure! It is highly recommended (https://clojure.org)
-
Why I decided to learn (and teach) Clojure
Lisp is not a programming language, but a family of languages with many dialects. The most famous dialects include Common Lisp, Clojure, Scheme and Racket. So after deciding that I was going to learn Lisp, I had to choose one of its dialects.
-
Clojure Turns 15 panel discussion video
I thought you might be trolling. But then when I looked at the Clojure repo on Github https://github.com/clojure/clojure the last commit was 2 months back. There is some merit in your arguments.
-
Advent of Clojure - looking for feedback
1 - partial is defining a new function that ignores the type hints from func, and would introduce boxing. It also can introduce a performance hit for (remaining) argument arities > 3, since it automatically invokes a varargs variant instead of providing a concrete arity. With the varargs version, in profiling you may see RestFn showing up on hot paths, which is the varargs implementation having to munge seqs every invocation instead of being able to use concrete args matching discrete arities. Depending on the frequency of invocation this may impact performance.
-
The Holy Trinity of Clojure
I love Clojure, but the Java source is oddly formatted which I never understood: https://github.com/clojure/clojure/blob/527b330045ef35b47a96...
-
Is there any currently working way to import a local Java .jar library into a Clojure project?
I'm using Leiningen to set up the project, so it seems that the guide on clojure.org does not apply. And in the Leiningen Docs I couldn't find anything...
supercollider
-
Recreating the THX Deep Note (2009)
Link to the audio programming language / server they're using in the article: https://github.com/supercollider/supercollider
-
supercollider VS midica - a user suggested alternative
2 projects | 12 Aug 2023
-
MuseScore 4.1 is now available
For the intrepid, especially those annoyed with the purported input-sluggishness of musescore et al, an interesting text-based alternative is LilyPond https://lilypond.org/
My dad wrote an opera using LilyPond in vim, though I believe these days he's actually doing more with supercollider, which skips sheetmusic and goes right to sounds: https://supercollider.github.io/
-
13 Years of History Teaching - Now Thrown Into CS.
So you’re wondering what would making music with code look like? The tools I’m familiar with are TidalCycles, Sonic Pi, and SuperCollider. I’m having a hard time describing what it’s like to make music with tools like these so here’s a video of a performance. One person is live coding the music and the other is live coding the visuals. I think it’s super cool how the music is improvised and built over time by layering commands. Some keywords you could search to see more examples would be Algorave and Livecoding.
- Ask HN: What audio/sound-related OSS projects can I contribute to?
- Interests in Generative, Electronic, Loop-Based, Computer Music?
-
Cheapest way to make music
Pure Data, cSound, and SuperCollider are all free and opensource. Incredible possibility, though the learning curb can be steep.
-
Ask HN: Alternatives to Scratch for a Blind Child?
My comment won't really be helpful, but it feels like an interesting question to spitball some thoughts...
1. The domain is super important for children's programming. Logo started out doing list processing and word-based games and kids just weren't that into it; it's the turtle that really made it feel real and exciting. Scratch similarly has a really concrete and fun domain (moving sprites). The exact things that good learning environments have (lots of visuals and movement) don't seem very fun when you are blind (though maybe there's ways to experience that output that I'm not aware of).
2. My natural intuition is that voice and music are fun. Maybe there's tactile things I am unaware of. Maybe Lego Mindstorms?
3. FoxDot is a really fun programming environment for creating live music: https://github.com/Qirky/FoxDot – it's very textual, and I'm not sure how easy that is (especially if you are trying to interact while the music is playing). It's based on Supercollider: https://supercollider.github.io/ – it's possible there's other more accessible frontends for Supercollider.
4. Here's something someone did with Supercollider: https://www.researchgate.net/figure/The-technology-set-up-a-...
5. That reminds me of Makey Makey, which is very tactile and very affordable. But it's basically just an input device. https://makeymakey.com/ – really you can't go wrong getting that and hooking it up to a sound player or having the kid find new and inventive ways to create tactile frontends to it. I'm sure other kids will be impressed with what this kid comes up with. Here's a page on using it with blind kids: https://www.perkins.org/resource/makey-makey-stem-activities...
6. It's OK if it's not "programming" IMHO. Building things with computers is fun and good learning. Giving the kid a new medium to build things is important, with or without complicated logic. I think there is a benefit to what I'll call more inclusively "coding" which is representing your goals and thoughts in some special format, like HTML or music notation or whatever.
7. Speech input and output in the browser is pretty easy and accessible. But I don't know of anything that brings all that together in a programming-like experience. Using GPT I bet there's something possible and not super complicated that could be created today that couldn't have happened a year ago.
-
Live coding languages
For sound live coding/algorave sonic pi and tidal cycles are great, both based on supercollider.
- Sonic Pi – The Live Coding Music Synth for Everyone
What are some alternatives?
Sonic Pi - Code. Music. Live.
faust - Functional programming language for signal processing and sound synthesis
Viper4Android-presets - This repository finds a collection of preset for viper4android 2.7+
racket - The Racket repository
malli - High-performance data-driven data specification library for Clojure/Script.
csound - Main repository for Csound
pure-data - Pure Data - a free real-time computer music system
glicol - Graph-oriented live coding language and music/audio DSP library written in Rust
JUCE - JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
yummyDSP - An Arduino audio DSP library for the Espressif ESP32 and probably other 32 bit machines
DaisySP - A Powerful DSP Library in C++
trufflesqueak - A Squeak/Smalltalk VM and Polyglot Programming Environment for the GraalVM.