Framework for E

Online Status

I started making a framework for E in the EEC group on GitHub but when I heard ContainerKit was coming out with an official library of containers, I stopped development to reconcile them once ContainerKit.library came out. Now the first version is out and some reconciliation is needed.

My hash table implementation had 3 example hash functions: StringHash, PointerHash (same as long integer in E) and CompositeHash (an EList of long integers). One bug I never got around to fixing was that the CompositeHash would stop at the first zero or NIL it encountered because that's the sentinel value for an EList ending anyway.

Looking at the ContainerKit implementation, it has some better researched hash functions but only for string and pointer hashes. The variable-length array doesn't have a hash function yet. On the plus-side, the hash codes on ContainerKit are 32 bits vs. 16 bit on mine (32 bit was being planned for a future release) and the open-indexing simplified the load and save functions so it wouldn't need serialization and deserialization using an iterator and a flat-file buffer.

This leaves mainly a singly-linked list and the unidirectional queue based on it. The rest can be reimplemented on top with relative ease. There's more but we can discuss the rest later.

Online Status

Contributions are very welcome. Catch me on facebook so we can discuss further