Timothy S. Nelson wrote:
On Sat, 4 Apr 2009, Darren Duncan wrote:
Speaking of libraries, I already implemented a table type ... it's
called Set::Relation/::V2 and its on CPAN right now ... for Perl 5 ...
I still have to port it to Perl 6, unless someone else wants to do
that, but I designed it so that would be easy to do. The port could
stand for some additional Perl 6 savvyness too.
Can it be attached to an SQL backend?
:)
Well I designed Set::Relation itself simply as a role, and ::V2/::V1 are classes
composing that role; the current (and working) classes are self-contained and
you just use them normally in Perl like the Set classes or what have you.
But I don't see why someone couldn't make another class with that role that
outsources the work; like Larry's synopsis example, "has Foo is Database".
This said, if you're a bit patient, the (not-yet-working) older sibling project
Muldis::Rosetta will provide a nicer version of this API that can effectively
work with a SQL backend, because doing that effectively involves treating the
user Perl code which immediately talks to the API as a macro which is also
pushed to the backend to execute, so the SQL environment can be free to
reorder/optimize the operations as a whole as it knows best.
-- Darren Duncan