Skip to content

Releases: MMZK1526/lambda_calculus

v1.3.5

01 Dec 22:01

Choose a tag to compare

1.3.5

  • Fixed a parser bug.

    • Will rewrite the parser in later versions.
  • Better printing of free variables, retaining their names.

v1.3.4

04 Nov 21:25

Choose a tag to compare

1.3.4

v1.3.3

29 Oct 19:52

Choose a tag to compare

1.3.3

  • Reimplement type inference using a more efficient data structure.

  • Remove now unused collection dependency.

  • Deprecate the LambdaType.fromVar. Use the constructor instead.

v1.3.2

14 Oct 20:43

Choose a tag to compare

1.3.2

  • Fix a concurrency bug in type inference.

  • The current type inference implementation is very nasty and inefficient. I
    will rewrite it in the future.

v1.3.0

26 Jul 19:12

Choose a tag to compare

1.3.0

  • Modify the parsing syntax:

    1. Stop allowing abstractions without delimiters, e.g. λx x is not allowed
      anymore, use λx. x or λx -> x instead.
    2. Allow spaces between the lambda symbol and the variable, e.g. λ x -> x
      is now allowed. It was already allowed according to the previous
      documentation, but the implementation was not consistent.
    3. Allow inner abstractions to be omitted, e.g. λx. λy. x y can be
      written as λx y. x y.
    4. Stop allowing special depth variables such as _x1 or _y2. These
      underscore variables are not prohibited.
  • Improve the pretty-printing of Lambda to not creating variables with
    underscores. Instead it will choose appropriate fresh names that are
    guaranteed to not conflict with existing variables.

  • Fix bugs in the parser.

  • Make LambdaBuilder and Lambda final.

  • More documentation.

v1.2.0

24 Jul 16:09

Choose a tag to compare

1.2.0

  • Change the signature of fmap so that "non-leaf" callbacks no longer have access
    to the term itself. This is because previous usage of this term is not consistent.

  • Fix the problem where variables with the same name can conflict with each other
    during evaluation.

  • Better printing format for LambdaType.

  • Fix typos in documentation.

  • Make Lambda final.

  • Remove dependency on dartz.

  • More tests.

v1.1.1

18 Jul 19:27

Choose a tag to compare

1.1.1

  • Better documentation.

v1.1.0

17 Jul 19:54

Choose a tag to compare

1.1.0

  • Stop allowing constructing Lambda directly, instead, use LambdaBuilder.
  • Access constants via LambdaBuilder.constants or Lambda.constants.
  • Fix the problem where the index of a variable is sometimes null.

v1.0.0

15 Jul 20:05

Choose a tag to compare

1.0.0

  • Initial version.