The Adobe Source Libraries (ASL) are a collection of C++ libraries building foundation technology to allow the construction of commercial applications by assembling generic algorithms through declarative descriptions.
Highlights of release 1.0.40
ASL:
- The pmeval (property model evaluator) interpreter is ready for general purpose use. It has been enhanced to allow flexible exploration and testing of property models. Commands include check assertions, print statements, update, reinitialize, and property model dumps (showing enablement, contributing/intent). pmeval can be built from source (all platforms, including cygwinand *N*X) or downloaded from sourceforge for Mac or Windows.
- Property models can also be evaluated via an experimental web form-based interface to pmeval. The service, along with an intermediate property modeling tutorial is available through http://emarcus.org/#pmeval .
- Rewrote enablement for the property model engine. Enabled status is set to a conservative approximation of enablement detection (erring towards enablement): it is set to false if a change to the cell cannot affect the output of a correct sheet, and true if it *may* effect the output.
- Replaced monitor_active with monitor_enabled (conservative enablement, touch_set support). See the documentation for monitor_enabled in adam.hpp, and the calls to monitor_enabled in (APL's) widget_factory.hpp for details. (Note that it is incorrect to unconditionally pass NULLs to monitor_enabled. The bug will manifest as incorrect enablement behavior in the presence of touch sets in eve sheets.)
- Fixed bug where interface cells appearing in a when clause condition were not contributing.
- New papers and presnetations at http://stlab.adobe.com/wiki/index.php/Papers_and_Presentations
- Patched boost to allow preservation of test targets (now the default).
- Patched to serializes std::size_t on MSVC when compiling for 64 bit architecture.
- Added qualification to binary_search algorithm to remove ambiguity.
- Refactored pmeval, introduced (test-only) queryable_sheet_t. pmeval now supports multiple input files, sheet separate from commands, multiple simultaneous sheets.
- Allow monitoring of invariants under monitor_value.
- Improved release notes and build scripts for *N*X/cygwin
User supported libs (APL):
- Updated widget factory so that widgets monitor_considered instead of monitor_active, to properly enable in presence of touch sets.
- Fixed reveal widget bug
- Update so that both stlab and internal adobe frameworks can leverage widget_factory.hpp; also rolled in updates from other teams within adobe
(Note: I have left Adobe and will be pursuing other opportunities. This release is my first as an "external" opensource contributor. Please use my mmarcus <at> emarcus <dot> org address instead of my former adobe.com address. - Mat )