@@ -41,8 +41,8 @@ features were already implemented in 6.c compiler, due to the lack (at the
41
41
time) of the infrastructure to support separate language versions. Thus, when
42
42
6.d is released, you may find you were already using many of the new features.
43
43
44
- = head2 As a Perl 6 user, what should I install?
45
44
X < |Rakudo Star (FAQ) >
45
+ = head2 As a Perl 6 user, what should I install?
46
46
47
47
Mac users can use the latest Rakudo Star DMG binary installer at
48
48
L < http://rakudo.org/downloads/star >
@@ -60,8 +60,8 @@ Rakudo release of 2015.12 should be avoided.
60
60
There's an official Rakudo Star docker image at
61
61
L < https://hub.docker.com/_/rakudo-star/ >
62
62
63
- = head2 As an advanced user I want to track Rakudo development.
64
63
X < |rakudobrew (FAQ) >
64
+ = head2 As an advanced user I want to track Rakudo development.
65
65
66
66
An option is to clone L < the repository|https://github.com/rakudo/rakudo > and
67
67
L < build from source|https://github.com/zoffixznet/r#table-of-contents > .
@@ -120,15 +120,15 @@ There are several B<5to6-> guides in the L<Language section of the
120
120
documentation|https://docs.perl6.org/language.html > , most notable of which
121
121
is the L < 5to6-nutshell|https://docs.perl6.org/language/5to6-nutshell > guide.
122
122
123
- = head2 I'm a Ruby programmer looking for quickstart type docs?
124
123
X < |Ruby (FAQ) >
124
+ = head2 I'm a Ruby programmer looking for quickstart type docs?
125
125
126
126
See the L < rb-nutshell|https://docs.perl6.org/language/rb-nutshell > guide.
127
127
128
128
= head1 Modules
129
129
130
- = head2 Is there a CPAN (repository of third party library modules) for Perl 6?
131
130
X < |CPAN (FAQ) > X < |ecosystem >
131
+ = head2 Is there a CPAN (repository of third party library modules) for Perl 6?
132
132
133
133
Yes, it's the same L < CPAN|http://cpan.org/ > as for Perl 5! The only difference
134
134
is when using L < PAUSE|http://pause.perl.org/ > to upload the module, you'd select
@@ -144,21 +144,21 @@ L<modules.perl6.org website|https://modules.perl6.org/> (temporarily, it's
144
144
available as a
145
145
L < raw JSON file|https://github.com/ugexe/Perl6-ecosystems/blob/master/cpan.json >
146
146
147
- = head2 Is there a perldoc (command line documentation viewer) for Perl 6?
148
147
X < |p6doc (FAQ) >
148
+ = head2 Is there a perldoc (command line documentation viewer) for Perl 6?
149
149
150
150
Yes, it's called p6doc and is present in the ecosystem under that name. It's
151
151
present in Rakudo Star but you will need to install it using the monthly
152
152
release.
153
153
154
- = head2 Can I use Perl 5 modules from Perl 6?
155
154
X < |Perl 5 modules (FAQ) >
155
+ = head2 Can I use Perl 5 modules from Perl 6?
156
156
157
157
Yes, with L < Inline::Perl5|https://github.com/niner/Inline-Perl5/ > , which works
158
158
well with most Perl 5 modules. It can even run Perl 5 Catalyst and DBI.
159
159
160
- = head2 Can I use C and C++ from Perl 6?
161
160
X < |C and C++ (FAQ) >
161
+ = head2 Can I use C and C++ from Perl 6?
162
162
163
163
L < Nativecall|https://docs.perl6.org/language/nativecall > makes this
164
164
particularly easy.
@@ -168,9 +168,9 @@ particularly easy.
168
168
This is commonly seen on Debian-like systems. You need to install C < libfoo-dev >
169
169
package, to set a sym link for the missing file.
170
170
171
- = head2 Where have all the traditional UNIX library functions gone?
172
171
X < |UNIX library functions (FAQ) >
173
172
X < |POSIX (FAQ) >
173
+ = head2 Where have all the traditional UNIX library functions gone?
174
174
175
175
It's very easy to use Nativecall to access them.
176
176
@@ -196,16 +196,16 @@ The target C<optimize> gives the AST after the static optimizer did its job,
196
196
while target C < ast > gives the AST before that step. To get the full list of
197
197
available targets, run C < perl6 --stagestats -e "" >
198
198
199
- = head2 What is Precompilation?
200
199
X < |Precompile (FAQ) >
200
+ = head2 What is Precompilation?
201
201
202
202
When you load a module for the first time, Rakudo compiles it into bytecode,
203
203
and both stores it on disk, and uses the compiled bytecode. On subsequent
204
204
loads, Rakudo prefers to load the bytecode, because that tends to be
205
205
significantly faster.
206
206
207
- = head2 Can I have circular dependencies between modules?
208
207
X < |Circular dependencies (FAQ) >
208
+ = head2 Can I have circular dependencies between modules?
209
209
210
210
No, you can't have circular dependencies, and you should
211
211
get C < Circular module loading detected > error if you try it.
@@ -229,9 +229,9 @@ classes into the same compilation unit.
229
229
230
230
= head1 Language Features
231
231
232
+ X < |Data::Dumper (FAQ) >
232
233
= head2 How can I dump Perl 6 data structures
233
234
(like Perl 5 Data::Dumper and similar)?
234
- X < |Data::Dumper (FAQ) >
235
235
236
236
Typical options are to use L < say > routine that uses L < gist > method that
237
237
gives the "gist" of the object being dumped. More detailed output can be
@@ -378,8 +378,8 @@ Example of a definite return value:
378
378
379
379
In this case, the final value is thrown away because the return value is already specified.
380
380
381
- = head2 How can I extract the values from a Junction?
382
381
X < |Junction (FAQ) >
382
+ = head2 How can I extract the values from a Junction?
383
383
384
384
If you want to extract the values (eigenstates) from a
385
385
L < Junction|/type/Junction > , you are probably doing something wrong and
@@ -466,8 +466,8 @@ on an expression, and item context (not flattening) with C<$( ... )>
466
466
or by calling the C < .item > method on an expression.
467
467
468
468
469
- = head2 Why sigils? Couldn't you do without them?
470
469
X < |sigils (FAQ) >
470
+ = head2 Why sigils? Couldn't you do without them?
471
471
472
472
There are several reasons:
473
473
@@ -494,8 +494,8 @@ hash key. Use a closure to help it to understand you.
494
494
my $foo = "abc";
495
495
say "{$foo}<html-tag>";
496
496
497
- = head2 Does Perl 6 have coroutines? What about C < yield > ?
498
497
X < |coroutine (FAQ) >
498
+ = head2 Does Perl 6 have coroutines? What about C < yield > ?
499
499
500
500
Perl 6 has no C < yield > statement like Python does, but it does offer similar
501
501
functionality through lazy lists. There are two popular ways to write
@@ -660,8 +660,8 @@ string|/type/Match>.
660
660
661
661
C < OpaquePointer > is deprecated and has been replaced with C < Pointer > .
662
662
663
- = head1 Perl 6 Implementation
664
663
X < |Perl 6 Implementation (FAQ) >
664
+ = head1 Perl 6 Implementation
665
665
666
666
= head2 What Perl 6 Implementations are available?
667
667
@@ -677,8 +677,8 @@ Quite Perl"). NQP is a lightweight Perl 6-like environment for virtual
677
677
machines; it's designed to be a high-level way to create compilers and
678
678
libraries for virtual machines (such as MoarVM and JVM) using Perl 6 syntax.
679
679
680
- = head2 What language is NQP written in?
681
680
X < |NQP (FAQ) >
681
+ = head2 What language is NQP written in?
682
682
683
683
NQP is a mixture of (1) NQP code, (2) whatever language the underlying virtual
684
684
machine is using, (3) some third-party C and Java libraries, and (4) some
0 commit comments