in reply to
Re: Ingy's "Swiss Army Light Sabre" - or, "how do you design your APIs?"
in thread Ingy's "Swiss Army Light Sabre" - or, "how do you design your APIs?"
wheel-reinventing on a grandscale
I find it hard to call it wheel reinventing when he actually uses the wheels you're claiming he's reinventing. As I understand it, IO::All doesn't actually do the IO itself, it just hooks everything together with an, erm, interesting API. To me, it seems like something that might at least be worth playing with.
Update: it appears my comment about hooking existing modules together was right. According to the very perldocs linked above, "The IO::All object is a proxy for IO::File, IO::Dir, IO::Socket, IO::String, Tie::File and File::ReadBackwards."
Update: I have another comment, on the following:
Maybe this is because I'm comfortable with the way Perl does IO already
I don't see how being comfortable with something means it can't be improved. I'm not saying IO::All is necessarily an improvement on Perl's current IO, since I haven't used it, but I think this reason for discounting it might be bogus. Here's my obligatory, gratuitous analogy: I'm sure there are a lot of people who are comfortable slicing and dicing text with C, but that doesn't mean Perl's abundance of text manipulation functions are "a needless exercise in wheel-reinventing" or "a solution in search of a problem."