Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-06-02 Thread David Crayford

On 31/05/2021 9:02 pm, Linda Chui wrote:

On Fri, 30 Apr 2021 07:17:29 +0800, David Crayford  wrote:


On 30/04/2021 4:30 am, Charles Mills wrote:

Hmmm. I shared David's impression but http://publibfp.dhe.ibm.com/epubs/pdf/i1357010.pdf 
lists LE as a "Target System Mandatory Operational Requisite."

The xlclang++ compiler is IBMs fork of LLVM which uses the clang front
end to produce intermediate code for the TOBY back-end. That is part of
the XL C/C++ compiler and relies on LE.

This is different. If you read the link again IBM clearly state they are
porting the open source LLVM/Clang with the libc++ runtime. This is not
LE. You can see that IBM are already commiting changes
to LLVM. This is open source stuff
https://reviews.llvm.org/rGcb2d2ae56ae3f0554c40c2d7f231ca5058e4d50c



Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Linda Chui
Sent: Thursday, April 29, 2021 12:11 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On Thu, 8 Apr 2021 18:27:06 +0800, David Crayford  wrote:


On 6/04/2021 9:53 pm, Charles Mills wrote:

You don't use templates

I certainly do use templates. Not sure how you get "don't use templates" from what I 
wrote. Heck, I *over* used templates in the first large C++ project I ever did, and boy, does that 
make a mess! Now I think I am down to a happy medium. I don't see them as "competitive" 
(in a design sense) with macros.

Overusing as in template meta-programming?
https://en.wikipedia.org/wiki/Template_metaprogramming

The XL C++ compiler is withering on the vine. The word is that IBM don't
the resources to keep it up to date with the current standards so the
xlclang++ port of clang using the existing Toby back-end is the way to
go. If you use PDS data sets for your source your SOL as it's z/OS UNIX
only and only produces 64-bit modules.

But what I find exciting is that IBM have stated their intentions to
fully port LLVM/clang/libc[++] to z/OS without a reliance on LE so
supervisor state programming in C++ will be a reality without the
nightmare of LE ESPIE/ESTAE condition handlers.

https://lists.llvm.org/pipermail/llvm-dev/2020-June/142174.html



Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Tuesday, April 6, 2021 5:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On 6/04/2021 1:23 am, Charles Mills wrote:

But IMHO none easy to learn or use.

I am generally not a fan of meta languages at all. I think writing programs is 
hard enough, without having to write two effective programs: one that runs at 
compile time and one that runs at run time.

In my C++, which is now my primary language, I eschew the use of C macros as 
much as reasonably possible. Reasonableness is a key here. For a few things, 
macros make sense.

That's interesting. You don't use templates which are one the most
powerful features of C++?


Well, I didn't see a reference to LE in our statement of direction at 
https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/robert-barrington1/2020/08/04/ibm-cc-and-fortran-compilers-to-adopt-llvm

I believe the compiler will require LE for the foreseeable future, though if 
you want to request an LE free mode, I’m sure you can put in a request for it 
at the RFE site https://www.ibm.com/developerworks/rfe/

Hope this helps.


Thanks for the clarification. I can see now that the work being commited 
is all libc++ but the C library is the system C library which in the 
case of z/OS is LE. It's also going to use the Itanium ABI so it won't 
be compatible with existing z/OS C++
code. IIRC, that's already the case with the latest release of 
xlclang++. It will be interesting to see what comes out of this when 
it's ready. Hopefully, anybody will be able to build languages supported 
by the LLVM framework such as Rust, Fortran, Ada etc.




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


