f



Seed7 Release 2016-08-31

Hello,

I have released a new version of Seed7: seed7_05_20160831.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 Seed7 runtime library has been improved to allow paths longer
  than PATH_MAX (260) characters under Windows.
- The program sydir7.sd7 has been improved. Now it is avoided to copy
  a file, when source and destination differ only by date. The
  option -c has been added. With -c the source is copied and files
  that are missing in the source are removed from the destination.
- The function readVolumeName in dir_rtl.c has been improved to allow
  extended length paths (This paths exist under Windows and have a
  prefix of \\?\ ).
- The functions opendir and wopendir in dir_win.c have been improved
  to allow paths longer than 260.
- In the library seed7_05.s7i the undocumented function xalloc has
  been removed.
- The function printArgv has been added to arr_rtl.c to improve the
  logging.
- The program chkccomp.c has been improved to write settings to
  always use the directory functions from dir_win.c under Windows.
- The function adjustCwdForShell has been added to cmd_rtl.c. This
  function sets the current working directory to something acceptable
  by cmd.exe.
- In stat_win.c the function wstati64 has been renamed to wstati64Ext
  and improved to call the original stat function, when possible.
- The new file stat_drv.h has been added. In this file a prototype
  of wstati64Ext is defined when necessary.
- The program wrdepend.c has been improved to work correctly, when
  the INCLUDE_OPTIONS macro contains newline characters.
- Calls of logFunction have been added to arr_rtl.c, cmd_rtl.c,
  dir_rtl.c, executl.c, fil_rtl.c, pcs_win.c, runerr.c, sctlib.c,
  sigutl.c, stat_win.c and striutl.c.
- Calls of logError have been added to arrlib.c, blnlib.c, cmd_rtl.c,
  conlib.c, dir_win.c, drwlib.c, enulib.c, fil_rtl.c, itflib.c,
  lstlib.c, prclib.c, reflib.c and striutl.c.

Changelog from version 2016-07-31:
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for CVD, CVDMBF, CVS, CVSMBF, HPLOT, MKD$, MKDMBF$, MKS$,
  MKSMBF$, PLOT, SCREEN, SHARED and VARPTR$ has been improved.
  Creating Cga, Ega and Vga images from arrays has been improved to
  work also for float and double arrays.
- The functions bin32, compare, hashCode, float2Bits, bits2Float,
  float2MbfBits and mbfBits2Float have been added to bin32.s7i. The
  functions fourBytesLeToBin32 and fourBytesBeToBin32 have been
  removed (The new function bin32 can be used instead).
- The functions bin64, compare, hashCode, float2Bits, bits2Float,
  float2MbfBits and mbfBits2Float have been added to bin64.s7i. The
  functions eightBytesLeToBin64 and eightBytesBeToBin64 have been
  removed (The new function bin64 can be used instead).
- The program chkbin.sd7 has been added. This program checks the
  correctness of the functions float2Bits, bits2Float, float2MbfBits,
  mbfBits2Float, str, radix and RADIX.
- Checks for the function decompose have been added to chkflt.sd7.
- The compiler has been improved optimize expressions where several
  terms are added or subtracted. It is possible to combine adjacent
  constant terms at compile time. This simplifies overflow checks.
- The compiler has been improved to store NaN values as bin64
  literals.
- The calc7 example program has been improved to support bin32 and
  bin64 functions.
- The function decompose and the type floatElements have been added
  to the library float.s7i. The function decompose splits a float into
  a normalized fraction and an integral exponent for 2. The result
  of decompose uses the type floatElements.
- The function integer (it converts a string to an integer) has been
  added to integer.s7i.
- In the library seed7_05.s7i the undocumented function xalloc has
  been replaced by the function create.
- The functions uintCmp and uintCmpGeneric have been added to
  int_rtl.c.
- The configuration value FREXP_INFINITY_NAN_OKAY has been added to
  cc_conf.s7i.
