News for hackers. Stuff that matters.
Re:Developing a Space Flight Simulator in Clojure by prerok on Saturday September 06, 2025 @04:52AM (#45147684)
Thank you for posting this.

I always looked at these features of being able to extend the language beyond some commonly accepted practices as detrimental to the language. I've spent way too much time debugging issues with operator overloading or complex templates (C++), or obscure side effects in DSLs. So, (re)defining language constructs in a project seems nightmarish to me to support in production and therefore I never even attempted anything serious in a functional programming language.

But... looks like the professional community knows this and so maybe it's time to take a deeper dive :)

Re:Developing a Space Flight Simulator in Clojure by diggan on Saturday September 06, 2025 @09:42AM (#45149203)
> So, (re)defining language constructs in a project seems nightmarish to me to support in production and therefore I never even attempted anything serious in a functional programming language.

It can be, but also not. If you isolate them into libraries with clear interfaces, you can kind of avoid that. I think clojure.core.async is an excellent showcase in something you couldn't do in other languages, where asynchronous channels were possible to add to the core language without changing anything in the core compiler itself, and because of the small interface, you can still use it without ending up with nightmares :)

Re:Developing a Space Flight Simulator in Clojure by prerok on Monday September 08, 2025 @02:52AM (#45165325)
Understood. I was more referring to a case where a project would start defining its own language constructs and if each project would do that then every single project would come with a very high cognitive load.