tlaplus / Examples

A collection of TLA⁺ specifications of varying complexities
Other
1.29k stars 200 forks source link

Add Twirp Wire Protocol v7 #44

Closed mattmccormick closed 1 year ago

mattmccormick commented 3 years ago

This change adds a Twirp Wire Protocol (v7) TLA+ spec. The protocol is defined at https://twitchtv.github.io/twirp/docs/spec_v7.html

I am new to TLA+ and we use Twirp at work so I thought this would be a good learning exercise for me. I'm happy to receive any feedback on how to improve the spec. If it's deemed too simple for inclusion in the Examples that's ok as well.

lemmy commented 3 years ago

@mattmccormick Thanks for opening this pull request. Given that the spec is small, readers will probably wonder what insights writing this spec provided.

mattmccormick commented 3 years ago

@mattmccormick Thanks for opening this pull request. Given that the spec is small, readers will probably wonder what insights writing this spec provided.

For me personally, as a newbie to TLA+, some of the things I got stuck with longer than I would have liked were:

lemmy commented 3 years ago

Quick question re 1) Were you aware of the CommunityModules and the Range operator specifically? We've been considering graduating some operators/modules from the CommunityModules into TLC, and Functions.tla seems like the most useful one.

lemmy commented 1 year ago

@mattmccormick Housekeeping, feel free to re-open if you still want this contributed.