Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 2 KB

CHANGELOG.md

File metadata and controls

47 lines (35 loc) · 2 KB

Changelog

[0.4.0] - 2023-12-31

Added

  • Added typpete as a type inference engine. Use --typpete=1 to activate.
  • Transpilers are now located under py2many to avoid conflicts with other PyPI packages.
  • Kotlin formatting now depends on jgo using branch git+https://github.com/jayvdb/jgo@sort-jars. If jgo is not installed, no formatting will occur.
  • New target: SMT transpiler of semi-Python syntax. See tests/cases/demorgan.py as an example.
  • Added support for finding c++ headers range.hpp and catch_test_macros.hpp using conan.

Improved

  • Many improvements for C++, Julia, and Vlang.
  • Go: Replace custom dependency github.com/adsharma/py2many/pygo/runtime with github.com/electrious/refutil.
  • Improved Rust float support using crate float-ord.
  • Find format.jl at runtime.

[0.3.0] - 2021-07-14

Added

  • Internal: Migrate API translation code to plugin infra
  • New target: python. Transpiles untyped python to typed python.
  • New target: v. Transpiles python to vlang
  • Directory mode. Cross module type inference.
  • Support for sys.argv, sys.exit, target specific main() signature
  • bitops, byte literals, min/max
  • type inference: key and value types for dicts

Improved

  • Test coverage: up to 90%

Rust

  • Experimental: pyO3 extension for rust via --rust=1 --extension
  • ADTs/Enums supported via python sealed classes implemented on top of adt library
  • Safe integer arithmetic only for widening ops. Details in #123
  • argparse transpiled to structopt
  • stdio: with_open, file read/write, text/binary, tmpfile
  • Lifetimes: auto compute lifetimes for static strings