Punie

Last updated

Punie is a compiler created as a test case for the Parrot virtual machine. Its goal is to compile Perl v1 code and thereby exercise Parrot's compiler tools.

Parrot is a register-based process virtual machine designed to run dynamic languages efficiently. It is possible to compile Parrot assembly language and PIR to Parrot bytecode and execute it. Parrot is free and open source software.

Perl interpreted programming language

Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" usually refers to Perl 5, but it may also refer to its redesigned "sister language", Perl 6.

Contents

Status

The project is championed by Allison Randal, though several other Parrot hackers have contributed to the project. As of the release of Parrot 0.5.1 on Perl's 20th anniversary, Punie was capable of running almost the entire Perl 1 test suite successfully.

Allison Randal Computer writer

Allison Randal is a software developer and author. She was the chief architect of the Parrot virtual machine, a member of the board of directors for The Perl Foundation, a director of the Python Software Foundation from 2010 to 2012, and the chairman of the Parrot Foundation. She is also the lead developer of Punie, the port of Perl 1 to Parrot. She is co-author of Perl 6 and Parrot Essentials and the Synopses of Perl 6. She was employed by O'Reilly Media. From August 2010 till February 2012, Randal was the Technical Architect of Ubuntu at Canonical.

Name

The name Punie is a pun on the Ponie project (an implementation of Perl 5 running on Parrot), on "uni" meaning "1" (Perl 1), and on "puny" meaning something small. The name was first suggested for an implementation of Perl 1 on Parrot by Allison Randal and chromatic in a late-night hacking session in August 2003. It narrowly missed being named Penie. [1]

chromatic (programmer) American computer programmer

chromatic is a writer and free software programmer best known for his work in the Perl programming language. He lives in Hillsboro, Oregon, United States. He wrote Extreme Programming Pocket Guide, co-wrote of Perl Testing: A Developer's Notebook, is lead author of Perl Hacks, and an uncredited contributor to The Art of Agile Development. He has a music degree. He has contributed to CPAN, Perl 5, Perl 6, and Parrot.

Related Research Articles

The Artistic License is a software license used for certain free and open-source software packages, most notably the standard implementation of the Perl programming language and most CPAN modules, which are dual-licensed under the Artistic License and the GNU General Public License (GPL).

The Comprehensive Perl Archive Network (CPAN) is a repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors. CPAN can denote either the archive network itself, or the Perl program that acts as an interface to the network and as an automated software installer. Most software on CPAN is free and open source software. CPAN was conceived in 1993 and active online since October 1995. It is based on the CTAN model and began as a place to unify the structure of scattered Perl archives.

In software development, obfuscation is the deliberate act of creating source or machine code that is difficult for humans to understand. Like obfuscation in natural language, it may use needlessly roundabout expressions to compose statements. Programmers may deliberately obfuscate code to conceal its purpose or its logic or implicit values embedded in it, primarily, in order to prevent tampering, deter reverse engineering, or even as a puzzle or recreational challenge for someone reading the source code. This can be done manually or by using an automated tool, the latter being the preferred technique in industry.

Regular expression Sequence of characters that forms a search pattern

A regular expression, regex or regexp is a sequence of characters that define a search pattern. Usually this pattern is used by string searching algorithms for "find" or "find and replace" operations on strings, or for input validation. It is a technique developed in theoretical computer science and formal language theory.

Randal L. Schwartz American programmer and technology writer

Randal L. Schwartz, also known as merlyn, is an American author, system administrator and programming consultant.

A backdoor is a method, often secret, of bypassing normal authentication or encryption in a computer system, a product, or an embedded device, or its embodiment, e.g. as part of a cryptosystem, an algorithm, a chipset, or a "homunculus computer" —a tiny computer-within-a-computer. Backdoors are often used for securing remote access to a computer, or obtaining access to plaintext in cryptographic systems. The backdoor may be used to gain access to passwords, delete data on hard drives, or transfer information within the cloud.

Perl 6 sixth major version of the Perl programming language

Perl 6 is a member of the Perl family of programming languages.

A penetration test, colloquially known as a pen test, is an authorized simulated cyberattack on a computer system, performed to evaluate the security of the system. The test is performed to identify both weaknesses, including the potential for unauthorized parties to gain access to the system's features and data, as well as strengths, enabling a full risk assessment to be completed.

Advanced Perl Programming is a 1997 book by Sriram Srinivasan which covers complex techniques needed in production level Perl.

Pugs is a compiler and interpreter for the Perl 6 programming language, started on February 1, 2005, by Audrey Tang.

Syntax (programming languages) in programming languages

In computer science, the syntax of a computer language is the set of rules that defines the combinations of symbols that are considered to be a correctly structured document or fragment in that language. This applies both to programming languages, where the document represents source code, and markup languages, where the document represents data. The syntax of a language defines its surface form. Text-based computer languages are based on sequences of characters, while visual programming languages are based on the spatial layout and connections between symbols. Documents that are syntactically invalid are said to have a syntax error.

Rakudo Perl 6 Implementation of Perl 6 targeting various virtual machines

Rakudo Perl 6 is a Perl 6 compiler targeting MoarVM, and the Java Virtual Machine, that implements the Perl 6 specification. It is currently the only major Perl 6 compiler in active development.

Padre (software) software development platform

Padre is a multi-language software development platform comprising an IDE and a plug-in system to extend it. It is written primarily in Perl and is used to develop applications in this language.

The Perl virtual machine is a stack-based process virtual machine implemented as an opcodes interpreter which runs previously compiled programs written in the Perl language. The opcodes interpreter is a part of the Perl interpreter, which also contains a compiler in one executable file, commonly /usr/bin/perl on various Unix-like systems or perl.exe on Microsoft Windows systems.

The following outline is provided as an overview of and topical guide to the Perl programming language:

Amavis is an open-source content filter for electronic mail, implementing mail message transfer, decoding, some processing and checking, and interfacing with external content filters to provide protection against spam and viruses and other malware. It can be considered an interface between a mailer and one or more content filters.

References

  1. A rose by any other name... (#13961) Archived 2011-06-05 at Archive.is , Journal of Allison (3003), Wednesday August 06, 2003