====== Abstract Data Types ======
defined as types and functions rather than (grammar operators)
===== setOf X =====
generic type
==== glossary entries ====
[[http://en.wikipedia.org/wiki/Set_theory|wikipedia (Set_theory)]]
[[http://en.wikipedia.org/wiki/Set_(mathematics)|wikipedia (Set)]]
==== primitive functions ====
==== Définies dans la lib par défaut ====
voir /KmlLibs/DEFAULT/functions.txt
#some functions are defined with synonym names
#set theory and collection inspiration
FUNCTION isEmpty : setOf LIKE ->Boolean .
FUNCTION notEmpty : setOf LIKE ->Boolean .
FUNCTION member : setOf LIKE;LIKE ->Boolean .
FUNCTION notin : setOf LIKE;LIKE ->Boolean .
FUNCTION includes : setOf LIKE;LIKE ->Boolean .
FUNCTION includesAll : setOf LIKE;setOf LIKE ->Boolean .
FUNCTION add : setOf LIKE;LIKE -> setOf LIKE .
FUNCTION including : setOf LIKE;LIKE -> setOf LIKE .
FUNCTION excludes : setOf LIKE;LIKE ->Boolean .
FUNCTION excludesAll : setOf LIKE;setOf LIKE ->Boolean .
FUNCTION excluding : setOf LIKE;LIKE -> setOf LIKE .
FUNCTION intersection : setOf LIKE;setOf LIKE ->setOf LIKE .
FUNCTION union : setOf LIKE; setOf LIKE ->setOf LIKE .
FUNCTION differ : setOf LIKE; setOf LIKE ->setOf LIKE .
FUNCTION size : setOf LIKE ->Integer .
FUNCTION count : setOf LIKE;LIKE ->Integer .
==== A ajouter (a débattre) ====
FUNCTION differ : setOf LIKE;setOf LIKE -> setOf LIKE.
==== secondary functions ====
FUNCTION differ : setOf LIKE ; setOf LIKE ->setOf LIKE .
# set difference
FUNCTION oneOf : setOf LIKE -> LIKE .
# pick an element in the set
FUNCTION oneNotin : setOf LIKE -> LIKE .
# pick an element in the complementary set
#FUNCTION asArray : setOf LIKE -> array[1..??] of LIKE .
# transtyping
===== map X Y =====
generic type
functions