Welcome to the Seed7 Homepage
Seed7 is a high level general purpose programming language. The Seed7 project is open-source. There is an interpreter and a compiler. The compiler translates Seed7 programs to C programs which are subsequently compiled to machine code.
Features of Seed7
- As an extensible programming language it supports user defined statements and operators.
- The whole language is not hard-coded in the compiler but defined via include-libraries (syntactically and semantically).
- Types are first class objects (Templates and generics can be defined easily without special syntax).
- All Seed7 functions can be executed at compile-time or at run-time.
- 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.
- Seed7 is operating system and architecture independent.
- Seed7 programs are source code portable without any need to change the code.
- Exception handling is supported (e.g. an integer overflow raises OVERFLOW_ERROR).
- Source code debugging is supported.
- The types bigInteger and bigRational support numbers of unlimited size.
- Functions, operators and statements may be overloaded.
- There are various predefined types like array, hash, set, struct, color, time, duration, etc.
- Seed7 runs under Linux, MacOS, various Unix versions and Windows.
- Interpreter, compiler and the example programs use the GPL license, while the runtime library uses the LGPL license.
Standard libraries of Seed7
- The libraries provide the same functionality under all supported operating systems.
- Numerous standard libraries allow writing programs without calling functions from third party libraries.
- There is a database independent API, which can connect to MySQL, MariaDB, SQLLite, PostgreSQL, Oracle, ODBC, Firebird, Interbase, Db2, Informix and SQL Server databases.
- There is a 2-D graphic library which uses X11 under Linux, GDI under Windows and JavaScript in the Browser.
- Parser and interpreter are part of the run-time library.