More work in the master
branch of Vicare. I have bumped the version number
of the library (vicare)
to (0 4 2016 9 4)
.
More errors emerged in the implementation of recursive types, I think I fixed them. However, testing continues: I am porting some old libraries from the Nausicaa hierarchy to the typed language.
Everything I discuss here is relative to code in the head of the master
branch.
When defining a new data type, disjoint from all the other types, we should really
use record–types; the use of structs should be limited to special cases. Structs
have no inheritance and there is really little difference between a record–type with
no parent and a struct–type. For this reason I created the library (vicare
system structs)
, which exports the syntactic bindings related to structs in place of
(vicare)
.
Other libraries now exist to export syntactic bindings that are used internally but
should no be used directly by normal user code. For example (vicare system
comparison-procedures)
and (vicare system type-descriptors)
. More such
libraries will come into existence in future, to partition the big number of
syntactic bindings exported today by (vicare)
.