===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-520-
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm:521:    my $where = $params{where} // 'templates';
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-522-    delete $params{where};
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-634-        "\n"
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm:635:      . $self->inc_comment("Included from `$_[0]`")
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-636-      . $text
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm:637:      . $self->inc_comment("End of section included from `$_[0]`");
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-638-}
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-264-            && ( $_ =
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm:265:`"$prefix\\bin\\nqp-m.exe" -e "print(nqp::backendconfig()<make>)"`
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-266-            )
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-273-            && ( $_ =
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm:274:`"$prefix\\bin\\nqp-m.bat" -e "print(nqp::backendconfig()<make>)"`
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-275-            )
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-959-
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm:960:    my $where     = $params{where} || 'templates';
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-961-    my $where_dir = $self->cfg( "${where}_dir", strict => 1 );
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-1141-
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm:1142:        system( 'git', 'config', 'remote.origin.pushurl', $pushurl )
nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-1143-          if defined $pushurl && $pushurl ne $pullurl;
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-147-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:148:### `mute($on)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-149-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:150:Sets `quiet` attribute-flag to `$on` or to a _true_ value if used without an argument.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-151-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:152:### `note($type, @message)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-153-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:154:For cases where a notice must be output which is not a subject for `quiet`ness and requires user attention. `$type` is
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-155-a short message explaining what type of notice we're printing. It's a free-form, but words like `ATTENTION` or 'WARNING'
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-175-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:176:### `batch_file($file)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-177-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-189-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:190:### `option($opt)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-191-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:192:Returns a option `$opt` or _undef_ if its doesn't exists.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-193-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:194:### `has_option($opt)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-195-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:196:Returns _true_ if option `$opt` exists. It may not necessarily be defined though.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-197-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:198:### `validate_backend($backend, $method)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-199-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:200:Dies if `$backend` is not supported. Error message would inform method name if `$method` is defined.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-201-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:202:Returns `$backend`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-203-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-207-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:208:### `known_backend($backend)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-209-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:210:Returns _true_ if `$backend` is supported.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-211-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-215-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:216:### `abbr_to_backend($backend_abbreviation)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-217-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-219-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:220:### `backend_abbr($backend)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-221-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:222:Returns `$backend` short name.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-223-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:224:### `backend_config($backend [, %config])`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-225-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-230-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:231:### `use_backend($backend)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-232-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:233:Activates a `$backend` for build. This includes:
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-234-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-236-  the backends were activated.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:237:- if no other backends were activated yet, the `default_backend` configuration variable is set to `$backend`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-238-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-244-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:245:### `active_backend($backend)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-246-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:247:Returns _true_ if `$backend` is activate.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-248-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-252-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:253:### `base_path($relative_path)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-254-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-271-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:272:### `parse_backends($cli_backends)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-273-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-275-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:276:### `backend_error($backend, @msgs)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-277-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:278:Stores error messages related to a `$backend`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-279-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:280:### `backend_errors($backend)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-281-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:282:Returns a list or arrayref (context dependant) of stored errors for a `$backend`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-283-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-305-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:306:### `make_option($opt[, no_quote => 1])`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-307-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-320-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:321:### `is_executable($file)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-322-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:323:Returns _true_ if `$file` is an executable.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-324-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:325:### `github_url($protocol, $user, $repo)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-326-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-327-Builds URL for a github repository based on requested protocol. The protocol could be either _"git"_ or _"https"_.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:328:`$user` is github's user account which owns the repository `$repo`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-329-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:330:### `repo_url($repo_alias[, %params])`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-331-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:332:Higher level github URL builder. `$repo_alias` is a key from `repo_maps` attribute: one of _moar_, _nqp_, _rakudo_, or
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-333-_roast_ values. The following keys can be used in `%params`:
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-339-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:340:### `find_file_path($short_name, %params)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-341-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:342:Finds a file defined `$short_name` in specified subdirectories. Returns file name with path if found or empty string
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-343-otherwise.
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-347-- `where` - which base directory we're lookin in. Currently it could be either _templates_ or _build_. But any other
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:348:  word can be used as long as there is a configuration variable `${where}_dir`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:349:- `subdir` – single directory name to look in. Appended to `$where` directory.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-350-- `subdirs` - a list of directories.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:351:- `subdirs_only` – boolean. If _true_ then file isn't searched in `$where` dir itself, only in subdirectories of it.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-352-  For example, one can limit the search of a `Makefile` template by platform of backend directories avoiding the
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-353-  universal `Makefile` template.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:354:- `suffix` - suffix to be appended to `$short_name`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-355-- `suffixes` - list of `suffix`'es. To look for a file without a suffix too this list must contain an empty string.
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-362-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:363:### `template_file_path($template, %params)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-364-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-375-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:376:### `build_file_path($file_name, %params)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-377-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-388-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:389:### `fill_template_file($infile, $outfile, %params)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-390-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:391:Expand `$infile` into `$outfile`. `$outfile` could be a file name or an opened file handle. `$infile` could be a single
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:392:template name or an arrayref of templates. If `$infile` is a list then all templates are expanded into a single
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:393:`$outfile`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-394-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-409-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:410:### `fill_template_text($text, %params)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-411-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:412:Expands `$text` by creating an instance of `NQP::Macros` class and calling its `expand` method on the text. Passes
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:413:`$self` as the configuration object for the `NQP::Macros` instance.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-414-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-418-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:419:### `fixup_makefile($text)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-420-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-423-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:424:### `git_checkout($repo, $dir, $branch)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-425-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:426:Checkouts a repository specified by its short name `$repo` (see `repo_maps` attribute) into a directory `$dir`. By
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:427:_checkout_ we mean either `clone` or `fetch`, depending on the existence of `$dir`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-428-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:429:`$branch` defined what specific branch is requested if defined.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-430-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-441-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:442:### `push_ctx($ctx)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-443-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-458-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:459:As soon as a single loop iteration ends `$scoping` will go out of scope and will be destroyed effectively deactivating
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-460-the context.
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-469-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:470:### `push_config({ $config | %config })`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-471-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-483-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:484:### `cfg($variable, %params)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-485-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-491-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:492:### `set($variable, $value[, in_ctx => 1])`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-493-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-496-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:497:### `prop($property[, strict => 1])`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-498-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:499:Looks for a `$property` in the contexts. If not found then tries the configuration object itself. If property is not
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-500-found but `strict` is set then dies.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-501-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:502:### `in_ctx($property, $value)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-503-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:504:Locates the context where `$property` is defined and has value `$value`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-505-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-507-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:508:### `shell_quote_filename($filename)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-509-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:510:Quotes/escapes `$filename` in accordance to the current platform's rules.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-511-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:512:### `nfp($filename)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-513-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-518-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:519:### `c_escape_string($string)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-520-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-528-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:529:### `slurp($file)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-530-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:531:Returns `$file` content as a single line.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-532-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:533:### `os2platform([$os])`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-534-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-546-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:547:### `run_or_die($cmd, %params)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-548-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-550-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:551:### `parse_revision($rev)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-552-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-556-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:557:### `cmp_rev($rev_a, $rev_b)`
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-558-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-255-Generates environment variable in the format understood by the current platform.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:256:I.e. for `@envvar(VAR)@` it will generate `$VAR` on \*nix and `%VAR%` on
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-257-DOS-derivatives (Windows, OS/2).
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-297-Taken MVAR returns either backend prefixed (`@bp@`) or suffixed (`@uc(@backend@)@`)
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:298:makefile variable or macro (`$(VARIABLE)`). For example:
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-299-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-478-This macro executes a Perl code snippet and returns either what the snipped
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:479:returned explicitly or what it's left in `$out`:
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-480-
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-488-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:489:- `$macros` – object of class `NQP::Macros` which does expansions of the current template.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:490:- `$cfg` - object of type `NQP::Config`.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-491-- `%config` – hash of configuration variables. Incorporates all surrounding
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-492-  contexts.
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:493:- `$out` – content of this variable will be returned as macro result unless the
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-494-  snippet returns something explicitly.
##############################################
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-526-
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:527:where without `@nop()@` the closing brace of `$(VAR1)` would combine with
nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-528-opening `@` and form fake closing brace for `@q(`:
##############################################
nqp-2020.10+dfsg/Configure.pl-17-    if ( !-e '3rdparty/nqp-configure/LICENSE' ) {
nqp-2020.10+dfsg/Configure.pl:18:        my $code = system($^X, 'tools/build/update-submodules.pl', Cwd::cwd(), @ARGV);
nqp-2020.10+dfsg/Configure.pl-19-        exit 1 if $code >> 8 != 0;
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-8-## match
nqp-2020.10+dfsg/docs/built-ins.md:9:* `match($text, $regex, :$global? --> @array)`
nqp-2020.10+dfsg/docs/built-ins.md-10-
nqp-2020.10+dfsg/docs/built-ins.md:11:Match `$text` against `$regex`.  If the `$global` flag is
nqp-2020.10+dfsg/docs/built-ins.md-12-given, then return an array of all non-overlapping matches.
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-14-## subst
nqp-2020.10+dfsg/docs/built-ins.md:15:* `subst($text, $regex, $replacement, :$global? --> str)`
nqp-2020.10+dfsg/docs/built-ins.md-16-
nqp-2020.10+dfsg/docs/built-ins.md:17:Substitute a match of `$regex` in `$text` with `$replacement`,
nqp-2020.10+dfsg/docs/built-ins.md:18:returning the substituted string.  If `$global` is given, then
nqp-2020.10+dfsg/docs/built-ins.md:19:perform the replacement on all matches of `$text`.
nqp-2020.10+dfsg/docs/built-ins.md-20-
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-23-## open
nqp-2020.10+dfsg/docs/built-ins.md:24:* `open($filename, :$r, :$w, :$a, :$bin, :$enc, :$chomp --> $filehandle)`
nqp-2020.10+dfsg/docs/built-ins.md-25-
nqp-2020.10+dfsg/docs/built-ins.md:26:Open file `$filename`. Options:
nqp-2020.10+dfsg/docs/built-ins.md-27-+ :w - open for writing
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-34-## close
nqp-2020.10+dfsg/docs/built-ins.md:35:* `close($fh)`
nqp-2020.10+dfsg/docs/built-ins.md-36-
nqp-2020.10+dfsg/docs/built-ins.md:37:Close the file attached to file handle `$fh`.
nqp-2020.10+dfsg/docs/built-ins.md-38-
nqp-2020.10+dfsg/docs/built-ins.md-39-## slurp
nqp-2020.10+dfsg/docs/built-ins.md:40:* `slurp($filename --> str)`
nqp-2020.10+dfsg/docs/built-ins.md-41-
nqp-2020.10+dfsg/docs/built-ins.md:42:Returns the contents of `$filename` as a single string.
nqp-2020.10+dfsg/docs/built-ins.md-43-
nqp-2020.10+dfsg/docs/built-ins.md-44-## spurt
nqp-2020.10+dfsg/docs/built-ins.md:45:* `spurt($filename, $contents)`
nqp-2020.10+dfsg/docs/built-ins.md-46-
nqp-2020.10+dfsg/docs/built-ins.md:47:Write the string value of `$contents` to `$filename`.
nqp-2020.10+dfsg/docs/built-ins.md-48-
nqp-2020.10+dfsg/docs/built-ins.md-49-## say
nqp-2020.10+dfsg/docs/built-ins.md:50:* `say($string)`
nqp-2020.10+dfsg/docs/built-ins.md-51-
nqp-2020.10+dfsg/docs/built-ins.md:52:Write `$string` to `stdout` with a newline added.
nqp-2020.10+dfsg/docs/built-ins.md-53-
nqp-2020.10+dfsg/docs/built-ins.md-54-## note
nqp-2020.10+dfsg/docs/built-ins.md:55:* `note($string)`
nqp-2020.10+dfsg/docs/built-ins.md-56-
nqp-2020.10+dfsg/docs/built-ins.md:57:Write `$string` to `stderr` with a newline added.
nqp-2020.10+dfsg/docs/built-ins.md-58-
nqp-2020.10+dfsg/docs/built-ins.md-59-## join
nqp-2020.10+dfsg/docs/built-ins.md:60:* `join($delim, @array --> str)`
nqp-2020.10+dfsg/docs/built-ins.md-61-
nqp-2020.10+dfsg/docs/built-ins.md-62-Returns a string formed by joining each element of `@array`
nqp-2020.10+dfsg/docs/built-ins.md:63:with the `$delim`.
nqp-2020.10+dfsg/docs/built-ins.md-64-
nqp-2020.10+dfsg/docs/built-ins.md-65-## print
nqp-2020.10+dfsg/docs/built-ins.md:66:* `print($string)`
nqp-2020.10+dfsg/docs/built-ins.md-67-
nqp-2020.10+dfsg/docs/built-ins.md:68:Write `$string` to `stdout`.
nqp-2020.10+dfsg/docs/built-ins.md-69-
nqp-2020.10+dfsg/docs/built-ins.md-70-## stdin
nqp-2020.10+dfsg/docs/built-ins.md:71:* `stdin(--> $filehandle)`
nqp-2020.10+dfsg/docs/built-ins.md-72-
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-75-## stdout
nqp-2020.10+dfsg/docs/built-ins.md:76:* `stdout(--> $filehandle)`
nqp-2020.10+dfsg/docs/built-ins.md-77-
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-80-## stderr
nqp-2020.10+dfsg/docs/built-ins.md:81:* `stderr(--> $filehandle)`
nqp-2020.10+dfsg/docs/built-ins.md-82-
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-98-## fh.get
nqp-2020.10+dfsg/docs/built-ins.md:99:* `$fh.get()`
nqp-2020.10+dfsg/docs/built-ins.md-100-
nqp-2020.10+dfsg/docs/built-ins.md:101:Reads a line from the file attached to file handle `$fh`.
nqp-2020.10+dfsg/docs/built-ins.md-102-
nqp-2020.10+dfsg/docs/built-ins.md-103-## fh.print
nqp-2020.10+dfsg/docs/built-ins.md:104:* `$fh.print($string)`
nqp-2020.10+dfsg/docs/built-ins.md-105-
nqp-2020.10+dfsg/docs/built-ins.md:106:Write `$string` to the file attached to file handle `$fh`.
nqp-2020.10+dfsg/docs/built-ins.md-107-An ending newline is not added.
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-109-## fh.say
nqp-2020.10+dfsg/docs/built-ins.md:110:* `$fh.say($string)`
nqp-2020.10+dfsg/docs/built-ins.md-111-
nqp-2020.10+dfsg/docs/built-ins.md:112:Write `$string` to the file attached to file handle `$fh`.
nqp-2020.10+dfsg/docs/built-ins.md-113-An ending newline is added.
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-115-## fh.close
nqp-2020.10+dfsg/docs/built-ins.md:116:* `$fh.close()`
nqp-2020.10+dfsg/docs/built-ins.md-117-
nqp-2020.10+dfsg/docs/built-ins.md:118:Close the file attached to file handle `$fh`.
nqp-2020.10+dfsg/docs/built-ins.md-119-
nqp-2020.10+dfsg/docs/built-ins.md-120-## fh.readchars
nqp-2020.10+dfsg/docs/built-ins.md:121:* `$fh.readchars($nchars)`
nqp-2020.10+dfsg/docs/built-ins.md-122-
nqp-2020.10+dfsg/docs/built-ins.md:123:Read `$nchars` characters from file handle `$fh`.
nqp-2020.10+dfsg/docs/built-ins.md-124-
nqp-2020.10+dfsg/docs/built-ins.md-125-## fh.eof
nqp-2020.10+dfsg/docs/built-ins.md:126:* `$fh.eof`
nqp-2020.10+dfsg/docs/built-ins.md-127-
nqp-2020.10+dfsg/docs/built-ins.md:128:Returns true if end-of-file has been reached on file handle `$fh`.
nqp-2020.10+dfsg/docs/built-ins.md-129-
##############################################
nqp-2020.10+dfsg/docs/built-ins.md-132-## plan
nqp-2020.10+dfsg/docs/built-ins.md:133:* `plan($quantity --> str)`
nqp-2020.10+dfsg/docs/built-ins.md-134-
nqp-2020.10+dfsg/docs/built-ins.md-135-## ok
nqp-2020.10+dfsg/docs/built-ins.md:136:* `ok($condition, $descrip?)`
nqp-2020.10+dfsg/docs/built-ins.md-137-
nqp-2020.10+dfsg/docs/built-ins.md-138-## is
nqp-2020.10+dfsg/docs/built-ins.md:139:* `is($got, $expected, $desc?)`
nqp-2020.10+dfsg/docs/built-ins.md-140-
nqp-2020.10+dfsg/docs/built-ins.md-141-## todo
nqp-2020.10+dfsg/docs/built-ins.md:142:* `todo($reason, $count)`
nqp-2020.10+dfsg/docs/built-ins.md-143-
nqp-2020.10+dfsg/docs/built-ins.md-144-## skip
nqp-2020.10+dfsg/docs/built-ins.md:145:* `skip($desc, $count=1)`
nqp-2020.10+dfsg/docs/built-ins.md-146-
nqp-2020.10+dfsg/docs/built-ins.md-147-## bug-workaround
nqp-2020.10+dfsg/docs/built-ins.md:148:* `bug-workaround($code)`
nqp-2020.10+dfsg/docs/built-ins.md-149-
nqp-2020.10+dfsg/docs/built-ins.md:150:If `$code` dies, returns the error message.
nqp-2020.10+dfsg/docs/built-ins.md-151-
nqp-2020.10+dfsg/docs/built-ins.md-152-## dies-ok
nqp-2020.10+dfsg/docs/built-ins.md:153:* `dies-ok($code, $description, :$message)`
nqp-2020.10+dfsg/docs/built-ins.md-154-
nqp-2020.10+dfsg/docs/built-ins.md-155-## run-command
nqp-2020.10+dfsg/docs/built-ins.md:156:* `run-command($command, :$stdout, :$stderr --> @array)`
nqp-2020.10+dfsg/docs/built-ins.md-157-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-490-## abs
nqp-2020.10+dfsg/docs/ops.markdown:491:* `abs_i(int $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:492:* `abs_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:493:* `abs_I(Int $i, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-494-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-498-## add
nqp-2020.10+dfsg/docs/ops.markdown:499:* `add_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:500:* `add_n(num $l, num $r --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:501:* `add_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-502-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-506-## div
nqp-2020.10+dfsg/docs/ops.markdown:507:* `div_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:508:* `div_n(num $l, num $r --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:509:* `div_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown:510:* `div_In(Int $l, Int $r --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-511-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-517-## gcd
nqp-2020.10+dfsg/docs/ops.markdown:518:* `gcd_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:519:* `gcd_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-520-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-524-## lcm
nqp-2020.10+dfsg/docs/ops.markdown:525:* `lcm_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:526:* `lcm_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-527-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-531-## mod
nqp-2020.10+dfsg/docs/ops.markdown:532:* `mod_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:533:* `mod_n(num $l, num $r --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:534:* `mod_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-535-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-539-## mul
nqp-2020.10+dfsg/docs/ops.markdown:540:* `mul_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:541:* `mul_n(num $l, num $r --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:542:* `mul_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-543-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-547-## neg
nqp-2020.10+dfsg/docs/ops.markdown:548:* `neg_i(int $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:549:* `neg_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:550:* `neg_I(Int $i, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-551-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-555-## sub
nqp-2020.10+dfsg/docs/ops.markdown:556:* `sub_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:557:* `sub_n(num $l, num $r --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:558:* `sub_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-559-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-565-## base
nqp-2020.10+dfsg/docs/ops.markdown:566:* `base_I(Int $i, int $radix --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-567-
nqp-2020.10+dfsg/docs/ops.markdown:568:Returns a string representing the integer `$i` in base `$radix`
nqp-2020.10+dfsg/docs/ops.markdown-569-
nqp-2020.10+dfsg/docs/ops.markdown-570-## ceil
nqp-2020.10+dfsg/docs/ops.markdown:571:* `ceil_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-572-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-575-## exp
nqp-2020.10+dfsg/docs/ops.markdown:576:* `exp_n(num $exponent --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-577-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-580-## floor
nqp-2020.10+dfsg/docs/ops.markdown:581:* `floor_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-582-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-590-## log_n
nqp-2020.10+dfsg/docs/ops.markdown:591:* `log_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-592-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-595-## expmod
nqp-2020.10+dfsg/docs/ops.markdown:596:* `expmod_I(Int $base, Int $exponent, Int $modulus, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-597-
nqp-2020.10+dfsg/docs/ops.markdown:598:Return a bigint that is `$base` raised to `$exponent` modulus `$modulus`.
nqp-2020.10+dfsg/docs/ops.markdown-599-`_I` variant returns an object of the given type.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-611-## pow
nqp-2020.10+dfsg/docs/ops.markdown:612:* `pow_i(int $base, int $exponent --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:613:* `pow_n(num $base, num $exponent --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:614:* `pow_I(Int $base, Int $exponent, Mu:T $type_num, Mu:T $type_bigint --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-615-
nqp-2020.10+dfsg/docs/ops.markdown-616-Return the value of $base raised to $exponent;
nqp-2020.10+dfsg/docs/ops.markdown:617:`_I` variant returns an object of `$type_num` for negative exponents,
nqp-2020.10+dfsg/docs/ops.markdown:618:and of type `$type_bigint` for positive exponents.
nqp-2020.10+dfsg/docs/ops.markdown-619-
nqp-2020.10+dfsg/docs/ops.markdown-620-## rand
nqp-2020.10+dfsg/docs/ops.markdown:621:* `rand_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:622:* `rand_i(int $i, Mu:T $type --> int)` `moar`
nqp-2020.10+dfsg/docs/ops.markdown:623:* `rand_I(Int $i, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-624-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-629-## srand
nqp-2020.10+dfsg/docs/ops.markdown:630:* `srand(int $n)`
nqp-2020.10+dfsg/docs/ops.markdown-631-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-636-## sqrt
nqp-2020.10+dfsg/docs/ops.markdown:637:* `sqrt_n(num $n--> num)`
nqp-2020.10+dfsg/docs/ops.markdown-638-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-641-## asec
nqp-2020.10+dfsg/docs/ops.markdown:642:* `asec_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-643-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-646-## asin
nqp-2020.10+dfsg/docs/ops.markdown:647:* `asin_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-648-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-651-## acos
nqp-2020.10+dfsg/docs/ops.markdown:652:* `acos_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-653-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-656-## atan
nqp-2020.10+dfsg/docs/ops.markdown:657:* `atan_n(num $n --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-658-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-661-## atan2
nqp-2020.10+dfsg/docs/ops.markdown:662:* `atan2_n(num $l, num $r --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-663-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-666-## cos
nqp-2020.10+dfsg/docs/ops.markdown:667:* `cos_n(num $n --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-668-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-671-## cosh
nqp-2020.10+dfsg/docs/ops.markdown:672:* `cosh_n(num $n --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-673-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-676-## sin
nqp-2020.10+dfsg/docs/ops.markdown:677:* `sin_n(num $n --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-678-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-681-## sinh
nqp-2020.10+dfsg/docs/ops.markdown:682:* `sinh_n(num $n --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-683-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-686-## sec
nqp-2020.10+dfsg/docs/ops.markdown:687:* `sec_n(num $n --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-688-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-691-## sech
nqp-2020.10+dfsg/docs/ops.markdown:692:* `sech_n(num $n --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-693-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-696-## tan
nqp-2020.10+dfsg/docs/ops.markdown:697:* `tan_n(num $n --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-698-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-701-## tanh
nqp-2020.10+dfsg/docs/ops.markdown:702:* `tanh_n(num $n --> num))`
nqp-2020.10+dfsg/docs/ops.markdown-703-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-708-## cmp
nqp-2020.10+dfsg/docs/ops.markdown:709:* `cmp_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:710:* `cmp_n(num $l, num $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:711:* `cmp_s(str $l, str $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:712:* `cmp_I(Int $l, Int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-713-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-717-## eqat
nqp-2020.10+dfsg/docs/ops.markdown:718:* `eqat(str $haystack, str $needle, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-719-
nqp-2020.10+dfsg/docs/ops.markdown:720:Return 1 if the string `$haystack` has the string `$needle` at position `$pos`,
nqp-2020.10+dfsg/docs/ops.markdown-721-otherwise return 0.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-723-## eqatic
nqp-2020.10+dfsg/docs/ops.markdown:724:* `eqatic(str haystack, str $needle, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-725-Case-insensitive `eqat`
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-727-## eqatim `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:728:* `eqatim(str haystack, str $needle, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-729-Ignore-mark `eqat`, NFD decomposes and matches the base codepoint
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-733-## eqaticim `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:734:* `eqaticim(str haystack, str $needle, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-735-Case-insensitive and ignore-mark `eqat`
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-737-## falsey
nqp-2020.10+dfsg/docs/ops.markdown:738:* `falsey($a --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-739-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-742-## iseq
nqp-2020.10+dfsg/docs/ops.markdown:743:* `iseq_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:744:* `iseq_n(num $l, num $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:745:* `iseq_s(str $l, str $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:746:* `iseq_I(Int $l, Int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:747:* `iseq_snfg(str $l, str $r --> int)` `js`
nqp-2020.10+dfsg/docs/ops.markdown-748-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-753-## isgt
nqp-2020.10+dfsg/docs/ops.markdown:754:* `isgt_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:755:* `isgt_n(num $l, num $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:756:* `isgt_s(str $l, str $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:757:* `isgt_I(Int $l, Int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-758-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-761-## isge
nqp-2020.10+dfsg/docs/ops.markdown:762:* `isge_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:763:* `isge_n(num $l, num $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:764:* `isge_s(str $l, str $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:765:* `isge_I(Int $l, Int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-766-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-769-## islt
nqp-2020.10+dfsg/docs/ops.markdown:770:* `islt_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:771:* `islt_n(num $l, num $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:772:* `islt_s(str $l, str $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:773:* `islt_I(Int $l, Int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-774-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-777-## isle
nqp-2020.10+dfsg/docs/ops.markdown:778:* `isle_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:779:* `isle_n(num $l, num $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:780:* `isle_s(str $l, str $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:781:* `isle_I(Int $l, Int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-782-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-785-## isne
nqp-2020.10+dfsg/docs/ops.markdown:786:* `isne_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:787:* `isne_n(num $l, num $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:788:* `isne_s(str $l, str $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:789:* `isne_I(Int $l, Int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:790:* `isne_snfg(str $l, str $r --> int)` `js`
nqp-2020.10+dfsg/docs/ops.markdown-791-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-796-## not_i
nqp-2020.10+dfsg/docs/ops.markdown:797:* `not_i(int $val --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-798-
nqp-2020.10+dfsg/docs/ops.markdown:799:Return 1 if `$val` is 0, 0 otherwise.
nqp-2020.10+dfsg/docs/ops.markdown-800-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-803-## atpos
nqp-2020.10+dfsg/docs/ops.markdown:804:* `atpos(@arr, int $i --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:805:* `atpos_i(@arr, int $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:806:* `atpos_n(@arr, int $i --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:807:* `atpos_s(@arr, int $i --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-808-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-820-## atpos2d
nqp-2020.10+dfsg/docs/ops.markdown:821:* `atpos2d(@arr, int $i, int $j --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:822:* `atpos2d_i(@arr, int $i, int $j --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:823:* `atpos2d_n(@arr, int $i, int $j --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:824:* `atpos2d_s(@arr, int $i, int $j --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-825-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-828-## atpos3d
nqp-2020.10+dfsg/docs/ops.markdown:829:* `atpos3d(@arr, int $i, int $j, int $k --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:830:* `atpos3d_i(@arr, int $i, int $j, int $k --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:831:* `atpos3d_n(@arr, int $i, int $j, int $k --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:832:* `atpos3d_s(@arr, int $i, int $j, int $k --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-833-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-836-## bindpos
nqp-2020.10+dfsg/docs/ops.markdown:837:* `bindpos(@arr, int $i, Mu $v --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:838:* `bindpos_i(@arr, int $i, int $v --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:839:* `bindpos_n(@arr, int $i, num $v --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:840:* `bindpos_s(@arr, int $i, str $v --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-841-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-844-## bindposnd
nqp-2020.10+dfsg/docs/ops.markdown:845:* `bindposnd(@arr, @indices, Mu $v --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:846:* `bindposnd_i(@arr, @indices, int $v --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:847:* `bindposnd_n(@arr, @indices, num $v --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:848:* `bindposnd_s(@arr, @indices, str $v --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-849-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-853-## bindpos2d
nqp-2020.10+dfsg/docs/ops.markdown:854:* `bindpos2d(@arr, int $i, int $j, Mu $v --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:855:* `bindpos2d_i(@arr, int $i, int $j, int $v --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:856:* `bindpos2d_n(@arr, int $i, int $j, num $v --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:857:* `bindpos2d_s(@arr, int $i, int $j, str $v --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-858-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-861-## bindpos3d
nqp-2020.10+dfsg/docs/ops.markdown:862:* `bindpos3d(@arr, int $i, int $j, int $k, Mu $v --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:863:* `bindpos3d_i(@arr, int $i, int $j, int $k, int $v --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:864:* `bindpos3d_n(@arr, int $i, int $j, int $k, num $v --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:865:* `bindpos3d_s(@arr, int $i, int $j, int $k, str $v --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-866-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-869-## atposref
nqp-2020.10+dfsg/docs/ops.markdown:870:* `atposref(@arr, int $idx --> Mu)` `js`
nqp-2020.10+dfsg/docs/ops.markdown:871:* `atposref_i(@arr, int $idx --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:872:* `atposref_n(@arr, int $idx --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:873:* `atposref_s(@arr, int $idx --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-874-
nqp-2020.10+dfsg/docs/ops.markdown:875:Returns a container (of type `IntPosRef`, `NumPosRef`, or `StrPosRef`) that you can assign to or read from which will directly access `@arr` at index `$idx`.
nqp-2020.10+dfsg/docs/ops.markdown-876-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-883-## existspos
nqp-2020.10+dfsg/docs/ops.markdown:884:* `existspos(@arr, int $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-885-
nqp-2020.10+dfsg/docs/ops.markdown:886:Return 1 if anything is bound to `@arr` at position `$i`,
nqp-2020.10+dfsg/docs/ops.markdown-887-0 otherwise.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-900-## push
nqp-2020.10+dfsg/docs/ops.markdown:901:* `push(@arr, Mu $v --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:902:* `push_i(Array int @arr, int $v --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:903:* `push_n(Array num @arr, num $v --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:904:* `push_s(Array str @arr, str $v --> str)`
nqp-2020.10+dfsg/docs/ops.markdown:905:* `push_o($obj, str $v --> str)` `moar`
nqp-2020.10+dfsg/docs/ops.markdown-906-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-923-## setelems
nqp-2020.10+dfsg/docs/ops.markdown:924:* `setelems(@arr, int $i --> @arr)`
nqp-2020.10+dfsg/docs/ops.markdown-925-
nqp-2020.10+dfsg/docs/ops.markdown:926:Set the size of `@arr` to `$i` elements. If less than the current size,
nqp-2020.10+dfsg/docs/ops.markdown-927-any elements after the new last position are unbound. If greater, the empty
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-942-## slice
nqp-2020.10+dfsg/docs/ops.markdown:943:* `slice(@arr, int $start_pos, int $end_pos --> @copy)`
nqp-2020.10+dfsg/docs/ops.markdown-944-
nqp-2020.10+dfsg/docs/ops.markdown:945:Copy the elements in `@arr` starting at `$start_pos` and ending at `$end_pos`
nqp-2020.10+dfsg/docs/ops.markdown:946:and return the resulting list. If `$start_pos` or `$end_pos` is ```-n``` it will
nqp-2020.10+dfsg/docs/ops.markdown-947-translate into the ```n```th position relative to the end of the list.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-956-
nqp-2020.10+dfsg/docs/ops.markdown:957:Will throw an exception if either `$start_pos` or `$end_pos` is out-of-bounds
nqp-2020.10+dfsg/docs/ops.markdown-958-(after translation).
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-960-## splice
nqp-2020.10+dfsg/docs/ops.markdown:961:* `splice(@arr, @from, int $offset, int $count --> @arr)`
nqp-2020.10+dfsg/docs/ops.markdown-962-
nqp-2020.10+dfsg/docs/ops.markdown:963:Remove the elements in `@arr` starting at `$offset`, for `$count` positions.
nqp-2020.10+dfsg/docs/ops.markdown-964-Replace them with all the elements from `@from`.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-966-## unshift
nqp-2020.10+dfsg/docs/ops.markdown:967:* `unshift(@arr, Mu $v --> $v)`
nqp-2020.10+dfsg/docs/ops.markdown:968:* `unshift_i(@arr, int $v --> $v)`
nqp-2020.10+dfsg/docs/ops.markdown:969:* `unshift_n(@arr, num $v --> $v)`
nqp-2020.10+dfsg/docs/ops.markdown:970:* `unshift_s(@arr, str $v --> $v)`
nqp-2020.10+dfsg/docs/ops.markdown-971-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-997-## atkey
nqp-2020.10+dfsg/docs/ops.markdown:998:* `atkey(%hash, str $key --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:999:* `atkey_i(%hash, str $key --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:1000:* `atkey_n(%hash, str $key --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:1001:* `atkey_s(%hash, str $key --> str)`
nqp-2020.10+dfsg/docs/ops.markdown:1002:* `atkey_u(%hash, str $key --> uint)` `moar`
nqp-2020.10+dfsg/docs/ops.markdown-1003-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1008-## bindkey
nqp-2020.10+dfsg/docs/ops.markdown:1009:* `bindkey(%hash, str $key, Mu $v --> $v)`
nqp-2020.10+dfsg/docs/ops.markdown:1010:* `bindkey_i(%hash, str $key, int $v --> $v)`
nqp-2020.10+dfsg/docs/ops.markdown:1011:* `bindkey_n(%hash, str $key, num $v --> $v)`
nqp-2020.10+dfsg/docs/ops.markdown:1012:* `bindkey_s(%hash, str $key, str $v --> $v)`
nqp-2020.10+dfsg/docs/ops.markdown-1013-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1016-## existskey
nqp-2020.10+dfsg/docs/ops.markdown:1017:* `existskey(%hash, str $key --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1018-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1021-## deletekey
nqp-2020.10+dfsg/docs/ops.markdown:1022:* `deletekey(%hash, str $key --> %hash)`
nqp-2020.10+dfsg/docs/ops.markdown-1023-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1033-## iterkey
nqp-2020.10+dfsg/docs/ops.markdown:1034:* `iterkey_s($pair --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1035-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1054-## iterval
nqp-2020.10+dfsg/docs/ops.markdown:1055:* `iterval($pair --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-1056-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1083-## intify `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1084:* `intify($o --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1085-
nqp-2020.10+dfsg/docs/ops.markdown-1086-## numify `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1087:* `numify($o --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-1088-
nqp-2020.10+dfsg/docs/ops.markdown-1089-## strify `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1090:* `strify($o --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1091-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1094-## chars
nqp-2020.10+dfsg/docs/ops.markdown:1095:* `chars(str $str --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:1096:* `charsnfg(str $str --> int)` `js`
nqp-2020.10+dfsg/docs/ops.markdown-1097-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1100-## chr
nqp-2020.10+dfsg/docs/ops.markdown:1101:* `chr(int $codepoint --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1102-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1106-## codepointfromname
nqp-2020.10+dfsg/docs/ops.markdown:1107:* `codepointfromname(str $name --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1108-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1112-## codes
nqp-2020.10+dfsg/docs/ops.markdown:1113:* `codes(str $str --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1114-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1117-## concat
nqp-2020.10+dfsg/docs/ops.markdown:1118:* `concat(str $l, str $r --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1119-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1122-## decode
nqp-2020.10+dfsg/docs/ops.markdown:1123:* `decode($buffer, str $encoding --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1124-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1128-## decodetocodes `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1129:* `decodetocodes($buffer, str $encoding, int $normalization, $codes)`
nqp-2020.10+dfsg/docs/ops.markdown-1130-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1136-## encode
nqp-2020.10+dfsg/docs/ops.markdown:1137:* `encode(str $string, str $encoding, $buffer)`
nqp-2020.10+dfsg/docs/ops.markdown-1138-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1142-## encodefromcodes `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1143:* `encodefromcodes($codes, str $encoding, $buffer)`
nqp-2020.10+dfsg/docs/ops.markdown-1144-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1148-## encodenorm
nqp-2020.10+dfsg/docs/ops.markdown:1149:* `encode(str $string, str $encoding, int $normalization, $buffer)`
nqp-2020.10+dfsg/docs/ops.markdown-1150-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1156-## escape
nqp-2020.10+dfsg/docs/ops.markdown:1157:* `escape(str $str --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1158-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1163-## fc
nqp-2020.10+dfsg/docs/ops.markdown:1164:* `fc(str $str --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1165-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1169-## findcclass
nqp-2020.10+dfsg/docs/ops.markdown:1170:* `findcclass(int $class, str $str, int $i, int $count --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1171-
nqp-2020.10+dfsg/docs/ops.markdown:1172:Search the string starting at the `$i`th character, for `$count` characters.
nqp-2020.10+dfsg/docs/ops.markdown-1173-Return the position of the first character that is of the specified class
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1178-## findnotcclass
nqp-2020.10+dfsg/docs/ops.markdown:1179:* `findnotcclass(int $class, str $str, int $i, int $count --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1180-
nqp-2020.10+dfsg/docs/ops.markdown:1181:Search the string starting at the `$i`th character, for `$count` characters.
nqp-2020.10+dfsg/docs/ops.markdown-1182-Return the position of the first character that is not of the specified class
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1187-## flip
nqp-2020.10+dfsg/docs/ops.markdown:1188:* `flip(str $str --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1189-
nqp-2020.10+dfsg/docs/ops.markdown:1190:Return a string with the characters of `$string` in reverse order.
nqp-2020.10+dfsg/docs/ops.markdown-1191-
nqp-2020.10+dfsg/docs/ops.markdown-1192-## index
nqp-2020.10+dfsg/docs/ops.markdown:1193:* `index(str $haystack, str $needle --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:1194:* `index(str $haystack, str $needle, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1195-
nqp-2020.10+dfsg/docs/ops.markdown:1196:Return the position in `$haystack` at which `$needle` appears, or -1
nqp-2020.10+dfsg/docs/ops.markdown:1197:if `$needle` does not appear. Begin searching at position `$pos` if specified,
nqp-2020.10+dfsg/docs/ops.markdown-1198-or at 0, otherwise.
nqp-2020.10+dfsg/docs/ops.markdown-1199-
nqp-2020.10+dfsg/docs/ops.markdown:1200:* `indexfrom(str $haystack, str $needle, int $pos)` `moar` `jvm` _Internal_
nqp-2020.10+dfsg/docs/ops.markdown-1201-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1204-## indexic `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1205:* `indexic(str $haystack, str $needle, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1206-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1213-## indexim `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1214:* `indexim(str $haystack, str $needle, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1215-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1220-## indexicim `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1221:* `indexicim(str $haystack, str $needle, int $pos)`
nqp-2020.10+dfsg/docs/ops.markdown-1222-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1225-## iscclass
nqp-2020.10+dfsg/docs/ops.markdown:1226:* `iscclass(int $class, str $str, int $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:1227:* `iscclassnfg(int $class, str $str, int $i --> int)` `js`
nqp-2020.10+dfsg/docs/ops.markdown-1228-
nqp-2020.10+dfsg/docs/ops.markdown:1229:Return 1 if the `$i`th character of $str is of the specified class,
nqp-2020.10+dfsg/docs/ops.markdown-1230-(`nqp::const::CCLASS_*`), 0 otherwise.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1232-## join
nqp-2020.10+dfsg/docs/ops.markdown:1233:* `join(str $delim, @arr --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1234-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1238-## lc
nqp-2020.10+dfsg/docs/ops.markdown:1239:* `lc(str $str --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1240-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1243-## normalizecodes
nqp-2020.10+dfsg/docs/ops.markdown:1244:* `normalizecodes($codes-in, int $normalization, $codes-out)`
nqp-2020.10+dfsg/docs/ops.markdown-1245-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1260-## ord
nqp-2020.10+dfsg/docs/ops.markdown:1261:* `ord(str $str --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:1262:* `ord(str $str, int $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1263-
nqp-2020.10+dfsg/docs/ops.markdown:1264:Return the unicode codepoint of the first character in `$str`, or
nqp-2020.10+dfsg/docs/ops.markdown:1265:at the `$i`th character, if it's specified.
nqp-2020.10+dfsg/docs/ops.markdown-1266-
nqp-2020.10+dfsg/docs/ops.markdown:1267:* `ordat(str $str, int $i --> int)` _Internal_
nqp-2020.10+dfsg/docs/ops.markdown:1268:* `ordfirst(str $str --> int)` `moar` `jvm` _Internal_
nqp-2020.10+dfsg/docs/ops.markdown-1269-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1272-## ordbaseat
nqp-2020.10+dfsg/docs/ops.markdown:1273:* `ordbaseat(str $str, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1274-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1279-## radix
nqp-2020.10+dfsg/docs/ops.markdown:1280:* `radix(int $radix, str $str, int $pos, int $flags --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:1281:* `radix_I(int $radix, str $str, int $pos, int $flags, Mu:T $type --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-1282-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1300-## replace
nqp-2020.10+dfsg/docs/ops.markdown:1301:* `replace(str $str, int $offset, int $count, str $replacement --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1302-
nqp-2020.10+dfsg/docs/ops.markdown:1303:Return a copy of `$str` where the characters starting at `$offset` for `$count`
nqp-2020.10+dfsg/docs/ops.markdown:1304:characters have been replaced with the `$replacement` string.
nqp-2020.10+dfsg/docs/ops.markdown-1305-
nqp-2020.10+dfsg/docs/ops.markdown-1306-## rindex
nqp-2020.10+dfsg/docs/ops.markdown:1307:* `rindex(str $haystack, str $needle --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:1308:* `rindex(str $haystack, str $needle, int $pos --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1309-
nqp-2020.10+dfsg/docs/ops.markdown:1310:Searching backwards through the `$haystack`, return the position at which
nqp-2020.10+dfsg/docs/ops.markdown:1311:`$needle` appears, or -1 if it does not. Begin searching at `$pos` if
nqp-2020.10+dfsg/docs/ops.markdown-1312-specified, otherwise start from the last position.
nqp-2020.10+dfsg/docs/ops.markdown-1313-
nqp-2020.10+dfsg/docs/ops.markdown:1314:* `rindexfrom(str $haystack, str $needle, int $pos)` `moar` `jvm` _Internal_
nqp-2020.10+dfsg/docs/ops.markdown:1315:* `rindexfromend(str $haystack, str $needle)` `jvm` _Internal_
nqp-2020.10+dfsg/docs/ops.markdown-1316-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1319-## split
nqp-2020.10+dfsg/docs/ops.markdown:1320:* `split(str $delimiter, str $string --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-1321-
nqp-2020.10+dfsg/docs/ops.markdown:1322:Splits the string `$string` into an array of elements; these elements are
nqp-2020.10+dfsg/docs/ops.markdown-1323-the substrings between delimiters in the original string.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1328-## sprintf
nqp-2020.10+dfsg/docs/ops.markdown:1329:* `sprintf(str $pattern, @values --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1330-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1335-## sprintfdirectives
nqp-2020.10+dfsg/docs/ops.markdown:1336:* `sprintfdirectives(str $pattern)`
nqp-2020.10+dfsg/docs/ops.markdown-1337-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1341-## sprintfaddargumenthandler
nqp-2020.10+dfsg/docs/ops.markdown:1342:* `sprintfaddargumenthandler(Mu $handler)`
nqp-2020.10+dfsg/docs/ops.markdown-1343-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1357-## strfromcodes
nqp-2020.10+dfsg/docs/ops.markdown:1358:* `strfromcodes($codes --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1359-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1363-## strfromname
nqp-2020.10+dfsg/docs/ops.markdown:1364:* `strfromname(str $name --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1365-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1382-## strtocodes
nqp-2020.10+dfsg/docs/ops.markdown:1383:* `strtocodes(str $str, int $normalization, $codes)`
nqp-2020.10+dfsg/docs/ops.markdown-1384-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1390-## substr
nqp-2020.10+dfsg/docs/ops.markdown:1391:* `substr(str $str, int $position --> str)`
nqp-2020.10+dfsg/docs/ops.markdown:1392:* `substr(str $str, int $position, int $length --> str)`
nqp-2020.10+dfsg/docs/ops.markdown:1393:* `substr_s(str $str, int $position --> str)` `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1394:* `substr_s(str $str, int $position, int $length --> str)` `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1395:* `substr2(str $str, int $position)` `jvm` _Internal_
nqp-2020.10+dfsg/docs/ops.markdown:1396:* `substr3(str $str, int $position, int $length)` `jvm` _Internal_
nqp-2020.10+dfsg/docs/ops.markdown:1397:* `substrnfg(str $str, int $position --> str)` `js`
nqp-2020.10+dfsg/docs/ops.markdown:1398:* `substrnfg(str $str, int $position, int $length --> str)` `js`
nqp-2020.10+dfsg/docs/ops.markdown-1399-
nqp-2020.10+dfsg/docs/ops.markdown-1400-Return the portion of the string starting at the given position.
nqp-2020.10+dfsg/docs/ops.markdown:1401:If `$length` is specified, only return that many characters. The
nqp-2020.10+dfsg/docs/ops.markdown-1402-numbered variants required the args specified - the unnumbered
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1405-## tc
nqp-2020.10+dfsg/docs/ops.markdown:1406:* `tc(str $str --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1407-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1410-## tclc
nqp-2020.10+dfsg/docs/ops.markdown:1411:* `tclc(str $str --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1412-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1416-## uc
nqp-2020.10+dfsg/docs/ops.markdown:1417:* `uc(str $str --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1418-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1421-## unicmp_s `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:1422:* `unicmp_s(str $str1, str Str2, int $mode, int $iso639, int $iso3166 --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1423-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1477-## x
nqp-2020.10+dfsg/docs/ops.markdown:1478:* `x(str $str, int $count --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1479-
nqp-2020.10+dfsg/docs/ops.markdown:1480:Return a new string containing `$count` copies of `$str`.
nqp-2020.10+dfsg/docs/ops.markdown-1481-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1484-## getuniname
nqp-2020.10+dfsg/docs/ops.markdown:1485:* `getuniname(int $codepoint --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1486-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1489-## getuniprop_int `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1490:* `getuniprop_int(int $codepoint, int $propcode --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1491-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1498-## getuniprop_str
nqp-2020.10+dfsg/docs/ops.markdown:1499:* `getuniprop_str(int $codepoint, int $propcode --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1500-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1503-## getuniprop_bool `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1504:* `getuniprop_bool(int $codepoint, int $propcode --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1505-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1508-## matchuniprop `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1509:* `matchuniprop(int $codepoint, int $propcode, int $pvalcode --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1510-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1516-## unipropcode
nqp-2020.10+dfsg/docs/ops.markdown:1517:* `unipropcode(str $propname --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1518-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1526-## unipvalcode `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1527:* `unipvalcode(int $propcode, str $propname --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1528-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1532-## hasuniprop `moar`
nqp-2020.10+dfsg/docs/ops.markdown:1533:* `hasuniprop(str $string, int offset, int propcode, int pvalcode --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1534-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1540-## decoderconfigure
nqp-2020.10+dfsg/docs/ops.markdown:1541:* `decoderconfigure(Decoder $dec, str $encoding, VMHash $config)`
nqp-2020.10+dfsg/docs/ops.markdown-1542-
nqp-2020.10+dfsg/docs/ops.markdown:1543:Configures the decoder with an encoding. The `$config` hash parameter is
nqp-2020.10+dfsg/docs/ops.markdown-1544-currently unused, and an empty hash or an `nqp::null` should be passed.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1546-## decodersetlineseps
nqp-2020.10+dfsg/docs/ops.markdown:1547:* `decodersetlineseps(Decoder $dec, VMArray $separators)`
nqp-2020.10+dfsg/docs/ops.markdown-1548-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1552-## decoderaddbytes
nqp-2020.10+dfsg/docs/ops.markdown:1553:* `decoderaddbytes(Decoder $dec, VMArray $blob)`
nqp-2020.10+dfsg/docs/ops.markdown-1554-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1558-## decodertakechars
nqp-2020.10+dfsg/docs/ops.markdown:1559:* `decodertakechars(Decoder $dec, int $num-chars --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1560-
nqp-2020.10+dfsg/docs/ops.markdown:1561:Returns an NFG string consisting of `$num-chars` graphemes, provided that
nqp-2020.10+dfsg/docs/ops.markdown:1562:many are available after decoding. If less than `$num-chars` characters
nqp-2020.10+dfsg/docs/ops.markdown-1563-can be decoded, then `nqp::null_s` will be returned. Note that a
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1568-## decodertakeallchars
nqp-2020.10+dfsg/docs/ops.markdown:1569:* `decodertakeallchars(Decoder $dec --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1570-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1576-## decodertakeavailablechars
nqp-2020.10+dfsg/docs/ops.markdown:1577:* `decodertakeavailablechars(Decoder $dec -->int)`
nqp-2020.10+dfsg/docs/ops.markdown-1578-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1584-## decodertakeline
nqp-2020.10+dfsg/docs/ops.markdown:1585:* `decodertakeline(Decoder $dec, int $chomp, int $incomplete-ok --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1586-
nqp-2020.10+dfsg/docs/ops.markdown-1587-Decodes bytes until a line separator is reached, or all bytes have been
nqp-2020.10+dfsg/docs/ops.markdown:1588:decoded. If `$incomplete-ok` is zero and the separator was not found, then
nqp-2020.10+dfsg/docs/ops.markdown:1589:`nqp::null_s` will be returned. (Thus, `$incomplete-ok` is appropriate only
nqp-2020.10+dfsg/docs/ops.markdown:1590:when knowing that the end of the stream has been reached.) If `$chomp` is
nqp-2020.10+dfsg/docs/ops.markdown-1591-non-zero, then the separator--if present--will not be included in the
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1594-## decoderbytesavailable
nqp-2020.10+dfsg/docs/ops.markdown:1595:* `decoderbytesavailable(Decoder $dec --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1596-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1602-normalization buffer. Thus the result is only accurate before reading any chars
nqp-2020.10+dfsg/docs/ops.markdown:1603:or after `decodertakechars` or after `decodertakeline` with `$incomplete-ok`
nqp-2020.10+dfsg/docs/ops.markdown-1604-passed a non-zero value.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1606-## decodertakebytes
nqp-2020.10+dfsg/docs/ops.markdown:1607:* `decodertakebytes(Decoder $dec, VMArray $blob_type, int $bytes)`
nqp-2020.10+dfsg/docs/ops.markdown-1608-
nqp-2020.10+dfsg/docs/ops.markdown:1609:Takes up to `$bytes` bytes from the decode stream's undecoded buffer, makes an
nqp-2020.10+dfsg/docs/ops.markdown:1610:instance of the `$blob_type`, and places the bytes in it. The same set of
nqp-2020.10+dfsg/docs/ops.markdown-1611-caveats about decoded-but-untaken bytes in `decoderbytesavailable` apply.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1613-## decoderempty
nqp-2020.10+dfsg/docs/ops.markdown:1614:* `decoderempty(Decoder $dec --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1615-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1622-## if
nqp-2020.10+dfsg/docs/ops.markdown:1623:* `if(Block $condition, Block $then)`
nqp-2020.10+dfsg/docs/ops.markdown:1624:* `if(Block $condition, Block $then, Block $else)`
nqp-2020.10+dfsg/docs/ops.markdown-1625-
nqp-2020.10+dfsg/docs/ops.markdown:1626:If the `$condition` evaluates to a non-zero value, run the `$then` block.
nqp-2020.10+dfsg/docs/ops.markdown:1627:If not, and an `$else` block is present, run that instead, if it's absent,
nqp-2020.10+dfsg/docs/ops.markdown:1628:return result of `$condition`.
nqp-2020.10+dfsg/docs/ops.markdown-1629-
nqp-2020.10+dfsg/docs/ops.markdown-1630-## unless
nqp-2020.10+dfsg/docs/ops.markdown:1631:* `unless(Block $condition, Block $then)`
nqp-2020.10+dfsg/docs/ops.markdown:1632:* `unless(Block $condition, Block $then, Block $else)`
nqp-2020.10+dfsg/docs/ops.markdown-1633-
nqp-2020.10+dfsg/docs/ops.markdown:1634:If the `$condition` evaluates to 0, run the `$then` block.
nqp-2020.10+dfsg/docs/ops.markdown:1635:If not, and an `$else` block is present, run that instead, if it's absent,
nqp-2020.10+dfsg/docs/ops.markdown:1636:return result of `$condition`.
nqp-2020.10+dfsg/docs/ops.markdown-1637-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1649-## defor
nqp-2020.10+dfsg/docs/ops.markdown:1650:* `defor(Block $cond, Block $body)`
nqp-2020.10+dfsg/docs/ops.markdown-1651-
nqp-2020.10+dfsg/docs/ops.markdown:1652:If the `$cond` evaluates to defined value, return it, otherwise, evaluate
nqp-2020.10+dfsg/docs/ops.markdown:1653:the `$body`.
nqp-2020.10+dfsg/docs/ops.markdown-1654-
nqp-2020.10+dfsg/docs/ops.markdown-1655-## for
nqp-2020.10+dfsg/docs/ops.markdown:1656:* `for(Iterable $iter, Block $body)`
nqp-2020.10+dfsg/docs/ops.markdown-1657-
nqp-2020.10+dfsg/docs/ops.markdown:1658:Invoke the `$body` for every item available in `$iter`.
nqp-2020.10+dfsg/docs/ops.markdown-1659-
nqp-2020.10+dfsg/docs/ops.markdown-1660-## ifnull
nqp-2020.10+dfsg/docs/ops.markdown:1661:* `ifnull(Block $cond, Block $body)`
nqp-2020.10+dfsg/docs/ops.markdown-1662-
nqp-2020.10+dfsg/docs/ops.markdown:1663:If the `$cond` evaluates to null, evaluate the `$body`, otherwise return
nqp-2020.10+dfsg/docs/ops.markdown:1664:the result of `$cond`.
nqp-2020.10+dfsg/docs/ops.markdown-1665-
nqp-2020.10+dfsg/docs/ops.markdown-1666-## repeat_until
nqp-2020.10+dfsg/docs/ops.markdown:1667:* `repeat_until(Block $condition, Block $body)`
nqp-2020.10+dfsg/docs/ops.markdown:1668:* `repeat_until(Block $condition, Block $body, Block $post)`
nqp-2020.10+dfsg/docs/ops.markdown-1669-
nqp-2020.10+dfsg/docs/ops.markdown:1670:First run the `$body`. Then, enter a loop, running the `$body`
nqp-2020.10+dfsg/docs/ops.markdown-1671-only if the condition returns 0.
nqp-2020.10+dfsg/docs/ops.markdown-1672-
nqp-2020.10+dfsg/docs/ops.markdown:1673:If a `$post` block is present, run that at the end, regardless of `$condition`.
nqp-2020.10+dfsg/docs/ops.markdown-1674-
nqp-2020.10+dfsg/docs/ops.markdown-1675-## repeat_while
nqp-2020.10+dfsg/docs/ops.markdown:1676:* `repeat_while(Block $condition, Block $body)`
nqp-2020.10+dfsg/docs/ops.markdown:1677:* `repeat_while(Block $condition, Block $body, Block $post)`
nqp-2020.10+dfsg/docs/ops.markdown-1678-
nqp-2020.10+dfsg/docs/ops.markdown:1679:First run the `$body`. Then, enter a loop, running the `$body`
nqp-2020.10+dfsg/docs/ops.markdown-1680-only if the condition returns a non-0 value.
nqp-2020.10+dfsg/docs/ops.markdown-1681-
nqp-2020.10+dfsg/docs/ops.markdown:1682:If a `$post` block is present, run that at the end, regardless of `$condition`.
nqp-2020.10+dfsg/docs/ops.markdown-1683-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1699-## until
nqp-2020.10+dfsg/docs/ops.markdown:1700:* `until(Block $condition, Block $body)`
nqp-2020.10+dfsg/docs/ops.markdown:1701:* `until(Block $condition, Block $body, Block $post)`
nqp-2020.10+dfsg/docs/ops.markdown-1702-
nqp-2020.10+dfsg/docs/ops.markdown:1703:Enter a loop, running the `$body` only if the condition returns 0.
nqp-2020.10+dfsg/docs/ops.markdown-1704-
nqp-2020.10+dfsg/docs/ops.markdown:1705:If a `$post` block is present, run that at the end, regardless of `$condition`.
nqp-2020.10+dfsg/docs/ops.markdown-1706-
nqp-2020.10+dfsg/docs/ops.markdown-1707-## while
nqp-2020.10+dfsg/docs/ops.markdown:1708:* `while(Block $condition, Block $body)`
nqp-2020.10+dfsg/docs/ops.markdown:1709:* `while(Block $condition, Block $body, Block $post)`
nqp-2020.10+dfsg/docs/ops.markdown-1710-
nqp-2020.10+dfsg/docs/ops.markdown:1711:Enter a loop, running the `$body` only if the condition returns a non-0 value.
nqp-2020.10+dfsg/docs/ops.markdown-1712-
nqp-2020.10+dfsg/docs/ops.markdown:1713:If a `$post` block is present, run that at the end, regardless of `$condition`.
nqp-2020.10+dfsg/docs/ops.markdown-1714-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1717-## backtrace
nqp-2020.10+dfsg/docs/ops.markdown:1718:* `backtrace(Exception $ex)`
nqp-2020.10+dfsg/docs/ops.markdown-1719-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1722-## backtracestrings
nqp-2020.10+dfsg/docs/ops.markdown:1723:* `backtracestrings(Exception $ex)`
nqp-2020.10+dfsg/docs/ops.markdown-1724-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1727-## die
nqp-2020.10+dfsg/docs/ops.markdown:1728:* `die(str $message)`
nqp-2020.10+dfsg/docs/ops.markdown:1729:* `die_s(str $message)`
nqp-2020.10+dfsg/docs/ops.markdown-1730-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1738-## getextype
nqp-2020.10+dfsg/docs/ops.markdown:1739:* `getextype(Exception $ex)`
nqp-2020.10+dfsg/docs/ops.markdown-1740-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1743-## getmessage
nqp-2020.10+dfsg/docs/ops.markdown:1744:* `getmessage(Exception $ex)`
nqp-2020.10+dfsg/docs/ops.markdown-1745-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1748-## getpayload
nqp-2020.10+dfsg/docs/ops.markdown:1749:* `getpayload(Exception $ex)`
nqp-2020.10+dfsg/docs/ops.markdown-1750-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1758-## resume
nqp-2020.10+dfsg/docs/ops.markdown:1759:* `resume(Exception $ex)`
nqp-2020.10+dfsg/docs/ops.markdown-1760-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1763-## rethrow
nqp-2020.10+dfsg/docs/ops.markdown:1764:* `rethrow(Exception $ex)`
nqp-2020.10+dfsg/docs/ops.markdown-1765-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1768-## setextype
nqp-2020.10+dfsg/docs/ops.markdown:1769:* `setextype(Exception $ex, int $type)`
nqp-2020.10+dfsg/docs/ops.markdown-1770-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1773-## setmessage
nqp-2020.10+dfsg/docs/ops.markdown:1774:* `setmessage(Exception $ex, str $message)`
nqp-2020.10+dfsg/docs/ops.markdown-1775-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1778-## setpayload
nqp-2020.10+dfsg/docs/ops.markdown:1779:* `setpayload(Exception $ex, Mu $obj)`
nqp-2020.10+dfsg/docs/ops.markdown-1780-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1783-## throw
nqp-2020.10+dfsg/docs/ops.markdown:1784:* `throw(Exception $ex)`
nqp-2020.10+dfsg/docs/ops.markdown-1785-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1790-## closefh
nqp-2020.10+dfsg/docs/ops.markdown:1791:* `closefh(Handle $fh)`
nqp-2020.10+dfsg/docs/ops.markdown-1792-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1795-## eoffh
nqp-2020.10+dfsg/docs/ops.markdown:1796:* `eoffh(Handle $fh --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1797-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1800-## filenofh
nqp-2020.10+dfsg/docs/ops.markdown:1801:* `filenofh(Handle $fh --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1802-Returns the filehandle number. Not usable on the JVM (always returns -1).
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1804-## flushfh
nqp-2020.10+dfsg/docs/ops.markdown:1805:* `flushfh(Handle $fh)`
nqp-2020.10+dfsg/docs/ops.markdown-1806-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1824-## open
nqp-2020.10+dfsg/docs/ops.markdown:1825:* `open(str $filename, str $mode)`
nqp-2020.10+dfsg/docs/ops.markdown-1826-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1830-## print
nqp-2020.10+dfsg/docs/ops.markdown:1831:* `print(str $str)`
nqp-2020.10+dfsg/docs/ops.markdown-1832-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1835-## readfh
nqp-2020.10+dfsg/docs/ops.markdown:1836:* `readfh(Handle $fh, @arr, long $count)`
nqp-2020.10+dfsg/docs/ops.markdown-1837-
nqp-2020.10+dfsg/docs/ops.markdown:1838:Given a readable `$fh`, and an array of `Buf[int8]` or a `Buf[uint8]`, read
nqp-2020.10+dfsg/docs/ops.markdown:1839:in the next `$count` bytes from the filehandle and store them in the array.
nqp-2020.10+dfsg/docs/ops.markdown-1840-
nqp-2020.10+dfsg/docs/ops.markdown-1841-## say
nqp-2020.10+dfsg/docs/ops.markdown:1842:* `say(str $str)`
nqp-2020.10+dfsg/docs/ops.markdown-1843-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1846-## seekfh
nqp-2020.10+dfsg/docs/ops.markdown:1847:* `seekfh(Handle $fh, int $offset, int $whence)`
nqp-2020.10+dfsg/docs/ops.markdown-1848-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1855-## tellfh
nqp-2020.10+dfsg/docs/ops.markdown:1856:* `tellfh(Handle $fh --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1857-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1860-## writefh
nqp-2020.10+dfsg/docs/ops.markdown:1861:* `writefh(Handle $fh, Mu $str --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1862-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1868-
nqp-2020.10+dfsg/docs/ops.markdown:1869:It's used to implement `$*EXECUTABLE` in Raku, and is the name of the
nqp-2020.10+dfsg/docs/ops.markdown-1870-current "executable". So if you run `./raku-m ....` then it'll be the
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1878-## chdir
nqp-2020.10+dfsg/docs/ops.markdown:1879:* `chdir(str $path --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1880-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1883-## chmod
nqp-2020.10+dfsg/docs/ops.markdown:1884:* `chmod(str $path, int $mode --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1885-
nqp-2020.10+dfsg/docs/ops.markdown:1886:Change the permissions of `$path` to the posix style permissions of `$mode`.
nqp-2020.10+dfsg/docs/ops.markdown-1887-Returns 0 on success, throws an exception on failure.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1889-## closedir
nqp-2020.10+dfsg/docs/ops.markdown:1890:* `closedir(Handle $)`
nqp-2020.10+dfsg/docs/ops.markdown-1891-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1894-## copy
nqp-2020.10+dfsg/docs/ops.markdown:1895:* `copy(str $from, str $to --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1896-
nqp-2020.10+dfsg/docs/ops.markdown:1897:Copy file `$from` to file `$to`. Return 0 on success, throw an exception
nqp-2020.10+dfsg/docs/ops.markdown-1898-on failure.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1905-## fileexecutable
nqp-2020.10+dfsg/docs/ops.markdown:1906:* `fileexecutable(str $str --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1907-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1911-## fileislink
nqp-2020.10+dfsg/docs/ops.markdown:1912:* `fileislink(str $str --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1913-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1917-## filereadable
nqp-2020.10+dfsg/docs/ops.markdown:1918:* `filereadable(str $str --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1919-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1923-## filewritable
nqp-2020.10+dfsg/docs/ops.markdown:1924:* `filewritable(str $str --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1925-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1929-## gethostname
nqp-2020.10+dfsg/docs/ops.markdown:1930:* `gethostname(str $str --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-1931-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1934-## getport `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:1935:* `getport($obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1936-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1940-## link
nqp-2020.10+dfsg/docs/ops.markdown:1941:* `link(str $before, str $after --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1942-
nqp-2020.10+dfsg/docs/ops.markdown:1943:Create a link from `$after` to `$before`
nqp-2020.10+dfsg/docs/ops.markdown-1944-
nqp-2020.10+dfsg/docs/ops.markdown-1945-## mkdir
nqp-2020.10+dfsg/docs/ops.markdown:1946:* `mkdir(str $name, int $mode --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1947-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1951-## nextfiledir
nqp-2020.10+dfsg/docs/ops.markdown:1952:* `nextfiledir(handle $iterator)`
nqp-2020.10+dfsg/docs/ops.markdown-1953-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1957-## opendir
nqp-2020.10+dfsg/docs/ops.markdown:1958:* `opendir(str $path --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-1959-
nqp-2020.10+dfsg/docs/ops.markdown-1960-Return a directory handle on the given directory path. Throw an exception
nqp-2020.10+dfsg/docs/ops.markdown:1961:if `$path` is not a directory.
nqp-2020.10+dfsg/docs/ops.markdown-1962-
nqp-2020.10+dfsg/docs/ops.markdown-1963-## rename
nqp-2020.10+dfsg/docs/ops.markdown:1964:* `rename(str $from, str $to --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1965-
nqp-2020.10+dfsg/docs/ops.markdown:1966:Rename file `$from` to file `$to`. Return 0 on success, throw an exception
nqp-2020.10+dfsg/docs/ops.markdown-1967-on failure.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1969-## rmdir
nqp-2020.10+dfsg/docs/ops.markdown:1970:* `rmdir(str $path --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1971-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-1975-## stat
nqp-2020.10+dfsg/docs/ops.markdown:1976:* `stat(str $path, int $code --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-1977-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2058-## stat_time
nqp-2020.10+dfsg/docs/ops.markdown:2059:* `stat_time(str $path, int $code --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-2060-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2064-## lstat
nqp-2020.10+dfsg/docs/ops.markdown:2065:* `lstat(str $path, int $code --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2066-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2070-## lstat_time
nqp-2020.10+dfsg/docs/ops.markdown:2071:* `stat_time(str $path, int $code --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-2072-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2076-## symlink
nqp-2020.10+dfsg/docs/ops.markdown:2077:* `symlink(str $before, str $after)`
nqp-2020.10+dfsg/docs/ops.markdown-2078-
nqp-2020.10+dfsg/docs/ops.markdown:2079:Create a symbolic link from `$after` to `$before`
nqp-2020.10+dfsg/docs/ops.markdown-2080-
nqp-2020.10+dfsg/docs/ops.markdown-2081-## unlink
nqp-2020.10+dfsg/docs/ops.markdown:2082:* `unlink(str $path --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2083-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2089-## bool
nqp-2020.10+dfsg/docs/ops.markdown:2090:* `bool_I(Int $val)`
nqp-2020.10+dfsg/docs/ops.markdown-2091-
nqp-2020.10+dfsg/docs/ops.markdown:2092:Returns 0 if `$val` is 0, otherwise 1.
nqp-2020.10+dfsg/docs/ops.markdown-2093-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2134-## box
nqp-2020.10+dfsg/docs/ops.markdown:2135:* `box_i(int $val, Mu:T $type)`
nqp-2020.10+dfsg/docs/ops.markdown:2136:* `box_n(num $val, Mu:T $type)`
nqp-2020.10+dfsg/docs/ops.markdown:2137:* `box_s(str $val, Mu:T $type)`
nqp-2020.10+dfsg/docs/ops.markdown-2138-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2143-
nqp-2020.10+dfsg/docs/ops.markdown:2144:`decont(Mu $val --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2145-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2154-## defined
nqp-2020.10+dfsg/docs/ops.markdown:2155:* `defined(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2156-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2159-## fromnum
nqp-2020.10+dfsg/docs/ops.markdown:2160:* `fromnum_I(num $val, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-2161-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2165-## fromstr
nqp-2020.10+dfsg/docs/ops.markdown:2166:* `fromstr_I(str $val, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-2167-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2170-## isbig
nqp-2020.10+dfsg/docs/ops.markdown:2171:* `isbig_I(Int $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2172-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2175-## iscoderef `moar`
nqp-2020.10+dfsg/docs/ops.markdown:2176:* `iscoderef($obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2177-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2180-## isconcrete
nqp-2020.10+dfsg/docs/ops.markdown:2181:* `isconcrete(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2182-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2185-## isconcrete_nd
nqp-2020.10+dfsg/docs/ops.markdown:2186:* `isconcrete_nd(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2187-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2191-## iscont
nqp-2020.10+dfsg/docs/ops.markdown:2192:* `iscont(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2193:* `iscont_i(int $int --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2194:* `iscont_n(num $int --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2195:* `iscont_s(str $int --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2196-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2199-## isfalse
nqp-2020.10+dfsg/docs/ops.markdown:2200:* `isfalse(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2201-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2204-## ishash
nqp-2020.10+dfsg/docs/ops.markdown:2205:* `ishash(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2206-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2209-## isint
nqp-2020.10+dfsg/docs/ops.markdown:2210:* `isint(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2211-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2214-## isinvokable
nqp-2020.10+dfsg/docs/ops.markdown:2215:* `isinvokable(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2216-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2219-## islist
nqp-2020.10+dfsg/docs/ops.markdown:2220:* `islist(Mu $obj)`
nqp-2020.10+dfsg/docs/ops.markdown-2221-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2224-## isnanorinf
nqp-2020.10+dfsg/docs/ops.markdown:2225:* `isnanorinf(num $n --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2226-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2230-## isnull
nqp-2020.10+dfsg/docs/ops.markdown:2231:* `isnull(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2232:* `isnull_s(str $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2233-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2236-## isnum
nqp-2020.10+dfsg/docs/ops.markdown:2237:* `isnum(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2238-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2241-## isprime
nqp-2020.10+dfsg/docs/ops.markdown:2242:* `isprime_I(Int $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2243-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2246-## isstr
nqp-2020.10+dfsg/docs/ops.markdown:2247:* `isstr(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2248-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2251-## istrue
nqp-2020.10+dfsg/docs/ops.markdown:2252:* `istrue(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2253-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2256-## istype
nqp-2020.10+dfsg/docs/ops.markdown:2257:* `istype(Mu $obj, Mu:T $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2258-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2261-## isttyfh
nqp-2020.10+dfsg/docs/ops.markdown:2262:* `isttyfh(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2263-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2277-## tostr
nqp-2020.10+dfsg/docs/ops.markdown:2278:* `tostr_I(Int $val --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-2279-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2282-## tonum
nqp-2020.10+dfsg/docs/ops.markdown:2283:* `tonum_I(Int $val --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-2284-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2287-## unbox
nqp-2020.10+dfsg/docs/ops.markdown:2288:* `unbox_i(Mu $val --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2289:* `unbox_n(Mu $val --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:2290:* `unbox_s(Mu $val --> str)`
nqp-2020.10+dfsg/docs/ops.markdown:2291:* `unbox_u(Mu $val --> str)` `moar`
nqp-2020.10+dfsg/docs/ops.markdown-2292-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2326-## writeint `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:2327:* `writeint(buffer $target, int $offset, int $value, int $flags)`
nqp-2020.10+dfsg/docs/ops.markdown-2328-
nqp-2020.10+dfsg/docs/ops.markdown:2329:Writes the signed integer `$value` at `$offset` into the buffer `$target`,
nqp-2020.10+dfsg/docs/ops.markdown:2330:with the size and endianness specified by `$flags`.
nqp-2020.10+dfsg/docs/ops.markdown-2331-
nqp-2020.10+dfsg/docs/ops.markdown-2332-## writeuint `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:2333:* `writeuint(buffer $target, int $offset, uint $value, int $flags)`
nqp-2020.10+dfsg/docs/ops.markdown-2334-
nqp-2020.10+dfsg/docs/ops.markdown:2335:Writes the unsigned integer `$value` at `$offset` into the buffer `$target`,
nqp-2020.10+dfsg/docs/ops.markdown:2336:with the size and endianness specified by `$flags`.
nqp-2020.10+dfsg/docs/ops.markdown-2337-
nqp-2020.10+dfsg/docs/ops.markdown-2338-## writenum `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:2339:* `writenum(buffer $target, int $offset, num $value, int $flags)`
nqp-2020.10+dfsg/docs/ops.markdown-2340-
nqp-2020.10+dfsg/docs/ops.markdown:2341:Writes the floating point `$value` at `$offset` into the buffer `$target`.
nqp-2020.10+dfsg/docs/ops.markdown-2342-Only 32-bit and 64-bit sizes are supported.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2344-## readint `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:2345:* `readint(buffer $source, int $offset, int $flags --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2346-
nqp-2020.10+dfsg/docs/ops.markdown:2347:Reads a signed integer at offset `$offset` from `$source` with size and
nqp-2020.10+dfsg/docs/ops.markdown:2348:endianness specified by `$flags`. Returns that value, widened to a 64-bit int.
nqp-2020.10+dfsg/docs/ops.markdown-2349-
nqp-2020.10+dfsg/docs/ops.markdown-2350-## readuint `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:2351:* `readuint(buffer $source, int $offset, int $flags --> uint)`
nqp-2020.10+dfsg/docs/ops.markdown-2352-
nqp-2020.10+dfsg/docs/ops.markdown:2353:Reads an unsigned integer at offset `$offset` from `$source` with size and
nqp-2020.10+dfsg/docs/ops.markdown:2354:endianness specified by `$flags`. Returns that value, widened to a 64-bit uint.
nqp-2020.10+dfsg/docs/ops.markdown-2355-
nqp-2020.10+dfsg/docs/ops.markdown-2356-## readnum `moar` `js`
nqp-2020.10+dfsg/docs/ops.markdown:2357:* `readnum(buffer $source, int $offset, int $flags --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-2358-
nqp-2020.10+dfsg/docs/ops.markdown:2359:Reads a floating point number at offset `$offset` from `$source` with the
nqp-2020.10+dfsg/docs/ops.markdown:2360:size specified by `$flags`. Returns that value, widened to a 64-bit num.
nqp-2020.10+dfsg/docs/ops.markdown-2361-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2364-## attrinited
nqp-2020.10+dfsg/docs/ops.markdown:2365:* `attrinited(Mu $obj. Mu:T $type, str $attributename --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2366-
nqp-2020.10+dfsg/docs/ops.markdown:2367:Test if the attribute of name `$attributename` of object `$obj`
nqp-2020.10+dfsg/docs/ops.markdown-2368-has been bound, see `bindattr`. Note that any access to the atribute
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2371-## bindattr
nqp-2020.10+dfsg/docs/ops.markdown:2372:* `bindattr(Mu $obj, Mu:T $type, str $attributename, Mu $new_value)`
nqp-2020.10+dfsg/docs/ops.markdown:2373:* `bindattr_i(Mu $obj, Mu:T $type, str $attributename, int $new_value)`
nqp-2020.10+dfsg/docs/ops.markdown:2374:* `bindattr_n(Mu $obj, Mu:T $type, str $attributename, num $new_value)`
nqp-2020.10+dfsg/docs/ops.markdown:2375:* `bindattr_s(Mu $obj, Mu:T $type, str $attributename, str $new_value)`
nqp-2020.10+dfsg/docs/ops.markdown-2376-
nqp-2020.10+dfsg/docs/ops.markdown:2377:Binds `$new_value` to the attribute of name `$attributename` of object `$obj`,
nqp-2020.10+dfsg/docs/ops.markdown:2378:where the attribute was declared in type `$type`. The notes in the
nqp-2020.10+dfsg/docs/ops.markdown-2379-`getattr` documentation also apply to `bindattr`.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2381-## bindcomp
nqp-2020.10+dfsg/docs/ops.markdown:2382:* `bindcomp(str $base-class, Mu $compiler --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2383-
nqp-2020.10+dfsg/docs/ops.markdown:2384:Registers `$compiler` as the compiler for the language named `$base-class`, as in:
nqp-2020.10+dfsg/docs/ops.markdown-2385-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2388-
nqp-2020.10+dfsg/docs/ops.markdown:2389:In general, though, `$lang` will inherit from `HLL::Compiler`, and the above
nqp-2020.10+dfsg/docs/ops.markdown-2390-will be achieved via:
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2404-## callmethod
nqp-2020.10+dfsg/docs/ops.markdown:2405:* `callmethod(Mu $obj, str $methodname, *@pos, *%named --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2406-
nqp-2020.10+dfsg/docs/ops.markdown:2407:Uses `findmethod` to locate method `$methodname` on object `$obj`, and `call`
nqp-2020.10+dfsg/docs/ops.markdown-2408-to invoke the method with positional arguments `*@pos` and named arguments
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2418-## can
nqp-2020.10+dfsg/docs/ops.markdown:2419:* `can(Mu $obj, str $method --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2420-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2422-
nqp-2020.10+dfsg/docs/ops.markdown:2423:Returns 1 if ``$obj`` object has FALLBACK method.
nqp-2020.10+dfsg/docs/ops.markdown-2424-
nqp-2020.10+dfsg/docs/ops.markdown-2425-## clone
nqp-2020.10+dfsg/docs/ops.markdown:2426:* `clone(Mu $obj --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2427-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2430-## create
nqp-2020.10+dfsg/docs/ops.markdown:2431:* `create(Mu:T $type --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2432-
nqp-2020.10+dfsg/docs/ops.markdown:2433:Returns a newly allocated instance of type `$type`.
nqp-2020.10+dfsg/docs/ops.markdown-2434-
nqp-2020.10+dfsg/docs/ops.markdown-2435-## eqaddr
nqp-2020.10+dfsg/docs/ops.markdown:2436:* `eqaddr(Mu $l, Mu $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2437-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2441-## findmethod
nqp-2020.10+dfsg/docs/ops.markdown:2442:* `findmethod(Mu $obj, str $method --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2443-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2447-## getattr
nqp-2020.10+dfsg/docs/ops.markdown:2448:* `getattr(Mu $obj, Mu:T $type, str $attributename --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:2449:* `getattr_i(Mu $obj, Mu:T $type, str $attributename --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2450:* `getattr_n(Mu $obj, Mu:T $type, str $attributename --> num)`
nqp-2020.10+dfsg/docs/ops.markdown:2451:* `getattr_s(Mu $obj, Mu:T $type, str $attributename --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-2452-
nqp-2020.10+dfsg/docs/ops.markdown:2453:Returns the attribute of name `$attributename` of object `$obj`, where the
nqp-2020.10+dfsg/docs/ops.markdown:2454:object was declared in class `$type`. The `_n`, `_i`, and `_s` variants are
nqp-2020.10+dfsg/docs/ops.markdown-2455-for natively typed attributes.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2473-Note that in languages that support a full-blown container model, you might
nqp-2020.10+dfsg/docs/ops.markdown:2474:need to decontainerize `$obj` before passing it to `getattr`, unless you
nqp-2020.10+dfsg/docs/ops.markdown-2475-actually want to access an attribute of the container.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2477-## getcomp
nqp-2020.10+dfsg/docs/ops.markdown:2478:* `getcomp(str $base-class --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2479-
nqp-2020.10+dfsg/docs/ops.markdown:2480:Returns the compiler class registered for that `$base-class`.
nqp-2020.10+dfsg/docs/ops.markdown-2481-See `bindcomp` for more information.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2483-## how
nqp-2020.10+dfsg/docs/ops.markdown:2484:* `how(Mu $obj --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2485-
nqp-2020.10+dfsg/docs/ops.markdown:2486:NQP equivalent for Raku's `$obj.HOW`.
nqp-2020.10+dfsg/docs/ops.markdown-2487-
nqp-2020.10+dfsg/docs/ops.markdown-2488-## rebless
nqp-2020.10+dfsg/docs/ops.markdown:2489:* `rebless(Mu $obj, Mu:T $type --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2490-
nqp-2020.10+dfsg/docs/ops.markdown:2491:Convert `$obj` to be an object of the new `$type`.
nqp-2020.10+dfsg/docs/ops.markdown-2492-
nqp-2020.10+dfsg/docs/ops.markdown-2493-## reprname
nqp-2020.10+dfsg/docs/ops.markdown:2494:* `reprname(Mu $obj --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-2495-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2498-## setwho
nqp-2020.10+dfsg/docs/ops.markdown:2499:* `setwho(Mu $obj, Mu $who --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2500-
nqp-2020.10+dfsg/docs/ops.markdown:2501:Replace `$obj`'s WHO. Return `$obj`.
nqp-2020.10+dfsg/docs/ops.markdown-2502-
nqp-2020.10+dfsg/docs/ops.markdown-2503-## who
nqp-2020.10+dfsg/docs/ops.markdown:2504:* `who(Mu $obj --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2505-
nqp-2020.10+dfsg/docs/ops.markdown:2506:NQP equivalent for Raku's `$obj.WHO`.
nqp-2020.10+dfsg/docs/ops.markdown-2507-
nqp-2020.10+dfsg/docs/ops.markdown-2508-## what
nqp-2020.10+dfsg/docs/ops.markdown:2509:* `what(Mu $obj --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-2510-
nqp-2020.10+dfsg/docs/ops.markdown:2511:NQP equivalent for Raku's `$obj.WHAT`.
nqp-2020.10+dfsg/docs/ops.markdown-2512-
nqp-2020.10+dfsg/docs/ops.markdown-2513-## where
nqp-2020.10+dfsg/docs/ops.markdown:2514:* `where(Mu $obj --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2515-
nqp-2020.10+dfsg/docs/ops.markdown:2516:Return a unique ID for this `$obj`.
nqp-2020.10+dfsg/docs/ops.markdown-2517-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2520-## bitand
nqp-2020.10+dfsg/docs/ops.markdown:2521:* `bitand_i(int $l, int $r)`
nqp-2020.10+dfsg/docs/ops.markdown:2522:* `bitand_s(str $l, str $r --> str)`
nqp-2020.10+dfsg/docs/ops.markdown:2523:* `bitand_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-2524-
nqp-2020.10+dfsg/docs/ops.markdown:2525:AND the bits in `$l` and `$r`.
nqp-2020.10+dfsg/docs/ops.markdown-2526-`_I` variant returns an object of the given type.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2528-## bitneg
nqp-2020.10+dfsg/docs/ops.markdown:2529:* `bitneg_i(int $bits --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2530:* `bitneg_I(Int $bits, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-2531-
nqp-2020.10+dfsg/docs/ops.markdown:2532:Negate the bits in `$bits`.
nqp-2020.10+dfsg/docs/ops.markdown-2533-`_I` variant returns an object of the given type.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2535-## bitor
nqp-2020.10+dfsg/docs/ops.markdown:2536:* `bitor_i(int $l, int $r)`
nqp-2020.10+dfsg/docs/ops.markdown:2537:* `bitor_s(str $l, str $r --> str)`
nqp-2020.10+dfsg/docs/ops.markdown:2538:* `bitor_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-2539-
nqp-2020.10+dfsg/docs/ops.markdown:2540:OR the bits in `$l` and `$r`.
nqp-2020.10+dfsg/docs/ops.markdown-2541-`_I` variant returns an object of the given type.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2543-## bitshiftl
nqp-2020.10+dfsg/docs/ops.markdown:2544:* `bitshiftl_i(int $bits, int $count --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2545:* `bitshiftl_I(Int $bits, int $count, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-2546-
nqp-2020.10+dfsg/docs/ops.markdown:2547:Signed left shift of `$bits` by `$count`.
nqp-2020.10+dfsg/docs/ops.markdown-2548-`_I` variant returns an object of the given type.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2550-## bitshiftr
nqp-2020.10+dfsg/docs/ops.markdown:2551:* `bitshiftr_i(int $bits, int $count --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2552:* `bitshiftr_I(Int $bits, int $count, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-2553-
nqp-2020.10+dfsg/docs/ops.markdown:2554:Signed right shift of `$bits` by `$count`.
nqp-2020.10+dfsg/docs/ops.markdown-2555-`_I` variant returns an object of the given type.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2557-## bitxor
nqp-2020.10+dfsg/docs/ops.markdown:2558:* `bitxor_i(int $l, int $r --> int)`
nqp-2020.10+dfsg/docs/ops.markdown:2559:* `bitxor_s(str $l, str $r --> str)`
nqp-2020.10+dfsg/docs/ops.markdown:2560:* `bitxor_I(Int $l, Int $r, Mu:T $type --> Int)`
nqp-2020.10+dfsg/docs/ops.markdown-2561-
nqp-2020.10+dfsg/docs/ops.markdown:2562:XOR the bits in `$l` and `$r`.
nqp-2020.10+dfsg/docs/ops.markdown-2563-`_I` variant returns an object of the given type.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2572-## ctxcaller
nqp-2020.10+dfsg/docs/ops.markdown:2573:* `ctxcaller(Context $ctx)`
nqp-2020.10+dfsg/docs/ops.markdown-2574-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2577-## ctxlexpad
nqp-2020.10+dfsg/docs/ops.markdown:2578:* `ctxlexpad(Context $ctx)`
nqp-2020.10+dfsg/docs/ops.markdown-2579-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2587-## ctxouter
nqp-2020.10+dfsg/docs/ops.markdown:2588:* `ctxouter(Context $ctx)`
nqp-2020.10+dfsg/docs/ops.markdown-2589-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2592-## lexprimspec
nqp-2020.10+dfsg/docs/ops.markdown:2593:* `lexprimspec(LexPad $pad, str $name --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-2594-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2616-## getlex `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:2617:* `getlex(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown:2618:* `getlex_i(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown:2619:* `getlex_n(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown:2620:* `getlex_s(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown-2621-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2626-## getlexref `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:2627:* `getlexref_i(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown:2628:* `getlexref_n(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown:2629:* `getlexref_s(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown-2630-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2640-## bindlex `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:2641:* `bindlex(str $name, Mu $value)`
nqp-2020.10+dfsg/docs/ops.markdown:2642:* `bindlex_i(str $name, int $value)`
nqp-2020.10+dfsg/docs/ops.markdown:2643:* `bindlex_n(str $name, num $value)`
nqp-2020.10+dfsg/docs/ops.markdown:2644:* `bindlex_s(str $name, str $value)`
nqp-2020.10+dfsg/docs/ops.markdown-2645-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2650-## getlexdyn
nqp-2020.10+dfsg/docs/ops.markdown:2651:* `getlexdyn(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown-2652-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2656-## bindlexdyn
nqp-2020.10+dfsg/docs/ops.markdown:2657:* `bindlexdyn(str $name, Mu $value)`
nqp-2020.10+dfsg/docs/ops.markdown-2658-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2662-## getlexouter
nqp-2020.10+dfsg/docs/ops.markdown:2663:* `getlexouter(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown-2664-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2668-## getlexcaller
nqp-2020.10+dfsg/docs/ops.markdown:2669:* `getlexcaller(str $name)`
nqp-2020.10+dfsg/docs/ops.markdown-2670-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2674-## getlexrel
nqp-2020.10+dfsg/docs/ops.markdown:2675:* `getlexrel(Mu $context, str $name)`
nqp-2020.10+dfsg/docs/ops.markdown-2676-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2680-## getlexreldyn
nqp-2020.10+dfsg/docs/ops.markdown:2681:* `getlexreldyn(Mu $context, str $name)`
nqp-2020.10+dfsg/docs/ops.markdown-2682-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2686-## getlexrelcaller
nqp-2020.10+dfsg/docs/ops.markdown:2687:* `getlexrelcaller(Mu $context, str $name)`
nqp-2020.10+dfsg/docs/ops.markdown-2688-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2694-## bind
nqp-2020.10+dfsg/docs/ops.markdown:2695:* `bind(Mu $variable, Mu $value)`
nqp-2020.10+dfsg/docs/ops.markdown-2696-
nqp-2020.10+dfsg/docs/ops.markdown:2697:Binds `$value` to the `$variable`. Dies if `$variable` isn't actually a
nqp-2020.10+dfsg/docs/ops.markdown-2698-variable. Same as the `:=` operator in NQP.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2702-## locallifetime
nqp-2020.10+dfsg/docs/ops.markdown:2703:* `QAST::Op.new(:op<locallifetime>, :node($/), QAST::Stmt.new(...))`
nqp-2020.10+dfsg/docs/ops.markdown-2704-
nqp-2020.10+dfsg/docs/ops.markdown-2705-Defines when local variables can be considered dead. E.g. the temporary setting
nqp-2020.10+dfsg/docs/ops.markdown:2706:of `$_` on the right side of `~~` uses that.
nqp-2020.10+dfsg/docs/ops.markdown-2707-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2794-## decodelocaltime
nqp-2020.10+dfsg/docs/ops.markdown:2795:* `decodelocaltime(int $epoch --> int @tm)`
nqp-2020.10+dfsg/docs/ops.markdown-2796-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2807-## getcodename
nqp-2020.10+dfsg/docs/ops.markdown:2808:* `getcodename($obj --> str)`
nqp-2020.10+dfsg/docs/ops.markdown-2809-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2855-## debugnoop `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:2856:* `debugnoop(Mu $a)`
nqp-2020.10+dfsg/docs/ops.markdown-2857-
nqp-2020.10+dfsg/docs/ops.markdown:2858:Returns `$a`. Does nothing, exists only to provide a breakpoint location
nqp-2020.10+dfsg/docs/ops.markdown-2859-for debugging.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2861-## exit
nqp-2020.10+dfsg/docs/ops.markdown:2862:* `exit(int $status)`
nqp-2020.10+dfsg/docs/ops.markdown-2863-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2964-## setcodename
nqp-2020.10+dfsg/docs/ops.markdown:2965:* `setcodename($obj, str)`
nqp-2020.10+dfsg/docs/ops.markdown-2966-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2971-## sha1
nqp-2020.10+dfsg/docs/ops.markdown:2972:* `sha1(str $str -> str)`
nqp-2020.10+dfsg/docs/ops.markdown-2973-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2978-## sleep
nqp-2020.10+dfsg/docs/ops.markdown:2979:* `sleep(num $seconds --> num)`
nqp-2020.10+dfsg/docs/ops.markdown-2980-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-2984-## takeclosure
nqp-2020.10+dfsg/docs/ops.markdown:2985:* `takeclosure(Block $innerblock)`
nqp-2020.10+dfsg/docs/ops.markdown-2986-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3001-## mvmstartprofile `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3002:* `mvmstartprofile(hash $config)`
nqp-2020.10+dfsg/docs/ops.markdown-3003-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3103-## permit
nqp-2020.10+dfsg/docs/ops.markdown:3104:* `permit(AsyncTask $handle, int $channel, int $permits)`
nqp-2020.10+dfsg/docs/ops.markdown-3105-
nqp-2020.10+dfsg/docs/ops.markdown:3106:Takes something with the AsyncTask REPR (the `$handle` parameter) and
nqp-2020.10+dfsg/docs/ops.markdown:3107:permits it to emit up to `$permits` more notifications. This is used
nqp-2020.10+dfsg/docs/ops.markdown-3108-as a back-pressure mechanism for asynchronous tasks that produce a
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3111-an asynchronous process may emit events for STDOUT (channel 1) and
nqp-2020.10+dfsg/docs/ops.markdown:3112:STDERR (channel 2) if both are of interest. The `$channel` argument is
nqp-2020.10+dfsg/docs/ops.markdown-3113-used to specify which channel is to get the permits if needed (use a
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3115-
nqp-2020.10+dfsg/docs/ops.markdown:3116:If `$permits` is less than zero (e.g., `permit($task, $channel, -1)`,
nqp-2020.10+dfsg/docs/ops.markdown-3117-then it means there is no limit to the emits.
nqp-2020.10+dfsg/docs/ops.markdown-3118-
nqp-2020.10+dfsg/docs/ops.markdown:3119:If `$permits` is set to any value greater than or equal to zero, then:
nqp-2020.10+dfsg/docs/ops.markdown-3120-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3128-## cancel `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:3129:* `cancel(AsyncTask $handle)`
nqp-2020.10+dfsg/docs/ops.markdown-3130-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3136-## timer `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:3137:* `timer($queue, $schedulee, int $timeout, int $repeat, $handle_type)`
nqp-2020.10+dfsg/docs/ops.markdown-3138-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3145-## signal `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:3146:* `signal($queue, $schedulee, int [nqp::cosnt::SIG_], $handle_type)`
nqp-2020.10+dfsg/docs/ops.markdown-3147-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3152-## watchfile `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:3153:* `watchfile($queue, $schedulee, str $filename, $handle_type)`
nqp-2020.10+dfsg/docs/ops.markdown-3154-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3160-## asyncconnect
nqp-2020.10+dfsg/docs/ops.markdown:3161:* `asyncconnect($queue, $schedulee, str $host, int $port, $handle_type)`
nqp-2020.10+dfsg/docs/ops.markdown-3162-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3169-## asynclisten
nqp-2020.10+dfsg/docs/ops.markdown:3170:* `asynclisten($queue, $schedulee, str $host, int $port, $handle_type)`
nqp-2020.10+dfsg/docs/ops.markdown-3171-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3178-## asyncwritebytes
nqp-2020.10+dfsg/docs/ops.markdown:3179:* `asyncwritebytes($handle, $queue, $schedulee, $to_write, $handle_type)`
nqp-2020.10+dfsg/docs/ops.markdown-3180-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3187-## asyncreadbytes `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:3188:* `asyncreadbytes($handle, $queue, $schedulee, $buf_type, $handle_type)`
nqp-2020.10+dfsg/docs/ops.markdown-3189-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3197-## spawnprocasync
nqp-2020.10+dfsg/docs/ops.markdown:3198:* `spawnprocasync($queue, $args, $cwd, %env, $callbacks)`
nqp-2020.10+dfsg/docs/ops.markdown-3199-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3202-## killprocasync
nqp-2020.10+dfsg/docs/ops.markdown:3203:* `killprocasync($handle, $signal)`
nqp-2020.10+dfsg/docs/ops.markdown-3204-
nqp-2020.10+dfsg/docs/ops.markdown-3205-## currentthread `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:3206:* `currentthread($thread)`
nqp-2020.10+dfsg/docs/ops.markdown-3207-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3210-## threadlockcount `moar` `jvm`
nqp-2020.10+dfsg/docs/ops.markdown:3211:* `threadlockcount($thread)`
nqp-2020.10+dfsg/docs/ops.markdown-3212-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3245-## bindhllsym / bindcurhllsym
nqp-2020.10+dfsg/docs/ops.markdown:3246:* `bindhllsym(str $hllname, str $symname, $value)`
nqp-2020.10+dfsg/docs/ops.markdown:3247:* `bindcurhllsym(str $symname, $value)`
nqp-2020.10+dfsg/docs/ops.markdown-3248-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3252-## gethllsym / getcurhllsym
nqp-2020.10+dfsg/docs/ops.markdown:3253:* `gethllsym(str $hllname, str $symname --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown:3254:* `getcurhllsym(str $symname --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-3255-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3272-## cas `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3273:* `cas(ObjectContainer $cont, Mu $expected, Mu $new --> Mu)`
nqp-2020.10+dfsg/docs/ops.markdown-3274-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3276-atomic compare and swap, and performs an atomic compare and swap operation.
nqp-2020.10+dfsg/docs/ops.markdown:3277:The operation atomically compares the `$expected` object with what is currently
nqp-2020.10+dfsg/docs/ops.markdown-3278-held in the container. If they are the same object, then it replaces it with
nqp-2020.10+dfsg/docs/ops.markdown:3279:`$new`. If not, no change takes place. The original object stored in the
nqp-2020.10+dfsg/docs/ops.markdown-3280-container is returned, which can be used with `eqaddr` to check if it is the
nqp-2020.10+dfsg/docs/ops.markdown:3281:same as the `$expected` object. The container may perform type checks on the
nqp-2020.10+dfsg/docs/ops.markdown:3282:`$new` object before it attempts the operation.
nqp-2020.10+dfsg/docs/ops.markdown-3283-
nqp-2020.10+dfsg/docs/ops.markdown-3284-## cas_i `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3285:* `cas_i(NativeIntRef $i, int64 $expected, int64 $new --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-3286-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3290-perform an atomic compare and swap operation on the referenced integer. The
nqp-2020.10+dfsg/docs/ops.markdown:3291:operation atomically compares the `$expected` value with the value currently
nqp-2020.10+dfsg/docs/ops.markdown-3292-at the referenced location. If they are equal, it replaces the value with
nqp-2020.10+dfsg/docs/ops.markdown:3293:`$new`. If they are not equal, nothing happens. The operation evaluates to the
nqp-2020.10+dfsg/docs/ops.markdown:3294:value originally at the location (which can be compared with `$expected` to
nqp-2020.10+dfsg/docs/ops.markdown-3295-see if the operation was a success).
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3297-## atomicinc_i `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3298:* `atomicinc_i(NativeIntRef $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-3299-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3304-## atomicdec_i `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3305:* `atomicdec_i(NativeIntRef $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-3306-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3311-## atomicadd_i `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3312:* `atomicadd_i(NativeIntRef $i, int $value --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-3313-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3320-## atomicload `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3321:* `atomicload(ObjectContainer $c)`
nqp-2020.10+dfsg/docs/ops.markdown-3322-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3327-## atomicload_i `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3328:* `atomicload_i(NativeIntRef $i --> int)`
nqp-2020.10+dfsg/docs/ops.markdown-3329-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3334-## atomicstore `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3335:* `atomicstore(ObjectContainer $c, Mu $value)`
nqp-2020.10+dfsg/docs/ops.markdown-3336-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3343-## atomicstore_i `moar`
nqp-2020.10+dfsg/docs/ops.markdown:3344:* `atomicstore_i(NativeIntRef $i, int64 $value)`
nqp-2020.10+dfsg/docs/ops.markdown-3345-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3359-## createsc
nqp-2020.10+dfsg/docs/ops.markdown:3360:* `createsc($handle-string)`
nqp-2020.10+dfsg/docs/ops.markdown-3361-creates a serialization context and returns it.
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3363-## scsetdesc
nqp-2020.10+dfsg/docs/ops.markdown:3364:* `scsetdesc($sc, $descriptor-string)`
nqp-2020.10+dfsg/docs/ops.markdown-3365-
nqp-2020.10+dfsg/docs/ops.markdown:3366:Set a descriptor for `$sc` created by `createsc()`
nqp-2020.10+dfsg/docs/ops.markdown-3367-
nqp-2020.10+dfsg/docs/ops.markdown-3368-## scgetdesc
nqp-2020.10+dfsg/docs/ops.markdown:3369:* `scgetdesc($sc)`
nqp-2020.10+dfsg/docs/ops.markdown-3370-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3373-## scgethandle
nqp-2020.10+dfsg/docs/ops.markdown:3374:* `scgethandle($sc)`
nqp-2020.10+dfsg/docs/ops.markdown-3375-
nqp-2020.10+dfsg/docs/ops.markdown:3376:Get the handle string used by `createsc` to create the SC `$sc`
nqp-2020.10+dfsg/docs/ops.markdown-3377-
nqp-2020.10+dfsg/docs/ops.markdown-3378-## pushcompsc
nqp-2020.10+dfsg/docs/ops.markdown:3379:* `pushcompsc($sc)`
nqp-2020.10+dfsg/docs/ops.markdown-3380-
nqp-2020.10+dfsg/docs/ops.markdown-3381-## popcompsc
nqp-2020.10+dfsg/docs/ops.markdown:3382:* `popcompsc($sc)`
nqp-2020.10+dfsg/docs/ops.markdown-3383-
nqp-2020.10+dfsg/docs/ops.markdown-3384-## scsetobjc
nqp-2020.10+dfsg/docs/ops.markdown:3385:* `scsetobj($sc, $idx, $obj)`
nqp-2020.10+dfsg/docs/ops.markdown-3386-
nqp-2020.10+dfsg/docs/ops.markdown-3387-## setobjsc
nqp-2020.10+dfsg/docs/ops.markdown:3388:* `setobjsc($obj, $sc)`
nqp-2020.10+dfsg/docs/ops.markdown-3389-
nqp-2020.10+dfsg/docs/ops.markdown-3390-## getobjsc
nqp-2020.10+dfsg/docs/ops.markdown:3391:* `getobjsc($obj)`
nqp-2020.10+dfsg/docs/ops.markdown-3392-
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3405-## freshcoderef
nqp-2020.10+dfsg/docs/ops.markdown:3406:* `freshcoderef($code-object)`
nqp-2020.10+dfsg/docs/ops.markdown-3407-Creates a clone of the given code object and a clone of its static frame and
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3412-## markcodestatic
nqp-2020.10+dfsg/docs/ops.markdown:3413:* `markcodestatic($code-object)`
nqp-2020.10+dfsg/docs/ops.markdown-3414-Marks the code as "static" meaning it's not a closure and thus no closure will
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3417-## scsetcode
nqp-2020.10+dfsg/docs/ops.markdown:3418:* `scsetcode($sc, $index, $code-object)`
nqp-2020.10+dfsg/docs/ops.markdown-3419-Adds $code-object to the serialization context at block index $index
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3421-## forceouterctx
nqp-2020.10+dfsg/docs/ops.markdown:3422:* `forceouterctx($code-object, $context)`
nqp-2020.10+dfsg/docs/ops.markdown-3423-Sets the code object's outer to the context's frame and also the code object's
##############################################
nqp-2020.10+dfsg/docs/ops.markdown-3428-## neverrepossess
nqp-2020.10+dfsg/docs/ops.markdown:3429:* `neverrepossess($obj)`
nqp-2020.10+dfsg/docs/ops.markdown-3430-Prevents the object from ever getting repossessed. Repossession means that an
##############################################
nqp-2020.10+dfsg/examples/rubyish/rubyish.nqp-1047-
nqp-2020.10+dfsg/examples/rubyish/rubyish.nqp:1048:    method eval($code, *@_args, *%adverbs) {
nqp-2020.10+dfsg/examples/rubyish/rubyish.nqp-1049-        my $output := self.compile($code, :compunit_ok(1), |%adverbs);
##############################################
nqp-2020.10+dfsg/examples/webpacked/example.nqp-1-sub js($code) {
nqp-2020.10+dfsg/examples/webpacked/example.nqp:2:    nqp::getcomp("JavaScript").eval($code);
nqp-2020.10+dfsg/examples/webpacked/example.nqp-3-}
##############################################
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-104-                {
nqp-2020.10+dfsg/src/HLL/Compiler.nqp:105:                    $output := self.eval($code, :outer_ctx($!save_ctx), |%adverbs);
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-106-                    CATCH {
##############################################
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-157-
nqp-2020.10+dfsg/src/HLL/Compiler.nqp:158:    method eval($code, *@args, *%adverbs) {
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-159-        my $output;
##############################################
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-282-            for $split -> $str {
nqp-2020.10+dfsg/src/HLL/Compiler.nqp:283:                my $absolute := nqp::getcomp('JavaScript').eval('return (function(path) {return require("path").resolve(process.cwd(), path)})')(~$str);
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-284-                nqp::push_s($*LIBPATH, $absolute);
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-285-            }
nqp-2020.10+dfsg/src/HLL/Compiler.nqp:286:            nqp::getcomp('JavaScript').eval('return (function(paths) {nqp.libpath(paths)})')($*LIBPATH);
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-287-        }
##############################################
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-444-        my $?FILES := %adverbs<source-name> || join(' ', @files);
nqp-2020.10+dfsg/src/HLL/Compiler.nqp:445:        my $r := self.eval($code, |@args, |%adverbs);
nqp-2020.10+dfsg/src/HLL/Compiler.nqp-446-        if $target eq '' || $!backend.is_textual_stage($target) || %adverbs<output> {
##############################################
nqp-2020.10+dfsg/src/NQP/Optimizer.nqp-262-        my int $und := nqp::index($opname, '_');
nqp-2020.10+dfsg/src/NQP/Optimizer.nqp:263:        my str $asm := $und > 0 ?? nqp::substr($opname, 0, $und) !! '';
nqp-2020.10+dfsg/src/NQP/Optimizer.nqp-264-        # Enrich various ops with int/num/str annotations.
##############################################
nqp-2020.10+dfsg/src/NQP/Optimizer.nqp-338-        if returns_int($op[0]) && (nqp::elems($op) == 1 || returns_int($op[1])) {
nqp-2020.10+dfsg/src/NQP/Optimizer.nqp:339:            my $newopn := $asm ~ "_i";
nqp-2020.10+dfsg/src/NQP/Optimizer.nqp-340-            $op.op($newopn);
##############################################
nqp-2020.10+dfsg/src/QRegex/Cursor.nqp-122-                if nqp::can($value, 'dump') {
nqp-2020.10+dfsg/src/QRegex/Cursor.nqp:123:                    nqp::push(@chunks, nqp::eqaddr($value, self)
nqp-2020.10+dfsg/src/QRegex/Cursor.nqp-124-                        ?? nqp::x(' ', $indent + 2) ~ "- <self-reference>\n"
##############################################
nqp-2020.10+dfsg/src/core/NQPRoutine.nqp-82-                my $type_obj_b := %b<types>[$i];
nqp-2020.10+dfsg/src/core/NQPRoutine.nqp:83:                if nqp::eqaddr($type_obj_a, $type_obj_b) {
nqp-2020.10+dfsg/src/core/NQPRoutine.nqp-84-                    ++$tied;
##############################################
nqp-2020.10+dfsg/src/core/NQPRoutine.nqp-278-                my $definedness := $cur_candidate<definednesses>[$i];
nqp-2020.10+dfsg/src/core/NQPRoutine.nqp:279:                unless nqp::eqaddr($param_type, $type_obj) || nqp::isnull($type_obj) || is_narrower_type($param_type, $type_obj) {
nqp-2020.10+dfsg/src/core/NQPRoutine.nqp-280-                    $type_mismatch := 1;
##############################################
nqp-2020.10+dfsg/src/vm/jvm/QAST/Compiler.nqp-3382-                }
nqp-2020.10+dfsg/src/vm/jvm/QAST/Compiler.nqp:3383:                unless nqp::eqaddr(@!stack[$sp], @things[$tp]) {
nqp-2020.10+dfsg/src/vm/jvm/QAST/Compiler.nqp-3384-                    $ok := 0;
##############################################
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java-36-
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java:37:@SuppressWarnings("unchecked") /* our asm is stripped */
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java-38-class AutosplitMethodWriter extends MethodNode {
##############################################
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java-235-    private void getInstructions() {
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java:236:        // munge the linked list of insns we got from ASM into something saner
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java-237-        ArrayList<AbstractInsnNode> tempInsnList = new ArrayList< >();
##############################################
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java-769-        public ClassContext() {}
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java:770:        /** The ASM class writer. */
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java-771-        public ClassWriter cv;
##############################################
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java-931-        public ClassContext cc;
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java:932:        /** The ASM method writer. */
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java-933-        public MethodVisitor mv;
##############################################
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/Ops.java-2350-    }
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/Ops.java:2351:    public static long eqaddr(SixModelObject a, SixModelObject b) {
nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/Ops.java-2352-        return a == b ? 1 : 0;
##############################################
nqp-2020.10+dfsg/src/vm/moar/HLL/Backend.nqp-6-    while (my $found := nqp::index($result, $pattern, $where)) != -1 {
nqp-2020.10+dfsg/src/vm/moar/HLL/Backend.nqp:7:        $where := $found + nqp::chars($replacement);
nqp-2020.10+dfsg/src/vm/moar/HLL/Backend.nqp-8-        $result := nqp::replace($result, $found, nqp::chars($pattern), $replacement);
##############################################
nqp-2020.10+dfsg/src/vm/moar/QAST/QASTCompilerMAST.nqp-1377-            if !nqp::existskey(%*STMTTEMPS, $temp_key) &&
nqp-2020.10+dfsg/src/vm/moar/QAST/QASTCompilerMAST.nqp:1378:                    !nqp::eqaddr($*BLOCK.local($temp_key), $result.result_reg) {
nqp-2020.10+dfsg/src/vm/moar/QAST/QASTCompilerMAST.nqp-1379-                $*BLOCK.release_temp($temp_key);
##############################################
nqp-2020.10+dfsg/t/concurrency/01-thread.t-120-    ok($ok, 'threadyield() properly interleaved parent and child threads');
nqp-2020.10+dfsg/t/concurrency/01-thread.t:121:    say("# execution order = $order (expected a,1,b,2,c)") if !$ok;
nqp-2020.10+dfsg/t/concurrency/01-thread.t-122-}
##############################################
nqp-2020.10+dfsg/t/concurrency/01-thread.t-158-    ok($ok, 'threadyield() properly interleaved two child threads');
nqp-2020.10+dfsg/t/concurrency/01-thread.t:159:    say("# execution order = $order (expected a,1,b,2,c)") if !$ok;
nqp-2020.10+dfsg/t/concurrency/01-thread.t-160-}
##############################################
nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t-137-        $times-run++;
nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t:138:        if nqp::eqaddr($obj, $do-not-want) {
nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t-139-            nqp::speshguardobj($obj);
##############################################
nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t-350-        $times-run++;
nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t:351:        if nqp::eqaddr($obj, $do-not-want) {
nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t-352-            nqp::speshguardobj($obj);
##############################################
nqp-2020.10+dfsg/t/nqp/010-cmp.t-64-
nqp-2020.10+dfsg/t/nqp/010-cmp.t:65:if nqp::eqaddr((1,2),(1,2)) {
nqp-2020.10+dfsg/t/nqp/010-cmp.t-66-    print("not ");
##############################################
nqp-2020.10+dfsg/t/nqp/010-cmp.t-71-
nqp-2020.10+dfsg/t/nqp/010-cmp.t:72:unless nqp::eqaddr(@a,@a) {
nqp-2020.10+dfsg/t/nqp/010-cmp.t-73-    print("not ");
##############################################
nqp-2020.10+dfsg/t/nqp/010-cmp.t-78-
nqp-2020.10+dfsg/t/nqp/010-cmp.t:79:unless nqp::eqaddr(@a,@b) {
nqp-2020.10+dfsg/t/nqp/010-cmp.t-80-    print("not ");
##############################################
nqp-2020.10+dfsg/t/nqp/010-cmp.t-87-
nqp-2020.10+dfsg/t/nqp/010-cmp.t:88:unless nqp::eqaddr($x,$y) {
nqp-2020.10+dfsg/t/nqp/010-cmp.t-89-    print("not ");
##############################################
nqp-2020.10+dfsg/t/nqp/010-cmp.t-92-
nqp-2020.10+dfsg/t/nqp/010-cmp.t:93:if nqp::eqaddr($x,$z) {
nqp-2020.10+dfsg/t/nqp/010-cmp.t-94-    print("not ");
##############################################
nqp-2020.10+dfsg/t/nqp/018-associative.t-36-ok(nqp::isnull($h<foo> := nqp::null()), 'when binding the null results the fallback does not happen');
nqp-2020.10+dfsg/t/nqp/018-associative.t:37:ok(nqp::eqaddr($h<foo>, NQPMu), 'when getting a null from a hash it\'s turned into a NQPMu');
nqp-2020.10+dfsg/t/nqp/018-associative.t-38-
##############################################
nqp-2020.10+dfsg/t/nqp/018-associative.t-49-
nqp-2020.10+dfsg/t/nqp/018-associative.t:50:ok(nqp::eqaddr(as_return_value(), NQPMu), 'getting a NQPMu for a missing hash member when used a s return value');
##############################################
nqp-2020.10+dfsg/t/nqp/019-file-ops.t-389-    my $buf := create_buf(uint8).new;
nqp-2020.10+dfsg/t/nqp/019-file-ops.t:390:    ok(nqp::eqaddr(nqp::readfh($fh, $buf, 5), $buf), 'nqp::readfh should return the buffer');
nqp-2020.10+dfsg/t/nqp/019-file-ops.t-391-    is(buf_dump($buf), '108,105,110,207,128', 'nqp::readfh read in correct unsigned bytes');
##############################################
nqp-2020.10+dfsg/t/nqp/019-file-ops.t-398-    my $buf := create_buf(int8).new;
nqp-2020.10+dfsg/t/nqp/019-file-ops.t:399:    ok(nqp::eqaddr(nqp::readfh($fh, $buf, 5), $buf), 'nqp::readfh should return the buffer');
nqp-2020.10+dfsg/t/nqp/019-file-ops.t-400-    is(buf_dump($buf), '108,105,110,-49,-128', 'nqp::readfh read in correct signed bytes');
##############################################
nqp-2020.10+dfsg/t/nqp/022-optional-args.t-20-my $comp := nqp::getcomp('nqp');
nqp-2020.10+dfsg/t/nqp/022-optional-args.t:21:dies-ok({ $comp.eval('sub f4 ($x?, $y) { $y; }') },
nqp-2020.10+dfsg/t/nqp/022-optional-args.t-22-  'illegal optional args dies ok',
##############################################
nqp-2020.10+dfsg/t/nqp/058-attrs.t-84-is($low.get_str, "hello world", 'nqp::bindattr_s');
nqp-2020.10+dfsg/t/nqp/058-attrs.t:85:ok(nqp::eqaddr($low.get_obj,$obj), 'nqp::bindattr');
nqp-2020.10+dfsg/t/nqp/058-attrs.t-86-
##############################################
nqp-2020.10+dfsg/t/nqp/058-attrs.t-89-is(nqp::getattr_s($low, Lowlevel, '$!str'), 'hello world', 'nqp::getattr_s');
nqp-2020.10+dfsg/t/nqp/058-attrs.t:90:ok(nqp::eqaddr(nqp::getattr($low, Lowlevel, '$!obj'), $obj), 'nqp::getattr');
nqp-2020.10+dfsg/t/nqp/058-attrs.t-91-
##############################################
nqp-2020.10+dfsg/t/nqp/058-attrs.t-185-
nqp-2020.10+dfsg/t/nqp/058-attrs.t:186:ok(nqp::eqaddr(nqp::getattr($a, $type, '$!type_object'), Mutable), 'autoviving type object');
##############################################
nqp-2020.10+dfsg/t/nqp/067-container.t-29-
nqp-2020.10+dfsg/t/nqp/067-container.t:30:    ok(nqp::eqaddr(nqp::assign($cont, 101), $cont), "assign return container");
nqp-2020.10+dfsg/t/nqp/067-container.t-31-    ok(nqp::decont($cont) == 101, 'assigned value stuck');
##############################################
nqp-2020.10+dfsg/t/nqp/067-container.t-34-
nqp-2020.10+dfsg/t/nqp/067-container.t:35:    ok(nqp::eqaddr(nqp::assignunchecked($cont, 69), $cont), "assignunchecked returns container");
nqp-2020.10+dfsg/t/nqp/067-container.t-36-
##############################################
nqp-2020.10+dfsg/t/nqp/067-container.t-66-    is($cont.HOW.name($cont), "Foo", "HOW deconts");
nqp-2020.10+dfsg/t/nqp/067-container.t:67:    ok(nqp::eqaddr($cont.WHAT, Foo), "WHAT deconts");
nqp-2020.10+dfsg/t/nqp/067-container.t-68-
##############################################
nqp-2020.10+dfsg/t/nqp/067-container.t-157-
nqp-2020.10+dfsg/t/nqp/067-container.t:158:    ok(nqp::eqaddr(nqp::how_nd($cont), SimpleCont.HOW), 'nqp::how_nd does not decont');
nqp-2020.10+dfsg/t/nqp/067-container.t:159:    ok(nqp::eqaddr(nqp::how($cont), Value.HOW), 'nqp::how deconts');
nqp-2020.10+dfsg/t/nqp/067-container.t-160-
##############################################
nqp-2020.10+dfsg/t/nqp/067-container.t-163-
nqp-2020.10+dfsg/t/nqp/067-container.t:164:    ok(nqp::eqaddr(nqp::what_nd($cont), SimpleCont), 'nqp::what_nd does not decont');
nqp-2020.10+dfsg/t/nqp/067-container.t:165:    ok(nqp::eqaddr(nqp::what($cont), Value), 'nqp::what deconts');
nqp-2020.10+dfsg/t/nqp/067-container.t-166-
##############################################
nqp-2020.10+dfsg/t/nqp/068-associative-for.t-70-
nqp-2020.10+dfsg/t/nqp/068-associative-for.t:71:    ok(nqp::eqaddr(nqp::shift($iter), $iter), 'iterator returns itself');
nqp-2020.10+dfsg/t/nqp/068-associative-for.t-72-
##############################################
nqp-2020.10+dfsg/t/nqp/068-associative-for.t-76-
nqp-2020.10+dfsg/t/nqp/068-associative-for.t:77:    ok(nqp::eqaddr(nqp::shift($iter), $iter), 'iterator returns itself again');
nqp-2020.10+dfsg/t/nqp/068-associative-for.t-78-
##############################################
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-56-
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:57:ok(nqp::eqaddr($ct1.HOW, $coercion_types.HOW), 'TestCoerceHOW is shared');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:58:ok(!nqp::eqaddr($ct1.WHAT, $coercion_types.WHAT), '.WHAT is not shared');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-59-
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:60:ok(nqp::eqaddr(nqp::typeparameterized($ct1), $coercion_types), 'Can get back to parametric type');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-61-
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:62:ok(nqp::eqaddr($ct1.HOW.to_type($ct1), A), 'Can get type parameter (1)');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:63:ok(nqp::eqaddr($ct1.HOW.from_type($ct1), B), 'Can get type parameter (2)');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-64-
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-65-ok(nqp::elems(nqp::typeparameters($ct1)) == 2
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:66:   && nqp::eqaddr(nqp::atpos(nqp::typeparameters($ct1), 0), A)
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:67:   && nqp::eqaddr(nqp::atpos(nqp::typeparameters($ct1), 1), B), 'nqp::typeparameters works correctly');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-68-
##############################################
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-77-ok($num_parameterizations == 1, 'Coercions are interned by type');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:78:ok(nqp::eqaddr($ct1, $ct2), 'Really got back same coercion type');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-79-
##############################################
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-81-ok($num_parameterizations == 2, 'Interning actually pays attention to types');
nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:82:ok(!nqp::eqaddr($ct1, $ct3), 'Got back a different coercion type');
##############################################
nqp-2020.10+dfsg/t/nqp/090-findmethod.t-16-
nqp-2020.10+dfsg/t/nqp/090-findmethod.t:17:ok(nqp::eqaddr(nqp::findmethod($foo, 'foo'), nqp::tryfindmethod($foo, 'foo')), 'nqp::tryfindmethod works like nqp::findmethod when the method exists');
nqp-2020.10+dfsg/t/nqp/090-findmethod.t-18-
##############################################
nqp-2020.10+dfsg/t/nqp/091-codename.t-4-is(nqp::getcodename(&foo), 'foo');
nqp-2020.10+dfsg/t/nqp/091-codename.t:5:ok(nqp::eqaddr(nqp::setcodename(&foo, 'bar'), &foo));
nqp-2020.10+dfsg/t/nqp/091-codename.t-6-is(nqp::getcodename(&foo), 'bar');
##############################################
nqp-2020.10+dfsg/t/nqp/093-oo-ops.t-27-my $ret := nqp::rebless($foo2, Foo2);
nqp-2020.10+dfsg/t/nqp/093-oo-ops.t:28:ok(nqp::eqaddr($ret, $foo2), "return value of nqp::rebless");
nqp-2020.10+dfsg/t/nqp/093-oo-ops.t-29-
##############################################
nqp-2020.10+dfsg/t/nqp/094-clone.t-25-
nqp-2020.10+dfsg/t/nqp/094-clone.t:26:ok(nqp::eqaddr(Foo, Foo), 'nqp::clone on a type object returns it');
nqp-2020.10+dfsg/t/nqp/094-clone.t-27-
##############################################
nqp-2020.10+dfsg/t/nqp/097-hll.t-47-
nqp-2020.10+dfsg/t/nqp/097-hll.t:48:ok(nqp::eqaddr(nqp::hllizefor($list_i, 'foobar'), $list_i), "list_i doesn't hllize");
nqp-2020.10+dfsg/t/nqp/097-hll.t:49:ok(nqp::eqaddr(nqp::hllizefor($list_s, 'foobar'), $list_s), "list_s doesn't hllize");
nqp-2020.10+dfsg/t/nqp/097-hll.t:50:ok(nqp::eqaddr(nqp::hllizefor($list_n, 'foobar'), $list_n), "list_n doesn't hllize");
nqp-2020.10+dfsg/t/nqp/097-hll.t-51-
##############################################
nqp-2020.10+dfsg/t/nqp/097-hll.t-64-
nqp-2020.10+dfsg/t/nqp/097-hll.t:65:ok(nqp::eqaddr($hash, $hash), 'preserving hash');
nqp-2020.10+dfsg/t/nqp/097-hll.t:66:ok(nqp::eqaddr(nqp::hllizefor($list, 'empty'), $list), 'preserving list');
nqp-2020.10+dfsg/t/nqp/097-hll.t:67:ok(nqp::eqaddr(nqp::hllizefor($sub, 'empty'), $sub), 'preserving code ref');
nqp-2020.10+dfsg/t/nqp/097-hll.t-68-ok(nqp::isnull(nqp::hllizefor(nqp::null(), 'empty')), 'preserving null');
##############################################
nqp-2020.10+dfsg/t/nqp/097-hll.t-121-
nqp-2020.10+dfsg/t/nqp/097-hll.t:122:ok(nqp::eqaddr(nqp::hllizefor($foobar-array, "foobar"), $foobar-array), "array in correct language");
nqp-2020.10+dfsg/t/nqp/097-hll.t-123-is(nqp::atpos(nqp::hllizefor($foobar-array, "baz"), 0), 'ARRAY:bazified array', "converting custom array");
nqp-2020.10+dfsg/t/nqp/097-hll.t-124-
nqp-2020.10+dfsg/t/nqp/097-hll.t:125:ok(nqp::eqaddr(nqp::hllizefor($foobar-code, "foobar"), $foobar-code), "code in correct language");
nqp-2020.10+dfsg/t/nqp/097-hll.t-126-is(nqp::atpos(nqp::hllizefor($foobar-code, "baz"), 0), 'CODE:bazified code', "converting custom code");
nqp-2020.10+dfsg/t/nqp/097-hll.t-127-
nqp-2020.10+dfsg/t/nqp/097-hll.t:128:ok(nqp::eqaddr(nqp::hllizefor($foobar-hash, "foobar"), $foobar-hash), "hash in correct language");
nqp-2020.10+dfsg/t/nqp/097-hll.t-129-is(nqp::atpos(nqp::hllizefor($foobar-hash, "baz"), 0), 'HASH:bazified hash', "converting custom hash");
nqp-2020.10+dfsg/t/nqp/097-hll.t-130-
nqp-2020.10+dfsg/t/nqp/097-hll.t:131:ok(nqp::eqaddr(nqp::hllizefor($foobar-other, "foobar"), $foobar-other), "other stuff doesn't get transformed");
nqp-2020.10+dfsg/t/nqp/097-hll.t:132:ok(nqp::eqaddr(nqp::hllizefor($foobar-other, "baz"), $foobar-other), "other stuff doesn't get transformed");
nqp-2020.10+dfsg/t/nqp/097-hll.t-133-
##############################################
nqp-2020.10+dfsg/t/nqp/097-hll.t-234-
nqp-2020.10+dfsg/t/nqp/097-hll.t:235:ok(nqp::eqaddr(nqp::hllboolfor(0, 'true_and_false'), FalseValue), 'hllboolfor with false');
nqp-2020.10+dfsg/t/nqp/097-hll.t:236:ok(nqp::eqaddr(nqp::hllboolfor(7, 'true_and_false'), TrueValue), 'hllboolfor with true');
##############################################
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-4-my $orig := nqp::getstaticcode(&foo);
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:5:ok(nqp::eqaddr(nqp::getstaticcode(nqp::clone(&foo)), $orig), "clone shares static code");
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-6-
##############################################
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-8-
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:9:ok(nqp::eqaddr(nqp::getstaticcode($fresh), $fresh), "a fresh code ref is it's own static code");
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:10:ok(!nqp::eqaddr(nqp::getstaticcode($fresh), $orig), "a fresh code ref has a different static code the orginal");
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:11:ok(nqp::eqaddr(nqp::getstaticcode(nqp::clone($fresh)), nqp::getstaticcode($fresh)), "a clone of a fresh code has the same static code");
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-12-
##############################################
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-14-
nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:15:ok(!nqp::eqaddr(nqp::getstaticcode($fresh2), nqp::getstaticcode($fresh)), "different fresh codes have different static codes");
##############################################
nqp-2020.10+dfsg/t/nqp/102-multidim.t-31-    dies-ok({ nqp::setdimensions(@a, nqp::list_i(3,3,3)) }, 'cannot set three dimensions on normal array');
nqp-2020.10+dfsg/t/nqp/102-multidim.t:32:    ok(nqp::eqaddr(nqp::setdimensions(@a, nqp::list_i(24)), @a), 'nqp::setdimensions has correct return value');
nqp-2020.10+dfsg/t/nqp/102-multidim.t-33-    ok(nqp::elems(@a) == 24, 'can set single dimension on normal array, and it influences elems');
##############################################
nqp-2020.10+dfsg/t/nqp/103-typecache.t-12-        $!type_check_called := $!type_check_called + 1;
nqp-2020.10+dfsg/t/nqp/103-typecache.t:13:        return 0 if nqp::eqaddr($type, IsntThisType);
nqp-2020.10+dfsg/t/nqp/103-typecache.t:14:        return 1 if nqp::eqaddr($type, IsThisType);
nqp-2020.10+dfsg/t/nqp/103-typecache.t-15-        ok(0, "unexpected argument passed to type_check");
##############################################
nqp-2020.10+dfsg/t/nqp/103-typecache.t-89-ok(nqp::istype($type_check_false, $accepts_true), 'nqp::const::TYPE_CHECK_NEEDS_ACCEPTS: istype (+)');
nqp-2020.10+dfsg/t/nqp/103-typecache.t:90:ok(nqp::eqaddr($got_accepts_type_obj, $type_check_false), 'accepts_type got correct obj');
nqp-2020.10+dfsg/t/nqp/103-typecache.t:91:ok(nqp::eqaddr($got_accepts_type_type, $accepts_true), 'accepts_type got correct type');
nqp-2020.10+dfsg/t/nqp/103-typecache.t-92-
##############################################
nqp-2020.10+dfsg/t/nqp/103-typecache.t-95-ok(!nqp::istype($type_check_false, $accepts_false), 'nqp::const::TYPE_CHECK_NEEDS_ACCEPTS: istype (-)');
nqp-2020.10+dfsg/t/nqp/103-typecache.t:96:ok(nqp::eqaddr($got_accepts_type_obj, $type_check_false), 'accepts_type got correct obj');
nqp-2020.10+dfsg/t/nqp/103-typecache.t:97:ok(nqp::eqaddr($got_accepts_type_type, $accepts_false), 'accepts_type got correct type');
nqp-2020.10+dfsg/t/nqp/103-typecache.t-98-
##############################################
nqp-2020.10+dfsg/t/nqp/110-normalization.t-17-my $ret := nqp::normalizecodes($input, nqp::const::NORMALIZE_NFC, $output);
nqp-2020.10+dfsg/t/nqp/110-normalization.t:18:ok(nqp::eqaddr($output, $ret), 'nqp::normalizecodes returns the output buffer');
nqp-2020.10+dfsg/t/nqp/110-normalization.t-19-is(nqp::elems($output), 2, '1E0A 0323 -> NFC -> 1E0C 0307 # right amount of code points');
##############################################
nqp-2020.10+dfsg/t/nqp/115-nums.t-84-        my $n := gen-num();
nqp-2020.10+dfsg/t/nqp/115-nums.t:85:        is(+$n,     +~+$n, "no drift in str -> num roundtrip `$n` (1 level)");
nqp-2020.10+dfsg/t/nqp/115-nums.t:86:        is(+$n,   +~+~+$n, "no drift in str -> num roundtrip `$n` (2 levels)");
nqp-2020.10+dfsg/t/nqp/115-nums.t:87:        is(+$n, +~+~+~+$n, "no drift in str -> num roundtrip `$n` (3 levels)");
nqp-2020.10+dfsg/t/nqp/115-nums.t-88-    }
##############################################
nqp-2020.10+dfsg/t/qast/01-qast.t-1939-        -> $r {
nqp-2020.10+dfsg/t/qast/01-qast.t:1940:            ok(nqp::eqaddr($r[0], $int_boxer), 'hllboxtype_i works');
nqp-2020.10+dfsg/t/qast/01-qast.t:1941:            ok(nqp::eqaddr($r[1], $num_boxer), 'hllboxtype_n works');
nqp-2020.10+dfsg/t/qast/01-qast.t:1942:            ok(nqp::eqaddr($r[2], $str_boxer), 'hllboxtype_s works');
nqp-2020.10+dfsg/t/qast/01-qast.t-1943-        }
##############################################
nqp-2020.10+dfsg/t/qast/01-qast.t-1956-        -> $r {
nqp-2020.10+dfsg/t/qast/01-qast.t:1957:            ok(nqp::eqaddr($r[0], FalseValue), 'hllbool works with false');
nqp-2020.10+dfsg/t/qast/01-qast.t:1958:            ok(nqp::eqaddr($r[1], TrueValue), 'hllbool works with true');
nqp-2020.10+dfsg/t/qast/01-qast.t-1959-        }
##############################################
nqp-2020.10+dfsg/t/qast/01-qast.t-2055-            my $not_boxed_twice_int := $block($autoboxed_int);
nqp-2020.10+dfsg/t/qast/01-qast.t:2056:            ok(nqp::eqaddr($autoboxed_int, $not_boxed_twice_int), "alread autoboxed ints don't get boxed twice");
nqp-2020.10+dfsg/t/qast/01-qast.t-2057-
##############################################
nqp-2020.10+dfsg/t/qast/01-qast.t-2059-            my $not_boxed_twice_str := $block($autoboxed_str);
nqp-2020.10+dfsg/t/qast/01-qast.t:2060:            ok(nqp::eqaddr($autoboxed_str, $not_boxed_twice_str), "alread autoboxed strs don't get boxed twice");
nqp-2020.10+dfsg/t/qast/01-qast.t-2061-
##############################################
nqp-2020.10+dfsg/t/qast/01-qast.t-2063-            my $not_boxed_twice_num := $block($autoboxed_num);
nqp-2020.10+dfsg/t/qast/01-qast.t:2064:            ok(nqp::eqaddr($autoboxed_num, $not_boxed_twice_num), "alread autoboxed nums don't get boxed twice");
nqp-2020.10+dfsg/t/qast/01-qast.t-2065-        }
##############################################
nqp-2020.10+dfsg/t/serialization/01-basic.t-48-
nqp-2020.10+dfsg/t/serialization/01-basic.t:49:    ok(nqp::eqaddr(nqp::getobjsc($v1), $sc), 'nqp::getobjsc');
nqp-2020.10+dfsg/t/serialization/01-basic.t-50-    ok(nqp::scgetobjidx($sc, $v2) == 1, 'nqp::scgetobjidx');
##############################################
nqp-2020.10+dfsg/t/serialization/02-types.t-409-
nqp-2020.10+dfsg/t/serialization/02-types.t:410:    ok(nqp::eqaddr(nqp::typeparameterat($dsc_with_foo, 0), Foo), "Type parameterized with type object is serialized correctly");
nqp-2020.10+dfsg/t/serialization/02-types.t-411-
##############################################
nqp-2020.10+dfsg/t/serialization/02-types.t-414-
nqp-2020.10+dfsg/t/serialization/02-types.t:415:    ok(nqp::eqaddr(nqp::typeparameterat($new_with_foo, 0), Foo), "We can parameterize with a type object using a deserialized parameterizer ");
nqp-2020.10+dfsg/t/serialization/02-types.t-416-
nqp-2020.10+dfsg/t/serialization/02-types.t:417:    #ok(nqp::eqaddr($new_with_foo, $dsc_with_foo), "We get stuff from the type cache");
nqp-2020.10+dfsg/t/serialization/02-types.t:418:    ok(!nqp::eqaddr($new_with_bar, $dsc_with_foo), "Parameterizing with a type object that's not in cache");
nqp-2020.10+dfsg/t/serialization/02-types.t-419-
##############################################
nqp-2020.10+dfsg/t/serialization/02-types.t-460-
nqp-2020.10+dfsg/t/serialization/02-types.t:461:    ok(nqp::eqaddr(nqp::hllizefor($obj, "foo"), $obj), "correct hll prevents convertion");
nqp-2020.10+dfsg/t/serialization/02-types.t:462:    ok(nqp::eqaddr(nqp::hllizefor($obj, "baz"), Baz), "in this case it's converted anyway");
nqp-2020.10+dfsg/t/serialization/02-types.t-463-}
##############################################
nqp-2020.10+dfsg/t/serialization/04-repossession.t-128-
nqp-2020.10+dfsg/t/serialization/04-repossession.t:129:    ok(nqp::eqaddr(nqp::getobjsc($new_obj), $old_dsc), "the object stars out in the old sc");
nqp-2020.10+dfsg/t/serialization/04-repossession.t-130-
##############################################
nqp-2020.10+dfsg/t/serialization/04-repossession.t-137-
nqp-2020.10+dfsg/t/serialization/04-repossession.t:138:    ok(nqp::eqaddr(nqp::getobjsc($new_obj), $new_dsc), "the object is repossesed into the new sc");
nqp-2020.10+dfsg/t/serialization/04-repossession.t-139-
##############################################
nqp-2020.10+dfsg/t/serialization/04-repossession.t-163-
nqp-2020.10+dfsg/t/serialization/04-repossession.t:164:    ok(nqp::eqaddr(nqp::neverrepossess($obj), $obj), 'nqp::neverrepossess has the correct return value');
nqp-2020.10+dfsg/t/serialization/04-repossession.t-165-
##############################################
nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl-17-$cmd = $link ? "npm link $link_what" : "npm install $install_what";
nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl:18:system($cmd);
nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl-19-if ( $? != 0 ) {
nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl:20:    print "=== SORRY! === `$cmd` failed with exit code $? (", ( $? >> 8 ), ")\n";
nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl-21-}
##############################################
nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm-246-        {
nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm:247:            asm => [qw<3rdparty asm asm-4.1.jar>],
nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm:248:            'asm-tree' => [qw<3rdparty asm asm-tree-4.1.jar>],
nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm-249-            jline => [qw<3rdparty jline jline-1.0.jar>],
##############################################
nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm-436-#    my $make =
nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm:437:#`$moar_path --libpath="$libpath" "$nqp_moarvm" -e "print(nqp::backendconfig()<make>)"`;
nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm-438-}
##############################################
nqp-2020.10+dfsg/tools/templates/jvm/Makefile.in-12-
nqp-2020.10+dfsg/tools/templates/jvm/Makefile.in:13:ASM = @asm@
nqp-2020.10+dfsg/tools/templates/jvm/Makefile.in-14-ASMTREE = @asmtree@
##############################################
nqp-2020.10+dfsg/tools/templates/jvm/nqp-j.in-34-
nqp-2020.10+dfsg/tools/templates/jvm/nqp-j.in:35:@exec(java)@ -Dnqp.execname="$EXEC" -Xss1m -Xmx1324m -Xbootclasspath/a:"@cur_dir@@envvar(LIB_DIR)@@cpsep@@nfp(@envvar(JAR_DIR)@/nqp-runtime.jar)@@cpsep@@nfp(@envvar(JAR_DIR)@/@asmfile@)@@cpsep@@nfp(@envvar(JAR_DIR)@/@jlinefile@)@@cpsep@@nfp(@envvar(JAR_DIR)@/@jnafile@)@@cpsep@@nfp(@envvar(LIB_DIR)@/nqp.jar)@" -cp "@cur_dir@@envvar(LIB_DIR)@" nqp "@sh_allparams@"
##############################################
nqp-2020.10+dfsg/debian/copyright-3-Source: https://github.com/perl6/nqp
nqp-2020.10+dfsg/debian/copyright:4:Files-Excluded: *.jar 3rdparty/asm 3rdparty/jline 3rdparty/jna src/vm/js
nqp-2020.10+dfsg/debian/copyright-5-
##############################################
nqp-2020.10+dfsg/debian/update-control.pl-9-
nqp-2020.10+dfsg/debian/update-control.pl:10:my $status = `git status --porcelain $control`;
nqp-2020.10+dfsg/debian/update-control.pl-11-
##############################################
nqp-2020.10+dfsg/debian/update-control.pl-24-
nqp-2020.10+dfsg/debian/update-control.pl:25:system(qw/git commit/, "-m" => "control: update moarvm-dev dep versions", $control);
##############################################
nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t-120-    ok($ok, 'threadyield() properly interleaved parent and child threads');
nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t:121:    say("# execution order = $order (expected a,1,b,2,c)") if !$ok;
nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t-122-}
##############################################
nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t-158-    ok($ok, 'threadyield() properly interleaved two child threads');
nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t:159:    say("# execution order = $order (expected a,1,b,2,c)") if !$ok;
nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t-160-}