on master help sign in
Support GHC 9 and switch default compiler (#97)

This required some eta expansion in `Rel8.Generic.Table`, probably due to changes to simplified subsumption.

commit17c7c61fba03edc1307afa8bcfd3e61356a3ba7d authorOllie Charles <oliver.charles@circuithub.com> dateFri 2 Jul 2021, 16:06 (5 years ago) parent07daf4f
4 files changed+19−17
Changelog.md+2 default.nix+4−4 shell.nix+1−1 src/Rel8/Generic/Table.hs+12−12
Changelog.md+2
@@ -14,6 +14,8 @@
1414
1515* Require Opaleye 0.7.3.0. This version has better support for lateral queries, which can improve query plans, especially in `optional`/`LEFT JOIN` ([#72](https://github.com/circuithub/rel8/pull/72))
1616
17+* Rel8 now compiles with GHC 9. ([#97](https://github.com/circuithub/rel8/pull/97))
18+
1719## Other changes
1820
1921* `exists` is now implemented in terms of the SQL `EXISTS` keyword. ([#69](https://github.com/circuithub/rel8/pull/69))
default.nix+4−4
@@ -1,15 +1,15 @@
1−let
1+let
22 haskellNix = import (import ./nix/sources.nix)."haskell.nix" {};
33
44 nixpkgsSrc = haskellNix.sources.nixpkgs-2009;
55
66 nixpkgsArgs = haskellNix.nixpkgsArgs;
77
8− compiler-nix-name = "ghc8104";
8+ compiler-nix-name = "ghc901";
99
1010 pkgs = import nixpkgsSrc nixpkgsArgs;
1111
12−in
12+in
1313pkgs.haskell-nix.project {
1414 inherit compiler-nix-name;
1515
@@ -20,7 +20,7 @@ pkgs.haskell-nix.project {
2020 src = ./.;
2121 };
2222
23− modules = [
23+ modules = [
2424 { packages.rel8 = {
2525 preCheck = ''
2626 export PATH="${pkgs.postgresql}/bin:${"$PATH"}"
shell.nix+1−1
@@ -5,7 +5,7 @@ let
55in
66 hsPkgs.shellFor {
77 withHoogle = false;
8− tools = { cabal = "latest"; haskell-language-server = "latest"; };
8+ tools = { cabal = "latest"; };
99 exactDeps = false;
1010 buildInputs = [ pkgs.postgresql pkgs.pythonPackages.sphinx ];
1111 }
src/Rel8/Generic/Table.hs+12−12
@@ -124,9 +124,9 @@ ggfromColumns :: forall algebra _Table _Columns rep context x.
124124 -> (forall a. Eval (_Table a) => Eval (_Columns a) context -> a)
125125 -> Eval (GGColumns algebra _Columns rep) context
126126 -> rep x
127−ggfromColumns = case algebraSing @algebra of
128− SProduct -> \_ _ -> gfromColumns @_Table @_Columns
129− SSum -> gfromColumnsADT @_Table @_Columns
127+ggfromColumns f g h x = case algebraSing @algebra of
128+ SProduct -> gfromColumns @_Table @_Columns h x
129+ SSum -> gfromColumnsADT @_Table @_Columns f g h x
130130
131131
132132ggtoColumns :: forall algebra _Table _Columns rep context x.
@@ -138,9 +138,9 @@ ggtoColumns :: forall algebra _Table _Columns rep context x.
138138 -> (forall a. Eval (_Table a) => a -> Eval (_Columns a) context)
139139 -> rep x
140140 -> Eval (GGColumns algebra _Columns rep) context
141−ggtoColumns = case algebraSing @algebra of
142− SProduct -> \_ _ -> gtoColumns @_Table @_Columns
143− SSum -> gtoColumnsADT @_Table @_Columns
141+ggtoColumns f g h x = case algebraSing @algebra of
142+ SProduct -> gtoColumns @_Table @_Columns h x
143+ SSum -> gtoColumnsADT @_Table @_Columns f g h x
144144
145145
146146ggtable :: forall algebra _Table _Columns rep context.
@@ -168,9 +168,9 @@ ggfromResult :: forall algebra _ToExprs _Columns exprs rep x.
168168 -> a)
169169 -> Eval (GGColumns algebra _Columns exprs) (Col Result)
170170 -> rep x
171−ggfromResult = case algebraSing @algebra of
172− SProduct -> gfromResult @_ToExprs @_Columns @exprs
173− SSum -> gfromResultADT @_ToExprs @_Columns @exprs
171+ggfromResult f x = case algebraSing @algebra of
172+ SProduct -> gfromResult @_ToExprs @_Columns @exprs f x
173+ SSum -> gfromResultADT @_ToExprs @_Columns @exprs f x
174174
175175
176176ggtoResult :: forall algebra _ToExprs _Columns exprs rep x.
@@ -183,6 +183,6 @@ ggtoResult :: forall algebra _ToExprs _Columns exprs rep x.
183183 -> Eval (_Columns expr) (Col Result))
184184 -> rep x
185185 -> Eval (GGColumns algebra _Columns exprs) (Col Result)
186−ggtoResult = case algebraSing @algebra of
187− SProduct -> gtoResult @_ToExprs @_Columns @exprs
188− SSum -> gtoResultADT @_ToExprs @_Columns @exprs
186+ggtoResult f x = case algebraSing @algebra of
187+ SProduct -> gtoResult @_ToExprs @_Columns @exprs f x
188+ SSum -> gtoResultADT @_ToExprs @_Columns @exprs f x