|Seed7 Release 2014-02-02 email@example.com (2014-02-02)|
|Date:||Sun, 2 Feb 2014 13:14:34 -0800 (PST)|
|Posted-Date:||02 Feb 2014 16:48:20 EST|
I have released a new version of Seed7: seed7_05_20140202.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
Seed7 is covered by the GPL (and LGPL for the Seed7 runtime library).
- The manual chapter describing the foreign function interface has
- The handling of Unicode in the console has been improved. Cursor
positioning and writing Unicode strings to the desired position
works now also under Linux.
- A strict checking of all strings, that are passed to C functions,
has been introduced. Zero bytes and non Unicode characters in the
original string raise the exception RANGE_ERROR now.
- The performance of several loops in the runtime library has been
improved. Now the loops use indices instead of pointer increments
and they work downward towards an index of zero. This allows C
compilers to do more optimizations (verified with gcc and
- The enumeration types signedness and endianess have been added to
- The conversion functions bytes, bytes2Int and bytes2BigInt have
been added to bytedata.s7c. The new function allow conversions
to and from signed and unsigned byte strings with big- and
little-endian byte order. This functions replace the less flexible
functions bytesLe2Int, bytesBe2Int, bytesLe and bytesBe.
- The functions bStriBe, bStriLe, bStriBe2BigInt and bStriLe2BigInt
have been moved from bytedata.s7c to bstring.s7i.
- The performance of the functions int16AsTwoBytesLe,
int32AsFourBytesLe, int64AsEightBytesLe int16AsTwoBytesBe,
int32AsFourBytesBe and int64AsEightBytesBe has been improved.
- Documentation comments have been added or improved in cc_conf.s7i,
bytedata.s7i, environment.s7i, sockbase.s7i, actutl.c, big_rtl.c,
big_gmp.c, biglib.c cmd_rtl.c, con_inf.c, con_win.c, con_wat.c,
int_rtl.c, intlib.c, soc_rtl.c, striutl.c and syvarutl.c.
- The program chk_all.sd7 has been improved to check several
compiler options and to allow that the output of interpreted and
compiled compiler differs. The difference of the generated C code
is okay, when the execution of the compiled programs results in
the same output.
- The compiler (s7c) has been improved to do more optimizations for
the action BIG_REM (operator rem).
- The compiler has been improved to count inserted and suppressed
- Interpreter, compiler and runtime library have been improved to
allow bstrings with slices. This is used by the compiler to
reduce the memory used for constant bstrings.
- The compiler has been improved to store the data of constant
bigIntegers in bstrings.
- Checks for div, rem, mdiv and mod have been added to chkbig.sd7.
- Checks for float division by zero have been added to chkexc.sd7.
- Checks for float parse have been added to chkflt.sd7.
- In con_inf.c, con_win.c and con_wat.c the function conText has
been replaced by conWrite. ConWrite takes an UTF-32 string and
writes it to the console. If stdout is redirected an UTF-8 string
is written to the destination file.
- The function gen_act_ptr_table has been added to actutl.c. This
function creates act_ptr_table and removes double entries from it.
- The functions intBytesBe2UInt and intBytesLe2UInt have been added
- Interpreter and compiler have been improved to support the new
actions INT_BYTES_BE_2_UINT and INT_BYTES_LE_2_UINT.
- Checks for the function sigaction() and for integer division and
remainder have been added to chkccomp.c.
- The configuration values ALLOW_BSTRITYPE_SLICES,
CHECK_INT_REM_BY_ZERO and CHECK_INT_REM_ZERO_BY_ZERO have been
added to cc_conf.s7i, chkccomp.c, cmd_rtl.c and s7c.sd7.
- Several versions of timAwait in tim_unx.c have been improved to
restart calls of poll(), ppoll() and select().
- A check for the character '=' in the environment variable name has
been added to the function cmdSetenv (in cmd_rtl.c).
- In striutl.c the functions stri_compress, stri_export_utf8 and
cp_to_cstri8 have been improved and renamed to conv_to_cstri
conv_to_cstri8 and stri_to_cstri8 respectively. Interpreter and
runtime library have been improved to use the new function names.
- The function stri_to_cstri and the macro free_cstri8 have been
added to striutl.c.
- The functions conv_to_cstri, conv_to_cstri8, stri_to_cstri8 and
stri_to_bstri have been improved to use an err_info parameter.
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.
Return to the
Search the comp.compilers archives again.