- The primitive action FLT_A2TAN has been renamed to FLT_ATAN2 in
  interpreter, compiler and runtime library.
- Documentation comments have been improved in bitdata.s7i, arrlib.c,
  binlib.c, bstlib.c, bst_rtl.c, fillib.c, kbdlib.c, literal.c.
- Interpreter and compiler have been improved to support the primitiv
  actions BIN_CMP, FLT_BITS2DOUBLE, FLT_BITS2SINGLE, FLT_DECOMPOSE,
  FLT_DOUBLE2BITS and FLT_SINGLE2BITS.
- The program chkccomp.c has been improved to define
  FREXP_INFINITY_NAN_OKAY and to work for PostgreSQL version 9.5.

Changelog from version 2016-06-30:
- The bas7.sd7 (basic interpreter) example program has been improved.
  Support for CVSMBF, CVDMBF, FLASH, FRE, GR, HGR, HOME, HTAB,
  INVERSE, NORMAL, TEXT, PR# and VTAB has been added. Support for
  CLEAR, COLOR, GET, INPUT, LOG, SQR and RUN has been improved.
  Some keywords can now be used as label.
- Documentation comments have been added or improved in seversl files.
- Definitions of the operator @:= have been added to bitset.s7i,
  bitsetof.s7i and hashsetof.s7i.
- The compiler has been improved optimize expressions like
  factor*base**exponent when the base is a power of two.
- In x509cert.s7i the constant stdCertificate has been improved to
  have a new validity (until end of 2017).
- In drw_win.c the function privateConsole has been improved to
  determine a private console window (A cmd.exe console that was
  invoked implizit when the program started) more reliable. This
  avoids that an already existing console (from which the program was
  started) is accidentally hidden.
- The function redraw in drw_x11.c has been improved to ignore NULL
  windows (EXPOSE events can arrive after a window has been freed).
- The function drwFree in drw_x11.c has been improved to free also the
  backup pixmap.
- Compiler and interpreter have been improved to support the action
  REF_ALLOC_INT.
- Checks for factor*base**exponent when the base is a power of two
  have been added to chkflt.sd7.
- Checks with several summands in a chain and checks of the
  subtraction of integer.first have been added to chkint.s7i.
- First steps have been done for a compiler optimization of adding
  and subtracting several summands in a chain.
- Occurances of nodeValue and MDULEOBJECT have been removed from
  interpreter and runtime library.
- The function prg_find has been removed from prglib.c.
- The function ref_find has been removed from reflib.c.
- The support for the actions PRG_FIND and REF_FIND has been removed
  from the interpreter.
- Function and variable definitions in setpaths.c and wrdepend.c have
  been changed to static definitions.

Changelog from version 2016-05-31:
- Documentation comments have been added or improved in many files.
- The compiler (s7c) has been improved to start C compiler and linker
  direct and not via a shell (except when the compiler must be started
  with a script).
- The program chkccomp.c has been improved to use consecutive numbers
  for test program files.
- The program chkccomp.c has been improved to show the progress of the
  tests done.
- The experimental function startProcess, with files to redirect, has
  been added to process.s7i.
- The functions childStdIn, childStdOut and childStdErr have been
  added to process.s7i.
- The function shellParameters has been added to shell.s7i.
- The function noEmptyStrings has been added to seed7_05.s7i.
- A conv operator to convert an interface object to a specific
  implementation type has been added to seed7_05.s7i.
- The compiler (s7c) has been improved to support the new conv
  operator defined in seed7_05.s7i.
- In cc_conf.s7i the configuration values CC_OPT_DEBUG_INFO,
  CC_FLAGS, LINKER_FLAGS, SYSTEM_LIBS, SYSTEM_CONSOLE_LIBS,
  SYSTEM_DRAW_LIBS and SYSTEM_DB_LIBS have been changed to be arrays
  of strings instead of strings.