(apologies for late response . I missed seeing the follow on posts :-(

Again, from our dev team:

libc++ under the covers still uses the C runtime, which is still LE. As an 
aside, we are shipping libc++ under LE as well so even if there was no C 
dependency, there would still be an LE dependency.

Hope this helps.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send ema

Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-05-31 Thread Linda Chui
On Fri, 30 Apr 2021 07:17:29 +0800, David Crayford  wrote:

>On 30/04/2021 4:30 am, Charles Mills wrote:
>> Hmmm. I shared David's impression but 
>> http://publibfp.dhe.ibm.com/epubs/pdf/i1357010.pdf lists LE as a "Target 
>> System Mandatory Operational Requisite."
>
>The xlclang++ compiler is IBMs fork of LLVM which uses the clang front
>end to produce intermediate code for the TOBY back-end. That is part of
>the XL C/C++ compiler and relies on LE.
>
>This is different. If you read the link again IBM clearly state they are
>porting the open source LLVM/Clang with the libc++ runtime. This is not
>LE. You can see that IBM are already commiting changes
>to LLVM. This is open source stuff
>https://reviews.llvm.org/rGcb2d2ae56ae3f0554c40c2d7f231ca5058e4d50c
>
>
>> Charles
>>
>>
>> -Original Message-
>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
>> Behalf Of Linda Chui
>> Sent: Thursday, April 29, 2021 12:11 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
>> System z Servers]
>>
>> On Thu, 8 Apr 2021 18:27:06 +0800, David Crayford  
>> wrote:
>>
>>> On 6/04/2021 9:53 pm, Charles Mills wrote:
>>>>> You don't use templates
>>>> I certainly do use templates. Not sure how you get "don't use templates" 
>>>> from what I wrote. Heck, I *over* used templates in the first large C++ 
>>>> project I ever did, and boy, does that make a mess! Now I think I am down 
>>>> to a happy medium. I don't see them as "competitive" (in a design sense) 
>>>> with macros.
>>> Overusing as in template meta-programming?
>>> https://en.wikipedia.org/wiki/Template_metaprogramming
>>>
>>> The XL C++ compiler is withering on the vine. The word is that IBM don't
>>> the resources to keep it up to date with the current standards so the
>>> xlclang++ port of clang using the existing Toby back-end is the way to
>>> go. If you use PDS data sets for your source your SOL as it's z/OS UNIX
>>> only and only produces 64-bit modules.
>>>
>>> But what I find exciting is that IBM have stated their intentions to
>>> fully port LLVM/clang/libc[++] to z/OS without a reliance on LE so
>>> supervisor state programming in C++ will be a reality without the
>>> nightmare of LE ESPIE/ESTAE condition handlers.
>>>
>>> https://lists.llvm.org/pipermail/llvm-dev/2020-June/142174.html
>>>
>>>
>>>> Charles
>>>>
>>>>
>>>> -Original Message-
>>>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
>>>> Behalf Of David Crayford
>>>> Sent: Tuesday, April 6, 2021 5:15 AM
>>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>>> Subject: Re: Meta languages [was: RE: Assembler Language Programming for 
>>>> IBM System z Servers]
>>>>
>>>> On 6/04/2021 1:23 am, Charles Mills wrote:
>>>>>> But IMHO none easy to learn or use.
>>>>> I am generally not a fan of meta languages at all. I think writing 
>>>>> programs is hard enough, without having to write two effective programs: 
>>>>> one that runs at compile time and one that runs at run time.
>>>>>
>>>>> In my C++, which is now my primary language, I eschew the use of C macros 
>>>>> as much as reasonably possible. Reasonableness is a key here. For a few 
>>>>> things, macros make sense.
>>>> That's interesting. You don't use templates which are one the most
>>>> powerful features of C++?
>>>>
>>
>> Well, I didn't see a reference to LE in our statement of direction at 
>> https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/robert-barrington1/2020/08/04/ibm-cc-and-fortran-compilers-to-adopt-llvm
>>
>> I believe the compiler will require LE for the foreseeable future, though if 
>> you want to request an LE free mode, I’m sure you can put in a request for 
>> it at the RFE site https://www.ibm.com/developerworks/rfe/
>>
>> Hope this helps.
>>
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


(apologies for late response . I missed seeing the follow on posts :-(

Again, from our dev team:

libc++ under the covers still uses the C runtime, which is still LE. As an 
aside, we are shipping libc++ under LE as well so even if there was no C 
dependency, there would still be an LE dependency.

Hope this helps.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-29 Thread David Crayford

On 30/04/2021 4:30 am, Charles Mills wrote:

Hmmm. I shared David's impression but http://publibfp.dhe.ibm.com/epubs/pdf/i1357010.pdf 
lists LE as a "Target System Mandatory Operational Requisite."


The xlclang++ compiler is IBMs fork of LLVM which uses the clang front 
end to produce intermediate code for the TOBY back-end. That is part of 
the XL C/C++ compiler and relies on LE.


This is different. If you read the link again IBM clearly state they are 
porting the open source LLVM/Clang with the libc++ runtime. This is not 
LE. You can see that IBM are already commiting changes
to LLVM. This is open source stuff 
https://reviews.llvm.org/rGcb2d2ae56ae3f0554c40c2d7f231ca5058e4d50c




Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Linda Chui
Sent: Thursday, April 29, 2021 12:11 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On Thu, 8 Apr 2021 18:27:06 +0800, David Crayford  wrote:


On 6/04/2021 9:53 pm, Charles Mills wrote:

You don't use templates

I certainly do use templates. Not sure how you get "don't use templates" from what I 
wrote. Heck, I *over* used templates in the first large C++ project I ever did, and boy, does that 
make a mess! Now I think I am down to a happy medium. I don't see them as "competitive" 
(in a design sense) with macros.

Overusing as in template meta-programming?
https://en.wikipedia.org/wiki/Template_metaprogramming

The XL C++ compiler is withering on the vine. The word is that IBM don't
the resources to keep it up to date with the current standards so the
xlclang++ port of clang using the existing Toby back-end is the way to
go. If you use PDS data sets for your source your SOL as it's z/OS UNIX
only and only produces 64-bit modules.

But what I find exciting is that IBM have stated their intentions to
fully port LLVM/clang/libc[++] to z/OS without a reliance on LE so
supervisor state programming in C++ will be a reality without the
nightmare of LE ESPIE/ESTAE condition handlers.

https://lists.llvm.org/pipermail/llvm-dev/2020-June/142174.html



Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Tuesday, April 6, 2021 5:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On 6/04/2021 1:23 am, Charles Mills wrote:

But IMHO none easy to learn or use.

I am generally not a fan of meta languages at all. I think writing programs is 
hard enough, without having to write two effective programs: one that runs at 
compile time and one that runs at run time.

In my C++, which is now my primary language, I eschew the use of C macros as 
much as reasonably possible. Reasonableness is a key here. For a few things, 
macros make sense.

That's interesting. You don't use templates which are one the most
powerful features of C++?



Well, I didn't see a reference to LE in our statement of direction at 
https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/robert-barrington1/2020/08/04/ibm-cc-and-fortran-compilers-to-adopt-llvm

I believe the compiler will require LE for the foreseeable future, though if 
you want to request an LE free mode, I’m sure you can put in a request for it 
at the RFE site https://www.ibm.com/developerworks/rfe/

Hope this helps.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-29 Thread Charles Mills
Hmmm. I shared David's impression but 
http://publibfp.dhe.ibm.com/epubs/pdf/i1357010.pdf lists LE as a "Target System 
Mandatory Operational Requisite."

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Linda Chui
Sent: Thursday, April 29, 2021 12:11 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On Thu, 8 Apr 2021 18:27:06 +0800, David Crayford  wrote:

>On 6/04/2021 9:53 pm, Charles Mills wrote:
>>> You don't use templates
>> I certainly do use templates. Not sure how you get "don't use templates" 
>> from what I wrote. Heck, I *over* used templates in the first large C++ 
>> project I ever did, and boy, does that make a mess! Now I think I am down to 
>> a happy medium. I don't see them as "competitive" (in a design sense) with 
>> macros.
>
>Overusing as in template meta-programming?
>https://en.wikipedia.org/wiki/Template_metaprogramming
>
>The XL C++ compiler is withering on the vine. The word is that IBM don't
>the resources to keep it up to date with the current standards so the
>xlclang++ port of clang using the existing Toby back-end is the way to
>go. If you use PDS data sets for your source your SOL as it's z/OS UNIX
>only and only produces 64-bit modules.
>
>But what I find exciting is that IBM have stated their intentions to
>fully port LLVM/clang/libc[++] to z/OS without a reliance on LE so
>supervisor state programming in C++ will be a reality without the
>nightmare of LE ESPIE/ESTAE condition handlers.
>
>https://lists.llvm.org/pipermail/llvm-dev/2020-June/142174.html
>
>
>> Charles
>>
>>
>> -Original Message-
>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
>> Behalf Of David Crayford
>> Sent: Tuesday, April 6, 2021 5:15 AM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
>> System z Servers]
>>
>> On 6/04/2021 1:23 am, Charles Mills wrote:
>>>> But IMHO none easy to learn or use.
>>> I am generally not a fan of meta languages at all. I think writing programs 
>>> is hard enough, without having to write two effective programs: one that 
>>> runs at compile time and one that runs at run time.
>>>
>>> In my C++, which is now my primary language, I eschew the use of C macros 
>>> as much as reasonably possible. Reasonableness is a key here. For a few 
>>> things, macros make sense.
>> That's interesting. You don't use templates which are one the most
>> powerful features of C++?
>>


Well, I didn't see a reference to LE in our statement of direction at 
https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/robert-barrington1/2020/08/04/ibm-cc-and-fortran-compilers-to-adopt-llvm
 

I believe the compiler will require LE for the foreseeable future, though if 
you want to request an LE free mode, I’m sure you can put in a request for it 
at the RFE site https://www.ibm.com/developerworks/rfe/ 

Hope this helps.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-29 Thread Linda Chui
On Thu, 8 Apr 2021 18:27:06 +0800, David Crayford  wrote:

>On 6/04/2021 9:53 pm, Charles Mills wrote:
>>> You don't use templates
>> I certainly do use templates. Not sure how you get "don't use templates" 
>> from what I wrote. Heck, I *over* used templates in the first large C++ 
>> project I ever did, and boy, does that make a mess! Now I think I am down to 
>> a happy medium. I don't see them as "competitive" (in a design sense) with 
>> macros.
>
>Overusing as in template meta-programming?
>https://en.wikipedia.org/wiki/Template_metaprogramming
>
>The XL C++ compiler is withering on the vine. The word is that IBM don't
>the resources to keep it up to date with the current standards so the
>xlclang++ port of clang using the existing Toby back-end is the way to
>go. If you use PDS data sets for your source your SOL as it's z/OS UNIX
>only and only produces 64-bit modules.
>
>But what I find exciting is that IBM have stated their intentions to
>fully port LLVM/clang/libc[++] to z/OS without a reliance on LE so
>supervisor state programming in C++ will be a reality without the
>nightmare of LE ESPIE/ESTAE condition handlers.
>
>https://lists.llvm.org/pipermail/llvm-dev/2020-June/142174.html
>
>
>> Charles
>>
>>
>> -Original Message-
>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
>> Behalf Of David Crayford
>> Sent: Tuesday, April 6, 2021 5:15 AM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
>> System z Servers]
>>
>> On 6/04/2021 1:23 am, Charles Mills wrote:
>>>> But IMHO none easy to learn or use.
>>> I am generally not a fan of meta languages at all. I think writing programs 
>>> is hard enough, without having to write two effective programs: one that 
>>> runs at compile time and one that runs at run time.
>>>
>>> In my C++, which is now my primary language, I eschew the use of C macros 
>>> as much as reasonably possible. Reasonableness is a key here. For a few 
>>> things, macros make sense.
>> That's interesting. You don't use templates which are one the most
>> powerful features of C++?
>>


Well, I didn't see a reference to LE in our statement of direction at 
https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/robert-barrington1/2020/08/04/ibm-cc-and-fortran-compilers-to-adopt-llvm
 

I believe the compiler will require LE for the foreseeable future, though if 
you want to request an LE free mode, I’m sure you can put in a request for it 
at the RFE site https://www.ibm.com/developerworks/rfe/ 

Hope this helps.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-13 Thread Seymour J Metz
Knuth designed WEB to allow integrating the documentation with the code. 
Neither COBOL nor WEB code is magically easy to read if the programmer couldn't 
be bothered to document.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Stefan Skoglund [stefan.skogl...@agj.net]
Sent: Monday, April 12, 2021 11:33 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

mån 2021-04-05 klockan 16:30 + skrev Farley, Peter x23353:
> True.  There is m4 in *ix systems and going back a long time there
> was ML/1 (I think there was an academic book published on that one, I
> think I have a copy somewhere around here).  Undoubtedly others I do
> not know of or remember.
>
> Probably also Wirth's "literate programming" suite, TeX I think it is
> called.
>
> But IMHO none easy to learn or use.

TeX and METAFONT were written in Knuth's web language,  something which
makes a good mathematician at ease and able to understand and describe
algorithms. Including typography algorithms but also indexing and
cross-referencing to. Web code is nice to read and understand.

Tangle and cweb is early translators for web to Pascal and C.

web2c is the current one used when building TeX itself.

I wouldn't compare M4 with WEB but WEB could be compared to AWK (or CL)

WEB requires a fairly good ability to abstract and not being chained to
imperative languages.

Compare with ML (though that has a big root in DEC10.)

WEB has a streak of the same trait as COBOL was designed to have, the
possibility of reading the code in 4-8 years time and understanding why
things was done the way they were done at writting time.

WEB could also be compared with APL.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-12 Thread Stefan Skoglund
mån 2021-04-05 klockan 16:30 + skrev Farley, Peter x23353:
> True.  There is m4 in *ix systems and going back a long time there
> was ML/1 (I think there was an academic book published on that one, I
> think I have a copy somewhere around here).  Undoubtedly others I do
> not know of or remember.
> 
> Probably also Wirth's "literate programming" suite, TeX I think it is
> called.
> 
> But IMHO none easy to learn or use.

TeX and METAFONT were written in Knuth's web language,  something which
makes a good mathematician at ease and able to understand and describe
algorithms. Including typography algorithms but also indexing and
cross-referencing to. Web code is nice to read and understand.

Tangle and cweb is early translators for web to Pascal and C.

web2c is the current one used when building TeX itself.

I wouldn't compare M4 with WEB but WEB could be compared to AWK (or CL)

WEB requires a fairly good ability to abstract and not being chained to
imperative languages. 

Compare with ML (though that has a big root in DEC10.)

WEB has a streak of the same trait as COBOL was designed to have, the
possibility of reading the code in 4-8 years time and understanding why
things was done the way they were done at writting time.

WEB could also be compared with APL.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-08 Thread Charles Mills
Let me see if I can say this in a few words. You study a language, C++ in this 
case, and they of course say "here is this very rudimentary programming 
problem, and look, here is how you solve it with templates." A student comes 
away thinking "every rudimentary problem, the answer is templates" and he ends 
up over-using templates. With some maturity of language experience one acquires 
better judgement.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Thursday, April 8, 2021 3:27 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On 6/04/2021 9:53 pm, Charles Mills wrote:
>> You don't use templates
> I certainly do use templates. Not sure how you get "don't use templates" from 
> what I wrote. Heck, I *over* used templates in the first large C++ project I 
> ever did, and boy, does that make a mess! Now I think I am down to a happy 
> medium. I don't see them as "competitive" (in a design sense) with macros.

Overusing as in template meta-programming? 
https://en.wikipedia.org/wiki/Template_metaprogramming

The XL C++ compiler is withering on the vine. The word is that IBM don't 
the resources to keep it up to date with the current standards so the 
xlclang++ port of clang using the existing Toby back-end is the way to 
go. If you use PDS data sets for your source your SOL as it's z/OS UNIX 
only and only produces 64-bit modules.

But what I find exciting is that IBM have stated their intentions to 
fully port LLVM/clang/libc[++] to z/OS without a reliance on LE so 
supervisor state programming in C++ will be a reality without the 
nightmare of LE ESPIE/ESTAE condition handlers.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-08 Thread David Crayford

On 6/04/2021 9:53 pm, Charles Mills wrote:

You don't use templates

I certainly do use templates. Not sure how you get "don't use templates" from what I 
wrote. Heck, I *over* used templates in the first large C++ project I ever did, and boy, does that 
make a mess! Now I think I am down to a happy medium. I don't see them as "competitive" 
(in a design sense) with macros.


Overusing as in template meta-programming? 
https://en.wikipedia.org/wiki/Template_metaprogramming


The XL C++ compiler is withering on the vine. The word is that IBM don't 
the resources to keep it up to date with the current standards so the 
xlclang++ port of clang using the existing Toby back-end is the way to 
go. If you use PDS data sets for your source your SOL as it's z/OS UNIX 
only and only produces 64-bit modules.


But what I find exciting is that IBM have stated their intentions to 
fully port LLVM/clang/libc[++] to z/OS without a reliance on LE so 
supervisor state programming in C++ will be a reality without the 
nightmare of LE ESPIE/ESTAE condition handlers.


https://lists.llvm.org/pipermail/llvm-dev/2020-June/142174.html



Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Tuesday, April 6, 2021 5:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On 6/04/2021 1:23 am, Charles Mills wrote:

But IMHO none easy to learn or use.

I am generally not a fan of meta languages at all. I think writing programs is 
hard enough, without having to write two effective programs: one that runs at 
compile time and one that runs at run time.

In my C++, which is now my primary language, I eschew the use of C macros as 
much as reasonably possible. Reasonableness is a key here. For a few things, 
macros make sense.

That's interesting. You don't use templates which are one the most
powerful features of C++?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-06 Thread Charles Mills
> You don't use templates

I certainly do use templates. Not sure how you get "don't use templates" from 
what I wrote. Heck, I *over* used templates in the first large C++ project I 
ever did, and boy, does that make a mess! Now I think I am down to a happy 
medium. I don't see them as "competitive" (in a design sense) with macros.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Tuesday, April 6, 2021 5:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On 6/04/2021 1:23 am, Charles Mills wrote:
>> But IMHO none easy to learn or use.
> I am generally not a fan of meta languages at all. I think writing programs 
> is hard enough, without having to write two effective programs: one that runs 
> at compile time and one that runs at run time.
>
> In my C++, which is now my primary language, I eschew the use of C macros as 
> much as reasonably possible. Reasonableness is a key here. For a few things, 
> macros make sense.

That's interesting. You don't use templates which are one the most 
powerful features of C++?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-06 Thread David Crayford

On 6/04/2021 1:23 am, Charles Mills wrote:

But IMHO none easy to learn or use.

I am generally not a fan of meta languages at all. I think writing programs is 
hard enough, without having to write two effective programs: one that runs at 
compile time and one that runs at run time.

In my C++, which is now my primary language, I eschew the use of C macros as 
much as reasonably possible. Reasonableness is a key here. For a few things, 
macros make sense.


That's interesting. You don't use templates which are one the most 
powerful features of C++?





One example. I have a lot of bi-modal code: it runs "production" on z/OS and "limited unit 
test" on Windows. Rather than wrap block after block with #ifdef WIN32 or #ifdef __MVS__, I do that 
once, in a "universal" header file

#ifdef WIN32
static const bool IsZOS = false;
#else
static const bool IsZOS = true;
#endif

Then anywhere in the code I can write

if (IsZOS) {z/OS specific code}
else {Windows specific code}

I think it's a lot easier to read, and there is no runtime performance penalty. 
The z/OS optimizing compiler is smart enough to totally eliminate conditionals 
based on a constant.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter x23353
Sent: Monday, April 5, 2021 9:31 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Meta languages [was: RE: Assembler Language Programming for IBM System 
z Servers]

True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
think there was an academic book published on that one, I think I have a copy 
somewhere around here).  Undoubtedly others I do not know of or remember.

