Skip to content

Releases: fadoss/maude-bindings

Python packages v1.4.0

24 Mar 01:20
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.8, 3.9, 3.10, 3.11 and 3.12).

  • This version is built against Maude 3.4.
  • The new =># search type of Maude 3.4 can be used as maude.BRANCH in the search command.
  • Regression: Term.arguments recovers its default behavior before 1.3, i.e. it normalizes terms before iterating over its arguments. Term.arguments(False) can be used to iterate over the unnormalized term, but the arguments are fragile objects that will be destroyed as soon as the whole term is destroyed.
  • pyproject.toml-based build using scikit-build-core instead of scikit-build.
  • New string constant maude.MAUDE_VERSION with the version of Maude against the library is built. In the binaries of this release it takes the value 3.4+smc.

Python packages v1.3.0

10 Dec 23:36
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.8, 3.9, 3.10, 3.11 and 3.12).

  • This version is built against Maude alpha154 (see changes here).
  • Term.arguments() does no longer normalize the term modulo axioms before iterating over its arguments. For example, the arguments of (1 + 2) + 3 were previously obtained as [3, 1 + 2], but now [1 + 2, 3] is given. The new method Term.normalize(False) before iterating can be used to reproduce the previous behavior, and Term.normalize(True) to obtain [1, 2, 3].
  • New experimental methods Module.toLatex, View.toLatex, Term.toLatex, and StrategyExpression.toLatex to obtain the LaTeX representation of a term.
  • Fixed some problems when maude.init is called twice.

Python packages v1.2.3

23 Apr 22:40
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.7, 3.8, 3.9, 3.10, and 3.11).

  • This version is built against Maude 3.3.1, whose main new feature is object-oriented modules. However, since they are essentially syntactic sugar on top of system modules, there are no related changes in this release of the library.
  • Equation has two new methods isOwise and isVariant to check the corresponding attributes.

Python packages v1.2.2

03 Jan 18:32
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.7, 3.8, 3.9, 3.10, and 3.11).

  • The new version is built against Maude 3.2.2. However, that is a bug-fix release and no new features have been added.
  • Fixes a bug introduced in 1.2.1 that caused a segmentation fault when findSort and other related methods do not succeed.
  • Unlike in 1.2.1 and in the operator attribute, the argument indices of Symbol.getFrozen now start from zero since this is more natural in the target programming language.
  • New methods getOpHooks and getTermHooks in Symbol that return a dictionary with the operator and term bindings of a special operator, respectively. This is only available in Python for the moment and the interface may change in the future.
  • The Python bindings do not longer include some wrappers over the C++ structures like IntVector and TermIntPair, which are not useful and only increase the package size.

Python packages v1.2.1

16 Dec 17:38
Compare
Choose a tag to compare
Pre-release

The following Python packages are not yet uploaded to PyPI. .whl files can be directly installed with pip for the matching Python version (3.7, 3.8, 3.9, and 3.10).

Bug fixes

  • Overwritten modules (i.e. replaced by another module of the same name) were not internally released in Maude when its wrapper object becomes unreachable (reported in #3).

Improvements

  • New method Symbol.hasAttr to check some attributes of the operator like associativity (OP_ASSOC), commutativity (OP_COMM), whether it is iterable (OP_ITER), idempotent (OP_IDEM), has left identity (OP_LEFT_ID), right identity (OP_RIGHT_ID), memoization OP_MEMO (with memoization), or is special (i.e. primitive, OP_SPECIAL). It takes as argument one of the global constants enumerated above.
  • New methods getIdentity, getFrozen, getStrategy, getPrec, getFormat, and getIdHooks of Symbol to obtain the identity constant, the frozen attribute, the reduction strategy, the syntactic precedence, the format specification, and the id-hooks associated to that symbol.
  • New method Term.getIterExponent to get the exponent of iter operators (suggested in #2).

Python packages v1.2.0

10 Aug 11:54
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.6, 3.7, 3.8, 3.9, and 3.10).

Improvements

  • All module module elements (Sort, Kind, Equation, Rule, ...) are now hashable and comparable for equality. This allows using them in data structures like dictionaries and sets in Python.
  • The methods parseTerm and parseStrategy of Module can now receive an optional additional argument with a collection of variables to be declared before parsing. This provides the functionality of the second argument of metaParse (see §17.6.13 of the Maude manual).

Python packages v1.1.2

08 May 14:22
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.6, 3.7, 3.8, 3.9, and 3.10).

Small improvements

  • Two new methods have been added to the Kind class: nrMaximalSort to obtain the number of maximal sorts (according to the subsort relation) and errorFree to know whether error terms are contained in the kind.

Bug fixes

  • The methods getCondition and isNonexec were missing in the MembershipAxiom class.
  • Custom special operators with id-hook SpecialHubSymbol (name) forgot the name when being imported.

Python packages v1.1.1

30 Mar 23:07
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.6, 3.7, 3.8, 3.9, and 3.10).

Bug fixes

  • Term objects produced by Symbol.makeTerm were not properly garbage-collected.
  • The Python packages now include the process.maude and time.maude files of the Maude distribution (known problem in 1.1.0).

Python packages v1.1.0

25 Feb 20:26
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.6, 3.7, 3.8, 3.9, and 3.10).

Update to Maude 3.2.1

  • The bindings are now linked to Maude 3.2.1, which includes several improvements and bug fixes.
  • New global functions setAllowDir for setting whether access to the file system through the directory API is allowed, and setAssocUnifDepth to set the depth multiplier for associative unification.
  • The Term.vu_narrow method takes two new optional arguments filter and delay that correspond to the homonym options of the interpreter command.

Other improvements

  • New method Kind.hash for hashing Kind objects. In Python, they can now be used in dictionaries, sets, etc.

Known problems

  • The packages distributed through PyPI lack the files process.maude and time.maude that are part of Maude 3.2.1, unlike those that can be downloaded below. However, the missing files can be automatically replaced with the fix-missing.py script below, or manually by copying them to the package installation path or anywhere else inside the Maude library path.

Python packages v1.0.1

19 Jan 08:54
Compare
Choose a tag to compare

The following Python packages have been uploaded to PyPI, and they can be installed with pip install --upgrade maude.

.whl files can also be directly installed with pip for the matching Python version (3.6, 3.7, 3.8, 3.9, and 3.10).

Bug fixes

  • Using the getLine message of the stream and file API caused a segmentation fault.
  • The underlying Maude implementation (libmaude.so) contained a bug related to the probabilistic strategy language.