Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The reason we use a different extension is because a build.boot file is not semantically a Clojure file.

Clojure's default namespace is 'user'; .boot files run in 'boot.user'. Clojure only automatically refers clojure.core; we refer clojure.core and also boot.core.

So, dependencies notwithstanding, Clojure wouldn't be able to make sense of a build.boot file, and we think the .clj extension would be disingenuous.

We differ in these ways from .clj because one of our goals was to make it easy to create Clojure applications as single scripts.

The downside is users must configure their editors to get syntax highlighting, but we think this is the lesser evil.




The problems you mention seem generic issues others face when using clojure in similar ways. So may be we can convince clojure core developers to add hooks that provide these features without having to introduce new fileextensions each time somebody needs to refer an extra namespace by default.

Just a suggestion. But the current solution seems reasonable until then.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: