Comments (6)
Actually, it seems this is just CoT
in disguise. Perhaps it would be better to just write the evaluation and composition functions for CoT
instead:
eval :: Day (CoT w m) w a -> m a
compose :: Day (CoT g h) (CoT f g) a -> CoT f h a
from kan-extensions.
Interestingly it was this thing that made me start thinking about Day in the first place.
from kan-extensions.
(That and Gershom bugging me to figure out what Day convolution would mean in Haskell)
from kan-extensions.
Actually, I got this wrong, they're not quite the same.CoT w m
has an extra m
inside the w
on the left:
newtype CoT w m a = CoT { runCoT :: forall r. w (a -> m r) -> m r }
newtype Hom w m a = CoT { runCoT :: forall r. w (a -> r) -> m r }
and CoT w m
is a Monad
for any Comonad w
, whereas Monad (Hom w m)
also needs Monad m
.
from kan-extensions.
Yep. I made a similar mistake connecting Day with Rift.
from kan-extensions.
there it fails to be an isomorphism without a something being a left adjoint.
from kan-extensions.
Related Issues (20)
- Instances for right/left Kan extensions for functors along themselves HOT 1
- [Ask] How to hoist monad on CoT
- Add Eq1 etc instances?
- Pattern synonyms for different encodings of Day convolution
- Instances for Codensity (Semigroup, Monoid, numeric classes) HOT 1
- Consider different functor arguments of Ran, Lan HOT 1
- Add: Ran f (Codensity g) ~> Ran (Compose f g) g
- Some random functions/types related to Lan
- MonadFree instance for Co
- Levity polymorphic codensity HOT 1
- Instances for contravariant Coyoneda/Day
- Making Codensity a separate library?
- Direct-style CoT
- Laws hold? MonadFix (Codensity m) HOT 2
- kan-extensions-5.1 doesn't build with GHC-9.0 HOT 1
- Export Curried Yoneda utils
- send :: (forall x. (a -> Free f x) -> f (Free f x)) -> Codensity (Free f) a HOT 1
- Require building with GHC 8.4 or later
- Add oneShot to Codensity instances HOT 1
- Representable (Lan f g) 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 kan-extensions.