nseval 0.5.2 (release date: 2023-07-01)
Fixes:
- In preparation for normalization of an official R API, references to non-API functions
DDVAL,Rf_findVarInFrame3,SET_TYPEOF,SET_BODY,SET_FORMALSandSET_CLOENVhave been removed. The calls to PROMSXP accessor functions remain, as they are central to this package’s purpose and it is not yet clear what the official API will have in their place.
nseval 0.5
Changes
- The representation of quotations has been changed. Quotations are now represented as expressions with a class attribute. This means that you can
evala quotation and it will return the same value that a promise would return when forced. This also means that you canbquoteorsubstituteto place a quotation into an expression, and the resulting expression will evaluate hygienically. - The better to support hygiene,
arg*will check if there a quotation in the argument expression (as it would be if the call had been done withbquote) and transparently unwrap it. - Added method
is_forced_.name. - Added
arg_valueto peek at values of promises (without forcing). - Added
as.quoconversion methods for formulas andrlangquosures.
nseval 0.4.2
CRAN release: 2022-05-24
Changes
- Implemented
all.equalmethod forquotationobjects. -
dotsandquotationobjects now print themselves in adeparse()-like style. -
is_*_()functions how have methods for promises/dots. -
set_andset_enclos_are added to help with making assignments.
Fixes
- Fixed handling of missing arguments in
doandquo. -
donow passes arguments via a temporary binding of...in some cases. This should fix some cases wheresys.calls()returned naked promises, which made for confusing debugging. For R versions before 4.0 the old behavior is retained. - Fixed man pages which were not generated completely.
-
locate(fn, mode="function")now works in the case wherefnis a forced promise containing a function.