Related articles |
---|
Seed7 Release 2020-08-30 mertesthomas@gmail.com (2020-09-09) |
From: | mertesthomas@gmail.com |
Newsgroups: | comp.compilers |
Date: | Wed, 9 Sep 2020 03:10:09 -0700 (PDT) |
Organization: | Compilers Central |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="66686"; mail-complaints-to="abuse@iecc.com" |
Keywords: | available, OOP |
Posted-Date: | 10 Sep 2020 13:54:06 EDT |
Hello,
I have released a new version of Seed7: seed7_05_20200830.tgz
The download is here: https://sourceforge.net/projects/seed7/files
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:
- Spelling corrections have been done in several files. Many thanks go
to Jens Schleusener, for sending a source code misspelling report
from Fossies.
- The file README.md, which uses the markdown format, has been added.
- Answers to seven new questions have been added to the FAQ.
- Descriptions of array, hash, set and struct in the manual have been
improved to contain examples of type declaration and usage.
- In array.s7i the functions remove() and insert() have been improved
to avoid copying whole elements.
- The string slice functions have been changed to raise INDEX_ERROR for
negative indices or lengths.
- The array slice functions have been changed to raise INDEX_ERROR for
negative indices or lengths.
- In chkstr.sd7 the tests for string slices have been adjusted to the
new behavior.
- The example program chkidx.sd7 has been added. This program checks
if INDEX_ERROR is correctly raised for string operations.
- The example program chkarr.sd7 has been added. This program checks
if array operations work correct.
- The program chk_all.sd7 has been improved to call and check the new
programs chkidx.sd7 and chkarr.sd7.
- Compiler and interpreter have been improved to support the actions
ARR_INSERT, ARR_INSERT_ARRAY and ARR_REMOVE_ARRAY.
- The compiler has been improved to support name parameters with
varfunc instead of func.
- The file comp/arr_act.s7i has been improved to support ARR_INSERT,
ARR_INSERT_ARRAY and ARR_REMOVE_ARRAY.
- The file comp/str_act.s7i has been improved to support the changed
string slice functions.
- The functions arr_insert(), arr_insert_array() and arr_remove_array()
have been added to arrlib.c. These functions work without copying
whole elements. Instead a memmove() is used on a part of the array to
move object records.
- The functions arrInsert(), arrInsertArray() and arrRemoveArray() have
been added to arr_rtl.c. These functions work without copying whole
elements. Instead a memmove() is used on a part of the array to move
64-bit elements.
- The functions addCopiedStriToArray() and addCopiedStriToRtlArray()
in strlib.c respectively str_rtl.c have been improved to scale
better. Now these functions double the array size every time a
realloc() is necessary. In the end the size is reduced to the actual
array size.
- In strlib.c the functions str_head(), str_range(), str_substr() and
str_tail() have been improved to check for INDEX_ERROR.
- In str_rtl.c the function strHeadSlice(), strHead(), strHeadTemp(),
strRangeSlice(), strRange(), strSubstrSlice(), strSubstr(),
strTailSlice() and strTail() have been improved to check for
INDEX_ERROR.
- The function strTailTemp() has been added to str_rtl.c. This function
is used by the compiler to optimize expressions like: s := s[n ..];
- In cmd_rtl.c the functions cmdMkdir(), cmdRemoveFile(),
cmdRemoveTree(), cmdSetATime(), cmdSetFileMode(), cmdSetMTime() and
cmdSymlink() have been improved.
- In cmd_unx.c the memory management of cmdSetGroup() and cmdSetOwner()
has been improved.
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.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.