haskell-distributed / distributed-process-client-server

Cloud Haskell - gen_server implementation
http://haskell-distributed.github.io
BSD 3-Clause "New" or "Revised" License
13 stars 11 forks source link

make adjustments for GHC 8 support #4

Closed agentm closed 7 years ago

agentm commented 7 years ago

Ran "cabal test" against GHC 7.10.3 and GHC 8.0.1 successfully.

I need to compile against binary, time, and deepseq from GHC 8 because our project links against GHC for its scripting engine.

The only remaining warnings in GHC8 are loads of redundant constraint warnings (new in GHC 8), but that will be fixed in a subsequent pull request, if it makes sense to fix them.

qnikst commented 7 years ago

Thanks for the patch!

Travis CI is failing but so it did for previous versions and master so I'm merging this.

hyperthunk commented 7 years ago

The build seems to fail when compiling distributed-process-extras.

src/Control/Concurrent/Utils.hs:36:18: Not in scope: ‘<$>’
src/Control/Concurrent/Utils.hs:36:32: Not in scope: ‘<*>’
src/Control/Concurrent/Utils.hs:36:36: Not in scope: ‘pure’
src/Control/Concurrent/Utils.hs:36:50: Not in scope: ‘<*>’
src/Control/Concurrent/Utils.hs:36:54: Not in scope: ‘pure’
Installed distributed-process-async-0.2.3
cabal: Error: some packages failed to install:
distributed-process-extras-0.2.1.2 failed during the building phase. The
exception was:
ExitFailure 1

I'll try and dig in to this, I'm assuming it's an API having changed somewhere.

agentm commented 7 years ago

All of those functions are in the Prelude and I don't see any imports hiding them or excluding Prelude.

Also, I just pulled from this master and am unable to reproduce this with 8.0.1.

Are there any errors above this?

hyperthunk commented 7 years ago

It seems to be talking to build d-p-extras. I'm gonna look at modifying the extension library builds to emulate distributed-process' since that has changed to use stack and I think these libs should do the same for travis. I'll tweak and submit a pr

qnikst commented 7 years ago

Those functions are from older pre-7.10 GHC where where they were not re-exported by Prelude.

import Control.Applicative
... other imports
import Prelude

should work for all ghc versions.

hyperthunk commented 7 years ago

Shows how long I've been awol! Will update in a branch and see if travis is happy...