<commit_before># Roadmap for "nom" Branch

Last Updated 7 July 2011

Note that this isn't strictly in order, though things nearer to the top
are likely to get focus sooner.

Current fails that people are likely to encounter (no particular order):
* core constants (e.g., Inf, Order::Decrease)
* regexes missing
* is export on methods
    - should work outside the setting; note here if not

Things that aren't blockers but might be worth knowing about:
* attribute := doesn't work in CORE.setting (works outside of setting, though)
  (initial digging suggets it's a BOOTSTRAPATTR issue, thus why we only see it
  in the setting)
* userspace code can't add new multis of existing operators 
  (e.g., multi postfix<++>(MyType $x) { ... } )
  (known - multis in nested lexical scopes in general just NYI - jnthn)
* 'has num $.attr' segfaults on access to .attr, because it uses the PMC form
  of get_attribute
* two protos of the same name in the same scope produce an IMCC error
  "error:imcc:Multiple declarations of lexical '&foo'"

## Lexical Multi-Part names
For my X::Base { ... }, my Foo::Bar { ... } etc. The our-scoped ones work.

## Magicals
Move creation of $! and $/ to be per-routine instead of per-block.
Methods should get automatic %_.

## junction dispatch
autothreading of junctions

## when statements
when needs to properly find use correct outer scope

## Flesh out signatures and parameters
While much binding works again now, there's some stuff to "put back":
* |$c
* Sub-signatures

## Fix up binding some more
Get ::= correcter, and a bit more stuff on := also.

## Finish up parametric roles
Many things are working, some are not...
* Composition of submethods
* Generically typed variables (also for the ::T case in roles)
* Mentions of role arguments in the role body in a non-declarative context
* role R1[::T] does R2[T] { ... }

## Meta-operators
* Hyper

## Missing object model bits
* Try to implement enumerations
* Some support for augment
* handles
* does and but

## Ensure nested packages work
In theory, just should already.<commit_msg>Update nommap.<commit_after># Roadmap for "nom" Branch

Last Updated 7 July 2011

Note that this isn't strictly in order, though things nearer to the top
are likely to get focus sooner.

Current fails that people are likely to encounter (no particular order):
* core constants (e.g., Inf, Order::Decrease)
* regexes missing
* is export on methods
    - should work outside the setting; note here if not

Things that aren't blockers but might be worth knowing about:
* attribute := doesn't work in CORE.setting (works outside of setting, though)
  (initial digging suggets it's a BOOTSTRAPATTR issue, thus why we only see it
  in the setting)
* userspace code can't add new multis of existing operators 
  (e.g., multi postfix<++>(MyType $x) { ... } )
  (known - multis in nested lexical scopes in general just NYI - jnthn)
* 'has num $.attr' segfaults on access to .attr, because it uses the PMC form
  of get_attribute
* two protos of the same name in the same scope produce an IMCC error
  "error:imcc:Multiple declarations of lexical '&foo'"

## Lexical Multi-Part names
For my X::Base { ... }, my Foo::Bar { ... } etc. The our-scoped ones work.

## Magicals
Move creation of $! and $/ to be per-routine instead of per-block.
Methods should get automatic %_.

## when statements
when needs to properly find use correct outer scope

## Flesh out signatures and parameters
While much binding works again now, there's some stuff to "put back":
* |$c
* Sub-signatures

## Fix up binding some more
Get ::= correcter, and a bit more stuff on := also.

## Finish up parametric roles
Many things are working, some are not...
* Composition of submethods
* Generically typed variables (also for the ::T case in roles)
* Mentions of role arguments in the role body in a non-declarative context
* role R1[::T] does R2[T] { ... }

## Meta-operators
* Hyper

## Missing object model bits
* Try to implement enumerations
* Some support for augment
* handles
* does and but

## Ensure nested packages work
In theory, just should already.
{'fraction_non_alphanumeric': 0.084716796875, 'fraction_numerical': 0.00341796875, 'mean_word_length': 3.9124700239808154, 'pattern_counts': {'":': 2, '<': 5, '<?xml version=': 0, '>': 5, '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': '3572605', 'n_tokens_mistral': 1200, 'n_tokens_neox': 1148, 'n_words': 593}