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
Plumage Requests
japhb edited this page Sep 13, 2010
·
43 revisions
- Signatures and calling
- Flatten into args (Added positional argument flattening in 8c211fe.)
- Callables
- Cloned closures
- Containers
- Empty array and empty hash constructors (not the ‘my @foo;’ use case which of course works, but rather for ‘%foo<bar><baz><quux> := ();’ and func({}) ) (now done in 2471f02)
- Full array and hash constructor syntax ([] array constructor available in 2471f02)
- Floats
- Support for them (added in 19c949e)
- 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
-
“Globals” declared and initialized by a module without aid of mainline; could be any of:
- General syntax
- Statement modifier style if/unless (added in b7ce35e)
- Statement modifier style while/until
- Statement modifier style for
- try and/or CATCH
-
PIR output
- Use fetch and vivify opcodes
- @*ARGS
- 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)