Commit Graph

41 Commits (499a573b7f411b304c879e6df3fc89bf8198a712)

Author SHA1 Message Date
Damien Doligez cbfe627f92 merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev 15121)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-22 13:45:02 +00:00
Gabriel Scherer 2c4b259f60 remove the Obj.magic from the string.ml implementation
It is important not to assume that String.t and Bytes.t will always
share the same representation. Using Obj.magic to convert between
functions would give a very bad example to users considering
a migration, which are very quick to imitate any moral turpitude found
in the standard library.

An unfortunate consequence of the change is the duplication of
String.concat code; other designs would be possible to share more
implementation details between Bytes and String (eg. defined
factorized operations on both in a shared internal module), but if we
consider that String representation may evolve in the future this
coincidence of implementation is really a temporary coindence rather
than an definitive duplication.

I checked that all the small functions introduced are marked as
inlinable. In the case of coercions like this, we could even have the
compiler recognize eta-expansions of the identity function and turn
them into simple rebindings.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06 16:31:52 +00:00
Gabriel Scherer b7dd6d2c91 implement {Bytes,String}.mapi
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06 15:57:38 +00:00
Alain Frisch aeead32662 #6500: add String.init, Bytes.init, Labels couterparts, Stream.of_byte. (Cherry-picked from 15029 on 4.02.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15030 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-28 13:29:50 +00:00
Damien Doligez 5b8df637d2 merge branch "safe-string"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-29 11:56:17 +00:00
Fabrice Le Fessant 504e86d722 Revert r13746 (demanded by Xavier)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13748 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05 17:54:20 +00:00
Fabrice Le Fessant 1f9f68a328 Add String.split and String.cut_at from Misc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13746 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05 13:27:05 +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 6c24f4f90b merge version 3.12 from 3.12.1 to r12205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 19:52:03 +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
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Alain Frisch f537ba28b0 Adding String.iteri.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10762 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-05 08:15:36 +00:00
Damien Doligez 04f20f8b83 PR#4582, PR#4637 - revert functions to old behaviour
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9132 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-11-18 10:29:26 +00:00
Pierre Weis 30b2585b6c Correction bug #4582 sur index_from et al. Tests a venir. Invariants itou.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8924 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-22 11:29:00 +00:00
Pierre Weis 8c9e42862c The functions that escape characters ([escaped]) now handle characters
consistently with the compiler's lexer (PR#4220).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8189 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-04-16 11:06:51 +00:00
Xavier Leroy 6ce858f4a8 Ensure type specialization for the 'compare' functions (PR#4194)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7818 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-01-30 09:34:36 +00:00
Damien Doligez aa46693dc5 depollution (PR#1914, PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6023 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-16 18:09:44 +00:00
Xavier Leroy ede12e6163 Remplacement des tests ofs + len > length par ofs > len - length, pour eviter le debordement lors de l'addition (PR#1229)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4993 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-07-12 09:47:54 +00:00
Xavier Leroy 9e3dc0cd97 Ajout d'un type t et d'une fonction compare pour permettre l'utilisation de ce module avec la signature OrderedType
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4948 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-26 09:13:59 +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
Jacques Garrigue ea299bbbc1 passage aux labels stricts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-09-06 08:52:32 +00:00
Pierre Weis 2116da4220 Getting rid of obsolete boolean operators & and or
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-12-28 13:07:42 +00:00
Damien Doligez 7767bb2ef1 petit bug de rindex_from
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-12 15:53:18 +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
Xavier Leroy 4d4933677d Tests de borne moins severes dans contains
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2317 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-01 20:59:54 +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 d5a3eb307b Correction de la fonction String.contains lorsque la chaîne argument
est vide.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2273 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-12 08:08:57 +00:00
Pierre Weis 4508b80100 Éviction des alertes des séquences: ajout de fonctions rendant unit ou
de prédicats dans le cas où l'on appelait une fonction pour savoir si
ça pouvait marcher en capturant une exception.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2172 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-12 14:53:46 +00:00
Xavier Leroy b993d10bd1 Ajout tests de bornes dans *index*
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1838 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-12-09 09:12:05 +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
Xavier Leroy 32664ffdc0 Ajout de String.[r]index_from, Obj.[un]marshal
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1744 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-10-28 13:17:11 +00:00
Xavier Leroy 56e001e1c4 Array.iteri Array.mapi Array.fold_left Array.fold_right
String.index String.rindex
Filename: utiliser String.rindex
Genlex: erreur dans doc


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1741 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-10-24 15:54:07 +00:00
Xavier Leroy 81cb9ac7c0 Typo dans lowercase
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1379 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-13 14:41:27 +00:00
Xavier Leroy 9548bd7e5d Char, String: ajout fonctions uppercase, lowercase, capitalize, uncapitalize.
Filename: mort aux ;;, utiliser String.lowercase
Hashtbl: corrige la fuite de Hashtbl.remove, ajout interface fonctorielle.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1129 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-31 16:03:04 +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 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 7fcb1d47c5 Annotations "noalloc" sur les primitives.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@144 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-25 11:39:02 +00:00
Xavier Leroy c226d5efeb Branchement du GC de la version bytecode sur le compilateur natif
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@72 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-10 09:48:27 +00:00
Xavier Leroy 9ef4bd08d1 Passage de {Array,String}.{get,set} en primitives C.
Renommage %array_get -> %array_unsafe_get, etc.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@31 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-15 08:10:01 +00:00
Xavier Leroy 997fb206a7 Printf.sprintf et String.concat dans stdlib
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-05 10:05:18 +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