Today I was able to create (untested) Windows versions (32/64bit, with and 
without debug infos) of
ooRexx from the current trunk. Here is the Dropbox-link:
<https://www.dropbox.com/sh/lsu8inlo2o99j96/AABHGsFLe9E0OVwjehRINwdZa?dl=0>.

The trunk version does not include address with or variable references. For 
that Windows 64-bit
debug versions can be fetched from my Dropbox from:
<https://www.dropbox.com/sh/olh1mqfwb4brp7r/AABI1X-Le9zDCJ0gyfvMdKB8a?dl=0>.

All of these ooRexx installation packages will be available at least over the 
weekend.

---rony


On 11.07.2018 17:18, Rony G. Flatscher wrote:
> In the meantime I updated Rick's sandbox 64-bit-Windows ooRexx debug versions 
> for the "variable
> references" and "address with" (added three simple Rexx examples there as 
> well).
>
> The URL remained the same (see at the bottom).
>
> ---rony
>
>
> On 11.07.2018 13:27, Rony G. Flatscher wrote:
>> On 09.07.2018 23:24, Rick McGuire wrote:
>>> Jon, 
>>>
>>> A variable reference is something that works the way people keep thinking 
>>> use arg works. There are
>>> basically three pieces to this:
>>>
>>> 1. A variable reference class that can hold a reference to a variable. 
>>> Using a variable reference
>>> instance, a variable value can be retrieved or set. 
>>> 2. A new operator (well, two actually) that creates an instance of a 
>>> variable reference object
>>> from the current execution context. 
>>> 3. An extension to USE ARG that allows an argument to be specified as a 
>>> required variable
>>> reference. This type of argument creates a variable alias in the caller. 
>>>
>>> Most of this is invisible to the caller, but, for example, suppose you want 
>>> to have a call where
>>> you have an error code that is returned and you also wish to pass other 
>>> information back if the
>>> call was successful. There are many awkward solutions that people have used 
>>> for this, but with the
>>> variable references you can do this. 
>>>
>>> if myFunc(>info) == 0 then 
>>>
>>> The > prefix operator creates a reference to the variable info that is 
>>> passed to the caller. On
>>> the call target side, you would have 
>>>
>>> use arg >returnInfo
>>>
>>> ...
>>>  returnInfo = result 
>>> return 0
>>>
>>> Assigning something to returnInfo actually assigns the value to the 
>>> variable info back in the
>>> caller.  Because the thing that gets passed around is an object instance, 
>>> this call-by-reference
>>> type will also work from native code. 
>>>
>>> This is not in trunk yet, only in the sandbox branch sandbox\rick\reference
>>>
>>> You would need to build this yourself or I believe Rony had a build in his 
>>> dropbox someplace.
>> Yes, they still are there (I have a subdirectory with Rick's two sandbox 
>> versions, one "address
>> with" and one "reference", here is the URL:
>> <https://www.dropbox.com/sh/olh1mqfwb4brp7r/AABI1X-Le9zDCJ0gyfvMdKB8a?dl=0>.
>>
>> Please note that there are a few little Rexx programs that experiment, 
>> "play" with the feature.
>>
>> Also, please note the dates of the productions (64-bit Windows versions 
>> only), i.e. the version that
>> includes the variable reference feature was built on May 7th. Will try to 
>> find a time slot to update
>> the reference sandbox version as I saw that new commits have been applied to 
>> it in the past days.
>>
>> ---rony
>>
>>
>>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to