Seed7 Changelog

What's new in Seed7 2014-02-02

Feb 4, 2014
  • The manual chapter describing the foreign function interface has been improved.
  • The handling of Unicode in the console has been improved.
  • All strings which are passed to C functions are checked now.
  • The performance of several runtime functions has been improved.
  • New flexible conversion functions have been added to bytedata.s7c.
  • Documentation comments have been added or improved in several files.
  • The program chk_all.sd7 has been improved to check several compiler options.
  • The compiler has been improved to do more optimizations.
  • Checks have been added to chkbig.sd7, chkexc.sd7, and chkflt.sd7.

New in Seed7 2014-01-19 (Jan 20, 2014)

  • The library tdes.s7i with Triple DES cipher support has been added.
  • The library tls.s7i has been improved to accept CertificateRequest messages.
  • Checks for mdiv and mod have been added to chkbig.sd7.
  • The compiler has been improved to do more optimizations for if-statements, the action BIG_MOD (operator mod), and BIG_MDIV (operator mdiv).
  • New functions to open files have been introduced in various libraries.
  • The old functions are still supported, but they are deprecated.
  • Documentation comments have been added or improved in various files.
  • The function getValue for boolean values has been added.

New in Seed7 2014-01-05 (Jan 6, 2014)

  • The library des.s7i with DES (Data Encryption Standard) cipher support has been added.
  • Several functions and support to write values have been added to bin32.s7i.
  • The new library unicode.s7i, with functions to convert between Unicode encodings, has been added.
  • The library gethttps.s7i has been improved to accept links to HTTP.
  • Several checks have been added to chkbig.sd7.
  • The compiler has been improved to do more optimizations for bigInteger functions.
  • A check for the keyword 'restrict' has been added to chkccomp.c.
  • The performance of UTF-8 conversion functions has been improved by up to 6%.

New in Seed7 2013-12-22 (Dec 23, 2013)

  • Consecutive calls of write in bas7.sd7 have been combined into single calls of write respectively writeln.
  • Several links have been added to the FAQ.
  • The types cardSuit and cardRank and the functions cardPixmap and cardBackside have been added to the library cards.s7i.
  • The library cards.s7i has been improved to use functions from pic_util.s7i.
  • The program carddemo.sd7 has been improved to use the new types and functions from cards.s7i.

New in Seed7 2013-12-08 (Dec 9, 2013)

  • Explanations regarding how Seed7 compares to Java and an elegant way to initialize data have been added to the FAQ.
  • Several functions have been moved from shell.s7i to the new library process.s7i.
  • The function commandPath has been added to process.s7i.
  • As a correction of a failure of Windows, the program chk_all.sd7 has been improved to catch an exception.
  • Several pictures have been added or improved in pic16.s7i and pic32.s7i.
  • The function cmdPipe2 in cmd_win.c has been improved to open stdin and stdout in text mode.
  • The function filInputReady has been improved to return TRUE after a hang up.

New in Seed7 2013-11-24 (Nov 25, 2013)

  • The library pic_util.s7i, with picture utility functions, has been added.
  • The pictures cancel_pic, folder_pic, and reset_pic have been added to pic16.s7i and pic32.s7i.
  • A function to convert a pixmap image to BMP format and the function getPixelColor have been added to draw.s7i.
  • All usages of the function clear without parameters have been replaced with clear(black).
  • The performance of the function strCLit in str_rtl.c has been improved by a factor of 10.
  • The functions init_bstri_constants and init_win_constants in s7c.sd7 have been improved.
  • Spelling errors in several files have been fixed.

