Path: csiph.com!goblin3!goblin.stu.neva.ru!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: mertesthomas@gmail.com Newsgroups: comp.compilers Subject: Seed7 Release 2019-12-29 Date: Sun, 29 Dec 2019 10:14:51 -0800 (PST) Organization: Compilers Central Lines: 83 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <19-12-031@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="6946"; mail-complaints-to="abuse@iecc.com" Keywords: OOP, available Posted-Date: 30 Dec 2019 11:28:57 EST 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:2412 Hello, I have released a new version of Seed7: seed7_05_20191229.tgz The download is here: https://sourceforge.net/projects/seed7/files 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: - Spelling corrections have been done in several files. Many thanks go to Jens Schleusener, for sending a source code misspelling report from Fossies. - The memory management has been improved: - In exec.c the functions res_restore() and exec_action() have been improved to free unneeded memory, in case an exception has been raised. - In prclib.c the functions prc_block(), prc_block_catch_all() and prc_block_otherwise() have been improved to free the fail_expression, in case an exception has been caught. - In numutl.c the function getDecimalBigRational() has been improved to free the temporary string. - In sql_rtl.c the function sqlColumnBigRat() has been improved to free the old values of numerator and denominator. - In sql_base.s7i the function openDatabase() with DB_ODBC and dbPath has been improved to use a DSN (data source name), if colon and slash are missing. E.g.: openDatabase(DB_ODBC, "anyDsn", "test", "test") - The compiler has been improved to support the action PRC_HEAPSTAT. - In flistutl.c the functions heapStatistic() and check_heap() have been improved to consider processes, sql functions, databases, prepared statements and fetched data. The function heap_statistic() has been renamed to heapStatistic(). - In sql_cli.c the functions sqlColumnBigInt(), sqlColumnBigRat(), sqlColumnBStri(), sqlColumnFloat() and sqlColumnStri() have been improved to check, if the length returned by the database is greater than the buffer_length. In this case a DATABASE_ERROR is raised. - In sql_cli.c the function setDecimalBigRat() has been improved to convert integers to a string without decimal point. - The function SQLGetFunctions() has been removed from db_odbc.h, sql_cli.c and the makefiles (variable OBJCOPY_PARAMS). - In sql_cli.c the element SQLDescribeParam_supported has been removed. Instead the function pointer of SQLDescribeParam is checked and the result of SQLDescribeParam() is compared with SQL_SUCCESS. - In sql_odbc.c the function driverConnect() has been improved to search only for a driver, if the driver name is not empty. - In sql_odbc.c the function sqlOpenOdbc() has been improved to use the dbName as DSN (data source name) only, if no driver and no server are given. - In sql_post.c the function setupDll() has been improved to call dllOpen() instead of a recursive call of setupDll(). - The new macro ALLOC_RECORD2() has been added to heaputl.h. The macro is used in drw_win.c, drw_x11.c, sql_cli.c, sql_fire.c, sql_lite.c, sql_my.c, sql_oci.c and sql_post.c. - The new macros COUNT_GROW_STRI() and COUNT_SHRINK_STRI() have been added to heaputl.h. This macros are currently empty. They are planned for a heap statistic concerning unused chars in strings with capacity. - In chkccomp.c several improvements have been done. In determineFireDefines() a search for the Firebird home directory has been added. In determineDb2Defines() the environment variable DB2_HOME is used now, to determine the Db2 home directory. In determineConsoleDefines() and determineSqlServerDefines() the list of DLLs has been improved. - The heap statistic for strings has been improved to use the string capacity instead of the string size. - The file config.h has been changed to define the macros USE_ALTERNATE_NEXT_CHARACTER, USE_INFILE_BUFFER, USE_CHUNK_ALLOCS, USE_ALTERNATE_CHUNK_ALLOCS and USE_MAXIMUM_MALLOC_CHECK always. Now these macros can have a value of 0 or 1. 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.