DEV Community

Discussion on: The Case for TS+

Collapse
 
mikearnaldi profile image
Michael Arnaldi

both RxJS and fp-ts uses pipeable functions. pipeable functions are as you say "just functions", the same way extension methods are "just functions"

Collapse
 
tamusjroyce profile image
tamusjroyce

“reactive” libraries like rxjs are event systems. Because they have a disconnect between the data being sent, and overhead for subscribing/unsubscribing, I wouldn’t consider them anything related to fluent design patterns.

I personally prefer pure functions, and changing state at the very last pop of the call stack (firsr method that calls pure functions is responsible for setting state, no where else can set state). Similar to fluent, but without the overhead of returning a new object. And easier to debug what is going on (fluent can turn into a finite state machine).

Thread Thread
 
mikearnaldi profile image
Michael Arnaldi • Edited

Fluent here refers to a style of API not the design pattern and has nothing to do with mutating state, the IO example above is 100% pure and functional in every possible interpretation.

Collapse
 
hamidb80 profile image
Hamid Bluri

Use Nim programming language and you don't care whether it's a method or function

You write whatever Style you want

Thread Thread
 
mikearnaldi profile image
Michael Arnaldi

Big part of the project is to create something both really nice and with great interop with the wider ts ecosystem it's not only about style :)