MPE Logo
MicroProcessor Engineering,
Limited
"More real, less time."

Main page & What's new?
Information and Services 
MPE Software 
MPE Hardware 
Development Hardware 
Free Downloads  
Pricelist 
Contact Us or Place an Order 


MPE Logo
ProForth for Windows
Version 2.36


Ideal for Windows user interfaces, data acquisition, hardware control and general Windows programming


MPE ProForth for Windows v2 was designed for serious Windows programming, and was our premium Windows package for many years. Although new development is on VFX Forth for Windows, we are keeping version 2 as a low-cost Windows platform.

ProForth for Windows v2.36 provides a Forth environment designed to run under Microsoft Windows 95/98/NT/2000/XP and is the ideal tool for rapidly creating Windows applications. Using our GUIDE visual toolkit to generate code and taking advantage of Forth's interactive and extensible nature, you can quickly build applications and test them 'as you go'. With easy access to the power of the 32 bit Windows API using direct calls or high-level Forth words, you will be surprised at the speed in which your applications are up and running.

ProForth for Windows applications perform tasks as varied as planning the construction of the new Hong Kong airport and other sites all over the world, to running commercial laundries.



New for PFW 2.36 and 2.34
  • 2.36 is a minor upgrade from 2.34, incorporating changes for Windows XP stability and for some clients. The following changes apply to 2.34 onwards.

  • Using Generic I/O, each task has separate input and output streams. A Generic device is represented by a unique handle which can be assigned to either or both streams to redirect the normal Forth words such as KEY and EMIT. Generic device drivers are supplied for serial line, text buffers, files and a richedit based console window. The documentation shows you how to add your own device types
  • The EXAMPLES\OOP directory provides an OOP package with classes, objects, methods, inheritance, encapsulation and polymorphism. Windows messages may be treated as method selectors
  • Text macros allow you to substitute macros in text strings. There are facilities to allow you to define your own macros. The words FROM FROM-FILE INCLUDE SAVE and BIND support macro substitution
  • Because so many people use Petzold’s book ‘Programming Windows 95’ as their major Windows reference, we have included code that allows Windows examples from this book to be ported easily. The EXAMPLES directory contains conversions of the bouncing ball, random rectangles and analogue clock examples
  • The file ANSEXT22.FTH in the EXAMPLES directory provides a harness that makes ProForth for Windows an ANS compliant system
  • The word MAT is an enhanced version of SIMILARS that allows pattern matching
  • The standard PFW structure package now includes UNIONs

Faster Windows Development

ProForth for Windows has big advantages over conventional Windows programming tools because writing code in Forth is an interactive and incremental process. In most languages the code has to be edited and saved, recompiled and linked before execution - even for the smallest change. ProForth lets you enter code directly into the system via the interactive debug window. An entire program or an individual function can be entered in the debug window and immediately executed. It can then be tested using any data you choose and modified as necessary. You can quickly design, code, and test the individual windows that make up your application before linking them all together and saving them off as a turnkey application.

ProForth for Windows is a full 32-bit implementation of Forth designed to exploit the power of 32-bit operating systems such as Windows 95, Windows 98 and Windows NT. Most ProForth words can automatically detect which version of Windows is running and execute accordingly, so code and applications can be written that will be fully compatible across all versions of Windows.

In addition to giving you fast interactive access to the Windows API and a full set of standard Forth words (functions), ProForth also provides a rich selection of high-level words to simplify the complicated and long winded process of writing Windows applications. Many Windows API calls are available as standard whilst new calls can be defined and used with the intuitive library import mechanism. Over 26,000 Windows constants are instantly available so that complex windows, menus and dialogs can be constructed from a few lines of code. Simple interfaces to facilities such as serial communications, multitasking, DDE, common controls, DLLs and filing are provided. And because of ProForth's completely extensible and open architecture, you can modify and add to these words, tailoring the system to your needs.

Windowed Debugger

The EXAMPLES\WDBG directory contains a debugger that allows words to be debugged with single stepping, tracing, breakpoints and display of both stacks. All display is in a separate window that does not interfere with the application.

Comprehensive Libraries

ProForth comes supplied with libraries of high-level Forth words to ease the task of development. These cover such areas as:

  • Windows programming
  • Graphics programming
  • Floating point
  • Assembly code
  • Multitasking
  • Serial communications
  • DLL creation and access
  • File Handling
Library words can be used directly from the debug window, de-compiled, and examined using the browser. Full source is provided.


Visual Windows programming

