Re: cffi hell



In article <87ps2tir6b.fsf@xxxxxxxxxxxxxxxxxx>,
Richard M Kreuter <kreuter@xxxxxxxxx> wrote:

Rainer Joswig <joswig@xxxxxxx> writes:
In article <87644mjm71.fsf@xxxxxxxxxxxxxxxxxx>,
Richard M Kreuter <kreuter@xxxxxxxxx> wrote:

I wonder what people did to support multiple versions of a system
on the LispM. Were packages versioned there?

Systems and files are versioned.

The file system stores multiple versions of a file.

About versions systems you can read here:
http://common-lisp.net/project/bknr/static/lmman/patch.xml
You might need a browser similar to Firefox to read
that page.

Wow, this is an astounding facility, though it looks quite different
from what we have to work with today. IIUC, versioning was applied to
sets of fasls, not to source code snapshots.

No, it was applied to all files that make up a system.
Source files, FASL file, documentation files,
font files, whatever.

The patch facility also provided 'delta' files.
So, when one loads software, the major version
is loaded and then the patches piece by piece.
If you edit this version, then you edit the
corresponding source files (the file system
stores multiple versions of files).

How did people refer to
versions of collections of sources? And did this facility help with
cases where system A depended on system B, and a new version of system
B exposed a not-backward-compatible API?

IIRC it did, but I'm not sure if it was this version of the
system facility or a later. I would have to look if you
could add those requirements to the defsystem here.


There was also some complicated trickery, when
you wanted to work with a piece of software
that is already loaded in some version and you
want to load the software also in another versions.

I think the functionality of the complicated trickery what the OP was
wondering about. In particular, how could two versions of a system
reside in one image? Did they frob the package names, or similar?
And what about dependent systems and packages created by dependent
systems? Or did people not want to do this as much then as now?

The Lisp Machine had features in the package system for that.
One such feature are hierarchical packages.
I have never used it that way, such that I tried to
work with two different versions of a system. So I can't
say how much effort it was and whether it really helped.


--
RmK

--
http://lispm.dyndns.org
.



Relevant Pages

  • Re: cffi hell
    ... IIUC, versioning was applied to ... not to source code snapshots. ... And what about dependent systems and packages created by dependent ...
    (comp.lang.lisp)
  • Re: D6 and Spray Web Services Toolkit
    ... Versioning the packages with STS would also allow you to find any ... I make heavy use of my own todo symbol and having a virtual method ...
    (comp.lang.smalltalk.dolphin)
  • Re: Package calling another package
    ... > It sounds as though you are having problems with versioning of the ... > Saving the packages in SQL Server means you can back up the packages as ... > Allan Mitchell MCSE,MCDBA, (Microsoft SQL Server MVP) ... > I support PASS - the definitive, global community ...
    (microsoft.public.sqlserver.dts)
  • Re: CFO: Why ./configure?
    ... Could you imagine a second way to build packages, ... related source files, for every program or library to build. ... The availability of libraries ...
    (comp.os.linux.development.apps)
  • Re: Force explicit unit building
    ... Making them all packages works up to a point; ... you no longer recompile units that don't need recompiling because the only units the compile has the source for are the units that are actually specific to your project. ... the compiler never found source files for things that weren't part of the project I was working on at the time. ...
    (alt.comp.lang.borland-delphi)