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

Some questions about Macintosh CLOS

Hi there,
I am wonderring if anybody can answer these questions.

        Macintosh Common Lisp (CLOS V2.0) Questionnaire
               by Saeid Tehrani (313-696-4075)

       CLOS Interface to an Object Database

What is the current status of the CLOS interface to an Object Management
System such as Itasca?

       Data Passing

In what format can data be passed to a C based program? Do you pass data
to C program via ASCII format or can you pass data structures? Do you pass pointers or handles as well? What ramifications does this have on locking memory blocks for the Apple memory manager?

Please detail an example (including the exact method or procedures) for
passing data to C based programs. Include all steps and code involved. The example should entail passing object (instances) to the C based program.

       C Compilers

Exactly what C compiler do you support? What is the exact process you go
thru for embedding a C routine into Macintosh CLOS?

How is C object code read into CLOS? Please, explain the entire
process(es). Is it thru 'Load Foreign file'? Can this be performed at any

        Librarian Tools

What tools do you have for performing version control, module management
etc.? These tools should support cascaded re-compilation and/or cascaded
linkage relative to updated modules. Like 'MAKE' in UNIX or Module
Management System in VMS.

       Memory Management

When CLOS calls a C based program, what are  the ramifications when the
C program allocates and releases the memory? In what fashion can the
C program get control of the CLOS memory management mechanism
(if any at all)?

	Does Macintosh Common Lisp use the Mac memory manager as a part
of the underlying mechanism for garbage collection?  What problems do you
have with heap fragmentation?

      Garbage Collection (GC)

How is garbage collection performed in Macintosh Common Lisp version
2.0? Once the Garbage collection has initiated, can it be interrupted
(via key strokes by the user,  for instance)? Is the GC taking place in the
background? Is GC threshold based? Can the programmer/user activate GC
at any time (before reaching the threshold)?

Does GC require 'scrap' memory -- a copy of the working memory
(i.e., the total of twice as much memory)?

How long does GC take for a particular scenario? Please describe the
environment in detail under which the scenario is. For example:

*JMegabytes of garbage cells.
* Speed of the machine (Macintosh) in MIPS and megahertz.
* Swap space available (if pertinent)
*JAny other consideration.


How will you envision the Communications ToolBox support and use in the
ToolBox interface of System 7.0 release? How can Macintosh LISP/CLOS
support inter-application communication over TCP/IP?

       Interprocess Communications

 From C (as the master controlling program), Could I initialize LISP/CLOS,
and then go back to C?

If you cannot call Lisp subroutinesJvia C programs, then do you have to
accomplish this via interprocess communication? How is this
accomplished? Can you perform int
erprocess communication directly in
Lisp without going through a C subroutine?

     System 7.0 Support

What are the plans for supporting system 7.0? What would be the
differences (maybe new options)  of CLOS for the two versions of the

Will you support CLOS under A/UX (Macintosh Unix)?