These are chat archives for jdubray/sam
From this new article on Elm:
Tasks are like callbacks in that instantiating them is harmless. You can instantiate a hundred Tasks that describe HTTP requests, and no network activity will happen—yet. Only once the Task is passed from function to function and handed off to the Elm runtime will it actually be performed. Tasks can be chained together like Promises, and they similarly incorporate first-class error handling; if any Task in the chain fails, the remainder of the chain is not executed, and the entire chain results in that failure value.
I am not sure that effects as data / aka managed effects are such a good model. Ultimately effects need to occur and handing off control doesn't sound that appealing (considering the main benefit is testable code).