On Sun, Mar 8, 2020 at 5:52 PM Jon Wolfers <sahana...@gmail.com> wrote:

> Hi,
>
> I'm sorry to have caused this difficulty.  Rick - thanks for doing the
> compatibility work.  If I understand correctly, the 'feature level' is not
> a number held somewhere.  Just that if you use features introduced after
> the rexxc program was created they won't be handled.
>
No, that's not what I was saying. When you run rexxc against a program, the
translator keeps track of the minimum language level needed to run it. That
compiled program will run with any interpreter that supports that minimum
language level. So if you are using a 5.1 level of interpreter for your
development, you can still compile your programs and ship them to users who
are still on the 5.0 level as long are you are not using any language
features introduced in 5.1.

Rick



>
> Perhaps it is best to go back to Rony's serial approach and say that
> compiled modules may need to be compiled when used with a different
> language level interpreter or bitness.
>
> Jon
>
> On Sun, 8 Mar 2020 at 20:51, Chip Davis <c...@aresti.com> wrote:
>
>> OK, I understand that the limiting factor is the language *feature**
>> level* employed by the program, not the *language level* of the
>> interpreter.  Unfortunately, many (most?) programmers are probably not
>> going to be aware of that level of granularity.  That leaves us with the
>> more accurate but somewhat unhelpful ...
>>
>> "Binary programs produced by 'rexxc' can be run only on a Rexx
>> interpreter of the same architecture (32/64-bit) that supports the highest
>> feature level used in the program."
>>
>> ... because most of us won't have any idea what that "highest feature
>> level" is.  Are feature levels documented in the Reference?  Is there a
>> flag to tell the interpreter to display the highest feature level being
>> employed in the program?
>>
>> -Chip-
>>
>> On 3/8/2020 3:44 PM, Rick McGuire wrote:
>>
>> Except for the fact it is not at all correct. The ability for a program
>> to run does not depend at all on the interpreter it is compiled with, but
>> just by the language features used by the program. For example, assuming
>> there is a new 5.1 release available, a program that will run on 5.0
>> recompiled with the 5.1 interpreter will run just fine on either 5.0 or
>> 5.1. However, if it is updated to take advantage of a new language feature
>> that has been introduced by version 5.1, then the compiled image will be
>> marked as requiring a 5.1 level of the interpreter.
>>
>> Rick
>>
>> On Sun, Mar 8, 2020 at 3:31 PM Rony G. Flatscher <rony.flatsc...@wu.ac.at>
>> wrote:
>>
>>> On 08.03.2020 19:55, Chip Davis wrote:
>>>
>>> Well, as a grammar-nerd I must point out the misplaced "only" and to
>>> being confused by the last clause.
>>>
>>> My re-cast would be:
>>>
>>> "Binary files produced by rexxc can be run only on an interpreter of the
>>> same bitness and the same (or higher) language level as that of the rexxc
>>> that created them."
>>>
>>> Grammatically it is cleaner; I'm just not sure why the phrase "the
>>> interpreter that compiling copy of rexxc was supplied with" is necessary.
>>>
>>> Your version simplifies it even more and thereby making it clearer it
>>> seems! Not being a native English speaker I leave it for others to judge
>>> whether the phrase "the interpreter ..." should remain or not. The rexxpg
>>> book now reflects Chip's suggestion without the phrase.
>>>
>>> ---rony
>>>
>>>
>>>
>>> On 3/8/2020 1:13 PM, Rony G. Flatscher wrote:
>>>
>>> How about formulating Jon's suggestion then as follows:
>>>
>>> Binary files produced by a version of rexxc can only be run on an
>>> interpreter of the same or higher language level and the same bitness as
>>> the interpreter that compiling copy of rexxc was supplied with.
>>>
>>> Would that be understandable and correct?
>>>
>>> ---rony
>>>
>>>
>>> On 08.03.2020 17:58, Rick McGuire wrote:
>>>
>>>
>>>
>>> On Sun, Mar 8, 2020 at 12:50 PM Jon Wolfers <sahana...@gmail.com> wrote:
>>>
>>>> Hi Rony,
>>>>
>>>> The created binary file is dependent on the Rexx language level and the
>>>>> bitness (32 or 64 bit) of the Rexx interpreter used for creating the 
>>>>> binary
>>>>> file. Each time the Rexx language level gets increased by a new release of
>>>>> Rexx or each time you switch the bitness of the Rexx interpreter you need
>>>>> to run rexxc again.
>>>>
>>>>
>>>> I think the English in this sentence is great, but I think it
>>>> approaches the situation serially.  Ie through time you have one language
>>>> level & bitness interpreter and then you move to another.  Having used
>>>> ooRexx in a production environment this is not always what is going on.
>>>> For much of the time, I had my test machine on a newer release than my
>>>> clients as I was testing and making changes to support the upgrade as well
>>>> as stepwise improvements to the program suite and coping with changes in
>>>> the business.  Most of my suite was deployed uncompiled, but for security &
>>>> license reasons there were some modules that needed to be compiled.  When I
>>>> upgraded my programs and the language levels I had to be mindful to replace
>>>> not only the modules where the source had changed, but also all the
>>>> compiled ones where there was a change of interpreter.
>>>>
>>>> I think your sentence is good enough, but wonder if it would be better
>>>> to say something like
>>>>
>>>> Binary files produced by a version of rexxc can only be run on
>>>> (?with?by?) an interpreter of the same language level and bitness as the
>>>> interpreter that compiling copy of rexxc was supplied with.  The language
>>>> level changes with each release of ooRexx.
>>>>
>>>
>>> This is not strictly true. One of the goals with the rewrites I did with
>>> this release was to try to maintain release-to-release compatibility
>>> wherever possible. The translator keeps track of the minimum level needed
>>> to execute the image. New features added in releases after 5.0 will flag
>>> that they need a newer release, so the language level in the compiled image
>>> is tied to the features being used, not to the level of interpreter used to
>>> compile it. Of course currently, the only language level is that used by
>>> 5.0, but the mechanism is in place to maintain that compatibility.
>>>
>>> Rick
>>>
>>>
>>>
>>>>
>>>> what do you think?
>>>>
>>>> Jon
>>>>
>>>> On Sun, 8 Mar 2020 at 16:13, Rony G. Flatscher <rony.flatsc...@wu.ac.at>
>>>> wrote:
>>>>
>>>>> Hi Jon,
>>>>>
>>>>> thank you very much for your fast feedback!
>>>>>
>>>>> On 08.03.2020 17:04, Jon Wolfers wrote:
>>>>>
>>>>> I think it reads well, but the last paragraph on the page about
>>>>> rxmigrate needs to be replaced imho.
>>>>>
>>>>> My understanding is that a new version of rexxc is provided with each
>>>>> release and programs compiled with rexxc will only run on the release of
>>>>> the interpreter that they were compiled for.  That is my experience - is 
>>>>> it
>>>>> correct?  If so then I think it would be good to say so.
>>>>>
>>>>> Hmm, excellent point! Also, one should mention that there is a
>>>>> difference between 32- and 64-bit images.
>>>>>
>>>>> How about some text like:
>>>>>
>>>>> The created binary file is dependent on the Rexx language level and
>>>>> the bitness (32 or 64 bit) of the Rexx interpreter used for creating the
>>>>> binary file. Each time the Rexx language level gets increased by a new
>>>>> release of Rexx or each time you switch the bitness of the Rexx 
>>>>> interpreter
>>>>> you need to run rexxc again.
>>>>>
>>>>> How does that sound?
>>>>>
>>>>> ---rony
>>>>>
>>>>> On Sun, 8 Mar 2020 at 15:53, Rony G. Flatscher <
>>>>> rony.flatsc...@wu.ac.at> wrote:
>>>>>
>>>>>> "RFB" is meant to mean "request for feedback"!
>>>>>>
>>>>>> Changed the rexxpg book in the section "Appendix A. Distributing
>>>>>> Programs without Source" (i.e. "rexxc") to reflect changes that have
>>>>>> occurred:
>>>>>>
>>>>>>    - It would be great to get brief feedback whether this is
>>>>>>    understandable the way it is now.
>>>>>>
>>>>>>
>>>>>>    - Also, please note that I have changed "RexxC" and "REXXC" to
>>>>>>    "rexxc" (all in lowercase as one has to enter it on case-dependent
>>>>>>    operating systems on the command line). To emphasize that one is 
>>>>>> supposed
>>>>>>    to write the name as is "rexxc" gets formatted as a 
>>>>>> computeroutput-element
>>>>>>    (monotype font, bold). Is that change o.k. with everyone?
>>>>>>
>>>>>>    If that is o.k. I would like to change the names of the Rexx
>>>>>>    programs in "Appendix B. Sample Rexx Programs" accordingly, i.e. show 
>>>>>> the
>>>>>>    names in exact case and as computeroutput-elements to make them stand 
>>>>>> out
>>>>>>    in the text.
>>>>>>
>>>>>> Temporarily "rexxpg.pdf" can be loaded from:
>>>>>> <https://www.dropbox.com/sh/gxvvgskb04gdsqf/AACRo_ZLeFOdoBXUHroPY_-Ca?dl=0>
>>>>>> <https://www.dropbox.com/sh/gxvvgskb04gdsqf/AACRo_ZLeFOdoBXUHroPY_-Ca?dl=0>
>>>>>> .
>>>>>>
>>>>>> ---rony
>>>>>>
>>>>>
>>> _______________________________________________
>>> Oorexx-devel mailing list
>>> Oorexx-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>
>>
>>
>> _______________________________________________
>> Oorexx-devel mailing 
>> listOorexx-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>
>>
>> _______________________________________________
>> Oorexx-devel mailing list
>> Oorexx-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to