Treep is a simple language for doing symbolical computations. It operates on numbers and strings that can be organized in more complex objects. These objects are lists of name-value pairs that are stored in memory as AVL trees. It has about sixty built-in functions to operate on such data and a way to define new functions. Treep syntax very much resembles Lisp. The power of treep is its simplicity and security. Treep is a good tool do process objects and relations between them. For example it is possible to define graphs as a sets of vertices and edges in text file, parse that file, do any computations you like, write modified data to text file. Treep works well on graphs, trees, linked lists, simple hashes. Treep is not good at processing texts, dealing with system input/output.
|Tags||tree symbolical computation Lisp simple object orientation Mathematics|
What Treep does in 3 minutes: -- read/write 400 thousand (400.000) lines of text -- compute 15 million of user-defined function calls -- compute 110 million of built-in functions -- stack of values gets 600 thousand (600.000) values -- recursion (stack of calls) gets 200 thousand in depth
Release Notes: This release has been optimized for speed, and is a few times faster than before. In the source code, "goto" is used to skip unnecessary checks, but this looks quite elegant.
Release Notes: This release adds documentation for functions and adds some examples. The project has been moved moved to a new URL.
Release Notes: Time handling was fixed and throughly tested.
Release Notes: This release adds three functions for time handling: time (number of seconds since Epoch), repr (YYYY-MM-DD HH:MM:SS text representation), pars (to parse dates from text strings). In the library, it adds one function "like" which tests text for various formats.
Release Notes: Time handling was updated. A function now computes Unix time, and you can convert it to number and name.