Skip to content

Commit

Permalink
Update NEWS
Browse files Browse the repository at this point in the history
  • Loading branch information
egnha committed Aug 2, 2018
1 parent 876fb92 commit 632a2a0
Showing 1 changed file with 35 additions and 1 deletion.
36 changes: 35 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,40 @@
# gestalt

## 0.1.2.9000
## 0.1.4

### New features

* `posure()` is a means of creating _efficient_ variable (i.e., parameterized)
composite functions.

In particular, this addresses a shortcoming of the use of the magrittr `%>%`
in functions. For instead of writing
```
function(..., b = 2, n) {
sample(...) %>% log(base = b) %>% rep(n)
}
```
which is inefficient because the function chain is created anew with each
call, you can more directly write
```
posure(b = 2, n ~ {
sample %>>>% log(base = b) %>>>% rep(n)
})
```
Not only is the `posure()` version more succinct (you don’t need to specify
a placeholder ‘`...`’), it is also robuster, and faster than the version
with `%>%`, thanks to a non-standard scoping mechanism under the hood.
* `let()` enables you to create **contexts**: local environments in which
named expressions are _lazily_ resolved in a given order. Tidyverse
quasiquotation of expressions is supported, allowing you to exercise
fine-grained control over the evaluation of subexpressions.
* As a companion to `let()`, `run()` evaluates an expression relative to a
context. Unlike `base::with()`, `run()` supports quasiquotation and provides
a means of overriding bindings in the given context.
### Minor improvements
* When calling a composite function, the point (`.`) in an implicitly curried
function may now assume any name (#10). This is useful when you want to call
Expand Down

0 comments on commit 632a2a0

Please sign in to comment.