# Adventures assembling records of capabilities

**URL:** <https://discourse.haskell.org/t/adventures-assembling-records-of-capabilities/623>\
**Category:** Show and Tell\
**Created:** [April 25, 2019, 10:12pm UTC](https://discourse.haskell.org/t/adventures-assembling-records-of-capabilities/623 "2019-04-25T22:12:24Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![blamario](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/blamario/32/860_2.png) [@blamario](https://discourse.haskell.org/u/blamario)\
**Post date:** [April 26, 2019, 1:15pm UTC](https://discourse.haskell.org/t/adventures-assembling-records-of-capabilities/623/2 "2019-04-26T13:15:04Z")

</div>

It’s nice to see more of the higher-kinded data knot-tying technique in practice. If you want to see another application, the [fixGrammar](http://hackage.haskell.org/package/grammatical-parsers-0.3.2/docs/Text-Grampa.html#v:fixGrammar) function from [grammatical-parsers](http://hackage.haskell.org/package/grammatical-parsers) is the equivalent of the `fixRecord` above except for rank-2 records of parsers / grammar productions. It makes extensible left-recursive grammars wonderfully easy to construct.

---

_[View the full topic](https://discourse.haskell.org/t/adventures-assembling-records-of-capabilities/623)._
