You are here:

Introducing the new 7th programming language

The 7th® programming language is based on the concepts of Charles Henry Moore's "Problem Oriented Language".

Because of its unique interpreting compiler, Forth™ makes programming quite easy and a compiled program – called “word” – is very compact.
The programming language 7th runs as such an interpreting compiler for stability and portability on the JVM.
Beside Forth's major features 7th brings several enhancements, to name some
 • object orientation
 • help function
 • redirecting of program output
 • complex numbers
 • array and array functions
 • pattern matching

The functions of the "Klassenbibliothek" formerly found here are all included in 7th.
7th comes with an complete development system, with an editor and a code beautifier that does syntax highlighting and correct indentation in a very small package.

Comment syntax

To comment out the rest of the line use //
//  Loop through numbers from 1 to 10.000

to show the stack behavior of a word use ( -- )  "-" two times!
: facul  ( n -- facul )

to comment out a part of a line use (* *)
row i @ (* occupied *) 'x' == if

Text inside round braces is interpreted as an algebraic expression ( )

7th IDE – Try Out

Depending on the Java™ security settings, the start of the 7th IDE could be blocked…

7th Try Out Page

***Don't waste time, if the IDE won't start over the web. Go to the last Tab ˂Download˃ and click ˂…the 7th IDE˃. If the program is useful, You will use it only locally anyway.***

object orientation

variable x

0.5 x !

"string" x !

ERR: ”x” expects java.lang.Number — found java.lang.String…

help function

redirecting of program output

ok> help .us

— .us —


prints the user stack


--nope     don't execute the word


--verbose  prints what would happen, when the word is executed


--str      pushes the output as string onto the stack instead of printing


--out      redirects the message to the given file


--append   appends the message to the given file


complex numbers

ok> (3, 4i)

ok> (5, 6i)

ok> *

ok> .s

› (-9, 38i)

array and array functions

ok> 8 int-array numbers

ok> 7 numbers 0 !

ok> numbers .s

› Create…Integer[8]+[7, 0, 0, 0, 0, 0, 0, 0]‹numbers›

pattern matching

find a  /pattern/  ~~

match a /pattern/ =~

ok> "text" /ex/    ~~ .s

› true

ok> "text" /.ex./  =~ .s

› true