Seed7 is a general purpose programming language. It is a higher level language compared to Ada, C++, and Java. 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 when it brings advantages and not in places when 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.
| Tags | Software Development Interpreters Compilers |
|---|---|
| Licenses | GPL LGPL |
| Operating Systems | POSIX Linux Unix Windows Mac OS X |
| Implementation | C Seed7 |
Recent releases


Release Notes: FAQ answers, explaining call-by-name and how it is implemented in Seed7, were added. The "ftpserv.sd7" program was improved to work with various FTP client programs. The speed of 'socLineRead' (getln() for sockets) in "soc_rtl.c" was improved. The Unicode support of "ftp.s7i" and "ftp7.sd7" was improved. The compiler was improved to generate optimized code for the the @:= operator. Test cases for the @:= operator were added to "chkstr.sd7". The program "chkccomp.c" was changed to include "version.h" and to define OS_OFF_T_SIZE. The function 'str' for 'fileMode' was improved.


Release Notes: The functions shellEscape and toShellPath were added to the "shell.s7i" library. The compiler (comp.sd7) was improved to work for source files, which contain spaces in their name. The compiler and interpreter were improved to support the action "CMD_SHELL_ESCAPE" (function 'shellEscape'). The "ftp7.sd7" example program was improved to support the 'dir' command. The "ftpserv.sd7" example program was improved to support the commands FEAT, MLST, MLSD, DELE, MODE, and STRU. The functions listDir and bigFileSize were added to the "ftp.s7i" library. The configuration program "setpaths.c" was improved.


Release Notes: The types 'pollData', 'inetListener', and 'socketAddress' were moved from "socket.s7i" to "poll.s7i", "listener.s7i", and "sockbase.s7i" respectively. The functions supported by 'pollData' were changed and improved. The file "pol_dos.c" was added. The "ftpserv.sd7" example was improved to take the IP address for the "PASV" response from the control socket. The console driver "con_win.c" was improved, such that keypressed recognizes control-C as normal keyboard input. The function 'socGets' was improved to avoid realloc(), when the string read is shorter than requested.


Release Notes: The type 'pollData' and several functions were added to the "socket.s7i" library. The makefile "mk_djgpp.mak" was improved to use 'djecho'. The library "duration.s7i" was improved to support the operators +:= and -:= for the type 'duration'. The function 'startProcess' in the library "shell.s7i" was overloaded. The function 'socWrite' in "soc_rtl.c" was improved. The interpreter, compiler, and runtime library (new files "pollib.c", "pollib.h", "pol_sel.c", "pol_unx.c", and "pol_drv.h") were improved to support 'pollData'. The "ftpserv.sd7" example program was improved to work silently.


Release Notes: The makefile "mk_djgpp.mak" was improved to work for DJGPP under DOS. The option -?, which writes helping information, was added to the hi interpreter and to the compiler (comp.sd7). The example programs "ftp7.sd7" and "sydir7.sd7" were improved. The directions N, S, W, and E were renamed in the files of the "dnafight.sd7" example program. Result variables were renamed in several files. The interpreter, compiler, runtime library, and the "shell.s7i" library were improved to support the function 'startProcess'. Several functions were improved to use localtime_s() when USE_LOCALTIME_S is defined.