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


Groups > comp.compilers > #1334

Seed7 Release 2014-07-20

From mertesthomas@gmail.com
Newsgroups comp.compilers
Subject Seed7 Release 2014-07-20
Date 2014-07-20 10:50 -0700
Organization Compilers Central
Message-ID <14-07-044@comp.compilers> (permalink)

Show all headers | View raw


Hello,

I have released a new version of Seed7: seed7_05_20140720.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 compiler has been improved to generate overflow checking code
  by default. The generation of overflow checking code can be
  switched off with the option -so.
- The exception OVERFLOW_ERROR has been introduced. It is raised by
  the interpreter and by compiled programs when an integer overflow
  occurs.
- A paragraph about integer overflow and the installation of Seed7
  has been added to the FAQ.
- The chapter about exceptions in the manual has been improved.
- The program chkovf.sd7, which checks the recogition of integer
  overflows, has been added.
- Checks for +, -, *, rem, mod, <<, +:=, -:=, *:=, succ, pred, incr
  and decr have been added to chkint.sd7.
- Checks for the lpad operator have been added to chkstr.sd7.
- The compiler option -r has been replace by the option -sr.
- The program calc7.sd7 has been improved to report MEMORY_ERROR and
  OVERFLOW_ERROR.
- The library make.s7i has been improved such that make7.sd7 accepts
  echo (and echo.) statements without parameters.
- The function eof has been defined for the type tlsFile in tls.s7i.
- The function gets in tls.s7i has been improved.
- The function getHttp in gethttp.s7i has been improved to avoid an
  endless loop when eof has been reached.
- The function memcpy_from_strelem has been added to striutl.c. This
  function uses loop unrolling inspired by Duff's device and a trick
  with a binary or (|=) to check for allowed values.
- The functions filWrite, socWrite and bstParse have been changed
  to use memcpy_from_strelem. The reduction in runtime has been
  measured with gcc and valgrind. The runtime of filWrite, socWrite
  and bstParse has been reduced to 53%, 61% and 56% respectively.
- Documentation comments have been added to integer.s7i, bin32.s7i,
  intlib.c and striutl.c.
- The compiler has been improved to generate overflow checking code
  for *, <<, >>, *:=, <<:= and >>:= .
- The generation of overflow checking code for the operators rem and
  mod has been improved.
- Checks for overflow, division by zero, numeric error and index out
  of bounds in compiled programs now use the macros ovfChk, divChk,
  numChk and idxChk. This macros inform the C compiler about the
  unlikeliness of an exception.
- The function fltIPow has been improved to avoid a signed integer
  overflow, when the exponent is the most negative integer.
- The primitive actions INT_ULSHIFT and INT_ULSHIFT_ASSIGN have been
  added and supported in interpreter and compiler.
- A version of the function uint_rand, which uses 128-bit integers,
  has been added to int_rtl.c.
- The function raise_error3 in runerr.c has been renamed to
  interprRaiseError.
- The configuration values INT128TYPE, UINT128TYPE and MACRO_DEFS
  have been added to cc_conf.s7i. The configuration value
  SIGILL_ON_OVERFLOW has been replaced with OVERFLOW_SIGNAL.
- The functions constValueIsEqual, checkRangeFromZero,
  process_const_int_lshift, process_const_int_lshift_assign,
  process_const_int_rshift_assign, process_const_int_mult,
  process_const_int_mult_assign, process_const_int_ulshift_assign,
  process_const_int_ulshift and process_const_int_urshift_assign
  have been added to int_act.s7i.
- The function intExpr in chkbig.sd7, chkexc.sd7, chkint.sd7 and
  chkstr.sd7 has been changed to make sure that the C compiler
  cannot evaluate it at compile time.
- The runtime of the functions str_lpad, strLpad and strLpadTemp has
  been improved.

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 2014-07-20 mertesthomas@gmail.com - 2014-07-20 10:50 -0700

csiph-web