Probably also Wirth's "literate programming" suite, TeX I think it is called.

But IMHO none easy to learn or use.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-06 Thread Peter Sylvester

hi,

m4 is text substitution. 25 years ago we used it to create web pages. The same text to create the 
web and a a paper version. when you give some company "flyer" (5 pages) to clients, you may be 
interested to have semantically very similar info in the web, don't you.


m4 was also used in thewml AFAIR.


True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
think there was an academic book published on that one, I think I have a copy 
somewhere around here).  Undoubtedly others I do not know of or remember.


Does someone know whether there is a version of FORMAC (either Fortran or PL/I). Well, it was from 
IBM ? ;-(


Peter Sylvester

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Seymour J Metz
Keep in mind that the metalanguage for C and C++ is horribly crude; it can't do 
the sorts of things that make macro attractive in other languages.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Charles Mills [charl...@mcn.org]
Sent: Monday, April 5, 2021 1:23 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

> But IMHO none easy to learn or use.

I am generally not a fan of meta languages at all. I think writing programs is 
hard enough, without having to write two effective programs: one that runs at 
compile time and one that runs at run time.

In my C++, which is now my primary language, I eschew the use of C macros as 
much as reasonably possible. Reasonableness is a key here. For a few things, 
macros make sense.

One example. I have a lot of bi-modal code: it runs "production" on z/OS and 
"limited unit test" on Windows. Rather than wrap block after block with #ifdef 
WIN32 or #ifdef __MVS__, I do that once, in a "universal" header file

#ifdef WIN32
static const bool IsZOS = false;
#else
static const bool IsZOS = true;
#endif

Then anywhere in the code I can write

if (IsZOS) {z/OS specific code}
else {Windows specific code}

I think it's a lot easier to read, and there is no runtime performance penalty. 
The z/OS optimizing compiler is smart enough to totally eliminate conditionals 
based on a constant.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter x23353
Sent: Monday, April 5, 2021 9:31 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Meta languages [was: RE: Assembler Language Programming for IBM System 
z Servers]

True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
think there was an academic book published on that one, I think I have a copy 
somewhere around here).  Undoubtedly others I do not know of or remember.

