<commit_before># Moving towards a better pre-comp and module management design

## Overview

This document contians my (jnthn) input to where implementation work for
Perl 6 module/precomp stuff should head. While much has been converged on by
existing work, some problems have also been consistently avoided or punted
on; robust pre-compilation management is one such issue. Everything here is
subject to course corrections as implementation takes place, but it should
hopefully set out a good direction to move in. Also, don't expect this to be
a complete deign. It's as much as I had time to figure out before I vanish
for a week on honeymoon, and I'm sharing it in its current state so that
others can carry it forward. Thanks goes to lizmat++ for highly valuable
input on an earlier private draft.

## Terminology

To keep discussion precise, here are some definitions of the atoms under
consideration:

* A **compilation unit**, or **compunit** for short, is a piece of Perl 6 code
  that is analyzed and compiled as a single unit. Typically, this comes from a<commit_msg>Fix typo<commit_after># Moving towards a better pre-comp and module management design

## Overview

This document contains my (jnthn) input to where implementation work for
Perl 6 module/precomp stuff should head. While much has been converged on by
existing work, some problems have also been consistently avoided or punted
on; robust pre-compilation management is one such issue. Everything here is
subject to course corrections as implementation takes place, but it should
hopefully set out a good direction to move in. Also, don't expect this to be
a complete deign. It's as much as I had time to figure out before I vanish
for a week on honeymoon, and I'm sharing it in its current state so that
others can carry it forward. Thanks goes to lizmat++ for highly valuable
input on an earlier private draft.

## Terminology

To keep discussion precise, here are some definitions of the atoms under
consideration:

* A **compilation unit**, or **compunit** for short, is a piece of Perl 6 code
  that is analyzed and compiled as a single unit. Typically, this comes from a
{'fraction_non_alphanumeric': 0.04094927873429502, 'fraction_numerical': 0.0018613308515588647, 'mean_word_length': 4.541237113402062, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3711094', 'n_tokens_mistral': 546, 'n_tokens_neox': 515, 'n_words': 348}