• Iron Spring PL/I compiler version 1.0.0

    From Iron Spring Software@21:1/5 to All on Fri Jan 27 07:46:51 2023
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The
    major feature of this release is support for self-defining structures,
    declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete information.

    http://www.iron-spring.com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John W Kennedy@21:1/5 to wat fiv on Fri Jan 27 17:06:20 2023
    On 1/27/23 4:33 PM, wat fiv wrote:
    On Friday, January 27, 2023 at 9:46:53 AM UTC-5, bearlyabus...@gmail.com wrote:
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The
    major feature of this release is support for self-defining structures,
    declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete
    information.

    http://www.iron-spring.com

    Congratulations on making version 1.0.0! And thank you for your work, its a shame that IBM doesn't do this anymore.

    I've never understood the point of refer; can't one use just use HBOUND (technically, HBOUND-LBOUND+1) or MAXLENGTH to find the size of an object? Of course you included it to be compatible with IBM, but why is it necessary to begin with? It looks like
    it might be a foot gun.

    Since the variable is BASED, it has no dope vector or descriptor
    associated with it. It has only the naked data contained within in the structure, so the REFER is necessary to make HBOUND and LBOUND work in
    the first place. Languages with substantial differences from PL/I (like,
    say, Swift) might find a way to work around that, but READ SET
    absolutely demands that the structure be entirely self-describing as it
    stands.

    --
    John W. Kennedy
    Algernon Burbage, Lord Roderick, Father Martin, Bishop Baldwin,
    King Pellinore, Captain Bailey, Merlin -- A Kingdom for a Stage!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From wat fiv@21:1/5 to bearlyabus...@gmail.com on Fri Jan 27 13:33:24 2023
    On Friday, January 27, 2023 at 9:46:53 AM UTC-5, bearlyabus...@gmail.com wrote:
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The
    major feature of this release is support for self-defining structures, declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete information.

    http://www.iron-spring.com

    Congratulations on making version 1.0.0! And thank you for your work, its a shame that IBM doesn't do this anymore.

    I've never understood the point of refer; can't one use just use HBOUND (technically, HBOUND-LBOUND+1) or MAXLENGTH to find the size of an object? Of course you included it to be compatible with IBM, but why is it necessary to begin with? It looks like
    it might be a foot gun.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From wat fiv@21:1/5 to John W. Kennedy on Fri Jan 27 14:14:08 2023
    On Friday, January 27, 2023 at 5:06:28 PM UTC-5, John W. Kennedy wrote:
    On 1/27/23 4:33 PM, wat fiv wrote:
    On Friday, January 27, 2023 at 9:46:53 AM UTC-5, bearlyabus...@gmail.com wrote:
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The
    major feature of this release is support for self-defining structures,
    declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete >> information.

    http://www.iron-spring.com

    Congratulations on making version 1.0.0! And thank you for your work, its a shame that IBM doesn't do this anymore.

    I've never understood the point of refer; can't one use just use HBOUND (technically, HBOUND-LBOUND+1) or MAXLENGTH to find the size of an object? Of course you included it to be compatible with IBM, but why is it necessary to begin with? It looks
    like it might be a foot gun.
    Since the variable is BASED, it has no dope vector or descriptor
    associated with it. It has only the naked data contained within in the structure, so the REFER is necessary to make HBOUND and LBOUND work in
    the first place. Languages with substantial differences from PL/I (like, say, Swift) might find a way to work around that, but READ SET
    absolutely demands that the structure be entirely self-describing as it stands.

    --
    John W. Kennedy
    Algernon Burbage, Lord Roderick, Father Martin, Bishop Baldwin,
    King Pellinore, Captain Bailey, Merlin -- A Kingdom for a Stage!

    That is an excellent explanation! Thank you!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to John W Kennedy on Sat Jan 28 07:18:05 2023
    John W Kennedy <john.w.kennedy@gmail.com> wrote:
    On 1/27/23 4:33 PM, wat fiv wrote:
    On Friday, January 27, 2023 at 9:46:53 AM UTC-5, bearlyabus...@gmail.com wrote:
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The
    major feature of this release is support for self-defining structures,
    declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete
    information.

    http://www.iron-spring.com

    Congratulations on making version 1.0.0! And thank you for your work,
    its a shame that IBM doesn't do this anymore.

    I've never understood the point of refer; can't one use just use HBOUND
    (technically, HBOUND-LBOUND+1) or MAXLENGTH to find the size of an
    object? Of course you included it to be compatible with IBM, but why is
    it necessary to begin with? It looks like it might be a foot gun.

    Since the variable is BASED, it has no dope vector or descriptor
    associated with it. It has only the naked data contained within in the structure, so the REFER is necessary to make HBOUND and LBOUND work in
    the first place. Languages with substantial differences from PL/I (like,
    say, Swift) might find a way to work around that, but READ SET
    absolutely demands that the structure be entirely self-describing as it stands.


    Good explanation! I always thought of it (as far as I thought of it at all)
    as a more complicated version of COBOL’s “OCCURS DEPENDING ON.”

    By the way, please hold off on downloading or using this feature for a
    while, since a serious bug just surfaced that I will be working on anon.

    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John W Kennedy@21:1/5 to Peter Flass on Sat Jan 28 16:45:50 2023
    On 1/28/23 9:18 AM, Peter Flass wrote:
    John W Kennedy <john.w.kennedy@gmail.com> wrote:
    On 1/27/23 4:33 PM, wat fiv wrote:
    On Friday, January 27, 2023 at 9:46:53 AM UTC-5, bearlyabus...@gmail.com wrote:
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The
    major feature of this release is support for self-defining structures, >>>> declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete >>>> information.

    http://www.iron-spring.com

    Congratulations on making version 1.0.0! And thank you for your work,
    its a shame that IBM doesn't do this anymore.

    I've never understood the point of refer; can't one use just use HBOUND
    (technically, HBOUND-LBOUND+1) or MAXLENGTH to find the size of an
    object? Of course you included it to be compatible with IBM, but why is
    it necessary to begin with? It looks like it might be a foot gun.

    Since the variable is BASED, it has no dope vector or descriptor
    associated with it. It has only the naked data contained within in the
    structure, so the REFER is necessary to make HBOUND and LBOUND work in
    the first place. Languages with substantial differences from PL/I (like,
    say, Swift) might find a way to work around that, but READ SET
    absolutely demands that the structure be entirely self-describing as it
    stands.


    Good explanation! I always thought of it (as far as I thought of it at all) as a more complicated version of COBOL’s “OCCURS DEPENDING ON.”

    Essentially, that’s what it is. Internally, a COBOL READ (without INTO)
    is equivalent to PL/I READ SET, and a COBOL WRITE (without FROM) is functionally equivalent to PL/I LOCATE, but the first LOCATE is executed
    for free after OPEN, each WRITE is followed by a free LOCATE, and CLOSE performs an undocumented un-LOCATE (in OS/360 and its descendants, using
    an undocumented un-PUT function in QSAM, QISAM, etc.).

    By the way, please hold off on downloading or using this feature for a
    while, since a serious bug just surfaced that I will be working on anon.

    Don’t mean nuttin’ to me unless you create a version for macOS (or at
    least for Darwin).

    --
    John W. Kennedy
    Algernon Burbage, Lord Roderick, Father Martin, Bishop Baldwin,
    King Pellinore, Captain Bailey, Merlin -- A Kingdom for a Stage!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to John W Kennedy on Sat Jan 28 15:40:36 2023
    John W Kennedy <john.w.kennedy@gmail.com> wrote:
    On 1/28/23 9:18 AM, Peter Flass wrote:
    John W Kennedy <john.w.kennedy@gmail.com> wrote:
    On 1/27/23 4:33 PM, wat fiv wrote:
    On Friday, January 27, 2023 at 9:46:53 AM UTC-5, bearlyabus...@gmail.com wrote:
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The >>>>> major feature of this release is support for self-defining structures, >>>>> declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete >>>>> information.

    http://www.iron-spring.com

    Congratulations on making version 1.0.0! And thank you for your work,
    its a shame that IBM doesn't do this anymore.

    I've never understood the point of refer; can't one use just use HBOUND >>>> (technically, HBOUND-LBOUND+1) or MAXLENGTH to find the size of an
    object? Of course you included it to be compatible with IBM, but why is >>>> it necessary to begin with? It looks like it might be a foot gun.

    Since the variable is BASED, it has no dope vector or descriptor
    associated with it. It has only the naked data contained within in the
    structure, so the REFER is necessary to make HBOUND and LBOUND work in
    the first place. Languages with substantial differences from PL/I (like, >>> say, Swift) might find a way to work around that, but READ SET
    absolutely demands that the structure be entirely self-describing as it
    stands.


    Good explanation! I always thought of it (as far as I thought of it at all) >> as a more complicated version of COBOL’s “OCCURS DEPENDING ON.”

    Essentially, that’s what it is. Internally, a COBOL READ (without INTO)
    is equivalent to PL/I READ SET, and a COBOL WRITE (without FROM) is functionally equivalent to PL/I LOCATE, but the first LOCATE is executed
    for free after OPEN, each WRITE is followed by a free LOCATE, and CLOSE performs an undocumented un-LOCATE (in OS/360 and its descendants, using
    an undocumented un-PUT function in QSAM, QISAM, etc.).

    By the way, please hold off on downloading or using this feature for a
    while, since a serious bug just surfaced that I will be working on anon.

    Don’t mean nuttin’ to me unless you create a version for macOS (or at least for Darwin).


    Windoze next :-(

    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From johann woeckinger@21:1/5 to bearlyabus...@gmail.com on Thu Feb 2 00:48:13 2023
    bearlyabus...@gmail.com schrieb am Samstag, 28. Jänner 2023 um 23:40:38 UTC+1:
    John W Kennedy <john.w....@gmail.com> wrote:
    On 1/28/23 9:18 AM, Peter Flass wrote:
    John W Kennedy <john.w....@gmail.com> wrote:
    On 1/27/23 4:33 PM, wat fiv wrote:
    On Friday, January 27, 2023 at 9:46:53 AM UTC-5, bearlyabus...@gmail.com wrote:
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The >>>>> major feature of this release is support for self-defining structures, >>>>> declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete
    information.

    http://www.iron-spring.com

    Congratulations on making version 1.0.0! And thank you for your work, >>>> its a shame that IBM doesn't do this anymore.

    I've never understood the point of refer; can't one use just use HBOUND >>>> (technically, HBOUND-LBOUND+1) or MAXLENGTH to find the size of an
    object? Of course you included it to be compatible with IBM, but why is >>>> it necessary to begin with? It looks like it might be a foot gun.

    Since the variable is BASED, it has no dope vector or descriptor
    associated with it. It has only the naked data contained within in the >>> structure, so the REFER is necessary to make HBOUND and LBOUND work in >>> the first place. Languages with substantial differences from PL/I (like, >>> say, Swift) might find a way to work around that, but READ SET
    absolutely demands that the structure be entirely self-describing as it >>> stands.


    Good explanation! I always thought of it (as far as I thought of it at all)
    as a more complicated version of COBOL’s “OCCURS DEPENDING ON.”

    Essentially, that’s what it is. Internally, a COBOL READ (without INTO) is equivalent to PL/I READ SET, and a COBOL WRITE (without FROM) is functionally equivalent to PL/I LOCATE, but the first LOCATE is executed for free after OPEN, each WRITE is followed by a free LOCATE, and CLOSE performs an undocumented un-LOCATE (in OS/360 and its descendants, using an undocumented un-PUT function in QSAM, QISAM, etc.).

    By the way, please hold off on downloading or using this feature for a
    while, since a serious bug just surfaced that I will be working on anon.

    Don’t mean nuttin’ to me unless you create a version for macOS (or at least for Darwin).

    Windoze next :-(

    --
    Pete
    linux subsystem for windows?
    br johann

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Flass@21:1/5 to johann woeckinger on Thu Feb 2 05:48:28 2023
    johann woeckinger <woecki@gmail.com> wrote:
    bearlyabus...@gmail.com schrieb am Samstag, 28. Jänner 2023 um 23:40:38 UTC+1:
    John W Kennedy <john.w....@gmail.com> wrote:
    On 1/28/23 9:18 AM, Peter Flass wrote:
    John W Kennedy <john.w....@gmail.com> wrote:
    On 1/27/23 4:33 PM, wat fiv wrote:
    On Friday, January 27, 2023 at 9:46:53 AM UTC-5, bearlyabus...@gmail.com wrote:
    Version 1.0.0 of the Iron Spring PL/I compiler is now available. The >>>>>>> major feature of this release is support for self-defining structures, >>>>>>> declared with the REFER option. It also includes other minor
    enhancements and bug fixes. Consult the documentation for more complete >>>>>>> information.

    http://www.iron-spring.com

    Congratulations on making version 1.0.0! And thank you for your work, >>>>>> its a shame that IBM doesn't do this anymore.

    I've never understood the point of refer; can't one use just use HBOUND >>>>>> (technically, HBOUND-LBOUND+1) or MAXLENGTH to find the size of an >>>>>> object? Of course you included it to be compatible with IBM, but why is >>>>>> it necessary to begin with? It looks like it might be a foot gun.

    Since the variable is BASED, it has no dope vector or descriptor
    associated with it. It has only the naked data contained within in the >>>>> structure, so the REFER is necessary to make HBOUND and LBOUND work in >>>>> the first place. Languages with substantial differences from PL/I (like, >>>>> say, Swift) might find a way to work around that, but READ SET
    absolutely demands that the structure be entirely self-describing as it >>>>> stands.


    Good explanation! I always thought of it (as far as I thought of it at all)
    as a more complicated version of COBOL’s “OCCURS DEPENDING ON.”

    Essentially, that’s what it is. Internally, a COBOL READ (without INTO) >>> is equivalent to PL/I READ SET, and a COBOL WRITE (without FROM) is
    functionally equivalent to PL/I LOCATE, but the first LOCATE is executed >>> for free after OPEN, each WRITE is followed by a free LOCATE, and CLOSE
    performs an undocumented un-LOCATE (in OS/360 and its descendants, using >>> an undocumented un-PUT function in QSAM, QISAM, etc.).

    By the way, please hold off on downloading or using this feature for a >>>> while, since a serious bug just surfaced that I will be working on anon. >>>
    Don’t mean nuttin’ to me unless you create a version for macOS (or at >>> least for Darwin).

    Windoze next :-(

    --
    Pete
    linux subsystem for windows?
    br johann


    I’ve been told that WSL2 works, but I haven’t heard any details yet. WSL1 does not work. I’d like to a little better, I’m playing around with MinGW, but haven’t had success linking with libraries yet. If I can’t get that to work, it’s on to plan B.

    --
    Pete

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)