Probably also Wirth's "literate programming" suite, TeX I think it is called.

But IMHO none easy to learn or use.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Paul Gilmartin
On Mon, 5 Apr 2021 10:23:58 -0700, Charles Mills wrote:
>
>#ifdef WIN32
>static const bool IsZOS = false;
>#else
>static const bool IsZOS = true;
>#endif
>
Hmmm ... Anything that isn't WIN32 is z/OS.
∴ Linux == z/OS;

(Granted, I'm unfamiliar with your environment.)

But I once on a FOSS project made a similar mistake; something like:

#define EBCDIC ( '0' == 240 )

... only to be scolded by a programmer on an EBCDIC system on which
'0'  != 240; Siemens BS2000.

My Pascal training dies hard; I still prefer "enum" to "static const".
And only "#define" is available for preprocessor tests.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Tony Thigpen
I think they have a letter from the estate for their use, but even that 
letter has got to be really old. Last time I mentioned XBOL, someone 
mentioned they were still running it on z/OS. (My client is z/VSE.)


It's really a crappy language. All the variables are a combination of a 
letter and a sequential number. But, it generates both batch and CICS 
code without having to know much about CICS.


Tony Thigpen

Farley, Peter x23353 wrote on 4/5/21 2:00 PM:

Interesting.  I would presume your client received the source due to an escrow 
clause in the original contract.  Any chance the original XBOL developer's 
estate would allow the product to be open-sourced for community development?  
Or is it abandonware at this point?

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Tony Thigpen
Sent: Monday, April 5, 2021 1:03 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

I am helping support a customer that has XBOL which generates COBOL. The 
original developer has passed away, but my client has the source. We have had 
to make changes for 'gone' COBOL verbs and such.

I don't think CA's MetaCobol is currently marketed. I talked to them several 
years ago about it.

I personally wrote and use a COBOL "pre-compiler" that handles a few things for 
me:
1) It let's you specify Working Storage, Linkage Section and Procedural Section 
in any COBOL copybook. It re-orders the generated code so that the parts are 
plugged into the output source in the right order. This makes it easy to put 
things like date routines within the program when such routines require working 
storage fields to do their calculations.
2) It calls 'calls' the CICS pre-processor before generating the final code. 
z/VSE does not have such an option currently.

