Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #1693

Seed7 Release 2016-03-30

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)

Show all headers | View raw


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


Thread

Seed7 Release 2016-03-30 mertesthomas@gmail.com - 2016-04-03 10:34 -0400

csiph-web