Skip to content

Chore: bump to lts-20.0 #3642

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

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion codebase2/core/U/Core/ABT.hs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{-# LANGUAGE UndecidableInstances #-}

-- Based on: http://semantic-domain.blogspot.com/2015/03/abstract-binding-trees.html

module U.Core.ABT where
Expand Down Expand Up @@ -44,7 +46,7 @@ instance
( forall a. Eq a => Eq (f a),
Foldable f,
Functor f,
forall a. Ord a => Ord (f a),
Ord (f (Term f v a)),
Var v
) =>
Ord (Term f v a)
Expand Down
2 changes: 1 addition & 1 deletion lib/unison-prelude/src/Unison/Prelude.hs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ import Data.Coerce as X (Coercible, coerce)
import Data.Either as X
import Data.Either.Combinators as X (mapLeft, maybeToRight)
import Data.Either.Extra (eitherToMaybe, maybeToEither)
import Data.Foldable as X (asum, fold, foldl', for_, toList, traverse_)
import Data.Foldable as X (fold, foldl', for_, toList, traverse_)
import Data.Function as X ((&))
import Data.Functor as X
import Data.Functor.Identity as X
Expand Down
2 changes: 1 addition & 1 deletion parser-typechecker/package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ dependencies:
- stm
- tagged
- temporary
- terminal-size
- terminal-size >= 0.3.3
- text
- text-short
- these
Expand Down
4 changes: 2 additions & 2 deletions parser-typechecker/unison-parser-typechecker.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ library
, stm
, tagged
, temporary
, terminal-size
, terminal-size >=0.3.3
, text
, text-short
, these
Expand Down Expand Up @@ -444,7 +444,7 @@ test-suite parser-typechecker-tests
, stm
, tagged
, temporary
, terminal-size
, terminal-size >=0.3.3
, text
, text-short
, these
Expand Down
48 changes: 22 additions & 26 deletions stack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ flags:
haskeline:
terminfo: false

allow-newer: true # async package has needlessly strict upper bound

allow-different-user: true

build:
Expand Down Expand Up @@ -35,14 +33,15 @@ packages:
- lib/unison-util-rope
- lib/unison-pretty-printer

#compiler-check: match-exact
resolver: lts-18.28
resolver: lts-20.0
# Possibly short-term override: downgrade from 9.2.5 to 9.2.4
# This is because as of Nov 29 2022 there is no HLS release compatible with 9.2.5
compiler: ghc-9.2.4
compiler-check: match-exact

extra-deps:
- github: unisonweb/configurator
commit: e47e9e9fe1f576f8c835183b9def52d73c01327a
- github: unisonweb/shellmet
commit: 2fd348592c8f51bb4c0ca6ba4bc8e38668913746
- github: awkward-squad/ki
commit: 563e96238dfe392dccf68d93953c8f30fd53bec8
subdirs:
Expand All @@ -51,27 +50,24 @@ extra-deps:
# If changing the haskeline dependency, please ensure color renders properly in a
# Windows terminal.
# https://github.com/judah/haskeline/pull/126
- github: judah/haskeline
commit: d6c2643b0d5c19be7e440615c6f84d603d4bc648
- guid-0.1.0@sha256:a7c975be473f6f142d5cc1b39bc807a99043d20b1bb0873fdfe7a3ce84d2faf1,1078
- sandi-0.5@sha256:b278d072ca717706ea38f9bd646e023f7f2576a778fb43565b434f93638849aa,3010
- fuzzyfind-3.0.0@sha256:d79a5d3ed194dd436c6b839bf187211d880cf773b2febaca456e5ccf93f5ac65,1814
- monad-validate-1.2.0.0@sha256:9850f408431098b28806dd464b6825a88a0b56c84f380d7fe0454c1df9d6f881,3505
- NanoID-3.1.0@sha256:9118ab00e8650b5a56a10c90295d357eb77a8057a598b7e56dfedc9c6d53c77d,1524
# 2.3.27 bundles sqlite >=3.35.0, needed for 'delete returning'
- direct-sqlite-2.3.27
# not in lts-18.13
- recover-rtti-0.4.0.0@sha256:2ce1e031ec0e34d736fa45f0149bbd55026f614939dc90ffd14a9c5d24093ff4,4423
- lock-file-0.7.0.0@sha256:3ad84b5e454145e1d928063b56abb96db24a99a21b493989520e58fa0ab37b00,4484
- http-client-0.7.11
- lsp-1.5.0.0
- lsp-types-1.5.0.0
- text-rope-0.2@sha256:53b9b4cef0b278b9c591cd4ca76543acacf64c9d1bfbc06d0d9a88960446d9a7,2087
- github: unisonweb/haskeline
commit: 6df6d5a0711dd1056b6182559281b31ecfc24773

# these packages aren't in lts-20.0 at all
- co-log-core-0.3.1.0
# lts 18.28 provides 0.3.2.1 but we need at least 0.3.3
- terminal-size-0.3.3
# lts 18.28 provides 3.1.1.1 but we need at least 3.1.2.7
- network-3.1.2.7
- fuzzyfind-3.0.0
- lock-file-0.7.0.0
- lsp-1.6.0.0
- monad-validate-1.2.0.1
- recover-rtti-0.4.1.0

# these packages are in lts-20.0, but the pinned version is too old
- shellmet-0.0.4.1

# these packages are transitive dependencies whose pinned versions were either too old or too new, per the above
# deviations to the snapshot
- massiv-0.6.1.0 # due to fuzzyfind-3.0.0; PR: https://github.com/runarorama/fuzzyfind/pull/3
- scheduler-1.5.0 # due to massiv-0.6.1.0

ghc-options:
# All packages
Expand Down
135 changes: 41 additions & 94 deletions stack.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,6 @@ packages:
sha256: 90547cd983fd15ebdc803e057d3ef8735fe93a75e29a00f8a74eadc13ee0f6e9
original:
url: https://github.com/unisonweb/configurator/archive/e47e9e9fe1f576f8c835183b9def52d73c01327a.tar.gz
- completed:
size: 10460
url: https://github.com/unisonweb/shellmet/archive/2fd348592c8f51bb4c0ca6ba4bc8e38668913746.tar.gz
name: shellmet
version: 0.0.4.0
sha256: 6e642163070a217cc3363bdbefde571ff6c1878f4fc3d92e9c910db7fa88eaf2
pantry-tree:
size: 654
sha256: 05a169a7a6b68100630e885054dc1821d31cd06571b0317ec90c75ac2c41aeb7
original:
url: https://github.com/unisonweb/shellmet/archive/2fd348592c8f51bb4c0ca6ba4bc8e38668913746.tar.gz
- completed:
size: 15840
subdir: ki
Expand All @@ -40,124 +29,82 @@ packages:
subdir: ki
url: https://github.com/awkward-squad/ki/archive/563e96238dfe392dccf68d93953c8f30fd53bec8.tar.gz
- completed:
size: 74363
url: https://github.com/judah/haskeline/archive/d6c2643b0d5c19be7e440615c6f84d603d4bc648.tar.gz
size: 75310
url: https://github.com/unisonweb/haskeline/archive/6df6d5a0711dd1056b6182559281b31ecfc24773.tar.gz
name: haskeline
version: 0.8.0.0
sha256: ef827ea5e8581cd68da9600660b2e584877d4fcdcf1cd2eb4652e0e51d817465
pantry-tree:
size: 3769
sha256: e30301b5389893948e25d39978d09948b11479b5b2a3517b978466fde548fc48
original:
url: https://github.com/judah/haskeline/archive/d6c2643b0d5c19be7e440615c6f84d603d4bc648.tar.gz
- completed:
hackage: guid-0.1.0@sha256:a7c975be473f6f142d5cc1b39bc807a99043d20b1bb0873fdfe7a3ce84d2faf1,1078
version: 0.8.2
sha256: 575845817015d206027223cbdcce5bfdde98c35556b6c7a79706a7dbba5691de
pantry-tree:
size: 364
sha256: a33838b7b1c54f6ac3e1b436b25674948713a4189658e4d82e639b9a689bc90d
size: 3656
sha256: e36991270e99af4b2686c19a2413889eda213257ebeae53e3b5c29bdcd1e75dd
original:
hackage: guid-0.1.0@sha256:a7c975be473f6f142d5cc1b39bc807a99043d20b1bb0873fdfe7a3ce84d2faf1,1078
url: https://github.com/unisonweb/haskeline/archive/6df6d5a0711dd1056b6182559281b31ecfc24773.tar.gz
- completed:
hackage: sandi-0.5@sha256:b278d072ca717706ea38f9bd646e023f7f2576a778fb43565b434f93638849aa,3010
hackage: co-log-core-0.3.1.0@sha256:9794bdedd1391decd0e22bdfe2b11abcb42e6cff7a4531e1f8882890828f4e63,3816
pantry-tree:
size: 3455
sha256: 5ca7ce4bc22ab9d4427bb149b5e283ab9db43375df14f7131fdfd48775f36350
size: 584
sha256: d4cc089c40c5052ee02f91eafa567e0a239908aabc561dfa6080ba3bfc8c25bd
original:
hackage: sandi-0.5@sha256:b278d072ca717706ea38f9bd646e023f7f2576a778fb43565b434f93638849aa,3010
hackage: co-log-core-0.3.1.0
- completed:
hackage: fuzzyfind-3.0.0@sha256:d79a5d3ed194dd436c6b839bf187211d880cf773b2febaca456e5ccf93f5ac65,1814
pantry-tree:
size: 542
sha256: 0e6c6d4f89083c8385de5adc4f36ad01b2b0ff45261b47f7d90d919969c8b5ed
original:
hackage: fuzzyfind-3.0.0@sha256:d79a5d3ed194dd436c6b839bf187211d880cf773b2febaca456e5ccf93f5ac65,1814
- completed:
hackage: monad-validate-1.2.0.0@sha256:9850f408431098b28806dd464b6825a88a0b56c84f380d7fe0454c1df9d6f881,3505
pantry-tree:
size: 713
sha256: 8e049bd12ce2bd470909578f2ee8eb80b89d5ff88860afa30e29dd4eafecfa3e
original:
hackage: monad-validate-1.2.0.0@sha256:9850f408431098b28806dd464b6825a88a0b56c84f380d7fe0454c1df9d6f881,3505
- completed:
hackage: NanoID-3.1.0@sha256:9118ab00e8650b5a56a10c90295d357eb77a8057a598b7e56dfedc9c6d53c77d,1524
pantry-tree:
size: 363
sha256: d33d603a2f0d1a220ff0d5e7edb6273def89120e6bb958c2d836cae89e788334
original:
hackage: NanoID-3.1.0@sha256:9118ab00e8650b5a56a10c90295d357eb77a8057a598b7e56dfedc9c6d53c77d,1524
- completed:
hackage: direct-sqlite-2.3.27@sha256:94207d3018da3bda84bc6ce00d2c0236ced7edb37afbd726ed2a0bfa236e149b,3771
pantry-tree:
size: 770
sha256: c7f5afe70db567e2cf9f3119b49f4b402705e6bd08ed8ba98747a64a8a0bef41
original:
hackage: direct-sqlite-2.3.27
- completed:
hackage: recover-rtti-0.4.0.0@sha256:2ce1e031ec0e34d736fa45f0149bbd55026f614939dc90ffd14a9c5d24093ff4,4423
pantry-tree:
size: 2410
sha256: d87d84c3f760c1b2540f74e4a301cd4e8294df891e8e4262e8bdd313bc8e0bfd
original:
hackage: recover-rtti-0.4.0.0@sha256:2ce1e031ec0e34d736fa45f0149bbd55026f614939dc90ffd14a9c5d24093ff4,4423
hackage: fuzzyfind-3.0.0
- completed:
hackage: lock-file-0.7.0.0@sha256:3ad84b5e454145e1d928063b56abb96db24a99a21b493989520e58fa0ab37b00,4484
pantry-tree:
size: 718
sha256: 3634593ce191e82793ea0e060598ab3cf67f2ef2fe1d65345dc9335ad529d25f
original:
hackage: lock-file-0.7.0.0@sha256:3ad84b5e454145e1d928063b56abb96db24a99a21b493989520e58fa0ab37b00,4484
hackage: lock-file-0.7.0.0
- completed:
hackage: http-client-0.7.11@sha256:3f59ac8ffe2a3768846cdda040a0d1df2a413960529ba61c839861c948871967,5756
hackage: lsp-1.6.0.0@sha256:2b95e406cc85ffa95406ae8ad7d16b82283a6ca2fcb7ea5308a4ef3e6d6e68e6,4397
pantry-tree:
size: 2547
sha256: 8372e84e9c710097f4f80f2016ca15a5a0cd7884b8ac5ce70f26b3110f4401bd
size: 1044
sha256: 43a82c501ec3074d888f2bf4960e4b447028c1537abbca4cf65e74944604bf62
original:
hackage: http-client-0.7.11
hackage: lsp-1.6.0.0
- completed:
hackage: lsp-1.5.0.0@sha256:1ad138526f9177965d4b5b01f9074fe0475636b2c563dcc7036fb6908f8e6189,5382
hackage: monad-validate-1.2.0.1@sha256:5a100da896f11ca4b7c123da85decbedeb46c37054a097f258ac911e715cb68d,2587
pantry-tree:
size: 1551
sha256: 87526822a8ffb514d355975bca3a3f5ceb9a19eaf664cbdcde2f866c4d33878c
size: 611
sha256: 034ee4de9765e38b763f5d73b236cc112205728e680cefbfe12d2882accc3264
original:
hackage: lsp-1.5.0.0
hackage: monad-validate-1.2.0.1
- completed:
hackage: lsp-types-1.5.0.0@sha256:7ed97bbc9290ad6ffb9b5a8e082226783c710fff9e4ca2df4c578b065997b1ea,4301
hackage: recover-rtti-0.4.1.0@sha256:31997127810799666b01f1202efd77033d4737ebd83232d5b2389d2f4b332cf5,4606
pantry-tree:
size: 4160
sha256: e45ef86a4301beb45ae7ec527e69880944a03c2d959cb0a051bf58dd0a5579f4
size: 2487
sha256: 97ae15098c59f89ffbc43774e342d9b47aec6082fe3ef0f4554fd8a1908c0f1b
original:
hackage: lsp-types-1.5.0.0
hackage: recover-rtti-0.4.1.0
- completed:
hackage: text-rope-0.2@sha256:53b9b4cef0b278b9c591cd4ca76543acacf64c9d1bfbc06d0d9a88960446d9a7,2087
hackage: shellmet-0.0.4.1@sha256:6d1dd3ce296b00a589e439d20a4466515cdf3e6156a0a147156804ee544ee9d1,3239
pantry-tree:
size: 1180
sha256: 51b22419f8d9bfd2a8aa3efa16b80a48e4b0c915a1d27fefe5f0b6d2d9e48312
size: 371
sha256: 5f5b89ad4dd21b03ee7518f745d50d881e0ae99ad6d8d5b9006ce798dd5d968f
original:
hackage: text-rope-0.2@sha256:53b9b4cef0b278b9c591cd4ca76543acacf64c9d1bfbc06d0d9a88960446d9a7,2087
- completed:
hackage: co-log-core-0.3.1.0@sha256:9794bdedd1391decd0e22bdfe2b11abcb42e6cff7a4531e1f8882890828f4e63,3816
pantry-tree:
size: 584
sha256: d4cc089c40c5052ee02f91eafa567e0a239908aabc561dfa6080ba3bfc8c25bd
original:
hackage: co-log-core-0.3.1.0
hackage: shellmet-0.0.4.1
- completed:
hackage: terminal-size-0.3.3@sha256:bd5f02333982bc8d6017db257b2a0b91870a295b4a37142a0c0525d8f533a48f,1255
hackage: massiv-0.6.1.0@sha256:f3a697e31dc3390f56546a4da5ddc1f31c878e9ba4d960457ef775d924b88e46,4815
pantry-tree:
size: 580
sha256: 2a9669ed392657d34ec2e180ddac68c9ef657e54bf4b5fbc9b9efaa7b1d341be
size: 3990
sha256: 0e29bcf9d2d57e30e7626fcda96f553a9d191d98ce21267090eddfd449ba52a1
original:
hackage: terminal-size-0.3.3
hackage: massiv-0.6.1.0
- completed:
hackage: network-3.1.2.7@sha256:e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568,4888
hackage: scheduler-1.5.0@sha256:8b43f2991bf9a720b12192ba99525f705a44aeae9541a7bd73fbc7e7b56fd8f0,2437
pantry-tree:
size: 3971
sha256: 1981a732d1917213de7f51d26255af733a61918c59eebb6c6f6ca939856839ef
size: 921
sha256: 18de6354961aab66e7aafb6b7a21edfa2239cd202a61338468ebe0840b826e04
original:
hackage: network-3.1.2.7
hackage: scheduler-1.5.0
snapshots:
- completed:
size: 590100
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/28.yaml
sha256: 428ec8d5ce932190d3cbe266b9eb3c175cd81e984babf876b64019e2cbe4ea68
original: lts-18.28
size: 648420
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/0.yaml
sha256: a2cbcd2f37010a64c4ef74c21fd7e55982a07b49840d2bed306f9bac9981a9c3
original: lts-20.0
6 changes: 3 additions & 3 deletions unison-cli/package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ghc-options: -Wall
dependencies:
- IntervalMap
- ListLike
- aeson
- aeson >= 2.0.0.0
- aeson-pretty
- async
- base
Expand Down Expand Up @@ -41,8 +41,8 @@ dependencies:
- ki
- lens
- lock-file
- lsp
- lsp-types
- lsp >= 1.5.0.0
- lsp-types >= 1.5.0.0
- megaparsec
- memory
- mtl
Expand Down
2 changes: 1 addition & 1 deletion unison-cli/src/Unison/CommandLine/Welcome.hs
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ authorSuggestion :: P.Pretty P.ColorText
authorSuggestion =
P.newline
<> P.lines
[ P.wrap "📜 🪶 You might want to set up your author information next.",
[ P.wrap "📜 You might want to set up your author information next.",
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we not use the 🖊️ character anymore?

Copy link
Member Author

Choose a reason for hiding this comment

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

I haven't tested on GHC 9.2.4. On GHC 9.0.2, no, which was weird. But I didn't investigate too closely because I thought putting two emojis in a row here was a mistake, anyway.

Copy link
Member Author

Choose a reason for hiding this comment

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

Should I try putting it back?

Copy link
Contributor

Choose a reason for hiding this comment

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

I dunno, I guess it's supposed to be writing on paper, not sure if the paper alone makes sense. @rlmark ? :)

P.wrap "Type" <> P.hiBlue " create.author" <> " to create an author for this codebase",
P.group (P.newline <> P.wrap "Read about how to link your author to your code at"),
P.wrap $ P.blue "https://www.unison-lang.org/learn/tooling/configuration/"
Expand Down
4 changes: 3 additions & 1 deletion unison-cli/src/Unison/LSP/Types.hs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ import Control.Lens hiding (List, (:<))
import Control.Monad.Except
import Control.Monad.Reader
import qualified Data.Aeson as Aeson
import qualified Data.Aeson.Key as Aeson.Key
import qualified Data.Aeson.KeyMap as Aeson.KeyMap
import qualified Data.ByteString.Lazy.Char8 as BSC
import qualified Data.HashMap.Strict as HM
import Data.IntervalMap.Lazy (IntervalMap)
Expand Down Expand Up @@ -138,7 +140,7 @@ data Config = Config
instance Aeson.FromJSON Config where
parseJSON = Aeson.withObject "Config" \obj -> do
maxCompletions <- obj Aeson..:! "maxCompletions" Aeson..!= maxCompletions defaultLSPConfig
let invalidKeys = Set.fromList (HM.keys obj) `Set.difference` validKeys
let invalidKeys = Set.fromList (map Aeson.Key.toText (Aeson.KeyMap.keys obj)) `Set.difference` validKeys
when (not . null $ invalidKeys) do
fail . Text.unpack $
"Unrecognized configuration key(s): "
Expand Down
Loading