I do have some more I want to do with it, but have not had the time. I would like it to 
be more "macro like" for such things as BMS screens.

Tony Thigpen

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Farley, Peter x23353
Interesting.  I would presume your client received the source due to an escrow 
clause in the original contract.  Any chance the original XBOL developer's 
estate would allow the product to be open-sourced for community development?  
Or is it abandonware at this point?

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Tony Thigpen
Sent: Monday, April 5, 2021 1:03 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

I am helping support a customer that has XBOL which generates COBOL. The 
original developer has passed away, but my client has the source. We have had 
to make changes for 'gone' COBOL verbs and such.

I don't think CA's MetaCobol is currently marketed. I talked to them several 
years ago about it.

I personally wrote and use a COBOL "pre-compiler" that handles a few things for 
me:
1) It let's you specify Working Storage, Linkage Section and Procedural Section 
in any COBOL copybook. It re-orders the generated code so that the parts are 
plugged into the output source in the right order. This makes it easy to put 
things like date routines within the program when such routines require working 
storage fields to do their calculations.
2) It calls 'calls' the CICS pre-processor before generating the final code. 
z/VSE does not have such an option currently.

I do have some more I want to do with it, but have not had the time. I would 
like it to be more "macro like" for such things as BMS screens.

Tony Thigpen

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Charles Mills
> But IMHO none easy to learn or use.

