Just wondering how a matching backend framework for correctness would look like. Ideally something that doesn't repeat the React mess with two routers but fits right in Inertia style.
The front end framework for correctness: built on Effect, architected like Elm
21–30 of 53 posts
Re: The front end framework for correctness: built on Effect, architected like Elm
#22Re: The front end framework for correctness: built on Effect, architected like Elm
#23As agentic coding matures, this kind of project is the right direction. The mechanics of writing the code become less important. But having a language framework that naturally resists mistakes will become increasingly useful and important. Similar to how Rust is obviously a better choice today than C++. Who cares if the language is “more difficult” to code in, if the agents are doing the coding. What we need is build…
That's an interesting - and maybe correct - point. Looking at the examples, it seems very long winded and not something I would want to write myself - but maybe I don't need to care about that anymore, as you say!
These days? Doing this FE SPA framework for Effect/typescript familiarity or Fable for F# familiarity and a model-view update pattern can help one do CQRS better, force you to think about stronger Hexagonal Architecture patterns, and overall help your application care about long term correctness more without you having to hand code every discriminated union as such.
The LLM can't replace you, but it can be an enzyme that lowers the activation energy required to switch from bad old MVC mutable tag soup to MVU frontends with strong data interface designs held in sqlite-dbs-per-aggregate (if you are of a DDD or event sourcing taste, which this pattern does not require!)
Re: The front end framework for correctness: built on Effect, architected like Elm
#24How is Effect, for those who have used it? It's good that algebraic effects are becoming more mainstream.
Re: The front end framework for correctness: built on Effect, architected like Elm
#25Re: The front end framework for correctness: built on Effect, architected like Elm
#26Re: The front end framework for correctness: built on Effect, architected like Elm
#27How is Effect, for those who have used it? It's good that algebraic effects are becoming more mainstream.
I use it from years, it's the only sane way to write typescript. The learning curve is steep tho. In any case it's a hard technology to sell, you don't appreciate it from hello worlds. In fact you hate it for trivial programs. It shows it's benefits at scale. Lots of tools like T3 and opencode use it at their core because they solve non trivial problems made of queues, retries, dependency injection, schemas, etc. I'v…
Re: The front end framework for correctness: built on Effect, architected like Elm
#28How is Effect, for those who have used it? It's good that algebraic effects are becoming more mainstream.
Re: The front end framework for correctness: built on Effect, architected like Elm
#29This feels a lot like sagas and redux sagas. Anyone else got that vibe?
Re: The front end framework for correctness: built on Effect, architected like Elm
#30I don't know, as far as I can tell the demo on the homepage is bugged? Or maybe I misunderstand how it's supposed to work? If I click reset after 2 seconds and then click add 1 right after it, the reset never fires. What's up with that, that's not what I expected to happen?
Which I don't expect from the description, and I also don't expect from the code.
---
So outside of the simple "This is broken..." feedback, I want to further pick on this example:
Don't fucking hide the imports.
Especially don't fucking hide the imports if you're showing example code, and you're doing things like
```
import { Match as M, Schema as S } from 'effect'
import { m } from 'foldkit/message'
```
Which I only know because I bothered to dig through the example playground counter (which is a different example entirely!)
It's a huge issue to show demo code where concepts magically appear, and it's just bad manners to use shorthand at the same time.