[comp.sw.components] Assignment in Ada, etc.

billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) (09/27/89)

From ted@nmsu.edu (Ted Dunning):
> one of the problems is that an in parameter is still a reference which
> must be accounted for.  since there is no mechanism to handle
> initialization distinct from assignment, it is difficult to write a
> robust reference counting collection mechanism.

    OK, I agree.  Nobody ever does this anyway, and I can't imagine
    why anyone would want to. 

>       Actually, preprocessors do exist; I believe the Classic Ada product
>       (which provides inheritance and dynamic binding to the Ada O-O types)
>       works via preprocessing.  However, they must be kept separate from
>       any validated compiler system.
> 
> and thus will never be standardized or recognized by the ada community
> at large?  

    There is a systematic revision process for the Ada language.

    I will be happy to send an Ada 9X revision request form to
    Mr. Dunning or anyone else who requests it.

> hmmmm..... seems to me that mister wolfe hasn't done much lisp
> programming if he thinks that lisp has no concept of data typing.
> perhaps he should read CLtL a bit.  particularly chapter 2 (data
> types), chapter 4 (type specifiers), section 6.2 (data type
> predicates), chapter 9 (declarations), as well as chapters 12, 13, 14,
> 15, 16, 17, 18 and 19 which describe the builtin data types and type
> extension methods available to the common lisp programmer.

    OK, I'm not up on the very latest versions of Lisp (of which I
    hear that there are many).  How about multitasking capabilities?


    Bill Wolfe, wtwolfe@hubcap.clemson.edu

ted@nmsu.edu (Ted Dunning) (09/28/89)

In article <6592@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) writes:


   From ted@nmsu.edu (Ted Dunning):
   > one of the problems is that an in parameter is still a reference which
   > must be accounted for.  since there is no mechanism to handle
   > initialization distinct from assignment, it is difficult to write a
   > robust reference counting collection mechanism.

       OK, I agree.  Nobody ever does this anyway, and I can't imagine
       why anyone would want to. 

it is done commonly and easily in c++.

   > hmmmm..... seems to me that mister wolfe hasn't done much lisp
   > programming if he thinks that lisp has no concept of data typing.
   > perhaps he should read CLtL a bit.  particularly chapter 2 (data
   > types), chapter 4 (type specifiers), section 6.2 (data type
   > predicates), chapter 9 (declarations), as well as chapters 12, 13, 14,
   > 15, 16, 17, 18 and 19 which describe the builtin data types and type
   > extension methods available to the common lisp programmer.

       OK, I'm not up on the very latest versions of Lisp (of which I
       hear that there are many).  How about multitasking capabilities?


trivial and lucid in lisps that support continuations and/or engines.

try scheme, allegro common lisp, symbolics common lisp, or xerox's
interlisp offerings.  if you want to play, grab a copy of one of the
pd interepreters from the net.
--
ted@nmsu.edu
			remember, when extensions and subsets are outlawed,
			only outlaws will have extensions or subsets

gateley@m2.csc.ti.com (John Gateley) (10/05/89)

In article <TED.89Sep27133034@aigyptos.nmsu.edu> ted@nmsu.edu (Ted Dunning) writes:
>
>In article <6592@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) writes:
>       OK, I'm not up on the very latest versions of Lisp (of which I
>       hear that there are many).  How about multitasking capabilities?
>trivial and lucid in lisps that support continuations and/or engines.
>try scheme, allegro common lisp, symbolics common lisp, or xerox's
>interlisp offerings.  if you want to play, grab a copy of one of the
>pd interepreters from the net.

Continuations do not really support multitasking: they merely (:^)
represent the flow of control within a single task. However, 
there are several Lisp's which do support multi-tasking: Bertram Hallam's
multi-lisp, QLisp by Gabriel and ?, and others I'm sure. (please forgive
inaccuracies in the refs, I am not up to date on the topic). On a more
practical level, there are the stack group's of the explorer (probably
first done by symbolics).

John
gateley@m2.csc.ti.com

ted@nmsu.edu (Ted Dunning) (10/06/89)

In article <93301@ti-csl.csc.ti.com> gateley@m2.csc.ti.com (John Gateley) writes:

   In article <TED.89Sep27133034@aigyptos.nmsu.edu> ted@nmsu.edu (Ted Dunning) writes:

   >trivial and lucid in lisps that support continuations and/or engines.
							         ^^^^^^^

   Continuations do not really support multitasking: they merely (:^)
   represent the flow of control within a single task. However, 
   there are several Lisp's which do support multi-tasking: Bertram Hallam's
   multi-lisp, QLisp by Gabriel and ?, and others I'm sure. (please forgive
   inaccuracies in the refs, I am not up to date on the topic). On a more
   practical level, there are the stack group's of the explorer (probably
   first done by symbolics).



sorry for the and/or.  engines are definitely designed with
multi-tasking support in mind.

as for continuations, it was my impression (untested) that it would
not be hard to implement coroutines with first-class continuations.
anyone care to demonstrate the matter either way?

--
ted@nmsu.edu
			remember, when extensions and subsets are outlawed,
			only outlaws will have extensions or subsets