Subject:      ANNOUNCE: perl 6 released
From:         John Macdonald <[EMAIL PROTECTED]>
Date:         1997/07/21
Message-Id:   <[EMAIL PROTECTED]>
References:   <5h3d45$mn3$[EMAIL PROTECTED]>
Organization: InterLog Internet Services
Reply-To:     [EMAIL PROTECTED]
Newsgroups:   comp.lang.perl.modules


Perl 6 released!

It is with great pride that we announce the release of perl
6.  This landmark issue will end forever the language wars
where some people try to argue that some other language has
a small niche in which it has an advantage over perl.

Features of this new release include:

    - Unicode extension

        Unicode can now be used at all levels of the
        language.

        [Larry Wall: "We kept running out of single character
        variable names.  Now there are enough new characters to
        satisfy our needs for decades, or at least for years."]

        [Randall Schwartz: "JAPH!  Just say 'Oh my, yes!'"]

        For the moment, support for some less common scripts is
        limited.  (Included are Egyptian hieroglyphs and the
        Sumerian, Babylonian, and Assyrian cuneiform, but there
        are some limitations in support for Akkadian [not
        Acadian, Acadian french is fully supported], Linear B,
        Klingon, and Ogham.  Still under development are Quenya,
        Sindarin, and Tengwar runes.) We are looking for people
        with daily colloquial experience in these languages to
        help us refine this support.

        Recently completed was support for Vorlon, Minbari,
        Centauri, and Narn.  Some of our porting assistants had
        some comments.

        [Kosh: "You are not yet ready for multithreading."]

        [Delenn: "I would never generate a warning that was not
        in your best interest."]

        [Vir: "The program has become one with its inner self."
        Lennier: "It's dumped core."
        Vir: "That too."]

        [G'Kar: "You will know pain, and you will know fear, and
        then you will die()."]

        [Jeffrey Sinclair: "Perl 5: Our last, best hope for
        portable programming."]

        [Scotty: "Captain, the Universal Translator is
        off-line.  The computer is upset about losing another
        game of 3D chess to Mr. Spock.  I canna fix it until I
        reinstall perl 666 from backup."]

        [Geordi LaForge: "This is the best piece of code I've
        never laid eyes on."]

        [Intel of Borg: "Division is futile. You will be
        approximated."]

        [Marvin: "Where's the kaboom module?  I'll write the
        'space' module later."]

    - DWIM support

        If you invoke a function that is in the library,
        then perl will automatically generate the "use"
        statements to include that library module, and
        insert the right values into the argument list for
        you.  If it is not in the library, then perl will
        write it for you.

        [Andy Dougherty: "Well, I needed it for Configure,
        anyhow.  It was only a bit more work to generalize
        it for perl."]

        [Tim Bunce: "I was getting tired of choosing
        sensible names for the module list.  Now, you'll be
        able to use whatever name makes the most sense to
        you.  TMTOWTDI."]

        Used in conjunction with the Unicode extension, this
        module can understand languages other than English.
        However, this release only provides support for English,
        French, German, Finnish, Japanese, Hebrew, and
        American.  For the moment, speech recognition of these
        languages is limited to the upcoming MacPerl release.
        The Newton and Pilot ports will shortly provide
        handwriting recognition.  Windows CE support for voice
        recognition will be available in a few months and that
        can be used as a front end to provide speech recognition
        on older systems as long as they have a compatible
        keyboard connector.  Eventually there will be a
        convertor that permits the CE keyboard connector output
        to be turned into RS-232 for wider compatibility on
        obscure non-Intel platforms.  The working third release
        is scheduled to come out 1Q00.

        [Matthias Neeracher: This is not a joke.]

        In addition to supporting human languages, this module
        also supports computer languages.  Initially, there is
        support provided for Fortran, COBOL, LISP, Pascal, APL,
        Visual Basic, Java, Python, TCL, Smalltalk, and ADA.
        Translating to perl provides better compression than
        gzip.  (Well, for APL, it increases the size of most
        programs, but perl still usually outperforms gzip.  This
        is especially true of large programs of two or more
        lines.)

    - JIT Compiler

        Included with the source distribution is a bytecode
        compiled copy of all of your existing programs.
        Most programs compile into just a single Unicode
        character.

        [Malcolm Beattie: "I couldn't get the compiled C
        code version for every possible target platform to
        fit within the distribution.  Maybe next time.  I am
        reasonably content with the Unicode optimzer, though
        for next release I intend to get at least 5 programs
        into each character."]

        [Tom Christiansen: "Now I can use one letter replies
        to questions, instead of the more expensive four
        letter messages I've had to resort to in the past."]

    - regular expression extensions

        As with all previous release, we break new ground in
        perl's support of regular exressions.  The physics
        community has contributed support for regular
        expressions that match in up to 20 dimensions.  It was
        initially developed at the Jet Propulsion Labratory to
        do some calculations for a theoretical FTL manifold that
        would extend ramjet capabilities beyond the maximum
        possible with conventional designs which are limited by
        the speed of light.

    - the stupid module

        For those programmers who are getting tired of writing
        perfect code, there is a new module "stupid.pm" which
        selects the least obvious of possible interpretations of
        ambiguous constructs.  A new keyword "be" has been added
        as well, so that instead of having to say "use
        'stupid';" you can instead write the more grammatically
        correct form of "be 'stupid';".  The "be" keyword is a
        synonym for the "use" keyword normally, but after you
        have invoked "be 'stupid';", the "be" keywork will use
        reverse the order of the INC list as it searches it.
        That automatically caches the most recently used library
        at the front of the list.  For backward compatibility,
        this reversal will not happen after "use 'stupid';".

    - Genome project retrovirus

        Because perl has been so valuable for genome mapping,
        the biology community has provided an extension in
        return.  Any perl program that imports the genome.pl
        extension will be able to search for other perl programs
        and merge parts of the code from any program it finds
        into the original program.  When it has enough extra
        code, it spawns off a child process.  This module can
        take advantage of the Net::* modules, so it is not
        limited to a single machine.

        Some obvious extensions are currently under development:

            - the existing MacPerl interface to the Apple
                QuickCam is being merge with the genome
                mechanisms to provide a genetically engineered
                photographic memory

            - the thread module will soon be merged with it to
                provide enhanced support for real cloning (do
                not confuse this with various operations called
                cloning in some operating systems - they do not
                normally work on DNA-based lifeforms)

    - other extensions
        - numeric forms
            As well as the existing decimal (123), octal (0123),
            hex (0x123), and binary (0b1010011) notations, a new
            roman notation has been added (0rcxxiii).  This will
            be most heavily used in date manipulations.
        - as well as the traditional structured statement forms,
                some additional destructured statement forms
                have been added.
            - come from LABEL (the inverse of goto)
            - goto LABEL step 5 (from COBOL 98, execute every
                5'th statement while goto'ing the label)
        - halting problem solved
            - the halting problem has proved to be a significant
                concern for business programs, this release
                provides a guarantee that all programs will halt
                (it was actually not too hard to solve this
                seemingly intractable problem - we just added an
                exponential backoff control on all memory leak
                code fixes)
        - starting problem solved
            - systems in northern areas sometimes have difficulty
                starting in cold weather, but the sun module has
                usually proved to assist greatly for these users
        - speed problem solved
            - some speed enhancements to the previous release
                had been too effective.  People were discovering
                that they had to use four or more exit
                statements to actually terminate their programs
                when the interpretor was using multiple
                threads.  A new exit_all statement has been
                added to cause all threads to terminate within
                three instructions.
        - the 5.013 astronomy module has been extended with the
            new linguistic support to not only track but also to
            contact the residents of Hale-Bopp.  This is
            especially timely as Hale-Bopp is currently at its
            brightest.
        - the extended computer language translation support, in
            conjunction with the DWIM threatens to put many
            consulting companies out of business as it has
            almost totally automated year 2000 conversion; and
            the genome extension has provided the unstoppable
            delivery mechanism for this conversion.  We
            apologise for the problems that arose during the
            beta testing period.  The New York Stock Exchange
            expects to be back on-line within the week.  All
            nuclear reactor facilities that still had computer
            systems were in normal operational order yesterday.

Implementation

    This new release is a total re-write of perl.  It was
    written using Python to prototype the code, and with Visual
    Basic as the final implementation language.  It is fully
    binary compatible with extensions compiled for perl 5, so
    there should be no difficulty in upgrading for all but the
    most conservative sites (and they're mostly still running
    perl 4 anyhow).

Organizational note

    Because of the recent special development support assistance
    from Microsoft, perl 6 will initially be only released for
    Windows 97.  There will be time-limited demo versions
    avaiable for many other systems.  In a releated note, all of
    Microsoft's products will henceforth publish displayable
    output in POD format only, but the traditional pod
    translators will still be available to convert to other
    formerly common formats (e.g.  *roff, HTML, SGML, ed, X, and
    MacWrite).

    Due to some technical difficulties, the source code is not
    available at the current time.  However, as soon as the
    re-write of Windows NT into perl is complete, its source
    code will be made freely available under either the GNU
    public licence or the artistic license.  (There may be a
    delay until the lawsuit from ACTRA is sorted out.  They
    object to the use of "artistic" and "Microsoft" in the same
    document.)

    In honour of the expected release of the source code,
    Microsoft is adopting the new advertising slogan "Free the
    Microsoft Office 97".

Availability

    You can download a copy from:

        <ftp:apr.one.com/perl/packages/perl6/perl6_000.tar.gz>

    The received file should look like:

        --w--w--w-   1 perl     perl    95672183 Apr  1 2015  perl6_000.tar.gz

    And an md5 checksum:

        segment fault: core dumped


Reply via email to