Commit Graph
19 Commits
Author SHA1 Message Date
milner 16fc1d6cee Verify polymorphic updates, name hygiene, and configuration combinations 2019-04-24 12:12:03 +00:00
milner 871995ff90 Validate configuration and diagnose unsupported record declarations 2019-04-17 05:08:15 +00:00
milner e7b4859a7e Disambiguate recursive record groups and share group configuration 2019-04-12 01:14:26 +00:00
milner 3bde617d17 Select generated operations without introducing hidden dependencies 2019-04-07 10:12:51 +00:00
milner c02ef26bc8 Support source-first setters and configurable updater arguments 2019-04-05 21:27:46 +00:00
milner 65114446e0 Customise getter, setter, and updater names independently 2019-03-30 13:59:36 +00:00
milner c6dddc3568 Parse labelled configuration and customise record prefixes 2019-03-28 12:03:58 +00:00
milner 8f45e6669e Normalise shared field prefixes at underscore boundaries 2019-03-20 13:30:08 +00:00
milner d4328bac3f Emit standalone lens pairs for nested record composition 2019-03-18 10:46:43 +00:00
milner c2d6f2aa05 Generate labelled updaters and propagate callback exceptions 2019-03-13 14:36:15 +00:00
milner 40dc020f24 Generate immutable setters with type-changing singleton updates 2019-03-10 12:38:49 +00:00
milner 4eda2052af Traverse record declarations and generate typed field accessors 2019-03-08 17:28:32 +00:00
milner 59e39e593c Expose infix viewing, replacement, mapping, and composition 2019-03-06 21:16:11 +00:00
milner a7237a6412 Handle list head and tail updates with explicit empty-list errors 2019-03-01 05:48:41 +00:00
milner d8c191be6d Provide the identity lens and verify composition identities 2019-02-24 07:41:34 +00:00
milner 28d28de6fa Add polymorphic tuple projections and replacements 2019-02-22 15:45:12 +00:00
milner d996eba971 Compose lenses whilst preserving unfocussed data 2019-02-19 19:49:43 +00:00
milner 0f219fea14 Implement replacement and functional updates with lens-law checks 2019-02-17 03:07:54 +00:00
milner d30dc5d519 Define polymorphic lenses and compile the runtime library 2019-02-11 13:34:00 +00:00