Seed7 Release 2012-05-06
Sun, 6 May 2012 10:08:40 -0700 (PDT)

          From comp.compilers

Related articles
Seed7 Release 2012-05-06 (2012-05-06)
| List of all articles for this month |

Newsgroups: comp.compilers
Date: Sun, 6 May 2012 10:08:40 -0700 (PDT)
Organization: Compilers Central
Keywords: available, OOP
Posted-Date: 06 May 2012 13:24:45 EDT


I have released a new version of Seed7: seed7_05_20120506.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).

- A typo in the manual, concerning the 'integer' operator 'rpad',
    was fixed (thanks to Robert A Duff for pointing it out).
- The compiler (comp.sd7) was improved to generate optimized code
    for the integer 'mod' operator (thanks to Andrew Haley,
    Stefan Ram, Scott Fluhrer and Gene for their help).
- The compiler was improved to generate optimized code for the
    integer operators 'mdiv' and 'mod', when the divisor is a negated
    power of two.
- The FAQ answers, which explain possible compilation errors and the
    templates of Seed7, were improved.
- The chapter explaining primitive actions in the manual was
- The compiler was improved to use inline code for set membership
    (operator: in) and set exclusion. The inlining is done instead of
    calling 'setElem' respectively 'setExcl'.
- The compiler was improved to use 'setIsEmpty' (which is defined in
    "set_rtl.c"), when a set is compared with the empty set (action
    "SET_EQ" and "SET_NE").
- Interpreter, compiler and runtime library were improved to support
    the actions "PRG_INTERPRETER" (returns the path of the hi
    interpreter), "SET_NEXT" (used in for-loops over sets) and
    "SET_RANGELIT" (used to create sets like {1 .. 5} ).
- In "chkset.sd7" the tests for set union and set membership were
- The checks of relation operators in "chkset.s7i" were split into
    several functions.
- The example program "printpi2.sd7" was improved.
- The function 'bigEqSignedDigit' was added to "big_rtl.c" and
    "big_gmp.c". This function is used in the compiler to optimize
    bigInteger comparisons (= and <>) with small signed numbers.
- The functions 'reduce' and / in "bigrat.s7i" were improved.
- The performance of the function setCard in "set_rtl.c" was
- The functions 'setSymdiff' and 'setUnion' were improved to raise
    MEMORY_ERROR, when the computation of the data size would
- The performance of the function 'prot_set' in "traceutl.c" was
- The example program "make7.sd7" was improved. Now it processes
    make commands in makefiles correctly and accepts tabs before the
    dependencies of a rule. Additionally make7 now allows repeated
    target names when there no commands.
- Checks for 'mod' and 'mdiv' were added to "chkint.sd7".
- A documentation comment was added to the function 'cp_to_cstri'
    in the file "striutl.c".
- The macros 'likely' and 'unlikely' were added to if-statements
    checking for exception conditions in the file "set_rtl.c".
- A description of possible compilation errors was added to the file
- In "shell.s7i" the function 'shell' was overloaded and the
    function 'callOwnProgram' was added.

Thomas Mertes

Seed7 Homepage:
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.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.