Skip to content

Haskell: Development Environment Setup

| haskell |


References

  • These notes are based on Youtube playlist Learning Haskell for dummies by Cmdv aka Vincent Orr
  • The Haskell Tool Stack - Stack is a cross-platform program for developing Haskell projects. It is aimed at Haskellers both new and experienced.
  • Hoogle is a Haskell API search engine, which allows you to search the Haskell libraries on Stackage by either function name, or by approximate type signature.
  • Stackage provides consistent sets of Haskell packages, known to build together and pass their tests before becoming Stackage Nightly snapshots and LTS (Long Term Support) releases.
  • Github ghcid - Very low feature GHCi based IDE. Either “GHCi as a daemon” or “GHC + a bit of an IDE”. To a first approximation, it opens ghci and runs :reload whenever your source code changes, formatting the output to fit a fixed height console.

Lesson 1 - Getting set up

1. Install Stack

Run: curl -sSL https://get.haskellstack.org/ | sh
Log:

$ curl -sSL https://get.haskellstack.org/ | sh
Using generic bindist...

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   138  100   138    0     0    237      0 --:--:-- --:--:-- --:--:--   237
100   635  100   635    0     0    495      0  0:00:01  0:00:01 --:--:--  620k
100 8462k  100 8462k    0     0  3209k      0  0:00:02  0:00:02 --:--:-- 12.1M
Installing Stack to: /usr/local/bin/stack...

-------------------------------------------------------------------------------

Stack has been installed to: /usr/local/bin/stack

NOTE: You may need to run 'xcode-select --install' and/or
      'open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg'
      to set up the Xcode command-line tools, which Stack uses.

WARNING: '/Users/oivasiv/.local/bin' is not on your PATH.
    Stack will place the binaries it builds in '/Users/oivasiv/.local/bin' so
    for best results, please add it to the beginning of PATH in your profile.

2. Add Haskell stack to PATH

# Haskell Stack will place the binaries it builds in '/Users/$USER/.local/bin' so
# for best results, please add it to the beginning of PATH in your profile.
export PATH="/Users/oivasiv/.local/bin:$PATH"

3. Create project from Stack template

Run: stack new haskell-first-prj
Log:

$ stack new haskell-first-prj
Downloading template "new-template" to create project "haskell-first-prj" in haskell-first-prj/ ...

The following parameters were needed by the template but not provided: author-name
You can provide them in /Users/oivasiv/.stack/config.yaml, like this:
templates:
  params:
    author-name: value
Or you can pass each one as parameters like this:
stack new haskell-first-prj new-template -p "author-name:value"


The following parameters were needed by the template but not provided: author-email, author-name, category, copyright, github-username
You can provide them in /Users/oivasiv/.stack/config.yaml, like this:
templates:
  params:
    author-email: value
    author-name: value
    category: value
    copyright: value
    github-username: value
Or you can pass each one as parameters like this:
stack new haskell-first-prj new-template -p "author-email:value" -p "author-name:value" -p "category:value" -p "copyright:value" -p "github-username:value"

Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- haskell-first-prj/

Selecting the best among 19 snapshots...

* Matches https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/17/11.yaml

Selected resolver: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/17/11.yaml
Initialising configuration using resolver: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/17/11.yaml
Total number of user packages considered: 1
Writing configuration to file: haskell-first-prj/stack.yaml
All done.
/Users/oivasiv/.stack/templates/new-template.hsfiles:    6.06 KiB downloaded...

Resulted project layout

$ tree .
.
├── ChangeLog.md
├── LICENSE
├── README.md
├── Setup.hs
├── app
│   └── Main.hs
├── haskell-first-prj.cabal
├── package.yaml
├── src
│   └── Lib.hs
├── stack.yaml
├── stack.yaml.lock
└── test
    └── Spec.hs

4. Install VSCode Haskell extention

See Haskell Syntax Highlighting Support for the Haskell programming language in Visual Studio Code.

5. Initial project’s build

Run: stack build
Log:

