>From Aaron:

-------- Forwarded Message --------
From: Aaron W. Hsu <[email protected]>
To: Eduardo Cavazos
<[email protected]>
Subject: Re: Publishing library information
Date: Sat, 16 Jan 2010 00:30:53 -0500

Hey Ed,

I just thought I would let you know that I am already working on something
like this. You can already see the core technology in Descot, of which I
am attaching a paper. It provides all the technological underpinnings for
library sharing and distribution, at the heart of which is a Meta language
that allows this sort of information to be specified in a variety of
formats. I am in the process of providing a simple packaging format for
the exact use that you mention, which will be essentially compatible with
the R6RS library form. Additionally, you'll get the benefits of all the
other things related to Descot, including one shot repository
distribution, searching, and mirroring, as well as an open interface for
integration of a variety of third-party tools.

I am not subscribed to the Ikarus mailing list, but I follow it on
occassion, and I have been having trouble posting to it, so if you would
like, you can forward this on. I hope to have time to finish this in the
coming weeks, but you are welcome to take on some stuff like this if you
would like. I can send you more details about the overal structure of
Descot, as I am making some major changes to clean it up and make it more
user friendly.

Descot is also independent of the distribution mechanism of the libraries,
and can support everything from simple FTP distribution all the way up to
version control. You host the library files wherever you want, and then
put the meta data and descot library files onto a repository server, and
client tools can then grab this stuff. I'm trying to get this all done
soon, so that people like you can take advantage of it, but I must admit
that I'm somewhat slow. :-)

I have attached the paper (Scheme Workshop '09) that discusses this, and
you can find some out-dated information on the Descot web site:
http://descot.sacrideo.us.

        Aaron W. Hsu


On Fri, 15 Jan 2010 21:36:48 -0500, Eduardo Cavazos
<[email protected]> wrote:

> Hello,
>
> I put together a quick and dirty list of libraries in my '~/scheme'
> directory (with the help of Emacs, org-mode, and some macros):
>
>     http://proteus.freeshell.org/r6rs-public-libraries.html
>
> Finding the 'sls' files is easy:
>
>     $ find ~/scheme -name '*.sls
>
> And extracting the library name is also easy:
>
> ----------------------------------------------------------------------
> (import (rnrs))
>
> (let ((file-name (list-ref (command-line) 1)))
>
>   (let ((port (open-input-file file-name)))
>
>     (let ((library-form (read port)))
>
>       (close-input-port port)
>
>       (display (list-ref library-form 1))
>
>       (newline))))
> ----------------------------------------------------------------------
>
> But information like author, a one line summary, a detailed description,
> etc. are not stored in a standard way.
>
> Here's one method I experimented with... A library form has the
> structure:
>
>     (library NAME EXPORT-FORM IMPORT-FORM ...)
>
> After the IMPORT-FORM I have an alist:
>
>     '((author . "Billy Meier")
>       (summary . "Pleiadean communications protocol")
>       (description . "... long description goes here")
>       (license . ...)
>       (project-page . ...)
>       (repository . "git://..."))
>
> If we included such information in our libraries, it would be
> straighforward to have a generated list of the communities libraries.
> Also, it would be of use for library browsing utilities intended for use
> on the local workstation.
>
> A quoted alist after IMPORT-FORM is harmless. Maybe someday if something
> like this becomes a "best practice", the real library form could support
> subforms like (author ...), (summary ...), etc.
>
> Some folks will prefer to keep such meta-data in an associated file
> (e.g. orgone.sls and orgone.meta). This shouldn't be a problem; scripts
> which read the metadata can check for the info in the library form first
> and fall back to other places.
>
> Anyways, I'm bringing this up because, it would be nice publish a list
> of the libraries created by the R6RS community.
>
> There are various views into the R6RS community's libraries. One list
> could be the "library collections". For example:
>
>     http://proteus.freeshell.org/r6rs-library-collections.html
>
> I.e. items which correspond to the "top level" of various library
> collections. There isn't really an analogue on the Scheme side of things
> for such a collection so for these, some sort of meta-data file
> describing the collection would be needed. I think Rotty has thought
> about this area a bit. :-)
>
> Finally, a user might ask to see a list of all libraries, or just
> libraries which are "public"; i.e. those which have a published API
> which is intended for use by others, as opposed to "private" libraries
> that support the package itself.
>
> As far as publishing a list on the net goes, a server could periodically
> 'git pull / bzr update / ...' the library repositories it knows about,
> and generate a nice page from the extracted meta data. If someone wants
> their libraries on the list, just submit your repository address...
>
> Just throwin ideas out there. :-)
>
> Ed
>
>


-- 
A professor is one who talks in someone else's sleep.


Reply via email to