From ba07f3549313ad470fe2de9e0cac72556afb8046 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Thu, 30 May 2019 13:06:39 -0400 Subject: ignore .stack-work --- .gitignore | 1 + .../Cabal-2.4.0.1/build/8queens/8queens | Bin 5970224 -> 0 bytes .../build/8queens/8queens-tmp/Main.hi | Bin 60739 -> 0 bytes .../Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.o | Bin 128520 -> 0 bytes .../build/8queens/8queens-tmp/src/Main.dump-hi | 2517 -------------- .../build/8queens/autogen/Paths_8queens.hs | 50 - .../build/8queens/autogen/cabal_macros.h | 195 -- .../package.conf.inplace/package.cache | Bin 40 -> 0 bytes .../package.conf.inplace/package.cache.lock | 0 .../dist/x86_64-linux/Cabal-2.4.0.1/setup-config | Bin 324724 -> 0 bytes .../Cabal-2.4.0.1/stack-build-caches/exe-8queens | Bin 665 -> 0 bytes .../x86_64-linux/Cabal-2.4.0.1/stack-cabal-mod | Bin 50 -> 0 bytes .../x86_64-linux/Cabal-2.4.0.1/stack-config-cache | Bin 5836 -> 0 bytes .stack-work/ghci/3a535720/cabal_macros.h | 198 -- .stack-work/ghci/429a2e1e/cabal_macros.h | 176 - .stack-work/ghci/c89d8de5/cabal_macros.h | 198 -- .stack-work/ghci/df908bbc/cabal_macros.h | 187 - .stack-work/ghci/ec6a65a6/cabal_macros.h | 165 - .../x86_64-linux/lts-13.22/8.6.5/bin/8queens | Bin 3915560 -> 0 bytes .../x86_64-linux/lts-13.22/8.6.5/bin/intero | Bin 1589288 -> 0 bytes .../lts-13.22/8.6.5/doc/8queens-0.1.0.0/LICENSE | 30 - .../lts-13.22/8.6.5/doc/intero-0.1.40/LICENSE | 27 - .../lts-13.22/8.6.5/flag-cache/8queens-0.1.0.0 | Bin 5836 -> 0 bytes .../Cabal-2.4.1.0-9MZFDeNrcJI10bcroa6pq8 | Bin 5983 -> 0 bytes .../StateVar-1.1.1.1-2ewTKofpCGhC2np5dyFIaR | Bin 3599 -> 0 bytes .../adjunctions-4.4-5XvmwZ9ik8T4JDgak5RolE | Bin 7391 -> 0 bytes .../base-orphans-0.8.1-HeyTAcy4PKhDcGhjvJwDzq | Bin 3421 -> 0 bytes .../bifunctors-5.5.4-JI14q9FdaTRLWn4YdH8JmV | Bin 5347 -> 0 bytes .../flag-cache/bytes-0.15.5-3xefL3v3Ncd2XFpMRBDGRq | Bin 7351 -> 0 bytes .../cabal-doctest-1.0.6-GxlnXP6RWcB1QAJigGyNcv | Bin 3963 -> 0 bytes .../call-stack-0.1.0-J1eWgTNOnM4IGVyeW0v2YZ | Bin 3209 -> 0 bytes .../cereal-0.5.8.0-6rtfJLvNbgP66iuaPkuxJC | Bin 3989 -> 0 bytes .../comonad-5.0.5-FO6wPvVdvoe5bevdeq1PfM | Bin 5413 -> 0 bytes .../contravariant-1.5.1-5DqKSjbrRzZU8YLmfpGsF | Bin 3823 -> 0 bytes .../distributive-0.6-9dQuxsXiNSOFiN4BOgtPCR | Bin 4805 -> 0 bytes .../exceptions-0.10.2-965Nx9KftkgCsZ4B7Zhuyu | Bin 4471 -> 0 bytes .../flag-cache/free-5.1.1-4bsEiYxPhIEFqPXXuEKbd4 | Bin 6191 -> 0 bytes .../ghc-paths-0.1.0.9-KaBYbRV3ryA10w04FwbrO2 | Bin 3739 -> 0 bytes .../hashable-1.2.7.0-CWI8VZuQTAYWIQTQQtqCV | Bin 4203 -> 0 bytes .../haskeline-0.7.5.0-ADzuRaH0DKHIRvvi965fg2 | Bin 5017 -> 0 bytes .../hmatrix-0.19.0.0-2s9G4ERdQNGmPHLhVSJnl | Bin 5665 -> 0 bytes ...integer-logarithms-1.0.3-L1fXvdNnENnEcLpMml0rI7 | Bin 3893 -> 0 bytes .../lts-13.22/8.6.5/flag-cache/intero-0.1.40 | Bin 8013 -> 0 bytes .../invariant-0.5.3-COCiLnaO8ceLaFLP8ApMB8 | Bin 7763 -> 0 bytes .../kan-extensions-5.2-GOoLNNVeT9xL7L35wynQJC | Bin 7469 -> 0 bytes .../flag-cache/lens-4.17.1-HvuC79b14LY7GYVb6qSW7j | Bin 12429 -> 0 bytes .../linear-1.20.9-8i87OQRLMk19j5jCRXHfj4 | Bin 10347 -> 0 bytes .../flag-cache/loop-0.3.0-KBOFzTkURfGITuXz2VUslN | Bin 3137 -> 0 bytes .../matrix-0.3.6.1-CUcUqfmsmAA7saz436AQSk | Bin 4685 -> 0 bytes .../network-2.8.0.1-Hmt657UE3v349uYmvUXEvW | Bin 3583 -> 0 bytes .../parallel-3.2.2.0-EGl5SOk48TWHAD161C93aQ | Bin 3977 -> 0 bytes .../primitive-0.6.4.0-ILgywxtLpvnAOlEISPpP5b | Bin 3649 -> 0 bytes .../profunctors-5.3-IpGd709zs3V8sI6m3XgDzt | Bin 5847 -> 0 bytes .../flag-cache/random-1.1-3ypV4EIycgb35PKjTYYr5q | Bin 3297 -> 0 bytes .../reflection-2.1.4-E9VXTbXoqHZ5rulgGPZOrF | Bin 3495 -> 0 bytes .../scientific-0.3.6.2-Jh87LYpjAZH3EhMJkXeu1S | Bin 5545 -> 0 bytes .../semigroupoids-5.3.2-Ka80fCBNMcd1Be50r62zFC | Bin 7953 -> 0 bytes .../semigroups-0.18.5-6T2lH5F6zyQIdwR3JYKMO3 | Bin 3221 -> 0 bytes .../flag-cache/split-0.2.3.3-6n1iQ0JLFvkeXvJXsAqQc | Bin 3173 -> 0 bytes ...storable-complex-0.2.3.0-IqTssBZ2G90J9kRbLSMmF1 | Bin 3671 -> 0 bytes .../flag-cache/syb-0.7-KRW1LCxdMiCJrmhxCvzo37 | Bin 3101 -> 0 bytes .../flag-cache/tagged-0.8.6-EiJ2F18RuD68LSMkg0Ly4r | Bin 3877 -> 0 bytes .../th-abstraction-0.2.11.0-DAhuCgi08HTBWsDjm9nrOq | Bin 3987 -> 0 bytes ...ransformers-base-0.4.5.2-FZmnqdpGRpbAstl7i9dBCk | Bin 4509 -> 0 bytes ...ransformers-compat-0.6.5-JTHfwAgpAU6AqyWxijPF3Z | Bin 3801 -> 0 bytes ...rdered-containers-0.2.9.0-BRWkoSTuML1cQdpep6Oin | Bin 3875 -> 0 bytes .../vector-0.12.0.3-2LEYu9M2i7lERDtz76XG3n | Bin 3923 -> 0 bytes .../flag-cache/void-0.7.3-5xXWQQsTYbKFlr3KfNvyL8 | Bin 3137 -> 0 bytes .../8.6.5/installed-packages/8queens-0.1.0.0 | 1 - .../8.6.5/installed-packages/intero-0.1.40 | 1 - .../lts-13.22/8.6.5/pkgdb/package.cache | Bin 40 -> 0 bytes .../lts-13.22/8.6.5/pkgdb/package.cache.lock | 0 .../intero-0.1.40/elisp/haskell-simple-indent.el | 273 -- .../intero-0.1.40/elisp/intero.el | 3676 -------------------- .stack-work/intero/intero-script15638LtG | 4 - .stack-work/intero/intero-script18425zvS | 4 - .stack-work/intero/intero-script21871YJc | 4 - .stack-work/intero/intero-script250346te | 4 - .stack-work/intero/intero-script25034H4k | 4 - .stack-work/intero/intero-script25034UCr | 4 - .stack-work/intero/intero-script25034UQT | 4 - .stack-work/intero/intero-script25034gZS | 4 - .stack-work/intero/intero-script25034haZ | 4 - .stack-work/intero/intero-script25034tjY | 4 - .stack-work/intero/intero-script265874pa | 4 - .stack-work/intero/intero-script26587REU | 4 - .stack-work/intero/intero-script26587S-m | 4 - .stack-work/intero/intero-script26587sZn | 4 - .stack-work/intero/intero-script31583KtK | 4 - .stack-work/intero/intero-script31583X3Q | 4 - .stack-work/intero/intero-script38150SJ | 4 - .stack-work/intero/intero-script3815OuJ | 4 - .stack-work/intero/intero-script3815a3I | 4 - .stack-work/intero/intero-script3815nBP | 4 - .stack-work/intero/intero-script4078Wgy | 4 - .stack-work/intero/intero-script75130iQ | 4 - .stack-work/intero/intero-script7513nYK | 4 - .stack-work/intero/intero15638-bM-STAGING.hs | 132 - .stack-work/intero/intero15638LmS-TEMP.hs | 0 .stack-work/intero/intero18425meY-STAGING.hs | 46 - .stack-work/intero/intero18425zoe-TEMP.hs | 0 .stack-work/intero/intero21871-0P-TEMP.hs | 0 .stack-work/intero/intero21871xqJ-STAGING.hs | 46 - .stack-work/intero/intero232079je-TEMP.hs | 0 .stack-work/intero/intero23207wZY-STAGING.hs | 46 - .stack-work/intero/intero25034GFG-TEMP.hs | 0 .stack-work/intero/intero25034U72-STAGING.hs | 5 - .stack-work/intero/intero265874by-STAGING.hs | 201 -- .stack-work/intero/intero26587qlB-TEMP.hs | 0 .stack-work/intero/intero30739dbu-STAGING.hs | 127 - .stack-work/intero/intero30739ql0-TEMP.hs | 0 .stack-work/intero/intero31583k6i-STAGING.hs | 127 - .stack-work/intero/intero31583xEp-TEMP.hs | 0 .stack-work/intero/intero38150Eh-TEMP.hs | 0 .stack-work/intero/intero3815n6a-STAGING.hs | 69 - .stack-work/intero/intero4078i3Z-STAGING.hs | 55 - .stack-work/intero/intero4078vBg-TEMP.hs | 0 .stack-work/intero/intero5164dbY-STAGING.hs | 46 - .stack-work/intero/intero5164qle-TEMP.hs | 0 .stack-work/intero/intero7513Owo-STAGING.hs | 152 - .stack-work/intero/intero7513b6u-TEMP.hs | 0 .stack-work/logs/Cabal-2.4.1.0.log | 225 -- .stack-work/logs/StateVar-1.1.1.1.log | 6 - .stack-work/logs/adjunctions-4.4.log | 46 - .stack-work/logs/base-orphans-0.8.1.log | 7 - .stack-work/logs/bifunctors-5.5.4.log | 20 - .stack-work/logs/bytes-0.15.5.log | 13 - .stack-work/logs/cabal-doctest-1.0.6.log | 6 - .stack-work/logs/call-stack-0.1.0.log | 8 - .stack-work/logs/cereal-0.5.8.0.log | 16 - .stack-work/logs/comonad-5.0.5.log | 23 - .stack-work/logs/contravariant-1.5.1.log | 8 - .stack-work/logs/distributive-0.6.log | 10 - .stack-work/logs/exceptions-0.10.2.log | 7 - .stack-work/logs/free-5.1.1.log | 41 - .stack-work/logs/ghc-paths-0.1.0.9.log | 17 - .stack-work/logs/hashable-1.2.7.0.log | 9 - .stack-work/logs/haskeline-0.7.5.0.log | 32 - .stack-work/logs/hmatrix-0.19.0.0.log | 48 - .stack-work/logs/integer-logarithms-1.0.3.log | 9 - .stack-work/logs/intero-0.1.40.log | 64 - .stack-work/logs/invariant-0.5.3.log | 9 - .stack-work/logs/kan-extensions-5.2.log | 18 - .stack-work/logs/lens-4.17.1.log | 91 - .stack-work/logs/linear-1.20.9.log | 30 - .stack-work/logs/loop-0.3.0.log | 7 - .stack-work/logs/matrix-0.3.6.1.log | 86 - .stack-work/logs/network-2.8.0.1.log | 132 - .stack-work/logs/parallel-3.2.2.0.log | 8 - .stack-work/logs/primitive-0.6.4.0.log | 20 - .stack-work/logs/profunctors-5.3.log | 21 - .stack-work/logs/random-1.1.log | 14 - .stack-work/logs/reflection-2.1.4.log | 6 - .stack-work/logs/scientific-0.3.6.2.log | 10 - .stack-work/logs/semigroupoids-5.3.2.log | 29 - .stack-work/logs/semigroups-0.18.5.log | 6 - .stack-work/logs/split-0.2.3.3.log | 7 - .stack-work/logs/storable-complex-0.2.3.0.log | 6 - .stack-work/logs/syb-0.7.log | 21 - .stack-work/logs/tagged-0.8.6.log | 7 - .stack-work/logs/th-abstraction-0.2.11.0.log | 7 - .stack-work/logs/transformers-base-0.4.5.2.log | 6 - .stack-work/logs/transformers-compat-0.6.5.log | 9 - .stack-work/logs/unordered-containers-0.2.9.0.log | 122 - .stack-work/logs/vector-0.12.0.3.log | 26 - .stack-work/logs/void-0.7.3.log | 6 - 166 files changed, 1 insertion(+), 10157 deletions(-) create mode 100644 .gitignore delete mode 100755 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.hi delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.o delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/src/Main.dump-hi delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/autogen/Paths_8queens.hs delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/autogen/cabal_macros.h delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/package.conf.inplace/package.cache delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/package.conf.inplace/package.cache.lock delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup-config delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-build-caches/exe-8queens delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-cabal-mod delete mode 100644 .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-config-cache delete mode 100644 .stack-work/ghci/3a535720/cabal_macros.h delete mode 100644 .stack-work/ghci/429a2e1e/cabal_macros.h delete mode 100644 .stack-work/ghci/c89d8de5/cabal_macros.h delete mode 100644 .stack-work/ghci/df908bbc/cabal_macros.h delete mode 100644 .stack-work/ghci/ec6a65a6/cabal_macros.h delete mode 100755 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin/8queens delete mode 100755 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin/intero delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/doc/8queens-0.1.0.0/LICENSE delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/doc/intero-0.1.40/LICENSE delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/8queens-0.1.0.0 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/Cabal-2.4.1.0-9MZFDeNrcJI10bcroa6pq8 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/StateVar-1.1.1.1-2ewTKofpCGhC2np5dyFIaR delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/adjunctions-4.4-5XvmwZ9ik8T4JDgak5RolE delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/base-orphans-0.8.1-HeyTAcy4PKhDcGhjvJwDzq delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/bifunctors-5.5.4-JI14q9FdaTRLWn4YdH8JmV delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/bytes-0.15.5-3xefL3v3Ncd2XFpMRBDGRq delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/cabal-doctest-1.0.6-GxlnXP6RWcB1QAJigGyNcv delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/call-stack-0.1.0-J1eWgTNOnM4IGVyeW0v2YZ delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/cereal-0.5.8.0-6rtfJLvNbgP66iuaPkuxJC delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/comonad-5.0.5-FO6wPvVdvoe5bevdeq1PfM delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/contravariant-1.5.1-5DqKSjbrRzZU8YLmfpGsF delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/distributive-0.6-9dQuxsXiNSOFiN4BOgtPCR delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/exceptions-0.10.2-965Nx9KftkgCsZ4B7Zhuyu delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/free-5.1.1-4bsEiYxPhIEFqPXXuEKbd4 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/ghc-paths-0.1.0.9-KaBYbRV3ryA10w04FwbrO2 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/hashable-1.2.7.0-CWI8VZuQTAYWIQTQQtqCV delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/haskeline-0.7.5.0-ADzuRaH0DKHIRvvi965fg2 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/hmatrix-0.19.0.0-2s9G4ERdQNGmPHLhVSJnl delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/integer-logarithms-1.0.3-L1fXvdNnENnEcLpMml0rI7 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/intero-0.1.40 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/invariant-0.5.3-COCiLnaO8ceLaFLP8ApMB8 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/kan-extensions-5.2-GOoLNNVeT9xL7L35wynQJC delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/lens-4.17.1-HvuC79b14LY7GYVb6qSW7j delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/linear-1.20.9-8i87OQRLMk19j5jCRXHfj4 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/loop-0.3.0-KBOFzTkURfGITuXz2VUslN delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/matrix-0.3.6.1-CUcUqfmsmAA7saz436AQSk delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/network-2.8.0.1-Hmt657UE3v349uYmvUXEvW delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/parallel-3.2.2.0-EGl5SOk48TWHAD161C93aQ delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/primitive-0.6.4.0-ILgywxtLpvnAOlEISPpP5b delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/profunctors-5.3-IpGd709zs3V8sI6m3XgDzt delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/random-1.1-3ypV4EIycgb35PKjTYYr5q delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/reflection-2.1.4-E9VXTbXoqHZ5rulgGPZOrF delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/scientific-0.3.6.2-Jh87LYpjAZH3EhMJkXeu1S delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/semigroupoids-5.3.2-Ka80fCBNMcd1Be50r62zFC delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/semigroups-0.18.5-6T2lH5F6zyQIdwR3JYKMO3 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/split-0.2.3.3-6n1iQ0JLFvkeXvJXsAqQc delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/storable-complex-0.2.3.0-IqTssBZ2G90J9kRbLSMmF1 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/syb-0.7-KRW1LCxdMiCJrmhxCvzo37 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/tagged-0.8.6-EiJ2F18RuD68LSMkg0Ly4r delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/th-abstraction-0.2.11.0-DAhuCgi08HTBWsDjm9nrOq delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/transformers-base-0.4.5.2-FZmnqdpGRpbAstl7i9dBCk delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/transformers-compat-0.6.5-JTHfwAgpAU6AqyWxijPF3Z delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/unordered-containers-0.2.9.0-BRWkoSTuML1cQdpep6Oin delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/vector-0.12.0.3-2LEYu9M2i7lERDtz76XG3n delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/void-0.7.3-5xXWQQsTYbKFlr3KfNvyL8 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/installed-packages/8queens-0.1.0.0 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/installed-packages/intero-0.1.40 delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/pkgdb/package.cache delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/pkgdb/package.cache.lock delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/intero-0.1.40/elisp/haskell-simple-indent.el delete mode 100644 .stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/intero-0.1.40/elisp/intero.el delete mode 100644 .stack-work/intero/intero-script15638LtG delete mode 100644 .stack-work/intero/intero-script18425zvS delete mode 100644 .stack-work/intero/intero-script21871YJc delete mode 100644 .stack-work/intero/intero-script250346te delete mode 100644 .stack-work/intero/intero-script25034H4k delete mode 100644 .stack-work/intero/intero-script25034UCr delete mode 100644 .stack-work/intero/intero-script25034UQT delete mode 100644 .stack-work/intero/intero-script25034gZS delete mode 100644 .stack-work/intero/intero-script25034haZ delete mode 100644 .stack-work/intero/intero-script25034tjY delete mode 100644 .stack-work/intero/intero-script265874pa delete mode 100644 .stack-work/intero/intero-script26587REU delete mode 100644 .stack-work/intero/intero-script26587S-m delete mode 100644 .stack-work/intero/intero-script26587sZn delete mode 100644 .stack-work/intero/intero-script31583KtK delete mode 100644 .stack-work/intero/intero-script31583X3Q delete mode 100644 .stack-work/intero/intero-script38150SJ delete mode 100644 .stack-work/intero/intero-script3815OuJ delete mode 100644 .stack-work/intero/intero-script3815a3I delete mode 100644 .stack-work/intero/intero-script3815nBP delete mode 100644 .stack-work/intero/intero-script4078Wgy delete mode 100644 .stack-work/intero/intero-script75130iQ delete mode 100644 .stack-work/intero/intero-script7513nYK delete mode 100644 .stack-work/intero/intero15638-bM-STAGING.hs delete mode 100644 .stack-work/intero/intero15638LmS-TEMP.hs delete mode 100644 .stack-work/intero/intero18425meY-STAGING.hs delete mode 100644 .stack-work/intero/intero18425zoe-TEMP.hs delete mode 100644 .stack-work/intero/intero21871-0P-TEMP.hs delete mode 100644 .stack-work/intero/intero21871xqJ-STAGING.hs delete mode 100644 .stack-work/intero/intero232079je-TEMP.hs delete mode 100644 .stack-work/intero/intero23207wZY-STAGING.hs delete mode 100644 .stack-work/intero/intero25034GFG-TEMP.hs delete mode 100644 .stack-work/intero/intero25034U72-STAGING.hs delete mode 100644 .stack-work/intero/intero265874by-STAGING.hs delete mode 100644 .stack-work/intero/intero26587qlB-TEMP.hs delete mode 100644 .stack-work/intero/intero30739dbu-STAGING.hs delete mode 100644 .stack-work/intero/intero30739ql0-TEMP.hs delete mode 100644 .stack-work/intero/intero31583k6i-STAGING.hs delete mode 100644 .stack-work/intero/intero31583xEp-TEMP.hs delete mode 100644 .stack-work/intero/intero38150Eh-TEMP.hs delete mode 100644 .stack-work/intero/intero3815n6a-STAGING.hs delete mode 100644 .stack-work/intero/intero4078i3Z-STAGING.hs delete mode 100644 .stack-work/intero/intero4078vBg-TEMP.hs delete mode 100644 .stack-work/intero/intero5164dbY-STAGING.hs delete mode 100644 .stack-work/intero/intero5164qle-TEMP.hs delete mode 100644 .stack-work/intero/intero7513Owo-STAGING.hs delete mode 100644 .stack-work/intero/intero7513b6u-TEMP.hs delete mode 100644 .stack-work/logs/Cabal-2.4.1.0.log delete mode 100644 .stack-work/logs/StateVar-1.1.1.1.log delete mode 100644 .stack-work/logs/adjunctions-4.4.log delete mode 100644 .stack-work/logs/base-orphans-0.8.1.log delete mode 100644 .stack-work/logs/bifunctors-5.5.4.log delete mode 100644 .stack-work/logs/bytes-0.15.5.log delete mode 100644 .stack-work/logs/cabal-doctest-1.0.6.log delete mode 100644 .stack-work/logs/call-stack-0.1.0.log delete mode 100644 .stack-work/logs/cereal-0.5.8.0.log delete mode 100644 .stack-work/logs/comonad-5.0.5.log delete mode 100644 .stack-work/logs/contravariant-1.5.1.log delete mode 100644 .stack-work/logs/distributive-0.6.log delete mode 100644 .stack-work/logs/exceptions-0.10.2.log delete mode 100644 .stack-work/logs/free-5.1.1.log delete mode 100644 .stack-work/logs/ghc-paths-0.1.0.9.log delete mode 100644 .stack-work/logs/hashable-1.2.7.0.log delete mode 100644 .stack-work/logs/haskeline-0.7.5.0.log delete mode 100644 .stack-work/logs/hmatrix-0.19.0.0.log delete mode 100644 .stack-work/logs/integer-logarithms-1.0.3.log delete mode 100644 .stack-work/logs/intero-0.1.40.log delete mode 100644 .stack-work/logs/invariant-0.5.3.log delete mode 100644 .stack-work/logs/kan-extensions-5.2.log delete mode 100644 .stack-work/logs/lens-4.17.1.log delete mode 100644 .stack-work/logs/linear-1.20.9.log delete mode 100644 .stack-work/logs/loop-0.3.0.log delete mode 100644 .stack-work/logs/matrix-0.3.6.1.log delete mode 100644 .stack-work/logs/network-2.8.0.1.log delete mode 100644 .stack-work/logs/parallel-3.2.2.0.log delete mode 100644 .stack-work/logs/primitive-0.6.4.0.log delete mode 100644 .stack-work/logs/profunctors-5.3.log delete mode 100644 .stack-work/logs/random-1.1.log delete mode 100644 .stack-work/logs/reflection-2.1.4.log delete mode 100644 .stack-work/logs/scientific-0.3.6.2.log delete mode 100644 .stack-work/logs/semigroupoids-5.3.2.log delete mode 100644 .stack-work/logs/semigroups-0.18.5.log delete mode 100644 .stack-work/logs/split-0.2.3.3.log delete mode 100644 .stack-work/logs/storable-complex-0.2.3.0.log delete mode 100644 .stack-work/logs/syb-0.7.log delete mode 100644 .stack-work/logs/tagged-0.8.6.log delete mode 100644 .stack-work/logs/th-abstraction-0.2.11.0.log delete mode 100644 .stack-work/logs/transformers-base-0.4.5.2.log delete mode 100644 .stack-work/logs/transformers-compat-0.6.5.log delete mode 100644 .stack-work/logs/unordered-containers-0.2.9.0.log delete mode 100644 .stack-work/logs/vector-0.12.0.3.log delete mode 100644 .stack-work/logs/void-0.7.3.log diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8ee1bf9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.stack-work diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens deleted file mode 100755 index 9ca59a9..0000000 Binary files a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens and /dev/null differ diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.hi b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.hi deleted file mode 100644 index 9e3e3a5..0000000 Binary files a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.hi and /dev/null differ diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.o b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.o deleted file mode 100644 index 1dadf1b..0000000 Binary files a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/Main.o and /dev/null differ diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/src/Main.dump-hi b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/src/Main.dump-hi deleted file mode 100644 index f380580..0000000 --- a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/8queens-tmp/src/Main.dump-hi +++ /dev/null @@ -1,2517 +0,0 @@ - -==================== FINAL INTERFACE ==================== -2019-05-29 23:57:35.287700482 UTC - -interface main:Main 8065 - interface hash: 47c5f1b0ac88d7964b8d3ff4b4c5ad24 - ABI hash: 6a25402bbb47d2db70b5fccc80b8cd10 - export-list hash: 14799b7f7205366154cf4737867653f6 - orphan hash: 544728fd6478f60c87fd98f72c918bf5 - flag hash: 1638722aa932cf70c70adfffb210f5e7 - opt_hash: 6faf2de08de32d19db9870899d88e59a - hpc_hash: 93b885adfe0da089cdf634904fd59f71 - plugin_hash: ad164012d6b1e14942349d58b1132007 - sig of: Nothing - used TH splices: False - where -exports: - Main.allPositions - Main.allops - Main.applyop - Main.applyops - Main.diag - Main.diag'' - Main.getColL - Main.getDiagL - Main.getRowColDiag - Main.getRowL - Main.initBoard - Main.isWinnable - Main.isWinnable' - Main.lo8 - Main.main - Main.mapDiag - Main.mapQueensPath - Main.mapRowColDiag - Main.markX - Main.nextAvail - Main.nextOpen - Main.onBoard - Main.openPositions - Main.ops - Main.placeQueen - Main.placeQueen' - Main.queenAllowed - Main.s - Main.scanBoard - Main.solve - Main.w - Main.winnable - Main.winners - Main.winners' - Main.Square{Main.O Main.Qu Main.T Main.X} -module dependencies: -package dependencies: StateVar-1.1.1.1 adjunctions-4.4 - array-0.5.3.0 base-4.12.0.0 base-orphans-0.8.1 bifunctors-5.5.4 - binary-0.8.6.0 bytes-0.15.5 bytestring-0.10.8.2 call-stack-0.1.0 - cereal-0.5.8.0 comonad-5.0.5 containers-0.6.0.1 contravariant-1.5.1 - deepseq-1.4.4.0 distributive-0.6 exceptions-0.10.2 free-5.1.1 - ghc-boot-th-8.6.5 ghc-prim-0.5.3 hashable-1.2.7.0 - integer-gmp-1.0.2.0 integer-logarithms-1.0.3 kan-extensions-5.2 - lens-4.17.1 linear-1.20.9 loop-0.3.0 matrix-0.3.6.1 mtl-2.2.2 - pretty-1.1.3.6 primitive-0.6.4.0 profunctors-5.3 random-1.1 - reflection-2.1.4 scientific-0.3.6.2 semigroupoids-5.3.2 stm-2.5.0.0 - tagged-0.8.6 template-haskell-2.14.0.0 text-1.2.3.1 - th-abstraction-0.2.11.0 time-1.8.0.2 transformers-0.5.6.2 - transformers-base-0.4.5.2 transformers-compat-0.6.5 - unordered-containers-0.2.9.0 vector-0.12.0.3 -orphans: time-1.8.0.2:Data.Time.Clock.TAI - reflection-2.1.4:Data.Reflection - vector-0.12.0.3:Data.Vector.Unboxed stm-2.5.0.0:Control.Monad.STM - hashable-1.2.7.0:Data.Hashable.Generic text-1.2.3.1:Data.Text.Lazy - text-1.2.3.1:Data.Text binary-0.8.6.0:Data.Binary.Generic - bytestring-0.10.8.2:Data.ByteString.Builder - text-1.2.3.1:Data.Text.Show linear-1.20.9:Linear.Instances - vector-0.12.0.3:Data.Vector.Fusion.Bundle - transformers-0.5.6.2:Control.Monad.Trans.Error - time-1.8.0.2:Data.Time.Format.Parse - time-1.8.0.2:Data.Time.LocalTime.Internal.ZonedTime - time-1.8.0.2:Data.Time.LocalTime.Internal.LocalTime - time-1.8.0.2:Data.Time.Calendar.Gregorian base-4.12.0.0:GHC.Float - base-4.12.0.0:GHC.Base -family instance modules: adjunctions-4.4:Data.Functor.Rep - base-4.12.0.0:Control.Applicative base-4.12.0.0:Data.Complex - base-4.12.0.0:Data.Functor.Compose base-4.12.0.0:Data.Functor.Const - base-4.12.0.0:Data.Functor.Identity - base-4.12.0.0:Data.Functor.Product base-4.12.0.0:Data.Functor.Sum - base-4.12.0.0:Data.Monoid base-4.12.0.0:Data.Semigroup - base-4.12.0.0:Data.Semigroup.Internal base-4.12.0.0:Data.Version - base-4.12.0.0:Data.Void base-4.12.0.0:GHC.Exts - base-4.12.0.0:GHC.Generics base-4.12.0.0:GHC.IO.Exception - bifunctors-5.5.4:Data.Bifunctor.Biff - bifunctors-5.5.4:Data.Bifunctor.Clown - bifunctors-5.5.4:Data.Bifunctor.Fix - bifunctors-5.5.4:Data.Bifunctor.Flip - bifunctors-5.5.4:Data.Bifunctor.Join - bifunctors-5.5.4:Data.Bifunctor.Joker - bifunctors-5.5.4:Data.Bifunctor.Product - bifunctors-5.5.4:Data.Bifunctor.Sum - bifunctors-5.5.4:Data.Bifunctor.Tannen - bifunctors-5.5.4:Data.Bifunctor.Wrapped bytes-0.15.5:Data.Bytes.Get - bytes-0.15.5:Data.Bytes.Signed bytes-0.15.5:Data.Bytes.VarInt - containers-0.6.0.1:Data.IntMap.Internal - containers-0.6.0.1:Data.IntSet.Internal - containers-0.6.0.1:Data.Map.Internal - containers-0.6.0.1:Data.Sequence.Internal - containers-0.6.0.1:Data.Set.Internal containers-0.6.0.1:Data.Tree - free-5.1.1:Control.Comonad.Cofree - free-5.1.1:Control.Comonad.Trans.Cofree - free-5.1.1:Control.Monad.Free free-5.1.1:Control.Monad.Trans.Free - ghc-boot-th-8.6.5:GHC.ForeignSrcLang.Type - ghc-boot-th-8.6.5:GHC.LanguageExtensions.Type - kan-extensions-5.2:Data.Functor.Day - kan-extensions-5.2:Data.Functor.Yoneda lens-4.17.1:Control.Lens.At - lens-4.17.1:Control.Lens.Internal.Indexed - lens-4.17.1:Control.Lens.Reified lens-4.17.1:Control.Lens.Tuple - lens-4.17.1:Control.Lens.Wrapped lens-4.17.1:Control.Lens.Zoom - linear-1.20.9:Linear.V linear-1.20.9:Linear.V1 - linear-1.20.9:Linear.V2 linear-1.20.9:Linear.V3 - matrix-0.3.6.1:Data.Matrix - pretty-1.1.3.6:Text.PrettyPrint.Annotated.HughesPJ - pretty-1.1.3.6:Text.PrettyPrint.HughesPJ - primitive-0.6.4.0:Control.Monad.Primitive - primitive-0.6.4.0:Data.Primitive.Array - primitive-0.6.4.0:Data.Primitive.ByteArray - primitive-0.6.4.0:Data.Primitive.PrimArray - primitive-0.6.4.0:Data.Primitive.SmallArray - primitive-0.6.4.0:Data.Primitive.UnliftedArray - profunctors-5.3:Data.Profunctor.Composition - profunctors-5.3:Data.Profunctor.Rep tagged-0.8.6:Data.Tagged - template-haskell-2.14.0.0:Language.Haskell.TH.Syntax - text-1.2.3.1:Data.Text text-1.2.3.1:Data.Text.Lazy - th-abstraction-0.2.11.0:Language.Haskell.TH.Datatype - unordered-containers-0.2.9.0:Data.HashMap.Base - unordered-containers-0.2.9.0:Data.HashSet - vector-0.12.0.3:Data.Vector vector-0.12.0.3:Data.Vector.Primitive - vector-0.12.0.3:Data.Vector.Storable - vector-0.12.0.3:Data.Vector.Unboxed - vector-0.12.0.3:Data.Vector.Unboxed.Base -import -/ base-4.12.0.0:Control.Applicative 2ae514eb141d45774730765c61bb41c0 -import -/ base-4.12.0.0:Data.Foldable efb37371da929e7bc88d896298d2d979 -import -/ base-4.12.0.0:Data.List 17d0c71c557e42abe196f130788fd997 -import -/ base-4.12.0.0:Data.OldList e931cf456dc87f11ee6e6fb153bca23e -import -/ base-4.12.0.0:Data.Tuple c719fc29608fe81c10bee9a1bf1e05ff -import -/ base-4.12.0.0:Foreign.Storable 379843bb6beffe814f03155babd3a2a1 -import -/ base-4.12.0.0:GHC.Base c00b75f0b052d05c55ba6a4dd1c63b26 -import -/ base-4.12.0.0:GHC.Err ea5e313ef4146b40b5d8b27aa168e736 -import -/ base-4.12.0.0:GHC.List 4014a3c8a3b7c31c8325f6bcf1feea4a -import -/ base-4.12.0.0:GHC.Num c2039f03637c68f47b0bbff4c18ec616 -import -/ base-4.12.0.0:GHC.Show 838a5d039379d82d9626aae53dfce276 -import -/ base-4.12.0.0:Prelude 3c779dfd6448bdd8e234c336802c2acb -import -/ base-4.12.0.0:System.IO dd4f3cfe73b94b7cae46a4ca98a3f09f -import -/ ghc-prim-0.5.3:GHC.Classes 0f6fd7d7db53fc48f6e1f01803cc6c9d -import -/ ghc-prim-0.5.3:GHC.Types 57064c9f957b09bc2e360061ad5cae0b -import -/ lens-4.17.1:Control.Lens 3653945a21240fa9b051785ff6456731 -import -/ linear-1.20.9:Linear.V2 d56aa147d201434486a0d7613b12118c -import -/ linear-1.20.9:Linear.V3 1dcebeca95d66b9152a160ce7257a571 -import -/ matrix-0.3.6.1:Data.Matrix 352cbb223ecd1589261f36f7ff17bc9c -import -/ random-1.1:System.Random c6898761a03910f08acbe56f79c5fa96 -import -/ vector-0.12.0.3:Data.Vector 2f7b7a0ec8b90d2d82b017d1a022e0b2 -636ccc849665ce7c3156c440898486e4 - $fEqSquare :: GHC.Classes.Eq Main.Square - DFunId - {- HasNoCafRefs, Strictness: m, Inline: CONLIKE, - Unfolding: DFun:. - @ Main.Square Main.$fEqSquare_$c== Main.$fEqSquare_$c/= -} -636ccc849665ce7c3156c440898486e4 - $fEqSquare_$c/= :: Main.Square -> Main.Square -> GHC.Types.Bool - {- Arity: 2, HasNoCafRefs, Strictness: , - Inline: (sat-args=2), - Unfolding: InlineRule (2, False, False) - (\ (x :: Main.Square) (y :: Main.Square) -> - case x of wild { - Main.X - -> case y of wild1 { - DEFAULT -> GHC.Types.True Main.X -> GHC.Types.False } - Main.Qu - -> case y of wild1 { - DEFAULT -> GHC.Types.True Main.Qu -> GHC.Types.False } - Main.O - -> case y of wild1 { - DEFAULT -> GHC.Types.True Main.O -> GHC.Types.False } - Main.T - -> case y of wild1 { - DEFAULT -> GHC.Types.True Main.T -> GHC.Types.False } }) -} -636ccc849665ce7c3156c440898486e4 - $fEqSquare_$c== :: Main.Square -> Main.Square -> GHC.Types.Bool - {- Arity: 2, HasNoCafRefs, Strictness: , - Unfolding: (\ (ds :: Main.Square) (ds1 :: Main.Square) -> - case ds of wild { - Main.X - -> case ds1 of wild1 { - DEFAULT -> GHC.Types.False Main.X -> GHC.Types.True } - Main.Qu - -> case ds1 of wild1 { - DEFAULT -> GHC.Types.False Main.Qu -> GHC.Types.True } - Main.O - -> case ds1 of wild1 { - DEFAULT -> GHC.Types.False Main.O -> GHC.Types.True } - Main.T - -> case ds1 of wild1 { - DEFAULT -> GHC.Types.False Main.T -> GHC.Types.True } }) -} -636ccc849665ce7c3156c440898486e4 - $fShowSquare :: GHC.Show.Show Main.Square - DFunId - {- Strictness: m, Inline: CONLIKE, - Unfolding: DFun:. - @ Main.Square - Main.$fShowSquare_$cshowsPrec - Main.$fShowSquare_$cshow - Main.$fShowSquare_$cshowList -} -4034c5a8da4227c6e128ffb263a94e31 - $fShowSquare1 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.$fShowSquare2) -} -83314de2c755664d070f9c06df865e32 - $fShowSquare2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("T"#) -} -49ff713629ce3b98fedf0d710cd5834f - $fShowSquare3 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.$fShowSquare4) -} -15c027c2ef0f750ada425ea516d40011 - $fShowSquare4 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("O"#) -} -a85da46c93392bfafc9def26682718a0 - $fShowSquare5 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.$fShowSquare6) -} -2ab4bcdf43d08eb2889562449df03bd4 - $fShowSquare6 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("Qu"#) -} -e23edf746cf45789786f8cf7d218e23c - $fShowSquare7 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.$fShowSquare8) -} -0f48faaafde9dbcb6bdc9acd532c3d1f - $fShowSquare8 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("X"#) -} -636ccc849665ce7c3156c440898486e4 - $fShowSquare_$cshow :: Main.Square -> GHC.Base.String - {- Arity: 1, Strictness: , - Unfolding: InlineRule (1, True, False) - (\ (x :: Main.Square) -> - case x of wild { - Main.X -> Main.$fShowSquare7 - Main.Qu -> Main.$fShowSquare5 - Main.O -> Main.$fShowSquare3 - Main.T -> Main.$fShowSquare1 }) -} -636ccc849665ce7c3156c440898486e4 - $fShowSquare_$cshowList :: [Main.Square] -> GHC.Show.ShowS - {- Arity: 2, Strictness: , - Unfolding: InlineRule (2, True, False) - (\ (ls :: [Main.Square]) (s1 :: GHC.Base.String) -> - GHC.Show.showList__ @ Main.Square Main.$w$cshowsPrec ls s1) -} -636ccc849665ce7c3156c440898486e4 - $fShowSquare_$cshowsPrec :: - GHC.Types.Int -> Main.Square -> GHC.Show.ShowS - {- Arity: 3, Strictness: , Inline: [2], - Unfolding: InlineRule (3, True, True) - (\ (w1 :: GHC.Types.Int) - (w2 :: Main.Square) - (w3 :: GHC.Base.String) -> - Main.$w$cshowsPrec w2 w3) -} -16f9cbadd6cc253275bae13256416fc2 - $s$fEq(,) :: GHC.Classes.Eq (GHC.Types.Int, GHC.Types.Int) - {- HasNoCafRefs, Strictness: m, Inline: CONLIKE, - Unfolding: DFun:. - @ (GHC.Types.Int, GHC.Types.Int) - (GHC.Classes.$fEq(,)_$c== - @ GHC.Types.Int - @ GHC.Types.Int - GHC.Classes.$fEqInt - GHC.Classes.$fEqInt) - Main.$s$fEq(,)_$s$fEq(,)_$c/= -} -d9c29de69e24759049df94d820948480 - $s$fEq(,)_$s$fEq(,)_$c/= :: - (GHC.Types.Int, GHC.Types.Int) - -> (GHC.Types.Int, GHC.Types.Int) -> GHC.Types.Bool - {- Arity: 2, HasNoCafRefs, - Strictness: , - Inline: (sat-args=2), - Unfolding: InlineRule (2, False, False) - (\ (x :: (GHC.Types.Int, GHC.Types.Int)) - (y :: (GHC.Types.Int, GHC.Types.Int)) -> - case x of wild { (,) a1 a2 -> - case y of wild1 { (,) b1 b2 -> - case GHC.Classes.eqInt a1 b1 of wild2 { - GHC.Types.False -> GHC.Types.True - GHC.Types.True - -> case GHC.Classes.eqInt a2 b2 of wild3 { - GHC.Types.False -> GHC.Types.True - GHC.Types.True -> GHC.Types.False } } } }) -} -a5aa05036c6055a96ceac3d767cdd7d3 - $ssubtract :: GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int - {- Arity: 2, HasNoCafRefs, Strictness: m, - Inline: (sat-args=2), - Unfolding: InlineRule (2, False, True) - (\ (x :: GHC.Types.Int) (y :: GHC.Types.Int) -> - GHC.Num.$fNumInt_$c- y x) -} -4b1b8958426064b7d9309d9d2fdefe7c - $ssubtract1 :: - GHC.Integer.Type.Integer - -> GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer - {- Arity: 2, Strictness: , Inline: (sat-args=2), - Unfolding: InlineRule (2, False, True) - (\ (x :: GHC.Integer.Type.Integer) - (y :: GHC.Integer.Type.Integer) -> - GHC.Integer.Type.minusInteger y x) -} -6611e1da6e72881a60833105d1d890e3 - $tc'O :: GHC.Types.TyCon - {- HasNoCafRefs, Strictness: m, - Unfolding: (GHC.Types.TyCon - 9675801932394384788## - 6712316648948115877## - Main.$trModule - Main.$tc'O2 - 0# - Main.$tc'O1) -} -be5d1f5fee02b88e4232cb81c2af2579 - $tc'O1 :: GHC.Types.KindRep - {- HasNoCafRefs, Strictness: m1, Inline: [~] -} -ff261ad5b24f7fdd4296a33c047646a3 - $tc'O2 :: GHC.Types.TrName - {- HasNoCafRefs, Strictness: m1, - Unfolding: (GHC.Types.TrNameS Main.$tc'O3) -} -ef99b4220de234abd7b20254f6eb8a41 - $tc'O3 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("'O"#) -} -ee107ec2d080306c47caa0ad45ca2789 - $tc'Qu :: GHC.Types.TyCon - {- HasNoCafRefs, Strictness: m, - Unfolding: (GHC.Types.TyCon - 17979074984894399304## - 18119058677283552676## - Main.$trModule - Main.$tc'Qu1 - 0# - Main.$tc'O1) -} -aa91b9b113b846476e7a8ca91ca447fa - $tc'Qu1 :: GHC.Types.TrName - {- HasNoCafRefs, Strictness: m1, - Unfolding: (GHC.Types.TrNameS Main.$tc'Qu2) -} -ad8c06afed71d1de83408f6e00133f92 - $tc'Qu2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("'Qu"#) -} -41821a7de349be54ac630d2049b64a42 - $tc'T :: GHC.Types.TyCon - {- HasNoCafRefs, Strictness: m, - Unfolding: (GHC.Types.TyCon - 15564654814037795574## - 9702549696965301893## - Main.$trModule - Main.$tc'T1 - 0# - Main.$tc'O1) -} -82969608b13a211f112632f79676d867 - $tc'T1 :: GHC.Types.TrName - {- HasNoCafRefs, Strictness: m1, - Unfolding: (GHC.Types.TrNameS Main.$tc'T2) -} -187cc49652b02277d0b99ae5ea1a5fd9 - $tc'T2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("'T"#) -} -581a21f4a7e2a1d9b2996ff8c471b022 - $tc'X :: GHC.Types.TyCon - {- HasNoCafRefs, Strictness: m, - Unfolding: (GHC.Types.TyCon - 5225325308912582631## - 14983302646393556978## - Main.$trModule - Main.$tc'X1 - 0# - Main.$tc'O1) -} -3a2176738fada4904e3cf07296e7fdfd - $tc'X1 :: GHC.Types.TrName - {- HasNoCafRefs, Strictness: m1, - Unfolding: (GHC.Types.TrNameS Main.$tc'X2) -} -568425ffbb1010e85481e6073e42496e - $tc'X2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("'X"#) -} -dbf71b2385a61bc04046efc2d3fd1efc - $tcSquare :: GHC.Types.TyCon - {- HasNoCafRefs, Strictness: m, - Unfolding: (GHC.Types.TyCon - 10164887948691462873## - 15713138518001860047## - Main.$trModule - Main.$tcSquare1 - 0# - GHC.Types.krep$*) -} -375635f77e678ce251c5463aacfeeccd - $tcSquare1 :: GHC.Types.TrName - {- HasNoCafRefs, Strictness: m1, - Unfolding: (GHC.Types.TrNameS Main.$tcSquare2) -} -28ba19c10877e3323cf2c279f530ca96 - $tcSquare2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("Square"#) -} -be86c9d078d3acbf19ba91fe74a24273 - $trModule :: GHC.Types.Module - {- HasNoCafRefs, Strictness: m, - Unfolding: (GHC.Types.Module Main.$trModule3 Main.$trModule1) -} -b09d86f2c49dd5176b544d8d13ddb6c5 - $trModule1 :: GHC.Types.TrName - {- HasNoCafRefs, Strictness: m1, - Unfolding: (GHC.Types.TrNameS Main.$trModule2) -} -e5875966b74dad2d29772660b8a75e33 - $trModule2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("Main"#) -} -23b03bd7d075a00f5ad1ee10e6add7b8 - $trModule3 :: GHC.Types.TrName - {- HasNoCafRefs, Strictness: m1, - Unfolding: (GHC.Types.TrNameS Main.$trModule4) -} -d026be77cb9ced20e35a61514e0458aa - $trModule4 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("main"#) -} -636ccc849665ce7c3156c440898486e4 - $w$cshowsPrec :: Main.Square -> GHC.Base.String -> GHC.Base.String - {- Arity: 2, Strictness: , Inline: [2], - Unfolding: (\ (w1 :: Main.Square) (w2 :: GHC.Base.String) -> - case w1 of wild { - Main.X -> GHC.Base.++ @ GHC.Types.Char Main.$fShowSquare7 w2 - Main.Qu -> GHC.Base.++ @ GHC.Types.Char Main.$fShowSquare5 w2 - Main.O -> GHC.Base.++ @ GHC.Types.Char Main.$fShowSquare3 w2 - Main.T -> GHC.Base.++ @ GHC.Types.Char Main.$fShowSquare1 w2 }) -} -98dbe0ea72c75ba926317b7f7608e4d8 - $wdiag :: - GHC.Prim.Int# - -> GHC.Types.Int - -> Data.Matrix.Matrix a - -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 3, HasNoCafRefs, - Strictness: , Inline: [2], - Unfolding: (\ @ a - (ww :: GHC.Prim.Int#) - (ww1 :: GHC.Types.Int) - (w1 :: Data.Matrix.Matrix a) -> - let { - $wc :: (GHC.Types.Int -> GHC.Types.Int) - -> (GHC.Types.Int -> GHC.Types.Int) - -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 2, Strictness: , Inline: [2] -} - = \ (ww2 :: GHC.Types.Int -> GHC.Types.Int) - (ww3 :: GHC.Types.Int -> GHC.Types.Int)[OneShot] -> - letrec { - $wgo2 :: GHC.Prim.Int# - -> GHC.Types.Int -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 2, Strictness: , Inline: [2] -} - = \ (ww4 :: GHC.Prim.Int#) (ww5 :: GHC.Types.Int) -> - case GHC.Prim.>=# ww4 1# of lwild { - DEFAULT -> GHC.Types.[] @ (GHC.Types.Int, GHC.Types.Int) - 1# - -> case w1 of wild { Data.Matrix.M dt dt1 dt2 dt3 dt4 ds1 -> - case GHC.Prim.<=# ww4 dt of lwild1 { - DEFAULT -> GHC.Types.[] @ (GHC.Types.Int, GHC.Types.Int) - 1# - -> case ww5 of wild1 { GHC.Types.I# x -> - case GHC.Prim.>=# x 1# of lwild2 { - DEFAULT -> GHC.Types.[] @ (GHC.Types.Int, GHC.Types.Int) - 1# - -> case GHC.Prim.<=# x dt1 of lwild3 { - DEFAULT -> GHC.Types.[] @ (GHC.Types.Int, GHC.Types.Int) - 1# - -> let { - i :: GHC.Types.Int = GHC.Types.I# ww4 - } in - GHC.Types.: - @ (GHC.Types.Int, GHC.Types.Int) - (i, wild1) - (case ww2 i of ww6 { GHC.Types.I# ww7 -> - $wgo2 ww7 (ww3 wild1) }) } } } } } } - } in - $wgo2 ww ww1 - } in - GHC.Base.++ - @ (GHC.Types.Int, GHC.Types.Int) - ($wc Main.diag_a Main.diag_a) - (GHC.Base.++ - @ (GHC.Types.Int, GHC.Types.Int) - ($wc Main.diag_a Main.diag_b) - (GHC.Base.++ - @ (GHC.Types.Int, GHC.Types.Int) - ($wc Main.diag_b Main.diag_a) - (GHC.Base.++ - @ (GHC.Types.Int, GHC.Types.Int) - ($wc Main.diag_b Main.diag_b) - (GHC.Types.[] @ (GHC.Types.Int, GHC.Types.Int)))))) -} -2caee5b49997123c1e51e55e4c8a1465 - $wdiag'' :: - (GHC.Num.Num b, GHC.Enum.Enum b, GHC.Num.Num a) => - (a -> a -> [a]) -> a -> b -> [(a, b)] - {- Arity: 6, HasNoCafRefs, - Strictness: , - Inline: [2] -} -e7b8a501f5fd9578b49e2b724f683bc8 - $wgetDiagL :: - GHC.Prim.Int# -> GHC.Types.Int -> Data.Matrix.Matrix a -> [a] - {- Arity: 3, Strictness: , - Inline: [2], - Unfolding: (\ @ a - (ww :: GHC.Prim.Int#) - (ww1 :: GHC.Types.Int) - (w1 :: Data.Matrix.Matrix a) -> - GHC.Base.map - @ (GHC.Types.Int, GHC.Types.Int) - @ a - (\ (x :: (GHC.Types.Int, GHC.Types.Int)) -> Data.Matrix.! @ a w1 x) - (Main.$wdiag @ a ww ww1 w1)) -} -11f7664f4ae85858621cfb12a0fb3060 - $wgetRowColDiag :: - GHC.Types.Int - -> GHC.Types.Int - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> Data.Vector.Vector a - -> [((GHC.Types.Int, GHC.Types.Int), a)] - {- Arity: 8, - Strictness: , - Inline: [2] -} -947a5776179f0c1f40c4a8ad30b9fd68 - $wgo :: [Main.Square] -> GHC.Prim.Int# -> GHC.Types.Int - {- Arity: 2, HasNoCafRefs, Strictness: m, - Inline: [2] -} -715619f66da8ee3670b7cc69be050c49 - $wisWinnable :: - GHC.Prim.Int# -> Data.Matrix.Matrix Main.Square -> GHC.Types.Bool - {- Arity: 2, Strictness: , - Inline: [2], - Unfolding: (\ (ww :: GHC.Prim.Int#) - (w1 :: Data.Matrix.Matrix Main.Square) -> - case GHC.Base.map - @ GHC.Types.Int - @ GHC.Types.Int - (\ (x :: GHC.Types.Int) -> - Main.$wgo (Main.getRowL @ Main.Square x w1) 0#) - Main.isWinnable1 of wild { - [] -> case GHC.List.maximum2 ret_ty GHC.Types.Bool of {} - : ipv ipv1 - -> case ipv of ww1 { GHC.Types.I# ww2 -> - case GHC.List.$wgo ipv1 ww2 of ww3 { DEFAULT -> - case GHC.Prim.<=# ww ww3 of lwild { - DEFAULT -> GHC.Types.False - 1# - -> case GHC.Base.map - @ GHC.Types.Int - @ GHC.Types.Int - (\ (x :: GHC.Types.Int) -> - Main.$wgo (Main.getColL @ Main.Square x w1) 0#) - Main.isWinnable1 of wild1 { - [] -> case GHC.List.maximum2 ret_ty GHC.Types.Bool of {} - : ipv2 ipv3 - -> case ipv2 of ww4 { GHC.Types.I# ww5 -> - case GHC.List.$wgo ipv3 ww5 of ww6 { DEFAULT -> - GHC.Prim.tagToEnum# - @ GHC.Types.Bool - (GHC.Prim.<=# ww ww6) } } } } } } }) -} -29e441a9726247d21b17947cf00c4bf0 - $wisWinnable' :: Data.Matrix.Matrix Main.Square -> [GHC.Types.Char] - {- Arity: 1, Strictness: , Inline: [2], - Unfolding: (\ @ p (w1 :: Data.Matrix.Matrix Main.Square) -> - GHC.CString.unpackAppendCString# - Main.isWinnable'2 - (case GHC.Base.map - @ GHC.Types.Int - @ GHC.Types.Int - (\ (x :: GHC.Types.Int) -> - Main.$wgo (Main.getRowL @ Main.Square x w1) 0#) - Main.isWinnable1 of wild { - [] -> case GHC.List.maximum2 ret_ty [GHC.Types.Char] of {} - : ipv ipv1 - -> case ipv of ww { GHC.Types.I# ww1 -> - case GHC.List.$wgo ipv1 ww1 of ww2 { DEFAULT -> - case GHC.Show.$wshowSignedInt - 0# - ww2 - (GHC.Types.[] @ GHC.Types.Char) of ww4 { (#,#) ww5 ww6 -> - GHC.Base.++_$s++ - @ GHC.Types.Char - (GHC.CString.unpackAppendCString# - Main.isWinnable'1 - (case GHC.Base.map - @ GHC.Types.Int - @ GHC.Types.Int - (\ (x :: GHC.Types.Int) -> - Main.$wgo (Main.getColL @ Main.Square x w1) 0#) - Main.isWinnable1 of wild1 { - [] -> case GHC.List.maximum2 ret_ty [GHC.Types.Char] of {} - : ipv2 ipv3 - -> case ipv2 of ww7 { GHC.Types.I# ww8 -> - case GHC.List.$wgo ipv3 ww8 of ww9 { DEFAULT -> - case GHC.Show.$wshowSignedInt - 0# - ww9 - (GHC.Types.[] - @ GHC.Types.Char) of ww10 { (#,#) ww11 ww12 -> - GHC.Types.: @ GHC.Types.Char ww11 ww12 } } } })) - ww5 - ww6 } } } })) -} -8247c69c6d133659d4fe141dff51dd1d - $wmapDiag :: - ((GHC.Types.Int, GHC.Types.Int) -> a -> a) - -> (GHC.Types.Int, GHC.Types.Int) - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> Data.Vector.Vector a - -> (# GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, - GHC.Prim.Int#, Data.Vector.Vector a #) - {- Arity: 8, - Strictness: , - Inline: [2] -} -e1877462335ec1fb231f811fd98a6bec - $wmapRowColDiag :: - ((GHC.Types.Int, GHC.Types.Int) -> a -> a) - -> GHC.Types.Int - -> GHC.Types.Int - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> Data.Vector.Vector a - -> (# GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, - GHC.Prim.Int#, Data.Vector.Vector a #) - {- Arity: 9, - Strictness: , - Inline: [2] -} -d7372687809e115753d3bf6bcf601536 - $wmarkX :: - (GHC.Types.Int, GHC.Types.Int) - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> Data.Vector.Vector Main.Square - -> (# GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, - GHC.Prim.Int#, Data.Vector.Vector Main.Square #) - {- Arity: 7, - Strictness: , - Inline: [2], - Unfolding: (\ (w1 :: (GHC.Types.Int, GHC.Types.Int)) - (ww :: GHC.Prim.Int#) - (ww1 :: GHC.Prim.Int#) - (ww2 :: GHC.Prim.Int#) - (ww3 :: GHC.Prim.Int#) - (ww4 :: GHC.Prim.Int#) - (ww5 :: Data.Vector.Vector Main.Square) -> - (# ww, ww1, ww2, ww3, ww4, - case ww5 of v2 { Data.Vector.Vector ipv ipv1 ipv2 -> - case GHC.Magic.runRW# - @ ('GHC.Types.TupleRep - '[ 'GHC.Types.TupleRep '[], 'GHC.Types.LiftedRep]) - @ (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - (\ (s1 :: GHC.Prim.State# GHC.Prim.RealWorld)[OneShot] -> - case GHC.Prim.>=# ipv1 0# of lwild { - DEFAULT - -> case Main.markX2 ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.newArray# - @ Main.Square - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - ipv1 - (Data.Vector.Mutable.uninitialised @ Main.Square) - s1 - `cast` - (GHC.Prim.State# - (Sym (Control.Monad.Primitive.D:R:PrimStateST[0] - _N)))_R of ds1 { (#,#) ipv3 ipv4 -> - case GHC.Prim.copyArray# - @ Main.Square - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - ipv2 - ipv - ipv4 - 0# - ipv1 - ipv3 of s'# { DEFAULT -> - case w1 of wild2 { (,) i j -> - case i of wild3 { GHC.Types.I# x1 -> - case j of wild4 { GHC.Types.I# x2 -> - let { - x :: GHC.Prim.Int# - = GHC.Prim.-# - (GHC.Prim.+# - (GHC.Prim.*# (GHC.Prim.-# (GHC.Prim.+# x1 ww2) 1#) ww4) - (GHC.Prim.+# x2 ww3)) - 1# - } in - case GHC.Prim.>=# x 0# of lwild1 { - DEFAULT - -> case Main.markX1 @ GHC.Prim.RealWorld x ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.<# x ipv1 of lwild2 { - DEFAULT - -> case Main.markX1 @ GHC.Prim.RealWorld x ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.writeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv4 - x - Main.X - s'# of s'#1 { DEFAULT -> - case GHC.Prim.unsafeFreezeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv4 - s'#1 of ds2 { (#,#) ipv5 ipv6 -> - (# ipv5 - `cast` - (GHC.Prim.State# - (Control.Monad.Primitive.D:R:PrimStateST[0] - _N))_R, - Data.Vector.Vector - @ Main.Square - 0# - ipv1 - ipv6 #) } } } } } } } } } }) of ds1 { (#,#) ipv3 ipv4 -> - ipv4 } } #)) -} -4085aa77d3428b41dae9dfa21d22b863 - $wnextAvail :: - GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> Data.Vector.Vector Main.Square - -> (GHC.Types.Int, GHC.Types.Int) - {- Arity: 6, Strictness: m, - Inline: [2], - Unfolding: (\ (ww :: GHC.Prim.Int#) - (ww1 :: GHC.Prim.Int#) - (ww2 :: GHC.Prim.Int#) - (ww3 :: GHC.Prim.Int#) - (ww4 :: GHC.Prim.Int#) - (ww5 :: Data.Vector.Vector Main.Square) -> - case Main.nextAvail_$sscanBoard - Main.O - (Data.Matrix.M @ Main.Square ww ww1 ww2 ww3 ww4 ww5) of wild { - [] -> GHC.List.badHead @ (GHC.Types.Int, GHC.Types.Int) - : y ys - -> case y of ww6 { (,) ww7 ww8 -> - letrec { - go1 :: [((GHC.Types.Int, GHC.Types.Int), Main.Square)] - -> (GHC.Types.Int, GHC.Types.Int) - {- Arity: 1, Strictness: m -} - = \ (ds :: [((GHC.Types.Int, GHC.Types.Int), Main.Square)]) -> - case ds of wild1 { - [] -> ww6 - : y1 ys1 - -> case y1 of wild2 { (,) ds1 y2 -> - case y2 of wild3 { - DEFAULT -> GHC.List.badHead @ (GHC.Types.Int, GHC.Types.Int) - Main.O -> go1 ys1 } } } - } in - go1 - (Main.$wgetRowColDiag - @ Main.Square - ww7 - ww8 - ww - ww1 - ww2 - ww3 - ww4 - ww5) } }) -} -2e97ede5368f9c2d2ff84f5bb17c4af3 - $wplaceQueen :: - GHC.Types.Int - -> GHC.Types.Int - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> Data.Vector.Vector Main.Square - -> (# GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, - GHC.Prim.Int#, Data.Vector.Vector Main.Square #) - {- Arity: 8, - Strictness: , - Inline: [2], - Unfolding: (\ (ww :: GHC.Types.Int) - (ww1 :: GHC.Types.Int) - (ww2 :: GHC.Prim.Int#) - (ww3 :: GHC.Prim.Int#) - (ww4 :: GHC.Prim.Int#) - (ww5 :: GHC.Prim.Int#) - (ww6 :: GHC.Prim.Int#) - (ww7 :: Data.Vector.Vector Main.Square) -> - case Main.$wmapRowColDiag - @ Main.Square - Main.placeQueen1 - ww - ww1 - ww2 - ww3 - ww4 - ww5 - ww6 - ww7 of ww8 { (#,,,,,#) ww9 ww10 ww11 ww12 ww13 ww14 -> - (# ww9, ww10, ww11, ww12, ww13, - case ww14 of v2 { Data.Vector.Vector ipv ipv1 ipv2 -> - case GHC.Magic.runRW# - @ ('GHC.Types.TupleRep - '[ 'GHC.Types.TupleRep '[], 'GHC.Types.LiftedRep]) - @ (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - (\ (s1 :: GHC.Prim.State# GHC.Prim.RealWorld)[OneShot] -> - case GHC.Prim.>=# ipv1 0# of lwild { - DEFAULT - -> case Main.markX2 ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.newArray# - @ Main.Square - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - ipv1 - (Data.Vector.Mutable.uninitialised @ Main.Square) - s1 - `cast` - (GHC.Prim.State# - (Sym (Control.Monad.Primitive.D:R:PrimStateST[0] - _N)))_R of ds1 { (#,#) ipv3 ipv4 -> - case GHC.Prim.copyArray# - @ Main.Square - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - ipv2 - ipv - ipv4 - 0# - ipv1 - ipv3 of s'# { DEFAULT -> - case ww of wild3 { GHC.Types.I# x1 -> - case ww1 of wild4 { GHC.Types.I# x2 -> - let { - x :: GHC.Prim.Int# - = GHC.Prim.-# - (GHC.Prim.+# - (GHC.Prim.*# (GHC.Prim.-# (GHC.Prim.+# x1 ww11) 1#) ww13) - (GHC.Prim.+# x2 ww12)) - 1# - } in - case GHC.Prim.>=# x 0# of lwild1 { - DEFAULT - -> case Main.markX1 @ GHC.Prim.RealWorld x ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.<# x ipv1 of lwild2 { - DEFAULT - -> case Main.markX1 @ GHC.Prim.RealWorld x ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.writeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv4 - x - Main.Qu - s'# of s'#1 { DEFAULT -> - case GHC.Prim.unsafeFreezeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv4 - s'#1 of ds2 { (#,#) ipv5 ipv6 -> - (# ipv5 - `cast` - (GHC.Prim.State# - (Control.Monad.Primitive.D:R:PrimStateST[0] - _N))_R, - Data.Vector.Vector - @ Main.Square - 0# - ipv1 - ipv6 #) } } } } } } } } }) of ds1 { (#,#) ipv3 ipv4 -> - ipv4 } } #) }) -} -8ef5fa9322c84b90e14eaeb7d5987990 - $wplaceQueen' :: - GHC.Types.Int - -> GHC.Types.Int - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> GHC.Prim.Int# - -> Data.Vector.Vector Main.Square - -> (# GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, GHC.Prim.Int#, - GHC.Prim.Int#, Data.Vector.Vector Main.Square #) - {- Arity: 8, - Strictness: , - Inline: [2], - Unfolding: (\ (ww :: GHC.Types.Int) - (ww1 :: GHC.Types.Int) - (ww2 :: GHC.Prim.Int#) - (ww3 :: GHC.Prim.Int#) - (ww4 :: GHC.Prim.Int#) - (ww5 :: GHC.Prim.Int#) - (ww6 :: GHC.Prim.Int#) - (ww7 :: Data.Vector.Vector Main.Square) -> - case Data.Matrix.$wmapCol - @ Main.Square - (Main.placeQueen'_fX @ GHC.Types.Int @ Main.Square) - ww1 - ww2 - ww3 - ww4 - ww5 - ww6 - ww7 of ww8 { (#,,,,,#) ww9 ww10 ww11 ww12 ww13 ww14 -> - case Data.Matrix.$wmapRow - @ Main.Square - (Main.placeQueen'_fX @ GHC.Types.Int @ Main.Square) - ww - ww9 - ww10 - ww11 - ww12 - ww13 - ww14 of ww15 { (#,,,,,#) ww16 ww17 ww18 ww19 ww20 ww21 -> - (# ww16, ww17, ww18, ww19, ww20, - case ww21 of v2 { Data.Vector.Vector ipv ipv1 ipv2 -> - case GHC.Magic.runRW# - @ ('GHC.Types.TupleRep - '[ 'GHC.Types.TupleRep '[], 'GHC.Types.LiftedRep]) - @ (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - (\ (s1 :: GHC.Prim.State# GHC.Prim.RealWorld)[OneShot] -> - case GHC.Prim.>=# ipv1 0# of lwild { - DEFAULT - -> case Main.markX2 ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.newArray# - @ Main.Square - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - ipv1 - (Data.Vector.Mutable.uninitialised @ Main.Square) - s1 - `cast` - (GHC.Prim.State# - (Sym (Control.Monad.Primitive.D:R:PrimStateST[0] - _N)))_R of ds1 { (#,#) ipv3 ipv4 -> - case GHC.Prim.copyArray# - @ Main.Square - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - ipv2 - ipv - ipv4 - 0# - ipv1 - ipv3 of s'# { DEFAULT -> - case ww of wild3 { GHC.Types.I# x1 -> - case ww1 of wild4 { GHC.Types.I# x2 -> - let { - x :: GHC.Prim.Int# - = GHC.Prim.-# - (GHC.Prim.+# - (GHC.Prim.*# (GHC.Prim.-# (GHC.Prim.+# x1 ww18) 1#) ww20) - (GHC.Prim.+# x2 ww19)) - 1# - } in - case GHC.Prim.>=# x 0# of lwild1 { - DEFAULT - -> case Main.markX1 @ GHC.Prim.RealWorld x ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.<# x ipv1 of lwild2 { - DEFAULT - -> case Main.markX1 @ GHC.Prim.RealWorld x ipv1 - ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - of {} - 1# - -> case GHC.Prim.writeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv4 - x - Main.Qu - s'# of s'#1 { DEFAULT -> - case GHC.Prim.unsafeFreezeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv4 - s'#1 of ds2 { (#,#) ipv5 ipv6 -> - (# ipv5 - `cast` - (GHC.Prim.State# - (Control.Monad.Primitive.D:R:PrimStateST[0] - _N))_R, - Data.Vector.Vector - @ Main.Square - 0# - ipv1 - ipv6 #) } } } } } } } } }) of ds1 { (#,#) ipv3 ipv4 -> - ipv4 } } #) } }) -} -c57b742ed68452b2e8b2cded00e72e1c - $wsolve :: - GHC.Classes.Eq t => - (t -> t -> GHC.Types.Bool) - -> (t -> t -> GHC.Types.Bool) - -> GHC.Num.Num t => t -> [Data.Matrix.Matrix Main.Square] - {- Arity: 5, - Strictness: , - Inline: [2], - Unfolding: (\ @ t - (ww :: GHC.Classes.Eq t) - (ww1 :: t -> t -> GHC.Types.Bool) - (ww2 :: t -> t -> GHC.Types.Bool) - (w1 :: GHC.Num.Num t) - (w2 :: t) -> - case ww1 w2 (GHC.Num.fromInteger @ t w1 Main.ops5) of wild { - GHC.Types.False - -> case ww2 w2 (GHC.Num.fromInteger @ t w1 Main.lo1) of wild1 { - GHC.Types.False - -> case ww of ww3 { GHC.Classes.C:Eq ww4 ww5 -> - let { - lvl12 :: t = GHC.Num.fromInteger @ t w1 Main.ops5 - } in - let { - lvl13 :: t = GHC.Num.fromInteger @ t w1 Main.lo2 - } in - letrec { - solveN :: t -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: -} - = \ (ds :: t) -> - case ww4 ds lvl13 of wild2 { - GHC.Types.False - -> case ww4 ds lvl12 of wild3 { - GHC.Types.False - -> Main.solve_go (solveN (GHC.Num.- @ t w1 ds lvl12)) - GHC.Types.True -> Main.solve1 } - GHC.Types.True -> GHC.Types.[] @ (Data.Matrix.Matrix Main.Square) } - } in - solveN w2 } - GHC.Types.True -> GHC.Types.[] @ (Data.Matrix.Matrix Main.Square) } - GHC.Types.True - -> GHC.Types.[] @ (Data.Matrix.Matrix Main.Square) }) -} -f5d40babaf79dc225afeeacf39e71d14 - $wwinners :: - (p -> p -> GHC.Types.Bool) - -> GHC.Num.Num p => - p - -> [Data.Matrix.Matrix Main.Square] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 4, - Strictness: , - Inline: [2], - Unfolding: (\ @ p - (ww :: p -> p -> GHC.Types.Bool) - (w1 :: GHC.Num.Num p) - (w2 :: p) - (w3 :: [Data.Matrix.Matrix Main.Square]) -> - let { - lvl12 :: p = GHC.Num.fromInteger @ p w1 Main.ops5 - } in - letrec { - winners2 :: p - -> [Data.Matrix.Matrix Main.Square] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 2, Strictness: -} - = \ (ds :: p) (b :: [Data.Matrix.Matrix Main.Square]) -> - case ww ds lvl12 of wild { - GHC.Types.False - -> winners2 (GHC.Num.- @ p w1 ds lvl12) (Main.winners1 @ p b) - GHC.Types.True -> Main.winners_go b } - } in - winners2 w2 w3) -} -fc231a19666745198b5cad6fbcf77735 - $wwinners' :: - Data.Matrix.Matrix Main.Square -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: , Inline: [2], - Unfolding: (\ @ p (w1 :: Data.Matrix.Matrix Main.Square) -> - letrec { - go1 :: [(GHC.Types.Int, GHC.Types.Int)] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: -} - = \ (ds :: [(GHC.Types.Int, GHC.Types.Int)]) -> - case ds of wild { - [] -> GHC.Types.[] @ (Data.Matrix.Matrix Main.Square) - : y ys - -> case y of ww { (,) ww1 ww2 -> - case w1 of ww3 { Data.Matrix.M ww4 ww5 ww6 ww7 ww8 ww9 -> - let { - exit :: [Data.Matrix.Matrix Main.Square] - = GHC.Types.: - @ (Data.Matrix.Matrix Main.Square) - (case Main.$wplaceQueen - ww1 - ww2 - ww4 - ww5 - ww6 - ww7 - ww8 - ww9 of ww10 { (#,,,,,#) ww11 ww12 ww13 ww14 ww15 ww16 -> - Data.Matrix.M @ Main.Square ww11 ww12 ww13 ww14 ww15 ww16 }) - (go1 ys) - } in - let { - exit1 :: [Data.Matrix.Matrix Main.Square] = go1 ys - } in - letrec { - go2 :: [((GHC.Types.Int, GHC.Types.Int), Main.Square)] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: -} - = \ (ds1 :: [((GHC.Types.Int, GHC.Types.Int), Main.Square)]) -> - case ds1 of wild1 { - [] -> exit - : y1 ys1 - -> case y1 of wild2 { (,) ds2 y2 -> - case y2 of wild3 { DEFAULT -> exit1 Main.O -> go2 ys1 } } } - } in - go2 - (Main.$wgetRowColDiag - @ Main.Square - ww1 - ww2 - ww4 - ww5 - ww6 - ww7 - ww8 - ww9) } } } - } in - go1 (Main.nextAvail_$sscanBoard Main.O w1)) -} -636ccc849665ce7c3156c440898486e4 - data Square = X | Qu | O | T -e6f15f421e1dad77000d8fc6a4ea855b - allPositions :: [(GHC.Types.Int, GHC.Types.Int)] - {- Unfolding: (Main.allPositions_go 1#) -} -346f770a613a5360df15e8c985bdce13 - allPositions_go :: - GHC.Prim.Int# -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 1, HasNoCafRefs, Strictness: -} -194ce8b8e7f8d37be79aac8aa28e9d44 - allops :: b -> b -> [(b, b)] - {- Arity: 2, HasNoCafRefs, Strictness: m2, - Unfolding: InlineRule (2, True, False) - (\ @ b (a :: b) (b1 :: b) -> - GHC.Types.: - @ (b, b) - (a, a) - (GHC.Types.: - @ (b, b) - (a, b1) - (GHC.Types.: - @ (b, b) - (b1, a) - (GHC.Types.: @ (b, b) (b1, b1) (GHC.Types.[] @ (b, b)))))) -} -1510beb52847e90895824612d049f264 - applyop :: (t1, t2) -> (t1 -> a, t2 -> b) -> (a, b) - {- Arity: 2, HasNoCafRefs, - Strictness: m, - Unfolding: InlineRule (2, True, False) - (\ @ t @ t1 @ a @ b (ds :: (t, t1)) (ds1 :: (t -> a, t1 -> b)) -> - case ds of wild { (,) x y -> - case ds1 of wild1 { (,) a1 b1 -> (a1 x, b1 y) } }) -} -6f09b815b2eac49fd5e364003153edb6 - applyops :: - (GHC.Integer.Type.Integer, GHC.Integer.Type.Integer) - -> [(GHC.Integer.Type.Integer, GHC.Integer.Type.Integer)] - {- Arity: 1, Strictness: , - Unfolding: InlineRule (1, True, False) - (\ (p :: (GHC.Integer.Type.Integer, GHC.Integer.Type.Integer)) -> - GHC.Base.build - @ (GHC.Integer.Type.Integer, GHC.Integer.Type.Integer) - (\ @ b1 - (c :: (GHC.Integer.Type.Integer, GHC.Integer.Type.Integer) - -> b1 -> b1)[OneShot] - (n :: b1)[OneShot] -> - GHC.Base.foldr - @ (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - @ b1 - (GHC.Base.mapFB - @ (GHC.Integer.Type.Integer, GHC.Integer.Type.Integer) - @ b1 - @ (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - c - (Main.applyop - @ GHC.Integer.Type.Integer - @ GHC.Integer.Type.Integer - @ GHC.Integer.Type.Integer - @ GHC.Integer.Type.Integer - p)) - n - Main.ops)) -} -3d3675529761c115a8648803688b15f0 - diag :: - (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix a -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 2, HasNoCafRefs, - Strictness: , - Inline: [2], - Unfolding: InlineRule (2, True, False) - (\ @ a - (w1 :: (GHC.Types.Int, GHC.Types.Int)) - (w2 :: Data.Matrix.Matrix a) -> - case w1 of ww { (,) ww1 ww2 -> - case ww1 of ww3 { GHC.Types.I# ww4 -> - Main.$wdiag @ a ww4 ww2 w2 } }) -} -521caf14a897d9945170c2a83c7838bf - diag'' :: - (GHC.Num.Num b, GHC.Enum.Enum b, GHC.Num.Num a, GHC.Enum.Enum a) => - a -> b -> [(a, b)] - {- Arity: 6, HasNoCafRefs, - Strictness: , - Inline: [2], - Unfolding: InlineRule (6, True, False) - (\ @ b - @ a - (w1 :: GHC.Num.Num b) - (w2 :: GHC.Enum.Enum b) - (w3 :: GHC.Num.Num a) - (w4 :: GHC.Enum.Enum a) - (w5 :: a) - (w6 :: b) -> - case w4 of ww { GHC.Enum.C:Enum ww1 ww2 ww3 ww4 ww5 ww6 ww7 ww8 -> - Main.$wdiag'' @ b @ a w1 w2 w3 ww7 w5 w6 }) -} -2189f869b91b6ccf81bf4b6df23487af - diag1 :: GHC.Types.Int - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 1#) -} -4813f5027120582dc077480ee2be320f - diag_a :: GHC.Types.Int -> GHC.Types.Int - {- Arity: 1, HasNoCafRefs, Strictness: m, - Unfolding: InlineRule (1, True, False) - (\ (ds :: GHC.Types.Int) -> - case ds of wild { GHC.Types.I# x -> - GHC.Types.I# (GHC.Prim.+# x 1#) }) -} -90a1a91fcfdff7b345d5ba6f915f51fe - diag_b :: GHC.Types.Int -> GHC.Types.Int - {- Arity: 1, HasNoCafRefs, - Unfolding: (Main.$ssubtract Main.diag1) -} -d565538a2eaa3b46fc2f853fadab9e26 - getColL :: GHC.Types.Int -> Data.Matrix.Matrix b -> [b] - {- Arity: 2, Strictness: , - Unfolding: (\ @ b - (c :: GHC.Types.Int) - (b1 :: Data.Matrix.Matrix b) -> - let { - lvl12 :: GHC.Base.String - = GHC.Show.$fShow(,)_$sgo1 - Main.getColL17 - (\ (w2 :: GHC.Base.String)[OneShot] -> - case c of ww2 { GHC.Types.I# ww3 -> - case GHC.Show.$wshowSignedInt 0# ww3 w2 of ww4 { (#,#) ww5 ww6 -> - GHC.Types.: @ GHC.Types.Char ww5 ww6 } }) - (GHC.Types.[] @ GHC.Show.ShowS) - } in - let { - lvl13 :: [GHC.Types.Char] - = GHC.Types.: @ GHC.Types.Char GHC.Show.showList__1 lvl12 - } in - letrec { - go1 :: GHC.Prim.Int# -> [b] {- Arity: 1, Strictness: -} - = \ (x :: GHC.Prim.Int#) -> - GHC.Types.: - @ b - (case b1 of wild { Data.Matrix.M dt dt1 dt2 dt3 dt4 ds -> - let { - $j :: b {- Strictness: x -} - = GHC.Err.error - @ 'GHC.Types.LiftedRep - @ b - Main.getColL3 - `cast` - (Sym (GHC.Classes.N:IP[0] - <"callStack">_N _N)) - (GHC.CString.unpackAppendCString# - Main.getColL2 - (let { - z :: [GHC.Types.Char] - = GHC.CString.unpackAppendCString# - Main.getColL1 - (case Data.Matrix.$wsizeStr - dt - (GHC.Types.I# dt1) of ww2 { (#,#) ww3 ww4 -> - Main.getColL_go (GHC.Types.: @ GHC.Types.Char ww3 ww4) }) - } in - letrec { - go2 :: [GHC.Types.Char] -> [GHC.Types.Char] - {- Arity: 1, Strictness: -} - = \ (ds1 :: [GHC.Types.Char]) -> - case ds1 of wild1 { - [] -> z : y ys -> GHC.Types.: @ GHC.Types.Char y (go2 ys) } - } in - go2 - (GHC.Types.: - @ GHC.Types.Char - GHC.Show.$fShow(,)4 - (case GHC.Show.$wshowSignedInt - 0# - x - lvl13 of ww4 { (#,#) ww5 ww6 -> - GHC.Types.: @ GHC.Types.Char ww5 ww6 })))) - } in - case GHC.Prim.># x dt of lwild { - DEFAULT - -> case c of wild2 { GHC.Types.I# x1 -> - case GHC.Prim.># x1 dt1 of lwild1 { - DEFAULT - -> case GHC.Prim.<# x 1# of lwild2 { - DEFAULT - -> case GHC.Prim.<# x1 1# of lwild3 { - DEFAULT - -> case ds of wild3 { Data.Vector.Vector dt5 dt6 dt7 -> - case GHC.Prim.indexArray# - @ b - dt7 - (GHC.Prim.-# - (GHC.Prim.+# - dt5 - (GHC.Prim.+# - (GHC.Prim.*# - (GHC.Prim.-# (GHC.Prim.+# x dt2) 1#) - dt4) - (GHC.Prim.+# x1 dt3))) - 1#) of ds2 { Unit# ipv -> - ipv } } - 1# -> $j } - 1# -> $j } - 1# -> $j } } - 1# -> $j } }) - (case x of wild { - DEFAULT -> go1 (GHC.Prim.+# wild 1#) 8# -> GHC.Types.[] @ b }) - } in - go1 1#) -} -59a3d6e7a7d530f2d5917c5d492ef742 - getColL1 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: (" element from a "#) -} -7b742804a973a371e3e88e2b04b6943d - getColL10 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("./Data/Matrix.hs"#) -} -16a55bd560443de3787e26963c224d00 - getColL11 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.getColL12) -} -49b261779522cf2cb70b366e5468ac70 - getColL12 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("Data.Matrix"#) -} -92b62b416ca035d74d9f76c2d45db080 - getColL13 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.getColL14) -} -d70fe03047f9d5d1fbd4af4cf9015d44 - getColL14 :: GHC.Prim.Addr# - {- HasNoCafRefs, - Unfolding: ("matrix-0.3.6.1-CUcUqfmsmAA7saz436AQSk"#) -} -3231f8c7d8c0936ef4d69ce873202d4f - getColL15 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.getColL16) -} -c23d90f9195be571da707594d1a5f451 - getColL16 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("error"#) -} -ff1980320d786af053c918c56beea394 - getColL17 :: [GHC.Types.Char] - {- HasNoCafRefs, Strictness: m2, - Unfolding: (GHC.Types.: - @ GHC.Types.Char - GHC.Show.$fShow(,)2 - (GHC.Types.[] @ GHC.Types.Char)) -} -79518a96650d201c5f67e67a4db3cb67 - getColL2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("getElem: Trying to get the "#) -} -5619add454821844124a1652165aec69 - getColL3 :: GHC.Stack.Types.CallStack - {- Strictness: m2, - Unfolding: (GHC.Stack.Types.PushCallStack - Main.getColL15 - Main.getColL4 - GHC.Stack.Types.EmptyCallStack) -} -eeb651480663ce22e6859c5904879429 - getColL4 :: GHC.Stack.Types.SrcLoc - {- Strictness: m, - Unfolding: (GHC.Stack.Types.SrcLoc - Main.getColL13 - Main.getColL11 - Main.getColL9 - Main.getColL8 - Main.getColL7 - Main.getColL6 - Main.getColL5) -} -de832c74ff8c2a95f2e64d0ce59ab379 - getColL5 :: GHC.Types.Int - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 22#) -} -6cbddb6b2bd4ca54512efe418fc3f972 - getColL6 :: GHC.Types.Int - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 456#) -} -6ebdb60bb88d05048f3b0d9a4cfa8ea5 - getColL7 :: GHC.Types.Int - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 6#) -} -fbf781328cfd77e1d9fea86e2f58d3a0 - getColL8 :: GHC.Types.Int - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 451#) -} -ac6cdea8a10db215e86741010968aa95 - getColL9 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.getColL10) -} -b2e16ce0be6dfbeea7c4f1ecb6d7439d - getColL_go :: [GHC.Types.Char] -> [GHC.Types.Char] - {- Arity: 1, Strictness: -} -bad58c8bb42255af4a1eef18a97a672a - getDiagL :: - (GHC.Types.Int, GHC.Types.Int) -> Data.Matrix.Matrix a -> [a] - {- Arity: 2, - Strictness: , - Inline: [2], - Unfolding: InlineRule (2, True, False) - (\ @ a - (w1 :: (GHC.Types.Int, GHC.Types.Int)) - (w2 :: Data.Matrix.Matrix a) -> - case w1 of ww { (,) ww1 ww2 -> - case ww1 of ww3 { GHC.Types.I# ww4 -> - Main.$wgetDiagL @ a ww4 ww2 w2 } }) -} -b3250ecc7862688bbb8836fe2305b560 - getRowColDiag :: - (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix a -> [((GHC.Types.Int, GHC.Types.Int), a)] - {- Arity: 2, - Strictness: , - Inline: [2], - Unfolding: InlineRule (2, True, False) - (\ @ a - (w1 :: (GHC.Types.Int, GHC.Types.Int)) - (w2 :: Data.Matrix.Matrix a) -> - case w1 of ww { (,) ww1 ww2 -> - case w2 of ww3 { Data.Matrix.M ww4 ww5 ww6 ww7 ww8 ww9 -> - Main.$wgetRowColDiag @ a ww1 ww2 ww4 ww5 ww6 ww7 ww8 ww9 } }) -} -89c54d6735deee0f2e6f5893b7bb62b3 - getRowL :: GHC.Types.Int -> Data.Matrix.Matrix b -> [b] - {- Arity: 2, Strictness: , - Unfolding: (\ @ b - (r :: GHC.Types.Int) - (b1 :: Data.Matrix.Matrix b) -> - letrec { - go1 :: GHC.Prim.Int# -> [b] {- Arity: 1, Strictness: -} - = \ (x :: GHC.Prim.Int#) -> - GHC.Types.: - @ b - (case b1 of wild { Data.Matrix.M dt dt1 dt2 dt3 dt4 ds -> - case r of wild1 { GHC.Types.I# x1 -> - let { - $j :: b {- Strictness: x -} - = GHC.Err.error - @ 'GHC.Types.LiftedRep - @ b - Main.getColL3 - `cast` - (Sym (GHC.Classes.N:IP[0] - <"callStack">_N _N)) - (GHC.CString.unpackAppendCString# - Main.getColL2 - (let { - z :: [GHC.Types.Char] - = GHC.CString.unpackAppendCString# - Main.getColL1 - (case Data.Matrix.$wsizeStr - dt - (GHC.Types.I# dt1) of ww2 { (#,#) ww3 ww4 -> - Main.getColL_go (GHC.Types.: @ GHC.Types.Char ww3 ww4) }) - } in - letrec { - go2 :: [GHC.Types.Char] -> [GHC.Types.Char] - {- Arity: 1, Strictness: -} - = \ (ds1 :: [GHC.Types.Char]) -> - case ds1 of wild2 { - [] -> z : y ys -> GHC.Types.: @ GHC.Types.Char y (go2 ys) } - } in - go2 - (GHC.Types.: - @ GHC.Types.Char - GHC.Show.$fShow(,)4 - (case GHC.Show.$wshowSignedInt - 0# - x1 - (GHC.Types.: - @ GHC.Types.Char - GHC.Show.showList__1 - (GHC.Show.$fShow(,)_$sgo1 - Main.getColL17 - (\ (w2 :: GHC.Base.String)[OneShot] -> - case GHC.Show.$wshowSignedInt - 0# - x - w2 of ww4 { (#,#) ww5 ww6 -> - GHC.Types.: @ GHC.Types.Char ww5 ww6 }) - (GHC.Types.[] - @ GHC.Show.ShowS))) of ww4 { (#,#) ww5 ww6 -> - GHC.Types.: @ GHC.Types.Char ww5 ww6 })))) - } in - case GHC.Prim.># x1 dt of lwild { - DEFAULT - -> case GHC.Prim.># x dt1 of lwild1 { - DEFAULT - -> case GHC.Prim.<# x1 1# of lwild2 { - DEFAULT - -> case GHC.Prim.<# x 1# of lwild3 { - DEFAULT - -> case ds of wild3 { Data.Vector.Vector dt5 dt6 dt7 -> - case GHC.Prim.indexArray# - @ b - dt7 - (GHC.Prim.-# - (GHC.Prim.+# - dt5 - (GHC.Prim.+# - (GHC.Prim.*# - (GHC.Prim.-# (GHC.Prim.+# x1 dt2) 1#) - dt4) - (GHC.Prim.+# x dt3))) - 1#) of ds2 { Unit# ipv -> - ipv } } - 1# -> $j } - 1# -> $j } - 1# -> $j } - 1# -> $j } } }) - (case x of wild { - DEFAULT -> go1 (GHC.Prim.+# wild 1#) 8# -> GHC.Types.[] @ b }) - } in - go1 1#) -} -2a4c80aa03a4f7ee0eee9342de9b7e08 - initBoard :: Data.Matrix.Matrix Main.Square - {- Strictness: m, - Unfolding: (Data.Matrix.M - @ Main.Square - 8# - 8# - 0# - 0# - 8# - Main.initBoard1) -} -2e11b49545df662a0298b6b61ce33edc - initBoard1 :: Data.Vector.Vector Main.Square - {- Unfolding: (case GHC.Magic.runRW# - @ ('GHC.Types.TupleRep - '[ 'GHC.Types.TupleRep '[], 'GHC.Types.LiftedRep]) - @ (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - Main.initBoard2 of ds1 { (#,#) ipv1 ipv2 -> - ipv2 }) -} -9ac58488e11448bdb0825964d3026604 - initBoard2 :: - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - {- Arity: 1, Strictness: , - Unfolding: (\ (s1 :: GHC.Prim.State# - GHC.Prim.RealWorld)[OneShot] -> - case GHC.Prim.newArray# - @ Main.Square - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - 64# - (Data.Vector.Mutable.uninitialised @ Main.Square) - s1 - `cast` - (GHC.Prim.State# - (Sym (Control.Monad.Primitive.D:R:PrimStateST[0] - (Nth:0 - (Nth:2 - (_R - ->_R ((#,#) - <'GHC.Types.TupleRep '[]>_R - <'GHC.Types.LiftedRep>_R - _R - (Sub (Sym (Data.Vector.D:R:MutableVector[0])) _N _N))_R))))))_R of ds1 { (#,#) ipv ipv1 -> - let { - exit :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - {- Arity: 1, Strictness: -} - = \ (w1 :: GHC.Prim.State# GHC.Prim.RealWorld)[OneShot] -> - let { - exit1 :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - {- Arity: 1, Strictness: -} - = \ (w2 :: GHC.Prim.State# GHC.Prim.RealWorld)[OneShot] -> - case GHC.Prim.writeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv1 - 63# - Main.O - w2 - `cast` - (GHC.Prim.State# - (Sym (Control.Monad.Primitive.D:R:PrimStateST[0] - _N)))_R of s'# { DEFAULT -> - case GHC.Prim.unsafeFreezeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv1 - s'# of ds2 { (#,#) ipv2 ipv3 -> - (# ipv2 - `cast` - (GHC.Prim.State# - (Control.Monad.Primitive.D:R:PrimStateST[0] - _N))_R, - Data.Vector.Vector @ Main.Square 0# 64# ipv3 #) } } - } in - letrec { - $wgo3 :: GHC.Prim.Int# - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - {- Arity: 2, Strictness: , Inline: [2] -} - = \ (ww :: GHC.Prim.Int#) - (w2 :: GHC.Prim.State# GHC.Prim.RealWorld) -> - case ww of wild { - DEFAULT - -> case GHC.Prim.writeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv1 - (GHC.Prim.+# 55# wild) - Main.O - w2 - `cast` - (GHC.Prim.State# - (Sym (Control.Monad.Primitive.D:R:PrimStateST[0] - _N)))_R of s'# { DEFAULT -> - $wgo3 - (GHC.Prim.+# wild 1#) - s'# - `cast` - (GHC.Prim.State# - (Control.Monad.Primitive.D:R:PrimStateST[0] - _N))_R } - 8# -> exit1 w2 } - } in - $wgo3 1# w1 - } in - letrec { - $wgo3 :: GHC.Prim.Int# - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - {- Arity: 2, Strictness: , Inline: [2] -} - = \ (ww :: GHC.Prim.Int#) - (w1 :: GHC.Prim.State# GHC.Prim.RealWorld) -> - case ww of wild { - DEFAULT - -> let { - exit1 :: GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - {- Arity: 1, Strictness: -} - = \ (w2 :: GHC.Prim.State# GHC.Prim.RealWorld)[OneShot] -> - case GHC.Prim.writeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv1 - (GHC.Prim.+# -1# (GHC.Prim.*# 8# wild)) - Main.O - w2 - `cast` - (GHC.Prim.State# - (Sym (Control.Monad.Primitive.D:R:PrimStateST[0] - _N)))_R of s'# { DEFAULT -> - $wgo3 - (GHC.Prim.+# wild 1#) - s'# - `cast` - (GHC.Prim.State# - (Control.Monad.Primitive.D:R:PrimStateST[0] - _N))_R } - } in - letrec { - $wgo1 :: GHC.Prim.Int# - -> GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, - Data.Vector.Vector Main.Square #) - {- Arity: 2, Strictness: , Inline: [2] -} - = \ (ww1 :: GHC.Prim.Int#) - (w2 :: GHC.Prim.State# GHC.Prim.RealWorld) -> - case ww1 of wild1 { - DEFAULT - -> case GHC.Prim.writeArray# - @ (Control.Monad.Primitive.PrimState - (GHC.ST.ST GHC.Prim.RealWorld)) - @ Main.Square - ipv1 - (GHC.Prim.+# - -9# - (GHC.Prim.+# wild1 (GHC.Prim.*# 8# wild))) - Main.O - w2 - `cast` - (GHC.Prim.State# - (Sym (Control.Monad.Primitive.D:R:PrimStateST[0] - _N)))_R of s'# { DEFAULT -> - $wgo1 - (GHC.Prim.+# wild1 1#) - s'# - `cast` - (GHC.Prim.State# - (Control.Monad.Primitive.D:R:PrimStateST[0] - _N))_R } - 8# -> exit1 w2 } - } in - $wgo1 1# w1 - 8# -> exit w1 } - } in - $wgo3 - 1# - ipv - `cast` - (GHC.Prim.State# - (Control.Monad.Primitive.D:R:PrimStateST[0] - _N))_R }) -} -419b12158f8179bd4e20ff85d2021536 - isWinnable :: - GHC.Types.Int -> Data.Matrix.Matrix Main.Square -> GHC.Types.Bool - {- Arity: 2, Strictness: , - Inline: [2], - Unfolding: InlineRule (2, True, False) - (\ (w1 :: GHC.Types.Int) (w2 :: Data.Matrix.Matrix Main.Square) -> - case w1 of ww { GHC.Types.I# ww1 -> Main.$wisWinnable ww1 w2 }) -} -db1e2e2978dca671b96a5fb06e38a355 - isWinnable' :: - p -> Data.Matrix.Matrix Main.Square -> [GHC.Types.Char] - {- Arity: 2, Strictness: , - Inline: [2], - Unfolding: InlineRule (2, True, True) - (\ @ p (w1 :: p) (w2 :: Data.Matrix.Matrix Main.Square) -> - Main.$wisWinnable' @ p w2) -} -fe5821aa57b843ac278ee5301d522efa - isWinnable'1 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: (" | cs: "#) -} -57dbea7ccb37666dfb68fcfa3dff9762 - isWinnable'2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("rs: "#) -} -71761c5fe498240bc954dabe79b454e6 - isWinnable1 :: [GHC.Types.Int] - {- Unfolding: (GHC.Enum.eftInt 1# 8#) -} -467cbfe928e10131bc536f2ce6cf6555 - lo1 :: GHC.Integer.Type.Integer - {- HasNoCafRefs, Unfolding: (8) -} -0443aef89f06e494b8dfadf33d9b611e - lo2 :: GHC.Integer.Type.Integer - {- HasNoCafRefs, Unfolding: (0) -} -0adafc7a5420e905b14b79259f36d2e1 - lo8 :: [GHC.Integer.Type.Integer] - {- Unfolding: (GHC.Enum.enumDeltaToInteger1 Main.lo2 Main.lo1) -} -ffd93c9b62998844891c6b51af4852f6 - main :: GHC.Types.IO () - {- Arity: 1, - Unfolding: (GHC.IO.Handle.Text.hPutStr' - GHC.IO.Handle.FD.stdout - Main.main1 - GHC.Types.True) -} -b44f955f71899d698edc98e351205550 - main1 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.main2) -} -53f8d0c8d47323120ec6d4f5391ba8c2 - main2 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("Hi"#) -} -2c40f682ff1df8a53498b11b24c5d251 - main3 :: - GHC.Prim.State# GHC.Prim.RealWorld - -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) - {- Arity: 1, - Unfolding: (GHC.TopHandler.runMainIO1 @ () Main.main) -} -2d937b3fb3901c9c5d6305d505827f2c - mapDiag :: - ((GHC.Types.Int, GHC.Types.Int) -> a -> a) - -> (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix a - -> Data.Matrix.Matrix a - {- Arity: 3, - Strictness: m, - Inline: [2], - Unfolding: InlineRule (3, True, False) - (\ @ a - (w1 :: (GHC.Types.Int, GHC.Types.Int) -> a -> a) - (w2 :: (GHC.Types.Int, GHC.Types.Int)) - (w3 :: Data.Matrix.Matrix a) -> - case w3 of ww { Data.Matrix.M ww1 ww2 ww3 ww4 ww5 ww6 -> - case Main.$wmapDiag - @ a - w1 - w2 - ww1 - ww2 - ww3 - ww4 - ww5 - ww6 of ww7 { (#,,,,,#) ww8 ww9 ww10 ww11 ww12 ww13 -> - Data.Matrix.M @ a ww8 ww9 ww10 ww11 ww12 ww13 } }) -} -a2bd0b58bc5bd047e61382be16fefa00 - mapQueensPath :: - ((GHC.Types.Int, GHC.Types.Int) -> a -> a) - -> (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix a - -> Data.Matrix.Matrix a - {- Arity: 3, - Strictness: m, - Unfolding: InlineRule (0, True, True) Main.mapRowColDiag -} -dde1889dbbf5fb38f0e445cb95f5a9de - mapRowColDiag :: - ((GHC.Types.Int, GHC.Types.Int) -> a -> a) - -> (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix a - -> Data.Matrix.Matrix a - {- Arity: 3, - Strictness: m, - Inline: [2], - Unfolding: InlineRule (3, True, False) - (\ @ a - (w1 :: (GHC.Types.Int, GHC.Types.Int) -> a -> a) - (w2 :: (GHC.Types.Int, GHC.Types.Int)) - (w3 :: Data.Matrix.Matrix a) -> - case w2 of ww { (,) ww1 ww2 -> - case w3 of ww3 { Data.Matrix.M ww4 ww5 ww6 ww7 ww8 ww9 -> - case Main.$wmapRowColDiag - @ a - w1 - ww1 - ww2 - ww4 - ww5 - ww6 - ww7 - ww8 - ww9 of ww10 { (#,,,,,#) ww11 ww12 ww13 ww14 ww15 ww16 -> - Data.Matrix.M @ a ww11 ww12 ww13 ww14 ww15 ww16 } } }) -} -3943af003e5304a56a545bd865552127 - markX :: - (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix Main.Square -> Data.Matrix.Matrix Main.Square - {- Arity: 2, - Strictness: m, - Inline: [2], - Unfolding: InlineRule (2, True, False) - (\ (w1 :: (GHC.Types.Int, GHC.Types.Int)) - (w2 :: Data.Matrix.Matrix Main.Square) -> - case w2 of ww { Data.Matrix.M ww1 ww2 ww3 ww4 ww5 ww6 -> - case Main.$wmarkX - w1 - ww1 - ww2 - ww3 - ww4 - ww5 - ww6 of ww7 { (#,,,,,#) ww8 ww9 ww10 ww11 ww12 ww13 -> - Data.Matrix.M @ Main.Square ww8 ww9 ww10 ww11 ww12 ww13 } }) -} -ccc5982bcd77bdad61f876f8d47c5d65 - markX1 :: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.ST.ST s () - {- Arity: 2, Strictness: x -} -fbac9f9d7dbb4ee97cbb457aa87ce63d - markX2 :: - GHC.Prim.Int# - -> GHC.ST.ST - GHC.Prim.RealWorld - (Data.Vector.Generic.Base.Mutable - Data.Vector.Vector - (Control.Monad.Primitive.PrimState (GHC.ST.ST GHC.Prim.RealWorld)) - Main.Square) - {- Arity: 1, Strictness: x -} -6f1bb09ac67d2a25f7bab55f41ed00c2 - nextAvail :: - Data.Matrix.Matrix Main.Square -> (GHC.Types.Int, GHC.Types.Int) - {- Arity: 1, Strictness: m, - Inline: [2], - Unfolding: InlineRule (1, True, False) - (\ (w1 :: Data.Matrix.Matrix Main.Square) -> - case w1 of ww { Data.Matrix.M ww1 ww2 ww3 ww4 ww5 ww6 -> - Main.$wnextAvail ww1 ww2 ww3 ww4 ww5 ww6 }) -} -90afd4aefbf3357e19db3aabe3af6a43 - nextAvail1 :: - GHC.Prim.Int# - -> GHC.Types.Int -> GHC.Prim.Int# -> GHC.Prim.Int# -> Main.Square - {- Arity: 4, Strictness: x -} -a26d623557216e1e594771f61834fea6 - nextAvail_$sscanBoard :: - Main.Square - -> Data.Matrix.Matrix Main.Square - -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 2, Strictness: , - Unfolding: (\ (s1 :: Main.Square) - (b :: Data.Matrix.Matrix Main.Square) -> - letrec { - go1 :: [(GHC.Types.Int, GHC.Types.Int)] - -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 1, Strictness: -} - = \ (ds :: [(GHC.Types.Int, GHC.Types.Int)]) -> - case ds of wild { - [] -> GHC.Types.[] @ (GHC.Types.Int, GHC.Types.Int) - : y ys - -> case y of wild1 { (,) i j -> - case b of wild2 { Data.Matrix.M dt dt1 dt2 dt3 dt4 ds1 -> - case i of wild3 { GHC.Types.I# x -> - case GHC.Prim.># x dt of lwild { - DEFAULT - -> case j of wild4 { GHC.Types.I# x1 -> - case GHC.Prim.># x1 dt1 of lwild1 { - DEFAULT - -> case GHC.Prim.<# x 1# of lwild2 { - DEFAULT - -> case GHC.Prim.<# x1 1# of lwild3 { - DEFAULT - -> case ds1 of wild5 { Data.Vector.Vector dt5 dt6 dt7 -> - case GHC.Prim.indexArray# - @ Main.Square - dt7 - (GHC.Prim.-# - (GHC.Prim.+# - dt5 - (GHC.Prim.+# - (GHC.Prim.*# - (GHC.Prim.-# - (GHC.Prim.+# x dt2) - 1#) - dt4) - (GHC.Prim.+# x1 dt3))) - 1#) of ds2 { Unit# ipv -> - case ipv of wild6 { - Main.X - -> case s1 of wild7 { - DEFAULT -> go1 ys - Main.X - -> GHC.Types.: - @ (GHC.Types.Int, GHC.Types.Int) - wild1 - (go1 ys) } - Main.Qu - -> case s1 of wild7 { - DEFAULT -> go1 ys - Main.Qu - -> GHC.Types.: - @ (GHC.Types.Int, GHC.Types.Int) - wild1 - (go1 ys) } - Main.O - -> case s1 of wild7 { - DEFAULT -> go1 ys - Main.O - -> GHC.Types.: - @ (GHC.Types.Int, GHC.Types.Int) - wild1 - (go1 ys) } - Main.T - -> case s1 of wild7 { - DEFAULT -> go1 ys - Main.T - -> GHC.Types.: - @ (GHC.Types.Int, GHC.Types.Int) - wild1 - (go1 ys) } } } } - 1# - -> case Main.nextAvail1 x wild4 dt dt1 - ret_ty [(GHC.Types.Int, GHC.Types.Int)] - of {} } - 1# - -> case Main.nextAvail1 x wild4 dt dt1 - ret_ty [(GHC.Types.Int, GHC.Types.Int)] - of {} } - 1# - -> case Main.nextAvail1 x wild4 dt dt1 - ret_ty [(GHC.Types.Int, GHC.Types.Int)] - of {} } } - 1# - -> case Main.nextAvail1 x j dt dt1 - ret_ty [(GHC.Types.Int, GHC.Types.Int)] - of {} } } } } } - } in - go1 Main.allPositions) -} -9b22cd0f7cfb9cd8b86e53ed152db98f - nextOpen :: p -> a - {- Arity: 1, Strictness: x, - Unfolding: InlineRule (1, True, True) - (\ @ p @ a (board :: p) -> - GHC.Err.undefined - @ 'GHC.Types.LiftedRep - @ a - Main.nextOpen1 - `cast` - (Sym (GHC.Classes.N:IP[0] - <"callStack">_N _N))) -} -450959e15bf14abeeae70c90d6596591 - nextOpen1 :: GHC.Stack.Types.CallStack - {- Strictness: m2, - Unfolding: (GHC.Stack.Types.PushCallStack - Main.nextOpen10 - Main.nextOpen2 - GHC.Stack.Types.EmptyCallStack) -} -5492e46593435c9a8973ddd52706b901 - nextOpen10 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.nextOpen11) -} -34b8814fdedc12dbe175ff398d732cc2 - nextOpen11 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("undefined"#) -} -a81645774aa6aa0b43d03ce34ef4c86a - nextOpen2 :: GHC.Stack.Types.SrcLoc - {- Strictness: m, - Unfolding: (GHC.Stack.Types.SrcLoc - Main.nextOpen9 - Main.nextOpen8 - Main.nextOpen6 - Main.nextOpen5 - Main.nextOpen4 - Main.nextOpen5 - Main.nextOpen3) -} -37396b724a9489f0796e02e1242a57cc - nextOpen3 :: GHC.Types.Int - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 27#) -} -5039b2582c970c303d6ee00f1c72dc6f - nextOpen4 :: GHC.Types.Int - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 18#) -} -d043f6099eb02d490a19ed2603a147cd - nextOpen5 :: GHC.Types.Int - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 342#) -} -8bc53bd5eeee20b8c206a89fe19f2abc - nextOpen6 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.nextOpen7) -} -28b6eb018de3ac0765c6732596651e21 - nextOpen7 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: ("src/Main.hs"#) -} -5dd9ebfbcdd27071fb3e5331918a8ed9 - nextOpen8 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.$trModule2) -} -3ec743b2d53b5b2446ef227872aec674 - nextOpen9 :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.$trModule4) -} -b1f6f256d4e82d1580367898de062da9 - onBoard :: t1 -> (t1 -> t2) -> t2 - {- Arity: 2, HasNoCafRefs, Strictness: , - Unfolding: InlineRule (2, True, True) - (\ @ t @ t1 (b :: t) (f :: t -> t1) -> f b) -} -17b16fcc71d1f9f19009053f733f93b0 - openPositions :: - Data.Matrix.Matrix Main.Square -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 1, Strictness: , - Unfolding: InlineRule (1, True, False) - (\ (b :: Data.Matrix.Matrix Main.Square) -> - Main.nextAvail_$sscanBoard Main.O b) -} -2f3c3f4fd9297ce38b2338795b8625fa - ops :: - [(GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer)] - {- Strictness: m2, - Unfolding: (GHC.Types.: - @ (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - Main.ops8 - Main.ops1) -} -914d1c5f1d08a2df33b0758b8b1cbe4f - ops1 :: - [(GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer)] - {- Strictness: m2, - Unfolding: (GHC.Types.: - @ (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - Main.ops7 - Main.ops2) -} -c483f6d1360d80e682071a7fada76a2d - ops2 :: - [(GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer)] - {- Strictness: m2, - Unfolding: (GHC.Types.: - @ (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - Main.ops6 - Main.ops3) -} -e2bf2566ee0d78e121b68669d2a45b5a - ops3 :: - [(GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer)] - {- Strictness: m2, - Unfolding: (GHC.Types.: - @ (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - Main.ops4 - (GHC.Types.[] - @ (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer))) -} -4fc14e12c3c545bccf354dfd328363ef - ops4 :: - (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - {- Strictness: m, Unfolding: ((Main.ops_b, Main.ops_b)) -} -af67511cc9af72bbbf64830e0e5f2972 - ops5 :: GHC.Integer.Type.Integer - {- HasNoCafRefs, Unfolding: (1) -} -4d05bf6b8d38e4924dbd1cd6fe91b988 - ops6 :: - (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - {- Strictness: m, Unfolding: ((Main.ops_b, Main.ops_a)) -} -c8c7d7c9f7f07dc27b1d7488f2d275c4 - ops7 :: - (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - {- Strictness: m, Unfolding: ((Main.ops_a, Main.ops_b)) -} -659cc3ca049e6155e4c40a7665798164 - ops8 :: - (GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer, - GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer) - {- Strictness: m, Unfolding: ((Main.ops_a, Main.ops_a)) -} -230c5a60ddf52a851259b0f5fb0b5a02 - ops_a :: GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer - {- Arity: 1, Strictness: , - Unfolding: InlineRule (1, True, False) - (\ (ds :: GHC.Integer.Type.Integer) -> - GHC.Integer.Type.plusInteger ds Main.ops5) -} -0977965361a29e006d3b014e5d47953c - ops_b :: GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer - {- Arity: 1, Unfolding: (Main.$ssubtract1 Main.ops5) -} -fa63260e1ced6c325a6fea254285a86e - placeQueen :: - (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix Main.Square -> Data.Matrix.Matrix Main.Square - {- Arity: 2, - Strictness: m, - Inline: [2], - Unfolding: InlineRule (2, True, False) - (\ (w1 :: (GHC.Types.Int, GHC.Types.Int)) - (w2 :: Data.Matrix.Matrix Main.Square) -> - case w1 of ww { (,) ww1 ww2 -> - case w2 of ww3 { Data.Matrix.M ww4 ww5 ww6 ww7 ww8 ww9 -> - case Main.$wplaceQueen - ww1 - ww2 - ww4 - ww5 - ww6 - ww7 - ww8 - ww9 of ww10 { (#,,,,,#) ww11 ww12 ww13 ww14 ww15 ww16 -> - Data.Matrix.M @ Main.Square ww11 ww12 ww13 ww14 ww15 ww16 } } }) -} -a1f12d5025f58ce56d4a5a7bc26dc092 - placeQueen' :: - (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix Main.Square -> Data.Matrix.Matrix Main.Square - {- Arity: 2, - Strictness: m, - Inline: [2], - Unfolding: InlineRule (2, True, False) - (\ (w1 :: (GHC.Types.Int, GHC.Types.Int)) - (w2 :: Data.Matrix.Matrix Main.Square) -> - case w1 of ww { (,) ww1 ww2 -> - case w2 of ww3 { Data.Matrix.M ww4 ww5 ww6 ww7 ww8 ww9 -> - case Main.$wplaceQueen' - ww1 - ww2 - ww4 - ww5 - ww6 - ww7 - ww8 - ww9 of ww10 { (#,,,,,#) ww11 ww12 ww13 ww14 ww15 ww16 -> - Data.Matrix.M @ Main.Square ww11 ww12 ww13 ww14 ww15 ww16 } } }) -} -dc257c873b9f55af4a5cae0dd796842c - placeQueen'_fX :: p1 -> p2 -> Main.Square - {- Arity: 2, HasNoCafRefs, Strictness: , - Unfolding: InlineRule (2, True, True) - (\ @ p @ p1 (ds :: p) (x :: p1) -> Main.X) -} -5867a72be54a53ffdbc791900449f7cf - placeQueen1 :: - (GHC.Types.Int, GHC.Types.Int) -> Main.Square -> Main.Square - {- Arity: 2, HasNoCafRefs, Strictness: , - Unfolding: InlineRule (2, True, True) - (\ (ds :: (GHC.Types.Int, GHC.Types.Int)) (ds1 :: Main.Square) -> - Main.X) -} -6e29c0608e46d228d79be61c7b198415 - queenAllowed :: - (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix Main.Square -> GHC.Types.Bool - {- Arity: 2, - Strictness: , - Unfolding: InlineRule (0, True, True) - Main.queenAllowed1 - `cast` - (<(GHC.Types.Int, GHC.Types.Int)>_R - ->_R _R - ->_R Data.Semigroup.Internal.N:All[0]) -} -78aa727ec6070d1a0a93c445c121ee95 - queenAllowed1 :: - (GHC.Types.Int, GHC.Types.Int) - -> Data.Matrix.Matrix Main.Square -> Data.Semigroup.Internal.All - {- Arity: 2, - Strictness: , - Unfolding: InlineRule (2, True, False) - (\ (p :: (GHC.Types.Int, GHC.Types.Int)) - (b :: Data.Matrix.Matrix Main.Square) -> - letrec { - go1 :: [((GHC.Types.Int, GHC.Types.Int), Main.Square)] - -> Data.Semigroup.Internal.All - {- Arity: 1 -} - = \ (ds :: [((GHC.Types.Int, GHC.Types.Int), Main.Square)]) -> - case ds of wild { - [] - -> GHC.Types.True `cast` (Sym (Data.Semigroup.Internal.N:All[0])) - : y ys - -> case y of wild1 { (,) ds1 y1 -> - case y1 of wild2 { - DEFAULT - -> GHC.Types.False `cast` (Sym (Data.Semigroup.Internal.N:All[0])) - Main.O -> go1 ys } } } - } in - go1 (Main.getRowColDiag @ Main.Square p b)) -} -ac3e1db14fd14a5e30c664cab50d0fee - s :: - Data.Matrix.Matrix Main.Square -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: , - Unfolding: (\ (b :: Data.Matrix.Matrix Main.Square) -> - letrec { - go1 :: [(GHC.Types.Int, GHC.Types.Int)] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: -} - = \ (ds :: [(GHC.Types.Int, GHC.Types.Int)]) -> - case ds of wild { - [] -> GHC.Types.[] @ (Data.Matrix.Matrix Main.Square) - : y ys - -> case y of ww { (,) ww1 ww2 -> - case b of ww3 { Data.Matrix.M ww4 ww5 ww6 ww7 ww8 ww9 -> - let { - exit :: [Data.Matrix.Matrix Main.Square] - = GHC.Types.: - @ (Data.Matrix.Matrix Main.Square) - (case Main.$wplaceQueen - ww1 - ww2 - ww4 - ww5 - ww6 - ww7 - ww8 - ww9 of ww10 { (#,,,,,#) ww11 ww12 ww13 ww14 ww15 ww16 -> - Data.Matrix.M @ Main.Square ww11 ww12 ww13 ww14 ww15 ww16 }) - (go1 ys) - } in - let { - exit1 :: [Data.Matrix.Matrix Main.Square] = go1 ys - } in - letrec { - go2 :: [((GHC.Types.Int, GHC.Types.Int), Main.Square)] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: -} - = \ (ds1 :: [((GHC.Types.Int, GHC.Types.Int), Main.Square)]) -> - case ds1 of wild1 { - [] -> exit - : y1 ys1 - -> case y1 of wild2 { (,) ds2 y2 -> - case y2 of wild3 { DEFAULT -> exit1 Main.O -> go2 ys1 } } } - } in - go2 - (Main.$wgetRowColDiag - @ Main.Square - ww1 - ww2 - ww4 - ww5 - ww6 - ww7 - ww8 - ww9) } } } - } in - go1 (Main.nextAvail_$sscanBoard Main.O b)) -} -136bbc6ab363482125bcf62d8afaf976 - scanBoard :: - GHC.Classes.Eq a => - a -> Data.Matrix.Matrix a -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 3, - Strictness: , - Unfolding: (\ @ a - ($dEq :: GHC.Classes.Eq a) - (s1 :: a) - (b :: Data.Matrix.Matrix a) -> - letrec { - go1 :: [(GHC.Types.Int, GHC.Types.Int)] - -> [(GHC.Types.Int, GHC.Types.Int)] - {- Arity: 1, Strictness: -} - = \ (ds :: [(GHC.Types.Int, GHC.Types.Int)]) -> - case ds of wild { - [] -> GHC.Types.[] @ (GHC.Types.Int, GHC.Types.Int) - : y ys - -> case y of wild1 { (,) i j -> - case GHC.Classes.== - @ a - $dEq - (case b of wild2 { Data.Matrix.M dt dt1 dt2 dt3 dt4 ds1 -> - case i of wild3 { GHC.Types.I# x -> - let { - $j :: a {- Strictness: x -} - = GHC.Err.error - @ 'GHC.Types.LiftedRep - @ a - Main.getColL3 - `cast` - (Sym (GHC.Classes.N:IP[0] - <"callStack">_N _N)) - (GHC.CString.unpackAppendCString# - Main.getColL2 - (GHC.Base.++_$s++ - @ GHC.Types.Char - (GHC.CString.unpackAppendCString# - Main.getColL1 - (case Data.Matrix.$wsizeStr - dt - (GHC.Types.I# - dt1) of ww2 { (#,#) ww3 ww4 -> - GHC.Base.++_$s++ - @ GHC.Types.Char - Main.scanBoard_z - ww3 - ww4 })) - GHC.Show.$fShow(,)4 - (case GHC.Show.$wshowSignedInt - 0# - x - (GHC.Types.: - @ GHC.Types.Char - GHC.Show.showList__1 - (GHC.Show.$fShow(,)_$sgo1 - Main.getColL17 - (\ (w2 :: GHC.Base.String)[OneShot] -> - case j of ww2 { GHC.Types.I# ww3 -> - case GHC.Show.$wshowSignedInt - 0# - ww3 - w2 of ww4 { (#,#) ww5 ww6 -> - GHC.Types.: - @ GHC.Types.Char - ww5 - ww6 } }) - (GHC.Types.[] - @ GHC.Show.ShowS))) of ww4 { (#,#) ww5 ww6 -> - GHC.Types.: @ GHC.Types.Char ww5 ww6 }))) - } in - case GHC.Prim.># x dt of lwild { - DEFAULT - -> case j of wild4 { GHC.Types.I# x1 -> - case GHC.Prim.># x1 dt1 of lwild1 { - DEFAULT - -> case GHC.Prim.<# x 1# of lwild2 { - DEFAULT - -> case GHC.Prim.<# x1 1# of lwild3 { - DEFAULT - -> case ds1 of wild5 { Data.Vector.Vector dt5 dt6 dt7 -> - case GHC.Prim.indexArray# - @ a - dt7 - (GHC.Prim.-# - (GHC.Prim.+# - dt5 - (GHC.Prim.+# - (GHC.Prim.*# - (GHC.Prim.-# - (GHC.Prim.+# x dt2) - 1#) - dt4) - (GHC.Prim.+# x1 dt3))) - 1#) of ds2 { Unit# ipv -> - ipv } } - 1# -> $j } - 1# -> $j } - 1# -> $j } } - 1# -> $j } } }) - s1 of wild2 { - GHC.Types.False -> go1 ys - GHC.Types.True - -> GHC.Types.: - @ (GHC.Types.Int, GHC.Types.Int) - wild1 - (go1 ys) } } } - } in - go1 Main.allPositions) -} -ba4d206db78a5cdc12cbc5213b6efa45 - scanBoard1 :: GHC.Prim.Addr# - {- HasNoCafRefs, Unfolding: (" matrix."#) -} -dd473e64c7fd49868fbead83c5d37d7c - scanBoard_z :: [GHC.Types.Char] - {- Unfolding: (GHC.CString.unpackCString# Main.scanBoard1) -} -730d75bde90b9d85a238ada997a4cedb - solve :: - (GHC.Classes.Ord t, GHC.Num.Num t) => - t -> [Data.Matrix.Matrix Main.Square] - {- Arity: 3, - Strictness: , - Inline: [2], - Unfolding: InlineRule (3, True, False) - (\ @ t (w1 :: GHC.Classes.Ord t) (w2 :: GHC.Num.Num t) (w3 :: t) -> - case w1 of ww { GHC.Classes.C:Ord ww1 ww2 ww3 ww4 ww5 ww6 ww7 ww8 -> - Main.$wsolve @ t ww1 ww3 ww5 w2 w3 }) -} -bf34852c4989cdd534e45ed8798f1cc1 - solve1 :: [Data.Matrix.Matrix Main.Square] - {- Unfolding: (GHC.Base.++ - @ (Data.Matrix.Matrix Main.Square) - (Main.solve2 Main.initBoard) - (GHC.Types.[] @ (Data.Matrix.Matrix Main.Square))) -} -e1e9b7845f8b9b9dd2f50c649384dcaf - solve2 :: - Data.Matrix.Matrix Main.Square -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: , - Unfolding: (\ (b :: Data.Matrix.Matrix Main.Square) -> - GHC.Base.map - @ (GHC.Types.Int, GHC.Types.Int) - @ (Data.Matrix.Matrix Main.Square) - (\ (p :: (GHC.Types.Int, GHC.Types.Int)) -> Main.placeQueen p b) - (Main.nextAvail_$sscanBoard Main.O b)) -} -c184a666bff831ddddecc4b865dff3df - solve_go :: - [Data.Matrix.Matrix Main.Square] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: -} -7a7a57dbb9af5196c25058ab4a74fa7b - w :: [Data.Matrix.Matrix Main.Square] - {- Unfolding: (Main.$wwinners' - @ GHC.Integer.Type.Integer - Main.initBoard) -} -4574f1ee92f6f2d180c8f1d8da82d147 - winnable :: a - {- Strictness: x -} -a4252cdb991d662ac35e424364aba1a6 - winners :: - (GHC.Classes.Eq p, GHC.Num.Num p) => - p - -> [Data.Matrix.Matrix Main.Square] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 4, - Strictness: , - Inline: [2], - Unfolding: InlineRule (4, True, False) - (\ @ p - (w1 :: GHC.Classes.Eq p) - (w2 :: GHC.Num.Num p) - (w3 :: p) - (w4 :: [Data.Matrix.Matrix Main.Square]) -> - case w1 of ww { GHC.Classes.C:Eq ww1 ww2 -> - Main.$wwinners @ p ww1 w2 w3 w4 }) -} -3fcc2cf6408df510d613a4b754ea3680 - winners' :: - p - -> Data.Matrix.Matrix Main.Square - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 2, Strictness: , - Inline: [2], - Unfolding: InlineRule (2, True, True) - (\ @ p (w1 :: p) (w2 :: Data.Matrix.Matrix Main.Square) -> - Main.$wwinners' @ p w2) -} -8c043a319c68bd087e5d8643d5ba7d9d - winners1 :: - [Data.Matrix.Matrix Main.Square] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: -} -3b9dd7cd56ddb92f4921e9fe96b4dd83 - winners_go :: - [Data.Matrix.Matrix Main.Square] - -> [Data.Matrix.Matrix Main.Square] - {- Arity: 1, Strictness: -} -instance GHC.Classes.Eq [Main.Square] = Main.$fEqSquare -instance GHC.Show.Show [Main.Square] = Main.$fShowSquare -"SPEC scanBoard @ Square" forall ($dEq :: GHC.Classes.Eq - Main.Square) - Main.scanBoard @ Main.Square $dEq = Main.nextAvail_$sscanBoard -"SPEC/Main $fEq(,) @ Int @ Int" [orphan] forall (v1 :: GHC.Classes.Eq - GHC.Types.Int) - (v :: GHC.Classes.Eq GHC.Types.Int) - GHC.Classes.$fEq(,) @ GHC.Types.Int @ GHC.Types.Int v v1 - = Main.$s$fEq(,) -"SPEC/Main $fEq(,)_$c/= @ Int @ Int" [orphan] forall ($dEq1 :: GHC.Classes.Eq - GHC.Types.Int) - ($dEq :: GHC.Classes.Eq GHC.Types.Int) - GHC.Classes.$fEq(,)_$c/= @ GHC.Types.Int @ GHC.Types.Int $dEq $dEq1 - = Main.$s$fEq(,)_$s$fEq(,)_$c/= -"SPEC/Main subtract @ Int" [orphan] forall ($dNum :: GHC.Num.Num - GHC.Types.Int) - GHC.Num.subtract @ GHC.Types.Int $dNum = Main.$ssubtract -"SPEC/Main subtract @ Integer" [orphan] forall ($dNum :: GHC.Num.Num - GHC.Integer.Type.Integer) - GHC.Num.subtract @ GHC.Integer.Type.Integer $dNum - = Main.$ssubtract1 -trusted: none -require own pkg trusted: False -module header: - Nothing -declaration docs: -arg docs: - diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/autogen/Paths_8queens.hs b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/autogen/Paths_8queens.hs deleted file mode 100644 index 7e16751..0000000 --- a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/autogen/Paths_8queens.hs +++ /dev/null @@ -1,50 +0,0 @@ -{-# LANGUAGE CPP #-} -{-# LANGUAGE NoRebindableSyntax #-} -{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} -module Paths_8queens ( - version, - getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, - getDataFileName, getSysconfDir - ) where - -import qualified Control.Exception as Exception -import Data.Version (Version(..)) -import System.Environment (getEnv) -import Prelude - -#if defined(VERSION_base) - -#if MIN_VERSION_base(4,0,0) -catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a -#else -catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a -#endif - -#else -catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a -#endif -catchIO = Exception.catch - -version :: Version -version = Version [0,1,0,0] [] -bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath - -bindir = "/home/sv/src/8queens/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin" -libdir = "/home/sv/src/8queens/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/8queens-0.1.0.0-1f9e2RemoZD8IyN03WXtS0-8queens" -dynlibdir = "/home/sv/src/8queens/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5" -datadir = "/home/sv/src/8queens/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/8queens-0.1.0.0" -libexecdir = "/home/sv/src/8queens/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/libexec/x86_64-linux-ghc-8.6.5/8queens-0.1.0.0" -sysconfdir = "/home/sv/src/8queens/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/etc" - -getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath -getBinDir = catchIO (getEnv "8queens_bindir") (\_ -> return bindir) -getLibDir = catchIO (getEnv "8queens_libdir") (\_ -> return libdir) -getDynLibDir = catchIO (getEnv "8queens_dynlibdir") (\_ -> return dynlibdir) -getDataDir = catchIO (getEnv "8queens_datadir") (\_ -> return datadir) -getLibexecDir = catchIO (getEnv "8queens_libexecdir") (\_ -> return libexecdir) -getSysconfDir = catchIO (getEnv "8queens_sysconfdir") (\_ -> return sysconfdir) - -getDataFileName :: FilePath -> IO FilePath -getDataFileName name = do - dir <- getDataDir - return (dir ++ "/" ++ name) diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/autogen/cabal_macros.h b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/autogen/cabal_macros.h deleted file mode 100644 index 80cc9e2..0000000 --- a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/8queens/autogen/cabal_macros.h +++ /dev/null @@ -1,195 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package 8queens-0.1.0.0 */ -#ifndef VERSION_8queens -#define VERSION_8queens "0.1.0.0" -#endif /* VERSION_8queens */ -#ifndef MIN_VERSION_8queens -#define MIN_VERSION_8queens(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_8queens */ - -/* package base-4.12.0.0 */ -#ifndef VERSION_base -#define VERSION_base "4.12.0.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 12 || \ - (major1) == 4 && (major2) == 12 && (minor) <= 0) -#endif /* MIN_VERSION_base */ - -/* package lens-4.17.1 */ -#ifndef VERSION_lens -#define VERSION_lens "4.17.1" -#endif /* VERSION_lens */ -#ifndef MIN_VERSION_lens -#define MIN_VERSION_lens(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 17 || \ - (major1) == 4 && (major2) == 17 && (minor) <= 1) -#endif /* MIN_VERSION_lens */ - -/* package linear-1.20.9 */ -#ifndef VERSION_linear -#define VERSION_linear "1.20.9" -#endif /* VERSION_linear */ -#ifndef MIN_VERSION_linear -#define MIN_VERSION_linear(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 20 || \ - (major1) == 1 && (major2) == 20 && (minor) <= 9) -#endif /* MIN_VERSION_linear */ - -/* package matrix-0.3.6.1 */ -#ifndef VERSION_matrix -#define VERSION_matrix "0.3.6.1" -#endif /* VERSION_matrix */ -#ifndef MIN_VERSION_matrix -#define MIN_VERSION_matrix(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 3 || \ - (major1) == 0 && (major2) == 3 && (minor) <= 6) -#endif /* MIN_VERSION_matrix */ - -/* package random-1.1 */ -#ifndef VERSION_random -#define VERSION_random "1.1" -#endif /* VERSION_random */ -#ifndef MIN_VERSION_random -#define MIN_VERSION_random(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 1 || \ - (major1) == 1 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_random */ - -/* package vector-0.12.0.3 */ -#ifndef VERSION_vector -#define VERSION_vector "0.12.0.3" -#endif /* VERSION_vector */ -#ifndef MIN_VERSION_vector -#define MIN_VERSION_vector(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 12 || \ - (major1) == 0 && (major2) == 12 && (minor) <= 0) -#endif /* MIN_VERSION_vector */ - -/* tool gcc-6.3.0 */ -#ifndef TOOL_VERSION_gcc -#define TOOL_VERSION_gcc "6.3.0" -#endif /* TOOL_VERSION_gcc */ -#ifndef MIN_TOOL_VERSION_gcc -#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ - (major1) < 6 || \ - (major1) == 6 && (major2) < 3 || \ - (major1) == 6 && (major2) == 3 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_gcc */ - -/* tool ghc-8.6.5 */ -#ifndef TOOL_VERSION_ghc -#define TOOL_VERSION_ghc "8.6.5" -#endif /* TOOL_VERSION_ghc */ -#ifndef MIN_TOOL_VERSION_ghc -#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc */ - -/* tool ghc-pkg-8.6.5 */ -#ifndef TOOL_VERSION_ghc_pkg -#define TOOL_VERSION_ghc_pkg "8.6.5" -#endif /* TOOL_VERSION_ghc_pkg */ -#ifndef MIN_TOOL_VERSION_ghc_pkg -#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc_pkg */ - -/* tool haddock-2.22.0 */ -#ifndef TOOL_VERSION_haddock -#define TOOL_VERSION_haddock "2.22.0" -#endif /* TOOL_VERSION_haddock */ -#ifndef MIN_TOOL_VERSION_haddock -#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 22 || \ - (major1) == 2 && (major2) == 22 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_haddock */ - -/* tool happy-1.19.9 */ -#ifndef TOOL_VERSION_happy -#define TOOL_VERSION_happy "1.19.9" -#endif /* TOOL_VERSION_happy */ -#ifndef MIN_TOOL_VERSION_happy -#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 19 || \ - (major1) == 1 && (major2) == 19 && (minor) <= 9) -#endif /* MIN_TOOL_VERSION_happy */ - -/* tool hpc-0.67 */ -#ifndef TOOL_VERSION_hpc -#define TOOL_VERSION_hpc "0.67" -#endif /* TOOL_VERSION_hpc */ -#ifndef MIN_TOOL_VERSION_hpc -#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 67 || \ - (major1) == 0 && (major2) == 67 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_hpc */ - -/* tool hsc2hs-0.68.5 */ -#ifndef TOOL_VERSION_hsc2hs -#define TOOL_VERSION_hsc2hs "0.68.5" -#endif /* TOOL_VERSION_hsc2hs */ -#ifndef MIN_TOOL_VERSION_hsc2hs -#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 68 || \ - (major1) == 0 && (major2) == 68 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_hsc2hs */ - -/* tool pkg-config-0.29 */ -#ifndef TOOL_VERSION_pkg_config -#define TOOL_VERSION_pkg_config "0.29" -#endif /* TOOL_VERSION_pkg_config */ -#ifndef MIN_TOOL_VERSION_pkg_config -#define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 29 || \ - (major1) == 0 && (major2) == 29 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_pkg_config */ - -/* tool runghc-8.6.5 */ -#ifndef TOOL_VERSION_runghc -#define TOOL_VERSION_runghc "8.6.5" -#endif /* TOOL_VERSION_runghc */ -#ifndef MIN_TOOL_VERSION_runghc -#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_runghc */ - -/* tool strip-2.28 */ -#ifndef TOOL_VERSION_strip -#define TOOL_VERSION_strip "2.28" -#endif /* TOOL_VERSION_strip */ -#ifndef MIN_TOOL_VERSION_strip -#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 28 || \ - (major1) == 2 && (major2) == 28 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_strip */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "8queens-0.1.0.0-1f9e2RemoZD8IyN03WXtS0-8queens" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/package.conf.inplace/package.cache b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/package.conf.inplace/package.cache deleted file mode 100644 index b3cae5c..0000000 Binary files a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/package.conf.inplace/package.cache and /dev/null differ diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/package.conf.inplace/package.cache.lock b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/package.conf.inplace/package.cache.lock deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup-config b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup-config deleted file mode 100644 index 81c2525..0000000 Binary files a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup-config and /dev/null differ diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-build-caches/exe-8queens b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-build-caches/exe-8queens deleted file mode 100644 index a41b89b..0000000 Binary files a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-build-caches/exe-8queens and /dev/null differ diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-cabal-mod b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-cabal-mod deleted file mode 100644 index 13bd001..0000000 Binary files a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-cabal-mod and /dev/null differ diff --git a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-config-cache b/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-config-cache deleted file mode 100644 index 4a70cec..0000000 Binary files a/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/stack-config-cache and /dev/null differ diff --git a/.stack-work/ghci/3a535720/cabal_macros.h b/.stack-work/ghci/3a535720/cabal_macros.h deleted file mode 100644 index 38daada..0000000 --- a/.stack-work/ghci/3a535720/cabal_macros.h +++ /dev/null @@ -1,198 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package 8queens-0.1.0.0 */ -#ifndef VERSION_8queens -#define VERSION_8queens "0.1.0.0" -#endif /* VERSION_8queens */ -#ifndef MIN_VERSION_8queens -#define MIN_VERSION_8queens(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_8queens */ - -/* package base-4.12.0.0 */ -#ifndef VERSION_base -#define VERSION_base "4.12.0.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 12 || \ - (major1) == 4 && (major2) == 12 && (minor) <= 0) -#endif /* MIN_VERSION_base */ - -/* package lens-4.17.1 */ -#ifndef VERSION_lens -#define VERSION_lens "4.17.1" -#endif /* VERSION_lens */ -#ifndef MIN_VERSION_lens -#define MIN_VERSION_lens(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 17 || \ - (major1) == 4 && (major2) == 17 && (minor) <= 1) -#endif /* MIN_VERSION_lens */ - -/* package linear-1.20.9 */ -#ifndef VERSION_linear -#define VERSION_linear "1.20.9" -#endif /* VERSION_linear */ -#ifndef MIN_VERSION_linear -#define MIN_VERSION_linear(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 20 || \ - (major1) == 1 && (major2) == 20 && (minor) <= 9) -#endif /* MIN_VERSION_linear */ - -/* package matrix-0.3.6.1 */ -#ifndef VERSION_matrix -#define VERSION_matrix "0.3.6.1" -#endif /* VERSION_matrix */ -#ifndef MIN_VERSION_matrix -#define MIN_VERSION_matrix(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 3 || \ - (major1) == 0 && (major2) == 3 && (minor) <= 6) -#endif /* MIN_VERSION_matrix */ - -/* package random-1.1 */ -#ifndef VERSION_random -#define VERSION_random "1.1" -#endif /* VERSION_random */ -#ifndef MIN_VERSION_random -#define MIN_VERSION_random(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 1 || \ - (major1) == 1 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_random */ - -/* package vector-0.12.0.3 */ -#ifndef VERSION_vector -#define VERSION_vector "0.12.0.3" -#endif /* VERSION_vector */ -#ifndef MIN_VERSION_vector -#define MIN_VERSION_vector(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 12 || \ - (major1) == 0 && (major2) == 12 && (minor) <= 0) -#endif /* MIN_VERSION_vector */ - -/* tool gcc-6.3.0 */ -#ifndef TOOL_VERSION_gcc -#define TOOL_VERSION_gcc "6.3.0" -#endif /* TOOL_VERSION_gcc */ -#ifndef MIN_TOOL_VERSION_gcc -#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ - (major1) < 6 || \ - (major1) == 6 && (major2) < 3 || \ - (major1) == 6 && (major2) == 3 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_gcc */ - -/* tool ghc-8.6.5 */ -#ifndef TOOL_VERSION_ghc -#define TOOL_VERSION_ghc "8.6.5" -#endif /* TOOL_VERSION_ghc */ -#ifndef MIN_TOOL_VERSION_ghc -#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc */ - -/* tool ghc-pkg-8.6.5 */ -#ifndef TOOL_VERSION_ghc_pkg -#define TOOL_VERSION_ghc_pkg "8.6.5" -#endif /* TOOL_VERSION_ghc_pkg */ -#ifndef MIN_TOOL_VERSION_ghc_pkg -#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc_pkg */ - -/* tool haddock-2.22.0 */ -#ifndef TOOL_VERSION_haddock -#define TOOL_VERSION_haddock "2.22.0" -#endif /* TOOL_VERSION_haddock */ -#ifndef MIN_TOOL_VERSION_haddock -#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 22 || \ - (major1) == 2 && (major2) == 22 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_haddock */ - -/* tool happy-1.19.9 */ -#ifndef TOOL_VERSION_happy -#define TOOL_VERSION_happy "1.19.9" -#endif /* TOOL_VERSION_happy */ -#ifndef MIN_TOOL_VERSION_happy -#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 19 || \ - (major1) == 1 && (major2) == 19 && (minor) <= 9) -#endif /* MIN_TOOL_VERSION_happy */ - -/* tool hpc-0.67 */ -#ifndef TOOL_VERSION_hpc -#define TOOL_VERSION_hpc "0.67" -#endif /* TOOL_VERSION_hpc */ -#ifndef MIN_TOOL_VERSION_hpc -#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 67 || \ - (major1) == 0 && (major2) == 67 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_hpc */ - -/* tool hsc2hs-0.68.5 */ -#ifndef TOOL_VERSION_hsc2hs -#define TOOL_VERSION_hsc2hs "0.68.5" -#endif /* TOOL_VERSION_hsc2hs */ -#ifndef MIN_TOOL_VERSION_hsc2hs -#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 68 || \ - (major1) == 0 && (major2) == 68 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_hsc2hs */ - -/* tool pkg-config-0.29 */ -#ifndef TOOL_VERSION_pkg_config -#define TOOL_VERSION_pkg_config "0.29" -#endif /* TOOL_VERSION_pkg_config */ -#ifndef MIN_TOOL_VERSION_pkg_config -#define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 29 || \ - (major1) == 0 && (major2) == 29 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_pkg_config */ - -/* tool runghc-8.6.5 */ -#ifndef TOOL_VERSION_runghc -#define TOOL_VERSION_runghc "8.6.5" -#endif /* TOOL_VERSION_runghc */ -#ifndef MIN_TOOL_VERSION_runghc -#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_runghc */ - -/* tool strip-2.28 */ -#ifndef TOOL_VERSION_strip -#define TOOL_VERSION_strip "2.28" -#endif /* TOOL_VERSION_strip */ -#ifndef MIN_TOOL_VERSION_strip -#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 28 || \ - (major1) == 2 && (major2) == 28 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_strip */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "8queens-0.1.0.0-1f9e2RemoZD8IyN03WXtS0-8queens" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ - -#undef CURRENT_PACKAGE_KEY -#undef CURRENT_COMPONENT_ID diff --git a/.stack-work/ghci/429a2e1e/cabal_macros.h b/.stack-work/ghci/429a2e1e/cabal_macros.h deleted file mode 100644 index cca702a..0000000 --- a/.stack-work/ghci/429a2e1e/cabal_macros.h +++ /dev/null @@ -1,176 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package 8queens-0.1.0.0 */ -#ifndef VERSION_8queens -#define VERSION_8queens "0.1.0.0" -#endif /* VERSION_8queens */ -#ifndef MIN_VERSION_8queens -#define MIN_VERSION_8queens(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_8queens */ - -/* package base-4.12.0.0 */ -#ifndef VERSION_base -#define VERSION_base "4.12.0.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 12 || \ - (major1) == 4 && (major2) == 12 && (minor) <= 0) -#endif /* MIN_VERSION_base */ - -/* package lens-4.17.1 */ -#ifndef VERSION_lens -#define VERSION_lens "4.17.1" -#endif /* VERSION_lens */ -#ifndef MIN_VERSION_lens -#define MIN_VERSION_lens(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 17 || \ - (major1) == 4 && (major2) == 17 && (minor) <= 1) -#endif /* MIN_VERSION_lens */ - -/* package linear-1.20.9 */ -#ifndef VERSION_linear -#define VERSION_linear "1.20.9" -#endif /* VERSION_linear */ -#ifndef MIN_VERSION_linear -#define MIN_VERSION_linear(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 20 || \ - (major1) == 1 && (major2) == 20 && (minor) <= 9) -#endif /* MIN_VERSION_linear */ - -/* package matrix-0.3.6.1 */ -#ifndef VERSION_matrix -#define VERSION_matrix "0.3.6.1" -#endif /* VERSION_matrix */ -#ifndef MIN_VERSION_matrix -#define MIN_VERSION_matrix(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 3 || \ - (major1) == 0 && (major2) == 3 && (minor) <= 6) -#endif /* MIN_VERSION_matrix */ - -/* tool gcc-6.3.0 */ -#ifndef TOOL_VERSION_gcc -#define TOOL_VERSION_gcc "6.3.0" -#endif /* TOOL_VERSION_gcc */ -#ifndef MIN_TOOL_VERSION_gcc -#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ - (major1) < 6 || \ - (major1) == 6 && (major2) < 3 || \ - (major1) == 6 && (major2) == 3 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_gcc */ - -/* tool ghc-8.6.5 */ -#ifndef TOOL_VERSION_ghc -#define TOOL_VERSION_ghc "8.6.5" -#endif /* TOOL_VERSION_ghc */ -#ifndef MIN_TOOL_VERSION_ghc -#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc */ - -/* tool ghc-pkg-8.6.5 */ -#ifndef TOOL_VERSION_ghc_pkg -#define TOOL_VERSION_ghc_pkg "8.6.5" -#endif /* TOOL_VERSION_ghc_pkg */ -#ifndef MIN_TOOL_VERSION_ghc_pkg -#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc_pkg */ - -/* tool haddock-2.22.0 */ -#ifndef TOOL_VERSION_haddock -#define TOOL_VERSION_haddock "2.22.0" -#endif /* TOOL_VERSION_haddock */ -#ifndef MIN_TOOL_VERSION_haddock -#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 22 || \ - (major1) == 2 && (major2) == 22 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_haddock */ - -/* tool happy-1.19.9 */ -#ifndef TOOL_VERSION_happy -#define TOOL_VERSION_happy "1.19.9" -#endif /* TOOL_VERSION_happy */ -#ifndef MIN_TOOL_VERSION_happy -#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 19 || \ - (major1) == 1 && (major2) == 19 && (minor) <= 9) -#endif /* MIN_TOOL_VERSION_happy */ - -/* tool hpc-0.67 */ -#ifndef TOOL_VERSION_hpc -#define TOOL_VERSION_hpc "0.67" -#endif /* TOOL_VERSION_hpc */ -#ifndef MIN_TOOL_VERSION_hpc -#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 67 || \ - (major1) == 0 && (major2) == 67 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_hpc */ - -/* tool hsc2hs-0.68.5 */ -#ifndef TOOL_VERSION_hsc2hs -#define TOOL_VERSION_hsc2hs "0.68.5" -#endif /* TOOL_VERSION_hsc2hs */ -#ifndef MIN_TOOL_VERSION_hsc2hs -#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 68 || \ - (major1) == 0 && (major2) == 68 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_hsc2hs */ - -/* tool pkg-config-0.29 */ -#ifndef TOOL_VERSION_pkg_config -#define TOOL_VERSION_pkg_config "0.29" -#endif /* TOOL_VERSION_pkg_config */ -#ifndef MIN_TOOL_VERSION_pkg_config -#define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 29 || \ - (major1) == 0 && (major2) == 29 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_pkg_config */ - -/* tool runghc-8.6.5 */ -#ifndef TOOL_VERSION_runghc -#define TOOL_VERSION_runghc "8.6.5" -#endif /* TOOL_VERSION_runghc */ -#ifndef MIN_TOOL_VERSION_runghc -#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_runghc */ - -/* tool strip-2.28 */ -#ifndef TOOL_VERSION_strip -#define TOOL_VERSION_strip "2.28" -#endif /* TOOL_VERSION_strip */ -#ifndef MIN_TOOL_VERSION_strip -#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 28 || \ - (major1) == 2 && (major2) == 28 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_strip */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "8queens-0.1.0.0-ELLkn1g8V07FUCj6OAQnSh-8queens" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ - -#undef CURRENT_PACKAGE_KEY -#undef CURRENT_COMPONENT_ID diff --git a/.stack-work/ghci/c89d8de5/cabal_macros.h b/.stack-work/ghci/c89d8de5/cabal_macros.h deleted file mode 100644 index 6234f14..0000000 --- a/.stack-work/ghci/c89d8de5/cabal_macros.h +++ /dev/null @@ -1,198 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package 8queens-0.1.0.0 */ -#ifndef VERSION_8queens -#define VERSION_8queens "0.1.0.0" -#endif /* VERSION_8queens */ -#ifndef MIN_VERSION_8queens -#define MIN_VERSION_8queens(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_8queens */ - -/* package base-4.12.0.0 */ -#ifndef VERSION_base -#define VERSION_base "4.12.0.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 12 || \ - (major1) == 4 && (major2) == 12 && (minor) <= 0) -#endif /* MIN_VERSION_base */ - -/* package hmatrix-0.19.0.0 */ -#ifndef VERSION_hmatrix -#define VERSION_hmatrix "0.19.0.0" -#endif /* VERSION_hmatrix */ -#ifndef MIN_VERSION_hmatrix -#define MIN_VERSION_hmatrix(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 19 || \ - (major1) == 0 && (major2) == 19 && (minor) <= 0) -#endif /* MIN_VERSION_hmatrix */ - -/* package lens-4.17.1 */ -#ifndef VERSION_lens -#define VERSION_lens "4.17.1" -#endif /* VERSION_lens */ -#ifndef MIN_VERSION_lens -#define MIN_VERSION_lens(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 17 || \ - (major1) == 4 && (major2) == 17 && (minor) <= 1) -#endif /* MIN_VERSION_lens */ - -/* package linear-1.20.9 */ -#ifndef VERSION_linear -#define VERSION_linear "1.20.9" -#endif /* VERSION_linear */ -#ifndef MIN_VERSION_linear -#define MIN_VERSION_linear(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 20 || \ - (major1) == 1 && (major2) == 20 && (minor) <= 9) -#endif /* MIN_VERSION_linear */ - -/* package matrix-0.3.6.1 */ -#ifndef VERSION_matrix -#define VERSION_matrix "0.3.6.1" -#endif /* VERSION_matrix */ -#ifndef MIN_VERSION_matrix -#define MIN_VERSION_matrix(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 3 || \ - (major1) == 0 && (major2) == 3 && (minor) <= 6) -#endif /* MIN_VERSION_matrix */ - -/* package random-1.1 */ -#ifndef VERSION_random -#define VERSION_random "1.1" -#endif /* VERSION_random */ -#ifndef MIN_VERSION_random -#define MIN_VERSION_random(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 1 || \ - (major1) == 1 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_random */ - -/* tool gcc-6.3.0 */ -#ifndef TOOL_VERSION_gcc -#define TOOL_VERSION_gcc "6.3.0" -#endif /* TOOL_VERSION_gcc */ -#ifndef MIN_TOOL_VERSION_gcc -#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ - (major1) < 6 || \ - (major1) == 6 && (major2) < 3 || \ - (major1) == 6 && (major2) == 3 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_gcc */ - -/* tool ghc-8.6.5 */ -#ifndef TOOL_VERSION_ghc -#define TOOL_VERSION_ghc "8.6.5" -#endif /* TOOL_VERSION_ghc */ -#ifndef MIN_TOOL_VERSION_ghc -#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc */ - -/* tool ghc-pkg-8.6.5 */ -#ifndef TOOL_VERSION_ghc_pkg -#define TOOL_VERSION_ghc_pkg "8.6.5" -#endif /* TOOL_VERSION_ghc_pkg */ -#ifndef MIN_TOOL_VERSION_ghc_pkg -#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc_pkg */ - -/* tool haddock-2.22.0 */ -#ifndef TOOL_VERSION_haddock -#define TOOL_VERSION_haddock "2.22.0" -#endif /* TOOL_VERSION_haddock */ -#ifndef MIN_TOOL_VERSION_haddock -#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 22 || \ - (major1) == 2 && (major2) == 22 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_haddock */ - -/* tool happy-1.19.9 */ -#ifndef TOOL_VERSION_happy -#define TOOL_VERSION_happy "1.19.9" -#endif /* TOOL_VERSION_happy */ -#ifndef MIN_TOOL_VERSION_happy -#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 19 || \ - (major1) == 1 && (major2) == 19 && (minor) <= 9) -#endif /* MIN_TOOL_VERSION_happy */ - -/* tool hpc-0.67 */ -#ifndef TOOL_VERSION_hpc -#define TOOL_VERSION_hpc "0.67" -#endif /* TOOL_VERSION_hpc */ -#ifndef MIN_TOOL_VERSION_hpc -#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 67 || \ - (major1) == 0 && (major2) == 67 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_hpc */ - -/* tool hsc2hs-0.68.5 */ -#ifndef TOOL_VERSION_hsc2hs -#define TOOL_VERSION_hsc2hs "0.68.5" -#endif /* TOOL_VERSION_hsc2hs */ -#ifndef MIN_TOOL_VERSION_hsc2hs -#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 68 || \ - (major1) == 0 && (major2) == 68 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_hsc2hs */ - -/* tool pkg-config-0.29 */ -#ifndef TOOL_VERSION_pkg_config -#define TOOL_VERSION_pkg_config "0.29" -#endif /* TOOL_VERSION_pkg_config */ -#ifndef MIN_TOOL_VERSION_pkg_config -#define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 29 || \ - (major1) == 0 && (major2) == 29 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_pkg_config */ - -/* tool runghc-8.6.5 */ -#ifndef TOOL_VERSION_runghc -#define TOOL_VERSION_runghc "8.6.5" -#endif /* TOOL_VERSION_runghc */ -#ifndef MIN_TOOL_VERSION_runghc -#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_runghc */ - -/* tool strip-2.28 */ -#ifndef TOOL_VERSION_strip -#define TOOL_VERSION_strip "2.28" -#endif /* TOOL_VERSION_strip */ -#ifndef MIN_TOOL_VERSION_strip -#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 28 || \ - (major1) == 2 && (major2) == 28 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_strip */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "8queens-0.1.0.0-CALlXFbfsyqGmcuvjSNrVA-8queens" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ - -#undef CURRENT_PACKAGE_KEY -#undef CURRENT_COMPONENT_ID diff --git a/.stack-work/ghci/df908bbc/cabal_macros.h b/.stack-work/ghci/df908bbc/cabal_macros.h deleted file mode 100644 index 5148526..0000000 --- a/.stack-work/ghci/df908bbc/cabal_macros.h +++ /dev/null @@ -1,187 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package 8queens-0.1.0.0 */ -#ifndef VERSION_8queens -#define VERSION_8queens "0.1.0.0" -#endif /* VERSION_8queens */ -#ifndef MIN_VERSION_8queens -#define MIN_VERSION_8queens(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_8queens */ - -/* package base-4.12.0.0 */ -#ifndef VERSION_base -#define VERSION_base "4.12.0.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 12 || \ - (major1) == 4 && (major2) == 12 && (minor) <= 0) -#endif /* MIN_VERSION_base */ - -/* package lens-4.17.1 */ -#ifndef VERSION_lens -#define VERSION_lens "4.17.1" -#endif /* VERSION_lens */ -#ifndef MIN_VERSION_lens -#define MIN_VERSION_lens(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 17 || \ - (major1) == 4 && (major2) == 17 && (minor) <= 1) -#endif /* MIN_VERSION_lens */ - -/* package linear-1.20.9 */ -#ifndef VERSION_linear -#define VERSION_linear "1.20.9" -#endif /* VERSION_linear */ -#ifndef MIN_VERSION_linear -#define MIN_VERSION_linear(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 20 || \ - (major1) == 1 && (major2) == 20 && (minor) <= 9) -#endif /* MIN_VERSION_linear */ - -/* package matrix-0.3.6.1 */ -#ifndef VERSION_matrix -#define VERSION_matrix "0.3.6.1" -#endif /* VERSION_matrix */ -#ifndef MIN_VERSION_matrix -#define MIN_VERSION_matrix(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 3 || \ - (major1) == 0 && (major2) == 3 && (minor) <= 6) -#endif /* MIN_VERSION_matrix */ - -/* package random-1.1 */ -#ifndef VERSION_random -#define VERSION_random "1.1" -#endif /* VERSION_random */ -#ifndef MIN_VERSION_random -#define MIN_VERSION_random(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 1 || \ - (major1) == 1 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_random */ - -/* tool gcc-6.3.0 */ -#ifndef TOOL_VERSION_gcc -#define TOOL_VERSION_gcc "6.3.0" -#endif /* TOOL_VERSION_gcc */ -#ifndef MIN_TOOL_VERSION_gcc -#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ - (major1) < 6 || \ - (major1) == 6 && (major2) < 3 || \ - (major1) == 6 && (major2) == 3 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_gcc */ - -/* tool ghc-8.6.5 */ -#ifndef TOOL_VERSION_ghc -#define TOOL_VERSION_ghc "8.6.5" -#endif /* TOOL_VERSION_ghc */ -#ifndef MIN_TOOL_VERSION_ghc -#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc */ - -/* tool ghc-pkg-8.6.5 */ -#ifndef TOOL_VERSION_ghc_pkg -#define TOOL_VERSION_ghc_pkg "8.6.5" -#endif /* TOOL_VERSION_ghc_pkg */ -#ifndef MIN_TOOL_VERSION_ghc_pkg -#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc_pkg */ - -/* tool haddock-2.22.0 */ -#ifndef TOOL_VERSION_haddock -#define TOOL_VERSION_haddock "2.22.0" -#endif /* TOOL_VERSION_haddock */ -#ifndef MIN_TOOL_VERSION_haddock -#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 22 || \ - (major1) == 2 && (major2) == 22 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_haddock */ - -/* tool happy-1.19.9 */ -#ifndef TOOL_VERSION_happy -#define TOOL_VERSION_happy "1.19.9" -#endif /* TOOL_VERSION_happy */ -#ifndef MIN_TOOL_VERSION_happy -#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 19 || \ - (major1) == 1 && (major2) == 19 && (minor) <= 9) -#endif /* MIN_TOOL_VERSION_happy */ - -/* tool hpc-0.67 */ -#ifndef TOOL_VERSION_hpc -#define TOOL_VERSION_hpc "0.67" -#endif /* TOOL_VERSION_hpc */ -#ifndef MIN_TOOL_VERSION_hpc -#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 67 || \ - (major1) == 0 && (major2) == 67 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_hpc */ - -/* tool hsc2hs-0.68.5 */ -#ifndef TOOL_VERSION_hsc2hs -#define TOOL_VERSION_hsc2hs "0.68.5" -#endif /* TOOL_VERSION_hsc2hs */ -#ifndef MIN_TOOL_VERSION_hsc2hs -#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 68 || \ - (major1) == 0 && (major2) == 68 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_hsc2hs */ - -/* tool pkg-config-0.29 */ -#ifndef TOOL_VERSION_pkg_config -#define TOOL_VERSION_pkg_config "0.29" -#endif /* TOOL_VERSION_pkg_config */ -#ifndef MIN_TOOL_VERSION_pkg_config -#define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 29 || \ - (major1) == 0 && (major2) == 29 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_pkg_config */ - -/* tool runghc-8.6.5 */ -#ifndef TOOL_VERSION_runghc -#define TOOL_VERSION_runghc "8.6.5" -#endif /* TOOL_VERSION_runghc */ -#ifndef MIN_TOOL_VERSION_runghc -#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_runghc */ - -/* tool strip-2.28 */ -#ifndef TOOL_VERSION_strip -#define TOOL_VERSION_strip "2.28" -#endif /* TOOL_VERSION_strip */ -#ifndef MIN_TOOL_VERSION_strip -#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 28 || \ - (major1) == 2 && (major2) == 28 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_strip */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "8queens-0.1.0.0-9F1bJj1BAyiFVafPDI0zqu-8queens" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ - -#undef CURRENT_PACKAGE_KEY -#undef CURRENT_COMPONENT_ID diff --git a/.stack-work/ghci/ec6a65a6/cabal_macros.h b/.stack-work/ghci/ec6a65a6/cabal_macros.h deleted file mode 100644 index 0068da0..0000000 --- a/.stack-work/ghci/ec6a65a6/cabal_macros.h +++ /dev/null @@ -1,165 +0,0 @@ -/* DO NOT EDIT: This file is automatically generated by Cabal */ - -/* package 8queens-0.1.0.0 */ -#ifndef VERSION_8queens -#define VERSION_8queens "0.1.0.0" -#endif /* VERSION_8queens */ -#ifndef MIN_VERSION_8queens -#define MIN_VERSION_8queens(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 1 || \ - (major1) == 0 && (major2) == 1 && (minor) <= 0) -#endif /* MIN_VERSION_8queens */ - -/* package base-4.12.0.0 */ -#ifndef VERSION_base -#define VERSION_base "4.12.0.0" -#endif /* VERSION_base */ -#ifndef MIN_VERSION_base -#define MIN_VERSION_base(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 12 || \ - (major1) == 4 && (major2) == 12 && (minor) <= 0) -#endif /* MIN_VERSION_base */ - -/* package lens-4.17.1 */ -#ifndef VERSION_lens -#define VERSION_lens "4.17.1" -#endif /* VERSION_lens */ -#ifndef MIN_VERSION_lens -#define MIN_VERSION_lens(major1,major2,minor) (\ - (major1) < 4 || \ - (major1) == 4 && (major2) < 17 || \ - (major1) == 4 && (major2) == 17 && (minor) <= 1) -#endif /* MIN_VERSION_lens */ - -/* package linear-1.20.9 */ -#ifndef VERSION_linear -#define VERSION_linear "1.20.9" -#endif /* VERSION_linear */ -#ifndef MIN_VERSION_linear -#define MIN_VERSION_linear(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 20 || \ - (major1) == 1 && (major2) == 20 && (minor) <= 9) -#endif /* MIN_VERSION_linear */ - -/* tool gcc-6.3.0 */ -#ifndef TOOL_VERSION_gcc -#define TOOL_VERSION_gcc "6.3.0" -#endif /* TOOL_VERSION_gcc */ -#ifndef MIN_TOOL_VERSION_gcc -#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ - (major1) < 6 || \ - (major1) == 6 && (major2) < 3 || \ - (major1) == 6 && (major2) == 3 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_gcc */ - -/* tool ghc-8.6.5 */ -#ifndef TOOL_VERSION_ghc -#define TOOL_VERSION_ghc "8.6.5" -#endif /* TOOL_VERSION_ghc */ -#ifndef MIN_TOOL_VERSION_ghc -#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc */ - -/* tool ghc-pkg-8.6.5 */ -#ifndef TOOL_VERSION_ghc_pkg -#define TOOL_VERSION_ghc_pkg "8.6.5" -#endif /* TOOL_VERSION_ghc_pkg */ -#ifndef MIN_TOOL_VERSION_ghc_pkg -#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_ghc_pkg */ - -/* tool haddock-2.22.0 */ -#ifndef TOOL_VERSION_haddock -#define TOOL_VERSION_haddock "2.22.0" -#endif /* TOOL_VERSION_haddock */ -#ifndef MIN_TOOL_VERSION_haddock -#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 22 || \ - (major1) == 2 && (major2) == 22 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_haddock */ - -/* tool happy-1.19.9 */ -#ifndef TOOL_VERSION_happy -#define TOOL_VERSION_happy "1.19.9" -#endif /* TOOL_VERSION_happy */ -#ifndef MIN_TOOL_VERSION_happy -#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\ - (major1) < 1 || \ - (major1) == 1 && (major2) < 19 || \ - (major1) == 1 && (major2) == 19 && (minor) <= 9) -#endif /* MIN_TOOL_VERSION_happy */ - -/* tool hpc-0.67 */ -#ifndef TOOL_VERSION_hpc -#define TOOL_VERSION_hpc "0.67" -#endif /* TOOL_VERSION_hpc */ -#ifndef MIN_TOOL_VERSION_hpc -#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 67 || \ - (major1) == 0 && (major2) == 67 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_hpc */ - -/* tool hsc2hs-0.68.5 */ -#ifndef TOOL_VERSION_hsc2hs -#define TOOL_VERSION_hsc2hs "0.68.5" -#endif /* TOOL_VERSION_hsc2hs */ -#ifndef MIN_TOOL_VERSION_hsc2hs -#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 68 || \ - (major1) == 0 && (major2) == 68 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_hsc2hs */ - -/* tool pkg-config-0.29 */ -#ifndef TOOL_VERSION_pkg_config -#define TOOL_VERSION_pkg_config "0.29" -#endif /* TOOL_VERSION_pkg_config */ -#ifndef MIN_TOOL_VERSION_pkg_config -#define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\ - (major1) < 0 || \ - (major1) == 0 && (major2) < 29 || \ - (major1) == 0 && (major2) == 29 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_pkg_config */ - -/* tool runghc-8.6.5 */ -#ifndef TOOL_VERSION_runghc -#define TOOL_VERSION_runghc "8.6.5" -#endif /* TOOL_VERSION_runghc */ -#ifndef MIN_TOOL_VERSION_runghc -#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ - (major1) < 8 || \ - (major1) == 8 && (major2) < 6 || \ - (major1) == 8 && (major2) == 6 && (minor) <= 5) -#endif /* MIN_TOOL_VERSION_runghc */ - -/* tool strip-2.28 */ -#ifndef TOOL_VERSION_strip -#define TOOL_VERSION_strip "2.28" -#endif /* TOOL_VERSION_strip */ -#ifndef MIN_TOOL_VERSION_strip -#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ - (major1) < 2 || \ - (major1) == 2 && (major2) < 28 || \ - (major1) == 2 && (major2) == 28 && (minor) <= 0) -#endif /* MIN_TOOL_VERSION_strip */ - -#ifndef CURRENT_COMPONENT_ID -#define CURRENT_COMPONENT_ID "8queens-0.1.0.0-IKA4wAVh8gqIUrPDFaKU1F-8queens" -#endif /* CURRENT_COMPONENT_ID */ -#ifndef CURRENT_PACKAGE_VERSION -#define CURRENT_PACKAGE_VERSION "0.1.0.0" -#endif /* CURRENT_PACKAGE_VERSION */ - -#undef CURRENT_PACKAGE_KEY -#undef CURRENT_COMPONENT_ID diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin/8queens b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin/8queens deleted file mode 100755 index b268389..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin/8queens and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin/intero b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin/intero deleted file mode 100755 index bf82725..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin/intero and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/doc/8queens-0.1.0.0/LICENSE b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/doc/8queens-0.1.0.0/LICENSE deleted file mode 100644 index 513ecb9..0000000 --- a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/doc/8queens-0.1.0.0/LICENSE +++ /dev/null @@ -1,30 +0,0 @@ -Copyright Steven (c) 2019 - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * Neither the name of Steven nor the names of other - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/doc/intero-0.1.40/LICENSE b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/doc/intero-0.1.40/LICENSE deleted file mode 100644 index 3501553..0000000 --- a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/doc/intero-0.1.40/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2016, Chris Done -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of intero nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/8queens-0.1.0.0 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/8queens-0.1.0.0 deleted file mode 100644 index 4a70cec..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/8queens-0.1.0.0 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/Cabal-2.4.1.0-9MZFDeNrcJI10bcroa6pq8 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/Cabal-2.4.1.0-9MZFDeNrcJI10bcroa6pq8 deleted file mode 100644 index d02600b..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/Cabal-2.4.1.0-9MZFDeNrcJI10bcroa6pq8 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/StateVar-1.1.1.1-2ewTKofpCGhC2np5dyFIaR b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/StateVar-1.1.1.1-2ewTKofpCGhC2np5dyFIaR deleted file mode 100644 index b0e5bf8..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/StateVar-1.1.1.1-2ewTKofpCGhC2np5dyFIaR and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/adjunctions-4.4-5XvmwZ9ik8T4JDgak5RolE b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/adjunctions-4.4-5XvmwZ9ik8T4JDgak5RolE deleted file mode 100644 index da1f017..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/adjunctions-4.4-5XvmwZ9ik8T4JDgak5RolE and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/base-orphans-0.8.1-HeyTAcy4PKhDcGhjvJwDzq b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/base-orphans-0.8.1-HeyTAcy4PKhDcGhjvJwDzq deleted file mode 100644 index 316340d..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/base-orphans-0.8.1-HeyTAcy4PKhDcGhjvJwDzq and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/bifunctors-5.5.4-JI14q9FdaTRLWn4YdH8JmV b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/bifunctors-5.5.4-JI14q9FdaTRLWn4YdH8JmV deleted file mode 100644 index c5a9f32..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/bifunctors-5.5.4-JI14q9FdaTRLWn4YdH8JmV and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/bytes-0.15.5-3xefL3v3Ncd2XFpMRBDGRq b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/bytes-0.15.5-3xefL3v3Ncd2XFpMRBDGRq deleted file mode 100644 index 05c0c10..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/bytes-0.15.5-3xefL3v3Ncd2XFpMRBDGRq and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/cabal-doctest-1.0.6-GxlnXP6RWcB1QAJigGyNcv b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/cabal-doctest-1.0.6-GxlnXP6RWcB1QAJigGyNcv deleted file mode 100644 index c95af0e..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/cabal-doctest-1.0.6-GxlnXP6RWcB1QAJigGyNcv and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/call-stack-0.1.0-J1eWgTNOnM4IGVyeW0v2YZ b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/call-stack-0.1.0-J1eWgTNOnM4IGVyeW0v2YZ deleted file mode 100644 index 30c9cc5..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/call-stack-0.1.0-J1eWgTNOnM4IGVyeW0v2YZ and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/cereal-0.5.8.0-6rtfJLvNbgP66iuaPkuxJC b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/cereal-0.5.8.0-6rtfJLvNbgP66iuaPkuxJC deleted file mode 100644 index 0c25bf3..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/cereal-0.5.8.0-6rtfJLvNbgP66iuaPkuxJC and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/comonad-5.0.5-FO6wPvVdvoe5bevdeq1PfM b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/comonad-5.0.5-FO6wPvVdvoe5bevdeq1PfM deleted file mode 100644 index 57497a8..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/comonad-5.0.5-FO6wPvVdvoe5bevdeq1PfM and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/contravariant-1.5.1-5DqKSjbrRzZU8YLmfpGsF b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/contravariant-1.5.1-5DqKSjbrRzZU8YLmfpGsF deleted file mode 100644 index ae0c0da..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/contravariant-1.5.1-5DqKSjbrRzZU8YLmfpGsF and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/distributive-0.6-9dQuxsXiNSOFiN4BOgtPCR b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/distributive-0.6-9dQuxsXiNSOFiN4BOgtPCR deleted file mode 100644 index 6949bc5..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/distributive-0.6-9dQuxsXiNSOFiN4BOgtPCR and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/exceptions-0.10.2-965Nx9KftkgCsZ4B7Zhuyu b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/exceptions-0.10.2-965Nx9KftkgCsZ4B7Zhuyu deleted file mode 100644 index a6534dc..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/exceptions-0.10.2-965Nx9KftkgCsZ4B7Zhuyu and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/free-5.1.1-4bsEiYxPhIEFqPXXuEKbd4 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/free-5.1.1-4bsEiYxPhIEFqPXXuEKbd4 deleted file mode 100644 index b43891d..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/free-5.1.1-4bsEiYxPhIEFqPXXuEKbd4 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/ghc-paths-0.1.0.9-KaBYbRV3ryA10w04FwbrO2 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/ghc-paths-0.1.0.9-KaBYbRV3ryA10w04FwbrO2 deleted file mode 100644 index c1682fc..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/ghc-paths-0.1.0.9-KaBYbRV3ryA10w04FwbrO2 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/hashable-1.2.7.0-CWI8VZuQTAYWIQTQQtqCV b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/hashable-1.2.7.0-CWI8VZuQTAYWIQTQQtqCV deleted file mode 100644 index 332987d..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/hashable-1.2.7.0-CWI8VZuQTAYWIQTQQtqCV and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/haskeline-0.7.5.0-ADzuRaH0DKHIRvvi965fg2 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/haskeline-0.7.5.0-ADzuRaH0DKHIRvvi965fg2 deleted file mode 100644 index e60f7c6..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/haskeline-0.7.5.0-ADzuRaH0DKHIRvvi965fg2 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/hmatrix-0.19.0.0-2s9G4ERdQNGmPHLhVSJnl b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/hmatrix-0.19.0.0-2s9G4ERdQNGmPHLhVSJnl deleted file mode 100644 index ca529d9..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/hmatrix-0.19.0.0-2s9G4ERdQNGmPHLhVSJnl and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/integer-logarithms-1.0.3-L1fXvdNnENnEcLpMml0rI7 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/integer-logarithms-1.0.3-L1fXvdNnENnEcLpMml0rI7 deleted file mode 100644 index 7b03ace..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/integer-logarithms-1.0.3-L1fXvdNnENnEcLpMml0rI7 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/intero-0.1.40 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/intero-0.1.40 deleted file mode 100644 index 6c5c634..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/intero-0.1.40 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/invariant-0.5.3-COCiLnaO8ceLaFLP8ApMB8 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/invariant-0.5.3-COCiLnaO8ceLaFLP8ApMB8 deleted file mode 100644 index dfb60fb..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/invariant-0.5.3-COCiLnaO8ceLaFLP8ApMB8 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/kan-extensions-5.2-GOoLNNVeT9xL7L35wynQJC b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/kan-extensions-5.2-GOoLNNVeT9xL7L35wynQJC deleted file mode 100644 index 3ff152a..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/kan-extensions-5.2-GOoLNNVeT9xL7L35wynQJC and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/lens-4.17.1-HvuC79b14LY7GYVb6qSW7j b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/lens-4.17.1-HvuC79b14LY7GYVb6qSW7j deleted file mode 100644 index 1820f26..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/lens-4.17.1-HvuC79b14LY7GYVb6qSW7j and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/linear-1.20.9-8i87OQRLMk19j5jCRXHfj4 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/linear-1.20.9-8i87OQRLMk19j5jCRXHfj4 deleted file mode 100644 index 30b390c..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/linear-1.20.9-8i87OQRLMk19j5jCRXHfj4 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/loop-0.3.0-KBOFzTkURfGITuXz2VUslN b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/loop-0.3.0-KBOFzTkURfGITuXz2VUslN deleted file mode 100644 index 979bc87..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/loop-0.3.0-KBOFzTkURfGITuXz2VUslN and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/matrix-0.3.6.1-CUcUqfmsmAA7saz436AQSk b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/matrix-0.3.6.1-CUcUqfmsmAA7saz436AQSk deleted file mode 100644 index 7122f8d..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/matrix-0.3.6.1-CUcUqfmsmAA7saz436AQSk and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/network-2.8.0.1-Hmt657UE3v349uYmvUXEvW b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/network-2.8.0.1-Hmt657UE3v349uYmvUXEvW deleted file mode 100644 index 1e72286..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/network-2.8.0.1-Hmt657UE3v349uYmvUXEvW and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/parallel-3.2.2.0-EGl5SOk48TWHAD161C93aQ b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/parallel-3.2.2.0-EGl5SOk48TWHAD161C93aQ deleted file mode 100644 index 8aa0210..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/parallel-3.2.2.0-EGl5SOk48TWHAD161C93aQ and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/primitive-0.6.4.0-ILgywxtLpvnAOlEISPpP5b b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/primitive-0.6.4.0-ILgywxtLpvnAOlEISPpP5b deleted file mode 100644 index 42208e7..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/primitive-0.6.4.0-ILgywxtLpvnAOlEISPpP5b and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/profunctors-5.3-IpGd709zs3V8sI6m3XgDzt b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/profunctors-5.3-IpGd709zs3V8sI6m3XgDzt deleted file mode 100644 index 5fc1728..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/profunctors-5.3-IpGd709zs3V8sI6m3XgDzt and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/random-1.1-3ypV4EIycgb35PKjTYYr5q b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/random-1.1-3ypV4EIycgb35PKjTYYr5q deleted file mode 100644 index 3c5fbdc..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/random-1.1-3ypV4EIycgb35PKjTYYr5q and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/reflection-2.1.4-E9VXTbXoqHZ5rulgGPZOrF b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/reflection-2.1.4-E9VXTbXoqHZ5rulgGPZOrF deleted file mode 100644 index 4251fe0..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/reflection-2.1.4-E9VXTbXoqHZ5rulgGPZOrF and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/scientific-0.3.6.2-Jh87LYpjAZH3EhMJkXeu1S b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/scientific-0.3.6.2-Jh87LYpjAZH3EhMJkXeu1S deleted file mode 100644 index 38eaf58..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/scientific-0.3.6.2-Jh87LYpjAZH3EhMJkXeu1S and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/semigroupoids-5.3.2-Ka80fCBNMcd1Be50r62zFC b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/semigroupoids-5.3.2-Ka80fCBNMcd1Be50r62zFC deleted file mode 100644 index 0ecc45e..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/semigroupoids-5.3.2-Ka80fCBNMcd1Be50r62zFC and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/semigroups-0.18.5-6T2lH5F6zyQIdwR3JYKMO3 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/semigroups-0.18.5-6T2lH5F6zyQIdwR3JYKMO3 deleted file mode 100644 index 21dacf0..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/semigroups-0.18.5-6T2lH5F6zyQIdwR3JYKMO3 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/split-0.2.3.3-6n1iQ0JLFvkeXvJXsAqQc b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/split-0.2.3.3-6n1iQ0JLFvkeXvJXsAqQc deleted file mode 100644 index e54c671..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/split-0.2.3.3-6n1iQ0JLFvkeXvJXsAqQc and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/storable-complex-0.2.3.0-IqTssBZ2G90J9kRbLSMmF1 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/storable-complex-0.2.3.0-IqTssBZ2G90J9kRbLSMmF1 deleted file mode 100644 index 99987dc..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/storable-complex-0.2.3.0-IqTssBZ2G90J9kRbLSMmF1 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/syb-0.7-KRW1LCxdMiCJrmhxCvzo37 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/syb-0.7-KRW1LCxdMiCJrmhxCvzo37 deleted file mode 100644 index b815e2e..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/syb-0.7-KRW1LCxdMiCJrmhxCvzo37 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/tagged-0.8.6-EiJ2F18RuD68LSMkg0Ly4r b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/tagged-0.8.6-EiJ2F18RuD68LSMkg0Ly4r deleted file mode 100644 index 64e8f79..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/tagged-0.8.6-EiJ2F18RuD68LSMkg0Ly4r and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/th-abstraction-0.2.11.0-DAhuCgi08HTBWsDjm9nrOq b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/th-abstraction-0.2.11.0-DAhuCgi08HTBWsDjm9nrOq deleted file mode 100644 index 1a0a51c..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/th-abstraction-0.2.11.0-DAhuCgi08HTBWsDjm9nrOq and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/transformers-base-0.4.5.2-FZmnqdpGRpbAstl7i9dBCk b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/transformers-base-0.4.5.2-FZmnqdpGRpbAstl7i9dBCk deleted file mode 100644 index 0b9b0f3..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/transformers-base-0.4.5.2-FZmnqdpGRpbAstl7i9dBCk and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/transformers-compat-0.6.5-JTHfwAgpAU6AqyWxijPF3Z b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/transformers-compat-0.6.5-JTHfwAgpAU6AqyWxijPF3Z deleted file mode 100644 index 9177e32..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/transformers-compat-0.6.5-JTHfwAgpAU6AqyWxijPF3Z and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/unordered-containers-0.2.9.0-BRWkoSTuML1cQdpep6Oin b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/unordered-containers-0.2.9.0-BRWkoSTuML1cQdpep6Oin deleted file mode 100644 index 7953ccb..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/unordered-containers-0.2.9.0-BRWkoSTuML1cQdpep6Oin and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/vector-0.12.0.3-2LEYu9M2i7lERDtz76XG3n b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/vector-0.12.0.3-2LEYu9M2i7lERDtz76XG3n deleted file mode 100644 index 6b4bd67..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/vector-0.12.0.3-2LEYu9M2i7lERDtz76XG3n and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/void-0.7.3-5xXWQQsTYbKFlr3KfNvyL8 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/void-0.7.3-5xXWQQsTYbKFlr3KfNvyL8 deleted file mode 100644 index 1b77fa9..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/flag-cache/void-0.7.3-5xXWQQsTYbKFlr3KfNvyL8 and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/installed-packages/8queens-0.1.0.0 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/installed-packages/8queens-0.1.0.0 deleted file mode 100644 index 795f563..0000000 --- a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/installed-packages/8queens-0.1.0.0 +++ /dev/null @@ -1 +0,0 @@ -Installed \ No newline at end of file diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/installed-packages/intero-0.1.40 b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/installed-packages/intero-0.1.40 deleted file mode 100644 index 795f563..0000000 --- a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/installed-packages/intero-0.1.40 +++ /dev/null @@ -1 +0,0 @@ -Installed \ No newline at end of file diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/pkgdb/package.cache b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/pkgdb/package.cache deleted file mode 100644 index b3cae5c..0000000 Binary files a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/pkgdb/package.cache and /dev/null differ diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/pkgdb/package.cache.lock b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/pkgdb/package.cache.lock deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/intero-0.1.40/elisp/haskell-simple-indent.el b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/intero-0.1.40/elisp/haskell-simple-indent.el deleted file mode 100644 index 1d43d23..0000000 --- a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/intero-0.1.40/elisp/haskell-simple-indent.el +++ /dev/null @@ -1,273 +0,0 @@ -;;; haskell-simple-indent.el --- Simple indentation module for Haskell Mode -*- lexical-binding: t -*- - -;; Copyright (C) 1998 Heribert Schuetz, Graeme E Moss - -;; Author: Heribert Schuetz -;; Graeme E Moss -;; Keywords: indentation files Haskell - -;; This file is not part of GNU Emacs. - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; Purpose: -;; -;; To support simple indentation of Haskell scripts. -;; -;; -;; Installation: -;; -;; To bind TAB to the indentation command for all Haskell buffers, add -;; this to .emacs: -;; -;; (add-hook 'haskell-mode-hook 'turn-on-haskell-simple-indent) -;; -;; Otherwise, call `turn-on-haskell-simple-indent'. -;; -;; -;; Customisation: -;; -;; None supported. -;; -;; -;; History: -;; -;; If you have any problems or suggestions, after consulting the list -;; below, email gem@cs.york.ac.uk quoting the version of you are -;; using, the version of Emacs you are using, and a small example of -;; the problem or suggestion. -;; -;; Version 1.0: -;; Brought over from Haskell mode v1.1. -;; -;; Present Limitations/Future Work (contributions are most welcome!): -;; -;; (None so far.) - -;;; Code: - -;; All functions/variables start with -;; `(turn-(on/off)-)haskell-simple-indent'. - -(require 'haskell-mode) - -;;;###autoload -(defgroup haskell-simple-indent nil - "Simple Haskell indentation." - :link '(custom-manual "(haskell-mode)Indentation") - :group 'haskell - :prefix "haskell-simple-indent-") - -;; Version. -(defconst haskell-simple-indent-version "1.2" - "`haskell-simple-indent' version number.") -(defun haskell-simple-indent-version () - "Echo the current version of `haskell-simple-indent' in the minibuffer." - (interactive) - (message "Using haskell-simple-indent version %s" - haskell-simple-indent-version)) - -;; Partly stolen from `indent-relative' in indent.el: -(defun haskell-simple-indent () - "Space out to under next visible indent point. - -Indent points are positions of non-whitespace following -whitespace in lines preceeding point. Example: - -func arg cx = when (isTrue) $ do - print 42 -^ ^ ^ ^ ^ ^ ^ ^ ^ ^ - -A position is visible if it is to the left of the first -non-whitespace (indentation) of every nonblank line between the -position and the current line. If there is no visible indent -point beyond the current column, position given by -`indent-next-tab-stop' is used instead." - (interactive) - (let* ((start-column (or (save-excursion - (back-to-indentation) - (if (not (eolp)) - (current-column))) - (current-column))) - (invisible-from nil) ; `nil' means infinity here - (found) - (indent)) - (save-excursion - ;; Loop stops if there no more lines above this one or when has - ;; found a line starting at first column. - (while (and (not found) - (or (not invisible-from) - (not (zerop invisible-from))) - (zerop (forward-line -1))) - ;; Ignore empty lines. - (if (not (looking-at "[ \t]*\n")) - (let ((this-indentation (current-indentation))) - ;; Is this line so indented that it cannot have - ;; influence on indentation points? - (if (or (not invisible-from) - (< this-indentation invisible-from)) - (if (> this-indentation start-column) - (setq invisible-from this-indentation) - (let ((end (line-end-position))) - (move-to-column start-column) - ;; Is start-column inside a tab on this line? - (if (> (current-column) start-column) - (backward-char 1)) - ;; Skip to the end of non-whitespace. - (skip-chars-forward "^ \t" end) - ;; Skip over whitespace. - (skip-chars-forward " \t" end) - ;; Indentation point found if not at the end of - ;; line and if not covered by any line below - ;; this one. In that case use invisible-from. - (setq indent (if (or (= (point) end) - (and invisible-from - (> (current-column) invisible-from))) - invisible-from - (current-column))) - ;; Signal that solution is found. - (setq found t)))))))) - - - (let ((opoint (point-marker))) - ;; Indent to the calculated indent or last know invisible-from - ;; or use tab-to-tab-stop. Try hard to keep cursor in the same - ;; place or move it to the indentation if it was before it. And - ;; keep content of the line intact. - (setq indent (or indent - invisible-from - (if (fboundp 'indent-next-tab-stop) - (indent-next-tab-stop start-column)) - (let ((tabs tab-stop-list)) - (while (and tabs (>= start-column (car tabs))) - (setq tabs (cdr tabs))) - (if tabs (car tabs))) - (* (/ (+ start-column tab-width) tab-width) tab-width))) - (indent-line-to indent) - (if (> opoint (point)) - (goto-char opoint)) - (set-marker opoint nil)))) - -(defun haskell-simple-indent-backtab () - "Indent backwards. Dual to `haskell-simple-indent'." - (interactive) - (let ((saved-column (or (save-excursion - (back-to-indentation) - (if (not (eolp)) - (current-column))) - (current-column))) - (i 0) - (x 0)) - - (save-excursion - (back-to-indentation) - (delete-region (line-beginning-position) (point))) - (while (< (or (save-excursion - (back-to-indentation) - (if (not (eolp)) - (current-column))) - (current-column)) saved-column) - (haskell-simple-indent) - (setq i (+ i 1))) - - (save-excursion - (back-to-indentation) - (delete-region (line-beginning-position) (point))) - (while (< x (- i 1)) - (haskell-simple-indent) - (setq x (+ x 1))))) - -(defun haskell-simple-indent-newline-same-col () - "Make a newline and go to the same column as the current line." - (interactive) - (let ((start-end - (save-excursion - (let* ((start (line-beginning-position)) - (end (progn (goto-char start) - (search-forward-regexp - "[^ ]" (line-end-position) t 1)))) - (when end (cons start (1- end))))))) - (if start-end - (progn (newline) - (insert (buffer-substring-no-properties - (car start-end) (cdr start-end)))) - (newline)))) - -(defun haskell-simple-indent-newline-indent () - "Make a newline on the current column and indent on step." - (interactive) - (haskell-simple-indent-newline-same-col) - (insert (make-string haskell-indent-spaces ? ))) - -(defun haskell-simple-indent-comment-indent-function () - "Haskell version of `comment-indent-function'." - ;; This is required when filladapt is turned off. Without it, when - ;; filladapt is not used, comments which start in column zero - ;; cascade one character to the right - (save-excursion - (beginning-of-line) - (let ((eol (line-end-position))) - (and comment-start-skip - (re-search-forward comment-start-skip eol t) - (setq eol (match-beginning 0))) - (goto-char eol) - (skip-chars-backward " \t") - (max comment-column (+ (current-column) (if (bolp) 0 1)))))) - -;;;###autoload -(define-minor-mode haskell-simple-indent-mode - "Simple Haskell indentation mode that uses simple heuristic. -In this minor mode, `indent-for-tab-command' (bound to by -default) will move the cursor to the next indent point in the -previous nonblank line, whereas `haskell-simple-indent-backtab' -\ (bound to by default) will move the cursor the -previous indent point. An indent point is a non-whitespace -character following whitespace. - -Runs `haskell-simple-indent-hook' on activation." - :lighter " Ind" - :group 'haskell-simple-indent - :keymap '(([backtab] . haskell-simple-indent-backtab)) - (kill-local-variable 'comment-indent-function) - (kill-local-variable 'indent-line-function) - (when haskell-simple-indent-mode - (when (and (bound-and-true-p haskell-indentation-mode) - (fboundp 'haskell-indentation-mode)) - (haskell-indentation-mode 0)) - (set (make-local-variable 'comment-indent-function) #'haskell-simple-indent-comment-indent-function) - (set (make-local-variable 'indent-line-function) 'haskell-simple-indent) - (run-hooks 'haskell-simple-indent-hook))) - -;; The main functions. -;;;###autoload -(defun turn-on-haskell-simple-indent () - "Turn on function `haskell-simple-indent-mode'." - (interactive) - (haskell-simple-indent-mode)) -(make-obsolete 'turn-on-haskell-simple-indent - 'haskell-simple-indent-mode - "2015-07-23") - -(defun turn-off-haskell-simple-indent () - "Turn off function `haskell-simple-indent-mode'." - (interactive) - (haskell-simple-indent-mode 0)) - -;; Provide ourselves: - -(provide 'haskell-simple-indent) - -;;; haskell-simple-indent.el ends here diff --git a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/intero-0.1.40/elisp/intero.el b/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/intero-0.1.40/elisp/intero.el deleted file mode 100644 index a1dd48e..0000000 --- a/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/share/x86_64-linux-ghc-8.6.5/intero-0.1.40/elisp/intero.el +++ /dev/null @@ -1,3676 +0,0 @@ -;;; intero.el --- Complete development mode for Haskell - -;; Copyright (c) 2016 Chris Done -;; Copyright (c) 2016 Steve Purcell -;; Copyright (C) 2016 Артур Файзрахманов -;; Copyright (c) 2015 Athur Fayzrakhmanov -;; Copyright (C) 2015 Gracjan Polak -;; Copyright (c) 2013 Herbert Valerio Riedel -;; Copyright (c) 2007 Stefan Monnier - -;; Author: Chris Done -;; Maintainer: Chris Done -;; URL: https://github.com/commercialhaskell/intero -;; Created: 3rd June 2016 -;; Version: 0.1.13 -;; Keywords: haskell, tools -;; Package-Requires: ((flycheck "0.25") (company "0.8") (emacs "24.4") (haskell-mode "13.0")) - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -;;; Commentary: -;; -;; Mode that enables: -;; -;; * Flycheck type checking ✓ -;; * Company mode completion ✓ -;; * Go to definition ✓ -;; * Type of selection ✓ -;; * Info ✓ -;; * REPL ✓ -;; * Apply suggestions (extensions, imports, etc.) ✓ -;; * Find uses -;; * Completion of stack targets ✓ -;; * List all types in all expressions -;; * Import management -;; * Dependency management - -;;; Code: - -(require 'flycheck) -(require 'json) -(require 'warnings) -(require 'cl-lib) -(require 'company) -(require 'comint) -(require 'widget) -(require 'eldoc) -(eval-when-compile - (require 'wid-edit)) -(require 'tramp) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Configuration - -(defgroup intero nil - "Complete development mode for Haskell" - :group 'haskell) - -(defcustom intero-package-version - (cl-case system-type - ;; Until is fixed: - (windows-nt "0.1.39") - (cygwin "0.1.39") - (t "0.1.39")) - "Package version to auto-install. - -This version does not necessarily have to be the latest version -of intero published on Hackage. Sometimes there are changes to -Intero which have no use for the Emacs mode. It is only bumped -when the Emacs mode actually requires newer features from the -intero executable, otherwise we force our users to upgrade -pointlessly." - :group 'intero - :type 'string) - -(defcustom intero-repl-no-load - t - "Pass --no-load when starting the repl. -This causes it to skip loading the files from the selected target." - :group 'intero - :type 'boolean) - -(defcustom intero-repl-no-build - t - "Pass --no-build when starting the repl. -This causes it to skip building the target." - :group 'intero - :type 'boolean) - -(defcustom intero-debug nil - "Show debug output." - :group 'intero - :type 'boolean) - -(defcustom intero-whitelist - nil - "Projects to whitelist. - -It should be a list of directories. - -To use this, use the following mode hook: - (add-hook 'haskell-mode-hook 'intero-mode-whitelist) -or use `intero-global-mode' and add \"/\" to `intero-blacklist'." - :group 'intero - :type 'string) - -(defcustom intero-blacklist - nil - "Projects to blacklist. - -It should be a list of directories. - -To use this, use the following mode hook: - (add-hook 'haskell-mode-hook 'intero-mode-blacklist) -or use `intero-global-mode'." - :group 'intero - :type 'string) - -(defcustom intero-stack-executable - "stack" - "Name or path to the Stack executable to use." - :group 'intero - :type 'string) - -(defcustom intero-pop-to-repl - t - "When non-nil, pop to REPL when code is sent to it." - :group 'intero - :type 'boolean) - -(defcustom intero-extra-ghc-options nil - "Extra GHC options to pass to intero executable. - -For example, this variable can be used to run intero with extra -warnings and perform more checks via flycheck error reporting." - :group 'intero - :type '(repeat string)) - -(defcustom intero-extra-ghci-options nil - "Extra options to pass to GHCi when running `intero-repl'. - -For example, this variable can be used to enable some ghci extensions -by default." - :group 'intero - :type '(repeat string)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Modes - -(defvar intero-mode-map (make-sparse-keymap) - "Intero minor mode's map.") - -(defvar-local intero-lighter " Intero" - "Lighter for the intero minor mode.") - -;;;###autoload -(define-minor-mode intero-mode - "Minor mode for Intero. - -\\{intero-mode-map}" - :lighter intero-lighter - :keymap intero-mode-map - (when (bound-and-true-p interactive-haskell-mode) - (when (fboundp 'interactive-haskell-mode) - (message "Disabling interactive-haskell-mode ...") - (interactive-haskell-mode -1))) - (if intero-mode - (progn - (intero-flycheck-enable) - (add-hook 'completion-at-point-functions 'intero-completion-at-point nil t) - (add-to-list (make-local-variable 'company-backends) 'intero-company) - (company-mode) - (setq-local company-minimum-prefix-length 1) - (unless eldoc-documentation-function - (setq-local eldoc-documentation-function #'ignore)) - (add-function :before-until (local 'eldoc-documentation-function) #'intero-eldoc) - ) - (progn - (remove-function (local 'eldoc-documentation-function) #'intero-eldoc) - (message "Intero mode disabled.")))) - -;;;###autoload -(defun intero-mode-whitelist () - "Run intero-mode when the current project is in `intero-whitelist'." - (interactive) - (when (intero-directories-contain-file (buffer-file-name) intero-whitelist) - (intero-mode))) - -;;;###autoload -(defun intero-mode-blacklist () - "Run intero-mode unless the current project is in `intero-blacklist'." - (interactive) - (unless (intero-directories-contain-file (buffer-file-name) intero-blacklist) - (intero-mode))) - -(dolist (f '(intero-mode-whitelist intero-mode-blacklist)) - (make-obsolete - f - "use `intero-global-mode', which honours `intero-whitelist' and `intero-blacklist'." - "2017-05-13")) - - -(define-key intero-mode-map (kbd "C-c C-t") 'intero-type-at) -(define-key intero-mode-map (kbd "M-?") 'intero-uses-at) -(define-key intero-mode-map (kbd "C-c C-i") 'intero-info) -(define-key intero-mode-map (kbd "M-.") 'intero-goto-definition) -(define-key intero-mode-map (kbd "C-c C-l") 'intero-repl-load) -(define-key intero-mode-map (kbd "C-c C-c") 'intero-repl-eval-region) -(define-key intero-mode-map (kbd "C-c C-z") 'intero-repl) -(define-key intero-mode-map (kbd "C-c C-r") 'intero-apply-suggestions) -(define-key intero-mode-map (kbd "C-c C-e") 'intero-expand-splice-at-point) - -(defun intero-directories-contain-file (file dirs) - "Return non-nil if FILE is contained in at least one of DIRS." - (and (not (null file)) - (cl-some (lambda (directory) - (file-in-directory-p file directory)) - dirs))) - -(defun intero-mode-maybe () - "Enable `intero-mode' in all Haskell mode buffers. -The buffer's filename (or working directory) is checked against -`intero-whitelist' and `intero-blacklist'. If both the whitelist -and blacklist match, then the whitelist entry wins, and -`intero-mode' is enabled." - (when (intero-mode-should-start-p) - (intero-mode 1))) - -(defun intero-mode-should-start-p () - "Predicate whether intero should start given user config. -The buffer's filename (or working directory) is checked against -`intero-whitelist' and `intero-blacklist'. If both the whitelist -and blacklist match, then the whitelist entry wins, and -`intero-mode' is enabled." - (and (derived-mode-p 'haskell-mode) - (let* ((file (or (buffer-file-name) default-directory)) - (blacklisted (intero-directories-contain-file - file intero-blacklist)) - (whitelisted (intero-directories-contain-file - file intero-whitelist))) - (or whitelisted (not blacklisted))))) - -;;;###autoload -(define-globalized-minor-mode intero-global-mode - intero-mode intero-mode-maybe - :require 'intero) - -(define-obsolete-function-alias 'global-intero-mode 'intero-global-mode) - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Global variables/state - -(defvar intero-temp-file-buffer-mapping - (make-hash-table) - "A mapping from file names to buffers.") - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Buffer-local variables/state - -(defvar-local intero-callbacks (list) - "List of callbacks waiting for output. -LIST is a FIFO.") - -(defvar-local intero-async-network-cmd nil - "Command to send to the async network process when we connect.") - -(defvar-local intero-async-network-connected nil - "Did we successfully connect to the intero service?") - -(defvar-local intero-async-network-state nil - "State to pass to the callback once we get a response.") - -(defvar-local intero-async-network-worker nil - "The worker we're associated with.") - -(defvar-local intero-async-network-callback nil - "Callback to call when the connection is closed.") - -(defvar-local intero-arguments (list) - "Arguments used to call the stack process.") - -(defvar-local intero-targets (list) - "Targets used for the stack process.") - -(defvar-local intero-repl-last-loaded nil - "Last loaded module in the REPL.") - -(defvar-local intero-repl-send-after-load nil - "Send a command after every load.") - -(defvar-local intero-start-time nil - "Start time of the stack process.") - -(defvar-local intero-source-buffer (list) - "Buffer from which Intero was first requested to start.") - -(defvar-local intero-project-root nil - "The project root of the current buffer.") - -(defvar-local intero-package-name nil - "The package name associated with the current buffer.") - -(defvar-local intero-deleting nil - "The process of the buffer is being deleted.") - -(defvar-local intero-give-up nil - "When non-nil, give up trying to start the backend. -A true value indicates that the backend could not start, or could -not be installed. The user will have to manually run -`intero-restart' or `intero-targets' to destroy the buffer and -create a fresh one without this variable enabled.") - -(defvar-local intero-try-with-build nil - "Try starting intero without --no-build. -This is slower, but will build required dependencies.") - -(defvar-local intero-starting nil - "When non-nil, indicates that the intero process starting up.") - -(defvar-local intero-service-port nil - "Port that the intero process is listening on for asynchronous commands.") - -(defvar-local intero-hoogle-port nil - "Port that hoogle server is listening on.") - -(defvar-local intero-suggestions nil - "Auto actions for the buffer.") - -(defvar-local intero-extensions nil - "Extensions supported by the compiler.") - -(defvar-local intero-ghc-version nil - "GHC version used by the project.") - -(defvar-local intero-buffer-host nil - "The hostname of the box hosting the intero process for the current buffer.") - -(defvar-local intero-stack-yaml nil - "The yaml file that intero should tell stack to use. When nil, - intero relies on stack's default, usually the 'stack.yaml' in - the project root.") - -(defun intero-inherit-local-variables (buffer) - "Make the current buffer inherit values of certain local variables from BUFFER." - (let ((variables '(intero-stack-executable - intero-repl-no-build - intero-repl-no-load - intero-stack-yaml - ;; TODO: shouldn’t more of the above be here? - ))) - (cl-loop for v in variables do - (set (make-local-variable v) (buffer-local-value v buffer))))) - -(defmacro intero-with-temp-buffer (&rest body) - "Run BODY in `with-temp-buffer', but inherit certain local variables from the current buffer first." - (declare (indent 0) (debug t)) - `(let ((initial-buffer (current-buffer))) - (with-temp-buffer - (intero-inherit-local-variables initial-buffer) - ,@body))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Interactive commands - -(defun intero-add-package (package) - "Add a dependency on PACKAGE to the currently-running project backend." - (interactive "sPackage: ") - (intero-blocking-call 'backend (concat ":set -package " package)) - (flycheck-buffer)) - -(defun intero-toggle-debug () - "Toggle debugging mode on/off." - (interactive) - (setq intero-debug (not intero-debug)) - (message "Intero debugging is: %s" (if intero-debug "ON" "OFF"))) - -(defun intero-list-buffers () - "List hidden process buffers created by intero. - -You can use this to kill them or look inside." - (interactive) - (let ((buffers (cl-remove-if-not - (lambda (buffer) - (string-match-p " intero:" (buffer-name buffer))) - (buffer-list)))) - (if buffers - (display-buffer - (list-buffers-noselect - nil - buffers)) - (error "There are no Intero process buffers")))) - -(defun intero-cd () - "Change directory in the backend process." - (interactive) - (intero-async-call - 'backend - (concat ":cd " - (read-directory-name "Change Intero directory: ")))) - -(defun intero-fontify-expression (expression) - "Return a haskell-fontified version of EXPRESSION." - (intero-with-temp-buffer - (when (fboundp 'haskell-mode) - (let ((flycheck-checkers nil) - (haskell-mode-hook nil)) - (haskell-mode))) - (insert expression) - (if (fboundp 'font-lock-ensure) - (font-lock-ensure) - (font-lock-fontify-buffer)) - (buffer-string))) - -(defun intero-uses-at () - "Highlight where the identifier at point is used." - (interactive) - (let* ((thing (intero-thing-at-point)) - (uses (split-string (apply #'intero-get-uses-at thing) - "\n" - t))) - (unless (null uses) - (let ((highlighted nil)) - (cl-loop - for use in uses - when (string-match - "\\(.*?\\):(\\([0-9]+\\),\\([0-9]+\\))-(\\([0-9]+\\),\\([0-9]+\\))$" - use) - do (let* ((returned-file (match-string 1 use)) - (loaded-file (intero-extend-path-by-buffer-host returned-file)) - (sline (string-to-number (match-string 2 use))) - (scol (string-to-number (match-string 3 use))) - (eline (string-to-number (match-string 4 use))) - (ecol (string-to-number (match-string 5 use))) - (start (save-excursion (goto-char (point-min)) - (forward-line (1- sline)) - (forward-char (1- scol)) - (point)))) - (when (intero-temp-file-p loaded-file) - (unless highlighted - (intero-highlight-uses-mode)) - (setq highlighted t) - (intero-highlight-uses-mode-highlight - start - (save-excursion (goto-char (point-min)) - (forward-line (1- eline)) - (forward-char (1- ecol)) - (point)) - (= start (car thing)))))))))) - -(defun intero-type-at (insert) - "Get the type of the thing or selection at point. - -With prefix argument INSERT, inserts the type above the current -line as a type signature." - (interactive "P") - (let* ((thing (intero-thing-at-point)) - (origin-buffer (current-buffer)) - (origin (buffer-name)) - (package (intero-package-name)) - (ty (apply #'intero-get-type-at thing)) - (string (buffer-substring (nth 0 thing) (nth 1 thing)))) - (if insert - (save-excursion - (goto-char (line-beginning-position)) - (insert (intero-fontify-expression ty) "\n")) - (with-current-buffer (intero-help-buffer) - (let ((buffer-read-only nil) - (help-string - (concat - (intero-fontify-expression string) - " in `" - (propertize origin 'origin-buffer origin-buffer) - "'" - " (" package ")" - "\n\n" - (intero-fontify-expression ty)))) - (erase-buffer) - (intero-help-push-history origin-buffer help-string) - (intero-help-pagination) - (insert help-string) - (goto-char (point-min)))) - (message - "%s" (intero-fontify-expression ty))))) - -(defun intero-info (ident) - "Get the info of the thing with IDENT at point." - (interactive (list (intero-ident-at-point))) - (let ((origin-buffer (current-buffer)) - (package (intero-package-name)) - (info (intero-get-info-of ident)) - (origin (buffer-name))) - (with-current-buffer (pop-to-buffer (intero-help-buffer)) - (let ((buffer-read-only nil) - (help-string - (concat - (intero-fontify-expression ident) - " in `" - (propertize origin 'origin-buffer origin-buffer) - "'" - " (" package ")" - "\n\n" - (intero-fontify-expression info)))) - (erase-buffer) - (intero-help-push-history origin-buffer help-string) - (intero-help-pagination) - (insert help-string) - (goto-char (point-min)))))) - -(defun intero-goto-definition () - "Jump to the definition of the thing at point. -Returns nil when unable to find definition." - (interactive) - (let ((result (apply #'intero-get-loc-at (intero-thing-at-point)))) - - (if (not (string-match "\\(.*?\\):(\\([0-9]+\\),\\([0-9]+\\))-(\\([0-9]+\\),\\([0-9]+\\))$" - result)) - (message "%s" result) - (if (fboundp 'xref-push-marker-stack) ;; Emacs 25 - (xref-push-marker-stack) - (with-no-warnings - (ring-insert find-tag-marker-ring (point-marker)))) - (let* ((returned-file (match-string 1 result)) - (line (string-to-number (match-string 2 result))) - (col (string-to-number (match-string 3 result))) - (loaded-file (intero-extend-path-by-buffer-host returned-file))) - (if (intero-temp-file-p loaded-file) - (let ((original-buffer (intero-temp-file-origin-buffer loaded-file))) - (if original-buffer - (switch-to-buffer original-buffer) - (error "Attempted to load temp file. Try restarting Intero. -If the problem persists, please report this as a bug!"))) - (find-file - (expand-file-name - returned-file - (intero-extend-path-by-buffer-host (intero-project-root))))) - (pop-mark) - (goto-char (point-min)) - (forward-line (1- line)) - (forward-char (1- col)) - t)))) - -(defmacro intero-with-dump-splices (exp) - "Run EXP but with dump-splices enabled in the intero backend process." - `(when (intero-blocking-call 'backend ":set -ddump-splices") - (let ((result ,exp)) - (progn - nil ; Disable dump-splices here in future - result)))) - -(defun intero-expand-splice-at-point () - "Show the expansion of the template haskell splice at point." - (interactive) - (unless (intero-gave-up 'backend) - (intero-with-dump-splices - (let* ((output (intero-blocking-call - 'backend - (concat ":load " (intero-path-for-ghci (intero-temp-file-name))))) - (msgs (intero-parse-errors-warnings-splices nil (current-buffer) output)) - (line (line-number-at-pos)) - (column (if (save-excursion - (forward-char 1) - (looking-back "$(" 1)) - (+ 2 (current-column)) - (if (looking-at-p "$(") - (+ 3 (current-column)) - (1+ (current-column))))) - (expansion-msg - (cl-loop for msg in msgs - when (and (eq (flycheck-error-level msg) 'splice) - (= (flycheck-error-line msg) line) - (<= (flycheck-error-column msg) column)) - return (flycheck-error-message msg))) - (expansion - (when expansion-msg - (string-trim - (replace-regexp-in-string "^Splicing expression" "" expansion-msg))))) - (when expansion - (message "%s" (intero-fontify-expression expansion))))))) - -(defun intero-restart () - "Simply restart the process with the same configuration as before." - (interactive) - (when (intero-buffer-p 'backend) - (let ((targets (buffer-local-value 'intero-targets - (intero-buffer 'backend))) - (stack-yaml (buffer-local-value 'intero-stack-yaml - (intero-buffer 'backend)))) - (intero-destroy 'backend) - (intero-get-worker-create 'backend targets (current-buffer) stack-yaml) - (intero-repl-restart)))) - -(defun intero-read-targets () - "Read a list of stack targets." - (let ((old-targets - (buffer-local-value 'intero-targets (intero-buffer 'backend))) - (available-targets (intero-get-targets))) - (if available-targets - (intero-multiswitch - "Set the targets to use for stack ghci:" - (mapcar (lambda (target) - (list :key target - :title target - :default (member target old-targets))) - available-targets)) - (split-string (read-from-minibuffer "Targets: " nil nil nil nil old-targets) - " " - t)))) - -(defun intero-targets (targets save-dir-local) - "Set the TARGETS to use for stack ghci. -When SAVE-DIR-LOCAL is non-nil, save TARGETS as the -directory-local value for `intero-targets'." - (interactive (list (intero-read-targets) - (y-or-n-p "Save selected target(s) in directory local variables for future sessions? "))) - (intero-destroy) - (intero-get-worker-create 'backend targets (current-buffer)) - (intero-repl-restart) - (when save-dir-local - (save-window-excursion - (let ((default-directory (intero-project-root))) - (add-dir-local-variable 'haskell-mode 'intero-targets targets) - (save-buffer))))) - -(defun intero-stack-yaml (file save-dir-local) - "Change the yaml FILE that intero should tell stack to use. -Intero will be restarted with the new configuration. When -SAVE-DIR-LOCAL is non-nil, save FILE as the directory-local value -for `intero-stack-yaml'." - (interactive (list (read-file-name - "Select YAML config: " - (file-name-as-directory (intero-project-root))) - (y-or-n-p "Save selected stack yaml config in directory local variable for future sessions? "))) - (let ((stack-yaml (expand-file-name file))) - (setq intero-stack-yaml stack-yaml) - (with-current-buffer (intero-buffer 'backend) - (setq intero-stack-yaml stack-yaml)) - (intero-restart) - (intero-repl-restart) - (when save-dir-local - (save-window-excursion - (let ((default-directory (intero-project-root))) - (add-dir-local-variable 'haskell-mode 'intero-stack-yaml stack-yaml) - (save-buffer)))))) - -(defun intero-destroy (&optional worker) - "Stop WORKER and kill its associated process buffer. -If not provided, WORKER defaults to the current worker process." - (interactive) - (if worker - (intero-delete-worker worker) - (intero-delete-worker 'backend))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; DevelMain integration - -(defun intero-devel-reload () - "Reload the module `DevelMain' and then run `DevelMain.update'. - -This is for doing live update of the code of servers or GUI -applications. Put your development version of the program in -`DevelMain', and define `update' to auto-start the program on a -new thread, and use the `foreign-store' package to access the -running context across :load/:reloads in Intero." - (interactive) - (unwind-protect - (with-current-buffer - (or (get-buffer "DevelMain.hs") - (if (y-or-n-p - "You need to open a buffer named DevelMain.hs. Find now? ") - (ido-find-file) - (error "No DevelMain.hs buffer"))) - (message "Reloading ...") - (intero-async-call - 'backend - ":load DevelMain" - (current-buffer) - (lambda (buffer reply) - (if (string-match-p "^O[Kk], modules loaded" reply) - (intero-async-call - 'backend - "DevelMain.update" - buffer - (lambda (_buffer reply) - (message "DevelMain updated. Output was:\n%s" - reply))) - (progn - (message "DevelMain FAILED. Switch to DevelMain.hs and compile that.") - (switch-to-buffer buffer) - (flycheck-buffer) - (flycheck-list-errors)))))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Flycheck integration - -(defun intero-flycheck-enable () - "Enable intero's flycheck support in this buffer." - (flycheck-select-checker 'intero) - (setq intero-check-last-mod-time nil - intero-check-last-results nil) - (flycheck-mode)) - -(defun intero-check (checker cont) - "Run a check with CHECKER and pass the status onto CONT." - (if (intero-gave-up 'backend) - (run-with-timer 0 - nil - cont - 'interrupted) - (let* ((file-buffer (current-buffer)) - (staging-file (intero-path-for-ghci (intero-staging-file-name))) - (temp-file (intero-path-for-ghci (intero-temp-file-name)))) - ;; We queue up to :move the staging file to the target temp - ;; file, which also updates its modified time. - (intero-async-call - 'backend - (format ":move %s %s" staging-file temp-file)) - ;; We load up the target temp file, which has only been updated - ;; by the copy above. - (intero-async-call - 'backend - (concat ":load " temp-file) - (list :cont cont - :file-buffer file-buffer - :checker checker) - (lambda (state string) - (with-current-buffer (plist-get state :file-buffer) - (let* ((compile-ok (string-match "O[Kk], modules loaded: \\(.*\\)\\.$" string)) - (modules (match-string 1 string)) - (msgs (intero-parse-errors-warnings-splices - (plist-get state :checker) - (current-buffer) - string))) - (intero-collect-compiler-messages msgs) - (let ((results (cl-remove-if (lambda (msg) - (eq 'splice (flycheck-error-level msg))) - msgs))) - (setq intero-check-last-results results) - (funcall (plist-get state :cont) 'finished results)) - (when compile-ok - (intero-async-call 'backend - (concat ":module + " - (replace-regexp-in-string "," "" modules)) - nil - (lambda (_st _)))))))) - ;; We sleep for at least one second to allow a buffer period - ;; between module updates. GHCi will consider a module Foo to be - ;; unchanged even if its filename has changed or timestmap has - ;; changed, if the timestamp is less than 1 second. - (intero-async-call - 'backend - ":sleep 1")))) - -(flycheck-define-generic-checker 'intero - "A syntax and type checker for Haskell using an Intero worker -process." - :start 'intero-check - :modes '(haskell-mode literate-haskell-mode) - :predicate (lambda () intero-mode)) - -(add-to-list 'flycheck-checkers 'intero) - -(defun intero-parse-errors-warnings-splices (checker buffer string) - "Parse flycheck errors and warnings. -CHECKER and BUFFER are added to each item parsed from STRING." - (intero-with-temp-buffer - (insert string) - (goto-char (point-min)) - (let ((messages (list)) - (temp-file (intero-temp-file-name buffer)) - (found-error-as-warning nil)) - (while (search-forward-regexp - (concat "[\r\n]\\([A-Z]?:?[^ \r\n:][^:\n\r]+\\):\\([0-9()-:]+\\):" - "[ \n\r]+\\([[:unibyte:][:nonascii:]]+?\\)\n[^ ]") - nil t 1) - (let* ((local-file (intero-canonicalize-path (match-string 1))) - (file (intero-extend-path-by-buffer-host local-file buffer)) - (location-raw (match-string 2)) - (msg (replace-regexp-in-string - "[\n\r ]*|$" - "" - (match-string 3))) ;; Replace gross bullet points. - (type (cond ((string-match "^Warning:" msg) - (setq msg (replace-regexp-in-string "^Warning: *" "" msg)) - (if (string-match-p - (rx bol - "[" - (or "-Wdeferred-type-errors" - "-Wdeferred-out-of-scope-variables" - "-Wtyped-holes") - "]") - msg) - (progn (setq found-error-as-warning t) - 'error) - 'warning)) - ((string-match-p "^Splicing " msg) 'splice) - (t 'error))) - (location (intero-parse-error - (concat local-file ":" location-raw ": x"))) - (line (plist-get location :line)) - (column (plist-get location :col))) - (setq messages - (cons (flycheck-error-new-at - line column type - msg - :checker checker - :buffer buffer - :filename (if (intero-paths-for-same-file temp-file file) - (intero-buffer-file-name buffer) - file)) - messages))) - (forward-line -1)) - (delete-dups - (if found-error-as-warning - (cl-remove-if (lambda (msg) (eq 'warning (flycheck-error-level msg))) messages) - messages))))) - -(defconst intero-error-regexp-alist - `((,(concat - "^ *\\(?1:[^\t\r\n]+?\\):" - "\\(?:" - "\\(?2:[0-9]+\\):\\(?4:[0-9]+\\)\\(?:-\\(?5:[0-9]+\\)\\)?" ;; "121:1" & "12:3-5" - "\\|" - "(\\(?2:[0-9]+\\),\\(?4:[0-9]+\\))-(\\(?3:[0-9]+\\),\\(?5:[0-9]+\\))" ;; "(289,5)-(291,36)" - "\\)" - ":\\(?6: Warning:\\)?") - 1 (2 . 3) (4 . 5) (6 . nil)) ;; error/warning locus - - ;; multiple declarations - ("^ \\(?:Declared at:\\| \\) \\(?1:[^ \t\r\n]+\\):\\(?2:[0-9]+\\):\\(?4:[0-9]+\\)$" - 1 2 4 0) ;; info locus - - ;; this is the weakest pattern as it's subject to line wrapping et al. - (" at \\(?1:[^ \t\r\n]+\\):\\(?2:[0-9]+\\):\\(?4:[0-9]+\\)\\(?:-\\(?5:[0-9]+\\)\\)?[)]?$" - 1 2 (4 . 5) 0)) ;; info locus - "Regexps used for matching GHC compile messages.") - -(defun intero-parse-error (string) - "Parse the line number from the error in STRING." - (save-match-data - (when (string-match (mapconcat #'car intero-error-regexp-alist "\\|") - string) - (let ((string3 (match-string 3 string)) - (string5 (match-string 5 string))) - (list :file (match-string 1 string) - :line (string-to-number (match-string 2 string)) - :col (string-to-number (match-string 4 string)) - :line2 (when string3 - (string-to-number string3)) - :col2 (when string5 - (string-to-number string5))))))) - -(defun intero-call-in-buffer (buffer func &rest args) - "In BUFFER, call FUNC with ARGS." - (with-current-buffer buffer - (apply func args))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Traditional completion-at-point function - -(defun intero-completion-at-point () - "A (blocking) function suitable for use in `completion-at-point-functions'." - (let ((prefix-info (intero-completions-grab-prefix))) - (when prefix-info - (cl-destructuring-bind - (beg end prefix _type) prefix-info - (let ((completions - (intero-completion-response-to-list - (intero-blocking-call - 'backend - (format ":complete repl %S" prefix))))) - (when completions - (list beg end completions))))))) - -(defun intero-repl-completion-at-point () - "A (blocking) function suitable for use in `completion-at-point-functions'. -Should only be used in the repl" - (let* ((beg (save-excursion (intero-repl-beginning-of-line) (point))) - (end (point)) - (str (buffer-substring-no-properties beg end)) - (repl-buffer (current-buffer)) - (proc (get-buffer-process (current-buffer)))) - (with-temp-buffer - (comint-redirect-send-command-to-process - (format ":complete repl %S" str) ;; command - (current-buffer) ;; output buffer - proc ;; target process - nil ;; echo - t) ;; no-display - (while (not (with-current-buffer repl-buffer - comint-redirect-completed)) - (sleep-for 0.01)) - (let* ((completions (intero-completion-response-to-list (buffer-string))) - (first-line (car completions))) - (when (string-match "[^ ]* [^ ]* " first-line) ;; "2 2 :load src/" - (setq first-line (replace-match "" nil nil first-line)) - (list (+ beg (length first-line)) end (cdr completions))))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Company integration (auto-completion) - -(defconst intero-pragmas - '("CONLIKE" "SCC" "DEPRECATED" "INCLUDE" "INCOHERENT" "INLINABLE" "INLINE" - "LANGUAGE" "LINE" "MINIMAL" "NOINLINE" "NOUNPACK" "OPTIONS" "OPTIONS_GHC" - "OVERLAPPABLE" "OVERLAPPING" "OVERLAPS" "RULES" "SOURCE" "SPECIALIZE" - "UNPACK" "WARNING") - "Pragmas that GHC supports.") - -(defun intero-company (command &optional arg &rest ignored) - "Company source for intero, with the standard COMMAND and ARG args. -Other arguments are IGNORED." - (interactive (list 'interactive)) - (cl-case command - (interactive (company-begin-backend 'intero-company)) - (prefix - (unless (intero-gave-up 'backend) - (or (let ((hole (intero-grab-hole))) - (when hole - (save-excursion - (goto-char (cdr hole)) - (buffer-substring (car hole) (cdr hole))))) - (let ((prefix-info (intero-completions-grab-prefix))) - (when prefix-info - (cl-destructuring-bind - (beg end prefix _type) prefix-info - prefix)))))) - (candidates - (unless (intero-gave-up 'backend) - (let ((beg-end (intero-grab-hole))) - (if beg-end - (cons :async - (-partial 'intero-async-fill-at - (current-buffer) - (car beg-end))) - (let ((prefix-info (intero-completions-grab-prefix))) - (when prefix-info - (cons :async - (-partial 'intero-company-callback - (current-buffer) - prefix-info)))))))))) - -(define-obsolete-function-alias 'company-intero 'intero-company) - -(defun intero-company-callback (source-buffer prefix-info cont) - "Generate completions for SOURCE-BUFFER based on PREFIX-INFO and call CONT on the results." - (cl-destructuring-bind - (beg end prefix type) prefix-info - (or (and (bound-and-true-p intero-mode) - (cl-case type - (haskell-completions-module-name-prefix - (intero-get-repl-completions source-buffer (concat "import " prefix) cont) - t) - (haskell-completions-identifier-prefix - (intero-get-completions source-buffer beg end cont) - t) - (haskell-completions-language-extension-prefix - (intero-get-repl-completions - source-buffer - (concat ":set -X" prefix) - (-partial (lambda (cont results) - (funcall cont - (mapcar (lambda (x) - (replace-regexp-in-string "^-X" "" x)) - results))) - cont)) - t) - (haskell-completions-pragma-name-prefix - (funcall cont - (cl-remove-if-not - (lambda (candidate) - (string-prefix-p prefix candidate)) - intero-pragmas)) - t))) - (intero-get-repl-completions source-buffer prefix cont)))) - -(defun intero-completions-grab-prefix (&optional minlen) - "Grab prefix at point for possible completion. -If specified, MINLEN is the shortest completion which will be -considered." - (when (intero-completions-can-grab-prefix) - (let ((prefix (cond - ((intero-completions-grab-pragma-prefix)) - ((intero-completions-grab-identifier-prefix))))) - (cond ((and minlen prefix) - (when (>= (length (nth 2 prefix)) minlen) - prefix)) - (prefix prefix))))) - -(defun intero-completions-can-grab-prefix () - "Check if the case is appropriate for grabbing completion prefix." - (when (not (region-active-p)) - (when (looking-at-p (rx (| space line-end punct))) - (when (not (bobp)) - (save-excursion - (backward-char) - (not (looking-at-p (rx (| space line-end))))))))) - -(defun intero-completions-grab-identifier-prefix () - "Grab identifier prefix." - (let ((pos-at-point (intero-ident-pos-at-point)) - (p (point))) - (when pos-at-point - (let* ((start (car pos-at-point)) - (end (cdr pos-at-point)) - (type 'haskell-completions-identifier-prefix) - (case-fold-search nil) - value) - (when (<= p end) - (setq end p) - (setq value (buffer-substring-no-properties start end)) - (when (string-match-p (rx bos upper) value) - (save-excursion - (goto-char (line-beginning-position)) - (when (re-search-forward - (rx "import" - (? (1+ space) "qualified") - (1+ space) - upper - (1+ (| alnum "."))) - p ;; bound - t) ;; no-error - (if (equal p (point)) - (setq type 'haskell-completions-module-name-prefix) - (when (re-search-forward - (rx (| " as " "(")) - start - t) - (setq type 'haskell-completions-identifier-prefix)))))) - (when (nth 8 (syntax-ppss)) - (setq type 'haskell-completions-general-prefix)) - (when value (list start end value type))))))) - -(defun intero-completions-grab-pragma-prefix () - "Grab completion prefix for pragma completions. -Returns a list of form '(prefix-start-position -prefix-end-position prefix-value prefix-type) for pramga names -such as WARNING, DEPRECATED, LANGUAGE etc. Also returns -completion prefixes for options in case OPTIONS_GHC pragma, or -language extensions in case of LANGUAGE pragma. Obsolete OPTIONS -pragma is supported also." - (when (nth 4 (syntax-ppss)) - ;; We're inside comment - (let ((p (point)) - (comment-start (nth 8 (syntax-ppss))) - (case-fold-search nil) - prefix-start - prefix-end - prefix-type - prefix-value) - (save-excursion - (goto-char comment-start) - (when (looking-at (rx "{-#" (1+ (| space "\n")))) - (let ((pragma-start (match-end 0))) - (when (> p pragma-start) - ;; point stands after `{-#` - (goto-char pragma-start) - (when (looking-at (rx (1+ (| upper "_")))) - ;; found suitable sequence for pragma name - (let ((pragma-end (match-end 0)) - (pragma-value (match-string-no-properties 0))) - (if (eq p pragma-end) - ;; point is at the end of (in)complete pragma name - ;; prepare resulting values - (progn - (setq prefix-start pragma-start) - (setq prefix-end pragma-end) - (setq prefix-value pragma-value) - (setq prefix-type - 'haskell-completions-pragma-name-prefix)) - (when (and (> p pragma-end) - (or (equal "OPTIONS_GHC" pragma-value) - (equal "OPTIONS" pragma-value) - (equal "LANGUAGE" pragma-value))) - ;; point is after pragma name, so we need to check - ;; special cases of `OPTIONS_GHC` and `LANGUAGE` pragmas - ;; and provide a completion prefix for possible ghc - ;; option or language extension. - (goto-char pragma-end) - (when (re-search-forward - (rx (* anything) - (1+ (regexp "\\S-"))) - p - t) - (let* ((str (match-string-no-properties 0)) - (split (split-string str (rx (| space "\n")) t)) - (val (car (last split))) - (end (point))) - (when (and (equal p end) - (not (string-match-p "#" val))) - (setq prefix-value val) - (backward-char (length val)) - (setq prefix-start (point)) - (setq prefix-end end) - (setq - prefix-type - (if (not (equal "LANGUAGE" pragma-value)) - 'haskell-completions-ghc-option-prefix - 'haskell-completions-language-extension-prefix - ))))))))))))) - (when prefix-value - (list prefix-start prefix-end prefix-value prefix-type))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Hole filling - -(defun intero-async-fill-at (buffer beg cont) - "Make the blocking call to the process." - (with-current-buffer buffer - (intero-async-call - 'backend - (format - ":fill %s %d %d" - (intero-path-for-ghci (intero-temp-file-name)) - (save-excursion (goto-char beg) - (line-number-at-pos)) - (save-excursion (goto-char beg) - (1+ (current-column)))) - (list :buffer (current-buffer) :cont cont) - (lambda (state reply) - (if (or (string-match "^Couldn't guess" reply) - (string-match "^Unable to " reply) - (intero-parse-error reply)) - (funcall (plist-get state :cont) (list)) - (with-current-buffer (plist-get state :buffer) - (let ((candidates - (split-string - (replace-regexp-in-string - "\n$" "" - reply) - "[\r\n]" - t))) - (when candidates - (funcall (plist-get state :cont) candidates))))))))) - -(defun intero-grab-hole () - "When user is at a hole _ or _foo, return the starting point of -that hole." - (let ((beg-end (intero-ident-pos-at-point))) - (when beg-end - (let ((string (buffer-substring-no-properties (car beg-end) (cdr beg-end)))) - (when (string-match-p "^_" string) - beg-end))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ELDoc integration - -(defvar-local intero-eldoc-cache (make-hash-table :test 'equal) - "Cache for types of regions, used by `intero-eldoc'. -This is not for saving on requests (we make a request even if -something is in cache, overwriting the old entry), but rather for -making types show immediately when we do have them cached.") - -(defun intero-eldoc-maybe-print (msg) - "Print MSG with eldoc if eldoc would display a message now. -Like `eldoc-print-current-symbol-info', but just printing MSG -instead of using `eldoc-documentation-function'." - (with-demoted-errors "eldoc error: %s" - (and (or (eldoc-display-message-p) - ;; Erase the last message if we won't display a new one. - (when eldoc-last-message - (eldoc-message nil) - nil)) - (eldoc-message msg)))) - -(defun intero-eldoc () - "ELDoc backend for intero." - (let ((buffer (intero-buffer 'backend))) - (when (and buffer (process-live-p (get-buffer-process buffer))) - (apply #'intero-get-type-at-async - (lambda (beg end ty) - (let ((response-status (intero-haskell-utils-repl-response-error-status ty))) - (if (eq 'no-error response-status) - (let ((msg (intero-fontify-expression - (replace-regexp-in-string "[ \n]+" " " ty)))) - ;; Got an updated type-at-point, cache and print now: - (puthash (list beg end) - msg - intero-eldoc-cache) - (intero-eldoc-maybe-print msg)) - ;; But if we're seeing errors, invalidate cache-at-point: - (remhash (list beg end) intero-eldoc-cache)))) - (intero-thing-at-point)))) - ;; If we have something cached at point, print that first: - (gethash (intero-thing-at-point) intero-eldoc-cache)) - -(defun intero-haskell-utils-repl-response-error-status (response) - "Parse response REPL's RESPONSE for errors. -Returns one of the following symbols: - -+ unknown-command -+ option-missing -+ interactive-error -+ no-error - -*Warning*: this funciton covers only three kind of responses: - -* \"unknown command …\" - REPL missing requested command -* \":3:5: …\" - interactive REPL error -* \"Couldn't guess that module name. Does it exist?\" - (:type-at and maybe some other commands error) -* *all other reposnses* are treated as success reposneses and - 'no-error is returned." - (let ((first-line (car (split-string response "\n" t)))) - (cond - ((null first-line) 'no-error) - ((string-match-p "^unknown command" first-line) - 'unknown-command) - ((string-match-p - "^Couldn't guess that module name. Does it exist?" - first-line) - 'option-missing) - ((string-match-p "^:" first-line) - 'interactive-error) - ((string-match-p "^:" first-line) - 'inspection-error) - (t 'no-error)))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; REPL - -(defconst intero-prompt-regexp "^\4 ") - -(defvar-local intero-repl-previous-buffer nil - "Records the buffer to which `intero-repl-switch-back' should jump. -This is set by `intero-repl-buffer', and should otherwise be nil.") - -(defun intero-repl-clear-buffer () - "Clear the current REPL buffer." - (interactive) - (let ((comint-buffer-maximum-size 0)) - (comint-truncate-buffer))) - -(defmacro intero-with-repl-buffer (prompt-options &rest body) - "Evaluate given forms with the REPL as the current buffer. -The REPL will be started if necessary, and the REPL buffer will -be activated after evaluation. PROMPT-OPTIONS are passed to -`intero-repl-buffer'. BODY is the forms to be evaluated." - (declare (indent defun)) - (let ((repl-buffer (cl-gensym))) - `(let ((,repl-buffer (intero-repl-buffer ,prompt-options t))) - (with-current-buffer ,repl-buffer - ,@body) - (when intero-pop-to-repl - (pop-to-buffer ,repl-buffer))))) - -(defun intero-repl-after-load () - "Set the command to run after load." - (interactive) - (if (eq major-mode 'intero-repl-mode) - (setq intero-repl-send-after-load - (read-from-minibuffer - "Command to run: " - (or intero-repl-send-after-load - (car (ring-elements comint-input-ring)) - ""))) - (error "Run this in the REPL."))) - -(defun intero-repl-load (&optional prompt-options) - "Load the current file in the REPL. -If PROMPT-OPTIONS is non-nil, prompt with an options list." - (interactive "P") - (save-buffer) - (let ((file (intero-path-for-ghci (intero-buffer-file-name)))) - (intero-with-repl-buffer prompt-options - (comint-simple-send - (get-buffer-process (current-buffer)) - ":set prompt \"\\n\"") - (if (or (not intero-repl-last-loaded) - (not (equal file intero-repl-last-loaded))) - (progn - (comint-simple-send - (get-buffer-process (current-buffer)) - (concat ":load " file)) - (setq intero-repl-last-loaded file)) - (comint-simple-send - (get-buffer-process (current-buffer)) - ":reload")) - (when intero-repl-send-after-load - (comint-simple-send - (get-buffer-process (current-buffer)) - intero-repl-send-after-load)) - (comint-simple-send (get-buffer-process (current-buffer)) - ":set prompt \"\\4 \"")))) - -(defun intero-repl-eval-region (begin end &optional prompt-options) - "Evaluate the code in region from BEGIN to END in the REPL. -If the region is unset, the current line will be used. -PROMPT-OPTIONS are passed to `intero-repl-buffer' if supplied." - (interactive "r") - (unless (use-region-p) - (setq begin (line-beginning-position) - end (line-end-position))) - (let ((text (buffer-substring-no-properties begin end))) - (intero-with-repl-buffer prompt-options - (comint-simple-send - (get-buffer-process (current-buffer)) - text)))) - -(defun intero-repl (&optional prompt-options) - "Start up the REPL for this stack project. -If PROMPT-OPTIONS is non-nil, prompt with an options list." - (interactive "P") - (switch-to-buffer-other-window (intero-repl-buffer prompt-options t))) - -(defun intero-repl-restart () - "Restart the REPL." - (interactive) - (let* ((root (intero-project-root)) - (package-name (intero-package-name)) - (backend-buffer (intero-buffer 'backend)) - (name (format "*intero:%s:%s:repl*" - (file-name-nondirectory root) - package-name))) - (when (get-buffer name) - (with-current-buffer (get-buffer name) - (goto-char (point-max)) - (let ((process (get-buffer-process (current-buffer)))) - (when process (kill-process process))) - (intero-repl-mode-start backend-buffer - (buffer-local-value 'intero-targets backend-buffer) - nil - (buffer-local-value 'intero-stack-yaml backend-buffer)))))) - -(defun intero-repl-buffer (prompt-options &optional store-previous) - "Start the REPL buffer. -If PROMPT-OPTIONS is non-nil, prompt with an options list. When -STORE-PREVIOUS is non-nil, note the caller's buffer in -`intero-repl-previous-buffer'." - (let* ((root (intero-project-root)) - (package-name (intero-package-name)) - (name (format "*intero:%s:%s:repl*" - (file-name-nondirectory root) - package-name)) - (initial-buffer (current-buffer)) - (backend-buffer (intero-buffer 'backend))) - (with-current-buffer - (or (let ((buf (get-buffer name))) - (and (get-buffer-process buf) - buf)) - (with-current-buffer - (get-buffer-create name) - ;; The new buffer doesn't know if the initial buffer was hosted - ;; remotely or not, so we need to extend by the host of the - ;; initial buffer to cd. We could also achieve this by setting the - ;; buffer's intero-buffer-host, but intero-repl-mode wipes this, so - ;; we defer setting that until after. - (cd (intero-extend-path-by-buffer-host root initial-buffer)) - (intero-repl-mode) ; wipes buffer-local variables - (intero-inherit-local-variables initial-buffer) - (setq intero-buffer-host (intero-buffer-host initial-buffer)) - (intero-repl-mode-start backend-buffer - (buffer-local-value 'intero-targets backend-buffer) - prompt-options - (buffer-local-value 'intero-stack-yaml backend-buffer)) - (current-buffer))) - (progn - (when store-previous - (setq intero-repl-previous-buffer initial-buffer)) - (current-buffer))))) - -(defvar intero-hyperlink-map - (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'intero-find-file-with-line-and-char) - (define-key map [C-return] 'intero-find-file-with-line-and-char) - map) - "Keymap for clicking on links in REPL.") - -(define-derived-mode intero-repl-mode comint-mode "Intero-REPL" - "Interactive prompt for Intero." - (when (and (not (eq major-mode 'fundamental-mode)) - (eq this-command 'intero-repl-mode)) - (error "You probably meant to run: M-x intero-repl")) - (setq-local comint-prompt-regexp intero-prompt-regexp) - (setq-local warning-suppress-types (cons '(undo discard-info) warning-suppress-types)) - (setq-local comint-prompt-read-only t) - (add-hook 'completion-at-point-functions 'intero-repl-completion-at-point nil t) - (company-mode)) - -(defun intero-repl-mode-start (backend-buffer targets prompt-options stack-yaml) - "Start the process for the repl in the current buffer. -BACKEND-BUFFER is used for options. TARGETS is the targets to -load. If PROMPT-OPTIONS is non-nil, prompt with an options list. -STACK-YAML is the stack yaml config to use. When nil, tries to -use project-wide intero-stack-yaml when nil, otherwise uses -stack's default)." - (setq intero-targets targets) - (setq intero-repl-last-loaded nil) - (when stack-yaml - (setq intero-stack-yaml stack-yaml)) - (when prompt-options - (intero-repl-options backend-buffer)) - (let ((stack-yaml (if stack-yaml - stack-yaml - (buffer-local-value 'intero-stack-yaml backend-buffer))) - (arguments (intero-make-options-list - "ghci" - (or targets - (let ((package-name (buffer-local-value 'intero-package-name - backend-buffer))) - (unless (equal "" package-name) - (list package-name)))) - (buffer-local-value 'intero-repl-no-build backend-buffer) - (buffer-local-value 'intero-repl-no-load backend-buffer) - nil - stack-yaml))) - (insert (propertize - (format "Starting:\n %s ghci %s\n" intero-stack-executable - (combine-and-quote-strings arguments)) - 'face 'font-lock-comment-face)) - (let* ((script-buffer - (with-current-buffer (find-file-noselect (intero-make-temp-file "intero-script")) - ;; Commented out this line due to this bug: - ;; https://github.com/chrisdone/intero/issues/569 - ;; GHC 8.4.3 has some bug causing a panic on GHCi. - ;; :set -fdefer-type-errors - (insert ":set prompt \"\" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt \"\\4 \" -") - (basic-save-buffer) - (current-buffer))) - (script - (with-current-buffer script-buffer - (intero-localize-path (intero-buffer-file-name))))) - (let ((process - (get-buffer-process - (apply #'make-comint-in-buffer "intero" (current-buffer) intero-stack-executable nil "ghci" - (append arguments - (list "--verbosity" "silent") - (list "--ghci-options" - (concat "-ghci-script=" script)) - (cl-mapcan (lambda (x) (list "--ghci-options" x)) intero-extra-ghci-options)))))) - (when (process-live-p process) - (set-process-query-on-exit-flag process nil) - (message "Started Intero process for REPL.") - (kill-buffer script-buffer)))))) - -(defun intero-repl-options (backend-buffer) - "Open an option menu to set options used when starting the REPL. -Default options come from user customization and any temporary -changes in the BACKEND-BUFFER." - (interactive) - (let* ((old-options - (list - (list :key "load-all" - :title "Load all modules" - :default (not (buffer-local-value 'intero-repl-no-load backend-buffer))) - (list :key "build-first" - :title "Build project first" - :default (not (buffer-local-value 'intero-repl-no-build backend-buffer))))) - (new-options (intero-multiswitch "Start REPL with options:" old-options))) - (with-current-buffer backend-buffer - (setq-local intero-repl-no-load (not (member "load-all" new-options))) - (setq-local intero-repl-no-build (not (member "build-first" new-options)))))) - -(font-lock-add-keywords - 'intero-repl-mode - '(("\\(\4\\)" - (0 (prog1 () - (compose-region (match-beginning 1) - (match-end 1) - ?λ)))))) - -(define-key intero-repl-mode-map [remap move-beginning-of-line] 'intero-repl-beginning-of-line) -(define-key intero-repl-mode-map [remap delete-backward-char] 'intero-repl-delete-backward-char) -(define-key intero-repl-mode-map (kbd "C-c C-k") 'intero-repl-clear-buffer) -(define-key intero-repl-mode-map (kbd "C-c C-z") 'intero-repl-switch-back) - -(defun intero-repl-delete-backward-char () - "Delete backwards, excluding the prompt." - (interactive) - (unless (looking-back intero-prompt-regexp (line-beginning-position)) - (call-interactively 'delete-backward-char))) - -(defun intero-repl-beginning-of-line () - "Go to the beginning of the line, excluding the prompt." - (interactive) - (if (search-backward-regexp intero-prompt-regexp (line-beginning-position) t 1) - (goto-char (+ 2 (line-beginning-position))) - (call-interactively 'move-beginning-of-line))) - -(defun intero-repl-switch-back () - "Switch back to the buffer from which this REPL buffer was reached." - (interactive) - (if intero-repl-previous-buffer - (switch-to-buffer-other-window intero-repl-previous-buffer) - (message "No previous buffer."))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Buffer operations - -(defun intero-thing-at-point () - "Return (list START END) of something at the point." - (if (region-active-p) - (list (region-beginning) - (region-end)) - (let ((pos (intero-ident-pos-at-point))) - (if pos - (list (car pos) (cdr pos)) - (list (point) (point)))))) - -(defun intero-ident-at-point () - "Return the identifier under point, or nil if none found. -May return a qualified name." - (let ((reg (intero-ident-pos-at-point))) - (when reg - (buffer-substring-no-properties (car reg) (cdr reg))))) - -(defun intero-ident-pos-at-point () - "Return the span of the identifier near point going backward. -Returns nil if no identifier found or point is inside string or -comment. May return a qualified name." - (when (not (nth 8 (syntax-ppss))) - ;; Do not handle comments and strings - (let (start end) - ;; Initial point position is non-deterministic, it may occur anywhere - ;; inside identifier span, so the approach is: - ;; - first try go left and find left boundary - ;; - then try go right and find right boundary - ;; - ;; In both cases assume the longest path, e.g. when going left take into - ;; account than point may occur at the end of identifier, when going right - ;; take into account that point may occur at the beginning of identifier. - ;; - ;; We should handle `.` character very careful because it is heavily - ;; overloaded. Examples of possible cases: - ;; Control.Monad.>>= -- delimiter - ;; Control.Monad.when -- delimiter - ;; Data.Aeson..: -- delimiter and operator symbol - ;; concat.map -- composition function - ;; .? -- operator symbol - (save-excursion - ;; First, skip whitespace if we're on it, moving point to last - ;; identifier char. That way, if we're at "map ", we'll see the word - ;; "map". - (when (and (looking-at-p (rx eol)) - (not (bolp))) - (backward-char)) - (when (and (not (eobp)) - (eq (char-syntax (char-after)) ? )) - (skip-chars-backward " \t") - (backward-char)) - ;; Now let's try to go left. - (save-excursion - (if (not (intero-mode--looking-at-varsym)) - ;; Looking at non-operator char, this is quite simple - (progn - (skip-syntax-backward "w_") - ;; Remember position - (setq start (point))) - ;; Looking at operator char. - (while (and (not (bobp)) - (intero-mode--looking-at-varsym)) - ;; skip all operator chars backward - (setq start (point)) - (backward-char)) - ;; Extra check for case when reached beginning of the buffer. - (when (intero-mode--looking-at-varsym) - (setq start (point)))) - ;; Slurp qualification part if present. If identifier is qualified in - ;; case of non-operator point will stop before `.` dot, but in case of - ;; operator it will stand at `.` delimiting dot. So if we're looking - ;; at `.` let's step one char forward and try to get qualification - ;; part. - (goto-char start) - (when (looking-at-p (rx ".")) - (forward-char)) - (let ((pos (intero-mode--skip-qualification-backward))) - (when pos - (setq start pos)))) - ;; Finally, let's try to go right. - (save-excursion - ;; Try to slurp qualification part first. - (skip-syntax-forward "w_") - (setq end (point)) - (while (and (looking-at-p (rx "." upper)) - (not (zerop (progn (forward-char) - (skip-syntax-forward "w_"))))) - (setq end (point))) - ;; If point was at non-operator we already done, otherwise we need an - ;; extra check. - (while (intero-mode--looking-at-varsym) - (forward-char) - (setq end (point)))) - (when (not (= start end)) - (cons start end)))))) - -(defun intero-mode--looking-at-varsym () - "Return t when point stands at operator symbol." - (when (not (eobp)) - (let ((lex (intero-lexeme-classify-by-first-char (char-after)))) - (or (eq lex 'varsym) - (eq lex 'consym))))) - -(defun intero-mode--skip-qualification-backward () - "Skip qualified part of identifier backward. -Expects point stands *after* delimiting dot. -Returns beginning position of qualified part or nil if no qualified part found." - (when (not (and (bobp) - (looking-at-p (rx bol)))) - (let ((case-fold-search nil) - pos) - (while (and (eq (char-before) ?.) - (progn (backward-char) - (not (zerop (skip-syntax-backward "w'")))) - (skip-syntax-forward "'") - (looking-at-p "[[:upper:]]")) - (setq pos (point))) - pos))) - -(defun intero-lexeme-classify-by-first-char (char) - "Classify token by CHAR. -CHAR is a chararacter that is assumed to be the first character -of a token." - (let ((category (get-char-code-property char 'general-category))) - - (cond - ((or (member char '(?! ?# ?$ ?% ?& ?* ?+ ?. ?/ ?< ?= ?> ?? ?@ ?^ ?| ?~ ?\\ ?-)) - (and (> char 127) - (member category '(Pc Pd Po Sm Sc Sk So)))) - 'varsym) - ((equal char ?:) - 'consym) - ((equal char ?\') - 'char) - ((equal char ?\") - 'string) - ((member category '(Lu Lt)) - 'conid) - ((or (equal char ?_) - (member category '(Ll Lo))) - 'varid) - ((and (>= char ?0) (<= char ?9)) - 'number) - ((member char '(?\] ?\[ ?\( ?\) ?\{ ?\} ?\` ?\, ?\;)) - 'special)))) - -(defun intero-buffer-file-name (&optional buffer) - "Call function `buffer-file-name' for BUFFER and clean its result. -The path returned is canonicalized and stripped of any text properties." - (let ((name (buffer-file-name buffer))) - (when name - (intero-canonicalize-path (substring-no-properties name))))) - -(defun intero-paths-for-same-file (path-1 path-2) - "Compare PATH-1 and PATH-2 to see if they represent the same file." - (let ((simplify-path #'(lambda (path) - (if (tramp-tramp-file-p path) - (let* ((dissection (tramp-dissect-file-name path)) - (host (tramp-file-name-host dissection)) - (localname (tramp-file-name-localname dissection))) - (concat host ":" localname)) - (expand-file-name path))))) - (string= (funcall simplify-path path-1) (funcall simplify-path path-2)))) - -(defun intero-buffer-host (&optional buffer) - "Get the hostname of the box hosting the file behind the BUFFER." - (with-current-buffer (or buffer (current-buffer)) - (let ((file (intero-buffer-file-name))) - (if intero-buffer-host - intero-buffer-host - (setq intero-buffer-host - (when file - (if (tramp-tramp-file-p file) - (tramp-file-name-host (tramp-dissect-file-name file)) - ""))))))) - -(defun intero-extend-path-by-buffer-host (path &optional buffer) - "Take a PATH, and extend it by the host of the provided BUFFER (default to current buffer). Return PATH unchanged if the file is local, or the BUFFER has no host." - (with-current-buffer (or buffer (current-buffer)) - (if (or (eq nil (intero-buffer-host)) (eq "" (intero-buffer-host))) - path - (expand-file-name - (concat "/" - (intero-buffer-host) - ":" - path))))) - -(defvar-local intero-temp-file-name nil - "The name of a temporary file to which the current buffer's content is copied.") - -(defun intero-temp-file-p (path) - "Is PATH a temp file?" - (string= (file-name-directory path) - (file-name-directory (intero-temp-file-dir)))) - -(defun intero-temp-file-origin-buffer (temp-file) - "Get the original buffer that TEMP-FILE was created for." - (or - (gethash (intero-canonicalize-path temp-file) - intero-temp-file-buffer-mapping) - (cl-loop - for buffer in (buffer-list) - when (string= (intero-canonicalize-path temp-file) - (buffer-local-value 'intero-temp-file-name buffer)) - return buffer))) - -(defun intero-unmangle-file-path (file) - "If FILE is an intero temp file, return the original source path, otherwise FILE." - (or (when (intero-temp-file-p file) - (let ((origin-buffer (intero-temp-file-origin-buffer file))) - (when origin-buffer - (buffer-file-name origin-buffer)))) - file)) - -(defun intero-make-temp-file (prefix &optional dir-flag suffix) - "Like `make-temp-file', but using a different temp directory. -PREFIX, DIR-FLAG and SUFFIX are all passed to `make-temp-file' -unmodified. A different directory is applied so that if docker -is used with stack, the commands run inside docker can find the -path." - (let ((temporary-file-directory - (intero-temp-file-dir))) - (make-directory temporary-file-directory t) - (make-temp-file prefix dir-flag suffix))) - -(defun intero-temp-file-dir () - "Get the temporary file directory for the current intero project." - (let* ((intero-absolute-project-root - (intero-extend-path-by-buffer-host (intero-project-root))) - (temporary-file-directory - (expand-file-name ".stack-work/intero/" - intero-absolute-project-root))) - temporary-file-directory)) - -(defun intero-temp-file-name (&optional buffer) - "Return the name of a temp file pertaining to BUFFER." - (with-current-buffer (or buffer (current-buffer)) - (or intero-temp-file-name - (progn (setq intero-temp-file-name - (intero-canonicalize-path - (intero-make-temp-file - "intero" nil - (concat "-TEMP." (if (buffer-file-name) - (file-name-extension (buffer-file-name)) - "hs"))))) - (puthash intero-temp-file-name - (current-buffer) - intero-temp-file-buffer-mapping) - intero-temp-file-name)))) - -(defun intero-staging-file-name (&optional buffer) - "Return the name of a temp file containing an up-to-date copy of BUFFER's contents." - (with-current-buffer (or buffer (current-buffer)) - (let* ((contents (buffer-string)) - (fname (intero-canonicalize-path - (intero-make-temp-file - "intero" nil - (concat "-STAGING." (if (buffer-file-name) - (file-name-extension (buffer-file-name)) - "hs")))))) - (with-temp-file fname - (insert contents)) - fname))) - -(defun intero-quote-path-for-ghci (path) - "Quote PATH as necessary so that it can be passed to a GHCi :command." - (concat "\"" (replace-regexp-in-string "\\([\\\"]\\)" "\\\\\\1" path nil nil) "\"")) - -(defun intero-path-for-ghci (path) - "Turn a possibly-remote PATH into one that can be passed to a GHCi :command." - (intero-quote-path-for-ghci (intero-localize-path path))) - -(defun intero-localize-path (path) - "Turn a possibly-remote PATH to a purely local one. -This is used to create paths which a remote intero process can load." - (if (tramp-tramp-file-p path) - (tramp-file-name-localname (tramp-dissect-file-name path)) - path)) - -(defun intero-canonicalize-path (path) - "Return a standardized version of PATH. -Path names are standardised and drive names are -capitalized (relevant on Windows)." - (intero-capitalize-drive-letter (convert-standard-filename path))) - -(defun intero-capitalize-drive-letter (path) - "Ensures the drive letter is capitalized in PATH. -This applies to paths of the form -x:\\foo\\bar (i.e., Windows)." - (save-match-data - (let ((drive-path (split-string path ":\\\\"))) - (if (or (null (car drive-path)) (null (cdr drive-path))) - path - (concat (upcase (car drive-path)) ":\\" (cadr drive-path)))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Query/commands - -(defun intero-get-all-types () - "Get all types in all expressions in all modules." - (intero-blocking-network-call 'backend ":all-types")) - -(defun intero-get-type-at (beg end) - "Get the type at the given region denoted by BEG and END." - (let ((result (intero-get-type-at-helper beg end))) - (if (string-match (regexp-quote "Couldn't guess that module name. Does it exist?") - result) - (progn (flycheck-buffer) - (message "No type information yet, compiling module ...") - (intero-get-type-at-helper-process beg end)) - result))) - -(defun intero-get-type-at-helper (beg end) - (replace-regexp-in-string - "\n$" "" - (intero-blocking-network-call - 'backend - (intero-format-get-type-at beg end)))) - -(defun intero-get-type-at-helper-process (beg end) - (replace-regexp-in-string - "\n$" "" - (intero-blocking-call - 'backend - (intero-format-get-type-at beg end)))) - -(defun intero-get-type-at-async (cont beg end) - "Call CONT with type of the region denoted by BEG and END. -CONT is called within the current buffer, with BEG, END and the -type as arguments." - (intero-async-network-call - 'backend - (intero-format-get-type-at beg end) - (list :cont cont - :source-buffer (current-buffer) - :beg beg - :end end) - (lambda (state reply) - (with-current-buffer (plist-get state :source-buffer) - (funcall (plist-get state :cont) - (plist-get state :beg) - (plist-get state :end) - (replace-regexp-in-string "\n$" "" reply)))))) - -(defun intero-format-get-type-at (beg end) - "Compose a request for getting types in region from BEG to END." - (format ":type-at %s %d %d %d %d %S" - (intero-path-for-ghci (intero-temp-file-name)) - (save-excursion (goto-char beg) - (line-number-at-pos)) - (save-excursion (goto-char beg) - (1+ (current-column))) - (save-excursion (goto-char end) - (line-number-at-pos)) - (save-excursion (goto-char end) - (1+ (current-column))) - (buffer-substring-no-properties beg end))) - -(defun intero-get-info-of (thing) - "Get info for THING." - (let ((optimistic-result - (replace-regexp-in-string - "\n$" "" - (intero-blocking-call - 'backend - (format ":info %s" thing))))) - (if (string-match-p "^" optimistic-result) - ;; Load the module Interpreted so that we get information, - ;; then restore bytecode. - (progn (intero-async-call - 'backend - ":set -fbyte-code") - (set-buffer-modified-p t) - (save-buffer) - (unless (member 'save flycheck-check-syntax-automatically) - (intero-async-call - 'backend - (concat ":load " (intero-path-for-ghci (intero-temp-file-name))))) - (intero-async-call - 'backend - ":set -fobject-code") - (replace-regexp-in-string - "\n$" "" - (intero-blocking-call - 'backend - (format ":info %s" thing)))) - optimistic-result))) - -(defconst intero-unloaded-module-string "Couldn't guess that module name. Does it exist?") - -(defun intero-get-loc-at (beg end) - "Get the location of the identifier denoted by BEG and END." - (let ((result (intero-get-loc-at-helper beg end))) - (if (string-match (regexp-quote intero-unloaded-module-string) - result) - (progn (flycheck-buffer) - (message "No location information yet, compiling module ...") - (intero-get-loc-at-helper-process beg end)) - result))) - -(defun intero-get-loc-at-helper (beg end) - "Make the blocking call to the process." - (replace-regexp-in-string - "\n$" "" - (intero-blocking-network-call - 'backend - (format ":loc-at %s %d %d %d %d %S" - (intero-path-for-ghci (intero-temp-file-name)) - (save-excursion (goto-char beg) - (line-number-at-pos)) - (save-excursion (goto-char beg) - (1+ (current-column))) - (save-excursion (goto-char end) - (line-number-at-pos)) - (save-excursion (goto-char end) - (1+ (current-column))) - (buffer-substring-no-properties beg end))))) - -(defun intero-get-loc-at-helper-process (beg end) - "Make the blocking call to the process." - (replace-regexp-in-string - "\n$" "" - (intero-blocking-call - 'backend - (format ":loc-at %s %d %d %d %d %S" - (intero-path-for-ghci (intero-temp-file-name)) - (save-excursion (goto-char beg) - (line-number-at-pos)) - (save-excursion (goto-char beg) - (1+ (current-column))) - (save-excursion (goto-char end) - (line-number-at-pos)) - (save-excursion (goto-char end) - (1+ (current-column))) - (buffer-substring-no-properties beg end))))) - -(defun intero-get-uses-at (beg end) - "Return usage list for identifier denoted by BEG and END." - (let ((result (intero-get-uses-at-helper beg end))) - (if (string-match (regexp-quote intero-unloaded-module-string) - result) - (progn (flycheck-buffer) - (message "No use information yet, compiling module ...") - (intero-get-uses-at-helper-process beg end)) - result))) - -(defun intero-get-uses-at-helper (beg end) - "Return usage list for identifier denoted by BEG and END." - (replace-regexp-in-string - "\n$" "" - (intero-blocking-network-call - 'backend - (format ":uses %s %d %d %d %d %S" - (intero-path-for-ghci (intero-temp-file-name)) - (save-excursion (goto-char beg) - (line-number-at-pos)) - (save-excursion (goto-char beg) - (1+ (current-column))) - (save-excursion (goto-char end) - (line-number-at-pos)) - (save-excursion (goto-char end) - (1+ (current-column))) - (buffer-substring-no-properties beg end))))) - -(defun intero-get-uses-at-helper-process (beg end) - "Return usage list for identifier denoted by BEG and END." - (replace-regexp-in-string - "\n$" "" - (intero-blocking-call - 'backend - (format ":uses %s %d %d %d %d %S" - (intero-path-for-ghci (intero-temp-file-name)) - (save-excursion (goto-char beg) - (line-number-at-pos)) - (save-excursion (goto-char beg) - (1+ (current-column))) - (save-excursion (goto-char end) - (line-number-at-pos)) - (save-excursion (goto-char end) - (1+ (current-column))) - (buffer-substring-no-properties beg end))))) - -(defun intero-get-completions (source-buffer beg end cont) - "Get completions and send to SOURCE-BUFFER. -Prefix is marked by positions BEG and END. Completions are -passed to CONT in SOURCE-BUFFER." - (intero-async-network-call - 'backend - (format ":complete-at %s %d %d %d %d %S" - (intero-path-for-ghci (intero-temp-file-name)) - (save-excursion (goto-char beg) - (line-number-at-pos)) - (save-excursion (goto-char beg) - (1+ (current-column))) - (save-excursion (goto-char end) - (line-number-at-pos)) - (save-excursion (goto-char end) - (1+ (current-column))) - (buffer-substring-no-properties beg end)) - (list :cont cont :source-buffer source-buffer) - (lambda (state reply) - (with-current-buffer - (plist-get state :source-buffer) - (funcall - (plist-get state :cont) - (intero-completion-response-to-list reply)))))) - -(defun intero-completion-response-to-list (reply) - "Convert the REPLY from a backend completion to a list." - (if (string-match-p "^*** Exception" reply) - (list) - (mapcar - (lambda (x) - (replace-regexp-in-string "\\\"" "" x)) - (split-string reply "\n" t)))) - -(defun intero-get-repl-completions (source-buffer prefix cont) - "Get REPL completions and send to SOURCE-BUFFER. -Completions for PREFIX are passed to CONT in SOURCE-BUFFER." - (intero-async-call - 'backend - (format ":complete repl %S" prefix) - (list :cont cont :source-buffer source-buffer) - (lambda (state reply) - (with-current-buffer - (plist-get state :source-buffer) - (funcall - (plist-get state :cont) - (mapcar - (lambda (x) - (replace-regexp-in-string "\\\"" "" x)) - (cdr (split-string reply "\n" t)))))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Process communication - -(defun intero-call-process (program &optional infile destination display &rest args) - "Synchronously call PROGRAM. -INFILE, DESTINATION, DISPLAY and ARGS are as for -'call-process'/'process-file'. Provides TRAMP compatibility for -'call-process'; when the 'default-directory' is on a remote -machine, PROGRAM is launched on that machine." - (let ((process-args (append (list program infile destination display) args))) - (apply 'process-file process-args))) - -(defun intero-call-stack (&optional infile destination display stack-yaml &rest args) - "Synchronously call stack using the same arguments as `intero-call-process'. -INFILE, DESTINATION, DISPLAY and ARGS are as for -`call-process'/`process-file'. STACK-YAML specifies which stack -yaml config to use, or stack's default when nil." - (let ((stack-yaml-args (when stack-yaml - (list "--stack-yaml" stack-yaml)))) - (apply #'intero-call-process intero-stack-executable - infile destination display - (append stack-yaml-args args)))) - -(defun intero-delete-worker (worker) - "Delete the given WORKER." - (when (intero-buffer-p worker) - (with-current-buffer (intero-get-buffer-create worker) - (when (get-buffer-process (current-buffer)) - (setq intero-deleting t) - (kill-process (get-buffer-process (current-buffer))) - (delete-process (get-buffer-process (current-buffer)))) - (kill-buffer (current-buffer))))) - -(defun intero-blocking-call (worker cmd) - "Send WORKER the command string CMD and block pending its result." - (let ((result (list nil))) - (intero-async-call - worker - cmd - result - (lambda (result reply) - (setf (car result) reply))) - (let ((buffer (intero-buffer worker))) - (while (not (null (buffer-local-value 'intero-callbacks buffer))) - (sleep-for 0.0001))) - (car result))) - -(defun intero-blocking-network-call (worker cmd) - "Send WORKER the command string CMD via the network and block pending its result." - (let ((result (list nil))) - (intero-async-network-call - worker - cmd - result - (lambda (result reply) - (setf (car result) reply))) - (while (eq (car result) nil) - (sleep-for 0.0001)) - (car result))) - -(defun intero-async-network-call (worker cmd &optional state callback) - "Send WORKER the command string CMD, via a network connection. -The result, along with the given STATE, is passed to CALLBACK -as (CALLBACK STATE REPLY)." - (if (file-remote-p default-directory) - (intero-async-call worker cmd state callback) - (let ((buffer (intero-buffer worker))) - (if (and buffer (process-live-p (get-buffer-process buffer))) - (with-current-buffer buffer - (if intero-service-port - (let* ((buffer (generate-new-buffer (format " intero-network:%S" worker))) - (process - (make-network-process - :name (format "%S" worker) - :buffer buffer - :host 'local - :service intero-service-port - :family 'ipv4 - :nowait t - :noquery t - :sentinel 'intero-network-call-sentinel))) - (with-current-buffer buffer - (setq intero-async-network-cmd cmd) - (setq intero-async-network-state state) - (setq intero-async-network-worker worker) - (setq intero-async-network-callback callback))) - (progn (when intero-debug (message "No `intero-service-port', falling back ...")) - (intero-async-call worker cmd state callback)))) - (error "Intero process is not running: run M-x intero-restart to start it"))))) - -(defun intero-network-call-sentinel (process event) - (pcase event - ;; This event sometimes gets sent when (delete-process) is called, but - ;; inconsistently. We can't rely on it for killing buffers, but we need to - ;; handle the possibility. - ("deleted\n") - - ("open\n" - (with-current-buffer (process-buffer process) - (when intero-debug (message "Connected to service, sending %S" intero-async-network-cmd)) - (setq intero-async-network-connected t) - (if intero-async-network-cmd - (process-send-string process (concat intero-async-network-cmd "\n")) - (delete-process process) - (kill-buffer (process-buffer process))))) - (_ - (with-current-buffer (process-buffer process) - (if intero-async-network-connected - (when intero-async-network-callback - (when intero-debug (message "Calling callback with %S" (buffer-string))) - (funcall intero-async-network-callback - intero-async-network-state - (buffer-string))) - ;; We didn't successfully connect, so let's fallback to the - ;; process pipe. - (when intero-async-network-callback - (when intero-debug (message "Failed to connect, falling back ... ")) - (setq intero-async-network-callback nil) - (intero-async-call - intero-async-network-worker - intero-async-network-cmd - intero-async-network-state - intero-async-network-callback)))) - (delete-process process) - (kill-buffer (process-buffer process))))) - -(defun intero-async-call (worker cmd &optional state callback) - "Send WORKER the command string CMD. -The result, along with the given STATE, is passed to CALLBACK -as (CALLBACK STATE REPLY)." - (let ((buffer (intero-buffer worker))) - (if (and buffer (process-live-p (get-buffer-process buffer))) - (progn (with-current-buffer buffer - (setq intero-callbacks - (append intero-callbacks - (list (list state - (or callback #'ignore) - cmd))))) - (when intero-debug - (message "[Intero] -> %s" cmd)) - (comint-simple-send (intero-process worker) cmd)) - (error "Intero process is not running: run M-x intero-restart to start it")))) - -(defun intero-buffer (worker) - "Get the WORKER buffer for the current directory." - (let ((buffer (intero-get-buffer-create worker)) - (targets (buffer-local-value 'intero-targets (current-buffer)))) - (if (get-buffer-process buffer) - buffer - (intero-get-worker-create worker targets (current-buffer) - (buffer-local-value - 'intero-stack-yaml (current-buffer)))))) - -(defun intero-process (worker) - "Get the WORKER process for the current directory." - (get-buffer-process (intero-buffer worker))) - -(defun intero-get-worker-create (worker &optional targets source-buffer stack-yaml) - "Start the given WORKER. -If provided, use the specified TARGETS, SOURCE-BUFFER and STACK-YAML." - (let* ((buffer (intero-get-buffer-create worker))) - (if (get-buffer-process buffer) - buffer - (let ((install-status (intero-installed-p))) - (if (eq install-status 'installed) - (intero-start-process-in-buffer buffer targets source-buffer stack-yaml) - (intero-auto-install buffer install-status targets source-buffer stack-yaml)))))) - -(defun intero-auto-install (buffer install-status &optional targets source-buffer stack-yaml) - "Automatically install Intero appropriately for BUFFER. -INSTALL-STATUS indicates the current installation status. -If supplied, use the given TARGETS, SOURCE-BUFFER and STACK-YAML." - (if (buffer-local-value 'intero-give-up buffer) - buffer - (let ((source-buffer (or source-buffer (current-buffer)))) - (switch-to-buffer buffer) - (erase-buffer) - (insert (cl-case install-status - (not-installed "Intero is not installed in the Stack environment.") - (wrong-version "The wrong version of Intero is installed for this Emacs package."))) - (if (intero-version>= (intero-stack-version) '(1 6 1)) - (intero-copy-compiler-tool-auto-install source-buffer targets buffer) - (intero-old-auto-install source-buffer targets buffer stack-yaml))))) - -(defun intero-copy-compiler-tool-auto-install (source-buffer targets buffer) - "Automatically install Intero appropriately for BUFFER. -Use the given TARGETS, SOURCE-BUFFER and STACK-YAML." - (let ((ghc-version (intero-ghc-version-raw))) - (insert - (format " - -Installing intero-%s for GHC %s ... - -" intero-package-version ghc-version)) - (redisplay) - (cl-case - (let ((default-directory (make-temp-file "intero" t))) - (intero-call-stack - nil (current-buffer) t nil "build" - "--copy-compiler-tool" - (concat "intero-" intero-package-version) - "--flag" "haskeline:-terminfo" - "--resolver" (concat "ghc-" ghc-version) - "ghc-paths-0.1.0.9" "mtl-2.2.2" "network-2.7.0.0" "random-1.1" "syb-0.7")) - (0 - (message "Installed successfully! Starting Intero in a moment ...") - (bury-buffer buffer) - (switch-to-buffer source-buffer) - (intero-start-process-in-buffer buffer targets source-buffer)) - (1 - (with-current-buffer buffer (setq-local intero-give-up t)) - (insert (propertize "Could not install Intero! - -We don't know why it failed. Please read the above output and try -installing manually. If that doesn't work, report this as a -problem. - -Guess: You might need the \"tinfo\" package, e.g. libtinfo-dev. - -WHAT TO DO NEXT - -If you don't want to Intero to try installing itself again for -this project, just keep this buffer around in your Emacs. - -If you'd like to try again next time you try use an Intero -feature, kill this buffer. -" - 'face 'compilation-error)) - nil)))) - -(defun intero-old-auto-install (source-buffer targets buffer stack-yaml) - "Automatically install Intero appropriately for BUFFER. -Use the given TARGETS, SOURCE-BUFFER and STACK-YAML." - (insert - " - -Installing intero-%s automatically ... - -" intero-package-version) - (redisplay) - (cl-case (intero-call-stack - nil (current-buffer) t stack-yaml - "build" - (with-current-buffer buffer - (let* ((cabal-file (intero-cabal-find-file)) - (package-name (intero-package-name cabal-file))) - ;; For local development. Most users'll - ;; never hit this behaviour. - (if (string= package-name "intero") - "intero" - (concat "intero-" intero-package-version)))) - "ghc-paths" "syb" - "--flag" "haskeline:-terminfo") - (0 - (message "Installed successfully! Starting Intero in a moment ...") - (bury-buffer buffer) - (switch-to-buffer source-buffer) - (intero-start-process-in-buffer buffer targets source-buffer)) - (1 - (with-current-buffer buffer (setq-local intero-give-up t)) - (insert (propertize "Could not install Intero! - -We don't know why it failed. Please read the above output and try -installing manually. If that doesn't work, report this as a -problem. - -WHAT TO DO NEXT - -If you don't want to Intero to try installing itself again for -this project, just keep this buffer around in your Emacs. - -If you'd like to try again next time you try use an Intero -feature, kill this buffer. -" - 'face 'compilation-error)) - nil))) - -(defun intero-start-process-in-buffer (buffer &optional targets source-buffer stack-yaml) - "Start an Intero worker in BUFFER. -Uses the specified TARGETS if supplied. -Automatically performs initial actions in SOURCE-BUFFER, if specified. -Uses the default stack config file, or STACK-YAML file if given." - (if (buffer-local-value 'intero-give-up buffer) - buffer - (let* ((process-info (intero-start-piped-process buffer targets stack-yaml)) - (arguments (plist-get process-info :arguments)) - (options (plist-get process-info :options)) - (process (plist-get process-info :process))) - (set-process-query-on-exit-flag process nil) - (process-send-string process ":set -fobject-code\n") - (process-send-string process ":set -fdefer-type-errors\n") - (process-send-string process ":set -fdiagnostics-color=never\n") - (process-send-string process ":set prompt \"\\4\"\n") - (with-current-buffer buffer - (erase-buffer) - (when stack-yaml - (setq intero-stack-yaml stack-yaml)) - (setq intero-targets targets) - (setq intero-start-time (current-time)) - (setq intero-source-buffer source-buffer) - (setq intero-arguments arguments) - (setq intero-starting t) - (setq intero-callbacks - (list (list (cons source-buffer - buffer) - (lambda (buffers msg) - (let ((source-buffer (car buffers)) - (process-buffer (cdr buffers))) - (with-current-buffer process-buffer - (when (string-match "^Intero-Service-Port: \\([0-9]+\\)\n" msg) - (setq intero-service-port (string-to-number (match-string 1 msg)))) - (setq-local intero-starting nil)) - (when source-buffer - (with-current-buffer source-buffer - (when flycheck-mode - (run-with-timer 0 nil - 'intero-call-in-buffer - (current-buffer) - 'intero-flycheck-buffer))))) - (message "Booted up intero!")))))) - (set-process-filter - process - (lambda (process string) - (when intero-debug - (message "[Intero] <- %s" string)) - (when (buffer-live-p (process-buffer process)) - (with-current-buffer (process-buffer process) - (goto-char (point-max)) - (insert string) - (when (and intero-try-with-build - intero-starting) - (let ((last-line (buffer-substring-no-properties - (line-beginning-position) - (line-end-position)))) - (if (string-match-p "^Progress" last-line) - (message "Booting up intero (building dependencies: %s)" - (downcase - (or (car (split-string (replace-regexp-in-string - "\u0008+" "\n" - last-line) - "\n" t)) - "..."))) - (message "Booting up intero ...")))) - (intero-read-buffer))))) - (set-process-sentinel process 'intero-sentinel) - buffer))) - -(defun intero-start-piped-process (buffer targets stack-yaml) - "Start a piped process that we control in BUFFER. -Uses the specified TARGETS if supplied. -Uses the default stack config file, or STACK-YAML file if given." - (let* ((options - (intero-make-options-list - (intero-executable-path stack-yaml) - (or targets - (let ((package-name (buffer-local-value 'intero-package-name buffer))) - (unless (equal "" package-name) - (list package-name)))) - (not (buffer-local-value 'intero-try-with-build buffer)) - t ;; pass --no-load to stack - t ;; pass -ignore-dot-ghci to intero - stack-yaml ;; let stack choose a default when nil - )) - (arguments (cons "ghci" options)) - (process - (with-current-buffer buffer - (when intero-debug - (message "Intero arguments: %s" (combine-and-quote-strings arguments))) - (message "Booting up intero ...") - (apply #'start-file-process intero-stack-executable buffer intero-stack-executable - arguments)))) - (list :arguments arguments - :options options - :process process))) - -(defun intero-flycheck-buffer () - "Run flycheck in the buffer. -Restarts flycheck in case there was a problem and flycheck is stuck." - (flycheck-mode -1) - (flycheck-mode) - (flycheck-buffer)) - -(defun intero-make-options-list (with-ghc targets no-build no-load ignore-dot-ghci stack-yaml) - "Make the stack ghci options list. -TARGETS are the build targets. When non-nil, NO-BUILD and -NO-LOAD enable the correspondingly-named stack options. When -IGNORE-DOT-GHCI is non-nil, it enables the corresponding GHCI -option. STACK-YAML is the stack config file to use (or stack's -default when nil)." - (append (when stack-yaml - (list "--stack-yaml" stack-yaml)) - (list "--with-ghc" - with-ghc - "--docker-run-args=--interactive=true --tty=false" - ) - (when no-build - (list "--no-build")) - (when no-load - (list "--no-load")) - (when ignore-dot-ghci - (list "--ghci-options" "-ignore-dot-ghci")) - (cl-mapcan (lambda (x) (list "--ghci-options" x)) intero-extra-ghc-options) - targets)) - -(defun intero-sentinel (process change) - "Handle when PROCESS reports a CHANGE. -This is a standard process sentinel function." - (when (buffer-live-p (process-buffer process)) - (unless (process-live-p process) - (let ((buffer (process-buffer process))) - (if (with-current-buffer buffer intero-deleting) - (message "Intero process deleted.") - (if (and (intero-unsatisfied-package-p buffer) - (not (buffer-local-value 'intero-try-with-build buffer))) - (progn (with-current-buffer buffer (setq-local intero-try-with-build t)) - (intero-start-process-in-buffer - buffer - (buffer-local-value 'intero-targets buffer) - (buffer-local-value 'intero-source-buffer buffer))) - (progn (with-current-buffer buffer (setq-local intero-give-up t)) - (intero-show-process-problem process change)))))))) - -(defun intero-unsatisfied-package-p (buffer) - "Return non-nil if BUFFER contain GHCi's unsatisfied package complaint." - (with-current-buffer buffer - (save-excursion - (goto-char (point-min)) - (search-forward-regexp "cannot satisfy -package" nil t 1)))) - -(defun intero-executable-path (stack-yaml) - "The path for the intero executable." - (intero-with-temp-buffer - (cl-case (save-excursion - (intero-call-stack - nil (current-buffer) t intero-stack-yaml "path" "--compiler-tools-bin")) - (0 (replace-regexp-in-string "[\r\n]+$" "/intero" (buffer-string))) - (1 "intero")))) - -(defun intero-installed-p () - "Return non-nil if intero (of the right version) is installed in the stack environment." - (redisplay) - (intero-with-temp-buffer - (if (= 0 (intero-call-stack - nil t nil intero-stack-yaml - "exec" - "--verbosity" "silent" - "--" - (intero-executable-path intero-stack-yaml) - "--version")) - (progn - (goto-char (point-min)) - ;; This skipping comes due to https://github.com/commercialhaskell/intero/pull/216/files - (when (looking-at "Intero ") - (goto-char (match-end 0))) - ;; - (if (string= (buffer-substring (point) (line-end-position)) - intero-package-version) - 'installed - 'wrong-version)) - 'not-installed))) - -(defun intero-show-process-problem (process change) - "Report to the user that PROCESS reported CHANGE, causing it to end." - (message "Problem with Intero!") - (switch-to-buffer (process-buffer process)) - (goto-char (point-max)) - (insert "\n---\n\n") - (insert - (propertize - (concat - "This is the buffer where Emacs talks to intero. It's normally hidden, -but a problem occcured. - -TROUBLESHOOTING - -It may be obvious if there is some text above this message -indicating a problem. - -If you do not wish to use Intero for some projects, see -https://github.com/commercialhaskell/intero#whitelistingblacklisting-projects - -The process ended. Here is the reason that Emacs gives us: - -" - " " change - "\n" - "For troubleshooting purposes, here are the arguments used to launch intero: - -" - (format " %s %s" - intero-stack-executable - (combine-and-quote-strings intero-arguments)) - - " - -It's worth checking that the correct stack executable is being -found on your path, or has been set via -`intero-stack-executable'. The executable being used now is: - - " - (executable-find intero-stack-executable) - " - -WHAT TO DO NEXT - -If you fixed the problem, just kill this buffer, Intero will make -a fresh one and attempt to start the process automatically as -soon as you start editing code again. - -If you are unable to fix the problem, just leave this buffer -around in Emacs and Intero will not attempt to start the process -anymore. - -You can always run M-x intero-restart to make it try again. - -") - 'face 'compilation-error))) - -(defun intero-read-buffer () - "In the process buffer, we read what's in it." - (let ((repeat t)) - (while repeat - (setq repeat nil) - (goto-char (point-min)) - (when (search-forward "\4" (point-max) t 1) - (let* ((next-callback (pop intero-callbacks)) - (state (nth 0 next-callback)) - (func (nth 1 next-callback))) - (let ((string (intero-strip-carriage-returns (buffer-substring (point-min) (1- (point)))))) - (if next-callback - (progn (intero-with-temp-buffer - (funcall func state string)) - (setq repeat t)) - (when intero-debug - (intero--warn "Received output but no callback in `intero-callbacks': %S" - string))))) - (delete-region (point-min) (point)))))) - -(defun intero-strip-carriage-returns (string) - "Strip the \\r from Windows \\r\\n line endings in STRING." - (replace-regexp-in-string "\r" "" string)) - -(defun intero-get-buffer-create (worker) - "Get or create the stack buffer for WORKER. -Uses the directory of the current buffer for context." - (let* ((root (intero-extend-path-by-buffer-host (intero-project-root))) - (cabal-file (intero-cabal-find-file)) - (package-name (if cabal-file - (intero-package-name cabal-file) - "")) - (initial-buffer (current-buffer)) - (buffer-name (intero-buffer-name worker)) - (default-directory (if cabal-file - (file-name-directory cabal-file) - root))) - (with-current-buffer - (get-buffer-create buffer-name) - (intero-inherit-local-variables initial-buffer) - (setq intero-package-name package-name) - (cd default-directory) - (current-buffer)))) - -(defun intero-gave-up (worker) - "Return non-nil if starting WORKER or installing intero failed." - (and (intero-buffer-p worker) - (let ((buffer (get-buffer (intero-buffer-name worker)))) - (buffer-local-value 'intero-give-up buffer)))) - -(defun intero-buffer-p (worker) - "Return non-nil if a buffer exists for WORKER." - (get-buffer (intero-buffer-name worker))) - -(defun intero-buffer-name (worker) - "For a given WORKER, create a buffer name." - (let* ((root (intero-project-root)) - (package-name (intero-package-name))) - (concat " intero:" - (format "%s" worker) - ":" - package-name - " " - root))) - -(defun intero-project-root () - "Get the current stack config directory. -This is the directory where the file specified in -`intero-stack-yaml' is located, or if nil then the directory -where stack.yaml is placed for this project, or the global one if -no such project-specific config exists." - (if intero-project-root - intero-project-root - (let ((stack-yaml intero-stack-yaml)) - (setq intero-project-root - (intero-with-temp-buffer - (cl-case (save-excursion - (intero-call-stack nil (current-buffer) nil stack-yaml - "path" - "--project-root" - "--verbosity" "silent")) - (0 (buffer-substring (line-beginning-position) (line-end-position))) - (t (intero--warn "Couldn't get the Stack project root. - -This can be caused by a syntax error in your stack.yaml file. Check that out. - -If you do not wish to use Intero for some projects, see -https://github.com/commercialhaskell/intero#whitelistingblacklisting-projects - -Otherwise, please report this as a bug! - -For debugging purposes, try running the following in your terminal: - -%s path --project-root" intero-stack-executable) - nil))))))) - -(defun intero-ghc-version () - "Get the GHC version used by the project, calls only once per backend." - (with-current-buffer (intero-buffer 'backend) - (or intero-ghc-version - (setq intero-ghc-version - (intero-ghc-version-raw))))) - -(defun intero-ghc-version-raw () - "Get the GHC version used by the project." - (intero-with-temp-buffer - (cl-case (save-excursion - (intero-call-stack - nil (current-buffer) t intero-stack-yaml - "ghc" "--" "--numeric-version")) - (0 - (buffer-substring (line-beginning-position) (line-end-position))) - (1 nil)))) - -(defun intero-version>= (new0 old0) - "Is the version NEW >= OLD?" - (or (and (null new0) (null old0)) - (let ((new (or new0 (list 0))) - (old (or old0 (list 0)))) - (or (> (car new) - (car old)) - (and (= (car new) - (car old)) - (intero-version>= (cdr new) - (cdr old))))))) - -(defun intero-stack-version () - "Get the version components of stack." - (let* ((str (intero-stack-version-raw)) - (parts (mapcar #'string-to-number (split-string str "\\.")))) - parts)) - -(defun intero-stack-version-raw () - "Get the Stack version in PATH." - (intero-with-temp-buffer - (cl-case (save-excursion - (intero-call-stack - nil (current-buffer) t intero-stack-yaml "--numeric-version")) - (0 - (buffer-substring (line-beginning-position) (line-end-position))) - (1 nil)))) - -(defun intero-get-targets () - "Get all available targets." - (with-current-buffer (intero-buffer 'backend) - (intero-with-temp-buffer - (cl-case (intero-call-stack nil (current-buffer) t - intero-stack-yaml - "ide" "targets") - (0 - (cl-remove-if-not - (lambda (line) - (string-match-p "^[A-Za-z0-9-:_]+$" line)) - (split-string (buffer-string) "[\r\n]" t))) - (1 nil))))) - -(defun intero-package-name (&optional cabal-file) - "Get the current package name from a nearby .cabal file. -If there is none, return an empty string. If specified, use -CABAL-FILE rather than trying to locate one." - (or intero-package-name - (setq intero-package-name - (let ((cabal-file (or cabal-file - (intero-cabal-find-file)))) - (if cabal-file - (replace-regexp-in-string - ".cabal$" "" - (file-name-nondirectory cabal-file)) - ""))))) - -(defun intero-cabal-find-file (&optional dir) - "Search for package description file upwards starting from DIR. -If DIR is nil, `default-directory' is used as starting point for -directory traversal. Upward traversal is aborted if file owner -changes. Uses `intero-cabal-find-pkg-desc' internally." - (let ((use-dir (or dir default-directory))) - (while (and use-dir (not (file-directory-p use-dir))) - (setq use-dir (file-name-directory (directory-file-name use-dir)))) - (when use-dir - (catch 'found - (let ((user (nth 2 (file-attributes use-dir))) - ;; Abbreviate, so as to stop when we cross ~/. - (root (abbreviate-file-name use-dir))) - ;; traverse current dir up to root as long as file owner doesn't change - (while (and root (equal user (nth 2 (file-attributes root)))) - (let ((cabal-file (intero-cabal-find-pkg-desc root))) - (when cabal-file - (throw 'found cabal-file))) - - (let ((proot (file-name-directory (directory-file-name root)))) - (if (equal proot root) ;; fix-point reached? - (throw 'found nil) - (setq root proot)))) - nil))))) - -(defun intero-cabal-find-pkg-desc (dir &optional allow-multiple) - "Find a package description file in the directory DIR. -Returns nil if none or multiple \".cabal\" files were found. If -ALLOW-MULTIPLE is non nil, in case of multiple \".cabal\" files, -a list is returned instead of failing with a nil result." - ;; This is basically a port of Cabal's - ;; Distribution.Simple.Utils.findPackageDesc function - ;; http://hackage.haskell.org/packages/archive/Cabal/1.16.0.3/doc/html/Distribution-Simple-Utils.html - ;; but without the exception throwing. - (let* ((cabal-files - (cl-remove-if (lambda (path) - (or (file-directory-p path) - (not (file-exists-p path)))) - (directory-files dir t ".\\.cabal\\'" t)))) - (cond - ((= (length cabal-files) 1) (car cabal-files)) ;; exactly one candidate found - (allow-multiple cabal-files) ;; pass-thru multiple candidates - (t nil)))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Multiselection - -(defvar intero-multiswitch-keymap - (let ((map (copy-keymap widget-keymap))) - (define-key map (kbd "C-c C-c") 'exit-recursive-edit) - (define-key map (kbd "C-c C-k") 'abort-recursive-edit) - (define-key map (kbd "C-g") 'abort-recursive-edit) - map)) - -(defun intero-multiswitch (title options) - "Displaying TITLE, read multiple flags from a list of OPTIONS. -Each option is a plist of (:key :default :title) wherein: - - :key should be something comparable with EQUAL - :title should be a string - :default (boolean) specifies the default checkedness" - (let ((available-width (window-total-width))) - (save-window-excursion - (intero-with-temp-buffer - (rename-buffer (generate-new-buffer-name "multiswitch")) - (widget-insert (concat title "\n\n")) - (widget-insert (propertize "Select options with RET, hit " 'face 'font-lock-comment-face)) - (widget-create 'push-button :notify - (lambda (&rest ignore) - (exit-recursive-edit)) - "C-c C-c") - (widget-insert (propertize " to apply these choices, or hit " 'face 'font-lock-comment-face)) - (widget-create 'push-button :notify - (lambda (&rest ignore) - (abort-recursive-edit)) - "C-c C-k") - (widget-insert (propertize " to cancel.\n\n" 'face 'font-lock-comment-face)) - (let* ((me (current-buffer)) - (choices (mapcar (lambda (option) - (append option (list :value (plist-get option :default)))) - options))) - (cl-loop for option in choices - do (widget-create - 'toggle - :notify (lambda (widget &rest ignore) - (setq choices - (mapcar (lambda (choice) - (if (equal (plist-get choice :key) - (plist-get (cdr widget) :key)) - (plist-put choice :value (plist-get (cdr widget) :value)) - choice)) - choices))) - :on (concat "[x] " (plist-get option :title)) - :off (concat "[ ] " (plist-get option :title)) - :value (plist-get option :default) - :key (plist-get option :key))) - (let ((lines (line-number-at-pos))) - (select-window (split-window-below)) - (switch-to-buffer me) - (goto-char (point-min))) - (use-local-map intero-multiswitch-keymap) - (widget-setup) - (recursive-edit) - (kill-buffer me) - (mapcar (lambda (choice) - (plist-get choice :key)) - (cl-remove-if-not (lambda (choice) - (plist-get choice :value)) - choices))))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Hoogle - -(defun intero-hoogle-blocking-query (query) - "Make a request of QUERY using the local hoogle server. -If running, otherwise returns nil. - -It is the responsibility of the caller to make sure the server is -running; the user might not want to start the server -automatically." - (let ((buffer (intero-hoogle-get-buffer))) - (when buffer - (let ((url (intero-hoogle-url buffer query))) - (with-current-buffer (url-retrieve-synchronously url t) - (search-forward "\n\n" nil t 1) - (json-read-from-string - (buffer-substring (line-beginning-position) - (line-end-position)))))))) - -(defun intero-hoogle-url (buffer query) - "Via hoogle server BUFFER make the HTTP URL for QUERY." - (format "http://127.0.0.1:%d/?hoogle=%s&mode=json" - (buffer-local-value 'intero-hoogle-port buffer) - (url-encode-url query))) - -(defun intero-hoogle-get-worker-create () - "Get or create the hoogle worker." - (let* ((buffer (intero-hoogle-get-buffer-create))) - (if (get-buffer-process buffer) - buffer - (intero-start-hoogle-process-in-buffer buffer)))) - -(defun intero-start-hoogle-process-in-buffer (buffer) - "Start the process in BUFFER, returning BUFFER." - (let* ((port (intero-free-port)) - (process (with-current-buffer buffer - (message "Booting up hoogle ...") - (setq intero-hoogle-port port) - (start-process "hoogle" - buffer - intero-stack-executable - "hoogle" - "server" - "--no-setup" - "--" - "--local" - "--port" - (number-to-string port))))) - (set-process-query-on-exit-flag process nil) - (set-process-sentinel process 'intero-hoogle-sentinel) - buffer)) - -(defun intero-free-port () - "Get the next free port to use." - (let ((proc (make-network-process - :name "port-check" - :family 'ipv4 - :host "127.0.0.1" - :service t - :server t))) - (delete-process proc) - (process-contact proc :service))) - -(defun intero-hoogle-sentinel (process change) - "For the hoogle PROCESS there is a CHANGE to handle." - (message "Hoogle sentinel: %S %S" process change)) - -(defun intero-hoogle-get-buffer-create () - "Get or create the Hoogle buffer for the current stack project." - (let* ((root (intero-project-root)) - (buffer-name (intero-hoogle-buffer-name root)) - (buf (get-buffer buffer-name)) - (initial-buffer (current-buffer)) - (default-directory root)) - (if buf - buf - (with-current-buffer (get-buffer-create buffer-name) - (intero-inherit-local-variables initial-buffer) - (cd default-directory) - (current-buffer))))) - -(defun intero-hoogle-get-buffer () - "Get the Hoogle buffer for the current stack project." - (let* ((root (intero-project-root)) - (buffer-name (intero-hoogle-buffer-name root))) - (get-buffer buffer-name))) - -(defun intero-hoogle-buffer-name (root) - "For a given worker, create a buffer name using ROOT." - (concat "*Hoogle:" root "*")) - -(defun intero-hoogle-ready-p () - "Is hoogle ready to be started?" - (intero-with-temp-buffer - (cl-case (intero-call-stack nil (current-buffer) t intero-stack-yaml - "hoogle" "--no-setup" "--verbosity" "silent") - (0 t)))) - -(defun intero-hoogle-supported-p () - "Is the stack hoogle command supported?" - (intero-with-temp-buffer - (cl-case (intero-call-stack nil (current-buffer) t - intero-stack-yaml - "hoogle" "--help") - (0 t)))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Collecting information from compiler messages - -(defun intero-collect-compiler-messages (msgs) - "Collect information from compiler MSGS. - -This may update in-place the MSGS objects to hint that -suggestions are available." - (setq intero-suggestions nil) - (let ((extension-regex (concat " " (regexp-opt (intero-extensions) t) "\\>")) - (quoted-symbol-regex "[‘`‛]\\([^ ]+\\)['’]")) - (cl-loop - for msg in msgs - do (let ((text (flycheck-error-message msg)) - (note nil)) - ;; Messages of this format: - ;; - ;; • Constructor ‘Assert’ does not have the required strict field(s): assertName, - ;; assertDoc, assertExpression, - ;; assertSection - (let ((start 0)) - (while (or - (string-match "does not have the required strict field.*?:[\n\t\r ]" text start) - (string-match "Fields of .*? not initialised:[\n\t\r ]" text start)) - (let* ((match-end (match-end 0)) - (fields - (let ((reached-end nil)) - (mapcar - (lambda (field) - (with-temp-buffer - (insert field) - (goto-char (point-min)) - (intero-ident-at-point))) - (cl-remove-if - (lambda (field) - (or reached-end - (when (string-match "[\r\n]" field) - (setq reached-end t) - nil))) - (split-string - (substring text match-end) - "[\n\t\r ]*,[\n\t\r ]*" t)))))) - (setq note t) - (add-to-list - 'intero-suggestions - (list :type 'add-missing-fields - :fields fields - :line (flycheck-error-line msg) - :column (flycheck-error-column msg))) - (setq start (min (length text) (1+ match-end)))))) - - ;; Messages of this format: - ;; - ;; Can't make a derived instance of ‘Functor X’: - ;; You need DeriveFunctor to derive an instance for this class - ;; Try GeneralizedNewtypeDeriving for GHC's newtype-deriving extension - ;; In the newtype declaration for ‘X’ - (let ((start 0)) - (while (let ((case-fold-search nil)) - (string-match extension-regex text start)) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'add-extension - :extension (match-string 1 text))) - (setq start (min (length text) (1+ (match-end 0)))))) - ;; Messages of this format: - ;; - ;; Could not find module ‘Language.Haskell.TH’ - ;; It is a member of the hidden package ‘template-haskell’. - ;; Use -v to see a list of the files searched for.... - (let ((start 0)) - (while (string-match "It is a member of the hidden package [‘`‛]\\([^ ]+\\)['’]" text start) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'add-package - :package (match-string 1 text))) - (setq start (min (length text) (1+ (match-end 0)))))) - ;; Messages of this format: - ;; Expected type: String - ;; Actual type: Data.Text.Internal.Builder.Builder - (let ((start 0)) - (while (or (string-match - "Expected type: String" text start) - (string-match - "Actual type: String" text start) - (string-match - "Actual type: \\[Char\\]" text start) - (string-match - "Expected type: \\[Char\\]" text start)) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'add-extension - :extension "OverloadedStrings")) - (setq start (min (length text) (1+ (match-end 0)))))) - ;; Messages of this format: - ;; - ;; Defaulting the following constraint(s) to type ‘Integer’ - ;; (Num a0) arising from the literal ‘1’ - ;; In the expression: 2 - ;; In an equation for ‘x'’: x' = 2 - (let ((start 0)) - (while (string-match - " Defaulting the following constraint" text start) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'add-ghc-option - :option "-fno-warn-type-defaults")) - (setq start (min (length text) (1+ (match-end 0)))))) - ;; Messages of this format: - ;; - ;; This binding for ‘x’ shadows the existing binding - (let ((start 0)) - (while (string-match - " This binding for ‘\\(.*\\)’ shadows the existing binding" text start) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'add-ghc-option - :option "-fno-warn-name-shadowing")) - (setq start (min (length text) (1+ (match-end 0)))))) - ;; Messages of this format: - ;; Perhaps you want to add ‘foo’ to the import list - ;; in the import of ‘Blah’ - ;; (/path/to/thing:19 - (when (string-match "Perhaps you want to add [‘`‛]\\([^ ]+\\)['’][\n ]+to[\n ]+the[\n ]+import[\n ]+list[\n ]+in[\n ]+the[\n ]+import[\n ]+of[\n ]+[‘`‛]\\([^ ]+\\)['’][\n ]+(\\([^ ]+\\):(?\\([0-9]+\\)[:,]" - text) - (let ((ident (match-string 1 text)) - (module (match-string 2 text)) - (file (match-string 3 text)) - (line (string-to-number (match-string 4 text)))) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'add-to-import - :module module - :ident ident - :line line)))) - ;; Messages of this format: - ;; - ;; The import of ‘Control.Monad’ is redundant - ;; except perhaps to import instances from ‘Control.Monad’ - ;; To import instances alone, use: import Control.Monad()... (intero) - (when (string-match - " The \\(qualified \\)?import of[ ][‘`‛]\\([^ ]+\\)['’] is redundant" - text) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'remove-import - :module (match-string 2 text) - :line (flycheck-error-line msg)))) - ;; Messages of this format: - ;; - ;; Not in scope: ‘putStrn’ - ;; Perhaps you meant one of these: - ;; ‘putStr’ (imported from Prelude), - ;; ‘putStrLn’ (imported from Prelude) - ;; - ;; Or this format: - ;; - ;; error: - ;; • Variable not in scope: lopSetup :: [Statement Exp'] - ;; • Perhaps you meant ‘loopSetup’ (line 437) - (when (string-match - "[Nn]ot in scope: \\(data constructor \\|type constructor or class \\)?[‘`‛]?\\([^'’ ]+\\).*\n.*Perhaps you meant" - text) - (let ((typo (match-string 2 text)) - (start (min (length text) (1+ (match-end 0))))) - (while (string-match quoted-symbol-regex text start) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'fix-typo - :typo typo - :replacement (match-string 1 text) - :column (flycheck-error-column msg) - :line (flycheck-error-line msg))) - (setq start (min (length text) (1+ (match-end 0))))))) - ;; Messages of this format: - ;; - ;; Top-level binding with no type signature: main :: IO () - (when (string-match - "Top-level binding with no type signature:" - text) - (let ((start (min (length text) (match-end 0)))) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'add-signature - :signature (mapconcat #'identity (split-string (substring text start)) " ") - :line (flycheck-error-line msg))))) - ;; Messages of this format: - (when (string-match "The import of [‘`‛]\\(.+?\\)[’`'][\n ]+from[\n ]+module[\n ]+[‘`‛]\\(.+?\\)[’`'][\n ]+is[\n ]+redundant" text) - (let ((module (match-string 2 text)) - (idents (split-string (match-string 1 text) "," t "[ \n]+"))) - (setq note t) - (add-to-list 'intero-suggestions - (list :type 'redundant-import-item - :idents idents - :line (flycheck-error-line msg) - :module module)))) - ;; Messages of this format: - ;; - ;; Redundant constraints: (Arith var, Bitwise var) - ;; Or - ;; Redundant constraint: Arith var - ;; Or - ;; Redundant constraints: (Arith var, - ;; Bitwise var, - ;; Functor var, - ;; Applicative var, - ;; Monad var) - (when (string-match "Redundant constraints?: " text) - (let* ((redundant-start (match-end 0)) - (parts (intero-with-temp-buffer - (insert (substring text redundant-start)) - (goto-char (point-min)) - ;; A lone unparenthesized constraint might - ;; be multiple sexps. - (while (not (eq (point) (point-at-eol))) - (forward-sexp)) - (let ((redundant-end (point))) - (search-forward-regexp ".*\n.*In the ") - (cons (buffer-substring (point-min) redundant-end) - (buffer-substring (match-end 0) (point-max))))))) - (setq note t) - (add-to-list - 'intero-suggestions - (let ((rest (cdr parts)) - (redundant (let ((raw (car parts))) - (if (eq (string-to-char raw) ?\() - (substring raw 1 (1- (length raw))) - raw)))) - (list :type 'redundant-constraint - :redundancies (mapcar #'string-trim - (intero-parse-comma-list redundant)) - :signature (mapconcat #'identity (split-string rest) " ") - :line (flycheck-error-line msg)))))) - ;; Add a note if we found a suggestion to make - (when note - (setf (flycheck-error-message msg) - (concat text "\n\n" - (propertize - (substitute-command-keys - "(Hit `\\[intero-apply-suggestions]' in the Haskell buffer to apply suggestions)") - 'face 'font-lock-warning-face))))))) - (setq intero-lighter - (if (null intero-suggestions) - " Intero" - (format " Intero:%d" (length intero-suggestions))))) - -(defun intero-extensions () - "Get extensions for the current project's GHC." - (with-current-buffer (intero-buffer 'backend) - (or intero-extensions - (setq intero-extensions - (cl-remove-if-not - (lambda (str) (let ((case-fold-search nil)) - (string-match "^[A-Z][A-Za-z0-9]+$" str))) - (split-string - (shell-command-to-string - (concat intero-stack-executable - (if intero-stack-yaml - (concat "--stack-yaml " intero-stack-yaml) - "") - " exec --verbosity silent -- ghc --supported-extensions")))))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Auto actions - -(defun intero-parse-comma-list (text) - "Parse a list of comma-separated expressions in TEXT." - (cl-loop for tok in (split-string text "[[:space:]\n]*,[[:space:]\n]*") - with acc = nil - append (let* ((clist (string-to-list tok)) - (num-open (-count (lambda (c) (or (eq c ?\() (eq c ?\[))) - clist)) - (num-close (-count (lambda (c) (or (eq c ?\)) (eq c ?\]))) - clist))) - (cond - ((> num-open num-close) (progn (add-to-list 'acc tok) nil)) - ((> num-close num-open) (let ((tmp (reverse (cons tok acc)))) - (setq acc nil) - (list (string-join tmp ", ")))) - (t (list tok)))))) - -(defun intero-apply-suggestions () - "Prompt and apply the suggestions." - (interactive) - (if (null intero-suggestions) - (message "No suggestions to apply") - (let ((to-apply - (intero-multiswitch - (format "There are %d suggestions to apply:" (length intero-suggestions)) - (cl-remove-if-not - #'identity - (mapcar - (lambda (suggestion) - (cl-case (plist-get suggestion :type) - (add-to-import - (list :key suggestion - :title (format "Add ‘%s’ to import of ‘%s’" - (plist-get suggestion :ident) - (plist-get suggestion :module)) - :default t)) - (add-missing-fields - (list :key suggestion - :default t - :title - (format "Add missing fields to record: %s" - (mapconcat (lambda (ident) - (concat "‘" ident "’")) - (plist-get suggestion :fields) - ", ")))) - (redundant-import-item - (list :key suggestion - :title - (format "Remove redundant imports %s from import of ‘%s’" - (mapconcat (lambda (ident) - (concat "‘" ident "’")) - (plist-get suggestion :idents) ", ") - (plist-get suggestion :module)) - :default t)) - (add-extension - (list :key suggestion - :title (concat "Add {-# LANGUAGE " - (plist-get suggestion :extension) - " #-}") - :default (not (string= "OverloadedStrings" (plist-get suggestion :extension))))) - (add-ghc-option - (list :key suggestion - :title (concat "Add {-# OPTIONS_GHC " - (plist-get suggestion :option) - " #-}") - :default (not - (string= - (plist-get suggestion :option) - "-fno-warn-name-shadowing")))) - (add-package - (list :key suggestion - :title (concat "Enable package: " (plist-get suggestion :package)) - :default t)) - (remove-import - (list :key suggestion - :title (concat "Remove: import " - (plist-get suggestion :module)) - :default t)) - (fix-typo - (list :key suggestion - :title (concat "Replace ‘" - (plist-get suggestion :typo) - "’ with ‘" - (plist-get suggestion :replacement) - "’") - :default (null (cdr intero-suggestions)))) - (add-signature - (list :key suggestion - :title (concat "Add signature: " - (plist-get suggestion :signature)) - :default t)) - (redundant-constraint - (list :key suggestion - :title (concat - "Remove redundant constraints: " - (string-join (plist-get suggestion :redundancies) - ", ") - "\n from the " - (plist-get suggestion :signature)) - :default nil)))) - intero-suggestions))))) - (if (null to-apply) - (message "No changes selected to apply.") - (let ((sorted (sort to-apply - (lambda (lt gt) - (let ((lt-line (or (plist-get lt :line) 0)) - (lt-column (or (plist-get lt :column) 0)) - (gt-line (or (plist-get gt :line) 0)) - (gt-column (or (plist-get gt :column) 0))) - (or (> lt-line gt-line) - (and (= lt-line gt-line) - (> lt-column gt-column)))))))) - ;; # Changes unrelated to the buffer - (cl-loop - for suggestion in sorted - do (cl-case (plist-get suggestion :type) - (add-package - (intero-add-package (plist-get suggestion :package))))) - ;; # Changes that do not increase/decrease line numbers - ;; - ;; Update in-place suggestions - (cl-loop - for suggestion in sorted - do (cl-case (plist-get suggestion :type) - (add-to-import - (save-excursion - (goto-char (point-min)) - (forward-line (1- (plist-get suggestion :line))) - (when (and (search-forward (plist-get suggestion :module) nil t 1) - (search-forward "(" nil t 1)) - (insert (if (string-match-p "^[_a-zA-Z]" (plist-get suggestion :ident)) - (plist-get suggestion :ident) - (concat "(" (plist-get suggestion :ident) ")"))) - (unless (looking-at-p "[:space:]*)") - (insert ", "))))) - (redundant-import-item - (save-excursion - (goto-char (point-min)) - (forward-line (1- (plist-get suggestion :line))) - (let* ((case-fold-search nil) - (start (search-forward "(" nil t 1)) - (end (or (save-excursion - (when (search-forward-regexp "\n[^ \t]" nil t 1) - (1- (point)))) - (line-end-position))) - (regex - (concat - "\\(" - (mapconcat - (lambda (ident) - (if (string-match-p "^[_a-zA-Z]" ident) - (concat "\\<" (regexp-quote ident) "\\> ?" "\\("(regexp-quote "(..)") "\\)?") - (concat "(" (regexp-quote ident) ")"))) - (plist-get suggestion :idents) - "\\|") - "\\)")) - (string (buffer-substring start end))) - (delete-region start end) - (insert - (replace-regexp-in-string - ",[\n ]*)" ")" - (replace-regexp-in-string - "^[\n ,]*" "" - (replace-regexp-in-string - "[\n ,]*,[\n ,]*" ", " - (replace-regexp-in-string - ",[\n ]*)" ")" - (replace-regexp-in-string - regex "" - string))))) - (make-string (1- (length (split-string string "\n" t))) 10))))) - (fix-typo - (save-excursion - (goto-char (point-min)) - (forward-line (1- (plist-get suggestion :line))) - (move-to-column (- (plist-get suggestion :column) 1)) - (delete-char (length (plist-get suggestion :typo))) - (insert (plist-get suggestion :replacement)))) - (add-missing-fields - (save-excursion - (goto-char (point-min)) - (forward-line (1- (plist-get suggestion :line))) - (move-to-column (- (plist-get suggestion :column) 1)) - (search-forward "{") - (unless (looking-at "}") - (save-excursion (insert ", "))) - (insert (mapconcat (lambda (field) (concat field " = _")) - (plist-get suggestion :fields) - ", ")))))) - ;; # Changes that do increase/decrease line numbers - ;; - ;; Remove redundant constraints - (cl-loop - for suggestion in sorted - do (cl-case (plist-get suggestion :type) - (redundant-constraint - (save-excursion - (goto-char (point-min)) - (forward-line (1- (plist-get suggestion :line))) - (search-forward-regexp "[[:alnum:][:space:]\n]*=>") - (backward-sexp 2) - (let ((start (1+ (point)))) - (forward-sexp) - (let* ((end (1- (point))) - (constraints (intero-parse-comma-list - (buffer-substring start end))) - (nonredundant - (cl-loop for r in (plist-get suggestion :redundancies) - with nonredundant = constraints - do (setq nonredundant (delete r nonredundant)) - finally return nonredundant))) - (goto-char start) - (delete-char (- end start)) - (insert (string-join nonredundant ", ")))))))) - - ;; Add a type signature to a top-level binding. - (cl-loop - for suggestion in sorted - do (cl-case (plist-get suggestion :type) - (add-signature - (save-excursion - (goto-char (point-min)) - (forward-line (1- (plist-get suggestion :line))) - (insert (plist-get suggestion :signature)) - (insert "\n"))))) - - ;; Remove import lines from the file. May remove more than one - ;; line per import. - (cl-loop - for suggestion in sorted - do (cl-case (plist-get suggestion :type) - (remove-import - (save-excursion - (goto-char (point-min)) - (forward-line (1- (plist-get suggestion :line))) - (delete-region (line-beginning-position) - (or (when (search-forward-regexp "\n[^ \t]" nil t 1) - (1- (point))) - (line-end-position))))))) - ;; Add extensions to the top of the file - (cl-loop - for suggestion in sorted - do (cl-case (plist-get suggestion :type) - (add-extension - (save-excursion - (goto-char (point-min)) - (intero-skip-shebangs) - (insert "{-# LANGUAGE " - (plist-get suggestion :extension) - " #-}\n"))) - (add-ghc-option - (save-excursion - (goto-char (point-min)) - (intero-skip-shebangs) - (insert "{-# OPTIONS_GHC " - (plist-get suggestion :option) - " #-}\n")))))))))) - -(defun intero-skip-shebangs () - "Skip #! and -- shebangs used in Haskell scripts." - (when (looking-at-p "#!") (forward-line 1)) - (when (looking-at-p "-- stack ") (forward-line 1))) - -(defun intero--warn (message &rest args) - "Display a warning message made from (format MESSAGE ARGS...). -Equivalent to 'warn', but label the warning as coming from intero." - (display-warning 'intero (apply 'format message args) :warning)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Intero help buffer - -(defun intero-help-buffer () - "Get the help buffer." - (with-current-buffer (get-buffer-create "*Intero-Help*") - (unless (eq major-mode 'intero-help-mode) (intero-help-mode)) - (current-buffer))) - -(defvar-local intero-help-entries nil - "History for help entries.") - -(defun intero-help-pagination () - "Insert pagination for the current help buffer." - (let ((buffer-read-only nil)) - (when (> (length intero-help-entries) 1) - (insert-text-button - "[back]" - 'buffer (current-buffer) - 'action (lambda (&rest ignore) - (let ((first (pop intero-help-entries))) - (setcdr (last intero-help-entries) (cons first nil)) - (intero-help-refresh))) - 'keymap (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'push-button) - map)) - (insert " ") - (insert-text-button - "[forward]" - 'buffer (current-buffer) - 'keymap (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'push-button) - map) - 'action (lambda (&rest ignore) - (setq intero-help-entries - (intero-bring-to-front intero-help-entries)) - (intero-help-refresh))) - (insert " ") - (insert-text-button - "[forget]" - 'buffer (current-buffer) - 'keymap (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'push-button) - map) - 'action (lambda (&rest ignore) - (pop intero-help-entries) - (intero-help-refresh))) - (insert "\n\n")))) - -(defun intero-help-refresh () - "Refresh the help buffer with the current thing in the history." - (interactive) - (let ((buffer-read-only nil)) - (erase-buffer) - (if (car intero-help-entries) - (progn - (intero-help-pagination) - (insert (cdr (car intero-help-entries))) - (goto-char (point-min))) - (insert "No help entries.")))) - -(defun intero-bring-to-front (xs) - "Bring the last element of XS to the front." - (cons (car (last xs)) (butlast xs))) - -(defun intero-help-push-history (buffer item) - "Add (BUFFER . ITEM) to the history of help entries." - (push (cons buffer item) intero-help-entries)) - -(defun intero-help-info (ident) - "Get the info of the thing with IDENT at point." - (interactive (list (intero-ident-at-point))) - (with-current-buffer (car (car intero-help-entries)) - (intero-info ident))) - -(define-derived-mode intero-help-mode help-mode "Intero-Help" - "Help mode for intero." - (setq buffer-read-only t) - (setq intero-help-entries nil)) - -(define-key intero-help-mode-map (kbd "g") 'intero-help-refresh) -(define-key intero-help-mode-map (kbd "C-c C-i") 'intero-help-info) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Intero highlight uses mode - -(defvar intero-highlight-uses-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "n") 'intero-highlight-uses-mode-next) - (define-key map (kbd "TAB") 'intero-highlight-uses-mode-next) - (define-key map (kbd "p") 'intero-highlight-uses-mode-prev) - (define-key map (kbd "S-TAB") 'intero-highlight-uses-mode-prev) - (define-key map (kbd "") 'intero-highlight-uses-mode-prev) - (define-key map (kbd "RET") 'intero-highlight-uses-mode-stop-here) - (define-key map (kbd "r") 'intero-highlight-uses-mode-replace) - (define-key map (kbd "q") 'intero-highlight-uses-mode) - map) - "Keymap for using `intero-highlight-uses-mode'.") - -(defvar-local intero-highlight-uses-mode-point nil) -(defvar-local intero-highlight-uses-buffer-old-mode nil) - -;;;###autoload -(define-minor-mode intero-highlight-uses-mode - "Minor mode for highlighting and jumping between uses." - :lighter " Uses" - :keymap intero-highlight-uses-mode-map - (if intero-highlight-uses-mode - (progn (setq intero-highlight-uses-buffer-old-mode buffer-read-only) - (setq buffer-read-only t) - (setq intero-highlight-uses-mode-point (point))) - (progn (setq buffer-read-only intero-highlight-uses-buffer-old-mode) - (when intero-highlight-uses-mode-point - (goto-char intero-highlight-uses-mode-point)))) - (remove-overlays (point-min) (point-max) 'intero-highlight-uses-mode-highlight t)) - -(defun intero-highlight-uses-mode-replace () - "Replace all highlighted instances in the buffer with something else." - (interactive) - (save-excursion - (goto-char (point-min)) - (let ((o (intero-highlight-uses-mode-next))) - (when o - (let ((replacement - (read-from-minibuffer - (format "Replace uses %s with: " - (buffer-substring - (overlay-start o) - (overlay-end o)))))) - (let ((inhibit-read-only t)) - (while o - (goto-char (overlay-start o)) - (delete-region (overlay-start o) - (overlay-end o)) - (insert replacement) - (setq o (intero-highlight-uses-mode-next)))))))) - (intero-highlight-uses-mode -1)) - -(defun intero-highlight-uses-mode-stop-here () - "Stop at this point." - (interactive) - (setq intero-highlight-uses-mode-point (point)) - (intero-highlight-uses-mode -1)) - -(defun intero-highlight-uses-mode-next () - "Jump to next result." - (interactive) - (let ((os (sort (cl-remove-if (lambda (o) - (or (<= (overlay-start o) (point)) - (not (overlay-get o 'intero-highlight-uses-mode-highlight)))) - (overlays-in (point) (point-max))) - (lambda (a b) - (< (overlay-start a) - (overlay-start b)))))) - (when os - (mapc - (lambda (o) - (when (overlay-get o 'intero-highlight-uses-mode-highlight) - (overlay-put o 'face 'lazy-highlight))) - (overlays-in (line-beginning-position) (line-end-position))) - (goto-char (overlay-start (car os))) - (overlay-put (car os) 'face 'isearch) - (car os)))) - -(defun intero-highlight-uses-mode-prev () - "Jump to previous result." - (interactive) - (let ((os (sort (cl-remove-if (lambda (o) - (or (>= (overlay-end o) (point)) - (not (overlay-get o 'intero-highlight-uses-mode-highlight)))) - (overlays-in (point-min) (point))) - (lambda (a b) - (> (overlay-start a) - (overlay-start b)))))) - (when os - (mapc - (lambda (o) - (when (overlay-get o 'intero-highlight-uses-mode-highlight) - (overlay-put o 'face 'lazy-highlight))) - (overlays-in (line-beginning-position) (line-end-position))) - (goto-char (overlay-start (car os))) - (overlay-put (car os) 'face 'isearch) - (car os)))) - -(defun intero-highlight-uses-mode-highlight (start end current) - "Make a highlight overlay at the span from START to END. -If CURRENT, highlight the span uniquely." - (let ((o (make-overlay start end))) - (overlay-put o 'priority 999) - (overlay-put o 'face - (if current - 'isearch - 'lazy-highlight)) - (overlay-put o 'intero-highlight-uses-mode-highlight t))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(provide 'intero) - -;;; intero.el ends here diff --git a/.stack-work/intero/intero-script15638LtG b/.stack-work/intero/intero-script15638LtG deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script15638LtG +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script18425zvS b/.stack-work/intero/intero-script18425zvS deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script18425zvS +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script21871YJc b/.stack-work/intero/intero-script21871YJc deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script21871YJc +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script250346te b/.stack-work/intero/intero-script250346te deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script250346te +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script25034H4k b/.stack-work/intero/intero-script25034H4k deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script25034H4k +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script25034UCr b/.stack-work/intero/intero-script25034UCr deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script25034UCr +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script25034UQT b/.stack-work/intero/intero-script25034UQT deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script25034UQT +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script25034gZS b/.stack-work/intero/intero-script25034gZS deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script25034gZS +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script25034haZ b/.stack-work/intero/intero-script25034haZ deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script25034haZ +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script25034tjY b/.stack-work/intero/intero-script25034tjY deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script25034tjY +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script265874pa b/.stack-work/intero/intero-script265874pa deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script265874pa +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script26587REU b/.stack-work/intero/intero-script26587REU deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script26587REU +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script26587S-m b/.stack-work/intero/intero-script26587S-m deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script26587S-m +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script26587sZn b/.stack-work/intero/intero-script26587sZn deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script26587sZn +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script31583KtK b/.stack-work/intero/intero-script31583KtK deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script31583KtK +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script31583X3Q b/.stack-work/intero/intero-script31583X3Q deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script31583X3Q +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script38150SJ b/.stack-work/intero/intero-script38150SJ deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script38150SJ +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script3815OuJ b/.stack-work/intero/intero-script3815OuJ deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script3815OuJ +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script3815a3I b/.stack-work/intero/intero-script3815a3I deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script3815a3I +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script3815nBP b/.stack-work/intero/intero-script3815nBP deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script3815nBP +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script4078Wgy b/.stack-work/intero/intero-script4078Wgy deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script4078Wgy +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script75130iQ b/.stack-work/intero/intero-script75130iQ deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script75130iQ +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero-script7513nYK b/.stack-work/intero/intero-script7513nYK deleted file mode 100644 index 56fbd62..0000000 --- a/.stack-work/intero/intero-script7513nYK +++ /dev/null @@ -1,4 +0,0 @@ -:set prompt "" -:set -fbyte-code -:set -fdiagnostics-color=never -:set prompt "\4 " diff --git a/.stack-work/intero/intero15638-bM-STAGING.hs b/.stack-work/intero/intero15638-bM-STAGING.hs deleted file mode 100644 index ef7396b..0000000 --- a/.stack-work/intero/intero15638-bM-STAGING.hs +++ /dev/null @@ -1,132 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix ---import Numeric.LinearAlgebra -import System.Random -import Foreign.Storable - - -data Square = X -- Attacked - | Qu -- Queen - | O -- Open/available - deriving (Show, Eq) - - ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> O - -placeQueen (r,c) b = placeQueen' $ markAttacked b - where - placeQueen' b = setElem Qu (r,c) b - markAttacked b = rowAttacked $ colAttacked $ diagAttacked b - fX = (\_ x -> X) - rowAttacked b = mapRow fX r b - colAttacked b = mapCol fX c b - diagAttacked b = let d = diag r c - attack ap ab = setElem X ap ab - attackall [x] = attack x b - attackall (x:xs) = attack x (attackall xs) - in attackall d --- in last $ map (\p -> setElem X p b) d --- in last $ scanr (\p -> setElem X p) b - ---solve b = placeQueen (nextAvail b) b - -nextAvail b = head [(x,y) | x <- [1..8], y <- [1..8], b ! (x,y) == O] - --- solve b = placeQueen n --- where n = nextAvail b --- next = placeQueen n --- solve' = - -solve b = - where solve' b = (\n = placeQueen $ nextAvail b) - - ---diag r c = [(x,y) | x <- [1..8], y <- [1..8], (abs x-y) == 1 ] -diag r c = let rl = [1..r] - rr = [r..8] - cu = [1..c] - cd = [c..8] - in zip rl cu ++ zip rr cd ++ - zip (reverse rl) cd ++ zip (reverse rr) cu - - - - --- diag (r,c) b = --- where l = (r-1,c-1) --- r = (r+1,c+1) --- lowbound = 1 --- highbound = 8 - - ---initBoard = (8><8) $ repeat O - ---firstOpen b = take 1 [(r,c)| r <- [1..8], c <- [1..8], b ! (r,c) == O] - --- firstOpen b = let --- elem x y = b ! (x, y) --- in map - --- nextOpen b = - --- solve = let board = initBoard - ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b - - - --- diags p = let r = r p --- l = l p --- in p : inRange r --- where inRange x = x >= 1 && x <= 8 --- inRange' (x,y) = inRange (x) && inRange (y) --- r x = (fst x + 1, snd x + 1) --- l x = (fst x - 1, snd x - 1) --- nexts x = diags' x --- diags' x = [(fst x - 1, snd x -1), (fst x + 1, snd x + 1)] --- -- down x = (fst x - 1, snd x - 1) --- -- down (r,c) = let d = (r-1,c-1) in if inRange d then d : down d else --- -- up (r,c) = let u = (r+1,c+1) in u : up u - - ---mapDiag r c = undefined - ---placeAll = repeat 8 placeQueen - -winnable = undefined - -nextOpen board = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero15638LmS-TEMP.hs b/.stack-work/intero/intero15638LmS-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero18425meY-STAGING.hs b/.stack-work/intero/intero18425meY-STAGING.hs deleted file mode 100644 index 820de4e..0000000 --- a/.stack-work/intero/intero18425meY-STAGING.hs +++ /dev/null @@ -1,46 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix -import System.Random - -data Square = X | Q deriving (Show) ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> X ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b -placeQueen r c b = setElem Q (r,c) b - ---placeAll = repeat 8 placeQueen - -winnable = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero18425zoe-TEMP.hs b/.stack-work/intero/intero18425zoe-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero21871-0P-TEMP.hs b/.stack-work/intero/intero21871-0P-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero21871xqJ-STAGING.hs b/.stack-work/intero/intero21871xqJ-STAGING.hs deleted file mode 100644 index 820de4e..0000000 --- a/.stack-work/intero/intero21871xqJ-STAGING.hs +++ /dev/null @@ -1,46 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix -import System.Random - -data Square = X | Q deriving (Show) ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> X ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b -placeQueen r c b = setElem Q (r,c) b - ---placeAll = repeat 8 placeQueen - -winnable = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero232079je-TEMP.hs b/.stack-work/intero/intero232079je-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero23207wZY-STAGING.hs b/.stack-work/intero/intero23207wZY-STAGING.hs deleted file mode 100644 index 820de4e..0000000 --- a/.stack-work/intero/intero23207wZY-STAGING.hs +++ /dev/null @@ -1,46 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix -import System.Random - -data Square = X | Q deriving (Show) ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> X ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b -placeQueen r c b = setElem Q (r,c) b - ---placeAll = repeat 8 placeQueen - -winnable = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero25034GFG-TEMP.hs b/.stack-work/intero/intero25034GFG-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero25034U72-STAGING.hs b/.stack-work/intero/intero25034U72-STAGING.hs deleted file mode 100644 index 9cd992d..0000000 --- a/.stack-work/intero/intero25034U72-STAGING.hs +++ /dev/null @@ -1,5 +0,0 @@ -module Main where - -main :: IO () -main = do - putStrLn "hello world" diff --git a/.stack-work/intero/intero265874by-STAGING.hs b/.stack-work/intero/intero265874by-STAGING.hs deleted file mode 100644 index a82dbd0..0000000 --- a/.stack-work/intero/intero265874by-STAGING.hs +++ /dev/null @@ -1,201 +0,0 @@ -{-# LANGUAGE FlexibleContexts #-} - -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix ---import Numeric.LinearAlgebra -import System.Random -import Foreign.Storable - - -data Square = X -- Attacked - | Qu -- Queen - | O -- Open/available - deriving (Show, Eq) - - ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> O - -placeQueen (r,c) b = placeQueen' $ markAttacked b - where - placeQueen' b = setElem Qu (r,c) b - markAttacked b = rowAttacked $ colAttacked $ diagAttacked b - fX = (\_ x -> X) - rowAttacked b = mapRow fX r b - colAttacked b = mapCol fX c b - diagAttacked b = let d = diag r c - attack ap ab = setElem X ap ab - attackall [x] = attack x b - attackall (x:xs) = attack x (attackall xs) - in attackall d --- in last $ map (\p -> setElem X p b) d --- in last $ scanr (\p -> setElem X p) b - ---solve b = placeQueen (nextAvail b) b - -nextAvail b = head [(x,y) | x <- [1..8], y <- [1..8], b ! (x,y) == O] - --- solve b = placeQueen n --- where n = nextAvail b --- next = placeQueen n --- solve' = - --- solve b = --- where solve' b = (\n = placeQueen $ nextAvail b) - -solve b = second - where first = placeQueen (nextAvail b) b - second = placeQueen (nextAvail first) first - -solve' b = s (nA b) b - where s n b = placeQueen n b - nA b = nextAvail b - - ---diag r c = [(x,y) | x <- [1..8], y <- [1..8], (abs x-y) == 1 ] -diag r c = let rl = [1..r] - rr = [r..8] - cu = [1..c] - cd = [c..8] - in zip rl cu ++ zip rr cd ++ - zip (reverse rl) cd ++ zip (reverse rr) cu - -allops a b = [(a, a), (a, b), (b, a), (b, b)] -ops = allops (+1) (subtract 1) -applyop (x,y) (a,b) = (a x,b y) -applyops p = map (applyop p) ops - -mapDiag f c b = map (\(x,y) -> setElem f (x,y) b) ds - where ds = diag'' c - -mapDiag' f c b = map (on b f) ds - where ds = diag'' c - on b x p = let next bo = set x p bo - in map (next) b - set x p b = setElem x p b - ---mapDiag'' f c b = take 10 $ iterate (map (set f) ds) b --- mapDiag'' f c b = take 10 $ iterate ( --- where ds = diag'' c --- eachD' p = setElem f p --- eachD [p] = eachD' p --- eachD (p:ps) = eachD' p : eachD ps - -markX p b = setElem X p b - -mapDiag''' f p b = applyfs fs b - where ds = diag'' p - fs = map (\x y -> markX x y) ds - applyfs [x] b = x b - applyfs (x:xs) b = applyfs x (applyfs xs) - - -onBoard b f = let next n = f n - in next b - ---eB = mapDiag''' (\_ -> 1) (5,5) $ matrix 8 8 (\_ -> 0) - -diag'' c = apply c - where - min = 1 - max = 8 - ops a b = [(a, a), (a, b), (b, a), (b, b)] - allops = ops (+1) (subtract 1) - applyop (x,y) (a,b) = (a x,b y) - applyopr (a,b) (x,y) = traverse' (\(d,f) -> (a d, b f)) (x,y) - traverse' f x = takeWhile (within) $ iterate f x - within (x,y) = let within' z = z >= min && z <= max - in within' x && within' y - applyops ops p = map (\x -> applyopr x p) ops - apply x = concat $ applyops allops x - --- opfs ops = map (\(o1,o2) -> (\(x,y) -> (o1 x, o2 y))) ops --- applyops x = map x opfs --- ops = map ( - --applyops (x,y) = map (($ x), ($ y)) $ allops (+1) (-1) --- fx a b = map \((oa,ob) -> ((cx,cy) -> (oa cx, ob cy))) $ allops (+1) (-1) - --applyops x = [(((fst f) (fst x)), ((snd f) (snd x))) | f <- allops (+1) (-1)] --- applyops x = (fst x, snd x) --- applyops x = map \((p,m) -> (p (fst x), m (snd x))) $ allops (+1) (-1) --- apply c = map (\(p,m) -> (p (fst c), m (snd c))) $ allops (+1) (-1) --- apply ops c = [( (fst o) (fst c), (snd o) (snd c) | o <- ops - - - --- diag (r,c) b = --- where l = (r-1,c-1) --- r = (r+1,c+1) --- lowbound = 1 --- highbound = 8 - - ---initBoard = (8><8) $ repeat O - ---firstOpen b = take 1 [(r,c)| r <- [1..8], c <- [1..8], b ! (r,c) == O] - --- firstOpen b = let --- elem x y = b ! (x, y) --- in map - --- nextOpen b = - --- solve = let board = initBoard - ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b - - - --- diags p = let r = r p --- l = l p --- in p : inRange r --- where inRange x = x >= 1 && x <= 8 --- inRange' (x,y) = inRange (x) && inRange (y) --- r x = (fst x + 1, snd x + 1) --- l x = (fst x - 1, snd x - 1) --- nexts x = diags' x --- diags' x = [(fst x - 1, snd x -1), (fst x + 1, snd x + 1)] --- -- down x = (fst x - 1, snd x - 1) --- -- down (r,c) = let d = (r-1,c-1) in if inRange d then d : down d else --- -- up (r,c) = let u = (r+1,c+1) in u : up u - - ---mapDiag r c = undefined - ---placeAll = repeat 8 placeQueen - -winnable = undefined - -nextOpen board = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero26587qlB-TEMP.hs b/.stack-work/intero/intero26587qlB-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero30739dbu-STAGING.hs b/.stack-work/intero/intero30739dbu-STAGING.hs deleted file mode 100644 index c0b9790..0000000 --- a/.stack-work/intero/intero30739dbu-STAGING.hs +++ /dev/null @@ -1,127 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix ---import Numeric.LinearAlgebra -import System.Random -import Foreign.Storable - - -data Square = X -- Attacked - | Qu -- Queen - | O -- Open/available - deriving (Show, Eq) - - ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> O - -placeQueen (r,c) b = placeQueen' $ markAttacked b - where - placeQueen' b = setElem Qu (r,c) b - markAttacked b = rowAttacked $ colAttacked $ diagAttacked b - fX = (\_ x -> X) - rowAttacked b = mapRow fX r b - colAttacked b = mapCol fX c b - diagAttacked b = let d = diag r c - attack ap ab = setElem X ap ab - attackall [x] = attack x b - attackall (x:xs) = attack x (attackall xs) - in attackall d --- in last $ map (\p -> setElem X p b) d --- in last $ scanr (\p -> setElem X p) b - ---solve b = placeQueen (nextAvail b) b - -nextAvail b = head [(x,y) | x <- [1..8], y <- [1..8], b ! (x,y) == O] - -solve b = solve $ placeQueen n b - where n = nextAvail b - - ---diag r c = [(x,y) | x <- [1..8], y <- [1..8], (abs x-y) == 1 ] -diag r c = let rl = [1..r] - rr = [r..8] - cu = [1..c] - cd = [c..8] - in zip rl cu ++ zip rr cd ++ - zip (reverse rl) cd ++ zip (reverse rr) cu - - - - --- diag (r,c) b = --- where l = (r-1,c-1) --- r = (r+1,c+1) --- lowbound = 1 --- highbound = 8 - - ---initBoard = (8><8) $ repeat O - ---firstOpen b = take 1 [(r,c)| r <- [1..8], c <- [1..8], b ! (r,c) == O] - --- firstOpen b = let --- elem x y = b ! (x, y) --- in map - --- nextOpen b = - --- solve = let board = initBoard - ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b - - - --- diags p = let r = r p --- l = l p --- in p : inRange r --- where inRange x = x >= 1 && x <= 8 --- inRange' (x,y) = inRange (x) && inRange (y) --- r x = (fst x + 1, snd x + 1) --- l x = (fst x - 1, snd x - 1) --- nexts x = diags' x --- diags' x = [(fst x - 1, snd x -1), (fst x + 1, snd x + 1)] --- -- down x = (fst x - 1, snd x - 1) --- -- down (r,c) = let d = (r-1,c-1) in if inRange d then d : down d else --- -- up (r,c) = let u = (r+1,c+1) in u : up u - - ---mapDiag r c = undefined - ---placeAll = repeat 8 placeQueen - -winnable = undefined - -nextOpen board = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero30739ql0-TEMP.hs b/.stack-work/intero/intero30739ql0-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero31583k6i-STAGING.hs b/.stack-work/intero/intero31583k6i-STAGING.hs deleted file mode 100644 index c020aed..0000000 --- a/.stack-work/intero/intero31583k6i-STAGING.hs +++ /dev/null @@ -1,127 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix ---import Numeric.LinearAlgebra -import System.Random -import Foreign.Storable - - -data Square = X -- Attacked - | Qu -- Queen - | O -- Open/available - deriving (Show, Eq) - - ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> O - -placeQueen (r,c) b = placeQueen' $ markAttacked b - where - placeQueen' b = setElem Qu (r,c) b - markAttacked b = rowAttacked $ colAttacked $ diagAttacked b - fX = (\_ x -> X) - rowAttacked b = mapRow fX r b - colAttacked b = mapCol fX c b - diagAttacked b = let d = diag r c - attack ap ab = setElem X ap ab - attackall [x] = attack x b - attackall (x:xs) = attack x (attackall xs) - in attackall d --- in last $ map (\p -> setElem X p b) d --- in last $ scanr (\p -> setElem X p) b - ---solve b = placeQueen (nextAvail b) b - -nextAvail b = head [(x,y) | x <- [1..8], y <- [1..8], b ! (x,y) == O] - -solve b = solve $ solve $ solve $ placeQueen n b - where n = nextAvail b - - ---diag r c = [(x,y) | x <- [1..8], y <- [1..8], (abs x-y) == 1 ] -diag r c = let rl = [1..r] - rr = [r..8] - cu = [1..c] - cd = [c..8] - in zip rl cu ++ zip rr cd ++ - zip (reverse rl) cd ++ zip (reverse rr) cu - - - - --- diag (r,c) b = --- where l = (r-1,c-1) --- r = (r+1,c+1) --- lowbound = 1 --- highbound = 8 - - ---initBoard = (8><8) $ repeat O - ---firstOpen b = take 1 [(r,c)| r <- [1..8], c <- [1..8], b ! (r,c) == O] - --- firstOpen b = let --- elem x y = b ! (x, y) --- in map - --- nextOpen b = - --- solve = let board = initBoard - ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b - - - --- diags p = let r = r p --- l = l p --- in p : inRange r --- where inRange x = x >= 1 && x <= 8 --- inRange' (x,y) = inRange (x) && inRange (y) --- r x = (fst x + 1, snd x + 1) --- l x = (fst x - 1, snd x - 1) --- nexts x = diags' x --- diags' x = [(fst x - 1, snd x -1), (fst x + 1, snd x + 1)] --- -- down x = (fst x - 1, snd x - 1) --- -- down (r,c) = let d = (r-1,c-1) in if inRange d then d : down d else --- -- up (r,c) = let u = (r+1,c+1) in u : up u - - ---mapDiag r c = undefined - ---placeAll = repeat 8 placeQueen - -winnable = undefined - -nextOpen board = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero31583xEp-TEMP.hs b/.stack-work/intero/intero31583xEp-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero38150Eh-TEMP.hs b/.stack-work/intero/intero38150Eh-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero3815n6a-STAGING.hs b/.stack-work/intero/intero3815n6a-STAGING.hs deleted file mode 100644 index 5f6fce5..0000000 --- a/.stack-work/intero/intero3815n6a-STAGING.hs +++ /dev/null @@ -1,69 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix -import System.Random - -data Square = X -- Attacked - | Qu -- Queen - | O -- Open/available - deriving (Show) - - ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> O - -firstOpen b = let - elem x y = b ! (x, y) - in map - -nextOpen b = - -solve = let board = initBoard - ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b --- placeQueen r c b = board --- where --- fX = (\ _ -> X) --- rowAttacked = mapRow fX r --- colAttacked = mapCol fx c --- queen = setElem Qu (r,c) b - ---placeAll = repeat 8 placeQueen - -winnable = undefined - -nextOpen board = undefined - -solve = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero4078i3Z-STAGING.hs b/.stack-work/intero/intero4078i3Z-STAGING.hs deleted file mode 100644 index 15be3ec..0000000 --- a/.stack-work/intero/intero4078i3Z-STAGING.hs +++ /dev/null @@ -1,55 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix -import System.Random - -data Square = X | Qu | O deriving (Show) ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> O ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b -placeQueen r c b = board - where - fX = (\ _ -> X) - rowAttacked = mapRow fX r - colAttacked = mapCol fx c - queen = setElem Qu (r,c) b - ---placeAll = repeat 8 placeQueen - -winnable = undefined - -nextOpen board = - -solve = - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero4078vBg-TEMP.hs b/.stack-work/intero/intero4078vBg-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero5164dbY-STAGING.hs b/.stack-work/intero/intero5164dbY-STAGING.hs deleted file mode 100644 index 820de4e..0000000 --- a/.stack-work/intero/intero5164dbY-STAGING.hs +++ /dev/null @@ -1,46 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix -import System.Random - -data Square = X | Q deriving (Show) ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> X ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b -placeQueen r c b = setElem Q (r,c) b - ---placeAll = repeat 8 placeQueen - -winnable = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero5164qle-TEMP.hs b/.stack-work/intero/intero5164qle-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/intero/intero7513Owo-STAGING.hs b/.stack-work/intero/intero7513Owo-STAGING.hs deleted file mode 100644 index f3b0098..0000000 --- a/.stack-work/intero/intero7513Owo-STAGING.hs +++ /dev/null @@ -1,152 +0,0 @@ -module Main where - -import Control.Lens -import Linear.V2 -import Linear.V3 -import Data.Matrix ---import Numeric.LinearAlgebra -import System.Random -import Foreign.Storable - - -data Square = X -- Attacked - | Qu -- Queen - | O -- Open/available - deriving (Show, Eq) - - ---board = V3 <$> [0..8] <*> [0..8] <*> [0] ---board = [(r,c,X) | r <- [0..8], c <- [0..8] ] - -lo8 = [0..8] -- list of 8 -initBoard = matrix 8 8 $ \_ -> O - -placeQueen (r,c) b = placeQueen' $ markAttacked b - where - placeQueen' b = setElem Qu (r,c) b - markAttacked b = rowAttacked $ colAttacked $ diagAttacked b - fX = (\_ x -> X) - rowAttacked b = mapRow fX r b - colAttacked b = mapCol fX c b - diagAttacked b = let d = diag r c - attack ap ab = setElem X ap ab - attackall [x] = attack x b - attackall (x:xs) = attack x (attackall xs) - in attackall d --- in last $ map (\p -> setElem X p b) d --- in last $ scanr (\p -> setElem X p) b - ---solve b = placeQueen (nextAvail b) b - -nextAvail b = head [(x,y) | x <- [1..8], y <- [1..8], b ! (x,y) == O] - --- solve b = placeQueen n --- where n = nextAvail b --- next = placeQueen n --- solve' = - --- solve b = --- where solve' b = (\n = placeQueen $ nextAvail b) - -solve b = second - where first = placeQueen (nextAvail b) b - second = placeQueen (nextAvail first) first - -solve' b = s (nA b) b - where s n b = placeQueen n b - nA b = nextAvail b - - ---diag r c = [(x,y) | x <- [1..8], y <- [1..8], (abs x-y) == 1 ] -diag r c = let rl = [1..r] - rr = [r..8] - cu = [1..c] - cd = [c..8] - in zip rl cu ++ zip rr cd ++ - zip (reverse rl) cd ++ zip (reverse rr) cu - -diag' p = where - maxB = 8 - minB = 1 - u = (+1) - d = (-1) - r = u - l = d - ur = (u fst, r snd) - ul = (u fst, l snd) - dr = (d fst, r snd) - dl = (d fst, l snd) - - - - --- diag (r,c) b = --- where l = (r-1,c-1) --- r = (r+1,c+1) --- lowbound = 1 --- highbound = 8 - - ---initBoard = (8><8) $ repeat O - ---firstOpen b = take 1 [(r,c)| r <- [1..8], c <- [1..8], b ! (r,c) == O] - --- firstOpen b = let --- elem x y = b ! (x, y) --- in map - --- nextOpen b = - --- solve = let board = initBoard - ---avail r c b = - ---rowOccupied r b = any (== Q) $ getRow r b - - - --- diags p = let r = r p --- l = l p --- in p : inRange r --- where inRange x = x >= 1 && x <= 8 --- inRange' (x,y) = inRange (x) && inRange (y) --- r x = (fst x + 1, snd x + 1) --- l x = (fst x - 1, snd x - 1) --- nexts x = diags' x --- diags' x = [(fst x - 1, snd x -1), (fst x + 1, snd x + 1)] --- -- down x = (fst x - 1, snd x - 1) --- -- down (r,c) = let d = (r-1,c-1) in if inRange d then d : down d else --- -- up (r,c) = let u = (r+1,c+1) in u : up u - - ---mapDiag r c = undefined - ---placeAll = repeat 8 placeQueen - -winnable = undefined - -nextOpen board = undefined - --- placeQueen r c = - ---b = getE - ---placeQueen r c b = b ^. - --- rand = do --- g <- newStdGen --- print $ take 8 $ (randomRs (0, 8) g) - - --- try r c = let next b = placeQueen r c b --- in next initBoard - --- try' p = let next b = p b --- in next initBoard - - ---res = [ try x y | x <- lo8, y <- lo8 ] - -main :: IO () -main = do - putStrLn "Hi" diff --git a/.stack-work/intero/intero7513b6u-TEMP.hs b/.stack-work/intero/intero7513b6u-TEMP.hs deleted file mode 100644 index e69de29..0000000 diff --git a/.stack-work/logs/Cabal-2.4.1.0.log b/.stack-work/logs/Cabal-2.4.1.0.log deleted file mode 100644 index 1cf42e5..0000000 --- a/.stack-work/logs/Cabal-2.4.1.0.log +++ /dev/null @@ -1,225 +0,0 @@ -Configuring Cabal-2.4.1.0... -Preprocessing library for Cabal-2.4.1.0.. -Building library for Cabal-2.4.1.0.. -[ 1 of 220] Compiling Distribution.Compat.Binary ( Distribution/Compat/Binary.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Binary.o ) -[ 2 of 220] Compiling Distribution.Compat.Directory ( Distribution/Compat/Directory.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Directory.o ) -[ 3 of 220] Compiling Distribution.Compat.Exception ( Distribution/Compat/Exception.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Exception.o ) -[ 4 of 220] Compiling Distribution.Compat.Internal.TempFile ( Distribution/Compat/Internal/TempFile.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Internal/TempFile.o ) -[ 5 of 220] Compiling Distribution.Compat.MonadFail ( Distribution/Compat/MonadFail.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/MonadFail.o ) -[ 6 of 220] Compiling Distribution.Compat.Newtype ( Distribution/Compat/Newtype.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Newtype.o ) -[ 7 of 220] Compiling Distribution.Compat.Semigroup ( Distribution/Compat/Semigroup.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Semigroup.o ) -[ 8 of 220] Compiling Distribution.Compat.Stack ( Distribution/Compat/Stack.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Stack.o ) -[ 9 of 220] Compiling Distribution.Compat.Prelude ( Distribution/Compat/Prelude.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Prelude.o ) -[ 10 of 220] Compiling Distribution.Compat.SnocList ( Distribution/Compat/SnocList.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/SnocList.o ) -[ 11 of 220] Compiling Distribution.Compat.ReadP ( Distribution/Compat/ReadP.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/ReadP.o ) -[ 12 of 220] Compiling Distribution.Compat.Prelude.Internal ( Distribution/Compat/Prelude/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Prelude/Internal.o ) -[ 13 of 220] Compiling Distribution.Compat.Parsing ( Distribution/Compat/Parsing.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Parsing.o ) -[ 14 of 220] Compiling Distribution.Compat.Graph ( Distribution/Compat/Graph.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Graph.o ) -[ 15 of 220] Compiling Distribution.Compat.GetShortPathName ( Distribution/Compat/GetShortPathName.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/GetShortPathName.o ) -[ 16 of 220] Compiling Distribution.Compat.DList ( Distribution/Compat/DList.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/DList.o ) -[ 17 of 220] Compiling Distribution.Compat.Lens ( Distribution/Compat/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Lens.o ) -[ 18 of 220] Compiling Distribution.Compat.CopyFile ( Distribution/Compat/CopyFile.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/CopyFile.o ) -[ 19 of 220] Compiling Distribution.Compat.CharParsing ( Distribution/Compat/CharParsing.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/CharParsing.o ) -[ 20 of 220] Compiling Distribution.CabalSpecVersion ( Distribution/CabalSpecVersion.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/CabalSpecVersion.o ) -[ 21 of 220] Compiling Distribution.Compat.Environment ( Distribution/Compat/Environment.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Environment.o ) -[ 22 of 220] Compiling Distribution.Compat.CreatePipe ( Distribution/Compat/CreatePipe.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/CreatePipe.o ) -[ 23 of 220] Compiling Distribution.GetOpt ( Distribution/GetOpt.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/GetOpt.o ) -[ 24 of 220] Compiling Distribution.Lex ( Distribution/Lex.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Lex.o ) -[ 25 of 220] Compiling Distribution.PackageDescription.Quirks ( Distribution/PackageDescription/Quirks.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PackageDescription/Quirks.o ) -[ 26 of 220] Compiling Distribution.PackageDescription.Utils ( Distribution/PackageDescription/Utils.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PackageDescription/Utils.o ) -[ 27 of 220] Compiling Distribution.Parsec.Common ( Distribution/Parsec/Common.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/Common.o ) -[ 28 of 220] Compiling Distribution.Parsec.Field ( Distribution/Parsec/Field.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/Field.o ) -[ 29 of 220] Compiling Distribution.Parsec.LexerMonad ( Distribution/Parsec/LexerMonad.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/LexerMonad.o ) -[ 30 of 220] Compiling Distribution.Parsec.Lexer ( Distribution/Parsec/Lexer.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/Lexer.o ) -[ 31 of 220] Compiling Distribution.Parsec.Parser ( Distribution/Parsec/Parser.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/Parser.o ) -[ 32 of 220] Compiling Distribution.Pretty ( Distribution/Pretty.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Pretty.o ) -[ 33 of 220] Compiling Distribution.SPDX.LicenseListVersion ( Distribution/SPDX/LicenseListVersion.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/SPDX/LicenseListVersion.o ) -[ 34 of 220] Compiling Distribution.Simple.CCompiler ( Distribution/Simple/CCompiler.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/CCompiler.o ) -[ 35 of 220] Compiling Distribution.Simple.Flag ( Distribution/Simple/Flag.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Flag.o ) -[ 36 of 220] Compiling Distribution.Simple.PreProcess.Unlit ( Distribution/Simple/PreProcess/Unlit.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/PreProcess/Unlit.o ) -[ 37 of 220] Compiling Distribution.Simple.Program.Internal ( Distribution/Simple/Program/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Internal.o ) -[ 38 of 220] Compiling Distribution.TestSuite ( Distribution/TestSuite.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/TestSuite.o ) -[ 39 of 220] Compiling Distribution.Types.Condition ( Distribution/Types/Condition.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Condition.o ) -[ 40 of 220] Compiling Distribution.Types.CondTree ( Distribution/Types/CondTree.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/CondTree.o ) -[ 41 of 220] Compiling Distribution.Utils.Base62 ( Distribution/Utils/Base62.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/Base62.o ) -[ 42 of 220] Compiling Distribution.Utils.IOData ( Distribution/Utils/IOData.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/IOData.o ) -[ 43 of 220] Compiling Distribution.Utils.MapAccum ( Distribution/Utils/MapAccum.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/MapAccum.o ) -[ 44 of 220] Compiling Distribution.Utils.Progress ( Distribution/Utils/Progress.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/Progress.o ) -[ 45 of 220] Compiling Distribution.Utils.String ( Distribution/Utils/String.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/String.o ) -[ 46 of 220] Compiling Distribution.Utils.ShortText ( Distribution/Utils/ShortText.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/ShortText.o ) -[ 47 of 220] Compiling Distribution.Utils.Generic ( Distribution/Utils/Generic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/Generic.o ) -[ 48 of 220] Compiling Distribution.Parsec.FieldLineStream ( Distribution/Parsec/FieldLineStream.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/FieldLineStream.o ) -[ 49 of 220] Compiling Distribution.Parsec.Class ( Distribution/Parsec/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/Class.o ) -[ 50 of 220] Compiling Distribution.Text ( Distribution/Text.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Text.o ) -[ 51 of 220] Compiling Distribution.Types.Version ( Distribution/Types/Version.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Version.o ) -[ 52 of 220] Compiling Distribution.Types.VersionRange ( Distribution/Types/VersionRange.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/VersionRange.o ) -[ 53 of 220] Compiling Distribution.Types.VersionInterval ( Distribution/Types/VersionInterval.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/VersionInterval.o ) -[ 54 of 220] Compiling Distribution.Types.SourceRepo ( Distribution/Types/SourceRepo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/SourceRepo.o ) -[ 55 of 220] Compiling Distribution.Types.SourceRepo.Lens ( Distribution/Types/SourceRepo/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/SourceRepo/Lens.o ) -[ 56 of 220] Compiling Distribution.Types.PkgconfigName ( Distribution/Types/PkgconfigName.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/PkgconfigName.o ) -[ 57 of 220] Compiling Distribution.Types.ForeignLibType ( Distribution/Types/ForeignLibType.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ForeignLibType.o ) -[ 58 of 220] Compiling Distribution.Types.ForeignLibOption ( Distribution/Types/ForeignLibOption.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ForeignLibOption.o ) -[ 59 of 220] Compiling Distribution.Types.ExecutableScope ( Distribution/Types/ExecutableScope.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ExecutableScope.o ) -[ 60 of 220] Compiling Distribution.Types.ComponentId ( Distribution/Types/ComponentId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ComponentId.o ) -[ 61 of 220] Compiling Distribution.Types.BuildType ( Distribution/Types/BuildType.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/BuildType.o ) -[ 62 of 220] Compiling Distribution.Types.AbiHash ( Distribution/Types/AbiHash.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/AbiHash.o ) -[ 63 of 220] Compiling Distribution.System ( Distribution/System.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/System.o ) -[ 64 of 220] Compiling Distribution.SPDX.LicenseReference ( Distribution/SPDX/LicenseReference.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/SPDX/LicenseReference.o ) -[ 65 of 220] Compiling Distribution.SPDX.LicenseId ( Distribution/SPDX/LicenseId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/SPDX/LicenseId.o ) -[ 66 of 220] Compiling Distribution.SPDX.LicenseExceptionId ( Distribution/SPDX/LicenseExceptionId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/SPDX/LicenseExceptionId.o ) -[ 67 of 220] Compiling Distribution.SPDX.LicenseExpression ( Distribution/SPDX/LicenseExpression.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/SPDX/LicenseExpression.o ) -[ 68 of 220] Compiling Distribution.SPDX.License ( Distribution/SPDX/License.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/SPDX/License.o ) -[ 69 of 220] Compiling Distribution.SPDX ( Distribution/SPDX.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/SPDX.o ) -[ 70 of 220] Compiling Distribution.ReadE ( Distribution/ReadE.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/ReadE.o ) -[ 71 of 220] Compiling Distribution.ModuleName ( Distribution/ModuleName.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/ModuleName.o ) -[ 72 of 220] Compiling Distribution.Types.ModuleRenaming ( Distribution/Types/ModuleRenaming.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ModuleRenaming.o ) -[ 73 of 220] Compiling Distribution.Types.IncludeRenaming ( Distribution/Types/IncludeRenaming.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/IncludeRenaming.o ) -[ 74 of 220] Compiling Distribution.FieldGrammar.Class ( Distribution/FieldGrammar/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/FieldGrammar/Class.o ) -[ 75 of 220] Compiling Distribution.Utils.UnionFind ( Distribution/Utils/UnionFind.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/UnionFind.o ) -[ 76 of 220] Compiling Distribution.Verbosity ( Distribution/Verbosity.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Verbosity.o ) -[ 77 of 220] Compiling Distribution.Version ( Distribution/Version.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Version.o ) -[ 78 of 220] Compiling Distribution.Types.TestType ( Distribution/Types/TestType.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/TestType.o ) -[ 79 of 220] Compiling Distribution.Types.TestSuiteInterface ( Distribution/Types/TestSuiteInterface.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/TestSuiteInterface.o ) -[ 80 of 220] Compiling Distribution.Types.PkgconfigDependency ( Distribution/Types/PkgconfigDependency.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/PkgconfigDependency.o ) -[ 81 of 220] Compiling Distribution.Types.BenchmarkType ( Distribution/Types/BenchmarkType.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/BenchmarkType.o ) -[ 82 of 220] Compiling Distribution.Types.BenchmarkInterface ( Distribution/Types/BenchmarkInterface.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/BenchmarkInterface.o ) -[ 83 of 220] Compiling Distribution.License ( Distribution/License.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/License.o ) -[ 84 of 220] Compiling Language.Haskell.Extension ( Language/Haskell/Extension.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Language/Haskell/Extension.o ) -[ 85 of 220] Compiling Distribution.Compiler ( Distribution/Compiler.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compiler.o ) -[ 86 of 220] Compiling Distribution.Parsec.Newtypes ( Distribution/Parsec/Newtypes.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/Newtypes.o ) -[ 87 of 220] Compiling Distribution.ParseUtils ( Distribution/ParseUtils.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/ParseUtils.o ) -[ 88 of 220] Compiling Distribution.Types.PackageName ( Distribution/Types/PackageName.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/PackageName.o ) -[ 89 of 220] Compiling Distribution.Types.UnqualComponentName ( Distribution/Types/UnqualComponentName.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/UnqualComponentName.o ) -[ 90 of 220] Compiling Distribution.Types.ComponentName ( Distribution/Types/ComponentName.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ComponentName.o ) -[ 91 of 220] Compiling Distribution.Types.PackageId ( Distribution/Types/PackageId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/PackageId.o ) -[ 92 of 220] Compiling Distribution.Types.UnitId ( Distribution/Types/UnitId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/UnitId.o ) -[ 93 of 220] Compiling Distribution.Types.Module ( Distribution/Types/Module.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Module.o ) -[ 94 of 220] Compiling Distribution.Backpack ( Distribution/Backpack.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack.o ) -[ 95 of 220] Compiling Distribution.Backpack.ModSubst ( Distribution/Backpack/ModSubst.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/ModSubst.o ) -[ 96 of 220] Compiling Distribution.Backpack.FullUnitId ( Distribution/Backpack/FullUnitId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/FullUnitId.o ) -[ 97 of 220] Compiling Distribution.Types.PackageId.Lens ( Distribution/Types/PackageId/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/PackageId/Lens.o ) -[ 98 of 220] Compiling Distribution.Types.ModuleReexport ( Distribution/Types/ModuleReexport.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ModuleReexport.o ) -[ 99 of 220] Compiling Distribution.Types.Mixin ( Distribution/Types/Mixin.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Mixin.o ) -[100 of 220] Compiling Distribution.Types.ExeDependency ( Distribution/Types/ExeDependency.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ExeDependency.o ) -[101 of 220] Compiling Distribution.Types.Dependency ( Distribution/Types/Dependency.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Dependency.o ) -[102 of 220] Compiling Distribution.Types.SetupBuildInfo ( Distribution/Types/SetupBuildInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/SetupBuildInfo.o ) -[103 of 220] Compiling Distribution.Types.SetupBuildInfo.Lens ( Distribution/Types/SetupBuildInfo/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/SetupBuildInfo/Lens.o ) -[104 of 220] Compiling Distribution.Types.DependencyMap ( Distribution/Types/DependencyMap.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/DependencyMap.o ) -[105 of 220] Compiling Distribution.Backpack.ModuleScope ( Distribution/Backpack/ModuleScope.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/ModuleScope.o ) -[106 of 220] Compiling Distribution.Types.MungedPackageName ( Distribution/Types/MungedPackageName.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/MungedPackageName.o ) -[107 of 220] Compiling Distribution.Types.MungedPackageId ( Distribution/Types/MungedPackageId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/MungedPackageId.o ) -[108 of 220] Compiling Distribution.Package ( Distribution/Package.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Package.o ) -[109 of 220] Compiling Distribution.Types.AnnotatedId ( Distribution/Types/AnnotatedId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/AnnotatedId.o ) -[110 of 220] Compiling Distribution.Types.ComponentInclude ( Distribution/Types/ComponentInclude.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ComponentInclude.o ) -[111 of 220] Compiling Distribution.Types.AbiDependency ( Distribution/Types/AbiDependency.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/AbiDependency.o ) -[112 of 220] Compiling Distribution.Simple.InstallDirs ( Distribution/Simple/InstallDirs.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/InstallDirs.o ) -[113 of 220] Compiling Distribution.Types.LegacyExeDependency ( Distribution/Types/LegacyExeDependency.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/LegacyExeDependency.o ) -[114 of 220] Compiling Distribution.Types.BuildInfo ( Distribution/Types/BuildInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/BuildInfo.o ) -[115 of 220] Compiling Distribution.Types.HookedBuildInfo ( Distribution/Types/HookedBuildInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/HookedBuildInfo.o ) -[116 of 220] Compiling Distribution.Types.BuildInfo.Lens ( Distribution/Types/BuildInfo/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/BuildInfo/Lens.o ) -[117 of 220] Compiling Distribution.Types.TestSuite ( Distribution/Types/TestSuite.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/TestSuite.o ) -[118 of 220] Compiling Distribution.Types.TestSuite.Lens ( Distribution/Types/TestSuite/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/TestSuite/Lens.o ) -[119 of 220] Compiling Distribution.Types.Library ( Distribution/Types/Library.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Library.o ) -[120 of 220] Compiling Distribution.Types.Library.Lens ( Distribution/Types/Library/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Library/Lens.o ) -[121 of 220] Compiling Distribution.Types.ForeignLib ( Distribution/Types/ForeignLib.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ForeignLib.o ) -[122 of 220] Compiling Distribution.Types.ForeignLib.Lens ( Distribution/Types/ForeignLib/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ForeignLib/Lens.o ) -[123 of 220] Compiling Distribution.Types.Executable ( Distribution/Types/Executable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Executable.o ) -[124 of 220] Compiling Distribution.Types.Executable.Lens ( Distribution/Types/Executable/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Executable/Lens.o ) -[125 of 220] Compiling Distribution.Types.Benchmark ( Distribution/Types/Benchmark.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Benchmark.o ) -[126 of 220] Compiling Distribution.Types.Component ( Distribution/Types/Component.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Component.o ) -[127 of 220] Compiling Distribution.Types.ComponentRequestedSpec ( Distribution/Types/ComponentRequestedSpec.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ComponentRequestedSpec.o ) -[128 of 220] Compiling Distribution.Types.PackageDescription ( Distribution/Types/PackageDescription.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/PackageDescription.o ) -[129 of 220] Compiling Distribution.Types.GenericPackageDescription ( Distribution/Types/GenericPackageDescription.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/GenericPackageDescription.o ) -[130 of 220] Compiling Distribution.Types.GenericPackageDescription.Lens ( Distribution/Types/GenericPackageDescription/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/GenericPackageDescription/Lens.o ) -[131 of 220] Compiling Distribution.Types.Benchmark.Lens ( Distribution/Types/Benchmark/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Benchmark/Lens.o ) -[132 of 220] Compiling Distribution.Types.PackageDescription.Lens ( Distribution/Types/PackageDescription/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/PackageDescription/Lens.o ) -[133 of 220] Compiling Distribution.Types.Lens ( Distribution/Types/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/Lens.o ) -[134 of 220] Compiling Distribution.PackageDescription ( Distribution/PackageDescription.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PackageDescription.o ) -[135 of 220] Compiling Distribution.Simple.BuildToolDepends ( Distribution/Simple/BuildToolDepends.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/BuildToolDepends.o ) -[136 of 220] Compiling Distribution.Types.ExposedModule ( Distribution/Types/ExposedModule.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ExposedModule.o ) -[137 of 220] Compiling Distribution.Types.InstalledPackageInfo ( Distribution/Types/InstalledPackageInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/InstalledPackageInfo.o ) -[138 of 220] Compiling Distribution.Types.InstalledPackageInfo.Lens ( Distribution/Types/InstalledPackageInfo/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/InstalledPackageInfo/Lens.o ) -[139 of 220] Compiling Distribution.PrettyUtils ( Distribution/PrettyUtils.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PrettyUtils.o ) -[140 of 220] Compiling Paths_Cabal ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/autogen/Paths_Cabal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Paths_Cabal.o ) -[141 of 220] Compiling Distribution.Simple.Utils ( Distribution/Simple/Utils.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Utils.o ) -[142 of 220] Compiling Distribution.Utils.NubList ( Distribution/Utils/NubList.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/NubList.o ) -[143 of 220] Compiling Distribution.Utils.LogProgress ( Distribution/Utils/LogProgress.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Utils/LogProgress.o ) -[144 of 220] Compiling Distribution.Simple.Program.ResponseFile ( Distribution/Simple/Program/ResponseFile.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/ResponseFile.o ) -[145 of 220] Compiling Distribution.Simple.Program.Find ( Distribution/Simple/Program/Find.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Find.o ) -[146 of 220] Compiling Distribution.Simple.Program.Types ( Distribution/Simple/Program/Types.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Types.o ) -[147 of 220] Compiling Distribution.Simple.Program.Run ( Distribution/Simple/Program/Run.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Run.o ) -[148 of 220] Compiling Distribution.Simple.Program.Script ( Distribution/Simple/Program/Script.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Script.o ) -[149 of 220] Compiling Distribution.Simple.Program.Hpc ( Distribution/Simple/Program/Hpc.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Hpc.o ) -[150 of 220] Compiling Distribution.Simple.Glob ( Distribution/Simple/Glob.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Glob.o ) -[151 of 220] Compiling Distribution.Simple.Compiler ( Distribution/Simple/Compiler.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Compiler.o ) -[152 of 220] Compiling Distribution.Simple.GHC.ImplInfo ( Distribution/Simple/GHC/ImplInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/GHC/ImplInfo.o ) -[153 of 220] Compiling Distribution.Simple.Program.GHC ( Distribution/Simple/Program/GHC.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/GHC.o ) -[154 of 220] Compiling Distribution.Simple.Program.Builtin ( Distribution/Simple/Program/Builtin.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Builtin.o ) -[155 of 220] Compiling Distribution.Simple.Program.Db ( Distribution/Simple/Program/Db.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Db.o ) -[156 of 220] Compiling Distribution.Simple.Program ( Distribution/Simple/Program.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program.o ) -[157 of 220] Compiling Distribution.Simple.Program.Strip ( Distribution/Simple/Program/Strip.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Strip.o ) -[158 of 220] Compiling Distribution.Simple.Command ( Distribution/Simple/Command.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Command.o ) -[159 of 220] Compiling Distribution.Simple.Setup ( Distribution/Simple/Setup.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Setup.o ) -[160 of 220] Compiling Distribution.Parsec.ParseResult ( Distribution/Parsec/ParseResult.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/ParseResult.o ) -[161 of 220] Compiling Distribution.Parsec.ConfVar ( Distribution/Parsec/ConfVar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Parsec/ConfVar.o ) -[162 of 220] Compiling Distribution.PackageDescription.Configuration ( Distribution/PackageDescription/Configuration.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PackageDescription/Configuration.o ) -[163 of 220] Compiling Distribution.Make ( Distribution/Make.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Make.o ) -[164 of 220] Compiling Distribution.FieldGrammar.Pretty ( Distribution/FieldGrammar/Pretty.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/FieldGrammar/Pretty.o ) -[165 of 220] Compiling Distribution.FieldGrammar.Parsec ( Distribution/FieldGrammar/Parsec.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/FieldGrammar/Parsec.o ) -[166 of 220] Compiling Distribution.FieldGrammar ( Distribution/FieldGrammar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/FieldGrammar.o ) -[167 of 220] Compiling Distribution.PackageDescription.FieldGrammar ( Distribution/PackageDescription/FieldGrammar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PackageDescription/FieldGrammar.o ) -[168 of 220] Compiling Distribution.PackageDescription.PrettyPrint ( Distribution/PackageDescription/PrettyPrint.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PackageDescription/PrettyPrint.o ) -[169 of 220] Compiling Distribution.PackageDescription.Parsec ( Distribution/PackageDescription/Parsec.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PackageDescription/Parsec.o ) -[170 of 220] Compiling Distribution.FieldGrammar.FieldDescrs ( Distribution/FieldGrammar/FieldDescrs.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/FieldGrammar/FieldDescrs.o ) -[171 of 220] Compiling Distribution.Types.InstalledPackageInfo.FieldGrammar ( Distribution/Types/InstalledPackageInfo/FieldGrammar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/InstalledPackageInfo/FieldGrammar.o ) -[172 of 220] Compiling Distribution.InstalledPackageInfo ( Distribution/InstalledPackageInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/InstalledPackageInfo.o ) -[173 of 220] Compiling Distribution.Types.ComponentLocalBuildInfo ( Distribution/Types/ComponentLocalBuildInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/ComponentLocalBuildInfo.o ) -[174 of 220] Compiling Distribution.Types.TargetInfo ( Distribution/Types/TargetInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/TargetInfo.o ) -[175 of 220] Compiling Distribution.Simple.Program.HcPkg ( Distribution/Simple/Program/HcPkg.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/HcPkg.o ) -[176 of 220] Compiling Distribution.Simple.PackageIndex ( Distribution/Simple/PackageIndex.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/PackageIndex.o ) -[177 of 220] Compiling Distribution.Types.LocalBuildInfo ( Distribution/Types/LocalBuildInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Types/LocalBuildInfo.o ) -[178 of 220] Compiling Distribution.Simple.LocalBuildInfo ( Distribution/Simple/LocalBuildInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/LocalBuildInfo.o ) -[179 of 220] Compiling Distribution.Simple.Test.Log ( Distribution/Simple/Test/Log.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Test/Log.o ) -[180 of 220] Compiling Distribution.Simple.Program.Ld ( Distribution/Simple/Program/Ld.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Ld.o ) -[181 of 220] Compiling Distribution.Simple.Program.Ar ( Distribution/Simple/Program/Ar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Program/Ar.o ) -[182 of 220] Compiling Distribution.Simple.Hpc ( Distribution/Simple/Hpc.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Hpc.o ) -[183 of 220] Compiling Distribution.Simple.BuildTarget ( Distribution/Simple/BuildTarget.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/BuildTarget.o ) -[184 of 220] Compiling Distribution.Simple.BuildPaths ( Distribution/Simple/BuildPaths.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/BuildPaths.o ) -[185 of 220] Compiling Distribution.Simple.UHC ( Distribution/Simple/UHC.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/UHC.o ) -[186 of 220] Compiling Distribution.PackageDescription.Check ( Distribution/PackageDescription/Check.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/PackageDescription/Check.o ) -[187 of 220] Compiling Distribution.Simple.Build.PathsModule ( Distribution/Simple/Build/PathsModule.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Build/PathsModule.o ) -[188 of 220] Compiling Distribution.Simple.Test.LibV09 ( Distribution/Simple/Test/LibV09.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Test/LibV09.o ) -[189 of 220] Compiling Distribution.Simple.Test.ExeV10 ( Distribution/Simple/Test/ExeV10.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Test/ExeV10.o ) -[190 of 220] Compiling Distribution.Simple.Build.Macros ( Distribution/Simple/Build/Macros.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Build/Macros.o ) -[191 of 220] Compiling Distribution.Backpack.Id ( Distribution/Backpack/Id.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/Id.o ) -[192 of 220] Compiling Distribution.Backpack.ConfiguredComponent ( Distribution/Backpack/ConfiguredComponent.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/ConfiguredComponent.o ) -[193 of 220] Compiling Distribution.Backpack.ComponentsGraph ( Distribution/Backpack/ComponentsGraph.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/ComponentsGraph.o ) -[194 of 220] Compiling Distribution.Simple.HaskellSuite ( Distribution/Simple/HaskellSuite.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/HaskellSuite.o ) -[195 of 220] Compiling Distribution.Simple.GHC.Internal ( Distribution/Simple/GHC/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/GHC/Internal.o ) -[196 of 220] Compiling Distribution.Simple.GHCJS ( Distribution/Simple/GHCJS.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/GHCJS.o ) -[197 of 220] Compiling Distribution.Simple.GHC.EnvironmentParser ( Distribution/Simple/GHC/EnvironmentParser.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/GHC/EnvironmentParser.o ) -[198 of 220] Compiling Distribution.Simple.GHC ( Distribution/Simple/GHC.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/GHC.o ) -[199 of 220] Compiling Distribution.Simple.Install ( Distribution/Simple/Install.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Install.o ) -[200 of 220] Compiling Distribution.Backpack.ModuleShape ( Distribution/Backpack/ModuleShape.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/ModuleShape.o ) -[201 of 220] Compiling Distribution.Backpack.UnifyM ( Distribution/Backpack/UnifyM.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/UnifyM.o ) -[202 of 220] Compiling Distribution.Backpack.MixLink ( Distribution/Backpack/MixLink.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/MixLink.o ) -[203 of 220] Compiling Distribution.Backpack.PreModuleShape ( Distribution/Backpack/PreModuleShape.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/PreModuleShape.o ) -[204 of 220] Compiling Distribution.Backpack.PreExistingComponent ( Distribution/Backpack/PreExistingComponent.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/PreExistingComponent.o ) -[205 of 220] Compiling Distribution.Backpack.LinkedComponent ( Distribution/Backpack/LinkedComponent.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/LinkedComponent.o ) -[206 of 220] Compiling Distribution.Compat.Time ( Distribution/Compat/Time.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Compat/Time.o ) -[207 of 220] Compiling Distribution.Backpack.ReadyComponent ( Distribution/Backpack/ReadyComponent.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/ReadyComponent.o ) -[208 of 220] Compiling Distribution.Backpack.Configure ( Distribution/Backpack/Configure.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/Configure.o ) -[209 of 220] Compiling Distribution.Backpack.DescribeUnitId ( Distribution/Backpack/DescribeUnitId.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Backpack/DescribeUnitId.o ) -[210 of 220] Compiling Distribution.Simple.Register ( Distribution/Simple/Register.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Register.o ) -[211 of 220] Compiling Distribution.Simple.PreProcess ( Distribution/Simple/PreProcess.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/PreProcess.o ) -[212 of 220] Compiling Distribution.Simple.UserHooks ( Distribution/Simple/UserHooks.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/UserHooks.o ) -[213 of 220] Compiling Distribution.Simple.Test ( Distribution/Simple/Test.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Test.o ) -[214 of 220] Compiling Distribution.Simple.Bench ( Distribution/Simple/Bench.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Bench.o ) -[215 of 220] Compiling Distribution.Simple.SrcDist ( Distribution/Simple/SrcDist.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/SrcDist.o ) -[216 of 220] Compiling Distribution.Simple.Configure ( Distribution/Simple/Configure.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Configure.o ) -[217 of 220] Compiling Distribution.Simple.Build ( Distribution/Simple/Build.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Build.o ) -[218 of 220] Compiling Distribution.Simple.Haddock ( Distribution/Simple/Haddock.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Haddock.o ) -[219 of 220] Compiling Distribution.Simple.Doctest ( Distribution/Simple/Doctest.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple/Doctest.o ) -[220 of 220] Compiling Distribution.Simple ( Distribution/Simple.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Simple.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/Cabal-2.4.1.0-9MZFDeNrcJI10bcroa6pq8 -Registering library for Cabal-2.4.1.0.. diff --git a/.stack-work/logs/StateVar-1.1.1.1.log b/.stack-work/logs/StateVar-1.1.1.1.log deleted file mode 100644 index 37a96e1..0000000 --- a/.stack-work/logs/StateVar-1.1.1.1.log +++ /dev/null @@ -1,6 +0,0 @@ -Configuring StateVar-1.1.1.1... -Preprocessing library for StateVar-1.1.1.1.. -Building library for StateVar-1.1.1.1.. -[1 of 1] Compiling Data.StateVar ( src/Data/StateVar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/StateVar.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/StateVar-1.1.1.1-2ewTKofpCGhC2np5dyFIaR -Registering library for StateVar-1.1.1.1.. diff --git a/.stack-work/logs/adjunctions-4.4.log b/.stack-work/logs/adjunctions-4.4.log deleted file mode 100644 index d64a840..0000000 --- a/.stack-work/logs/adjunctions-4.4.log +++ /dev/null @@ -1,46 +0,0 @@ -Configuring adjunctions-4.4... -Preprocessing library for adjunctions-4.4.. -Building library for adjunctions-4.4.. -[ 1 of 11] Compiling Control.Monad.Trans.Conts ( src/Control/Monad/Trans/Conts.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Trans/Conts.o ) -[ 2 of 11] Compiling Data.Functor.Contravariant.Rep ( src/Data/Functor/Contravariant/Rep.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Contravariant/Rep.o ) - -src/Data/Functor/Contravariant/Rep.hs:59:1: warning: [-Winline-rule-shadowing] - Rule "tabulate/index" may never fire - because rule "Class op index" for ‘index’ might fire first - Probable fix: add phase [n] or [~n] to the competing rule - | -59 | "tabulate/index" forall t. tabulate (index t) = t #-} - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -[ 3 of 11] Compiling Data.Functor.Contravariant.Adjunction ( src/Data/Functor/Contravariant/Adjunction.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Contravariant/Adjunction.o ) -[ 4 of 11] Compiling Control.Monad.Trans.Contravariant.Adjoint ( src/Control/Monad/Trans/Contravariant/Adjoint.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Trans/Contravariant/Adjoint.o ) -[ 5 of 11] Compiling Data.Functor.Rep ( src/Data/Functor/Rep.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Rep.o ) - -src/Data/Functor/Rep.hs:250:1: warning: [-Winline-rule-shadowing] - Rule "tabulate/index" may never fire - because rule "Class op index" for ‘index’ might fire first - Probable fix: add phase [n] or [~n] to the competing rule - | -250 | "tabulate/index" forall t. tabulate (index t) = t #-} - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -[ 6 of 11] Compiling Data.Functor.Adjunction ( src/Data/Functor/Adjunction.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Adjunction.o ) - -src/Data/Functor/Adjunction.hs:9:14: warning: [-Wtrustworthy-safe] - ‘Data.Functor.Adjunction’ is marked as Trustworthy but has been inferred as safe! - | -9 | {-# LANGUAGE Trustworthy #-} - | ^^^^^^^^^^^ -[ 7 of 11] Compiling Control.Monad.Trans.Adjoint ( src/Control/Monad/Trans/Adjoint.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Trans/Adjoint.o ) -[ 8 of 11] Compiling Control.Comonad.Trans.Adjoint ( src/Control/Comonad/Trans/Adjoint.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Trans/Adjoint.o ) -[ 9 of 11] Compiling Control.Monad.Representable.State ( src/Control/Monad/Representable/State.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Representable/State.o ) -[10 of 11] Compiling Control.Monad.Representable.Reader ( src/Control/Monad/Representable/Reader.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Representable/Reader.o ) -[11 of 11] Compiling Control.Comonad.Representable.Store ( src/Control/Comonad/Representable/Store.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Representable/Store.o ) - -src/Control/Comonad/Representable/Store.hs:46:1: warning: [-Wunused-imports] - The import of ‘Data.Semigroup’ is redundant - except perhaps to import instances from ‘Data.Semigroup’ - To import instances alone, use: import Data.Semigroup() - | -46 | import Data.Semigroup - | ^^^^^^^^^^^^^^^^^^^^^ -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/adjunctions-4.4-5XvmwZ9ik8T4JDgak5RolE -Registering library for adjunctions-4.4.. diff --git a/.stack-work/logs/base-orphans-0.8.1.log b/.stack-work/logs/base-orphans-0.8.1.log deleted file mode 100644 index cbbd334..0000000 --- a/.stack-work/logs/base-orphans-0.8.1.log +++ /dev/null @@ -1,7 +0,0 @@ -Configuring base-orphans-0.8.1... -Preprocessing library for base-orphans-0.8.1.. -Building library for base-orphans-0.8.1.. -[1 of 2] Compiling Data.Orphans ( src/Data/Orphans.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Orphans.o ) -[2 of 2] Compiling Data.Orphans.Prelude ( src/Data/Orphans/Prelude.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Orphans/Prelude.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/base-orphans-0.8.1-HeyTAcy4PKhDcGhjvJwDzq -Registering library for base-orphans-0.8.1.. diff --git a/.stack-work/logs/bifunctors-5.5.4.log b/.stack-work/logs/bifunctors-5.5.4.log deleted file mode 100644 index 1a51bd3..0000000 --- a/.stack-work/logs/bifunctors-5.5.4.log +++ /dev/null @@ -1,20 +0,0 @@ -Configuring bifunctors-5.5.4... -Preprocessing library for bifunctors-5.5.4.. -Building library for bifunctors-5.5.4.. -[ 1 of 15] Compiling Data.Biapplicative ( src/Data/Biapplicative.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Biapplicative.o ) -[ 2 of 15] Compiling Data.Bifunctor.Biff ( src/Data/Bifunctor/Biff.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Biff.o ) -[ 3 of 15] Compiling Data.Bifunctor.Clown ( src/Data/Bifunctor/Clown.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Clown.o ) -[ 4 of 15] Compiling Data.Bifunctor.Fix ( src/Data/Bifunctor/Fix.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Fix.o ) -[ 5 of 15] Compiling Data.Bifunctor.Functor ( src/Data/Bifunctor/Functor.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Functor.o ) -[ 6 of 15] Compiling Data.Bifunctor.Flip ( src/Data/Bifunctor/Flip.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Flip.o ) -[ 7 of 15] Compiling Data.Bifunctor.Join ( src/Data/Bifunctor/Join.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Join.o ) -[ 8 of 15] Compiling Data.Bifunctor.Joker ( src/Data/Bifunctor/Joker.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Joker.o ) -[ 9 of 15] Compiling Data.Bifunctor.Product ( src/Data/Bifunctor/Product.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Product.o ) -[10 of 15] Compiling Data.Bifunctor.Sum ( src/Data/Bifunctor/Sum.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Sum.o ) -[11 of 15] Compiling Data.Bifunctor.TH.Internal ( src/Data/Bifunctor/TH/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/TH/Internal.o ) -[12 of 15] Compiling Data.Bifunctor.TH ( src/Data/Bifunctor/TH.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/TH.o ) -[13 of 15] Compiling Data.Bifunctor.Tannen ( src/Data/Bifunctor/Tannen.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Tannen.o ) -[14 of 15] Compiling Data.Bifunctor.Wrapped ( src/Data/Bifunctor/Wrapped.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Wrapped.o ) -[15 of 15] Compiling Paths_bifunctors ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/autogen/Paths_bifunctors.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Paths_bifunctors.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/bifunctors-5.5.4-JI14q9FdaTRLWn4YdH8JmV -Registering library for bifunctors-5.5.4.. diff --git a/.stack-work/logs/bytes-0.15.5.log b/.stack-work/logs/bytes-0.15.5.log deleted file mode 100644 index 97632e6..0000000 --- a/.stack-work/logs/bytes-0.15.5.log +++ /dev/null @@ -1,13 +0,0 @@ -[1 of 2] Compiling Main ( /tmp/stack14391/bytes-0.15.5/Setup.lhs, /tmp/stack14391/bytes-0.15.5/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/Main.o ) -[2 of 2] Compiling StackSetupShim ( /home/sv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack14391/bytes-0.15.5/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/StackSetupShim.o ) -Linking /tmp/stack14391/bytes-0.15.5/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/setup ... -Configuring bytes-0.15.5... -Preprocessing library for bytes-0.15.5.. -Building library for bytes-0.15.5.. -[1 of 5] Compiling Data.Bytes.Get ( src/Data/Bytes/Get.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bytes/Get.o ) -[2 of 5] Compiling Data.Bytes.Put ( src/Data/Bytes/Put.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bytes/Put.o ) -[3 of 5] Compiling Data.Bytes.Signed ( src/Data/Bytes/Signed.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bytes/Signed.o ) -[4 of 5] Compiling Data.Bytes.VarInt ( src/Data/Bytes/VarInt.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bytes/VarInt.o ) -[5 of 5] Compiling Data.Bytes.Serial ( src/Data/Bytes/Serial.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bytes/Serial.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/bytes-0.15.5-3xefL3v3Ncd2XFpMRBDGRq -Registering library for bytes-0.15.5.. diff --git a/.stack-work/logs/cabal-doctest-1.0.6.log b/.stack-work/logs/cabal-doctest-1.0.6.log deleted file mode 100644 index 0b3bd21..0000000 --- a/.stack-work/logs/cabal-doctest-1.0.6.log +++ /dev/null @@ -1,6 +0,0 @@ -Configuring cabal-doctest-1.0.6... -Preprocessing library for cabal-doctest-1.0.6.. -Building library for cabal-doctest-1.0.6.. -[1 of 1] Compiling Distribution.Extra.Doctest ( src/Distribution/Extra/Doctest.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Distribution/Extra/Doctest.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/cabal-doctest-1.0.6-GxlnXP6RWcB1QAJigGyNcv -Registering library for cabal-doctest-1.0.6.. diff --git a/.stack-work/logs/call-stack-0.1.0.log b/.stack-work/logs/call-stack-0.1.0.log deleted file mode 100644 index 9d0fbe4..0000000 --- a/.stack-work/logs/call-stack-0.1.0.log +++ /dev/null @@ -1,8 +0,0 @@ -Configuring call-stack-0.1.0... -Preprocessing library for call-stack-0.1.0.. -Building library for call-stack-0.1.0.. -[1 of 3] Compiling Data.SrcLoc ( src/Data/SrcLoc.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/SrcLoc.o ) -[2 of 3] Compiling Data.CallStack ( src/Data/CallStack.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/CallStack.o ) -[3 of 3] Compiling Paths_call_stack ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/autogen/Paths_call_stack.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Paths_call_stack.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/call-stack-0.1.0-J1eWgTNOnM4IGVyeW0v2YZ -Registering library for call-stack-0.1.0.. diff --git a/.stack-work/logs/cereal-0.5.8.0.log b/.stack-work/logs/cereal-0.5.8.0.log deleted file mode 100644 index 5f1bedf..0000000 --- a/.stack-work/logs/cereal-0.5.8.0.log +++ /dev/null @@ -1,16 +0,0 @@ -Configuring cereal-0.5.8.0... -Preprocessing library for cereal-0.5.8.0.. -Building library for cereal-0.5.8.0.. -[1 of 4] Compiling Data.Serialize.Get ( src/Data/Serialize/Get.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Serialize/Get.o ) -[2 of 4] Compiling Data.Serialize.Put ( src/Data/Serialize/Put.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Serialize/Put.o ) -[3 of 4] Compiling Data.Serialize.IEEE754 ( src/Data/Serialize/IEEE754.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Serialize/IEEE754.o ) -[4 of 4] Compiling Data.Serialize ( src/Data/Serialize.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Serialize.o ) - -src/Data/Serialize.hs:291:9: warning: [-Wincomplete-patterns] - Pattern match(es) are non-exhaustive - In an equation for ‘findNr’: Patterns not matched: _ _ - | -291 | findNr lo hi - | ^^^^^^^^^^^^... -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/cereal-0.5.8.0-6rtfJLvNbgP66iuaPkuxJC -Registering library for cereal-0.5.8.0.. diff --git a/.stack-work/logs/comonad-5.0.5.log b/.stack-work/logs/comonad-5.0.5.log deleted file mode 100644 index c261777..0000000 --- a/.stack-work/logs/comonad-5.0.5.log +++ /dev/null @@ -1,23 +0,0 @@ -[1 of 2] Compiling Main ( /tmp/stack14391/comonad-5.0.5/Setup.lhs, /tmp/stack14391/comonad-5.0.5/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/Main.o ) -[2 of 2] Compiling StackSetupShim ( /home/sv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack14391/comonad-5.0.5/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/StackSetupShim.o ) -Linking /tmp/stack14391/comonad-5.0.5/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/setup ... -Configuring comonad-5.0.5... -Preprocessing library for comonad-5.0.5.. -Building library for comonad-5.0.5.. -[ 1 of 15] Compiling Control.Comonad ( src/Control/Comonad.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad.o ) -[ 2 of 15] Compiling Control.Comonad.Hoist.Class ( src/Control/Comonad/Hoist/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Hoist/Class.o ) -[ 3 of 15] Compiling Control.Comonad.Trans.Class ( src/Control/Comonad/Trans/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Trans/Class.o ) -[ 4 of 15] Compiling Control.Comonad.Trans.Env ( src/Control/Comonad/Trans/Env.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Trans/Env.o ) -[ 5 of 15] Compiling Control.Comonad.Trans.Identity ( src/Control/Comonad/Trans/Identity.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Trans/Identity.o ) -[ 6 of 15] Compiling Control.Comonad.Identity ( src/Control/Comonad/Identity.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Identity.o ) -[ 7 of 15] Compiling Control.Comonad.Trans.Store ( src/Control/Comonad/Trans/Store.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Trans/Store.o ) -[ 8 of 15] Compiling Control.Comonad.Trans.Traced ( src/Control/Comonad/Trans/Traced.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Trans/Traced.o ) -[ 9 of 15] Compiling Control.Comonad.Traced.Class ( src/Control/Comonad/Traced/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Traced/Class.o ) -[10 of 15] Compiling Control.Comonad.Traced ( src/Control/Comonad/Traced.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Traced.o ) -[11 of 15] Compiling Control.Comonad.Store.Class ( src/Control/Comonad/Store/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Store/Class.o ) -[12 of 15] Compiling Control.Comonad.Store ( src/Control/Comonad/Store.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Store.o ) -[13 of 15] Compiling Control.Comonad.Env.Class ( src/Control/Comonad/Env/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Env/Class.o ) -[14 of 15] Compiling Control.Comonad.Env ( src/Control/Comonad/Env.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Env.o ) -[15 of 15] Compiling Data.Functor.Composition ( src/Data/Functor/Composition.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Composition.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/comonad-5.0.5-FO6wPvVdvoe5bevdeq1PfM -Registering library for comonad-5.0.5.. diff --git a/.stack-work/logs/contravariant-1.5.1.log b/.stack-work/logs/contravariant-1.5.1.log deleted file mode 100644 index c568ac4..0000000 --- a/.stack-work/logs/contravariant-1.5.1.log +++ /dev/null @@ -1,8 +0,0 @@ -Configuring contravariant-1.5.1... -Preprocessing library for contravariant-1.5.1.. -Building library for contravariant-1.5.1.. -[1 of 3] Compiling Data.Functor.Contravariant.Divisible ( src/Data/Functor/Contravariant/Divisible.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Contravariant/Divisible.o ) -[2 of 3] Compiling Data.Functor.Contravariant.Compose ( src/Data/Functor/Contravariant/Compose.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Contravariant/Compose.o ) -[3 of 3] Compiling Data.Functor.Contravariant.Generic ( src/Data/Functor/Contravariant/Generic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Contravariant/Generic.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/contravariant-1.5.1-5DqKSjbrRzZU8YLmfpGsF -Registering library for contravariant-1.5.1.. diff --git a/.stack-work/logs/distributive-0.6.log b/.stack-work/logs/distributive-0.6.log deleted file mode 100644 index 0ea1b6e..0000000 --- a/.stack-work/logs/distributive-0.6.log +++ /dev/null @@ -1,10 +0,0 @@ -[1 of 2] Compiling Main ( /tmp/stack14391/distributive-0.6/Setup.lhs, /tmp/stack14391/distributive-0.6/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/Main.o ) -[2 of 2] Compiling StackSetupShim ( /home/sv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack14391/distributive-0.6/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/StackSetupShim.o ) -Linking /tmp/stack14391/distributive-0.6/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/setup ... -Configuring distributive-0.6... -Preprocessing library for distributive-0.6.. -Building library for distributive-0.6.. -[1 of 2] Compiling Data.Distributive ( src/Data/Distributive.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Distributive.o ) -[2 of 2] Compiling Data.Distributive.Generic ( src/Data/Distributive/Generic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Distributive/Generic.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/distributive-0.6-9dQuxsXiNSOFiN4BOgtPCR -Registering library for distributive-0.6.. diff --git a/.stack-work/logs/exceptions-0.10.2.log b/.stack-work/logs/exceptions-0.10.2.log deleted file mode 100644 index d7e7224..0000000 --- a/.stack-work/logs/exceptions-0.10.2.log +++ /dev/null @@ -1,7 +0,0 @@ -Configuring exceptions-0.10.2... -Preprocessing library for exceptions-0.10.2.. -Building library for exceptions-0.10.2.. -[1 of 2] Compiling Control.Monad.Catch ( src/Control/Monad/Catch.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Catch.o ) -[2 of 2] Compiling Control.Monad.Catch.Pure ( src/Control/Monad/Catch/Pure.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Catch/Pure.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/exceptions-0.10.2-965Nx9KftkgCsZ4B7Zhuyu -Registering library for exceptions-0.10.2.. diff --git a/.stack-work/logs/free-5.1.1.log b/.stack-work/logs/free-5.1.1.log deleted file mode 100644 index 8a8070f..0000000 --- a/.stack-work/logs/free-5.1.1.log +++ /dev/null @@ -1,41 +0,0 @@ -Configuring free-5.1.1... -Preprocessing library for free-5.1.1.. -Building library for free-5.1.1.. -[ 1 of 20] Compiling Control.Alternative.Free ( src/Control/Alternative/Free.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Alternative/Free.o ) -[ 2 of 20] Compiling Control.Alternative.Free.Final ( src/Control/Alternative/Free/Final.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Alternative/Free/Final.o ) -[ 3 of 20] Compiling Control.Applicative.Free ( src/Control/Applicative/Free.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Applicative/Free.o ) -[ 4 of 20] Compiling Control.Applicative.Free.Fast ( src/Control/Applicative/Free/Fast.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Applicative/Free/Fast.o ) -[ 5 of 20] Compiling Control.Applicative.Free.Final ( src/Control/Applicative/Free/Final.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Applicative/Free/Final.o ) -[ 6 of 20] Compiling Control.Applicative.Trans.Free ( src/Control/Applicative/Trans/Free.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Applicative/Trans/Free.o ) -[ 7 of 20] Compiling Control.Comonad.Cofree.Class ( src/Control/Comonad/Cofree/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Cofree/Class.o ) -[ 8 of 20] Compiling Control.Comonad.Trans.Cofree ( src/Control/Comonad/Trans/Cofree.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Trans/Cofree.o ) -[ 9 of 20] Compiling Control.Monad.Free.Class ( src/Control/Monad/Free/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Free/Class.o ) -[10 of 20] Compiling Control.Monad.Free.TH ( src/Control/Monad/Free/TH.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Free/TH.o ) -[11 of 20] Compiling Data.Functor.Classes.Compat ( src/Data/Functor/Classes/Compat.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Classes/Compat.o ) -[12 of 20] Compiling Control.Monad.Trans.Iter ( src/Control/Monad/Trans/Iter.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Trans/Iter.o ) -[13 of 20] Compiling Control.Monad.Trans.Free.Ap ( src/Control/Monad/Trans/Free/Ap.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Trans/Free/Ap.o ) - -src/Control/Monad/Trans/Free/Ap.hs:311:3: warning: [-Wnoncanonical-monadfail-instances] - Noncanonical ‘fail’ definition detected - in the instance declaration for ‘Monad (FreeT f m)’. - Either remove definition for ‘fail’ or define as ‘fail = Control.Monad.Fail.fail’ - | -311 | fail e = FreeT (fail e) - | ^^^^^^^^^^^^^^^^^^^^^^^ -[14 of 20] Compiling Control.Monad.Trans.Free ( src/Control/Monad/Trans/Free.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Trans/Free.o ) - -src/Control/Monad/Trans/Free.hs:312:3: warning: [-Wnoncanonical-monadfail-instances] - Noncanonical ‘fail’ definition detected - in the instance declaration for ‘Monad (FreeT f m)’. - Either remove definition for ‘fail’ or define as ‘fail = Control.Monad.Fail.fail’ - | -312 | fail e = FreeT (fail e) - | ^^^^^^^^^^^^^^^^^^^^^^^ -[15 of 20] Compiling Control.Monad.Trans.Free.Church ( src/Control/Monad/Trans/Free/Church.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Trans/Free/Church.o ) -[16 of 20] Compiling Control.Monad.Free.Ap ( src/Control/Monad/Free/Ap.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Free/Ap.o ) -[17 of 20] Compiling Control.Monad.Free ( src/Control/Monad/Free.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Free.o ) -[18 of 20] Compiling Control.Monad.Free.Church ( src/Control/Monad/Free/Church.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Free/Church.o ) -[19 of 20] Compiling Control.Comonad.Trans.Coiter ( src/Control/Comonad/Trans/Coiter.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Trans/Coiter.o ) -[20 of 20] Compiling Control.Comonad.Cofree ( src/Control/Comonad/Cofree.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Cofree.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/free-5.1.1-4bsEiYxPhIEFqPXXuEKbd4 -Registering library for free-5.1.1.. diff --git a/.stack-work/logs/ghc-paths-0.1.0.9.log b/.stack-work/logs/ghc-paths-0.1.0.9.log deleted file mode 100644 index 8c8d776..0000000 --- a/.stack-work/logs/ghc-paths-0.1.0.9.log +++ /dev/null @@ -1,17 +0,0 @@ -[1 of 2] Compiling Main ( /tmp/stack10672/ghc-paths-0.1.0.9/Setup.hs, /tmp/stack10672/ghc-paths-0.1.0.9/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/Main.o ) - -/tmp/stack10672/ghc-paths-0.1.0.9/Setup.hs:29:18: warning: [-Wdeprecations] - In the use of ‘rawSystemProgramStdoutConf’ - (imported from Distribution.Simple.Program): - Deprecated: "use getDbProgramOutput instead. This symbol will be removed in Cabal-3.0 (est. Mar 2019)." - | -29 | libdir_ <- rawSystemProgramStdoutConf (fromFlag (configVerbosity flags)) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^ -[2 of 2] Compiling StackSetupShim ( /home/sv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack10672/ghc-paths-0.1.0.9/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/StackSetupShim.o ) -Linking /tmp/stack10672/ghc-paths-0.1.0.9/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/setup ... -Configuring ghc-paths-0.1.0.9... -Preprocessing library for ghc-paths-0.1.0.9.. -Building library for ghc-paths-0.1.0.9.. -[1 of 1] Compiling GHC.Paths ( GHC/Paths.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/GHC/Paths.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/ghc-paths-0.1.0.9-KaBYbRV3ryA10w04FwbrO2 -Registering library for ghc-paths-0.1.0.9.. diff --git a/.stack-work/logs/hashable-1.2.7.0.log b/.stack-work/logs/hashable-1.2.7.0.log deleted file mode 100644 index f73d845..0000000 --- a/.stack-work/logs/hashable-1.2.7.0.log +++ /dev/null @@ -1,9 +0,0 @@ -Configuring hashable-1.2.7.0... -Preprocessing library for hashable-1.2.7.0.. -Building library for hashable-1.2.7.0.. -[1 of 4] Compiling Data.Hashable.Class ( Data/Hashable/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Hashable/Class.o ) -[2 of 4] Compiling Data.Hashable.Generic ( Data/Hashable/Generic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Hashable/Generic.o ) -[3 of 4] Compiling Data.Hashable ( Data/Hashable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Hashable.o ) -[4 of 4] Compiling Data.Hashable.Lifted ( Data/Hashable/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Hashable/Lifted.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/hashable-1.2.7.0-CWI8VZuQTAYWIQTQQtqCV -Registering library for hashable-1.2.7.0.. diff --git a/.stack-work/logs/haskeline-0.7.5.0.log b/.stack-work/logs/haskeline-0.7.5.0.log deleted file mode 100644 index 3b2647a..0000000 --- a/.stack-work/logs/haskeline-0.7.5.0.log +++ /dev/null @@ -1,32 +0,0 @@ -Configuring haskeline-0.7.5.0... -Preprocessing library for haskeline-0.7.5.0.. -Building library for haskeline-0.7.5.0.. -[ 1 of 27] Compiling System.Console.Haskeline.Directory ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Directory.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Directory.o ) -[ 2 of 27] Compiling System.Console.Haskeline.Key ( System/Console/Haskeline/Key.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Key.o ) -[ 3 of 27] Compiling System.Console.Haskeline.LineState ( System/Console/Haskeline/LineState.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/LineState.o ) -[ 4 of 27] Compiling System.Console.Haskeline.Command ( System/Console/Haskeline/Command.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Command.o ) -[ 5 of 27] Compiling System.Console.Haskeline.Backend.WCWidth ( System/Console/Haskeline/Backend/WCWidth.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Backend/WCWidth.o ) -[ 6 of 27] Compiling System.Console.Haskeline.MonadException ( System/Console/Haskeline/MonadException.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/MonadException.o ) -[ 7 of 27] Compiling System.Console.Haskeline.Monads ( System/Console/Haskeline/Monads.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Monads.o ) -[ 8 of 27] Compiling System.Console.Haskeline.Completion ( System/Console/Haskeline/Completion.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Completion.o ) -[ 9 of 27] Compiling System.Console.Haskeline.Command.Undo ( System/Console/Haskeline/Command/Undo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Command/Undo.o ) -[10 of 27] Compiling System.Console.Haskeline.Command.KillRing ( System/Console/Haskeline/Command/KillRing.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Command/KillRing.o ) -[11 of 27] Compiling System.Console.Haskeline.Prefs ( System/Console/Haskeline/Prefs.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Prefs.o ) -[12 of 27] Compiling System.Console.Haskeline.Recover ( System/Console/Haskeline/Recover.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Recover.o ) -[13 of 27] Compiling System.Console.Haskeline.History ( System/Console/Haskeline/History.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/History.o ) -[14 of 27] Compiling System.Console.Haskeline.Command.History ( System/Console/Haskeline/Command/History.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Command/History.o ) -[15 of 27] Compiling System.Console.Haskeline.Backend.Posix.Encoder ( System/Console/Haskeline/Backend/Posix/Encoder.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Backend/Posix/Encoder.o ) -[16 of 27] Compiling System.Console.Haskeline.Term ( System/Console/Haskeline/Term.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Term.o ) -[17 of 27] Compiling System.Console.Haskeline.RunCommand ( System/Console/Haskeline/RunCommand.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/RunCommand.o ) -[18 of 27] Compiling System.Console.Haskeline.Command.Completion ( System/Console/Haskeline/Command/Completion.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Command/Completion.o ) -[19 of 27] Compiling System.Console.Haskeline.Backend.Posix ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Backend/Posix.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Backend/Posix.o ) -[20 of 27] Compiling System.Console.Haskeline.Backend.Terminfo ( System/Console/Haskeline/Backend/Terminfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Backend/Terminfo.o ) -[21 of 27] Compiling System.Console.Haskeline.Backend.DumbTerm ( System/Console/Haskeline/Backend/DumbTerm.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Backend/DumbTerm.o ) -[22 of 27] Compiling System.Console.Haskeline.Backend ( System/Console/Haskeline/Backend.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Backend.o ) -[23 of 27] Compiling System.Console.Haskeline.InputT ( System/Console/Haskeline/InputT.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/InputT.o ) -[24 of 27] Compiling System.Console.Haskeline.Emacs ( System/Console/Haskeline/Emacs.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Emacs.o ) -[25 of 27] Compiling System.Console.Haskeline.Vi ( System/Console/Haskeline/Vi.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/Vi.o ) -[26 of 27] Compiling System.Console.Haskeline ( System/Console/Haskeline.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline.o ) -[27 of 27] Compiling System.Console.Haskeline.IO ( System/Console/Haskeline/IO.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Console/Haskeline/IO.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/haskeline-0.7.5.0-ADzuRaH0DKHIRvvi965fg2 -Registering library for haskeline-0.7.5.0.. diff --git a/.stack-work/logs/hmatrix-0.19.0.0.log b/.stack-work/logs/hmatrix-0.19.0.0.log deleted file mode 100644 index 7d0df8e..0000000 --- a/.stack-work/logs/hmatrix-0.19.0.0.log +++ /dev/null @@ -1,48 +0,0 @@ -Configuring hmatrix-0.19.0.0... -Preprocessing library for hmatrix-0.19.0.0.. -Building library for hmatrix-0.19.0.0.. -[ 1 of 27] Compiling Internal.Vector ( src/Internal/Vector.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Vector.o ) -[ 2 of 27] Compiling Internal.Devel ( src/Internal/Devel.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Devel.o ) -[ 3 of 27] Compiling Internal.Vectorized ( src/Internal/Vectorized.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Vectorized.o ) -[ 4 of 27] Compiling Internal.Matrix ( src/Internal/Matrix.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Matrix.o ) -[ 5 of 27] Compiling Internal.ST ( src/Internal/ST.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/ST.o ) -[ 6 of 27] Compiling Internal.IO ( src/Internal/IO.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/IO.o ) -[ 7 of 27] Compiling Internal.Element ( src/Internal/Element.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Element.o ) -[ 8 of 27] Compiling Internal.Conversion ( src/Internal/Conversion.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Conversion.o ) -[ 9 of 27] Compiling Internal.LAPACK ( src/Internal/LAPACK.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/LAPACK.o ) -[10 of 27] Compiling Internal.Numeric ( src/Internal/Numeric.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Numeric.o ) -[11 of 27] Compiling Internal.Sparse ( src/Internal/Sparse.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Sparse.o ) -[12 of 27] Compiling Internal.Chain ( src/Internal/Chain.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Chain.o ) -[13 of 27] Compiling Internal.Algorithms ( src/Internal/Algorithms.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Algorithms.o ) - -src/Internal/Algorithms.hs:922:11: warning: [-Wname-shadowing] - This binding for ‘<>’ shadows the existing binding - imported from ‘Prelude’ at src/Internal/Algorithms.hs:25:8-26 - (and originally defined in ‘GHC.Base’) - | -922 | (<>) = multiply - | ^^^^ - -src/Internal/Algorithms.hs:1103:5: warning: [-Wname-shadowing] - This binding for ‘<>’ shadows the existing binding - imported from ‘Prelude’ at src/Internal/Algorithms.hs:25:8-26 - (and originally defined in ‘GHC.Base’) - | -1103 | (<>) = mXm - | ^^^^ -[14 of 27] Compiling Internal.Random ( src/Internal/Random.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Random.o ) -[15 of 27] Compiling Internal.Container ( src/Internal/Container.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Container.o ) -[16 of 27] Compiling Internal.Convolution ( src/Internal/Convolution.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Convolution.o ) -[17 of 27] Compiling Numeric.LinearAlgebra.Devel ( src/Numeric/LinearAlgebra/Devel.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/LinearAlgebra/Devel.o ) -[18 of 27] Compiling Numeric.Matrix ( src/Numeric/Matrix.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/Matrix.o ) -[19 of 27] Compiling Numeric.Vector ( src/Numeric/Vector.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/Vector.o ) -[20 of 27] Compiling Internal.Util ( src/Internal/Util.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Util.o ) -[21 of 27] Compiling Internal.Modular ( src/Internal/Modular.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Modular.o ) -[22 of 27] Compiling Numeric.LinearAlgebra.Data ( src/Numeric/LinearAlgebra/Data.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/LinearAlgebra/Data.o ) -[23 of 27] Compiling Internal.CG ( src/Internal/CG.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/CG.o ) -[24 of 27] Compiling Numeric.LinearAlgebra ( src/Numeric/LinearAlgebra.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/LinearAlgebra.o ) -[25 of 27] Compiling Numeric.LinearAlgebra.HMatrix ( src/Numeric/LinearAlgebra/HMatrix.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/LinearAlgebra/HMatrix.o ) -[26 of 27] Compiling Internal.Static ( src/Internal/Static.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Internal/Static.o ) -[27 of 27] Compiling Numeric.LinearAlgebra.Static ( src/Numeric/LinearAlgebra/Static.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/LinearAlgebra/Static.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/hmatrix-0.19.0.0-2s9G4ERdQNGmPHLhVSJnl -Registering library for hmatrix-0.19.0.0.. diff --git a/.stack-work/logs/integer-logarithms-1.0.3.log b/.stack-work/logs/integer-logarithms-1.0.3.log deleted file mode 100644 index af31eec..0000000 --- a/.stack-work/logs/integer-logarithms-1.0.3.log +++ /dev/null @@ -1,9 +0,0 @@ -Configuring integer-logarithms-1.0.3... -Preprocessing library for integer-logarithms-1.0.3.. -Building library for integer-logarithms-1.0.3.. -[1 of 4] Compiling GHC.Integer.Logarithms.Compat ( src/GHC/Integer/Logarithms/Compat.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/GHC/Integer/Logarithms/Compat.o ) -[2 of 4] Compiling Math.NumberTheory.Logarithms ( src/Math/NumberTheory/Logarithms.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Math/NumberTheory/Logarithms.o ) -[3 of 4] Compiling Math.NumberTheory.Powers.Integer ( src/Math/NumberTheory/Powers/Integer.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Math/NumberTheory/Powers/Integer.o ) -[4 of 4] Compiling Math.NumberTheory.Powers.Natural ( src/Math/NumberTheory/Powers/Natural.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Math/NumberTheory/Powers/Natural.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/integer-logarithms-1.0.3-L1fXvdNnENnEcLpMml0rI7 -Registering library for integer-logarithms-1.0.3.. diff --git a/.stack-work/logs/intero-0.1.40.log b/.stack-work/logs/intero-0.1.40.log deleted file mode 100644 index 9b36e46..0000000 --- a/.stack-work/logs/intero-0.1.40.log +++ /dev/null @@ -1,64 +0,0 @@ -Configuring intero-0.1.40... -Preprocessing executable 'intero' for intero-0.1.40.. -Building executable 'intero' for intero-0.1.40.. -[ 1 of 10] Compiling Intero.Compat ( src/Intero/Compat.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/Intero/Compat.o ) -[ 2 of 10] Compiling GhciTypes ( src/GhciTypes.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/GhciTypes.o ) -[ 3 of 10] Compiling GhciMonad ( src/GhciMonad.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/GhciMonad.o ) -[ 4 of 10] Compiling GhciTags ( src/GhciTags.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/GhciTags.o ) -[ 5 of 10] Compiling GhciInfo ( src/GhciInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/GhciInfo.o ) -[ 6 of 10] Compiling GhciFind ( src/GhciFind.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/GhciFind.o ) -[ 7 of 10] Compiling Completion ( src/Completion.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/Completion.o ) -[ 8 of 10] Compiling Paths_intero ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/autogen/Paths_intero.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/Paths_intero.o ) -[ 9 of 10] Compiling InteractiveUI ( src/InteractiveUI.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/InteractiveUI.o ) - -src/InteractiveUI.hs:116:1: warning: [-Wdeprecations] - Module ‘Network’ is deprecated: - The high level Network interface is no longer supported. Please use Network.Socket. - | -116 | import qualified Network - | ^^^^^^^^^^^^^^^^^^^^^^^^ - -src/InteractiveUI.hs:117:1: warning: [-Wdeprecations] - Module ‘Network.BSD’ is deprecated: - This platform dependent module is no longer supported. - | -117 | import Network.BSD - | ^^^^^^^^^^^^^^^^^^ - -src/InteractiveUI.hs:695:32: warning: [-Wdeprecations] - In the use of ‘accept’ (imported from Network): - Deprecated: "The high level Network interface is no longer supported. Please use Network.Socket." - | -695 | (h, _, _) <- Network.accept sock - | ^^^^^^^^^^^^^^ - -src/InteractiveUI.hs:731:12: warning: [-Wdeprecations] - In the use of ‘getProtocolNumber’ (imported from Network.BSD): - Deprecated: "This platform dependent module is no longer supported." - | -731 | proto <- getProtocolNumber "tcp" - | ^^^^^^^^^^^^^^^^^ - -src/InteractiveUI.hs:737:19: warning: [-Wdeprecations] - In the use of ‘getHostByName’ (imported from Network.BSD): - Deprecated: "This platform dependent module is no longer supported." - | -737 | address <- getHostByName "127.0.0.1" - | ^^^^^^^^^^^^^ - -src/InteractiveUI.hs:738:32: warning: [-Wdeprecations] - In the use of ‘aNY_PORT’ (imported from Network.Socket): - Deprecated: "Use defaultPort instead" - | -738 | bind sock (SockAddrInet aNY_PORT (hostAddress address)) - | ^^^^^^^^ - -src/InteractiveUI.hs:738:42: warning: [-Wdeprecations] - In the use of ‘hostAddress’ (imported from Network.BSD): - Deprecated: "This platform dependent module is no longer supported." - | -738 | bind sock (SockAddrInet aNY_PORT (hostAddress address)) - | ^^^^^^^^^^^ -[10 of 10] Compiling Main ( src/Main.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero-tmp/Main.o ) -Linking .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/intero/intero ... -Installing executable intero in /home/sv/src/8queens/.stack-work/install/x86_64-linux/lts-13.22/8.6.5/bin diff --git a/.stack-work/logs/invariant-0.5.3.log b/.stack-work/logs/invariant-0.5.3.log deleted file mode 100644 index 6943a4d..0000000 --- a/.stack-work/logs/invariant-0.5.3.log +++ /dev/null @@ -1,9 +0,0 @@ -Configuring invariant-0.5.3... -Preprocessing library for invariant-0.5.3.. -Building library for invariant-0.5.3.. -[1 of 4] Compiling Data.Functor.Invariant ( src/Data/Functor/Invariant.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Invariant.o ) -[2 of 4] Compiling Data.Functor.Invariant.TH.Internal ( src/Data/Functor/Invariant/TH/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Invariant/TH/Internal.o ) -[3 of 4] Compiling Data.Functor.Invariant.TH ( src/Data/Functor/Invariant/TH.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Invariant/TH.o ) -[4 of 4] Compiling Paths_invariant ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/autogen/Paths_invariant.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Paths_invariant.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/invariant-0.5.3-COCiLnaO8ceLaFLP8ApMB8 -Registering library for invariant-0.5.3.. diff --git a/.stack-work/logs/kan-extensions-5.2.log b/.stack-work/logs/kan-extensions-5.2.log deleted file mode 100644 index e95dd1f..0000000 --- a/.stack-work/logs/kan-extensions-5.2.log +++ /dev/null @@ -1,18 +0,0 @@ -Configuring kan-extensions-5.2... -Preprocessing library for kan-extensions-5.2.. -Building library for kan-extensions-5.2.. -[ 1 of 13] Compiling Data.Functor.Contravariant.Coyoneda ( src/Data/Functor/Contravariant/Coyoneda.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Contravariant/Coyoneda.o ) -[ 2 of 13] Compiling Data.Functor.Contravariant.Day ( src/Data/Functor/Contravariant/Day.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Contravariant/Day.o ) -[ 3 of 13] Compiling Data.Functor.Contravariant.Yoneda ( src/Data/Functor/Contravariant/Yoneda.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Contravariant/Yoneda.o ) -[ 4 of 13] Compiling Data.Functor.Day ( src/Data/Functor/Day.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Day.o ) -[ 5 of 13] Compiling Data.Functor.Day.Curried ( src/Data/Functor/Day/Curried.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Day/Curried.o ) -[ 6 of 13] Compiling Data.Functor.Invariant.Day ( src/Data/Functor/Invariant/Day.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Invariant/Day.o ) -[ 7 of 13] Compiling Data.Functor.Kan.Lan ( src/Data/Functor/Kan/Lan.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Kan/Lan.o ) -[ 8 of 13] Compiling Data.Functor.Coyoneda ( src/Data/Functor/Coyoneda.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Coyoneda.o ) -[ 9 of 13] Compiling Control.Comonad.Density ( src/Control/Comonad/Density.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Comonad/Density.o ) -[10 of 13] Compiling Control.Monad.Co ( src/Control/Monad/Co.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Co.o ) -[11 of 13] Compiling Data.Functor.Kan.Ran ( src/Data/Functor/Kan/Ran.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Kan/Ran.o ) -[12 of 13] Compiling Control.Monad.Codensity ( src/Control/Monad/Codensity.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Codensity.o ) -[13 of 13] Compiling Data.Functor.Yoneda ( src/Data/Functor/Yoneda.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Yoneda.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/kan-extensions-5.2-GOoLNNVeT9xL7L35wynQJC -Registering library for kan-extensions-5.2.. diff --git a/.stack-work/logs/lens-4.17.1.log b/.stack-work/logs/lens-4.17.1.log deleted file mode 100644 index ce76cdd..0000000 --- a/.stack-work/logs/lens-4.17.1.log +++ /dev/null @@ -1,91 +0,0 @@ -[1 of 2] Compiling Main ( /tmp/stack14391/lens-4.17.1/Setup.lhs, /tmp/stack14391/lens-4.17.1/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/Main.o ) -[2 of 2] Compiling StackSetupShim ( /home/sv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack14391/lens-4.17.1/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/StackSetupShim.o ) -Linking /tmp/stack14391/lens-4.17.1/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/setup ... -Configuring lens-4.17.1... -Preprocessing library for lens-4.17.1.. -Building library for lens-4.17.1.. -[ 1 of 83] Compiling Control.Lens.Internal.CTypes ( src/Control/Lens/Internal/CTypes.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/CTypes.o ) -[ 2 of 83] Compiling Control.Lens.Internal.Coerce ( src/Control/Lens/Internal/Coerce.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Coerce.o ) -[ 3 of 83] Compiling Control.Lens.Internal.Getter ( src/Control/Lens/Internal/Getter.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Getter.o ) -[ 4 of 83] Compiling Control.Lens.Internal.Fold ( src/Control/Lens/Internal/Fold.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Fold.o ) -[ 5 of 83] Compiling Control.Lens.Internal.Instances ( src/Control/Lens/Internal/Instances.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Instances.o ) -[ 6 of 83] Compiling Control.Lens.Internal.Indexed ( src/Control/Lens/Internal/Indexed.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Indexed.o ) -[ 7 of 83] Compiling Control.Lens.Internal.Context ( src/Control/Lens/Internal/Context.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Context.o ) -[ 8 of 83] Compiling Control.Lens.Internal.Bazaar ( src/Control/Lens/Internal/Bazaar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Bazaar.o ) -[ 9 of 83] Compiling Control.Lens.Internal.Iso ( src/Control/Lens/Internal/Iso.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Iso.o ) -[10 of 83] Compiling Control.Lens.Internal.Level ( src/Control/Lens/Internal/Level.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Level.o ) -[11 of 83] Compiling Control.Lens.Internal.List ( src/Control/Lens/Internal/List.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/List.o ) -[12 of 83] Compiling Control.Lens.Internal.Magma ( src/Control/Lens/Internal/Magma.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Magma.o ) -[13 of 83] Compiling Control.Lens.Internal.Prism ( src/Control/Lens/Internal/Prism.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Prism.o ) -[14 of 83] Compiling Control.Lens.Internal.Review ( src/Control/Lens/Internal/Review.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Review.o ) -[15 of 83] Compiling Control.Lens.Internal.Setter ( src/Control/Lens/Internal/Setter.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Setter.o ) -[16 of 83] Compiling Control.Lens.Internal.TH ( src/Control/Lens/Internal/TH.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/TH.o ) -[17 of 83] Compiling Control.Lens.Internal.Zoom ( src/Control/Lens/Internal/Zoom.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Zoom.o ) -[18 of 83] Compiling Control.Lens.Internal ( src/Control/Lens/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal.o ) -[19 of 83] Compiling Control.Lens.Type ( src/Control/Lens/Type.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Type.o ) -[20 of 83] Compiling Control.Lens.Setter ( src/Control/Lens/Setter.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Setter.o ) -[21 of 83] Compiling Control.Lens.Lens ( src/Control/Lens/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Lens.o ) -[22 of 83] Compiling Control.Lens.Tuple ( src/Control/Lens/Tuple.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Tuple.o ) -[23 of 83] Compiling Control.Lens.Getter ( src/Control/Lens/Getter.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Getter.o ) -[24 of 83] Compiling Control.Lens.Review ( src/Control/Lens/Review.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Review.o ) -[25 of 83] Compiling Control.Lens.Prism ( src/Control/Lens/Prism.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Prism.o ) -[26 of 83] Compiling Control.Lens.Fold ( src/Control/Lens/Fold.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Fold.o ) -[27 of 83] Compiling Control.Lens.Traversal ( src/Control/Lens/Traversal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Traversal.o ) -[28 of 83] Compiling Control.Lens.Level ( src/Control/Lens/Level.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Level.o ) -[29 of 83] Compiling Control.Lens.Reified ( src/Control/Lens/Reified.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Reified.o ) -[30 of 83] Compiling Control.Lens.Internal.Exception ( src/Control/Lens/Internal/Exception.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Exception.o ) -[31 of 83] Compiling Control.Lens.Indexed ( src/Control/Lens/Indexed.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Indexed.o ) -[32 of 83] Compiling Control.Lens.Internal.ByteString ( src/Control/Lens/Internal/ByteString.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/ByteString.o ) -[33 of 83] Compiling Control.Lens.Equality ( src/Control/Lens/Equality.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Equality.o ) -[34 of 83] Compiling Control.Lens.Iso ( src/Control/Lens/Iso.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Iso.o ) -[35 of 83] Compiling Control.Lens.Empty ( src/Control/Lens/Empty.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Empty.o ) -[36 of 83] Compiling Control.Lens.Cons ( src/Control/Lens/Cons.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Cons.o ) -[37 of 83] Compiling Control.Lens.Internal.Deque ( src/Control/Lens/Internal/Deque.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/Deque.o ) -[38 of 83] Compiling Control.Lens.Wrapped ( src/Control/Lens/Wrapped.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Wrapped.o ) -[39 of 83] Compiling Control.Lens.Zoom ( src/Control/Lens/Zoom.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Zoom.o ) -[40 of 83] Compiling Data.Data.Lens ( src/Data/Data/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Data/Lens.o ) -[41 of 83] Compiling Control.Lens.Plated ( src/Control/Lens/Plated.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Plated.o ) -[42 of 83] Compiling Data.HashSet.Lens ( src/Data/HashSet/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashSet/Lens.o ) -[43 of 83] Compiling Data.Map.Lens ( src/Data/Map/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Map/Lens.o ) -[44 of 83] Compiling Data.Set.Lens ( src/Data/Set/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Set/Lens.o ) -[45 of 83] Compiling Data.Text.Lazy.Lens ( src/Data/Text/Lazy/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Text/Lazy/Lens.o ) -[46 of 83] Compiling Data.Text.Strict.Lens ( src/Data/Text/Strict/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Text/Strict/Lens.o ) -[47 of 83] Compiling Data.Text.Lens ( src/Data/Text/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Text/Lens.o ) -[48 of 83] Compiling Data.Vector.Generic.Lens ( src/Data/Vector/Generic/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Generic/Lens.o ) -[49 of 83] Compiling Control.Lens.Each ( src/Control/Lens/Each.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Each.o ) -[50 of 83] Compiling Control.Lens.At ( src/Control/Lens/At.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/At.o ) -[51 of 83] Compiling Language.Haskell.TH.Lens ( src/Language/Haskell/TH/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Language/Haskell/TH/Lens.o ) -[52 of 83] Compiling Control.Lens.Internal.PrismTH ( src/Control/Lens/Internal/PrismTH.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/PrismTH.o ) -[53 of 83] Compiling Control.Lens.Internal.FieldTH ( src/Control/Lens/Internal/FieldTH.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Internal/FieldTH.o ) -[54 of 83] Compiling Control.Lens.TH ( src/Control/Lens/TH.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/TH.o ) -[55 of 83] Compiling Control.Lens ( src/Control/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens.o ) -[56 of 83] Compiling GHC.Generics.Lens ( src/GHC/Generics/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/GHC/Generics/Lens.o ) -[57 of 83] Compiling Data.Vector.Lens ( src/Data/Vector/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Lens.o ) -[58 of 83] Compiling Data.Typeable.Lens ( src/Data/Typeable/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Typeable/Lens.o ) -[59 of 83] Compiling Data.Tree.Lens ( src/Data/Tree/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Tree/Lens.o ) -[60 of 83] Compiling Data.Sequence.Lens ( src/Data/Sequence/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Sequence/Lens.o ) -[61 of 83] Compiling Data.List.Lens ( src/Data/List/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/List/Lens.o ) -[62 of 83] Compiling Data.IntSet.Lens ( src/Data/IntSet/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/IntSet/Lens.o ) -[63 of 83] Compiling Data.Complex.Lens ( src/Data/Complex/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Complex/Lens.o ) -[64 of 83] Compiling Data.ByteString.Strict.Lens ( src/Data/ByteString/Strict/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/ByteString/Strict/Lens.o ) -[65 of 83] Compiling Data.ByteString.Lazy.Lens ( src/Data/ByteString/Lazy/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/ByteString/Lazy/Lens.o ) -[66 of 83] Compiling Data.ByteString.Lens ( src/Data/ByteString/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/ByteString/Lens.o ) -[67 of 83] Compiling Data.Bits.Lens ( src/Data/Bits/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bits/Lens.o ) -[68 of 83] Compiling Data.Array.Lens ( src/Data/Array/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Array/Lens.o ) -[69 of 83] Compiling Control.Seq.Lens ( src/Control/Seq/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Seq/Lens.o ) -[70 of 83] Compiling Control.Parallel.Strategies.Lens ( src/Control/Parallel/Strategies/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Parallel/Strategies/Lens.o ) -[71 of 83] Compiling Control.Monad.Error.Lens ( src/Control/Monad/Error/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Error/Lens.o ) -[72 of 83] Compiling Control.Lens.Unsound ( src/Control/Lens/Unsound.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Unsound.o ) -[73 of 83] Compiling Control.Lens.Operators ( src/Control/Lens/Operators.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Operators.o ) -[74 of 83] Compiling Control.Lens.Extras ( src/Control/Lens/Extras.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Extras.o ) -[75 of 83] Compiling Control.Lens.Combinators ( src/Control/Lens/Combinators.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Lens/Combinators.o ) -[76 of 83] Compiling Control.Exception.Lens ( src/Control/Exception/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Exception/Lens.o ) -[77 of 83] Compiling Data.Dynamic.Lens ( src/Data/Dynamic/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Dynamic/Lens.o ) -[78 of 83] Compiling Numeric.Lens ( src/Numeric/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/Lens.o ) -[79 of 83] Compiling Numeric.Natural.Lens ( src/Numeric/Natural/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Numeric/Natural/Lens.o ) -[80 of 83] Compiling Paths_lens ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/autogen/Paths_lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Paths_lens.o ) -[81 of 83] Compiling System.Exit.Lens ( src/System/Exit/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Exit/Lens.o ) -[82 of 83] Compiling System.FilePath.Lens ( src/System/FilePath/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/FilePath/Lens.o ) -[83 of 83] Compiling System.IO.Error.Lens ( src/System/IO/Error/Lens.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/IO/Error/Lens.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/lens-4.17.1-HvuC79b14LY7GYVb6qSW7j -Registering library for lens-4.17.1.. diff --git a/.stack-work/logs/linear-1.20.9.log b/.stack-work/logs/linear-1.20.9.log deleted file mode 100644 index cae8355..0000000 --- a/.stack-work/logs/linear-1.20.9.log +++ /dev/null @@ -1,30 +0,0 @@ -[1 of 2] Compiling Main ( /tmp/stack14391/linear-1.20.9/Setup.lhs, /tmp/stack14391/linear-1.20.9/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/Main.o ) -[2 of 2] Compiling StackSetupShim ( /home/sv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack14391/linear-1.20.9/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/StackSetupShim.o ) -Linking /tmp/stack14391/linear-1.20.9/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/setup ... -Configuring linear-1.20.9... -Preprocessing library for linear-1.20.9.. -Building library for linear-1.20.9.. -[ 1 of 22] Compiling Linear.Binary ( src/Linear/Binary.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Binary.o ) -[ 2 of 22] Compiling Linear.Conjugate ( src/Linear/Conjugate.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Conjugate.o ) -[ 3 of 22] Compiling Linear.Epsilon ( src/Linear/Epsilon.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Epsilon.o ) -[ 4 of 22] Compiling Linear.Instances ( src/Linear/Instances.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Instances.o ) -[ 5 of 22] Compiling Linear.Vector ( src/Linear/Vector.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Vector.o ) -[ 6 of 22] Compiling Linear.Metric ( src/Linear/Metric.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Metric.o ) -[ 7 of 22] Compiling Linear.V ( src/Linear/V.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/V.o ) -[ 8 of 22] Compiling Linear.V1 ( src/Linear/V1.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/V1.o ) -[ 9 of 22] Compiling Linear.V2 ( src/Linear/V2.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/V2.o ) -[10 of 22] Compiling Linear.V3 ( src/Linear/V3.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/V3.o ) -[11 of 22] Compiling Linear.V4 ( src/Linear/V4.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/V4.o ) -[12 of 22] Compiling Linear.V0 ( src/Linear/V0.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/V0.o ) -[13 of 22] Compiling Linear.Quaternion ( src/Linear/Quaternion.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Quaternion.o ) -[14 of 22] Compiling Linear.Plucker ( src/Linear/Plucker.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Plucker.o ) -[15 of 22] Compiling Linear.Trace ( src/Linear/Trace.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Trace.o ) -[16 of 22] Compiling Linear.Plucker.Coincides ( src/Linear/Plucker/Coincides.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Plucker/Coincides.o ) -[17 of 22] Compiling Linear.Matrix ( src/Linear/Matrix.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Matrix.o ) -[18 of 22] Compiling Linear.Projection ( src/Linear/Projection.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Projection.o ) -[19 of 22] Compiling Linear.Algebra ( src/Linear/Algebra.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Algebra.o ) -[20 of 22] Compiling Linear.Covector ( src/Linear/Covector.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Covector.o ) -[21 of 22] Compiling Linear.Affine ( src/Linear/Affine.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear/Affine.o ) -[22 of 22] Compiling Linear ( src/Linear.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Linear.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/linear-1.20.9-8i87OQRLMk19j5jCRXHfj4 -Registering library for linear-1.20.9.. diff --git a/.stack-work/logs/loop-0.3.0.log b/.stack-work/logs/loop-0.3.0.log deleted file mode 100644 index 077c09f..0000000 --- a/.stack-work/logs/loop-0.3.0.log +++ /dev/null @@ -1,7 +0,0 @@ -Configuring loop-0.3.0... -Preprocessing library for loop-0.3.0.. -Building library for loop-0.3.0.. -[1 of 2] Compiling Control.Loop ( src/Control/Loop.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Loop.o ) -[2 of 2] Compiling Control.Loop.Internal ( src/Control/Loop/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Loop/Internal.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/loop-0.3.0-KBOFzTkURfGITuXz2VUslN -Registering library for loop-0.3.0.. diff --git a/.stack-work/logs/matrix-0.3.6.1.log b/.stack-work/logs/matrix-0.3.6.1.log deleted file mode 100644 index 039799c..0000000 --- a/.stack-work/logs/matrix-0.3.6.1.log +++ /dev/null @@ -1,86 +0,0 @@ -Configuring matrix-0.3.6.1... -Preprocessing library for matrix-0.3.6.1.. -Building library for matrix-0.3.6.1.. -[1 of 1] Compiling Data.Matrix ( Data/Matrix.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Matrix.o ) - -Data/Matrix.hs:79:1: warning: [-Wunused-imports] - The import of ‘Data.Monoid’ is redundant - except perhaps to import instances from ‘Data.Monoid’ - To import instances alone, use: import Data.Monoid() - | -79 | import Data.Monoid - | ^^^^^^^^^^^^^^^^^^ - -Data/Matrix.hs:81:1: warning: [-Wunused-imports] - The import of ‘Data.Traversable’ is redundant - except perhaps to import instances from ‘Data.Traversable’ - To import instances alone, use: import Data.Traversable() - | -81 | import Data.Traversable - | ^^^^^^^^^^^^^^^^^^^^^^^ - -Data/Matrix.hs:1364:1: warning: [-Winline-rule-shadowing] - Rule "matrix/traceOfSum" may never fire - because ‘trace’ might inline first - Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘trace’ - | -1364 | "matrix/traceOfSum" - | ^^^^^^^^^^^^^^^^^^^... - -Data/Matrix.hs:1364:1: warning: [-Winline-rule-shadowing] - Rule "matrix/traceOfSum" may never fire - because rule "Class op +" for ‘+’ might fire first - Probable fix: add phase [n] or [~n] to the competing rule - | -1364 | "matrix/traceOfSum" - | ^^^^^^^^^^^^^^^^^^^... - -Data/Matrix.hs:1367:1: warning: [-Winline-rule-shadowing] - Rule "matrix/traceOfScale" may never fire - because ‘trace’ might inline first - Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘trace’ - | -1367 | "matrix/traceOfScale" - | ^^^^^^^^^^^^^^^^^^^^^... - -Data/Matrix.hs:1367:1: warning: [-Winline-rule-shadowing] - Rule "matrix/traceOfScale" may never fire - because ‘scaleMatrix’ might inline first - Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘scaleMatrix’ - | -1367 | "matrix/traceOfScale" - | ^^^^^^^^^^^^^^^^^^^^^... - -Data/Matrix.hs:1392:1: warning: [-Winline-rule-shadowing] - Rule "matrix/detLaplaceProduct" may never fire - because ‘detLaplace’ might inline first - Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘detLaplace’ - | -1392 | "matrix/detLaplaceProduct" - | ^^^^^^^^^^^^^^^^^^^^^^^^^^... - -Data/Matrix.hs:1392:1: warning: [-Winline-rule-shadowing] - Rule "matrix/detLaplaceProduct" may never fire - because rule "Class op *" for ‘*’ might fire first - Probable fix: add phase [n] or [~n] to the competing rule - | -1392 | "matrix/detLaplaceProduct" - | ^^^^^^^^^^^^^^^^^^^^^^^^^^... - -Data/Matrix.hs:1395:1: warning: [-Winline-rule-shadowing] - Rule "matrix/detLUProduct" may never fire - because ‘detLU’ might inline first - Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘detLU’ - | -1395 | "matrix/detLUProduct" - | ^^^^^^^^^^^^^^^^^^^^^... - -Data/Matrix.hs:1395:1: warning: [-Winline-rule-shadowing] - Rule "matrix/detLUProduct" may never fire - because rule "Class op *" for ‘*’ might fire first - Probable fix: add phase [n] or [~n] to the competing rule - | -1395 | "matrix/detLUProduct" - | ^^^^^^^^^^^^^^^^^^^^^... -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/matrix-0.3.6.1-CUcUqfmsmAA7saz436AQSk -Registering library for matrix-0.3.6.1.. diff --git a/.stack-work/logs/network-2.8.0.1.log b/.stack-work/logs/network-2.8.0.1.log deleted file mode 100644 index 779f24a..0000000 --- a/.stack-work/logs/network-2.8.0.1.log +++ /dev/null @@ -1,132 +0,0 @@ -[1 of 2] Compiling Main ( /tmp/stack10672/network-2.8.0.1/Setup.hs, /tmp/stack10672/network-2.8.0.1/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/Main.o ) -[2 of 2] Compiling StackSetupShim ( /home/sv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack10672/network-2.8.0.1/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/StackSetupShim.o ) -Linking /tmp/stack10672/network-2.8.0.1/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/setup ... -Configuring network-2.8.0.1... -configure: WARNING: unrecognized options: --with-compiler -checking build system type... x86_64-pc-linux-gnu -checking host system type... x86_64-pc-linux-gnu -checking for gcc... /usr/bin/gcc -checking whether the C compiler works... yes -checking for C compiler default output file name... a.out -checking for suffix of executables... -checking whether we are cross compiling... no -checking for suffix of object files... o -checking whether we are using the GNU C compiler... yes -checking whether /usr/bin/gcc accepts -g... yes -checking for /usr/bin/gcc option to accept ISO C89... none needed -checking for an ANSI C-conforming const... yes -checking how to run the C preprocessor... /usr/bin/gcc -E -checking for grep that handles long lines and -e... /bin/grep -checking for egrep... /bin/grep -E -checking for ANSI C header files... yes -checking for sys/types.h... yes -checking for sys/stat.h... yes -checking for stdlib.h... yes -checking for string.h... yes -checking for memory.h... yes -checking for strings.h... yes -checking for inttypes.h... yes -checking for stdint.h... yes -checking for unistd.h... yes -checking fcntl.h usability... yes -checking fcntl.h presence... yes -checking for fcntl.h... yes -checking limits.h usability... yes -checking limits.h presence... yes -checking for limits.h... yes -checking for stdlib.h... (cached) yes -checking for sys/types.h... (cached) yes -checking for unistd.h... (cached) yes -checking winsock2.h usability... no -checking winsock2.h presence... no -checking for winsock2.h... no -checking ws2tcpip.h usability... no -checking ws2tcpip.h presence... no -checking for ws2tcpip.h... no -checking arpa/inet.h usability... yes -checking arpa/inet.h presence... yes -checking for arpa/inet.h... yes -checking netdb.h usability... yes -checking netdb.h presence... yes -checking for netdb.h... yes -checking netinet/in.h usability... yes -checking netinet/in.h presence... yes -checking for netinet/in.h... yes -checking netinet/tcp.h usability... yes -checking netinet/tcp.h presence... yes -checking for netinet/tcp.h... yes -checking sys/socket.h usability... yes -checking sys/socket.h presence... yes -checking for sys/socket.h... yes -checking sys/uio.h usability... yes -checking sys/uio.h presence... yes -checking for sys/uio.h... yes -checking sys/un.h usability... yes -checking sys/un.h presence... yes -checking for sys/un.h... yes -checking linux/can.h usability... yes -checking linux/can.h presence... yes -checking for linux/can.h... yes -checking linux/tcp.h usability... yes -checking linux/tcp.h presence... yes -checking for linux/tcp.h... yes -checking net/if.h usability... yes -checking net/if.h presence... yes -checking for net/if.h... yes -checking for readlink... yes -checking for symlink... yes -checking for if_nametoindex... yes -checking for struct msghdr.msg_control... yes -checking for struct msghdr.msg_accrights... no -checking for struct sockaddr.sa_len... no -checking for in_addr_t in netinet/in.h... yes -checking for SO_PEERCRED and struct ucred in sys/socket.h... yes -checking for getpeereid in unistd.h... checking for getpeereid... no -checking for _head_libws2_32_a in -lws2_32... no -checking for getaddrinfo... yes -checking for gai_strerror... yes -checking whether AI_ADDRCONFIG is declared... yes -checking whether AI_ALL is declared... yes -checking whether AI_NUMERICSERV is declared... yes -checking whether AI_V4MAPPED is declared... yes -checking whether IPV6_V6ONLY is declared... yes -checking whether IPPROTO_IP is declared... yes -checking whether IPPROTO_TCP is declared... yes -checking whether IPPROTO_IPV6 is declared... yes -checking for sendfile in sys/sendfile.h... yes -checking for sendfile in sys/socket.h... no -checking for gethostent... yes -checking for accept4... yes -configure: creating ./config.status -config.status: creating network.buildinfo -config.status: creating include/HsNetworkConfig.h -configure: WARNING: unrecognized options: --with-compiler -Preprocessing library for network-2.8.0.1.. -Building library for network-2.8.0.1.. -[ 1 of 11] Compiling Network.Socket.ByteString.IOVec ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString/IOVec.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString/IOVec.o ) -[ 2 of 11] Compiling Network.Socket.Types ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/Types.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/Types.o ) -[ 3 of 11] Compiling Network.Socket.Internal ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/Internal.o ) -[ 4 of 11] Compiling Network.Socket ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket.o ) - -Network/Socket.hsc:267:1: warning: [-Wunused-imports] - The qualified import of ‘Control.Exception’ is redundant - except perhaps to import instances from ‘Control.Exception’ - To import instances alone, use: import Control.Exception() - | -267 | import qualified Control.Exception as E - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Network/Socket.hsc:633:8: warning: [-Wunused-matches] - Defined but not used: ‘sock’ - | -633 | accept sock@(MkSocket s family stype protocol status) = do - | ^^^^ -[ 5 of 11] Compiling Network.Socket.ByteString.MsgHdr ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString/MsgHdr.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString/MsgHdr.o ) -[ 6 of 11] Compiling Network.Socket.ByteString.Internal ( Network/Socket/ByteString/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString/Internal.o ) -[ 7 of 11] Compiling Network.Socket.ByteString.Lazy.Posix ( Network/Socket/ByteString/Lazy/Posix.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString/Lazy/Posix.o ) -[ 8 of 11] Compiling Network.Socket.ByteString ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString.o ) -[ 9 of 11] Compiling Network.Socket.ByteString.Lazy ( Network/Socket/ByteString/Lazy.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/Socket/ByteString/Lazy.o ) -[10 of 11] Compiling Network.BSD ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/BSD.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network/BSD.o ) -[11 of 11] Compiling Network ( Network.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Network.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/network-2.8.0.1-Hmt657UE3v349uYmvUXEvW -Registering library for network-2.8.0.1.. diff --git a/.stack-work/logs/parallel-3.2.2.0.log b/.stack-work/logs/parallel-3.2.2.0.log deleted file mode 100644 index ff71877..0000000 --- a/.stack-work/logs/parallel-3.2.2.0.log +++ /dev/null @@ -1,8 +0,0 @@ -Configuring parallel-3.2.2.0... -Preprocessing library for parallel-3.2.2.0.. -Building library for parallel-3.2.2.0.. -[1 of 3] Compiling Control.Parallel ( Control/Parallel.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Parallel.o ) -[2 of 3] Compiling Control.Seq ( Control/Seq.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Seq.o ) -[3 of 3] Compiling Control.Parallel.Strategies ( Control/Parallel/Strategies.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Parallel/Strategies.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/parallel-3.2.2.0-EGl5SOk48TWHAD161C93aQ -Registering library for parallel-3.2.2.0.. diff --git a/.stack-work/logs/primitive-0.6.4.0.log b/.stack-work/logs/primitive-0.6.4.0.log deleted file mode 100644 index ca7ec69..0000000 --- a/.stack-work/logs/primitive-0.6.4.0.log +++ /dev/null @@ -1,20 +0,0 @@ -Configuring primitive-0.6.4.0... -Preprocessing library for primitive-0.6.4.0.. -Building library for primitive-0.6.4.0.. -[ 1 of 15] Compiling Control.Monad.Primitive ( Control/Monad/Primitive.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Primitive.o ) -[ 2 of 15] Compiling Data.Primitive.Internal.Compat ( Data/Primitive/Internal/Compat.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/Internal/Compat.o ) -[ 3 of 15] Compiling Data.Primitive.Array ( Data/Primitive/Array.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/Array.o ) -[ 4 of 15] Compiling Data.Primitive.MVar ( Data/Primitive/MVar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/MVar.o ) -[ 5 of 15] Compiling Data.Primitive.MachDeps ( Data/Primitive/MachDeps.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/MachDeps.o ) -[ 6 of 15] Compiling Data.Primitive.Internal.Operations ( Data/Primitive/Internal/Operations.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/Internal/Operations.o ) -[ 7 of 15] Compiling Data.Primitive.MutVar ( Data/Primitive/MutVar.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/MutVar.o ) -[ 8 of 15] Compiling Data.Primitive.SmallArray ( Data/Primitive/SmallArray.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/SmallArray.o ) -[ 9 of 15] Compiling Data.Primitive.Types ( Data/Primitive/Types.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/Types.o ) -[10 of 15] Compiling Data.Primitive.ByteArray ( Data/Primitive/ByteArray.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/ByteArray.o ) -[11 of 15] Compiling Data.Primitive.PrimArray ( Data/Primitive/PrimArray.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/PrimArray.o ) -[12 of 15] Compiling Data.Primitive.Ptr ( Data/Primitive/Ptr.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/Ptr.o ) -[13 of 15] Compiling Data.Primitive.Addr ( Data/Primitive/Addr.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/Addr.o ) -[14 of 15] Compiling Data.Primitive.UnliftedArray ( Data/Primitive/UnliftedArray.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive/UnliftedArray.o ) -[15 of 15] Compiling Data.Primitive ( Data/Primitive.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Primitive.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/primitive-0.6.4.0-ILgywxtLpvnAOlEISPpP5b -Registering library for primitive-0.6.4.0.. diff --git a/.stack-work/logs/profunctors-5.3.log b/.stack-work/logs/profunctors-5.3.log deleted file mode 100644 index bb57208..0000000 --- a/.stack-work/logs/profunctors-5.3.log +++ /dev/null @@ -1,21 +0,0 @@ -Configuring profunctors-5.3... -Preprocessing library for profunctors-5.3.. -Building library for profunctors-5.3.. -[ 1 of 16] Compiling Data.Profunctor.Unsafe ( src/Data/Profunctor/Unsafe.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Unsafe.o ) -[ 2 of 16] Compiling Data.Profunctor.Types ( src/Data/Profunctor/Types.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Types.o ) -[ 3 of 16] Compiling Data.Profunctor.Monad ( src/Data/Profunctor/Monad.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Monad.o ) -[ 4 of 16] Compiling Data.Profunctor.Adjunction ( src/Data/Profunctor/Adjunction.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Adjunction.o ) -[ 5 of 16] Compiling Data.Profunctor.Strong ( src/Data/Profunctor/Strong.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Strong.o ) -[ 6 of 16] Compiling Data.Profunctor.Closed ( src/Data/Profunctor/Closed.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Closed.o ) -[ 7 of 16] Compiling Data.Profunctor.Choice ( src/Data/Profunctor/Choice.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Choice.o ) -[ 8 of 16] Compiling Data.Profunctor.Traversing ( src/Data/Profunctor/Traversing.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Traversing.o ) -[ 9 of 16] Compiling Data.Profunctor.Mapping ( src/Data/Profunctor/Mapping.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Mapping.o ) -[10 of 16] Compiling Data.Profunctor ( src/Data/Profunctor.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor.o ) -[11 of 16] Compiling Data.Profunctor.Sieve ( src/Data/Profunctor/Sieve.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Sieve.o ) -[12 of 16] Compiling Data.Profunctor.Rep ( src/Data/Profunctor/Rep.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Rep.o ) -[13 of 16] Compiling Data.Profunctor.Composition ( src/Data/Profunctor/Composition.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Composition.o ) -[14 of 16] Compiling Data.Profunctor.Ran ( src/Data/Profunctor/Ran.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Ran.o ) -[15 of 16] Compiling Data.Profunctor.Cayley ( src/Data/Profunctor/Cayley.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Cayley.o ) -[16 of 16] Compiling Data.Profunctor.Yoneda ( src/Data/Profunctor/Yoneda.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Profunctor/Yoneda.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/profunctors-5.3-IpGd709zs3V8sI6m3XgDzt -Registering library for profunctors-5.3.. diff --git a/.stack-work/logs/random-1.1.log b/.stack-work/logs/random-1.1.log deleted file mode 100644 index 91ce45f..0000000 --- a/.stack-work/logs/random-1.1.log +++ /dev/null @@ -1,14 +0,0 @@ -Warning: random.cabal:15:2: Tabs used as indentation at 15:2, 16:2, 17:2 -Configuring random-1.1... -Preprocessing library for random-1.1.. -Building library for random-1.1.. -[1 of 1] Compiling System.Random ( System/Random.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/System/Random.o ) - -System/Random.hs:43:1: warning: [-Wtabs] - Tab character found here, and in 74 further locations. - Please use spaces instead. - | -43 | ( - | ^^^^^^^^ -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/random-1.1-3ypV4EIycgb35PKjTYYr5q -Registering library for random-1.1.. diff --git a/.stack-work/logs/reflection-2.1.4.log b/.stack-work/logs/reflection-2.1.4.log deleted file mode 100644 index 048e385..0000000 --- a/.stack-work/logs/reflection-2.1.4.log +++ /dev/null @@ -1,6 +0,0 @@ -Configuring reflection-2.1.4... -Preprocessing library for reflection-2.1.4.. -Building library for reflection-2.1.4.. -[1 of 1] Compiling Data.Reflection ( fast/Data/Reflection.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Reflection.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/reflection-2.1.4-E9VXTbXoqHZ5rulgGPZOrF -Registering library for reflection-2.1.4.. diff --git a/.stack-work/logs/scientific-0.3.6.2.log b/.stack-work/logs/scientific-0.3.6.2.log deleted file mode 100644 index bd8a63f..0000000 --- a/.stack-work/logs/scientific-0.3.6.2.log +++ /dev/null @@ -1,10 +0,0 @@ -Configuring scientific-0.3.6.2... -Preprocessing library for scientific-0.3.6.2.. -Building library for scientific-0.3.6.2.. -[1 of 5] Compiling GHC.Integer.Compat ( src/GHC/Integer/Compat.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/GHC/Integer/Compat.o ) -[2 of 5] Compiling Utils ( src/Utils.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Utils.o ) -[3 of 5] Compiling Data.Scientific ( src/Data/Scientific.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Scientific.o ) -[4 of 5] Compiling Data.Text.Lazy.Builder.Scientific ( src/Data/Text/Lazy/Builder/Scientific.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Text/Lazy/Builder/Scientific.o ) -[5 of 5] Compiling Data.ByteString.Builder.Scientific ( src/Data/ByteString/Builder/Scientific.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/ByteString/Builder/Scientific.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/scientific-0.3.6.2-Jh87LYpjAZH3EhMJkXeu1S -Registering library for scientific-0.3.6.2.. diff --git a/.stack-work/logs/semigroupoids-5.3.2.log b/.stack-work/logs/semigroupoids-5.3.2.log deleted file mode 100644 index 678b02b..0000000 --- a/.stack-work/logs/semigroupoids-5.3.2.log +++ /dev/null @@ -1,29 +0,0 @@ -[1 of 2] Compiling Main ( /tmp/stack14391/semigroupoids-5.3.2/Setup.lhs, /tmp/stack14391/semigroupoids-5.3.2/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/Main.o ) -[2 of 2] Compiling StackSetupShim ( /home/sv/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack14391/semigroupoids-5.3.2/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/StackSetupShim.o ) -Linking /tmp/stack14391/semigroupoids-5.3.2/.stack-work/dist/x86_64-linux/Cabal-2.4.0.1/setup/setup ... -Configuring semigroupoids-5.3.2... -Preprocessing library for semigroupoids-5.3.2.. -Building library for semigroupoids-5.3.2.. -[ 1 of 21] Compiling Data.Functor.Extend ( src/Data/Functor/Extend.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Extend.o ) -[ 2 of 21] Compiling Data.Functor.Bind.Class ( src/Data/Functor/Bind/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Bind/Class.o ) -[ 3 of 21] Compiling Data.Functor.Apply ( src/Data/Functor/Apply.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Apply.o ) -[ 4 of 21] Compiling Data.Functor.Bind ( src/Data/Functor/Bind.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Bind.o ) -[ 5 of 21] Compiling Data.Functor.Bind.Trans ( src/Data/Functor/Bind/Trans.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Bind/Trans.o ) -[ 6 of 21] Compiling Data.Functor.Alt ( src/Data/Functor/Alt.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Alt.o ) -[ 7 of 21] Compiling Data.Bifunctor.Apply ( src/Data/Bifunctor/Apply.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Bifunctor/Apply.o ) -[ 8 of 21] Compiling Data.Functor.Plus ( src/Data/Functor/Plus.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Plus.o ) -[ 9 of 21] Compiling Data.Semigroupoid ( src/Data/Semigroupoid.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroupoid.o ) -[10 of 21] Compiling Data.Semigroupoid.Dual ( src/Data/Semigroupoid/Dual.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroupoid/Dual.o ) -[11 of 21] Compiling Data.Groupoid ( src/Data/Groupoid.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Groupoid.o ) -[12 of 21] Compiling Data.Isomorphism ( src/Data/Isomorphism.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Isomorphism.o ) -[13 of 21] Compiling Data.Semigroupoid.Ob ( src/Data/Semigroupoid/Ob.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroupoid/Ob.o ) -[14 of 21] Compiling Data.Semigroupoid.Static ( src/Data/Semigroupoid/Static.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroupoid/Static.o ) -[15 of 21] Compiling Data.Traversable.Instances ( src/Data/Traversable/Instances.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Traversable/Instances.o ) -[16 of 21] Compiling Data.Semigroup.Foldable.Class ( src/Data/Semigroup/Foldable/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroup/Foldable/Class.o ) -[17 of 21] Compiling Data.Semigroup.Bifoldable ( src/Data/Semigroup/Bifoldable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroup/Bifoldable.o ) -[18 of 21] Compiling Data.Semigroup.Foldable ( src/Data/Semigroup/Foldable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroup/Foldable.o ) -[19 of 21] Compiling Data.Semigroup.Traversable.Class ( src/Data/Semigroup/Traversable/Class.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroup/Traversable/Class.o ) -[20 of 21] Compiling Data.Semigroup.Traversable ( src/Data/Semigroup/Traversable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroup/Traversable.o ) -[21 of 21] Compiling Data.Semigroup.Bitraversable ( src/Data/Semigroup/Bitraversable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroup/Bitraversable.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/semigroupoids-5.3.2-Ka80fCBNMcd1Be50r62zFC -Registering library for semigroupoids-5.3.2.. diff --git a/.stack-work/logs/semigroups-0.18.5.log b/.stack-work/logs/semigroups-0.18.5.log deleted file mode 100644 index b35abd5..0000000 --- a/.stack-work/logs/semigroups-0.18.5.log +++ /dev/null @@ -1,6 +0,0 @@ -Configuring semigroups-0.18.5... -Preprocessing library for semigroups-0.18.5.. -Building library for semigroups-0.18.5.. -[1 of 1] Compiling Data.Semigroup.Generic ( src/Data/Semigroup/Generic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Semigroup/Generic.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/semigroups-0.18.5-6T2lH5F6zyQIdwR3JYKMO3 -Registering library for semigroups-0.18.5.. diff --git a/.stack-work/logs/split-0.2.3.3.log b/.stack-work/logs/split-0.2.3.3.log deleted file mode 100644 index 48331b9..0000000 --- a/.stack-work/logs/split-0.2.3.3.log +++ /dev/null @@ -1,7 +0,0 @@ -Configuring split-0.2.3.3... -Preprocessing library for split-0.2.3.3.. -Building library for split-0.2.3.3.. -[1 of 2] Compiling Data.List.Split.Internals ( src/Data/List/Split/Internals.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/List/Split/Internals.o ) -[2 of 2] Compiling Data.List.Split ( src/Data/List/Split.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/List/Split.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/split-0.2.3.3-6n1iQ0JLFvkeXvJXsAqQc -Registering library for split-0.2.3.3.. diff --git a/.stack-work/logs/storable-complex-0.2.3.0.log b/.stack-work/logs/storable-complex-0.2.3.0.log deleted file mode 100644 index 6ccdcf2..0000000 --- a/.stack-work/logs/storable-complex-0.2.3.0.log +++ /dev/null @@ -1,6 +0,0 @@ -Configuring storable-complex-0.2.3.0... -Preprocessing library for storable-complex-0.2.3.0.. -Building library for storable-complex-0.2.3.0.. -[1 of 1] Compiling Foreign.Storable.Complex ( src/Foreign/Storable/Complex.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Foreign/Storable/Complex.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/storable-complex-0.2.3.0-IqTssBZ2G90J9kRbLSMmF1 -Registering library for storable-complex-0.2.3.0.. diff --git a/.stack-work/logs/syb-0.7.log b/.stack-work/logs/syb-0.7.log deleted file mode 100644 index d2aea34..0000000 --- a/.stack-work/logs/syb-0.7.log +++ /dev/null @@ -1,21 +0,0 @@ -Configuring syb-0.7... -Preprocessing library for syb-0.7.. -Building library for syb-0.7.. -[ 1 of 16] Compiling Data.Generics.Aliases ( src/Data/Generics/Aliases.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Generics/Aliases.o ) -[ 2 of 16] Compiling Data.Generics.Basics ( src/Data/Generics/Basics.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Generics/Basics.o ) -[ 3 of 16] Compiling Data.Generics.Builders ( src/Data/Generics/Builders.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Generics/Builders.o ) -[ 4 of 16] Compiling Data.Generics.Instances ( src/Data/Generics/Instances.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Generics/Instances.o ) -[ 5 of 16] Compiling Data.Generics.Schemes ( src/Data/Generics/Schemes.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Generics/Schemes.o ) -[ 6 of 16] Compiling Data.Generics.Text ( src/Data/Generics/Text.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Generics/Text.o ) -[ 7 of 16] Compiling Data.Generics.Twins ( src/Data/Generics/Twins.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Generics/Twins.o ) -[ 8 of 16] Compiling Data.Generics ( src/Data/Generics.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Generics.o ) -[ 9 of 16] Compiling Generics.SYB ( src/Generics/SYB.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Generics/SYB.o ) -[10 of 16] Compiling Generics.SYB.Aliases ( src/Generics/SYB/Aliases.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Generics/SYB/Aliases.o ) -[11 of 16] Compiling Generics.SYB.Basics ( src/Generics/SYB/Basics.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Generics/SYB/Basics.o ) -[12 of 16] Compiling Generics.SYB.Builders ( src/Generics/SYB/Builders.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Generics/SYB/Builders.o ) -[13 of 16] Compiling Generics.SYB.Instances ( src/Generics/SYB/Instances.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Generics/SYB/Instances.o ) -[14 of 16] Compiling Generics.SYB.Schemes ( src/Generics/SYB/Schemes.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Generics/SYB/Schemes.o ) -[15 of 16] Compiling Generics.SYB.Text ( src/Generics/SYB/Text.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Generics/SYB/Text.o ) -[16 of 16] Compiling Generics.SYB.Twins ( src/Generics/SYB/Twins.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Generics/SYB/Twins.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/syb-0.7-KRW1LCxdMiCJrmhxCvzo37 -Registering library for syb-0.7.. diff --git a/.stack-work/logs/tagged-0.8.6.log b/.stack-work/logs/tagged-0.8.6.log deleted file mode 100644 index 94d06e5..0000000 --- a/.stack-work/logs/tagged-0.8.6.log +++ /dev/null @@ -1,7 +0,0 @@ -Configuring tagged-0.8.6... -Preprocessing library for tagged-0.8.6.. -Building library for tagged-0.8.6.. -[1 of 2] Compiling Data.Proxy.TH ( src/Data/Proxy/TH.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Proxy/TH.o ) -[2 of 2] Compiling Data.Tagged ( src/Data/Tagged.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Tagged.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/tagged-0.8.6-EiJ2F18RuD68LSMkg0Ly4r -Registering library for tagged-0.8.6.. diff --git a/.stack-work/logs/th-abstraction-0.2.11.0.log b/.stack-work/logs/th-abstraction-0.2.11.0.log deleted file mode 100644 index 6c97457..0000000 --- a/.stack-work/logs/th-abstraction-0.2.11.0.log +++ /dev/null @@ -1,7 +0,0 @@ -Configuring th-abstraction-0.2.11.0... -Preprocessing library for th-abstraction-0.2.11.0.. -Building library for th-abstraction-0.2.11.0.. -[1 of 2] Compiling Language.Haskell.TH.Datatype.Internal ( src/Language/Haskell/TH/Datatype/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Language/Haskell/TH/Datatype/Internal.o ) -[2 of 2] Compiling Language.Haskell.TH.Datatype ( src/Language/Haskell/TH/Datatype.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Language/Haskell/TH/Datatype.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/th-abstraction-0.2.11.0-DAhuCgi08HTBWsDjm9nrOq -Registering library for th-abstraction-0.2.11.0.. diff --git a/.stack-work/logs/transformers-base-0.4.5.2.log b/.stack-work/logs/transformers-base-0.4.5.2.log deleted file mode 100644 index 2c3a2bc..0000000 --- a/.stack-work/logs/transformers-base-0.4.5.2.log +++ /dev/null @@ -1,6 +0,0 @@ -Configuring transformers-base-0.4.5.2... -Preprocessing library for transformers-base-0.4.5.2.. -Building library for transformers-base-0.4.5.2.. -[1 of 1] Compiling Control.Monad.Base ( src/Control/Monad/Base.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Base.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/transformers-base-0.4.5.2-FZmnqdpGRpbAstl7i9dBCk -Registering library for transformers-base-0.4.5.2.. diff --git a/.stack-work/logs/transformers-compat-0.6.5.log b/.stack-work/logs/transformers-compat-0.6.5.log deleted file mode 100644 index 3b4d19c..0000000 --- a/.stack-work/logs/transformers-compat-0.6.5.log +++ /dev/null @@ -1,9 +0,0 @@ -Configuring transformers-compat-0.6.5... -Preprocessing library for transformers-compat-0.6.5.. -Building library for transformers-compat-0.6.5.. -[1 of 4] Compiling Control.Monad.Trans.Instances ( src/Control/Monad/Trans/Instances.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Control/Monad/Trans/Instances.o ) -[2 of 4] Compiling Data.Functor.Classes.Generic.Internal ( generics/Data/Functor/Classes/Generic/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Classes/Generic/Internal.o ) -[3 of 4] Compiling Data.Functor.Classes.Generic ( generics/Data/Functor/Classes/Generic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Functor/Classes/Generic.o ) -[4 of 4] Compiling Paths_transformers_compat ( .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/autogen/Paths_transformers_compat.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Paths_transformers_compat.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/transformers-compat-0.6.5-JTHfwAgpAU6AqyWxijPF3Z -Registering library for transformers-compat-0.6.5.. diff --git a/.stack-work/logs/unordered-containers-0.2.9.0.log b/.stack-work/logs/unordered-containers-0.2.9.0.log deleted file mode 100644 index cdc1b08..0000000 --- a/.stack-work/logs/unordered-containers-0.2.9.0.log +++ /dev/null @@ -1,122 +0,0 @@ -Configuring unordered-containers-0.2.9.0... -Preprocessing library for unordered-containers-0.2.9.0.. -Building library for unordered-containers-0.2.9.0.. -[1 of 8] Compiling Data.HashMap.List ( Data/HashMap/List.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashMap/List.o ) -[2 of 8] Compiling Data.HashMap.Unsafe ( Data/HashMap/Unsafe.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashMap/Unsafe.o ) -[3 of 8] Compiling Data.HashMap.Array ( Data/HashMap/Array.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashMap/Array.o ) - -Data/HashMap/Array.hs:89:1-9: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - newArray# :: ghc-prim-0.5.3:GHC.Prim.Int# - -> a - -> ghc-prim-0.5.3:GHC.Prim.State# d - -> (# ghc-prim-0.5.3:GHC.Prim.State# d, SmallMutableArray# d a #) - | -89 | newArray# = newSmallArray# - | ^^^^^^^^^ - -Data/HashMap/Array.hs:90:1-10: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - readArray# :: SmallMutableArray# d a - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> ghc-prim-0.5.3:GHC.Prim.State# d - -> (# ghc-prim-0.5.3:GHC.Prim.State# d, a #) - | -90 | readArray# = readSmallArray# - | ^^^^^^^^^^ - -Data/HashMap/Array.hs:91:1-11: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - writeArray# :: SmallMutableArray# d a - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> a - -> ghc-prim-0.5.3:GHC.Prim.State# d - -> ghc-prim-0.5.3:GHC.Prim.State# d - | -91 | writeArray# = writeSmallArray# - | ^^^^^^^^^^^ - -Data/HashMap/Array.hs:92:1-11: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - indexArray# :: SmallArray# a - -> ghc-prim-0.5.3:GHC.Prim.Int# -> (# a #) - | -92 | indexArray# = indexSmallArray# - | ^^^^^^^^^^^ - -Data/HashMap/Array.hs:93:1-18: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - unsafeFreezeArray# :: SmallMutableArray# d a - -> ghc-prim-0.5.3:GHC.Prim.State# d - -> (# ghc-prim-0.5.3:GHC.Prim.State# d, SmallArray# a #) - | -93 | unsafeFreezeArray# = unsafeFreezeSmallArray# - | ^^^^^^^^^^^^^^^^^^ - -Data/HashMap/Array.hs:94:1-16: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - unsafeThawArray# :: SmallArray# a - -> ghc-prim-0.5.3:GHC.Prim.State# d - -> (# ghc-prim-0.5.3:GHC.Prim.State# d, SmallMutableArray# d a #) - | -94 | unsafeThawArray# = unsafeThawSmallArray# - | ^^^^^^^^^^^^^^^^ - -Data/HashMap/Array.hs:95:1-12: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - sizeofArray# :: SmallArray# a -> ghc-prim-0.5.3:GHC.Prim.Int# - | -95 | sizeofArray# = sizeofSmallArray# - | ^^^^^^^^^^^^ - -Data/HashMap/Array.hs:96:1-10: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - copyArray# :: SmallArray# a - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> SmallMutableArray# d a - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> ghc-prim-0.5.3:GHC.Prim.State# d - -> ghc-prim-0.5.3:GHC.Prim.State# d - | -96 | copyArray# = copySmallArray# - | ^^^^^^^^^^ - -Data/HashMap/Array.hs:97:1-10: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - thawArray# :: SmallArray# a - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> ghc-prim-0.5.3:GHC.Prim.State# d - -> (# ghc-prim-0.5.3:GHC.Prim.State# d, SmallMutableArray# d a #) - | -97 | thawArray# = thawSmallArray# - | ^^^^^^^^^^ - -Data/HashMap/Array.hs:98:1-19: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - sizeofMutableArray# :: SmallMutableArray# d a - -> ghc-prim-0.5.3:GHC.Prim.Int# - | -98 | sizeofMutableArray# = sizeofSmallMutableArray# - | ^^^^^^^^^^^^^^^^^^^ - -Data/HashMap/Array.hs:99:1-17: warning: [-Wmissing-signatures] - Top-level binding with no type signature: - copyMutableArray# :: SmallMutableArray# d a - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> SmallMutableArray# d a - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> ghc-prim-0.5.3:GHC.Prim.Int# - -> ghc-prim-0.5.3:GHC.Prim.State# d - -> ghc-prim-0.5.3:GHC.Prim.State# d - | -99 | copyMutableArray# = copySmallMutableArray# - | ^^^^^^^^^^^^^^^^^ -[4 of 8] Compiling Data.HashMap.UnsafeShift ( Data/HashMap/UnsafeShift.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashMap/UnsafeShift.o ) -[5 of 8] Compiling Data.HashMap.Base ( Data/HashMap/Base.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashMap/Base.o ) -[6 of 8] Compiling Data.HashMap.Strict ( Data/HashMap/Strict.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashMap/Strict.o ) -[7 of 8] Compiling Data.HashMap.Lazy ( Data/HashMap/Lazy.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashMap/Lazy.o ) -[8 of 8] Compiling Data.HashSet ( Data/HashSet.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/HashSet.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/unordered-containers-0.2.9.0-BRWkoSTuML1cQdpep6Oin -Registering library for unordered-containers-0.2.9.0.. diff --git a/.stack-work/logs/vector-0.12.0.3.log b/.stack-work/logs/vector-0.12.0.3.log deleted file mode 100644 index 400d6a6..0000000 --- a/.stack-work/logs/vector-0.12.0.3.log +++ /dev/null @@ -1,26 +0,0 @@ -Configuring vector-0.12.0.3... -Preprocessing library for vector-0.12.0.3.. -Building library for vector-0.12.0.3.. -[ 1 of 21] Compiling Data.Vector.Fusion.Util ( Data/Vector/Fusion/Util.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Fusion/Util.o ) -[ 2 of 21] Compiling Data.Vector.Fusion.Bundle.Size ( Data/Vector/Fusion/Bundle/Size.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Fusion/Bundle/Size.o ) -[ 3 of 21] Compiling Data.Vector.Generic.Mutable.Base ( Data/Vector/Generic/Mutable/Base.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Generic/Mutable/Base.o ) -[ 4 of 21] Compiling Data.Vector.Generic.Base ( Data/Vector/Generic/Base.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Generic/Base.o ) -[ 5 of 21] Compiling Data.Vector.Internal.Check ( Data/Vector/Internal/Check.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Internal/Check.o ) -[ 6 of 21] Compiling Data.Vector.Fusion.Stream.Monadic ( Data/Vector/Fusion/Stream/Monadic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Fusion/Stream/Monadic.o ) -[ 7 of 21] Compiling Data.Vector.Fusion.Bundle.Monadic ( Data/Vector/Fusion/Bundle/Monadic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Fusion/Bundle/Monadic.o ) -[ 8 of 21] Compiling Data.Vector.Fusion.Bundle ( Data/Vector/Fusion/Bundle.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Fusion/Bundle.o ) -[ 9 of 21] Compiling Data.Vector.Generic.Mutable ( Data/Vector/Generic/Mutable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Generic/Mutable.o ) -[10 of 21] Compiling Data.Vector.Generic.New ( Data/Vector/Generic/New.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Generic/New.o ) -[11 of 21] Compiling Data.Vector.Generic ( Data/Vector/Generic.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Generic.o ) -[12 of 21] Compiling Data.Vector.Mutable ( Data/Vector/Mutable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Mutable.o ) -[13 of 21] Compiling Data.Vector ( Data/Vector.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector.o ) -[14 of 21] Compiling Data.Vector.Primitive.Mutable ( Data/Vector/Primitive/Mutable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Primitive/Mutable.o ) -[15 of 21] Compiling Data.Vector.Primitive ( Data/Vector/Primitive.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Primitive.o ) -[16 of 21] Compiling Data.Vector.Storable.Internal ( Data/Vector/Storable/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Storable/Internal.o ) -[17 of 21] Compiling Data.Vector.Storable.Mutable ( Data/Vector/Storable/Mutable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Storable/Mutable.o ) -[18 of 21] Compiling Data.Vector.Storable ( Data/Vector/Storable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Storable.o ) -[19 of 21] Compiling Data.Vector.Unboxed.Base ( Data/Vector/Unboxed/Base.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Unboxed/Base.o ) -[20 of 21] Compiling Data.Vector.Unboxed ( Data/Vector/Unboxed.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Unboxed.o ) -[21 of 21] Compiling Data.Vector.Unboxed.Mutable ( Data/Vector/Unboxed/Mutable.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Vector/Unboxed/Mutable.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/vector-0.12.0.3-2LEYu9M2i7lERDtz76XG3n -Registering library for vector-0.12.0.3.. diff --git a/.stack-work/logs/void-0.7.3.log b/.stack-work/logs/void-0.7.3.log deleted file mode 100644 index e5121af..0000000 --- a/.stack-work/logs/void-0.7.3.log +++ /dev/null @@ -1,6 +0,0 @@ -Configuring void-0.7.3... -Preprocessing library for void-0.7.3.. -Building library for void-0.7.3.. -[1 of 1] Compiling Data.Void.Unsafe ( src/Data/Void/Unsafe.hs, .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/build/Data/Void/Unsafe.o ) -Installing library in /home/sv/.stack/snapshots/x86_64-linux/lts-13.22/8.6.5/lib/x86_64-linux-ghc-8.6.5/void-0.7.3-5xXWQQsTYbKFlr3KfNvyL8 -Registering library for void-0.7.3.. -- cgit v1.2.3 From 04f5e6626202e97de12d7f26986cc68e7fdde902 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Thu, 30 May 2019 13:07:37 -0400 Subject: improved ghc-options --- 8queens.cabal | 1 + 1 file changed, 1 insertion(+) diff --git a/8queens.cabal b/8queens.cabal index be1e2b2..45f38f8 100644 --- a/8queens.cabal +++ b/8queens.cabal @@ -14,6 +14,7 @@ cabal-version: >=1.10 extra-source-files: README.md executable 8queens + ghc-options: -O2 -W -Wall -threaded -rtsopts -with-rtsopts=-N hs-source-dirs: src main-is: Main.hs default-language: Haskell2010 -- cgit v1.2.3