Comments (5)
Why don't we stick to last 3 major GHC versions? I think it's what is used for core libraries, so it could be good enough for Megaparsec.
Supporting base-4.6 gives us the 3rd needed version, so we could stop there.
from megaparsec.
I don't consider this necessary right now. After all all the stuff is getting old pretty fast. Compatibility with GHC 7.8 is something we were asked for, but this thing is not that important in my opinion.
Next released version of GHC will be the third one, what do you think?
from megaparsec.
My interest in compatibility to GHC 7.6.3 is mainly sparked by the default GHC in Ubuntu 14.04 LTS. Yup, it's ancient. As @neongreen said, I wouldn't add support for GHC 7.4.x or older. Interested Wheezy users probably update their GHC. Just a quick remark on GHC versions:
Operating system | GHC version in package manager | Support Til |
---|---|---|
Debian Wheezy | GHC 7.4.x | Feb 2016 (LTS 2018) |
Debian Jessie | GHC 7.6.x | May 2018 (LTS 2020) |
Debian Jessie (backported) | GHC 7.8.x | May 2018 (LTS 2020) |
Ubuntu 14.04 LTS | GHC 7.6.x | 2019 |
I'm not sure about Mint's version, but Debian and Ubuntu are quite common, so some support for GHC 7.6 might be feasible. Especially if you want megaparsec to be used at universities.
That being said, it's nothing of high priority. You could add GHC 7.6. compatibility later in October, and remove it when GHC 8.0.1 comes along.
from megaparsec.
My opinion is provide GHC 7.6 support if it's not too much trouble. I'm actually using Ubuntu LTS too, so I feel the pain. However, Haskell support on Debian/Ubuntu has been stagnant recently, so I wouldn't use that as a guidepost. I think many Haskell developers use GHC 7.10 from @hvr's PPA on Ubuntu anyway.
Though, it's true that it's a rule of thumb for core libraries and many packages on Stackage to provide backwards compatibility for 3 past GHC versions.
from megaparsec.
@bkaestner, If you want, you can open a PR, I'll consider it. If it's not too hairy indeed, Megaparsec could be compatible with base 4.6.x.x.
Since no actual bugs is discovered so far and feature-requests all are about rather exceptional situations, I think we should concentrate on lowering of Megaparsec's requirements and improving/creating of auxiliary materials like tutorials.
from megaparsec.
Related Issues (20)
- takeP fails with "unexpected end of input" for negative number of tokens
- tracing-megaparsec HOT 3
- Does there already exist functionality for lexing a little further to generate better "unexpected" error messages HOT 3
- Text.Megaparsec -- Running Parser HOT 6
- [proposed labels: question, feature request] best practices for stateful matching of simple patterns HOT 4
- Question: mergeError HOT 2
- Greedy combinators HOT 11
- Problematic `IsString` instance HOT 4
- Processing input prior to parsing while retaining source positions HOT 1
- Mention in documentation that `parse` is an alias for `runParser` HOT 1
- MonadAccum instance for ParsecT HOT 5
- Tabs are not handled correctly when errors are rendered HOT 4
- Indentation error lost in alternative HOT 3
- `local` clears all hints HOT 5
- 9.4 migration: getSourcePos now requires `Monad m =>` HOT 6
- Remove/upgrade version bounds of executable `test-debug` from megaparsec-tests HOT 2
- Add `drop` to `Text.Megaparsec` HOT 3
- Wrong source locations on `unexpected end of input` with custom tokens HOT 2
- get col, row (as Int's) and error message of the first TrivialError HOT 2
- deepseq-1.5? 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 megaparsec.