Comments (24)
It's not your fault, but yeah the dependencies are messed up - the Data.Char.boundedChar
is an orphan instance, so we removed it from there and added it to Prelude
(also it was incorrect). The prelude version was bumped as a patch release, but the update to strings was a breaking change release, but we've also updated everything in core that depended on strings so hopefully you should be able to update your dependency versions and everything should work out...
@paf31 looks like you were right though, maybe we should have bumped Prelude
after all 😢 I'm not sure why the orphan instance error is appearing here when it seemed not to when I tested compiling new strings with the old prelude.
from purescript-enums.
Does this happen after enums
is updated?
from purescript-enums.
from purescript-enums.
But does it? 😄
from purescript-enums.
Not for me 😉 - I ran the post-travis-test-everything locally after updating the libraries.
from purescript-enums.
Maybe a cache issue then?
from purescript-enums.
I ran
$ bower cache clean
$ bower update
Still got the issue upon compiling.
from purescript-enums.
bower update
won't update to the new version automatically as the new version is incompatible with the old - you'll need to update your purescript-enums
dependency to ^0.7.0
(or whatever it is that is pulling purescript-enums in).
from purescript-enums.
oh sure. Unfortunately, i end up with purescript-enums 0.5.0
automatically. My dep tree looks like this
purescript-node-fs 0.7.1 (or master)
requires purescript-datetime 0.6.0
requires purescript-enums 0.5.0
Adding
"purescript-enums": "^0.7.0"
to dependencies
results in conflicts for bower update
and quite regardless of my choice I run into the overlapping instances error. And adding the 0.7.0 to resolutions
does nothing (not even a conflict during bower update
)
from purescript-enums.
Ahh ok! I'll update purescript-node-fs
. I forgot about the projects in purescript-node
.
from purescript-enums.
If you bump your purescript-node-fs
to v0.8.0
it should work out now, hopefully.
from purescript-enums.
Now I run into issues with my other dependencies:
Unable to find a suitable version for purescript-foreign, please choose one:
1) purescript-foreign#^0.5.0 which resolved to 0.5.1 and is required by purescript-affjax#0.4.0, purescript-halogen#0ed8df5900
2) purescript-foreign#^0.7.0 which resolved to 0.7.0 and is required by purescript-node-fs#0.8.0
I'll keep trying. Is there a standard way to resolve this?
from purescript-enums.
If I'm not mistaken, this is rather hopeless, or at least I lack overview on why and how packages depend on the older versions of purescript-strings
and I am not able to resolve my issue by trying out different combinations.
Unable to find a suitable version for purescript-strings, please choose one:
1) purescript-strings#^0.5.0 which resolved to 0.5.5 and is required by purescript-enums#0.5.0, purescript-simple-dom#0.1.0, purescript-string-parsers#03d8277615
2) purescript-strings#~0.5.3 which resolved to 0.5.5 and is required by purescript-argonaut-codecs#0.1.0, purescript-foreign#0.5.1
3) purescript-strings#^0.5.2 which resolved to 0.5.5 and is required by purescript-css#150ae110d3
4) purescript-strings#^0.7.0 which resolved to 0.7.0 and is required by purescript-enums#0.7.0, purescript-foreign#0.7.0
from purescript-enums.
Any idea for a workaround?
from purescript-enums.
Ok, for the time being as an alternative, what happens if you stick to your original set of dependencies but add "purescript-prelude": "0.1.1"
? This should prevent bower from pulling in v0.1.2
of the prelude which has the new instance in it.
In the long run all the stuff you're depending on will need updating anyway, as the old version of purescript-strings
will not work with the most recent compiler release (v0.7.3, released yesterday). Some of them I'm responsible for anyway - namely affjax
and halogen
, so they will be updated in the near future.
from purescript-enums.
That works for me. Thanks!
from purescript-enums.
Great, sorry you had such trouble with it!
from purescript-enums.
For some reason that fix doesn't work for me. I have purescript-prelude#0.1.1 in my bower.json, grep -r "Enum Char" bower_components/*
and grep -r "Bounded Char" bower_components/*
only give me a single instance each. I've removed bower_componenets/ and done bower cache clean many times, can't seem to get around it.
from purescript-enums.
@Thimoteus purescript-strings
pre-v0.7.0 combined with purescript-prelude
v0.1.2 is the "real" culprit here, so if you have the older strings as a dependency that's where the issue will be coming from.
from purescript-enums.
I added purescript-strings#0.7.0 as a dependency but the problem persists. I'm out of ideas, shouldn't it not happen if I have purescript-strings before 0.7.0 and purescript-prelude 0.1.1?
from purescript-enums.
Oh, sorry, yep, prelude v0.1.1 should be fine with any version of strings.
What do you get from bower list
after installing now?
from purescript-enums.
from purescript-enums.
:(
Did you try removing the output
folder as well before compiling?
from purescript-enums.
Ahh, that worked. I always forget about the output folder ...
thanks!
from purescript-enums.
Related Issues (15)
- No separation between Enumerable and FinitelyEnumerable HOT 1
- BoundedOrd HOT 1
- Inconsistent behavior of enumFromTo for bounded enums HOT 2
- UnboundedEnum HOT 6
- BoundedEnum instance for Int has invalid cardinality HOT 2
- Incorrect assumptions from BoundedEnum laws. HOT 3
- Why isn't BoundedEnum constraint used in defaultSucc and defaultPred? HOT 2
- upFromIncluding :: ∀ a u. Enum a => Unfoldable u => a -> NonEmpty u a HOT 2
- move Cardinality to type level HOT 3
- Consider a SmallBounded type
- `toEnum` modulo `Cardinality a`
- `charToEnum` implementation is wrong HOT 1
- Why succ returns Maybe? HOT 6
- Define BoundedEnum-like class using type-level Ints
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 purescript-enums.