Name wanted for module in construction



Hi,

I'm writing a module designed to work along with DBI to enable
database-independent SQL generation. I've seen DBIx::SQLEngine and
DBIx::Abstract, but I feel that the syntax is too verbose and the data
structures too nested. My module uses source filters and PPI to allow
you to write some Perlish code which is transformed. Syntax is nowhere
near fixed yet, but along the lines of:

$dbh->My::Module(table1, table1.foo == 1 && table1.bar eq "hello");
(a.k.a. select * from table1 where table1.foo = 1 and table1.bar =
"hello")

or the more complex:

$dbh->My::Module([table1->table2(table1.a==table2.b)], table1.status =~
m/^Foo/ and (table2.a eq "a" || table2.a eq $foo));
(a.k.a. select * from table1 right join table2 on table1.a=table2.b
where table1.status like "Foo%" and (table2.a = "a" or table2.a =
$foo)) where $foo is interpolated at runtime.

Questions: am I reinventing the wheel? and if not, what should I call
it? I have in mind Filter::SQL or DBIx::Filter.

Thanks,

Luke

.



Relevant Pages

  • Re: Method annotation and anonymous functions
    ... anonymous functions and anonymous closures (so def and lambda could have ... the same syntax but lambda would create a closure, ... class Foo ...
    (comp.lang.ruby)
  • [9fans] Re: 9base ports to unix (flame of byrons rc)
    ... (sorry about the lack of unicode support thorugh this interace. ... -> syntax error ... paul haahr's rc's-lovechild-with-scheme shell es uses ... Byron's shell implements rc-inconform things like `foo as ...
    (comp.os.plan9)
  • Re: [9fans] 9base ports to unix
    ... > of plan9's rc to a staticially linked version of Byrons rc rewrite? ... is invalid syntax, only ... Byron's shell implements rc-inconform things like `foo as ...
    (comp.os.plan9)
  • some corrections Re: The Fundamental Problems of Lisp
    ... syntax, which can be used to comment out well-formed S-expressions ... M-expressions make an extensive appearance in John Allen's ...
    (comp.lang.lisp)
  • Re: Zope 3.0, and why I wont use it
    ... include static type support. ... changes to Python. ... def x(y as foo, z as bar): ... if the 'as' clause (or whatever absurd syntax ends up ...
    (comp.lang.python)