Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1693
| From | mertesthomas@gmail.com |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Seed7 Release 2016-03-30 |
| Date | 2016-04-03 10:34 -0400 |
| Organization | Compilers Central |
| Message-ID | <16-04-002@comp.compilers> (permalink) |
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.
Back to comp.compilers | Previous | Next | Find similar | Unroll thread
Seed7 Release 2016-03-30 mertesthomas@gmail.com - 2016-04-03 10:34 -0400
csiph-web