Hi Thomas: thank you for your energy and interest in clearing up the
terminology. I find this quite valuable. There is a certain amount of
prescriptiveness that's coming through in your messages that makes it
a little more difficult than need be to answer your questions. So I
wish to pop out a level here at the top of this message to point out
that the pkg system design has had quite a lot of thought put into its
concepts and while no one disagrees that we can explain them better, I
think that perhaps we should focus on explaining and understanding
them first and then changing them second.

One place that I think help help is if you were to read the pkg system
terminology documentation. Did you find that already? It's here:
http://docs.racket-lang.org/pkg/Package_Concepts.html

Some lower-level comments are interleaved below.


On Fri, May 1, 2015 at 10:51 PM, Thomas Lynch
<[email protected]> wrote:
>
>
> On Saturday, May 2, 2015 at 10:16:23 AM UTC+8, mflatt wrote:
>>
>> At Fri, 1 May 2015 18:11:20 -0700 (PDT), Thomas Lynch wrote:
>> > Currently there is no way to directly attached arbitrary property
>> > information to a collection.
>>
>> An "info.rkt" file serves that role, where the `setup/getinfo` library
>> provides the API for querying "info.rkt" files. (The "info.rkt" format
>> is also used for package information. For single-collection packages,
>> it's the same file.)
>
>
>
> Here is the info.rkt file for /usr/share/racket/pkgs/plot/
>
> #lang info
>
> (define collection 'multi)
>
> (define deps '("plot-lib" "plot-gui-lib" "plot-doc"))
> (define implies '("plot-lib" "plot-gui-lib" "plot-doc"))
>
> (define pkg-desc "Functions (and docs and tests) for plotting")
>
> (define pkg-authors '(ntoronto))
>
>
> No mention of a version. I guess maturity will go here?  But yes, excuse me,
> no need of a separate file for properties as there already is one.  ... Sure
> looks to me like there is conflation between the terms collection and
> package.

There is a default version. What you're calling "maturity" is a
derived concept (determined by assays external to the pkg like running
its tests, checking for its docs, etc), not declared in the info.rkt
files.

>>
>> Well, maybe it's little more complicated than that. In general,
>> multiple directories can be installed and spliced together as the
>> content of a collection. Each "info.rkt" file can have information
>> that's specific to it's particular piece of a collection.
>>
>> In any case, collections don't have versions, ring levels, etc. Those
>> are properties of packages.
>>
>
> ah, so in racket I can't have versions attached to my source code
> (collection)?  gosh  So if I install via package, and install via directory,
> I'm not allowed to know if the two are the same version by checking the
> info.rkt file?  May do diffs, but then what I wanted to know, say, how far
> apart they would be in version space.

Collections are not "yours" in the sense you mean here. A pkg offers a
bunch of source code in a bunch of collections, but different
(non-conflicting) pkgs can supply code that ends up in the same
collection, thought a kind of "splicing" operation. For example, the
racket/snip library (in the racket collection) comes from a different
pkg than the racket/set library (also in the racket collection).

>
>>
>>
>> > Asked another way, when I do 'apt-get install racket',  or an analogous
>> > command, do no further installation commands (fresh out of the box),
>>
>> I think you're needlessly avoiding some terminology that we do have.
>> You mean "when I install a main distribution of Racket...".
>
>
> I purposely avoided the terminology as I find it inconsistent and conflated.
> That is probably because I'm dense and or haven't studied it enough.  So I
> phrased the question in a manner as to get an answer without having to
> interpret the terms .. sigh .. don't see an answer.
>
>
>>
>>
>> > and
>> > then use (require X) in a module,  with no quotes around the X,  then
>> > can I
>> > know for certain that X is a module that was found in a collection that
>> > comes from a ring-0 package?
>>
>> All packages in the main distribution are ring-0 packages.
>
>
> But not all ring-0 packages are in the main distribution -- so the answer to
> my question is that they are not identical.  That would mean that Robby's
> suggestion of not using the term 'main distribution X's'  is unnecessary and
> ring-0 is preferable is not possible (as the two are not identical).

This is correct, ring-0 and main distribution are not the same. The
point of my earlier messages is to say that we wish to maek ring-0 be
the more focused and more widely used concept and main distribution be
a secondary concept. This is a matter of writing and emphasis and our
desire to present a certain face of Racketyness to the world.

Also relatedly, our hope and plan is that there will be multiple
different distributions of racket that are all just as useful as each
other, but for different classes of users. This will erode the notion
of "main" in "main distribution" as well.

> ----
>
> Ok, so I've got the idea here, and that is the subject is outside my
> comprehension.  I sure don't want to send this discussion in circles because
> I'm being dense. I just hope that the chat was worthwhile.  That doesn't
> hold me back from using racket though.  It is pretty easy to install
> packages.  It is the adding them that I'm not read for.  Alas.  Thanks for
> your patience.

Thanks for yours as well. :)

Robby

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/CAL3TdOPzmEwVYdAKhm6ivZrQN45jjg_oSWg6v%3D1g7X3n1NqpQA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to