Click here to Skip to main content
13,558,069 members
Click here to Skip to main content
Add your own
alternative version


48 bookmarked
Posted 20 Jan 2002
Licenced CPOL

Delta Forth .NET

, 19 Aug 2013
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.

You may also be interested in...

Comments and Discussions

GeneralMy vote of 5 Pin
Southmountain19-Aug-13 13:08
memberSouthmountain19-Aug-13 13:08 
QuestionWHich Version Pin
Wisen Technologies17-Aug-13 2:42
groupWisen Technologies17-Aug-13 2:42 
AnswerRe: WHich Version Pin
Valer BOCAN19-Aug-13 4:51
memberValer BOCAN19-Aug-13 4:51 
QuestionDelta Forth supported? maintained? Pin
Bruce Axtens28-Jun-10 16:33
memberBruce Axtens28-Jun-10 16:33 
GeneralEmbarrassed Pin
jimmygyuma1-Nov-09 7:40
memberjimmygyuma1-Nov-09 7:40 
How do you run it? Double-clicking the .exe runs it only long enough to show the copyright info (I guess) and quits.
AnswerRe: Embarrassed Pin
Valer BOCAN1-Nov-09 18:32
memberValer BOCAN1-Nov-09 18:32 
QuestionHELP! Pin
fasehah6-May-08 4:08
memberfasehah6-May-08 4:08 
GeneralIncredible job! Pin
Eric Engler1-Jul-06 16:50
memberEric Engler1-Jul-06 16:50 
GeneralRe: Incredible job! Pin
Eric Engler5-Jul-06 17:06
memberEric Engler5-Jul-06 17:06 
GeneralEmbbed Pin
sudheerravindran30-May-04 21:58
membersudheerravindran30-May-04 21:58 
GeneralRPL Pin
bouli17-Dec-03 11:27
memberbouli17-Dec-03 11:27 
QuestionWhat's it good for? Pin
b0blee31-Jul-03 12:02
sussb0blee31-Jul-03 12:02 
AnswerRe: What's it good for? Pin
Valer BOCAN31-Jul-03 21:00
memberValer BOCAN31-Jul-03 21:00 
QuestionDid Valer get his PhD? Pin
Nishant S19-Apr-03 13:20
editorNishant S19-Apr-03 13:20 
AnswerRe: Did Valer get his PhD? Pin
Valer BOCAN20-Apr-03 20:38
memberValer BOCAN20-Apr-03 20:38 
GeneralFunny quote Pin
Reyes13-Feb-03 23:21
memberReyes13-Feb-03 23:21 
QuestionI wonder what Chuck thinks of this? Pin
synchromesh18-Nov-02 9:16
membersynchromesh18-Nov-02 9:16 
QuestionWhy no .NET compiler implementations? Pin
Heath Stewart15-Nov-02 3:28
memberHeath Stewart15-Nov-02 3:28 
AnswerRe: Why no .NET compiler implementations? Pin
Valer BOCAN15-Nov-02 3:37
memberValer BOCAN15-Nov-02 3:37 
GeneralYour approach Pin
Shaun Wilde19-Jul-02 10:18
memberShaun Wilde19-Jul-02 10:18 
GeneralRe: Your approach Pin
Valer BOCAN26-Jul-02 20:31
memberValer BOCAN26-Jul-02 20:31 
GeneralRe: Your approach Pin
RichT6666-May-03 21:22
sussRichT6666-May-03 21:22 
GeneralRe: Your approach Pin
Zdenek Navratil21-May-03 21:06
memberZdenek Navratil21-May-03 21:06 
GeneralThe link to the source code Pin
123bhy22-Jan-02 6:54
member123bhy22-Jan-02 6:54 
GeneralRe: The link to the source code Pin
Valer BOCAN22-Jan-02 7:23
memberValer BOCAN22-Jan-02 7:23 

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

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

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01-2016 | 2.8.180515.1 | Last Updated 19 Aug 2013
Article Copyright 2002 by Valer BOCAN
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid