henry@xps ~ % bash -x fay-install.sh                                                                                                                 :(
+ cd /home/henry
+ cat /home/henry/fay-install.sh

# in your .cabal/config file make sure you have installdir: $HOME/.cabal/bin
# I am using ghc 8.8.3 and ghcup to comple and install ghc, cabal

cd $HOME
cat $HOME/fay-install.sh
rm -rf $HOME/.cabal/bin
rm -rf $HOME/.cabal/lib
rm -rf $HOME/.cabal/logs
rm -rf $HOME/.cabal/packages
rm -rf $HOME/.cabal/setup-exe-cache
rm -rf $HOME/.cabal/share
rm -rf $HOME/.ghc/*
rm -rf $HOME/fay
cd $HOME/ghcup ; ghcup install ; ghcup install-cabal ; cabal update ; cabal install cabal-install
cd $HOME
ghc --version ; cabal --version
cabal v2-install cpphs happy
git clone https://github.com/faylang/fay.git
cd $HOME/fay ; cabal v2-install ; cabal v2-build fay-base
ls -ahl $HOME/fay/dist-newstyle/packagedb/ghc-8.8.3
~/.cabal/bin/fay --base-path fay-base --package-conf dist-newstyle/packagedb/ghc-8.8.3 examples/dom.hs

+ rm -rf /home/henry/.cabal/bin
+ rm -rf /home/henry/.cabal/lib
+ rm -rf /home/henry/.cabal/logs
+ rm -rf /home/henry/.cabal/packages
+ rm -rf /home/henry/.cabal/setup-exe-cache
+ rm -rf /home/henry/.cabal/share
+ rm -rf '/home/henry/.ghc/*'
+ rm -rf /home/henry/fay
+ cd /home/henry/ghcup
+ ghcup install
ghcup has been rewritten in haskell. Please upgrade again via 'ghcup upgrade'
Installing GHC-8.8.3 for Arch Linux on architecture x86_64
GHC already installed in /home/henry/.ghcup/ghc/8.8.3, use --force to overwrite
+ ghcup install-cabal
ghcup has been rewritten in haskell. Please upgrade again via 'ghcup upgrade'
Installing cabal-install-3.2.0.0 for Arch Linux on architecture x86_64
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4260k  100 4260k    0     0  2546k      0  0:00:01  0:00:01 --:--:-- 2546k
Successfully installed cabal-install into
  /home/henry/.ghcup/bin

+ cabal update
Downloading the latest package list from hackage.haskell.org
+ cabal install cabal-install
Resolving dependencies...
Up to date
Symlinking 'cabal'
+ cd /home/henry
+ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.8.3
+ cabal --version
cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library 
+ cabal v2-install cpphs happy
Resolving dependencies...
Up to date
Symlinking 'cpphs'
Symlinking 'happy'
+ git clone https://github.com/faylang/fay.git
Cloning into 'fay'...
remote: Enumerating objects: 50, done.
remote: Counting objects: 100% (50/50), done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 8822 (delta 20), reused 34 (delta 15), pack-reused 8772
Receiving objects: 100% (8822/8822), 2.49 MiB | 572.00 KiB/s, done.
Resolving deltas: 100% (4900/4900), done.
+ cd /home/henry/fay
+ cabal v2-install
Wrote tarball sdist to /home/henry/fay/dist-newstyle/sdist/fay-0.24.1.0.tar.gz
Wrote tarball sdist to
/home/henry/fay/dist-newstyle/sdist/fay-base-0.21.1.1.tar.gz
Resolving dependencies...
Up to date
Symlinking 'fay'
+ cabal v2-build fay-base
Resolving dependencies...
Build profile: -w ghc-8.8.3 -O1
In order, the following will be built (use -v for more details):
 - fay-0.24.1.0 (lib:fay) (first run)
 - fay-base-0.21.1.1 (lib) (first run)
[1 of 1] Compiling Main             ( /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/setup/setup.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/setup/Main.o )
Linking /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/setup/setup ...
Configuring fay-0.24.1.0...
Preprocessing library for fay-0.24.1.0..
Building library for fay-0.24.1.0..
[ 1 of 56] Compiling Fay.Compiler.GADT ( src/Fay/Compiler/GADT.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/GADT.o )
[ 2 of 56] Compiling Fay.Compiler.Parse ( src/Fay/Compiler/Parse.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Parse.o )
[ 3 of 56] Compiling Fay.Compiler.Prelude ( src/Fay/Compiler/Prelude.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Prelude.o )
[ 4 of 56] Compiling Fay.Compiler.ModuleT ( src/Fay/Compiler/ModuleT.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/ModuleT.o )
[ 5 of 56] Compiling Fay.Compiler.QName ( src/Fay/Compiler/QName.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/QName.o )
[ 6 of 56] Compiling Fay.Config       ( src/Fay/Config.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Config.o )
[ 7 of 56] Compiling Fay.Convert      ( src/Fay/Convert.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Convert.o )
[ 8 of 56] Compiling Fay.Exts         ( src/Fay/Exts.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Exts.o )
[ 9 of 56] Compiling Fay.Exts.NoAnnotation ( src/Fay/Exts/NoAnnotation.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Exts/NoAnnotation.o )
[10 of 56] Compiling Fay.Compiler.PrimOp ( src/Fay/Compiler/PrimOp.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/PrimOp.o )
[11 of 56] Compiling Fay.Runtime      ( src/Fay/Runtime.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Runtime.o )
[12 of 56] Compiling Fay.Types.CompileResult ( src/Fay/Types/CompileResult.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Types/CompileResult.o )
[13 of 56] Compiling Fay.Types.FFI    ( src/Fay/Types/FFI.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Types/FFI.o )
[14 of 56] Compiling Fay.Types.ModulePath ( src/Fay/Types/ModulePath.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Types/ModulePath.o )
[15 of 56] Compiling Fay.Types.Js     ( src/Fay/Types/Js.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Types/Js.o )
[16 of 56] Compiling Fay.Types.Printer ( src/Fay/Types/Printer.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Types/Printer.o )

src/Fay/Types/Printer.hs:22:1: warning: [-Wunused-imports]
    The import of ‘Data.List’ is redundant
      except perhaps to import instances from ‘Data.List’
    To import instances alone, use: import Data.List()
   |
22 | import Data.List                       (elemIndex)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Fay/Types/Printer.hs:23:1: warning: [-Wunused-imports]
    The import of ‘Data.Maybe’ is redundant
      except perhaps to import instances from ‘Data.Maybe’
    To import instances alone, use: import Data.Maybe()
   |
23 | import Data.Maybe                      (fromMaybe)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[17 of 56] Compiling Language.Haskell.Names.GlobalSymbolTable[boot] ( src/haskell-names/Language/Haskell/Names/GlobalSymbolTable.hs-boot, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/GlobalSymbolTable.o-boot )
[18 of 56] Compiling Language.Haskell.Names.Open.Derived ( src/haskell-names/Language/Haskell/Names/Open/Derived.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/Open/Derived.o )
[19 of 56] Compiling Language.Haskell.Names.Types ( src/haskell-names/Language/Haskell/Names/Types.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/Types.o )
[20 of 56] Compiling Language.Haskell.Names.SyntaxUtils ( src/haskell-names/Language/Haskell/Names/SyntaxUtils.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/SyntaxUtils.o )
[21 of 56] Compiling Language.Haskell.Names.LocalSymbolTable ( src/haskell-names/Language/Haskell/Names/LocalSymbolTable.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/LocalSymbolTable.o )
[22 of 56] Compiling Language.Haskell.Names.GlobalSymbolTable ( src/haskell-names/Language/Haskell/Names/GlobalSymbolTable.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/GlobalSymbolTable.o )

src/haskell-names/Language/Haskell/Names/GlobalSymbolTable.hs:25:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
25 | import           Data.Semigroup (Semigroup)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[23 of 56] Compiling Language.Haskell.Names.ScopeUtils ( src/haskell-names/Language/Haskell/Names/ScopeUtils.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/ScopeUtils.o )
[24 of 56] Compiling Language.Haskell.Names.RecordWildcards ( src/haskell-names/Language/Haskell/Names/RecordWildcards.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/RecordWildcards.o )
[25 of 56] Compiling Language.Haskell.Names.Imports ( src/haskell-names/Language/Haskell/Names/Imports.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/Imports.o )
[26 of 56] Compiling Language.Haskell.Names.GetBound ( src/haskell-names/Language/Haskell/Names/GetBound.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/GetBound.o )
[27 of 56] Compiling Language.Haskell.Names.Open.Base ( src/haskell-names/Language/Haskell/Names/Open/Base.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/Open/Base.o )
[28 of 56] Compiling Language.Haskell.Names.Open.Instances ( src/haskell-names/Language/Haskell/Names/Open/Instances.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/Open/Instances.o )
[29 of 56] Compiling Language.Haskell.Names.ModuleSymbols ( src/haskell-names/Language/Haskell/Names/ModuleSymbols.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/ModuleSymbols.o )
[30 of 56] Compiling Language.Haskell.Names.Exports ( src/haskell-names/Language/Haskell/Names/Exports.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/Exports.o )
[31 of 56] Compiling Language.Haskell.Names.Annotated ( src/haskell-names/Language/Haskell/Names/Annotated.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/Annotated.o )
[32 of 56] Compiling Language.Haskell.Names.Recursive ( src/haskell-names/Language/Haskell/Names/Recursive.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names/Recursive.o )

src/haskell-names/Language/Haskell/Names/Recursive.hs:23:1: warning: [-Wunused-imports]
    The import of ‘Data.Data’ is redundant
      except perhaps to import instances from ‘Data.Data’
    To import instances alone, use: import Data.Data()
   |
23 | import           Data.Data                            (Data)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[33 of 56] Compiling Language.Haskell.Names ( src/haskell-names/Language/Haskell/Names.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Language/Haskell/Names.o )
[34 of 56] Compiling Fay.Exts.Scoped  ( src/Fay/Exts/Scoped.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Exts/Scoped.o )
[35 of 56] Compiling Fay.Types.CompileError ( src/Fay/Types/CompileError.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Types/CompileError.o )
[36 of 56] Compiling Fay.Types        ( src/Fay/Types.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Types.o )

src/Fay/Types.hs:66:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
66 | import           Data.Semigroup          (Semigroup)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[37 of 56] Compiling Fay.FFI          ( src/Fay/FFI.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/FFI.o )
[38 of 56] Compiling Fay.Compiler.Print ( src/Fay/Compiler/Print.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Print.o )
[39 of 56] Compiling Fay.Compiler.Desugar.Types ( src/Fay/Compiler/Desugar/Types.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Desugar/Types.o )
[40 of 56] Compiling Fay.Compiler.Desugar.Name ( src/Fay/Compiler/Desugar/Name.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Desugar/Name.o )
[41 of 56] Compiling Fay.Compiler.Misc ( src/Fay/Compiler/Misc.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Misc.o )
[42 of 56] Compiling Fay.Compiler.State ( src/Fay/Compiler/State.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/State.o )
[43 of 56] Compiling Fay.Compiler.Pattern ( src/Fay/Compiler/Pattern.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Pattern.o )
[44 of 56] Compiling Fay.Compiler.Optimizer ( src/Fay/Compiler/Optimizer.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Optimizer.o )

src/Fay/Compiler/Optimizer.hs:46:13: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In a case alternative: Patterns not matched: (JsMapVar _ _)
   |
46 |   go stmt = case stmt of
   |             ^^^^^^^^^^^^...
[45 of 56] Compiling Fay.Compiler.Import ( src/Fay/Compiler/Import.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Import.o )
[46 of 56] Compiling Fay.Compiler.FFI ( src/Fay/Compiler/FFI.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/FFI.o )

src/Fay/Compiler/FFI.hs:44:20: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In a case alternative: Patterns not matched: (TyStar _)
   |
44 |     rmNewtys typ = case typ of
   |                    ^^^^^^^^^^^...
[47 of 56] Compiling Fay.Compiler.Desugar ( src/Fay/Compiler/Desugar.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Desugar.o )
[48 of 56] Compiling Fay.Compiler.InitialPass ( src/Fay/Compiler/InitialPass.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/InitialPass.o )
[49 of 56] Compiling Fay.Compiler.Exp ( src/Fay/Compiler/Exp.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Exp.o )
[50 of 56] Compiling Fay.Compiler.Decl ( src/Fay/Compiler/Decl.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Decl.o )
[51 of 56] Compiling Paths_fay        ( /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/autogen/Paths_fay.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Paths_fay.o )
[52 of 56] Compiling Fay.Compiler.Packages ( src/Fay/Compiler/Packages.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Packages.o )
[53 of 56] Compiling Fay.Compiler.Defaults ( src/Fay/Compiler/Defaults.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Defaults.o )
[54 of 56] Compiling Fay.Compiler.Typecheck ( src/Fay/Compiler/Typecheck.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler/Typecheck.o )
[55 of 56] Compiling Fay.Compiler     ( src/Fay/Compiler.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay/Compiler.o )
[56 of 56] Compiling Fay              ( src/Fay.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/build/Fay.o )
Preprocessing library for fay-0.24.1.0..
Running Haddock on library for fay-0.24.1.0..
Warning: The documentation for the following packages are not installed. No
links will be generated to these packages: mtl-compat-0.2.2
Haddock coverage:
  33% (  1 /  3) in 'Fay.Compiler.Parse'
  Missing documentation for:
    Module header
    defaultExtensions (src/Fay/Compiler/Parse.hs:51)
  98% (225 /230) in 'Fay.Compiler.Prelude'
  Missing documentation for:
    Real
    Bool
    Ordering
    odd
    even
Warning: 'evalModuleT' is out of scope.
    If you qualify the identifier, haddock can try to link it anyway.
Warning: 'InstalledPackageInfo' is out of scope.
    If you qualify the identifier, haddock can try to link it anyway.
Warning: 'getInstalledPackages' is out of scope.
    If you qualify the identifier, haddock can try to link it anyway.
Warning: 'readPackagesInfo' is out of scope.
    If you qualify the identifier, haddock can try to link it anyway.
  86% ( 12 / 14) in 'Fay.Config'
  Missing documentation for:
    defaultConfig (src/Fay/Config.hs:85)
    defaultConfigWithSandbox (src/Fay/Config.hs:117)
 100% (  6 /  6) in 'Fay.Convert'
   0% (  0 /  2) in 'Fay.Types.CompileResult'
  Missing documentation for:
    Module header
    CompileResult (src/Fay/Types/CompileResult.hs:5)

src/Fay/Types/Printer.hs:22:1: warning: [-Wunused-imports]
    The import of ‘Data.List’ is redundant
      except perhaps to import instances from ‘Data.List’
    To import instances alone, use: import Data.List()
   |
22 | import Data.List                       (elemIndex)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Fay/Types/Printer.hs:23:1: warning: [-Wunused-imports]
    The import of ‘Data.Maybe’ is redundant
      except perhaps to import instances from ‘Data.Maybe’
    To import instances alone, use: import Data.Maybe()
   |
23 | import Data.Maybe                      (fromMaybe)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/haskell-names/Language/Haskell/Names/GlobalSymbolTable.hs:25:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
25 | import           Data.Semigroup (Semigroup)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning: 'hiding' is out of scope.
    If you qualify the identifier, haddock can try to link it anyway.

src/haskell-names/Language/Haskell/Names/Recursive.hs:23:1: warning: [-Wunused-imports]
    The import of ‘Data.Data’ is redundant
      except perhaps to import instances from ‘Data.Data’
    To import instances alone, use: import Data.Data()
   |
23 | import           Data.Data                            (Data)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  50% (  1 /  2) in 'Fay.Types.CompileError'
  Missing documentation for:
    Module header

src/Fay/Types.hs:66:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
   |
66 | import           Data.Semigroup          (Semigroup)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  88% ( 30 / 34) in 'Fay.Types'
  Missing documentation for:
    CompileModule (src/Fay/Types.hs:126)
    CompileResult (src/Fay/Types/CompileResult.hs:5)
    pwOutputString (src/Fay/Types/Printer.hs:46)
    execPrinter (src/Fay/Types/Printer.hs:73)
 100% (  7 /  7) in 'Fay.FFI'
Warning: 'compileModule' is out of scope.
    If you qualify the identifier, haddock can try to link it anyway.
Warning: 'f' is out of scope.
    If you qualify the identifier, haddock can try to link it anyway.
  80% (  4 /  5) in 'Fay.Compiler.Desugar'
  Missing documentation for:
    desugarPatParen (src/Fay/Compiler/Desugar.hs:152)
 100% ( 10 / 10) in 'Fay.Compiler'
  93% ( 13 / 14) in 'Fay'
  Missing documentation for:
    CompileResult (src/Fay/Types/CompileResult.hs:5)
Warning: Fay.Compiler.Prelude: could not find link destinations for:
    LexContext ExtContext UnpackedUUID Content Leaf P P EP Lex DocM SetM GuardedAlt GuardedAlts Tagged2 ParseStatus MergeSet SingKind fromSing Sing DemoteRep SingI sing D:R:SingBoola0 STrue SFalse D:R:VectorBool0 V_Bool D:R:MVectorsBool0 D:R:VectorChar0 V_Char D:R:UReckCharp0 D:R:MVectorsChar0 D:R:VectorDouble0 V_Double D:R:UReckDoublep0 D:R:MVectorsDouble0 D:R:VectorFloat0 V_Float D:R:UReckFloatp0 D:R:MVectorsFloat0 ByteSource /-/ ByteSink D:R:VectorInt0 V_Int D:R:UReckIntp0 Takes4Bytes D:R:MVectorsInt0 RecordToPairs GToJSON KeyValuePair recordToPairs RecordFromJSON' recordParseJSON' :* ConName TypeName D:R:SingMaybeb0 SNothing SJust spr UPrintf hspr D:R:VectorWord0 V_Word D:R:UReckWordp0 D:R:MVectorsWord0 typeRep#
Warning: Fay.Types.CompileError: could not find link destinations for:
    ModuleName Exp SrcLoc QName Decl Exp ExportSpec PatField ImportDecl Literal Module Pat QualStmt Rhs Alt Match
Warning: Fay.Types: could not find link destinations for:
    QName Name ModuleName Exp SrcLoc Decl Exp ExportSpec PatField ImportDecl Literal Module Pat QualStmt Rhs Alt Match ModuleT ModuleInfo Symbols Sign Type
Warning: Fay.Compiler: could not find link destinations for:
    Module X Exp Decl
Warning: Fay: could not find link destinations for:
    ModuleName Exp SrcLoc QName Decl Exp ExportSpec PatField ImportDecl Literal Module Pat QualStmt Rhs Alt Match Symbols Name Type
Documentation created:
/home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-0.24.1.0/doc/html/fay/index.html
Preprocessing executable 'fay' for fay-0.24.1.0..
Configuring library for fay-base-0.21.1.1..
Preprocessing library for fay-base-0.21.1.1..
Building library for fay-base-0.21.1.1..
[ 1 of 23] Compiling Data.Data        ( src/Data/Data.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Data.o )
[ 2 of 23] Compiling Prelude          ( src/Prelude.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Prelude.o )
[ 3 of 23] Compiling FFI              ( src/FFI.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/FFI.o )
[ 4 of 23] Compiling Fay.Unsafe       ( src/Fay/Unsafe.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Fay/Unsafe.o )
[ 5 of 23] Compiling Debug.Trace      ( src/Debug/Trace.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Debug/Trace.o )
[ 6 of 23] Compiling Data.Ratio       ( src/Data/Ratio.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Ratio.o )
[ 7 of 23] Compiling Data.Ord         ( src/Data/Ord.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Ord.o )
[ 8 of 23] Compiling Data.Nullable    ( src/Data/Nullable.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Nullable.o )
[ 9 of 23] Compiling Data.Text        ( src/Data/Text.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Text.o )
[10 of 23] Compiling Data.Time        ( src/Data/Time.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Time.o )
[11 of 23] Compiling Data.MutMap.Internal ( src/Data/MutMap/Internal.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/MutMap/Internal.o )
[12 of 23] Compiling Data.Maybe       ( src/Data/Maybe.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Maybe.o )
[13 of 23] Compiling Data.Var         ( src/Data/Var.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Var.o )
[14 of 23] Compiling Data.Mutex       ( src/Data/Mutex.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Mutex.o )
[15 of 23] Compiling Data.LocalStorage ( src/Data/LocalStorage.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/LocalStorage.o )
[16 of 23] Compiling Data.List        ( src/Data/List.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/List.o )
[17 of 23] Compiling Data.Function    ( src/Data/Function.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Function.o )
[18 of 23] Compiling Data.Either      ( src/Data/Either.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Either.o )
[19 of 23] Compiling Data.Defined     ( src/Data/Defined.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Defined.o )
[20 of 23] Compiling Data.MutMap      ( src/Data/MutMap.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/MutMap.o )
[21 of 23] Compiling Data.Char        ( src/Data/Char.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Data/Char.o )
[22 of 23] Compiling Control.Exception ( src/Control/Exception.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Control/Exception.o )
[23 of 23] Compiling Unsafe.Coerce    ( src/Unsafe/Coerce.hs, /home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/build/Unsafe/Coerce.o )
Preprocessing library for fay-base-0.21.1.1..
Running Haddock on library for fay-base-0.21.1.1..
Warning: The documentation for the following packages are not installed. No
links will be generated to these packages: mtl-compat-0.2.2
Haddock coverage:
  67% (  2 /  3) in 'Data.Data'
  Missing documentation for:
    Module header
  34% ( 62 /185) in 'Prelude'
  Missing documentation for:
    Module header
    Bool
    ==
    /=
    fail (src/Prelude.hs:297)
    when (src/Prelude.hs:300)
    unless (src/Prelude.hs:303)
    forM (src/Prelude.hs:306)
    forM_ (src/Prelude.hs:309)
    mapM (src/Prelude.hs:313)
    mapM_ (src/Prelude.hs:316)
    =<< (src/Prelude.hs:320)
    sequence_ (src/Prelude.hs:339)
    void (src/Prelude.hs:323)
    >=> (src/Prelude.hs:326)
    <=< (src/Prelude.hs:329)
    * (src/Prelude.hs:347)
    + (src/Prelude.hs:348)
    - (src/Prelude.hs:349)
    Ord (src/Prelude.hs:362)
    Ordering
    < (src/Prelude.hs:363)
    <= (src/Prelude.hs:364)
    > (src/Prelude.hs:365)
    >= (src/Prelude.hs:366)
    compare (src/Prelude.hs:373)
    succ (src/Prelude.hs:390)
    pred (src/Prelude.hs:393)
    enumFrom (src/Prelude.hs:396)
    enumFromTo (src/Prelude.hs:399)
    enumFromBy (src/Prelude.hs:403)
    enumFromThen (src/Prelude.hs:406)
    enumFromByTo (src/Prelude.hs:409)
    enumFromThenTo (src/Prelude.hs:414)
    / (src/Prelude.hs:421)
    fromIntegral (src/Prelude.hs:433)
    fromInteger (src/Prelude.hs:436)
    not (src/Prelude.hs:442)
    otherwise (src/Prelude.hs:445)
    either (src/Prelude.hs:466)
    until (src/Prelude.hs:473)
    $! (src/Prelude.hs:476)
    const (src/Prelude.hs:479)
    id (src/Prelude.hs:482)
    . (src/Prelude.hs:485)
    $ (src/Prelude.hs:488)
    flip (src/Prelude.hs:491)
    curry (src/Prelude.hs:494)
    uncurry (src/Prelude.hs:497)
    snd (src/Prelude.hs:500)
    fst (src/Prelude.hs:503)
    div (src/Prelude.hs:509)
    mod (src/Prelude.hs:515)
    divMod (src/Prelude.hs:521)
    min (src/Prelude.hs:527)
    max (src/Prelude.hs:530)
    recip (src/Prelude.hs:533)
    lcm (src/Prelude.hs:693)
    find (src/Prelude.hs:701)
    filter (src/Prelude.hs:705)
    null (src/Prelude.hs:709)
    map (src/Prelude.hs:713)
    nub (src/Prelude.hs:717)
    nub' (src/Prelude.hs:720)
    elem (src/Prelude.hs:727)
    notElem (src/Prelude.hs:731)
    sort (src/Prelude.hs:734)
    sortBy (src/Prelude.hs:737)
    insertBy (src/Prelude.hs:740)
    concat (src/Prelude.hs:755)
    concatMap (src/Prelude.hs:758)
    foldr (src/Prelude.hs:761)
    foldr1 (src/Prelude.hs:765)
    foldl (src/Prelude.hs:770)
    foldl1 (src/Prelude.hs:774)
    ++ (src/Prelude.hs:778)
    !! (src/Prelude.hs:781)
    head (src/Prelude.hs:787)
    tail (src/Prelude.hs:791)
    init (src/Prelude.hs:795)
    last (src/Prelude.hs:800)
    iterate (src/Prelude.hs:805)
    repeat (src/Prelude.hs:808)
    replicate (src/Prelude.hs:811)
    cycle (src/Prelude.hs:816)
    take (src/Prelude.hs:820)
    drop (src/Prelude.hs:826)
    splitAt (src/Prelude.hs:832)
    takeWhile (src/Prelude.hs:838)
    dropWhile (src/Prelude.hs:842)
    span (src/Prelude.hs:846)
    break (src/Prelude.hs:850)
    zipWith (src/Prelude.hs:853)
    zipWith3 (src/Prelude.hs:857)
    zip (src/Prelude.hs:861)
    zip3 (src/Prelude.hs:865)
    unzip (src/Prelude.hs:869)
    unzip3 (src/Prelude.hs:873)
    lines (src/Prelude.hs:877)
    unlines (src/Prelude.hs:883)
    words (src/Prelude.hs:887)
    unwords (src/Prelude.hs:893)
    and (src/Prelude.hs:896)
    or (src/Prelude.hs:900)
    any (src/Prelude.hs:904)
    all (src/Prelude.hs:908)
    intersperse (src/Prelude.hs:912)
    prependToAll (src/Prelude.hs:916)
    intercalate (src/Prelude.hs:920)
    maximum (src/Prelude.hs:923)
    minimum (src/Prelude.hs:927)
    product (src/Prelude.hs:931)
    sum (src/Prelude.hs:934)
    scanl (src/Prelude.hs:937)
    scanl1 (src/Prelude.hs:941)
    scanr (src/Prelude.hs:945)
    scanr1 (src/Prelude.hs:950)
    lookup (src/Prelude.hs:956)
    length (src/Prelude.hs:963)
    length' (src/Prelude.hs:966)
    reverse (src/Prelude.hs:970)
    print (src/Prelude.hs:977)
    putStrLn (src/Prelude.hs:980)
  50% (  1 /  2) in 'FFI'
  Missing documentation for:
    Module header
 100% (  2 /  2) in 'Fay.Unsafe'
   0% (  0 /  3) in 'Debug.Trace'
  Missing documentation for:
    Module header
    trace (src/Debug/Trace.hs:8)
    traceShow (src/Debug/Trace.hs:11)
   0% (  0 /  5) in 'Data.Ratio'
  Missing documentation for:
    Module header
    Rational (src/Data/Ratio.hs:16)
    % (src/Data/Ratio.hs:27)
    numerator (src/Data/Ratio.hs:35)
    denominator (src/Data/Ratio.hs:35)
 100% (  2 /  2) in 'Data.Ord'
 100% (  3 /  3) in 'Data.Nullable'
Warning: 'text' is out of scope.
    If you qualify the identifier, haddock can try to link it anyway.
 100% ( 50 / 50) in 'Data.Text'
 100% ( 10 / 10) in 'Data.Time'
   0% (  0 /  6) in 'Data.MutMap.Internal'
  Missing documentation for:
    Module header
    KeyValI (src/Data/MutMap/Internal.hs:9)
    Salted (src/Data/MutMap/Internal.hs:11)
    addSalt (src/Data/MutMap/Internal.hs:13)
    unsalt (src/Data/MutMap/Internal.hs:16)
    checkSalted (src/Data/MutMap/Internal.hs:19)
  94% ( 15 / 16) in 'Data.Maybe'
  Missing documentation for:
    mapMaybeFB (src/Data/Maybe.hs:79)
  97% ( 33 / 34) in 'Data.Var'
  Missing documentation for:
    Module header
  83% (  5 /  6) in 'Data.Mutex'
  Missing documentation for:
    Mutex (src/Data/Mutex.hs:8)
  20% (  1 /  5) in 'Data.LocalStorage'
  Missing documentation for:
    setLocalStorage (src/Data/LocalStorage.hs:9)
    getLocalStorage (src/Data/LocalStorage.hs:12)
    removeLocalStorage (src/Data/LocalStorage.hs:15)
    hasLocalStorage (src/Data/LocalStorage.hs:18)
  83% ( 10 / 12) in 'Data.List'
  Missing documentation for:
    Module header
    groupSortBy (src/Data/List.hs:85)
 100% (  5 /  5) in 'Data.Function'
 100% (  5 /  5) in 'Data.Either'
 100% (  3 /  3) in 'Data.Defined'
   6% (  1 / 16) in 'Data.MutMap'
  Missing documentation for:
    Module header
    MutMap (src/Data/MutMap.hs:28)
    mutEmpty (src/Data/MutMap.hs:32)
    mutFromList (src/Data/MutMap.hs:35)
    mutLookup (src/Data/MutMap.hs:43)
    mutElems (src/Data/MutMap.hs:49)
    mutKeys (src/Data/MutMap.hs:52)
    mutAssocs (src/Data/MutMap.hs:58)
    mutClone (src/Data/MutMap.hs:64)
    mutMapM (src/Data/MutMap.hs:68)
    mutMapM_ (src/Data/MutMap.hs:71)
    mutMapMaybeM (src/Data/MutMap.hs:75)
    mutInsert (src/Data/MutMap.hs:83)
    mutDelete (src/Data/MutMap.hs:89)
    mutClear (src/Data/MutMap.hs:95)
   0% (  0 / 13) in 'Data.Char'
  Missing documentation for:
    Module header
    chr (src/Data/Char.hs:18)
    ord (src/Data/Char.hs:21)
    isAscii (src/Data/Char.hs:24)
    isLatin1 (src/Data/Char.hs:27)
    toUpper (src/Data/Char.hs:30)
    toLower (src/Data/Char.hs:33)
    isAsciiLower (src/Data/Char.hs:36)
    isAsciiUpper (src/Data/Char.hs:39)
    isDigit (src/Data/Char.hs:42)
    isOctDigit (src/Data/Char.hs:45)
    isHexDigit (src/Data/Char.hs:48)
    isSpace (src/Data/Char.hs:52)
 100% (  4 /  4) in 'Control.Exception'
  50% (  1 /  2) in 'Unsafe.Coerce'
  Missing documentation for:
    unsafeCoerce (src/Unsafe/Coerce.hs:7)
Warning: Data.Data: could not find link destinations for:
    typeRep#
Warning: Prelude: could not find link destinations for:
    String Num Fractional Integer Int Double
Documentation created:
/home/henry/fay/dist-newstyle/build/x86_64-linux/ghc-8.8.3/fay-base-0.21.1.1/doc/html/fay-base/index.html
+ ls -ahl /home/henry/fay/dist-newstyle/packagedb/ghc-8.8.3
total 36K
drwxr-xr-x 2 henry users 4.0K May 17 15:46 .
drwxr-xr-x 3 henry users 4.0K May 17 15:45 ..
-rw-r--r-- 1 henry users 4.9K May 17 15:45 fay-0.24.1.0-inplace.conf
-rw-r--r-- 1 henry users 1.7K May 17 15:46 fay-base-0.21.1.1-inplace.conf
-rw-r--r-- 1 henry users  14K May 17 15:46 package.cache
-rw-r--r-- 1 henry users    0 May 17 15:45 package.cache.lock
+ /home/henry/.cabal/bin/fay --base-path fay-base --package-conf dist-newstyle/packagedb/ghc-8.8.3 examples/dom.hs
fay: ghc: : cannot satisfy -package fay-base-0.21.1.1: 
    fay-base-0.21.1.1-inplace is unusable due to missing dependencies:
      fay-0.24.1.0-inplace
    (use -v for more information)

CallStack (from HasCallStack):
  error, called at src/Fay.hs:61:19 in fay-0.24.1.0-f4db8500ad2134d7790109cabfd935b17015992b00db6366343b4838048ce90d:Fay
bash -x fay-install.sh  87.47s user 7.22s system 81% cpu 1:56.33 total
1 henry@xps ~ %                                                                                                                                          :(