I have been searching around for a library in some programming language (Java/C++/Haskell/python,etc) that can define topological entities and manipulate them. The only references I've found are to niche numerical packages that are highly specialized. For example, one link on this site http://www.math.uic.edu/t3m/ describes a package that can 'compute mod 2 Heegaard Floer Knot homology' - I'm looking for something a bit more general, say if you want to do some basic manipulation of topological spaces.
I'd be interested in a package that lets you do something like this (for example):
Let $\Omega$ be a VS over $\mathbb{C}$ of dimension $n$.
Let $\Lambda$ be a VS over $\mathbb{R}$ of dimension $2n$.
print Homeomorphic($\Omega$,$\Lambda$)
Wherein the results of the function above would tell you whether or not the two topological spaces you have just defined are homeomorphic. Does this type of software exist out there, or could it be in principle created?