Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
flat symboltable #127
get away with the overly slow and huge hash of hashes, and use a single flat hashtable for all symbols (globals, packages, functions).
for easy iteration (list of all package symbols) or deletion of a stash maybe maintain a separate "magic" list of symbols at the stash "name::" entry. simply append to this list as existence is done via hv_exists and deletion can be linear.
we can entirely keep the current gv API, so it should stay transparent. binary symbols should be disallowed though on purpose for security reasons, as pre 5.16.