-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.html
125 lines (97 loc) · 5.67 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">@import 'doc.css';</style>
<title>This Perl Goes To 11</title>
</head>
<body>
<h1>Welcome To Perl11.org...<br><br>5 + 6 == 11!</h1>
<br>
<h1>MAJOR NEWS 10/14/19: Perl 6 has <a href="https://github.com/perl6/problem-solving/issues/81" target="_blank">been</a> <a href="https://github.com/perl6/problem-solving/pull/89" target="_blank">officially</a> <a href="https://github.com/perl6/problem-solving/blob/master/solutions/language/Path-to-Raku.md" target="_blank">renamed</a> to "Raku"!</h1>
<center><img src="this_perl_goes_to_11.jpg" align="center"></center>
<p>Perl 11 is not (yet) an actual version of Perl; rather, Perl 11 is currently a philosophy with 3 primary tenets:</p>
<ul>
<li>1. Pluggability Of Perl On All Levels</li>
<li>2. Reunification Of Perl <span class="strike">5</span> & <span class="strike">Perl 6</span> Raku</li>
<li>3. Faster Runtime Performance</li>
</ul>
<p>Perl 11 promotes ideas which will make Perl <span class="strike">5</span> pluggable at the following levels:</p>
<ul>
<li>Runtime Virtual Machine</li>
<li>Compilation Unit Format / AST</li>
<li>Source Code Syntax / Compilers</li>
</ul>
<p>
This will open up the doors to many kinds of language / technology
experimentation, without endangering the existing Perl <span class="strike">5</span> / CPAN code bases
that we depend on every day.
</p>
<p>
Pluggable VMs would be parrot, p2, JVM or .NET running Perl <span class="strike">5</span> and <span class="strike">Perl 6</span> Raku</li> code. 5 + 6 == 11!
</p>
<h2>Perl 11 Projects</h2>
<p>The following projects are important in reaching the vision of Perl 11:</p>
<h3>RPerl</h3>
<p>A Restricted Perl by Will Braswell which translates a medium-magic subset of Perl <span class="strike">5</span> into C/C++ using Inline::C and Inline::CPP</p>
<ul>
<li><a href="http://www.rperl.org/">rperl.org</a></li>
</ul>
<h3>cperl</h3>
<p>cperl is an improved variant of Perl <span class="strike">5</span>, running all of Perl <span class="strike">5</span> and CPAN code. With many <span class="strike">Perl 6</span> Raku</li> features, just faster.<br>Faster than Perl <span class="strike">5</span> and <span class="strike">Perl 6</span> Raku</li>. It is stable and usable, but still in development with many more features being added soon.</p>
<ul>
<li><a href="cperl/">perl11.github.io/cperl/</a></li>
<li><a href="cperl/STATUS.html">STATUS</a></li>
</ul>
<h3>WebPerl</h3>
<p>WebPerl is a port of the entire Perl <span class="strike">5</span> interpreter running inside a modern web browser.
<br>WebPerl is compiled using clang/LLVM/Emscripten targeting WebAssembly, and can replace JavaScript as a client-side execution platform, complete with XS support!</p>
<ul>
<li><a href="https://webperl.zero-g.net/">webperl.zero-g.net</a></li>
</ul>
<h3>p2</h3>
<p>p2 by Reini Urban was the attempt to be a fast, small perl11 (5+6 and more) using the potion vm.</p>
<ul>
<li><a href="http://perl11.github.io/p2/">perl11.github.io/p2</a></li>
</ul>
<h3>potion</h3>
<p>potion is the VM behind p2, a small fast language, written by _why's,
based on lua, io and others.</p>
<ul>
<li><a href="http://perl11.github.io/potion/">perl11.github.io/potion</a></li>
</ul>
<h3>Perlito</h3>
<p>Perlito by Flavio Glock is a source level compiler for translating Perl <span class="strike">5</span> and <span class="strike">Perl 6</span> Raku</li> to Javascript and other backends.</p>
<ul>
<li><a href="https://github.com/fglock/Perlito">GitHub</a></li>
</ul>
<h3>Larry's <span class="strike">Perl 6</span> Raku</li> standard grammar</h3>
<p>perl6/std with the viv metacompiler contains the canonical <a href="https://github.com/perl6/std/blob/master/STD.pm6"><span class="strike">Perl 6</span> Raku</li> grammar</a>
and now also a <a href="https://github.com/perl6/std/blob/master/STD_P5.pm6">Perl <span class="strike">5</span> grammar</a>. Written in <span class="strike">Perl 6</span> Raku</li>, interpreted and compiled
in Perl <span class="strike">5</span> (via <a href="https://github.com/perl6/std/blob/master/viv">viv</a>).</p>
<ul>
<li><a href="https://github.com/perl6/std/">perl6/std</a></li>
</ul>
<h3>gperl</h3>
<p>gperl by Masaaki Goshima compiles to heavily optimized LLVM and is ~3x faster than p2. Currrently it is being decoupled to different Perl <span class="strike">5</span> compiler modules.</p>
<ul>
<li><a href="https://github.com/goccy/gperl">GitHub</a></li>
</ul>
<h3>Seis and pviv</h3>
<p>Seis is a project by Tokuhiro Matsuno to try some <span class="strike">Perl 6</span> Raku</li> extensions in Perl <span class="strike">5</span>.<br>
pviv is a <span class="strike">Perl 6</span> Raku</li> grammar written in greg, which compiles to an AST and will be used as the <span class="strike">Perl 6</span> Raku</li> grammar for p2.</p>
<ul>
<li><a href="https://github.com/perl-seis/Seis">GitHub</a></li>
</ul>
<h3>SPVM</h3>
<p>SPVM by Yuki Kimoto, a fast & small virtual machine with Perl'ish syntax.</p>
<ul>
<li><a href="https://metacpan.org/pod/SPVM">CPAN</a></li>
<li><a href="https://github.com/yuki-kimoto/SPVM">GitHub</a></li>
</ul>
<h2>Perl 11 Links</h2>
<ul>
<li><a href="http://cloudforfree.org/">CloudForFree.org</a> Runs RPerl</li>
<li><a href="http://austin.pm/">Austin Perl Mongers</a> Supports Perl 11</li>
</ul>
</body>
</html>