Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
These are advisory tests implementations optionally may choose to follow. Provides the space for tests that are more broad than implementation-specific tests, yet might not be something we mandate all implementations must follow (e.g. overflow tests)
- Loading branch information
1 parent
cc8db7c
commit 8e3ab47
Showing
2 changed files
with
34 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Perl 6 Specification Appendices | ||
|
||
The `APPENDICES` directory of the Perl 6 specification contains *advisory* | ||
specifications. These tests describe behaviour some implementations chose | ||
to follow and other implementations may follow the same behaviour, to offer | ||
similar execution results from same Perl 6 programs. | ||
|
||
However, it's possible some implementations or some environments may not | ||
be able to adhere to these specifications. For example, an implementation | ||
that can compute `2**-10000000000` sufficiently fast may choose to use | ||
higher limits for powers before throwing overlow exceptions. | ||
|
||
In summation, the APPENDICES contain tests that fall somewhere between | ||
implementation-specific tests residing in test suites of particular | ||
implementations and regular specification tests that all implementations | ||
must adhere to. | ||
|
||
An implementation may fail all of the tests in APPENDICES, yet still claim | ||
the status of being a fully-compliant Perl 6 implementation. | ||
|
||
## Available Appendices | ||
|
||
### [`A01-limits`](A01-limits) | ||
|
||
Contains tests of potentially-desirable behaviour that's dependent on the | ||
limitations of typical environments. For example, raising a number to a | ||
huge power effectively "hangs" the program, so the tests check such cases | ||
throw an overflow error instead. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters