This is intended as a way to run computation close to data. Some databases embed Lua or pluggable languages for that; ZeroVM can run NaCL binaries (compiled with a special toolchain), verified in the same manner as the JVM checks bytecode, on a very limited sandbox (just some pre-configured data channels). Besides the NaCL verifications, they are enforcing functional programming: the program only has access to deterministic instructions and library calls.
It's people. I'm slightly blinded by their motivation. Something inside me wants to believe they're 14 year old mischievous scriptkiddies, but I bet they're really just guys and girls like you and me.
Is it right to equate functional programming and determinism though? Functional programming implies a certain programming style / type of language, whose output is guaranteed to be deterministic if only pure functions are used. But they're not the same thing.
ZeroVM invocation is a pure function.
ZeroVM cluster invocation is a pure function.
Functional programming according to wikipedia is - "a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data"
ZeroVM invocations satisfy that definition. With existing Swift integration all storage is immutable and ZeroVM cannot have any state by design.
Comments
This is intended as a way to run computation close to data. Some databases embed Lua or pluggable languages for that; ZeroVM can run NaCL binaries (compiled with a special toolchain), verified in the same manner as the JVM checks bytecode, on a very limited sandbox (just some pre-configured data channels). Besides the NaCL verifications, they are enforcing functional programming: the program only has access to deterministic instructions and library calls.
Why downvotes? I provided an explanation because the initial reaction on HN was confusion.
They're called the downvote mafia. Little to do about them.
Is it people or scripts? What's the motivation or is it a mystery?
It's people. I'm slightly blinded by their motivation. Something inside me wants to believe they're 14 year old mischievous scriptkiddies, but I bet they're really just guys and girls like you and me.
Is it right to equate functional programming and determinism though? Functional programming implies a certain programming style / type of language, whose output is guaranteed to be deterministic if only pure functions are used. But they're not the same thing.
ZeroVM invocation is a pure function. ZeroVM cluster invocation is a pure function.
Functional programming according to wikipedia is - "a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data"
ZeroVM invocations satisfy that definition. With existing Swift integration all storage is immutable and ZeroVM cannot have any state by design.