• ANN: DX-Forth 4.57

    From dxf@dxforth@gmail.com to comp.os.cpm,comp.lang.forth on Sun Dec 8 14:01:12 2024
    From Newsgroup: comp.os.cpm

    DX-Forth is a Forth language compiler and development system
    for MS-DOS and CP/M-80 operating systems. It is intended to
    be a complete, easy to use, programming tool for the creation
    of turnkey applications.

    What's new:

    v4.57 2024-12-08

    + added - removed * fixed ! changed = updated

    + (NUMBER) \CHAR CSKIP "
    ! INTEGER moved to TOOLS
    ! DOSLIB: strings, parsing, files

    Downloads:

    DXCPM457.ZIP (CP/M-80)
    DXDOS457.ZIP (MS-DOS)

    https://drive.google.com/drive/folders/1kh2WcPUc3hQpLcz7TQ-YQiowrozvxfGw
    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From Hans Bezemer@the.beez.speaks@gmail.com to comp.os.cpm,comp.lang.forth on Mon Dec 9 09:28:37 2024
    From Newsgroup: comp.os.cpm

    On 08-12-2024 04:01, dxf wrote:
    DX-Forth is a Forth language compiler and development system
    for MS-DOS and CP/M-80 operating systems. It is intended to
    be a complete, easy to use, programming tool for the creation
    of turnkey applications.

    What's new:

    v4.57 2024-12-08

    + added - removed * fixed ! changed = updated

    + (NUMBER) \CHAR CSKIP "
    ! INTEGER moved to TOOLS
    ! DOSLIB: strings, parsing, files

    Downloads:

    DXCPM457.ZIP (CP/M-80)
    DXDOS457.ZIP (MS-DOS)

    https://drive.google.com/drive/folders/1kh2WcPUc3hQpLcz7TQ-YQiowrozvxfGw

    Congratulations! It's nice to see such compilers remain maintained and relevant!

    Hans Bezemer
    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From John@john@somewhere to comp.os.cpm,comp.lang.forth on Mon Dec 23 17:41:03 2024
    From Newsgroup: comp.os.cpm

    On 12/9/24 02:28, Hans Bezemer wrote:
    On 08-12-2024 04:01, dxf wrote:
    DX-Forth is a Forth language compiler and development system
    for MS-DOS and CP/M-80 operating systems.-a It is intended to
    be a complete, easy to use, programming tool for the creation
    of turnkey applications.

    What's new:

    v4.57-a 2024-12-08

    + added-a - removed-a * fixed-a ! changed-a = updated

    +-a (NUMBER) \CHAR CSKIP "
    !-a INTEGER moved to TOOLS
    !-a DOSLIB: strings, parsing, files

    Downloads:

    DXCPM457.ZIP (CP/M-80)
    DXDOS457.ZIP (MS-DOS)

    https://drive.google.com/drive/folders/1kh2WcPUc3hQpLcz7TQ-YQiowrozvxfGw

    Congratulations! It's nice to see such compilers remain maintained and relevant!

    Hans Bezemer

    Very impressive. Nice to see CP/M supported.
    Will it run on later versions of DOS past 2.x ?

    -John

    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From dxf@dxforth@gmail.com to comp.os.cpm,comp.lang.forth on Tue Dec 24 13:28:49 2024
    From Newsgroup: comp.os.cpm

    On 24/12/2024 10:41 am, John wrote:
    ...
    Very impressive.-a Nice to see CP/M supported.
    Will it run on later versions of DOS past 2.x ?

    Yes - I should have been more clear. For a long time it was developed
    under Win98 in a DOS window. 2.x support is probably the tentative one.


    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From John@john@somewhere to comp.os.cpm,comp.lang.forth on Tue Dec 24 22:06:05 2024
    From Newsgroup: comp.os.cpm

    On 12/23/24 20:28, dxf wrote:
    On 24/12/2024 10:41 am, John wrote:
    ...
    Very impressive.-a Nice to see CP/M supported.
    Will it run on later versions of DOS past 2.x ?

    Yes - I should have been more clear. For a long time it was developed
    under Win98 in a DOS window. 2.x support is probably the tentative one.


    Also, I seem to have some trouble with the floating point.
    Keep getting f-stack error messages, which the manual says are
    under/over flows.


    1 9 / <return> returns a zero, not the expected 0.11111

    So, I'm guessing the F* (etc.) are the floating point arithmetic.
    3 5 F* <return> however gives an "f-stack" error. 15 is an overflow?

    And not sure how to enter decimals, I though maybe entering a ".0" after
    my numbers would flag them as reals not integers, but...
    3.14 2.96 <return> does not put both numbers on the stack

    Maybe I'm not doing it right, I'm just doing what's intuitive to me.
    And yes, I'm running FORTH-F. This is the DOS version.
    Please help a wayward user....

    -J
    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From dxf@dxforth@gmail.com to comp.os.cpm,comp.lang.forth on Wed Dec 25 19:09:36 2024
    From Newsgroup: comp.os.cpm

    On 25/12/2024 3:06 pm, John wrote:
    ...
    Also, I seem to have some trouble with the floating point.
    Keep getting f-stack error messages, which the manual says are under/over flows.


    1 9 / <return>-a returns a zero, not the expected 0.11111

    So, I'm guessing the F* (etc.) are the floating point arithmetic.
    3 5 F* <return>-a however gives an "f-stack" error. 15 is an overflow?

    Reals are entered with an 'e' thus:

    3e 5e f* f. 15. ok

    The forth interpreter must be in DECIMAL for this to work.

    And not sure how to enter decimals, I though maybe entering a ".0" after my numbers would flag them as reals not integers, but...
    3.14-a 2.96-a <return> does not put both numbers on the stack

    Those would be illegal numbers - neither reals nor integers. Integers
    take the form:

    Singles: 1 -2 3
    Doubles: 1. -2. 3.

    Doubles have their own operators D+ D* D. etc. There are also mixed operators e.g. UM* that takes two unsigned singles and leaves an unsigned double.


    Maybe I'm not doing it right, I'm just doing what's intuitive to me.
    And yes, I'm running FORTH-F.-a This is the DOS version.
    Please help a wayward user....

    Since Forth is rather different it has had to develop its own conventions.
    A bit of practice and it will become second nature!

    HTH

    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From anton@anton@mips.complang.tuwien.ac.at (Anton Ertl) to comp.os.cpm,comp.lang.forth on Wed Dec 25 11:36:16 2024
    From Newsgroup: comp.os.cpm

    dxf <dxforth@gmail.com> writes:
    On 25/12/2024 3:06 pm, John wrote:
    And not sure how to enter decimals, I though maybe entering a ".0" after my numbers would flag them as reals not integers, but...
    3.14-a 2.96-a <return> does not put both numbers on the stack

    Those would be illegal numbers - neither reals nor integers.

    At least in standard Forth. In traditional Forth 3.14 and 2.96 are
    double-cell integers (with the value #314 and #296). And backwards compatibility demands that they should not be recognized as FP values.

    In Gforth snapshots from the last few years (not available for CP/M,
    sorry) you get the following when you type in "3.14":

    *terminal*:2:1: warning: '3.14' is a double-cell integer; type `help' for more info ok 2

    HELP then says:

    To input floating-point numbers, use an exponent, e.g. "1e".
    To input double-cell integers without warnings, use a base-prefix and put
    the '.' only in the last position, e.g. "#1.".

    But you can also do

    ' rec-float ' forth-recognize defer@ >stack

    and then you can do things like

    3.14 2.96 f* cr f.

    which produces the following output:

    *terminal*:18:1: warning: float without 'e' is non-standard
    *terminal*:18:6: warning: float without 'e' is non-standard
    9.2944 ok

    You can also disable the warnings with "warnings off".

    Followups set to comp.lang.forth.

    - anton
    --
    M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
    comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
    New standard: https://forth-standard.org/
    EuroForth 2024: https://euro.theforth.net
    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From dxf@dxforth@gmail.com to comp.os.cpm,comp.lang.forth on Thu Dec 26 14:06:48 2024
    From Newsgroup: comp.os.cpm

    On 25/12/2024 3:06 pm, John wrote:
    ...
    Maybe I'm not doing it right, I'm just doing what's intuitive to me.
    And yes, I'm running FORTH-F.-a This is the DOS version.
    Please help a wayward user....

    Thanks for this. While there is a 'walk through' for Forth beginners
    included in DXFORTH.TXT I omitted to mention how to enter doubles and
    reals. This will be fixed in the next update (or I may just issue an
    interim release as updates tend to be infrequent nowadays).

    --- Synchronet 3.21d-Linux NewsLink 1.2