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

building on stackage-nightly-2023-05-20 (ghc 9.4.5) #4009

Draft
wants to merge 13 commits into
base: trunk
Choose a base branch
from
Draft
1 change: 1 addition & 0 deletions codebase2/util-term/U/Util/Type.hs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE ViewPatterns #-}
{-# OPTIONS_GHC -Wno-forall-identifier #-}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could (carefully) s/forall/forAll as recommended by the manual instead? 😄 Looks like this will be come a non-optional error in a future release.

https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html?highlight=forall%20identifier#ghc-flag--Wforall-identifier

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I should've called it out better, this is just a temporary measure since it will become mandatory soon. forAll sounds like a good fix.


module U.Util.Type where

Expand Down
2 changes: 1 addition & 1 deletion lib/unison-pretty-printer/src/Unison/Util/SyntaxText.hs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import Unison.HashQualified (HashQualified)
import Unison.Name (Name)
import Unison.Pattern (SeqOp)
import Unison.Prelude
import Unison.Referent' (Referent')
import Unison.ReferentG (Referent')
import Unison.Util.AnnotatedText (AnnotatedText (..), annotate, segment)

type SyntaxText' r = AnnotatedText (Element r)
Expand Down
4 changes: 2 additions & 2 deletions parser-typechecker/src/Unison/Codebase/BranchUtil.hs
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ import qualified Unison.Codebase.Metadata as Metadata
import Unison.Codebase.Patch (Patch)
import Unison.Codebase.Path (Path)
import qualified Unison.Codebase.Path as Path
import Unison.HashQualified' (HashQualified (HashQualified, NameOnly))
import qualified Unison.HashQualified' as HQ'
import Unison.HashQualified2 (HashQualified (HashQualified, NameOnly))
import qualified Unison.HashQualified2 as HQ'
import Unison.NameSegment (NameSegment)
import Unison.Names (Names)
import qualified Unison.Names as Names
Expand Down
2 changes: 1 addition & 1 deletion parser-typechecker/src/Unison/Codebase/Path.hs
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ import Data.Sequence (Seq ((:<|), (:|>)))
import qualified Data.Sequence as Seq
import qualified Data.Text as Text
import qualified GHC.Exts as GHC
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.Name (Convert (..), Name, Parse)
import qualified Unison.Name as Name
import Unison.NameSegment (NameSegment (NameSegment))
Expand Down
2 changes: 1 addition & 1 deletion parser-typechecker/src/Unison/Codebase/Path/Parse.hs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import Data.Bifunctor (first)
import Data.List.Extra (stripPrefix)
import qualified Data.Text as Text
import Unison.Codebase.Path
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.NameSegment (NameSegment (NameSegment))
import qualified Unison.NameSegment as NameSegment
import Unison.Prelude hiding (empty, toList)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ import qualified Unison.Pattern as Pattern
import Unison.Prelude
import qualified Unison.Reference as Reference
import qualified Unison.Referent as Referent
import qualified Unison.Referent' as Referent'
import qualified Unison.ReferentG as Referent'
import qualified Unison.Sqlite as Sqlite
import Unison.Symbol (Symbol)
import qualified Unison.Term as Term
Expand Down
2 changes: 1 addition & 1 deletion parser-typechecker/src/Unison/PrettyPrintEnv.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import Unison.ConstructorReference (ConstructorReference)
import qualified Unison.ConstructorType as CT
import Unison.HashQualified (HashQualified)
import qualified Unison.HashQualified as HQ
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.LabeledDependency (LabeledDependency)
import qualified Unison.LabeledDependency as LD
import Unison.Name (Name)
Expand Down
2 changes: 1 addition & 1 deletion parser-typechecker/src/Unison/PrettyPrintEnv/Names.hs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module Unison.PrettyPrintEnv.Names (fromNames, fromSuffixNames) where

import Data.Bifunctor (second)
import qualified Data.Set as Set
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.Name (Name)
import qualified Unison.Name as Name
import qualified Unison.Names as Names
Expand Down
2 changes: 1 addition & 1 deletion parser-typechecker/src/Unison/Syntax/NamePrinter.hs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module Unison.Syntax.NamePrinter where

import qualified Unison.HashQualified as HQ
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.LabeledDependency (LabeledDependency)
import qualified Unison.LabeledDependency as LD
import Unison.Name (Name)
Expand Down
2 changes: 1 addition & 1 deletion parser-typechecker/src/Unison/Syntax/TermParser.hs
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ matchCases1 :: (Var v) => L.Token () -> P v (NonEmpty (Int, Term.MatchCase Ann (
matchCases1 start = do
cases <-
(sepBy semi matchCase)
<&> \cases -> [(n, c) | (n, cs) <- cases, c <- cs]
<&> \cases_ -> [(n, c) | (n, cs) <- cases_, c <- cs]
case cases of
[] -> P.customFailure (EmptyMatch start)
(c : cs) -> pure (c NonEmpty.:| cs)
Expand Down
2 changes: 2 additions & 0 deletions parser-typechecker/src/Unison/Syntax/TypeParser.hs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{-# OPTIONS_GHC -Wno-forall-identifier #-}

module Unison.Syntax.TypeParser where

import Control.Monad.Reader (asks)
Expand Down
2 changes: 1 addition & 1 deletion parser-typechecker/tests/Unison/Test/Codebase/Path.hs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Data.Text
import EasyTest
import Unison.Codebase.Path
import Unison.Codebase.Path.Parse
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.NameSegment
import qualified Unison.ShortHash as SH

Expand Down
1 change: 1 addition & 0 deletions parser-typechecker/tests/Unison/Test/DataDeclaration.hs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# OPTIONS_GHC -Wno-forall-identifier #-}

module Unison.Test.DataDeclaration where

Expand Down
1 change: 1 addition & 0 deletions parser-typechecker/tests/Unison/Test/Typechecker.hs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -Wno-forall-identifier #-}

module Unison.Test.Typechecker where

Expand Down
25 changes: 19 additions & 6 deletions stack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,23 +39,36 @@ packages:
- unison-syntax
- yaks/easytest

resolver: lts-20.21
resolver: nightly-2023-05-20
allow-newer: true
# NanoID-3.3.0 disallows base 4.17 from ghc 9.4
# base32-0.2.2.0 disallows base 4.17, text 2.x
# fuzzyfind-3.0.1 disallows criterion 1.6, text 2.x
# recover-rtti-0.4.2 disallows aeson 2.1.x, base 4.17, ghc-heap 9.4, primitive 0.8, vector 0.13
# shellmet-0.0.4.1 disallows base 4.17

extra-deps:
# This custom build supports defining blocks for deeper keys without explicitly nesting blocks
- github: unisonweb/configurator
commit: e47e9e9fe1f576f8c835183b9def52d73c01327a
- github: awkward-squad/ki
commit: 563e96238dfe392dccf68d93953c8f30fd53bec8
subdirs:
- ki

# This custom Haskeline alters ANSI rendering on Windows.
# If changing the haskeline dependency, please ensure color renders properly in a
# Windows terminal.
# https://github.com/judah/haskeline/pull/126
- github: unisonweb/haskeline
commit: 9275eea7982dabbf47be2ba078ced669ae7ef3d5

# not in lts-20.21
# snapshot version is too new
- fsnotify-0.3.0.1 # vs 0.4.1.0
- network-3.1.2.7 # 3.1.3.0 doesn't seem to build in GH actions windows-2019

# in lts-20 but not in snapshot
- NanoID-3.3.0
- shellmet-0.0.4.1
- base32-0.2.2.0

# not in stackage
- fuzzyfind-3.0.1
- guid-0.1.0@sha256:a7c975be473f6f142d5cc1b39bc807a99043d20b1bb0873fdfe7a3ce84d2faf1,1078
- lock-file-0.7.0.0@sha256:3ad84b5e454145e1d928063b56abb96db24a99a21b493989520e58fa0ab37b00,4484
Expand Down
56 changes: 39 additions & 17 deletions stack.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,6 @@ packages:
version: 0.3.0.0
original:
url: https://github.com/unisonweb/configurator/archive/e47e9e9fe1f576f8c835183b9def52d73c01327a.tar.gz
- completed:
name: ki
pantry-tree:
sha256: c63220c438c076818e09061b117c56055e154f6abb66ea9bc44a3900fcabd654
size: 704
sha256: a45eb3dbe7333c108aef4afce7f763c7661919b09641ef9d241c7ca4a78bf735
size: 15840
subdir: ki
url: https://github.com/awkward-squad/ki/archive/563e96238dfe392dccf68d93953c8f30fd53bec8.tar.gz
version: 1.0.0
original:
subdir: ki
url: https://github.com/awkward-squad/ki/archive/563e96238dfe392dccf68d93953c8f30fd53bec8.tar.gz
- completed:
name: haskeline
pantry-tree:
Expand All @@ -39,6 +26,41 @@ packages:
version: 0.8.0.0
original:
url: https://github.com/unisonweb/haskeline/archive/9275eea7982dabbf47be2ba078ced669ae7ef3d5.tar.gz
- completed:
hackage: fsnotify-0.3.0.1@sha256:fbec8cddd3f991d5b905df16895c67717b0f580e1ef33de34d93de814af1a08a,2988
pantry-tree:
sha256: 37a2111006e61b752f3d4690dc81d76a4cedf3415dc486779addb2a033f5de58
size: 1130
original:
hackage: fsnotify-0.3.0.1
- completed:
hackage: network-3.1.2.7@sha256:9752628bc626e0cad8c53039bea0dc0417f39ca6663232e4d9ac4e35a8925f7d,4911
pantry-tree:
sha256: aa95093a413ed8306699098159047580e0dc0bda4a862a0264a370b993319b24
size: 3971
original:
hackage: network-3.1.2.7
- completed:
hackage: NanoID-3.3.0@sha256:027d369d5ec841e982c68cbc78ea87c4e91b9ffe66908ab7f0be62eb465f6ae2,1648
pantry-tree:
sha256: 80ff9b1b12cb0ad102c7e5b935d6f3781f37f9375756c6df5b900f776e608724
size: 364
original:
hackage: NanoID-3.3.0
- completed:
hackage: shellmet-0.0.4.1@sha256:6d1dd3ce296b00a589e439d20a4466515cdf3e6156a0a147156804ee544ee9d1,3239
pantry-tree:
sha256: 5f5b89ad4dd21b03ee7518f745d50d881e0ae99ad6d8d5b9006ce798dd5d968f
size: 371
original:
hackage: shellmet-0.0.4.1
- completed:
hackage: base32-0.2.2.0@sha256:61a5c1f457b619700ce600a43ce5e695cddd31f09aac540df23258bf9027ee9d,2563
pantry-tree:
sha256: 7f684f2fa28ad83e70c1c5d22c4f7487e5b7dcc340aac1aad833fa5b32d17640
size: 1936
original:
hackage: base32-0.2.2.0
- completed:
hackage: fuzzyfind-3.0.1@sha256:78f89c1d79adf0a15fa2e57c693d42b4765ccfbbe380d0c9d7da6bff9f124f85,1823
pantry-tree:
Expand Down Expand Up @@ -76,7 +98,7 @@ packages:
hackage: recover-rtti-0.4.2@sha256:c179a303921126d8d782264e14f386c96e54a270df74be002e4c4ec3c8c7aebd,4529
snapshots:
- completed:
sha256: 401a0e813162ba62f04517f60c7d25e93a0f867f94a902421ebf07d1fb5a8c46
size: 650044
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/21.yaml
original: lts-20.21
sha256: 359dfcca6f69bb32f4f41eb951df23e1087fda7147c91cf8320813cdcc14e4dc
size: 632121
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2023/5/20.yaml
original: nightly-2023-05-20
2 changes: 1 addition & 1 deletion unison-cli/src/Unison/Cli/MonadUtils.hs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ import Unison.Codebase.Path (Path, Path' (..))
import qualified Unison.Codebase.Path as Path
import Unison.Codebase.ShortCausalHash (ShortCausalHash)
import qualified Unison.Codebase.ShortCausalHash as SCH
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.NameSegment (NameSegment)
import Unison.Parser.Ann (Ann (..))
import Unison.Prelude
Expand Down
6 changes: 3 additions & 3 deletions unison-cli/src/Unison/Codebase/Editor/HandleInput.hs
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ import Unison.Core.Project (ProjectAndBranch (..), ProjectBranchName, ProjectNam
import qualified Unison.DataDeclaration as DD
import qualified Unison.Hash as Hash
import qualified Unison.HashQualified as HQ
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified' as HashQualified
import qualified Unison.HashQualified2 as HQ'
import qualified Unison.HashQualified2 as HashQualified
import qualified Unison.Hashing.V2.Convert as Hashing
import Unison.LabeledDependency (LabeledDependency)
import qualified Unison.LabeledDependency as LD
Expand Down Expand Up @@ -184,7 +184,7 @@ import qualified Unison.Server.NameSearch.FromNames as NameSearch
import Unison.Server.QueryResult
import Unison.Server.SearchResult (SearchResult)
import qualified Unison.Server.SearchResult as SR
import qualified Unison.Server.SearchResult' as SR'
import qualified Unison.Server.SearchResult2 as SR'
import qualified Unison.Share.Codeserver as Codeserver
import qualified Unison.ShortHash as SH
import qualified Unison.Sqlite as Sqlite
Expand Down
4 changes: 2 additions & 2 deletions unison-cli/src/Unison/Codebase/Editor/Output.hs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ import Unison.Codebase.Type (GitError)
import qualified Unison.CommandLine.InputPattern as Input
import Unison.DataDeclaration (Decl)
import qualified Unison.HashQualified as HQ
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.LabeledDependency (LabeledDependency)
import Unison.Name (Name)
import Unison.NameSegment (NameSegment)
Expand All @@ -64,7 +64,7 @@ import Unison.Reference (Reference, TermReference)
import qualified Unison.Reference as Reference
import Unison.Referent (Referent)
import Unison.Server.Backend (ShallowListEntry (..))
import Unison.Server.SearchResult' (SearchResult')
import Unison.Server.SearchResult2 (SearchResult')
import qualified Unison.Share.Sync.Types as Sync
import Unison.ShortHash (ShortHash)
import Unison.Symbol (Symbol)
Expand Down
2 changes: 1 addition & 1 deletion unison-cli/src/Unison/Codebase/Editor/Output/BranchDiff.hs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import qualified Unison.Codebase.Metadata as Metadata
import qualified Unison.Codebase.Patch as P
import Unison.DataDeclaration (DeclOrBuiltin)
import qualified Unison.HashQualified as HQ
import Unison.HashQualified' (HashQualified)
import Unison.HashQualified2 (HashQualified)
import Unison.Name (Name)
import qualified Unison.Name as Name
import Unison.Names (Names)
Expand Down
2 changes: 1 addition & 1 deletion unison-cli/src/Unison/Codebase/Editor/Slurp.hs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import Unison.Parser.Ann (Ann)
import Unison.Prelude
import Unison.Referent (Referent)
import qualified Unison.Referent as Referent
import qualified Unison.Referent' as Referent
import qualified Unison.ReferentG as Referent
import Unison.Symbol (Symbol)
import qualified Unison.Syntax.Name as Name (toText, unsafeFromVar)
import qualified Unison.UnisonFile as UF
Expand Down
2 changes: 1 addition & 1 deletion unison-cli/src/Unison/CommandLine/Completion.hs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ import qualified Unison.Codebase as Codebase
import qualified Unison.Codebase.Path as Path
import qualified Unison.Codebase.SqliteCodebase.Conversions as Cv
import qualified Unison.CommandLine.InputPattern as IP
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.NameSegment (NameSegment (NameSegment))
import qualified Unison.NameSegment as NameSegment
import Unison.Prelude
Expand Down
6 changes: 3 additions & 3 deletions unison-cli/src/Unison/CommandLine/OutputMessages.hs
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ import qualified Unison.Hash as Hash
import Unison.Hash32 (Hash32)
import qualified Unison.Hash32 as Hash32
import qualified Unison.HashQualified as HQ
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.LabeledDependency as LD
import Unison.Name (Name)
import qualified Unison.Name as Name
Expand Down Expand Up @@ -137,11 +137,11 @@ import Unison.Reference (Reference, TermReference)
import qualified Unison.Reference as Reference
import Unison.Referent (Referent)
import qualified Unison.Referent as Referent
import qualified Unison.Referent' as Referent
import qualified Unison.ReferentG as Referent
import qualified Unison.Result as Result
import Unison.Server.Backend (ShallowListEntry (..), TypeEntry (..))
import qualified Unison.Server.Backend as Backend
import qualified Unison.Server.SearchResult' as SR'
import qualified Unison.Server.SearchResult2 as SR'
import qualified Unison.Share.Sync as Share
import Unison.Share.Sync.Types (CodeserverTransportError (..))
import qualified Unison.ShortHash as SH
Expand Down
4 changes: 2 additions & 2 deletions unison-cli/src/Unison/LSP/Completion.hs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import Language.LSP.Types.Lens
import Unison.Codebase.Path (Path)
import qualified Unison.Codebase.Path as Path
import qualified Unison.HashQualified as HQ
import qualified Unison.HashQualified' as HQ'
import qualified Unison.HashQualified2 as HQ'
import Unison.LSP.FileAnalysis
import qualified Unison.LSP.Queries as LSPQ
import Unison.LSP.Types
Expand All @@ -40,7 +40,7 @@ import qualified Unison.Reference as Reference
import qualified Unison.Referent as Referent
import qualified Unison.Runtime.IOSource as IOSource
import qualified Unison.Syntax.DeclPrinter as DeclPrinter
import qualified Unison.Syntax.HashQualified' as HQ' (toText)
import qualified Unison.Syntax.HashQualified2 as HQ' (toText)
import qualified Unison.Syntax.Name as Name (fromText, toText)
import qualified Unison.Syntax.TypePrinter as TypePrinter
import qualified Unison.Util.Monoid as Monoid
Expand Down
2 changes: 1 addition & 1 deletion unison-cli/src/Unison/LSP/FileAnalysis.hs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ import Unison.Result (Note)
import qualified Unison.Result as Result
import Unison.Symbol (Symbol)
import qualified Unison.Symbol as Symbol
import qualified Unison.Syntax.HashQualified' as HQ' (toText)
import qualified Unison.Syntax.HashQualified2 as HQ' (toText)
import qualified Unison.Syntax.Lexer as L
import qualified Unison.Syntax.Parser as Parser
import qualified Unison.Syntax.TypePrinter as TypePrinter
Expand Down
1 change: 1 addition & 0 deletions unison-cli/src/Unison/LSP/Types.hs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-type-equality-requires-operators #-}

module Unison.LSP.Types where

Expand Down
3 changes: 2 additions & 1 deletion unison-core/src/Unison/DataDeclaration.hs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -Wno-forall-identifier #-}

module Unison.DataDeclaration
( DataDeclaration (..),
Expand Down Expand Up @@ -52,7 +53,7 @@ import Unison.Prelude
import Unison.Reference (Reference)
import qualified Unison.Reference as Reference
import qualified Unison.Referent as Referent
import qualified Unison.Referent' as Referent'
import qualified Unison.ReferentG as Referent'
import Unison.Term (Term)
import qualified Unison.Term as Term
import Unison.Type (Type)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module Unison.HashQualified' where
module Unison.HashQualified2 where

import qualified Data.Text as Text
import qualified Unison.HashQualified as HQ
Expand All @@ -14,7 +14,7 @@ import Unison.ShortHash (ShortHash)
import qualified Unison.ShortHash as SH
import Prelude hiding (take)

-- | Like Unison.HashQualified, but doesn't support a HashOnly variant
-- | Like Unison.HashQualified2, but doesn't support a HashOnly variant
data HashQualified n = NameOnly n | HashQualified n ShortHash
deriving stock (Eq, Functor, Generic, Foldable, Ord, Show, Traversable)

Expand Down