Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementer dans Map les memes operations que dans Set #2748

Closed
vicuna opened this issue Apr 17, 2001 · 2 comments
Closed

Implementer dans Map les memes operations que dans Set #2748

vicuna opened this issue Apr 17, 2001 · 2 comments
Assignees

Comments

@vicuna
Copy link

vicuna commented Apr 17, 2001

Original bug ID: 340
Reporter: administrator
Assigned to: @alainfrisch
Status: closed (set by @xavierleroy on 2012-03-24T14:01:47Z)
Resolution: fixed
Priority: normal
Severity: feature
Category: ~DO NOT USE (was: OCaml general)
Has duplicate: #4822
Related to: #2991 #3225 #3501 #8223 #4489
Parent of: #3562 #3730 #3875 #3876

Bug description

Bonjour,

serait-il possible d'implémenter dans Map les mêmes opérations que Set ?
(ça se fait à coup de copier-coller entre les deux modules)

En particulier, il manque:
is_empty
singleton
union, inter, diff, compare, equal, subset (qui prennent en argument
l'opération correspondante sur les données),
for_all
exists
filter
partition
cardinal
elements
min_elt
max_elt
choose

Le plus important pour moi, ce serait compare.

D'autre part, je pense que ce serait utile d'avoir des versions de Map et
Set qui travaillent sur des types ordonnés et hashés et donnent des types
ordonnés et hashés efficacement. Une implementation possible, ce serait
d'utiliser comme valeur de hash pour un ensemble le triplet (cardinal,
somme des valeurs de hash des éléments, produit des valeurs de hash des
éléments), que l'on garde en interne dans la representation de l'ensemble
(ça se met à jour facilement lors de l'ajout d'un élément). On peut
utiliser d'autres fonctions symétriques calculables incrementalement,
comme la somme des cubes,etc... Ça permet aussi de voir rapidemment si
deux ensembles sont différents.

Cordialement,

Alain Frisch

@vicuna
Copy link
Author

vicuna commented Apr 18, 2004

Comment author: administrator

Map.compare, Map.equal, Map.is_empty added by XL late 04-2004. Not sure about
the others.

@vicuna
Copy link
Author

vicuna commented May 25, 2010

Comment author: @alainfrisch

Wish granted (rev 10468).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants