
Thanks for the thorough response! There (is one)/(are some) parts of the library that I feel are ripe for inclusion in boost. Specifically:
Lists List data structures. Useful in the functional sense (cons() and tail() are O(1)). Provides one easy way to do lazy evaluation. List Lib Functions Lots of functoids that work on lists.
Any implementation details could be put into a boost::lazy_list::detail namespace, perhaps, and then only the lazy_list hackers have to be really happy with it.
(Perhaps I could/should start seven separate email threads--one for each category. Good/bad idea, anyone?)
Well, I think it's a great idea! :-)
I'm concerned about documentation that says "Look at the Haskell Report."
Concerned from the "Brian is too lazy to provide ample documentation" standpoint, or something more?
I could see potential problems. There are subtle differences of things that are easily expressible in haskell that are trickier in C++. I looked up all of the fc++-provided prelude functions, and one of them has a type signature that uses an arbitrary monad m. There are lots of people completely unfamiliar with haskell syntax. Someone might ask if any of the functions has side effects.
Regarding your comments about names of various entities: I am willing to change names if people find other names more attractive.
I suggest lazy_list for fcpp::list. I also asked "Could the functoids with arity attached to their names have that removed, like boost::function? " which is more a technical question. Is it possible for curryN to be just curry? Jim