- In cc_conf.s7i the configuration values CALL_C_COMPILER_FROM_SHELL,
  CC_ERROR_FILDES, REDIRECT_FILDES_1, REDIRECT_FILDES_2 and
  NULL_DEVICE have been added.
- In cc_conf.s7i the configuration value REDIRECT_C_ERRORS has been
  removed.
- Interpreter and compiler have been improved to support the actions
  PCS_CHILD_STDERR, PCS_CHILD_STDIN, PCS_CHILD_STDOUT, FIL_PIPE and
  FIL_OPEN_NULL_DEVICE.
- The function analyzeProg in analyze.c has been improved to have less
  usages of the global variable prog.
- The functions in chkccomp.c have been changed to static functions.
- The program chkccomp.c has been improved to define
  POPEN_SUPPORTS_CLOEXEC_MODE, FOPEN_SUPPORTS_CLOEXEC_MODE,
  HAS_FCNTL_SETFD_CLOEXEC and HAS_PIPE2.
- The function filPipe has been added to fil_unx.c and fil_win.c.
- In fil_rtl.c the functions filOpen and filPopen have been improved
  to open files with the CLOEXEC flag, when possible.
- The function filOpenNullDevice has been added to fil_rtl.c.
- The functions init_findid, init_entity and init_sysvar have been
  changed to use a progType parameter.
- The functions pcsStart in pcs_unx.c and pcs_win.c have been improved
  to have parameters for stdin, stdout and stderr.
- The functions pcsChildStdErr, pcsChildStdIn and pcsChildStdOut have
  been added to pcs_rtl.c.
.. The functions pcs_childStdErr, pcs_childStdIn and pcs_childStdOut
  have been added to pcslib.c.
- In src/read_me.txt descriptions of SEARCH_PATH_DELIMITER.
  REDIRECT_FILDES_1, REDIRECT_FILDES_2, NULL_DEVICE, REDIRECT_C_ERRORS
  and CC_ERROR_FILDES have been improved.
- The functions find_sysvar and concat_path have been renamed to
  findSysvar and concatPath respectively.

Changelog from version 2016-04-30:
- The makefile mk_clangw.mak has been improved, such that compilation
  with newer versions of clang under Windows works better.
- Tests for integer parse have been added to chkexc.sd7.
- The function doRemove in chkccomp.c has been improved to write
  nothing to the console.
- The function showErrors has been added to chkccomp.c.
- In actutl.c the functions searchAction and findAction have been
  improved to use fewer parameters and the function getActIllegal
  has been added.
- In chkccomp.c the function writeReadBufferEmptyMacro has been
  improved to optionally use _get_stream_buffer_pointers() to define
  the macro read_buffer_empty.
- The operator 'char conv' has been improved to check if the integer
  fits in a character.
- Documentation comments have been improved in float.s7i, poll.s7i,
  actlib.c actutl.c, big_gmp.c, big_rtl.c, bln_rtl.c, bst_rtl.c,
  chr_rtl.c, cmd_rtl.c, dir_dos.c, dir_win.c, drw_rtl.c, fltlib.c,
  flt_rtl.c, int_rtl.c, pcs_rtl.c, pollib.c, pol_sel.c, pol_unx.c,
  prg_comp.c, rfl_data.c, setlib.c, set_rtl.c and str_rtl.c.
- Calls of logFunction have been added to cmdlib.c and flt_rtl.c.
- Calls of logError have been added to functions in actlib.c,
  biglib.c, bstlib.c, chrlib.c, cmdlib.c, drwlib.c, fillib.c,
  fltlib.c, hshlib.c, intlib.c, pcslib.c, pollib.c, prglib.c,
  rfl_data.c, rfllib.c, sctlib.c, setlib.c, strlib.c and typlib.c.

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.
0
mertesthomas
9/14/2016 10:46:37 AM
comp.compilers 3310 articles. 0 followers. Post Follow

0 Replies
144 Views

Similar Articles

[PageSpeed] 13

Reply: