RubyTree is a simple to use general purpose tree data structure implementation in Ruby. It provides easy access methods for navigating the hierarchy, as well as for accessing the nodes. It also provides ability to marshal the entire tree structure. The library provides a generic tree as well as a binary tree implementation. It is available as a RubyGem or standard Tar/ZIP packages.
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.
lihata is a compact textual language which can represent a tree of lists, hashes, and tables. The syntax tries to be minimal and flexible to allow formatting a lihata file to fit the context it represents. The source release contains an event and DoM parser and helper functions for maintaining lihata trees. lihata is a convenient language for both simple and complex configuration files and text representation of data files.
sqlamp is an implementation of Materialized Path, an efficient algorithm for working with hierarchical data structures. sqlamp uses (and depends on) SQLAlchemy. Materialized Path is a way to store (and fetch) trees in a relational databases. It is the compromise between Nested Sets and Adjacency Relations in respect to simplicity and efficiency.
File-Find-Object-Rule is a port of File-Find-Rule to make it use File-Find-Object instead of File::Find. It provides a succinct, declarative syntax for creating directory tree traversal routines while enjoying the advantages of File-Find-Object, such as traversing the tree incrementally and iteratively, and the capability of instantiating several traversers in the same program.
Canvas Turtle is an object that interprets and renders graphic commands in a Canvas. It provides an API for rendering basic drawing primitives in 2D and includes commands that define the position of the graphics to be rendered, conditionals, loops, and so on. Commands are supplied as text strings with a simple syntax.
OrgApp is a Java library to handle and draw organizational charts (organigrams). The library also has an applet and a Swing Java client able to view an organizational chart read from a file, in different formats (one of them based upon XML). The applet supports charts with different layouts and boxes with hyperlinks, customizable colors, sizes, positions, etc., and it is easy to embed it in an HTML page.
Self-Adjusting Top Tree Implementation maintains a forest that changes over time through edge insertions and deletions. This implementation focuses on the simplified Top Tree interface, which allows you to solve a number of interesting graph problems like finding common ancestors, the heaviest edge, maintaining the diameter, center, or median and other (mostly network flow) problems. Using Top Tree interfaces, all outline problems can be solved in a clean declarative way. This implementation uses adapting ST-trees as the underlying data structure, achieving O(log n) time per expose(v,w) operation. There is also a demo that shows an easy way to integrate the toptree library and the host application.
HyperList.vim is a Vim plugin for handling HyperLists. HyperList is a methodology to describe anything: any state, item(s), pattern, action, process, transition, program, instruction set, etc. HyperList can be used as an outliner, a TODO-list solution, a project management tool, a business process management aid, a data modeler, a use case facilitator, or for any other application that makes use of descriptions of states or transitions. This plugin does both highlighting and various automatic handling of HyperList, like collapsing lists or parts of lists in a sophisticated way. Since HyperList.vim can also encrypt your lists, it can be used as a very structured password safe.