package ocamlmig
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
OCaml source code rewriting tool
Install
dune-project
Dependency
Authors
Maintainers
Sources
ocamlmig-5.5.20260803.tbz
sha256=c82b8574cd84ab842d818bc544eb97bf2abe51374ad418a40f650c9d8a2865ea
sha512=2bb5524ca83e70c5abc5887be3bad22fea6e7a1a5aff4d346f4a07a1a581e55ad6d61ff75328d0f85177ba82394d076f25063b8102b24ffb76f7247ca88ca7fd
doc/CHANGES.html
5.5.20260803
- Switch to ocaml 5.5
[@@migrate]can now include a minimum version for dependencies:[@@migrate { libraries = [ ("re", ~min_version:"1.14") ] } ]which enableocamlmig migto add/update version constraints in dune-project
5.4.20260731
- fix issue where the format-preserving ocaml printer could raise
5.4-20251020
- Switch to ocaml 5.4
5.3-20250429
- Switch to ocaml 5.3.
- Added experimental
ocamlmig replacecommand, for a sed-like rewrites but working on ASTs instead of bytes. - Reduce slightly dependency on ocamlformat, so this can be used on the compiler codebase
- Added
ocamlmig checkto typecheck the replacement in things likeval foo : int [@migrate { repl = bar }]
5.2-20250228
- Added support for rewriting .mli files, not just .ml files.
- First stab at supporting migrating modules:
module Old_name : sig end .... [@@migrate { repl = New_name }]. These annotations are only looked for when passing-module-migration, and the replacement is limited to a module path. - given an annotation
val x : ... [@@migrate { repl = e }], when insertingeat a use-site ofx, in some case we now modifyeto avoid shadowing-related issues, and shorten module paths according to the modules opened in that scope. - added an experimental printer that ocamlformats only the sections of the code that are modified, instead of the entire file. It is used by default when a repository does not use ocamlformat.
ocamlmig transform rescope -unopennow knows to rename identifiers in all namespaces (module identifiers, type constructors, class identifiers, etc), instead of only values.
5.2-20250202
Correct a failure to use some opam-installed files.
5.2-20250129
Initial release.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>