Code Monkey home page Code Monkey logo

Comments (24)

garyb avatar garyb commented on July 30, 2024

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.

paf31 avatar paf31 commented on July 30, 2024

Does this happen after enums is updated?

from purescript-enums.

garyb avatar garyb commented on July 30, 2024

It shouldn't

from purescript-enums.

paf31 avatar paf31 commented on July 30, 2024

But does it? 😄

from purescript-enums.

garyb avatar garyb commented on July 30, 2024

Not for me 😉 - I ran the post-travis-test-everything locally after updating the libraries.

from purescript-enums.

paf31 avatar paf31 commented on July 30, 2024

Maybe a cache issue then?

from purescript-enums.

rubenmoor avatar rubenmoor commented on July 30, 2024

I ran

$ bower cache clean
$ bower update

Still got the issue upon compiling.

from purescript-enums.

garyb avatar garyb commented on July 30, 2024

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.

rubenmoor avatar rubenmoor commented on July 30, 2024

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.

garyb avatar garyb commented on July 30, 2024

Ahh ok! I'll update purescript-node-fs. I forgot about the projects in purescript-node.

from purescript-enums.

garyb avatar garyb commented on July 30, 2024

If you bump your purescript-node-fs to v0.8.0 it should work out now, hopefully.

from purescript-enums.

rubenmoor avatar rubenmoor commented on July 30, 2024

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.

rubenmoor avatar rubenmoor commented on July 30, 2024

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.

rubenmoor avatar rubenmoor commented on July 30, 2024

Any idea for a workaround?

from purescript-enums.

garyb avatar garyb commented on July 30, 2024

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.

rubenmoor avatar rubenmoor commented on July 30, 2024

That works for me. Thanks!

from purescript-enums.

garyb avatar garyb commented on July 30, 2024

Great, sorry you had such trouble with it!

from purescript-enums.

Thimoteus avatar Thimoteus commented on July 30, 2024

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.

garyb avatar garyb commented on July 30, 2024

@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.

Thimoteus avatar Thimoteus commented on July 30, 2024

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.

garyb avatar garyb commented on July 30, 2024

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.

Thimoteus avatar Thimoteus commented on July 30, 2024

Here's the dependency tree

from purescript-enums.

garyb avatar garyb commented on July 30, 2024

:(

Did you try removing the output folder as well before compiling?

from purescript-enums.

Thimoteus avatar Thimoteus commented on July 30, 2024

Ahh, that worked. I always forget about the output folder ...

thanks!

from purescript-enums.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.