mercredi 9 octobre 2013

lambda linguistic and logical interface

For a long time I've been amazed how much the `lambda` expression construct gives you. The introduction of name into expressions is seen through `let` which is syntactic sugar for lambda underneath. I believe Scala `for` nested iterations are also syntactic sugar toward flatmap + lambda. It's also a clean expression of data dependency. The sub-expression has meaning only if the lambda abstraction can be reduced by application to values. Otherwise well it's another smaller lambda expression. Wonderful.

reified side effects

Just wondering if there was some research into reifying the effected external entities back into the 'denotation'.

Instead of

f :: a -> b -> IO ()

you'd get

f :: e -> a -> b -> e

now that e is inside our algebra, maybe we can see programs as pairs (local,global)
bound by a protocol, or a fixed model of state transitions.

that's all.

jeudi 3 octobre 2013

Form vs editable trees (DOM). Shifting toward simplification.

html has this split between content (p,li,..) and communication (form,input) that will seems less and less justified. With html5 you can modify any node. Then transposed as json which can be sent to another peer as a structured message. The old way is a nice in-standard microDSL implemented by the browser, which guarantees freedom from javascript. This would be a large move off the 'web' as it's perceived but ...

Pedestal.io is already far away from the current paradigm, I believe they do send subtrees diffs between clients and servers. This is fascinating, clojure guys are jumping boldly on the fringe (edn, datalog, datomic, pedestal).

ps: to be edited.