New in Seed7 2013-11-10 (Nov 11, 2013)

  • Compiler and runtime library have been improved to work on Sparc
  • 64-bit machines under OpenBSD. Thanks go to Brian Callahan, for
  • his support and for providing access to his Sparc 64-bit machine.
  • The FAQ explanation concerning portability has been improved.
  • The new library cc_conf.s7i has been added. This library manages
  • configuration values for C compiler and runtime.
  • The compiler has been improved to use the library cc_conf.s7i.
  • The chapter about the defines used in version.h has been improved
  • in src/read_me.txt.
  • The type rtlGenerictype has been renamed to generictype in the
  • files of the runtime library. Now compiler and runtime library
  • both use the name generictype.
  • The function checkForLimitedStringLiteralLength, a check for
  • trigraph sequences and checks for the presence of getrlimit()
  • and siglongjmp() have been added to chkccomp.c.
  • The function setupStack has been added to cmd_rtl.c. This function
  • tries to raise the stack limit to STACK_SIZE.
  • Usages of USE_SIGSETJMP have been renamed to HAS_SIGSETJMP.
  • The table key_code has been improved in kbd_inf.c and kbd_poll.c.
  • Now the erase char of the terminal interface (VERASE) is always
  • returned as backspace (KEY_BS respectively '\8\'). This improves
  • the behavior under Cygwin.
  • The function utf8_init has been changed in kbd_inf.c and
  • kbd_poll.c to assume UTF-8 mode when no locale environment
  • variable is set.
  • The function msgDigest in msgdigest.s7i has been changed to use
  • in-parameters.
  • The function configValue has been moved from osfiles.s7i to
  • cc_conf.s7i.
  • The macro REALLOC_STRI_SIZE_SMALLER has been added to heaputl.h.
  • Several usages of REALLOC_STRI_SIZE_OK in the runtime library have
  • been changed to usages of REALLOC_STRI_SIZE_SMALLER.
  • The compiler has been improved to initialize boolean and
  • enumeration elements of structs with the values value.boolvalue
  • respectively value.enumvalue. This is necessary to work correctly
  • on big-endian systems.
  • Interpreter and compiler have been improved to support the actions
  • ACT_EQ and ACT_NE.

New in Seed7 2013-10-27 (Oct 28, 2013)

  • The compiler and runtime library have been improved to support big-endian systems.
  • The documentation in src/read_me.txt has been improved.
  • The library tls.s7i has been improved to avoid raising an exception, when the remote side closes the socket.
  • Documentation comments have been added or improved in several source files.
  • Several functions have been optimized.
  • The function typNum has been improved to use a hashtable.
  • The functions typ_num and typ_str have been improved to call typNum respectively typStr.
  • Support for the actions ACT_ICONV and ACT_ORD has been added to the interpreter and compiler.

New in Seed7 2013-10-13 (Oct 14, 2013)

  • Libraries for TLS/SSL and HTTPS support have been added.
  • Comparison operators for < (proper subset) and > (proper superset) have been added to hashsetof.s7i.
  • The type digestAlgorithm and functions for it have been added to msgdigest.s7i.
  • The function hex has been added to bytedata.s7i.
  • The example program castle.sd7 has been improved.
  • Documentation comments have been added to several files.
  • The padding in the message digest functions of msgdigest.s7i has been corrected.
  • The function getHttp in gethttp.s7i has been improved to use a case-insensitive comparison for HTTP header field names.

New in Seed7 2013-09-29 (Sep 30, 2013)

  • The functions bStriLe, bytesLe, bStriBe, and bytesBe have been added to bytedata.s7i. These functions convert an integer to a sequence of bytes.
  • The compiler has been improved to generate inline code for the action STR_PUSH.
  • This action appends a character to a string (it is used by the operator &:= ).
  • Conversion functions have been added to time.s7i.
  • Checks for several operators and functions have been added to chkbig.sd7, chkint.sd7, and chkstr.sd7.
  • The function doLocalDeclsOfStatement has been added to the compiler. This function is used to simplify the processing of various statements.

New in Seed7 2013-09-08 (Sep 9, 2013)

  • The makefile mk_freebsd.mk has been added to support compilation under freeBSD.
  • Functions to convert between sequences of bytes and bigInteger numbers have been added to bytedata.s7i.
  • The functions bytesLeAsInt and bytesBeAsInt have been renamed to bytesLe2Int and bytesBe2Int.
  • Checks have been added to chkbig.sd7 and chkset.sd7.
  • The function bigRand in big_rtl.c has been improved to avoid conditions in which a random number is outside the required range.
  • Parameter names have been added to several files.
  • The compiler has been improved to use charvalue instead of intvalue when characters are initialized.

New in Seed7 2013-08-20 (Aug 20, 2013)

  • The sha1.s7i library was renamed to msgdigest.s7i.
  • The message digest and secure hash functions md4, md5, sha224, and sha256 have been added to msgdigest.s7i.
  • A new propertyfile.s7i library which defines functions for reading a property file into a hash table was added.
  • The performance of the random number generator was improved.
  • A bytesLeAsInt function was added to the bytedata.s7i library.
  • In bytedata.s7i, the int64AsBytesBytesLe function was renamed to int64AsEightBytesLe.
  • A variant of the skipWhiteSpace function was added to the scanfile.s7i library.

New in Seed7 2013-07-22 (Jul 25, 2013)

  • Spelling errors in chlog.txt, faq.htm, and faq.txt have been fixed.
  • The function conText (in con_win.c) has been improved to work correctly for long strings (when WriteConsoleW would fail).
  • Several functions have been moved from drw_win.c to the new file gkb_win.c.
  • Incorrect usages of inIntRange have been replaced with better code in drw_win.c.
  • In con_win.c, the table map_key has been improved such that kbdGetc recognizes the key F12.
  • The program chk_all.sd7 has been improved to call chkhsh.sd7.
  • The compiler has been improved to generate compare functions with the correct prototype.

New in Seed7 2013-06-16 (Jun 17, 2013)

  • Documentation comments have been added or improved in several files.
  • The functions lower and upper in string.s7i and char.s7i have been improved to use the default Unicode case mapping.
  • The performance of the deflate compression has been improved by a factor between 5 and 10.
  • The performance of the functions str_cmp, str_range, str_substr, strCompare, strRangeSlice, strRange, strSubstrSlice, and strSubstr has been improved.
  • Tests for several string functions have been added to chkstr.sd7.
  • The compiler has been improved to inline code for the actions STR_HASHCODE, STR_RANGE and STR_SUBSTR.

New in Seed7 2013-06-02 (Jun 3, 2013)

  • The type integer has been changed to use 64-bit values.
  • Documentation comments have been added to several files.
  • The new libraries bin32.s7i (bit operations for 32-bit values), crc32.s7i (CRC-32 cyclic redundancy check) and deflate.s7i (deflate compression algorithm) have been added.
  • The library binary.s7i has been renamed to bytedata.s7i.
  • Several functions have been moved from gzip.s7i to the new library inflate.s7i.
  • The functions 'name' and 'path' have been added to progs.s7i.
  • The library tar.s7i and the program tar7.sd7 have been improved to allow the creation of compressed archives.

New in Seed7 2013-05-05 (May 8, 2013)

  • Functions to compare arrays have been added.
  • The functions hashCode and compare have been defined for enum types.
  • The operator parser has been improved to accept bigRational numbers with repeating decimals.
  • Functions to convert a numeric string with a specified radix have been added.
  • The operator sci has been added to complex.s7i.
  • The memory management in the interpreter has been improved to free the memory of struct objects only when usage_count reaches zero.
  • The compiler has been improved to call the destructor for local interface objects and to initialize all set constants.

New in Seed7 2013-04-21 (Apr 22, 2013)

  • The FAQ explanation concerning garbage collection has been improved.
  • Several manual chapters have been improved.
  • Operations to get an array slice with a specified length have been added to array.s7i and idxarray.s7i.
  • Array aggregates with a start index have been added to idxarray.s7i.
  • Functions for binomial coefficient and modular exponentiation have been added to bigint.s7i. The functions min and max have been added to integer.s7i and float.s7i.
  • A standard bitmap font, with capital height of 9, has been defined in stdfont9.s7i.
  • The Comanche Web server has been improved to accept cookies.

New in Seed7 2013-04-01 (Apr 2, 2013)

  • The FAQ has been improved.
  • The function getc(KEYBOARD) has been improved to support Unicode characters and more function keys.
  • The memory management has been changed to work for the files managed by pollData.
  • The function writeln(file, string) has been defined as the DYNAMIC (virtual) function.
  • The function key definitions have been changed to be outside the range of Unicode characters.
  • Tests for string assignment and append have been added to chkstr.sd7.
  • The function kbdKeyPressed in kbd_inf.c has been improved to never wait for input.
  • The free list management for strings has been improved.

New in Seed7 2013-03-17 (Mar 18, 2013)

  • The FAQ has been improved.
  • The compiler has been improved to optimize the concatenation of three or more strings with strConcatN and to store the characters of string constants with more density.
  • The compiler has been improved to define and use dynamic (virtual) destructors for interface types.
  • The interpreter and compiler have been improved to use reference counting (usage_count) for all objects of the category STRUCTOBJECT.
  • The string search functions (pos) have been improved to use a modified Boyer–Moore string search algorithm.
  • The performance of the function replace2 has been improved.

New in Seed7 2013-03-03 (Mar 4, 2013)

  • The library editline.s7i has been added.
  • It defines a file type for linewise editing with history.
  • The manual chapter describing types, especially the type program, has been improved.
  • The calc.sd7 example has been improved to allow linewise editing.
  • The handling of the internal program representation in interpreter and compiler has been improved to free most unused memory.
  • The stack trace has been improved to display infix operators better and to write parameter names.
  • The functions copy_expression and free_expression have been optimized.
  • The free list management has been made configurable.

New in Seed7 2013-02-17 (Feb 18, 2013)

  • The description of exceptions in the manual has been improved.
  • The handling of program data in the interpreter and compiler has been improved to free more unused memory.
  • The Seed7 compiler has been improved to support releasing unused programs.
  • The function prgDestr has been improved to free (most of) the data used by a program.
  • Several functions have been improved to call prgDestr.
  • Several actions in the interpreter have been improved to work correctly for arrays with interface elements.
  • The functions prgCpy and prg_cpy have been improved to free a program when the usage_count reaches zero.

New in Seed7 2013-02-03 (Feb 4, 2013)

  • Man pages for the Seed7 interpreter and compiler have been added.
  • The makefiles have been improved to support the targets distclean and test.
  • The operators radix and RADIX have been added to integer.s7i and bigint.s7i.
  • Checks for the operators radix and RADIX have been added to chkint.sd7.
  • Errors in bas7.sd7, concerning the function VARPTR and the statement OPEN, have been fixed.
  • The function getLineWithMacrosApplied in makedata.s7i has been improved.
  • The currency sign character has been added to several fonts.
  • A check for an overflow of a cast from float to int has been added to chkccomp.c.

New in Seed7 2013-01-20 (Jan 21, 2013)

  • New options have been added to the interpreter and compiler.
  • Additional parse and execute functions have been added to progs.s7i.
  • The library gzip.s7c has been improved to decode blocks with fixed Huffman codes.
  • Support for bigInteger literals with bases other than 10 has been added.
  • The str functions have been changed such that str(48879, 16) returns "beef".
  • The program make7.sd7 has been improved to support multiple targets and the option -C.
  • The handling of floating point divisions in the compiler has been improved.
  • The makefile mk_clang.mak has been added to support the clang C compiler.

New in Seed7 2013-01-05 (Jan 7, 2013)

  • The Seed7 interpreter has been renamed to s7.
  • The function drwOpen in drw_win.c has been improved to hide the console window when the program was not started from a console.
  • Descriptions of the operators "sci" and "exp" have been added to the manual.
  • Documentation comments have been added to clib_file.s7i.
  • In pixmap_file.s7i, the functions for pixmapFontFiles have been improved.
  • In cmd_win.c, the functions prepareCommandLine and cmdStartProcess have been improved.
  • In striutl.c, the functions escape_command and cp_to_command have been improved to work correctly under Windows.
  • Parameter names have been added to various files.

New in Seed7 2012-12-12 (Dec 13, 2012)

  • The Seed7 compiler was renamed to s7c.
  • The program make7.sd7 was improved to allow macros in the command line.
  • The libraries makedata.s7i and make.s7i were improved.
  • A variant of the function popen was added to shell.s7i.
  • The difference between & and

New in Seed7 2012-11-25 (Nov 26, 2012)

  • The make process was improved to support the creation of binary Seed7 packages.
  • Function descriptions in the manual were added or improved.
  • The new library environment.s7i was added.
  • A documentation comment for getSearchPath was added.
  • The functions ltrim and rtrim were added to string.s7i and test cases were added to chkstr.sd7.
  • The functions getProgramName and prc_cpy were improved.
  • The program tar7.sd7 was improved to accept DOS paths for the file specified with -f.
  • The function homeDir was improved to work with DJGPP.
  • The handling of the descriptor union was improved in several files.

New in Seed7 2012-11-04 (Nov 5, 2012)

  • The function homeDir was added to the library osfiles.s7i.
  • The libraries makedata.s7i and make.s7i were improved to support replacement macros.
  • A check for division by zero with /:= was added to chkflt.sd7.
  • The compiler (comp.sd7) was improved to use definitions of IEEE 754 float values.
  • The program chkccomp.c was improved to manage more macros.
  • The functions flt_div and flt_div_assign in fltlib.c were improved to work correctly when CHECK_FLOAT_DIV_BY_ZERO is defined.
  • Several #defines were omitted from the makefiles.
  • Explanations of several version.h #defines were added to read_me.txt.

New in Seed7 2012-10-21 (Oct 22, 2012)

  • The library vecfont10.s7i was added. Several programs were improved to fit into a 1024 x 768 pixel screen.
  • The library make.s7i was improved.
  • Functions to read a makefile were improved and moved to the new library makedata.s7i.
  • The parsing of time values was improved to allow fractions of a second.
  • The functions getSubNodes and getContent and a for-loop were defined in the library xmldom.s7i.
  • The compiler was improved to initialize bstring literals correctly.
  • The program dnafight.sd7 was improved to limit the animation speed.
  • The drawing of the background in maximized windows was improved.

New in Seed7 2012-10-07 (Oct 9, 2012)

  • The description of possible errors in the FAQ was improved.
  • A description of the for-step-statement was added to the manual.
  • The makefile support library make.s7i was improved.
  • The tar archive support library tar.s7i was improved.
  • The @:= operator for strings was improved and test cases were added.
  • The compiler was improved to omit unneeded functions.
  • The compiler was improved to remove debug symbols, unless called with -g.
  • The functions name(PROGRAM) and path(PROGRAM) were improved.
  • The files itf_rtl.c and itf_rtl.h were added.
  • A self extracting version of Seed7 is now supported.

New in Seed7 2012-09-23 (Sep 25, 2012)

  • Experimental support for automatic memory management with reference counting has been added to the interpreter.
  • Several libraries have been improved to use the function toInterface.
  • The function name(PROGRAM) has been improved to return the name of the program without extension and without path.
  • The interpreter has been improved to support the action ITF_DESTR.

New in Seed7 2012-07-03 (Jul 4, 2012)

  • The manual was improved to contain more links and to use more coloring.
  • Parameter names were added to function definitions in the libraries array.s7i, integer.s7i, bigint.s7i, float.s7i, keybd.s7i, bitsetof.s7i, idxarray.s7i, boolean.s7i, hashsetof.s7i, socket.s7i, char.s7i, file.s7i, bitset.s7i, poll.s7i, sockbase.s7i, and string.s7i .
  • Documentation comments were improved in several libraries.
  • The new libraries bstring.s7i and category.s7i were added.
  • The contents of these libraries were extracted from the progs.s7i library.
  • The interpreter and compiler were improved to explain the option -?.

New in Seed7 2012-05-06 (May 7, 2012)

  • The chapter explaining primitive actions in the manual has been improved.
  • The compiler has been improved to optimize code for integer division, set membership, set exclusion, comparisons with the empty set, and bigInteger comparisons.
  • FAQ answers and the file src/read_me.txt have been improved.
  • The creation of sets like {1 .. 5} and "for" loops over sets have been improved.
  • Functions which return the path of the hi interpreter and which call their own program have been added.
  • Tests have been added to chkint.sd7 and chkset.sd7.
  • The programs make7.sd7 and printpi2.sd7 have been improved.
  • BigRational and set functions have been improved.

New in Seed7 2012-04-15 (Apr 17, 2012)

  • Documentation comments were added to "shell.s7i".
  • Macro documentation was added to "src/read_me.txt".
  • In "chkset.sd7", several set tests were added or improved.
  • The compiler was improved to support 'pipe2' and 'pty' and to provide better set optimizations.
  • The program chkccomp.c was improved to define 'read_buffer_empty' (used by 'filInputReady').
  • The functions 'setDiff' and 'setSymdiff' were improved to work for big sets.
  • The function 'setNotElem' was removed and the compiler was changed to work without it.
  • The function 'prot_set' was improved to work correctly, with 64-bit bitset elements.

New in Seed7 2012-04-01 (Apr 2, 2012)

  • The program "chkccomp.c" was changed to define the macros 'likely' and 'unlikely' only when __GNUC__ >= 3 holds.
  • The library "modern27.s7i", which defines the vector font modern27, was added. The compiler was improved to initialize global interface variables correctly.
  • The function cmdPipe2() in "cmd_win.c" was improved to work correctly.
  • Several functions in "drw_win.c" were improved to raise MEMORY_ERROR when CreatePen() or CreateSolidBrush() fails.
  • In various makefiles the definition of USE_BUILTIN_EXPECT was added.
  • The descriptions of paths in "seed7/src/read_me.txt", were improved.

New in Seed7 2012-03-18 (Mar 19, 2012)

  • The example program "testfont.sd7" was improved to display more fonts and more characters.
  • The library "vectorfont.s7i", which supports vector fonts, was added.
  • The libraries "cronos16.s7i", "cronos27.s7i" and "vecfont18.s7i", which define the vector fonts cronos16, cronos27 and vecFont18 respectively, were added
  • A standard bitmap font with size 20 was defined in the new library "stdfont20.s7i".
  • The pilcrow character was added to the standard bitmap fonts.
  • Some characters in the standard bitmap fonts were improved.
  • The function 'filInputReady' in "fil_unx.c" was improved to use poll() instead of select().

New in Seed7 2012-02-05 (Feb 6, 2012)

  • 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.

New in Seed7 2012-01-01 (Jan 2, 2012)

  • 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.

New in Seed7 2011-12-04 (Dec 5, 2011)

  • The makefile "mk_djgpp.mak" was improved to work for DJGPP under DOS (thanks to "Rugxulo" for his help to improve "mk_djgpp.mak").
  • The old makefile "mk_djgpp.mak" was renamed to "mk_djgp2.mak".
  • The option -?, which writes helping information, was added to the hi interpreter and to the compiler (comp.sd7).
  • The "ftp7.sd7" example program was improved to support the command"help".
  • The "sydir7.sd7" example program was improved to accept Unix and DOS paths.
  • The directions N, S, W, E were renamed to NORTH, SOUTH, WEST and EAST in "dna_base.s7i", "blue.dna", "green.dna", "indigo.dna","red.dna", "tan.dna", "violet.dna" and "white.dna".
  • Result variables were renamed in "bigrat.s7i", "complex.s7i", "rational.s7i" and "time.s7i".
  • Interpreter, compiler and runtime library (files "cmd_unx.c", "cmd_win.c", "cmd_drv.h", "cmdlib.c", "cmdlib.h" and "primitiv.c") were improved to support the new action "CMD_START_PROCESS".
  • A definition of the function 'startProcess' was added to the "shell.s7i" library.
  • The function get_primact in "actutl.c" was improved to suppress writing the list of actions, which are implemented by the same function.
  • The function timNow() in "tim_dos.c", "tim_unx.c" and "tim_win.c" and the functions timFromTimestamp() and timSetLocalTZ() in "tim_rtl.c" were improved to use localtime_s(), when the prepocessor macro USE_LOCALTIME_S is defined.
  • An include command for "math.s7i" was added to "bas7.sd7", "lander.sd7" and "planets.sd7".

New in Seed7 2011-11-11 (Nov 14, 2011)

  • Documentation comments were improved in "dir.s7i", "stdio.s7i" and "enable_io.s7i".
  • Testcases for the operators 'sci' and 'exp' in "chkflt.sd7" were changed to succedd on all supported platforms.
  • The compiler (comp.sd7) was improved, to create better debugging information for compiler generated (DYNAMIC) dispatcher functions.
  • The compiler was improved to define and use the macro 'do_setjmp' and to work correctly for empty programs.
  • The program "chkccomp.c" was improved to write one of the preprocessor macros ROUND_HALF_TO_EVEN, ROUND_HALF_UP or ROUND_HALF_AWAY_FROM_ZERO to "version.h". This macros describe the rounding behaviour, when float values are converted to strings with 'printf'.
  • Result variables were renamed in "echo.s7i", "gzip.s7i", "line.s7i",, "external_file.s7i" "null_file.s7i", "osfiles.s7i", "stdio.s7i", "strifile.s7i", "stritext.s7i" and "utf16.s7i".
  • The files "drw_win.c", "fil_win.c" and "striutl.c" were improved to reduce the number of compiler warnings.

New in Seed7 2011-11-01 (Nov 3, 2011)

  • Documentation comments were improved in several files.
  • The operators 'sci' and 'exp', which write floating point values in scientific notation, were added to "float.s7i".
  • Testcases were added to "chkflt.sd7" and "chkprc.sd7".
  • The function 'getInteger' was added to "scanfile.s7i" and "scanstri.s7i".
  • The "comanche.sd7" webserver was improved, to write information about the options -? and -h, in case of an error.
  • The compiler was improved, to create better debugging information.
  • The creation of code for for-loops in the compiler was improved.
  • The debugging options in "mk_msvc.mak" were improved.

New in Seed7 05_20111003 (Oct 4, 2011)

  • Changes:
  • A check for MEMORY_ERROR was removed from "chkexc.sd7" (thanks to Pietro Cerutti for pointing out problems under 64-bit FreeBSD).
  • Documentation comments in "complex.s7i", "draw.s7i", "float.s7i", "external_file.s7i", "forloop.s7i", "html_ent.s7i", "keybd.s7i", "null_file.s7i", "socket.s7i", "stdio.s7i" and "xml_ent.s7i" were improved.
  • The compiler (comp.sd7) and the makefiles were improved, such that executables only link console libraries (ncurses, etc.), when necessary.
  • The function 'encodeHtmlContent' was added to "html_ent.s7i".
  • The function 'fromPercentEncoded' was moved from "cgi.s7i" to "encoding.s7i".
  • The functions 'toPercentEncoded', 'toUrlEncoded' and 'fromUrlEncoded' were added to the library "encoding.s7i".
  • Compiler, runtime libraries and makefiles were improved to support the configuration macros CONSOLE_LIB (name of the Seed7 console library) and SYSTEM_CONSOLE_LIBS (link option for the console library of the OS).
  • The makefiles were improved to write all dependencies in the file "depend", instead of "depend", "a_depend", "b_depend", "c_depend" and "d_depend".

New in Seed7 2011-09-04 (Sep 5, 2011)

  • Declarations were moved from "seed7_05.s7i" to the new library "forloop.s7i".
  • For-loops, with traverse array elements and keys, were introduced in "seed7_05.s7i".
  • Testcases for bigInteger exponentiation, when it raises an exception, were added to "chkexc.sd7".
  • The recognition of constant expressions and their use to optimize the program in the compiler ("comp.sd7"), was improved.
  • Compiler options, to control the optimization of constant expressions, were introduced. Allowed options are -oc0 (no optimisation), -oc1 (default), -oc2 and -oc3 (best optimisation).
  • The functions 'bigSquare' and 'bigLog2BaseLShift' were added to "big_rtl.c" and "big_gmp.c" and used by the compiler.
  • The functions 'uBigDigitSquare', 'uBigKaratsubaSquare' and 'uBigSquareK' were added to "big_rtl.c".
  • The functions 'uBigDecr', 'uBigMultNegativeWithDigit',
  • 'uBigMultPositiveWithNegatedDigit', 'bigAbs', 'bigGrow', 'bigMultSignedDigit', 'bigRShiftAssign' and 'bigShrink' in "big_rtl.c" were improved.
  • A free list memory management for 'biginttype' (bigInteger) values was introduced in "big_gmp.c".
  • All occurrances of the macro UTF32_STRINGS in *.c and *.h files were removed. Strings will always use UTF-32 encoded characters. Strings restricted to byte elements must use a different type.
  • The functions 'conWrite' (in "con_rtl.c") and 'conText' (in "con_win.c") were improved to allow writing Unicode characters to the console.
  • The random number generator (functions 'uint_rand' and 'intRand' in "int_rtl.c") was improved.
  • The functions 'stri_to_wstri' and 'stri_to_bstriw' were added to "striutl.c".
  • The experimental function 'inputReady' was added to "file.s7i", "external_file.s7i", "comp.sd7", "fil_unx.c", "fil_win.c" and "fil_drv.h". Because of buffering issues, 'inputReady' does currently not work correctly for pipes.
  • Support for 'SOC_INPUT_READY' was added to the compiler (comp.sd7).
  • The experimental function pipe2 was added to "shell.s7i".
  • Testcases for bigInteger multiplication and squaring were added to "chkbig.sd7".
  • The type 'flisttype' was introduced in "common.h" and used in "heaputl.h", "big_rtl.c" and "big_gmp.c".

New in Seed7 2011-08-16 (Aug 17, 2011)

  • An explanation of how the syntax of Seed7 is defined was added to the FAQ.
  • Documentation comments were added to "math.s7i" and "shell.s7i".
  • A declaration of Euler's number was added to "math.s7i".
  • The function 'getCommandLineWord' was added to "scanstri.s7i".
  • The functions 'shell', 'cmd_sh', 'popen', and 'popen8' in "shell.s7i" were improved to work correctly when commands and parameters contain spaces.
  • The library "screen.s7i" was renamed to "console.s7i", and the function 'open(SCREEN)' was renamed to 'open(CONSOLE)'.
  • The makefile "mk_bcc32.mak" was improved to work for version 6.71 of bcc32.

New in Seed7 2011-08-01 (Aug 1, 2011)

  • The left and right shift operators for bigInteger were improved to work with negative shift counts. Left shifting with a negative shift count results in a right shift. Right shifting with a negative shift count results in a left shift.
  • The interpreter was improved to default to non-verbose program parsing (verbose parsing is done with -v or -v2).
  • The chapter explaining 'float' in the manual was improved.
  • The "draw.s7i" library was improved to contain the functions 'getPixelColor' (obtain the color of a specified pixel from a
  • window or pixmap) and 'pixelToColor' (convert a pixel value to a color).
  • The function 'newPixmap' in "draw.sd7" and the files "drw_x11.c" and "drw_win.c" were improved to allow crating pixmaps, when no
  • window was opened.
  • Documentation comments were added to "integer.s7i", "string.s7i" and "wrinum.s7i".
  • The function 'inputReady' was added to the "socket.s7i" library.
  • The "string.s7i" library, interpreter and compiler were improved to support an overloaded version of the @:= operator. With
  • stri @:= [5] "abc"; the characters 5 to 7 in stri are overwritten with "abc" (the primitive action is "STR_POSCPY").
  • The function 'daysInMonth' was added to the "time.s7i" library.
  • Declarations were moved from "seed7_05.s7i" to the new library "char.s7i".
  • Checks were added to "chkbig.sd7", "chkexc.sd7", "chkstr.sd7"
  • The performance of 'uBigIncr', 'uBigDecr', 'bigDecr', 'bigIncr', 'bigPred', 'bigPredTemp', 'bigSucc' and 'bigSuccTemp' in "big_rtl.c", was further improved.
  • The performace of 'bigImport' and 'bigCLit' in "big_rtl.c", was improved.
  • The handling of the action "ARR_IDX" in the compiler (comp.sd7) was improved.
  • The functions 'bigLShift', 'bigLShiftAssign', 'bigRShift' and 'bigRShiftAssign' in "big_rtl.c" were adjusted to the new shift behaviour for bigInteger values.
  • The prototypes of 'wgetenv' and 'wsetenv' in "cmd_win.c" were improved to use the const qualifier.
  • The macros HEAP_REALLOC_BIG and REALLOC_BIG_CHECK_SIZE in "big_rtl.c" and the macros HEAP_REALLOC_STRI, GROW_STRI and REALLOC_STRI_CHECK_SIZE in "heaputl.h" were improved to avoid unused expression results (which get a warning with clang).
  • The operator lpad0 (function strLpad0 in "str_rtl.c") was improved to add zero characters ('0') after an optional leading sign ('+' or '-').

New in Seed7 2011-07-17 (Jul 19, 2011)

  • FAQ answers and documentation comments were improved.
  • The 'str' function for 'duration' values was improved to provide microseconds (when they are not zero).
  • Two 'getHttp' functions in "gethttp.s7i" were improved to allow redirections which refer to other redirections.
  • Checks for left shift in "chkint.sd7" were improved.
  • Checks for the 'pos' function in "chkstr.s7i" were improved.
  • The performance of bigInteger increment and decrement functions was improved.
  • Several function were moved from "drw_x11.c" to the new file "gkb_x11.c".
  • The performance of 'strPos' in "str_rtl.c" was improved.

New in Seed7 2011-07-03 (Jul 4, 2011)

  • Changes:
  • A new example program (ftpserv.sd7), a FTP (file transfer protocol) server, was added.
  • The type listener (defined in "socket.s7i") was improved. Now a listener manages its accepted sockets.
  • The new function 'waitForRequest' was added to "socket.s7i". It allows to wait until a request can be read or an incoming connection is accepted. With 'waitForRequest' a server is able to handle interleaved requests from multiple clients.
  • The functions 'eof' and 'hasNext' in "socket.s7i" were improved to work like the corresponding functions of other files.
  • The type socketAddress (defined in "socket.s7i") was improved to support comparisons with '=' and ''.
  • The compiler (comp.sd7) and the makefiles were improved, such that executables only link graphic libraries (X11 or gdi), when necessary.
  • The makefile mk_djgpp.mak was introduced. It allows compilation under DOS with DJGPP.
  • Support for Cygwin was improved to allow graphics with Cygwin/X.
  • The functions 'compare' and 'hashCode' were added to the "file.s7i" library. This allows files as keys of hash tables.
  • Documentation comments were added or improved in the files "complex.s7i", "file.s7i", "font.s7i" and "socket.s7i".
  • The "ftp.s7i" library was improved to accept multiple line responses.
  • The function 'quoteHtmlAttrValue' was added to "html_ent.s7i".
  • The functions 'clear' in "screen.s7i" and "windows.s7i" were improved to position the cursor in the top left edge.
  • The "comanche.sd7" webserver was improved to allow the specification of a port and to write help information, when it is called with -h or -? .
  • The "make7.sd7" utility was improved to support the option -i .
  • The meaning of the configuration macros SEED7_LIB, COMP_DATA_LIB and COMPILER_LIB was changed to contain library names without path.
  • Compiler, runtime libraries and makefiles were improved to support the configuration macros DRAW_LIB (name of the Seed7 graphic library), SYSTEM_DRAW_LIBS (link option for the graphic library of the OS) and S7_LIB_DIR (absolute path of the Seed7 runtime libraries).
  • The new file "os_decls.h", which defines macros for OS calls and structs, was added. The definitions in "os_decls.h" were moved from "common.h".
  • The file "setpaths.c" was improved to work under DOS and to be able to handle the codepages 437 and 850.
  • Functions in "striutl.h" were improved to decode operating system strings with UTF-16 surrogate pairs to the UTF-32 strings of Seed7. Decoding and encoding between codepages (437 and 850 are supported) and the UTF-32 strings of Seed7 was also added.
  • The function 'socSelectInput' (defined as 'selectInput' with the action "SOC_SELECT_INPUT" in "socket.s7i") was added to "soc_rtl.c".
  • The function 'socInetAddr' in "soc_rtl.c" (defined as 'inetSocketAddress' with the action "SOC_INET_ADDR" in "socket.s7i") was improved to return an empty socket address when the host could not be found.
  • The function 'openInetSocket' in "socket.s7i" was improved to return STD_NULL when the socked could not be opened.
  • The compiler was improved to support the actions "SOC_HAS_NEXT" and "SOC_SELECT_INPUT".
  • The functions 'readVolumeName' and 'closeVolumeList' were moved from "cmd_win.c" to "dir_rtl.c".
  • The function 'openVolumeList' was added to "cmd_unx.c".
  • The functions 'drwOpen' and 'drwOpenSubWindow' were changed to raise FILE_ERROR when it is not possible to open a window.
  • Calls of 'getenv' in 'examineSearchPath' ("arr_rtl.c") and 'init_lib_path' ("infile.c") were replaced with 'os_getenv'.
  • Several explanations were added to the file "src/read_me.txt".
  • The file "soc_dos.c" was added and the files "scr_dos.c" and "scr_wat.c" were improved.
  • The function 'prot_os_stri' was added to "traceutl.c".
  • The handling of the element 'tm_isdst' from 'struct tm' (filled when localtime() is called) was changed. Now the the flag 'is_dst' is only set when tm_isdst > 0 holds.

New in Seed7 2011-06-19 (Jun 20, 2011)

  • A new example program (ftp7.sd7), an FTP internet file transfer program, was added.
  • The "ftp.s7i" library, which supports the FTP protocol, was added.
  • The functions 'numericAddress', 'service' and 'getHostname' were added to the "socket.s7i" library.
  • Support for the actions SOC_ADDR_NUMERIC, SOC_ADDR_SERVICE and SOC_GET_HOSTNAME were added to the compiler (comp.sd7).
  • The compiler was improved to recognize unsupported options and superfluous parameters.
  • The functions 'socAddrNumeric', 'socAddrService', 'socGetAddr', 'socSelect', 'socSelectOne', 'socGetHostname' and 'socInputReady' were added to "soc_rtl.c" (some were commented out).
  • The functions 'select_addrinfo' and 'dump_addrinfo' in "soc_rtl.c" were improved.
  • The functions 'soc_addr_numeric', 'soc_addr_service', 'soc_get_addr', 'soc_get_hostname', 'soc_input_ready' and 'soc_select' were addet to "soclib.c" (some were commented out).
  • The file "soc_rtl.c" was improved to reduce the number of compiler warnings.
  • Documentation comments were improved in the file "socket.s7i".
  • Compiler, runtime libraries and makefiles were improved to support configuration macro CPLUSPLUS_COMPILER.

New in Seed7 2011-06-05 (Jun 5, 2011)

  • Declarations were moved from "seed7_05.s7i" to new libraries. This libraries are included from "seed7_05.s7i", so this causes no change in existing programs.
  • Declarations were moved between some libraries.
  • Documentation comments were added or improved in various files.
  • The function 'read_zip_dir' was added to the "zip.s7i" library.
  • Checks for 'length', 'tell' and 'seek' with STD_NULL were added to "chkexc.sd7".
  • The interpreter, compiler, and runtime library were improved to support searching for a string from a given position to the left.
  • Checks for the function 'rpos' were added to "chkstr.sd7".

New in Seed7 2011-05-22 (May 23, 2011)

  • FAQ answers, explaining that Seed7 is not a descendant of Pascal and how Seed7 uses abstract data types, were added.
  • Documentation comments were added or improved in the files "bigfile.s7i", "bigint.s7i", "bigrat.s7i", "binary.s7i", "cgi.s7i", "charsets.s7i", "complex.s7i", "encoding.s7i", "float.s7i", "getf.s7i", "gzip.s7i", "inifile.s7i", "keybd.s7i", "rational.s7i", "shell.s7i", "socket.s7i", "strifile.s7i", "stritext.s7i", "time.s7i", "utf16.s7i", "utf8.s7i", "fil_rtl.c" and "ut8_rtl.c".
  • The new libraries "color.s7i", "enable_io.s7i", "external_file.s7i", "file.s7i", "null_file.s7i", "osfiles.s7i", "stdio.s7i", and "text.s7i" were added.
  • The contents of this libraries were extracted from the "seed7_05.s7i" library. Programs, which need functionality from "text.s7i", "osfiles.s7i" or "color.s7i", must now include them.
  • To keep basic compatibility, the "stdio.s7i" library is included from "seed7_05.s7i", but in a future version this may change. To cope with this change programs, which use standard I/O, should include "stdio.s7i".
  • The interpreter and the runtime library were improved to support forward declarations of variables (the action DCL_FWDVAR is used for this purpose).
  • All usages of the function 'fileExists' and its definition in the "seed7_05.s7i" library, were removed.
  • The functions 'fileType' and 'fileOpenSucceeds' can be used as replacement.
  • Checks for 'sqrt' were added to the "chkbig.sd7" program.
  • The bigInteger 'sqrt' function was improved, to return 0_ for sqrt(0_) instead of raising an exception.
  • The logic of 'null_file' and 'socket' was changed, such that the functions 'length', 'seek' and 'tell' raise FILE_ERROR (This files are not seekable).
  • The function 'replaceHexChars' in "cgi.s7i" was renamed to 'fromPercentEncoded'.
  • The function 'removeUtf16SurrogatePairs' in "charsets.s7i" was renamed to 'replaceUtf16SurrogatePairs'.
  • The new function 'openSocket' was introduced in "socket.s7i".
  • Unnecessary definitions were removed from "graph.s7i".

New in Seed7 2011-05-08 (May 9, 2011)

  • FAQ answers about Seed7s application area, Unicode support, Seed7s closures and how the compiler implements them, were added.
  • A new example program (sydir7.sd7), an utility to syncronize directory trees, was added.
  • The comanche.sd7 webserver was improved to use the Seed7 interpreter (hi) to execute CGI scripts with the extension ".sd7".
  • Interpreter, compiler and runtime library were improved to support the action CMD_TO_OS_PATH.
  • The compiler (comp.sd7) was improved to create #line directives with the path notation of the operating system.
  • The file "setpaths.c" was added. It is used during the make process to write the configuration macros SEED7_LIB, COMPILER_LIB, COMP_DATA_LIB and SEED7_LIBRARY to the file "version.h".
  • The makefiles mk_mingw.mak, mk_nmake.mak, mk_msvc.mak, mk_bcc32.mak and mk_bccv5.mak were improved to use the new file "setpaths.c", instead of creating their own versions of "setpaths.c".
  • The configuration macros SEED7_LIB, COMPILER_LIB, COMP_DATA_LIB and SEED7_LIBRARY were changed to use the standard path representation and UTF-8 encoding.
  • The function relativeToProgramPath was added to the file "striutl.c".

New in Seed7 2011-04-24 (Apr 26, 2011)

  • Information about the lines of code in Seed7 was added to the FAQ.
  • The FAQ answers about supported operating systems and the analyze phase of the interpreter were improved.
  • Several spelling errors in the FAQ and in the manual were fixed.
  • The appearance of tables in the FAQ and in the manual was improved.
  • Variants of the function 'timAwait', which work with poll() and ppoll(), were added to "tim_unx.c".
  • The files "makefile", "mk_linux.mak", "mk_cygw.mak", and "mk_osx.mak" were improved to select one version of 'timAwait'.
  • Descriptions of configuration macros were added to "src/read_me.txt".

New in Seed7 2011-04-03 (Apr 6, 2011)

  • The compiler (comp.sd7) was improved to generate less code to initialize arrays.
  • Repeated elements in array initializations are recognized, and the initialization is done with loops instead of individual assignments.
  • The compiler (comp.sd7) was improved to generate string literals with reduced space requirements.
  • The function 'getArgv' in "arr_rtl.c" was changed to assume that the parameters 'arg_0' and 'exePath' are not NULL.
  • The code to recognize constant expressions in the compiler was improved.
  • The superfluous functions 'gkbXpos' and 'gkbYpos' were removed from "drw_dos.c".

New in Seed7 2011-03-20 (Mar 21, 2011)

  • An explaination where the interpreter looks for include files, was added to the FAQ.
  • An explanation how the directory of the predefined include libraries is determined, was added to the FAQ.
  • An explanation how the Seed7 compiler gets information about C compiler and runtime, was added to the FAQ.
  • A description of several C preprocessor macros used in "version.h" was added to the file "src/read_me.txt".
  • Missing functions were added to the file "drw_dos.c".
  • The function 'bstTail' was added to the file "bst_rtl.c".

New in Seed7 2011-03-06 (Mar 7, 2011)

  • The support for CGI programs in the comanche.sd7 webserver was improved.
  • The first steps towards evaluating pure functions in the compiler (when they are called with constant parameters), were done.
  • The compiler (comp.sd7) was improved to generate code with fewer temporary variables for the actions SET_ELEM and SET_NOT_ELEM.
  • The function 'evaluate' (defined in "progs.s7i" and implemented in "exec.c", "prglib.c" and "prg_comp.c") was improved to work correctly when the evaluation raises an exception.
  • Parameter names were added to the prototypes in the files "exec.h", "executl.h", "expr.h", "identutl.h", "match.h", "objutl.h", "name.h", "object.h", "parser.h","runerr.h", "symbol.h" and "token.h".
  • The files "memory.c" and "memory.h" were renamed to "objutl.c" and "objutl.h" respectively.
  • The function 'uintCmpGeneric' was introduced in the file "int_rtl.c" and used in compiled programs.
  • The example programs "chk_all.sd7" and "chkprc.sd7" were improved.
  • The file "drw_x11.c" was changed to reduce the number of warnings generated by the C compiler.
  • Missing functions were added to the file "drw_dos.c".

New in Seed7 2011-02-20 (Feb 21, 2011)

  • The handling of closure parameters in the compiler (comp.sd7) was improved.
  • A free string memory management for small strings was introduced in "heaputl.h". This improves the performance of some programs with string processing by up to 20 percent.
  • The "socket.s7i" library was improved to provide protocol independent network access.
  • The function 'addrFamily' was added to the "socket.s7i" library.
  • Several changes were done to support compiling with a C++ compiler.
  • The compiler (comp.sd7) was improved to generate runtime library prototypes with const qualifier.
  • The macros 'likely' and 'unlikely' were added to if-statements checking for exception conditions in the files "cmd_rtl.c" and "soc_rtl.c".
  • The const qualifier was added to function prototypes in "hsh_rtl.c" and "hsh_rtl.h".
  • The functions 'socInetAddr', 'socInetLocalAddr' and 'socInetServAddr' in "soc_rtl.c" were improved to optionally use the function 'getaddrinfo'. With 'getaddrinfo' it is possible to access computers with IPv4 and IPv6 addresses. For Linux this feature is activated.
  • Interpreter, compiler and runtime library were improved to support the action SOC_ADDR_FAMILY.
  • The compiler (comp.sd7) was improved to generate better code when accessing the element of an array that was the result of another computation.
  • The compiler (comp.sd7) was improved to generate code with fewer temporary variables for the actions ARR_IDX, ARR_LNG, STR_EQ and STR_NE.
  • The initialisation of string constants in the compiler was improved.

New in Seed7 2011-02-03 (Feb 8, 2011)

  • Changes:
  • Many thanks to Bogdan Lisovich for his help to investigate and fix a compilation problem under Mac OS.
  • The fannkuch-redux benchmark "fannkuch.sd7" from "Bart C" was added (Many thanks to "Bart C" for releasing "fannkuch.sd7" under the GPL).
  • The comanche.sd7 webserver was improved to support CGI programs.
  • The chapter explaining 'operating system access' in the manual was improved.
  • The function 'getCgiParameters(file)' was added to "cgi.s7i".
  • The functions 'setenv' and 'file(PROGRAM)' were added to "seed7_05.s7i"
  • The interpreter and the compiler were improved to support the function 'getenv'.
  • Several changes were done to support compiling with a C++ compiler.
  • The keyword INLINE was removed from the functions bigCmp, bigCreate, bstCmp, bstCreate, fltCmp, intCmp, rflCreate, setCmp, setCreate, strCompare and strCreate (C++ does not generate an externally visible function for inline functions).
  • The compiler (comp.sd7) was improved to generate runtime library prototypes with constant types.
  • The function timFromIntTimestamp was introduced in "tim_rtl.c" and used in "timlib.c" and in compiled code.
  • The example programs dirtst.sd7, eliza.sd7, fib.sd7, gkbd.sd7, hamu.sd7, kbd.sd7, rand.sd7, rever.sd7, sl.sd7, snake.sd7 and tak.sd7 were improved to use the operator

New in Seed7 2011-01-16 (Jan 17, 2011)

  • The chapter explaining 'operating system access' in the manual was improved.
  • The standard path representation was changed to forbid drive letters (instead of "C:" the standard path "/c" must be used).
  • The programs comanche.sd7, comp.sd7 and make7.sd7 were improved to work with the new standard path representation.
  • The spacing between characters in the standard bitmap fonts was improved.
  • The example programs startrek.sd7, wiz.sd7, mind.sd7, wumpus.sd7 and addup.sd7 were improved to use the operator

New in Seed7 2011-01-02 (Jan 3, 2011)

  • The function convDosPath was added to the "seed7_05.s7i" library. It converts a path with backslashes and drive letters to the standard path representation. E.g.: "C:\seed7" is converted to "/c/seed7". When a path is already in the standard path representation it is left unchanged.
  • Functions with path parameters or path result were improved to accept and return file paths with the standard path representation. The standard path representation uses a slash as path separator. Under Windows a standard path like "/c" is mapped to the drive letter "C:". Reading the directory "/" unter Windows returns a list of available drives.
  • The function path(PROGRAM), which returns the absolute path of the program, was added to the "seed7_05.s7i" library.
  • The function dir(PROGRAM), which returns the directory containing the program, was added to the "seed7_05.s7i"library. The dir(PROGRAM) function allows placing configuration data in the directory of the program.
  • The function getenv was improved to work with Unicode environment variables.
  • The "bas7.sd7" Basic interpreter was improved to interpret RND() as RND and MID statements as equivalent to MID$ statements.

New in Seed7 2010-12-19 (Dec 20, 2010)

  • The handling of closures in the compiler ("comp.sd7") was improved.
  • The compiler uses code inlining or C functions to implement closures.
  • A new example program (make7.sd7), a make utility that can be used to manage the compilation process, was added.
  • The "tar.s7i" library, which allows programs to deal with tar files without the need to call external programs, was added.
  • The directory seed7/bin was introduced as a place for executables and runtime libraries.
  • The performance of the str function (conversion to string), for integer and bigInteger values, was improved.

New in Seed7 2010-12-05 (Dec 6, 2010)

  • The interpreter and compiler were improved to support Unicode program arguments under Windows.
  • The 'carddemo.sd7' program was improved to allow moving, raising, and lowering cards.
  • The chapter explaining the file open function in the manual was improved.
  • Bitmap fonts were improved to allow scaling.
  • The handling of Expose events in the "drw_x11.c" driver was improved.
  • The function 'getHttp' in "gethttp.s7i" was improved to handle several status codes.
  • The file open function was improved to return STD_NULL on an attempt to open a directory.
  • The makefiles were improved to use a generic "chkccomp.c".

New in Seed7 2010-11-21 (Nov 22, 2010)

  • The chapters explaining integer and bigInteger in the manual were improved.
  • Several improvements were made in the "gzip.s7i" library.
  • The tar archiving program (tar7.sd7) was improved.
  • The compiler was improved to generate better code for the power operator.
  • The compiler and the runtime library were improved to use string slices instead of copying, when possible.
  • The compiler and the runtime library were improved to allow appending an element to an array with the &:= operator.
  • String and array indexing functions in the compiler were improved.
  • The file "read_me" was renamed to "read_me.txt".

New in Seed7 2010-10-24 (Oct 25, 2010)

  • The FAQ answers explaining extensible programming and object orientation were improved.
  • The chapters explaining UTF-16 files and exception handling in the manual, were improved.
  • The standard bitmap font was improved to define more characters.
  • Documentation comments were added to the library "utf16.s7i".
  • The "bas7.sd7" (Basic interpreter) example program was improved to avoid an endless loop when the label or line number of a goto does not exist.
  • Several changes were done to improve the configuration of the Seed7 interpreter.

New in Seed7 2010-10-10 (Oct 11, 2010)

  • The first steps towards support of bitmap fonts were done.
  • The standard bitmap font was defined for the sizes 10, 12, 14, 16, 18, and 24.
  • A new example program (testfont.sd7), which writes with the standard font in various sizes, was added.
  • The initialization of the random number generator in the function uint_rand in "int_rtl.c" was improved.
  • The function timMycroSec was defined in "tim_unx.c" and "tim_win.c".

New in Seed7 2010-09-19 (Sep 20, 2010)

  • The chapter explaining string indexing in the manual was improved.
  • The compiler (comp.sd7) and the hi interpreter were improved to support the actions "ITF_CMP" and "ITF_HASHCODE".
  • The compiler was improved such that compiled programs that use SIGALARM (the functions 'wait' and 'await' from the "time.s7i" library may use SIGALARM) can be terminated with ctrl-c followed by * and enter.
  • Parameter names were added to the prototypes in the file "drw_drv.h".
  • The function drwPFArcPieSlice in "drw_win.c" was implemented.
  • The functions drwFCircle and drwPFCircle in "drw_x11.c were improved.

New in Seed7 2010-09-05 (Sep 6, 2010)

  • The chapter explaining the type 'time' in the manual was improved.
  • The support for source level debugging in the compiler (comp.sd7) was improved. Now the option -g generates better #line directives and the 'main' function was arranged such that the current line shown by a debugger is correct when the program is started.
  • In the "seed7_05.s7i" library the function "rpos" was overloaded to do a reverse search for a character in a string starting from a given position.
  • The files "str_rtl.c", "strlib.c", "primitiv.c" and the compiler were improved to support the primitive action STR_RCHIPOS (which implements the new overloaded 'rpos' function).

New in Seed7 2010-07-18 (Jul 19, 2010)

  • The first steps towards support of variable functions and closures in the compiler ("comp.sd7") were made.
  • The generation of code for 'for' loops and the 'div' operator in the compiler was improved.
  • The compiler function 'getTemporaryToResultExpr' was improved to generate code without casts from 'floattype' to 'generictype'.
  • The function 'rand_32' in "int_rtl.c" was renamed to 'uint_rand' and improved to work better for 64-bit integers.
  • A bug that could occur when a saved game is loaded was fixed in "castle.sd7".
  • Tests for conversions from integer to float were added to "chkflt.sd7".

New in Seed7 2010-06-20 (Jun 21, 2010)

  • Documentation comments were added to several libraries.
  • An option to enable exception tracing (-te) was added to the compiler.
  • The interpreted for-loop was improved such that loop variables have correct values when exceptions occur.
  • The performance of several string functions in "str_rtl.c" was improved.
  • The functions "bigIncr" and "bigDecr" in "big_rtl.c" were improved to work as transactions in out-of-memory situations.
  • The compilation of programs with huge array constants was speeded up.
  • The macro "unlikely" was added to if statements which check for error conditions in several files.

New in Seed7 2010-03-21 (Mar 22, 2010)

  • 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, bitsets, 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.

New in Seed7 2010-03-07 (Mar 8, 2010)

  • 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, bitsets, 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.

New in Seed7 2009-10-18 (Oct 19, 2009)

  • The compiler (comp.sd7) was improved to support the actions CMD_GET_CTIME and TIM_FROM_TIMESTAMP.
  • The handling of the actions ARR_ARRLIT, ARR_IDX, and DRW_OPEN in the compiler was improved.
  • The interpreter (hi) and the compiler were improved to support the actions STR_PUSH, TIM_SET_LOCAL_TZ, DRW_OPEN_SUB_WINDOW, DRW_SETPOS, DRW_XPOS, and DRW_YPOS.
  • The bas7.sd7 (basic interpreter) example program was improved.
  • The functions drwPointerXpos, drwPointerYpos, drwHeight, and drwWidth in the file drw_win.c were improved.
  • The functions closedir and wclosedir in dir_win.c were improved to call FindClose.

New in Seed7 2009-10-04 (Oct 5, 2009)

  • The function isDigitString in the seed7_05.s7i library was improved.
  • The bas7.sd7 (basic interpreter) example program was improved.
  • The functions fltIPow and fltRand in the file flt_rtl.c were improved.

New in Seed7 2009-09-20 (Sep 21, 2009)

  • A FAQ about extensible programming languages and the portability of Seed7 programs was added.
  • The bas7.sd7 (basic interpreter) example program was improved.
  • The function gkbButtonPressed in the file drw_win.c was improved.

New in Seed7 2009-09-06 (Sep 7, 2009)

  • Various syntax descriptions in the manual were improved.
  • Several functions were added to the libraries binary.s7i, graph.s7i, keybd.s7i, and seed7_05.s7i.
  • The carddemo.sd7 program was improved to allow taking and moving a card.
  • The comanche.sd7 Web server was improved.
  • The compiler was improved to do some optimizations for set membership tests.
  • The tarx.sd7 example program was improved to read and write file modes.
  • Several functions in "arr_rtl.c" were improved to raise MEMORY_ERROR when the maximum index is too big.
  • The function alternate_utime was improved to correct buggy behaviour of bcc32.

New in Seed7 2009-08-16 (Aug 17, 2009)

  • The chapters explaining external files, the KEYBOARD file, files with line structure, and sockets in the manual were added or improved.
  • The function timestamp1970ToTime was added to the 'time.s7i' library.
  • The tarx.sd7 example program was improved.
  • Documentation comments in the libraries rational.s7i, bigrat.s7i, keybd.s7i, socket.s7i, and time.s7i were improved.
  • The function alternate_utime was introduced to allow changing the access and modification times of directories under Windows.
  • Several makefiles were improved to support alternate_utime.

New in Seed7 2009-07-19 (Jul 20, 2009)

  • The charsets.s7i library was improved to support the character sets armscii_8, geostd8, ns_4551_1, utf-16be, utf-16le and utf-7.
  • The functions utf16beToStri, utf16leToStri, removeUtf16SurrogatePairs and utf7ToStri were added to the charsets.s7i library.
  • The functions getWord, getNonDigits and getQuotedText were added to the scanfile.s7i library.
  • The functions skipLine and getLine were added to the scanstri.s7i library.
  • everal changes in the interpreter and the runtime library were done to reduce the number of warnings generated by the C compiler.
  • The file src/read_me.txt was improved to explain C compiler warnings because of unused parameter 'arguments'.

New in Seed7 2009-07-05 (Jul 6, 2009)

  • The chapter explaining the function 'getenv' in the manual was improved.
  • The dom.s7i library was renamed to xmldom.s7i and its functionality was improved.
  • A new library named inifile.s7i, which allows reading key value pairs from an INI file, was added.
  • The functions getLineComment, getLine, skipXmlComment, getXmlTagHeadOrContent skipXmlTag, getNextXmlAttribute and getNextHtmlAttribute in scanfile.s7i were added or improved.
  • The functions getSymbol, skipXmlComment, getXmlTagHeadOrContent skipXmlTag, getNextXmlAttribute and getNextHtmlAttribute in scanstri.s7i were added or improved.
  • The function isDigitString was added to the seed7_05.s7i library.
  • The functions open_utf16le and open_utf16be in the utf16.s7i library were improved.
  • A new library named xml_ent.s7i, which supports XML entity handling, was added.
  • The compiler comp.sd7 was improved to create more prototype definitions of extern library functions.
  • The interpreter (hi) and the compiler (comp.sd7) were improved to accept a UTF-8 byte order mark at the beginning of a source or include/library file.
  • The types gmpBiginttype and rtlBiginttype in the files big_gmp.c and big_rtl.c were replaced with biginttype (defined in common.h).
  • The function bigLowestSetBit in big_rtl.c was improved to raise RANGE_ERROR when the result does not fit in an integer.
  • The function move_any_file in cmd_rtl.c was improved to raise FILE_ERROR when the file cannot be renamed.
  • The function hsh_idx in hshlib.c was improved to work correctly when the hash is destroyed after indexing.
  • The const qualifier was added in many *.c and *.h files.
  • Several makefiles were changed to use BIGINT_LIB_DEFINE and BIGINT_LIB to decide about the big integer library (big_rtl.c or big_gmp.c).

New in Seed7 2009-06-21 (Jun 22, 2009)

  • The chapters explaining set types and primitive actions in the manual were improved.
  • The codepages 720, 1125, 1255, 1256, 1258, 8859_6 and 8859_8 were added to the charsets.s7i library.
  • A new library named dom.s7i, which contains a simple dom parser, was added.
  • Several changes in the interpreter and the runtime library were done to reduce the number of warnings generated by the C compiler.
  • The makefile mk_cygw.mak was improved to better support compilation with cygwin.
  • The file src/read_me.txt was improved to explain compiling under windows with cygwin.
  • The function 'exit' was introduced to terminate a program with a return code.
  • The functions setIsSubset and setIsProperSubset were introduced in set_rtl.c and used in setlib.c and comp.sd7 to replace the functions setGe, setLe, setGt and setLt.
  • The functions setCmp, setEq, setIsSubset and setIsProperSubset in set_rtl.c were improved to avoid accessing memory beyond the set data structure.
  • The function setDiff in set_rtl.c was improved.
  • The chkset.sd7 program was improved with additional checks for the 'compare' function and the set relations.
  • The chk_all.sd7 check program was improved to take the changes in chkset.sd7 into account.
  • The compiler comp.sd7 was improved to support the compilation of the primitive action SET_CMP.
  • The compiler comp.sd7 was improved to compile programs with sets as parameters in user defined functions also correctly with the bcc32 C compiler.

New in Seed7 2009-06-07 (Jun 9, 2009)

  • The chkint.sd7 program was improved with additional checks for the binomial coefficient (for values of k greater than n and for negative values of n) and 'bitLength'.
  • The chkstr.sd7 program was improved with additional checks for string subranges ([ A .. B ] and [ A len B ]).
  • An error concerning array subranges was fixed in the function arr_range (arrlib.c).
  • Several changes in the interpreter and the runtime library were done to reduce the number of warnings generated by the C compiler.
  • Occurrences of 'float' in the compiler (comp.sd7) were replaced with 'floattype'.
  • Functions to compute the most and least significant bit of unsigned integers with a width of 8, 16, 32 and 64 bits were added to the file int_rtl.c.
  • The new functions ***MostSignificantBit and ***LeastSignificantBit were used in the following functions: intBitLength, intLog2, bigBitLength, bigDiv, bigLog2, bigLowestSetBit, bigMDiv, bigMod, bigRand, bigRem, setCmp, setMax, setMin and setRand.

New in Seed7 2009-05-24 (May 25, 2009)

  • Prevention against a Mac OS X malloc() error was added to the function filGets (in fil_rtl.c). When malloc() is not able to allocate memory it should return NULL. The Mac OS X malloc() function additionally writes a message to stderr. This behaviour is not according to K&R C, ANSI C, POSIX or SUS. Thanks to John B. Matthews and Frank Goenninger for their help.
  • The FAQ and the file src/read_me.txt were improved to explain what happens when someone forgot to run 'make depend' before running 'make'.
  • The compiler (comp.sd7) was improved to generate better C code to copy arrays and hashes. Now the C code is accepted by gcc again and therefore panic.sd7 can again be compiled under Linux.
  • Several changes in the interpreter and the runtime library were done to reduce the number of warnings generated by the C compiler.
  • A new library named binary.s7i, which contains functions to read binary data from a string or file, was added.
  • A new library named zip.s7i, which contains a zip uncompression function, was added.
  • The type 'SIZE_TYPE' was replaced by 'size_t' in various *.c and *.h files.

New in Seed7 2009-05-10 (May 11, 2009)

  • A new example program, the Comanche webserver (comanche.sd7), was added.
  • The function getNonDigits was added to the scanstri.s7i library.
  • Experimental support for new attribute parameters was added.
  • Memory leaks in the functions hsh_excl (hshlib.c) and hshExcl (hsh_rtl.c) were fixed.

New in Seed7 2009-04-26 (Apr 27, 2009)

  • The function 'inflate' was added to the gzip.s7i library.
  • The function getNextHtmlAttribute was added to the scanfile.s7i library.
  • The functions getNextXmlAttribute and getNextHtmlAttribute were added to the scanstri.s7i library.
  • A sokoban puzzle game example program (sokoban.sd7) was added.
  • A new library sokoban1.s7i, which contains the 90 classic sokoban levels, was added.
  • Parameter names were added to the function prototypes of the header files actutl.h, analyze.h, error.h and findid.h .
  • The function cp_to_wpath was changed to raise RANGE_ERROR when a path contains a backslash.

New in Seed7 2009-04-13 (Apr 14, 2009)

  • A description of data struct elements was added to the chapters rational, bigRational, complex, color and time in the manual.
  • A description of the functions fileTypeSL, getATime, getCTime, getMTime, setATime, setMTime and removeAnyFile was added to the chapter 'OS access' in the manual.
  • The compiler (comp.sd7) was improved to correctly handle hashtables as elements of structs.
  • The compiler (comp.sd7) was improved to to generate dispatcher functions which copy a reference to a value when the interface needs the value itself (the value is used and possibly freed afterwards by the caller).
  • The functions getXmlTagHeadOrContent in the scanfile.s7i and scanstri.s7i libraries were improved to correctly read the head of empty element tags when they have no attributes (E.g: The tag head of "" is "

New in Seed7 2009-03-29 (Mar 30, 2009)

  • The chapters explaining exponentiation and operating system functions in the manual were improved.
  • The function getSymbolInXmlTag in scanfile.s7i was fixed to really return "" when EOF was reached.
  • A documentation comment was added to the function getNextXmlAttribute in scanfile.s7i and the function was improved to correctly handle tags ending with > and /> .
  • The functions cmd_sh and popen were moved from progs.s7i and seed7_05.s7i to the new library shell.s7i .
  • The function 'shell' was introduced execute shell commands and to return the exit code of the shell.
  • The chkbig.sd7 program was improved to contain checks for the exponentiation of -1.
  • The chkexc.sd7 program was improved to contain more checks for exceptions raised by integer exponentiation.
  • The compiler (comp.sd7) was improved to generate better code for some bigInteger operations and to support the actions cmd_readlink and cmd_remove_any_file.
  • Parameter names were added to the function prototypes of the header file big_drv.h .
  • The functions bigSuccTemp and bigPredTemp were added to the files big_rtl.c and big_gmp.c .
  • A documentation comment was added to the function cp_to_command in the file striutl.c .

New in Seed7 2009-03-09 (Mar 10, 2009)

  • Several chapters in the manual were improved.
  • A library that supports UTF-16 files was added.
  • The seed7_05.s7i functions removeAnyFile, fileType, readlink, and symlink were added or improved.
  • The time.s7i functions str, time, strTimeZone, getATime, setATime, getMTime, and setMTime were added or improved.
  • The driver functions timAwait and timNow were improved.
  • Several makefiles were improved to create new defines in the file version.h.
  • An explanation of several defines was added to the file 'src/read_me.txt'.
  • The files bas7.sd7 and planets.sd7 were adjusted to use the improved time functions.

New in Seed7 2009-02-22 (Feb 23, 2009)

  • A new example program (chkhsh.sd7), which checks hash table operations, was added.
  • A compare function was added for the type 'boolean'.
  • The driver functions cmdCopy, cmdMove, and cmdRemove were improved to use wide char (UTF-16) functions under Windows and normal (UTF-8) functions under UNIX/Linux/BSD.
  • The functions dirOpen, dirRead, and dirClose in the file dir_rtl.c were improved to use os_opendir, os_readdir, and os_closedir (defined in dir_rtl.h).
  • The K&R function headers in several files were corrected.
  • An explanation of several defines was added to the file 'src/read_me.txt'.

New in Seed7 2009-02-01 (Feb 2, 2009)

  • A new saving phase was added to the savehd7.sd7 example program.
  • Savehd7 can be used to save a potentially damaged hard disk partition to an image file.
  • A new chapter about class methods was added to the manual.
  • The chapter about the type 'type' in the manual, was improved.
  • A check for NULL pointers was added to the function raise_with_arguments.

New in Seed7 2009-01-18 (Jan 19, 2009)

  • The savehd7.sd7 example program, which can be used to save a potentially damaged hard disk partition to an image file, was improved.
  • A FAQ about compiling the Seed7 interpreter was added.
  • The function bigFileSize was added to bigfile.s7i.
  • The functions file_size and file_type were renamed to fileSize and fileType in seed7_05.s7i.
  • The driver functions cmdBigFileSize, cmdChdir, cmdFileType cmdFileSize, and cmdMkdir were improved to use wide char (UTF-16) functions under Windows and normal (UTF-8) functions under Unix/Linux/BSD.
  • In big_rtl.c, the functions bigFromUInt32 and bigFromUInt64 were fixed.

New in Seed7 2009-01-04 (Jan 5, 2009)

  • A new example program (savehd7.sd7), which can be used to save a partially damaged hard disk partition to an image file, was added.
  • Spelling errors in the FAQ and in the manual were fixed.
  • The library line.s7i was improved to be usable as a file that flushes every line.
  • The bas7.sd7 (basic interpreter) example program was improved.
  • The macros HAS_INT64TYPE and INT64TYPE_IS_INT64 were replaced by INT64TYPE in various files.
  • The makefiles were improved to create defines for INT64TYPE and UINT64TYPE in version.h.
  • A makefile mk_osx.mak was added to support compilation under Mac OS X with Xcode.

New in Seed7 2008-12-21 (Dec 21, 2008)

  • The chapter about the Seed7 structured syntax definition in the manual was improved.
  • A new library named gethttp.s7i, which contains support to get data with the HTTP protocol, was added.
  • A new library named html.s7i, which contains support functions for HTML, was added.
  • The bas7.sd7 (basic interpreter) example program was improved.
  • The compiler (comp.sd7) was improved to support the addresses of ITF_CPY and ITF_CREATE, so hash tables with interface values are supported.

New in Seed7 2008-12-08 (Dec 8, 2008)

  • A new chapter about the Seed7 structured syntax definition was added to the manual.
  • The chapter about declarations in the manual was improved.
  • The function getValueOfHeaderAttribute was added to the scanstri.s7i library.
  • The seed7_05.s7i library was improved to support case statements for the type boolean.
  • The wiz.sd7 example program was improved.

New in Seed7 2008-11-16 (Nov 17, 2008)

  • The support for compilation with the bcc32 C compiler from BDS was improved such that the chk_all.sd7 check program succeeds.
  • The FAQ about the operating systems supported by Seed7, was improved.
  • A chapter describing how to replace pointers with interface types was added to the manual.
  • The program chk_all.sd7 was improved to also check for the successful compilation of the compiler.
  • The compiler (comp.sd7) was improved to generate C programs that are acceptable to the bcc32 C compiler.
  • The documentation file src/read_me.txt was improved to explain the #define value CHECK_INT_DIV_BY_ZERO.

New in Seed7 2008-11-02 (Nov 2, 2008)

  • A new gzip.s7i library, which contains a gzip uncompression function, was added.
  • The functions getXmlTagHeadOrContent, getSymbolInXmlTag, getHtmlAttributeValue and getNextXmlAttribute were added to the scanfile.s7i library.
  • In the library scanstri.s7i the function getXmlTagHeadOrContent was added and the function getSymbolInHtmlTag was renamed to getSymbolInXmlTag.
  • The call stack written by the (hi) interpreter, when an uncatched exception occurs, was improved.
  • The compiler (comp.sd7) was improved to write a file name and a line when an uncatched exception occurs.
  • The handling of sockets in the compiler was improved to support them also for the cl C compiler from msvc.
  • The makefiles were improved to define 'make clean' additionally to 'make clear' to remove the object files and libraries which were created during the compilation process.
  • The documentation file src/read_me.txt was improved to explain more #define values used in the file version.h.

New in Seed7 2008-10-19 (Oct 20, 2008)

  • Support for compilation with the cl C compiler from msvc was improved such that chk_all.sd7 succeeds.
  • The programs chkexc.sd7 and chkflt.sd7 were improved to better check for division by zero.
  • The files dir_rtl.c and dir_rtl.h were added to support reading directories with char and wide char types.
  • An implementation for the functions wopendir(), wreaddir(), and wclosedir(), based on FindFirstFile() and FindNextFile(), was added to dir_win.c.
  • The file src/read_me.txt was improved to explain compilation with bcc32.
  • The file scr_win.c was improved to support the keypad cursor keys better.

New in Seed7 2008-10-05 (Oct 6, 2008)

  • The chapter about primitive actions in the manual was improved.
  • The definition of STD_NULL in the seed7_05.s7i library was improved to support read and write operations with STD_NULL.
  • The bas7.sd7 (basic interpreter) example program was improved.
  • The compiler (comp.sd7) was improved to support local interface declarations and dynamic functions that refer to constant values.
  • Several improvements were made to support compilation with the cl compiler from MSVC and the bcc32 compiler.
  • The function bigCLit() was improved to avoid C code that the cl C compiler miscompiles to the wrong machine code.

New in Seed7 2008-09-21 (Sep 22, 2008)

  • The chapters about object orientation and primitive actions in the manual were improved.
  • The bas7.sd7 (basic interpreter) example program was improved.
  • The compiler (comp.sd7) was improved to support several new primitive actions and HASHOBJECT constants.
  • A binary gcd function was added to the gcd.sd7 example program.
  • The X11 keyboard driver was improved to support the num-lock functionality.
  • The functions hash_data_to_list and hash_key_to_list were added to the file listutl.c .
  • The functions matchExpr, setVar, hash_data_to_list, and hash_key_to_list were added to the progs.s7i library.

New in Seed7 2008-09-02 (Sep 3, 2008)

  • The FAQ about development speed and type checking was improved. Several chapters in the manual were improved.
  • The functions rflTail and rflRange were improved to raise MEMORY_ERROR instead of RANGE_ERROR.
  • The 'conv' operator was improved to convert between numeric types.
  • The function getSymbolWithHtmlEntities and the 'conj' operator were added.
  • Changes were made to support compilation when DO_HEAP_STATISTIC is defined.
  • The file src/read_me.txt was improved.
  • Various 'reference' functions were improved to raise RANGE_ERROR when a reference is NIL or does not have the required category.