Comments (4)
I don't have a preference. I think there are two reasons to use records:
- the stdlib mainly uses records;
- Emacs
C-c C-r
works quite well for record directly.
but neither is that important. we can try both if copatterns have advantages. but due to agda/agda@ace8e0d, will performance still be a part of consideration?
from agda-categories.
Maybe I alerted you to this question without need, since I was not aware of agda/agda@ace8e0d . If the rhs of a function clause is a record expression (using actual record syntax), then this clause is internally translated to copattern matching.
I think this heuristics was introduced to bring out the benefits of copatterns without forcing users to rewrite large code bases. Thus, you should be fine if you use record syntax.
Orthogonal to this is of course the stylistic policy of the library.
from agda-categories.
This subtlety is good to know -- especially the part where this doesn't happen when using a record constructor. I tend to like record constructors... but I guess going through a function-as-constructor works.
from agda-categories.
Right, part of this issue is indeed moot.
Stylistically, I strongly prefer records as the principal way of defining things (i.e. the explicit 'field' keyword and the way things look for record definitions).
For instantiating records, I have not settled on a style. I would not be against using a mixed style in agda-categories.
I consider this to be a sufficient policy 'decision' for now, and so this issue can be closed.
from agda-categories.
Related Issues (20)
- Suggested improvements for `IsPullback` HOT 1
- Bicategory terminology HOT 4
- Field names for RegularEpi/RegularMono are nondescriptive HOT 6
- Move Everything.agda to src. HOT 10
- Naming of fields in CartesianClosed Functor HOT 2
- Maybe the Hom version of Adjunction can be fully polymorphic? HOT 1
- Pull out adjunction between products and exponentials HOT 1
- Move Categories.Category.Diagram.Span to Categories.Diagram.Span
- Remove Categories.Category.Equivalence HOT 1
- `!-unique₂` takes implicit args in `Terminal`, whereas it takes explicit ones in `Initial` HOT 1
- ramp up stdlib version? HOT 14
- Caching on CI seems to be broken HOT 12
- NaturalNumber -> NNO? HOT 1
- Trivial solution set for Adjoint functor theorem HOT 8
- Yoneda is broken HOT 6
- Big dagger-category to-do list
- Support stdlib 2.0 HOT 4
- agda-categories should list compatibility versions on README HOT 1
- Contribution of lemmas about colimits HOT 1
- Unbundling limit-y things 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 agda-categories.