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 compiles 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 of other programming languages it is generally not considered as a direct descendant of any other programming language.
Features of Seed7
- AsÂ 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 declared in the language itself.
- Object orientation with interfaces andÂ multiple dispatch.
- Static type checking andÂ no automatic casts.
- Support forÂ bigInteger andÂ bigRational numbers which have unlimited size.
- exception handling
- overloading of procedures/functions/operators/statements
- VariousÂ predefined types like resizableÂ arrays,Â hashes,Â sets,Â structs,Â color,Â time,Â duration, etc.
- 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.