Due to the interactive nature of Forth programming and the wide selection of ProForth words, developing Windows applications under ProForth cuts development time significantly. Using GUIDE (MPE's Graphical User Interface Design Environment) will slash it further still.

GUIDE is a visual interface editor that allows you to design your user interface by simply pointing, clicking and dragging objects with the mouse. Menus, windows, dialog boxes, toolbars and property sheets can be created and many types of controls, including Windows 95 common controls, can be drawn directly on the screen and edited without any programming involved at all. GUIDE will then generate an entire application framework including window and control definitions, window procedures, and stub code for all specified events and messages that are received by the application. These stubs can be edited from within GUIDE or in a text editor to provide the functionality of your application.

The code that GUIDE produces, unlike that of some other interface designers, is easily readable. It uses standard ProForth words, clearly commented, laid out and sectioned, to generate the application framework. This code can be directly compiled, edited and executed. You will not need to distribute separate DLLs and libraries with your application. The code produced can also be read straight back into GUIDE for modification at any time.

GUIDE can be used to develop full-blown Windows applications or as a tool for rapid prototyping. The code that it produces also serves as a useful aid in learning how to program Windows with ProForth.


Advanced Diagnostic and Development Tools

ProForth is a fully integrated development system, not just a Forth interpreter. The package is mouse and menu driven with a configurable debug window for testing code. It also has several tools for monitoring and altering the system. These include:

  • the state monitor for viewing and manipulating the Forth data stack
  • the DLL scanner for examining the functions available in dynamic link libraries
  • GUIDE for generation of Windows user interfaces
  • the dictionary browser for decompiling application and user words
With the browser you can search for individual words, decompile, then locate their source files, dump their memory contents, or determine their usage in the system. You can also browse the ProForth support DLL that contains over 26,000 Windows constants.

ProForth supports project files, making it simpler to organise your files and resources for a particular application. Once you are ready to create a turnkey application, you can save off your code and ProForth will bind it to make an EXE file that can be run independently of ProForth. The EXE can be distributed to your colleagues and customers. 32-bit dynamic link libraries can be created in a similar fashion and can be called from ProForth applications or from other languages such as C or C++.

A comprehensive on-line help file lists all the standard ProForth words and GUIDE functions.

Hardware Control

Forth is an ideal language for programming and debugging embedded systems. ProForth can be used as a test bed for quickly prototyping such systems in an interactive Windows environment. MPE produces a range of Forth cross compilers for targeting many types of embedded microprocessors.

ProForth for Windows can also access and control devices connected to your PC’s parallel and serial ports. Again, this can be done interactively in real-time.

Programming Examples

Numerous examples are given to demonstrate most of the main features of ProForth. These range from simple windows and dialogs to a drawing program and text editor that show how complex graphics and text can be manipulated using ProForth words and calls to the Windows API.



ProForth for Windows Features

  • Interactive 32-bit Forth Windows programming environment
  • Runs under Windows 95/98 and Windows NT/2000/XP
  • Simple access to the full 32-bit Windows API and 32 bit DLLs
  • Over 26,000 Windows constants instantly available from the command line and for use in applications
  • High level Forth words and the GUIDE visual window editor speed up the development process for Windows applications
  • Easy to use integrated development environment gives quick access to the development tools, command line, and project control facilities
  • Development tools include debugger, stack monitor, dictionary browser, DLL scanner, binary overlays, 80386/387 assembler and a disassembler
  • Includes support for local variables, structures, and the ANS Forth standard
  • Fast compilation
  • Forth code can be compiled into 32 bit DLLs or .EXE files to create standalone Windows applications.
  • DIS, USES, LOCATE, SIMILARS and MAT functions for rapid navigation of program structure and for examining source code
  • Multitasker includes message passing, synchronisation, semaphores and external event handling
  • Forth words and interfaces for file system support, hardware floating point, serial communications and much more
  • On-line help for 'public' Forth words
  • Includes PDF manuals and glossary describing Windows programming in ProForth and other features of the system in-depth
  • Comprehensive selection of example code illustrating many aspects of Windows programming with ProForth
  • Supplied with full source code so that the ProForth system can be rebuilt to suit the way that you work
  • Generic I/O support
  • Object Oriented Programming package
  • Windowed debugger allows single stepping, tracing, breakpoints and stack displays
  • Text macros allowing you to substitute macros in text strings
  • "Petzold Mode" allows examples from Petzold's book to be ported easily


TopReturn to Top HomeReturn to HomePage