Projects / Seed7 / Releases / 2010-04-18

Version 2010-04-18 of Seed7

Release Notes: The chapter explaining operating system files in the manual was improved. A free list memory management for small bigInteger values was introduced. The compiler (comp.sd7) was improved to handle empty structs correctly. The compiler was improved to produce better code when local functions use variables from surrounding functions. The compiler was improved to generate the same C program for every run. The compiler was improved to create data structure definitions, which are helpful for a debugger. The function ref_type was improved to reliably raise an exception when the type is NULL.

Other releases

Release Notes: Functions to compare arrays have been added. The functions hashCode and compare have been defined for enum types. The operator parser has been improved to accept bigRational numbers with repeating decimals. Functions to convert a numeric string with a specified radix have been added. The operator sci has been added to complex.s7i. The memory management in the interpreter has been improved to free the memory of struct objects only when usage_count reaches zero. The compiler has been improved to call the destructor for local interface objects and to initialize all set constants.

Release Notes: The FAQ explanation concerning garbage collection has been improved. Several manual chapters have been improved. Operations to get an array slice with a specified length have been added to array.s7i and idxarray.s7i. Array aggregates with a start index have been added to idxarray.s7i. Functions for binomial coefficient and modular exponentiation have been added to bigint.s7i. The functions min and max have been added to integer.s7i and float.s7i. A standard bitmap font, with capital height of 9, has been defined in stdfont9.s7i. The Comanche Web server has been improved to accept cookies.

Release Notes: The FAQ has been improved. The function getc(KEYBOARD) has been improved to support Unicode characters and more function keys. The memory management has been changed to work for the files managed by pollData. The function writeln(file, string) has been defined as the DYNAMIC (virtual) function. The function key definitions have been changed to be outside the range of Unicode characters. Tests for string assignment and append have been added to chkstr.sd7. The function kbdKeyPressed in kbd_inf.c has been improved to never wait for input. The free list management for strings has been improved.

Release Notes: The FAQ has been improved. The compiler has been improved to optimize the concatenation of three or more strings with strConcatN and to store the characters of string constants with more density. The compiler has been improved to define and use dynamic (virtual) destructors for interface types. The interpreter and compiler have been improved to use reference counting (usage_count) for all objects of the category STRUCTOBJECT. The string search functions (pos) have been improved to use a modified Boyer–Moore string search algorithm. The performance of the function replace2 has been improved.

Release Notes: The library editline.s7i has been added. It defines a file type for linewise editing with history. The manual chapter describing types, especially the type program, has been improved. The calc.sd7 example has been improved to allow linewise editing. The handling of the internal program representation in interpreter and compiler has been improved to free most unused memory. The stack trace has been improved to display infix operators better and to write parameter names. The functions copy_expression and free_expression have been optimized. The free list management has been made configurable.

Screenshot

Project Spotlight

RedQueryBuilder

A JavaScript SQL query builder UI.

Screenshot

Project Spotlight

Java Algebra System

An object-oriented, type safe, multi-threaded approach to computer algebra.