From: Jeff
Subject: Difference between : and :: in a package
Date: 
Message-ID: <cck6c4$sq6@odah37.prod.google.com>
While I can use them just fine, I don't understand the (probably
subtle) difference between the different syntax. For example:

(ct:some-function ...)

Generates an error that 'some-function' is not exported by the package
ct. However,

(ct::some-function ...)

Works just fine. In other instances, only 1 ':' is needed. I'm sure
this is a simple explanation, and would be appreciative if someone
could post it ;)

Thanks!
Jeff
From: Barry Margolin
Subject: Re: Difference between : and :: in a package
Date: 
Message-ID: <barmar-0B4221.15204008072004@comcast.dca.giganews.com>
In article <··········@odah37.prod.google.com>,
 "Jeff" <········@volition-inc.com> wrote:

> While I can use them just fine, I don't understand the (probably
> subtle) difference between the different syntax. For example:
> 
> (ct:some-function ...)
> 
> Generates an error that 'some-function' is not exported by the package
> ct. However,
> 
> (ct::some-function ...)
> 
> Works just fine. In other instances, only 1 ':' is needed. I'm sure
> this is a simple explanation, and would be appreciative if someone
> could post it ;)

: is used to access exported symbols, :: is used to access any symbol in 
a package.  Exported symbols are generally part of the package's 
documented "public" interface, while other symbols are mainly intended 
for use internally within the package.

-- 
Barry Margolin, ······@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***