I am generally not a fan of meta languages at all. I think writing programs is 
hard enough, without having to write two effective programs: one that runs at 
compile time and one that runs at run time.

In my C++, which is now my primary language, I eschew the use of C macros as 
much as reasonably possible. Reasonableness is a key here. For a few things, 
macros make sense.

One example. I have a lot of bi-modal code: it runs "production" on z/OS and 
"limited unit test" on Windows. Rather than wrap block after block with #ifdef 
WIN32 or #ifdef __MVS__, I do that once, in a "universal" header file

#ifdef WIN32
static const bool IsZOS = false;
#else
static const bool IsZOS = true;
#endif

Then anywhere in the code I can write

if (IsZOS) {z/OS specific code}
else {Windows specific code}

I think it's a lot easier to read, and there is no runtime performance penalty. 
The z/OS optimizing compiler is smart enough to totally eliminate conditionals 
based on a constant.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter x23353
Sent: Monday, April 5, 2021 9:31 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Meta languages [was: RE: Assembler Language Programming for IBM System 
z Servers]

True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
think there was an academic book published on that one, I think I have a copy 
somewhere around here).  Undoubtedly others I do not know of or remember.

Probably also Wirth's "literate programming" suite, TeX I think it is called.

But IMHO none easy to learn or use.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Farley, Peter x23353
Oops.  Yes, Knuth not Wirth.

Agreed that meta-language that is close to the base language is the easiest to 
learn and use.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Paul Gilmartin
Sent: Monday, April 5, 2021 1:03 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On Mon, 5 Apr 2021 16:30:53 +, Farley, Peter x23353 wrote:

>True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
>think there was an academic book published on that one, I think I have a copy 
>somewhere around here).  Undoubtedly others I do not know of or remember.
>
>Probably also Wirth's "literate programming" suite, TeX I think it is called.
> 
Knuth?

>But IMHO none easy to learn or use.
>
PL/I addresses ease of use by making the metalanguage similar to the base 
language.

My favorite experience was with Mainsail which integrated its metalanguage with 
its compiler: not "IF DEFINED()" but "IF DECLARED()".  And the metalanguage was 
aware of the language's block structure: the scope of a macro was only the 
block in which it was defined.  There was little syntactic distinction between 
the SETC and MACRO equivalents.  Evaluation of metasymbols could be either 
performed at the point of macro definition or deferred to the applied 
occurrence.

I understand that BAL had some of that unification; lost in subsequent 
assemblers which distinguish EQU from SETA.

>-Original Message-
>From: Charles Mills
>Sent: Monday, April 5, 2021 12:20 PM
>
>Aren't there "generic" meta languages: meta languages that may be used to 
>generate any sort of text, including source code for most any language?

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Seymour J Metz
> Probably also Wirth's "literate programming" suite, TeX I think it is called.

Two different things, both by Knuth. Wirth was ALGOL W, Pascal and PL360.

> But IMHO none easy to learn or use.

LaTeX, based on TeX, may not be as easy as GML and SCRIPT, but it's not that 
hard to learn and it does a good job dealing with typography.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Farley, Peter x23353 [031df298a9da-dmarc-requ...@listserv.ua.edu]
Sent: Monday, April 5, 2021 12:30 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Meta languages [was: RE: Assembler Language Programming for IBM System 
z Servers]

True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
think there was an academic book published on that one, I think I have a copy 
somewhere around here).  Undoubtedly others I do not know of or remember.

Probably also Wirth's "literate programming" suite, TeX I think it is called.

But IMHO none easy to learn or use.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Monday, April 5, 2021 12:20 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

Aren't there "generic" meta languages: meta languages that may be used to 
generate any sort of text, including source code for most any language?

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter x23353
Sent: Monday, April 5, 2021 8:47 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

True for the language itself, but at least one ISV addressed that lack -- the 
MetaCOBOL product.  I have forgotten who the original vendor ISV was - maybe 
ADR? -- but I think it now resides somewhere in the CA / Broadcom universe.

IMHO PL/1 (and no doubt the PL/X internal IBM language from the little we see 
of it in SYS1.MACLIB) has the most powerful language-defined preprocessor.  One 
could wish for a similar language-defined capability for COBOL, not that it 
will ever happen.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Monday, April 5, 2021 11:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

The literal answer to your question is COPY. Assembler COPY is completely the 
analog of COBOL COPY.

