Commit Graph

9 Commits

Author SHA1 Message Date
Sam Caldwell cd490853ba fix and add a new comprehension test case 2016-03-04 18:16:36 -05:00
Tony Garnock-Jones 07785e9232 Add "during". 2016-02-29 10:26:17 -05:00
Tony Garnock-Jones 7fc1554230 Support internal definitions in comprehension macros. 2016-02-29 09:20:21 -05:00
Sam Caldwell 5d2cb21d29 Use finer-grained projections inside trie comprehensions
Fixes HEAD~2
2016-02-28 21:49:30 -05:00
Tony Garnock-Jones 8832a22b30 Add a failing test case to comprehensions.rkt 2016-02-28 20:32:29 -05:00
Sam Caldwell aa4e4afdde fix trie comprehension hygiene-bending 2016-02-22 23:35:11 -05:00
Sam Caldwell 96fe9f46e1 add an effectful trie comprehension 2016-02-19 18:46:59 -05:00
Sam Caldwell b7775efd9b Raise an error when trying to iterate over an infinite trie 2016-02-19 15:38:43 -05:00
Sam Caldwell 26966b9c34 Implement trie-comprehension macros
Trie comprehensions abstract the process of projecting one-or-more
tries against some patterns, binding the results to usable variables,
and iterating over the results.

Currently supports for-trie/fold, for-trie/list, for-trie/set, and
for-trie/patch, as well as the ability to easily create new trie
comprehension macros. Note that these comprehensions operate in the
style of `for*` rather than `for`.
2016-02-05 13:27:20 -05:00