Remix.run Logo
stuartaxelowen 2 hours ago

My dream is, instead of separating data storage, state machines, valid state constraints, and the logic that transitions between valid states, we can actually unify these into some kernel of app state. Honestly, Postgres already has a lot of these capabilities, but I don’t see an obvious story on the app or product level, providing provably correct sets of states that apps can transition between, and which they can automatically expose to clients in informative ways (this user can like this post, but not edit). It looks colored Petri net shaped to me, but I don’t yet see a simple app state paradigm in the same way that the database has obvious successful boundaries.

tibbar 2 hours ago | parent [-]

This has been tried, but thousand-line stored procedures are truly a nightmare.

agumonkey an hour ago | parent [-]

was it due to the language expressiveness forcing too much verbosity ? (honest question)

tibbar 16 minutes ago | parent [-]

lack of version control, clunky language mechanics, performance issues, etc.

bob1029 4 minutes ago | parent [-]

Version control might not be a big deal if you are all-in on the database.

Stored procedures are easiest to version by simply defining multiple variants and then incrementally moving the callers in the direction you want. The durability comes from (hopefully) your backups. Point-in-time-recovery is often easier for the business to reason about than a git repository.