Related articles |
---|
Seed7 Release 2016-03-30 mertesthomas@gmail.com (2016-04-03) |
From: | mertesthomas@gmail.com |
Newsgroups: | comp.compilers |
Date: | Sun, 3 Apr 2016 10:34:44 -0400 (EDT) |
Organization: | Compilers Central |
Injection-Info: | miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="95584"; mail-complaints-to="abuse@iecc.com" |
Keywords: | available, OOP |
Posted-Date: | 03 Apr 2016 10:34:44 EDT |
Hello,
I have released a new version of Seed7: seed7_05_20160330.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 makefile mk_clangw.mak has been added. This makefile supports
compilation under Windows with the clang compiler.
- The experimental function parentDir has been added to osfiles.s7i.
- The experimental function getServerCertificate has been added to
tls.s7i.
- The compiler (s7c) has been improved to use the function
strAppendN, when two or more strings are appended to a string.
- Tests for string append (operator &:= ) have been added to
chkstr.sd7.
- The function strAppendN has been added to str_rtl.c.
- The function strCopy in str_rtl.c has been simplified.
- The program chkccomp.c has been improved to write a definition of
CHAR_BIT, when it is not defined in limits.h.
- Several files have been changed to use CHAR_BIT instead of the
literal 8.
- in chkccomp.c several string literals have been changed to wide
string literals (e.g. L"abc" instead of "abc").
- In several files integer literals have been replaced by contants or
#define macros.
- The function __mulodi4 has been added to int_rtl.c. This function
is used by clang under Windows, but unfortunately is not part of the
runtime library. This situation is recognized by chkccomp.c and the
function __mulodi4 in int_rtl.c is used instead.
Changelog from version 2016-02-29:
- The function fltCmp in flt_rtl.c has been improved to work correct
in the case that isnan returns neither 0 nor 1 (Many thanks go to
Arnel L. for reporting this problem).
- The function determineGetaddrlimit in chkccomp.c has been improved
to include <sys/types.h> before <sys/resource.h>. FreeBSD needs
that to work correctly (Many thanks go to Pietro Cerutti for
providing a fix and explaining the background.
- The function getOsCwd has been added to cmd_rtl.c. With this
function it is possible to read (e.g. under Linux) a current
working directory that is longer than PATH_MAX.
- Documentation comments have been improved in encoding.s7i.
- The program chkccomp.c has been improved to write definitions of
USE_DIRENT, USE_DIRWIN, OS_WIDE_DIR_INCLUDE_DIR_H, os_DIR,
os_dirent_struct, os_opendir, os_readdir, os_closedir,
INCLUDE_SYS_UTIME, os_utimbuf_struct, USE_ALTERNATE_UTIME,
os_utime_orig, os_utime, os_chdir, OS_GETCWD_MAX_BUFFER_SIZE,
os_getcwd, os_mkdir, os_rmdir, OS_CHMOD_INCLUDE_IO_H, os_chmod,
os_remove, os_rename, os_system, os_fopen, os_popen, os_pclose,
DEFINE_WGETENV, os_getenv
- The functions keys_helem and values_helem in hshlib.c and
hsh_rtl.c have been improved to use a loop instead of a tail
recursion. For compilers that don't recognize the tail recursion
this results in a speed improvement (Gcc recognizes tail
recursions so there is no speed improvement).
- The functions free_helem and free_hash in hsh_rtl.c have been
improved to stop searching for helems as soon as the last helem
has been freed.
- The functions helem_data_to_list and helem_key_to_list have been
improved to use a loop instead of a tail recursion (see above).
Changelog from version 2016-01-30:
- A code page for pdf doc encoding has been added to charsets.s7i.
- An optimization for the length of concatenated strings has been
added to the compiler (in file str_act.s7i).
- Checks for the string length function have been added to
chkstr.sd7.
- The checks for the string operators := and &:= have been rewritten
to use one line for each testcase.
- The example program rever.sd7 has been improved to allow a level
of 10.
- The compiler has been improved to create code that raises the
exception ACTION_ERROR, when at runtime no implementation function
is found for an interface function.
- The performance of the hash table functions keys (which returns
all keys) and values (which returns all values) has been improved
in interpreted and compiled programs. For an average testcase
hshKeys() (in hsh_rtl.c) now uses only 27% of the previous runtime
(measured with gcc and valgrind).
- In hshlib.c the performance of the functions free_hash,
keys_helem, keys_hash, values_helem, values_hash, for_helem,
for_hash, for_key_helem, for_key_hash, for_data_key_helem and
for_data_key_hash has been improved.
- In hsh_rtl.c the performance of the functions free_hash,
keys_helem, keys_hash, values_helem and values_hash has been
improved.
- In listutl.c the performance of the functions helem_data_to_list,
hash_data_to_list, helem_key_to_list and hash_keys_to_list has
been improved.
- Several functions in cmd_rtl.c have been improved to work
correctly, when logError is activated (os_path is freed now after
its last use in logError).
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.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.