- map() function for applying a unary function to a series (list) of elements
- reduce() function for applying a binary function to a series (list) of elements, tracking the result
- The new future() function, which constructs a future that can be used to asynchronously initialize variables
- The new var() function constructs a variable and infers its type from the second parameter to the function
- And of course the usual horde of minor fixes and enhancements, especially to the way certain operations are implemented
This prunes down the TODO list a bit:
- Unary operators
- Parenthetical expressions (for overriding precedences)
- Custom message allocator to avoid locking on the heap when sending task messages
- Fix some bugs in nested response map support
- Improve syntax for nested structure initialization
- Buffer entity (both stack and heap types)
- Type aliases (aka. typedefs)
- Change task IDs to string variables for easier metaprogramming
- Perform complete code review for exception safety, documentation, code cleanliness, error handling robustness, and elimination of hardcoded strings/magic numbers
Still can't make any predictions on when any of this will be ready to ship, but I'm still plugging away, so it'll be fairly soon(TM) [smile]
I'm also strongly considering moving the codebase over to Google Code so I can get some proper version control and a nice off-site backup.