$ stack build
Preparing to install GHC to an isolated location.
This will not interfere with any system-level installation.
Downloaded ghc-8.10.4.                                      
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
ld: unknown option: --version
ld: unknown option: --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(Disassembler.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(LdvProfile.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(OldARMAtomic.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(ProfilerReport.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(ProfilerReportJson.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(Profiling.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(RetainerProfile.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(RetainerSet.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(RtsDllMain.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(SpinLock.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(TraverseHeap.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(Evac_thr.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(Sanity.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(Scav_thr.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(Elf.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(PEi386.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(elf_got.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(elf_plt.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(elf_plt_aarch64.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(elf_plt_arm.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(elf_reloc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(elf_reloc_aarch64.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts.a(elf_util.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(Disassembler.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(OldARMAtomic.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(RtsDllMain.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(SpinLock.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(Evac_thr.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(Sanity.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(Scav_thr.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(Elf.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(PEi386.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(elf_got.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(elf_plt.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(elf_plt_aarch64.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(elf_plt_arm.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(elf_reloc.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(elf_reloc_aarch64.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_p.a(elf_util.p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(Disassembler.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(LdvProfile.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(OldARMAtomic.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(ProfilerReport.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(ProfilerReportJson.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(Profiling.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(RetainerProfile.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(RetainerSet.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(RtsDllMain.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(SpinLock.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(TraverseHeap.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(Evac_thr.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(Sanity.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(Scav_thr.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(Elf.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(PEi386.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(elf_got.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(elf_plt.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(elf_plt_aarch64.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(elf_plt_arm.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(elf_reloc.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(elf_reloc_aarch64.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_l.a(elf_util.l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(LdvProfile.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(OldARMAtomic.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(ProfilerReport.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(ProfilerReportJson.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(Profiling.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(RetainerProfile.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(RetainerSet.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(RtsDllMain.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(SpinLock.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(TraverseHeap.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(Evac_thr.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(Scav_thr.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(Elf.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(PEi386.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(elf_got.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(elf_plt.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(elf_plt_aarch64.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(elf_plt_arm.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(elf_reloc.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(elf_reloc_aarch64.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug.a(elf_util.debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(Disassembler.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(LdvProfile.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(OldARMAtomic.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(ProfilerReport.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(ProfilerReportJson.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(Profiling.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(RetainerProfile.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(RetainerSet.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(RtsDllMain.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(TraverseHeap.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(Sanity.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(Elf.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(PEi386.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(elf_got.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(elf_plt.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(elf_plt_aarch64.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(elf_plt_arm.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(elf_reloc.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(elf_reloc_aarch64.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(elf_util.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr.a(Select.thr_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(LdvProfile.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(OldARMAtomic.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(ProfilerReport.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(ProfilerReportJson.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(Profiling.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(RetainerProfile.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(RetainerSet.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(RtsDllMain.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(TraverseHeap.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(Elf.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(PEi386.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(elf_got.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(elf_plt.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(elf_plt_aarch64.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(elf_plt_arm.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(elf_reloc.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(elf_reloc_aarch64.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(elf_util.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug.a(Select.thr_debug_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(Disassembler.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(LdvProfile.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(OldARMAtomic.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(ProfilerReport.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(ProfilerReportJson.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(Profiling.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(RetainerProfile.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(RetainerSet.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(RtsDllMain.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(TraverseHeap.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(Sanity.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(Elf.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(PEi386.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(elf_got.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(elf_plt.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(elf_plt_aarch64.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(elf_plt_arm.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(elf_reloc.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(elf_reloc_aarch64.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(elf_util.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_l.a(Select.thr_l_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(Disassembler.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(OldARMAtomic.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(RtsDllMain.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(Sanity.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(Elf.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(PEi386.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(elf_got.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(elf_plt.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(elf_plt_aarch64.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(elf_plt_arm.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(elf_reloc.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(elf_reloc_aarch64.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(elf_util.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_p.a(Select.thr_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(OldARMAtomic.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(RtsDllMain.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(Elf.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(PEi386.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(elf_got.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(elf_plt.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(elf_plt_aarch64.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(elf_plt_arm.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(elf_reloc.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(elf_reloc_aarch64.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(elf_util.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_thr_debug_p.a(Select.thr_debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(OldARMAtomic.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(RtsDllMain.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(SpinLock.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(Evac_thr.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(Scav_thr.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(Elf.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(PEi386.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(elf_got.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(elf_plt.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(elf_plt_aarch64.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(elf_plt_arm.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(elf_reloc.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(elf_reloc_aarch64.debug_p_o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/oivasiv/.stack/programs/x86_64-osx/ghc-8.10.4/lib/ghc-8.10.4/rts/libHSrts_debug_p.a(elf_util.debug_p_o) has no symbols
Installed GHC.    
[1 of 2] Compiling Main             ( /Users/oivasiv/.stack/setup-exe-src/setup-mPHDZzAJ.hs, /Users/oivasiv/.stack/setup-exe-src/setup-mPHDZzAJ.o )
[2 of 2] Compiling StackSetupShim   ( /Users/oivasiv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /Users/oivasiv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.o )
Linking /Users/oivasiv/.stack/setup-exe-cache/x86_64-osx/tmp-Cabal-simple_mPHDZzAJ_3.2.1.0_ghc-8.10.4 ...
Building all executables for `haskell-first-prj' once. After a successful build of all of them, only specified executables will be rebuilt.
haskell-first-prj> configure (lib + exe)
Configuring haskell-first-prj-0.1.0.0...
haskell-first-prj> build (lib + exe)
Preprocessing library for haskell-first-prj-0.1.0.0..
Building library for haskell-first-prj-0.1.0.0..
[1 of 2] Compiling Lib
[2 of 2] Compiling Paths_haskell_first_prj
Preprocessing executable 'haskell-first-prj-exe' for haskell-first-prj-0.1.0.0..
Building executable 'haskell-first-prj-exe' for haskell-first-prj-0.1.0.0..
[1 of 2] Compiling Main
[2 of 2] Compiling Paths_haskell_first_prj
Linking .stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/haskell-first-prj-exe/haskell-first-prj-exe ...
haskell-first-prj> copy/register
Installing library in /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/install/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/haskell-first-prj-0.1.0.0-Cwmb6rEwFEN2sOWocMM0iS
Installing executable haskell-first-prj-exe in /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/install/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/bin
Registering library for haskell-first-prj-0.1.0.0..

6. Update the app and rebuild

update /src/Lib.hs file

$ git diff
diff --git a/src/Lib.hs b/src/Lib.hs
index d36ff27..daec72f 100644
--- a/src/Lib.hs
+++ b/src/Lib.hs
@@ -3,4 +3,4 @@ module Lib
     ) where

 someFunc :: IO ()
-someFunc = putStrLn "someFunc"
+someFunc = putStrLn "haskell-first-prj-exe - Hello from the hell"
  • build
$ stack build
haskell-first-prj-0.1.0.0: unregistering (local file changes: src/Lib.hs)
haskell-first-prj> configure (lib + exe)
Configuring haskell-first-prj-0.1.0.0...
haskell-first-prj> build (lib + exe)
Preprocessing library for haskell-first-prj-0.1.0.0..
Building library for haskell-first-prj-0.1.0.0..
[2 of 2] Compiling Lib
Preprocessing executable 'haskell-first-prj-exe' for haskell-first-prj-0.1.0.0..
Building executable 'haskell-first-prj-exe' for haskell-first-prj-0.1.0.0..
[1 of 2] Compiling Main [Lib changed]
Linking .stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/haskell-first-prj-exe/haskell-first-prj-exe ...
haskell-first-prj> copy/register
Installing library in /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/install/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/haskell-first-prj-0.1.0.0-Cwmb6rEwFEN2sOWocMM0iS
Installing executable haskell-first-prj-exe in /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/install/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/bin
Registering library for haskell-first-prj-0.1.0.0..
  • run
$ stack exec haskell-first-prj-exe
haskell-first-prj-exe - Hello from the hell

7. Install ghcid

  • Github ghcid - Very low feature GHCi based IDE

Run: stack install ghcid
Log:

$ stack install ghcid
cereal       > configure
cereal       > Configuring cereal-0.5.8.1...
cereal       > build
clock        > configure
cereal       > Preprocessing library for cereal-0.5.8.1..
cereal       > Building library for cereal-0.5.8.1..
cereal       > [1 of 4] Compiling Data.Serialize.Get
clock        > Configuring clock-0.8...
clock        > build
cmdargs      > configure
clock        > Preprocessing library for clock-0.8..
clock        > Building library for clock-0.8..
clock        > [1 of 1] Compiling System.Clock
cmdargs      > Configuring cmdargs-0.10.21...
cmdargs      > build
colour       > configure
cmdargs      > Preprocessing library for cmdargs-0.10.21..
cmdargs      > Building library for cmdargs-0.10.21..
cmdargs      > [ 1 of 25] Compiling Data.Generics.Any
colour       > Configuring colour-2.3.5...
colour       > build
cmdargs      > [ 2 of 25] Compiling Data.Generics.Any.Prelude
colour       > Preprocessing library for colour-2.3.5..
colour       > Building library for colour-2.3.5..
colour       > [ 1 of 14] Compiling Data.Colour.CIE.Chromaticity
cmdargs      > [ 3 of 25] Compiling System.Console.CmdArgs.Annotate
colour       > [ 2 of 14] Compiling Data.Colour.CIE.Illuminant
colour       > [ 3 of 14] Compiling Data.Colour.Chan
cmdargs      > [ 4 of 25] Compiling System.Console.CmdArgs.Default
colour       > [ 4 of 14] Compiling Data.Colour.Internal
cmdargs      > [ 5 of 25] Compiling System.Console.CmdArgs.Explicit.ExpandArgsAt
cmdargs      > [ 6 of 25] Compiling System.Console.CmdArgs.Explicit.SplitJoin
cmdargs      > [ 7 of 25] Compiling System.Console.CmdArgs.Explicit.Type
colour       > [ 5 of 14] Compiling Data.Colour.Matrix
clock        > copy/register
clock        > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/clock-0.8-GgyC1t0yogI8KcRGJ3XM3f
colour       > [ 6 of 14] Compiling Data.Colour.RGB
clock        > Registering library for clock-0.8..
cereal       > [2 of 4] Compiling Data.Serialize.Put
cmdargs      > [ 8 of 25] Compiling System.Console.CmdArgs.Explicit.Process
colour       > [ 7 of 14] Compiling Data.Colour.RGBSpace.HSL
colour       > [ 8 of 14] Compiling Data.Colour.RGBSpace.HSV
colour       > [ 9 of 14] Compiling Data.Colour.SRGB.Linear
extra        > configure                     
cmdargs      > [ 9 of 25] Compiling System.Console.CmdArgs.Explicit.Complete
colour       > [10 of 14] Compiling Data.Colour.RGBSpace
colour       > [11 of 14] Compiling Data.Colour.SRGB
cmdargs      > [10 of 25] Compiling System.Console.CmdArgs.Helper
extra        > Configuring extra-1.7.9...    
colour       > [12 of 14] Compiling Data.Colour
extra        > build                         
colour       > [13 of 14] Compiling Data.Colour.Names
extra        > Preprocessing library for extra-1.7.9..
extra        > Building library for extra-1.7.9..
cereal       > [3 of 4] Compiling Data.Serialize.IEEE754
extra        > [ 1 of 21] Compiling Data.IORef.Extra
extra        > [ 2 of 21] Compiling Data.Tuple.Extra
extra        > [ 3 of 21] Compiling Data.Typeable.Extra
cereal       > [4 of 4] Compiling Data.Serialize
extra        > [ 4 of 21] Compiling Numeric.Extra
extra        > [ 5 of 21] Compiling Partial  
cereal       >                               
cereal       > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/cereal-0.5.8.1/src/Data/Serialize.hs:291:9: warning: [-Wincomplete-patterns]
cereal       >     Pattern match(es) are non-exhaustive
cereal       >     In an equation for ‘findNr’: Patterns not matched: _ _
cereal       >     |                         
cereal       > 291 |         findNr lo hi    
cereal       >     |         ^^^^^^^^^^^^... 
extra        > [ 6 of 21] Compiling Data.List.Extra
cmdargs      > [11 of 25] Compiling System.Console.CmdArgs.Implicit.Ann
colour       > [14 of 14] Compiling Data.Colour.CIE
cmdargs      > [12 of 25] Compiling System.Console.CmdArgs.Implicit.UI
cmdargs      > [13 of 25] Compiling System.Console.CmdArgs.Text
extra        > [ 7 of 21] Compiling Data.Version.Extra
extra        > [ 8 of 21] Compiling Data.List.NonEmpty.Extra
extra        > [ 9 of 21] Compiling Data.Either.Extra
colour       > copy/register                 
cmdargs      > [14 of 25] Compiling System.Console.CmdArgs.Explicit.Help
extra        > [10 of 21] Compiling Control.Exception.Extra
colour       > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/colour-2.3.5-C29WD8Qg69AL3qeQgayHy7
extra        > [11 of 21] Compiling Control.Monad.Extra
colour       > Registering library for colour-2.3.5..
extra        > [12 of 21] Compiling Data.Foldable.Extra
cmdargs      > [15 of 25] Compiling System.Console.CmdArgs.Verbosity
extra        > [13 of 21] Compiling Control.Concurrent.Extra
cmdargs      > [16 of 25] Compiling System.Console.CmdArgs.Implicit.Type
extra        > [14 of 21] Compiling System.Directory.Extra
ansi-terminal> configure                            
extra        > [15 of 21] Compiling System.Environment.Extra
extra        > [16 of 21] Compiling System.IO.Extra 
ansi-terminal> Configuring ansi-terminal-0.10.3...  
cmdargs      > [17 of 25] Compiling System.Console.CmdArgs.Explicit
ansi-terminal> build                                
ansi-terminal> Preprocessing library for ansi-terminal-0.10.3..
ansi-terminal> Building library for ansi-terminal-0.10.3..
cmdargs      > [18 of 25] Compiling System.Console.CmdArgs.Implicit.Reader
ansi-terminal> [1 of 4] Compiling System.Console.ANSI.Types
cmdargs      > [19 of 25] Compiling System.Console.CmdArgs.Implicit.Local
extra        > [17 of 21] Compiling System.Info.Extra
extra        > [18 of 21] Compiling System.Process.Extra
extra        > [19 of 21] Compiling System.Time.Extra
extra        > [20 of 21] Compiling Extra           
extra        > [21 of 21] Compiling Text.Read.Extra 
cmdargs      > [20 of 25] Compiling System.Console.CmdArgs.Implicit.Reform
extra        > copy/register                        
cmdargs      > [21 of 25] Compiling System.Console.CmdArgs.Implicit.Global
extra        > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/extra-1.7.9-JsV7nDKU3P4LIpqfI0ysJo
extra        > Registering library for extra-1.7.9..
hashable     > configure                               
cmdargs      > [22 of 25] Compiling System.Console.CmdArgs.Implicit
cmdargs      > [23 of 25] Compiling System.Console.CmdArgs.Quote
cereal       >                                         
cereal       > copy/register                           
hashable     > Configuring hashable-1.3.0.0...         
cereal       > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/cereal-0.5.8.1-22Ay1xouyZe6jvGIwilboJ
ansi-terminal> [2 of 4] Compiling System.Console.ANSI.Codes
cereal       > Registering library for cereal-0.5.8.1..
cmdargs      > [24 of 25] Compiling System.Console.CmdArgs
hashable     > build                                      
ansi-terminal> [3 of 4] Compiling System.Console.ANSI.Unix
cmdargs      > [25 of 25] Compiling System.Console.CmdArgs.GetOpt
hashable     > Preprocessing library for hashable-1.3.0.0..
hashable     > Building library for hashable-1.3.0.0..    
hashable     > [1 of 5] Compiling Data.Hashable.Class     
hfsevents    > configure                                  
ansi-terminal> [4 of 4] Compiling System.Console.ANSI     
cmdargs      > copy/register                              
hfsevents    > Configuring hfsevents-0.1.6...             
cmdargs      > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/cmdargs-0.10.21-KlHphs6sBhIECkIRkNdEOM
cmdargs      > Registering library for cmdargs-0.10.21..  
ansi-terminal> copy/register                              
hfsevents    > build                                            
hfsevents    > Preprocessing library for hfsevents-0.1.6..      
hfsevents    > Building library for hfsevents-0.1.6..           
ansi-terminal> Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/ansi-terminal-0.10.3-Hpd3ONu7miU6c85cFR1uCj
hfsevents    > [1 of 1] Compiling System.OSX.FSEvents           
ansi-terminal> Registering library for ansi-terminal-0.10.3..   
terminal-size> configure                                        
hashable     > [2 of 5] Compiling Data.Hashable.Generic.Instances
hashable     > [3 of 5] Compiling Data.Hashable.Generic       
hashable     > [4 of 5] Compiling Data.Hashable               
hashable     > [5 of 5] Compiling Data.Hashable.Lifted        
terminal-size> Configuring terminal-size-0.3.2.1...           
terminal-size> build                                          
unix-compat  > configure                                      
terminal-size> Preprocessing library for terminal-size-0.3.2.1..
terminal-size> Building library for terminal-size-0.3.2.1..   
hashable     > copy/register                                  
hashable     > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/hashable-1.3.0.0-K3FFBNAmsvaIvBv4Qg15rQ
unix-compat  > Configuring unix-compat-0.5.3...               
terminal-size> [1 of 3] Compiling System.Console.Terminal.Common
hashable     > Registering library for hashable-1.3.0.0..     
unix-compat  > build                                          
unix-compat  > Preprocessing library for unix-compat-0.5.3..
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:106:4: error:
hfsevents    >      warning: 'Gestalt' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionMajor, majorVersion);
hfsevents    >        ^                                    
hfsevents    >     |                                       
hfsevents    > 106 |    Gestalt(gestaltSystemVersionMajor, majorVersion);
hfsevents    >     |    ^                                  
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:123:1: error:
hfsevents    >      note: 'Gestalt' has been explicitly marked deprecated here
hfsevents    >     |                                       
hfsevents    > 123 | Gestalt(                              
hfsevents    >     | ^                                     
hfsevents    > Gestalt(                                    
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:106:12: error:
hfsevents    >      warning: 'gestaltSystemVersionMajor' is deprecated: first deprecated in macOS 10.8 - Use NSProcessInfo's operatingSystemVersion property instead. [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionMajor, majorVersion);
hfsevents    >                ^                            
hfsevents    >     |                                       
hfsevents    > 106 |    Gestalt(gestaltSystemVersionMajor, majorVersion);
hfsevents    >     |            ^                          
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:2075:1: error:
hfsevents    >      note: '' has been explicitly marked deprecated here
hfsevents    >      |                                      
hfsevents    > 2075 | enum {                               
hfsevents    >      | ^                                    
hfsevents    > enum {                                      
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:107:4: error:
hfsevents    >      warning: 'Gestalt' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionMinor, minorVersion);
hfsevents    >        ^                                    
hfsevents    >     |                                       
hfsevents    > 107 |    Gestalt(gestaltSystemVersionMinor, minorVersion);
hfsevents    >     |    ^                                  
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:123:1: error:
hfsevents    >      note: 'Gestalt' has been explicitly marked deprecated here
hfsevents    >     |                                       
hfsevents    > 123 | Gestalt(                              
hfsevents    >     | ^                                     
hfsevents    > Gestalt(                                    
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:107:12: error:
hfsevents    >      warning: 'gestaltSystemVersionMinor' is deprecated: first deprecated in macOS 10.8 - Use NSProcessInfo's operatingSystemVersion property instead. [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionMinor, minorVersion);
hfsevents    >                ^                            
hfsevents    >     |                                       
hfsevents    > 107 |    Gestalt(gestaltSystemVersionMinor, minorVersion);
hfsevents    >     |            ^                          
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:2075:1: error:
hfsevents    >      note: '' has been explicitly marked deprecated here
hfsevents    >      |                                      
hfsevents    > 2075 | enum {                               
hfsevents    >      | ^                                    
hfsevents    > enum {                                      
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:108:4: error:
hfsevents    >      warning: 'Gestalt' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionBugFix, bugFixVersion);
hfsevents    >        ^                                    
hfsevents    >     |                                       
hfsevents    > 108 |    Gestalt(gestaltSystemVersionBugFix, bugFixVersion);
hfsevents    >     |    ^                                  
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:123:1: error:
hfsevents    >      note: 'Gestalt' has been explicitly marked deprecated here
hfsevents    >     |                                       
hfsevents    > 123 | Gestalt(                              
hfsevents    >     | ^                                     
hfsevents    > Gestalt(                                    
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:108:12: error:
hfsevents    >      warning: 'gestaltSystemVersionBugFix' is deprecated: first deprecated in macOS 10.8 - Use NSProcessInfo's operatingSystemVersion property instead. [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionBugFix, bugFixVersion);
hfsevents    >                ^                            
hfsevents    >     |                                       
hfsevents    > 108 |    Gestalt(gestaltSystemVersionBugFix, bugFixVersion);
hfsevents    >     |            ^                          
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:2075:1: error:
hfsevents    >      note: '' has been explicitly marked deprecated here
hfsevents    >      |                                      
hfsevents    > 2075 | enum {                               
hfsevents    >      | ^                                    
hfsevents    > enum {                                      
hfsevents    > ^                                           
hfsevents    > 6 warnings generated.                       
async        > configure                                   
terminal-size> [2 of 3] Compiling System.Console.Terminal.Posix
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:106:4: error:
hfsevents    >      warning: 'Gestalt' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionMajor, majorVersion);
hfsevents    >        ^                                    
hfsevents    >     |                                       
hfsevents    > 106 |    Gestalt(gestaltSystemVersionMajor, majorVersion);
hfsevents    >     |    ^                                  
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:123:1: error:
hfsevents    >      note: 'Gestalt' has been explicitly marked deprecated here
hfsevents    >     |                                       
hfsevents    > 123 | Gestalt(                              
hfsevents    >     | ^                                     
hfsevents    > Gestalt(                                    
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:106:12: error:
hfsevents    >      warning: 'gestaltSystemVersionMajor' is deprecated: first deprecated in macOS 10.8 - Use NSProcessInfo's operatingSystemVersion property instead. [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionMajor, majorVersion);
hfsevents    >                ^                            
hfsevents    >     |                                       
hfsevents    > 106 |    Gestalt(gestaltSystemVersionMajor, majorVersion);
hfsevents    >     |            ^                          
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:2075:1: error:
hfsevents    >      note: '' has been explicitly marked deprecated here
hfsevents    >      |                                      
hfsevents    > 2075 | enum {                               
hfsevents    >      | ^                                    
hfsevents    > enum {                                      
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:107:4: error:
hfsevents    >      warning: 'Gestalt' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionMinor, minorVersion);
hfsevents    >        ^                                    
hfsevents    >     |                                       
hfsevents    > 107 |    Gestalt(gestaltSystemVersionMinor, minorVersion);
hfsevents    >     |    ^                                  
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:123:1: error:
hfsevents    >      note: 'Gestalt' has been explicitly marked deprecated here
hfsevents    >     |                                       
hfsevents    > 123 | Gestalt(                              
hfsevents    >     | ^                                     
hfsevents    > Gestalt(                                    
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:107:12: error:
hfsevents    >      warning: 'gestaltSystemVersionMinor' is deprecated: first deprecated in macOS 10.8 - Use NSProcessInfo's operatingSystemVersion property instead. [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionMinor, minorVersion);
hfsevents    >                ^                            
hfsevents    >     |                                       
hfsevents    > 107 |    Gestalt(gestaltSystemVersionMinor, minorVersion);
hfsevents    >     |            ^                          
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:2075:1: error:
hfsevents    >      note: '' has been explicitly marked deprecated here
hfsevents    >      |                                      
hfsevents    > 2075 | enum {                               
hfsevents    >      | ^                                    
hfsevents    > enum {                                      
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:108:4: error:
hfsevents    >      warning: 'Gestalt' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionBugFix, bugFixVersion);
hfsevents    >        ^                                    
hfsevents    >     |                                       
hfsevents    > 108 |    Gestalt(gestaltSystemVersionBugFix, bugFixVersion);
hfsevents    >     |    ^                                  
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:123:1: error:
hfsevents    >      note: 'Gestalt' has been explicitly marked deprecated here
hfsevents    >     |                                       
hfsevents    > 123 | Gestalt(                              
hfsevents    >     | ^                                     
hfsevents    > Gestalt(                                    
hfsevents    > ^                                           
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6/cbits/c_fsevents.m:108:12: error:
hfsevents    >      warning: 'gestaltSystemVersionBugFix' is deprecated: first deprecated in macOS 10.8 - Use NSProcessInfo's operatingSystemVersion property instead. [-Wdeprecated-declarations]
hfsevents    >        Gestalt(gestaltSystemVersionBugFix, bugFixVersion);
hfsevents    >                ^                            
hfsevents    >     |                                       
hfsevents    > 108 |    Gestalt(gestaltSystemVersionBugFix, bugFixVersion);
hfsevents    >     |            ^                          
hfsevents    >                                             
hfsevents    > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/hfsevents-0.1.6//Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Gestalt.h:2075:1: error:
hfsevents    >      note: '' has been explicitly marked deprecated here
hfsevents    >      |                                      
hfsevents    > 2075 | enum {                               
hfsevents    >      | ^                                    
hfsevents    > enum {                                      
hfsevents    > ^                                           
hfsevents    > 6 warnings generated.                       
unix-compat  > Building library for unix-compat-0.5.3..    
async        > Configuring async-2.2.3...                  
terminal-size> [3 of 3] Compiling System.Console.Terminal.Size
async        > build                                       
unix-compat  > [1 of 8] Compiling System.PosixCompat.Files 
hfsevents    > copy/register                               
async        > Preprocessing library for async-2.2.3..     
async        > Building library for async-2.2.3..          
hfsevents    > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/hfsevents-0.1.6-DmcXi29r7B8LQG2VHsOEts
unix-compat  > [2 of 8] Compiling System.PosixCompat.Temp  
async        > [1 of 1] Compiling Control.Concurrent.Async 
hfsevents    > Registering library for hfsevents-0.1.6..   
terminal-size> copy/register                               
unix-compat  > [3 of 8] Compiling System.PosixCompat.Time  
terminal-size> Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/terminal-size-0.3.2.1-HihNy0RThZk4O1UkYpAxTd
unix-compat  > [4 of 8] Compiling System.PosixCompat.Types
unix-compat  > [5 of 8] Compiling System.PosixCompat.Extensions
terminal-size> Registering library for terminal-size-0.3.2.1..
async        >                                  
async        > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/async-2.2.3/Control/Concurrent/Async.hs:215:1: warning: [-Wunused-imports]
async        >     The import of ‘Data.Semigroup’ is redundant
async        >       except perhaps to import instances from ‘Data.Semigroup’
async        >     To import instances alone, use: import Data.Semigroup()
async        >     |             
async        > 215 | import Data.Semigroup (Semigroup((<>)))
async        >     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unix-compat  > [6 of 8] Compiling System.PosixCompat.Unistd
unix-compat  > [7 of 8] Compiling System.PosixCompat.User
unix-compat  > [8 of 8] Compiling System.PosixCompat
unix-compat  > copy/register     
unix-compat  > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/unix-compat-0.5.3-2aWOCxmwkXJ2vKfu7bHqHW
async        >                   
unix-compat  > Registering library for unix-compat-0.5.3..
async        > copy/register     
async        > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/async-2.2.3-I4TgeWeEAzqFNG8LMs7HfA
async        > Registering library for async-2.2.3..
fsnotify     > configure
fsnotify     > Configuring fsnotify-0.3.0.1...
fsnotify     > build    
fsnotify     > Preprocessing library for fsnotify-0.3.0.1..
fsnotify     > Building library for fsnotify-0.3.0.1..
fsnotify     > [1 of 7] Compiling System.FSNotify.Path
fsnotify     > [2 of 7] Compiling System.FSNotify.Types
fsnotify     > [3 of 7] Compiling System.FSNotify.Listener
fsnotify     > [4 of 7] Compiling System.FSNotify.Polling
fsnotify     >          
fsnotify     > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/fsnotify-0.3.0.1/src/System/FSNotify/Polling.hs:19:1: warning: [-Wunused-imports]
fsnotify     >     The import of ‘getCurrentTime’
fsnotify     >     from module ‘Data.Time.Clock’ is redundant
fsnotify     >    |     
fsnotify     > 19 | import Data.Time.Clock (UTCTime, getCurrentTime)
fsnotify     >    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fsnotify     >          
fsnotify     > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/fsnotify-0.3.0.1/src/System/FSNotify/Polling.hs:64:17: warning: [-Wname-shadowing]
fsnotify     >     This binding for ‘path’ shadows the existing binding
fsnotify     >       bound at src/System/FSNotify/Polling.hs:58:22
fsnotify     >    |     
fsnotify     > 64 |     pathAndInfo path = handle (\(_ :: IOException) -> return Nothing) $ do
fsnotify     >    |                 ^^^^
fsnotify     > [5 of 7] Compiling System.FSNotify.OSX
fsnotify     >          
fsnotify     > /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/stack-b64d6bffac318d73/fsnotify-0.3.0.1/src/System/FSNotify/OSX.hs:84:5: warning: [-Wunused-local-binds]
fsnotify     >     Defined but not used: ‘isFile’
fsnotify     >    |     
fsnotify     > 84 |     isFile = hasFlag e FSE.eventFlagItemIsFile
fsnotify     >    |     ^^^^^^
fsnotify     > [6 of 7] Compiling System.FSNotify
fsnotify     > [7 of 7] Compiling System.FSNotify.Devel
fsnotify     >          
fsnotify     > copy/register
fsnotify     > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/fsnotify-0.3.0.1-EO9zWvFrT8K8EYsUHXztbo
fsnotify     > Registering library for fsnotify-0.3.0.1..
ghcid        > configure
ghcid        > Configuring ghcid-0.8.7...
ghcid        > build 
ghcid        > Preprocessing library for ghcid-0.8.7..
ghcid        > Building library for ghcid-0.8.7..
ghcid        > [1 of 6] Compiling Language.Haskell.Ghcid.Escape
ghcid        > [2 of 6] Compiling Language.Haskell.Ghcid.Types
ghcid        > [3 of 6] Compiling Language.Haskell.Ghcid.Parser
ghcid        > [4 of 6] Compiling Language.Haskell.Ghcid.Util
ghcid        > [5 of 6] Compiling Language.Haskell.Ghcid
ghcid        > [6 of 6] Compiling Paths_ghcid
ghcid        > Preprocessing executable 'ghcid' for ghcid-0.8.7..
ghcid        > Building executable 'ghcid' for ghcid-0.8.7..
ghcid        > [ 1 of 10] Compiling Language.Haskell.Ghcid.Escape
ghcid        > [ 2 of 10] Compiling Language.Haskell.Ghcid.Terminal
ghcid        > [ 3 of 10] Compiling Language.Haskell.Ghcid.Types
ghcid        > [ 4 of 10] Compiling Language.Haskell.Ghcid.Parser
ghcid        > [ 5 of 10] Compiling Language.Haskell.Ghcid.Util
ghcid        > [ 6 of 10] Compiling Language.Haskell.Ghcid
ghcid        > [ 7 of 10] Compiling Paths_ghcid
ghcid        > [ 8 of 10] Compiling Session
ghcid        > [ 9 of 10] Compiling Wait
ghcid        > [10 of 10] Compiling Ghcid
ghcid        > Linking .stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/ghcid/ghcid ...
ghcid        > copy/register
ghcid        > Installing library in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/lib/x86_64-osx-ghc-8.10.4/ghcid-0.8.7-FScrtpUXk0oGhWchMGUkoD
ghcid        > Installing executable ghcid in /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/bin
ghcid        > Registering library for ghcid-0.8.7..
Completed 13 action(s).
Copying from /Users/oivasiv/.stack/snapshots/x86_64-osx/5e51f2123ebe0cb8f05a0b49e4743eebc38bbceea3c01c0e46a8b4871413e296/8.10.4/bin/ghcid to /Users/oivasiv/.local/bin/ghcid

Copied executables to /Users/oivasiv/.local/bin:
- ghcid

8. Add a “hole” to our module and check how ghcid works

diff --git a/src/Lib.hs b/src/Lib.hs
index d36ff27..93c9269 100644
--- a/src/Lib.hs
+++ b/src/Lib.hs
@@ -3,4 +3,4 @@ module Lib
     ) where

 someFunc :: IO ()
-someFunc = putStrLn "someFunc"
+someFunc = putStrLn _
\ No newline at end of file

file: src/Lib.hs

module Lib
    ( someFunc
    ) where

someFunc :: IO ()
someFunc = putStrLn _

/Users/oivasiv/Projects/haskell_prj/haskell-first-prj/src/Lib.hs:6:21: error:
     Found hole: _ :: String
     In the first argument of ‘putStrLn’, namely ‘_’
      In the expression: putStrLn _
      In an equation for ‘someFunc’: someFunc = putStrLn _
     Relevant bindings include
        someFunc :: IO ()
          (bound at /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/src/Lib.hs:6:1)
      Valid hole fits include
        [] :: forall a. [a]
          with [] @Char
          (bound at <wired into compiler>)
        mempty :: forall a. Monoid a => a
          with mempty @[Char]
          (imported from ‘Prelude’ at /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/src/Lib.hs:1:8-10
           (and originally defined in ‘GHC.Base’))
  |
6 | someFunc = putStrLn _

9. Play with Stack repl

Run:stack repl
Log:

$ stack repl
Using main module: 1. Package `haskell-first-prj' component haskell-first-prj:exe:haskell-first-prj-exe with main-is file: /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/app/Main.hs
haskell-first-prj> configure (lib + exe)
Configuring haskell-first-prj-0.1.0.0...
haskell-first-prj> initial-build-steps (lib + exe)
The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
Configuring GHCi with the following packages: haskell-first-prj

* * * * * * * *

Warning: Multiple files use the same module name:
         * Paths_haskell_first_prj found at the following paths
           * /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/autogen/Paths_haskell_first_prj.hs (haskell-first-prj:lib)
           * /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/haskell-first-prj-exe/autogen/Paths_haskell_first_prj.hs (haskell-first-prj:exe:haskell-first-prj-exe)
* * * * * * * *

GHCi, version 8.10.4: https://www.haskell.org/ghc/  :? for help
[1 of 3] Compiling Lib              ( /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/src/Lib.hs, interpreted )
[2 of 3] Compiling Main             ( /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/app/Main.hs, interpreted )
[3 of 3] Compiling Paths_haskell_first_prj ( /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/autogen/Paths_haskell_first_prj.hs, interpreted )
Ok, three modules loaded.
Loaded GHCi configuration from /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/haskell-stack-ghci/78718bc1/ghci-script
*Main Lib Paths_haskell_first_prj> 

9.1. How to fix Warning: Multiple files use the same module name:

* * * * * * * *

Warning: Multiple files use the same module name:
         * Paths_haskell_first_prj found at the following paths
           * /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/autogen/Paths_haskell_first_prj.hs (haskell-first-prj:lib)
           * /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/haskell-first-prj-exe/autogen/Paths_haskell_first_prj.hs (haskell-first-prj:exe:haskell-first-prj-exe)
* * * * * * * *

Well, I have found one interesting post on reddit and github:

Ppl are suggesting to add:

when:
- condition: false
  other-modules: Paths_pkg

Update package.yaml file

diff --git a/package.yaml b/package.yaml
index af9ead7..cf13e7b 100644
--- a/package.yaml
+++ b/package.yaml
@@ -35,6 +35,9 @@ executables:
     - -with-rtsopts=-N
     dependencies:
     - haskell-first-prj
+    when:
+    - condition: false
+      other-modules: Paths_haskell_first_prj

 tests:
   haskell-first-prj-test:

Run: stack build

Check updated haskell-first-prj.cabal file

diff --git a/haskell-first-prj.cabal b/haskell-first-prj.cabal
index 7d3d676..2ef8c5d 100644
--- a/haskell-first-prj.cabal
+++ b/haskell-first-prj.cabal
@@ -36,8 +36,6 @@ library

 executable halyph-first-exe
   main-is: Main.hs
-  other-modules:
-      Paths_haskell_first_prj
   hs-source-dirs:
       app
   ghc-options: -threaded -rtsopts -with-rtsopts=-N

And finally run stack repl

$ stack repl
Using main module: 1. Package `haskell-first-prj' component haskell-first-prj:exe:halyph-first-exe with main-is file: /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/app/Main.hs
The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
Configuring GHCi with the following packages: haskell-first-prj
GHCi, version 8.10.4: https://www.haskell.org/ghc/  :? for help
[1 of 3] Compiling Lib              ( /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/src/Lib.hs, interpreted )
[2 of 3] Compiling Main             ( /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/app/Main.hs, interpreted )
[3 of 3] Compiling Paths_haskell_first_prj ( /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/.stack-work/dist/x86_64-osx/Cabal-3.2.1.0/build/autogen/Paths_haskell_first_prj.hs, interpreted )
Ok, three modules loaded.
Loaded GHCi configuration from /private/var/folders/y0/kq4s__nj791b01t7zw8pb6dxr2_wl5/T/haskell-stack-ghci/78718bc1/ghci-script
*Main Lib Paths_haskell_first_prj> 

As you can see this “Warning” has gone.

9.2. REPL in action

*Main Lib Paths_haskell_first_prj> 
*Main Lib Paths_haskell_first_prj> someFunc 
someFunc
*Main Lib Paths_haskell_first_prj> :t someFunc 
someFunc :: IO ()
*Main Lib Paths_haskell_first_prj> :r
[2 of 3] Compiling Lib              ( /Users/oivasiv/Projects/haskell_prj/haskell-first-prj/src/Lib.hs, interpreted )
Ok, three modules loaded.
*Main Lib Paths_haskell_first_prj> someFunc 
Sunny day in hell
*Main Lib Paths_haskell_first_prj> :t someFunc 
someFunc :: IO ()
*Main Lib Paths_haskell_first_prj> 

10. VSCode: Switch focus between editor and integrated terminal

Open the keybindings.json from the editor: Cmd+Shift+P -> “Preferences: Open Keyboard Shortcuts” JSON and add these entries:

img2

// Place your key bindings in this file to override the defaults
[
// Toggle between terminal and editor focus
{ "key": "ctrl+`", "command": "workbench.action.terminal.focus"},
{ "key": "ctrl+`", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}

]

img3

11. VSCode adjust layout

  1. Project Tree
  2. Editor
  3. REPL/Teminal
  4. ghcid terminal

img1