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.