Comments (8)
For lots of related strategies, see “Heuristics Entwined with Handlers Combined. Tom Schrijvers and Nicolas Wu and Benoit Desouter and Bart Demoen.”
from fused-effects.
Unfortunately, I think this means that we have to couple Cut
carriers with search strategies. In particular, while it’s possible to use runCut
with runNonDetOnce
without accruing this cost (because the right-nested branches are never explored), it isn’t possible to compose it with runNonDet
without paying this penalty.
An alternative carrier for Cut
which explores all branches is possible, and can then be reinterpreted into some other Alternative
instance, but you can’t compose this with runNonDetOnce
to limit the search; since it has to explore the branches, their effects end up being performed:
λ runM (runTraceByPrinting (runNonDetOnce (runCutAll (pure 'a' <|> trace "hello" *> pure 'b'))))
hello
"a"
from fused-effects.
I was mistaken—we just need to represent actual branches in Branch
.
from fused-effects.
@zenzike: Thank you! I’m really enjoying that paper ❤️
from fused-effects.
I usually distinguish between cut
and call
, where cut
signals that siblings that proceed it under a call
need to be removed, and cull
, which picks only the first child in p
from fused-effects.
@zenzike: That’s super interesting. I kind of think that suggests we should hold off on releasing 0.1.2.0 until we’ve explored that.
from fused-effects.
Right. You can only do that sort of thing if alternation is a deep embedding. I usually define:
data Nondet k = Or k k
specifically for that purpose.
from fused-effects.
I’ve filed #68 to capture exploring that 👍
from fused-effects.
Related Issues (20)
- Unversioned documentation links all point to master HOT 3
- throwError law is undocumented
- Add Accum effect HOT 4
- Regression with Error in fused effects 1.1 HOT 7
- Carriers should preserve MonadResource HOT 3
- fused-effects 1.1 performance degradation? HOT 6
- TraceText Effect HOT 3
- MonadBaseControl for Labelled Effects HOT 1
- Add instances of MonadCatch, MonadThrow, MonadMask, where possible? HOT 6
- Indexed error handling HOT 1
- This code for solving prime numbers is about 6 times slower than primes HOT 2
- test suite build failure on Stackage Nightly (GHC 9.0.1) HOT 2
- Why are we slower than mtl? HOT 7
- Difficulty (impossibility?) to wrap `reactive-banana` as effect HOT 2
- Export effect constructors from separate modules
- GHC 9.4.1 compatibility
- Write infodump on how to define algebras
- Accum effect mixed with other effects duplicates accumulated monoidal value HOT 4
- The README makes an unclear statement about visible type applications relating to running effects HOT 1
- Update dependency bounds to support GHC 9.8 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fused-effects.