4 ms·
Interesting. Hadn’t heard of Cap’n’Proto. A clever idea, although I do wonder if it’s being too clever for its own good, being unnecessarily restrictive. Dr Wi
by hhas01 7y ago
Interesting. Hadn’t heard of Cap’n’Proto. A clever idea, although I do wonder if it’s being too clever for its own good, being unnecessarily restrictive.
Dr William Cook (who designed much of Mac OS’s “RPC-plus-queries” IPC model) explored a more generalized approach where whole self-contained chunks of behavior can be sent across the wire for remote evaluation. As I recall, his Batches model uses a “safe” subset of familiar JavaScript operations, but any behaviors could be supported as long as they are guaranteed to terminate.
http://www.cs.utexas.edu/~wcook/projects/batches/index.htm http://www.cs.utexas.edu/~wcook/projects/batches/index.htm
There’s nothing inherently magical about this: it’s just a carefully-restricted form of remote execution where the client-supplied “code” to be executed is incapable of doing nasty things like access restricted APIs or lock /blow up the server with infinite loops or stack overflows. Beyond that, it’s just a question of whose CPU you want to burn more, and how much time you want to spend bouncing between them.
Thinking about it from a JavaScript or C mindset will make your head ’splode, but for Lispers (of which Smalltalkers are a spinoff) it’ll be a big fat “how obvious”. Be nice to see it further pursued.