package ocamlmig
OCaml source code rewriting tool
Install
Dune Dependency
Authors
Maintainers
Sources
ocamlmig-5.3-20250429.tbz
sha256=51e13b4a6bbc86eb2470a5a33087714a8c0895b05d912e1706e7a95c6b1b11d3
sha512=d6b5b2b0af6b5976dac08c3c821faa1a5690ce56485cc29ac427046de2a4c446c6212bbf4ef5821503d57163634ec5ad78b3d4b452359096a23a6f08b5e9c9e1
doc/CHANGES.html
5.3-20250429
- Switch to ocaml 5.3.
- Added experimental
ocamlmig replace
command, 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 check
to 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 insertinge
at a use-site ofx
, in some case we now modifye
to 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 -unopen
now 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)"
>