mirror of
https://github.com/qfpl/applied-fp-course.git
synced 2024-11-29 16:55:12 +03:00
dd907523ba
* Restructure entire course into a single library with multiple executable definitions. Makes working through the course a bit easier with respect to sandboxes, nix shells, and stack caching. Should be a side benefit of giving editor tooling a bit of an easier time. Lowers switch time between course levels. * Readme updates to suit new structure. Add comment to cabal file. * Syntax error in Travis yml file. Not sure where yet. * Applied some linting suggestions to travis file * Fixed missing comments in travis yml, removed duplicate executable entry in the cabal file * Added changelog file, vcs entry to cabal file * Fixing travis file, WIP. * Still trying * Added cabal.project file * Still trying (Travis) * Moved var declaration to higher level in travis.yml file. * Forgo the complexity of hvrs script and go low-tech. * Remove Haddocks from stack build. Add extra-deps because what was a working stack build is now failing for some reason, despite having the same version bounds and using the same LTS as before. * Added more deps to extra-deps to appease the stackbeast. * Updated base README * Readme tweaks, level 03 test updates * Moved Level07 to Level05, bumped other levels accordingly. * Moved 'Main' to 'Core'. Updated READMEs, first pass. Updated Cabal file. Updated Tests to handle change of Main to Core. * Proof read #3616 Lots of small fixes for file paths, wording, some additional exercises. Fixed up the tests to be more consistent as they've been reordered a few times and mostly left to rot. Readmes updated where needed. New exercise added to level07 for using the general `ExceptT` type. * Fix up some tests and avoid any more dynamic linking errors, I think * Fix up cabal config for doctests, missing packages and some exposed-modules * Removed use of Semigroup in tests to avoid CPP in cabal file for including semigroups package. Added bounds to base dependency for doctests test-suite
15 lines
360 B
Nix
15 lines
360 B
Nix
{ nixpkgs ? import <nixpkgs> {}
|
|
, compiler ? "default"
|
|
}:
|
|
let
|
|
inherit (nixpkgs) pkgs;
|
|
|
|
haskellPackages = if compiler == "default"
|
|
then pkgs.haskellPackages
|
|
else pkgs.haskell.packages.${compiler};
|
|
|
|
drv = haskellPackages.callPackage ./applied-fp-course.nix {};
|
|
|
|
in
|
|
if pkgs.lib.inNixShell then drv.env else drv
|