Set Theory 0.30.b

by rosivaldo (modified: 2018 Sep 12)

Set Theory 0.30.b

Rosivaldo Fernandes Alves

rosivaldo.fa@gmail.com

September 12, 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/+milestone/0.30.b), 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.b:

  • Implementation-specific features of sti_sets cluster were put under tests, uncovering several errors unseen when testing only specification features.
  • Documentation:
    • due too a bug (not yet understood) in EiffelStudio’s documentation generator, the system HTML documentation (file://$(system_path)/doc/html/index.html), though updated, lacks the clusters’ diagrams; inside EiffelStudio, however, such diagrams are updated properly.
  • Tests:
    • since AutoTest does not generate automated tests for void-safe projects yet, every test was manually crafted;
    • so far, set_theory passes, consistently and successfully, through 576 tests inside AutoTest.

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”.