reform

Crates.ioreform
lib.rsreform
version0.1.0
sourcesrc
created_at2018-10-01 12:45:19.749055
updated_at2018-10-01 12:45:19.749055
descriptionA symbolic manipulation toolkit which aims to handle expressions with billions of terms, taking up terabytes of diskspace.
homepage
repositoryhttps://bitbucket.org/benruyl/reform
max_upload_size
id87403
size676,414
Ben Ruijl (benruijl)

documentation

https://readthedocs.org/projects/reform/

README

reFORM

reFORM is a symbolic manipulation toolkit which aims to handle expressions with billions of terms, taking up terabytes of diskspace. In the future, it may be an alternative to FORM.

At the moment reFORM is in early development and cannot handle extreme workloads yet. However, there are many components that work. Specifically, the C and Python API is fully functional.

For an overview of all the reFORM features, see the manual.

Quick example

expr F = f(x,2,3,y);
apply {
    id f(?a,x?{>2},?b) = f(?b,?a);
    print;
}

This program creates an expression F and applies an id statement to its term. This statement matches a pattern on the left hand side and modifies it. ?a and ?b matches any number of arguments, and x?{>2} will match a number larger than two.

The ouput is:

f(y,x,2)
Commit count: 0

cargo fmt