Sharp Packages (was Re: APL acceptance) 
Author Message
 Sharp Packages (was Re: APL acceptance)

 As Doug indicates, packages were initially designed as mini-workspaces. The
driving force was the (mostly hidden) symbol table, which permitted functions
to be included in packages in internal form. This allows functions to be paged
into the active workspace very efficiently.

 There have been, over the years, quite a few namespace proposals including new
objects of one form or another, but as Doug indicated I have tried several
times to point out within IPSA (or whatever it's called any particular week)
that we at least have all the mechanism we need to implement namespaces already
in place in our package facility. All that needs doing is to permit the
execution stack to thread into a package symbol table. Admittedly this is not
trivial from the viewpoint of lines of assembly language code, but I maintained
(and still do) that a full implementation of namespaces is going to end up
looking an awful lot like our present packages.

 I think we've strayed quite a bit from the initial point of this thread
../Leigh
h
-----------------------------------------------------------




Sun, 06 Nov 1994 01:58:09 GMT  
 Sharp Packages (was Re: APL acceptance)

Quote:
> As Doug indicates, packages were initially designed as mini-workspaces. The
>driving force was the (mostly hidden) symbol table, which permitted functions
>to be included in packages in internal form. This allows functions to be paged
>into the active workspace very efficiently.

Well, actually, the idea of a package as a "mini-ws' was only coincidental
at the time we did the design. We were looking for a way to implement
efficient function/data paging mechanisms, and didn't want something
that looked like traditional Procrustean paging mechanisms. The cost
of function defintion (turning strings of text into the internal form
of functions as they exist in workspaces) was prohibitively high for
practical implementation of paging systems, so this mondo-bizarro thing
called packages showed up. As was too often the case in those days at
IPSA, we ignored other approaches (such as rewriting function definition
to make it LOTS faster. This is also where the (pardon me while I barf)
idea of "quad-out" came from), and invented Something New Which Solved
The Problem.

Packages turned out to be handier than we expected originally, and as
usual, applications writers used them in ways we, the designers, NEVER
conceived of: "Hey, guys! I can use the fact that package functions replace
duplicate names to perform JOIN-like operations!"

Howver, my original point was to emphasize that the idea of executing
from a package was never part of our original design. Rather, it grew
out of later work by Leigh and others who were interested in
encapsulation,etc.  The fact that the internal form of a package bears
a VERY vague resemblance to a workspace (data and functions look
similar to those in a ws) was purely a way to reduce the overhead of
defining a function from a package into the workspace.

Quote:

>in place in our package facility. All that needs doing is to permit the
>execution stack to thread into a package symbol table. Admittedly this is not

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Quote:
>trivial from the viewpoint of lines of assembly language code, but I maintained

Boy, ain't that the truth. Rewrite the syntax analyzer, storage manager,
lots of interpreter code, anything which touches the stack or symbol
table...  (NON-trivial is indeed the word).

Quote:
>(and still do) that a full implementation of namespaces is going to end up
>looking an awful lot like our present packages.

Perhaps from the external user view. Certainly not from the implementation
standpoint.


Snake Island Research Inc  (416) 368-6944   FAX: (416) 360-4694
18 Fifth Street, Ward's Island
Toronto, Ontario M5J 2B9
Canada



Sun, 06 Nov 1994 03:32:53 GMT  
 Sharp Packages (was Re: APL acceptance)
 It's usually adangerous thing to indulge in such luxuries as crossing posts
with rbe :-). I'll just remark that the jump from 'some way to get functions
into the ws efficiently' to the notion of 'mini workspaces' happened during the
course of a single bull session. The correspondance between this idea and the
(already speeded-up on our system) ')copy' logic was part of the idea even
then. The other points he makes I concede, but they're largely irrelevant since
they're language design arguments proceding from implementation concerns. (No
Bob ... don't shoot ...I give up ... :-)

../Leigh

-----------------------------------------------------------




Sun, 06 Nov 1994 07:19:04 GMT  
 Sharp Packages (was Re: APL acceptance)

Quote:
>course of a single bull session. The correspondance between this idea and the
>(already speeded-up on our system) ')copy' logic was part of the idea even
>then. The other points he makes I concede, but they're largely irrelevant since

Leigh's modesty, I presume, kept him from noting that the algorithm and
coding to make )copy run amazingly fast was his own.

Bob


Snake Island Research Inc  (416) 368-6944   FAX: (416) 360-4694
18 Fifth Street, Ward's Island
Toronto, Ontario M5J 2B9
Canada



Mon, 07 Nov 1994 01:22:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. APL FAQ - correction re Sharp APL

2. Sharp APL (Was: questions on early APL

3. Sharp APL vs IBM APL ??????

4. APL acceptance

5. acceptance of apl

6. i am steadily sharp, so I reject you

7. i am steadily sharp, so I reject you

8. Announcement: Version 4.03 of SHARP APL for UNIX

9. Sharp APL/PC reference binders

10. Product announcement - SHARP APL/UNIX 4.02

11. SHARP APL/PC {I.S.APL}

12. Sharp APL

 

 
Powered by phpBB® Forum Software