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