Commit Graph

3728 Commits

Author SHA1 Message Date
Evgeny Poberezkin
36d12a505b polysemy effects 2020-07-11 12:30:01 +01:00
Evgeny Poberezkin
7b7f4b23ff refactor: AllowedStates 2020-07-10 16:01:41 +01:00
Evgeny Poberezkin
283eacd9a5 stricter Enabled 2020-07-10 14:50:52 +01:00
Evgeny Poberezkin
b19b5be50e refactor: group Command parameters, do syntax in scenarios 2020-07-10 12:36:14 +01:00
Evgeny Poberezkin
063b7286e2 refactor: make Protocol a freer parameterized monad 2020-07-10 11:54:09 +01:00
Evgeny Poberezkin
cffb8bd11a refactor: make Protocol closer to parameterized monad 2020-07-10 11:13:01 +01:00
Evgeny Poberezkin
d74c109328 use ExceptT 2020-05-31 22:37:08 +01:00
Evgeny Poberezkin
cc55bf3e6b
Different approach to commands (#34)
* different approach to command types (WIP)

* PartyProtocol class and other commands

* pretty-print scenarion

* remove old files

* remove unused prf/predicate templates

* remove NoImplicitePrelude from doctest (although there are no doctests atm)
2020-05-31 21:51:15 +01:00
Evgeny Poberezkin
dc7835992c remove Drained state 2020-05-25 09:20:22 +01:00
Evgeny Poberezkin
bdec751725
Instance template (#33)
* protocol instance template [WIP]

* protocol instances template

* add methods to check correctness of participant types in protocol TH

* PushConfirm and and PushMsg implementation types

* check Command type + doctest
2020-05-14 21:30:37 +01:00
Evgeny Poberezkin
aa2ac80cf9 simplify predicate template 2020-05-13 11:47:24 +01:00
Evgeny Poberezkin
a9565a5754 predicate template to add Auto instances 2020-05-12 19:27:08 +01:00
Evgeny Poberezkin
223931bc93 Subscribe recipient command stub 2020-05-11 20:51:08 +01:00
Evgeny Poberezkin
6eb75a5bdb type classes to ensure consistency of implementation types with command types 2020-05-11 20:45:17 +01:00
Evgeny Poberezkin
f07f99c94f instance PrfCommand for CreateConn command [WIP - not working yet] 2020-05-11 08:27:34 +01:00
Evgeny Poberezkin
f52ce87a89 type classes to ensure consistency of implementation types with the protocol 2020-05-10 20:51:03 +01:00
Evgeny Poberezkin
eb5e99710f change scenario syntax 2020-05-10 14:16:37 +01:00
Evgeny Poberezkin
08274c9b52 track connection message count in type, remove ticks from promoted constructors 2020-05-10 12:13:24 +01:00
Evgeny Poberezkin
fbafaa8ac5 add recipient/broker subscription state to protocol command type 2020-05-10 11:10:34 +01:00
Evgeny Poberezkin
f3f39e760a refine definition of Subscribe to prevent subscription in None and Disabled states 2020-05-10 09:50:09 +01:00
Evgeny Poberezkin
7520c681da establishConnection protocol flow 2020-05-09 23:23:18 +01:00
Evgeny Poberezkin
f9e75aebeb protocol commands 2020-05-09 21:30:39 +01:00
Evgeny Poberezkin
53055dcae6 Show and Eq instances 2020-05-09 14:15:04 +01:00
Evgeny Poberezkin
3923de9b49 change data familiy to type family 2020-05-09 13:40:32 +01:00
Evgeny Poberezkin
7dce45ea2a add comment 2020-05-09 13:28:05 +01:00
Evgeny Poberezkin
a796215de2 move extensions to code 2020-05-09 13:24:08 +01:00
Evgeny Poberezkin
17aabcde04 gitignore 2020-05-09 12:41:04 +01:00
Evgeny Poberezkin
7ee44a6d41 connection states in haskell protocol definition 2020-05-09 12:38:07 +01:00
Evgeny Poberezkin
b16b5c5948 remove participants "list" 2020-05-08 17:40:48 +01:00
Evgeny Poberezkin
bbb763655e participants list (to be removed) 2020-05-08 17:36:04 +01:00
Evgeny Poberezkin
4a3e76cea1 change operator 2020-05-08 13:35:01 +01:00
Evgeny Poberezkin
b64a2e615d add type-verified command actor (from) 2020-05-08 13:33:54 +01:00
Evgeny Poberezkin
222051fc5d make message count second in tuple 2020-05-08 13:20:49 +01:00
Evgeny Poberezkin
23d07cc350 add connection message count to command type 2020-05-08 13:15:41 +01:00
Evgeny Poberezkin
77fb8b9ce0 scenario using deterministic command resulting state 2020-05-08 11:30:06 +01:00
Evgeny Poberezkin
df0552ef6b move to subfolder 2020-05-08 10:17:20 +01:00
Evgeny Poberezkin
5689cd9064 change used connection state proofs 2020-05-08 10:12:51 +01:00
Evgeny Poberezkin
947d7676a2 fix types 2020-05-08 10:03:47 +01:00
Evgeny Poberezkin
bcd58117a2 connection states for all participants stored in one type (r <==> b <==| s) 2020-05-08 09:58:27 +01:00
Evgeny Poberezkin
a6d963035e protocol command type - establishing connection 2020-05-07 21:24:18 +01:00
Evgeny Poberezkin
ece63ea894 protocol command type [WIP] 2020-05-07 18:45:19 +01:00
Evgeny Poberezkin
22e14c821c correction 2020-05-07 18:05:05 +01:00
Evgeny Poberezkin
e7550f026c improve connection data structures 2020-05-07 17:58:42 +01:00
Evgeny Poberezkin
f4c4dde30f unify connection states 2020-05-07 17:19:17 +01:00
Evgeny Poberezkin
de706b9d23 connection states and data (in idris) 2020-05-07 13:43:09 +01:00
Evgeny Poberezkin
5643c6e270 lint 2020-04-10 18:33:50 +01:00
Evgeny Poberezkin
3f7be07d53 classy-prelude 2020-04-10 18:32:36 +01:00
Evgeny Poberezkin
ddfda96523 type names 2020-03-21 19:15:59 +00:00
Evgeny Poberezkin
c34ba79f0b executable name 2020-03-21 18:27:20 +00:00
Evgeny Poberezkin
b8991a4fbf src folder 2020-03-21 18:19:57 +00:00