Welcome to the Seed7 Homepage
Seed7 is a general purpose programming language designed by Thomas Mertes.
It is a higher level language compared to Ada, C/C++ and Java.
The Seed7 interpreter and the example programs are open-source software.
There is also an open-source Seed7 compiler. The compiler translates Seed7
programs to C programs which are subsequently compiled to machine code.
In Seed7 new statements and operators can be declared easily.
Functions with type results and type parameters are more elegant
than a template or generics concept.
Object orientation is used where it brings advantages and
not in places where other solutions are more obvious.
Although Seed7 contains several concepts from other programming languages,
it is generally not considered a direct descendant of any other
Features of Seed7
- As an extensible programming language it supports user defined
statements and operators.
- Types are first class objects (Templates and generics
can be defined easily without special syntax).
- Predefined constructs like arrays or for-loops
are defined in the language itself.
- Object orientation supports interfaces and multiple dispatch.
- Static type checking and the absence of automatic casts help to find errors at compile-time.
- There is an automatic memory management that works without a garbage collection
- Numbers which have unlimited size are provided with the types bigInteger and bigRational.
- Exception handling and source code debugging are supported.
- Functions, operators and statements can be overloaded.
- There are various predefined types like array, hash,
set, struct, color, time,
- Seed7 programs are source code portable without any need to change the code.
- Seed7 programs can connect to MySql/MariaDb, SQLLite, PostgreSQL, Oracle and ODBC databases.
- Seed7 runs under Linux, various Unix versions and Windows.
- The interpreter and the example programs use the GPL
license, while the runtime library uses the LGPL license.