I've been applying since I graduated and haven't gotten anything yet as a recent grad
Not Clojure but it mirrors some of my thoughts about assert (do not turn them off in production!) https://kristoff.it/blog/fix-your-asserts/?utm_source=tldrdev -- I'm more inclined to just not use assert at all and have explicit IllegalArgumentException checks in my code (esp. since, in Clojure, an arity mismatch causes the code to fail with an ArityException, not an ArityError -- and Java's docs about Throwable are very clear that Error is not intended to be caught but Exception generally is).
I also wrote some assert related stuff here https://ask.clojure.org/index.php/13666/debug-assert-separate-default-operation-expensive-assertions?show=13666#q13666
Yup, I voted for that Ask.
as for the original intent .... the speculative prediction engine didn't fancy clojure really that much π the way we write code in clojure is not good for predictive pattern matching... we get to the point too quickly where other languages still play around with syntactic sugar ...
For me, the latest models seem to have gotten pretty good at Clojure, especially if you're operating in an existing codebase they can use for context. But it does seem very dependent on tooling and whatever "context engineering" you've done to set up the project.
The visual quality of the code generated was ok. But it was the speculative prediction engine that had trouble (the one that predicts hey llm, could your next 6 tokens of output be this or that - if the prediction is correct then the llm verifies it faster than it is able calculate it, thus giving generation a speedup) ...
Just because it knew "it's pretty likely that after ); we aget a linebreak, some whitespace, and then if (this. etc.
It's an emoji, LLMs tend to put them all over the place as embellishment. As for why an owl specifically - who knows, maybe because of the association with "wise".
yes but usually the emoji matches something, like a green checkbox ticked to show that a test passed
but this owl seems completely unrelated to clojure for me
I've seen all sorts of weird emojis in LLM output. Not sure why you'd expect emojis to be related to Clojure?
As Eugene says, it's probably trying to associate knowledge/wisdom with its answer/justification here.
whilst reading the output - i still realize that if generated like this, i lose the joy of writing clojure. the computer now steals the joy.
a big reason i don't use these systems
If you restrict your use of LLM to function/macro bodies only, it's a good middle of the road.
You still create namespaces, functions, macros, and their signature, write their docs. Then just use the model to implement the body and the tests.
or focus your efforts on designing data structures, the idea of data driven design is that the code/data writes βthemselvesβ in some sense, no?