Muldis::D
Changes
---------------------------------------------------------------------------
2010-06-23
* Muldis::D version 0.131.0 is released on CPAN as
Muldis-D-0.131.0.tar.gz.
* (PTMD_STD) Fixed semantic-reversing typo.
* (Types.pod, Types_Catalog.pod, PTMD_STD.pod, HDMD_Perl[6|5]_STD.pod,
Basics.pod, Relation.pod, Set.pod) Renamed the nonscalar types
"Single","DHSingle" to "Just","DHJust" and the corresponding type name
prefix from "single_of." to "just_of." and the corresponding concrete
syntax value literal kind from "Single" to "Just". So now the triple
of related types/values "Maybe","Just","Nothing" match the names of
their counterparts in the Haskell language. So now the canonical
syntax for selecting a Maybe value is either "Just:{foo}" or "Nothing".
In Set.pod, renamed the "single" function to "just", and updated the
"order" function to rename 3 of its parameters from "S" to "J".
2010-06-20
* Muldis::D version 0.130.0 is released on CPAN as
Muldis-D-0.130.0.tar.gz.
* This release features multiple concrete syntax changes. The largest
change is the elimination of the "$" sigil that was used
semi-gratuitously to mark data-entities (variables, parameters,
attributes, named expression nodes). These are now regularly formatted
as barewords instead, like most languages and SQL, but unlike Perl.
Likewise eliminated the "|" sigil for named statement nodes. Another
significant change is the renaming or elimination of all language
keywords that had consisted of just a single latin character, meaning
that users can define any single-letter entity names without ambiguity.
Also renamed a syntax shorthand from ">foo" to "=>foo" for clarity.
* (D.pm, README) Updated the list of email forums focusing on
Muldis D and its implementations, first to add a 4th list
muldis-d-language, and second to update all 4 lists' descriptions.
* (Text.pod) Renamed function "accents_stripped" to "marks_stripped".
* (SeeAlso.pod) Updated a few external reference urls.
* (Array.pod, Bag.pod, Blob.pod, Boolean.pod, Cast.pod, Integer.pod,
Interval.pod, Numeric.pod, Ordered.pod, Rational.pod, Relation.pod,
Routines_Catalog.pod, STDIO.pod, Scalar.pod, Set.pod, Stringy.pod,
Text.pod, Tuple.pod, Universal.pod, Counted.pod, Temporal.pod) Updated
all system-defined routine documentation so that the illustrative
declarations of each now just have the unqualified routine names, same
as the real declarations would, rather than being fully-qualified; the
level-2 heading for each routine description already has the latter.
In Routines_Catalog.pod, also upd th 2 named constraint descs likewise.
* (PTMD_STD.pod) Updated the shorthand syntax for "foo=>foo" that
looked like ">foo" to instead look like "=>foo"; people kept confusing
the old format for the greater-than op; the new should be more obvious.
* (PTMD_STD.pod, HDMD_Perl[6|5]_STD.pod, Universal.pod, Set.pod)
Removed 2 func invo alt syn exprs: "d" (prefix), "//d" (infix).
* (PTMD_STD.pod, HDMD_Perl[6|5]_STD.pod, Stringy.pod, Cast.pod)
Renamed 3 func invo alt syn exprs: "x" -> "~#" (infix),
"t" -> "%" (prefix), "r" -> "@" (prefix).
* (PTMD_STD.pod, HDMD_Perl[6|5]_STD.pod, Set.pod) Removed the func
invo alt syn expr "s" (prefix) and updated any code examples using it
from "s foo" to "Maybe:{foo}". Converted the func invo alt syn expr
"v" (Maybe.attr) from prefix format to postcircumfix format; using it
now looks like "foo.{}" (empty curly quote pair) rather than "v foo".
* (PTMD_STD.pod) Added new main pod section "RESOLVING AMBIGUITY"
which talks about language keywords versus user-defined entities.
* (PTMD_STD.pod, HDMD_Perl[6|5]_STD.pod, Basics.pod) Eliminated the
"|" sigil from statement names, which are now always sigil-less (and
typically barewords) instead. In PTMD_STD, a "stmt_name" grammar token
is now just a "Name_payload". In the 2 Perl-STD, the first elem of the
"stmt_name" node kind is now "s" rather than "|" (so in Perl 6 this is
usually a Pair); for "named_stmt" it is now "::=" rather than "|::=".
* (PTMD_STD.pod, HDMD_Perl[6|5]_STD.pod, Basics.pod) Eliminated the
"$" sigil from data-entity names, which are now always sigil-less (and
typically barewords) instead. In PTMD_STD, a "lex_entity_name" grammar
token is now just a "Name_payload". In the 2 Perl-STD, the first elem
of the "expr_name" and "var_name" node kinds are now "d" rather than
"$" (so in Perl 6 this is usually a Pair); for an "accessor" node it is
now "acc" rather than "$.".
* (Array.pod, Bag.pod, Blob.pod, Boolean.pod, Cast.pod, Integer.pod,
Interval.pod, Numeric.pod, Ordered.pod, Rational.pod, Relation.pod,
Routines_Catalog.pod, STDIO.pod, Scalar.pod, Set.pod, Stringy.pod,
Text.pod, Tuple.pod, Universal.pod, Counted.pod, Temporal.pod) Updated
all system-defined routine documentation as per the prior change item,
so the illustrative routine signatures no longer use the "$" sigils.
2010-05-17
* Muldis::D version 0.129.1 is released on CPAN as
Muldis-D-0.129.1.tar.gz.
* (D.pm, README, Makefile.PL) Updated any instances of
"http://mm.DarrenDuncan.net/mailman/listinfo" so that they are fully
lower-cased, because the mixed case version doesn't work with some web
browsers; browsers that don't automatically convert it to lowercase get
a "There currently are no publically-advertised mailman lists" message.
* Purged this distribution's "Changes" file of practically all change
details for its approximately 147 releases numbered 0.0.0 thru 0.129.0,
most of those now just constituting a single bullet-point in total. If
you want to see those change descriptions, look either in the version
control system as of tag "release-0.129.0" or in the archived
distribution tarball named Muldis-D-0.129.0.tar.gz.
* This is the Muldis-D-0.129.1 file manifest:
Changes
INSTALL
lib/Muldis/D.pm
lib/Muldis/D/Basics.pod
lib/Muldis/D/Conventions.pod
lib/Muldis/D/Core.pod
lib/Muldis/D/Core/Array.pod
lib/Muldis/D/Core/Bag.pod
lib/Muldis/D/Core/Blob.pod
lib/Muldis/D/Core/Boolean.pod
lib/Muldis/D/Core/Cast.pod
lib/Muldis/D/Core/Integer.pod
lib/Muldis/D/Core/Interval.pod
lib/Muldis/D/Core/Numeric.pod
lib/Muldis/D/Core/Ordered.pod
lib/Muldis/D/Core/Rational.pod
lib/Muldis/D/Core/Relation.pod
lib/Muldis/D/Core/Routines_Catalog.pod
lib/Muldis/D/Core/Scalar.pod
lib/Muldis/D/Core/Set.pod
lib/Muldis/D/Core/STDIO.pod
lib/Muldis/D/Core/Stringy.pod
lib/Muldis/D/Core/Text.pod
lib/Muldis/D/Core/Tuple.pod
lib/Muldis/D/Core/Types.pod
lib/Muldis/D/Core/Types_Catalog.pod
lib/Muldis/D/Core/Universal.pod
lib/Muldis/D/Dialect/HDMD_Perl5_STD.pod
lib/Muldis/D/Dialect/HDMD_Perl6_STD.pod
lib/Muldis/D/Dialect/PTMD_STD.pod
lib/Muldis/D/Ext/Counted.pod
lib/Muldis/D/Ext/Spatial.pod
lib/Muldis/D/Ext/Temporal.pod
lib/Muldis/D/SeeAlso.pod
LICENSE/GPL
Makefile.PL
MANIFEST
MANIFEST.SKIP
README
t/Muldis_D_00_Compile.t
TODO
2008-04-07 thru 2010-05-16
* 2010-05-16 : Muldis::D version 0.129.0.
* 2010-05-10 : Muldis::D version 0.128.0.
* 2010-05-08 : Muldis::D version 0.127.0.
* 2010-05-07 : Muldis::D version 0.126.0.
* 2010-05-05 : Muldis::D version 0.125.0.
* 2010-05-01 : Muldis::D version 0.124.0.
* 2010-04-27 : Muldis::D version 0.123.0.
* 2010-04-25 : Muldis::D version 0.122.0.
* 2010-04-24 : Muldis::D version 0.121.0.
* 2010-04-23 : Muldis::D version 0.120.0.
* 2010-04-19 : Muldis::D version 0.119.0.
* 2010-04-17 : Muldis::D version 0.118.0.
* 2010-04-11 : Muldis::D version 0.117.0.
* 2010-04-07 : Muldis::D version 0.116.0.
* 2010-04-02 : Muldis::D version 0.115.0.
* 2010-03-27 : Muldis::D version 0.114.0.
* 2010-03-13 : Muldis::D version 0.113.0.
* 2010-03-10 : Muldis::D version 0.112.0.
* 2010-03-05 : Muldis::D version 0.111.0.
* 2010-03-01 : Muldis::D version 0.110.0.
* 2010-01-26 : Muldis::D version 0.109.0.
* 2010-01-24 : Muldis::D version 0.108.0.
* 2010-01-16 : Muldis::D version 0.107.0.
* 2010-01-07 : Muldis::D version 0.106.0.
* 2010-01-03 : Muldis::D version 0.105.0.
* 2009-12-26 : Muldis::D version 0.104.0.
* 2009-12-20 : Muldis::D version 0.103.0.
* 2009-11-30 : Muldis::D version 0.102.0.
* 2009-11-26 : Muldis::D version 0.101.0.
* 2009-11-21 : Muldis::D version 0.100.0.
* 2009-11-06 : Muldis::D version 0.99.0.
* 2009-10-20 : Muldis::D version 0.98.0.
* 2009-10-18 : Muldis::D version 0.97.0.
* 2009-10-14 : Muldis::D version 0.96.1.
* 2009-10-13 : Muldis::D version 0.96.0.
* 2009-10-08 : Muldis::D version 0.95.0.
* 2009-10-05 : Muldis::D version 0.94.0.
* 2009-09-28 : Muldis::D version 0.93.0.
* 2009-09-26 : Muldis::D version 0.92.0.
* 2009-09-21 : Muldis::D version 0.91.0.
* 2009-09-19 : Muldis::D version 0.90.0.
* 2009-09-13 : Muldis::D version 0.89.0.
* 2009-09-12 : Muldis::D version 0.88.0.
* 2009-09-03 : Muldis::D version 0.87.0.
* 2009-09-02 : Muldis::D version 0.86.0.
* 2009-08-29 : Muldis::D version 0.85.0.
* 2009-08-24 : Muldis::D version 0.84.0.
* 2009-08-20 : Muldis::D version 0.83.0.
* 2009-07-27 : Muldis::D version 0.82.0.
* 2009-07-15 : Muldis::D version 0.81.0.
* 2009-07-06 : Muldis::D version 0.80.0.
* 2009-06-16 : Muldis::D version 0.79.1.
* 2009-06-13 : Muldis::D version 0.79.0.
* 2009-06-09 : Muldis::D version 0.78.0.
* 2009-06-06 : Muldis::D version 0.77.0.
* 2009-06-04 : Muldis::D version 0.76.1.
* 2009-06-04 : Muldis::D version 0.76.0.
* 2009-05-28 : Muldis::D version 0.75.0.
* 2009-05-27 : Muldis::D version 0.74.0.
* 2009-05-19 : Muldis::D version 0.73.0.
* 2009-05-15 : Muldis::D version 0.72.0.
* 2009-05-14 : Muldis::D version 0.71.0.
* 2009-05-11 : Muldis::D version 0.70.0.
* 2009-05-08 : Muldis::D version 0.69.0.
* 2009-05-06 : Muldis::D version 0.68.0.
* 2009-05-04 : Muldis::D version 0.67.0.
* 2009-04-29 : Muldis::D version 0.66.0.
* 2009-04-28 : Muldis::D version 0.65.1.
* 2009-04-22 : Muldis::D version 0.65.0.
* 2009-04-16 : Muldis::D version 0.64.0.
* 2009-04-02 : Muldis::D version 0.63.0.
* 2009-03-20 : Muldis::D version 0.62.3.
* 2009-03-19 : Muldis::D version 0.62.2.
* 2009-03-19 : Muldis::D version 0.62.1.
* 2009-03-17 : Muldis::D version 0.62.0.
* 2009-03-13 : Muldis::D version 0.61.0.
* 2009-02-25 : Muldis::D version 0.60.0.
* 2009-02-07 : Muldis::D version 0.59.1.
* 2009-02-07 : Muldis::D version 0.59.0.
* 2009-01-19 : Muldis::D version 0.58.0.
* 2009-01-08 : Muldis::D version 0.57.0.
* 2008-12-27 : Muldis::D version 0.56.0.
* 2008-12-19 : Muldis::D version 0.55.0.
* 2008-12-16 : Muldis::D version 0.54.0.
* 2008-12-15 : Muldis::D version 0.53.0.
* 2008-11-29 : Muldis::D version 0.52.0.
* 2008-11-29 : Muldis::D version 0.51.0.
* 2008-11-08 : Muldis::D version 0.50.0.
* 2008-10-07 : Muldis::D version 0.49.0.
* 2008-09-18 : Muldis::D version 0.48.0.
* 2008-08-30 : Muldis::D version 0.47.0.
* 2008-08-17 : Muldis::D version 0.46.0.
* 2008-08-15 : Muldis::D version 0.45.0.
* 2008-08-12 : Muldis::D version 0.44.0.
* 2008-07-29 : Muldis::D version 0.43.0.
* 2008-07-21 : Muldis::D version 0.42.0.
* 2008-07-15 : Muldis::D version 0.41.0.
* 2008-07-08 : Muldis::D version 0.40.0.
* 2008-07-04 : Muldis::D version 0.39.0.
* 2008-06-30 : Muldis::D version 0.38.0.
* 2008-06-28 : Muldis::D version 0.37.0.
* 2008-06-24 : Muldis::D version 0.36.0.
* 2008-06-21 : Muldis::D version 0.35.0.
* 2008-06-13 : Muldis::D version 0.34.0.
* 2008-06-04 : Muldis::D version 0.33.0.
* 2008-06-04 : Muldis::D version 0.32.0.
* 2008-05-20 : Muldis::D version 0.31.0.
* 2008-05-12 : Muldis::D version 0.30.0.
* 2008-05-11 : Muldis::D version 0.29.0.
* 2008-05-09 : Muldis::D version 0.28.1.
* 2008-05-01 : Muldis::D version 0.28.0.
* 2008-04-27 : Muldis::D version 0.27.0.
* 2008-04-21 : Muldis::D version 0.26.0.
* 2008-04-13 : Muldis::D version 0.25.1.
* 2008-04-07 : Muldis::D version 0.25.0.
2008-03-22
* Muldis::D version 0.24.0 is released on CPAN as
Muldis-D-0.24.0.tar.gz. This was the first time that the Muldis D
language spec was in a "Muldis-D-N.N.N" distribution or that the spec's
root document had the name Muldis::D, starting here with then
version 0.24.0; these names have been used uninterrupted through the
present day.
* This is the Muldis-D-0.24.0 file manifest:
Changes
INSTALL
lib/Muldis/D.pm
lib/Muldis/D/Basics.pod
lib/Muldis/D/Conventions.pod
lib/Muldis/D/Core.pod
lib/Muldis/D/Core/Routines.pod
lib/Muldis/D/Core/Types.pod
lib/Muldis/D/Core/Types_Catalog.pod
lib/Muldis/D/Dialect/HDMD_Perl_Tiny.pod
lib/Muldis/D/Dialect/PTMD_Tiny.pod
lib/Muldis/D/Ext/Bag.pod
lib/Muldis/D/Ext/Blob.pod
lib/Muldis/D/Ext/Integer.pod
lib/Muldis/D/Ext/Nonscalar.pod
lib/Muldis/D/Ext/Ordered.pod
lib/Muldis/D/Ext/Rational.pod
lib/Muldis/D/Ext/Sequence.pod
lib/Muldis/D/Ext/Set.pod
lib/Muldis/D/Ext/Spatial.pod
lib/Muldis/D/Ext/Temporal.pod
lib/Muldis/D/Ext/Text.pod
lib/Muldis/D/Hierarchical.pod
lib/Muldis/D/SeeAlso.pod
LICENSE/GPL
Makefile.PL
MANIFEST
MANIFEST.SKIP
META.yml
README
t/Muldis_D_00_Compile.t
TODO
2008-03-22
The next version of the Module List will list the following module:
modid: Muldis::D
DSLIP: cmong
description: Formal spec of Muldis D relational DBMS lang
userid: DUNCAND (Darren Duncan)
chapterid: 7 (Database_Interfaces)
enteredby: BDFOY (brian d foy)
enteredon: Sat Mar 22 22:41:26 2008 GMT
The resulting entry will be:
Muldis::
::D cmong Formal spec of Muldis D relational DBMS lang DUNCAND
2008-03-22
Record update in the PAUSE modules database:
modid: [Language::MuldisD]
statd: [c]
stats: [m]
statl: [o]
stati: [n]
statp: [g]
description: [Formal spec of Muldis D relational DBMS lang]
userid: [DUNCAND]
chapterid: [7]
mlstatus: [delete] was [list]
2008-03-05
* Language::MuldisD version 0.23.0 is released on CPAN as
Language-MuldisD-0.23.0.tar.gz. This was the last time that the Muldis
D language spec was in a "Language-MuldisD-N.N.N" distribution or that
the spec's root had the name Language::MuldisD, version 0.23.0.
2007-07-24 thru 2008-02-29
* 2008-02-29 : Language::MuldisD version 0.22.1.
* 2008-02-26 : Language::MuldisD version 0.22.0.
* 2008-02-15 : Language::MuldisD version 0.21.0.
* 2008-02-07 : Language::MuldisD version 0.20.0.
* 2008-02-07 : Language::MuldisD version 0.19.1.
* 2008-02-03 : Language::MuldisD version 0.19.0.
* 2008-01-25 : Language::MuldisD version 0.18.0.
* 2008-01-12 : Language::MuldisD version 0.17.0.
* 2008-01-05 : Language::MuldisD version 0.16.0.
* 2007-12-31 : Language::MuldisD version 0.15.0.
* 2007-12-18 : Language::MuldisD version 0.14.0.
* 2007-12-09 : Language::MuldisD version 0.13.0.
* 2007-11-23 : Language::MuldisD version 0.12.0.
* 2007-11-19 : Language::MuldisD version 0.11.0.
* 2007-11-08 : Language::MuldisD version 0.10.0.
* 2007-10-11 : Language::MuldisD version 0.9.1.
* 2007-10-09 : Language::MuldisD version 0.9.0.
* 2007-09-23 : Language::MuldisD version 0.8.1.
* 2007-09-22 : Language::MuldisD version 0.8.0.
* 2007-09-11 : Language::MuldisD version 0.7.0.
* 2007-09-03 : Language::MuldisD version 0.6.0.
* 2007-08-31 : Language::MuldisD version 0.5.0.
* 2007-08-12 : Language::MuldisD version 0.4.1.
* 2007-08-09 : Language::MuldisD version 0.4.0.
* 2007-07-24 : Language::MuldisD version 0.3.1.
2007-07-24
* Language::MuldisD version 0.3.0 was released on CPAN as
Language-MuldisD-0.3.0.tar.gz. This was the first time that the Muldis
D language spec was released as its own distribution, a practice which
had continued uninterrupted through the present day. The spec's root
document had the name Language::MuldisD, starting here with then
version 0.3.0.
* This was the Language-MuldisD-0.3.0 file manifest:
Changes
INSTALL
lib/Language/MuldisD.pod
lib/Language/MuldisD/Catalog.pod
lib/Language/MuldisD/Core.pod
lib/Language/MuldisD/Ext/Num.pod
lib/Language/MuldisD/Ext/Spatial.pod
lib/Language/MuldisD/Ext/Temporal.pod
lib/Language/MuldisD/Grammar.pod
lib/Language/MuldisD/Language.pod
lib/Language/MuldisD/SeeAlso.pod
LICENSE/GPL
Makefile.PL
MANIFEST
MANIFEST.SKIP
META.yml
README
t/LMD_00_Compile.t
TODO
2007-07-22
The next version of the Module List will list the following module:
modid: Language::MuldisD
DSLIP: cmong
description: Formal spec of Muldis D relational DBMS lang
userid: DUNCAND (Darren Duncan)
chapterid: 7 (Database_Interfaces)
enteredby: ADAMK (Adam Kennedy)
enteredon: Mon Jul 23 04:56:26 2007 GMT
The resulting entry will be:
Language::
::MuldisD cmong Formal spec of Muldis D relational DBMS lang DUNCAND
2007-06-20 thru 2007-07-20
* On 2007-06-20 was the very first CPAN release, as
Muldis-DB-0.0.0.tar.gz, of "Muldis DB for Perl 5", version 0.0.0; it
bundled the very first CPAN release of "Muldis D" the language spec,
version 0.0.0. At this time, the entire existing Muldis D language
spec was contained in the single file "Language.pod", which had the
name Muldis::DB::Language.
* 2007-06-29 : Muldis::DB::Language version 0.0.1.
* 2007-07-11 : Muldis::DB::Language version 0.1.0.
* On 2007-07-20 was the very last CPAN release, as
Muldis-DB-0.2.0.tar.gz, of "Muldis DB for Perl 5" that bundled the
Muldis D language spec, version 0.2.0. After this time the two would
be released separately, in their own namespaces.
2006-09-15 thru 2007-06-02
* Started rewriting Rosetta again, but with a name change, since
"Rosetta" was no longer appropriate for various reasons. This rewrite
took the intentionally bad and temporary name QDRDBMS, to be renamed
again (to Muldis DB) later on. With the name change allowed for the
previous version numbering of Rosetta to be dropped, and this rewrite
would eventually be first released as version zero.
* QDRDBMS was started in the wake of having had a lot more experience
in reading up on the truly relational model of data, and was now
designed fundamentally to be the design and implementation of a new
turing complete programming language for working with relational
databases, now called "QDRDBMS D".
* Made an experimental CPAN release of QDRDBMS version 0.0.0 on
2007-05-31, which specifically was a quick branch that stripped out all
the code and just contained the documentation. This was the only CPAN
release of the (partial) project under the QDRDBMS name.
* Shortly after this, QDRDBMS was renamed to its presumably final name
of "Muldis DB", and its command language to "Muldis D". But while
"Muldis D" stuck, "Muldis DB" was fated for a further rename later.
2006-04-14 thru 2006-11-22
* Started a complementary Perl 6 project named "Relation" which was
intended to provide native tuple and relation data types for ordinary
use in Perl 6 programs like other built-in collection types. It is
now stagnant; it will likely get un-stuck after Muldis Rosetta sets an
example for it.
2006-02-01 thru 2006-04-13
* The first simultaneous releases of the Perl 5 and 6 versions of
Rosetta's rewrite occurred on 2006-02-01; they were also the first CPAN
releases of either version. The Perl 6 one was Pugs release 6.2.11
(SVN rev 8934).
* On 2006-02-23 was the first (Perl 5) CPAN release of Rosetta where
the project was then officially an implementation of "The Third
Manifesto", the central work of Darwen and Date's DBMS proposal;
moreover, Rosetta's command language was named "Rosetta D", to be a "D"
language by the terms of said proposal.
* On 2006-03-20 was the (Perl 5) release that declared Rosetta was to
be fundamentally a self-contained relational DBMS (and the core
distribution would bundle such an implementation of its API) rather
than "just" a DBMS wrapper; though extensions could still chose to
operate as wrappers over other DBMSs.
* On 2006-04-13 was the last CPAN release of the Perl 5 Rosetta, and
Pugs 6.2.12 (SVN rev 10930), on 2006-06-26, had the corresponding Perl
6 version; Pugs 6.2.13 (SVN rev 11402), on 2006-10-27, had the last
CPAN release of Perl 6 Rosetta, with trivial Perl 6 only updates.
After this, Pugs would have a Muldis Rosetta instead.
2005-12-06 thru 2006-01-31
* Rosetta started to evolve so that its API and design was based on
relational algebra, which is a lot of smaller generic constructs that
can easily be arranged into queries; this is in contrast to the
previous design based around monolithic and unwieldy SQL "select"
queries. Generally speaking, there was increasing influence on the
design by Hugh Darwen's and Chris Date's proposals on how a truly
relational DBMS should work. This time period also saw very little
code, and almost entirely documentation updates.
2005-12-05
* Darren Duncan is introduced by David Wheeler to the truly relational
model of data, in a posting on the Bricolage development list in the
"Re: [6977] New branch for maintenance of Bricolage 1.10.x." thread.
* David said that Darren's expressed thought, that compound data types
in table fields was a violation of first normal form, was in fact a
misconception about the relational model. David then referenced a
recent interview with C. J. Date.
* This set off a chain of events which was the largest paradigm shift
to ever affect the Rosetta project. While the continuing goal of
Rosetta remained largely the same, the way this was to be accomplished
would become quite different, and the project would gain a new goal, to
help improve the design of relational DBMSs themselves.
2005-09-30 thru 2005-12-04
* Started a full rewrite of Rosetta, with the intent of avoiding being
over-engineered, and cutting corners in the short term so to get
something useable at all sooner. The idea was to focus on vertical
development first, so that at least a subset of features work earlier,
taking the development strategy of Perl6-Pugs itself as an example;
this is in contrast to the more horizontal development strategy of the
first Rosetta implementation.
* Moreover, this rewrite was being done simultaneously in both Perl 5
and Perl 6; each language had its own independent but synchronized
version, with the Perl 6 one intended to be the main future one that
guided design decisions, and the Perl 5 one intended to be the one
production-ready first, to be used until Perl 6 itself was production
ready. That co-development was maintained afterwards, and happens with
the Muldis Rosetta core.
2002-11-12 thru 2005-09-28, plus 2006-01-13
* Developed and released on CPAN the Rosetta DBMS framework, whose
intended purpose was to provide rigorous portability of database
schemas and database-using applications between different SQL DBMS
products. A lot of design documentation was produced, as well as some
code and tests, but while a significant amount of executing code was
produced, no solution emerged that was actually useable for real work;
what did get produced was also unnecessarily complicated.
* The very first CPAN release of anything related to Rosetta was on
2003-01-05, in the form of DBIx::Portable version 0.01, as
DBIx-Portable-0.01.tar.gz.
* A Lightning Talk was also given introducing Rosetta at OSCON 2005;
but it is Muldis Rosetta instead that will fulfill the promises made in
it.
2002-06-07
* Started writing self-contained code components that were explicitly
designed to enable external code that used them to work seamlessly on
multiple database products. Some of this work was reused later in the
Rosetta DBMS framework et al, and hence 2002 is the start of the
declared copyright date range for Muldis D language specification.