Description #
Seed7 is a general-purpose, statically typed, compiled language with a strong focus on readability, portability, and extensibility. It combines features from Pascal, Ada, and Modula-2, and allows users to redefine and extend its syntax using the language itself.
History #
Seed7 was started by Thomas Mertes in the early 2000s as a successor to Pascal-like languages with cleaner syntax and broader capabilities. It was designed to avoid the limitations of C and Java by providing built-in support for high-level constructs and native compilation across platforms.
Hello World Code #
$ include "seed7_05.s7i";
const proc: main is func
begin
writeln("Hello, World!");
end func;
How to Run #
Option 1: Online
https://tio.run/#seed7
Option 2: Local
- Install Seed7 from https://seed7.sourceforge.net
- Compile and run:
s7c hello.s7i
./hello
Key Concepts #
- Syntax style: Pascal-like, readable and structured
- Typing discipline: Strong, static typing
- Execution model: Compiled to C, then to native executable
- Common use cases: Education, scripting, system tools, general applications
- Toolchain or ecosystem: Seed7 compiler, standard library
- Paradigms supported: Procedural, modular, extensible syntax
- Compilation details: Seed7 → C → Native binary
- Strengths or quirks: User-defined syntax extensions, built-in data types, no need for external libraries
- Libraries/frameworks: Included for files, sockets, databases, graphics
- Community/adoption: Niche, but actively maintained and documented
Try It Online #
Fun Facts #
Seed7 allows programmers to redefine control structures like if
and for
using its own language syntax. It also supports infinite precision integers, Unicode, and custom operators out of the box.