CHANGELOG.md

# Changelog

## v0.5.1 (2023-03-27)

* Bug fixes

## v0.5.0 (2023-02-20)

* Implement efficient matching for `Integer.pow/2`, `Kernel.**/2`, and `List.duplicate/2` to speed up cases like `j 2 = jx.(3, 1_000_000_000)`
* Remove impure functions `Enum.shuffle/1` and `Enum.random/1` from the catalog
* Avoid deprecation warnings caused by `Enum.into/2` and `Enum.group_by/2`

## v0.4.0 (2023-02-13)

* Implement support for plain variables in right-hand side of match expressions (e.g. `a = 10; j 10 = jx.(a)`)
* Add support for j-variables in `Function.identity/1` (e.g. `j 1 = Function.identity(jx.(1))`

## v0.3.0 (2023-02-03)

* Implement nested matching with initial support for `Kernel.*/2`, `Kernel.+/2`, and `Integer.pow/2` (e.g. `j 10 = jx.(2, jy.(2, 3))`)

## v0.2.0 (2023-01-29)

* Implement new search approach to allow better matching compared to previous greedy approach

## v0.1.1 (2023-01-25)

* Fix `j` macro to raise an error when invalid arguments are given

## v0.1.0 (2023-01-23)

First release.