[Dbix-class] solved the RFC on SQL::Routine; new direction planned

Darren Duncan darren at DarrenDuncan.net
Sat Jan 7 07:41:41 CET 2006


This message is a follow-up to the one of a few hours ago titled 
"RFC: renaming SQL::Routine out of SQL".  The context of the old RFC 
has changed.

The one on-topic reply I got so far, from David Wheeler (which 
suggested renaming "the SQL::Routine language" to "Rosetta"), 
inspired me to take a more drastic step than I proposed before.

This would be to essentially turn the Rosetta framework on its head, 
where "Rosetta" becomes first and foremost the name of a language 
rather than a role-class for the implementation of the language.

But I think that's actually okay, since the language definition is 
actually the more important and more central part.  And since the 
definition is effectively a desugared super-set of existing/possible 
database languages, it may actually be more suited to the name 
"Rosetta", maybe.

In the process, the functionality of the old "SQL::Routine" and 
"Rosetta" would be merged into a single CPAN distribution, rather 
than having them be two separate core distributions.  Having them be 
separate was good on the theory that the functionality of the old 
SQL::Routine was independently useful; while that reality hasn't and 
won't change, the odds of anyone taking advantage of it would be 
slim, so releasing the pair together simplifies my maintenance. 
People can still choose to only use part of the distribution if they 
want.  And the important separation of "engines", "wrappers", etc 
into separate distributions from the core is still strongly in effect.

So perhaps then the language can be named "Rosetta".

Regarding the related module namespace, for now the existing 
"Rosetta[|::*]" modules can keep their current names and 
functionality, which are suitable, and the "SQL::Routine[|::*]" 
modules can be renamed like this:

   lib/SQL/Routine/Language.pod  -> lib/Rosetta/Language.pod
   lib/SQL/Routine/Migration.pod -> lib/Rosetta/Migration.pod
   lib/SQL/Routine.pm            -> lib/Rosetta/Model.pm
   lib/SQL/Routine/L/en.pm       -> lib/Rosetta/Model/L/en.pm

As before, lib/Rosetta.pm will "use" lib/Rosetta/Model.pm, and the 
latter can be used by a third party without their using the former.

Now, while the details of its language have changed significantly, 
the overall purpose and intended situations in which the Rosetta 
framework would be used are still the same as before.

Similar to the original RFC, I wonder if "Rosetta" is a good name for 
the language + framework, or whether something else may be better. 
But at least the 'SQL' is gone, and so I'm not in any rush to do 
further renaming.

As always, I welcome feedback on Rosetta, but I no longer require 
renaming suggestions, though you are still welcome to propose some if 
you think they would be better than "Rosetta".

Thank you. -- Darren Duncan



More information about the Dbix-class mailing list