This repository was archived by the owner on Feb 3, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
Requests
japhb edited this page Sep 13, 2010
·
15 revisions
- @*ARGS
- Ability to override vtables from NQP. (most PIR code in partcl-nqp stems from this restriction.)
Bold Highlights indicate top priority features (usually blocking Plumage’s progress in some area).
- Signatures and calling
- Fat arrow (
=>
) named argument syntax - Named argument flattening
- Fat arrow (
- Containers
- Full hash constructor syntax
- Signatures and Calling
- Calling computed sub/method name
self/$obj.$method()
Foo::Bar::($sub_name)()
- Something equivalent to the second item, but in the current package.
"$sub_name"()
and($sub_name)()
are likely invalid.
- Calling computed sub/method name
- Grammars/Rules/Regexen
- Get next match on same string
- Callables
- Cloned closures
- Classes
- CREATE (or other simplification of overridden new() methods)
- General syntax
- Statement modifier style for
-
PIR output
- Use fetch and vivify opcodes
- Signatures and calling
Optional, named, named optional params (already done —Pm)Param defaults (already done —Pm)Slurpy params (already done —Pm)Positional argument flattening (Added in 8c211fe)- Calling computed sub/method name
self/$obj."$method_name"()
(added in r42789)
- Callables
Pointy blocks (added in 992b220 —Pm)
- Containers
Iterate over hash kv pairs (requires either real pairs or pointy blocks with params) (pointy blocks with signatures done, see above)Empty array and empty hash constructors (now done in 2471f02)Full array constructor syntax ([] array constructor available in 2471f02)
- Strings
Closure interpolation (added in 5559916 —Pm)
- Floats
Support for them (added in 19c949e)
- Classes
Attribute declaration (already done —Pm)
- General syntax
Statement modifier style if/unless (added in b7ce35e)Statement modifier style while/until (added in 8d6dfe2)try and/or CATCH (added in ef7eef0)
- 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) (added in r42541)Contextuals (@*ARGS) look in PIR’s ‘namespace []’ as fallback (added in r42541)Compile-time lexical export (declined)
-