Hacker News new | ask | show | jobs
by ninthcat 1264 days 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.
1 comments

"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.

What 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...

I'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.