Skip to content

Eff interpreter implementation for atnos Eff's `addLast`

License

Notifications You must be signed in to change notification settings

y-yu/atnos-eff-last-action

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eff interpreter implementation for atnos-eff last action

CI

Abstract

Eff from atnos-eff has a function addLast which allows us to register the side-effects we want to execute at the end. But I think the implementation has some issues:

  1. This feature is probably NOT described original paper
    • so we cannot find out what is the right behavior of this😇
  2. And this can be done by the original Eff idea without special modification for Eff data structure
  3. In atnos-eff, last of Eff is handled like try-catch-finally logic of MonadError but
    • the last logic is not the same of try-catch-finally because the last logic should be actually done in the last if some Effs are flatmapped
    • on the other hand, the error handling should be able to be applied to a specific Eff data, and it doesn't need to be done in the final

This repository is a PoC of (2).

Discussions are very welcome. Thank you for the reading!

How to use

You can try it out by the following command.

./sbt test

Acknowledgments

I would like to thank @halcat0x15a and @xuwei-k for many advices. But if there could be any mistakes in this repository, they were nothing to do with that.

About

Eff interpreter implementation for atnos Eff's `addLast`

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages