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.
Seed7 contains several concepts from Pascal, Ada, C, C++ and Java.
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 libraries.
- 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
process.
- Exception handling and source code debugging are supported.
- If an integer computation overflows the exception OVERFLOW_ERROR is raised.
- Numbers which have unlimited size are provided with the types bigInteger and bigRational.
- Functions, operators and statements can be overloaded.
- There are various predefined types like array, hash,
set, struct, color, time,
duration, etc.
- Seed7 programs are source code portable without any need to change the code.
- Seed7 provides a database independent API, which can
connect to MySQL, MariaDB, SQLLite, PostgreSQL, Oracle, ODBC, Firebird, Interbase,
Db2, Informix and SQL Server 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.