├── .github └── workflows │ └── haskell-ci.yml ├── .gitignore ├── README.md ├── cabal.haskell-ci ├── cabal.project ├── cabal.project.ci ├── cabal.project.plugin-9.12.1 ├── example-pkg-A ├── LICENSE ├── cbits │ ├── cbits.c │ └── cbits.h ├── example-pkg-A.cabal ├── src │ └── ExamplePkgA.hs └── test │ └── TestA.hs ├── example-pkg-B ├── LICENSE ├── example-pkg-B.cabal ├── src │ └── ExamplePkgB.hs └── test │ └── TestB.hs └── trace-foreign-calls ├── CHANGELOG.md ├── LICENSE ├── src ├── MyLib.hs └── Plugin │ ├── TraceForeignCalls.hs │ └── TraceForeignCalls │ ├── GHC │ ├── Shim.hs │ └── Util.hs │ ├── Instrument.hs │ └── Options.hs ├── test-cbits ├── test_cbits.c └── test_cbits.h ├── test ├── Main.hs └── Test │ └── TraceForeignCalls │ └── UsePlugin.hs └── trace-foreign-calls.cabal /.github/workflows/haskell-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/.github/workflows/haskell-ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .envrc 2 | dist-newstyle/ 3 | *.eventlog 4 | .ghc.environment.* 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/README.md -------------------------------------------------------------------------------- /cabal.haskell-ci: -------------------------------------------------------------------------------- 1 | copy-fields: all 2 | -------------------------------------------------------------------------------- /cabal.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/cabal.project -------------------------------------------------------------------------------- /cabal.project.ci: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/cabal.project.ci -------------------------------------------------------------------------------- /cabal.project.plugin-9.12.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/cabal.project.plugin-9.12.1 -------------------------------------------------------------------------------- /example-pkg-A/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/example-pkg-A/LICENSE -------------------------------------------------------------------------------- /example-pkg-A/cbits/cbits.c: -------------------------------------------------------------------------------- 1 | int xkcdRandomNumber() { 2 | return 4; 3 | } -------------------------------------------------------------------------------- /example-pkg-A/cbits/cbits.h: -------------------------------------------------------------------------------- 1 | // https://xkcd.com/221/ 2 | int xkcdRandomNumber(); -------------------------------------------------------------------------------- /example-pkg-A/example-pkg-A.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/example-pkg-A/example-pkg-A.cabal -------------------------------------------------------------------------------- /example-pkg-A/src/ExamplePkgA.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/example-pkg-A/src/ExamplePkgA.hs -------------------------------------------------------------------------------- /example-pkg-A/test/TestA.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/example-pkg-A/test/TestA.hs -------------------------------------------------------------------------------- /example-pkg-B/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/example-pkg-B/LICENSE -------------------------------------------------------------------------------- /example-pkg-B/example-pkg-B.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/example-pkg-B/example-pkg-B.cabal -------------------------------------------------------------------------------- /example-pkg-B/src/ExamplePkgB.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/example-pkg-B/src/ExamplePkgB.hs -------------------------------------------------------------------------------- /example-pkg-B/test/TestB.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/example-pkg-B/test/TestB.hs -------------------------------------------------------------------------------- /trace-foreign-calls/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/CHANGELOG.md -------------------------------------------------------------------------------- /trace-foreign-calls/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/LICENSE -------------------------------------------------------------------------------- /trace-foreign-calls/src/MyLib.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/src/MyLib.hs -------------------------------------------------------------------------------- /trace-foreign-calls/src/Plugin/TraceForeignCalls.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/src/Plugin/TraceForeignCalls.hs -------------------------------------------------------------------------------- /trace-foreign-calls/src/Plugin/TraceForeignCalls/GHC/Shim.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/src/Plugin/TraceForeignCalls/GHC/Shim.hs -------------------------------------------------------------------------------- /trace-foreign-calls/src/Plugin/TraceForeignCalls/GHC/Util.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/src/Plugin/TraceForeignCalls/GHC/Util.hs -------------------------------------------------------------------------------- /trace-foreign-calls/src/Plugin/TraceForeignCalls/Instrument.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/src/Plugin/TraceForeignCalls/Instrument.hs -------------------------------------------------------------------------------- /trace-foreign-calls/src/Plugin/TraceForeignCalls/Options.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/src/Plugin/TraceForeignCalls/Options.hs -------------------------------------------------------------------------------- /trace-foreign-calls/test-cbits/test_cbits.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/test-cbits/test_cbits.c -------------------------------------------------------------------------------- /trace-foreign-calls/test-cbits/test_cbits.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/test-cbits/test_cbits.h -------------------------------------------------------------------------------- /trace-foreign-calls/test/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/test/Main.hs -------------------------------------------------------------------------------- /trace-foreign-calls/test/Test/TraceForeignCalls/UsePlugin.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/test/Test/TraceForeignCalls/UsePlugin.hs -------------------------------------------------------------------------------- /trace-foreign-calls/trace-foreign-calls.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/well-typed/trace-foreign-calls/HEAD/trace-foreign-calls/trace-foreign-calls.cabal --------------------------------------------------------------------------------