Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #457 #641

Closed
wants to merge 3 commits into from
Closed

Fix #457 #641

wants to merge 3 commits into from

Conversation

paf31
Copy link
Contributor

@paf31 paf31 commented Oct 17, 2014

I think this fixes #457 but I want to make sure it definitely hasn't broken anything before merging.

Also, I'm not sure this is a general fix for the issue - it might just magically work in this case.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.21%) when pulling 77fe482 on 457 into 3634a8d on master.

@garyb
Copy link
Member

garyb commented Oct 17, 2014

This seems sensible to me, but I only have a general understanding of what's going on here.

@garyb
Copy link
Member

garyb commented Oct 17, 2014

Hmm, it does break some stuff though, from purescript-node-fs:

>> Compiling Node.FS.Sync
>> Error at src/Node/FS/Sync.purs line 162, column 38:
>> Error in declaration realpath'
>> Cannot unify cache443 with u477.

@paf31
Copy link
Contributor Author

paf31 commented Oct 17, 2014

Ah, I spotted that, then cleaned Bower and couldn't reproduce it. Is there any chance you could turn verbose errors on and paste the result?

@garyb
Copy link
Member

garyb commented Oct 17, 2014

Yeah, I had that happen too, in test-everything. A bit worrying perhaps. It fails every time in purescript-node-fs though.

Here's the verbose output:

>> Compiling Node.FS.Sync
>> Error at src/Node/FS/Sync.purs line 162, column 38: 
>> Error in declaration realpath'
>> Error in expression \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)):
>> Error checking type of term \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)) against type forall eff cache. Node.Path.FilePath<> -> {  | cache } -> Control.Monad.Eff.Eff (err :: Control.Monad.Eff.Exception.Exception, fs :: Node.FS.FS | eff) Node.Path.FilePath<>
>> Error in expression \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)):
>> Error checking type of term \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)) against type forall eff. Node.Path.FilePath<> -> {  | cache443 } -> Control.Monad.Eff.Eff (err :: Control.Monad.Eff.Exception.Exception, fs :: Node.FS.FS | eff) Node.Path.FilePath<>
>> Error in expression \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)):
>> Error checking type of term \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)) against type Node.Path.FilePath<> -> {  | cache443 } -> Control.Monad.Eff.Eff (err :: Control.Monad.Eff.Exception.Exception, fs :: Node.FS.FS | eff445) Node.Path.FilePath<>
>> Error in expression \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)):
>> Error checking type of term \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)) against type Prim.String -> {  | cache443 } -> Control.Monad.Eff.Eff (err :: Control.Monad.Eff.Exception.Exception, fs :: Node.FS.FS | eff445) Prim.String
>> Error in expression \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)):
>> Error checking type of term \path -> \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)) against type Prim.String -> {  | cache443 } -> Control.Monad.Eff.Eff (err :: Control.Monad.Eff.Exception.Exception, fs :: Node.FS.FS | eff445) Prim.String
>> Error in expression \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)):
>> Error checking type of term \cache -> Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)) against type {  | cache443 } -> Control.Monad.Eff.Eff (err :: Control.Monad.Eff.Exception.Exception, fs :: Node.FS.FS | eff445) Prim.String
>> Error in expression Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)):
>> Error checking type of term Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)) against type Control.Monad.Eff.Eff (err :: Control.Monad.Eff.Exception.Exception, fs :: Node.FS.FS | eff445) Prim.String
>> Error in expression Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)):
>> Error checking type of term Prelude.($)(Node.FS.Sync.mkEff)(\_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)) against type Control.Monad.Eff.Eff (err :: Control.Monad.Eff.Exception.Exception, fs :: Node.FS.FS | eff445) Prim.String
>> Error in expression Prelude.($)(Node.FS.Sync.mkEff):
>> Error applying function of type u449 -> u448 to argument \_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache)
>> Error in expression \_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache):
>> Error checking type of term \_ -> Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache) against type Prelude.Unit -> u452
>> Error in expression Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache):
>> Error checking type of term Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache) against type u452
>> Error in expression Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path)(cache):
>> Error inferring type of value
>> Error in expression Data.Function.runFn2(Node.FS.Sync.fs.realpathSync)(path):
>> Error applying function of type {  | u477 } -> Node.Path.FilePath<> to argument cache
>> Error in expression cache:
>> Error checking type of term cache against type {  | u477 }
>> Error in expression cache:
>> Error checking that type {  | cache443 } subsumes type {  | u477 }
>> Cannot unify cache443 with u477.

@paf31
Copy link
Contributor Author

paf31 commented Oct 22, 2014

@garyb Actually, I get that error with the compiler from master as well. Do you?

@garyb
Copy link
Member

garyb commented Oct 22, 2014

I just double checked, and nope, only with this branch. Are you sure you cabal installed after switching back to master? ;)

@paf31
Copy link
Contributor Author

paf31 commented Oct 22, 2014

D'oh. It's because I installed psc to /usr/local to test the Mac binary build script. Thanks :)

@paf31 paf31 closed this Oct 22, 2014
@paf31 paf31 deleted the 457 branch October 22, 2014 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Duplicate labels in inferred row types
3 participants