An HTML version of this documentation can be found at https://docs.perl6.org/.
(If you are browsing this repository via github, it will not display most files correctly, because this is Perl 6 Pod, and github assumes Perl 5 POD).
This module is available via the Perl 6 module ecosystem. Use
zef install p6doc
to install the binaries and make it available in your binaries execution path.
Once it has been downloaded, run
p6doc-index build
to build the index.
With a Rakudo perl6
executable in PATH
, try
./bin/p6doc Type::Str
to see the documentation for class Str
, or
./bin/p6doc Type::Str.split
to see the documentation for method split
in class Str
. You can
skip the ./bin
part if you have installed it via panda
or
zef
. You can also do
p6doc -f slurp
to browse the documentation of standard functions. Depending on your disk speed and Rakudo version, it might take a while.
Install dependencies by running the following in the checkout directory:
panda installdeps . # if you use panda
zef --depsonly install . # if you use zef
If you use rakudobrew
, also run the
following, to update the shims for installed executables:
rakudobrew rehash
In addition to the Perl 6 dependencies, you need to have graphviz
installed, which
on Debian you can do by running
sudo apt-get install graphviz
To build the documentation web pages, simply run
$ make html
After the pages have been generated, you can view them on your local
computer by starting the included app.pl
program:
$ make run
You can then view the examples documentation by pointing your web browser at http://localhost:3000.
You will need at least Mojolicious installed and you will need nodejs to perform highlighting.
Perl 6 is not a small language, and documenting it takes a lot of effort. Any help is appreciated.
Here are some ways to help us:
git grep TODO
in this repository, and replace the TODO items by
actual documentation.Issues page has a list of current issues and documentation parts that are known to be missing and CONTRIBUTING explains briefly how to get started contributing documentation.
Q: Why aren't you embedding the docs in the CORE sources?
A: Several reasons:
Q: Should I include methods from superclasses or roles
A: No. The HTML version already includes methods from superclasses and
roles, and the p6doc
script will be taught about those as well.
Q: Which license is this stuff under?
A: Both code and documentation are available under the Artistic License 2.0
as published by The Perl Foundation. See the LICENSE file for the full
text.
I want p6doc and doc.perl6.org to become the No. 1 resource to consult when you want to know something about a Perl 6 feature, be it from the language, or built-in types and routines. I want it to be useful to every Perl 6 programmer.
-- moritz
Perl 6 implementations could embed P<...>
tags in their source
code that would then inline the corresponding entry from p6doc
.
This would enable things like &say.WHY
to (dynamically!)
retrieve the documentation string from p6doc
, without having
to duplicate the documentation in the CORE.setting
sources
or to encode the documentation into the binaries.
Example:
# In Rakudo's src/core/IO.pm:
#= P<p6doc/&print>
sub print(|$) { ... }
#= P<p6doc/&say>
sub say(|$) { ... }
#= P<p6doc/¬e>
sub note(|$) { ... }
See LICENSE file for the details of the license of the code in this repository.
This repository also contains code authored by third parties that may be licensed under a different license. Such files indicate the copyright and license terms at the top of the file. Currently these include:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。