Skip to content

Conversation

@felixSchl
Copy link
Contributor

This allows running FT atop any monad, not just Identity.
History and usecase: purescript-corefn uses purescript-foreign to parse the corefn produced by PureScript. With non-trivial programs the corefn quickly grows large enough to blow the stack while parsing. By recovering the ability to change out the underlying monad, we can instead run on top of Trampoline and evaluate using runTrampoline, thereby recovering stack safety.

@garyb garyb added the type: breaking change A change that requires a major version bump. label Oct 23, 2018
@kl0tl
Copy link
Member

kl0tl commented Dec 21, 2020

This looks like something we should try to do with the 0.14 compiler release, is there any objection?

@JordanMartinez
Copy link
Contributor

Any updates on this PR?

@JordanMartinez JordanMartinez merged commit ad52524 into purescript:master Feb 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: breaking change A change that requires a major version bump.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Should F be ExceptT MultipleErrors (Eff (foreign :: FOREIGN | eff)) a?

5 participants