Comments (2)
Cool connection. @lyxia offered section 5.1 of this paper for details on the connection.
DelayCat
is necessary to make looping work for streaming-type arrows (Streams, MonadicStreamFunctions, Yampa). The reason is that for a stream to loop it (always?) relies on laziness in the looped value, and on the first iteration, when this undefined recursive variable is forced, what value should it have? It'll be an infinite loop unless you use delay to provide that first value.
As far as names, I tend to aesthetically prefer the Cartesian, Monoidal, etc
world of names, because it helps one connect to the CT better, which would suggest Traced
is the right choice. But my impression is that this library is tending toward ProductCat
etc to use names that are more immediately apparent, which would suggest Loop
. I'm not particularly partial between the two options though. The only relevant bike-shedding I'd propose is to move from ProductCat
et al to just Product
, because if it's already namespaced under Category
it's obvious it's a Cat
.
from concat.
I'm all for TracedCat
. (I like the Cat
to be uniform with the type classes that have a non-Cat
counterpart such as Functor
.)
from concat.
Related Issues (20)
- Split into separate repos? HOT 12
- [Question] Compiling to EVM bytecodes?
- Restricting functor arguments HOT 15
- Interview partners for research about communication in GitHub projects wanted HOT 3
- Compiling to categories with dependent types HOT 2
- error compiling all examples HOT 4
- Plugin diverges on function composition HOT 5
- Too much inlining HOT 2
- Inefficient categorical IR? HOT 3
- Coproducts? HOT 2
- Constructing a graph of RLC circuit elements and transforming to an affine relation between inputs and outputs.
- Introduction of ConstCat instance unexpectedly changing result of toCcc HOT 11
- Switch to quantified constraints, and eliminate entailment logic HOT 4
- Ok type family with second argument HOT 1
- Rebox rules violate ghc invariant HOT 5
- Orphans in hidden packages HOT 3
- Should this auto diff example work? HOT 3
- Publish (parts of) concat on Hackage? HOT 4
- support GHC 9 HOT 1
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 concat.