Seed7 was built as a general purpose programming language that is comparable to the higher level languages compared to Ada, C/C++ and Java.
The Seed7 compiler is used to compile Seed7 applications 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.
Here are some key 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.
What's New in This Release: [ read full changelog ]
· Documentation comments have been added or improved in bigfile.s7i, char.s7i, clib_file.s7i, complex.s7i, external_file.s7i, file.s7i, float.s7i, hash.s7i, integer.s7i, shell.s7i, string.s7i, utf16.s7i, osfiles.s7i, rational.s7i, arrlib.c, blnlib.c, bstlib.c, arr_rtl.c, big_gmp.c, big_rtl.c, bst_rtl.c, chrlib.c, chr_rtl.c, cmdlib.c, cmd_rtl.c, fillib.c, fil_rtl.c, fltlib.c, flt_rtl.c, hshlib.c, hsh_rtl.c, int_rtl.c, pol_sel.c, pol_unx.c, setlib.c, set_rtl.c, strlib.c, str_rtl.c.
· The functions lower and upper in string.s7i and char.s7i have been improved to use the default Unicode case mapping. In other words: conversions to lower respectively upper case works for all Unicode characters, which have a case mapping. Characters without case mapping are left unchanged. The mapping is independent from the locale. Individual character case mappings cannot be reversed, because some characters have multiple characters that map to them.
· In the library deflate.s7i the performance of the deflate ...