Comments (14)
I removed the dependency on lens in a fork: https://github.com/danchoi/xlsx
I had to remove the tests and the example temporarily. But the lens-free fork I just made does build.
from xlsx.
Do you have any other examples? aeson
and aeson-lens
don't look as a good example as those are 2 separate packages developed by different authors (with a dependency one on another of course)
In any case that would be breaking change requiring upping version to 0.2
from xlsx.
- lens-text-encoding
- lens-time
- lens-datetime
- lens-properties
?
from xlsx.
Also here's an argument for avoiding propagating the dependency on lens if possible:
http://fvisser.nl/post/2013/okt/11/why-i-dont-like-the-lens-library.html
from xlsx.
None of them seem to give an example of a package and lens API developed at least at the same time.
Counterexamples exist also - e.g. http://hackage.haskell.org/package/thyme
I know arguments against dependency on lenses
and have read that blog post also.
Just wanted to know of an example package which was developed taking into account lenses API (though in a separate package)
from xlsx.
To be honest, I don't know of any examples that meet that requirement. I guess my argument stands or falls on how convincing that philosophy expressed in that blog post is. If you're not convinced, I'm fine using my fork for our own private purposes. Thank you very much writing it!
from xlsx.
I see the arguments but I'm not convinced (at least yet).
Main argument against I see at the moment is that docs/examples (though there are not so much of them) use lenses API and we would need either have them duplicated (with API changed) or put them only into xlsx-lenses
package which seem to be a bit awkward.
Another counterexample is http://hackage.haskell.org/package/wreq which uses lenses to bring "ease of use" to the library (though xlsx is not yet good from this POV)
from xlsx.
I found something. On this issue thread, they dropped lens and substituted something more lightweight, and let users import the big Lens library if they needed more.
from xlsx.
I have found twitter-types
/twitter-types-lens
package pair but you link looks much more interesting.
Do you want to create a PR for such a change?
from xlsx.
Do you want to create two packages in the main repo like twitter-types or try what VinylRecords did? If the latter, I'll need some time to study what they did.
from xlsx.
The latter seems to be more elegant - see my question in that thread, probably we could get some help :)
And there is no rush in implementing the solution (at least for me)
from xlsx.
OK cool.
from xlsx.
@danchoi do you still want this to be done? Almost a year passed already and for myself I don't see much motivation to remove lens
dependency. Please raise your voice - otherwise I'll close this issue tomorrow
from xlsx.
Go ahead an close. I don't think I have time either, but I'll let you know if I manage to do it. Thank you for writing the library.
from xlsx.
Related Issues (20)
- Depend on microlens instead of lens? HOT 3
- NonEmpty list of worksheets HOT 3
- How to insert a row HOT 4
- Add writing support for large excell files (streaming?) HOT 10
- Writing default stylesheet to file results in excel complaining it's invalid HOT 9
- microlens flag still builds lens as a dependency
- Hyperlink Support HOT 7
- Leaking merge information across worksheets HOT 1
- Handling dates before 1900-03-01 HOT 3
- Add newtype for column and row indexes
- Add integration test that checks correctness with xlsx validator
- Support lens v5.1 HOT 5
- Hackage docs are broken HOT 9
- We shouldn't be able to make sheetnames bigger then 31 characters. HOT 1
- Cell Range dataValidation problem HOT 5
- Still applying code formatting? HOT 4
- Proper support for cross-sheet references, was "Errors creating pivot tables in separate sheets" HOT 4
- Test files missing in sdist HOT 4
- Request: Minimal working example for styles HOT 3
- Cut a release with GHC 9.6 support HOT 5
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 xlsx.