Skip to content
Snippets Groups Projects
Commit ded5b88a authored by Max Tomago's avatar Max Tomago
Browse files

Merge branch 'nominal-record' into 'master'

use nominal records and toMap

See merge request horizon/horizon-spec!19
parents e45c342a 8a753d90
No related merge requests found
...@@ -72,42 +72,28 @@ let HorizonExport = ...@@ -72,42 +72,28 @@ let HorizonExport =
> >
let callHackage let callHackage
: Name → Version → PackageEntry : Name → Version → HaskellPackage.Type
= λ(name : Name) → = λ(name : Name) →
λ(version : Version) → λ(version : Version) →
{ mapKey = name HaskellPackage::{ source = HaskellSource.FromHackage { name, version } }
, mapValue = HaskellPackage::{
, source = HaskellSource.FromHackage { name, version }
}
}
let callGit let callGit
: Name → Url → Revision → Optional Subdir → PackageEntry : Url → Revision → Optional Subdir → HaskellPackage.Type
= λ(name : Name) → = λ(url : Url) →
λ(url : Url) →
λ(revision : Revision) → λ(revision : Revision) →
λ(subdir : Optional Subdir) → λ(subdir : Optional Subdir) →
{ mapKey = name HaskellPackage::{
, mapValue = HaskellPackage::{ , source = HaskellSource.FromGit { url, revision, subdir }
, source = HaskellSource.FromGit { url, revision, subdir }
}
} }
let callLocal let callLocal
: Name → Subdir → PackageEntry : Subdir → HaskellPackage.Type
= λ(name : Name) → = λ(subdir : Subdir) →
λ(subdir : Subdir) → HaskellPackage::{ source = HaskellSource.FromLocal subdir }
{ mapKey = name
, mapValue = HaskellPackage::{ source = HaskellSource.FromLocal subdir }
}
let callTarball let callTarball
: Name → Url → PackageEntry : Url → HaskellPackage.Type
= λ(name : Name) → = λ(url : Url) → HaskellPackage::{ source = HaskellSource.FromTarball url }
λ(url : Url) →
{ mapKey = name
, mapValue = HaskellPackage::{ source = HaskellSource.FromTarball url }
}
let modPackageList let modPackageList
: Modifiers.Type → PackageList → PackageList : Modifiers.Type → PackageList → PackageList
......
...@@ -2,15 +2,17 @@ let H = ../../../dhall/package.dhall ...@@ -2,15 +2,17 @@ let H = ../../../dhall/package.dhall
in H.modPackageList in H.modPackageList
H.Modifiers::{ doCheck = True, doJailbreak = False } H.Modifiers::{ doCheck = True, doJailbreak = False }
[ H.callHackage "lens" "5.2" ( toMap
, H.callGit { lens = H.callHackage "lens" "5.2"
"Cabal-syntax" , Cabal-syntax =
"https://gitlab.haskell.org/ghc/packages/Cabal" H.callGit
"e714824c6e652bf894f914bc57feccc15759668a" "https://gitlab.haskell.org/ghc/packages/Cabal"
(Some "Cabal-syntax") "e714824c6e652bf894f914bc57feccc15759668a"
, H.callTarball (Some "Cabal-syntax")
"network-mux" , network-mux =
"https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz" H.callTarball
, H.callLocal "myPackage" "./myPackage" "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"
] , myPackage = H.callLocal "./myPackage"
}
)
: H.Overlay : H.Overlay
let H = ../../../dhall/package.dhall let H = ../../../dhall/package.dhall
in H.modPackageSet in { compiler = "ghc-9.4.2"
H.Modifiers::{ doCheck = True, doJailbreak = False } , packages =
{ compiler = "ghc-9.4.2" H.modPackageList
, packages = H.Modifiers::{ doCheck = True, doJailbreak = False }
[ H.callHackage "lens" "5.2" ( toMap
, H.callGit { lens = H.callHackage "lens" "5.2"
"Cabal-syntax" , Cabal-syntax =
"https://gitlab.haskell.org/ghc/packages/Cabal" H.callGit
"e714824c6e652bf894f914bc57feccc15759668a" "https://gitlab.haskell.org/ghc/packages/Cabal"
(Some "Cabal-syntax") "e714824c6e652bf894f914bc57feccc15759668a"
, H.callTarball (Some "Cabal-syntax")
"network-mux" , network-mux =
"https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz" H.callTarball
, H.callLocal "myPackage" "./myPackage" "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"
] , myPackage = H.callLocal "./myPackage"
} }
)
}
: H.PackageSet : H.PackageSet
...@@ -3,16 +3,16 @@ let H = ../../../dhall/package.dhall ...@@ -3,16 +3,16 @@ let H = ../../../dhall/package.dhall
in H.HorizonExport.MakeOverlay in H.HorizonExport.MakeOverlay
{ overlayFile = "overlay.nix" { overlayFile = "overlay.nix"
, packagesDir = "pkgs" , packagesDir = "pkgs"
, overlay = , overlay = toMap
[ H.callHackage "lens" "5.2" { lens = H.callHackage "lens" "5.2"
, H.callGit , Cabal-syntax =
"Cabal-syntax" H.callGit
"https://gitlab.haskell.org/ghc/packages/Cabal" "https://gitlab.haskell.org/ghc/packages/Cabal"
"e714824c6e652bf894f914bc57feccc15759668a" "e714824c6e652bf894f914bc57feccc15759668a"
(Some "Cabal-syntax") (Some "Cabal-syntax")
, H.callTarball , network-mux =
"network-mux" H.callTarball
"https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz" "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"
, H.callLocal "myPackage" "./myPackage" , myPackage = H.callLocal "./myPackage"
] }
} }
let H = ../../../dhall/package.dhall let H = ../../../dhall/package.dhall
in [ H.callHackage "lens" "5.2" in toMap
, H.callGit { lens = H.callHackage "lens" "5.2"
"Cabal-syntax" , Cabal-syntax =
"https://gitlab.haskell.org/ghc/packages/Cabal" H.callGit
"e714824c6e652bf894f914bc57feccc15759668a" "https://gitlab.haskell.org/ghc/packages/Cabal"
(Some "Cabal-syntax") "e714824c6e652bf894f914bc57feccc15759668a"
, H.callTarball (Some "Cabal-syntax")
"network-mux" , network-mux =
"https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz" H.callTarball
, H.callLocal "myPackage" "./myPackage" "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"
] , myPackage = H.callLocal "./myPackage"
}
: H.Overlay : H.Overlay
...@@ -5,17 +5,17 @@ in H.HorizonExport.MakePackageSet ...@@ -5,17 +5,17 @@ in H.HorizonExport.MakePackageSet
, packagesDir = "pkgs" , packagesDir = "pkgs"
, packageSet = , packageSet =
{ compiler = "ghc-9.4.2" { compiler = "ghc-9.4.2"
, packages = , packages = toMap
[ H.callHackage "lens" "5.2" { lens = H.callHackage "lens" "5.2"
, H.callGit , Cabal-syntax =
"Cabal-syntax" H.callGit
"https://gitlab.haskell.org/ghc/packages/Cabal" "https://gitlab.haskell.org/ghc/packages/Cabal"
"e714824c6e652bf894f914bc57feccc15759668a" "e714824c6e652bf894f914bc57feccc15759668a"
(Some "Cabal-syntax") (Some "Cabal-syntax")
, H.callTarball , network-mux =
"network-mux" H.callTarball
"https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz" "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"
, H.callLocal "myPackage" "./myPackage" , myPackage = H.callLocal "./myPackage"
] }
} }
} }
let H = ../../../dhall/package.dhall let H = ../../../dhall/package.dhall
in { compiler = "ghc-9.4.2" in { compiler = "ghc-9.4.2"
, packages = , packages = toMap
[ H.callHackage "lens" "5.2" { lens = H.callHackage "lens" "5.2"
, H.callGit , Cabal-syntax =
"Cabal-syntax" H.callGit
"https://gitlab.haskell.org/ghc/packages/Cabal" "https://gitlab.haskell.org/ghc/packages/Cabal"
"e714824c6e652bf894f914bc57feccc15759668a" "e714824c6e652bf894f914bc57feccc15759668a"
(Some "Cabal-syntax") (Some "Cabal-syntax")
, H.callTarball , network-mux =
"network-mux" H.callTarball
"https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz" "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"
, H.callLocal "myPackage" "./myPackage" , myPackage = H.callLocal "./myPackage"
] }
} }
: H.PackageSet : H.PackageSet
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment