Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Simplify the use of custom .() and .[] | octachron | 2016-04-01 | 2 | -0/+31 |
| | | | | | | | | | | | | | This commit modifies the parser to use the newly defined .() and .[] operators. It also moves the definition of the standard .() and .[] operator for String/Bytes and Array to the pervasives module. Before this commit, expressions of the form array.(index) and string.(index) where desugared to Array.get[_unsafe] array index and Strinf.get[_unsafe] string index. The unsafe or unsafe version were chosen depending on the presence of the "-unsafe" compiler option. Such expression are now desugared to ( .() ) array index and ( .[] ) string index respectively. The same desugar operation is applied to array.(index) <- value which becomes ( .()<- ) array index value. In order to keep the standard semantic for the string and array index operations, these new index operators are defined in the pervasives module using new compiler primitives, e.g. let .() = "%array_opt_get". These new primitives are then mapped to safe or unsafe version depending on the the "-unsafe" compiler option. Consequently, these modifications should have no impact on existing code. With these modifications, defining custom .() and .[] operators should be easier, at the cost of losing access to the standard index operator for either array or string. | ||||
* | Also enable more warnings in stdlib/ and fix them. | Alain Frisch | 2016-03-15 | 31 | -98/+166 |
| | |||||
* | Merge remote-tracking branch 'origin/4.03' into trunk | François Bobot | 2016-03-11 | 1 | -5/+9 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | travis.yml is kept from trunk Conflicts: .depend Changes Makefile VERSION boot/ocamlc boot/ocamldep boot/ocamllex parsing/parser.mly parsing/pprintast.ml stdlib/hashtbl.ml testsuite/tests/unwind/Makefile tools/check-typo | ||||
| * | Bug fix: Hashtbl.filter_map_inplace did not correctly update the size field. | Alain Frisch | 2016-03-10 | 1 | -1/+1 |
| | | |||||
| * | Fix PR7157 (too many minor collections) | Mark Shinwell | 2016-03-03 | 1 | -2/+5 |
| | | |||||
| * | update .depend and bootstrap compilers before release | Damien Doligez | 2016-02-29 | 1 | -5/+9 |
| | | |||||
| * | tweak tools/check-typo and break more overlong lines | Damien Doligez | 2016-02-19 | 2 | -2/+3 |
| | | |||||
* | | Adapt filter_map_inplace. | alainfrisch | 2016-03-11 | 1 | -11/+29 |
| | | |||||
* | | Keep track of whether a traversal is ongoing and in this case, disables the ↵ | alainfrisch | 2016-03-11 | 1 | -19/+52 |
| | | | | | | | | inplace implementation of resizing. | ||||
* | | Optimize Hashtbl by using in-place updates of bucket list cells. | alainfrisch | 2016-03-11 | 1 | -83/+123 |
| | | |||||
* | | Switch to inline records to represent bucket lists in Hashtbl. | alainfrisch | 2016-03-11 | 1 | -32/+32 |
| | | |||||
* | | Bug fix: Hashtbl.filter_map_inplace did not correctly update the size field. | Alain Frisch | 2016-03-10 | 1 | -1/+1 |
| | | |||||
* | | GPR#324: Make boot/ocamlc read directly byterun/primitives (patch by ↵ | alainfrisch | 2016-03-10 | 1 | -2/+3 |
| | | | | | | | | Francois Bobot). | ||||
* | | Fix PR7157 (too many minor collections) | Mark Shinwell | 2016-03-03 | 1 | -2/+5 |
| | | |||||
* | | tweak tools/check-typo and break more overlong lines | Damien Doligez | 2016-02-19 | 2 | -2/+3 |
|/ | |||||
* | Update headers for the new license. | Damien Doligez | 2016-02-18 | 108 | -1302/+1518 |
| | | | | Remains to be done: remove all headers in testsuite/tests. | ||||
* | clean up whitespace and cut long lines | Damien Doligez | 2016-02-17 | 4 | -5/+10 |
| | |||||
* | Build stdlib, etc. with -O3 in Flambda mode | Mark Shinwell | 2016-02-11 | 1 | -2/+7 |
| | |||||
* | slightly improved wording in array.mli | chrismamo1 | 2016-02-10 | 1 | -1/+1 |
| | |||||
* | organized the documentation in array.mli so that it now more closely ↵ | chrismamo1 | 2016-02-10 | 1 | -27/+40 |
| | | | | resembles the documentation for List | ||||
* | fixed exception handling in array.ml to conform to conventions | chrismamo1 | 2016-02-10 | 1 | -2/+2 |
| | |||||
* | corrected a typo in the interface for Array.iter2 | chrismamo1 | 2016-02-10 | 1 | -1/+1 |
| | |||||
* | corrected a typo where I accidentally defined 'Array.iter2' with the name ↵ | chrismamo1 | 2016-02-10 | 1 | -1/+1 |
| | | | | 'Array.iter' | ||||
* | added an Array.iter2 function to the standard library in order to bring the ↵ | chrismamo1 | 2016-02-10 | 2 | -1/+11 |
| | | | | Array library up to speed with the List library | ||||
* | added an Array.map2 function to the standard library in order to bring the ↵ | chrismamo1 | 2016-02-10 | 2 | -0/+19 |
| | | | | Array library up to speed with the List library | ||||
* | Protect install paths against spaces (on Windows) | Christophe Troestler | 2016-02-10 | 3 | -16/+16 |
| | |||||
* | doc: fix typo in 5ec086870f9ce002dab4315e140e3f63f1f6a4bf | Damien Doligez | 2016-02-05 | 1 | -1/+1 |
| | |||||
* | Typos - ephemerons | Fourchaux | 2016-02-05 | 2 | -23/+23 |
| | |||||
* | better wording of documentation for Scanf.unescaped | Damien Doligez | 2016-02-03 | 1 | -3/+3 |
| | |||||
* | remove ocamlbuild-specific files | Gabriel Scherer | 2016-02-01 | 1 | -49/+0 |
| | |||||
* | modify documentation of Stack.fold | Simon Cruanes | 2016-01-29 | 1 | -3/+3 |
| | |||||
* | add `Stack.fold` (issue 0003622) | Simon Cruanes | 2016-01-29 | 2 | -0/+8 |
| | |||||
* | [Ephemeron] Advise to use {!filter_map_inplace} | François Bobot | 2016-01-25 | 1 | -0/+7 |
| | | | | Add another example of use. | ||||
* | Add a test specifically for weak table | François Bobot | 2016-01-25 | 1 | -0/+7 |
| | | | | | | | And fix a bug in the handling of ephemeron during minor collection found thanks to this test. Oldifying of ephemerons' data was not iterated enough because `oldify_todo_list` doesn't become non-null each time `caml_oldify_one` is run. | ||||
* | [Ephemeron] Don't advertise `Obj.Ephemeron` | François Bobot | 2016-01-25 | 1 | -5/+4 |
| | |||||
* | Precise documentation for ephemerons | François Bobot | 2016-01-25 | 1 | -19/+30 |
| | | | | (Thanks Romait Troit alias William) | ||||
* | Fix creation of Ephemeron.K2 | François Bobot | 2016-01-25 | 1 | -1/+1 |
| | | | | | And use the tests for the classic hashtables for testing the (non-weak) behavior of weak hashtables. | ||||
* | Fix mantis 5349, semantic of `replace` | François Bobot | 2016-01-25 | 2 | -22/+28 |
| | | | | | The closed bug report is about classic hashtable but it is also applicable for weak hashtable (thanks @signoles for the heads up) | ||||
* | Add precisions on the equality for Weak.Make | François Bobot | 2016-01-25 | 1 | -1/+4 |
| | | | | It can't be physical equality since it use `Weak.get_copy`. | ||||
* | Fix bad cleaning of ephemerons | François Bobot | 2016-01-25 | 2 | -30/+69 |
| | | | | size not exact and infinite resizing | ||||
* | [Stdlib] Rename Obj.Ephemeron.eph in .t | François Bobot | 2016-01-25 | 3 | -32/+37 |
| | | | | An ugly obj_t is needed for the shadowing of Obj.t | ||||
* | [Stdlib] Rephrase hash table by hash set in Weak | François Bobot | 2016-01-25 | 1 | -7/+7 |
| | |||||
* | [Stdlib] Ephemeron: add the module in the stdlib | François Bobot | 2016-01-25 | 7 | -1/+950 |
| | |||||
* | [Stdlib] Hashtbl: add a getter for randomize | François Bobot | 2016-01-23 | 2 | -0/+6 |
| | |||||
* | [GC] add full-featured ephemerons in an inefficient way | François Bobot | 2016-01-23 | 1 | -1/+1 |
| | | | | | | | | | - use the generic abstract tag like weak pointers - a weak pointer is implemented using an ephemeron (one additionnal word) - add for every full GC a complexity of O((n+m)*(m+1)) with m the number of pure ephemerons, n the number of ephemerons used as weak pointers - multiple keys, modifiable keys | ||||
* | GPR#337: Hashtbl.filter_map_inplace. | alainfrisch | 2016-01-22 | 3 | -2/+44 |
| | |||||
* | Improve comment in Obj about set_field-like operations | Mark Shinwell | 2016-01-15 | 1 | -1/+1 |
| | |||||
* | Improve comment in Obj about set_field-like operations | Mark Shinwell | 2016-01-15 | 1 | -2/+14 |
| | |||||
* | newline | Mark Shinwell | 2016-01-14 | 1 | -0/+1 |
| | |||||
* | comment | Mark Shinwell | 2016-01-14 | 1 | -1/+1 |
| |