Assembler COPY is less powerful than COBOL COPY: there is no COPY REPLACING in 
assembler.

OTOH, Assembler has macros, which are like COPY but much, much more powerful.

I am going to go out on a limb -- someone will surely correct me -- and say 
that COBOL is unique or at least atypical among modern "powerful" programming 
languages in that it has no real preprocessor language. There is no "meta" 
programming (to speak of) in COBOL. No real way to "dynamically construct" a 
program at compile time.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Warren Brown
Sent: Monday, April 5, 2021 7:22 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

 Hello,
I've been away for a while.  What is the assembly language equivalent for a 
COBOL copybook?
Thanks,
Warren
On Monday, March 29, 2021, 11:08:43 AM EDT, Wendell Lovewell 
<01e9c0ee0673-dmarc-requ...@listserv.ua.edu> wrote:

 Hello all.

Does anyone know if Dr Ehrman's excellent assembler book could be updated for 
the new instructions released since 2015?  Or, at least refreshed with current 
standards for PDF-page generation standards?

What I mean is, it would really be helpful if:
a) The pages in the Table of Contents were hyperlinks to the actual pages 
referenced, and
b) The page numbers in the TOC matched the page numbers in the PDF file.  For 
example, "MVCLE" is listed in the TOC on page 411.  But if you alt-g to go to 
the 411th page in the PDF, you end up on the page displaying "373" at the 
bottom.

More recent manuals "document" page numbers match the "pdf" page numbers.  But 
as best I can tell Dr. Ehrman's book hasn't been updated to reflect this.

Is there any chance someone from IBM is reading this & can do something about 
this?  Please?

(I know this might make more sense to post on the Assembler list, but I'm 
guessing it's more likely to be seen here.)

TIA,
Wendell
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any di

Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Seymour J Metz
> I understand that BAL had some of that unification; lost in subsequent
> assemblers which distinguish EQU from SETA.

BAL didn't have any metalanguage at all.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Paul Gilmartin [000433f07816-dmarc-requ...@listserv.ua.edu]
Sent: Monday, April 5, 2021 1:02 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Meta languages [was: RE: Assembler Language Programming for IBM 
System z Servers]

On Mon, 5 Apr 2021 16:30:53 +, Farley, Peter x23353 wrote:

>True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
>think there was an academic book published on that one, I think I have a copy 
>somewhere around here).  Undoubtedly others I do not know of or remember.
>
>Probably also Wirth's "literate programming" suite, TeX I think it is called.
>
Knuth?

>But IMHO none easy to learn or use.
>
PL/I addresses ease of use by making the metalanguage similar to the
base language.

My favorite experience was with Mainsail which integrated its metalanguage with
its compiler: not "IF DEFINED()" but "IF DECLARED()".  And the metalanguage
was aware of the language's block structure: the scope of a macro was only
the block in which it was defined.  There was little syntactic distinction 
between
the SETC and MACRO equivalents.  Evaluation of metasymbols could be either
performed at the point of macro definition or deferred to the applied 
occurrence.

I understand that BAL had some of that unification; lost in subsequent
assemblers which distinguish EQU from SETA.

>-Original Message-
>From: Charles Mills
>Sent: Monday, April 5, 2021 12:20 PM
>
>Aren't there "generic" meta languages: meta languages that may be used to 
>generate any sort of text, including source code for most any language?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Tony Thigpen
I am helping support a customer that has XBOL which generates COBOL. The 
original developer has passed away, but my client has the source. We 
have had to make changes for 'gone' COBOL verbs and such.


I don't think CA's MetaCobol is currently marketed. I talked to them 
several years ago about it.


I personally wrote and use a COBOL "pre-compiler" that handles a few 
things for me:
1) It let's you specify Working Storage, Linkage Section and Procedural 
Section in any COBOL copybook. It re-orders the generated code so that 
the parts are plugged into the output source in the right order. This 
makes it easy to put things like date routines within the program when 
such routines require working storage fields to do their calculations.
2) It calls 'calls' the CICS pre-processor before generating the final 
code. z/VSE does not have such an option currently.


I do have some more I want to do with it, but have not had the time. I 
would like it to be more "macro like" for such things as BMS screens.


Tony Thigpen

Farley, Peter x23353 wrote on 4/5/21 12:30 PM:

True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
think there was an academic book published on that one, I think I have a copy 
somewhere around here).  Undoubtedly others I do not know of or remember.

Probably also Wirth's "literate programming" suite, TeX I think it is called.

But IMHO none easy to learn or use.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Monday, April 5, 2021 12:20 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

Aren't there "generic" meta languages: meta languages that may be used to 
generate any sort of text, including source code for most any language?

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter x23353
Sent: Monday, April 5, 2021 8:47 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

True for the language itself, but at least one ISV addressed that lack -- the 
MetaCOBOL product.  I have forgotten who the original vendor ISV was - maybe 
ADR? -- but I think it now resides somewhere in the CA / Broadcom universe.

IMHO PL/1 (and no doubt the PL/X internal IBM language from the little we see 
of it in SYS1.MACLIB) has the most powerful language-defined preprocessor.  One 
could wish for a similar language-defined capability for COBOL, not that it 
will ever happen.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Monday, April 5, 2021 11:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

The literal answer to your question is COPY. Assembler COPY is completely the 
analog of COBOL COPY.

Assembler COPY is less powerful than COBOL COPY: there is no COPY REPLACING in 
assembler.

OTOH, Assembler has macros, which are like COPY but much, much more powerful.

I am going to go out on a limb -- someone will surely correct me -- and say that COBOL is unique or at least 
atypical among modern "powerful" programming languages in that it has no real preprocessor 
language. There is no "meta" programming (to speak of) in COBOL. No real way to "dynamically 
construct" a program at compile time.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Warren Brown
Sent: Monday, April 5, 2021 7:22 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

  Hello,
