Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: mertesthomas@gmail.com Newsgroups: comp.compilers Subject: Seed7 Release 2014-07-06 Date: Sun, 6 Jul 2014 15:15:05 -0700 (PDT) Organization: Compilers Central Lines: 67 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <14-07-017@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: miucha.iecc.com 1404688469 13866 2001:470:1f07:1126:0:676f:7373:6970 (6 Jul 2014 23:14:29 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Sun, 6 Jul 2014 23:14:29 +0000 (UTC) Keywords: OOP, available Posted-Date: 06 Jul 2014 19:14:29 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:1307 Hello, I have released a new version of Seed7: seed7_05_20140706.tgz In the Seed7 programming language new statements and operators can be declared easily. Types are first class objects and therefore templates/generics need no special syntax. Object orientation is used when it brings advantages and not in places when other solutions are more obvious. Seed7 is covered by the GPL (and LGPL for the Seed7 runtime library). Changelog: - The interpreter has been improved to recognize integer overflow. Now the exception NUMERIC_ERROR is raised, when a program triggers an integer overflow. The checks for overflow are done in software, but the overhead is small. With overflow checks the interpreter needs 0.5% (zero point five percent) more run-time to execute the program chkint.sd7 (verified with gcc and valgrind). - A chapter about the Seed7 Structured Syntax Description (S7SSD) has been added to the manual. - The for-until-loops in bitset.s7i and bitsetof.s7i have been improved such that the for-variable has the correct value, when it is used in the until-condition. - The function replaceN has been added to string.s7i. This function does replacements until no occurance of the target string is left. This function is used by toStdPath to replace multiple occurances of a character by one occurance (replace("/a///b////c", "//", "/") returns "/a/b/c"). - The program calc.sd7 has been renamed to calc7.sd7. - The program calc7.sd7 has been changed to accept the commands 'quit' and 'exit'. This commands can be used to exit the program. The possibility to leave the program with an empty input line has been removed. - The program calc7.sd7 has been improved to write the name of the exception, when it has been raised. - The compiler has been improved to allow the generation of overflow checking code. Overflow checking code can be generated for the operators +, -, **, +:= and -:= and the functions abs, succ, pred, incr and decr. Until the rest of the functions is implemented and enough tests have been added to chkint.sd7 the functionality is switched off. - The template FOR_UNTIL_DECLS has been added to forloop.s7i. This template defines for-loops with a condition. - The function abs has been moved from the library math.s7i to the library float.s7i. - Checks for addition, subtraction, multiplication, power and abs have been added to chkint.sd7. - In the compiler the statements to write the C prototypes have been moved from s7c.sd7 to functions in the files comp/xxx_act.s7i (xxx is the abbreviation for the corresponding primitive type). - The functions getReference getParameterAsReference have been added to comp/expr_util.s7i. - The function isit_bool from objutl.c has been replaced by the macro isit_bool (defined in objutl.h). This improves the speed of the interpreter. - The function set_card has been improved to call setCard, which computes the cardinality of a set much quicker. Regards, Thomas Mertes -- Seed7 Homepage: http://seed7.sourceforge.net Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch, statically typed, interpreted or compiled, portable, runs under linux/unix/windows.