3 ms·
They do have a paper in the repo: https://github.com/cqfn/eo/tree/master/paper https://github.com/cqfn/eo/tree/master/paper According to it, "𝜑-calculus" is s
by theamk 5y ago
They do have a paper in the repo: https://github.com/cqfn/eo/tree/master/paper https://github.com/cqfn/eo/tree/master/paper
According to it, "𝜑-calculus" is something they made up for the eolang and not a standard term.
Here is my take on that calculus based on reading through section 3 in the paper. Note the paper is pretty weird and likes to make its own notation, so it is possible I got some things wrong:
It is starts with a pretty standard immutable language: "object" is a set of (name, value) pairs; "value" is either object or "data" (like a string, bool etc...); everything is immutable but you can make a copy an object with some attributes changed. There are no concept of "types" -- instead, you define objects with some fields set to NULL (spelled ∅ in the paper). There are also a bunch of term defined, like "abstraction", "application", etc.. -- but they all mean "make a copy of an object with some fields changed".
The "twist" is that the language has no functions per se, instead it defines AST-like structure: there is a syntactic sugar that handles things that look like function applications. So when you see:
stdout "Hello world"
This means "find an object called 'stdout'"; it must have exactly one attribute that was set to NULL ; and make a copy of the "stdout" with that attribute set to value "Hello world".
The "stdout" is what's called "atom", a class which is defined "outside of φ-calculus formal scope". All the actual work is defined via those atoms, which are out of scope. Unfortunately, this means that φ-calculus itself does not define much, and is basically a fancy way to write AST.
- bawolff 5y agoInteresting given their design criteria is no nulls and no syntactic sugar.
- Joker_vD 5y agoAnd the "Semantics" section straight up reinvents their own flavour of a G-machine... very fancy indeed. Is there a shortage of existing object calculi that I am not aware of? Even Abadi-Cardelli's calculus can already do just as much, and is also smaller and more concise.
- lfnoise 5y agoreminds me a bit of Piccola: http://scg.unibe.ch/research/piccola/ http://scg.unibe.ch/research/piccola/
- compressedgas 5y agoReminded me of http://soft.vub.ac.be/research/agora/ http://soft.vub.ac.be/research/agora/