[Dbix-class] ANNOUNCE - Language::MuldisD v0.4.0 released

Darren Duncan darren at DarrenDuncan.net
Fri Aug 10 02:25:30 GMT 2007


I am pleased to announce the release of Language::MuldisD (the formal 
Muldis D language specification) version 0.4.0 on CPAN.  You can see 
it now, with nicely HTMLized documentation, at:


This is a semi-major release, though I am not announcing it too 
widely, but just to the Muldis-DB and TTM and DBIx-Class lists 
(others can just notice it on CPAN).

Perhaps the single most significant advance in this release compared 
to release 0.3.1 is the addition of PerlHosted.pod, and the rewrite 
of Grammar.pod.

Grammar.pod is now feature-complete (sans adding features), and it 
actually compiles under Perl 6 (it is now an actual Perl 6 grammar), 
though it hasn't been tested at all.  Also, an EXAMPLES section was 
added which shows code fragments for declaring each kind of Muldis D 
core data type.  Note that Grammar.pod isn't directly relevant to 
Perl itself, save for illustrative purposes, and is more likely to be 
relevant to, eg, a Parrot Hosted Muldis D implementation, where 
Muldis D is compiled from text files like a normal language.

PerlHosted.pod is essentially an AST specification, and describes the 
recommended way to specify Muldis D data and code within a Perl 5 or 
Perl 6 program; structurally, it is a tree constructed mainly of Perl 
arrays.  This also doubles as the first cut of my suggestion for a 
general-purpose AST for use by ORMs and other DBMS using or 
implementing programs, as a portable and powerful way to specify 
database queries and results.  Unlike custom-object-based ASTs, this 
should be relatively simple to use, doesn't have any non-Perl 
dependencies (no license hangups), and should perform well.

(In the wake of this, I expect the "Literals.pm/AST.pm" portion of 
the separate Muldis::DB distribution to be going away very soon now.)

The current release of the AST proposal just specifies how to define 
values of scalar and collection data types, the latter including 
whole rowsets or databases.

Still for me to do, and my next task (for release 0.5.0), is to flesh 
out other parts of the language spec, including to say how you 
actually use the AST to specify queries or constraints; that should 
round out my AST proposal.

See the "Changes" file for more details of what changed in the last 
few releases.

Thank you. -- Darren Duncan

More information about the DBIx-Class mailing list