|
Language::MuldisD::SeeAlso - External resources that you really ought to look at |
Language::MuldisD::SeeAlso - External resources that you really ought to look at
This document is Language::MuldisD::SeeAlso version 0.3.2.
This document is a central location within the the Language::MuldisD manpage distribution where any important recommendations of or links to external resources go. This includes both resources that were helpful in making Muldis D, as well as resources that are or could be related to Muldis D.
These externally distributed projects are full or partial implementations of the Muldis D language.
ext/ directory. Over the long
term, the Perl 5 version is deprecated in favour of the Perl 6 version.
These externally distributed projects are full or partial implementations of the Muldis D language.
While making the Muldis D language, the following resources were found to be particularly useful:
The proposal would avoid 'Object-Relational Impedance Mismatch' between object-oriented programming languages and RDBMSs by fully supporting all the capabilities of the relational model. The main objective of The Third Manifesto, besides being theoretically sound and avoiding arbitrary restrictions and pragmatic debasement of the relational model, is to make a simple, restricted and precise definition of the role of object orientation in database management systems emphasizing the few valid ideas from object modeling that are orthogonal to relational modeling.
Muldis D has officially incorporated this blueprint into its own design, and implements its principles without compromise, and so it is a concrete language that qualifies as a D. The TTM web site contains various useful documents and links on the subject, some being specified further below.
This is the thicker, college level textbook about The Third Manifesto, and it is the most central of the authors' publications, able to stand alone and present nearly everything important. It includes an informal overview of both the relational model and a theory of types, a reference section with the Manifesto proper and a grammar for a teaching language based on its principles called Tutorial D, a larger section which explains and rationalizes the parts of the Manifesto, and sections that do likewise for type inheritance what the earlier sections do with the Manifesto proper.
Note that the web site for The Third Manifesto, mentioned above, has reproduced several chapters and appendices from this book. Chapter 4 (http://web.onetel.com/~hughdarwen/TheThirdManifesto/CHAP04.pdf) is the 15-page heart of the book and has the actual TTM definition, upon which the rest of the book expands on, rationalizes, and gives examples of. Chapter 5 (http://web.onetel.com/~hughdarwen/TheThirdManifesto/CHAP05.pdf) gives the the complete grammar of ``Tutorial D'', which is a computationally complete programming language with fully integrated database functionality, whose principal purpose is to serve as a teaching vehicle.
This is the first printed book that Muldis D's author had read fully, which is related to The Third Manifesto, and it was their main introduction. It explains in an easy to follow matter just what the relational data model really is, a solid and provable logical system, and partially contrasts with SQL's distorted view of it. While being easy to follow, the book is written towards people that are already database professionals, and doesn't go into the basics that we should already know.
Reprinted from Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. Copyright © 1970, Association for Computing Machinery, Inc.
This is the second famous 1969/1970 publication that first presented a relational model of data to the world, which is the basis for the modern database industry.
Also, the vendor documentation for various relational and/or SQL databases such as MySQL and SQLite were regularly consulted, and various other sites.
Besides the Muldis::DB framework, other projects exist which attempt to implement The Third Manifesto fully and without compromise (that lack anti-TTM features), though their current implementations may be incomplete and/or in development. None of these use 'SQL' as their native language.
These software projects are released under a free and open source license, as Muldis::DB is, so you have the freedom to use the software for any purpose, to examine the project source code, change it, and redistribute it:
d.voorhis@derby.ac.uk), that implements Date and Darwen's ``Tutorial
D'' language mainly ``by the book''. It is written in Java (version 1.5) and
is operating-system independent. It is licensed under the GNU GPL.
rhartmann@users.sourceforge.net). It is written in C (with a Tcl
interface), is implemented on top of the Berkeley DB database library, and
runs on all POSIX/Unix-like and 32-bit Windows operating systems. It is
licensed under the GNU GPL.
gjgaughan@users.sourceforge.net). It is written in Python and is
operating-system independent. It is licensed under the GNU GPL.
These software projects are released with access to the project source code but lack permissions on use, modification, or redistribution that are essential to qualify as free and open source software; some are available at zero cost:
paul@carlislegroup.com). Pending a full implementation of the
relational algebra, FlipDB uses a simple but powerful query technique that
simulates relation-valued attributes and obviates the need for outer join
(or any explicit join). The author is using Date's and Darwen's work as a
guide, and his intention is to not violate any of the principles set forth
in TTM, if not to implement all of Tutorial D. It is written in
Dyalog APL, in a functional style with no loops or control structures, and
runs only on 32-bit Windows operating systems. It is available under a
shared source agreement for personal use and study.
These software projects are released without access to the project source code or permission to change them, though some are available at zero cost:
dcauz@rogers.com) and Paul Church, that implements its own
``Opus'' language (that has the syntactic style of C). It is written in C
and only runs on Windows.
These project designs were made for academic purposes and don't include implementations:
Some DBMS exist which desire to support TTM principles but still justify themselves to provide features that are anti-TTM. They may or may not use a SQL dialect as their command language.
jcohen@cpan.org), currently under
construction. It is written in a hybrid of C and Perl 5, and runs on any
operating system. It is licensed under the GNU GPL.
Note: Genezzo sans its SQL interface is currently a front-line candidate for implementing a production / industrial strength Muldis::DB Engine.
Many DBMS exist which do not expressly support TTM principles and/or actively embrace anti-TTM features. Many of those use a SQL dialect as their primary or only interface; a relative few are listed here.
Many DBMS exist that are neither TTM/D-based nor primarily SQL based; a relative few are listed here.
Darren Duncan (perl@DarrenDuncan.net)
This file is part of the Language::MuldisD framework.
Language::MuldisD is Copyright © 2002-2007, Darren Duncan.
See the LICENSE AND COPYRIGHT of the Language::MuldisD manpage for details.
The ACKNOWLEDGEMENTS in the Language::MuldisD manpage apply to this file too.
|
Language::MuldisD::SeeAlso - External resources that you really ought to look at |