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


Groups > comp.compilers > #1828

Seed7 Release 2017-03-05

From mertesthomas@gmail.com
Newsgroups comp.compilers
Subject Seed7 Release 2017-03-05
Date 2017-03-08 12:05 -0500
Organization Compilers Central
Message-ID <17-03-007@comp.compilers> (permalink)

Show all headers | View raw


Hello,

I have released a new version of Seed7: seed7_05_20170305.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 performance of the function bigIPow in big_rtl.c has been
  improved by a factor of 15 (measured with gcc and valgrind when
  bitLength(123456789_**123456) is computed). Now Karatsuba
  multiplication and Karatsuba squaring is used to compute the power.
- The performance of the function uBigMult in big_rtl.c has been
  improved by 22% (measured with gcc and valgrind).
- The compiler has been improved to optimize expressions like:
    stri := stri & ....
    stri := stri[pos ..];
    stri := lower(stri);
    stri := upper(stri);
  The optimization avoids an unnecessary copy of the string result of
  the right hand side expression.
- The code generated by the compiler for the action STR_FOR has been
  improved. Now correct code is generated, when the for-statement
  loops over a string expression.
- The library seed7_05.s7i has been improved to support if-statements
  with omitted statement after the keyword 'then'.
- The functions getFile and putFile have been added to osfiles.s7i.
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for the commands FILES and LOAD has been added.
- Testcases for the power operator (**) and the operators div, rem,
  mdiv and mod have been added to chkbig.sd7.
- Testcases for the new string optimizations done by the compiler have
  been added to chkstr.sd7.
- Interpreter and compiler have been improved to support the action
  PRC_IF_NOOP.
- The new library http_response.s7i has been added. It contains
  support for HTTP responses.
- The comanche webserver has been improved to work with the new
  library http_response.s7i.
- In big_rtl.c the functions bigIPow and bigIPowN have been improved
  to use uBigSquareK and uBigMultK instead of uBigSquare and
  uBigMultIntoHelp.
- In big_rtl.c an improved version of uBigDigitMult has been added and
  an older deactivated (but faster) version of uBigMult has been
  reactivated.
- In str_rtl.c the function strHeadTemp has been improved to avoid a
  heap corruption for the strange corner case that shrinking a memory
  area fails. Additionally this can only happen with the new compiler
  optimization that generates the expression:
    aString = strHeadTemp(aString, anIndex);
- The functions uBigMultIntoHelp and uBigSquare have been removed from
  big_rtl.c
- In flt_rtl.c the functions fltDgts and fltSci have been improved to
  work correct, when printf() does not have a fixed maximum for the
  float precision.
- The program chkccomp.c has been changed such that several test
  programs link with SYSTEM_LIBS, when wide variants of system file
  funtions are tested.
- The test programs of chkccomp.c, which determine BOOLTYPE,
  FLOAT_ZERO_DIV_ERROR, PRINTF_FMT_E_MAXIMUM_FLOAT_PRECISION and
  PRINTF_FMT_F_MAXIMUM_FLOAT_PRECISION have been improved.
- The test programs of chkccomp.c, which determine database include
  files have been improved to use something from the include file.
  This way the correct include file is selected when a C compiler just
  warns about a missing include file instead of flagging an error.

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 2017-03-05 mertesthomas@gmail.com - 2017-03-08 12:05 -0500

csiph-web