How might programming language design break free from its long history of shuffling syntax around disturbingly similar semantics? Here are two folks reporting the related steps they have made on their escape. site
Excuse my notes.
YOUTUBE 5V1ynVyud4M Published on Sep 28, 2015
Tests with people showed trouble with scope.
TodoMVC?
Excel and relational db are useful while un-scoped.
write the click to increment program.
fast when everything is an operation on a b-tree. (like hypercard)
Bloom version of Hadoop.
Executable specifications are a lot like programming. (but Cocoa Worlds made this work)
Outside world is just another table, like sms outbox, input in request tables.
Parent-ancestor relationship
pub-sub to tables in remote locations
increment in 30 seconds ... represent count with table size
triangle of friends, like cypher in neo4j
YOUTUBE R2Aa4PivG0g Published on Sep 26, 2015
writers vs users straddling abstraction boundary
model-theoretic semantics for distributed systems? resilient to failure and tolerant of loose ordering.
given what I know, what follows transitively
least-fixed-point
web server is join of db with req stream
lineage and derivation => debugging
self reference and negation required for paradoxes ... this sentence is false.
distributed requires: time varying state, non-determinism. bad: x=x+1, snd(); rec()
reify time, a relativist model
knowledge is local and ephemeral, computation is rendezvous
deductive = instantaneous, inductive = deferred, async = uncertain (arbitrary, nondeterministic)
state is induction in time: rendezvous
CALM theorem
dedalus => bloom, blazes, lineage-driven fault injection, eve
committing acts of abstraction: abstractions leak, deal with it
.
Both speakers are working on challenging problems without known solutions. I compare this to my own work. I'm building a modern version of wiki which was and remains extremely simple.
I retain from the original: * the page remains what you got when you clicked * there is a text based markup behind what you see
Things I've added: * collaborative links * cooperating elements on pages
I've implemented this last thing, cooperation, many different ways. These talks encourage me to try more.