Seed7 Release 2019-12-29
Sun, 29 Dec 2019 10:14:51 -0800 (PST)

          From comp.compilers

Related articles
Seed7 Release 2019-12-29 (2019-12-29)
| List of all articles for this month |

Newsgroups: comp.compilers
Date: Sun, 29 Dec 2019 10:14:51 -0800 (PST)
Organization: Compilers Central
Injection-Info:; posting-host=""; logging-data="6946"; mail-complaints-to=""
Keywords: OOP, available
Posted-Date: 30 Dec 2019 11:28:57 EST


I have released a new version of Seed7: seed7_05_20191229.tgz
The download is here:
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).

- 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
    - 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
- 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
    these macros can have a value of 0 or 1.

Thomas Mertes

Seed7 Homepage:
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.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.