4 ms·
It is not possible to prove that calling the server will not produce side effects. The link you provided does not address side effects, but correctness, which i
by ninthcat 4y ago
It is not possible to prove that calling the server will not produce side effects. The link you provided does not address side effects, but correctness, which is much weaker. A trivial example is that calling the server will consume electricity.
- pshirshov 4y ago"Side effect" is a breakage of referential transparency. Depending on your model it can be proven. Electricity consumption won't be a side effect in any reasonable model.
- notwedtm 4y agoWhat are you going on about? This feels like someone who's just read their first compsci book and now thinks they can build New Internet. Surely this is a troll...
- pshirshov 4y agoI'm saying that unenforceable contracts, like the "idempotence" of GET requests are no better than an annotation on a method in a conventional RPC IDL. If fact the latter is better, because it may be somehow enforced by cogen if you code-generate into a language which may, for example, enforce purity or totality. And the whole story about "REST not being an RPC" or "there is purity/idempotence/whatever in REST because RFC says that GETs are pure/idempotent/whatever" makes very little sense. At the same time I'm saying that it's total bullshit when someone says that it's not possible to enforce lack of side effects (like in referential transparency) during a remote call.