- Perl 6 Deep Dive
- Andrew Shitov
- 361字
- 2021-07-03 00:05:41
Origins of Perl 6
Perl 6 is a programming language from the Perl family. Perl itself emerged in 1987 and since then, it is constantly evolving: its current stable version is 5.26, which was released in May 2017. In 2000, Larry Wall, the creator of Perl, proposed to start working on the next version of the language—Perl 6.
There were a few reasons for that. First, a language should continue developing to reflect the new requirements of developers. Second, it may change the perception of Perl in the non-Perl community. The version 5.0 appeared in 1993 and despite that, the language has continued developing. The major version number was still 5 and in the eyes of many people, it meant that Perl was stalled since 1993. The new major version update would refresh the perception.
The idea was to make Perl 6 "the community rewrite of Perl". Larry asked the community to share what bits of Perl they wanted to change. That call for changes resulted in 361 RFC (Request for Comments) documents, which are published at https://perl6.org/archive/rfc/. These documents are only of historical interest as of today.
Later, the various proposals were systematically analyzed, grouped together by similar topics and published as a series of Synopses. The naming and numbering principle behind those documents were to keep the structure of the chapters of the Programming Perl book.
Later, Synopses were once again summarized and explained in a set of documents called Apocalypses and Exegeses. All these papers are available today at http://design.perl6.org, but again, they are not the final specification of the language, only a collection of historical documents.
Another important idea about Perl 6 was about the way compilers are created. In Perl 5, the language rules are indirectly defined by the single available compiler. Some bugs, or not obvious behavior of the compiler, may be considered as part of the language standard. In Perl 6, it was decided to have a clear language specification, and no reference compiler. There can be more than one compiler. The main requirement for them is implementing the specification and passing the set of tests.
- Java范例大全
- 程序員面試筆試寶典
- C# 從入門到項目實踐(超值版)
- Ray分布式機器學習:利用Ray進行大模型的數據處理、訓練、推理和部署
- UI智能化與前端智能化:工程技術、實現方法與編程思想
- Learning ArcGIS Pro
- 假如C語言是我發明的:講給孩子聽的大師編程課
- The Data Visualization Workshop
- Kali Linux Wireless Penetration Testing Beginner's Guide(Third Edition)
- Windows Server 2016 Automation with PowerShell Cookbook(Second Edition)
- TradeStation交易應用實踐:量化方法構建贏家策略(原書第2版)
- Mastering JavaScript Design Patterns(Second Edition)
- Procedural Content Generation for C++ Game Development
- OpenStack Networking Essentials
- PrimeFaces Blueprints