From: Reini Urban
Hi,
The parrot packages with libparrot0 and libparrot-devel,
plus parrot-perl6 and parrot-languages are updated to 0.6.4 for
the Cygwin distribution.
Parrot is a virtual machine designed to efficiently compile and
execute bytecode for interpreted languages.
Parrot is a target for the upcoming Perl 6 and a lot of other
languages.
Canonical homepage:
http://www.parrotcode.org/
The Parrot wiki is at http://www.perlfoundation.org/parrot/
Canonical download:
http://www.parrotcode.org/release/devel
Updates appear timely every month until v1.0 at the end of this year due
to stable funding. 0.6.5 will be released on 19 Aug 2008.
Packaging Details:
* The php implementation is now called pipp.
* /usr/bin/libparrot.dll is now /usr/bin/cygparrot0_6_4.dll
* moved examples and parrot_config from libparrot-devel to parrot
* Added list of local patches to myconfig
[perl #51944] [DOCS] Cygwin Readme
[perl #56544] [PATCH] install_files.pl
[perl #56558] [PATCH] pdb rename to parrot_debugger
[perl #56562] [PATCH] root.in: add cygwin importlib
[perl #56998] [TODO] rename cygwin dll to
cygparrot$MAJOR_$MINOR_$PATCH.dll
[perl #57006] [PATCH] add cygwin opengl config quirks
[perl #57110] [PATCH] ncurses for cygwin
[perl #57112] [PATCH] postgres for cygwin
[perl #57114] [PATCH] urm RealBin issue
* added man1 pages for most binaries
* added vim and emacs support files
* added parrot-json
----
To update your installation, click on the "Install Cygwin now" link on
the http://cygwin.com/ web page. This downloads setup.exe to your
system. Once you've downloaded setup.exe, run it and select "Editors"
or "Text" and then click on the appropriate fields until the above
announced version numbers appear if they are not displayed already.
If your mirror doesn't yet have the latest version of this package after
24 hours, you can either continue to wait for that site to be updated or
you can try to find another mirror.
Please send questions or comments to the Cygwin mailing list at:
cygwin@cygwin.com
If you want to subscribe go to:
http://cygwin.com/ml/cygwin/
I would appreciate if you would use this mailing list rather than
emailing me directly. This includes ideas and comments about the setup
utility or Cygwin in general.
If you want to make a point or ask a question the Cygwin mailing
list is the appropriate place.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
From: Reini Urban
Hi,
The 0.6.3 parrot packages with libparrot0 and libparrot-devel,
plus parrot-perl6 and parrot-languages are now available with
the Cygwin distribution.
Parrot is a virtual machine designed to efficiently compile and
execute bytecode for interpreted languages.
Parrot is a target for the upcoming Perl 6 and a lot of other
languages.
.include searchpath:
/usr/runtime/parrot/include (bogus)
/usr/runtime/parrot (bogus)
/usr (bogus)
/usr/lib/parrot/include
/usr/lib/parrot/
.
with the extensions: "" .exe .lnk .exe.lnk .past .past.exe .past.lnk
.past.exe.lnk .pir .pir.exe .pir.lnk .pir.exe.lnk
The .exe and .lnk versions are of course cygwin-magic only.
Runtime requirements:
libparrot0 libreadline6 ncurses libintl8 libicu38 libgmp3 libgdbm4
Optional requirements:
libglut3 pcre xorg-x11-base xorg-x11-bin-dlls libpq5 openssl
Build requirements:
gcc make perl readline libncurses-devel libgmp-devel
libgdbm-devel pcre-devel
Optional build requirements:
libglut-devel libicu-devel openssl-devel
Required CPAN packages:
Test::TAP::HTMLMatrix if you want to run the language smoke tests
with make languages-smoke.
Test::Base for some APL language tests.
Canonical homepage:
http://www.parrotcode.org/
The Parrot wiki is at http://www.perlfoundation.org/parrot/
Canonical download:
http://www.parrotcode.org/release/devel
Updates appear timely every month until v1.0 at the end of this year due
to stable funding. 0.6.4 will be uploaded really soon - tomorrow
hopefully, 0.6.5 will be released on 19 Aug 2008.
Packaging Details:
The php implementation, now called pipp, is here still called plumhead.
This will be pipp from the next release 0.6.4 on.
parrot-languages is going the single package route, contrary to the
fedora split. They have for every single language a seperate package.
Otherwise the package layout is similar to fedora, debian, gentoo and
freebsd.
perl6 is called /usr/bin/perl6.exe, the other languages have a "parrot-"
prefix. There are no perl6 libraries at all included.
pdb is called parrot_pdb, and will be named parrot_debugger in the
future as voted yesterday - you see the packaging is still a bit in flux
:) - disassemble is already called pbc_disassemble.
The SDL library references cygSDL-1-2-0.dll per ffi, which is only in
cygports: http://cygwinports.dotsrc.org/
/usr/bin/libparrot.dll will be /usr/bin/cygparrot0_6_4.dll for the next
version.
There are no man(1) pages yet. This is in work.
----
To update your installation, click on the "Install Cygwin now" link on
the http://cygwin.com/ web page. This downloads setup.exe to your
system. Once you've downloaded setup.exe, run it and select "Editors"
or "Text" and then click on the appropriate fields until the above
announced version numbers appear if they are not displayed already.
If your mirror doesn't yet have the latest version of this package after
24 hours, you can either continue to wait for that site to be updated or
you can try to find another mirror.
Please send questions or comments to the Cygwin mailing list at:
cygwin@cygwin.com
If you want to subscribe go to:
http://cygwin.com/ml/cygwin/
I would appreciate if you would use this mailing list rather than
emailing me directly. This includes ideas and comments about the setup
utility or Cygwin in general.
If you want to make a point or ask a question the Cygwin mailing
list is the appropriate place.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
From: Bernhard Schmalhofer
Hi,
on behalf of the Parrot team, I'm proud to announce the release of
Parrot 0.6.4
"St. Vincent Amazon."
Parrot 0.6.4 is available via CPAN, or follow the download
instructions at http://parrotcode.org/source.html. For those who would
like to develop on
Parrot, or help develop Parrot itself, we recommend using Subversion on
the source code repository to get the latest and best Parrot code.
Parrot 0.6.4 News:
- Documentation
+ removed a lot of old information from the FAQ
+ improved function level documentation
- Configuration
+ removed the configuration item 'has_gnu_m4'
+ refactored ICU-detection
- Languages
+ ChitChat
- improved the Smalltalk implementation
+ Pipp
- renamed Plumhead to Pipp
- support for a lot of builtin functions.
- Pipp now uses PHP specific data types.
- converted from PCT with TGE to PCT with NQP actions
- improvements in the PCT variant by using optok parsing
- start of object support
+ pir
- simple assignments work
+ json
- added a PCT-based implementation of JSON parsing
+ lolcode
- improved handling of symbols
- added support for block handling
- added support for globals
+ Lua
- more tests
+ Rakudo
- updated Range implementation
- added enums
- added generic type declarations (::T)
- added runtime mixing of roles with 'does' and 'but'
- added generic type declarations
- fixed handling of implicit lexicals ($_, $!, and $/)
- fixed implicit method calls on $_
- improved complex math builtins, added Complex
- moved many builtins to class Any
- declaration of lists of variables now work
- improved test infrastructure
- 910 additional passing spec tests since last release
- more convergence with STD.pm grammar
- added named 0-ary parsing and ops
- Compilers
+ PCT:
- allowed subroutine and method names to be a PAST tree that
produces the name
- Improved lexical handling
- Tools
+ pbc_disassemble renamed from disassemble
- Implementation
+ allowed .macro_const in PIR
+ added the flag :lexid(...) for subroutines
+ made multiple dispatch work for sub types
+ fixed garbage collection bug related to the metadata attached to a
PMC_EXT structure
+ added a warning when using deprecated opcodes
+ simplified the stacks implementation
+ fixed C++ build
+ improved closure and lexical support
+ improved IMCC register allocator
+ added cache for all runtime-constant strings, reducing memory usage
- Miscellaneous
+ improved OpenGL/GLU/GLUT bindings
+ added a standard profile for Perl::Critic coding standard testing
+ added support for smoke testing with Smolder
+ enabled use of Test::Harness 3.0 if available, but don't require it
for 'make test'
+ added the executable 'parrot_config' to query Parrot configuration
Many thanks to all our contributors for making this possible, and our
sponsors
for supporting this project. Our next scheduled release is August 19th
2008.
Enjoy!
From: chromatic
They were walking to the Hemlock, the Rooster and the Mice, and the
Mice kept looking at one another, questioning.
"We don't know what the future holds, do we?" said Chauntecleer. The
Mice all shook their heads. They knew very little of anything. "If,"
said Chauntecleer, "I say, if I don't come back again, then you must
make this food to last a long, long time. I trust your prudence,
don't I?" he asked, and they nodded automatically, but their eyes
were very big. "And I trust your integrity, right?" They nodded.
"And you are mature, now, and I respect your maturity, isn't that
so?" Poor Mice, they nodded and nodded, and they blinked, and they
nodded. They looked afraid. "Good," said Chauntecleer. "I know I
won't be disappointed.
In this way he gave each Mouse a manhood. They couldn't talk to him
just now, having so much to turn over in their minds. But neither
did they cry.
-- The Book of Sorrows, by Walter Wangerin Jr.
On behalf of the Parrot team, I'm proud to announce Parrot 0.6.2
"Reverse Sublimation." [1]Parrot is a virtual machine aimed at running
all dynamic languages.
Parrot 0.6.2 is available via [2]CPAN (soon), or [3]follow the download
instructions. For those who would like to develop on Parrot, or help
develop Parrot itself, we recommend using [4]Subversion or [5]SVK on
[6]our source code repository to get the latest and best Parrot code.
Parrot 0.6.2 News:
* Specification
+ updated and launched pdd28_strings.pod
+ updated pdd19_pir.pod
* Implementation
+ added implementation of Rational PMC
+ simplified ops control flow syntax
+ enabled backtrace on non-glibc platforms too
+ improved some PIR error reporting
+ removed user stack opcodes (save, restore, lookback,
entrytype, depth, rotate_up) (NOTE: This was scheduled to
occur after 0.7.0, moved up to this release)
+ removed register stack, saveall, and restoreall opcodes
+ removed various deprecated features and unused code
* Languages
+ Amber: retired
+ C99: grammar updated
+ Cardinal: resurrected, method calls and do blocks work now
+ Eclectus: use NQP as PAST generating code
+ Lua:
o added big number library
o updated to match PGE changes
o added a bytecode disassembler & a Lua 5.1 VM bytecode
translator
+ Pheme: updated to match PGE/PCT changes
+ Plumhead:
o use NQP as PAST generating code
o use riaxpander for macro expansion
+ Rakudo:
o updated ROADMAP
o conditional and loop statement modifiers
o lots of class, object, role, and method improvements
o Str increment and decrement
o improved spectest reporting
o type checking on assignment
o regexes and grammars
o undef and self
o placeholder vars
+ Squaak: added to repository
+ TAP: retired
* Compilers
+ PGE: updated to match Synopsis 5, deprecated features removed
+ PCT:
o improve handling of register types, conversion between
registers
o improved error diagnostics
o add 'arity' to for loops
* Configuration
+ added step auto::opengl
+ added step gen::opengl
+ added step gen::call_list
* Miscellaneous
+ still more optimizations and performance improvements,
especially in GC
+ new libraries: OpenGL/GLU/GLUT bindings (small subset working)
+ new dump_pbc.pl utility: PBC disassembly/source code weaver
+ improved C++ compiler support
+ optimized builds work again
Gracias to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!
References
1. http://parrotcode.org/
2. http://search.cpan.org/dist/parrot
3. http://parrotcode.org/source.html
4. http://subversion.tigris.org/
5. http://svk.bestpractical.com/
6. https://svn.perl.org/parrot/trunk/
From: chromatic
Jack had avoided looking into his sons' faces during this Oration, because he
reckoned they'd not wish to be seen with tears streaming down their faces.
But looking up at Jimmy now he saw dry eyes and a quizzical if impatient
phizz. Turning the other way, he saw Danny gazing distractedly at the White
Tower.
...
"Before you embark on a new life overseas, assuming that is your fate," Jack
said, "find Eliza and tell her she is my true love." And then he jerked the
chains loose from the restraining grip of first Jimmy, then Danny. He leaned
forward, pushed off against the rail with both feet, and launched himself
into space above London. His cloak spread in the wind of his flight like the
wings of an eagle, revealing, to anyone who might be gazing up into the sky,
a lining made from cloth-of-gold that glistered in the rays of the setting
sun like the chariot of Apollo. He was on his way down.
-- Neal Stephenson, The System of the World
On behalf of the Parrot team, I'm proud to announce Parrot 0.5.0 "Caulked
Snack." Parrot (http://parrotcode.org/) is a virtual machine aimed at running
all dynamic languages.
Parrot 0.5.0 is available from the CPAN (soon), or follow the download
instructions at http://parrotcode.org/source.html. For those who would like
to develop on Parrot, or help develop Parrot itself, we recommend using
Subversion or SVK on the source code repository to get the latest and best
Parrot code.
Parrot 0.5.0 News:
- Implementation
+ PDD15 (OO) branch merged with trunk; this release contains a working,
tested implementation of the latest OO model
+ Added pop_eh/push_eh_p/count_eh opcodes
+ Add --runcore command line option
+ Add gcdebug runcore to help track down GC bugs
+ minor improvements to IA-32 JIT
- Documentation
+ PDD19 (PIR): updates to macros, .pcc* directives
+ PDD25 (Concurrency): updated
+ PDD26 (AST): draft approved
+ PDD23 (Exceptions): draft approved
+ Copyright cleanups
- Languages/Compilers
+ languages/APL: minor updates, PDD15 conformance
+ languages/dotnet: minor updates
+ languages/lua: minor updates, PDD15 conformance
+ languages/lisp: minor updates
+ languages/perl6: minor updates, PDD15 conformance
+ languages/plumhead: minor updates
+ languages/punie: minor updates, PDD15 conformance
+ languages/nqp: minor updates
+ languages/scheme: many updates, PDD15 conformance, improved tests, use
PMCs instead of primitive registers to represent values
+ languages/tcl: bugfixes, PDD15 conformance
+ languages/WMLScript: minor updates
+ compilers/pirc: updates from PDD19, PDD06
+ compilers/pct: minor updates, PDD15 conformance
+ compilers/pge: PDD15 conformance
+ compilers/tge: PDD15 conformance
- Configuration
+ Improve test coverage
+ Improve reporting when a step fails; allow abort on failure
- Miscellaneous
+ More coding standard conformance, tests, cleanup, speedups,
warnings cleanup
+ Bug cleanup, esp. GC bugs
+ Eliminate .imc extension (use .pir)
+ Simplify some core config steps to not allow interactive prompting
- Removed
+ clear_eh opcode
Thanks to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!
From: Will Coleda
On behalf of the Parrot team, I'm proud to announce Parrot 0.4.17
"Two for Finching." Parrot (http://parrotcode.org/) is a virtual
machine aimed
at running all dynamic languages.
Parrot 0.4.17 can be obtained via CPAN (soon), or follow the
download instructions at http://parrotcode.org/source.html.
For those who would like to develop on Parrot, or help develop
Parrot itself, we recommend using Subversion or SVK on the
source code repository to get the latest and best Parrot code.
Parrot 0.4.17 News:
- Implementation
+ Bug fixes (including Coverity IDs 20, 22, 30, 119-122, 124-126,
129-131)
Also various GC, memory, and segfault issues
+ Fix & reenable CGP core
+ Parrot's -r flag now works again (compile to and execute bytecode)
+ Updates to pmc2c & PIR syntaxes
+ Fix Complex PMC
+ Minor performance improvements, especially in PGE
- Documentation
+ PDD02 "Vtables" - superceded by PDD17
+ PDD06 "PASM" - minor updates
+ PDD17 "PMC" - add VTABLE syntax, update core PMC struct, restore
UnionVal
+ PDD19 "PIR" - early review started
+ PDD21 "Namespaces" - cleanup
+ PDD24 "Events" - draft approved
+ PDD25 "Concurrency" - minor updates
+ PDD26 "AST" - draft version begun
+ PIR tutorials updated
- Languages/Compilers
+ Make scheme work with the current calling conventions, other major
work.
+ Updates to m4, lua, compilers/pirc, languages/PIR, dotnet, tcl
- Miscellaneous:
+ make -j functional again
+ Code cleanup (refactoring, optimizations)
Thanks to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!
--
Will "Coke" Coleda
will@coleda.com
From: jerry gay
On behalf of the Parrot team, I'm proud to announce Parrot 0.4.16, "A
Farewell to Alex." Parrot (http://parrotcode.org/) is a virtual
machine aimed at running all dynamic languages.
Parrot 0.4.16 can be obtained via CPAN (soon), or follow the download
instructions at http://parrotcode.org/source.html. For those who would
like to develop on Parrot, or help develop Parrot itself, we recommend
using Subversion or SVK on the source code repository to get the
latest and best Parrot code.
Parrot 0.4.16 News:
- Implementation:
+ Performed code review on every PMC
+ Modified PMC code generation to use Storable, reducing compile times
+ Added a makefile target to generate test coverage data of C sources
- Languages:
+ NQP: added lists, for loops, operators, comparison and
multiplicative operators
+ Announced Kea-CL, Kea Common Lisp, an ANSI Common Lisp implementation
The repository is available at https://rgrjr.dyndns.org/svn/kea-cl/trunk/
- Documentation
+ PDD17 "PMCs" - draft approved, the design is complete
+ Added more PIR tutorials, see examples/tutorial/00_README.pod
- Miscellaneous:
+ Many bugfixes, enhancements, documentation, and coding standard updates
+ Deprecated PMC constants and other crufty syntax, see DEPRECATED.pod
+ Improved icc compiler compatibility for error line reporting
Thanks to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!
~jerry
From: Patrick R. Michaud
On behalf of the Parrot team, I'm proud to announce Parrot 0.4.15
"Augean Stable." Parrot (http://parrotcode.org/) is a virtual
machine aimed at running all dynamic languages.
Parrot 0.4.15 can be obtained via CPAN (soon), or follow the
download instructions at http://parrotcode.org/source.html.
For those who would like to develop on Parrot, or help develop
Parrot itself, we recommend using Subversion or SVK on the
source code repository to get the latest and best Parrot code.
Parrot 0.4.15 News:
- Implementation:
+ Lots of code review, many bugs fixed
+ Many more code cleanups and compiler warning levels
+ Started a new jit engine for 64-bit processors
+ Refactored configure process, with tests and new diagnostic options
+ Added new CodeString PMC for dynamic generation of PIR code
+ More pdd15 support for object metamodel.
- Languages:
+ Added NQP ("Not Quite Perl"), a very lightweight Perl 6-like language
+ Significant improvements and refactors to PCT (Parrot Compiler Toolkit)
+ perl6 passes more spec tests
+ Lua works now with a PGE/TGE/PAST-pm based compiler, lives in one pbc,
and the interpreter has same behavior as original.
- Documentation
+ Added a committers' HOWTO
+ More PIR tutorial examples
+ Added PAUSE guide
Thanks to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!
From: jerry gay
On behalf of the Parrot team, I'm proud to announce Parrot 0.4.14
"Now, with Seat Belts!." Parrot (http://parrotcode.org/) is a virtual
machine aimed
at running all dynamic languages.
Parrot 0.4.14 can be obtained via CPAN (soon), or follow the
download instructions at http://parrotcode.org/source.html.
For those who would like to develop on Parrot, or help develop
Parrot itself, we recommend using Subversion or SVK on the
source code repository to get the latest and best Parrot code.
Parrot 0.4.14 News:
- Now, with Seat Belts!
+ added makefile targets for Sun lint, BSD lint, and splint
+ corrected many errors picked up by these tools
+ decorated source code with compiler hints, assertions, and attribute macros
+ automated creation of function declarations to prevent common errors
+ increased compiler warnings levels
+ converted more exceptions to a recoverable form
- Languages:
+ updated Lisp, Lua, Perl 6, tcl, regex, Scheme ("Pheme")
+ Perl 6 now fetches selected tests from pugs, and even passes some
+ PGE modified to handle {*} action subs for top-down and bottom-up parsers,
and to allow grammar subclassing
+ HLLCompiler now has better exception, eval, and exit support
+ Introduced PCT, a refactor of HLLCompiler and PAST-pm
- Design:
+ PDD15 "Objects" - details added to 'new' and 'getattribute' opcodes
+ PDD17 "PMCs" - notes added on instantiation and dynamic extention in PIR
- Documentation:
+ added Parrot-related text from "Perl6 and Parrot Essentials" book,
tutorial examples from "Learning PIR" talk, and PDD15 metamodel diagrams
- Implementation:
+ reduced memory footprint when using named registers
+ implemented overridding of vtable methods by PDD15 classes
+ improved PDD15 support for 'new', 'instantiate', and others
+ added makefile targets to ease core and HLL makefile regeneration
+ updated parrot debugger, "pdb", to allow loading of commands from file
- Misc:
+ many bugfixes, enhancements, documentation, and coding standard updates
Thanks to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!
~jerry
From: Darren Duncan
All,
I am pleased to announce the release of Muldis::DB version 0.0.0 for
Perl 5 on CPAN. You can see it now, with nicely HTMLized
documentation, at:
http://search.cpan.org/dist/Muldis-DB/
This is the first formal release of Muldis::DB, which began
development last year (under the temporary name of "QDRDBMS") as a
rewrite of my previously released but never functional "Rosetta"
project.
Muldis::DB is implemented as a library or open-ended framework for
use by larger frameworks or applications, and is a DBMS resource to
them. This project comes in twin Perl 5 and Perl 6 versions which
are feature identical; the former is for use in today's systems, and
the latter is for longer term use; if there is a case for doing so,
some parts may be moved to other languages later such as C.
The equivalent Perl 6 version of Muldis::DB to the CPAN release is
bundled with the "Pugs" ( http://www.pugscode.org/ ) implementation
of Perl 6, and its release to CPAN follows Pugs' schedule.
Meanwhile, you can see it in the ext/Muldis-DB/ sub-directory of
Pugs' version control.
With both initial versions, Muldis::DB has zero external dependencies
but for Perl/Pugs itself and what is bundled with it; this should
ease installation.
If you want to read all the Muldis::DB documentation that exists now,
I recommend doing so in this order:
1. http://search.cpan.org/src/DUNCAND/Muldis-DB-0.0.0/README
2. (opt) http://search.cpan.org/src/DUNCAND/Muldis-DB-0.0.0/Changes
3. http://search.cpan.org/dist/Muldis-DB/lib/Muldis/DB.pm
4. (opt) http://search.cpan.org/dist/Muldis-DB/lib/Muldis/DB/Copying.pod
5. http://search.cpan.org/dist/Muldis-DB/lib/Muldis/DB/AST.pm
6. http://search.cpan.org/dist/Muldis-DB/lib/Muldis/DB/Language.pod
7. (opt) http://search.cpan.org/dist/Muldis-DB/lib/Muldis/DB/Validator.pm
8. (opt)
http://search.cpan.org/dist/Muldis-DB/lib/Muldis/DB/Engine/Example.pm
9. http://search.cpan.org/dist/Muldis-DB/lib/Muldis/DB/SeeAlso.pod
10. (opt) http://search.cpan.org/src/DUNCAND/Muldis-DB-0.0.0/TODO
11. (opt) anything else
The "README" file above includes the urls of the public version
control systems that host the development of Muldis::DB. The Perl 5
version is hosted in a public GIT repository hosted by Sam "Mugwump"
Vilain, for which I am thankful. The Perl 6 version is hosted in the
same public Subversion repository as Pugs.
Muldis::DB defines and implements a computationally complete
programming language with integrated relational database
functionality. It is an open-ended framework with a separate
programmatic API and pluggable implementing engines, one of which is
bundled with the core so it works out of the box. The framework is
intentionally similar to the DBI framework in organization.
Muldis::DB implements a D language (named "Muldis D") as defined by
Hugh Darwen and Chris Date, and presents a superior interface for
working with the relational model of data, contrasted with SQL.
Anyone familiar with SQL or the relational model, or just programming
in general, should find it easy to learn.
One general strength of Muldis D (truly relational) over SQL
(quasi-relational) is that there is next to no object-relational
impedence mismatch since the true relational model can natively
represent user-defined complex data type structures, constraints, and
operators; there is no need for "object-relational mappers", except
for their role in tighter host language integration.
Another general strength of Muldis D is that any arbitrary business
rules can be cleanly expressed as constraints on a database, so it is
easier to trust a database to ensure its data state or transitions
are always conformant to business rules, without hoisting such
integrity matters to the application, where it is a lot more
difficult to do it reliably.
Since a D language can represent anything, a SQL database and/or SQL
features can also be emulated over one, which helps with legacy
migration; similarly, as much as is possible, existing SQL engines
can be used to implement Muldis DB over top of, in which case Muldis
DB acts as a SQL generator to access pre-existing databases in new
applications.
Conceptually speaking, Muldis::DB is either a replacement for DBI, or
a replacement for any SQL DBMS itself, depending on how you use it;
out of the box it replaces both, but plug-in bridges can be made that
bridge to either.
Taking the Perl 6 development process as a model, Muldis D has an
authoritative human-readable design document (the Language.pod file),
which is analagous to the Perl 6 Synopsis documents, and one or more
separate conforming implementations (the other files). It is very
feasible that Muldis D could have multiple implementations, over any
languages, besides the 2 (Perl 5 and Perl 6) that exist now.
More information is in the Muldis::DB documentation.
I would probably like to say that Muldis::DB would be a panacea to
all your database ills, but instead I see it more like Muldis::DB
should provide a more solid skeleton on which to build the solutions
to all your database ills than are any other solutions. I will
contribute to the solutions as best I can.
Several public email-based forums for Muldis::DB now exist (with
public archives), all of which you can reach via
http://mm.DarrenDuncan.net/mailman/listinfo (note that Mailman's
monthly password reminder email is turned off). There are currently
3, for 'announce', 'devel', 'users', modelled after the main lists
for DBI.
I invite you to join one or more of these lists (if you haven't
already), to better facilitate discussion, support, and group
development.
As of this version-zero release, Muldis-DB is officially in pre-alpha
development status. A lot of documentation and functionality is
present, but a lot isn't. What is mostly done is the higher level
documentation plus an alpha-quality but fundamentally stable public
API implementation. What is mostly undone is the reference engine
implementation, the test suite, and documentation of the API details.
What is already present should be sufficient to begin study of
Muldis-DB such that it can actually be put to use within the next few
weeks or months as Muldis-DB is fleshed out. Also, it should be
possible now to start writing code that uses or extends it.
To conclude, I would be very greatful for any and all kinds of
assistence with the Muldis::DB framework that you can provide, which
includes building or sponsoring features and extensions.
Probably the very first kind of help that I could use the most is
with writing cookbook-type examples of using Muldis::DB and/or FAQ
documents. This both helps people learn how to use it in an
effective manner, and also helps flesh out deficiencies in
Muldis::DB. Both the "how do I define this kind of database" variety
and "how do I express this SQL in Muldis D" variety are helpful.
These examples would be released as a Muldis::DB::Cookbook
distribution.
I also welcome general feedback, constructive criticism, suggestions,
corrections, and questions.
Note that I prefer any responses to happen on-list, or that you sign
up to and post to a muldis-db list (only list subscribers may post),
so that that and any replies can be for the group's benefit, and to
save me from repeating the same answers ad nauseum. Unless the
response is not suitable for public discourse, in which case, sure,
go private email; ditto if you're not sure about appropriateness.
Thank you in advance.
-- Darren Duncan
From: Allison Randal
On behalf of the Parrot team, I'm proud to announce Parrot 0.4.13
"Clifton." Parrot (http://parrotcode.org/) is a virtual machine aimed
at running all dynamic languages.
Parrot 0.4.13 can be obtained via CPAN (soon), or follow the
download instructions at http://parrotcode.org/source.html.
Parrot 0.4.13 News:
- Languages:
+ Updated Lisp, Lua, PHP ("Plumhead"), Python ("Pynie"), ABC,
WMLScript, and Tcl ("ParTcl").
+ Perl 6 passes all of the sanity tests.
+ PGE supports latest Perl 6 grammar syntax. Perl 6, Python
("Pynie"), and ABC parsers updated to match.
+ Updated PHP ("Plumhead") to Antlr 3.0.
+ Lua added the beginnings of a PGE/TGE based compiler (not yet
replacing the Perl/Yapp compiler).
+ Lisp updated for current features, added a test suite.
- Core Implementation:
+ Filled in features and backward compatibility for PDD 15 objects.
New object metamodel passes 85% of old test suite.
+ GCC API symbols are visible externally only when explicitly exported.
+ Added generated GCC compiler attributes to increase warnings, and
cleaned up resulting warnings.
+ Code cleanup efforts and fixed memory leaks by the cage cleaners,
resulting in notable speed increases.
- Misc:
+ Updated Parrot distribution to Artistic License 2.0, from dual
Artistic 1/GPL license.
+ SDL examples brought up-to-date with current features.
For those who would like to develop on Parrot, or help develop
Parrot itself, we recommend using Subversion or SVK on the
source code repository to get the latest and best Parrot code.
The next scheduled release is July 17, 2007.
Thanks to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!
Allison
From: chromatic
As I sailed into Shadow, a white bird of my desire came and sat upon my
right shoulder, and I wrote a note and tied it to its leg and sent it on
its way. The note said, "I am coming," and it was signed by me.
...
The sun hung low on my left and the winds bellied the sails and propelled
me onward. I cursed once and then laughed.
I was free and I was running, but I had made it this far. I now had the
chance I'd wanted all along.
A black bird of my desire came and sat on my left shoulder, and I wrote a
note and tied it to its leg and sent it off into the west.
It said, "Eric--I'll be back," and it was signed: "Corwin, Lord of Amber."
A demon wind propelled me east of the sun.
-- Nine Princes in Amber, Roger Zelazny
On behalf of the Parrot team, I'm proud to announce Parrot 0.4.12 "Of the
Caribbean." Parrot (http://parrotcode.org/) is a virtual machine aimed at
running all dynamic languages.
Parrot 0.4.12 can be obtained via CPAN (soon), or follow the
download instructions at http://parrotcode.org/source.html.
For those who would like to develop on Parrot, or help develop
Parrot itself, we recommend using Subversion or SVK on the
source code repository to get the latest and best Parrot code.
The next release will take place on 19 June 2007.
Parrot 0.4.12 News:
- Build:
+ even more refactorings and improvements in configuration system
+ improved tests and documentation for configuration system
- Languages:
+ Updated abc, PHP ("Plumhead"), Lua, Tcl
+ Reclaimed Lisp
- Design:
+ new PMC PDD draft partially completed
- Implementation:
+ continued implementation of PDD 15 (Objects)
+ minor garbage collector and memory management improvements
+ several memory leaks resolved
+ extended support for compilers other than GCC
+ improved C++ compiler compatibility
+ enhanced support for Solaris, non-MSVC Win32, and other platforms
Thanks to all our contributors for making this possible, and our
sponsors for supporting this project.
Enjoy!