Skip to content
This repository was archived by the owner on Feb 3, 2021. It is now read-only.

Plumage Requests

japhb edited this page Sep 13, 2010 · 43 revisions

Features of NQP that Plumage needs:

  • Signatures and calling
    • Optional, named, named optional params (already done —Pm)
    • Param defaults (already done —Pm)
    • Slurpy params (already done —Pm)
    • Flatten into args
  • Callables
    • Cloned closures
    • Pointy blocks (added in 992b220 —Pm)
  • Hashes
    • Iterate over kv pairs (requires either real pairs or pointy blocks with params) (pointy blocks with signatures done, see above)
  • Strings
    • Closure interpolation (added in 5559916 —Pm)
  • Floats
    • Support for them
  • Classes
    • Attribute declaration (already done —Pm)
    • CREATE (or other simplification of overridden new() methods)
  • Grammars/Rules/Regexen
    • Get next match on same string
  • Variables
    • “Globals” declared and initialized by a module without aid of mainline; could be any of:
      • GLOBAL pseudo-namespace + cross-namespace variable references (@GLOBAL::ARGS)
      • Contextuals (@*ARGS) look in PIR’s ‘namespace []’ as fallback
      • Compile-time lexical export
  • PIR output
    • Use fetch and vivify opcodes

Pm also wants:

  • @*ARGS

Clone this wiki locally