OK, thanks for the explanation.  I understand now why my test code failed.

Rick McGuire wrote:
> The rules behind the entire MAKExxxx process is that the value
> returned must be of the type requested.  That is obj~class == .array
> in the case of makearray.  A lot of this is based on the internal
> engine taking advantage of the fact the returned object is absolutely
> of the type indicated so that the internal C++ methods can be used
> directly rather than have to go through the late-bound dynamic method
> look that would be required for a more general object.  There are
> serious performance implications to opening this up for other types of
> objects to be provided.
> 
> Rick
> 
> On Thu, Mar 11, 2010 at 2:21 PM, Gil Barmwater <[email protected]> 
> wrote:
> 
>>How is that enforced - "*must* be a real array"?  Is the diagram in
>>Appendix A that shows the "array" that is returned only "conceptual"?
>>It implies a ~items and [] method being sent to the "array". So an
>>object that implements those two methods, even if not a "real array",
>>ought to work in my mind.  And if not, how come?
>>
>>Rick McGuire wrote:
>>
>>>You're going to have to provide more information on what you're doing.
>>> The only method that's required is makeArray, which is responsible
>>>for returning a single dimension array containing the elements you
>>>wish to iterate over.  The value returned *must* be a real array
>>>implementation, not a polymorphic substitute.
>>>
>>>Rick
>>>
>>>On Thu, Mar 11, 2010 at 1:05 PM, Gil Barmwater <[email protected]> 
>>>wrote:
>>>
>>>
>>>>I've been playing with the Do ... Over ... construct, attempting to use
>>>>it on my own "collection" object.  From the descriptions in the
>>>>reference manual, it would appear that the "collection" object needs to
>>>>implement 1) a MakeArray method, 2) an Items method, and 3) a
>>>>'[]'method.  My code does that but I get message "Error 98.913:  Unable
>>>>to convert object "an ITERATOR" to a single-dimensional array value".
>>>>Is there another check on the class of the object returned by MakeArray
>>>>or have I done something else wrong?  I can post the code if needed.
>>>>--
>>>>Gil Barmwater
>>>>
>>>>------------------------------------------------------------------------------
>>>>Download Intel&#174; Parallel Studio Eval
>>>>Try the new software tools for yourself. Speed compiling, find bugs
>>>>proactively, and fine-tune applications for parallel performance.
>>>>See why Intel Parallel Studio got high marks during beta.
>>>>http://p.sf.net/sfu/intel-sw-dev
>>>>_______________________________________________
>>>>Oorexx-devel mailing list
>>>>[email protected]
>>>>https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>>
>>>
>>>
>>>------------------------------------------------------------------------------
>>>Download Intel&#174; Parallel Studio Eval
>>>Try the new software tools for yourself. Speed compiling, find bugs
>>>proactively, and fine-tune applications for parallel performance.
>>>See why Intel Parallel Studio got high marks during beta.
>>>http://p.sf.net/sfu/intel-sw-dev
>>>_______________________________________________
>>>Oorexx-devel mailing list
>>>[email protected]
>>>https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>
>>
>>--
>>Gil Barmwater
>>
>>------------------------------------------------------------------------------
>>Download Intel&#174; Parallel Studio Eval
>>Try the new software tools for yourself. Speed compiling, find bugs
>>proactively, and fine-tune applications for parallel performance.
>>See why Intel Parallel Studio got high marks during beta.
>>http://p.sf.net/sfu/intel-sw-dev
>>_______________________________________________
>>Oorexx-devel mailing list
>>[email protected]
>>https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>
> 
> 
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Oorexx-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
> 

-- 
Gil Barmwater

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to