Ok if the CLJS compiler doesn't throw an error when it sees ^:private then I 
suppose that's much better than naming stuff using underscores ___xyz___ 
although the latter has the advantage of being easy to spot (when used in a 
different namespace)

How about warning during compilation that a variable/function that has been 
declared pirate is being used from a different namespace I don't know enough 
about Clojure yet to tell if that would be a bad idea, but just trying to 
understand what our options are or how others do it.

Sent from my iPhone

> On Mar 30, 2015, at 8:51 AM, David Nolen <[email protected]> wrote:
> 
> The various means of attaching ^:private metadata has always been for 
> supporting documentation - both human & machine (i.e. autodoc) - not 
> encapsulation.
> 
> No there are no plans to actually encapsulate anything.
> 
> David
> 
>> On Mon, Mar 30, 2015 at 11:37 AM, Marc Fawzi <[email protected]> wrote:
>> right but you couldn't do it accidentally
>> 
>>> On Mon, Mar 30, 2015 at 8:34 AM, Brandon Adams <[email protected]> wrote:
>>> To be fair, xyz isn't *that* private. I.e. you can still get at the 
>>> function via a namespaced var #'xyz and execute it if you want (#'xyz). 
>>> 
>>>> On Mon, Mar 30, 2015 at 10:23 AM, Marc Fawzi <[email protected]> wrote:
>>>> Does the :private limitation below mean that defn- xyz and def ^:private 
>>>> xyz won't make xyz inaccessible from outside the namespace? Any reason 
>>>> this would be difficult to implement for cljs? just curious.
>>>> 
>>>> <<
>>>> def notes
>>>> def produces ordinary JS variables
>>>> :private metadata is not yet enforced by the compiler
>>>> :const metadata in ClojureScript disallows re-def and supports case. In 
>>>> Clojure :const allows re-def but value inlined at use site.
>>>> A def form evaluates to the value of the init form (instead of the var)
>>>> >>
>>>> 
>>>> (source) 
>>>> https://github.com/clojure/clojurescript/wiki/Differences-from-Clojure#special-forms
>>>> 
>>>> 
>>>> -- 
>>>> Note that posts from new members are moderated - please be patient with 
>>>> your first post.
>>>> --- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "ClojureScript" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at http://groups.google.com/group/clojurescript.
>>> 
>>> -- 
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> --- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "ClojureScript" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/clojurescript.
>> 
>> -- 
>> Note that posts from new members are moderated - please be patient with your 
>> first post.
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/clojurescript.
> 
> -- 
> Note that posts from new members are moderated - please be patient with your 
> first post.
> --- 
> You received this message because you are subscribed to the Google Groups 
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/clojurescript.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to