├── .gitignore ├── graph └── parse_time.gv ├── ib-api-0.1.0.0 └── package.cache ├── Setup.hs.backup ├── ex ├── ib-api-0.1.0.0 │ └── package.cache └── Main.hs ├── src └── IB │ ├── Client │ ├── ib-api-0.1.0.0 │ │ └── package.cache │ ├── Nums.hs │ ├── Rqx.hs │ ├── Exception.hs │ └── Request.hs │ └── Client.hs ├── ib.hlint ├── .stack-work ├── install │ ├── x86_64-linux │ │ └── lts-3.20 │ │ │ └── 7.10.2 │ │ │ └── pkgdb │ │ │ └── package.cache │ └── x86_64-linux-nopie │ │ └── lts-3.20 │ │ └── 7.10.2 │ │ ├── bin │ │ └── ex │ │ ├── pkgdb │ │ ├── package.cache │ │ └── either-unwrap-1.1-9d3aa4090a40dac6b31af33e889a4154.conf │ │ ├── flag-cache │ │ ├── text-1.2.2.0-deb6153d79a7ae70c8e4b37afad85c91 │ │ ├── ib-api-0.1.0.0-00c8732eff4594efc25f1e08e172de20 │ │ ├── ib-api-0.1.0.0-08a8bee32d98db2deeeb58a5e9a8c4f4 │ │ ├── ib-api-0.1.0.0-1f11b624c146a4c106c9f0335e65bad4 │ │ ├── ib-api-0.1.0.0-2eeeae921bb077169982cf9f0dfb4cc1 │ │ ├── ib-api-0.1.0.0-3d2b7bc128bf4641e60b294957f0ea82 │ │ ├── ib-api-0.1.0.0-45300ec5f8def90a8199c14b4c5e7244 │ │ ├── ib-api-0.1.0.0-5e09c35503de689679c26aa2030555b8 │ │ ├── ib-api-0.1.0.0-6d835664dbc555d4bfc0c9e6f5a82a72 │ │ ├── ib-api-0.1.0.0-99d408024b053064565d5564d2b51b66 │ │ ├── ib-api-0.1.0.0-a796d0cf9ffd674d80c6ceab51fa58d6 │ │ ├── ib-api-0.1.0.0-f9d824c23055eb93724fca1e0e211b1a │ │ ├── ib-api-0.1.0.0-f9d98fa5f4905cdb3e2e56d87571291b │ │ ├── ib-api-0.1.0.0-fd68c3a59eb87bfc45a5a24d5e5f38b4 │ │ ├── either-unwrap-1.1-9d3aa4090a40dac6b31af33e889a4154 │ │ ├── hashable-1.2.3.3-6b0cd5bc3b8764152c500bcb91fc2ae3 │ │ ├── network-2.6.2.1-5775b7a6b2773d45ba73f5345cb259c0 │ │ ├── primitive-0.6.1.0-842c44bae4dcc3c70cd2af42599ab93d │ │ ├── vector-0.10.12.3-b8770d84e929bd6d2de76bb29215d984 │ │ ├── attoparsec-0.12.1.6-ba73a57c7084912fd5823806ca3e19e1 │ │ ├── scientific-0.3.4.4-4c242ff8516ed15c25bece1d0fdb3229 │ │ └── ansi-terminal-0.6.2.3-f6781f0f2767df49990dd6b9a0469daa │ │ ├── lib │ │ └── x86_64-linux-ghc-7.10.2 │ │ │ ├── ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr │ │ │ ├── IB │ │ │ │ ├── Client.hi │ │ │ │ ├── Client.dyn_hi │ │ │ │ └── Client │ │ │ │ │ ├── Nums.hi │ │ │ │ │ ├── Parser.hi │ │ │ │ │ ├── Request.hi │ │ │ │ │ ├── Types.hi │ │ │ │ │ ├── Exception.hi │ │ │ │ │ ├── Nums.dyn_hi │ │ │ │ │ ├── Types.dyn_hi │ │ │ │ │ ├── Parser.dyn_hi │ │ │ │ │ ├── Request.dyn_hi │ │ │ │ │ └── Exception.dyn_hi │ │ │ ├── libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr.a │ │ │ └── libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr-ghc7.10.2.so │ │ │ ├── ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ │ │ │ ├── IB │ │ │ │ ├── Client.hi │ │ │ │ ├── Client.dyn_hi │ │ │ │ └── Client │ │ │ │ │ ├── Nums.hi │ │ │ │ │ ├── Parser.hi │ │ │ │ │ ├── Request.hi │ │ │ │ │ ├── Types.hi │ │ │ │ │ ├── Exception.hi │ │ │ │ │ ├── Nums.dyn_hi │ │ │ │ │ ├── Types.dyn_hi │ │ │ │ │ ├── Parser.dyn_hi │ │ │ │ │ ├── Request.dyn_hi │ │ │ │ │ └── Exception.dyn_hi │ │ │ ├── libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ.a │ │ │ └── libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ-ghc7.10.2.so │ │ │ ├── ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH │ │ │ ├── IB │ │ │ │ ├── Client.hi │ │ │ │ ├── Client.dyn_hi │ │ │ │ └── Client │ │ │ │ │ ├── Nums.hi │ │ │ │ │ ├── Parser.hi │ │ │ │ │ ├── Request.hi │ │ │ │ │ ├── Types.hi │ │ │ │ │ ├── Exception.hi │ │ │ │ │ ├── Nums.dyn_hi │ │ │ │ │ ├── Types.dyn_hi │ │ │ │ │ ├── Parser.dyn_hi │ │ │ │ │ ├── Request.dyn_hi │ │ │ │ │ └── Exception.dyn_hi │ │ │ ├── libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH.a │ │ │ └── libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH-ghc7.10.2.so │ │ │ ├── ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH │ │ │ ├── IB │ │ │ │ ├── Client.hi │ │ │ │ ├── Client.dyn_hi │ │ │ │ └── Client │ │ │ │ │ ├── Nums.hi │ │ │ │ │ ├── Parser.hi │ │ │ │ │ ├── Request.hi │ │ │ │ │ ├── Types.hi │ │ │ │ │ ├── Exception.hi │ │ │ │ │ ├── Nums.dyn_hi │ │ │ │ │ ├── Types.dyn_hi │ │ │ │ │ ├── Parser.dyn_hi │ │ │ │ │ ├── Request.dyn_hi │ │ │ │ │ └── Exception.dyn_hi │ │ │ ├── libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH.a │ │ │ └── libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH-ghc7.10.2.so │ │ │ └── either-unwrap-1.1-H0faPsQltIkArj80A84KxG │ │ │ ├── Data │ │ │ └── Either │ │ │ │ ├── Unwrap.hi │ │ │ │ └── Unwrap.dyn_hi │ │ │ ├── libHSeither-unwrap-1.1-H0faPsQltIkArj80A84KxG.a │ │ │ └── libHSeither-unwrap-1.1-H0faPsQltIkArj80A84KxG-ghc7.10.2.so │ │ └── doc │ │ └── either-unwrap-1.1 │ │ └── LICENSE ├── dist │ └── x86_64-linux-nopie │ │ └── Cabal-1.22.4.0 │ │ ├── package.conf.inplace │ │ └── package.cache │ │ ├── build │ │ ├── ex │ │ │ ├── ex │ │ │ └── ex-tmp │ │ │ │ ├── Main.o │ │ │ │ ├── Main.hi │ │ │ │ └── ex │ │ │ │ └── Main.dump-hi │ │ ├── IB │ │ │ ├── Client.o │ │ │ ├── Client.hi │ │ │ ├── Client.dyn_hi │ │ │ ├── Client.dyn_o │ │ │ └── Client │ │ │ │ ├── Nums.o │ │ │ │ ├── Nums.hi │ │ │ │ ├── Parser.hi │ │ │ │ ├── Parser.o │ │ │ │ ├── Request.o │ │ │ │ ├── Types.hi │ │ │ │ ├── Types.o │ │ │ │ ├── Exception.o │ │ │ │ ├── Nums.dyn_hi │ │ │ │ ├── Nums.dyn_o │ │ │ │ ├── Request.hi │ │ │ │ ├── Types.dyn_o │ │ │ │ ├── Exception.hi │ │ │ │ ├── Parser.dyn_hi │ │ │ │ ├── Parser.dyn_o │ │ │ │ ├── Request.dyn_hi │ │ │ │ ├── Request.dyn_o │ │ │ │ ├── Types.dyn_hi │ │ │ │ ├── Exception.dyn_hi │ │ │ │ └── Exception.dyn_o │ │ ├── libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr.a │ │ ├── libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ.a │ │ ├── libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH.a │ │ ├── libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH.a │ │ ├── libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr-ghc7.10.2.so │ │ ├── libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ-ghc7.10.2.so │ │ ├── libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH-ghc7.10.2.so │ │ ├── libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH-ghc7.10.2.so │ │ ├── autogen │ │ │ ├── Paths_ib_api.hs │ │ │ └── cabal_macros.h │ │ └── src │ │ │ └── IB │ │ │ ├── Client │ │ │ └── Nums.dump-hi │ │ │ └── Client.dump-hi │ │ ├── setup-config │ │ ├── stack-cabal-mod │ │ ├── stack-build-cache │ │ └── stack-config-cache └── logs │ ├── either-unwrap-1.1.log │ ├── ansi-terminal-0.6.2.3.log │ ├── scientific-0.3.4.4.log │ ├── hashable-1.2.3.3.log │ ├── primitive-0.6.1.0.log │ ├── attoparsec-0.12.1.6.log │ ├── vector-0.10.12.3.log │ ├── text-1.2.2.0.log │ └── network-2.6.2.1.log ├── stack.yaml ├── README.md └── ib-api.cabal /.gitignore: -------------------------------------------------------------------------------- 1 | ./stack-work 2 | -------------------------------------------------------------------------------- /graph/parse_time.gv: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ib-api-0.1.0.0/package.cache: -------------------------------------------------------------------------------- 1 | ghcpkg -------------------------------------------------------------------------------- /Setup.hs.backup: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /ex/ib-api-0.1.0.0/package.cache: -------------------------------------------------------------------------------- 1 | ghcpkg -------------------------------------------------------------------------------- /src/IB/Client/ib-api-0.1.0.0/package.cache: -------------------------------------------------------------------------------- 1 | ghcpkg -------------------------------------------------------------------------------- /ib.hlint: -------------------------------------------------------------------------------- 1 | import "hint" HLint.HLint 2 | ignore "Use camelCase" 3 | ignore "Reduce duplication" 4 | 5 | -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux/lts-3.20/7.10.2/pkgdb/package.cache: -------------------------------------------------------------------------------- 1 | ghcpkg -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/package.conf.inplace/package.cache: -------------------------------------------------------------------------------- 1 | ghcpkg -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/bin/ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/bin/ex -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/ex/ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/ex/ex -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/setup-config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/setup-config -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/stack-cabal-mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/stack-cabal-mod -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client.o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/stack-build-cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/stack-build-cache -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client.hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/stack-config-cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/stack-config-cache -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client.dyn_hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client.dyn_o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client.dyn_o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Nums.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Nums.o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/ex/ex-tmp/Main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/ex/ex-tmp/Main.o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Nums.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Nums.hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Parser.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Parser.hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Parser.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Parser.o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Request.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Request.o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Types.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Types.hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Types.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Types.o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/ex/ex-tmp/Main.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/ex/ex-tmp/Main.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/pkgdb/package.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/pkgdb/package.cache -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Exception.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Exception.o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Nums.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Nums.dyn_hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Nums.dyn_o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Nums.dyn_o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Request.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Request.hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Types.dyn_o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Types.dyn_o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Exception.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Exception.hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Parser.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Parser.dyn_hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Parser.dyn_o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Parser.dyn_o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Request.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Request.dyn_hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Request.dyn_o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Request.dyn_o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Types.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Types.dyn_hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Exception.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Exception.dyn_hi -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Exception.dyn_o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/IB/Client/Exception.dyn_o -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr.a -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ.a -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH.a -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH.a -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/text-1.2.2.0-deb6153d79a7ae70c8e4b37afad85c91: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/text-1.2.2.0-deb6153d79a7ae70c8e4b37afad85c91 -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-00c8732eff4594efc25f1e08e172de20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-00c8732eff4594efc25f1e08e172de20 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-08a8bee32d98db2deeeb58a5e9a8c4f4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-08a8bee32d98db2deeeb58a5e9a8c4f4 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-1f11b624c146a4c106c9f0335e65bad4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-1f11b624c146a4c106c9f0335e65bad4 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-2eeeae921bb077169982cf9f0dfb4cc1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-2eeeae921bb077169982cf9f0dfb4cc1 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-3d2b7bc128bf4641e60b294957f0ea82: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-3d2b7bc128bf4641e60b294957f0ea82 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-45300ec5f8def90a8199c14b4c5e7244: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-45300ec5f8def90a8199c14b4c5e7244 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-5e09c35503de689679c26aa2030555b8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-5e09c35503de689679c26aa2030555b8 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-6d835664dbc555d4bfc0c9e6f5a82a72: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-6d835664dbc555d4bfc0c9e6f5a82a72 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-99d408024b053064565d5564d2b51b66: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-99d408024b053064565d5564d2b51b66 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-a796d0cf9ffd674d80c6ceab51fa58d6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-a796d0cf9ffd674d80c6ceab51fa58d6 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-f9d824c23055eb93724fca1e0e211b1a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-f9d824c23055eb93724fca1e0e211b1a -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-f9d98fa5f4905cdb3e2e56d87571291b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-f9d98fa5f4905cdb3e2e56d87571291b -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-fd68c3a59eb87bfc45a5a24d5e5f38b4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ib-api-0.1.0.0-fd68c3a59eb87bfc45a5a24d5e5f38b4 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/either-unwrap-1.1-9d3aa4090a40dac6b31af33e889a4154: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/either-unwrap-1.1-9d3aa4090a40dac6b31af33e889a4154 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/hashable-1.2.3.3-6b0cd5bc3b8764152c500bcb91fc2ae3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/hashable-1.2.3.3-6b0cd5bc3b8764152c500bcb91fc2ae3 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/network-2.6.2.1-5775b7a6b2773d45ba73f5345cb259c0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/network-2.6.2.1-5775b7a6b2773d45ba73f5345cb259c0 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/primitive-0.6.1.0-842c44bae4dcc3c70cd2af42599ab93d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/primitive-0.6.1.0-842c44bae4dcc3c70cd2af42599ab93d -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/vector-0.10.12.3-b8770d84e929bd6d2de76bb29215d984: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/vector-0.10.12.3-b8770d84e929bd6d2de76bb29215d984 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/attoparsec-0.12.1.6-ba73a57c7084912fd5823806ca3e19e1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/attoparsec-0.12.1.6-ba73a57c7084912fd5823806ca3e19e1 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/scientific-0.3.4.4-4c242ff8516ed15c25bece1d0fdb3229: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/scientific-0.3.4.4-4c242ff8516ed15c25bece1d0fdb3229 -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ansi-terminal-0.6.2.3-f6781f0f2767df49990dd6b9a0469daa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/flag-cache/ansi-terminal-0.6.2.3-f6781f0f2767df49990dd6b9a0469daa -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Nums.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Nums.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Nums.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Nums.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Nums.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Nums.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Nums.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Nums.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Parser.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Parser.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Request.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Request.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Types.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Types.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Parser.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Parser.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Request.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Request.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Types.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Types.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Parser.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Parser.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Request.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Request.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Types.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Types.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Parser.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Parser.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Request.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Request.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Types.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Types.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Exception.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Exception.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Nums.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Nums.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Types.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Types.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Exception.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Exception.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Nums.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Nums.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Types.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Types.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Exception.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Exception.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Nums.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Nums.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Types.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Types.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Exception.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Exception.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Nums.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Nums.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Types.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Types.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG/Data/Either/Unwrap.hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG/Data/Either/Unwrap.hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Parser.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Parser.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Request.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Request.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Parser.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Parser.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Request.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Request.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Parser.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Parser.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Request.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Request.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Parser.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Parser.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Request.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Request.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Exception.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/IB/Client/Exception.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Exception.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/IB/Client/Exception.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Exception.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/IB/Client/Exception.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Exception.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/IB/Client/Exception.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG/Data/Either/Unwrap.dyn_hi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG/Data/Either/Unwrap.dyn_hi -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr.a -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ.a -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH.a -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH.a -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG/libHSeither-unwrap-1.1-H0faPsQltIkArj80A84KxG.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG/libHSeither-unwrap-1.1-H0faPsQltIkArj80A84KxG.a -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr/libHSib-api-0.1.0.0-12Bx7BeWFBNGVCOGKFWmXr-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ/libHSib-api-0.1.0.0-46JPSLS9FsjFbZss2KrKLZ-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH/libHSib-api-0.1.0.0-8UABycFcrdBBDxdcKt2jRH-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH/libHSib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG/libHSeither-unwrap-1.1-H0faPsQltIkArj80A84KxG-ghc7.10.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rbermani/ib-api/HEAD/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG/libHSeither-unwrap-1.1-H0faPsQltIkArj80A84KxG-ghc7.10.2.so -------------------------------------------------------------------------------- /.stack-work/logs/either-unwrap-1.1.log: -------------------------------------------------------------------------------- 1 | Configuring either-unwrap-1.1... 2 | Building either-unwrap-1.1... 3 | Preprocessing library either-unwrap-1.1... 4 | [1 of 1] Compiling Data.Either.Unwrap ( Data/Either/Unwrap.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Either/Unwrap.o ) 5 | In-place registering either-unwrap-1.1... 6 | Installing library in 7 | /home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG 8 | Registering either-unwrap-1.1... 9 | -------------------------------------------------------------------------------- /.stack-work/logs/ansi-terminal-0.6.2.3.log: -------------------------------------------------------------------------------- 1 | Configuring ansi-terminal-0.6.2.3... 2 | Building ansi-terminal-0.6.2.3... 3 | Preprocessing library ansi-terminal-0.6.2.3... 4 | [1 of 3] Compiling System.Console.ANSI.Common ( System/Console/ANSI/Common.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/System/Console/ANSI/Common.o ) 5 | [2 of 3] Compiling System.Console.ANSI.Unix ( System/Console/ANSI/Unix.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/System/Console/ANSI/Unix.o ) 6 | [3 of 3] Compiling System.Console.ANSI ( System/Console/ANSI.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/System/Console/ANSI.o ) 7 | In-place registering ansi-terminal-0.6.2.3... 8 | Installing library in 9 | /home/phage/.stack/snapshots/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ansi-terminal-0.6.2.3-KW0LUY2zB7JCYzE4ZYrwBg 10 | Registering ansi-terminal-0.6.2.3... 11 | -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/pkgdb/either-unwrap-1.1-9d3aa4090a40dac6b31af33e889a4154.conf: -------------------------------------------------------------------------------- 1 | name: either-unwrap 2 | version: 1.1 3 | id: either-unwrap-1.1-9d3aa4090a40dac6b31af33e889a4154 4 | key: eithe_H0faPsQltIkArj80A84KxG 5 | license: BSD3 6 | maintainer: Gregory Crosswhite 7 | homepage: http://github.com/gcross/either-unwrap 8 | synopsis: Functions for probing and unwrapping values inside of Either. 9 | description: 10 | Functions for probing and unwrapping values inside of Either. 11 | category: Data 12 | author: Gregory Crosswhite 13 | exposed: True 14 | exposed-modules: 15 | Data.Either.Unwrap 16 | trusted: False 17 | import-dirs: /home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG 18 | library-dirs: /home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/either-unwrap-1.1-H0faPsQltIkArj80A84KxG 19 | data-dir: /home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/share/x86_64-linux-ghc-7.10.2/either-unwrap-1.1 20 | hs-libraries: HSeither-unwrap-1.1-H0faPsQltIkArj80A84KxG 21 | depends: 22 | base-4.8.1.0-4f7206fd964c629946bb89db72c80011 23 | haddock-interfaces: /home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/doc/either-unwrap-1.1/either-unwrap.haddock 24 | haddock-html: /home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/doc/either-unwrap-1.1 25 | -------------------------------------------------------------------------------- /.stack-work/logs/scientific-0.3.4.4.log: -------------------------------------------------------------------------------- 1 | Configuring scientific-0.3.4.4... 2 | Building scientific-0.3.4.4... 3 | Preprocessing library scientific-0.3.4.4... 4 | [1 of 7] Compiling GHC.Integer.Logarithms.Compat ( src/GHC/Integer/Logarithms/Compat.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/GHC/Integer/Logarithms/Compat.o ) 5 | [2 of 7] Compiling Utils ( src/Utils.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Utils.o ) 6 | [3 of 7] Compiling GHC.Integer.Compat ( src/GHC/Integer/Compat.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/GHC/Integer/Compat.o ) 7 | [4 of 7] Compiling Math.NumberTheory.Logarithms ( src/Math/NumberTheory/Logarithms.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Math/NumberTheory/Logarithms.o ) 8 | [5 of 7] Compiling Data.Scientific ( src/Data/Scientific.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Scientific.o ) 9 | [6 of 7] Compiling Data.Text.Lazy.Builder.Scientific ( src/Data/Text/Lazy/Builder/Scientific.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy/Builder/Scientific.o ) 10 | [7 of 7] Compiling Data.ByteString.Builder.Scientific ( src/Data/ByteString/Builder/Scientific.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/ByteString/Builder/Scientific.o ) 11 | In-place registering scientific-0.3.4.4... 12 | Installing library in 13 | /home/phage/.stack/snapshots/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/scientific-0.3.4.4-3wyQhsIn3IzCO2Fl73SRM1 14 | Registering scientific-0.3.4.4... 15 | -------------------------------------------------------------------------------- /.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/doc/either-unwrap-1.1/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 Gregory M. Crosswhite 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions 6 | are met: 7 | 1. Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 2. Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | 3. Neither the name of the author nor the names of his contributors 13 | may be used to endorse or promote products derived from this software 14 | without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND 17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 | SUCH DAMAGE. 27 | -------------------------------------------------------------------------------- /.stack-work/logs/hashable-1.2.3.3.log: -------------------------------------------------------------------------------- 1 | Configuring hashable-1.2.3.3... 2 | Building hashable-1.2.3.3... 3 | Preprocessing library hashable-1.2.3.3... 4 | [1 of 3] Compiling Data.Hashable.Class ( Data/Hashable/Class.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Hashable/Class.o ) 5 | 6 | Data/Hashable/Class.hs:54:1: Warning: 7 | The import of ‘Word’ from module ‘Data.Word’ is redundant 8 | 9 | Data/Hashable/Class.hs:218:11: Warning: 10 | In the use of ‘bitSize’ (imported from Data.Bits): 11 | Deprecated: "Use 'bitSizeMaybe' or 'finiteBitSize' instead" 12 | 13 | Data/Hashable/Class.hs:241:11: Warning: 14 | In the use of ‘bitSize’ (imported from Data.Bits): 15 | Deprecated: "Use 'bitSizeMaybe' or 'finiteBitSize' instead" 16 | 17 | Data/Hashable/Class.hs:420:28: Warning: 18 | In the use of ‘B.inlinePerformIO’ 19 | (imported from Data.ByteString.Internal): 20 | Deprecated: "If you think you know what you are doing, use 'unsafePerformIO'. If you are sure you know what you are doing, use 'unsafeDupablePerformIO'. If you enjoy sharing an address space with a malevolent agent of chaos, try 'accursedUnutterablePerformIO'." 21 | [2 of 3] Compiling Data.Hashable.Generic ( Data/Hashable/Generic.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Hashable/Generic.o ) 22 | 23 | Data/Hashable/Generic.hs:20:1: Warning: 24 | The import of ‘Bits’ from module ‘Data.Bits’ is redundant 25 | [3 of 3] Compiling Data.Hashable ( Data/Hashable.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Hashable.o ) 26 | In-place registering hashable-1.2.3.3... 27 | Installing library in 28 | /home/phage/.stack/snapshots/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/hashable-1.2.3.3-Fu46I2eA9YPGrMUpXqnAaw 29 | Registering hashable-1.2.3.3... 30 | -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/autogen/Paths_ib_api.hs: -------------------------------------------------------------------------------- 1 | module Paths_ib_api ( 2 | version, 3 | getBinDir, getLibDir, getDataDir, getLibexecDir, 4 | getDataFileName, getSysconfDir 5 | ) where 6 | 7 | import qualified Control.Exception as Exception 8 | import Data.Version (Version(..)) 9 | import System.Environment (getEnv) 10 | import Prelude 11 | 12 | catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a 13 | catchIO = Exception.catch 14 | 15 | version :: Version 16 | version = Version [0,1,0,0] [] 17 | bindir, libdir, datadir, libexecdir, sysconfdir :: FilePath 18 | 19 | bindir = "/home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/bin" 20 | libdir = "/home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0-FYtdachWwYX1Bggz8sQPyH" 21 | datadir = "/home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/share/x86_64-linux-ghc-7.10.2/ib-api-0.1.0.0" 22 | libexecdir = "/home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/libexec" 23 | sysconfdir = "/home/phage/workspace/ib-api/.stack-work/install/x86_64-linux-nopie/lts-3.20/7.10.2/etc" 24 | 25 | getBinDir, getLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath 26 | getBinDir = catchIO (getEnv "ib_api_bindir") (\_ -> return bindir) 27 | getLibDir = catchIO (getEnv "ib_api_libdir") (\_ -> return libdir) 28 | getDataDir = catchIO (getEnv "ib_api_datadir") (\_ -> return datadir) 29 | getLibexecDir = catchIO (getEnv "ib_api_libexecdir") (\_ -> return libexecdir) 30 | getSysconfDir = catchIO (getEnv "ib_api_sysconfdir") (\_ -> return sysconfdir) 31 | 32 | getDataFileName :: FilePath -> IO FilePath 33 | getDataFileName name = do 34 | dir <- getDataDir 35 | return (dir ++ "/" ++ name) 36 | -------------------------------------------------------------------------------- /src/IB/Client/Nums.hs: -------------------------------------------------------------------------------- 1 | 2 | module IB.Client.Nums where 3 | 4 | no_valid_id = -1 :: Int 5 | no_valid_error_code = 0 :: Int 6 | 7 | client_version = 63 :: Int 8 | server_version = 38 :: Int 9 | 10 | min_server_ver_pta_orders = 39 :: Int 11 | min_server_ver_fundamental_data = 40 :: Int 12 | min_server_ver_under_comp = 40 :: Int 13 | min_server_ver_contract_data_chain = 40 :: Int 14 | min_server_ver_scale_orders2 = 40 :: Int 15 | min_server_ver_algo_orders = 41 :: Int 16 | min_server_ver_execution_data_chain = 42 :: Int 17 | min_server_ver_not_held = 44 :: Int 18 | min_server_ver_sec_id_type = 45 :: Int 19 | min_server_ver_place_order_conid = 46 :: Int 20 | min_server_ver_req_mkt_data_conid = 47 :: Int 21 | min_server_ver_req_calc_implied_volat = 49 :: Int 22 | min_server_ver_req_calc_option_price = 50 :: Int 23 | min_server_ver_cancel_calc_implied_volat = 50 :: Int 24 | min_server_ver_cancel_calc_option_price = 50 :: Int 25 | min_server_ver_sshortx_old = 51 :: Int 26 | min_server_ver_sshortx = 52 :: Int 27 | min_server_ver_req_global_cancel = 53 :: Int 28 | min_server_ver_hedge_orders = 54 :: Int 29 | min_server_ver_req_market_data_type = 55 :: Int 30 | min_server_ver_opt_out_smart_routing = 56 :: Int 31 | min_server_ver_smart_combo_routing_params = 57 :: Int 32 | min_server_ver_delta_neutral_conid = 58 :: Int 33 | min_server_ver_scale_orders3 = 60 :: Int 34 | min_server_ver_order_combo_legs_price = 61 :: Int 35 | min_server_ver_trailing_percent = 62 :: Int 36 | min_server_ver_delta_neutral_open_close = 66 :: Int 37 | min_server_ver_positions = 67 :: Int 38 | min_server_ver_account_summary = 67 :: Int 39 | min_server_ver_trading_class = 68 :: Int 40 | min_server_ver_scale_table = 69 :: Int 41 | min_server_ver_linking = 70 :: Int 42 | 43 | -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- 1 | # This file was automatically generated by 'stack init' 2 | # 3 | # Some commonly used options have been documented as comments in this file. 4 | # For advanced use and comprehensive documentation of the format, please see: 5 | # https://docs.haskellstack.org/en/stable/yaml_configuration/ 6 | 7 | # Resolver to choose a 'specific' stackage snapshot or a compiler version. 8 | # A snapshot resolver dictates the compiler version and the set of packages 9 | # to be used for project dependencies. For example: 10 | # 11 | # resolver: lts-3.5 12 | # resolver: nightly-2015-09-21 13 | # resolver: ghc-7.10.2 14 | # resolver: ghcjs-0.1.0_ghc-7.10.2 15 | # resolver: 16 | # name: custom-snapshot 17 | # location: "./custom-snapshot.yaml" 18 | resolver: lts-3.20 19 | 20 | # User packages to be built. 21 | # Various formats can be used as shown in the example below. 22 | # 23 | # packages: 24 | # - some-directory 25 | # - https://example.com/foo/bar/baz-0.0.2.tar.gz 26 | # - location: 27 | # git: https://github.com/commercialhaskell/stack.git 28 | # commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a 29 | # - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a 30 | # extra-dep: true 31 | # subdirs: 32 | # - auto-update 33 | # - wai 34 | # 35 | # A package marked 'extra-dep: true' will only be built if demanded by a 36 | # non-dependency (i.e. a user package), and its test suites and benchmarks 37 | # will not be run. This is useful for tweaking upstream packages. 38 | packages: 39 | - . 40 | # Dependency packages to be pulled from upstream that are not in the resolver 41 | # (e.g., acme-missiles-0.3) 42 | extra-deps: 43 | - either-unwrap-1.1 44 | 45 | 46 | # Override default flag values for local packages and extra-deps 47 | flags: {} 48 | 49 | # Extra package databases containing global packages 50 | extra-package-dbs: 51 | - ib-api-0.1.0.0 52 | 53 | # Control whether we use the GHC we find on the path 54 | # system-ghc: true 55 | # 56 | # Require a specific version of stack, using version ranges 57 | # require-stack-version: -any # Default 58 | # require-stack-version: ">=1.5" 59 | # 60 | # Override the architecture used by stack, especially useful on Windows 61 | # arch: i386 62 | # arch: x86_64 63 | # 64 | # Extra directories used by stack for building 65 | # extra-include-dirs: [/path/to/dir] 66 | # extra-lib-dirs: [/path/to/dir] 67 | # 68 | # Allow a newer minor version of GHC than the snapshot specifies 69 | # compiler-check: newer-minor 70 | -------------------------------------------------------------------------------- /src/IB/Client/Rqx.hs: -------------------------------------------------------------------------------- 1 | module IB.Client.Rqx where 2 | 3 | 4 | import Control.Concurrent (forkIO, threadDelay) 5 | import Control.Concurrent.MVar 6 | import Control.Exception 7 | import Control.Monad 8 | import Data.Attoparsec.ByteString.Char8 hiding (try) 9 | import Data.Bits 10 | import qualified Network.Socket as S hiding (send, recv, sendTo, recvFrom) 11 | import Network.Socket.ByteString 12 | import Network.BSD 13 | import Data.List 14 | import System.Timeout 15 | import System.IO 16 | import qualified Data.ByteString.Char8 as B 17 | import Data.Maybe 18 | import System.Posix.Time 19 | import System.Posix.Types 20 | import Foreign.C.Types 21 | import Data.IORef 22 | 23 | import IB.Client.Types 24 | import IB.Client.Nums 25 | import IB.Client.Request 26 | import IB.Client.Exception 27 | import IB.Client.Parser 28 | import IB.Client 29 | 30 | -- Modificaton by Phage Ky 31 | import Data.Time.Calendar(toGregorian) 32 | import Data.Time.Clock(utctDay,UTCTime) 33 | import Data.Time.Clock.POSIX(posixSecondsToUTCTime) 34 | import System.Console.ANSI 35 | 36 | 37 | 38 | 39 | 40 | data Rqx = Tx 41 | | Acct 42 | | Price 43 | 44 | 45 | 46 | handleMsg :: MIB -> IBMessage -> IO () 47 | handleMsg msv (CurrentTime time) = 48 | do s <- readMVar msv 49 | putStrLn $ "Current Time Response Received " ++ show time 50 | handleMsg msv (ManagedAccts acct) = 51 | do putStrLn $ "Managed Accts: " ++ acct 52 | handleMsg msv msg = putStrLn $ "Catch-all handler called for " ++ show msg 53 | 54 | 55 | 56 | 57 | timeLogic :: MIB -> IO () 58 | timeLogic msv = 59 | do checkMsg msv False 60 | s <- readMVar msv 61 | 62 | CTime ptime <- epochTime 63 | when (s_connected s) $ 64 | do putStrLn $ "Inside do block: " ++ show (toInteger ptime) 65 | setSGR [SetColor Foreground Vivid Yellow] 66 | putStrLn " *** Sending Request to IB-TWS ..." 67 | request s CurrentTimeReq 68 | checkMsg msv False 69 | hClose (fromJust $ s_sock s) 70 | putStrLn "... IB-TWS Connection Close" 71 | -- threadDelay (10^8) 72 | -- businessLogic msv 73 | 74 | 75 | rqx :: Rqx -> IO () 76 | rqx Tx = 77 | do clearScreen >> setCursorPosition 0 0 78 | result <- connect defaultConf { cc_handler = Just handleMsg } False True 79 | case result of 80 | Left err -> putStrLn "Unable to Connect" 81 | Right msv -> do setSGR [] 82 | setSGR [SetColor Foreground Vivid Yellow] 83 | putStrLn " *** Connection Sucessful ..." 84 | putStrLn " *** API is now ON - commence trading ... " 85 | checkMsg msv False 86 | timeLogic msv 87 | 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /.stack-work/logs/primitive-0.6.1.0.log: -------------------------------------------------------------------------------- 1 | Configuring primitive-0.6.1.0... 2 | Building primitive-0.6.1.0... 3 | Preprocessing library primitive-0.6.1.0... 4 | [ 1 of 10] Compiling Data.Primitive.Internal.Compat ( Data/Primitive/Internal/Compat.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive/Internal/Compat.o ) 5 | [ 2 of 10] Compiling Data.Primitive.MachDeps ( Data/Primitive/MachDeps.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive/MachDeps.o ) 6 | [ 3 of 10] Compiling Data.Primitive.Internal.Operations ( Data/Primitive/Internal/Operations.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive/Internal/Operations.o ) 7 | [ 4 of 10] Compiling Control.Monad.Primitive ( Control/Monad/Primitive.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Control/Monad/Primitive.o ) 8 | 9 | Control/Monad/Primitive.hs:41:1: Warning: 10 | Module ‘Control.Monad.Trans.Error’ is deprecated: 11 | Use Control.Monad.Trans.Except instead 12 | 13 | Control/Monad/Primitive.hs:100:11: Warning: 14 | In the use of type constructor or class ‘Error’ 15 | (imported from Control.Monad.Trans.Error): 16 | Deprecated: "Use Control.Monad.Trans.Except instead" 17 | 18 | Control/Monad/Primitive.hs:100:47: Warning: 19 | In the use of type constructor or class ‘ErrorT’ 20 | (imported from Control.Monad.Trans.Error): 21 | Deprecated: "Use Control.Monad.Trans.Except instead" 22 | 23 | Control/Monad/Primitive.hs:101:19: Warning: 24 | In the use of type constructor or class ‘ErrorT’ 25 | (imported from Control.Monad.Trans.Error): 26 | Deprecated: "Use Control.Monad.Trans.Except instead" 27 | [ 5 of 10] Compiling Data.Primitive.Types ( Data/Primitive/Types.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive/Types.o ) 28 | [ 6 of 10] Compiling Data.Primitive.Array ( Data/Primitive/Array.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive/Array.o ) 29 | [ 7 of 10] Compiling Data.Primitive.ByteArray ( Data/Primitive/ByteArray.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive/ByteArray.o ) 30 | [ 8 of 10] Compiling Data.Primitive.Addr ( Data/Primitive/Addr.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive/Addr.o ) 31 | [ 9 of 10] Compiling Data.Primitive ( Data/Primitive.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive.o ) 32 | [10 of 10] Compiling Data.Primitive.MutVar ( Data/Primitive/MutVar.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Primitive/MutVar.o ) 33 | In-place registering primitive-0.6.1.0... 34 | Installing library in 35 | /home/phage/.stack/snapshots/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/primitive-0.6.1.0-5Jnw7oEuYtM9dmKXelGXVb 36 | Registering primitive-0.6.1.0... 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Interactive Brokers API 2 | An API for Interactive Brokers Trader Workstation written in pure Haskell with minimal dependencies. It was based on version 9.71 of the IB API. 3 | 4 | ## Status 5 | This library is completely experimental and untested. I have not even attempted to use it to connect to TWS yet. Please use at your own risk, and if you find bugs, feel free to commit fixes. 6 | 7 | ## API Coverage 8 | 9 | The following messages are supported (in theory). 10 | 11 | ### Requests 12 | * MktDataReq 13 | * CancelMktData 14 | * PlaceOrder 15 | * CancelOrder 16 | * OpenOrdersReq 17 | * AccountUpdatesReq 18 | * ExecutionsReq 19 | * IdsReq Int 20 | * ContractDetailsReq 21 | * MktDepthReq 22 | * CancelMktDepth 23 | * NewsBulletinsReq 24 | * CancelNewsBulletins 25 | * SetServerLogLevel 26 | * AutoOpenOrdersReq 27 | * AllOpenOrdersReq 28 | * ManagedAcctsReq 29 | * FAReq 30 | * FAReplaceReq 31 | * HistoricalDataReq 32 | * ExerciseOptionsReq 33 | * ScannerSubscriptionReq 34 | * CancelScannerSubscription 35 | * ScannerParametersReq 36 | * CancelHistoricalData 37 | * CurrentTimeReq 38 | * RealTimeBarsReq 39 | * CancelRealTimeBars 40 | * FundamentalDataReq 41 | * CancelFundamentalData 42 | * ImpliedVolatilityReq 43 | * CalcOptionPriceReq 44 | * CancelCalcImpliedVolatility 45 | * CancelCalcOptionPrice 46 | * GlobalCancelReq 47 | * MarketDataTypeReq 48 | * PositionsReq 49 | * AccountSummaryReq 50 | * CancelAccountSummary 51 | * CancelPositions 52 | * VerifyReq 53 | * VerifyMessage 54 | * QueryDisplayGroups 55 | * SubscribeToGroupEvents 56 | * UpdateDisplayGroup 57 | * UnsubscribeFromGroupEvents 58 | * StartApi 59 | 60 | ### Responses 61 | * TickPrice 62 | * TickSize 63 | * OrderStatus 64 | * Err 65 | * OpenOrder 66 | * AcctValue 67 | * PortfolioValue 68 | * AcctUpdateTime 69 | * NextValidId 70 | * ContractData 71 | * ExecutionData 72 | * MarketDepth 73 | * MarketDepthL2 74 | * NewsBulletins 75 | * ManagedAccts 76 | * ReceiveFA 77 | * HistoricalData 78 | * BondContractData 79 | * ScannerParameters 80 | * ScannerData 81 | * TickOptionComputation 82 | * TickGeneric 83 | * TickString 84 | * TickEFP 85 | * CurrentTime nt 86 | * RealTimeBars 87 | * FundamentalData 88 | * ContractDataEnd 89 | * OpenOrderEnd 90 | * AcctDownloadEnd String 91 | * ExecutionDataEnd 92 | * DeltaNeutralValidation 93 | * TickSnapshotEnd 94 | * MarketDataType 95 | * CommissionReport 96 | * PositionData 97 | * PositionEnd 98 | * AccountSummary 99 | * AccountSummaryEnd 100 | * VerifyMessageAPI 101 | * VerifyCompleted 102 | * DisplayGroupList 103 | * DisplayGroupUpdated 104 | -------------------------------------------------------------------------------- /src/IB/Client/Exception.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE DeriveDataTypeable #-} 2 | 3 | module IB.Client.Exception 4 | ( 5 | -- * Types 6 | IBExceptionType(..) 7 | , IBException(..) 8 | , CodeMsgPair 9 | 10 | -- * Functions 11 | , excToPair 12 | 13 | -- * Accessors 14 | , code 15 | , msg 16 | ) where 17 | 18 | import Control.Exception 19 | import Data.Typeable 20 | 21 | type CodeMsgPair = (Int, String) 22 | 23 | data IBExceptionType 24 | = AlreadyConnected 25 | | ConnectFail 26 | | UpdateTWS 27 | | NotConnected 28 | | UnknownID 29 | | ZeroByteRead 30 | | NullStringRead 31 | | NoBytesRead 32 | | SocketException 33 | | FailCreateSock 34 | | FailConnectTWS 35 | | FailSendFARequest 36 | | FailSendFAReplace 37 | | FailSendReqScanner 38 | | FailSendCanScanner 39 | | FailSendReqScannerParameters 40 | | FailSendReqHistData 41 | | FailSendCanHistData 42 | | FailSendReqRtBars 43 | | FailSendCanRTBars 44 | | FailSendReqCurrTime 45 | | MissingHandler 46 | | ParseError 47 | | SystemError 48 | deriving (Show) 49 | 50 | data IBException = IBExc Int IBExceptionType String 51 | deriving (Show, Typeable) 52 | 53 | instance Exception IBException 54 | 55 | 56 | code :: CodeMsgPair -> Int 57 | code = fst 58 | 59 | msg :: CodeMsgPair -> String 60 | msg = snd 61 | 62 | excToPair :: IBExceptionType -> CodeMsgPair 63 | excToPair AlreadyConnected = (501, "Already connected.") 64 | excToPair ConnectFail = (502, "Couldn't connect to TWS. Confirm that \"Enable ActiveX and Socket Clients\" is enabled on the TWS \"Configure->API\" menu.") 65 | excToPair UpdateTWS = (503, "The TWS is out of date and must be upgraded.") 66 | excToPair NotConnected = (504, "Not connected") 67 | excToPair UnknownID = (505, "Fatal Error: Unknown message id.") 68 | excToPair ZeroByteRead = (506, "Unexplained zero bytes read.") 69 | excToPair NullStringRead = (507, "Null string read when expecting integer") 70 | excToPair NoBytesRead = (508, "Error: no bytes read or no null terminator found") 71 | excToPair SocketException = (509, "Exception caught while reading socket - ") 72 | excToPair FailCreateSock = (520, "Failed to create socket") 73 | excToPair FailConnectTWS = (521, "Couldn't connect to TWS.") 74 | excToPair FailSendFARequest = (522, "FA Information Request Sending Error - ") 75 | excToPair FailSendFAReplace = (523, "FA Information Replace Sending Error - ") 76 | excToPair FailSendReqScanner = (524, "Request Scanner Subscription Sending Error - ") 77 | excToPair FailSendCanScanner = (525, "Cancel Scanner Subscription Sending Error - ") 78 | excToPair FailSendReqScannerParameters = (526, "Request Scanner Parameter Sending Error - ") 79 | excToPair FailSendReqHistData = (527, "Request Historical Data Sending Error - ") 80 | excToPair FailSendCanHistData= (528, "Cancel Historical Data Sending Error - ") 81 | excToPair FailSendReqRtBars = (529, "Request Real-time Bar Data Sending Error - ") 82 | excToPair FailSendCanRTBars =(530, "Cancel Real-time Bar Data Sending Error - ") 83 | excToPair FailSendReqCurrTime = (531, "Request Current Time Sending Error - ") 84 | excToPair _ = (999, "All other Error - ") 85 | 86 | 87 | -------------------------------------------------------------------------------- /ib-api.cabal: -------------------------------------------------------------------------------- 1 | -- Initial ib-api.cabal generated by cabal init. For further 2 | -- documentation, see http://haskell.org/cabal/users-guide/ 3 | 4 | -- The name of the package. 5 | name: ib-api 6 | 7 | -- The package version. See the Haskell package versioning policy (PVP) 8 | -- for standards guiding when and how versions should be incremented. 9 | -- http://www.haskell.org/haskellwiki/Package_versioning_policy 10 | -- PVP summary: +-+------- breaking API changes 11 | -- | | +----- non-breaking API additions 12 | -- | | | +--- code changes with no API change 13 | version: 0.1.0.0 14 | 15 | -- A short (one-line) description of the package. 16 | synopsis: An API for the Interactive Brokers Trading Workstation written in pure Haskell 17 | 18 | -- A longer description of the package. 19 | -- description: 20 | 21 | -- URL for the project homepage or repository. 22 | homepage: https://github.com/rbermani/ib-api 23 | 24 | -- The license under which the package is released. 25 | license: GPL-3 26 | 27 | -- The file containing the license text. 28 | license-file: LICENSE 29 | 30 | -- The package author(s). 31 | author: Robert Bermani 32 | 33 | -- An email address to which users can send suggestions, bug reports, and 34 | -- patches. 35 | maintainer: bobbermani@gmail.com 36 | 37 | -- A copyright notice. 38 | -- copyright: 39 | 40 | category: Network 41 | 42 | build-type: Simple 43 | 44 | -- Extra files to be distributed with the package, such as examples or a 45 | -- README. 46 | -- extra-source-files: 47 | 48 | -- Constraint on the version of Cabal needed to build this package. 49 | cabal-version: >=1.10 50 | 51 | 52 | library 53 | -- Modules exported by the library. 54 | exposed-modules: IB.Client, IB.Client.Parser, IB.Client.Exception, IB.Client.Types, IB.Client.Request, IB.Client.Nums, IB.Client.Rqx 55 | 56 | -- Modules included in this library but not exported. 57 | -- other-modules: 58 | 59 | -- LANGUAGE extensions used by modules in this package. 60 | other-extensions: NamedFieldPuns, DeriveDataTypeable, BangPatterns 61 | 62 | -- Other library packages from which modules are imported. 63 | build-depends: base >=4.6 && < 6, network >=2.6 && <2.7, bytestring >=0.10 && <0.11, attoparsec >=0.12 && <0.13, either-unwrap >=1.0, time >= 1.5, ansi-terminal >= 0.6 64 | 65 | -- Directories containing source files. 66 | hs-source-dirs: src 67 | 68 | -- Base language which the package is written in. 69 | default-language: Haskell2010 70 | 71 | executable ex 72 | -- LANGUAGE extensions used by modules in this package. 73 | other-extensions: NamedFieldPuns, DeriveDataTypeable, BangPatterns 74 | 75 | main-is: Main.hs 76 | -- Other library packages from which modules are imported. 77 | build-depends: base >=4.6 && < 6, unix >=2.5.1.0 && <=2.7.1.0, ib-api <= 0.1.0.0, network >=2.6 && <2.7, bytestring >=0.10 && <0.11, attoparsec >=0.12 && <0.13, either-unwrap >= 1.0, time >= 1.5, ansi-terminal >= 0.6 78 | 79 | -- Directories containing source files. 80 | hs-source-dirs: ex 81 | 82 | -- Base language which the package is written in. 83 | default-language: Haskell2010 84 | -------------------------------------------------------------------------------- /ex/Main.hs: -------------------------------------------------------------------------------- 1 | -- Main Loop example 2 | 3 | module Main where 4 | 5 | import Control.Concurrent (forkIO, threadDelay) 6 | import Control.Concurrent.MVar 7 | import Control.Exception 8 | import Control.Monad 9 | import Data.Attoparsec.ByteString.Char8 hiding (try) 10 | import Data.Bits 11 | import qualified Network.Socket as S hiding (send, recv, sendTo, recvFrom) 12 | import Network.Socket.ByteString 13 | import Network.BSD 14 | import Data.List 15 | import System.Timeout 16 | import System.IO 17 | import qualified Data.ByteString.Char8 as B 18 | import Data.Maybe 19 | import System.Posix.Time 20 | import System.Posix.Types 21 | import Foreign.C.Types 22 | import Data.IORef 23 | 24 | import IB.Client.Types 25 | import IB.Client.Nums 26 | import IB.Client.Request 27 | import IB.Client.Exception 28 | import IB.Client.Parser 29 | import IB.Client 30 | 31 | -- Modificaton by Phage Ky 32 | import Data.Time.Calendar(toGregorian) 33 | import Data.Time.Clock(utctDay,UTCTime) 34 | import Data.Time.Clock.POSIX(posixSecondsToUTCTime) 35 | import System.Console.ANSI 36 | 37 | 38 | epochToUTC :: Integral a => a -> UTCTime 39 | epochToUTC = posixSecondsToUTCTime . fromIntegral 40 | 41 | epochToGregorian :: Integral a => a -> (Integer,Int,Int) 42 | epochToGregorian = toGregorian . utctDay . epochToUTC 43 | 44 | 45 | handleMsg :: MIB -> IBMessage -> IO () 46 | handleMsg msv (CurrentTime time) = 47 | do s <- readMVar msv 48 | putStrLn $ "Current Time Response Received " ++ show time 49 | handleMsg msv (ManagedAccts acct) = 50 | do putStrLn $ "Managed Accts: " ++ acct 51 | handleMsg msv msg = putStrLn $ "Catch-all handler called for " ++ show msg 52 | 53 | 54 | main :: IO () 55 | main = 56 | do clearScreen >> setCursorPosition 0 0 57 | result <- connect defaultConf { cc_handler = Just handleMsg } False True 58 | case result of 59 | Left err -> putStrLn "Unable to Connect" 60 | Right msv -> do setSGR [] 61 | setSGR [SetColor Foreground Vivid Yellow] 62 | putStrLn " *** Connection Sucessful ..." 63 | putStrLn " *** API is now ON - commence trading ... " 64 | checkMsg msv False 65 | businessLogic msv 66 | 67 | {-- Original Code 68 | businessLogic :: MIB -> IO () 69 | businessLogic msv = 70 | do s <- readMVar msv 71 | 72 | CTime ptime <- epochTime 73 | when (s_connected s) $ 74 | do checkMsg msv False 75 | when (((toInteger ptime) `mod` 120) == 0) $ 76 | do putStrLn $ "Inside do block: " ++ show (toInteger ptime) 77 | putStrLn "Requesting..." 78 | request s CurrentTimeReq 79 | threadDelay (10^6) 80 | businessLogic msv 81 | --} 82 | 83 | 84 | businessLogic :: MIB -> IO () 85 | businessLogic msv = 86 | do checkMsg msv False 87 | s <- readMVar msv 88 | 89 | CTime ptime <- epochTime 90 | when (s_connected s) $ 91 | do putStrLn $ "Inside do block: " ++ show (toInteger ptime) 92 | setSGR [SetColor Foreground Vivid Yellow] 93 | putStrLn " *** Sending Request to IB-TWS ..." 94 | request s CurrentTimeReq 95 | checkMsg msv False 96 | hClose (fromJust $ s_sock s) 97 | putStrLn "... IB-TWS Connection Close" 98 | -- threadDelay (10^8) 99 | -- businessLogic msv 100 | 101 | -------------------------------------------------------------------------------- /.stack-work/logs/attoparsec-0.12.1.6.log: -------------------------------------------------------------------------------- 1 | Configuring attoparsec-0.12.1.6... 2 | Building attoparsec-0.12.1.6... 3 | Preprocessing library attoparsec-0.12.1.6... 4 | [ 1 of 21] Compiling Data.Attoparsec.Text.FastSet ( Data/Attoparsec/Text/FastSet.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Text/FastSet.o ) 5 | [ 2 of 21] Compiling Data.Attoparsec.Internal.Fhthagn ( Data/Attoparsec/Internal/Fhthagn.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Internal/Fhthagn.o ) 6 | [ 3 of 21] Compiling Data.Attoparsec.Text.Buffer ( Data/Attoparsec/Text/Buffer.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Text/Buffer.o ) 7 | [ 4 of 21] Compiling Data.Attoparsec.ByteString.Buffer ( Data/Attoparsec/ByteString/Buffer.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/ByteString/Buffer.o ) 8 | [ 5 of 21] Compiling Data.Attoparsec.Zepto ( Data/Attoparsec/Zepto.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Zepto.o ) 9 | [ 6 of 21] Compiling Data.Attoparsec.Number ( Data/Attoparsec/Number.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Number.o ) 10 | [ 7 of 21] Compiling Data.Attoparsec.ByteString.FastSet ( Data/Attoparsec/ByteString/FastSet.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/ByteString/FastSet.o ) 11 | [ 8 of 21] Compiling Data.Attoparsec.Internal.Types ( Data/Attoparsec/Internal/Types.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Internal/Types.o ) 12 | [ 9 of 21] Compiling Data.Attoparsec.Types ( Data/Attoparsec/Types.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Types.o ) 13 | [10 of 21] Compiling Data.Attoparsec.Internal ( Data/Attoparsec/Internal.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Internal.o ) 14 | [11 of 21] Compiling Data.Attoparsec.Combinator ( Data/Attoparsec/Combinator.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Combinator.o ) 15 | [12 of 21] Compiling Data.Attoparsec.ByteString.Internal ( Data/Attoparsec/ByteString/Internal.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/ByteString/Internal.o ) 16 | [13 of 21] Compiling Data.Attoparsec.Text.Internal ( Data/Attoparsec/Text/Internal.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Text/Internal.o ) 17 | [14 of 21] Compiling Data.Attoparsec.Text ( Data/Attoparsec/Text.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Text.o ) 18 | [15 of 21] Compiling Data.Attoparsec.Text.Lazy ( Data/Attoparsec/Text/Lazy.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Text/Lazy.o ) 19 | [16 of 21] Compiling Data.Attoparsec.ByteString ( Data/Attoparsec/ByteString.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/ByteString.o ) 20 | [17 of 21] Compiling Data.Attoparsec.ByteString.Char8 ( Data/Attoparsec/ByteString/Char8.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/ByteString/Char8.o ) 21 | [18 of 21] Compiling Data.Attoparsec.Char8 ( Data/Attoparsec/Char8.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Char8.o ) 22 | [19 of 21] Compiling Data.Attoparsec.ByteString.Lazy ( Data/Attoparsec/ByteString/Lazy.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/ByteString/Lazy.o ) 23 | [20 of 21] Compiling Data.Attoparsec.Lazy ( Data/Attoparsec/Lazy.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec/Lazy.o ) 24 | [21 of 21] Compiling Data.Attoparsec ( Data/Attoparsec.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Attoparsec.o ) 25 | In-place registering attoparsec-0.12.1.6... 26 | Installing library in 27 | /home/phage/.stack/snapshots/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/attoparsec-0.12.1.6-8slB1TUPc0y9Z1f4ky3i2E 28 | Registering attoparsec-0.12.1.6... 29 | -------------------------------------------------------------------------------- /.stack-work/logs/vector-0.10.12.3.log: -------------------------------------------------------------------------------- 1 | Configuring vector-0.10.12.3... 2 | Building vector-0.10.12.3... 3 | Preprocessing library vector-0.10.12.3... 4 | [ 1 of 19] Compiling Data.Vector.Storable.Internal ( Data/Vector/Storable/Internal.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Storable/Internal.o ) 5 | [ 2 of 19] Compiling Data.Vector.Fusion.Util ( Data/Vector/Fusion/Util.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Fusion/Util.o ) 6 | [ 3 of 19] Compiling Data.Vector.Fusion.Stream.Size ( Data/Vector/Fusion/Stream/Size.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Fusion/Stream/Size.o ) 7 | 8 | Data/Vector/Fusion/Stream/Size.hs:25:10: Warning: 9 | No explicit implementation for 10 | ‘*’, ‘abs’, and ‘signum’ 11 | In the instance declaration for ‘Num Size’ 12 | [ 4 of 19] Compiling Data.Vector.Internal.Check ( Data/Vector/Internal/Check.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Internal/Check.o ) 13 | [ 5 of 19] Compiling Data.Vector.Fusion.Stream.Monadic ( Data/Vector/Fusion/Stream/Monadic.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Fusion/Stream/Monadic.o ) 14 | [ 6 of 19] Compiling Data.Vector.Fusion.Stream ( Data/Vector/Fusion/Stream.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Fusion/Stream.o ) 15 | [ 7 of 19] Compiling Data.Vector.Generic.Mutable ( Data/Vector/Generic/Mutable.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Generic/Mutable.o ) 16 | [ 8 of 19] Compiling Data.Vector.Generic.Base ( Data/Vector/Generic/Base.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Generic/Base.o ) 17 | [ 9 of 19] Compiling Data.Vector.Generic.New ( Data/Vector/Generic/New.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Generic/New.o ) 18 | [10 of 19] Compiling Data.Vector.Generic ( Data/Vector/Generic.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Generic.o ) 19 | [11 of 19] Compiling Data.Vector.Primitive.Mutable ( Data/Vector/Primitive/Mutable.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Primitive/Mutable.o ) 20 | [12 of 19] Compiling Data.Vector.Primitive ( Data/Vector/Primitive.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Primitive.o ) 21 | [13 of 19] Compiling Data.Vector.Storable.Mutable ( Data/Vector/Storable/Mutable.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Storable/Mutable.o ) 22 | 23 | Data/Vector/Storable/Mutable.hs:450:1: Warning: 24 | Rule "unsafeFromForeignPtr fp 0 n -> unsafeFromForeignPtr0 fp n " may never fire 25 | because ‘unsafeFromForeignPtr’ might inline first 26 | Probable fix: add an INLINE[n] or NOINLINE[n] pragma on ‘unsafeFromForeignPtr’ 27 | [14 of 19] Compiling Data.Vector.Storable ( Data/Vector/Storable.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Storable.o ) 28 | 29 | Data/Vector/Storable.hs:1398:1: Warning: 30 | Rule "unsafeFromForeignPtr fp 0 n -> unsafeFromForeignPtr0 fp n " may never fire 31 | because ‘unsafeFromForeignPtr’ might inline first 32 | Probable fix: add an INLINE[n] or NOINLINE[n] pragma on ‘unsafeFromForeignPtr’ 33 | [15 of 19] Compiling Data.Vector.Unboxed.Base ( Data/Vector/Unboxed/Base.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Unboxed/Base.o ) 34 | [16 of 19] Compiling Data.Vector.Unboxed ( Data/Vector/Unboxed.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Unboxed.o ) 35 | [17 of 19] Compiling Data.Vector.Unboxed.Mutable ( Data/Vector/Unboxed/Mutable.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Unboxed/Mutable.o ) 36 | [18 of 19] Compiling Data.Vector.Mutable ( Data/Vector/Mutable.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector/Mutable.o ) 37 | [19 of 19] Compiling Data.Vector ( Data/Vector.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Vector.o ) 38 | In-place registering vector-0.10.12.3... 39 | Installing library in 40 | /home/phage/.stack/snapshots/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/vector-0.10.12.3-JrQt7SYKOQF2foH4Ugm8MQ 41 | Registering vector-0.10.12.3... 42 | -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/autogen/cabal_macros.h: -------------------------------------------------------------------------------- 1 | /* DO NOT EDIT: This file is automatically generated by Cabal */ 2 | 3 | /* package ansi-terminal-0.6.2.3 */ 4 | #define VERSION_ansi_terminal "0.6.2.3" 5 | #define MIN_VERSION_ansi_terminal(major1,major2,minor) (\ 6 | (major1) < 0 || \ 7 | (major1) == 0 && (major2) < 6 || \ 8 | (major1) == 0 && (major2) == 6 && (minor) <= 2) 9 | 10 | /* package attoparsec-0.12.1.6 */ 11 | #define VERSION_attoparsec "0.12.1.6" 12 | #define MIN_VERSION_attoparsec(major1,major2,minor) (\ 13 | (major1) < 0 || \ 14 | (major1) == 0 && (major2) < 12 || \ 15 | (major1) == 0 && (major2) == 12 && (minor) <= 1) 16 | 17 | /* package base-4.8.1.0 */ 18 | #define VERSION_base "4.8.1.0" 19 | #define MIN_VERSION_base(major1,major2,minor) (\ 20 | (major1) < 4 || \ 21 | (major1) == 4 && (major2) < 8 || \ 22 | (major1) == 4 && (major2) == 8 && (minor) <= 1) 23 | 24 | /* package bytestring-0.10.6.0 */ 25 | #define VERSION_bytestring "0.10.6.0" 26 | #define MIN_VERSION_bytestring(major1,major2,minor) (\ 27 | (major1) < 0 || \ 28 | (major1) == 0 && (major2) < 10 || \ 29 | (major1) == 0 && (major2) == 10 && (minor) <= 6) 30 | 31 | /* package either-unwrap-1.1 */ 32 | #define VERSION_either_unwrap "1.1" 33 | #define MIN_VERSION_either_unwrap(major1,major2,minor) (\ 34 | (major1) < 1 || \ 35 | (major1) == 1 && (major2) < 1 || \ 36 | (major1) == 1 && (major2) == 1 && (minor) <= 0) 37 | 38 | /* package network-2.6.2.1 */ 39 | #define VERSION_network "2.6.2.1" 40 | #define MIN_VERSION_network(major1,major2,minor) (\ 41 | (major1) < 2 || \ 42 | (major1) == 2 && (major2) < 6 || \ 43 | (major1) == 2 && (major2) == 6 && (minor) <= 2) 44 | 45 | /* package time-1.5.0.1 */ 46 | #define VERSION_time "1.5.0.1" 47 | #define MIN_VERSION_time(major1,major2,minor) (\ 48 | (major1) < 1 || \ 49 | (major1) == 1 && (major2) < 5 || \ 50 | (major1) == 1 && (major2) == 5 && (minor) <= 0) 51 | 52 | /* package unix-2.7.1.0 */ 53 | #define VERSION_unix "2.7.1.0" 54 | #define MIN_VERSION_unix(major1,major2,minor) (\ 55 | (major1) < 2 || \ 56 | (major1) == 2 && (major2) < 7 || \ 57 | (major1) == 2 && (major2) == 7 && (minor) <= 1) 58 | 59 | /* tool gcc-7.2.0 */ 60 | #define TOOL_VERSION_gcc "7.2.0" 61 | #define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ 62 | (major1) < 7 || \ 63 | (major1) == 7 && (major2) < 2 || \ 64 | (major1) == 7 && (major2) == 2 && (minor) <= 0) 65 | 66 | /* tool ghc-7.10.2 */ 67 | #define TOOL_VERSION_ghc "7.10.2" 68 | #define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ 69 | (major1) < 7 || \ 70 | (major1) == 7 && (major2) < 10 || \ 71 | (major1) == 7 && (major2) == 10 && (minor) <= 2) 72 | 73 | /* tool ghc-pkg-7.10.2 */ 74 | #define TOOL_VERSION_ghc_pkg "7.10.2" 75 | #define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ 76 | (major1) < 7 || \ 77 | (major1) == 7 && (major2) < 10 || \ 78 | (major1) == 7 && (major2) == 10 && (minor) <= 2) 79 | 80 | /* tool haddock-2.16.1 */ 81 | #define TOOL_VERSION_haddock "2.16.1" 82 | #define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ 83 | (major1) < 2 || \ 84 | (major1) == 2 && (major2) < 16 || \ 85 | (major1) == 2 && (major2) == 16 && (minor) <= 1) 86 | 87 | /* tool hpc-0.67 */ 88 | #define TOOL_VERSION_hpc "0.67" 89 | #define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ 90 | (major1) < 0 || \ 91 | (major1) == 0 && (major2) < 67 || \ 92 | (major1) == 0 && (major2) == 67 && (minor) <= 0) 93 | 94 | /* tool hsc2hs-0.67 */ 95 | #define TOOL_VERSION_hsc2hs "0.67" 96 | #define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ 97 | (major1) < 0 || \ 98 | (major1) == 0 && (major2) < 67 || \ 99 | (major1) == 0 && (major2) == 67 && (minor) <= 0) 100 | 101 | /* tool pkg-config-0.29.2 */ 102 | #define TOOL_VERSION_pkg_config "0.29.2" 103 | #define MIN_TOOL_VERSION_pkg_config(major1,major2,minor) (\ 104 | (major1) < 0 || \ 105 | (major1) == 0 && (major2) < 29 || \ 106 | (major1) == 0 && (major2) == 29 && (minor) <= 2) 107 | 108 | /* tool strip-2.29 */ 109 | #define TOOL_VERSION_strip "2.29" 110 | #define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ 111 | (major1) < 2 || \ 112 | (major1) == 2 && (major2) < 29 || \ 113 | (major1) == 2 && (major2) == 29 && (minor) <= 0) 114 | 115 | #define CURRENT_PACKAGE_KEY "ibapi_FYtdachWwYX1Bggz8sQPyH" 116 | 117 | -------------------------------------------------------------------------------- /src/IB/Client.hs: -------------------------------------------------------------------------------- 1 | -- | 2 | -- Module : IB.Client 3 | -- License : GPL3 4 | -- Author : Robert Bermani 5 | -- Stability : experimental 6 | 7 | -- IB Client 8 | 9 | module IB.Client where 10 | 11 | import Control.Concurrent (forkIO) 12 | import Control.Concurrent.MVar 13 | import Control.Exception 14 | import Control.Monad 15 | import Data.Attoparsec.ByteString.Char8 hiding (try) 16 | import Data.Bits 17 | import qualified Network.Socket as S hiding (send, recv, sendTo, recvFrom) 18 | import Network.Socket.ByteString 19 | import Network.BSD 20 | import Data.List 21 | import Data.Char 22 | import System.Timeout 23 | import System.IO 24 | import qualified Data.ByteString.Char8 as B 25 | import Data.Maybe 26 | 27 | import IB.Client.Types 28 | import IB.Client.Nums 29 | import IB.Client.Request 30 | import IB.Client.Exception 31 | import IB.Client.Parser 32 | 33 | -- Modification by Phage Ky 34 | import System.Console.ANSI 35 | 36 | data ClientConfig = ClientConfig 37 | { cc_addr :: String 38 | , cc_port :: Int 39 | , cc_clientId :: Int 40 | , cc_extraAuth :: Bool 41 | , cc_handler :: Maybe HandlerFunc 42 | } 43 | 44 | disconnect :: MIB -> IO () 45 | disconnect smv = 46 | do srv <- readMVar smv 47 | let h = fromJust (s_sock srv) 48 | hClose h 49 | putMVar smv srv { s_clientId = -1 50 | , s_extraAuth = False 51 | , s_version = 0 52 | , s_connected = False 53 | } 54 | 55 | ascCodes :: B.ByteString -> String 56 | ascCodes inp = unwords ( map (show . ord) (B.unpack inp) ) 57 | 58 | greetServer :: IBServer -> IO IBServer 59 | greetServer server = 60 | do write server $ appNull $ show' client_version 61 | wFlush server 62 | 63 | let h = fromJust (s_sock server ) 64 | extraAuth = s_extraAuth server 65 | 66 | msg <- B.hGet h 25 67 | prea <- parseWith (B.hGetNonBlocking h 25) pServerVersion msg 68 | 69 | case eitherResult prea of 70 | Left errMsg -> throwIO $ IBExc no_valid_id ParseError errMsg 71 | Right val -> do let serv_ver = pre_serverVersion val 72 | twsTime = pre_twsTime val 73 | sCo = server { s_connected = True 74 | , s_version = serv_ver 75 | , s_twsTime = twsTime 76 | } 77 | case () of 78 | _ | serv_ver < server_version -> throwIO $ IBExc no_valid_id UpdateTWS "" 79 | | serv_ver >= 3 -> if (serv_ver < min_server_ver_linking) 80 | then write sCo $ show' ( s_clientId sCo) 81 | else if (not extraAuth) 82 | then request sCo StartApi 83 | else return () 84 | | otherwise -> return () 85 | wFlush sCo 86 | return sCo 87 | 88 | 89 | checkMsg :: MIB -> Bool -> IO () 90 | checkMsg mvs loop = 91 | do setSGR [SetColor Foreground Dull Green] 92 | putStrLn " *** Checking Msg from IB Server ..." 93 | s <- readMVar mvs 94 | let h = fromJust $ s_sock s 95 | handleMsg = s_handler s 96 | ver = s_version s 97 | eof <- timeout (s_timeoutInterval s) (hIsEOF h) 98 | 99 | case eof of 100 | Nothing -> return () 101 | Just True -> do putStrLn "EOF encountered on handle" 102 | modifyMVar_ mvs (\serv -> return $ serv {s_sock = Nothing}) 103 | hClose h 104 | Just False -> do msg <- B.hGetNonBlocking h 1024 105 | server <- takeMVar mvs 106 | 107 | debugWrite server $ " * IB-msg received (raw) >> " ++ B.unpack msg 108 | putMVar mvs server 109 | pResult <- parseWith (B.hGetNonBlocking h 1024) (pRecvMsg ver) msg 110 | 111 | case eitherResult pResult of 112 | Left errMsg -> throwIO $ IBExc no_valid_id ParseError errMsg 113 | Right res -> handleMsg mvs $ rc_msgBody res 114 | 115 | when loop $ checkMsg mvs loop 116 | setSGR [Reset] 117 | 118 | -- |Connects to a server 119 | connect :: ClientConfig -- ^ Configuration 120 | -> Bool -- ^ Run in a new thread 121 | -> Bool -- ^ Print debug messages 122 | -> IO (Either IOError MIB) -- ^ IB instance 123 | 124 | connect cconf threaded debug = try $ do 125 | setSGR [SetColor Foreground Vivid Yellow] 126 | when debug $ 127 | putStrLn $ " *** Connecting to " ++ cc_addr cconf ++ " on port " ++ show (cc_port cconf) 128 | 129 | -- if (isConnected $ cc_socket cconf) 130 | -- then throwIO IBExc no_valid_id AlreadyConnected "" 131 | -- else return () 132 | --(when ((cc_handler cconf) == Nothing) (throwIO $ IBExc no_valid_id MissingHandler "")) 133 | 134 | let hostStr = cc_addr cconf 135 | portStr = show $ cc_port cconf 136 | hostname | null hostStr = Nothing 137 | | otherwise = Just hostStr 138 | addrinfos <- S.getAddrInfo Nothing hostname (Just portStr) 139 | 140 | let serveraddr = head addrinfos 141 | s <- S.socket (S.addrFamily serveraddr) S.Stream defaultProtocol 142 | 143 | S.connect s (S.addrAddress serveraddr) 144 | h <- S.socketToHandle s ReadWriteMode 145 | hSetBuffering h (BlockBuffering Nothing) 146 | 147 | let preServer = toServer cconf h debug 148 | 149 | -- initialize connection with server 150 | server <- greetServer preServer 151 | 152 | res <- newMVar server 153 | 154 | if threaded 155 | then do msgThreadId <- forkIO (checkMsg res True) 156 | modifyMVar_ res (\srv -> return $ srv { s_msgThread = Just msgThreadId 157 | } ) 158 | return res 159 | else return res 160 | 161 | 162 | toServer :: ClientConfig -> Handle -> Bool -> IBServer 163 | toServer cc h debug = IBServer { s_addr = cc_addr cc 164 | , s_port = cc_port cc 165 | , s_clientId = cc_clientId cc 166 | , s_extraAuth = cc_extraAuth cc 167 | , s_handler = fromJust $ cc_handler cc 168 | , s_debug = debug 169 | , s_twsTime = "" 170 | , s_msgThread = Nothing 171 | , s_version = 0 172 | , s_sock = Just h 173 | , s_timeoutInterval = 100000 174 | , s_connected = False 175 | } 176 | 177 | defaultConf :: ClientConfig 178 | defaultConf = ClientConfig { cc_addr = "127.0.0.1" 179 | , cc_port = 7497 180 | , cc_clientId = 0 181 | , cc_extraAuth = False 182 | , cc_handler = Just defHandler 183 | } 184 | 185 | defHandler :: MIB -> IBMessage -> IO () 186 | defHandler _ _ = putStrLn "No Message Handler is defined" 187 | 188 | -------------------------------------------------------------------------------- /.stack-work/logs/text-1.2.2.0.log: -------------------------------------------------------------------------------- 1 | Configuring text-1.2.2.0... 2 | Building text-1.2.2.0... 3 | Preprocessing library text-1.2.2.0... 4 | [ 1 of 44] Compiling Data.Text.Internal.Read ( Data/Text/Internal/Read.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Read.o ) 5 | [ 2 of 44] Compiling Data.Text.Internal.Encoding.Utf32 ( Data/Text/Internal/Encoding/Utf32.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Encoding/Utf32.o ) 6 | [ 3 of 44] Compiling Data.Text.Internal.Builder.RealFloat.Functions ( Data/Text/Internal/Builder/RealFloat/Functions.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Builder/RealFloat/Functions.o ) 7 | [ 4 of 44] Compiling Data.Text.Internal.Builder.Int.Digits ( Data/Text/Internal/Builder/Int/Digits.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Builder/Int/Digits.o ) 8 | [ 5 of 44] Compiling Data.Text.Encoding.Error ( Data/Text/Encoding/Error.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Encoding/Error.o ) 9 | [ 6 of 44] Compiling Data.Text.Internal.Unsafe.Shift ( Data/Text/Internal/Unsafe/Shift.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Unsafe/Shift.o ) 10 | [ 7 of 44] Compiling Data.Text.Internal.Encoding.Utf16 ( Data/Text/Internal/Encoding/Utf16.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Encoding/Utf16.o ) 11 | [ 8 of 44] Compiling Data.Text.Internal.Functions ( Data/Text/Internal/Functions.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Functions.o ) 12 | [ 9 of 44] Compiling Data.Text.Internal.Unsafe ( Data/Text/Internal/Unsafe.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Unsafe.o ) 13 | [10 of 44] Compiling Data.Text.Array ( Data/Text/Array.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Array.o ) 14 | [11 of 44] Compiling Data.Text.Internal.Unsafe.Char ( Data/Text/Internal/Unsafe/Char.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Unsafe/Char.o ) 15 | [12 of 44] Compiling Data.Text.Internal ( Data/Text/Internal.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal.o ) 16 | [13 of 44] Compiling Data.Text.Internal.Fusion.Size ( Data/Text/Internal/Fusion/Size.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Fusion/Size.o ) 17 | [14 of 44] Compiling Data.Text.Internal.Fusion.Types ( Data/Text/Internal/Fusion/Types.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Fusion/Types.o ) 18 | [15 of 44] Compiling Data.Text.Internal.Fusion.CaseMapping ( Data/Text/Internal/Fusion/CaseMapping.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Fusion/CaseMapping.o ) 19 | [16 of 44] Compiling Data.Text.Internal.Fusion.Common ( Data/Text/Internal/Fusion/Common.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Fusion/Common.o ) 20 | [17 of 44] Compiling Data.Text.Unsafe ( Data/Text/Unsafe.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Unsafe.o ) 21 | [18 of 44] Compiling Data.Text.Internal.Private ( Data/Text/Internal/Private.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Private.o ) 22 | [19 of 44] Compiling Data.Text.Internal.Fusion ( Data/Text/Internal/Fusion.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Fusion.o ) 23 | [20 of 44] Compiling Data.Text.Show ( Data/Text/Show.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Show.o ) 24 | [21 of 44] Compiling Data.Text.Internal.Encoding.Fusion.Common ( Data/Text/Internal/Encoding/Fusion/Common.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Encoding/Fusion/Common.o ) 25 | [22 of 44] Compiling Data.Text.Internal.Encoding.Utf8 ( Data/Text/Internal/Encoding/Utf8.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Encoding/Utf8.o ) 26 | [23 of 44] Compiling Data.Text.Internal.Encoding.Fusion ( Data/Text/Internal/Encoding/Fusion.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Encoding/Fusion.o ) 27 | [24 of 44] Compiling Data.Text.Encoding ( Data/Text/Encoding.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Encoding.o ) 28 | [25 of 44] Compiling Data.Text.Internal.Lazy.Encoding.Fusion ( Data/Text/Internal/Lazy/Encoding/Fusion.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Lazy/Encoding/Fusion.o ) 29 | [26 of 44] Compiling Data.Text.Internal.Search ( Data/Text/Internal/Search.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Search.o ) 30 | [27 of 44] Compiling Data.Text.Foreign ( Data/Text/Foreign.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Foreign.o ) 31 | [28 of 44] Compiling Data.Text ( Data/Text.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text.o ) 32 | [29 of 44] Compiling Data.Text.Internal.IO ( Data/Text/Internal/IO.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/IO.o ) 33 | [30 of 44] Compiling Data.Text.IO ( Data/Text/IO.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/IO.o ) 34 | [31 of 44] Compiling Data.Text.Internal.Lazy ( Data/Text/Internal/Lazy.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Lazy.o ) 35 | [32 of 44] Compiling Data.Text.Internal.Lazy.Fusion ( Data/Text/Internal/Lazy/Fusion.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Lazy/Fusion.o ) 36 | [33 of 44] Compiling Data.Text.Internal.Lazy.Search ( Data/Text/Internal/Lazy/Search.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Lazy/Search.o ) 37 | [34 of 44] Compiling Data.Text.Lazy.Internal ( Data/Text/Lazy/Internal.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy/Internal.o ) 38 | [35 of 44] Compiling Data.Text.Lazy.Encoding ( Data/Text/Lazy/Encoding.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy/Encoding.o ) 39 | [36 of 44] Compiling Data.Text.Lazy ( Data/Text/Lazy.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy.o ) 40 | [37 of 44] Compiling Data.Text.Internal.Builder ( Data/Text/Internal/Builder.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Builder.o ) 41 | [38 of 44] Compiling Data.Text.Lazy.Builder ( Data/Text/Lazy/Builder.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy/Builder.o ) 42 | [39 of 44] Compiling Data.Text.Internal.Builder.Functions ( Data/Text/Internal/Builder/Functions.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Internal/Builder/Functions.o ) 43 | [40 of 44] Compiling Data.Text.Lazy.Builder.Int ( Data/Text/Lazy/Builder/Int.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy/Builder/Int.o ) 44 | [41 of 44] Compiling Data.Text.Lazy.IO ( Data/Text/Lazy/IO.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy/IO.o ) 45 | [42 of 44] Compiling Data.Text.Lazy.Read ( Data/Text/Lazy/Read.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy/Read.o ) 46 | [43 of 44] Compiling Data.Text.Lazy.Builder.RealFloat ( Data/Text/Lazy/Builder/RealFloat.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Lazy/Builder/RealFloat.o ) 47 | [44 of 44] Compiling Data.Text.Read ( Data/Text/Read.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Data/Text/Read.o ) 48 | In-place registering text-1.2.2.0... 49 | Installing library in 50 | /home/phage/.stack/snapshots/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/text-1.2.2.0-BKzOMwCPkuv5n8xwLM3CQG 51 | Registering text-1.2.2.0... 52 | -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/src/IB/Client/Nums.dump-hi: -------------------------------------------------------------------------------- 1 | 2 | ==================== FINAL INTERFACE ==================== 3 | 2017-12-01 17:56:43.642857 UTC 4 | 5 | interface ibapi_FYtdachWwYX1Bggz8sQPyH:IB.Client.Nums 7102 6 | interface hash: 3d72f2def71cee828e788393a90a7ba4 7 | ABI hash: 58a359e02642eec9b8a336565de0a79c 8 | export-list hash: d0908944e2fd0cd158a337b3d47aceb6 9 | orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e 10 | flag hash: 8fa4450a5f132c7187db8e49ab5aa78d 11 | sig of: Nothing 12 | used TH splices: False 13 | where 14 | exports: 15 | IB.Client.Nums.client_version 16 | IB.Client.Nums.min_server_ver_account_summary 17 | IB.Client.Nums.min_server_ver_algo_orders 18 | IB.Client.Nums.min_server_ver_cancel_calc_implied_volat 19 | IB.Client.Nums.min_server_ver_cancel_calc_option_price 20 | IB.Client.Nums.min_server_ver_contract_data_chain 21 | IB.Client.Nums.min_server_ver_delta_neutral_conid 22 | IB.Client.Nums.min_server_ver_delta_neutral_open_close 23 | IB.Client.Nums.min_server_ver_execution_data_chain 24 | IB.Client.Nums.min_server_ver_fundamental_data 25 | IB.Client.Nums.min_server_ver_hedge_orders 26 | IB.Client.Nums.min_server_ver_linking 27 | IB.Client.Nums.min_server_ver_not_held 28 | IB.Client.Nums.min_server_ver_opt_out_smart_routing 29 | IB.Client.Nums.min_server_ver_order_combo_legs_price 30 | IB.Client.Nums.min_server_ver_place_order_conid 31 | IB.Client.Nums.min_server_ver_positions 32 | IB.Client.Nums.min_server_ver_pta_orders 33 | IB.Client.Nums.min_server_ver_req_calc_implied_volat 34 | IB.Client.Nums.min_server_ver_req_calc_option_price 35 | IB.Client.Nums.min_server_ver_req_global_cancel 36 | IB.Client.Nums.min_server_ver_req_market_data_type 37 | IB.Client.Nums.min_server_ver_req_mkt_data_conid 38 | IB.Client.Nums.min_server_ver_scale_orders2 39 | IB.Client.Nums.min_server_ver_scale_orders3 40 | IB.Client.Nums.min_server_ver_scale_table 41 | IB.Client.Nums.min_server_ver_sec_id_type 42 | IB.Client.Nums.min_server_ver_smart_combo_routing_params 43 | IB.Client.Nums.min_server_ver_sshortx 44 | IB.Client.Nums.min_server_ver_sshortx_old 45 | IB.Client.Nums.min_server_ver_trading_class 46 | IB.Client.Nums.min_server_ver_trailing_percent 47 | IB.Client.Nums.min_server_ver_under_comp 48 | IB.Client.Nums.no_valid_error_code 49 | IB.Client.Nums.no_valid_id 50 | IB.Client.Nums.server_version 51 | module dependencies: 52 | package dependencies: base-4.8.1.0* ghc-prim-0.4.0.0 53 | integer-gmp-1.0.0.0 54 | orphans: base-4.8.1.0:GHC.Base base-4.8.1.0:GHC.Float 55 | family instance modules: base-4.8.1.0:Control.Applicative 56 | base-4.8.1.0:Data.Either base-4.8.1.0:Data.Monoid 57 | base-4.8.1.0:Data.Type.Equality base-4.8.1.0:GHC.Generics 58 | import -/ base-4.8.1.0:Prelude 518f762991bc287d78f21a73c974da1f 59 | 9e86818de2c4825a0543c7402614f458 60 | client_version :: GHC.Types.Int 61 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 63) -} 62 | 4103a7cf4a77af2c80a11868494b22c2 63 | min_server_ver_account_summary :: GHC.Types.Int 64 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 67) -} 65 | 8690c6fa98e9ef5a3e89c4a781fc6bbd 66 | min_server_ver_algo_orders :: GHC.Types.Int 67 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 41) -} 68 | a2faa9e190950f047d76b957133e6f17 69 | min_server_ver_cancel_calc_implied_volat :: GHC.Types.Int 70 | {- Strictness: m, 71 | Unfolding: (IB.Client.Nums.min_server_ver_cancel_calc_option_price) -} 72 | 711b1080902dc899aea7de6f7a00fb51 73 | min_server_ver_cancel_calc_option_price :: GHC.Types.Int 74 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 50) -} 75 | 59edb14bdc28f3ce583158fac1820c1c 76 | min_server_ver_contract_data_chain :: GHC.Types.Int 77 | {- Strictness: m, 78 | Unfolding: (IB.Client.Nums.min_server_ver_scale_orders2) -} 79 | 1f2f9f99eee4c4d118aa57747e4a666d 80 | min_server_ver_delta_neutral_conid :: GHC.Types.Int 81 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 58) -} 82 | dafd3182873d1df6f9f5d6594999d5f2 83 | min_server_ver_delta_neutral_open_close :: GHC.Types.Int 84 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 66) -} 85 | b30a76e134a06837404aa2e20e7996b0 86 | min_server_ver_execution_data_chain :: GHC.Types.Int 87 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 42) -} 88 | f9d59b86d2f6e6731db3a388eda82027 89 | min_server_ver_fundamental_data :: GHC.Types.Int 90 | {- Strictness: m, 91 | Unfolding: (IB.Client.Nums.min_server_ver_scale_orders2) -} 92 | e339038e72c8dbf66a9797574ca2cb41 93 | min_server_ver_hedge_orders :: GHC.Types.Int 94 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 54) -} 95 | a9b8896fc9ded1947e019646fe72f599 96 | min_server_ver_linking :: GHC.Types.Int 97 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 70) -} 98 | c1ef4753ff6889d1a99401c1f8b18953 99 | min_server_ver_not_held :: GHC.Types.Int 100 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 44) -} 101 | 93d2d54b3962a0a75da39164dc8edfad 102 | min_server_ver_opt_out_smart_routing :: GHC.Types.Int 103 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 56) -} 104 | 095919ef0646e02010340204624d76cd 105 | min_server_ver_order_combo_legs_price :: GHC.Types.Int 106 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 61) -} 107 | 4d4d6aaf986ce79130607616ce0e4cc3 108 | min_server_ver_place_order_conid :: GHC.Types.Int 109 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 46) -} 110 | c67c18349b5e14557197bf60b9f3f648 111 | min_server_ver_positions :: GHC.Types.Int 112 | {- Strictness: m, 113 | Unfolding: (IB.Client.Nums.min_server_ver_account_summary) -} 114 | 2efc071edc0da31642b73c96ae8dcdf4 115 | min_server_ver_pta_orders :: GHC.Types.Int 116 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 39) -} 117 | 27cd7bc66a64f238935b05bef71a7a6c 118 | min_server_ver_req_calc_implied_volat :: GHC.Types.Int 119 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 49) -} 120 | 0ba3eda72e42554bf8530094aeb70850 121 | min_server_ver_req_calc_option_price :: GHC.Types.Int 122 | {- Strictness: m, 123 | Unfolding: (IB.Client.Nums.min_server_ver_cancel_calc_option_price) -} 124 | 9ea6272ae877a1e586b8d180af8cb547 125 | min_server_ver_req_global_cancel :: GHC.Types.Int 126 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 53) -} 127 | 08f9e564f8cd1a08482c54bbf9bf99a7 128 | min_server_ver_req_market_data_type :: GHC.Types.Int 129 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 55) -} 130 | 8b8492aad5082c123ba5c5c03df7938a 131 | min_server_ver_req_mkt_data_conid :: GHC.Types.Int 132 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 47) -} 133 | d52d2cac70f9bcd4e280b9f3222bd99e 134 | min_server_ver_scale_orders2 :: GHC.Types.Int 135 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 40) -} 136 | ed150570f0a00684868f06b6bce36eca 137 | min_server_ver_scale_orders3 :: GHC.Types.Int 138 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 60) -} 139 | 98224b3e48112ec0f52c4ee6acc9aba5 140 | min_server_ver_scale_table :: GHC.Types.Int 141 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 69) -} 142 | 5549bf13600d417179edc34610824844 143 | min_server_ver_sec_id_type :: GHC.Types.Int 144 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 45) -} 145 | 00bc2d4719d998347352fdde207904a8 146 | min_server_ver_smart_combo_routing_params :: GHC.Types.Int 147 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 57) -} 148 | 0a3ba480ccb41e846f80289c631aebd5 149 | min_server_ver_sshortx :: GHC.Types.Int 150 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 52) -} 151 | 74dc0b0127a6cc9905f527b947da2de1 152 | min_server_ver_sshortx_old :: GHC.Types.Int 153 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 51) -} 154 | d92c9749decb3c95793eb092a8fa025b 155 | min_server_ver_trading_class :: GHC.Types.Int 156 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 68) -} 157 | c22e2fdb71a4235b0c4d14cca2a0e7b8 158 | min_server_ver_trailing_percent :: GHC.Types.Int 159 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 62) -} 160 | c45a26cd43c73b51d84e5d31d5ef4f3f 161 | min_server_ver_under_comp :: GHC.Types.Int 162 | {- Strictness: m, 163 | Unfolding: (IB.Client.Nums.min_server_ver_scale_orders2) -} 164 | ec4a00f3eb7227b787db48d917165ce8 165 | no_valid_error_code :: GHC.Types.Int 166 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 0) -} 167 | e0554a210720e1ba427aa859a5189870 168 | no_valid_id :: GHC.Types.Int 169 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# (-1)) -} 170 | 8f0268d066d5d5d5d3b149a87c3253fe 171 | server_version :: GHC.Types.Int 172 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 38) -} 173 | vectorised variables: 174 | vectorised tycons: 175 | vectorised reused tycons: 176 | parallel variables: 177 | parallel tycons: 178 | trusted: safe 179 | require own pkg trusted: False 180 | 181 | -------------------------------------------------------------------------------- /.stack-work/logs/network-2.6.2.1.log: -------------------------------------------------------------------------------- 1 | [1 of 2] Compiling Main ( /tmp/stack12153/network-2.6.2.1/Setup.hs, /tmp/stack12153/network-2.6.2.1/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/setup/Main.o ) 2 | [2 of 2] Compiling StackSetupShim ( /home/phage/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack12153/network-2.6.2.1/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/setup/StackSetupShim.o ) 3 | Linking /tmp/stack12153/network-2.6.2.1/.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/setup/setup ... 4 | Configuring network-2.6.2.1... 5 | configure: WARNING: unrecognized options: --with-compiler, --with-gcc 6 | checking build system type... x86_64-unknown-linux-gnu 7 | checking host system type... x86_64-unknown-linux-gnu 8 | checking for gcc... gcc 9 | checking whether the C compiler works... yes 10 | checking for C compiler default output file name... a.out 11 | checking for suffix of executables... 12 | checking whether we are cross compiling... no 13 | checking for suffix of object files... o 14 | checking whether we are using the GNU C compiler... yes 15 | checking whether gcc accepts -g... yes 16 | checking for gcc option to accept ISO C89... none needed 17 | checking for an ANSI C-conforming const... yes 18 | checking how to run the C preprocessor... gcc -E 19 | checking for grep that handles long lines and -e... /usr/bin/grep 20 | checking for egrep... /usr/bin/grep -E 21 | checking for ANSI C header files... yes 22 | checking for sys/types.h... yes 23 | checking for sys/stat.h... yes 24 | checking for stdlib.h... yes 25 | checking for string.h... yes 26 | checking for memory.h... yes 27 | checking for strings.h... yes 28 | checking for inttypes.h... yes 29 | checking for stdint.h... yes 30 | checking for unistd.h... yes 31 | checking fcntl.h usability... yes 32 | checking fcntl.h presence... yes 33 | checking for fcntl.h... yes 34 | checking limits.h usability... yes 35 | checking limits.h presence... yes 36 | checking for limits.h... yes 37 | checking for stdlib.h... (cached) yes 38 | checking for sys/types.h... (cached) yes 39 | checking for unistd.h... (cached) yes 40 | checking winsock2.h usability... no 41 | checking winsock2.h presence... no 42 | checking for winsock2.h... no 43 | checking ws2tcpip.h usability... no 44 | checking ws2tcpip.h presence... no 45 | checking for ws2tcpip.h... no 46 | checking arpa/inet.h usability... yes 47 | checking arpa/inet.h presence... yes 48 | checking for arpa/inet.h... yes 49 | checking netdb.h usability... yes 50 | checking netdb.h presence... yes 51 | checking for netdb.h... yes 52 | checking netinet/in.h usability... yes 53 | checking netinet/in.h presence... yes 54 | checking for netinet/in.h... yes 55 | checking netinet/tcp.h usability... yes 56 | checking netinet/tcp.h presence... yes 57 | checking for netinet/tcp.h... yes 58 | checking sys/socket.h usability... yes 59 | checking sys/socket.h presence... yes 60 | checking for sys/socket.h... yes 61 | checking sys/uio.h usability... yes 62 | checking sys/uio.h presence... yes 63 | checking for sys/uio.h... yes 64 | checking sys/un.h usability... yes 65 | checking sys/un.h presence... yes 66 | checking for sys/un.h... yes 67 | checking linux/can.h usability... yes 68 | checking linux/can.h presence... yes 69 | checking for linux/can.h... yes 70 | checking linux/tcp.h usability... yes 71 | checking linux/tcp.h presence... yes 72 | checking for linux/tcp.h... yes 73 | checking net/if.h usability... yes 74 | checking net/if.h presence... yes 75 | checking for net/if.h... yes 76 | checking for readlink... yes 77 | checking for symlink... yes 78 | checking for if_nametoindex... yes 79 | checking for struct msghdr.msg_control... yes 80 | checking for struct msghdr.msg_accrights... no 81 | checking for struct sockaddr.sa_len... no 82 | checking for in_addr_t in netinet/in.h... yes 83 | checking for SO_PEERCRED and struct ucred in sys/socket.h... yes 84 | checking for getpeereid in unistd.h... checking for getpeereid... no 85 | checking for _head_libws2_32_a in -lws2_32... no 86 | checking for getaddrinfo... yes 87 | checking for gai_strerror... yes 88 | checking whether AI_ADDRCONFIG is declared... yes 89 | checking whether AI_ALL is declared... yes 90 | checking whether AI_NUMERICSERV is declared... yes 91 | checking whether AI_V4MAPPED is declared... yes 92 | checking whether IPV6_V6ONLY is declared... yes 93 | checking whether IPPROTO_IP is declared... yes 94 | checking whether IPPROTO_TCP is declared... yes 95 | checking whether IPPROTO_IPV6 is declared... yes 96 | checking for sendfile in sys/sendfile.h... yes 97 | checking for sendfile in sys/socket.h... no 98 | checking for gethostent... yes 99 | checking for accept4... yes 100 | configure: creating ./config.status 101 | config.status: creating network.buildinfo 102 | config.status: creating include/HsNetworkConfig.h 103 | configure: WARNING: unrecognized options: --with-compiler, --with-gcc 104 | Building network-2.6.2.1... 105 | Preprocessing library network-2.6.2.1... 106 | [ 1 of 11] Compiling Network.Socket.ByteString.IOVec ( .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString/IOVec.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString/IOVec.o ) 107 | [ 2 of 11] Compiling Network.Socket.Types ( .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/Types.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/Types.o ) 108 | 109 | Network/Socket/Types.hsc:826:28: Warning: 110 | Pattern match(es) are overlapped 111 | In a case alternative: _ -> ... 112 | 113 | Network/Socket/Types.hsc:869:1: Warning: 114 | Pattern match(es) are non-exhaustive 115 | In an equation for ‘sizeOfSockAddrByFamily’: 116 | Patterns not matched: 117 | AF_UNSPEC 118 | AF_IMPLINK 119 | AF_PUP 120 | AF_CHAOS 121 | ... 122 | 123 | Network/Socket/Types.hsc:951:3: Warning: 124 | Pattern match(es) are non-exhaustive 125 | In a case alternative: 126 | Patterns not matched: #x with #x `notElem` [1#, 2#, 10#, 29#] 127 | 128 | Network/Socket/Types.hsc:1012:10: Warning: 129 | Orphan instance: instance Storable HostAddress6 130 | To avoid this 131 | move the instance declaration to the module of the class or of the type, or 132 | wrap the type with a newtype and declare the instance on the new type. 133 | [ 3 of 11] Compiling Network.Socket.Internal ( .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/Internal.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/Internal.o ) 134 | 135 | Network/Socket/Internal.hsc:75:1: Warning: 136 | The import of ‘Foreign.C.String’ is redundant 137 | except perhaps to import instances from ‘Foreign.C.String’ 138 | To import instances alone, use: import Foreign.C.String() 139 | 140 | Network/Socket/Internal.hsc:77:1: Warning: 141 | The import of ‘Foreign.Ptr’ is redundant 142 | except perhaps to import instances from ‘Foreign.Ptr’ 143 | To import instances alone, use: import Foreign.Ptr() 144 | [ 4 of 11] Compiling Network.Socket ( .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket.o ) 145 | 146 | Network/Socket.hsc:177:1: Warning: 147 | The import of ‘delete’ from module ‘Data.List’ is redundant 148 | 149 | Network/Socket.hsc:193:1: Warning: 150 | The qualified import of ‘Control.Exception’ is redundant 151 | except perhaps to import instances from ‘Control.Exception’ 152 | To import instances alone, use: import Control.Exception() 153 | 154 | Network/Socket.hsc:212:1: Warning: 155 | The import of ‘GHC.IO.FD’ is redundant 156 | except perhaps to import instances from ‘GHC.IO.FD’ 157 | To import instances alone, use: import GHC.IO.FD() 158 | 159 | Network/Socket.hsc:949:13: Warning: 160 | Defaulting the following constraint(s) to type ‘Integer’ 161 | (Integral a0) 162 | arising from a use of ‘fromIntegral’ 163 | at Network/Socket.hsc:949:13-24 164 | (Num a0) 165 | arising from the literal ‘12’ at Network/Socket.hsc:949:27-28 166 | In the expression: (fromIntegral (12)) 167 | In an equation for ‘sz’: sz = (fromIntegral (12)) 168 | In the expression: 169 | do { let fd = fdSocket sock; 170 | let sz = (fromIntegral (12)); 171 | with sz $ \ ptr_cr -> alloca $ \ ptr_sz -> ... } 172 | 173 | Network/Socket.hsc:1571:1: Warning: 174 | Defined but not used: ‘c_accept’ 175 | 176 | Network/Socket.hsc:276:3: Warning: 177 | Pattern match(es) are non-exhaustive 178 | In an equation for ‘showsPrec’: 179 | Patterns not matched: _ (SockAddrCan _) 180 | 181 | Network/Socket.hsc:953:6: Warning: 182 | A do-notation statement discarded a result of type ‘CInt’ 183 | Suppress this warning by saying 184 | ‘_ <- ($) 185 | throwSocketErrorIfMinus1Retry "getPeerCred" 186 | c_getsockopt fd (1) (17) ptr_cr ptr_sz’ 187 | or by using the flag -fno-warn-unused-do-bind 188 | 189 | Network/Socket.hsc:989:3: Warning: 190 | A do-notation statement discarded a result of type ‘CInt’ 191 | Suppress this warning by saying 192 | ‘_ <- ($) 193 | throwSocketErrorWaitWrite sock "sendFd" 194 | c_sendFd (fdSocket sock) outfd’ 195 | or by using the flag -fno-warn-unused-do-bind 196 | [ 5 of 11] Compiling Network.Socket.ByteString.MsgHdr ( .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString/MsgHdr.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString/MsgHdr.o ) 197 | [ 6 of 11] Compiling Network.Socket.ByteString.Internal ( Network/Socket/ByteString/Internal.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString/Internal.o ) 198 | [ 7 of 11] Compiling Network.Socket.ByteString ( .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString.o ) 199 | 200 | Network/Socket/ByteString.hsc:54:1: Warning: 201 | The import of ‘SockAddr, Socket’ 202 | from module ‘Network.Socket’ is redundant 203 | [ 8 of 11] Compiling Network.Socket.ByteString.Lazy.Posix ( Network/Socket/ByteString/Lazy/Posix.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString/Lazy/Posix.o ) 204 | [ 9 of 11] Compiling Network.Socket.ByteString.Lazy ( Network/Socket/ByteString/Lazy.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/Socket/ByteString/Lazy.o ) 205 | [10 of 11] Compiling Network.BSD ( .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/BSD.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network/BSD.o ) 206 | 207 | Network/BSD.hsc:166:43: Warning: 208 | In the use of data constructor ‘PortNum’ 209 | (imported from Network.Socket, but defined in Network.Socket.Types): 210 | Deprecated: "Do not use the PortNum constructor. Use the Num instance. PortNum will be removed in the next release." 211 | 212 | Network/BSD.hsc:190:19: Warning: 213 | In the use of data constructor ‘PortNum’ 214 | (imported from Network.Socket, but defined in Network.Socket.Types): 215 | Deprecated: "Do not use the PortNum constructor. Use the Num instance. PortNum will be removed in the next release." 216 | [11 of 11] Compiling Network ( Network.hs, .stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/Network.o ) 217 | 218 | Network.hs:292:16: Warning: 219 | Pattern match(es) are non-exhaustive 220 | In a case alternative: Patterns not matched: SockAddrCan _ 221 | 222 | Network.hs:401:5: Warning: 223 | Pattern match(es) are non-exhaustive 224 | In a case alternative: Patterns not matched: SockAddrCan _ 225 | In-place registering network-2.6.2.1... 226 | Installing library in 227 | /home/phage/.stack/snapshots/x86_64-linux-nopie/lts-3.20/7.10.2/lib/x86_64-linux-ghc-7.10.2/network-2.6.2.1-F6mK9sCIw3M5SbZMt2lUQE 228 | Registering network-2.6.2.1... 229 | -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/ex/ex-tmp/ex/Main.dump-hi: -------------------------------------------------------------------------------- 1 | 2 | ==================== FINAL INTERFACE ==================== 3 | 2017-12-30 19:34:02.811187 UTC 4 | 5 | interface main@main:Main 7102 6 | interface hash: 58492e45e3739c0a0a20892e23982d50 7 | ABI hash: 9eefe68c22ac2085348bcf46da49a5c1 8 | export-list hash: 428533a313ed495541017c08f021cb85 9 | orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e 10 | flag hash: 14a7c03a3b628dea6eac6225ba3bbda9 11 | sig of: Nothing 12 | used TH splices: False 13 | where 14 | exports: 15 | Main.businessLogic 16 | Main.epochToGregorian 17 | Main.epochToUTC 18 | Main.handleMsg 19 | Main.main 20 | module dependencies: 21 | package dependencies: ansi-terminal-0.6.2.3@ansit_KW0LUY2zB7JCYzE4ZYrwBg 22 | array-0.5.1.0@array_E0sTtauuKsGDLZoT7lTbgZ 23 | attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E base-4.8.1.0 24 | binary-0.7.5.0@binar_IvYoLp9H6Xy3zEH13MmZwd 25 | bytestring-0.10.6.0@bytes_6elQVSg5cWdFrvRnfxTUrH 26 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN 27 | deepseq-1.4.1.1@deeps_LbCWUlehDDeLxurARKDH5o ghc-prim-0.4.0.0 28 | hashable-1.2.3.3@hasha_Fu46I2eA9YPGrMUpXqnAaw 29 | ib-api-0.1.0.0@ibapi_FYtdachWwYX1Bggz8sQPyH integer-gmp-1.0.0.0 30 | network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE 31 | primitive-0.6.1.0@primi_5Jnw7oEuYtM9dmKXelGXVb 32 | scientific-0.3.4.4@scien_3wyQhsIn3IzCO2Fl73SRM1 33 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG 34 | time-1.5.0.1@time_AXTdBF9VRQoBOqJT6qtmVH 35 | transformers-0.4.2.0@trans_3eG64VdP2vzGjP6wJiCp5X 36 | unix-2.7.1.0@unix_A3WgcI5QiHK4PDo4jSYdwQ 37 | vector-0.10.12.3@vecto_JrQt7SYKOQF2foH4Ugm8MQ 38 | orphans: attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E:Data.Attoparsec.ByteString.Char8 39 | base-4.8.1.0:GHC.Base base-4.8.1.0:GHC.Float 40 | binary-0.7.5.0@binar_IvYoLp9H6Xy3zEH13MmZwd:Data.Binary.Generic 41 | bytestring-0.10.6.0@bytes_6elQVSg5cWdFrvRnfxTUrH:Data.ByteString.Builder 42 | hashable-1.2.3.3@hasha_Fu46I2eA9YPGrMUpXqnAaw:Data.Hashable.Generic 43 | network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket 44 | network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket.Types 45 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text 46 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text.Lazy 47 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text.Show 48 | time-1.5.0.1@time_AXTdBF9VRQoBOqJT6qtmVH:Data.Time.Calendar.Gregorian 49 | transformers-0.4.2.0@trans_3eG64VdP2vzGjP6wJiCp5X:Control.Monad.Trans.Error 50 | vector-0.10.12.3@vecto_JrQt7SYKOQF2foH4Ugm8MQ:Data.Vector.Fusion.Stream 51 | family instance modules: attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E:Data.Attoparsec.Internal.Types 52 | base-4.8.1.0:Control.Applicative base-4.8.1.0:Data.Either 53 | base-4.8.1.0:Data.Functor.Identity base-4.8.1.0:Data.Monoid 54 | base-4.8.1.0:Data.Type.Equality base-4.8.1.0:Data.Void 55 | base-4.8.1.0:GHC.Exts base-4.8.1.0:GHC.Generics 56 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.IntMap.Base 57 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.IntSet.Base 58 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.Map.Base 59 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.Sequence 60 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.Set.Base 61 | primitive-0.6.1.0@primi_5Jnw7oEuYtM9dmKXelGXVb:Control.Monad.Primitive 62 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text 63 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text.Lazy 64 | vector-0.10.12.3@vecto_JrQt7SYKOQF2foH4Ugm8MQ:Data.Vector 65 | import -/ ansi-terminal-0.6.2.3@ansit_KW0LUY2zB7JCYzE4ZYrwBg:System.Console.ANSI 124b9a5cc81625b5d35bb66f7f3dc750 66 | import -/ ansi-terminal-0.6.2.3@ansit_KW0LUY2zB7JCYzE4ZYrwBg:System.Console.ANSI.Common d0af977ef1b7b8ecdafafa46bce3ef4b 67 | import -/ ansi-terminal-0.6.2.3@ansit_KW0LUY2zB7JCYzE4ZYrwBg:System.Console.ANSI.Unix 4d02c95a64fdfe094db04762201cd1bd 68 | import -/ attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E:Data.Attoparsec.ByteString.Char8 61a1573badf17d184bbf042565e2e1c3 69 | import -/ base-4.8.1.0:Control.Concurrent eedef4ce4eb0a2874a44a6b90863cce8 70 | import -/ base-4.8.1.0:Control.Concurrent.MVar 42b17972c7194d81ab1db982ca1fc21e 71 | import -/ base-4.8.1.0:Control.Exception ad90805da5ad455017893997acf84ba2 72 | import -/ base-4.8.1.0:Control.Monad dfea142d91349c4861427789d50d5b80 73 | import -/ base-4.8.1.0:Data.Bits 5341167fdd5958c2b3f0dac8924f1efd 74 | import -/ base-4.8.1.0:Data.Either bc9482e78cc431fce439b593377aa2e6 75 | import -/ base-4.8.1.0:Data.IORef d11b1514c62648b5630f6a04aaafce97 76 | import -/ base-4.8.1.0:Data.List 2a4f5f92892d432e7113f64cd9dcca53 77 | import -/ base-4.8.1.0:Data.Maybe 1cb58de2b04ee3c0c0a7dc9201184aff 78 | import -/ base-4.8.1.0:Foreign.C.Types e5754634c3e77afa375b6d3d49ab7ce2 79 | import -/ base-4.8.1.0:GHC.Base 1db77db5dae73d8c424c85b09fbadb89 80 | import -/ base-4.8.1.0:GHC.IO.Handle fda05b0a879e69b0b19e31645e2a560c 81 | import -/ base-4.8.1.0:GHC.MVar b4b3c5aff0a4a363f48f0cc3b89c1927 82 | import -/ base-4.8.1.0:GHC.Real 4c3b525ecbd4d62bb287aec36d4c2f0d 83 | import -/ base-4.8.1.0:GHC.Show b8c65ca3124f92a166c9f05120382442 84 | import -/ base-4.8.1.0:Prelude 518f762991bc287d78f21a73c974da1f 85 | import -/ base-4.8.1.0:System.IO d541b8bdf18c04de3ab7ea0277c4eba3 86 | import -/ base-4.8.1.0:System.Posix.Types 7fa4b2df4aab8c4a440322796ffac3f4 87 | import -/ base-4.8.1.0:System.Timeout b7d5cb27986c83c67c1a707cd2549d6b 88 | import -/ bytestring-0.10.6.0@bytes_6elQVSg5cWdFrvRnfxTUrH:Data.ByteString.Char8 727f18c1a10ff91ccff6cf752ee2a230 89 | import -/ ghc-prim-0.4.0.0:GHC.Types 6b27fb3fdbd0e3f0925a4496c66513bb 90 | import -/ ib-api-0.1.0.0@ibapi_FYtdachWwYX1Bggz8sQPyH:IB.Client 5116e859e350d5804e0727a5cf1428fb 91 | import -/ ib-api-0.1.0.0@ibapi_FYtdachWwYX1Bggz8sQPyH:IB.Client.Exception ca4f6733651cf163ea580063199c2a5c 92 | import -/ ib-api-0.1.0.0@ibapi_FYtdachWwYX1Bggz8sQPyH:IB.Client.Nums 58a359e02642eec9b8a336565de0a79c 93 | import -/ ib-api-0.1.0.0@ibapi_FYtdachWwYX1Bggz8sQPyH:IB.Client.Parser ce140e1281202caa50d0b47619571213 94 | import -/ ib-api-0.1.0.0@ibapi_FYtdachWwYX1Bggz8sQPyH:IB.Client.Request 9c1196de4f998fc855c55147bae014d9 95 | import -/ ib-api-0.1.0.0@ibapi_FYtdachWwYX1Bggz8sQPyH:IB.Client.Types 4c6a6fdfbfd3bbf81422ed04211308a6 96 | import -/ integer-gmp-1.0.0.0:GHC.Integer.Type bf9b4d13b1dbe96a83786d2e47d2e8ca 97 | import -/ network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.BSD 777eb058269e74aca488bd21903a0b54 98 | import -/ network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket e3a0d0de7e1edfdda157779d1bac350c 99 | import -/ network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket.ByteString 2bb891968c72e4c02b3f200d387bf040 100 | import -/ time-1.5.0.1@time_AXTdBF9VRQoBOqJT6qtmVH:Data.Time.Calendar dfab27466d273da6cdc74f4a2b7a3434 101 | import -/ time-1.5.0.1@time_AXTdBF9VRQoBOqJT6qtmVH:Data.Time.Calendar.Gregorian 9b052c2950e8d33efbab5e40c761f8d5 102 | import -/ time-1.5.0.1@time_AXTdBF9VRQoBOqJT6qtmVH:Data.Time.Clock fbad5c654231b61a0d6aaad7d18d82fc 103 | import -/ time-1.5.0.1@time_AXTdBF9VRQoBOqJT6qtmVH:Data.Time.Clock.POSIX 9f57e101ec0df25a95b3f2db68fba480 104 | import -/ time-1.5.0.1@time_AXTdBF9VRQoBOqJT6qtmVH:Data.Time.Clock.UTC 3183d9aefea2b6dd8c714b30c22b4b3f 105 | import -/ unix-2.7.1.0@unix_A3WgcI5QiHK4PDo4jSYdwQ:System.Posix.Time 0a74524c5207f069cbaef1aabb289f94 106 | 0be0d917255b260d332641ed409127fd 107 | $wepochToGregorian :: 108 | GHC.Real.Integral a => 109 | a -> (# GHC.Integer.Type.Integer, GHC.Types.Int, GHC.Types.Int #) 110 | {- Arity: 2, Strictness: , 111 | Inline: [0], 112 | Unfolding: (\ @ a w :: GHC.Real.Integral a w1 :: a -> 113 | Data.Time.Calendar.Gregorian.$wtoGregorian 114 | (case Data.Time.Clock.POSIX.$wposixSecondsToUTCTime 115 | (GHC.Integer.Type.timesInteger 116 | (GHC.Real.toInteger @ a w w1) 117 | Data.Fixed.$fHasResolutionE5) 118 | `cast` 119 | (Trans 120 | (Sym (Data.Fixed.NTCo:Fixed[0] _P)) 121 | (Sym (Data.Time.Clock.UTC.NTCo:NominalDiffTime[0]))) of ww { (#,#) ww1 ww2 -> 122 | ww1 })) -} 123 | 36aeac2ff4edad0d2f794a00e3f2bb70 124 | businessLogic :: IB.Client.Types.MIB -> GHC.Types.IO () 125 | {- Arity: 2, Strictness: , 126 | Unfolding: InlineRule (0, True, True) 127 | Main.businessLogic1 128 | `cast` 129 | (_R ->_R Sym (GHC.Types.NTCo:IO[0] <()>_R)) -} 130 | b3f2044842f3342e3f0ddb8ca49eb9e2 131 | businessLogic1 :: 132 | IB.Client.Types.MIB 133 | -> GHC.Prim.State# GHC.Prim.RealWorld 134 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 135 | {- Arity: 2, Strictness: -} 136 | 951d84b976a84d9a98dac98d6e2a2139 137 | epochToGregorian :: 138 | GHC.Real.Integral a => 139 | a -> (GHC.Integer.Type.Integer, GHC.Types.Int, GHC.Types.Int) 140 | {- Arity: 2, Strictness: m, 141 | Inline: INLINE[0], 142 | Unfolding: InlineRule (2, True, False) 143 | (\ @ a w :: GHC.Real.Integral a w1 :: a -> 144 | case Main.$wepochToGregorian @ a w w1 of ww { (#,,#) ww1 ww2 ww3 -> 145 | (ww1, ww2, ww3) }) -} 146 | 46daef3e439d523b643b4e5cd6021ff4 147 | epochToUTC :: 148 | GHC.Real.Integral a => a -> Data.Time.Clock.UTC.UTCTime 149 | {- Arity: 2, Strictness: m, 150 | Inline: INLINE[0], 151 | Unfolding: InlineRule (2, True, False) 152 | (\ @ a w :: GHC.Real.Integral a w1 :: a -> 153 | case Data.Time.Clock.POSIX.$wposixSecondsToUTCTime 154 | (GHC.Integer.Type.timesInteger 155 | (GHC.Real.toInteger @ a w w1) 156 | Data.Fixed.$fHasResolutionE5) 157 | `cast` 158 | (Trans 159 | (Sym (Data.Fixed.NTCo:Fixed[0] _P)) 160 | (Sym (Data.Time.Clock.UTC.NTCo:NominalDiffTime[0]))) of ww { (#,#) ww1 ww2 -> 161 | Data.Time.Clock.UTC.UTCTime ww1 ww2 }) -} 162 | 345f0998e22c79f2414155f4b0408064 163 | handleMsg :: 164 | IB.Client.Types.MIB -> IB.Client.Types.IBMessage -> GHC.Types.IO () 165 | {- Arity: 3, Strictness: , 166 | Unfolding: InlineRule (0, True, True) 167 | Main.handleMsg1 168 | `cast` 169 | (_R 170 | ->_R _R 171 | ->_R Sym (GHC.Types.NTCo:IO[0] <()>_R)) -} 172 | dc8d1d5e3d93c5cdb82ef9993700f5a0 173 | handleMsg1 :: 174 | IB.Client.Types.MIB 175 | -> IB.Client.Types.IBMessage 176 | -> GHC.Prim.State# GHC.Prim.RealWorld 177 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 178 | {- Arity: 3, Strictness: , 179 | Unfolding: (\ msv :: IB.Client.Types.MIB 180 | ds :: IB.Client.Types.IBMessage 181 | eta :: GHC.Prim.State# GHC.Prim.RealWorld[OneShot] -> 182 | case ds of wild { 183 | DEFAULT 184 | -> GHC.IO.Handle.Text.hPutStr2 185 | GHC.IO.Handle.FD.stdout 186 | (GHC.CString.unpackAppendCString# 187 | "Catch-all handler called for "# 188 | (IB.Client.Types.$fShowIBMessage_$cshowsPrec 189 | GHC.Show.shows18 190 | wild 191 | (GHC.Types.[] @ GHC.Types.Char))) 192 | GHC.Types.True 193 | eta 194 | IB.Client.Types.ManagedAccts acct 195 | -> GHC.IO.Handle.Text.hPutStr2 196 | GHC.IO.Handle.FD.stdout 197 | (GHC.CString.unpackAppendCString# "Managed Accts: "# acct) 198 | GHC.Types.True 199 | eta 200 | IB.Client.Types.CurrentTime time 201 | -> case msv of wild1 { GHC.MVar.MVar mvar# -> 202 | case GHC.Prim.readMVar# 203 | @ GHC.Prim.RealWorld 204 | @ IB.Client.Types.IBServer 205 | mvar# 206 | eta of ds1 { (#,#) ipv ipv1 -> 207 | GHC.IO.Handle.Text.hPutStr2 208 | GHC.IO.Handle.FD.stdout 209 | (GHC.CString.unpackAppendCString# 210 | "Current Time Response Received "# 211 | (case time of ww2 { GHC.Types.I# ww3 -> 212 | case GHC.Show.$wshowSignedInt 213 | 0 214 | ww3 215 | (GHC.Types.[] @ GHC.Types.Char) of ww4 { (#,#) ww5 ww6 -> 216 | GHC.Types.: @ GHC.Types.Char ww5 ww6 } })) 217 | GHC.Types.True 218 | ipv } } }) -} 219 | 56c865b9961944edf003cb19599702d5 220 | main :: GHC.Types.IO () 221 | {- Arity: 1, Strictness: , 222 | Unfolding: InlineRule (0, True, True) 223 | Main.main1 `cast` (Sym (GHC.Types.NTCo:IO[0] <()>_R)) -} 224 | 034932baf34127b6e7f63904db673cc8 225 | main1 :: 226 | GHC.Prim.State# GHC.Prim.RealWorld 227 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 228 | {- Arity: 1, Strictness: , 229 | Unfolding: (\ s :: GHC.Prim.State# GHC.Prim.RealWorld[OneShot] -> 230 | case GHC.IO.Handle.Text.hPutStr2 231 | GHC.IO.Handle.FD.stdout 232 | System.Console.ANSI.Unix.clearScreenCode 233 | GHC.Types.False 234 | s of ds1 { (#,#) ipv ipv1 -> 235 | case GHC.IO.Handle.Text.hPutStr2 236 | GHC.IO.Handle.FD.stdout 237 | Main.main12 238 | GHC.Types.False 239 | ipv of ds2 { (#,#) ipv2 ipv3 -> 240 | case IB.Client.connect1 241 | Main.main10 242 | GHC.Types.False 243 | GHC.Types.True 244 | ipv2 of ds3 { (#,#) ipv4 ipv5 -> 245 | case ipv5 of wild { 246 | Data.Either.Left err 247 | -> GHC.IO.Handle.Text.hPutStr2 248 | GHC.IO.Handle.FD.stdout 249 | Main.main9 250 | GHC.Types.True 251 | ipv4 252 | Data.Either.Right msv 253 | -> case GHC.IO.Handle.Text.hPutStr2 254 | GHC.IO.Handle.FD.stdout 255 | Main.main8 256 | GHC.Types.False 257 | ipv4 of ds4 { (#,#) ipv6 ipv7 -> 258 | case GHC.IO.Handle.Text.hPutStr2 259 | GHC.IO.Handle.FD.stdout 260 | Main.main4 261 | GHC.Types.False 262 | ipv6 of ds5 { (#,#) ipv8 ipv9 -> 263 | case GHC.IO.Handle.Text.hPutStr2 264 | GHC.IO.Handle.FD.stdout 265 | Main.main3 266 | GHC.Types.True 267 | ipv8 of ds6 { (#,#) ipv10 ipv11 -> 268 | case GHC.IO.Handle.Text.hPutStr2 269 | GHC.IO.Handle.FD.stdout 270 | Main.main2 271 | GHC.Types.True 272 | ipv10 of ds7 { (#,#) ipv12 ipv13 -> 273 | case IB.Client.checkMsg1 274 | msv 275 | GHC.Types.False 276 | ipv12 of ds8 { (#,#) ipv14 ipv15 -> 277 | Main.businessLogic1 msv ipv14 } } } } } } } } }) -} 278 | b9c301a41b898ab6406bd1b0747ea9fe 279 | main10 :: IB.Client.ClientConfig 280 | {- Unfolding: (IB.Client.ClientConfig 281 | IB.Client.defaultConf4 282 | IB.Client.defaultConf3 283 | IB.Client.defaultConf2 284 | GHC.Types.False 285 | Main.main11) -} 286 | 46d3d32c286e05f43b88949ff82a5b2e 287 | main11 :: GHC.Base.Maybe IB.Client.Types.HandlerFunc 288 | {- Unfolding: (GHC.Base.Just 289 | @ IB.Client.Types.HandlerFunc 290 | Main.handleMsg1 291 | `cast` 292 | (_R 293 | ->_R _R 294 | ->_R Sym (GHC.Types.NTCo:IO[0] <()>_R))) -} 295 | f7f77063aa4fa8f38e84cffd9b0ce82c 296 | main12 :: GHC.Base.String 297 | {- Unfolding: (System.Console.ANSI.Unix.csi 298 | Main.main13 299 | System.Console.ANSI.Unix.setCursorPositionCode1) -} 300 | 6155d2046f9f7ae65ac0d0022c14b2be 301 | main13 :: [GHC.Types.Int] 302 | {- HasNoCafRefs, 303 | Unfolding: (GHC.Types.: @ GHC.Types.Int Main.main15 Main.main14) -} 304 | 8b75644929e17341130462e5ff94a08a 305 | main14 :: [GHC.Types.Int] 306 | {- HasNoCafRefs, 307 | Unfolding: (GHC.Types.: 308 | @ GHC.Types.Int 309 | Main.main15 310 | (GHC.Types.[] @ GHC.Types.Int)) -} 311 | a87d3556a543419bf1270d181524894c 312 | main15 :: GHC.Types.Int 313 | {- HasNoCafRefs, Unfolding: (GHC.Types.I# 1) -} 314 | c70a57c7ac1bff387706e7f38b02d383 315 | main16 :: 316 | GHC.Prim.State# GHC.Prim.RealWorld 317 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 318 | {- Arity: 1, 319 | Unfolding: (GHC.TopHandler.runMainIO1 320 | @ () 321 | Main.main1 `cast` (Sym (GHC.Types.NTCo:IO[0] <()>_R))) -} 322 | c1f3e890e91227c060ae71deca92a25e 323 | main2 :: [GHC.Types.Char] 324 | {- Unfolding: (GHC.CString.unpackCString# 325 | " *** API is now ON - commence trading ... "#) -} 326 | f703070ce967d5f645a56d451593c67c 327 | main3 :: [GHC.Types.Char] 328 | {- Unfolding: (GHC.CString.unpackCString# 329 | " *** Connection Sucessful ..."#) -} 330 | b52ee7cfd46b94814f5e570d0adcd8a6 331 | main4 :: GHC.Base.String 332 | {- Unfolding: (System.Console.ANSI.Unix.csi 333 | Main.main5 334 | System.Console.ANSI.Unix.setSGRCode1) -} 335 | 7e3da2365e1d22e4c2f51aa237bd361f 336 | main5 :: [GHC.Types.Int] 337 | {- Unfolding: (GHC.Types.: 338 | @ GHC.Types.Int 339 | Main.main6 340 | (GHC.Types.[] @ GHC.Types.Int)) -} 341 | f61cdeb89c101ca7c393d9b382f69907 342 | main6 :: GHC.Types.Int 343 | {- Unfolding: (case System.Console.ANSI.Unix.$wsgrToCode 344 | Main.main7 of ww { DEFAULT -> 345 | GHC.Types.I# ww }) -} 346 | 7fa5a36d58e5e343b214dd4614a049f7 347 | main7 :: System.Console.ANSI.Common.SGR 348 | {- HasNoCafRefs, 349 | Unfolding: (System.Console.ANSI.Common.SetColor 350 | System.Console.ANSI.Common.Foreground 351 | System.Console.ANSI.Common.Vivid 352 | System.Console.ANSI.Common.Yellow) -} 353 | 652b1955002414229d93a2116c08c5bd 354 | main8 :: GHC.Base.String 355 | {- Unfolding: (System.Console.ANSI.Unix.csi 356 | (GHC.Types.[] @ GHC.Types.Int) 357 | System.Console.ANSI.Unix.setSGRCode1) -} 358 | 2932ec8a3f3639fac1cb25314ae9a804 359 | main9 :: [GHC.Types.Char] 360 | {- Unfolding: (GHC.CString.unpackCString# "Unable to Connect"#) -} 361 | vectorised variables: 362 | vectorised tycons: 363 | vectorised reused tycons: 364 | parallel variables: 365 | parallel tycons: 366 | trusted: none 367 | require own pkg trusted: False 368 | 369 | -------------------------------------------------------------------------------- /.stack-work/dist/x86_64-linux-nopie/Cabal-1.22.4.0/build/src/IB/Client.dump-hi: -------------------------------------------------------------------------------- 1 | 2 | ==================== FINAL INTERFACE ==================== 3 | 2017-12-30 19:34:01.783744 UTC 4 | 5 | interface ibapi_FYtdachWwYX1Bggz8sQPyH:IB.Client 7102 6 | interface hash: 70233dad6bc62149d4b0dc4f7e444402 7 | ABI hash: 5116e859e350d5804e0727a5cf1428fb 8 | export-list hash: 85e5219bd2ab0def49d9cbcf3fe9fc77 9 | orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e 10 | flag hash: c1f2280760789c8f5087c2d5fdf65b37 11 | sig of: Nothing 12 | used TH splices: False 13 | where 14 | exports: 15 | IB.Client.ascCodes 16 | IB.Client.checkMsg 17 | IB.Client.connect 18 | IB.Client.defHandler 19 | IB.Client.defaultConf 20 | IB.Client.disconnect 21 | IB.Client.greetServer 22 | IB.Client.toServer 23 | IB.Client.ClientConfig{IB.Client.ClientConfig IB.Client.cc_addr IB.Client.cc_clientId IB.Client.cc_extraAuth IB.Client.cc_handler IB.Client.cc_port} 24 | module dependencies: IB.Client.Exception IB.Client.Nums 25 | IB.Client.Parser IB.Client.Request IB.Client.Types 26 | package dependencies: ansi-terminal-0.6.2.3@ansit_KW0LUY2zB7JCYzE4ZYrwBg 27 | array-0.5.1.0@array_E0sTtauuKsGDLZoT7lTbgZ 28 | attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E base-4.8.1.0 29 | binary-0.7.5.0@binar_IvYoLp9H6Xy3zEH13MmZwd 30 | bytestring-0.10.6.0@bytes_6elQVSg5cWdFrvRnfxTUrH 31 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN 32 | deepseq-1.4.1.1@deeps_LbCWUlehDDeLxurARKDH5o ghc-prim-0.4.0.0 33 | hashable-1.2.3.3@hasha_Fu46I2eA9YPGrMUpXqnAaw integer-gmp-1.0.0.0 34 | network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE 35 | primitive-0.6.1.0@primi_5Jnw7oEuYtM9dmKXelGXVb 36 | scientific-0.3.4.4@scien_3wyQhsIn3IzCO2Fl73SRM1 37 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG 38 | transformers-0.4.2.0@trans_3eG64VdP2vzGjP6wJiCp5X 39 | vector-0.10.12.3@vecto_JrQt7SYKOQF2foH4Ugm8MQ 40 | orphans: attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E:Data.Attoparsec.ByteString.Char8 41 | base-4.8.1.0:GHC.Base base-4.8.1.0:GHC.Float 42 | binary-0.7.5.0@binar_IvYoLp9H6Xy3zEH13MmZwd:Data.Binary.Generic 43 | bytestring-0.10.6.0@bytes_6elQVSg5cWdFrvRnfxTUrH:Data.ByteString.Builder 44 | hashable-1.2.3.3@hasha_Fu46I2eA9YPGrMUpXqnAaw:Data.Hashable.Generic 45 | network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket 46 | network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket.Types 47 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text 48 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text.Lazy 49 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text.Show 50 | transformers-0.4.2.0@trans_3eG64VdP2vzGjP6wJiCp5X:Control.Monad.Trans.Error 51 | vector-0.10.12.3@vecto_JrQt7SYKOQF2foH4Ugm8MQ:Data.Vector.Fusion.Stream 52 | family instance modules: attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E:Data.Attoparsec.Internal.Types 53 | base-4.8.1.0:Control.Applicative base-4.8.1.0:Data.Either 54 | base-4.8.1.0:Data.Functor.Identity base-4.8.1.0:Data.Monoid 55 | base-4.8.1.0:Data.Type.Equality base-4.8.1.0:Data.Void 56 | base-4.8.1.0:GHC.Exts base-4.8.1.0:GHC.Generics 57 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.IntMap.Base 58 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.IntSet.Base 59 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.Map.Base 60 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.Sequence 61 | containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN:Data.Set.Base 62 | primitive-0.6.1.0@primi_5Jnw7oEuYtM9dmKXelGXVb:Control.Monad.Primitive 63 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text 64 | text-1.2.2.0@text_BKzOMwCPkuv5n8xwLM3CQG:Data.Text.Lazy 65 | vector-0.10.12.3@vecto_JrQt7SYKOQF2foH4Ugm8MQ:Data.Vector 66 | import -/ ansi-terminal-0.6.2.3@ansit_KW0LUY2zB7JCYzE4ZYrwBg:System.Console.ANSI 124b9a5cc81625b5d35bb66f7f3dc750 67 | import -/ ansi-terminal-0.6.2.3@ansit_KW0LUY2zB7JCYzE4ZYrwBg:System.Console.ANSI.Common d0af977ef1b7b8ecdafafa46bce3ef4b 68 | import -/ ansi-terminal-0.6.2.3@ansit_KW0LUY2zB7JCYzE4ZYrwBg:System.Console.ANSI.Unix 4d02c95a64fdfe094db04762201cd1bd 69 | import -/ attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E:Data.Attoparsec.ByteString f724660c6020e0714329a6ddef52c41a 70 | import -/ attoparsec-0.12.1.6@attop_8slB1TUPc0y9Z1f4ky3i2E:Data.Attoparsec.ByteString.Char8 61a1573badf17d184bbf042565e2e1c3 71 | import -/ base-4.8.1.0:Control.Concurrent eedef4ce4eb0a2874a44a6b90863cce8 72 | import -/ base-4.8.1.0:Control.Concurrent.MVar 42b17972c7194d81ab1db982ca1fc21e 73 | import -/ base-4.8.1.0:Control.Exception ad90805da5ad455017893997acf84ba2 74 | import -/ base-4.8.1.0:Control.Exception.Base da2438b8a9b2933da5a60a968b3e3fac 75 | import -/ base-4.8.1.0:Control.Monad dfea142d91349c4861427789d50d5b80 76 | import -/ base-4.8.1.0:Data.Bits 5341167fdd5958c2b3f0dac8924f1efd 77 | import -/ base-4.8.1.0:Data.Char ba93ec4ca3776f6d9a8c8a6223b2fb26 78 | import -/ base-4.8.1.0:Data.Either bc9482e78cc431fce439b593377aa2e6 79 | import -/ base-4.8.1.0:Data.Foldable 2e5acb797cfda6b3b7fabd7052abe290 80 | import -/ base-4.8.1.0:Data.List 2a4f5f92892d432e7113f64cd9dcca53 81 | import -/ base-4.8.1.0:Data.Maybe 1cb58de2b04ee3c0c0a7dc9201184aff 82 | import -/ base-4.8.1.0:Data.OldList 21f46c368c20a00483b41333e53a55cb 83 | import -/ base-4.8.1.0:GHC.Base 1db77db5dae73d8c424c85b09fbadb89 84 | import -/ base-4.8.1.0:GHC.Conc.Sync 9e3836b2f1d1d028a49b374ef552faad 85 | import -/ base-4.8.1.0:GHC.IO c40fa9051eafbe02c69624c2ae0f498f 86 | import -/ base-4.8.1.0:GHC.IO.Exception d3ead07ed0a008300b39abe0b3be2e2c 87 | import -/ base-4.8.1.0:GHC.IO.Handle fda05b0a879e69b0b19e31645e2a560c 88 | import -/ base-4.8.1.0:GHC.IO.Handle.Types 10e039aec061d8ce17bd51dbcefbc854 89 | import -/ base-4.8.1.0:GHC.IO.IOMode 322ecfdfea0791ba55fa98d605d1fcc8 90 | import -/ base-4.8.1.0:GHC.List f31ed8784b3e05f1397195751f7d74ea 91 | import -/ base-4.8.1.0:GHC.MVar b4b3c5aff0a4a363f48f0cc3b89c1927 92 | import -/ base-4.8.1.0:GHC.Show b8c65ca3124f92a166c9f05120382442 93 | import -/ base-4.8.1.0:Prelude 518f762991bc287d78f21a73c974da1f 94 | import -/ base-4.8.1.0:System.IO d541b8bdf18c04de3ab7ea0277c4eba3 95 | import -/ base-4.8.1.0:System.Timeout b7d5cb27986c83c67c1a707cd2549d6b 96 | import -/ bytestring-0.10.6.0@bytes_6elQVSg5cWdFrvRnfxTUrH:Data.ByteString 65bd6f108f33ac736977e12af3a12795 97 | import -/ bytestring-0.10.6.0@bytes_6elQVSg5cWdFrvRnfxTUrH:Data.ByteString.Char8 727f18c1a10ff91ccff6cf752ee2a230 98 | import -/ bytestring-0.10.6.0@bytes_6elQVSg5cWdFrvRnfxTUrH:Data.ByteString.Internal bf4b7d23d1b8365e073bc2ac77444155 99 | import -/ ghc-prim-0.4.0.0:GHC.Classes e1f4ff80f7b5262008a595d29986fb18 100 | import -/ ghc-prim-0.4.0.0:GHC.Types 6b27fb3fdbd0e3f0925a4496c66513bb 101 | import -/ IB.Client.Exception ca4f6733651cf163ea580063199c2a5c 102 | exports: 7eff26c27b335ad06056128a7d034b9f 103 | IBExc fc6a864aff7c140893feb5ed1aada899 104 | ParseError e57673181ddd912029f3823a3de9cc03 105 | UpdateTWS 97d4126c9a5734a559a51180b3ef52b9 106 | import -/ IB.Client.Nums 58a359e02642eec9b8a336565de0a79c 107 | exports: d0908944e2fd0cd158a337b3d47aceb6 108 | client_version 9e86818de2c4825a0543c7402614f458 109 | min_server_ver_linking a9b8896fc9ded1947e019646fe72f599 110 | no_valid_id e0554a210720e1ba427aa859a5189870 111 | server_version 8f0268d066d5d5d5d3b149a87c3253fe 112 | import -/ IB.Client.Parser ce140e1281202caa50d0b47619571213 113 | exports: f815f5a1f9cb711f97630a390ff43fa3 114 | pRecvMsg a5f06c33bf74cae1ea47880aaf98a126 115 | pServerVersion 27e558102ff10d63a3fa7e3ff1d0e9ba 116 | import -/ IB.Client.Request 9c1196de4f998fc855c55147bae014d9 117 | exports: 79f249c8c70bf30464006183257f9ffb 118 | appNull 205acfe9d3d3232ea6a99ce2cfec57ae 119 | debugWrite 58eac69b8484bec23358f9a67618a69e 120 | request e2f052a391d2e32104c740a933766848 121 | show' 6a54a10f0831203914613c577fd2beb1 122 | wFlush 8a15c34ee06df0f187dd2d31c23e3e4f 123 | write ed1377dc39d7af152aae786078016bd1 124 | import -/ IB.Client.Types 4c6a6fdfbfd3bbf81422ed04211308a6 125 | exports: 85904ef18005241fa853203f455d7870 126 | HandlerFunc 5648ec0728afbb5950c4733509557b1a 127 | IBMessage c3159178f505ab80d8d762e3ddc31b28 128 | IBServer b1d2487a662dc4a3b06deaf01dca6a82 129 | IBServer 5648ec0728afbb5950c4733509557b1a 130 | MIB 5648ec0728afbb5950c4733509557b1a 131 | StartApi 58b2eaa7adb696331e132ec6c1aadb65 132 | pre_serverVersion da9d1f448ab523f60f701c8407192265 133 | pre_twsTime f17c2544905300c012df12301e74a3fa 134 | rc_msgBody da689cac084fd6a14575a8a7b980a59f 135 | s_addr 05390dbe7f73acce274ba74146d2ab45 136 | s_clientId 7f80537bec2ae70a2784f21862a601dd 137 | s_connected 400f0674035aa7079a619b9cefd8a89d 138 | s_debug 57b516f6b74ca3c58ac59cdfe5b7186d 139 | s_extraAuth 51110092ea1387c285dc662a86f99826 140 | s_handler 54ebb9fc651318cd874317148b523d10 141 | s_msgThread 160ec8866725a573754fcca8c5451cae 142 | s_port e5c070d3224c3b2d0989c1e312d08532 143 | s_sock abaa0706f12748447909ffb0b78e644f 144 | s_timeoutInterval 9ff9847fafb3c3c0c64bf3b422320f2f 145 | s_twsTime c7ff0cc1629859c7be4f10e0aa7c526a 146 | s_version 889b3513dbf8128819d06a795147b927 147 | import -/ network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.BSD 777eb058269e74aca488bd21903a0b54 148 | import -/ network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket e3a0d0de7e1edfdda157779d1bac350c 149 | import -/ network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket.ByteString 2bb891968c72e4c02b3f200d387bf040 150 | import -/ network-2.6.2.1@netwo_F6mK9sCIw3M5SbZMt2lUQE:Network.Socket.Types 915e90abe5539c8f80b791ac6b9a0e59 151 | bd849b98054d6407832e4983aada0104 152 | $wa :: 153 | GHC.Prim.MVar# GHC.Prim.RealWorld IB.Client.Types.IBServer 154 | -> GHC.Prim.State# GHC.Prim.RealWorld 155 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 156 | {- Arity: 2, Strictness: , Inline: [0], 157 | Unfolding: (\ ww :: GHC.Prim.MVar# 158 | GHC.Prim.RealWorld IB.Client.Types.IBServer 159 | w :: GHC.Prim.State# GHC.Prim.RealWorld[OneShot] -> 160 | case GHC.Prim.readMVar# 161 | @ GHC.Prim.RealWorld 162 | @ IB.Client.Types.IBServer 163 | ww 164 | w of ds1 { (#,#) ipv ipv1 -> 165 | case ipv1 of wild { IB.Client.Types.IBServer ds2 ds3 ds4 ds5 ds6 ds7 ds8 ds9 ds10 ds11 ds12 ds13 -> 166 | case ds10 of wild1 { 167 | GHC.Base.Nothing 168 | -> case Data.Maybe.fromJust1 169 | ret_ty (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 170 | of {} 171 | GHC.Base.Just x 172 | -> case GHC.IO.Handle.hClose1 x ipv of ds14 { (#,#) ipv2 ipv3 -> 173 | case GHC.Prim.putMVar# 174 | @ GHC.Prim.RealWorld 175 | @ IB.Client.Types.IBServer 176 | ww 177 | (IB.Client.Types.IBServer 178 | ds2 179 | ds3 180 | IB.Client.disconnect2 181 | GHC.Types.False 182 | IB.Client.defaultConf2 183 | GHC.Types.False 184 | ds8 185 | ds9 186 | wild1 187 | ds11 188 | ds12 189 | ds13) 190 | ipv2 of s2# { DEFAULT -> 191 | (# s2#, GHC.Tuple.() #) } } } } }) -} 192 | c2b7b2759b16c794f6b4e14439f44b30 193 | $wascCodes :: 194 | GHC.Prim.Addr# 195 | -> GHC.ForeignPtr.ForeignPtrContents 196 | -> GHC.Prim.Int# 197 | -> GHC.Prim.Int# 198 | -> GHC.Base.String 199 | {- Arity: 4, HasNoCafRefs, Strictness: , 200 | Inline: [0], 201 | Unfolding: (\ ww :: GHC.Prim.Addr# 202 | ww1 :: GHC.ForeignPtr.ForeignPtrContents 203 | ww2 :: GHC.Prim.Int# 204 | ww3 :: GHC.Prim.Int# -> 205 | case IB.Client.ascCodes_go 206 | (Data.ByteString.Internal.$wunpackAppendCharsLazy 207 | ww 208 | ww1 209 | ww2 210 | ww3 211 | (GHC.Types.[] @ GHC.Types.Char)) of wild { 212 | [] -> GHC.Types.[] @ GHC.Types.Char : ds1 xs -> xs }) -} 213 | 84edfe19278259bd81778da1d93658fd 214 | data ClientConfig 215 | = ClientConfig {cc_addr :: GHC.Base.String, 216 | cc_port :: GHC.Types.Int, 217 | cc_clientId :: GHC.Types.Int, 218 | cc_extraAuth :: GHC.Types.Bool, 219 | cc_handler :: GHC.Base.Maybe IB.Client.Types.HandlerFunc} 220 | 759c58992f9a9a1144a2614be14a9ec1 221 | ascCodes :: Data.ByteString.Internal.ByteString -> GHC.Base.String 222 | {- Arity: 1, HasNoCafRefs, Strictness: , 223 | Inline: INLINE[0], 224 | Unfolding: InlineRule (1, True, False) 225 | (\ w :: Data.ByteString.Internal.ByteString -> 226 | case w of ww { Data.ByteString.Internal.PS ww1 ww2 ww3 ww4 -> 227 | IB.Client.$wascCodes ww1 ww2 ww3 ww4 }) -} 228 | 5e6dd1076f5b4b7743c7f2ca5852ad48 229 | ascCodes_go :: [GHC.Types.Char] -> [GHC.Types.Char] 230 | {- Arity: 1, HasNoCafRefs, Strictness: -} 231 | 9dcf4890c8fc2b6562df218f335fe5c5 232 | cc_addr :: IB.Client.ClientConfig -> GHC.Base.String 233 | RecSel IB.Client.ClientConfig 234 | {- Arity: 1, HasNoCafRefs, Strictness: , 235 | Unfolding: InlineRule (1, True, False) 236 | (\ ds :: IB.Client.ClientConfig -> 237 | case ds of wild { IB.Client.ClientConfig ds1 ds2 ds3 ds4 ds5 -> 238 | ds1 }) -} 239 | 307d96d2b70a11ec36b55bebbc658687 240 | cc_clientId :: IB.Client.ClientConfig -> GHC.Types.Int 241 | RecSel IB.Client.ClientConfig 242 | {- Arity: 1, HasNoCafRefs, 243 | Strictness: , 244 | Unfolding: InlineRule (1, True, False) 245 | (\ ds :: IB.Client.ClientConfig -> 246 | case ds of wild { IB.Client.ClientConfig ds1 ds2 ds3 ds4 ds5 -> 247 | ds3 }) -} 248 | f490558d397ec506f7cac8fa2678980e 249 | cc_extraAuth :: IB.Client.ClientConfig -> GHC.Types.Bool 250 | RecSel IB.Client.ClientConfig 251 | {- Arity: 1, HasNoCafRefs, Strictness: , 252 | Unfolding: InlineRule (1, True, False) 253 | (\ ds :: IB.Client.ClientConfig -> 254 | case ds of wild { IB.Client.ClientConfig ds1 ds2 ds3 ds4 ds5 -> 255 | ds4 }) -} 256 | 507b99515720ef225bbb28376a21e932 257 | cc_handler :: 258 | IB.Client.ClientConfig 259 | -> GHC.Base.Maybe IB.Client.Types.HandlerFunc 260 | RecSel IB.Client.ClientConfig 261 | {- Arity: 1, HasNoCafRefs, Strictness: , 262 | Unfolding: InlineRule (1, True, False) 263 | (\ ds :: IB.Client.ClientConfig -> 264 | case ds of wild { IB.Client.ClientConfig ds1 ds2 ds3 ds4 ds5 -> 265 | ds5 }) -} 266 | 17e700d45a6b609acbf1b8ab35c54b26 267 | cc_port :: IB.Client.ClientConfig -> GHC.Types.Int 268 | RecSel IB.Client.ClientConfig 269 | {- Arity: 1, HasNoCafRefs, 270 | Strictness: , 271 | Unfolding: InlineRule (1, True, False) 272 | (\ ds :: IB.Client.ClientConfig -> 273 | case ds of wild { IB.Client.ClientConfig ds1 ds2 ds3 ds4 ds5 -> 274 | ds2 }) -} 275 | cb2a66971ec6b8d30b5e1626d28fbbf6 276 | checkMsg :: 277 | IB.Client.Types.MIB -> GHC.Types.Bool -> GHC.Types.IO () 278 | {- Arity: 3, Strictness: , 279 | Unfolding: InlineRule (0, True, True) 280 | IB.Client.checkMsg1 281 | `cast` 282 | (_R 283 | ->_R _R 284 | ->_R Sym (GHC.Types.NTCo:IO[0] <()>_R)) -} 285 | be2d8831023ea83828764c946efbab19 286 | checkMsg1 :: 287 | IB.Client.Types.MIB 288 | -> GHC.Types.Bool 289 | -> GHC.Prim.State# GHC.Prim.RealWorld 290 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 291 | {- Arity: 3, Strictness: -} 292 | d9258322a3d2116804942d7df98045ff 293 | connect :: 294 | IB.Client.ClientConfig 295 | -> GHC.Types.Bool 296 | -> GHC.Types.Bool 297 | -> GHC.Types.IO 298 | (Data.Either.Either GHC.IO.Exception.IOError IB.Client.Types.MIB) 299 | {- Arity: 4, Strictness: , 300 | Unfolding: InlineRule (0, True, True) 301 | IB.Client.connect1 302 | `cast` 303 | (_R 304 | ->_R _R 305 | ->_R _R 306 | ->_R Sym (GHC.Types.NTCo:IO[0] 307 | _R)) -} 310 | d712b6a38885bc85da83f19514213833 311 | connect1 :: 312 | IB.Client.ClientConfig 313 | -> GHC.Types.Bool 314 | -> GHC.Types.Bool 315 | -> GHC.Prim.State# GHC.Prim.RealWorld 316 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, 317 | Data.Either.Either 318 | GHC.IO.Exception.IOError 319 | (GHC.MVar.MVar IB.Client.Types.IBServer) #) 320 | {- Arity: 4, 321 | Strictness: -} 322 | c765189ee7117f4e3e899d19c8987352 323 | defHandler :: 324 | IB.Client.Types.MIB -> IB.Client.Types.IBMessage -> GHC.Types.IO () 325 | {- Arity: 3, Strictness: , 326 | Unfolding: InlineRule (0, True, True) 327 | IB.Client.defHandler1 328 | `cast` 329 | (_R 330 | ->_R _R 331 | ->_R Sym (GHC.Types.NTCo:IO[0] <()>_R)) -} 332 | b6a547f552a91708109a875ad7fca14f 333 | defHandler1 :: 334 | IB.Client.Types.MIB 335 | -> IB.Client.Types.IBMessage 336 | -> GHC.Prim.State# GHC.Prim.RealWorld 337 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 338 | {- Arity: 3, Strictness: , 339 | Unfolding: InlineRule (2, True, True) 340 | (\ ds :: IB.Client.Types.MIB 341 | ds1 :: IB.Client.Types.IBMessage 342 | eta :: GHC.Prim.State# GHC.Prim.RealWorld[OneShot] -> 343 | IB.Client.defHandler2 eta) -} 344 | 85f3454d9cb591488c38b765fac9ae7c 345 | defHandler2 :: 346 | GHC.Prim.State# GHC.Prim.RealWorld 347 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 348 | {- Arity: 1, Strictness: , 349 | Unfolding: (\ eta :: GHC.Prim.State# GHC.Prim.RealWorld[OneShot] -> 350 | GHC.IO.Handle.Text.hPutStr2 351 | GHC.IO.Handle.FD.stdout 352 | IB.Client.defHandler3 353 | GHC.Types.True 354 | eta) -} 355 | 7126494b94c7d48a79067e34c900725f 356 | defHandler3 :: [GHC.Types.Char] 357 | {- Unfolding: (GHC.CString.unpackCString# 358 | "No Message Handler is defined"#) -} 359 | bc5e315b21d9ea91b6e73a9ab7f3517c 360 | defaultConf :: IB.Client.ClientConfig 361 | {- Strictness: m, 362 | Unfolding: (IB.Client.ClientConfig 363 | IB.Client.defaultConf4 364 | IB.Client.defaultConf3 365 | IB.Client.defaultConf2 366 | GHC.Types.False 367 | IB.Client.defaultConf1) -} 368 | 28187358f87a38b819285c446d05050c 369 | defaultConf1 :: GHC.Base.Maybe IB.Client.Types.HandlerFunc 370 | {- Strictness: m2, 371 | Unfolding: (GHC.Base.Just 372 | @ IB.Client.Types.HandlerFunc 373 | IB.Client.defHandler1 374 | `cast` 375 | (_R 376 | ->_R _R 377 | ->_R Sym (GHC.Types.NTCo:IO[0] <()>_R))) -} 378 | e344ae5b74bb9df85d8e38e2d2108c82 379 | defaultConf2 :: GHC.Types.Int 380 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 0) -} 381 | 1f239e39e6e8f9df6035d539d899e7f1 382 | defaultConf3 :: GHC.Types.Int 383 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 7497) -} 384 | 7ebc4bbe623236053970860d5970076b 385 | defaultConf4 :: [GHC.Types.Char] 386 | {- Unfolding: (GHC.CString.unpackCString# "127.0.0.1"#) -} 387 | 8fb96ddf8c1ae086ff127309c5f0c461 388 | disconnect :: IB.Client.Types.MIB -> GHC.Types.IO () 389 | {- Arity: 2, Strictness: , 390 | Unfolding: InlineRule (0, True, True) 391 | IB.Client.disconnect1 392 | `cast` 393 | (_R ->_R Sym (GHC.Types.NTCo:IO[0] <()>_R)) -} 394 | 23970f51e07bb55be41ef06cd0561506 395 | disconnect1 :: 396 | IB.Client.Types.MIB 397 | -> GHC.Prim.State# GHC.Prim.RealWorld 398 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #) 399 | {- Arity: 2, Strictness: , Inline: INLINE[0], 400 | Unfolding: InlineRule (2, True, False) 401 | (\ w :: IB.Client.Types.MIB 402 | w1 :: GHC.Prim.State# GHC.Prim.RealWorld[OneShot] -> 403 | case w of ww { GHC.MVar.MVar ww1 -> IB.Client.$wa ww1 w1 }) -} 404 | b8db7629f7b5ca5d55d8d85fe5f54474 405 | disconnect2 :: GHC.Types.Int 406 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# (-1)) -} 407 | cd1270f3197de7c8fbc9e35f4da6b2e6 408 | greetServer :: 409 | IB.Client.Types.IBServer -> GHC.Types.IO IB.Client.Types.IBServer 410 | {- Arity: 2, Strictness: , 411 | Unfolding: InlineRule (0, True, True) 412 | IB.Client.greetServer1 413 | `cast` 414 | (_R 415 | ->_R Sym (GHC.Types.NTCo:IO[0] _R)) -} 416 | 587281840d60566f4b2fdb61d67b3ecb 417 | greetServer1 :: 418 | IB.Client.Types.IBServer 419 | -> GHC.Prim.State# GHC.Prim.RealWorld 420 | -> (# GHC.Prim.State# GHC.Prim.RealWorld, 421 | IB.Client.Types.IBServer #) 422 | {- Arity: 2, Strictness: -} 423 | 37ca2cbc875e992861a0eee82597e841 424 | toServer :: 425 | IB.Client.ClientConfig 426 | -> GHC.IO.Handle.Types.Handle 427 | -> GHC.Types.Bool 428 | -> IB.Client.Types.IBServer 429 | {- Arity: 3, Strictness: , 430 | Unfolding: InlineRule (3, True, False) 431 | (\ cc :: IB.Client.ClientConfig 432 | h :: GHC.IO.Handle.Types.Handle 433 | debug :: GHC.Types.Bool -> 434 | IB.Client.Types.IBServer 435 | (case cc of wild { IB.Client.ClientConfig ds ds1 ds2 ds3 ds4 -> 436 | ds }) 437 | (case cc of wild { IB.Client.ClientConfig ds ds1 ds2 ds3 ds4 -> 438 | ds1 }) 439 | (case cc of wild { IB.Client.ClientConfig ds ds1 ds2 ds3 ds4 -> 440 | ds2 }) 441 | (case cc of wild { IB.Client.ClientConfig ds ds1 ds2 ds3 ds4 -> 442 | ds3 }) 443 | IB.Client.defaultConf2 444 | GHC.Types.False 445 | (GHC.Types.[] @ GHC.Types.Char) 446 | debug 447 | (GHC.Base.Just @ GHC.IO.Handle.Types.Handle h) 448 | (GHC.Base.Nothing @ GHC.Conc.Sync.ThreadId) 449 | IB.Client.toServer1 450 | (case cc of wild { IB.Client.ClientConfig ds ds1 ds2 ds3 ds4 -> 451 | case ds4 of wild1 { 452 | GHC.Base.Nothing 453 | -> Data.Maybe.fromJust1 @ IB.Client.Types.HandlerFunc 454 | GHC.Base.Just x -> x } })) -} 455 | 02d70c2af381baeb214f822fa84fe38a 456 | toServer1 :: GHC.Types.Int 457 | {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.I# 100000) -} 458 | vectorised variables: 459 | vectorised tycons: 460 | vectorised reused tycons: 461 | parallel variables: 462 | parallel tycons: 463 | trusted: none 464 | require own pkg trusted: False 465 | 466 | -------------------------------------------------------------------------------- /src/IB/Client/Request.hs: -------------------------------------------------------------------------------- 1 | {-# LANGUAGE NamedFieldPuns #-} 2 | 3 | module IB.Client.Request where 4 | 5 | import Control.Concurrent.MVar 6 | import Control.Exception 7 | import Control.Monad (when, unless) 8 | import Text.Printf 9 | import qualified System.IO as S 10 | import qualified Data.ByteString.Char8 as B 11 | import Data.Maybe 12 | 13 | import IB.Client.Exception 14 | import IB.Client.Nums 15 | import IB.Client.Types 16 | 17 | import System.Console.ANSI 18 | 19 | data ReqHeader = 20 | ReqHeader 21 | { rqh_msgId :: Int 22 | , rqh_proVer :: Int 23 | , rqh_errId :: Int 24 | , rqh_errMsg :: String 25 | , rqh_minVer :: Maybe Int 26 | , rqh_exAuth :: Maybe Bool 27 | } 28 | 29 | defReqHeader = ReqHeader 1 1 no_valid_id "" Nothing Nothing 30 | 31 | (<++>) :: B.ByteString -> B.ByteString -> B.ByteString 32 | a <++> b = a `B.append` nullch `B.append` b 33 | 34 | debugWrite :: IBServer -> String -> IO () 35 | debugWrite s msg = 36 | when (s_debug s) $ putStrLn msg 37 | 38 | write :: IBServer -> B.ByteString -> IO () 39 | write s msg = do 40 | setSGR [SetColor Foreground Dull Cyan] 41 | putStrLn " *** Writing Msg to IB Server ..." 42 | debugWrite s $ " IB-server << " ++ B.unpack msg 43 | B.hPutStr h msg 44 | where h = fromJust $ s_sock s 45 | 46 | writeLst :: IBServer -> [B.ByteString] -> IO () 47 | writeLst s bsl = 48 | do let outbs = (B.intercalate nullch bsl) `B.append` nullch 49 | debugWrite s $ "<< " ++ B.unpack outbs 50 | B.hPutStr h outbs 51 | where h = fromJust $ s_sock s 52 | 53 | wFlush :: IBServer -> IO () 54 | wFlush s = S.hFlush h 55 | where h = fromJust $ s_sock s 56 | 57 | show' :: Show a => a -> B.ByteString 58 | show' = B.pack . show 59 | 60 | nullch :: B.ByteString 61 | nullch = B.pack "\0" 62 | 63 | appNull :: B.ByteString -> B.ByteString 64 | appNull bin = bin `B.append` nullch 65 | 66 | encodeDbl :: Double -> B.ByteString 67 | encodeDbl val = B.pack (printf "%.2f" val) 68 | 69 | encodeIntMax :: Int -> B.ByteString 70 | encodeIntMax val 71 | | val == int32max = B.pack "" 72 | | otherwise = show' val 73 | 74 | encodeDblMax :: Double -> B.ByteString 75 | encodeDblMax val 76 | | val == dblMaximum = B.pack "" 77 | | otherwise = encodeDbl val 78 | 79 | encodeExecutionFilter :: ExecutionFilter -> B.ByteString 80 | encodeExecutionFilter exf = appNull (show' ( exf_clientId exf) 81 | <++> B.pack (exf_acctCode exf) 82 | <++> B.pack ( exf_time exf) 83 | <++> B.pack ( exf_symbol exf) 84 | <++> B.pack ( exf_secType exf) 85 | <++> B.pack ( exf_exchange exf) 86 | <++> B.pack ( exf_side exf )) 87 | 88 | 89 | encodeSubscription :: ScannerSubscription -> B.ByteString 90 | encodeSubscription subs = appNull $ encodeIntMax ( ssb_numberOfRows subs) 91 | <++> B.pack ( ssb_instrument subs) 92 | <++> B.pack ( ssb_locationCode subs) 93 | <++> B.pack ( ssb_scanCode subs) 94 | <++> encodeDblMax ( ssb_abovePrice subs) 95 | <++> encodeDblMax ( ssb_belowPrice subs) 96 | <++> encodeIntMax ( ssb_aboveVolume subs) 97 | <++> encodeDblMax ( ssb_marketCapAbove subs) 98 | <++> encodeDblMax ( ssb_marketCapBelow subs) 99 | <++> B.pack ( ssb_moodyRatingAbove subs) 100 | <++> B.pack ( ssb_moodyRatingBelow subs) 101 | <++> B.pack ( ssb_spRatingAbove subs) 102 | <++> B.pack ( ssb_spRatingBelow subs) 103 | <++> B.pack ( ssb_maturityDateAbove subs) 104 | <++> B.pack ( ssb_maturityDateBelow subs) 105 | <++> encodeDblMax ( ssb_couponRateAbove subs) 106 | <++> encodeDblMax ( ssb_couponRateBelow subs) 107 | <++> encodeIntMax ( ssb_excludeConvertible subs) 108 | <++> encodeIntMax ( ssb_averageOptionVolumeAbove subs) 109 | <++> B.pack ( ssb_scannerSettingPairs subs) 110 | <++> B.pack ( ssb_stockTypeFilter subs) 111 | 112 | 113 | encodeTagValue :: TagValue -> B.ByteString 114 | encodeTagValue tv = B.pack $ tv_tag tv ++ "=" ++ tv_value tv ++ ";" 115 | 116 | encodeTagValueList :: [TagValue] -> B.ByteString 117 | encodeTagValueList tvl = B.concat $ map encodeTagValue tvl 118 | 119 | encodeUnderComp :: UnderComp -> B.ByteString 120 | encodeUnderComp uc = appNull $ show' 1 <++> show' ( uc_conId uc ) 121 | <++> show' ( uc_price uc) 122 | 123 | encodeComboLeg :: ComboLeg -> B.ByteString 124 | encodeComboLeg cl = appNull $ show' ( cl_conId cl) 125 | <++> show' ( cl_ratio cl ) 126 | <++> B.pack ( cl_action cl ) 127 | <++> B.pack ( cl_exchange cl) 128 | 129 | encodeComboLegList :: [ComboLeg] -> B.ByteString 130 | encodeComboLegList cll = appNull $ show' ( length cll) <++> B.concat ( map encodeComboLeg cll ) 131 | 132 | encodeContract :: IBServer -> Contract -> Bool -> IO B.ByteString 133 | encodeContract s con pexch = 134 | do let serv_ver = s_version s 135 | bs | serv_ver >= min_server_ver_trading_class = show' $ ct_conId con 136 | | otherwise = B.empty 137 | out = bs <++> B.pack ( ct_symbol con) 138 | <++> B.pack ( ct_secType con) 139 | <++> B.pack ( ct_expiry con) 140 | <++> show' ( ct_strike con) 141 | <++> B.pack ( ct_right con) 142 | <++> B.pack ( ct_multiplier con) 143 | <++> B.pack ( ct_exchange con) 144 | out' | pexch = out <++> B.pack ( ct_primaryExchange con ) 145 | | otherwise = out 146 | out'' = out' <++> B.pack ( ct_currency con) 147 | <++> B.pack ( ct_localSymbol con) 148 | 149 | if serv_ver >= min_server_ver_trading_class 150 | then return $ appNull $ out'' <++> B.pack ( ct_tradingClass con) 151 | else return $ appNull out'' 152 | 153 | getHeaderCon :: IBServer -> ReqHeader -> Contract -> IO B.ByteString 154 | getHeaderCon s rqh con = 155 | do let hndle = s_sock s 156 | connected = s_connected s 157 | serv_ver = s_version s 158 | mExtraAuth = s_extraAuth s 159 | 160 | case () of 161 | _ | not connected -> throwIO $ IBExc (rqh_errId rqh) NotConnected "" 162 | | (rqh_minVer rqh) /= Nothing -> 163 | when ((serv_ver < fromJust (rqh_minVer rqh)) && not ( null ( ct_tradingClass con)) || ct_conId con > 0) 164 | $ throwIO $ IBExc (rqh_errId rqh) UpdateTWS (rqh_errMsg rqh) 165 | | otherwise -> return () 166 | 167 | return $ appNull $ show' ( rqh_msgId rqh) <++> show' ( rqh_proVer rqh) 168 | 169 | getHeader :: IBServer -> ReqHeader -> IO B.ByteString 170 | getHeader s rqh = 171 | do let hndle = s_sock s 172 | connected = s_connected s 173 | serv_ver = s_version s 174 | mExtraAuth = s_extraAuth s 175 | 176 | case () of 177 | _ | not connected -> throwIO $ IBExc (rqh_errId rqh) NotConnected "" 178 | | (rqh_minVer rqh) /= Nothing -> when (serv_ver < fromJust (rqh_minVer rqh)) $ throwIO $ IBExc (rqh_errId rqh) UpdateTWS (rqh_errMsg rqh) 179 | 180 | | (rqh_exAuth rqh) /= Nothing -> unless mExtraAuth $ throwIO $ IBExc no_valid_id UpdateTWS " Intent to authenticate needs to be expressed during initial connect request." 181 | | otherwise -> return () 182 | 183 | return $ show' ( rqh_msgId rqh) <++> show' ( rqh_proVer rqh) 184 | 185 | request :: IBServer -> Request -> IO () 186 | 187 | request s inp @ (MktDataReq { }) = 188 | do let hndle = s_sock s 189 | connected = s_connected s 190 | serv_ver = s_version s 191 | mExtraAuth = s_extraAuth s 192 | ct = mdr_contract inp 193 | tickerId = rqp_tickerId inp 194 | version = 11 195 | 196 | case () of 197 | _ | not connected -> throwIO $ IBExc tickerId NotConnected "" 198 | | serv_ver < min_server_ver_under_comp && (ct_underComp ct /= undefined) -> throwIO $ IBExc tickerId UpdateTWS " It does not support fundamental data requests." 199 | | serv_ver < min_server_ver_req_mkt_data_conid && (ct_conId ct > 0) -> throwIO $ IBExc tickerId UpdateTWS " It does not support conId parameter." 200 | | serv_ver < min_server_ver_trading_class && not ( null (ct_tradingClass ct)) -> throwIO $ IBExc tickerId UpdateTWS " It does not support tradingClass parameter in reqMktData." 201 | | otherwise -> return () 202 | 203 | let bs = show' (reqToId inp) 204 | <++> show' version 205 | <++> show' tickerId 206 | conbs | serv_ver >= min_server_ver_req_mkt_data_conid = show' $ ct_conId ct 207 | | otherwise = B.empty 208 | 209 | bs' = bs <++> conbs 210 | <++> B.pack ( ct_symbol ct ) 211 | <++> B.pack ( ct_secType ct) 212 | <++> B.pack ( ct_expiry ct) 213 | <++> show' ( ct_strike ct) 214 | <++> B.pack ( ct_right ct) 215 | <++> B.pack ( ct_multiplier ct ) 216 | <++> B.pack ( ct_exchange ct) 217 | <++> B.pack ( ct_primaryExchange ct) 218 | <++> B.pack ( ct_currency ct) 219 | <++> B.pack ( ct_localSymbol ct) 220 | 221 | tclass | serv_ver >= min_server_ver_trading_class = (show' $ ct_tradingClass ct ) 222 | | otherwise = B.empty 223 | 224 | clist | compare (ct_secType ct) "BAG" == EQ = encodeComboLegList (ct_comboLegsList ct) 225 | | otherwise = B.empty 226 | ucomp | serv_ver >= min_server_ver_under_comp && ct_underComp ct /= undefined = encodeUnderComp (ct_underComp ct) 227 | | otherwise = show' 0 228 | bs'' = bs' 229 | <++> tclass 230 | <++> clist 231 | <++> ucomp 232 | <++> B.pack ( mdr_genericTicks inp ) 233 | <++> show' ( fromBool ( mdr_snapshot inp)) 234 | 235 | if serv_ver >= min_server_ver_linking 236 | then write s $ appNull $ bs'' <++> encodeTagValueList ( mdr_mktDataOptions inp) 237 | else write s $ appNull bs'' 238 | 239 | wFlush s 240 | 241 | request s rq @ (CancelMktData { rqp_tickerId = tid }) = 242 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 243 | , rqh_proVer = 2 244 | , rqh_errId = tid 245 | } 246 | write s $ appNull $ hdr <++> show' tid 247 | wFlush s 248 | 249 | request s rq @ (PlaceOrder { rqp_orderId = oid }) = 250 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 251 | , rqh_proVer = 2 252 | , rqh_errId = oid 253 | } 254 | write s $ appNull $ hdr <++> show' oid 255 | wFlush s 256 | -- TODO PlaceOrder Complete 257 | 258 | request s rq @ (CancelOrder oid) = 259 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 260 | , rqh_errId = oid 261 | } 262 | write s $ appNull $ hdr <++> show' oid 263 | wFlush s 264 | 265 | request s rq @ OpenOrdersReq = do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 266 | write s hdr 267 | wFlush s 268 | 269 | request s rq @ (AccountUpdatesReq {aur_subscribe = subscribe, aur_acctCode = acctCode}) = 270 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 271 | , rqh_proVer = 2 272 | } 273 | write s $ appNull $ show' ( fromBool subscribe) <++> B.pack acctCode 274 | wFlush s 275 | 276 | request s rq @ (ExecutionsReq req_id exc_filt) = 277 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 278 | , rqh_proVer = 3 279 | } 280 | let serv_ver = s_version s 281 | reqbs | serv_ver >= min_server_ver_execution_data_chain = show' req_id 282 | | otherwise = B.empty 283 | 284 | write s $ appNull $ hdr <++> reqbs <++> encodeExecutionFilter exc_filt 285 | wFlush s 286 | 287 | request s rq @ (IdsReq numIds) = do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq, rqh_errId = numIds } 288 | write s $ appNull $ hdr <++> show' numIds 289 | wFlush s 290 | --TODO 291 | --request s rq @ (ContractDetailsReq req_id contract) = 292 | 293 | request s rq @ (MktDepthReq { rqp_tickerId = tid 294 | , mkr_contract = con 295 | , mkr_numRows = numRows 296 | , mkr_mktDepthOptions = mkDepthOpts 297 | }) = 298 | do let serv_ver = s_version s 299 | 300 | hdr <- getHeaderCon s defReqHeader { rqh_msgId = reqToId rq 301 | , rqh_proVer = 5 302 | , rqh_minVer = Just min_server_ver_trading_class 303 | , rqh_errId = tid 304 | , rqh_errMsg = " It does not support conId and tradingClass parameters in reqMktDepth." 305 | } con 306 | con' <- encodeContract s con False 307 | 308 | write s $ appNull $ hdr <++> show' tid <++> con' <++> show' numRows 309 | 310 | when (serv_ver >= min_server_ver_linking) $ 311 | write s $ appNull $ encodeTagValueList mkDepthOpts 312 | 313 | wFlush s 314 | 315 | request s rq @ (CancelMktDepth tid) = 316 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq, 317 | rqh_errId = tid} 318 | write s $ appNull $ hdr <++> show' tid 319 | wFlush s 320 | 321 | request s rq @ (NewsBulletinsReq allMsgs) = 322 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq} 323 | write s $ appNull $ hdr <++> show' ( fromBool allMsgs) 324 | wFlush s 325 | 326 | request s rq @ CancelNewsBulletins = 327 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 328 | write s $ appNull hdr 329 | 330 | request s rq @ (SetServerLogLevel llvl) = 331 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 332 | write s $ appNull $ hdr <++> show' llvl 333 | wFlush s 334 | 335 | request s rq @ (AutoOpenOrdersReq autoBind) = 336 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 337 | write s $ appNull $ hdr <++> show' (fromBool autoBind) 338 | wFlush s 339 | 340 | request s rq @ AllOpenOrdersReq = 341 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 342 | write s $ appNull hdr 343 | wFlush s 344 | 345 | request s rq @ ManagedAcctsReq = 346 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 347 | write s $ appNull hdr 348 | wFlush s 349 | 350 | request s rq @ (FAReq fad) = 351 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq} 352 | write s $ appNull $ hdr <++> show' ( fromEnum' fad) 353 | 354 | request s rq @ (FAReplaceReq fad cxml) = 355 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq} 356 | write s $ appNull $ hdr <++> show' (fromEnum' fad) <++> B.pack cxml 357 | wFlush s 358 | 359 | request s rq @ (HistoricalDataReq {rqp_tickerId = tid 360 | , hdr_contract = con 361 | , hdr_endDataTime = edt 362 | , hdr_durationStr = durStr 363 | , hdr_whatToShow = whatToShow 364 | , hdr_formatDate = formatDate 365 | , hdr_chartOptions = chartOptions 366 | , hdr_useRTH = useRTH 367 | , hdr_barSizeSetting = barSizeSetting 368 | }) = 369 | do let serv_ver = s_version s 370 | hdr <- getHeaderCon s defReqHeader { rqh_msgId = reqToId rq 371 | , rqh_proVer = 6 372 | , rqh_errId = tid 373 | , rqh_minVer = Just min_server_ver_trading_class 374 | , rqh_errMsg = " It does not support conId and tradingClass parameters in reqHistoricalData." 375 | } con 376 | con' <- encodeContract s con True 377 | 378 | write s $ appNull $ (hdr <++> show' tid) 379 | <++> con' 380 | <++> show' ( fromBool $ ct_includeExpired con ) 381 | <++> B.pack edt 382 | <++> B.pack barSizeSetting 383 | <++> B.pack durStr 384 | <++> show' useRTH 385 | <++> B.pack whatToShow 386 | <++> show' formatDate 387 | 388 | when (compare (ct_secType con) "BAG" == EQ) $ 389 | write s $ appNull $ encodeComboLegList (ct_comboLegsList con) 390 | 391 | when (serv_ver >= min_server_ver_linking) $ 392 | write s $ appNull $ encodeTagValueList chartOptions 393 | 394 | wFlush s 395 | 396 | request s rq @ (ExerciseOptionsReq { rqp_tickerId = tid 397 | , eor_contract = con 398 | , eor_exerciseAction = exerciseAction 399 | , eor_exerciseQuantity = exerciseQty 400 | , eor_account = account 401 | , eor_override = override 402 | }) = 403 | do let serv_ver = s_version s 404 | hdr <- getHeaderCon s defReqHeader { rqh_msgId = reqToId rq 405 | , rqh_proVer = 2 406 | , rqh_errId = tid 407 | , rqh_minVer = Just min_server_ver_trading_class 408 | , rqh_errMsg = " It does not support conId and tradingClass parameters in reqHistoricalData." 409 | } con 410 | con' <- encodeContract s con False 411 | 412 | write s $ appNull $ hdr <++> show' tid 413 | <++> con' 414 | <++> show' exerciseAction 415 | <++> show' exerciseQty 416 | <++> B.pack account 417 | <++> show' override 418 | wFlush s 419 | 420 | request s rq @ (ScannerSubscriptionReq { rqp_tickerId = tid 421 | , ssr_subscription = subs 422 | , ssr_subscriptionOptions = subsOpts 423 | }) = 424 | do let serv_ver = s_version s 425 | hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 426 | , rqh_proVer = 4 427 | , rqh_errId = tid 428 | } 429 | write s $ appNull $ show' tid <++> encodeSubscription subs 430 | 431 | when (serv_ver >= min_server_ver_linking) $ 432 | write s $ appNull $ encodeTagValueList subsOpts 433 | 434 | 435 | wFlush s 436 | 437 | request s rq @ (CancelScannerSubscription tid) = 438 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 439 | , rqh_errId = tid 440 | } 441 | write s $ appNull $ hdr <++> show' tid 442 | wFlush s 443 | 444 | -- TODO: verify correctness 445 | request s rq @ ScannerParametersReq = 446 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 447 | write s $ appNull hdr 448 | wFlush s 449 | 450 | request s rq @ (CancelHistoricalData tid) = 451 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 452 | , rqh_errId = tid 453 | } 454 | write s $ appNull $ hdr <++> show' tid 455 | wFlush s 456 | 457 | 458 | 459 | request s rq @ CurrentTimeReq = 460 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 461 | write s $ appNull hdr 462 | wFlush s 463 | 464 | -- TODO needs dev 465 | -- 466 | request s rq @ (RealTimeBarsReq {}) = 467 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 468 | write s $ appNull hdr 469 | wFlush s 470 | 471 | request s rq @ (CancelRealTimeBars tid) = 472 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 473 | , rqh_errId = tid } 474 | write s $ appNull $ hdr <++> show' tid 475 | wFlush s 476 | 477 | 478 | request s rq @ (CancelFundamentalData tid) = 479 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 480 | , rqh_errId = tid 481 | , rqh_minVer = Just min_server_ver_fundamental_data 482 | , rqh_errMsg = " It does not support fundamental data requests." 483 | } 484 | write s $ appNull $ hdr <++> show' tid 485 | wFlush s 486 | 487 | --TODO 488 | --request s rq @ (CalcOptionPriceReq {}) = 489 | 490 | request s rq @ (CancelCalcImpliedVolatility tid) = 491 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 492 | , rqh_errId = tid 493 | , rqh_minVer = Just min_server_ver_cancel_calc_implied_volat 494 | , rqh_errMsg = " It does not support calculate implied volatility cancellation." 495 | } 496 | write s $ appNull $ hdr <++> show' tid 497 | wFlush s 498 | 499 | request s rq @ (CancelCalcOptionPrice tid) = 500 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 501 | , rqh_errId = tid 502 | , rqh_minVer = Just min_server_ver_cancel_calc_option_price 503 | , rqh_errMsg = " It does not support calculate option price cancellation." 504 | } 505 | write s $ appNull $ hdr <++> show' tid 506 | wFlush s 507 | 508 | request s rq @ GlobalCancelReq = 509 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 510 | , rqh_errMsg = " It does not support globalCancel requests." 511 | , rqh_minVer = Just min_server_ver_req_global_cancel 512 | } 513 | write s $ appNull hdr 514 | wFlush s 515 | 516 | request s rq @ (MarketDataTypeReq tid) = 517 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq} 518 | write s $ appNull $ hdr <++> show' tid 519 | wFlush s 520 | 521 | 522 | request s rq @ PositionsReq = 523 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq} 524 | write s $ appNull hdr 525 | wFlush s 526 | --TODO 527 | --request s rq @ (AccountSummaryReq {}) = 528 | 529 | request s rq @ (CancelAccountSummary req_id) = 530 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 531 | , rqh_minVer = Just min_server_ver_account_summary 532 | , rqh_errMsg = " It does not support account summary cancellation." 533 | } 534 | write s $ appNull hdr 535 | wFlush s 536 | 537 | request s rq @ CancelPositions = 538 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 539 | , rqh_errMsg = " It does not support positions cancellation." 540 | , rqh_minVer = Just min_server_ver_positions 541 | } 542 | write s $ appNull hdr 543 | wFlush s 544 | 545 | 546 | request s rq @ (VerifyReq apiName apiVersion) = 547 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 548 | , rqh_minVer = Just min_server_ver_linking 549 | , rqh_errMsg = " It does not support verification message sending." 550 | , rqh_exAuth = Just True 551 | } 552 | write s $ appNull $ hdr <++> B.pack apiName <++> B.pack apiVersion 553 | wFlush s 554 | 555 | request s rq @ (VerifyMessage apiData) = 556 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 557 | , rqh_minVer = Just min_server_ver_linking 558 | , rqh_errMsg = " It does not support verification message sending." 559 | } 560 | write s $ appNull $ hdr <++> B.pack apiData 561 | wFlush s 562 | 563 | request s rq @ (QueryDisplayGroups rid) = 564 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 565 | , rqh_minVer = Just min_server_ver_linking 566 | , rqh_errMsg = " It does not support queryDisplayGroups request." 567 | } 568 | write s $ appNull $ hdr <++> show' rid 569 | wFlush s 570 | 571 | request s rq @ (SubscribeToGroupEvents reqId gid) = 572 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 573 | , rqh_minVer = Just min_server_ver_linking 574 | , rqh_errMsg = " It does not support subscribeToGroupEvents request." 575 | } 576 | write s $ appNull $ hdr <++> show' reqId 577 | <++> show' gid 578 | 579 | wFlush s 580 | 581 | request s rq @ (UpdateDisplayGroup reqId contractInfo) = 582 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 583 | , rqh_minVer = Just min_server_ver_linking 584 | , rqh_errMsg = " It does not support updateDisplayGroup request." 585 | } 586 | write s $ appNull $ hdr <++> show' reqId 587 | <++> B.pack contractInfo 588 | 589 | wFlush s 590 | 591 | request s rq @ (UnsubscribeFromGroupEvents reqId) = 592 | do hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq 593 | , rqh_minVer = Just min_server_ver_linking 594 | , rqh_errMsg = " It does not support unsubscribeFromGroupEvents request." 595 | } 596 | write s $ appNull $ hdr <++> show' reqId 597 | wFlush s 598 | 599 | request s rq @ StartApi = 600 | do let clientId = s_clientId s 601 | hdr <- getHeader s defReqHeader { rqh_msgId = reqToId rq } 602 | write s $ appNull $ hdr <++> show' clientId 603 | wFlush s 604 | --------------------------------------------------------------------------------