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


Groups > comp.compilers > #1093

Seed7 Release 2014-02-16

From mertesthomas@gmail.com
Newsgroups comp.compilers
Subject Seed7 Release 2014-02-16
Date 2014-02-16 02:36 -0800
Organization Compilers Central
Message-ID <14-02-014@comp.compilers> (permalink)

Show all headers | View raw


Hello,

I have released a new version of Seed7: seed7_05_20140216.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:
- A new numeric escape sequence for string literals has been
  introduced. A backslash followed by an integer literal and a
  semicolon is interpreted as character with the specified ordinal
  number. E.g.: "abc\128;def". With the old numeric escape sequence
  this would be "abc\128\def". Terminating the escape sequence
  with ; instead of \ improves the readability, especially when
  escape sequences follow each other. Instead of "\8\\12\\7\8\9\\\"
  it is now possible to write "\8;\12;\7;8\9;\\" The old escape
  sequence is still supported, but it is deprecated and should not
  be used. Future versions will warn about the deprecated escape
  sequence.
- The conversion functions 'bytes' and 'bytes2Int' in bytedata.s7c
  have been improved to support all combinations of signedness and
  endianess.
- The functions bStriBe and bStriLe have been removed from
  bstring.s7i. The function 'bytes' in bytedata.s7c can be used as
  replacement.
- Checks for lowestSetBit and UNSIGNED conversions with the
  functions 'bytes' and 'bytes2Int' have been added to chkint.sd7.
- Checks for UNSIGNED conversions with the functions 'bytes' and
  'bytes2BigInt' have been added to chkbig.sd7.
- Checks for the function rand have been added to chkset.sd7.
- The parser has been improved to write error messages when the
  source file contains unexpected UTF-8 continuation bytes, solitary
  UTF-8 start bytes, extended control codes from the C1 set or an
  UTF-16 byte order mark.
- In tar.s7i the functions getoct, putspc and putoct have been
  improved. The computation of the size of padding data has also
  been improved.
- The compiler has been improved to optimize string initialisations
  with the function strZero. StrZero creates a string of arbitrary
  length with '\0;' (zero) bytes.
- The compiler has been improved to optimize integer exponentiation
  (action INT_POW). Now the multiplication pattern is determined at
  compile time and the number of multiplications is reduced.
- The performance of the function setCard in set_rtl.c has been
  improved by a factor of 2.5.
- The performance of the function setRand in set_rtl.c has been
  improved by a factor of 2.3.
- Loop unrolling inspired by Duff's device has been introduced in
  striutl.h. The unrolling is used for tight loops which copy byte
  data to Seed7 strings in fil_rtl.c, soc_rtl.c and bst_rtl.c. The
  performance improvement has been verified with gcc and valgrind.
- The example program err.sd7, which checks compile time error
  messages, has been improved.
- The old way to store the data of constant bigIntegers has been
  removed from compiler and runtime library.
- The buffers used in intRadix and intRadixPow2 (file int_rtl.c) have
  been enlarged to fit for the most negative number with a base of 2.
- In itflib.c the functions itf_cpy and itf_cpy2 have been fixed to
  work correctly, when the destination is converted from a struct to
  an interface.
- In traceutl.c the tracing of characters has been improved in the
  functions prot_char, prot_os_stri, prot_stri_unquoted and
  prot_bstri.
- In ut8_rtl.c the function ut8Getc has been improved to use smarter
  checks for ranges of characters.
- The deprecated variant of the function str, which has a second
  parameter to specify a numeric base, has been removed. The
  operators radix and RADIX can be used instead.
- Interpreter and compiler have been improved to support the new
  actions INT_BYTES_BE, INT_BYTES_LE, INT_BYTES_BE_2_INT and
  INT_BYTES_LE_2_INT. The functions intBytesBe, int_bytesBe,
  intBytesLe, int_bytesLe, intBytesBe2Int, int_bytesBe2Int,
  intBytesLe2Int and int_bytesLe2Int have been added.
- Support for the actions BIG_CLIT, INT_TO_BSTRI_BE, INT_TO_BSTRI_LE,
  INT_BYTES_BE_2_UINT and INT_BYTES_LE_2_UINT has been removed from
  interpreter and compiler. The functions bigImport, bigCLit,
  big_clit, intToBStriBe, int_toBStriBe, intToBStriLe, int_toBStriLe,
  intBytesBe2UInt, int_bytes_be_2_uint, intBytesLe2UInt and
  int_bytes_le_2_uint have been removed.

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-02-16 mertesthomas@gmail.com - 2014-02-16 02:36 -0800

csiph-web