Introduction
Welcome to Final!
Final is a new, modern, stack-based programming language designed by Brad Aisa in the tradition of Forth. “But this ain’t yer granddaddy’s Forth!” Final has all the features a modern programming language needs, such as:
- rich primitive types
- polymorphic operators
- Objects and Types
- Compound classes such as Lists, Maps, Sets, and Dynamic Objects
- Vectors, Matrices, and statistical and model-fitting/predicting operations
- Structured Exception Handling (SEH)
- Dynamically loadable modules (work in progress, local modules only this release)
- support for Http/Web, Json, Threading
- Blitting and Drawing onto a Pixmap for creating images such as PNG/JPEG/GIF
- a final-gui version with support for creating Graphical User Interfaces
- a Simulation/Game framework with animation support, and a Motion/Hit engine
- … and much more
Final was written primarily to be a language for the creation of AI Tools, but it is just as useful as a general purpose stack-based programming language. Final can be run in an interactive Terminal User Interface (TUI), a graphical interface (GUI), or can be embedded in a Request/Response mode in other Go programs.
Final runs on Windows, Mac, and Linux, for both AMD64 and ARM64 cpus.
A custom version of Final for Raspberry Pi 5 (64-bit Pi OS) also exists, with a library of low-level hardware words to access and control the Pi’s breakout pins and peripherals.
You’ll get the most out of this introductory tutorial and user guide by installing Final and following along. So let’s get started…