Examples of API

Richard L. Peskin rlpcon at vermontel.net
Wed Nov 11 18:37:52 UTC 1998


At 10:33 PM -0300 11/10/98, Alejandro F. Reimondo wrote:
>If you are using the sqAPIs... there are two examples of use.
>The JPEG & TIFF examples at sugar's site.
>please see downloads page at
>http://www.sugarWeb.com
>
>Note: the sqAPIs model to interface with C structs are compatible
> with VisualSmalltalk's model and extended to support recursive
> structures/substructures and pointers transparently.

Hi -- I looked at the above but I'm not sure if this will fill our needs.
Let me describe what we are doing and perhaps you can make some suggestions
or give me an opinion if your sqAPI's will work.

As a bit of background, I and my associates at Rutgers developed and
implemented one of the first large scientific data management systems in
Smalltalk. It was called SCENE; "Computers in Physics" July-Aug 1994 has an
overview and there were numerous other publications. SCENE was designed to
allow non-programmers to do interactive "computational steering" and
visualization of large computational data sets. SCENE was ties to ParcPlace
VisualWorks and when PPS started to compete for the "re-engineering"
business market we found that our need for portability and flexibility was
not consistent with their planned directions. We tried SmalltalkAgents but
it never got past the Mac implementation. So the SCENE project was stopped
although additional internal work went on.

With Squeak now available, we want to revive SCENE and enhance it to
include more flexible user interface, and symbolic algebra classes. (These
latter are where changes to the gc come in.) Furthermore the Morph classes
look like they can be applied to objects other than graphical ones, and
this can have significant implications for symbolic algebra.

Anyway SCENE depended heavily on a couple of available technologies:
1. User added primitives. (These can be done in Squeak as far as I can see.)
2. Enhanced garbage collector for symbolic algebra. (You have helped me
deal with this one.)
3. Interaction with external (non-Smalltalk) processes. (It is this need
that I am having trouble seeing how to accomplish in Squeak.)

3. was critical to SCENE. For example, under SCENE a user could
interactively ask for a mathematical data filter operation and SCENE would
generate the C code for the filter and then invoke the system C compiler to
generate code, and then use this code to filter the data set finally
returning the results back to SCENE for visualization. (While the
equivalent could be done entirely inside Smalltalk, the data sets were too
large for reasonable performance.) To implement this (Unix versions only)
we actually wrote AppleEvents for Unix to handle the event interchange.)

Another example might be the need to use more sophisticated 3-D graphics,
e.g. OpenGL. Here we want to pass data from Smalltalk to a 3-D graphics
program running concurrently. We also have our own symbolic libraries that
we want to access and for performance and practical reasons (use what  we
have already done) would like to access these from Squeak.

>From what I can see, the Socket classes are limited to TCP/IP services,
although the comments indicate that "someday" they might be used for IPC.
Will the your  API work be useful for our objectives? Do you know of any
other work that I might look at? What would really be nice is if Squeak
offered the same sort of inter-process communication that exists in Tk and
Python.

Sorry for the long email.
thanks,
--dick peskin


=================================
R. L. Peskin,  Rutgers Univ. ; <peskin at caip.rutgers.edu>;
<http://www.caip.rutgers.edu/~peskin>
VT Phone (802) 824-4558  NJ Phone (732) 445-4208
"The corporate culture is concerned less with Occam's razor than his
aftershave lotion."





More information about the Squeak-dev mailing list