clj-commons / camel-snake-kebab

A Clojure[Script] library for word case conversions
https://clj-commons.org/camel-snake-kebab/
Eclipse Public License 1.0
475 stars 49 forks source link

Use a two-part namespace #6

Closed weavejester closed 10 years ago

weavejester commented 10 years ago

Single-part Clojure namespaces have some issues when integrating with Java, because they're compiled into classes that lack a containing package. Consider a two-part namespace instead (e.g. camel-snake-kebab.core or camel-snake-kebab.conversions).

trptcolin commented 10 years ago

:+1: this bit us when trying to use friend, because we were using camel-snake-kebab in a middleware.

qerub commented 10 years ago

@trptcolin: Thanks for reporting. Can you explain how this bit you?

I'll fix this within a few days now that I know it actually affects normal usage. I was previously under the impression that this only matters when trying to access the library straight from Java code (without using the Clojure API).

trptcolin commented 10 years ago

Oh, I mis-pattern-matched, sorry. Will open a separate issue for my thing.

weavejester commented 10 years ago

For what it's worth, I tend to avoid libraries with single-package namespaces, as I don't know all the circumstances under which they break. I don't want to find myself with a weird error when I enable AOT compilation, or something requires me to interoperate with Java.

It might be that I never run into issues, but why take the risk?

qerub commented 10 years ago

For the record: I will change the namespace if I do another backwards-incompatible change or if somebody gets hit by this issue.