-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
1541 lines (1255 loc) · 77.3 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Muldis::Rosetta
Changes
---------------------------------------------------------------------------
2011-05-xx
* Muldis Rosetta version 0.17.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.17.0.tar.gz. Muldis Rosetta version 0.17.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, but it also happens that the Perl 6 version was
also brought fully up to date along with it.
TODO: RESYNC PERL 6 VERSION USING RAKUDO STAR! SEE TOP TODO FILE ITEM!
* Updated external dependencies: Test::More to version 0.94,
namespace::autoclean to version 0.12, Try::Tiny to version 0.09,
Moose/Class::MOP/etc to version 2.0000, MooseX::Singleton to version
0.27.
* Updated the minimum required Perl version to 5.8.3 from 5.8.1; this
is because Moose 1.09 made the same change, due to its tests failing on
5.8.1-2 and those versions not being easily installable for testing.
* (Interface.pm, Example.pm) Updated all *.pm files that declare
multiple Perl packages, so that now every single package separately
declares its (identical) package $VERSION, rather than just the first
package in each file declaring said, implicitly applied to the others.
* (Example.pm) Updated all 3 classes that compose roles so that they
now specify what version numbers of said roles they require. Moose had
added support for declaring/enforcing this in its v1.03 (2010 May 6).
* (Rosetta.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.
* (Rosetta.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.
* (Example.pm) In the "INTERFACE" main pod section, fixed old fossil
where the Muldis D dialects were referred to as "Tiny ..." rather than
"Standard ...", and also specified one as "Perl 5" rather than "Perl".
* (SeeAlso.pod) A few additions to Prospective Extensions, etc.
* Incremented all copyright year range-ends to 2011.
2010-03-01
* Muldis Rosetta version 0.16.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.16.0.tar.gz. Muldis Rosetta version 0.16.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* Oops, the previous release 0.15.0 shipped with code all declared as
version 0.014000 rather than 0.015000; the metadata was correct though.
* Updated external dependencies: Try::Tiny to version 0.04, Moose/etc
to version 0.98, MooseX::Singleton to version 0.22, Class::MOP to
version 0.98.
* (Example.pm) Corresponding to changes introduced in the
documentation of MooseX::Singleton v0.22: Updated the new_machine()
subroutine of the "::Example" module to invoke the "::Machine" class'
constructor submethod under the name "instance()" rather than "new()",
because MXS now encourages the use of "instance" over "new", and the
latter may be deprecated in a future MXS release.
* (Interface.pm, Example.pm, Validator.pm, SeeAlso.pod) In
Interface.pm, updated the Muldis Rosetta public API so that the
"::Machine"-constructor subroutine which the root module of a Muldis
Rosetta Engine must provide is now named "select_machine" rather than
"new_machine", because the new name is more descriptive as to what it
actually does, being that each "::Machine"-doing class is a singleton.
In Example.pm, made that change in its "::Example" module. In
Validator.pm and SeeAlso.pod, updated any refs to renamed sub's old
name to use the new name.
* (Interface.pm, Example.pm, Validator.pm) Corresponding to changes
introduced in Muldis D spec v0.96.0: Updated all 4-element Muldis D
language names to add the once-again-mandatory 5th (ln_extensions)
element. In some documentation, the details of that element are left
as "...", but in all code or code examples it specifies just the
mandatory "catalog_abstraction_level" pragma with "rtn_inv_alt_syn".
* (Interface.pm) Corresponding to changes introduced in Muldis D spec
v0.88.0 and v0.108.0: Update the description of the "trans_nest_level"
method to omit mentions of "direct boot_stmt transaction management", a
concept that no longer exists, and also to omit mentions of
transactions in Muldis D sometimes being tied to "a try/catch context",
also a concept that no longer exists; now, the *only* way to have a
transaction start or end in Muldis D code is to for that transaction to
be attached to the lexical scope of a Muldis D routine, so all
invocations of that routine are main/nested transactions.
* (Interface.pm, Validator.pm) Corresponding to changes introduced in
Muldis D spec v0.110.0: Updated all Muldis D language names having a
ln_extensions element so it specifies the new mandatory
"op_char_repertoire" pragma with "extended".
* (SeeAlso.pod) Other minor updates.
* Incremented all copyright year range-ends to 2010.
2009-11-09
* Muldis Rosetta version 0.15.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.15.0.tar.gz. Muldis Rosetta version 0.15.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* Updated the README file to indicate that this distribution now has 2
public Git repositories, one on GitHub.com and one on utsl.gen.nz.
* As of this release, Muldis Rosetta for Perl 5 uses Try::Tiny for
cleaner and less error-prone exception handling versus plain 'eval';
this distribution has now gained an external dependency on the Perl 5
module 'Try::Tiny', which is not bundled with any version of Perl and
will need to be installed from CPAN; Try::Tiny has no dependencies of
its own besides Perl itself.
* Updated external dependencies: namespace::autoclean to version 0.09,
Moose/etc to version 0.92, MooseX::Singleton to version 0.21,
Class::MOP to version 0.94.
* This release features a significant update to the public API paradigm
used by the Muldis Rosetta framework. There are no longer any wrappers
at all provided by the "Interface", and so users of a Muldis Rosetta
"Engine" now interact with it directly in every respect; the initial
work of loading an Engine and invoking its "new_machine" is no longer
wrapped by an "Interface" routine, and users now do that directly.
Note that all of the relevant changes were to Interface.pm and
Validator.pm; Engine/Example.pm had zero related changes.
* (Interface.pm) Demoted "Muldis::Rosetta::Interface" from a "module"
to a "package" and removed its "new_machine" subroutine; so now the
only thing this package does is declare a module version number to
apply to all the other packages in the file. As a side-effect of this
change, all of this distribution's direct usages of either the "Carp"
or "Scalar::Util" modules have been eliminated. Also renamed the main
pod section "The Muldis::Rosetta::Interface Module" to "The Root
Package of a Muldis Rosetta Engine" and rewrote its content; the
signature of the "new_machine" constructor function was also updated to
remove the "engine_name" parameter, as it now reflects the API that an
Engine root package must have, rather than the now-removed Interface
sub. Also updated the "SYNOPSIS" main pod section as appropriate, to
illustrate direct interaction with an Engine for loading etc.
* (Validator.pm) Partially rewrote the "main" subroutine to add
adaptions of much of the code that was deleted from Interface.pm in the
previous change item. So "main" now tests individual stages of loading
an Engine module and checking that it seems to be correct: that the
module file exists and compiles, that it declares a package of the same
name as the module, that it declares a "new_machine" subroutine. Now
"main" explicitly traps any errors that might occur prior to trying to
invoke "new_machine" and will "BAIL_OUT" cleanly; only when trying to
invoke an Engine that passed the prior-mentioned validations will
Validator simply let any exceptions go on to kill the test.
* (Interface.pm, Engine.pm) In a reversal of part of release 0.14.0,
and corresponding to changes introduced in Muldis D spec v0.97.0: With
the ::Process role/class, renamed its public method "imp_invo" to
"proc_invo" and renamed that method's "imperative" parameter to
"procedure"; this method may now only invoke a Muldis D procedure (or
system-service), and it may no longer invoke an updater.
* Transferred the supplementary file
archives/OSCON2005LightningTalk.txt out of the Muldis-Rosetta
distribution and into the new Muldis-D-Manual distribution; and so
Muldis-Rosetta no longer has an archives/ folder.
* (SeeAlso.pod) Added new main pod section "FURTHER DOCUMENTATION"
which refers to the new Muldis::D::Manual distro, just below the
"FORMAL SPECIFICATION" main pod section. Also removed the pod
sub-section "Muldis::Rosetta::Cookbook" of "PROSPECTIVE MULDIS ROSETTA
EXTENSIONS" because the new section replaces it. Also minor oth upds.
* (Interface.pm, README) Replaced a ref to a possible future
"Cookbook" distro with a ref to the existing new Muldis-D-Manual dist.
* Major update to the Makefile.PL (and META.yml) to make its format
more modern, in particular by distinguishing between dependencies that
are needed to use the Muldis::Rosetta modules and those needed only for
testing them or for configuring the distribution; previously, the
dependencies needed only for testing were treated as if necessary to
use Muldis::Rosetta itself; also added a list of "resources" urls.
* (Rosetta.pm) Simplified the boilerplate Perl code that exists in
this file for the sole purpose of helping the CPAN indexer.
* Updated all author references to change Darren Duncan's stated email
address from "perl@DarrenDuncan.net" to "darren@DarrenDuncan.net".
2009-08-29
* Muldis Rosetta version 0.14.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.14.0.tar.gz. Muldis Rosetta version 0.14.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* This distribution has excised its direct external dependency on the
"version" module (bundled with Perl versions 5.10.0+), which was used
in all .pm files and a .t file. And so, the modules in this
distribution now declare floating point version numbers of format
X.00Y00Z in their code (0.014000 for example); however, all module
documentation, and the distribution itself, still uses 3-part version
numbers of format X.Y.Z (0.14.0 for example) as before. The main
reason for this change is to gain simplicity and reduce possible bugs.
* As of this release, Muldis Rosetta for Perl 5 uses the
namespace::autoclean pragma instead of the namespace::clean pragma,
because it is easier to use and not so contrived in how it works and is
a generally recommended upgrade by savvy people. Note that the newer
dependency has a larger not-bundled dependency chain, including
Class::MOP, but this isn't a problem because Muldis Rosetta for Perl 5
already uses Moose anyway.
* This distribution has gained a new direct external dependency on the
Carp::Always module, which currently is only used by the 2 test files.
* Updated external dependency on Test::More to version 0.92, which
currently is only used by Validator.pm and a test file, same as what
used previous versions. While earlier versions of Test::More are
bundled with Perl 5, only Perl 5.10.1+ bundles version 0.92, so if
you're using an older Perl then you must update Test::More from CPAN.
The tests were updated to no longer declare a planned number of tests
at the start, but instead to declare "done_testing()" at the finish (a
feature added by Test::More 0.88). This change should help make
further simultaneous development and merging by multiple developers
less error prone.
* Updated external dependencies: Moose/etc to version 0.89,
MooseX::Singleton to version 0.18, Class::MOP to version 0.92.
* (Interface.pm, Engine.pm) In accordance with the latest Muldis D
spec (v0.85.0), with the ::Process role/class, renamed its public
method "proc_invo" to "imp_invo" and renamed that method's "procedure"
parameter to "imperative"; this method may now invoke any imperative
(non-function) Muldis D routine at all, including updaters.
* (Interface.pm, Validator.pm) Updated the example|test Muldis D code,
in accordance with the latest Muldis D spec (v0.85.0): The 'QSet' value
kind has been renamed to 'Set'.
* (SeeAlso.pod) Minor updates.
2009-06-01
* Muldis Rosetta version 0.13.3 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.13.3.tar.gz. Muldis Rosetta version 0.13.3 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* Updated external dependencies: namespace::clean to version 0.11,
Moose/etc to version 0.79, MooseX::Singleton to version 0.17,
Class::MOP to version 0.84.
* (Interface.pm, Validator.pm) Updated the example|test Muldis D code,
in accordance with the latest Muldis D spec (v0.75.0): simplified all
the 'Int' and 'Text' generic context value literals to each be plain
Perl scalars rather than 2-element Perl arrays, except one because it
is a direct 'source_code' argument, so the code is considerably less
verbose now; removed any empty 5th (extensions) parts of Muldis D
language names, which are now optional; renamed the 4th (dialect) parts
of Muldis D language names from "_Tiny" to "_STD"; abbreviated any
invocations of Muldis D system-defined routines since auto-expansion of
such into their fully-qualified "sys.std.*" names is now normal.
* (SeeAlso.pod) Minor formatting updates.
2009-02-09
* Muldis Rosetta version 0.13.2 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.13.2.tar.gz. Muldis Rosetta version 0.13.2 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* Updated external dependencies: Moose/etc to version 0.68.
* As of this release, Muldis Rosetta for Perl 5 uses the
namespace::clean pragma for good hygiene; this distribution has now
gained an external dependency on the Perl 5 module 'namespace::clean',
which is not bundled with any version of Perl and will need to be
installed from CPAN; namespace::clean also has a few not-bundled
dependencies of its own.
* (Interface.pm, Validator.pm, Example.pm) Added "use
namespace::clean" statements inside each package declaration following
any other "use" statements, so their exports into our packages don't
also become part of our own public API as a side-effect; the only
exception is the "meta" method that Moose adds, which is kept.
* (Interface.pm) Some POD reformatting: Took what used to be the 4
level-2 headings under the INTERFACE level-1 heading and changed said 4
into level-1 headings, but did not uppercase their text. Then
converted the routine lists from being "=over/=item <routine>/=back" to
each routine having its own level-2 heading. For each routine, the new
heading is just the short name of the routine, and the full signature
of the routine displays just as its own paragraph. All these changes
combined should look visually like we are faking 3 levels of headings,
with top and middle being upcased and mixed case "=head1" respectively.
* (Interface.pm) Updated all the routine signatures in the POD to
prefix each with the word "method" (or in one case, "sub"), and also to
explicitly name the invocant of all methods as "$self:" (or in the
sub's case there isn't one).
* (Interface.pm, SeeAlso.pod) Minor POD updates.
* Updated all files with a "LICENSE AND COPYRIGHT" documentation
section to change the Copyright declaration from "Darren Duncan" to
"Muldis Data Systems, Inc." (which is wholly owned by Darren Duncan).
2009-01-24
* Muldis Rosetta version 0.13.1 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.13.1.tar.gz. Muldis Rosetta version 0.13.1 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* As of this release, all (non-archive) versioned files have had their
version numbers increased to match the version number of the release
itself, or in other words, to match the version number of Rosetta.pm;
from now on, all file versions will increment in lockstep regardless of
whether any actual (other) changes were made to the files in question;
actually, just SeeAlso.pod needed the change as all 4 existing .pm
files were that way before; and now all new files will follow suit.
* Updated external dependencies: Moose/etc to version 0.65,
MooseX::Singleton to version 0.14, Class::MOP to version 0.76.
* (Interface.pm, Validator.pm) Updated the example|test Muldis D code,
in accordance with the latest Muldis D spec (v0.58.0): renamed the
'HDMD_Perl_Tiny' dialect to 'HDMD_Perl5_Tiny'; updated the payload
format of 'Relation' value literals so a whole payload goes in a single
literal node element rather than 2; renamed any 'Relation.\w+' routine
calls to 'QRelation.\w+' and the 'QuasiSet' type name to 'QSet'.
* (Interface.pm, Example.pm) As per the latest Muldis D spec, changed
any references on 'boot_call' to 'boot_stmt'.
* (Interface.pm, Validator.pm, Example.pm) Bugfix in the DEPENDENCIES
pod sections; replaced any ':ver' with '-ver' in module version labels
so that the current HTMLizer of search.cpan.org wouldn't mis-parse a
'version:ver...' label as a literal url of protocol 'version'.
* (Example.pm) Exploited new features of Moose version 0.65; the
"requires" feature of Moose::Role, which is used by Interface.pm which
is composed by Example.pm, is now satisfied by the various methods that
are auto-generated by Moose in Example classes ::Public::Process and
::Public::Value from the latter's "has" class attribute declarators;
the auto-gen methods are either attribute accessors or delegates on
methods of said attributes. The new features came automatically from
the Moose version update, but that a cludge of reordering any "with"
statements to follow rather than precede any affected "has" statements
in Example.pm was necessary. The benefit from this update is that
these 7 explicitly defined Example.pm methods were no longer needed and
so were deleted: [assoc_machine, pt_command_lang, trans_nest_level,
start_trans, commit_trans, rollback_trans, assoc_process]; also renamed
2 class attributes, "_assoc_[machine|process]" to
"assoc_[machine|process]", and added a "reader" trait to the
"_pt_command_lang" attribute.
* (README, Rosetta.pm, SeeAlso.pod) Added mentions of Set::Relation in
SUPPORT/FORUMS/"DBMS-RELATED PERL MODULES".
* (SeeAlso.pod) Minor updates.
* Incremented all copyright year range-ends to 2009.
2008-11-08
* Muldis Rosetta version 0.13.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.13.0.tar.gz. Muldis Rosetta version 0.13.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* New file versions are: Rosetta.pm and Interface.pm and Validator.pm
and Example.pm 0.13.0 and SeeAlso.pod 0.5.2. The other pre-existing
versioned files are unchanged.
* (Interface.pm) Updated the API documentation (specifically for the
'new_value' method) so it no longer says that a Perl-hosted-data
"Cat.Name" literal requires special handling as a Perl scalar ref; in
accordance with the latest Muldis D spec, such a literal is now given
as a Perl Array just like all other hosted-data literals. Technically
this detail only concerned the HDMD_Perl_Tiny official Muldis D
dialect, and other HD dialects may have their own rules.
* (Interface.pm, Validator.pm) Updated the example|test Muldis D code,
in accordance with the latest Muldis D spec; removed any 'perl_int'
format-specifier elements from value literals.
* (Interface.pm, Validator.pm, Example.pm) Updated the formatting of
module versions in DEPENDENCIES pod sections to reflect modern Perl 6.
* (SeeAlso.pod) Minor updates.
2008-09-19
* Muldis Rosetta version 0.12.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.12.0.tar.gz. Muldis Rosetta version 0.12.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* Updated the README file to indicate that a new public repository at
http://github.com/muldis/ is planned for the near future.
* New file versions are: Rosetta.pm and Interface.pm and Validator.pm
and Example.pm 0.12.0. The other pre-existing versioned files are
unchanged.
* (Interface.pm) The new_machine routine no longer tries to validate
its $engine_name argument as to whether or not Perl 5 considers it to
be a valid character string; the argument is now only validated for
definedness and non-empty-ness. It turns out that there isn't really
any effective Perl 5 test for whether an arbitrary string argument is
text, and it is really just up to the code that exchanges data with the
outside world (files, networks, databases, etc) to ensure it is using
Encode's decode() and encode() etc when it should be; so for us, worst
case is we interpret the string as the wrong characters, due to our
caller making a mistake, and it is up to them to fix it. Note, this
all being said, any future routine that expects a binary string
argument can still assert that is_utf8() is false as a validation step.
* (Interface.pm, Example.pm, Validator.pm,
Muldis_Rosetta_50_Validate_Example.t) The Machine role|class
constructor submethod no longer has any parameters, and the new_machine
constructor wrapper functions now have just the single 'engine_name'
parameter; they all, as well as the 'main' procedure of Validator.pm,
no longer have a 'machine_config' parameter. From now on, if a Machine
would have any config options of its own, they will be set using
accessors on a Machine object rather than in its constructor. Also
updated the corresponding 'process_config' parameter for the Process
role|class and its wrappers, restricting it such that it must be a Perl
Hash (or be undefined), rather than Interface.pm saying it may be
anything and be up to each Engine to restrict its own way.
* (Interface.pm, Example.pm) The Machine role|class is now a
singleton, such that each Muldis Rosetta Engine may only have one
Machine object per Perl process, and that Machine thus serves as a
proxy for the Engine as a whole, any methods on it being "global";
updated the Interface.pm docs to say so. To help implement this in
Example.pm, added external dependency on MooseX::Singleton, which now
provides the metaclass for Example's Machine class rather than just
Moose doing that.
* (Interface.pm) In a reversal of one aspect of release 0.11.0,
updated the API documentation so it no longer says that a Process
object's defined "expected pt|hd command language" attribute will take
precedence over a declared language name used per command; so it is now
the case that the most local defined language declaration will take
precedence when it might conceivably be applicable; but the
documentation now mainly just implies that fact rather than explicitly
stating it, since typical user intuition should point to the truth.
* (Interface.pm, Example.pm) Updated the Process|Value role|class so
that all routines with a 'source_code' parameter (that is, 'execute',
'new_value', the 3 'invo') now have an extra 1 or 2 optional parameters
named 'lang' or '[pt|hd]_lang'. In the case of all Interface::Value
construction, either direct ('new_value') or indirect (from ro-args of
the 3 'invo'), it turns out that 'source_code' typically can't embed a
language declaration after all (what the previous API assumed), and so
the new parameters allow a per-source language declaration to be
supplied; so it is now mandatory for each source to get a language
declaration either from the new parameter or from the invocant Process'
expected language attribute, except when the source is already a Value
object. In the case of 'execute', typically its 'source_code' *can*
embed a language declaration, and if it does then an external supply as
per Value construction isn't needed.
* (Example.pm) Under the DESCRIPTION main pod section, added pod
sub-section "Implementation and Limitations" which has a few details
about broad design decisions that go into the Example Engine, such as
how its implementation uses the SQLite DBMS as a model, loosely
speaking, and that it is mainly a RAM-based DBMS. Also added an
initial something to the BUGS AND LIMITATIONS main pod section, and
updated the INTERFACE section.
2008-09-03
* Muldis Rosetta version 0.11.1 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.11.1.tar.gz. Muldis Rosetta version 0.11.1 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* New file versions are: Rosetta.pm and Interface.pm and Validator.pm
and Example.pm 0.11.1. The other pre-existing versioned files are
unchanged.
* Updated the Makefile.PL to remove the obsolete warning message about
a warning message that the POD manifyer might give.
* (Validator.pm) Removed routine does_ok(), which was a slightly
modified clone of Test::More's isa_ok(). Instead, added dependency on
Test::Moose, which provides routines to complement Test::More.
2008-08-30
* Muldis Rosetta version 0.11.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.11.0.tar.gz. Muldis Rosetta version 0.11.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* New file versions are: Rosetta.pm and Interface.pm and Validator.pm
and Example.pm 0.11.0. The other pre-existing versioned files are
unchanged.
* (Interface.pm) Updated the API documentation to fix a certain
ambiguity problem with source code. It now says that any supplied
source code that is a Perl Str is always treated as being some
plain-text language, and source code that is any kind of Perl 5
reference or object is always treated as being some Perl-hosted-data
language; to disambiguate Perl-hosted-data source code that consists of
just a "Cat.Name" literal (which is normally specified as a Perl Str
rather than a Perl Array) from general plain-text code, Muldis Rosetta
now requires one to specify such Perl-hosted-data source code by
supplying source code which is a Perl 5 reference to a Perl Str, rather
than supplying it as a plain Perl Str.
* (Engine.pm) Removed any 'use Carp' within class defs, since it turns
out that Moose exports its 'confess' into our classes for us. (It also
exports 'blessed' of Scalar::Util.)
* (Interface.pm, Example.pm) Removed the 2 role|class methods
"Machine.assoc_processes" and "Process.assoc_values", which seem to be
of dubious value; if in the future it turns out they actually would be
useful after all, they might then return. Also removed the 2
corresponding attributes from Example since they aren't needed.
* (Interface.pm, Example.pm, Validator.pm) Split up the conceptual
Process attribute "expected command language" into the 2 "expected
plain-text|perl-hosted-data command language", so now the plain-text
and Perl-hosted-data language groupings each have their default which
can be unset or set that just affects work with that language group.
Split up the Process role|class' 2 "[|update_]command_lang" methods
into the 4 "[|update_][pt|hd]_command_lang" methods; also updated the
"pt" versions to return/take a Perl Str, and the "hd" to return/take a
Perl Array, rather than return/take Any. Similarly split up the Value
role|class' 1 "source_code" method into the 2 "[pt|hd]_source_code"
methods; the return/take data types were similarly changed except that
the "hd" still results in Any.
* (Interface.pm) Updated the API documentation to specify that when a
Process object has a defined "expected pt|hd command language"
attribute, then all pt|hd source code given to that process or built by
that process must be of that language; any declared language names used
per command may only be respected when the attribute is undefined.
* (Interface.pm, Validator.pm) Updated the example|test Muldis D code
to use the less verbose ordered-attributes relation literal syntax
where the result doesn't make the file lines too long.
* (Example.pm) Made several large Example.pm updates so that its code
more closely resembles what it would be once the other implementing
files of the Example Engine were added. Added commented-out dependency
statements on 4 new files in the Example/ namespace: Runtime, Value,
PlainText, HostedData; it is also expected that those files in turn
would depend on yet more files such as: Storage, Operators, etc. Added
new private attribute "_inner" to each of the Machine|Process|Value
classes (but in the last it is a rename from "_value"), whose declared
types are of classes that would be declared in either Runtime or Value;
the ::Public classes in Example.pm would then be serving as
public-facing wrappers for said. Removed the private attributes
"_[machine|process]_config", "_trans_nest_level", since the "inner"
Machine|Process will have those instead. Stripped down the 4
"trans"-named methods of Process so they now simply delegate to the
"inner" Process object's same methods, which would then do the work
that the stripped no longer do. Fleshed out the Value class' BUILD
submethod and 2 "source_code" methods so that they properly invoke the
Muldis D source code parsers or builders that PlainText|HostedData
provide, by which the outside world interacts with the "inner" Value.
2008-08-19
* Muldis Rosetta version 0.10.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.10.0.tar.gz. Muldis Rosetta version 0.10.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* New file versions are: Rosetta.pm and Interface.pm and Validator.pm
and Example.pm 0.10.0. The other pre-existing versioned files are
unchanged.
* (Interface.pm) Fixed the documentation of 'new_value' to say it will
clone a Value object given as its 'source_code' argument, rather than
simply return the same object.
* (Engine.pm) Renamed Process|Value attr 'machine'|'process' to prefix
'assoc_', and the corresponding Process|Value constructor parameter was
likewise renamed; corresponding updates to new_[process|value] methods.
* (Engine.pm) Renamed all attributes of all classes to prepend an
underscore to their names. Fleshed out all the Moose 'has'
declarations of said attributes, so that they are all "is rw" and so
have auto-generated accessor methods of the same (new) names of the
attributes. Updated all Engine.pm code to use these attr accessor
methods rather than using direct $self hash accesses. Further fleshed
out the 'has' to define their initialization from either default
literals or constructor params, as well as marking any constructor
params that are required, and a few with other constraints. The BUILD
submethods are now considerably smaller with most of their contents now
replaced by the 'has'. Some of the more complicated input checking and
post-processing remains in the BUILD though.
2008-08-04
* Muldis Rosetta version 0.9.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.9.0.tar.gz. Muldis Rosetta version 0.9.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* New file versions are: Rosetta.pm and Interface.pm and Validator.pm
and Example.pm 0.9.0. The other pre-existing versioned files are
unchanged.
* As of this release, Muldis Rosetta for Perl 5 uses the Moose
postmodern object system for Perl 5; this distribution has now gained
an external dependency on the Perl 5 framework 'Moose', which is not
bundled with any version of Perl and will need to be installed from
CPAN; Moose also has a few not-bundled dependencies of its own.
* (Interface.pm, Example.pm) Updated the 3 Interface roles
Machine|Process|Value to actually declare themselves as roles using
Moose::Role, and updated the 3 corresponding Example Engine classes to
actually declare themselves as Moose classes, and as composing said 3
roles (using the Moose 'with' keyword). Also updated the 'new_machine'
submethod of Muldis::Rosetta::Interface to retain compatability with
the isa() to does() change.
* (Validator.pm) Updated the does_ok() utility routine to actually
perform a does() test rather than isa(); this involved cloning the
isa_ok() of Test::More into Validator.pm, with a few small changes.
* (Example.pm) Renamed all the _build submethods to BUILD, removed all
the new(), and renamed all the DESTROY to DEMOLISH, since Moose now
takes care of the framing bits for us.
* (Example.pm) Removed all the constant declarations that are class
attribute names, just using their string literal values directly as the
$self hash keys. Also added Moose 'has' declarations for all the class
attributes, though currently they probably don't do anything since we
still manually specify everything with BUILD, DEMOLISH, and explicit
accessor methods; this is expected to change in a future release.
2008-08-02
* Muldis Rosetta version 0.8.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.8.0.tar.gz. Muldis Rosetta version 0.8.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, and it should not be assumed that the Perl 6
version incorporates all of said updates, though it may have some of
them.
* New file versions are: Rosetta.pm and Interface.pm and Validator.pm
and Example.pm 0.8.0 and SeeAlso.pod 0.5.1.
* (Rosetta.pm) Updated the DESCRIPTION pod to say that the Perl DBI
and Muldis Rosetta are more similar, specifically that both do not
require the commands they process to be of any specific language, and
also that they both typically take multiple language dialects.
* (Interface.pm, Example.pm) Removed the API roles|classes named
"[Func|Proc]Binding", thereby majorly simplifying the public API of a
Rosetta Engine; also removed the associated attributes|accessors of the
"Process" role|class. You now simply invoke a Muldis D routine
directly using a "Process" method.
* (Interface.pm, Example.pm, Validator.pm) Renamed the Process
role|class' "call_[func|proc]" methods to "[func|proc]_invo", and split
the latter into itself and "upd_invo"; also renamed each method's
primary argument. A result of these changes is that these 3 methods
are now direct counterparts to certain Muldis D system-defined routines
or expr|stmt node types, that have the same names.
* (Interface.pm, Example.pm, Validator.pm) Made the "machine_config"
parameter of the Machine constructor function and its wrapper function
optional. Added an optional "process_config" parameter for the Process
constructor and its wrapper method that is analogous to this. Added a
"process_config" parameter to Validator.pm's "main" procedure, and
updated Muldis_Rosetta_50_Validate_Example.t to pass it an argument.
* (Interface.pm, Example.pm, Validator.pm) Removed the 'exp_ast_lang'
attribute from the Machine role|class, and added as a replacement the
'command_lang' attribute to the Process role|class; replaced the
corresponding accessor methods likewise. The new attribute is not
required to have a defined value like the old attribute, and the new
can not be initialized using a constructor parameter like the old, but
can only be set with the accessor method. If 'command_lang' is
undefined (as by default), then each command fed to a Process must
declare the language it is written in; if 'command_lang' is defined,
then each command need not declare, and is interpreted as being written
in the language named by 'command_lang'. Overall, these changes permit
one to supply commands in multiple languages to the same DBMS, while
still not having to be verbose. Also the language doesn't have to be
Muldis D, but could be SQL or something else the Engine accepts.
* (Example.pm) Fleshed out the INTERFACE pod section to specify what
command languages the Example Engine accepts as input; currently it is
just the 2 official Muldis D "Tiny" dialects.
* (Interface.pm, Example.pm, Validator.pm) Replaced the API role|class
Var with Value, as it now represents an immutable value rather than a
mutable variable. The Muldis Rosetta API now just uses ordinary Perl
variables as its variables in Perl routines; they are valued with Value
objects, and you update them in Perl space like you do with Perl vars.
* (Interface.pm, Example.pm) Added new 'execute' method to the Process
role|class, which lets you simply execute any code that the Engine
understands against the DBMS; this is how you run Muldis D 'bootloader'
routine code in Muldis Rosetta.
* (Interface.pm, Engine.pm, Validator.pm, SeeAlso.pod) Made other misc
updates, such as bringing code samples, tests up to date with the API.
* The file archives/OSCON2008SessionProposal.txt was moved from the
Muldis Rosetta version control / distribution to the Muldis D one; also
there is now just one copy versus with 2 versions of Muldis Rosetta.
* Deleted the file archives/OSCON2006SessionProposal.txt which proposes
a talk that was never accepted for giving, and that in retrospect
wasn't a particularly good proposal; I decided there is little benefit
in keeping this one-pager proposal, so away it goes.
2008-04-12
* Muldis Rosetta version 0.7.0 for Perl 5 is released on CPAN as
Muldis-Rosetta-0.7.0.tar.gz. Muldis Rosetta version 0.7.0 for Perl 6
is not released at all. The rest of this Changes entry refers only to
the Perl 5 version, but it also happens that the Perl 6 version was
also brought fully up to date along with it.
* What was Muldis-DB at version 0.6.2 has been renamed to
Muldis-Rosetta. This is the first release of the Muldis-Rosetta
distribution, and the first release of any distribution to contain Perl
5 package names like Muldis::Rosetta[|::\w+]. All of the files in this
distribution are as identical as possible to how they were when last
released under the names Muldis::DB[|::\w+] but for the name changes.
All lib/ files were renamed appropriately, and also the 2
t/Muldis_DB_\w+ were renamed to t/Muldis_Rosetta_\w+.
* All versioned files had their version numbers incremented to the
first higher 0.N.0. New file versions are: Rosetta.pm and Interface.pm
and Validator.pm and Example.pm 0.7.0 and SeeAlso.pod 0.5.0.
* (Rosetta.pm) The TRADEMARK POLICY section was severely edited to
excise most legalese, and is now just half its previous size; the old
longer version was shunted off to the Muldis Data Systems' website.
* (Interface.pm, Validator.pm) Update to retain compatibility with the
official Muldis D version 0.25.0, where the second (authority) part of
a fully-qualified Muldis D language name has changed from
'cpan:DUNCAND' to 'http://muldis.com'.
* (SeeAlso.pod) A few minor updates.
* Minor update to the file archives/OSCON2008SessionProposal.txt which
reflects that the proposal was accepted; the talk will be given Jul 23.
Also retconned the file to use current names, urls of Muldis D|Rosetta;
the copy on the OSCON website will likewise be updated if possible.
* This is the Muldis-Rosetta-0.7.0 file manifest:
archives/OSCON2005LightningTalk.txt
archives/OSCON2006SessionProposal.txt
archives/OSCON2008SessionProposal.txt
Changes
INSTALL
lib/Muldis/Rosetta.pm
lib/Muldis/Rosetta/Engine/Example.pm
lib/Muldis/Rosetta/Interface.pm
lib/Muldis/Rosetta/SeeAlso.pod
lib/Muldis/Rosetta/Validator.pm
LICENSE/GPL
LICENSE/LGPL
Makefile.PL
MANIFEST
MANIFEST.SKIP
META.yml
README
t/Muldis_Rosetta_00_Compile.t
t/Muldis_Rosetta_50_Validate_Example.t
TODO
2008-04-11
The next version of the Module List will list the following module:
modid: Muldis::Rosetta
DSLIP: cmpOl
description: Full-featured truly relational DBMS in Perl
userid: DUNCAND (Darren Duncan)
chapterid: 7 (Database_Interfaces)
enteredby: SMUELLER (Steffen Müller)
enteredon: Fri Apr 11 07:37:39 2008 GMT
The resulting entry will be:
Muldis::
::Rosetta cmpOl Full-featured truly relational DBMS in Perl DUNCAND
2008-04-10
Record update in the PAUSE modules database:
modid: [Muldis::DB]
statd: [c]
stats: [m]
statl: [p]
stati: [O]
statp: [l]
description: [Full-featured truly relational DBMS in Perl]
userid: [DUNCAND]
chapterid: [7]
mlstatus: [delete] was [list]
2008-03-23
* Muldis DB version 0.6.2 for Perl 5 is released on CPAN as
Muldis-DB-0.6.2.tar.gz. Muldis DB version 0.6.2 for Perl 6 is not
released at all. The rest of this Changes entry refers only to the
Perl 5 version, and it should not be assumed that the Perl 6 version
incorporates all of said updates, though it may have some of them.
* Renamed the 2 t/MDB_\w+ test files to t/Muldis_DB_\w+.
* New file versions are: DB.pm and Interface.pm and Validator.pm and
Example.pm 0.6.2 and SeeAlso.pod 0.4.4.
* Updated DB.pm and the README file to clarify that commercial support
is available from the author specifically by way of Muldis Data
Systems.
* Updated all .pm and .pod files to add a new TRADEMARK POLICY section
near the end of each; it serves for trademarks what the LICENSE AND
COPYRIGHT did for copyrights. The DB.pm file had the actual text, and
the other files simply say to look at DB.pm. To summarize, the word
MULDIS is a trademark and how you may use it has limitations.
* (DB.pm, Interface.pm, Validator.pm, SeeAlso.pod) A few minor updates
to reflect the fact that, for one thing, the Muldis D official spec is
now released under the Perl main package namespace Muldis::D rather
than Language::MuldisD, and for another thing, some small aspects of
Muldis DB's reflection of the Muldis D language were out of date, but
now they were updated to resync.
2008-03-10
* Muldis DB version 0.6.1 for Perl 5 is released on CPAN as
Muldis-DB-0.6.1.tar.gz. Muldis DB version 0.6.1 for Perl 6 is not
released at all. The rest of this Changes entry refers only to the
Perl 5 version, and it should not be assumed that the Perl 6 version
incorporates all of said updates, though it may have some of them.
* New file versions are: DB.pm and Interface.pm and Validator.pm and
Example.pm 0.6.1 and SeeAlso.pod 0.4.3.
* Updated the README file to emphasize the Perl 5 version for now.
* (SeeAlso.pod) A few minor updates.
* Incremented all copyright year range-ends to 2008.
* Added new file archives/OSCON2008SessionProposal.txt which is a copy
of a proposal to give a talk on Muldis D + DB at OSCON 2008 (it can
also be given elsewhere); this is likely the most succinct description
yet of what the projects are and why one would want to use them.
2008-03-10
* Muldis DB for Perl 6 has suspended development temporarily while
resources are focused on just Muldis DB for Perl 5 in the short term;
later on, when the Perl 5 version is sufficiently advanced, it will be
translated to Perl 6, so to restart parallel development, or at least
to provide a snapshot. In the meantime, some updates to the Perl 6
version may still be made, but it should not be interpreted that these
are keeping the whole project in feature parity with the Perl 5 one.
2007-12-09
* Muldis DB version 0.6.0 for Perl 5 is released on CPAN as
Muldis-DB-0.6.0.tar.gz. Muldis DB version 0.6.0 for Perl 6 is not
released at all. The rest of this Changes entry refers only to the
Perl 5 version.
* As of this release, the in-code $VERSION declarations of all Perl 5
packages in this distribution are changed to match the X.Y.Z format
that the same packages' own VERSION POD had all along (the old in-code
format was X.00Y00Z). A consequence of this change is that this
distribution has gained an external dependency on the Perl 5 module
'version', which is not bundled with Perl 5.8.x; however, it *is*
bundled with Perl 5.10.x, so if you are using that newer Perl, you
won't have to install 'version' separately from CPAN.
* New file versions are: DB.pm and Interface.pm and Validator.pm and
Example.pm 0.6.0 and SeeAlso.pm 0.4.2.
* (Interface.pm, Example.pm, Validator.pm, DB.pm, SeeAlso.pod,
MDB_50_Validate_Example.t) Renamed all Perl packages named ::DBMS to
::Machine (that is, under Interface:: and Example::Public::), and
similarly renamed all routines, attributes, parameters, variables,
config keys, and so on, to use 'machine' rather than 'dbms'.
* (Interface.pm, Example.pm, Validator.pm) Split the Machine
role|class into itself and the new Process role|class; a Machine now
has 0..N Process, and a Process now has 0..N
Var|FuncBinding|ProcBinding. The Machine constructor retained all of
its parameters, and the Process constructor has no configuration
parameters; nearly all of the Machine methods went to Process. As part
of the split, 2 methods were added to Machine, and 1 to Process.
2007-10-20
* Muldis DB version 0.5.0 for Perl 5 is released on CPAN as
Muldis-DB-0.5.0.tar.gz. Muldis DB version 0.5.0 for Perl 6 is not
released at all. The rest of this Changes entry refers only to the
Perl 5 version.
* Removed the files PhysType.pm and Operators.pm; these files were very
out of date and will be replaced later (possibly under the same names).
* New file versions are: DB.pm and Interface.pm and Validator.pm and
Example.pm 0.5.0 and SeeAlso.pm 0.4.1.
* (Interface.pm, Example.pm, Validator.pm) Added a new attribute to
the DBMS role (and Example's doing class), "expected AST language",
with which Muldis DB users explicitly declare what Muldis DB (or
alternative) language version they expect to use for further
interaction with that DBMS. The new_dbms constructor function gains a
parameter ('exp_ast_lang') for setting its default value, and the DBMS
role gains 2 methods for fetching/updating that attribute. Note that,
unlike the engine_name and dbms_config parameters, exp_ast_lang is
generally not suited to read from a config file, as it is meant to
correspond to program code rather than a user's runtime setting. The
&main of Validator.pm was updated to provide a hard-coded argument for
exp_ast_lang, which will be maintained in future releases at the latest
official Muldis D version number known to work at the time.
* (DB.pm) Some small DESCRIPTION pod updates.
* (SeeAlso.pod) Added more prospective extension modules.
* Fleshed out the tail of this Changes file with a summary pre-release
(rel. 2007 June) history of Muldis DB; going from mid-2002 to mid-2007.
2007-09-22
* Muldis DB version 0.4.0 for Perl 5 is released on CPAN as
Muldis-DB-0.4.0.tar.gz. Muldis DB version 0.4.0 for Perl 6 is not
released at all. The rest of this Changes entry refers only to the
Perl 5 version.
* This release is a snapshot to show a particular mid-way point in a
large sequence of changes. To summarize, the public API of Muldis DB
has been rewritten, documentation for that API was added (including an
example), and both the Example Engine and the Validator suite were
(substantially) updated to conform to the new API. However, the
Example Engine is still incapable of executing any tasks, so that
aspect is unchanged from before. The next release should flesh out
Example so that it executes some tasks.
* Removed the file Literal.pm; Muldis DB now uses Perl Hosted Abstract
Muldis D (composed of Perl array refs, hash refs, scalars), as
described in Language::MuldisD::PerlHosted, rather than Literal
objects, as its data|code interchange format. This makes things a lot
simpler, easier to use, and better performing. All of the other .pm
files in this distribution, which used Literal.pm, were updated
accordingly, which is further described below. Also removed the
t/MDB_10_Literal_Simple.t test file.
* All versioned files had their version numbers brought up to 0.4.0.
* Minor updates to all versioned files such that most references to the
project name were changed to "Muldis DB" from "Muldis::DB".