data-structure-inferrer, standard library on steroids

Hi, I'm writing a project and was wondering what other people think about it. This project is meant to be a compiler feature/wrapper that analyzes your code and chooses the best data structure depending on your source code. It analyzes the functions used on a wildcard data structure and chooses the type of structure that minimizes the time complexity. It nearly supports C language and hopefully some other languages too. The purpose is that you don't have to care which data structure to use ever again :D (hopefully, if it works well, lol). Maybe some illustrative examples: int main() { ds d; //data structure while(something) { insert(d, 5); } while(!empty(d)) { printf("%d\n, max(d)); delete_max(d); } } Here dsinf would infer some kind of a heap (or possibly a rbt with max element cache). int main() { ds d; //data structure while(something) insert(d, 5); while(something) update(d, 2, 7); while(something) delete(d, 1); printf("25 is in the set", search(d, 25)); } Here it would be hashtable (it differs from the earlier, because we don't need element ordering). if anybody wants to hack it, the C api is in dsimp/ds.h and some tests in C/tests/. I have some ideas how to extend it from trivial cases, the ideas are in github issues. repo: git clone https://github.com/alistra/data-structure-inferrer.git hackage: http://hackage.haskell.org/package/data-structure-inferrer-1.0 So just let me know what you think ;] Also does anybody know a good ~MIT licenced library of data structures written in C (they're needed for the auto-compile option)?
participants (1)
-
Aleksander Balicki