/
00-running.pod
128 lines (89 loc) 路 5.11 KB
/
00-running.pod
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
126
127
128
=begin pod
=TITLE Perl 6
=SUBTITLE perl6 - the Rakudo Perl 6 Compiler
=head1 SYNOPSIS
perl6 [switches] [--] [programfile] [arguments]
=head1 DESCRIPTION
With no arguments, enters a REPL. With a C<[programfile]> or the C<-e>
option, compiles the given program and by default also executes the
compiled code.
=begin code
Option Purpose
====== ==============================================
-c check syntax only (runs BEGIN and CHECK blocks)
--doc extract documentation and print it as text
-e program one line of program, strict is enabled by default
-h, --help display this help text
-n run program once for each line of input
-p same as -n, but also print $_ at the end of lines
-I path adds the path to the module search path
-M module loads the module prior to running the program
--target=[stage] specify compilation stage to emit
--optimize=[level] use the given level of optimization (0..3)
--encoding=[mode] specify string encoding mode
-o, --output=[name] specify name of output file
-v, --version display version information
--stagestats display time spent in the compilation stages
--ll-exception display a low level backtrace on errors
--profile write profile information as HTML file (MoarVM)
--profile-filename provide a different filename (also allows .json)
--doc=[module] Use Pod::To::[module] to render inline documentation.
Note that only boolean single-letter options may be bundled.
=end code
The supported values for C<--target> are:
=begin table
Target | Backend | Description
=========|=========|================================================
parse | all | a representation of the parse tree
ast | all | an abstract syntax tree (before optimizations)
optimize | all | an abstract syntax tree (after optimizations)
mbc | MoarVM | MoarVM byte code
jar | JVM | JVM archive
=end table
For C<--profile-filename>, specifying a name ending in C<.json> will write a raw JSON profile dump.
The default if this is omitted is C<profile-I<[timestamp]>.html>.
=head1 ENVIRONMENT VARIABLES
Rakudo's behavior can be tweaked by a (growing) number of environment variables; this section
attempts to document all those currently in use.
=head2 Module Loading
=item C<RAKUDOLIB>, C<PERL6LIB> (I<Str>; C<src/core/Inc.pm>)
Appends a comma-delimited list of paths to C<@INC>. C<RAKUDOLIB> is evaluated first.
=defn C<RAKUDO_MODULE_DEBUG> (I<Bool>; C<src/Perl6/ModuleLoader.pm>)
Causes the module loader to print debugging information to standard error.
=head2 Error Message Verbosity and Strictness
=defn C<RAKUDO_NO_DEPRECATIONS> (I<Bool>; C<src/core/Deprecations.pm>)
If true, suppresses deprecation warnings triggered by the C<is DEPRECATED> trait.
=defn C<RAKUDO_DEPRECATIONS_FATAL> (I<Bool>; C<src/core/Deprecations.pm>)
If true, deprecation warnings become thrown exceptions.
=defn C<RAKUDO_VERBOSE_STACKFRAME> (I<UInt>; C<src/core/Backtrace.pm>)
Displays source code in stack frames surrounded by the specified number of lines of context.
=defn C<RAKUDO_BACKTRACE_SETTING> (I<Bool>; C<src/core/Backtrace.pm>)
Controls whether .setting files are included in backtraces.
=head2 Affecting Precompilation
=defn C<RAKUDO_PREFIX> (I<Str>; C<src/core/CompUnit/RepositoryRegistry.pm>)
When this is set, Rakudo will look for the standard repositories (perl, vendor, site) in the
specified directory. This is intended as an escape hatch for build-time bootstrapping issues,
where Rakudo may be built as an unprivileged user without write access to the runtime paths
in NQP's config.
=defn C<RAKUDO_PRECOMP_DIST> (C<src/core/CompUnit/PrecompilationRepository.pm>)
=defn C<RAKUDO_PRECOMP_LOADING> (C<src/core/CompUnit/PrecompilationRepository.pm>)
=defn C<RAKUDO_PRECOMP_WITH> (C<src/core/CompUnit/PrecompilationRepository.pm>)
These are internal variables for passing serialized state to precompilation jobs in child processes.
Please do not set them manually.
=head2 Other
=defn C<RAKUDO_ERROR_COLOR> (I<Bool>; C<src/core/Exception.pm>)
Controls whether to emit ANSI codes for error highlighting. Defaults to true if unset, except on
Win32.
=defn C<RAKUDO_MAX_THREADS> (I<UInt>; C<src/core/ThreadPoolScheduler.pm>)
Override the default maximum number of threads used by a thread pool.
=defn C<TMPDIR>, C<TEMP>, C<TMP> (I<Str>; C<src/core/IO/Spec/>)
The C<IO::Spec::Unix.tmpdir> method will return C<$TMPDIR> if it points to a directory with full
access permissions for the current user, with a fallback default of C<'/tmp'>.
C<IO::Spec::Cygwin> and C<IO::Spec::Win32> use more Win32-appropriate lists which also include the
C<%TEMP%> and C<%TMP%> environment variables.
=defn C<PATH>, C<Path> (I<Str>; C<src/core/IO/Spec/>)
The C<IO::Spec::Unix.path> method splits C<$PATH> as a shell would; i.e. as a colon-separated list.
C<IO::Spec::Cygwin> inherits this from C<IO::Spec::Unix>.
C<IO::Spec::Win32.path> will read the first defined of either C<%PATH%> or C<%Path%> as a
semicolon-delimited list.
=end pod