Comments (5)
@corazza The answer is "elaborator reflection", which gives the tools for writing deriver scripts for various interfaces, as well as other forms of metaprogramming/program automation.
from idris-dev.
@edwinb Can you expand a bit on what @david-christiansen has been doing, I'm interested in what "to make instance creation much easier, and more general than deriving." means, thank you
from idris-dev.
Is elaborator reflection really a suitable alternative to deriving? It doesn't seem easier at all...
from idris-dev.
The reason why this issue has been left open for so long is that 'deriving' involving Dependent Types is not so straightforward in comparison to non-dependent types. If deriving were to be supported then it should be available for both kinds of types, and no special cases should be added. It is all or nothing.
from idris-dev.
I'm going to close this because it's a bit open ended, and it's not even obvious that deriving is exactly what we want. There is work going on by @david-christiansen to make instance creation much easier, and more general than deriving.
from idris-dev.
Related Issues (20)
- Types appear to match but fail HOT 4
- Totality checker thinks simple function is total when it's not HOT 1
- Broken sections of custom operators starting with pipe '|', "expecting function name"
- in interfaces.rst, replace "brackets" by "parentheses" HOT 3
- Totality check fails on simple structural recursion when it is not tail recusive
- Dependent constructor reproted as not strictly positive when in mutual block HOT 1
- Installation from hackage fails with ghc 8.10.2 in cabal configuration step HOT 1
- Is there a color scheme for IntelliJ?
- Idris not located in terminal.
- Please update dependency upperbounds HOT 2
- `pkg010` test output depends on version of optparse-applicative library used
- Lambda in place of Type HOT 1
- Data.Primitives.Views.divides behaves odd with negative dividend
- idris-1.3.3 fails with haskeline-0.8 HOT 2
- Type checker confused by overloaded `fst` (or just a strange error message)
- Test ffi008 fails with "multiple definition of `mystruct'"
- Cannot define recursive bound on associated type of an interface
- Incorrect behaviour when resolving associated type of an interface
- List available operators
- Dead download link for idris-1.3.3-win64.exe 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 idris-dev.