@mfpears plus the reactive/FRP movement never really taking off in general (Swift/Kotlin Rx-inspired APIs and Rx in NET world still being a thing is more like a concession rather than 'victory' really)
@mfpears like my man was the world's #1 reactive meat rider and RxJS pusher for half a decade
even meijier himself has moved on to the AI stuff / "PLs/API styles are obsolete!" camp: https://t.co/Z9Sz7hUMdU
Oh my, programming languages, whether you consider them ugly or beautiful, AI has already thrown them all out with the bathwater and flushed them down the sewer.
@mfpears https://t.co/MASsP1haTQ
"FRP was created by Conal Elliot, specifically to address the need he saw for a ππmore precise style of programming, using declarations which can build-up and preserve meaning (denotation) over and against functions of continuous time ππ"
@mfpears f) you mentioned you read through heaps of the haskell and similar papers. do you have now your own conception of FRP that you could just state here in a few tweets instead of me having to go about and somehow read more walls of text to try to understand elliot and derivatives
@mfpears so it's like aforemntioned Kotlin in a way.
-> async await / coroutines for single shot.
-> Flow or AsyncSequence for multishots.
-> combined with message passing for resource sharing concurrency (CSP Channels in Kotlin, Actors in Swift). Both featuring structured concurrency.
@mfpears but now it's just relegated to just the "multishot async" thing, whereas for regular async work they went "imperative"/monad `do`-block style like everyone else and introduced async/await and Actors and etc.
@mfpears Kotlin uses Flows.
https://t.co/Qy1nl66lOR
In NET they use Rx even for UI state i think with ReactiveUI or general MVVM stuff (not sure how exactly they solved the memoization bit in that regard).
@mfpears FRP was a concept from the functional programming world and i'm sure thus it must have accomplished this from the get go and it's just JS land or maybe Rx from its inception that threw this dimension away to focus just on the 'dynamic'/'declarative' bit only
@mfpears this is just a tiny nitpick not a big deal just thought the other 2 did better in this regard (forcing it upon you versus leaving it up to developer discipline).
or maybe somehow the declarativeness of stateAdapt and thus its easier debugging (or well, AI) nullifies this
@mfpears but neither encourage state and action modelling at all (i.e. clearly forcing you to clarify your domain, which elm and redux does) and in essence you showed it by not <making anew> but simply <rewriting the declarations for> state and actions from the zustand version
@mfpears b)
"Nope! Jones and Wadler list two advantages that remain:
1) List operations (like map and append) can still operate on monadic commands"
makes sense that Observables (events) modelled like/dual to a list then