2010-11-14

"Old" notes

Here are some notes I wrote to myself from earlier this year. I had been kicking a Quicklisp-like idea around for a while, but these really got me excited about how the whole thing could come together without too much work. They don't reflect the current state of things but they're not far off.
So here's how QuickLisp could work.

  - archives (tarballs) are built from version control or release
    tarballs on a given date, probably the first day of the month

  - they are uploaded to
    http://a.quicklisp.org/source/<sha1>/<system>.tgz

    -
      e.g. http://a.quicklisp.org/source/53354a603e4dfa58a62f53ac871d62315fb9cf20/vecto.tgz

    - nah, just go with a date:

      - http://a.quicklisp.org/source/2010-05/vecto.tgz

  - a dependency file shows the system dependencies:

    - vecto: cl-vectors zpng zpb-ttf

    - ...

  - an index file maps system names to URLs:

    - vecto: http://a.quicklisp.org/2010-05/vecto.tgz

    - zpng: http://a.quicklisp.org/2010-05/zpng.tgz

  - there are default index/dependency files at
    http://a.quicklisp.org/index.txt and
    http://a.quicklisp.org/dependencies.txt 

  - publishing the latest index creates two files: the default index
    files, and year-month/index.txt year-month/dependencies.txt

    - so there's a metaindex.txt that points to previous versions of
      the index files

  - you can choose previous indexes if they work well for you, or if
    there's some kind of glitch with the defaults

  - no archive file is ever deleted

  - authors can provide their own system map and dependency files, so
    if jimbob wants to hook into the infrastructure, he provides an
    index file that points to his package, a dependency file that
    explains the dependencies, and the tarball itself. If there are a
    number of dependencies that aren't part of the main quicklisp
    archive, they can all be listed.

    - some way of prioritizing conflicting information...

  - metadata for archives: origin (git, darcs, cvs, svn, etc) and date
    fetched, system files contained within, etc
Note that I hadn't decided against WackyCaps for the name yet! The official Quicklisp name now is "Quicklisp", not "QuickLisp."

1 comment: