Discussion:
ANN: DX-Forth 4.57
(too old to reply)
dxf
2024-12-08 03:01:12 UTC
Permalink
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
Hans Bezemer
2024-12-09 08:28:37 UTC
Permalink
Post by dxf
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.
v4.57 2024-12-08
+ added - removed * fixed ! changed = updated
+ (NUMBER) \CHAR CSKIP "
! INTEGER moved to TOOLS
! DOSLIB: strings, parsing, files
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
John
2024-12-23 23:41:03 UTC
Permalink
Post by Hans Bezemer
Post by dxf
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.
v4.57  2024-12-08
+ added  - removed  * fixed  ! changed  = updated
+  (NUMBER) \CHAR CSKIP "
!  INTEGER moved to TOOLS
!  DOSLIB: strings, parsing, files
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
dxf
2024-12-24 02:28:49 UTC
Permalink
...
Very impressive.  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.
John
2024-12-25 04:06:05 UTC
Permalink
Post by dxf
...
Very impressive.  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
dxf
2024-12-25 08:09:36 UTC
Permalink
Post by John
...
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?
Reals are entered with an 'e' thus:

3e 5e f* f. 15. ok

The forth interpreter must be in DECIMAL for this to work.
Post by John
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
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.
Post by John
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....
Since Forth is rather different it has had to develop its own conventions.
A bit of practice and it will become second nature!

HTH
Anton Ertl
2024-12-25 11:36:16 UTC
Permalink
Post by dxf
Post by John
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
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
dxf
2024-12-26 03:06:48 UTC
Permalink
Post by John
...
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....
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).

Loading...