Rosetta::Language

Design document of the Rosetta D language
Download

Rosetta::Language Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Darren Duncan
  • Publisher web site:
  • http://search.cpan.org/~duncand/

Rosetta::Language Tags


Rosetta::Language Description

Design document of the Rosetta D language Rosetta::Language is a Perl module to design documents of the Rosetta D language.The native command language of a Rosetta DBMS (database management system) / virtual machine is called Rosetta D; this document, Rosetta::Language ("Language"), is the human readable authoritative design document for that language, and for the Rosetta virtual machine in which it executes. If there's a conflict between any other document and this one, then either the other document is in error, or the developers were negligent in updating it before Language, so you can yell at them.Rosetta D is intended to qualify as a "D" language as defined by "The Third Manifesto" (TTM), a formal proposal for a solid foundation for data and database management systems, written by Christopher J. Date and Hugh Darwen; see http://www.aw-bc.com/catalog/academic/product/0,1144,0321399420,00.html for a publishers link to the book that formally publishes TTM. See http://www.thethirdmanifesto.com/ for some references to what TTM is, and also copies of some documents I used in writing Rosetta D. The initial main reference I used when creating Rosetta D was the book "Database in Depth" (2005; http://www.oreilly.com/catalog/databaseid/), written by Date and published by Oreilly.It should be noted that Rosetta D, being quite new, may omit some features that are mandatory for a "D" language initially, to speed the way to a useable partial solution, but you can be comforted in knowing that they will be added as soon as possible. Also, it contains some features that go beyond the scope of a "D" language, so Rosetta D is technically a "D plus extra"; examples of this are constructs for creating the databases themselves and managing connections to them. However, Rosetta D should never directly contradict The Third Manifesto; for example, its relations never contain duplicates, and it does not allow nulls anywhere, and you can not specify attributes by ordinal position instead of by name. That's not to say you can't emulate all the SQL features over Rosetta D; you can, at least once its complete.Rosetta D also incorporates design aspects and constructs that are taken from or influenced by Perl 6, pure functional languages like Haskell, Tutorial D, various TTM implementations, and various SQL dialects and implementations (see the Rosetta::SeeAlso file). While most of these languages or projects aren't specifically related to TTM, none of Rosetta's adaptions from these are incompatible with TTM.Note that the Rosetta documentation will be focusing mainly on how Rosetta itself works, and will not spend much time in providing rationales; you can read TTM itself and various other external documentation for much of that. Requirements: · Perl


Rosetta::Language Related Software