Commit Graph

44 Commits (eb009761d47f44d7d9608f4661700169bbe925e5)

Author SHA1 Message Date
Richard Degenne c49f12361b Implemented `List.init` 2017-02-28 14:35:33 +01:00
Alain Frisch 69263a9893 Option-returning variants of stdlib functions (#885)
Provide an xxx_opt alternative for functions raising Not_found
and many instances of Failure/Invalid_arg.

The only exception is the rarely used Buffer.add_substitute, where
the [Not_found] can really be interpreted as an error condition.

Most new functions are implemented directly (instead of wrapping the
raising version).  This is for performance reasons and also to avoid
destroying the stacktrace (if the function is used in an exception
handler).  One could instead implement the raising versions on top of
the new functions, but there might be a small penalty.
2016-11-07 16:11:35 +00:00
Fabrice Le Fessant f872d67d4e Add functions `List.compare_lengths` and `List.compare_length_with` (#760) 2016-09-18 23:14:17 +02:00
Damien Doligez 520fb2df50 Merge tag 4.03.0 into trunk. 2016-04-28 16:13:21 +02:00
Alain Frisch 8557a86477 Also enable more warnings in stdlib/ and fix them. 2016-03-15 22:47:26 +01:00
Damien Doligez 5401ce8473 Update headers for the new license.
Remains to be done: remove all headers in testsuite/tests.
2016-02-18 16:59:16 +01:00
Gabriel Scherer 2a153ee5c0 List.cons, finally
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16050 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-04-26 21:05:28 +00:00
Alain Frisch edb771d22b #4986. Add two common operations: List.sort_uniq (more efficient that sorting then removing duplicates) and Set.of_list (more efficient than folding Set.add over the list).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13876 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-09 11:01:42 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Alain Frisch a5628ad725 Adding List.iteri/mapi.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10761 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-05 08:10:59 +00:00
Damien Doligez ed4351139c PR#4055 List.nth when argument is negative
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-11 12:18:00 +00:00
Damien Doligez 0e5ca9dca5 nettoyage
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-25 18:34:07 +00:00
Damien Doligez 5a678d29f5 depollution suite (PR#1914 et PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-01 16:42:43 +00:00
Xavier Leroy f009490d09 Utiliser compare x y = 0 au lieu de x = y lorsqu'on compare des cles qui peuvent etre le flottant nan
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-21 16:04:26 +00:00
Damien Doligez bba52e7a9d changement List.sort; ajout fast_sort et List.merge
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4884 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-05 12:12:47 +00:00
Xavier Leroy 7501784c80 MAJ en-tetes pour mentionner la 'special exception' sur la LGPL
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4144 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-12-07 13:41:02 +00:00
Damien Doligez 88980b7eef petite amelioration de List.sort
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3234 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-10 11:29:04 +00:00
Damien Doligez 560a52cfe7 PR#139
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3206 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-06-14 18:21:07 +00:00
Damien Doligez 651700f89d nouveaux tris
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-14 10:05:33 +00:00
Damien Doligez 546137e2b0 bug rev_map2 (PR#32)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-25 13:19:16 +00:00
Xavier Leroy cc0f32b054 Changement de la licence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Damien Doligez fe764d8d25 Documentation des fonctions non-tail-rec
Ajout de rev_map rev_map2


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2409 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-09-19 12:55:01 +00:00
Xavier Leroy 5038f3cdb6 Ajout de Pervasives.ignore. List.remove -> List.remove_ass*
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-24 15:21:50 +00:00
Pierre Weis c35c5b3efd Ajout des fonctions find, partition, find_all
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2244 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-04 10:35:49 +00:00
Pierre Weis ddc61a1adb Ajout des fonction remove et removeq, déjà écrite dans le système pour
le typage.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2147 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-05 08:04:09 +00:00
Xavier Leroy 208be2cae2 Ajout de List.rev_append. Nettoyages
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1932 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-27 09:55:21 +00:00
Xavier Leroy 55bb148630 Retour au code d'origine pour List.iter. Je veux un seul test par
iteration, dammit.
Suppression de dependances spurieuses dans Array et String.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-06 17:28:16 +00:00
Damien Doligez b8ccccff49 Makefiles: fix disparition de weak.cmo
Changement de type des fonctions iter


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-10-31 12:59:29 +00:00
Xavier Leroy d096a45961 hashtbl.ml: un parametre inutilise lors du redimensionnement.
list.ml: List.length tail-rec.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1427 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-21 10:46:38 +00:00
Xavier Leroy 867222bf4f List.concat comme synonyme de List.flatten
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1303 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-25 14:41:37 +00:00
Xavier Leroy f1491839c2 Erreur dans List.nth
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1273 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-16 17:18:54 +00:00
Xavier Leroy 9ab76e8c8f List.nth fait une erreur si n < 0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1271 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-16 13:37:16 +00:00
Xavier Leroy c81f653d9c Bug dans exists2.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@914 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-01 12:44:01 +00:00
Xavier Leroy 2301d778e7 Renommage en Objective Caml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Xavier Leroy b904cf7ae9 map2 de gauche a droite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@457 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-19 16:54:24 +00:00
Xavier Leroy 287f69baf3 Bug de memq qui appelait mem sur le tail de la liste...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@342 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-19 16:28:21 +00:00
Xavier Leroy 36169b72a8 Ajout de List.for_all2 et List.exists2.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@299 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-28 10:42:18 +00:00
Xavier Leroy 960bc38a92 Ajout de memq.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@277 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-19 13:33:02 +00:00
Xavier Leroy e4066357b1 Ajout des notices de copyright
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 15:06:35 +00:00
Xavier Leroy d0012c733a MAJ des commentaires de doc dans les interfaces
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@190 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 13:15:01 +00:00
Xavier Leroy ad968b20a3 pervasives: utilisation de %addfloat, etc.
list: decurryfication de combine.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@55 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-02 16:46:44 +00:00
Xavier Leroy 101bb8b8a7 Changement representation des constructeurs constants.
list: ajout de nth
obj: %is_block devient une fonction C.
parsing: le tableau transl est coupe en transl_const et transl_block.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@41 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-18 14:45:56 +00:00
Xavier Leroy 61bd8ace6b Passage a la version bootstrappee (franchissement du Rubicon)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 10:15:53 +00:00