# Brent Yorgey - Parsing Context-Sensitive Languages With Applicative (Highlights) ![rw-book-cover|256](https://s0.wp.com/i/blank.jpg) ## Highlights - Actually, to be really useful, you also need `MonadPlus` along with `Monad`, or `Alternative` along with `Applicative`, in order to encode choice ([View Highlight](https://read.readwise.io/read/01kh1gyv57nkn5mm8wfpmjgxba)) ^986529800 - Intuitively, this is because the structure of `Applicative` computations cannot depend on intermediate results, whereas `Monad` computations allow you to choose which computation to run next based on intermediate results. ([View Highlight](https://read.readwise.io/read/01kh1gzy3dkcwcetwd9fk6pw0g)) ^986529846