Skip to content

HLS has ridiculously high CPU/memory usage using typed holes #2315

Open
@bradrn

Description

@bradrn

Your environment

> haskell-language-server-wrapper --probe-tools
haskell-language-server version: 1.4.0.0 (GHC: 8.10.4) (PATH: C:\Users\bradn\Documents\Haskell\hls\haskell-language-server-wrapper.exe) (GIT hash: 253547816ee216c53ee7dacc0ad3cac43e863d30)
Tool versions found on the $PATH
cabal:          Not found
stack:          2.7.3
ghc:            Not found

Which OS do you use: Windows
Which lsp-client do you use: Emacs
Describe your project: stack.yaml + *.cabal files
Contents of hie.yaml:

cradle:
  stack:
    - path: "./src/"
      component: "nexo:lib"
    - path: "./test/"
      component: "nexo:test:nexo-test"
    - path: "./gui/interop/"
      component: "nexo-interop:lib"
    - path: "./gui/web/"
      component: "web:exe:web"

Steps to reproduce

Open a file in ./gui/web/ and wait. (The bug doesn’t seem to occur for any other target of this project, nor for any other project.)

Expected behaviour

HLS works as expected.

Actual behaviour

After HLS initialises, it rapidly climbs to >90% CPU usage and correspondingly high memory usage:

image

This invariably causes Emacs to freeze.

Include debug information

Debug output:
> haskell-language-server-wrapper --debug
Found "C:\Users\bradn\Documents\Spreadsheet\nexo\hie.yaml" for "C:\Users\bradn\Documents\Spreadsheet\nexo\a"
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper.exe) Version 1.4.0.0, Git revision 253547816ee216c53ee7dacc0ad3cac43e863d30 (dirty) x86_64 ghc-8.10.4
Current directory: C:\Users\bradn\Documents\Spreadsheet\nexo
Operating system: mingw32
Arguments: ["--debug"]
Cradle directory: C:\Users\bradn\Documents\Spreadsheet\nexo
Cradle type: Stack

Tool versions found on the $PATH
cabal:          Not found
stack:          2.7.3
ghc:            Not found


Consulting the cradle to get project GHC version...
Project GHC version: 8.10.4
haskell-language-server exe candidates: ["haskell-language-server-8.10.4.exe","haskell-language-server.exe"]
Launching haskell-language-server exe at:C:\Users\bradn\Documents\Haskell\hls\haskell-language-server-8.10.4.exe
haskell-language-server version: 1.4.0.0 (GHC: 8.10.4) (PATH: C:\Users\bradn\Documents\Haskell\hls\haskell-language-server-8.10.4.exe) (GIT hash: 253547816ee216c53ee7dacc0ad3cac43e863d30)
 ghcide setup tester in C:\Users\bradn\Documents\Spreadsheet\nexo.
Report bugs at https://github.com/haskell/haskell-language-server/issues

Step 1/4: Finding files to test in C:\Users\bradn\Documents\Spreadsheet\nexo
Found 19 files

Step 2/4: Looking for hie.yaml files that control setup
Found 1 cradle
  (C:\Users\bradn\Documents\Spreadsheet\nexo\hie.yaml)

Step 3/4: Initializing the IDE
2021-10-30 12:42:50.052339 [ThreadId 6] DEBUG hls:      Initializing exports map from hiedb

