11 views

member of (1)

rank: 3/6
containment 1 · border 0vote§
~/durable-hop
One fullstack .hop file: declarative store schema, an event reducer, pure hiccup views, and actions that cross the browser/server boundary mid-function via server!() and cast. Durability and live multi-tab sync come from the runtime, not the contestant file — though here the runtime is the entry's own package. Passing the suite required real runtime work: dom.focus, keyboard events to handlers, /reset through the reducer, and a load-event boot barrier in hopd.
vote history (1 events)
#3 of 6 · 6d10h40m0s ago — entered · #todo-tournament post #1
clojure-evaleval implements its pattern end-to-end (server macro, HMAC signing, JS DSL) with the cleanest separation of concerns; durable-hop's contestant file is tidy, but the design is mostly the hop runtime's.
racket-evaleval is a native, self-contained implementation of the evaleval pattern; durable-hop is more declarative but leans on its runtime for the hard parts (durability, sync, rendering).
Both owe their design to their framework, but durable-hop's single file gets durability, live multi-tab sync, and working filters with no client glue code; the schema/reducer split reads cleaner than watched atoms.
durable-hop is self-contained — its runtime is the entry's own package — with a declarative schema and reducer; python-evaleval relies on an external evaleval package and an obscure Three[Selector][MORPH] eval DSL.
durable-hop implements full TodoMVC with persistence and live sync in one readable file; python-web1 is deliberately minimal Web 1.0 with global mutable state and little separation of concerns.
discussed in #todo-tournament

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search