Hello World (Forth)

From LiteratePrograms

Jump to: navigation, search
Other implementations: Ada | ALGOL 68 | Alice ML | Amiga E | Applescript | AspectJ | Assembly Intel x86 Linux | Assembly Intel x86 NetBSD | AWK | bash | BASIC | Batch files | C | C, Cairo | C, Xlib | Candle | Clojure | C++ | C# | Delphi | Dylan | E | Eiffel | Erlang | Forth | FORTRAN | Fortress | Go | Groovy | Haskell | Hume | IBM PC bootstrap | Inform 7 | Java | Java, Swing | JavaScript | LaTeX | Lisp | Logo | Lua | Maple | MATLAB | Mercury | OCaml/F Sharp | occam | Oz | Pascal | Perl | PHP | Pic | PIR | PLI | PostScript | Prolog | Python | Rexx | Ruby | Scala | Scheme | Seed7 | sh | Smalltalk | SQL | Standard ML | SVG | Tcl | Tcl Tk | Visual Basic | Visual Basic .NET | XSL

A simple Forth program that prints a message to the screen from the interpreter.

The word .( scans ahead in the input buffer for a matching ) and displays the intervening string. The initial space is ignored, since it is required to separate the word from the text to display.

The word CR (for Carriage Return) prints a newline.

<<hello_world.fs>>=
.( Hello World!) CR

To define a word that prints "Hello World!" you would use .", which scans ahead in the input buffer for a matching " and compiles code to display the intervening string. The initial space is again ignored, since it is required to separate the word from the text to display.

<<hello_world.fs>>=
: hello   ." Hello World!" CR ;
Download code
Views
Personal tools