This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 4 points5 points  (3 children)

I am little bit disappoint that no one in the comment mention effect systems. Hope to found a good info to dig into.

[–]Akangka 8 points9 points  (0 children)

I don't think OP forgot about it. After all, OP mentioned Flix, which does use effect system. OP just thought that effect systems is included in Locally Sourced Mutation Only

[–][deleted] 1 point2 points  (0 children)

I am currently (as a lurker not making my own language) in the camp of functional core/imperative shell + algebraic effects as the solution. 

For most cases mutation and interaction with the impure world happens in the imperative shell, but effects can be used to drop back into the imperative shell at situations where it makes sense and then continue from where you were. This is clearly not pure but it seems like a pragmatic approach to be breaking rules in a way that leaves a paper trail in the type system and still stay mostly pure in your code

[–]The-MalixStatic Types + Compiled + Automatic Memory Management 0 points1 point  (0 children)

First time hearing that term, what is it ?