NAME
====

Symbol::Scan - list types or classes currently in use

SYNOPSIS
========

    use Symbol::Scan;
    my @type_names    = SymbolScan.list_core_type_names;
    my @type_objects  = SymbolScan.list_core_type_objects;

DESCRIPTION
===========

The SymbolScan class provides a number of methods that list things currently defined for your perl6-- types or classes, either just for CORE:: or including the user defined ones, in the form of either objects or names (or pairs of both):

    list_core_type_pairs 
    list_all_type_pairs 
    list_core_type_names 
    list_core_type_objects 
    list_all_type_names 
    list_all_type_objects 
    list_core_class_pairs 
    list_all_class_pairs 
    list_core_class_names 
    list_core_class_objects 
    list_all_class_names 
    list_all_class_objects

These two act to filter a given sequence of pairs (they're primarily for internal use):

    list_type_pairs
    list_class_pairs

SEE ALSO
========

This module is essentially a repackaging of a solution by "smis", posted to stackoverflow:

    https://stackoverflow.com/questions/44861432/is-there-a-way-to-get-a-list-of-all-known-types-in-a-perl-6-program

Brandon Allerby offers an opinion as to why trapping errors from gratuitous *.gist calls can improve reliability:

    https://www.mail-archive.com/perl6-users@perl.org/msg06266.html

NOTES
=====

motivation
----------

This is needed for the Augment::Util recompose_core routine which in turn is needed to cover for a bug in using augment.

implementation
--------------

There are 12 main entry-point methods that cover all permutations of these three choices:

    what we list:     'type',  'class'
    scope we search:  'core',  'all'
    form we report:   'objects', 'names', 'pairs',

A few more options might justify a different interface where you expicitly set options on the SymbolScan object. 

AUTHOR
======

Joseph Brenner, doomvox@gmail.com

COPYRIGHT AND LICENSE
=====================

Copyright (C) 2018 by Joseph Brenner

Released under "The Artistic License 2.0".