Step 4/4: Type checking the files
2021-10-30 12:42:50.1057214 [ThreadId 6] DEBUG hls:     Done initializing exports map from hiedb (188)
2021-10-30 12:42:50.1213584 [ThreadId 23] INFO hls:     Consulting the cradle for "gui\\web\\src\\Main.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:42:51.5057729 [ThreadId 27] INFO hie-bios:        �[0mCabal file warning inC:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\web.cabal@26:8: Tabs used as indentation at 26:8, 28:8�[0m
2021-10-30 12:42:53.0531583 [ThreadId 27] INFO hie-bios:        �[0mUsing main module: 1. Package `web' component web:exe:web with main-is file: C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs�[0m
2021-10-30 12:42:54.6019869 [ThreadId 27] INFO hie-bios:        �[0mweb> configure (exe)�[0m
2021-10-30 12:42:55.2984103 [ThreadId 27] INFO hie-bios:        �[0mWarning: web.cabal:26:8: Tabs used as indentation at 26:8, 28:8�[0m
2021-10-30 12:43:00.6639469 [ThreadId 27] INFO hie-bios:        �[0mConfiguring web-0.1.0.0...�[0m
2021-10-30 12:43:04.6481247 [ThreadId 27] INFO hie-bios:        �[0mweb> initial-build-steps (exe)�[0m
2021-10-30 12:43:06.747776 [ThreadId 27] INFO hie-bios: �[0mConfiguring GHCi with the following packages: web�[0m
2021-10-30 12:43:08.5899472 [ThreadId 34] INFO hie-bios:        C:\Users\bradn\Documents\Spreadsheet\nexo\.stack-work\install\89cc576c\pkgdb;C:\sr\snapshots\fa46375f\pkgdb;C:\Users\bradn\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.4\lib\package.conf.d
2021-10-30 12:43:23.7122447 [ThreadId 23] DEBUG hls:    Session loading result: Right (ComponentOptions {componentOptions = ["-i","-odir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hidir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hide-all-packages","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build\\web","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build\\web\\autogen","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build\\global-autogen","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build\\web\\web-tmp","-stubdir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build","-IC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\include","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\lib","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\bin","-package-id=base-4.14.1.0","-package-id=nexo-0.1.0.0-CfSdBYon1u8BwHpsbWfSLy","-package-id=containers-0.6.2.1","-package-id=reflex-dom-0.6.1.0-6zDYljhNYwR1ou4PLRi8o6","-package-id=text-1.2.4.1","-package-id=shakespeare-2.0.25-A0BfXYu56TqCpnjSIEEN8a","-Wall","-optP-include","-optPC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\ghci\\26e3ba3f\\cabal_macros.h","-ghci-script=C:\\Users\\bradn\\AppData\\Local\\Temp\\haskell-stack-ghci\\73a78d0e\\ghci-script","-package-db","C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\install\\89cc576c\\pkgdb","-package-db","C:\\sr\\snapshots\\fa46375f\\pkgdb","-package-db","C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib\\package.conf.d"], componentRoot = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web", componentDependencies = ["gui\\web\\web.cabal","gui\\web\\package.yaml","stack.yaml"]},"C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib")
2021-10-30 12:43:24.0131754 [ThreadId 23] INFO hls:     Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-179ce3556a23769a5eed7f54a8fb89df094c5cb6
2021-10-30 12:43:24.0131754 [ThreadId 23] INFO hls:     Making new HscEnv[main]
2021-10-30 12:43:24.0600942 [ThreadId 23] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 5),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("gui\\web\\package.yaml",Nothing),("gui\\web\\web.cabal",Just 2021-10-20 08:40:11.2399054 UTC),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:43:24.0600942 [ThreadId 23] DEBUG hls:    Known files updated: fromList [(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"])]
2021-10-30 12:43:24.0600942 [ThreadId 10] DEBUG hls:    Finishing build session(exception: AsyncCancelled)
2021-10-30 12:43:24.0757018 [ThreadId 23] DEBUG hls:    Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-10-30 12:43:24.0757018 [ThreadId 59] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Type.hs"
2021-10-30 12:43:24.0757018 [ThreadId 56] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env\\Std.hs"
2021-10-30 12:43:24.0757018 [ThreadId 60] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Interop.hs"
2021-10-30 12:43:24.0757018 [ThreadId 61] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\Setup.hs"
2021-10-30 12:43:24.0757018 [ThreadId 59] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env.hs"
2021-10-30 12:43:24.0757018 [ThreadId 55] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Solve.hs"
2021-10-30 12:43:24.0757018 [ThreadId 56] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\counter-example\\Main.hs"
2021-10-30 12:43:24.0757018 [ThreadId 62] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"
2021-10-30 12:43:24.0757018 [ThreadId 60] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Type.hs"
2021-10-30 12:43:24.0757018 [ThreadId 61] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Interpret.hs"
2021-10-30 12:43:24.0757018 [ThreadId 57] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"
2021-10-30 12:43:24.0757018 [ThreadId 59] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Typecheck.hs"
2021-10-30 12:43:24.0913276 [ThreadId 55] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Substitute.hs"
2021-10-30 12:43:24.0913276 [ThreadId 56] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\Setup.hs"
2021-10-30 12:43:24.0913276 [ThreadId 79] INFO hls:     Consulting the cradle for "src\\Nexo\\Expr\\Parse.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:43:25.6070349 [ThreadId 83] INFO hie-bios:        Cabal file warning inC:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\web.cabal@26:8: Tabs used as indentation at 26:8, 28:8
2021-10-30 12:43:30.742927 [ThreadId 83] INFO hie-bios: Configuring GHCi with the following packages: nexo
2021-10-30 12:43:32.7197055 [ThreadId 90] INFO hie-bios:        C:\Users\bradn\Documents\Spreadsheet\nexo\.stack-work\install\89cc576c\pkgdb;C:\sr\snapshots\fa46375f\pkgdb;C:\Users\bradn\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.4\lib\package.conf.d
2021-10-30 12:43:49.5988318 [ThreadId 79] DEBUG hls:    Session loading result: Right (ComponentOptions {componentOptions = ["-i","-odir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hidir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hide-all-packages","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build\\autogen","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build\\global-autogen","-stubdir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build","-IC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\include","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\lib","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\bin","-package-id=base-4.14.1.0","-package-id=containers-0.6.2.1","-package-id=data-fix-0.3.1-EEkJSvkKaVSJsOxIFinaX2","-package-id=deriving-compat-0.5.10-HXK3itbGHpR1pL3mr5zjAL","-package-id=megaparsec-9.0.1-LsaPGsu2KTg8EMdYsBX01R","-package-id=mtl-2.2.2","-package-id=parser-combinators-1.2.1-BgKMLJR8mPH8EvrPvvjrd8","-package-id=recursion-schemes-5.2.2.1-9EDXfZbCpz5BDq449BBurS","-Wall","-optP-include","-optPC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\ghci\\69a3b7ef\\cabal_macros.h","-ghci-script=C:\\Users\\bradn\\AppData\\Local\\Temp\\haskell-stack-ghci\\03101ac4\\ghci-script","-package-db","C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\install\\89cc576c\\pkgdb","-package-db","C:\\sr\\snapshots\\fa46375f\\pkgdb","-package-db","C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib\\package.conf.d"], componentRoot = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", componentDependencies = ["nexo.cabal","package.yaml","stack.yaml"]},"C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib")
2021-10-30 12:43:49.720764 [ThreadId 79] INFO hls:      Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-4f46d3b6efe4dabce26d4dd5dd5ff5013b2f8f08
2021-10-30 12:43:49.720764 [ThreadId 79] INFO hls:      Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-4f46d3b6efe4dabce26d4dd5dd5ff5013b2f8f08
2021-10-30 12:43:49.7228094 [ThreadId 79] INFO hls:     Making new HscEnv[main,main]
2021-10-30 12:43:49.7636285 [ThreadId 79] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 7),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("nexo.cabal",Just 2021-10-18 00:03:38.514606 UTC),("package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:43:49.9463941 [ThreadId 79] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 8),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("gui\\web\\package.yaml",Nothing),("gui\\web\\web.cabal",Just 2021-10-20 08:40:11.2399054 UTC),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:43:49.987142 [ThreadId 79] DEBUG hls:     Known files updated: fromList [(TargetModule Nexo.Core.Substitute,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Substitute.hs"]),(TargetModule Nexo.Env.Std,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env\\Std.hs"]),(TargetModule Nexo.Core.Solve,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Solve.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"]),(TargetModule Nexo.Env,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env.hs"]),(TargetModule Nexo.Expr.Unit,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Unit.hs"]),(TargetModule Nexo.Expr.Parse,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"]),(TargetModule Nexo.Sheet,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Sheet.hs"]),(TargetModule Nexo.Core.Typecheck,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Typecheck.hs"]),(TargetModule Nexo.Interpret,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Interpret.hs"]),(TargetModule Nexo.Expr.Type,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Type.hs"]),(TargetModule Nexo.Core.Type,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Type.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"])]
2021-10-30 12:43:49.9972221 [ThreadId 51] DEBUG hls:    Finishing build session(exception: AsyncCancelled)
2021-10-30 12:43:49.9972221 [ThreadId 79] DEBUG hls:    Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-10-30 12:43:50.0073893 [ThreadId 115] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\list-test.hs"
2021-10-30 12:43:50.0073893 [ThreadId 117] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Type.hs"
2021-10-30 12:43:50.0073893 [ThreadId 116] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"
2021-10-30 12:43:50.0073893 [ThreadId 112] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\Setup.hs"
2021-10-30 12:43:50.0073893 [ThreadId 111] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env\\Std.hs"
2021-10-30 12:43:50.0073893 [ThreadId 114] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Sheet.hs"
2021-10-30 12:43:50.0073893 [ThreadId 110] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs"
2021-10-30 12:43:50.0073893 [ThreadId 115] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\counter-example\\Main.hs"
2021-10-30 12:43:50.0073893 [ThreadId 117] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\Setup.hs"
2021-10-30 12:43:50.0073893 [ThreadId 116] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Typecheck.hs"
2021-10-30 12:43:50.0073893 [ThreadId 112] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Solve.hs"
2021-10-30 12:43:50.0073893 [ThreadId 111] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Interpret.hs"
2021-10-30 12:43:50.0154361 [ThreadId 114] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Type.hs"
2021-10-30 12:43:50.0154361 [ThreadId 110] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env.hs"
2021-10-30 12:43:50.017478 [ThreadId 115] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Substitute.hs"
2021-10-30 12:43:50.017478 [ThreadId 117] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Unit.hs"
2021-10-30 12:43:50.017478 [ThreadId 116] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Setup.hs"
2021-10-30 12:43:50.017478 [ThreadId 112] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Interop.hs"
2021-10-30 12:43:50.017478 [ThreadId 111] DEBUG hls:    hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"
2021-10-30 12:43:50.0255905 [ThreadId 140] INFO hls:    Consulting the cradle for "test\\Main.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:43:51.4840018 [ThreadId 144] INFO hie-bios:       Cabal file warning inC:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\web.cabal@26:8: Tabs used as indentation at 26:8, 28:8
2021-10-30 12:43:53.049552 [ThreadId 144] INFO hie-bios:        Using main module: 1. Package `nexo' component nexo:test:nexo-test with main-is file: C:\Users\bradn\Documents\Spreadsheet\nexo\test\Main.hs
2021-10-30 12:43:54.5979594 [ThreadId 144] INFO hie-bios:       nexo> initial-build-steps (lib + test)
2021-10-30 12:43:55.3061303 [ThreadId 144] INFO hie-bios:       nexo> Test running disabled by --no-run-tests flag.
2021-10-30 12:43:55.3061303 [ThreadId 144] INFO hie-bios:       Completed 2 action(s).
2021-10-30 12:43:56.8038687 [ThreadId 144] INFO hie-bios:       Configuring GHCi with the following packages: nexo
2021-10-30 12:43:58.9082695 [ThreadId 151] INFO hie-bios:       C:\Users\bradn\Documents\Spreadsheet\nexo\.stack-work\install\89cc576c\pkgdb;C:\sr\snapshots\fa46375f\pkgdb;C:\Users\bradn\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.4\lib\package.conf.d
2021-10-30 12:44:15.4128288 [ThreadId 140] DEBUG hls:   Session loading result: Right (ComponentOptions {componentOptions = ["-i","-odir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hidir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hide-all-packages","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build\\nexo-test","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build\\nexo-test\\autogen","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build\\global-autogen","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build\\nexo-test\\nexo-test-tmp","-stubdir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\dist\\274b403a\\build","-IC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\include","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\lib","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\bin","-package-id=base-4.14.1.0","-package-id=nexo-0.1.0.0-CfSdBYon1u8BwHpsbWfSLy","-package-id=tasty-1.4.1-LgdbuDVX0cyJgx3RPlsYKh","-package-id=tasty-hunit-0.10.0.3-Lw3eMJfze7t23LmHQUj6iJ","-package-id=containers-0.6.2.1","-optP-include","-optPC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\ghci\\c7f68cd2\\cabal_macros.h","-ghci-script=C:\\Users\\bradn\\AppData\\Local\\Temp\\haskell-stack-ghci\\99339a3e\\ghci-script","-package-db","C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\install\\89cc576c\\pkgdb","-package-db","C:\\sr\\snapshots\\fa46375f\\pkgdb","-package-db","C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib\\package.conf.d"], componentRoot = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", componentDependencies = ["nexo.cabal","package.yaml","stack.yaml"]},"C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib")
2021-10-30 12:44:15.5130754 [ThreadId 140] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-cc333fb80cd102db32c552bf948e2645d2bda876
2021-10-30 12:44:15.5130754 [ThreadId 140] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-cc333fb80cd102db32c552bf948e2645d2bda876
2021-10-30 12:44:15.5130754 [ThreadId 140] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-cc333fb80cd102db32c552bf948e2645d2bda876
2021-10-30 12:44:15.5287195 [ThreadId 140] INFO hls:    Making new HscEnv[main,main,main]
2021-10-30 12:44:15.5664731 [ThreadId 140] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 10),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("nexo.cabal",Just 2021-10-18 00:03:38.514606 UTC),("package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:44:15.5664731 [ThreadId 140] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 11),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("nexo.cabal",Just 2021-10-18 00:03:38.514606 UTC),("package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:44:15.6824655 [ThreadId 140] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 12),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("gui\\web\\package.yaml",Nothing),("gui\\web\\web.cabal",Just 2021-10-20 08:40:11.2399054 UTC),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:44:15.7605431 [ThreadId 140] DEBUG hls:   Known files updated: fromList [(TargetModule Nexo.Core.Substitute,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Substitute.hs"]),(TargetModule Nexo.Env.Std,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env\\Std.hs"]),(TargetModule Nexo.Core.Solve,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Solve.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"]),(TargetModule Nexo.Env,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env.hs"]),(TargetModule Nexo.Expr.Unit,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Unit.hs"]),(TargetModule Nexo.Expr.Parse,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"]),(TargetModule Nexo.Sheet,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Sheet.hs"]),(TargetModule Nexo.Core.Typecheck,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Typecheck.hs"]),(TargetModule Nexo.Interpret,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Interpret.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs"]),(TargetModule Nexo.Expr.Type,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Type.hs"]),(TargetModule Nexo.Core.Type,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Type.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"])]
2021-10-30 12:44:15.7670595 [ThreadId 106] DEBUG hls:   Finishing build session(exception: AsyncCancelled)
2021-10-30 12:44:15.7670595 [ThreadId 140] DEBUG hls:   Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-10-30 12:44:15.7670595 [ThreadId 180] INFO hls:    Consulting the cradle for "Setup.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:44:15.7670595 [ThreadId 180] DEBUG hls:   Session loading result: Left [CradleError {cradleErrorDependencies = [], cradleErrorExitCode = ExitSuccess, cradleErrorStderr = ["Multi Cradle: No prefixes matched","pwd: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo","filepath: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\Setup.hs","prefixes:","(\"./src/\",Stack {component = Just \"nexo:lib\", stackYaml = Nothing})","(\"./test/\",Stack {component = Just \"nexo:test:nexo-test\", stackYaml = Nothing})","(\"./gui/interop/\",Stack {component = Just \"nexo-interop:lib\", stackYaml = Nothing})","(\"./gui/web/\",Stack {component = Just \"web:exe:web\", stackYaml = Nothing})"]}]
2021-10-30 12:44:15.7827054 [ThreadId 172] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"
2021-10-30 12:44:15.7827054 [ThreadId 172] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Interop.hs"
2021-10-30 12:44:15.7827054 [ThreadId 172] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Setup.hs"
2021-10-30 12:44:15.7827054 [ThreadId 178] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Solve.hs"
2021-10-30 12:44:15.7827054 [ThreadId 172] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\list-test.hs"
2021-10-30 12:44:15.7827054 [ThreadId 178] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Sheet.hs"
2021-10-30 12:44:15.7827054 [ThreadId 192] INFO hls:    Consulting the cradle for "list-test.hs"
2021-10-30 12:44:15.7827054 [ThreadId 172] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\Setup.hs"
2021-10-30 12:44:15.7827054 [ThreadId 178] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\Setup.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:44:15.7827054 [ThreadId 172] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Type.hs"
2021-10-30 12:44:15.7983249 [ThreadId 178] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Type.hs"
2021-10-30 12:44:15.7983249 [ThreadId 192] DEBUG hls:   Session loading result: Left [CradleError {cradleErrorDependencies = [], cradleErrorExitCode = ExitSuccess, cradleErrorStderr = ["Multi Cradle: No prefixes matched","pwd: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo","filepath: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\list-test.hs","prefixes:","(\"./src/\",Stack {component = Just \"nexo:lib\", stackYaml = Nothing})","(\"./test/\",Stack {component = Just \"nexo:test:nexo-test\", stackYaml = Nothing})","(\"./gui/interop/\",Stack {component = Just \"nexo-interop:lib\", stackYaml = Nothing})","(\"./gui/web/\",Stack {component = Just \"web:exe:web\", stackYaml = Nothing})"]}]
2021-10-30 12:44:15.7983249 [ThreadId 177] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs"
2021-10-30 12:44:15.7983249 [ThreadId 177] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"
2021-10-30 12:44:15.7983249 [ThreadId 176] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\counter-example\\Main.hs"
2021-10-30 12:44:15.7983249 [ThreadId 176] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Interpret.hs"
2021-10-30 12:44:15.7983249 [ThreadId 212] INFO hls:    Consulting the cradle for "gui\\interop\\Setup.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:44:17.207289 [ThreadId 217] INFO hie-bios:        Cabal file warning inC:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\web.cabal@26:8: Tabs used as indentation at 26:8, 28:8
2021-10-30 12:44:18.6711134 [ThreadId 217] INFO hie-bios:
2021-10-30 12:44:18.6711134 [ThreadId 217] INFO hie-bios:       Warning: File listed in gui\interop\nexo-interop.cabal file does not exist: README.md
2021-10-30 12:44:20.2618334 [ThreadId 217] INFO hie-bios:       nexo-interop> initial-build-steps (lib)
2021-10-30 12:44:22.5256826 [ThreadId 217] INFO hie-bios:
2021-10-30 12:44:22.5256826 [ThreadId 217] INFO hie-bios:       Warning: File listed in gui\interop\nexo-interop.cabal file does not exist: README.md
2021-10-30 12:44:22.5357846 [ThreadId 217] INFO hie-bios:       The following GHC options are incompatible with GHCi and have not been passed to it: -static
2021-10-30 12:44:22.5357846 [ThreadId 217] INFO hie-bios:       Configuring GHCi with the following packages: nexo-interop
2021-10-30 12:44:24.5813065 [ThreadId 224] INFO hie-bios:       C:\Users\bradn\Documents\Spreadsheet\nexo\.stack-work\install\89cc576c\pkgdb;C:\sr\snapshots\fa46375f\pkgdb;C:\Users\bradn\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.4\lib\package.conf.d
2021-10-30 12:44:39.4443377 [ThreadId 212] DEBUG hls:   Session loading result: Right (ComponentOptions {componentOptions = ["-i","-odir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hidir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hide-all-packages","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\.stack-work\\dist\\274b403a\\build","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\.stack-work\\dist\\274b403a\\build\\autogen","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\.stack-work\\dist\\274b403a\\build\\global-autogen","-stubdir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\.stack-work\\dist\\274b403a\\build","-IC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\include","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\lib","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\bin","-package-id=base-4.14.1.0","-package-id=nexo-0.1.0.0-CfSdBYon1u8BwHpsbWfSLy","-package-id=containers-0.6.2.1","-package-id=data-fix-0.3.1-EEkJSvkKaVSJsOxIFinaX2","-Wall","-stubdir","stub","-o","nexo-interop.a","-optl-static","-staticlib","-optP-include","-optPC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\ghci\\16cb89eb\\cabal_macros.h","-ghci-script=C:\\Users\\bradn\\AppData\\Local\\Temp\\haskell-stack-ghci\\0787532f\\ghci-script","-package-db","C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\install\\89cc576c\\pkgdb","-package-db","C:\\sr\\snapshots\\fa46375f\\pkgdb","-package-db","C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib\\package.conf.d"], componentRoot = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop", componentDependencies = ["gui\\interop\\nexo-interop.cabal","gui\\interop\\package.yaml","stack.yaml"]},"C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib")
2021-10-30 12:44:39.5134801 [ThreadId 212] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-896d2aad708f479fa20aeeb2e219eaa1c60318f3
2021-10-30 12:44:39.5134801 [ThreadId 212] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-896d2aad708f479fa20aeeb2e219eaa1c60318f3
2021-10-30 12:44:39.5134801 [ThreadId 212] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-896d2aad708f479fa20aeeb2e219eaa1c60318f3
2021-10-30 12:44:39.5134801 [ThreadId 212] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-896d2aad708f479fa20aeeb2e219eaa1c60318f3
2021-10-30 12:44:39.5134801 [ThreadId 212] INFO hls:    Making new HscEnv[main,main,main,main]
2021-10-30 12:44:39.544726 [ThreadId 212] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 14),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("gui\\interop\\nexo-interop.cabal",Just 2021-09-17 14:38:25.7049532 UTC),("gui\\interop\\package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:44:39.544726 [ThreadId 212] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 15),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("nexo.cabal",Just 2021-10-18 00:03:38.514606 UTC),("package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:44:39.544726 [ThreadId 212] DEBUG hls:    New Component Cache HscEnvEq: (([],Just HscEnvEq 16),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("nexo.cabal",Just 2021-10-18 00:03:38.514606 UTC),("package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:44:39.6293325 [ThreadId 212] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 17),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("gui\\web\\package.yaml",Nothing),("gui\\web\\web.cabal",Just 2021-10-20 08:40:11.2399054 UTC),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:44:39.6449707 [ThreadId 212] DEBUG hls:   Known files updated: fromList [(TargetModule Nexo.Core.Substitute,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Substitute.hs"]),(TargetModule Nexo.Env.Std,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env\\Std.hs"]),(TargetModule Nexo.Core.Solve,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Solve.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"]),(TargetModule Nexo.Env,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env.hs"]),(TargetModule Nexo.Expr.Unit,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Unit.hs"]),(TargetModule Nexo.Expr.Parse,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"]),(TargetModule Interop,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Interop.hs"]),(TargetModule Nexo.Sheet,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Sheet.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Setup.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Setup.hs"]),(TargetModule Nexo.Core.Typecheck,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Typecheck.hs"]),(TargetModule Nexo.Interpret,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Interpret.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs"]),(TargetModule Nexo.Expr.Type,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Type.hs"]),(TargetModule Nexo.Core.Type,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Type.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"])]
2021-10-30 12:44:39.6449707 [ThreadId 168] DEBUG hls:   Finishing build session(exception: AsyncCancelled)
2021-10-30 12:44:39.6449707 [ThreadId 212] DEBUG hls:   Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-10-30 12:44:39.6605851 [ThreadId 248] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\counter-example\\Main.hs"
2021-10-30 12:44:39.6605851 [ThreadId 251] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\Setup.hs"
2021-10-30 12:44:39.6605851 [ThreadId 245] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Setup.hs"
2021-10-30 12:44:39.6605851 [ThreadId 246] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\list-test.hs"
2021-10-30 12:44:39.6605851 [ThreadId 244] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"
2021-10-30 12:44:39.6605851 [ThreadId 252] INFO hls:    Consulting the cradle for "Setup.hs"
2021-10-30 12:44:39.6605851 [ThreadId 244] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\Setup.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:44:39.6605851 [ThreadId 252] DEBUG hls:   Session loading result: Left [CradleError {cradleErrorDependencies = [], cradleErrorExitCode = ExitSuccess, cradleErrorStderr = ["Multi Cradle: No prefixes matched","pwd: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo","filepath: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\Setup.hs","prefixes:","(\"./src/\",Stack {component = Just \"nexo:lib\", stackYaml = Nothing})","(\"./test/\",Stack {component = Just \"nexo:test:nexo-test\", stackYaml = Nothing})","(\"./gui/interop/\",Stack {component = Just \"nexo-interop:lib\", stackYaml = Nothing})","(\"./gui/web/\",Stack {component = Just \"web:exe:web\", stackYaml = Nothing})"]}]
2021-10-30 12:44:39.6761888 [ThreadId 253] INFO hls:    Consulting the cradle for "gui\\web\\Setup.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:44:40.9610226 [ThreadId 257] INFO hie-bios:       Cabal file warning inC:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\web.cabal@26:8: Tabs used as indentation at 26:8, 28:8
2021-10-30 12:44:42.2640885 [ThreadId 257] INFO hie-bios:       Using main module: 1. Package `web' component web:exe:web with main-is file: C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs
2021-10-30 12:44:43.6582855 [ThreadId 257] INFO hie-bios:       web> initial-build-steps (exe)
2021-10-30 12:44:45.6860988 [ThreadId 257] INFO hie-bios:       Configuring GHCi with the following packages: web
2021-10-30 12:44:47.5820357 [ThreadId 264] INFO hie-bios:       C:\Users\bradn\Documents\Spreadsheet\nexo\.stack-work\install\89cc576c\pkgdb;C:\sr\snapshots\fa46375f\pkgdb;C:\Users\bradn\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.4\lib\package.conf.d
2021-10-30 12:45:02.2414929 [ThreadId 253] DEBUG hls:   Session loading result: Right (ComponentOptions {componentOptions = ["-i","-odir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hidir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\odir","-hide-all-packages","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build\\web","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build\\web\\autogen","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build\\global-autogen","-iC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build\\web\\web-tmp","-stubdir=C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\.stack-work\\dist\\274b403a\\build","-IC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\include","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\lib","-LC:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\msys2-20150512\\mingw64\\bin","-package-id=base-4.14.1.0","-package-id=nexo-0.1.0.0-CfSdBYon1u8BwHpsbWfSLy","-package-id=containers-0.6.2.1","-package-id=reflex-dom-0.6.1.0-6zDYljhNYwR1ou4PLRi8o6","-package-id=text-1.2.4.1","-package-id=shakespeare-2.0.25-A0BfXYu56TqCpnjSIEEN8a","-Wall","-optP-include","-optPC:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\ghci\\26e3ba3f\\cabal_macros.h","-ghci-script=C:\\Users\\bradn\\AppData\\Local\\Temp\\haskell-stack-ghci\\73a78d0e\\ghci-script","-package-db","C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\.stack-work\\install\\89cc576c\\pkgdb","-package-db","C:\\sr\\snapshots\\fa46375f\\pkgdb","-package-db","C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib\\package.conf.d"], componentRoot = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web", componentDependencies = ["gui\\web\\web.cabal","gui\\web\\package.yaml","stack.yaml"]},"C:\\Users\\bradn\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.4\\lib")
2021-10-30 12:45:02.3040659 [ThreadId 253] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-179ce3556a23769a5eed7f54a8fb89df094c5cb6
2021-10-30 12:45:02.3040659 [ThreadId 253] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-179ce3556a23769a5eed7f54a8fb89df094c5cb6
2021-10-30 12:45:02.3040659 [ThreadId 253] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-179ce3556a23769a5eed7f54a8fb89df094c5cb6
2021-10-30 12:45:02.3040659 [ThreadId 253] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-179ce3556a23769a5eed7f54a8fb89df094c5cb6
2021-10-30 12:45:02.3040659 [ThreadId 253] INFO hls:    Using interface files cache dir: C:\Users\bradn\AppData\Local\ghcide\main-179ce3556a23769a5eed7f54a8fb89df094c5cb6
2021-10-30 12:45:02.3040659 [ThreadId 253] INFO hls:    Making new HscEnv[main,main,main,main,main]
2021-10-30 12:45:02.3352996 [ThreadId 253] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 19),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("gui\\web\\package.yaml",Nothing),("gui\\web\\web.cabal",Just 2021-10-20 08:40:11.2399054 UTC),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:45:02.3352996 [ThreadId 253] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 20),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("gui\\interop\\nexo-interop.cabal",Just 2021-09-17 14:38:25.7049532 UTC),("gui\\interop\\package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:45:02.3418141 [ThreadId 253] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 21),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("nexo.cabal",Just 2021-10-18 00:03:38.514606 UTC),("package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:45:02.3418141 [ThreadId 253] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 22),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("nexo.cabal",Just 2021-10-18 00:03:38.514606 UTC),("package.yaml",Nothing),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:45:02.4421475 [ThreadId 253] DEBUG hls:   New Component Cache HscEnvEq: (([],Just HscEnvEq 23),fromList [("C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",Just 2021-10-29 10:07:21.8797915 UTC),("gui\\web\\package.yaml",Nothing),("gui\\web\\web.cabal",Just 2021-10-20 08:40:11.2399054 UTC),("stack.yaml",Just 2021-10-17 23:36:53.6224988 UTC)])
2021-10-30 12:45:02.4578261 [ThreadId 253] DEBUG hls:   Known files updated: fromList [(TargetModule Nexo.Core.Substitute,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Substitute.hs"]),(TargetModule Nexo.Env.Std,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env\\Std.hs"]),(TargetModule Nexo.Core.Solve,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Solve.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"]),(TargetModule Nexo.Env,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env.hs"]),(TargetModule Nexo.Expr.Unit,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Unit.hs"]),(TargetModule Nexo.Expr.Parse,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"]),(TargetModule Interop,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Interop.hs"]),(TargetModule Nexo.Sheet,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Sheet.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Setup.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Setup.hs"]),(TargetModule Nexo.Core.Typecheck,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Typecheck.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\Setup.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\Setup.hs"]),(TargetModule Nexo.Interpret,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Interpret.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs"]),(TargetModule Nexo.Expr.Type,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Type.hs"]),(TargetModule Nexo.Core.Type,fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Type.hs"]),(TargetFile NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs",fromList ["C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"])]
2021-10-30 12:45:02.4578261 [ThreadId 240] DEBUG hls:   Finishing build session(exception: AsyncCancelled)
2021-10-30 12:45:02.4578261 [ThreadId 253] DEBUG hls:   Restarting build session for keys [GhcSessionIO; ] (aborting the previous one took 0.00s)
2021-10-30 12:45:02.4734837 [ThreadId 291] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\Setup.hs"
2021-10-30 12:45:02.4734837 [ThreadId 288] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Parse.hs"
2021-10-30 12:45:02.4734837 [ThreadId 290] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env\\Std.hs"
2021-10-30 12:45:02.4734837 [ThreadId 285] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Sheet.hs"
2021-10-30 12:45:02.4734837 [ThreadId 286] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\test\\Main.hs"
2021-10-30 12:45:02.4734837 [ThreadId 292] INFO hls:    Consulting the cradle for "list-test.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:45:02.4890577 [ThreadId 292] DEBUG hls:   Session loading result: Left [CradleError {cradleErrorDependencies = [], cradleErrorExitCode = ExitSuccess, cradleErrorStderr = ["Multi Cradle: No prefixes matched","pwd: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo","filepath: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\list-test.hs","prefixes:","(\"./src/\",Stack {component = Just \"nexo:lib\", stackYaml = Nothing})","(\"./test/\",Stack {component = Just \"nexo:test:nexo-test\", stackYaml = Nothing})","(\"./gui/interop/\",Stack {component = Just \"nexo-interop:lib\", stackYaml = Nothing})","(\"./gui/web/\",Stack {component = Just \"web:exe:web\", stackYaml = Nothing})"]}]
2021-10-30 12:45:02.4890577 [ThreadId 293] INFO hls:    Consulting the cradle for "counter-example\\Main.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:45:02.4890577 [ThreadId 293] DEBUG hls:   Session loading result: Left [CradleError {cradleErrorDependencies = [], cradleErrorExitCode = ExitSuccess, cradleErrorStderr = ["Multi Cradle: No prefixes matched","pwd: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo","filepath: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\counter-example\\Main.hs","prefixes:","(\"./src/\",Stack {component = Just \"nexo:lib\", stackYaml = Nothing})","(\"./test/\",Stack {component = Just \"nexo:test:nexo-test\", stackYaml = Nothing})","(\"./gui/interop/\",Stack {component = Just \"nexo-interop:lib\", stackYaml = Nothing})","(\"./gui/web/\",Stack {component = Just \"web:exe:web\", stackYaml = Nothing})"]}]
2021-10-30 12:45:02.4890577 [ThreadId 291] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\counter-example\\Main.hs"
2021-10-30 12:45:02.4890577 [ThreadId 296] INFO hls:    Consulting the cradle for "Setup.hs"
Output from setting up the cradle Cradle {cradleRootDir = "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo", cradleOptsProg = CradleAction: Stack}
2021-10-30 12:45:02.4890577 [ThreadId 296] DEBUG hls:   Session loading result: Left [CradleError {cradleErrorDependencies = [], cradleErrorExitCode = ExitSuccess, cradleErrorStderr = ["Multi Cradle: No prefixes matched","pwd: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo","filepath: C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\Setup.hs","prefixes:","(\"./src/\",Stack {component = Just \"nexo:lib\", stackYaml = Nothing})","(\"./test/\",Stack {component = Just \"nexo:test:nexo-test\", stackYaml = Nothing})","(\"./gui/interop/\",Stack {component = Just \"nexo-interop:lib\", stackYaml = Nothing})","(\"./gui/web/\",Stack {component = Just \"web:exe:web\", stackYaml = Nothing})"]}]
2021-10-30 12:45:02.4890577 [ThreadId 290] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Type.hs"
2021-10-30 12:45:02.4890577 [ThreadId 285] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Unit.hs"
2021-10-30 12:45:02.4890577 [ThreadId 285] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs"
2021-10-30 12:45:02.4890577 [ThreadId 285] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Substitute.hs"
2021-10-30 12:45:02.5046731 [ThreadId 286] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Setup.hs"
2021-10-30 12:45:02.5046731 [ThreadId 289] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Interpret.hs"
2021-10-30 12:45:02.5046731 [ThreadId 291] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Expr\\Type.hs"
2021-10-30 12:45:02.5046731 [ThreadId 289] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Env.hs"
2021-10-30 12:45:02.5046731 [ThreadId 289] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Solve.hs"
2021-10-30 12:45:02.5046731 [ThreadId 289] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\list-test.hs"
2021-10-30 12:45:02.5046731 [ThreadId 285] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\Setup.hs"
2021-10-30 12:45:02.5046731 [ThreadId 285] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\src\\Nexo\\Core\\Typecheck.hs"
2021-10-30 12:45:02.5046731 [ThreadId 284] DEBUG hls:   hlint:getIdeas:file:NormalizedFilePath "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\interop\\Interop.hs"
2021-10-30 12:45:02.5202993 [ThreadId 291] INFO hls:    File:     C:\Users\bradn\Documents\Spreadsheet\nexo\counter-example\Main.hs
Hidden:   no
Range:    1:1-2:1
Source:   cradle
Severity: DsError
Message:
  Multi Cradle: No prefixes matched
  pwd: C:\Users\bradn\Documents\Spreadsheet\nexo
  filepath: C:\Users\bradn\Documents\Spreadsheet\nexo\counter-example\Main.hs
  prefixes:
  ("./src/",Stack {component = Just "nexo:lib", stackYaml = Nothing})
  ("./test/",Stack {component = Just "nexo:test:nexo-test", stackYaml = Nothing})
  ("./gui/interop/",Stack {component = Just "nexo-interop:lib", stackYaml = Nothing})
  ("./gui/web/",Stack {component = Just "web:exe:web", stackYaml = Nothing})
2021-10-30 12:45:02.5202993 [ThreadId 338] INFO hls:    File:     C:\Users\bradn\Documents\Spreadsheet\nexo\Setup.hs
Hidden:   no
Range:    1:1-2:1
Source:   cradle
Severity: DsError
Message:
  Multi Cradle: No prefixes matched
  pwd: C:\Users\bradn\Documents\Spreadsheet\nexo
  filepath: C:\Users\bradn\Documents\Spreadsheet\nexo\Setup.hs
  prefixes:
  ("./src/",Stack {component = Just "nexo:lib", stackYaml = Nothing})
  ("./test/",Stack {component = Just "nexo:test:nexo-test", stackYaml = Nothing})
  ("./gui/interop/",Stack {component = Just "nexo-interop:lib", stackYaml = Nothing})
  ("./gui/web/",Stack {component = Just "web:exe:web", stackYaml = Nothing})
2021-10-30 12:45:02.5202993 [ThreadId 336] INFO hls:    File:     C:\Users\bradn\Documents\Spreadsheet\nexo\list-test.hs
Hidden:   no
Range:    1:1-2:1
Source:   cradle
Severity: DsError
Message:
  Multi Cradle: No prefixes matched
  pwd: C:\Users\bradn\Documents\Spreadsheet\nexo
  filepath: C:\Users\bradn\Documents\Spreadsheet\nexo\list-test.hs
  prefixes:
  ("./src/",Stack {component = Just "nexo:lib", stackYaml = Nothing})
  ("./test/",Stack {component = Just "nexo:test:nexo-test", stackYaml = Nothing})
  ("./gui/interop/",Stack {component = Just "nexo-interop:lib", stackYaml = Nothing})
  ("./gui/web/",Stack {component = Just "web:exe:web", stackYaml = Nothing})
2021-10-30 12:45:02.8211494 [ThreadId 291] INFO hls:    File:     C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs
Hidden:   no
Range:    80:24-80:81
Source:   hlint
Severity: DsInfo
Message:
  Use maybe
  Found:
  fromMaybe "" $ display . cellValue <$> Map.lookup ident s
  Why not:
  maybe "" (display . cellValue) (Map.lookup ident s)
2021-10-30 12:45:03.5297941 [ThreadId 291] INFO hls:    File:     C:\Users\bradn\Documents\Spreadsheet\nexo\gui\interop\Setup.hs
Hidden:   no
Range:    1:8-1:27
Source:   not found
Severity: DsError
Message:
  Could not load module ‘Distribution.Simple’
  It is a member of the hidden package ‘Cabal-3.2.1.0’.
  You can run ‘:set -package Cabal’ to expose it.
  (Note: this unloads all the modules in the current scope.)
2021-10-30 12:45:03.6597532 [ThreadId 291] INFO hls:    File:     C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\Setup.hs
Hidden:   no
Range:    1:8-1:27
Source:   not found
Severity: DsError
Message:
  Could not load module ‘Distribution.Simple’
  It is a member of the hidden package ‘Cabal-3.2.1.0’.
  You can run ‘:set -package Cabal’ to expose it.
  (Note: this unloads all the modules in the current scope.)
2021-10-30 12:45:04.9684968 [ThreadId 576] INFO hls:    File:     C:\Users\bradn\Documents\Spreadsheet\nexo\src\Nexo\Expr\Type.hs
Hidden:   no
Range:    14:1-14:31
Source:   typecheck
Severity: DsWarning
Message:
  The import of ‘Data.List’ is redundant
  except perhaps to import instances from ‘Data.List’
  To import instances alone, use: import Data.List()
2021-10-30 12:45:05.4386912 [ThreadId 656] INFO hls:    File:     C:\Users\bradn\Documents\Spreadsheet\nexo\src\Nexo\Core\Typecheck.hs
Hidden:   no
Range:    10:1-10:38
Source:   typecheck
Severity: DsWarning
Message:
  The import of ‘Control.Monad.Fail’ is redundant
  except perhaps to import instances from ‘Control.Monad.Fail’
  To import instances alone, use: import Control.Monad.Fail()
2021-10-30 12:45:05.516847 [ThreadId 338] INFO hls:     File:     C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs
Hidden:   no
Range:    80:24-80:81
Source:   hlint
Severity: DsInfo
Message:
  Use maybe
  Found:
  fromMaybe "" $ display . cellValue <$> Map.lookup ident s
  Why not:
  maybe "" (display . cellValue) (Map.lookup ident s)
File:     C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs
Hidden:   no
Range:    10:1-10:36
Source:   typecheck
Severity: DsWarning
Message:
  The import of ‘Control.Applicative’ is redundant
  except perhaps to import instances from ‘Control.Applicative’
  To import instances alone, use: import Control.Applicative()
File:     C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs
Hidden:   no
Range:    72:5-72:11
Source:   typecheck
Severity: DsWarning
Message:  Defined but not used: ‘idsDyn’
File:     C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs
Hidden:   no
Range:    84:54-84:55
Source:   typecheck
Severity: DsError
Message:
  • Found hole:
  _ :: Map.Map Int (Event t Cell) -> Dynamic t (Event t a)
  Where: ‘a’ is a rigid type variable bound by
  the inferred type of cellsEv :: Event t a
  at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:84:13-70
  ‘t’ is a rigid type variable bound by
  the type signature for:
  sheet :: forall t (m :: * -> *).
  (DomBuilder t m, MonadHold t m, MonadFix m, PostBuild t m,
  Reflex t) =>
  m ()
  at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:(62,1)-(68,13)
  • In the expression: _
  In the expression: _ $ updated <$> m
  In the second argument of ‘(>>=)’, namely
  ‘\ m -> _ $ updated <$> m’
  • Relevant bindings include
  m :: Map.Map Int (Dynamic t Cell)
  (bound at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:84:49)
  cellsEv :: Event t a
  (bound at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:84:13)
  cellsDyn :: Dynamic t (Map.Map Int (Dynamic t Cell))
  (bound at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:82:9)
  getCellValue :: Int -> Dynamic t Text
  (bound at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:79:13)
  sheetDyn :: Dynamic t Sheet
  (bound at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:85:9)
  cellsCurIx :: Dynamic t Int
  (bound at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:74:5)
  sheet :: m ()
  (bound at C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:69:1)
  (Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)
  Constraints include
  DomBuilder
  t
  m (from C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:(62,1)-(68,13))
  MonadHold
  t
  m (from C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:(62,1)-(68,13))
  MonadFix
  m (from C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:(62,1)-(68,13))
  PostBuild
  t
  m (from C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:(62,1)-(68,13))
  Reflex
  t (from C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\src\Main.hs:(62,1)-(68,13))
2021-10-30 12:45:05.5702487 [ThreadId 685] INFO hls:    finish: User TypeCheck (took 3.11s)
2021-10-30 12:45:05.601527 [ThreadId 695] INFO hls:     finish: GetHie (took 0.03s)
Files that failed:
2021-10-30 12:45:05.6171219 [ThreadId 699] INFO hls:    finish: GenerateCore (took 0.01s)
 * C:\Users\bradn\Documents\Spreadsheet\nexo\Setup.hs
 * C:\Users\bradn\Documents\Spreadsheet\nexo\list-test.hs
 * C:\Users\bradn\Documents\Spreadsheet\nexo\counter-example\Main.hs
 * C:\Users\bradn\Documents\Spreadsheet\nexo\gui\interop\Setup.hs
 * C:\Users\bradn\Documents\Spreadsheet\nexo\gui\web\Setup.hs

Completed (14 files worked, 5 files failed)
haskell-language-server-wrapper.exe: callProcess: C:\Users\bradn\Documents\Haskell\hls\haskell-language-server-8.10.4.exe "--debug" (exit 5): failed
LSP logs:
[Trace - 01:05:53 PM] Received response 'initialize - (1)' in 456ms.
Result: {
  "capabilities": {
    "codeActionProvider": true,
    "workspaceSymbolProvider": true,
    "textDocumentSync": {
      "openClose": true,
      "change": 2,
      "save": {
      }
    },
    "codeLensProvider": {
      "workDoneProgress": null,
      "resolveProvider": null
    },
    "documentSymbolProvider": true,
    "selectionRangeProvider": null,
    "documentFormattingProvider": true,
    "referencesProvider": true,
    "definitionProvider": true,
    "callHierarchyProvider": true,
    "workspace": {
      "workspaceFolders": {
        "changeNotifications": true,
        "supported": true
      }
    },
    "completionProvider": {
      "triggerCharacters": [
        "."
      ],
      "resolveProvider": null
    },
    "implementationProvider": null,
    "semanticTokensProvider": {
      "legend": {
        "tokenTypes": [
          "type",
          "class",
          "enum",
          "interface",
          "struct",
          "typeParameter",
          "parameter",
          "variable",
          "property",
          "enumMember",
          "event",
          "function",
          "method",
          "macro",
          "keyword",
          "modifier",
          "comment",
          "string",
          "number",
          "regexp",
          "operator"
        ],
        "tokenModifiers": [
          "declaration",
          "definition",
          "readonly",
          "static",
          "deprecated",
          "abstract",
          "async",
          "modification",
          "documentation",
          "defaultLibrary"
        ]
      }
    },
    "documentRangeFormattingProvider": true,
    "documentHighlightProvider": true,
    "declarationProvider": null,
    "renameProvider": null,
    "executeCommandProvider": {
      "commands": [
        "6772:tactics:wingman.emptyCase",
        "6772:tactics:tacticsAutoCommand",
        "6772:tactics:tacticsIntrosCommand",
        "6772:tactics:tacticsIntroAndDestructCommand",
        "6772:tactics:tacticsDestructCommand",
        "6772:tactics:tacticsDestructPunCommand",
        "6772:tactics:tacticsHomomorphismCommand",
        "6772:tactics:tacticsDestructLambdaCaseCommand",
        "6772:tactics:tacticsHomomorphismLambdaCaseCommand",
        "6772:tactics:tacticsDestructAllCommand",
        "6772:tactics:tacticsUseDataConCommand",
        "6772:tactics:tacticsRefineCommand",
        "6772:tactics:tacticsBeginMetaprogramCommand",
        "6772:tactics:tacticsRunMetaprogramCommand",
        "6772:retrie:retrieCommand",
        "6772:class:addMinimalMethodPlaceholders",
        "6772:eval:evalCommand",
        "6772:importLens:ImportLensCommand",
        "6772:refineImports:RefineImportLensCommand",
        "6772:moduleName:updateModuleName",
        "6772:hlint:applyOne",
        "6772:hlint:applyAll",
        "6772:splice:expandTHSpliceInplace",
        "6772:ghcide-completions:extendImport",
        "6772:ghcide-type-lenses:typesignature.add"
      ]
    },
    "typeDefinitionProvider": true,
    "colorProvider": null,
    "hoverProvider": true,
    "foldingRangeProvider": null
  }
}


[Trace - 01:05:53 PM] Sending notification 'initialized'.
Params: {
}


[Trace - 01:05:53 PM] Sending notification 'workspace/didChangeConfiguration'.
Params: {
  "settings": {
    "haskell": {
      "plugin": {
        "hlint": {
          "globalOn": true
        },
        "moduleName": {
          "globalOn": true
        },
        "importLens": {
          "globalOn": true
        },
        "eval": {
          "globalOn": true
        },
        "retrie": {
          "globalOn": true
        },
        "tactic": {
          "globalOn": true
        },
        "brittany": {
          "globalOn": true
        },
        "stylish-haskell": {
          "globalOn": true
        },
        "ormolu": {
          "globalOn": true
        },
        "fourmolu": {
          "globalOn": true
        },
        "floskell": {
          "globalOn": true
        },
        "pragmas": {
          "globalOn": true
        },
        "ghcide": {
          "globalOn": true
        }
      },
      "hlintOn": true,
      "maxNumberOfProblems": 100,
      "diagnosticsOnChange": true,
      "liquidOn": false,
      "completionSnippetsOn": true,
      "formatOnImportOn": true,
      "formattingProvider": "ormolu"
    }
  }
}


[Trace - 01:05:53 PM] Sending notification 'textDocument/didOpen'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs",
    "languageId": "haskell",
    "version": 0,
    "text": "{-# LANGUAGE OverloadedStrings   #-}\n{-# LANGUAGE QuasiQuotes         #-}\n{-# LANGUAGE RecordWildCards     #-}\n{-# LANGUAGE RecursiveDo         #-}\n{-# LANGUAGE ScopedTypeVariables #-}\n{-# LANGUAGE TupleSections       #-}\n{-# LANGUAGE TypeApplications    #-}\nmodule Main where\n\nimport Control.Applicative (liftA2)\nimport Control.Monad.Fix (MonadFix)\nimport Data.String (IsString(fromString))\nimport Data.Text (Text, pack, unpack)\nimport Text.Lucius (renderCss, lucius)\n\nimport qualified Data.Map.Strict as Map\nimport qualified Data.Text.Lazy as TL\n\nimport Nexo.Expr.Parse\nimport Nexo.Expr.Type\nimport Nexo.Sheet\n\nimport Reflex.Dom hiding (display)\nimport Data.Maybe (fromMaybe)\n\ncell ::\n    ( DomBuilder t m\n    , MonadHold t m\n    , PostBuild t m\n    )\n    => Dynamic t Text\n    -> m (Dynamic t Cell)\ncell valueDyn = elClass \"form\" \"cell\" $ do\n    label \"Name\"\n    iName <- inputElement def\n    br\n    label \"Type\"\n    iType <- inputElement def\n    br\n    label \"Expr\"\n    iExpr <- inputElement def\n    br\n    label \"Value\"\n    dynText valueDyn\n\n    let nameEv = _inputElement_input iName\n        typeEv = _inputElement_input iType\n        exprEv = _inputElement_input iExpr\n\n    let typeParsedEv = parseMaybe pPType . unpack <$> typeEv\n        exprParsedEv = mapMaybe (parseMaybe pExpr . unpack) exprEv\n\n    nameDyn <- holdDyn \"\" nameEv\n    typeDyn <- holdDyn Nothing typeParsedEv\n    exprDyn <- holdDyn zeroExpr exprParsedEv\n\n    return $ Cell <$> (unpack <$> nameDyn) <*> typeDyn <*> exprDyn <*> pure Invalidated\n  where\n    label = el \"label\" . text\n    br = el \"br\" blank\n\nsheet :: forall t m.\n    ( DomBuilder t m\n    , MonadHold t m\n    , MonadFix m\n    , PostBuild t m\n    , Reflex t\n    ) => m ()\nsheet = do\n    addEv <- button \"Add\"\n    el \"br\" blank\n    idsDyn <- updated @_ @Int <$> count addEv\n\n    cellsCurIx <- count addEv\n\n    rec\n        let -- partial: assumes the identifier is valid\n            getCellValue :: Int -> Dynamic t Text\n            getCellValue ident = ffor sheetDyn $ \\(Sheet s) ->\n                pack $ fromMaybe \"\" $ display . cellValue <$> Map.lookup ident s\n\n        cellsDyn <- listHoldWithKey Map.empty (mkDiff <$> updated cellsCurIx) $\n            \\i _ -> cell (getCellValue i)\n        let cellsEv = switchDyn $ cellsDyn >>= \\m -> _ $ updated <$> m\n        sheetDyn <- foldDyn (\\v -> evalSheet . uncurry insert v) (Sheet Map.empty) cellsEv\n    blank\n  where\n    mkDiff :: Int -> Map.Map Int (Maybe ())\n    mkDiff = flip Map.singleton (Just ())\n\nstyle :: IsString s => s\nstyle = fromString $ TL.unpack $ renderCss $ ($ undefined) [lucius|\n.cell {\n    display: inline-block;\n    border: 1px solid;\n}\n|]\n\nmain :: IO ()\nmain = mainWidgetWithCss style sheet\n"
  }
}


[Trace - 01:05:53 PM] Sending request 'textDocument/documentSymbol - (2)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  }
}


[Trace - 01:05:53 PM] Sending request 'textDocument/codeAction - (3)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 16,
      "character": 0
    },
    "end": {
      "line": 16,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:53 PM] Sending request 'textDocument/documentHighlight - (4)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 16,
    "character": 0
  }
}


[Trace - 01:05:53 PM] Sending request 'textDocument/documentSymbol - (5)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  }
}


[Trace - 01:05:53 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 3
}


[Trace - 01:05:53 PM] Sending request 'textDocument/codeAction - (6)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 16,
      "character": 0
    },
    "end": {
      "line": 16,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:53 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 4
}


[Trace - 01:05:53 PM] Sending request 'textDocument/documentHighlight - (7)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 16,
    "character": 0
  }
}


[Trace - 01:05:53 PM] Received request 'client/registerCapability - (0).
Params: {
  "registrations": [
    {
      "registerOptions": {
        "watchers": [
          {
            "globPattern": "**/*.hs",
            "kind": 7
          },
          {
            "globPattern": "**/*.hs-boot",
            "kind": 7
          },
          {
            "globPattern": "**/*.lhs",
            "kind": 7
          },
          {
            "globPattern": "**/*.lhs-boot",
            "kind": 7
          }
        ]
      },
      "method": "workspace/didChangeWatchedFiles",
      "id": "globalFileWatches"
    }
  ]
}


[Trace - 01:05:53 PM] Sending response 'client/registerCapability - (0)'. Processing request took 59ms
Params: {
  "jsonrpc": "2.0",
  "id": 0,
  "result": null
}


[Trace - 01:05:53 PM] Received request 'window/workDoneProgress/create - (1).
Params: {
  "token": 0
}


[Trace - 01:05:53 PM] Sending response 'window/workDoneProgress/create - (1)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 1,
  "result": null
}


[Trace - 01:05:53 PM] Received notification '$/progress'.
Params: {
  "token": 0,
  "value": {
    "cancellable": null,
    "kind": "begin",
    "title": "Setting up nexo (for gui\\web\\src\\Main.hs)"
  }
}


[Trace - 01:05:53 PM] Received request 'window/workDoneProgress/create - (2).
Params: {
  "token": "6"
}


[Trace - 01:05:53 PM] Sending response 'window/workDoneProgress/create - (2)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 2,
  "result": null
}


[Trace - 01:05:53 PM] Received response 'textDocument/documentHighlight - (7)' in 177ms.
Result: []


[Trace - 01:05:53 PM] Received response 'nil - (4)' in 0ms.
Result: []


[Trace - 01:05:53 PM] Received notification '$/progress'.
Params: {
  "token": "6",
  "value": {
    "kind": "begin",
    "title": "Processing"
  }
}


[Trace - 01:05:54 PM] Received notification '$/progress'.
Params: {
  "token": "6",
  "value": {
    "kind": "report",
    "message": "1/2"
  }
}


[Trace - 01:05:55 PM] Sending request 'textDocument/codeAction - (8)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 16,
      "character": 0
    },
    "end": {
      "line": 16,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:56 PM] Sending request 'textDocument/documentSymbol - (9)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  }
}


[Trace - 01:05:56 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 6
}


[Trace - 01:05:56 PM] Sending request 'textDocument/codeAction - (10)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 16,
      "character": 0
    },
    "end": {
      "line": 16,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:56 PM] Sending request 'textDocument/documentHighlight - (11)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 16,
    "character": 0
  }
}


[Trace - 01:05:56 PM] Received response 'textDocument/documentHighlight - (11)' in 16ms.
Result: []


[Trace - 01:05:56 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 8
}


[Trace - 01:05:56 PM] Sending request 'textDocument/codeAction - (12)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 16,
      "character": 0
    },
    "end": {
      "line": 16,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:56 PM] Sending request 'textDocument/hover - (13)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 16,
    "character": 0
  }
}


[Trace - 01:05:56 PM] Sending request 'textDocument/documentSymbol - (14)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  }
}


[Trace - 01:05:56 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 10
}


[Trace - 01:05:56 PM] Sending request 'textDocument/codeAction - (15)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 16,
      "character": 0
    },
    "end": {
      "line": 16,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:56 PM] Sending request 'textDocument/documentHighlight - (16)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 16,
    "character": 0
  }
}


[Trace - 01:05:56 PM] Received response 'textDocument/documentHighlight - (16)' in 12ms.
Result: []


[Trace - 01:05:57 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 12
}


[Trace - 01:05:57 PM] Sending request 'textDocument/codeAction - (17)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 100,
      "character": 0
    },
    "end": {
      "line": 100,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:57 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 17
}


[Trace - 01:05:57 PM] Sending request 'textDocument/codeAction - (18)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 99,
      "character": 0
    },
    "end": {
      "line": 99,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:57 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 13
}


[Trace - 01:05:57 PM] Sending request 'textDocument/hover - (19)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 99,
    "character": 0
  }
}


[Trace - 01:05:58 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 18
}


[Trace - 01:05:58 PM] Sending request 'textDocument/codeAction - (20)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:58 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 19
}


[Trace - 01:05:58 PM] Sending request 'textDocument/hover - (21)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 89,
    "character": 0
  }
}


[Trace - 01:05:58 PM] Sending request 'textDocument/documentSymbol - (22)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  }
}


[Trace - 01:05:58 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 15
}


[Trace - 01:05:58 PM] Sending request 'textDocument/codeAction - (23)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:59 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 20
}


[Trace - 01:05:59 PM] Sending request 'textDocument/codeAction - (24)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:05:59 PM] Sending request 'textDocument/documentSymbol - (25)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  }
}


[Trace - 01:05:59 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 23
}


[Trace - 01:05:59 PM] Sending request 'textDocument/codeAction - (26)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:06:01 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 24
}


[Trace - 01:06:01 PM] Sending request 'textDocument/codeAction - (27)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:06:02 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 27
}


[Trace - 01:06:02 PM] Sending request 'textDocument/codeAction - (28)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:06:02 PM] Sending request 'textDocument/documentSymbol - (29)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  }
}


[Trace - 01:06:02 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 26
}


[Trace - 01:06:02 PM] Sending request 'textDocument/codeAction - (30)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:06:16 PM] Received notification '$/progress'.
Params: {
  "token": 0,
  "value": {
    "kind": "end"
  }
}


[Trace - 01:06:16 PM] Received notification '$/progress'.
Params: {
  "token": "6",
  "value": {
    "kind": "end"
  }
}


[Trace - 01:06:16 PM] Received request 'client/registerCapability - (3).
Params: {
  "registrations": [
    {
      "registerOptions": {
        "watchers": [
          {
            "globPattern": "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\hie.yaml",
            "kind": 7
          }
        ]
      },
      "method": "workspace/didChangeWatchedFiles",
      "id": "globalFileWatches"
    }
  ]
}


[Trace - 01:06:16 PM] Sending response 'client/registerCapability - (3)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 3,
  "result": null
}


[Trace - 01:06:16 PM] Received request 'client/registerCapability - (4).
Params: {
  "registrations": [
    {
      "registerOptions": {
        "watchers": [
          {
            "globPattern": "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\web.cabal",
            "kind": 7
          }
        ]
      },
      "method": "workspace/didChangeWatchedFiles",
      "id": "globalFileWatches"
    }
  ]
}


[Trace - 01:06:16 PM] Sending response 'client/registerCapability - (4)'. Processing request took 1ms
Params: {
  "jsonrpc": "2.0",
  "id": 4,
  "result": null
}


[Trace - 01:06:16 PM] Received request 'client/registerCapability - (5).
Params: {
  "registrations": [
    {
      "registerOptions": {
        "watchers": [
          {
            "globPattern": "C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\stack.yaml",
            "kind": 7
          }
        ]
      },
      "method": "workspace/didChangeWatchedFiles",
      "id": "globalFileWatches"
    }
  ]
}


[Trace - 01:06:16 PM] Sending response 'client/registerCapability - (5)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 5,
  "result": null
}


[Trace - 01:06:16 PM] Received response 'textDocument/documentSymbol - (14)' in 897ms.
Result: [
  {
    "name": "Main",
    "kind": 1,
    "children": [
      {
        "name": "imports",
        "kind": 2,
        "children": [
          {
            "name": "import Control.Applicative",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            }
          },
          {
            "name": "import Control.Monad.Fix",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            }
          },
          {
            "name": "import Data.String",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "range": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            }
          },
          {
            "name": "import Data.Text",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            }
          },
          {
            "name": "import Text.Lucius",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            },
            "range": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Map.Strict",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            },
            "range": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Text.Lazy",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            }
          },
          {
            "name": "import Nexo.Expr.Parse",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            },
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "name": "import Nexo.Expr.Type",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            },
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "name": "import Nexo.Sheet",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            },
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "name": "import Reflex.Dom",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            },
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          },
          {
            "name": "import Data.Maybe",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            },
            "range": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            }
          }
        ],
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        },
        "range": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        }
      },
      {
        "name": "cell",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        },
        "range": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        }
      },
      {
        "name": "sheet",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        },
        "range": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        }
      },
      {
        "name": "style",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        },
        "range": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        }
      },
      {
        "name": "main",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        },
        "range": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        }
      }
    ],
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 7
      },
      "end": {
        "line": 7,
        "character": 11
      }
    },
    "range": {
      "start": {
        "line": 0,
        "character": 0
      },
      "end": {
        "line": 2147483647,
        "character": 0
      }
    }
  }
]


[Trace - 01:06:16 PM] Received response 'textDocument/documentSymbol - (9)' in 528ms.
Result: [
  {
    "name": "Main",
    "kind": 1,
    "children": [
      {
        "name": "imports",
        "kind": 2,
        "children": [
          {
            "name": "import Control.Applicative",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            }
          },
          {
            "name": "import Control.Monad.Fix",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            }
          },
          {
            "name": "import Data.String",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "range": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            }
          },
          {
            "name": "import Data.Text",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            }
          },
          {
            "name": "import Text.Lucius",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            },
            "range": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Map.Strict",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            },
            "range": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Text.Lazy",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            }
          },
          {
            "name": "import Nexo.Expr.Parse",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            },
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "name": "import Nexo.Expr.Type",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            },
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "name": "import Nexo.Sheet",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            },
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "name": "import Reflex.Dom",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            },
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          },
          {
            "name": "import Data.Maybe",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            },
            "range": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            }
          }
        ],
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        },
        "range": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        }
      },
      {
        "name": "cell",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        },
        "range": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        }
      },
      {
        "name": "sheet",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        },
        "range": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        }
      },
      {
        "name": "style",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        },
        "range": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        }
      },
      {
        "name": "main",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        },
        "range": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        }
      }
    ],
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 7
      },
      "end": {
        "line": 7,
        "character": 11
      }
    },
    "range": {
      "start": {
        "line": 0,
        "character": 0
      },
      "end": {
        "line": 2147483647,
        "character": 0
      }
    }
  }
]


[Trace - 01:06:16 PM] Received response 'textDocument/documentSymbol - (25)' in 708ms.
Result: [
  {
    "name": "Main",
    "kind": 1,
    "children": [
      {
        "name": "imports",
        "kind": 2,
        "children": [
          {
            "name": "import Control.Applicative",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            }
          },
          {
            "name": "import Control.Monad.Fix",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            }
          },
          {
            "name": "import Data.String",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "range": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            }
          },
          {
            "name": "import Data.Text",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            }
          },
          {
            "name": "import Text.Lucius",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            },
            "range": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Map.Strict",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            },
            "range": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Text.Lazy",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            }
          },
          {
            "name": "import Nexo.Expr.Parse",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            },
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "name": "import Nexo.Expr.Type",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            },
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "name": "import Nexo.Sheet",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            },
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "name": "import Reflex.Dom",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            },
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          },
          {
            "name": "import Data.Maybe",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            },
            "range": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            }
          }
        ],
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        },
        "range": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        }
      },
      {
        "name": "cell",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        },
        "range": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        }
      },
      {
        "name": "sheet",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        },
        "range": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        }
      },
      {
        "name": "style",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        },
        "range": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        }
      },
      {
        "name": "main",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        },
        "range": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        }
      }
    ],
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 7
      },
      "end": {
        "line": 7,
        "character": 11
      }
    },
    "range": {
      "start": {
        "line": 0,
        "character": 0
      },
      "end": {
        "line": 2147483647,
        "character": 0
      }
    }
  }
]


[Trace - 01:06:16 PM] Received response 'textDocument/documentSymbol - (2)' in 55ms.
Result: [
  {
    "name": "Main",
    "kind": 1,
    "children": [
      {
        "name": "imports",
        "kind": 2,
        "children": [
          {
            "name": "import Control.Applicative",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            }
          },
          {
            "name": "import Control.Monad.Fix",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            }
          },
          {
            "name": "import Data.String",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "range": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            }
          },
          {
            "name": "import Data.Text",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            }
          },
          {
            "name": "import Text.Lucius",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            },
            "range": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Map.Strict",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            },
            "range": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Text.Lazy",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            }
          },
          {
            "name": "import Nexo.Expr.Parse",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            },
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "name": "import Nexo.Expr.Type",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            },
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "name": "import Nexo.Sheet",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            },
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "name": "import Reflex.Dom",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            },
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          },
          {
            "name": "import Data.Maybe",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            },
            "range": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            }
          }
        ],
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        },
        "range": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        }
      },
      {
        "name": "cell",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        },
        "range": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        }
      },
      {
        "name": "sheet",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        },
        "range": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        }
      },
      {
        "name": "style",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        },
        "range": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        }
      },
      {
        "name": "main",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        },
        "range": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        }
      }
    ],
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 7
      },
      "end": {
        "line": 7,
        "character": 11
      }
    },
    "range": {
      "start": {
        "line": 0,
        "character": 0
      },
      "end": {
        "line": 2147483647,
        "character": 0
      }
    }
  }
]


[Trace - 01:06:16 PM] Received response 'textDocument/documentSymbol - (22)' in 793ms.
Result: [
  {
    "name": "Main",
    "kind": 1,
    "children": [
      {
        "name": "imports",
        "kind": 2,
        "children": [
          {
            "name": "import Control.Applicative",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            }
          },
          {
            "name": "import Control.Monad.Fix",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            }
          },
          {
            "name": "import Data.String",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "range": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            }
          },
          {
            "name": "import Data.Text",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            }
          },
          {
            "name": "import Text.Lucius",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            },
            "range": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Map.Strict",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            },
            "range": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Text.Lazy",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            }
          },
          {
            "name": "import Nexo.Expr.Parse",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            },
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "name": "import Nexo.Expr.Type",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            },
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "name": "import Nexo.Sheet",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            },
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "name": "import Reflex.Dom",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            },
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          },
          {
            "name": "import Data.Maybe",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            },
            "range": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            }
          }
        ],
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        },
        "range": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        }
      },
      {
        "name": "cell",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        },
        "range": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        }
      },
      {
        "name": "sheet",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        },
        "range": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        }
      },
      {
        "name": "style",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        },
        "range": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        }
      },
      {
        "name": "main",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        },
        "range": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        }
      }
    ],
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 7
      },
      "end": {
        "line": 7,
        "character": 11
      }
    },
    "range": {
      "start": {
        "line": 0,
        "character": 0
      },
      "end": {
        "line": 2147483647,
        "character": 0
      }
    }
  }
]


[Trace - 01:06:16 PM] Received response 'textDocument/documentSymbol - (5)' in 109ms.
Result: [
  {
    "name": "Main",
    "kind": 1,
    "children": [
      {
        "name": "imports",
        "kind": 2,
        "children": [
          {
            "name": "import Control.Applicative",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            }
          },
          {
            "name": "import Control.Monad.Fix",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            }
          },
          {
            "name": "import Data.String",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "range": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            }
          },
          {
            "name": "import Data.Text",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            }
          },
          {
            "name": "import Text.Lucius",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            },
            "range": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Map.Strict",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            },
            "range": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Text.Lazy",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            }
          },
          {
            "name": "import Nexo.Expr.Parse",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            },
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "name": "import Nexo.Expr.Type",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            },
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "name": "import Nexo.Sheet",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            },
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "name": "import Reflex.Dom",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            },
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          },
          {
            "name": "import Data.Maybe",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            },
            "range": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            }
          }
        ],
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        },
        "range": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        }
      },
      {
        "name": "cell",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        },
        "range": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        }
      },
      {
        "name": "sheet",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        },
        "range": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        }
      },
      {
        "name": "style",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        },
        "range": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        }
      },
      {
        "name": "main",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        },
        "range": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        }
      }
    ],
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 7
      },
      "end": {
        "line": 7,
        "character": 11
      }
    },
    "range": {
      "start": {
        "line": 0,
        "character": 0
      },
      "end": {
        "line": 2147483647,
        "character": 0
      }
    }
  }
]


[Trace - 01:06:16 PM] Received response 'textDocument/documentSymbol - (29)' in 882ms.
Result: [
  {
    "name": "Main",
    "kind": 1,
    "children": [
      {
        "name": "imports",
        "kind": 2,
        "children": [
          {
            "name": "import Control.Applicative",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 9,
                "character": 0
              },
              "end": {
                "line": 9,
                "character": 35
              }
            }
          },
          {
            "name": "import Control.Monad.Fix",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            },
            "range": {
              "start": {
                "line": 10,
                "character": 0
              },
              "end": {
                "line": 10,
                "character": 35
              }
            }
          },
          {
            "name": "import Data.String",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            },
            "range": {
              "start": {
                "line": 11,
                "character": 0
              },
              "end": {
                "line": 11,
                "character": 41
              }
            }
          },
          {
            "name": "import Data.Text",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 12,
                "character": 0
              },
              "end": {
                "line": 12,
                "character": 37
              }
            }
          },
          {
            "name": "import Text.Lucius",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            },
            "range": {
              "start": {
                "line": 13,
                "character": 0
              },
              "end": {
                "line": 13,
                "character": 38
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Map.Strict",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            },
            "range": {
              "start": {
                "line": 15,
                "character": 0
              },
              "end": {
                "line": 15,
                "character": 39
              }
            }
          },
          {
            "detail": "qualified",
            "name": "import Data.Text.Lazy",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            },
            "range": {
              "start": {
                "line": 16,
                "character": 0
              },
              "end": {
                "line": 16,
                "character": 37
              }
            }
          },
          {
            "name": "import Nexo.Expr.Parse",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            },
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "name": "import Nexo.Expr.Type",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            },
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "name": "import Nexo.Sheet",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            },
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "name": "import Reflex.Dom",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            },
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          },
          {
            "name": "import Data.Maybe",
            "kind": 2,
            "selectionRange": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            },
            "range": {
              "start": {
                "line": 23,
                "character": 0
              },
              "end": {
                "line": 23,
                "character": 29
              }
            }
          }
        ],
        "selectionRange": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        },
        "range": {
          "start": {
            "line": 9,
            "character": 0
          },
          "end": {
            "line": 23,
            "character": 29
          }
        }
      },
      {
        "name": "cell",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        },
        "range": {
          "start": {
            "line": 32,
            "character": 0
          },
          "end": {
            "line": 59,
            "character": 22
          }
        }
      },
      {
        "name": "sheet",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        },
        "range": {
          "start": {
            "line": 68,
            "character": 0
          },
          "end": {
            "line": 88,
            "character": 41
          }
        }
      },
      {
        "name": "style",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        },
        "range": {
          "start": {
            "line": 91,
            "character": 0
          },
          "end": {
            "line": 96,
            "character": 2
          }
        }
      },
      {
        "name": "main",
        "kind": 12,
        "selectionRange": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        },
        "range": {
          "start": {
            "line": 99,
            "character": 0
          },
          "end": {
            "line": 99,
            "character": 36
          }
        }
      }
    ],
    "selectionRange": {
      "start": {
        "line": 7,
        "character": 7
      },
      "end": {
        "line": 7,
        "character": 11
      }
    },
    "range": {
      "start": {
        "line": 0,
        "character": 0
      },
      "end": {
        "line": 2147483647,
        "character": 0
      }
    }
  }
]


[Trace - 01:06:16 PM] Received request 'window/workDoneProgress/create - (6).
Params: {
  "token": "194"
}


[Trace - 01:06:16 PM] Sending response 'window/workDoneProgress/create - (6)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 6,
  "result": null
}


[Trace - 01:06:16 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "version": 0,
  "uri": "file:///C:/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs",
  "diagnostics": [
    {
      "code": "refact:Use maybe",
      "source": "hlint",
      "severity": 3,
      "message": "Use maybe\nFound:\n  fromMaybe \"\" $ display . cellValue <$> Map.lookup ident s\nWhy not:\n  maybe \"\" (display . cellValue) (Map.lookup ident s)\n",
      "range": {
        "start": {
          "line": 79,
          "character": 23
        },
        "end": {
          "line": 79,
          "character": 80
        }
      }
    }
  ]
}


[Trace - 01:06:16 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 30
}


[Trace - 01:06:16 PM] Sending request 'textDocument/codeAction - (31)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:06:16 PM] Received notification '$/progress'.
Params: {
  "token": "194",
  "value": {
    "kind": "begin",
    "title": "Processing"
  }
}


[Trace - 01:06:17 PM] Received notification '$/progress'.
Params: {
  "token": "194",
  "value": {
    "kind": "report",
    "message": "4/5"
  }
}


[Trace - 01:06:18 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
  "version": 0,
  "uri": "file:///C:/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs",
  "diagnostics": [
    {
      "code": "refact:Use maybe",
      "source": "hlint",
      "severity": 3,
      "message": "Use maybe\nFound:\n  fromMaybe \"\" $ display . cellValue <$> Map.lookup ident s\nWhy not:\n  maybe \"\" (display . cellValue) (Map.lookup ident s)\n",
      "range": {
        "start": {
          "line": 79,
          "character": 23
        },
        "end": {
          "line": 79,
          "character": 80
        }
      }
    },
    {
      "tags": [
        1
      ],
      "code": "-Wunused-imports",
      "source": "typecheck",
      "severity": 2,
      "message": "The import of ‘Control.Applicative’ is redundant\n  except perhaps to import instances from ‘Control.Applicative’\nTo import instances alone, use: import Control.Applicative()",
      "range": {
        "start": {
          "line": 9,
          "character": 0
        },
        "end": {
          "line": 9,
          "character": 35
        }
      }
    },
    {
      "tags": [
        1
      ],
      "code": "-Wunused-matches",
      "source": "typecheck",
      "severity": 2,
      "message": "Defined but not used: ‘idsDyn’",
      "range": {
        "start": {
          "line": 71,
          "character": 4
        },
        "end": {
          "line": 71,
          "character": 10
        }
      }
    },
    {
      "code": "-Wtyped-holes",
      "source": "typecheck",
      "severity": 1,
      "message": "• Found hole:\n    _ :: Map.Map Int (Event t Cell) -> Dynamic t (Event t a)\n  Where: ‘a’ is a rigid type variable bound by\n           the inferred type of cellsEv :: Event t a\n           at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:13-70\n         ‘t’ is a rigid type variable bound by\n           the type signature for:\n             sheet :: forall t (m :: * -> *).\n                      (DomBuilder t m, MonadHold t m, MonadFix m, PostBuild t m,\n                       Reflex t) =>\n                      m ()\n           at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13)\n• In the expression: _\n  In the expression: _ $ updated <$> m\n  In the second argument of ‘(>>=)’, namely\n    ‘\\ m -> _ $ updated <$> m’\n• Relevant bindings include\n    m :: Map.Map Int (Dynamic t Cell)\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:49)\n    cellsEv :: Event t a\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:13)\n    cellsDyn :: Dynamic t (Map.Map Int (Dynamic t Cell))\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:82:9)\n    getCellValue :: Int -> Dynamic t Text\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:79:13)\n    sheetDyn :: Dynamic t Sheet\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:85:9)\n    cellsCurIx :: Dynamic t Int\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:74:5)\n    sheet :: m ()\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:69:1)\n    (Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)\n  Constraints include\n    DomBuilder\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    MonadHold\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    MonadFix\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    PostBuild\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    Reflex\n      t (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))",
      "range": {
        "start": {
          "line": 83,
          "character": 53
        },
        "end": {
          "line": 83,
          "character": 54
        }
      }
    }
  ]
}


[Trace - 01:06:18 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 31
}


[Trace - 01:06:18 PM] Sending request 'textDocument/codeAction - (32)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 89,
      "character": 0
    },
    "end": {
      "line": 89,
      "character": 0
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:06:18 PM] Received response 'nil - (13)' in 0ms.
Result: {
  "contents": {
    "value": "",
    "kind": "markdown"
  },
  "range": {
    "start": {
      "line": 16,
      "character": 0
    },
    "end": {
      "line": 16,
      "character": 37
    }
  }
}


[Trace - 01:06:18 PM] Received response 'textDocument/hover - (21)' in 113ms.
Result: null


[Trace - 01:06:18 PM] Received response 'nil - (19)' in 0ms.
Result: null


[Trace - 01:06:18 PM] Received request 'window/workDoneProgress/create - (7).
Params: {
  "token": "215"
}


[Trace - 01:06:18 PM] Sending response 'window/workDoneProgress/create - (7)'. Processing request took 0ms
Params: {
  "jsonrpc": "2.0",
  "id": 7,
  "result": null
}


[Trace - 01:06:18 PM] Received notification '$/progress'.
Params: {
  "token": "215",
  "value": {
    "kind": "begin",
    "title": "Indexing"
  }
}


[Trace - 01:06:18 PM] Received notification '$/progress'.
Params: {
  "token": "215",
  "value": {
    "kind": "report",
    "message": " (0/1)..."
  }
}


[Trace - 01:06:18 PM] Received notification '$/progress'.
Params: {
  "token": "194",
  "value": {
    "kind": "end"
  }
}


[Trace - 01:06:18 PM] Received notification '$/progress'.
Params: {
  "token": "215",
  "value": {
    "kind": "end",
    "message": "Finished indexing 1 files"
  }
}


[Trace - 01:06:18 PM] Received response 'nil - (8)' in 0ms.
Result: [
  {
    "kind": "quickfix",
    "title": "Make all imports explicit",
    "edit": {
      "changes": {
        "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs": [
          {
            "newText": "import Nexo.Expr.Parse ( pExpr, pPType, parseMaybe )",
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "newText": "import Nexo.Expr.Type ( zeroExpr )",
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "newText": "import Nexo.Sheet\n    ( insert,\n      evalSheet,\n      display,\n      Sheet(Sheet),\n      ValueState(Invalidated),\n      Cell(Cell, cellValue) )",
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "newText": "import Reflex.Dom\n    ( mainWidgetWithCss,\n      foldDyn,\n      switchDyn,\n      listHoldWithKey,\n      ffor,\n      count,\n      button,\n      blank,\n      text,\n      el,\n      dynText,\n      elClass,\n      Reflex(updated, Dynamic),\n      MonadHold(holdDyn),\n      mapMaybe,\n      PostBuild,\n      def,\n      InputElement(_inputElement_input),\n      DomBuilder(inputElement) )",
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          }
        ]
      }
    }
  }
]


[Trace - 01:06:18 PM] Received response 'nil - (27)' in 0ms.
Result: []


[Trace - 01:06:18 PM] Received response 'nil - (12)' in 0ms.
Result: [
  {
    "kind": "quickfix",
    "title": "Make all imports explicit",
    "edit": {
      "changes": {
        "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs": [
          {
            "newText": "import Nexo.Expr.Parse ( pExpr, pPType, parseMaybe )",
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "newText": "import Nexo.Expr.Type ( zeroExpr )",
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "newText": "import Nexo.Sheet\n    ( insert,\n      evalSheet,\n      display,\n      Sheet(Sheet),\n      ValueState(Invalidated),\n      Cell(Cell, cellValue) )",
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "newText": "import Reflex.Dom\n    ( mainWidgetWithCss,\n      foldDyn,\n      switchDyn,\n      listHoldWithKey,\n      ffor,\n      count,\n      button,\n      blank,\n      text,\n      el,\n      dynText,\n      elClass,\n      Reflex(updated, Dynamic),\n      MonadHold(holdDyn),\n      mapMaybe,\n      PostBuild,\n      def,\n      InputElement(_inputElement_input),\n      DomBuilder(inputElement) )",
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          }
        ]
      }
    }
  }
]


[Trace - 01:06:18 PM] Received response 'nil - (18)' in 0ms.
Result: [
  {
    "command": {
      "arguments": [
        {
          "restrictToOriginatingFile": null,
          "description": "Unfold main",
          "rewrites": [
            {
              "tag": "Unfold",
              "contents": "Main.main"
            }
          ],
          "originatingFile": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
        }
      ],
      "command": "6772:retrie:retrieCommand",
      "title": "Unfold main"
    },
    "kind": "refactor.inline",
    "title": "Unfold main"
  },
  {
    "command": {
      "arguments": [
        {
          "restrictToOriginatingFile": true,
          "description": "Unfold main in current file",
          "rewrites": [
            {
              "tag": "Unfold",
              "contents": "Main.main"
            }
          ],
          "originatingFile": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
        }
      ],
      "command": "6772:retrie:retrieCommand",
      "title": "Unfold main in current file"
    },
    "kind": "refactor.inline",
    "title": "Unfold main in current file"
  },
  {
    "command": {
      "arguments": [
        {
          "restrictToOriginatingFile": null,
          "description": "Fold main",
          "rewrites": [
            {
              "tag": "Fold",
              "contents": "Main.main"
            }
          ],
          "originatingFile": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
        }
      ],
      "command": "6772:retrie:retrieCommand",
      "title": "Fold main"
    },
    "kind": "refactor.extract",
    "title": "Fold main"
  },
  {
    "command": {
      "arguments": [
        {
          "restrictToOriginatingFile": true,
          "description": "Fold main in current file",
          "rewrites": [
            {
              "tag": "Fold",
              "contents": "Main.main"
            }
          ],
          "originatingFile": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
        }
      ],
      "command": "6772:retrie:retrieCommand",
      "title": "Fold main in current file"
    },
    "kind": "refactor.extract",
    "title": "Fold main in current file"
  }
]


[Trace - 01:06:18 PM] Received response 'nil - (15)' in 0ms.
Result: [
  {
    "kind": "quickfix",
    "title": "Make all imports explicit",
    "edit": {
      "changes": {
        "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs": [
          {
            "newText": "import Nexo.Expr.Parse ( pExpr, pPType, parseMaybe )",
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "newText": "import Nexo.Expr.Type ( zeroExpr )",
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "newText": "import Nexo.Sheet\n    ( insert,\n      evalSheet,\n      display,\n      Sheet(Sheet),\n      ValueState(Invalidated),\n      Cell(Cell, cellValue) )",
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "newText": "import Reflex.Dom\n    ( mainWidgetWithCss,\n      foldDyn,\n      switchDyn,\n      listHoldWithKey,\n      ffor,\n      count,\n      button,\n      blank,\n      text,\n      el,\n      dynText,\n      elClass,\n      Reflex(updated, Dynamic),\n      MonadHold(holdDyn),\n      mapMaybe,\n      PostBuild,\n      def,\n      InputElement(_inputElement_input),\n      DomBuilder(inputElement) )",
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          }
        ]
      }
    }
  }
]


[Trace - 01:06:18 PM] Received response 'nil - (24)' in 0ms.
Result: []


[Trace - 01:06:18 PM] Received response 'nil - (31)' in 0ms.
Result: []


[Trace - 01:06:18 PM] Received response 'nil - (17)' in 0ms.
Result: []


[Trace - 01:06:18 PM] Received response 'nil - (20)' in 0ms.
Result: []


[Trace - 01:06:18 PM] Received response 'nil - (10)' in 0ms.
Result: [
  {
    "kind": "quickfix",
    "title": "Make all imports explicit",
    "edit": {
      "changes": {
        "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs": [
          {
            "newText": "import Nexo.Expr.Parse ( pExpr, pPType, parseMaybe )",
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "newText": "import Nexo.Expr.Type ( zeroExpr )",
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "newText": "import Nexo.Sheet\n    ( insert,\n      evalSheet,\n      display,\n      Sheet(Sheet),\n      ValueState(Invalidated),\n      Cell(Cell, cellValue) )",
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "newText": "import Reflex.Dom\n    ( mainWidgetWithCss,\n      foldDyn,\n      switchDyn,\n      listHoldWithKey,\n      ffor,\n      count,\n      button,\n      blank,\n      text,\n      el,\n      dynText,\n      elClass,\n      Reflex(updated, Dynamic),\n      MonadHold(holdDyn),\n      mapMaybe,\n      PostBuild,\n      def,\n      InputElement(_inputElement_input),\n      DomBuilder(inputElement) )",
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          }
        ]
      }
    }
  }
]


[Trace - 01:06:18 PM] Received response 'nil - (3)' in 0ms.
Result: [
  {
    "kind": "quickfix",
    "title": "Make all imports explicit",
    "edit": {
      "changes": {
        "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs": [
          {
            "newText": "import Nexo.Expr.Parse ( pExpr, pPType, parseMaybe )",
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "newText": "import Nexo.Expr.Type ( zeroExpr )",
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "newText": "import Nexo.Sheet\n    ( insert,\n      evalSheet,\n      display,\n      Sheet(Sheet),\n      ValueState(Invalidated),\n      Cell(Cell, cellValue) )",
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "newText": "import Reflex.Dom\n    ( mainWidgetWithCss,\n      foldDyn,\n      switchDyn,\n      listHoldWithKey,\n      ffor,\n      count,\n      button,\n      blank,\n      text,\n      el,\n      dynText,\n      elClass,\n      Reflex(updated, Dynamic),\n      MonadHold(holdDyn),\n      mapMaybe,\n      PostBuild,\n      def,\n      InputElement(_inputElement_input),\n      DomBuilder(inputElement) )",
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          }
        ]
      }
    }
  }
]


[Trace - 01:06:18 PM] Received response 'nil - (23)' in 0ms.
Result: []


[Trace - 01:06:18 PM] Received response 'textDocument/codeAction - (32)' in 168ms.
Result: []


[Trace - 01:06:18 PM] Received response 'textDocument/codeAction - (28)' in 193ms.
Result: []


[Trace - 01:06:18 PM] Received response 'nil - (6)' in 0ms.
Result: [
  {
    "kind": "quickfix",
    "title": "Make all imports explicit",
    "edit": {
      "changes": {
        "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs": [
          {
            "newText": "import Nexo.Expr.Parse ( pExpr, pPType, parseMaybe )",
            "range": {
              "start": {
                "line": 18,
                "character": 0
              },
              "end": {
                "line": 18,
                "character": 22
              }
            }
          },
          {
            "newText": "import Nexo.Expr.Type ( zeroExpr )",
            "range": {
              "start": {
                "line": 19,
                "character": 0
              },
              "end": {
                "line": 19,
                "character": 21
              }
            }
          },
          {
            "newText": "import Nexo.Sheet\n    ( insert,\n      evalSheet,\n      display,\n      Sheet(Sheet),\n      ValueState(Invalidated),\n      Cell(Cell, cellValue) )",
            "range": {
              "start": {
                "line": 20,
                "character": 0
              },
              "end": {
                "line": 20,
                "character": 17
              }
            }
          },
          {
            "newText": "import Reflex.Dom\n    ( mainWidgetWithCss,\n      foldDyn,\n      switchDyn,\n      listHoldWithKey,\n      ffor,\n      count,\n      button,\n      blank,\n      text,\n      el,\n      dynText,\n      elClass,\n      Reflex(updated, Dynamic),\n      MonadHold(holdDyn),\n      mapMaybe,\n      PostBuild,\n      def,\n      InputElement(_inputElement_input),\n      DomBuilder(inputElement) )",
            "range": {
              "start": {
                "line": 22,
                "character": 0
              },
              "end": {
                "line": 22,
                "character": 34
              }
            }
          }
        ]
      }
    }
  }
]


[Trace - 01:06:18 PM] Received response 'nil - (26)' in 0ms.
Result: []


[Trace - 01:06:18 PM] Received response 'nil - (30)' in 0ms.
Result: []


[Trace - 01:06:28 PM] Sending request 'textDocument/codeAction - (33)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 83,
      "character": 53
    },
    "end": {
      "line": 83,
      "character": 53
    }
  },
  "context": {
    "diagnostics": [
      {
        "code": "-Wtyped-holes",
        "source": "typecheck",
        "severity": 1,
        "message": "• Found hole:\n    _ :: Map.Map Int (Event t Cell) -> Dynamic t (Event t a)\n  Where: ‘a’ is a rigid type variable bound by\n           the inferred type of cellsEv :: Event t a\n           at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:13-70\n         ‘t’ is a rigid type variable bound by\n           the type signature for:\n             sheet :: forall t (m :: * -> *).\n                      (DomBuilder t m, MonadHold t m, MonadFix m, PostBuild t m,\n                       Reflex t) =>\n                      m ()\n           at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13)\n• In the expression: _\n  In the expression: _ $ updated <$> m\n  In the second argument of ‘(>>=)’, namely\n    ‘\\ m -> _ $ updated <$> m’\n• Relevant bindings include\n    m :: Map.Map Int (Dynamic t Cell)\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:49)\n    cellsEv :: Event t a\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:13)\n    cellsDyn :: Dynamic t (Map.Map Int (Dynamic t Cell))\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:82:9)\n    getCellValue :: Int -> Dynamic t Text\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:79:13)\n    sheetDyn :: Dynamic t Sheet\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:85:9)\n    cellsCurIx :: Dynamic t Int\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:74:5)\n    sheet :: m ()\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:69:1)\n    (Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)\n  Constraints include\n    DomBuilder\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    MonadHold\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    MonadFix\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    PostBuild\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    Reflex\n      t (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))",
        "range": {
          "start": {
            "line": 83,
            "character": 53
          },
          "end": {
            "line": 83,
            "character": 54
          }
        }
      }
    ]
  }
}


[Trace - 01:06:28 PM] Sending request 'textDocument/hover - (34)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 83,
    "character": 53
  }
}


[Trace - 01:06:28 PM] Received response 'textDocument/hover - (34)' in 9ms.
Result: {
  "contents": {
    "value": "\n```haskell\n_ :: Map Int (Event t Cell) -> Dynamic t (Event t a)\n```\n\n",
    "kind": "markdown"
  },
  "range": {
    "start": {
      "line": 83,
      "character": 53
    },
    "end": {
      "line": 83,
      "character": 54
    }
  }
}


[Trace - 01:06:28 PM] Sending request 'textDocument/codeAction - (35)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 83,
      "character": 53
    },
    "end": {
      "line": 83,
      "character": 53
    }
  },
  "context": {
    "diagnostics": [
      {
        "code": "-Wtyped-holes",
        "source": "typecheck",
        "severity": 1,
        "message": "• Found hole:\n    _ :: Map.Map Int (Event t Cell) -> Dynamic t (Event t a)\n  Where: ‘a’ is a rigid type variable bound by\n           the inferred type of cellsEv :: Event t a\n           at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:13-70\n         ‘t’ is a rigid type variable bound by\n           the type signature for:\n             sheet :: forall t (m :: * -> *).\n                      (DomBuilder t m, MonadHold t m, MonadFix m, PostBuild t m,\n                       Reflex t) =>\n                      m ()\n           at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13)\n• In the expression: _\n  In the expression: _ $ updated <$> m\n  In the second argument of ‘(>>=)’, namely\n    ‘\\ m -> _ $ updated <$> m’\n• Relevant bindings include\n    m :: Map.Map Int (Dynamic t Cell)\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:49)\n    cellsEv :: Event t a\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:84:13)\n    cellsDyn :: Dynamic t (Map.Map Int (Dynamic t Cell))\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:82:9)\n    getCellValue :: Int -> Dynamic t Text\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:79:13)\n    sheetDyn :: Dynamic t Sheet\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:85:9)\n    cellsCurIx :: Dynamic t Int\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:74:5)\n    sheet :: m ()\n      (bound at C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:69:1)\n    (Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)\n  Constraints include\n    DomBuilder\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    MonadHold\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    MonadFix\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    PostBuild\n      t\n      m (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))\n    Reflex\n      t (from C:\\Users\\bradn\\Documents\\Spreadsheet\\nexo\\gui\\web\\src\\Main.hs:(62,1)-(68,13))",
        "range": {
          "start": {
            "line": 83,
            "character": 53
          },
          "end": {
            "line": 83,
            "character": 54
          }
        }
      }
    ]
  }
}


[Trace - 01:06:28 PM] Sending request 'textDocument/documentHighlight - (36)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 83,
    "character": 53
  }
}


[Trace - 01:06:34 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 33
}


[Trace - 01:06:34 PM] Sending request 'textDocument/codeAction - (37)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 84,
      "character": 53
    },
    "end": {
      "line": 84,
      "character": 53
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:06:34 PM] Sending request 'textDocument/hover - (38)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 84,
    "character": 53
  }
}


[Trace - 01:06:35 PM] Sending request 'textDocument/hover - (39)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 84,
    "character": 53
  }
}


[Trace - 01:06:35 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 35
}


[Trace - 01:06:35 PM] Sending request 'textDocument/codeAction - (40)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "range": {
    "start": {
      "line": 84,
      "character": 53
    },
    "end": {
      "line": 84,
      "character": 53
    }
  },
  "context": {
    "diagnostics": []
  }
}


[Trace - 01:06:35 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 36
}


[Trace - 01:06:35 PM] Sending request 'textDocument/documentHighlight - (41)'.
Params: {
  "textDocument": {
    "uri": "file:///c%3A/Users/bradn/Documents/Spreadsheet/nexo/gui/web/src/Main.hs"
  },
  "position": {
    "line": 84,
    "character": 53
  }
}


[Trace - 01:06:41 PM] Sending notification '$/cancelRequest'.
Params: {
  "id": 40
}



Metadata

Metadata

Assignees

No one assigned

    Labels

    os: windowsperformanceIssues about memory consumption, responsiveness, etc.status: needs infoNot actionable, because there's missing informationtype: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions