Click here to Skip to main content
Click here to Skip to main content

Delta Forth .NET

, 19 Aug 2013 CPOL
Rate this:
Please Sign up or sign in to vote.
World's first Forth compiler for the .NET platform

Delta Forth .NET - World's first Forth compiler for the .NET platform

Delta Forth is a non-standard Forth dialect. It has several limitations over traditional standards; however it may be an excellent starting point for beginners. The traditional compreter (compiler – interpreter) approach of other implementations did not appeal when the Delta dialect was designed since computers evolved enormously since the original Forth specification was written. Instead, we deal with compiled programs and thus several original Forth words – mainly related to chained execution - have lost their meaning (see STATE, COMPILE, IMMEDIATE, etc.).

It has been stated that a complete traditional Forth environment can be coded by a single person in a three month time frame. I managed to release the beta 1 version of Delta in half that time. Despite the short time it took to be developed, this tool has a long history, being a continuation of the award-winning Delta Forth for Java project that I started back in 1997. At that time, it was the first Forth compiler for Java and was a real surprise when I presented it as my graduation project two years later. 

Main Features 

  • Targets the Common Language Runtime (CLR) directly, i.e. there is no intermediate p-code generation
  • Compilation to either .EXE or .DLL
  • Support for integer and string constants
  • Support for local variables
  • Support for include files
  • Support for external libraries
  • Support for signed assemblies 

What others have said... 

"Well done on your Forth compiler for .NET. It must be over fifteen years since I last touched Forth, but it’s a great example of how the .NET Framework supports stack-based languages well." Tim Sneath, .NET Developer Group, Microsoft Corp. 

"I work with all of our .NET language partners, and noticed your recent announcement of your Forth compiler [...]"Brad Merrill, Microsoft Corp.

"Excellent work Valer - I'm most impressed!" Chris Maunder,

"What a delight to trip across your Delta Forth .NET.  I was wondering who'd have the first FORTH .NET offering. I need wonder no more. [...] Keep up the good work." Dennis Misener

"I started out with your Delta Forth. NET [...] and found it very interesting using Forth for writing .NET applications." Lennie De Villiers

Read more on my website at 


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Romania Romania
I am a software engineer based in Timișoara, Romania and currently hold the position of software architect for one of the largest companies in the world.
I invented a dialect of the Forth programming language and implemented the first Forth compiler for the .NET platform. I reverse-engineered the communication protocol of some GPS trackers and wrote from scratch a vehicle tracking system that is currently used to track my two cars. I hold a PhD in computer science and I am the author of several papers and a book chapter. In the 90s I wrote several computer viruses in assembly language for my own research and I was the first to devise a technique to deter heuristic virus scanners. In short, a humble man.

Comments and Discussions

GeneralMy vote of 5 PinmemberSouthmountain19-Aug-13 14:08 
QuestionWHich Version PingroupWisen Technologies17-Aug-13 3:42 
AnswerRe: WHich Version PinmemberValer BOCAN19-Aug-13 5:51 
QuestionDelta Forth supported? maintained? PinmemberBruce Axtens28-Jun-10 17:33 
GeneralEmbarrassed Pinmemberjimmygyuma1-Nov-09 8:40 
AnswerRe: Embarrassed PinmemberValer BOCAN1-Nov-09 19:32 
QuestionHELP! Pinmemberfasehah6-May-08 5:08 
GeneralIncredible job! PinmemberEric Engler1-Jul-06 17:50 
GeneralRe: Incredible job! PinmemberEric Engler5-Jul-06 18:06 
GeneralEmbbed Pinmembersudheerravindran30-May-04 22:58 
GeneralRPL Pinmemberbouli17-Dec-03 12:27 
QuestionWhat's it good for? Pinsussb0blee31-Jul-03 13:02 
AnswerRe: What's it good for? PinmemberValer BOCAN31-Jul-03 22:00 
QuestionDid Valer get his PhD? PineditorNishant S19-Apr-03 14:20 
AnswerRe: Did Valer get his PhD? PinmemberValer BOCAN20-Apr-03 21:38 
GeneralFunny quote PinmemberReyes14-Feb-03 0:21 
QuestionI wonder what Chuck thinks of this? Pinmembersynchromesh18-Nov-02 10:16 
QuestionWhy no .NET compiler implementations? PinmemberHeath Stewart15-Nov-02 4:28 
AnswerRe: Why no .NET compiler implementations? PinmemberValer BOCAN15-Nov-02 4:37 
GeneralYour approach PinmemberShaun Wilde19-Jul-02 11:18 
GeneralRe: Your approach PinmemberValer BOCAN26-Jul-02 21:31 
GeneralRe: Your approach PinsussRichT6666-May-03 22:22 
GeneralRe: Your approach PinmemberZdenek Navratil21-May-03 22:06 
GeneralThe link to the source code Pinmember123bhy22-Jan-02 7:54 
GeneralRe: The link to the source code PinmemberValer BOCAN22-Jan-02 8:23 
GeneralOh my GOD PinmemberTim Smith21-Jan-02 6:40 
GeneralRe: Oh my GOD PinmemberJon Sagara21-Jan-02 22:55 
GeneralRe: Oh my GOD PinmemberDaniel Turini21-Jan-02 23:03 
GeneralRe: Oh my GOD PinmemberJon Sagara21-Jan-02 23:05 
GeneralRe: Oh my GOD PinmemberNish [BusterBoy]21-Jan-02 23:20 
GeneralRe: Oh my GOD PinmemberWillemM4-Nov-03 6:26 
GeneralRe: Oh my GOD PinmemberNish [BusterBoy]21-Jan-02 23:18 
GeneralRe: Oh my GOD PinmemberValer BOCAN21-Jan-02 23:46 
GeneralRe: Oh my GOD PinmemberNish [BusterBoy]21-Jan-02 23:46 
GeneralRe: Oh my GOD Pinmemberpeterchen27-Jan-02 3:17 
GeneralRe: Oh my GOD PinmemberNish [BusterBoy]27-Jan-02 17:05 
GeneralRe: Oh my GOD PinmemberColin Davies19-Apr-03 13:27 
GeneralRe: Oh my GOD PineditorNishant S19-Apr-03 14:12 
GeneralRe: Oh my GOD PinsussAnonymous14-Oct-04 20:21 
GeneralRe: Oh my GOD Pinmemberricmil4211-May-07 8:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150327.1 | Last Updated 19 Aug 2013
Article Copyright 2002 by Valer BOCAN
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid