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
    • Flatten into args
  • Callables
    • Cloned closures
  • Floats
    • Support for them
  • Classes
    • 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
  • General syntax
    • Statement modifier style if/unless/for/while/until
    • try and/or CATCH
  • PIR output
    • Use fetch and vivify opcodes

Pm Also Wants

  • @*ARGS

Completed Features

  • Signatures and calling
    • Optional, named, named optional params (already done —Pm)
    • Param defaults (already done —Pm)
    • Slurpy params (already done —Pm)
  • Callables
    • 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)
  • Classes
    • Attribute declaration (already done —Pm)

Clone this wiki locally