I've been away for a while.  What is the assembly language equivalent for a 
COBOL copybook?
Thanks,
Warren
 On Monday, March 29, 2021, 11:08:43 AM EDT, Wendell Lovewell 
<01e9c0ee0673-dmarc-requ...@listserv.ua.edu> wrote:
  
  Hello all.


Does anyone know if Dr Ehrman's excellent assembler book could be updated for 
the new instructions released since 2015?  Or, at least refreshed with current 
standards for PDF-page generation standards?

What I mean is, it would really be helpful if:
a) The pages in the Table of Contents were hyperlinks to the actual pages 
referenced, and
b) The page numbers in the TOC matched the page numbers in the PDF file.  For example, 
"MVCLE" is listed in the TOC on page 411.  But if you alt-g to go to the 411th page in 
the PDF, you end up on the page displaying "373" at the bottom.

More recent manuals "document" page numbers match the "pdf" page numbers.  But 
as best I can tell Dr. Ehrman's book hasn't been updated to reflect this.

Is there any chance someone from IBM is reading this & can do something about 
this?  Please?

(I know this might make more sense to post on the Assembler list, but I'm 
guessing it's more likely to be seen here.)

TIA,
Wendell
--

This message and any attachments are intended only for the use of the 

Re: Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Paul Gilmartin
On Mon, 5 Apr 2021 16:30:53 +, Farley, Peter x23353 wrote:

>True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
>think there was an academic book published on that one, I think I have a copy 
>somewhere around here).  Undoubtedly others I do not know of or remember.
>
>Probably also Wirth's "literate programming" suite, TeX I think it is called.
> 
Knuth?

>But IMHO none easy to learn or use.
>
PL/I addresses ease of use by making the metalanguage similar to the
base language.

My favorite experience was with Mainsail which integrated its metalanguage with
its compiler: not "IF DEFINED()" but "IF DECLARED()".  And the metalanguage
was aware of the language's block structure: the scope of a macro was only
the block in which it was defined.  There was little syntactic distinction 
between
the SETC and MACRO equivalents.  Evaluation of metasymbols could be either
performed at the point of macro definition or deferred to the applied 
occurrence.

I understand that BAL had some of that unification; lost in subsequent
assemblers which distinguish EQU from SETA.

>-Original Message-
>From: Charles Mills
>Sent: Monday, April 5, 2021 12:20 PM
>
>Aren't there "generic" meta languages: meta languages that may be used to 
>generate any sort of text, including source code for most any language?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Meta languages [was: RE: Assembler Language Programming for IBM System z Servers]

2021-04-05 Thread Farley, Peter x23353
True.  There is m4 in *ix systems and going back a long time there was ML/1 (I 
think there was an academic book published on that one, I think I have a copy 
somewhere around here).  Undoubtedly others I do not know of or remember.

Probably also Wirth's "literate programming" suite, TeX I think it is called.

But IMHO none easy to learn or use.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Monday, April 5, 2021 12:20 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

Aren't there "generic" meta languages: meta languages that may be used to 
generate any sort of text, including source code for most any language?

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter x23353
Sent: Monday, April 5, 2021 8:47 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

True for the language itself, but at least one ISV addressed that lack -- the 
MetaCOBOL product.  I have forgotten who the original vendor ISV was - maybe 
ADR? -- but I think it now resides somewhere in the CA / Broadcom universe.

IMHO PL/1 (and no doubt the PL/X internal IBM language from the little we see 
of it in SYS1.MACLIB) has the most powerful language-defined preprocessor.  One 
could wish for a similar language-defined capability for COBOL, not that it 
will ever happen.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Monday, April 5, 2021 11:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

The literal answer to your question is COPY. Assembler COPY is completely the 
analog of COBOL COPY.

Assembler COPY is less powerful than COBOL COPY: there is no COPY REPLACING in 
assembler.

OTOH, Assembler has macros, which are like COPY but much, much more powerful. 

I am going to go out on a limb -- someone will surely correct me -- and say 
that COBOL is unique or at least atypical among modern "powerful" programming 
languages in that it has no real preprocessor language. There is no "meta" 
programming (to speak of) in COBOL. No real way to "dynamically construct" a 
program at compile time.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Warren Brown
Sent: Monday, April 5, 2021 7:22 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Assembler Language Programming for IBM System z Servers

 Hello,
I've been away for a while.  What is the assembly language equivalent for a 
COBOL copybook?
Thanks,
Warren 
On Monday, March 29, 2021, 11:08:43 AM EDT, Wendell Lovewell 
<01e9c0ee0673-dmarc-requ...@listserv.ua.edu> wrote:  
 
 Hello all. 

Does anyone know if Dr Ehrman's excellent assembler book could be updated for 
the new instructions released since 2015?  Or, at least refreshed with current 
standards for PDF-page generation standards? 

What I mean is, it would really be helpful if:
a) The pages in the Table of Contents were hyperlinks to the actual pages 
referenced, and
b) The page numbers in the TOC matched the page numbers in the PDF file.  For 
example, "MVCLE" is listed in the TOC on page 411.  But if you alt-g to go to 
the 411th page in the PDF, you end up on the page displaying "373" at the 
bottom.  

More recent manuals "document" page numbers match the "pdf" page numbers.  But 
as best I can tell Dr. Ehrman's book hasn't been updated to reflect this. 

Is there any chance someone from IBM is reading this & can do something about 
this?  Please? 

(I know this might make more sense to post on the Assembler list, but I'm 
guessing it's more likely to be seen here.)

TIA,
Wendell
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN