Changeset 19511 for ext

Show
Ignore:
Timestamp:
01/16/08 11:29:13 (12 months ago)
Author:
Darren_Duncan
Message:

ext/Muldis-DB/ : reverted last SeeAlso? change (r19354) as ::Interface will take the simpler AST input directly, no X wrapper needed

Location:
ext/Muldis-DB
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • ext/Muldis-DB/Changes

    r19354 r19511  
    1212 
    1313    * New file versions are: DB.pm and Interface.pm and Validator.pm and 
    14     Example.pm 0.7.0 and SeeAlso.pod 0.5.0.  Added new file 
     14    Example.pm 0.7.0 and SeeAlso.pod 0.4.3.  Added new file 
    1515    lib/Muldis/DB/Engine/Example/Value.pm, which starts at version 0.0.0. 
    1616 
    1717    TODO: Describe the new Value.pm and other new friends. 
    1818 
    19     * (SeeAlso.pod)  The prospective extension namespace MuldisX::DB::\w+ 
    20     is now also for experiments by the Muldis DB core developers, not just 
    21     unblessed extensions.  Also added prospective item MuldisX::DB::Simple 
    22     which is an experimental alternate Muldis DB API that is more dwimmy, 
    23     less verbose, and generally more pleasant to use than vanilla PHMD; 
    24     this would be made by the developers of the core, and be high priority. 
     19    * (SeeAlso.pod)  A few minor updates. 
    2520 
    2621    * Incremented all copyright year range-ends to 2008. 
  • ext/Muldis-DB/lib/Muldis/DB/SeeAlso.pod

    r19354 r19511  
    210210namespace for them. 
    211211 
    212 =item C<MuldisX::DB::Simple> 
    213  
    214 The Muldis DB native API, as presented by the C<Muldis::DB::Interface> 
    215 roles, is quite verbose.  It by default just accepts Muldis D code 
    216 formatted as vanilla Perl Hosted Muldis D tuple and relation values that 
    217 are of Muldis D system catalog data types.  While this format is simple and 
    218 yet very expressive, unambiguous, easy to validate and translate, it tends 
    219 to be non-dwimmy and require a programmer's intent spelled out for it, 
    220 which increases code size an order of magnitude over a dwimmy equivalent, 
    221 and also all expression trees have to be decomposed into a tagged list of 
    222 tree nodes (a tuple or relation value is always a fixed composite depth 
    223 rather than N-depth), which HLL programmers may find less friendly. 
    224  
    225 The C<MuldisX::DB::Simple> module is an abstraction over I<Interface> which 
    226 adds a considerable amount of dwimminess to it, and adds support for 
    227 writing expressions as actual N-depth trees, and adds a considerable amount 
    228 of huffmanization and common task shortcuts; this greatly reduces the size 
    229 of the Muldis D code that programmers would actually write on a day to day 
    230 basis, and make it more resemble other high-level languages. 
    231  
    232 Unlike other such modules, C<Simple> is written by the creators of the 
    233 Muldis D core itself.  Some of its concepts may make their way into the 
    234 core roles as an additional API option, but meanwhile they are in the 
    235 separately distributed (under the same LGPL license) C<Simple> where they 
    236 can be experimented on more freely without unduly complicating the core 
    237 (and encouraging competition). C<Simple> is a top priority for 
    238 implementation, as it should help to test the core as well as help get the 
    239 initial user base off the ground faster. 
    240  
    241 In regards to what huffmanization and common task shortcuts are provided by 
    242 C<Simple>, a lot of influence should be taken from the variety of existing 
    243 C<DBI> or SQL wrappers on CPAN whose mandate is to make them simpler or 
    244 more dwimmy, such as C<SQL::Abstract>.  In fact, while full emulation isn't 
    245 promised, C<MuldisX::DB::Simple> may provide quasi-clones of several of 
    246 such module's interfaces, so to help migration of people using them.  As 
    247 with those other modules, C<Simple> will provide pass-thru when it doesn't 
    248 have any special treatments for things that programmers want to do. 
    249  
    250 In the longer term, C<MuldisX::DB::Simple> is deprecated (at least under 
    251 that name) in favor of better solutions, independent or otherwise. 
    252  
    253212=back 
    254213 
     
    285244L<SQL::Statement>, L<SQL::Parser>, L<SQL::Translator>, L<SQL::YASP>, 
    286245L<SQL::Generator>, L<SQL::Schema>, L<SQL::Abstract>, L<SQL::Snippet>, 
    287 L<SQL::Catalog>, L<DBIx::Perlish>, L<Tao::DBI>, L<NTuples>, 
     246L<SQL::Catalog>, L<DBIx::Perlish>, L<DBIx::StORM>, L<Tao::DBI>, L<NTuples>, 
    288247L<DBIx::CopyRecord>. 
    289248