snowleopard / alga

Algebraic graphs
MIT License
717 stars 68 forks source link

Multitree #268

Open srid opened 3 years ago

srid commented 3 years ago

Are multitrees in scope for this library?

It is basically a DAG with certain constraints.

Here's an explanation of, and a use case for, multitrees: https://github.com/climech/grit#multitrees

snowleopard commented 3 years ago

Interesting, it's the first time I hear about multitrees.

Since multitrees are graphs with a special structure, you can use the library to work with multitrees as long as you don't need to capture this special structure at the type level, or exploit the structure to implement some of the algorithms faster.

Do you have anything specific in mind?

srid commented 3 years ago

Yea, I've never heard of it before either. I've been using the term heterarchy, but "multitree" is probably more suitable for those cases.

Do you have anything specific in mind?

I think I'll have concrete ideas when I get to reimplement grit in Haskell (unless I choose F#!), which I'd like to do as I've been mulling over a structured task manager for a long time now!

snowleopard commented 3 years ago

Right, I see. If you come across any specific issues with this library feel free to get in touch.

In general, my goal is to eventually make the library more lightweight and get rid of some of the functionality (perhaps, by moving it to separate libraries), rather than to add more exotic features to it.