Skip to content

A symbolic manipulation toolkit which aims to handle expressions with billions of terms

License

Notifications You must be signed in to change notification settings

benruijl/reform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DISCONTINUED - check out Symbolica (in early development) or FORM for an alternative.

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)

About

A symbolic manipulation toolkit which aims to handle expressions with billions of terms

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages