Re: A82: Re: Fw: Proposed open operating system/gui/shell (CalcOS-82,83,


[Prev][Next][Index][Thread]

Re: A82: Re: Fw: Proposed open operating system/gui/shell (CalcOS-82,83,85,86)



-----Original Message-----
From: Jeff Tyrrill <Jeff_Tyrrill@msn.com>
To: Assembly-82 Message Posting (E-mail) <assembly-82@lists.ticalc.org>;
Assembly-83 Message Posting (E-mail) <assembly-83@lists.ticalc.org>;
Assembly-85 Message Posting (E-mail) <assembly-85@lists.ticalc.org>;
Assembly-86 Message Posting (E-mail) <assembly-86@lists.ticalc.org>
Date: Saturday, 18 October, 1997 13:54
Subject: RE: A82: Re: Fw: Proposed open operating system/gui/shell
(CalcOS-82,83,85,86)


>Libraries certainly do make programs smaller, and save space, but are a
>hassle for the user. I think they should be implemented ONLY if the shell
>handles them as follows:
>* If a program is executed and not all libraries are on the calculator, a
>list would be displayed showing what libraries are necessary.

That would be relatively simple.  If a program called a library that it
didn't have, the kernel would show an error message describing the error
(a.k.a. Cannot locate library "grey" version 1.0 in prgmLIBGREY1)

>* Whenever the shell is executed, it would do a library check, and delete
>any libraries that were on the calculator but not required by any programs.
>(It would confirm that the user wanted to delete those libraries.) This
>way, the user could delete several programs, and not worry about deleting
>the libraries. The shell would take care of it.
That wouldn't be too hard.  The program could have a header that said which
libraries it needed (just like Windows programs, it is called an import
table).  The shell would then search the programs import tables and check
for unused libraries.  I probably wouldn't have this automatic however, as
it would slow loading of the shell.  Perhaps, there would be an option in
the shell to check for unused libraries (then the user, after deleting some
programs, would just use that option afterwards to remove their libraries).

>* Different versions of a library would have different variable names, so a
>user would not have to worry about overwriting newer versions of a library
>with older versions when sending a program and its libraries to the
>calculator. When the shell is run, it would check for multiple versions of
>the same library on the calculator, and delete every version of a given
>library except the newest.
That sounds like it would work.  It would make things much more complicated.

>* All libraries would have "lib" as the first three characters of their
>name, so they would all be listed together in variable menus.
Perhaps something more like [theta]-L or something, so that they would be
listed at the bottom


>Does this idea sound feasible? This method could be used for all the
>calculators. (On the 83 and 86, with no shell, a library checker program
>could be used instead, which the user would run after deleting ASM
>programs.)
Sounds great.  I would like to hear other's opinions.


Pros:
 - Makes programs smaller
 - Easier to write programs
 - All lib variables are listed together
 - Can't overwrite newer versions of libraries with older ones
 - Older versions (with downward compatible newer versions) wouldn't stay in
memory
 - All library variables are listed together

Cons:
 - Size of programs increased (because of import table)
 - Shell size increased
 - User may forget to run the version checker after installing and
uninstalling programs
 - Makes the shell more complicated
 - Many libraries doing the same thing (but uncompatible) may show up and
defeat the purpose


Riley McArdle
rileym@geocities.com
http://griffn.base.org/


Warning
Could not process part with given Content-Type: text/x-vcard; name="Riley McArdle (Public).vcf"