Author: Amlal El Mahrouss (amlal at nekernel dot org)
Abstract:
Nectar
is a programming language that supports generics through its GenericsLibrary
.
The GenericsLibrary
provides a set of abstractions and utilities to define and manipulate generic types and functions.
Possible Implementation of a container trait N
in Nectar:
impl N
{
let init()
{
return;
}
let dispose()
{
return;
}
let begin(let it)
{
let end := it._begin;
return end;
}
let end(let it)
{
let end := it._begin;
end += it._end;
return end;
}
let size(let it)
{
let sz := it._size;
return sz;
}
};
Properties of N
and Y
:
Let Y
be a set of types with specific properties.
Let N
be an object mapping functors to Y
properties.
- N
Shall provide functions to manipulate Y
generically.
- N
May be extended to support additional Y
types and properties.
Let N(m)
denote the instantiation of N
for a specific Y
type.
- N(m)
Shall be defined for all Y
types m
that satisfy the required properties
Author: Amlal El Mahrouss - amlal@nekernel.org