The GenericsLibrary, Part Two.

Published March 24, 2026

The GenericsLibrary of Nectar: Part Two.

Principles of the GL:

  • 'Algorithms'
  • 'Containers'
  • 'Traits'

The Algorithms have to be generic and fit-it-all:

The following implementation implements and iterator in a generic algorithmic way.

impl iterator : trait iterator_traits
{
    let begin(let self)
    {
	    must_pass(self._begin != self._end);
	
        let begin := self._begin;
        return begin;
    }

    let end(let self)
    {
	    must_pass(_begin != _end);
	
        let end := self._end;
        return end;
    }

    let size(let self)
    {
	    must_pass(self._size > 0);
        return self._size;
    }
};

Here you don't have to know what it does exactly, you can just plug it in every type that conforms to iterator_traits.