Set Theory 0.30.d
Rosivaldo Fernandes Alvesrosivaldo.fa@gmail.com
December 2, 2018
Overview
This software project, called set_theory,
aims to provide the Eiffel
(programming language) Community with a rich and expressive
library of classes modeled upon the concepts of set
theory. In order to get details about motivations, design
decisions and a sketch of road-map,
please see https://www.eiffel.org/blog/rosivaldo/2017/09/set-theory.
In the current
state (https://launchpad.net/set-theory/incremental/0.30.d),
this project deviates
significantly from the one firstly released at
https://launchpad.net/set-theory/trunk.
Instead of rendering here a lengthy justification for the adopted
changes, I prefer to answer any question on that or any other aspect
of the project via e-mail (rosivaldo.fa@gmail.com)
or at https://answers.launchpad.net/set-theory/+addquestion.
Release notes
0.30.d:
- Specifications, properties, implementation and tests were
rewritten as much as possible to leverage from using agents.
- Several new features, intended to be used instead of in-line
agents, were specified, implemented and tested.
- Documentation:
- Still no diagram included (please see the reason in previous
release);
- EiffelStudio still can not render right some samples of code
that use class (instance-free) features, causing the classes that
have such kind of code be rendered incompletely on automatic
documentation (e.g. STI_SET).
- Still no diagram included (please see the reason in previous
release);
0.30.c:
- Some agent-oriented features were added to classes that model sets and n-tuples; all of such features were specified, implemented and tested.
- Overall refactoring has heavily reorganized the cluster hierarchy, in order to ease visual (i.e. via diagrams) documenting.
- Documentation:
- Though the automatic HTML documentation has been updated (file://$(system_path)/doc/html/index.html), it includes no diagram, which could not be rendered due to the same bug in EiffelStudio already mentioned on release 0.30.a.
0.30.b:
- Implementation-specific features of sti_sets cluster were put under tests, uncovering several errors unseen when testing only specification features.
0.30.a:
- General refactoring removed redundant code, saving some 1910 lines of code.
- Documentation:
- due too a bug (not yet understood) in EiffelStudio’s documentation generator, the system HTML documentation (file://$(system_path)/doc/html/index.html) was not updated to reflect the current state of the system; inside EiffelStudio, however, clusters’ diagrams were updated properly.
0.30:
- Implemented features: "sets" clusters, which consist of
- sts_sets cluster: minimal specification of core concepts in set theory;
- stp_sets_properties cluster: extended specification of core concepts in set theory;
- sti_sets cluster: implementation of core concepts in set theory, grounded on previous clusters;
- stt_sets_tests cluster: test suites for the implementation in sti_sets.
- Pending features:
- numbers-related clusters: numeric sets, i.e. N, Z, R and C, specified, implemented and tested according to all previous clusters.
Major releases ahead
Once the current release is consolidated, I will
add to the project the clusters “relations”, “functions”
and “operations”.