Parsing, analyzing, and comparing source code across many languages

Related tags

Deep Learningsemantic
Overview

Semantic

semantic is a Haskell library and command line tool for parsing, analyzing, and comparing source code.

In a hurry? Check out our documentation of example uses for the semantic command line tool.

Table of Contents
Usage
Language support
Development
Technology and architecture
Licensing

Usage

Run semantic --help for complete list of up-to-date options.

Parse

Usage: semantic parse [--sexpression | (--json-symbols|--symbols) |
                        --proto-symbols | --show | --quiet] [FILES...]
  Generate parse trees for path(s)

Available options:
  --sexpression            Output s-expression parse trees (default)
  --json-symbols,--symbols Output JSON symbol list
  --proto-symbols          Output protobufs symbol list
  --show                   Output using the Show instance (debug only, format
                           subject to change without notice)
  --quiet                  Don't produce output, but show timing stats
  -h,--help                Show this help text

Language support

Language Parse AST Symbols† Stack graphs
Ruby
JavaScript
TypeScript 🚧
Python 🚧
Go
PHP
Java 🚧
JSON ⬜️ ⬜️
JSX
TSX
CodeQL
Haskell 🚧 🚧

† Used for code navigation on github.com.

  • — Supported
  • 🔶 — Partial support
  • 🚧 — Under development
  • - N/A ️

Development

semantic requires at least GHC 8.10.1 and Cabal 3.0. We strongly recommend using ghcup to sandbox GHC versions, as GHC packages installed through your OS's package manager may not install statically-linked versions of the GHC boot libraries. semantic currently builds only on Unix systems; users of other operating systems may wish to use the Docker images.

We use cabal's Nix-style local builds for development. To get started quickly:

git clone [email protected]:github/semantic.git
cd semantic
script/bootstrap
cabal v2-build all
cabal v2-run semantic:test
cabal v2-run semantic:semantic -- --help

You can also use the Bazel build system for development. To learn more about Bazel and why it might give you a better development experience, check the build documentation.

git clone [email protected]:github/semantic.git
cd semantic
script/bootstrap-bazel
bazel build //...

stack as a build tool is not officially supported; there is unofficial stack.yaml support available, though we cannot make guarantees as to its stability.

Technology and architecture

Architecturally, semantic:

  1. Generates per-language Haskell syntax types based on tree-sitter grammar definitions.
  2. Reads blobs from a filesystem or provided via a protocol buffer request.
  3. Returns blobs or performs analysis.
  4. Renders output in one of many supported formats.

Throughout its lifestyle, semantic has leveraged a number of interesting algorithms and techniques, including:

Contributions

Contributions are welcome! Please see our contribution guidelines and our code of conduct for details on how to participate in our community.

Licensing

Semantic is licensed under the MIT license.

Comments
  • cabal new-install fails to copy tree-sitter header files when packaging haskell-tree-sitter submodule

    cabal new-install fails to copy tree-sitter header files when packaging haskell-tree-sitter submodule

    This is probably low priority?

    When running "cabal new-install exe:semantic" after carefully following the directions at https://github.com/github/semantic#development The build for tree-sitter fails in a way I couldn't easily figure out.

    new-build, new-run, and new-test all succeed though.

    bug build 
    opened by shapr 13
  • `cabal new-test` not working on a clean checkout

    `cabal new-test` not working on a clean checkout

    Hi,

    I am trying to follow the instructions from the README, but cabal new-test yields

    Resolving dependencies...
    cabal: Cannot test the package semantic-0.7.0.0 because none of the components
    are available to build: the test suite 'test' and the test suite
    'parse-examples' are not available because the solver did not find a plan that
    included the test suites. Force the solver to enable this for all packages by
    adding the line 'tests: True' to the 'cabal.project.local' file.
    

    I don't know how this is supposed to work, but I would guess that this is unexpected? cabal new-run semantic -- --help works fine.

    This is on an up-to date 2015 MacBook Pro.

    bug build 
    opened by exterm 11
  • cabal new-build fails on GHCs installed without statically-linked boot libraries  (“files missing in the ‘base-4.12.0.0’ package”)

    cabal new-build fails on GHCs installed without statically-linked boot libraries (“files missing in the ‘base-4.12.0.0’ package”)

    I followed the development guide in the readme as below:

    git clone [email protected]:github/semantic.git
    cd semantic
    git submodule sync --recursive && git submodule update --init --recursive --force
    cabal new-update
    cabal new-build
    cabal new-test
    cabal new-run semantic -- --help
    

    It cannot find some required modules, seems the dependency configuration is missing something.

    When I ran cabal new-build, I got compilation error, below is the console output:

    Build profile: -w ghc-8.6.5 -O1
    In order, the following will be built (use -v for more details):
     - StateVar-1.2 (lib) (requires build)
     - base-compat-0.10.5 (lib) (requires build)
     - base-orphans-0.8.1 (lib) (requires build)
     - base-prelude-1.3 (lib) (requires build)
     - basement-0.0.10 (lib) (requires build)
     - blaze-builder-0.4.1.0 (lib) (requires build)
     - byteable-0.1.1 (lib) (requires build)
     - cabal-doctest-1.0.6 (lib) (requires build)
     - call-stack-0.1.0 (lib) (requires build)
     - case-insensitive-1.2.1.0 (lib) (requires build)
     - cereal-0.5.8.1 (lib) (requires build)
     - clock-0.8 (lib) (requires build)
     - cmark-gfm-0.1.8 (lib) (requires build)
     - colour-2.3.5 (lib) (requires build)
     - data-default-class-0.1.2.0 (lib:data-default-class) (requires build)
     - deepseq-generics-0.2.0.0 (lib) (requires build)
     - directory-tree-0.12.1 (lib) (requires build)
     - dlist-0.8.0.6 (lib) (requires build)
     - erf-2.0.0.0 (lib:erf) (requires build)
     - fail-4.9.0.0 (lib) (requires build)
     - fastsum-0.1.1.0 (lib) (requires build)
     - fingertree-0.1.4.2 (lib) (requires build)
     - generic-monoid-0.1.0.0 (lib) (requires build)
     - ghc-tcplugins-extra-0.3 (lib) (requires build)
     - happy-1.19.11 (exe:happy) (requires build)
     - haskeline-0.7.5.0 (lib) (requires build)
     - haskell-lexer-1.0.2 (lib:haskell-lexer) (requires build)
     - heap-1.0.4 (lib) (requires build)
     - hostname-1.0 (lib:hostname) (requires build)
     - hourglass-0.2.12 (lib) (requires build)
     - hsc2hs-0.68.4 (exe:hsc2hs) (requires build)
     - hscolour-1.24.4 (lib:hscolour) (requires build)
     - integer-logarithms-1.0.3 (lib) (requires build)
     - managed-1.0.6 (lib) (requires build)
     - mersenne-random-pure64-0.2.2.0 (lib:mersenne-random-pure64) (requires build)
     - mime-types-0.1.0.9 (lib) (requires build)
     - mmorph-1.1.3 (lib) (requires build)
     - optional-args-1.0.2 (lib) (requires build)
     - parallel-3.2.2.0 (lib) (requires build)
     - parser-combinators-1.1.0 (lib) (requires build)
     - prettyprinter-1.2.1 (lib) (requires build)
     - primitive-0.6.4.0 (lib) (requires build)
     - reflection-2.1.4 (lib) (requires build)
     - safe-0.3.17 (lib) (requires build)
     - safe-exceptions-0.1.7.0 (lib) (requires build)
     - semigroups-0.18.5 (lib) (requires build)
     - singleton-bool-0.1.4 (lib) (requires build)
     - sop-core-0.4.0.0 (lib) (requires build)
     - split-0.2.3.3 (lib) (requires build)
     - stm-chans-3.0.0.4 (lib:stm-chans) (requires build)
     - streaming-commons-0.2.1.1 (lib) (requires build)
     - syb-0.7 (lib) (requires build)
     - system-filepath-0.4.14 (lib:system-filepath) (requires build)
     - tagged-0.8.6 (lib) (requires build)
     - th-abstraction-0.3.1.0 (lib) (requires build)
     - time-locale-compat-0.1.1.5 (lib) (requires build)
     - unix-compat-0.5.1 (lib:unix-compat) (requires build)
     - unliftio-core-0.1.2.0 (lib) (requires build)
     - unordered-containers-0.2.10.0 (lib) (requires build)
     - utf8-string-1.0.1.1 (lib:utf8-string) (requires build)
     - uuid-types-1.0.3 (lib) (requires build)
     - void-0.7.3 (lib) (requires build)
     - wl-pprint-annotated-0.1.0.1 (lib) (requires build)
     - contravariant-1.5.2 (lib:contravariant) (requires build)
     - gitrev-1.3.1 (lib) (requires build)
     - base-compat-batteries-0.10.5 (lib) (requires build)
     - algebraic-graphs-0.3 (lib) (requires build)
     - transformers-base-0.4.5.2 (lib) (requires build)
     - memory-0.14.18 (lib) (requires build)
     - http-types-0.12.3 (lib) (requires build)
     - socks-0.6.0 (lib) (requires build)
     - ansi-terminal-0.8.2 (lib) (requires build)
     - cookie-0.4.4 (lib) (requires build)
     - ghc-typelits-natnormalise-0.6.2 (lib) (requires build)
     - pretty-show-1.9.5 (lib) (requires build)
     - kdt-0.2.4 (lib) (requires build)
     - terminal-size-0.3.2.1 (lib) (requires build)
     - vector-0.12.0.3 (lib) (requires build)
     - tf-random-0.5 (lib) (requires build)
     - scientific-0.3.6.2 (lib) (requires build)
     - MonadRandom-0.5.1.1 (lib) (requires build)
     - constraints-0.11 (lib) (requires build)
     - generics-sop-0.4.0.1 (lib) (requires build)
     - haskell-src-1.0.3.0 (lib) (requires build)
     - system-fileio-0.3.16.4 (lib) (requires build)
     - distributive-0.6 (lib:distributive) (requires build)
     - resourcet-1.2.2 (lib) (requires build)
     - vault-0.3.1.2 (lib:vault) (requires build)
     - semilattices-0.0.0.3 (lib) (requires build)
     - charset-0.3.7.1 (lib:charset) (requires build)
     - string-conversions-0.4.0.1 (lib) (requires build)
     - http-media-0.7.1.3 (lib) (requires build)
     - monad-control-1.0.2.3 (lib:monad-control) (requires build)
     - pem-0.2.4 (lib) (requires build)
     - cryptonite-0.26 (lib) (requires build)
     - asn1-types-0.3.2 (lib:asn1-types) (requires build)
     - ansi-wl-pprint-0.6.8.2 (lib) (requires build)
     - http-client-0.6.4 (lib) (requires build)
     - ghc-typelits-knownnat-0.6 (lib) (requires build)
     - concurrent-output-1.10.9 (lib) (requires build)
     - vector-th-unbox-0.2.1.6 (lib) (requires build)
     - vector-builder-0.3.7.2 (lib) (requires build)
     - QuickCheck-2.12.6.1 (lib) (requires build)
     - megaparsec-7.0.5 (lib) (requires build)
     - attoparsec-0.13.2.2 (lib) (requires build)
     - fused-effects-0.4.0.0 (lib) (requires build)
     - comonad-5.0.5 (lib:comonad) (requires build)
     - lifted-base-0.2.3.12 (lib) (requires build)
     - cryptohash-0.11.9 (lib) (requires build)
     - asn1-encoding-0.9.5 (lib) (requires build)
     - optparse-applicative-0.14.3.0 (lib) (requires build)
     - ghc-typelits-extra-0.3 (lib) (requires build)
     - math-functions-0.3.1.0 (lib) (requires build)
     - quickcheck-instances-0.3.19 (lib) (requires build)
     - proto3-wire-1.0.0 (lib) (first run)
     - neat-interpolation-0.3.2.4 (lib) (requires build)
     - parsers-0.12.10 (lib) (requires build)
     - attoparsec-iso8601-1.0.1.0 (lib) (requires build)
     - aeson-1.4.3.0 (lib) (requires build)
     - fused-effects-exceptions-0.1.1.0 (lib) (requires build)
     - bifunctors-5.5.4 (lib) (requires build)
     - lifted-async-0.10.0.4 (lib) (requires build)
     - enclosed-exceptions-1.0.3 (lib) (requires build)
     - asn1-parse-0.9.4 (lib:asn1-parse) (requires build)
     - mwc-random-0.14.0.0 (lib) (requires build)
     - http-api-data-0.4 (lib:http-api-data) (requires build)
     - aeson-pretty-0.8.7 (lib) (requires build)
     - semigroupoids-5.3.2 (lib:semigroupoids) (requires build)
     - profunctors-5.3 (lib) (requires build)
     - assoc-1 (lib) (requires build)
     - hedgehog-1.0 (lib) (requires build)
     - shelly-1.8.1 (lib) (requires build)
     - x509-1.7.5 (lib) (requires build)
     - servant-0.15 (lib:servant) (requires build)
     - reducers-3.12.3 (lib:reducers) (requires build)
     - invariant-0.5.3 (lib) (requires build)
     - free-5.1.1 (lib) (requires build)
     - foldl-1.4.5 (lib) (requires build)
     - haskell-tree-sitter-0.1.0 (lib:haskell-tree-sitter) (first run)
     - x509-store-1.6.7 (lib) (requires build)
     - recursion-schemes-5.1.3 (lib) (requires build)
     - keys-3.12.2 (lib) (requires build)
     - adjunctions-4.4 (lib) (requires build)
     - turtle-1.5.14 (lib) (requires build)
     - tree-sitter-typescript-0.1.0.0 (lib:tree-sitter-typescript-internal) (first run)
     - tree-sitter-tsx-0.1.0.0 (lib:tree-sitter-tsx-internal) (first run)
     - tree-sitter-ruby-0.1.0 (lib:tree-sitter-ruby-internal) (first run)
     - tree-sitter-python-0.1.0 (lib:tree-sitter-python-internal) (first run)
     - tree-sitter-php-0.1.0 (lib:tree-sitter-php-internal) (first run)
     - tree-sitter-json-0.1.0 (lib:tree-sitter-json-internal) (first run)
     - tree-sitter-java-0.1.0 (lib:tree-sitter-java-internal) (first run)
     - tree-sitter-haskell-0.1.0 (lib:tree-sitter-haskell-internal) (first run)
     - tree-sitter-go-0.1.0 (lib:tree-sitter-go-internal) (first run)
     - x509-validation-1.6.11 (lib) (requires build)
     - x509-system-1.6.6 (lib) (requires build)
     - kan-extensions-5.2 (lib:kan-extensions) (requires build)
     - tree-sitter-typescript-0.1.0.0 (lib) (first run)
     - tree-sitter-tsx-0.1.0.0 (lib) (first run)
     - tree-sitter-ruby-0.1.0 (lib) (first run)
     - tree-sitter-python-0.1.0 (lib) (first run)
     - tree-sitter-php-0.1.0 (lib) (first run)
     - tree-sitter-json-0.1.0 (lib) (first run)
     - tree-sitter-java-0.1.0 (lib) (first run)
     - tree-sitter-haskell-0.1.0 (lib) (first run)
     - tree-sitter-go-0.1.0 (lib) (first run)
     - tls-1.5.0 (lib) (requires build)
     - pointed-5.0.1 (lib:pointed) (requires build)
     - lens-4.17.1 (lib:lens) (requires build)
     - connection-0.3.0 (lib:connection) (requires build)
     - vector-instances-3.4 (lib:vector-instances) (requires build)
     - machines-0.6.4 (lib:machines) (requires build)
     - insert-ordered-containers-0.2.2 (lib) (requires build)
     - http-client-tls-0.3.5.3 (lib) (requires build)
     - these-0.8.1 (lib) (requires build)
     - swagger2-2.3.1.1 (lib:swagger2) (requires build)
     - proto3-suite-0.2.0 (lib) (first run)
     - semantic-0.6.0 (lib) (first run)
     - semantic-0.6.0 (exe:semantic) (first run)
    Starting     StateVar-1.2 (lib)
    Starting     base-prelude-1.3 (lib)
    Starting     base-orphans-0.8.1 (lib)
    Starting     byteable-0.1.1 (lib)
    Starting     cabal-doctest-1.0.6 (lib)
    Starting     blaze-builder-0.4.1.0 (lib)
    Starting     basement-0.0.10 (lib)
    Starting     base-compat-0.10.5 (lib)
    Starting     call-stack-0.1.0 (lib)
    Building     base-prelude-1.3 (lib)
    Building     base-orphans-0.8.1 (lib)
    Building     StateVar-1.2 (lib)
    Building     byteable-0.1.1 (lib)
    Building     basement-0.0.10 (lib)
    Building     call-stack-0.1.0 (lib)
    
    Failed to build StateVar-1.2.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/StateVar-1.2-428b66348c7656cc3f4fcd50d1226e3c270571a7758d53a1b39ae3924544ce24.log
    ):
    Configuring library for StateVar-1.2..
    Preprocessing library for StateVar-1.2..
    Building library for StateVar-1.2..
    [1 of 1] Compiling Data.StateVar    ( src/Data/StateVar.hs, dist/build/Data/StateVar.o )
    
    src/Data/StateVar.hs:66:8: error:
        Could not find module ‘Prelude’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    66 | module Data.StateVar
       |        ^^^^^^^^^^^^^
    
    src/Data/StateVar.hs:80:1: error:
        Could not find module ‘Control.Concurrent.STM’
        There are files missing in the ‘stm-2.5.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    80 | import Control.Concurrent.STM
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    src/Data/StateVar.hs:81:1: error:
        Could not find module ‘Control.Monad.IO.Class’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    81 | import Control.Monad.IO.Class
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    src/Data/StateVar.hs:82:1: error:
        Could not find module ‘Data.IORef’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    82 | import Data.IORef
       | ^^^^^^^^^^^^^^^^^
    
    src/Data/StateVar.hs:83:1: error:
        Could not find module ‘Data.Typeable’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    83 | import Data.Typeable
       | ^^^^^^^^^^^^^^^^^^^^
    
    src/Data/StateVar.hs:84:1: error:
        Could not find module ‘Foreign.ForeignPtr’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    84 | import Foreign.ForeignPtr
       | ^^^^^^^^^^^^^^^^^^^^^^^^^
    
    src/Data/StateVar.hs:85:1: error:
        Could not find module ‘Foreign.Ptr’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    85 | import Foreign.Ptr
       | ^^^^^^^^^^^^^^^^^^
    
    src/Data/StateVar.hs:86:1: error:
        Could not find module ‘Foreign.Storable’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    86 | import Foreign.Storable
       | ^^^^^^^^^^^^^^^^^^^^^^^
    
    src/Data/StateVar.hs:88:1: error:
        Could not find module ‘Data.Functor.Contravariant’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    88 | import Data.Functor.Contravariant
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Failed to build base-compat-0.10.5. The failure occurred during the configure
    step.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/base-compat-0.10.5-3b5d3efb11225e77473051317734ad1e9266f98a1ce6336434585878bd100296.log
    ):
    Configuring library for base-compat-0.10.5..
    cabal: The program 'ghc' version >=7.0.1 is required but the version of
    /usr/bin/ghc could not be determined.
    
    
    Failed to build base-orphans-0.8.1.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/base-orphans-0.8.1-580bdffa43ab1bed6cd549879d496ac8a7f4e56b047f1a0d2edd81367054945c.log
    ):
    Configuring library for base-orphans-0.8.1..
    Preprocessing library for base-orphans-0.8.1..
    Building library for base-orphans-0.8.1..
    [1 of 2] Compiling Data.Orphans     ( src/Data/Orphans.hs, dist/build/Data/Orphans.o )
    
    src/Data/Orphans.hs:38:8: error:
        Could not find module ‘Prelude’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    38 | module Data.Orphans () where
       |        ^^^^^^^^^^^^
    
    Failed to build base-prelude-1.3.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/base-prelude-1.3-640e14339e7871edd9a59c360a48ef6c2dfe60f6e4dbae5490b4110b8f161d1a.log
    ):
    Configuring library for base-prelude-1.3..
    Preprocessing library for base-prelude-1.3..
    Building library for base-prelude-1.3..
    [1 of 1] Compiling BasePrelude      ( library/BasePrelude.hs, dist/build/BasePrelude.o )
    
    library/BasePrelude.hs:31:1: error:
        Could not find module ‘Control.Applicative’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    31 | import Control.Applicative as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:32:1: error:
        Could not find module ‘Control.Arrow’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    32 | import Control.Arrow as Exports hiding (first, second)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:33:1: error:
        Could not find module ‘Control.Category’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    33 | import Control.Category as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:34:1: error:
        Could not find module ‘Control.Concurrent’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    34 | import Control.Concurrent as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:35:1: error:
        Could not find module ‘Control.Exception’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    35 | import Control.Exception as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:36:1: error:
        Could not find module ‘Control.Monad’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    36 | import Control.Monad as Exports hiding (mapM_, sequence_, forM_, msum, mapM, sequence, forM)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:37:1: error:
        Could not find module ‘Control.Monad.Fix’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    37 | import Control.Monad.Fix as Exports hiding (fix)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:39:1: error:
        Could not find module ‘Control.Monad.Fail’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    39 | import Control.Monad.Fail as Exports (MonadFail)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:42:1: error:
        Could not find module ‘Control.Monad.IO.Class’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    42 | import Control.Monad.IO.Class as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:44:1: error:
        Could not find module ‘Control.Monad.ST’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    44 | import Control.Monad.ST as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:46:1: error:
        Could not find module ‘Data.Bifunctor’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    46 | import Data.Bifunctor as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:48:1: error:
        Could not find module ‘Data.Bits’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    48 | import Data.Bits as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:49:1: error:
        Could not find module ‘Data.Bool’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    49 | import Data.Bool as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:50:1: error:
        Could not find module ‘Data.Char’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    50 | import Data.Char as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:52:1: error:
        Could not find module ‘Data.Coerce’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    52 | import Data.Coerce as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:54:1: error:
        Could not find module ‘Data.Complex’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    54 | import Data.Complex as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:55:1: error:
        Could not find module ‘Data.Data’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    55 | import Data.Data as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:56:1: error:
        Could not find module ‘Data.Dynamic’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    56 | import Data.Dynamic as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:57:1: error:
        Could not find module ‘Data.Either’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    57 | import Data.Either as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:58:1: error:
        Could not find module ‘Data.Fixed’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    58 | import Data.Fixed as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:59:1: error:
        Could not find module ‘Data.Foldable’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    59 | import Data.Foldable as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:60:1: error:
        Could not find module ‘Data.Functor’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    60 | import Data.Functor as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:62:1: error:
        Could not find module ‘Data.Functor.Classes’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    62 | import Data.Functor.Classes as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:65:1: error:
        Could not find module ‘Data.Functor.Compose’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    65 | import Data.Functor.Compose as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:68:1: error:
        Could not find module ‘Data.Functor.Identity’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    68 | import Data.Functor.Identity as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:70:1: error:
        Could not find module ‘Data.Function’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    70 | import Data.Function as Exports hiding ((.), id)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:71:1: error:
        Could not find module ‘Data.Int’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    71 | import Data.Int as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:72:1: error:
        Could not find module ‘Data.IORef’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    72 | import Data.IORef as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:73:1: error:
        Could not find module ‘Data.Ix’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    73 | import Data.Ix as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:74:1: error:
        Could not find module ‘Data.List’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    74 | import Data.List as Exports hiding (concat, foldr, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, find, maximumBy, minimumBy, mapAccumL, mapAccumR, foldl')
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:76:1: error:
        Could not find module ‘Data.List.NonEmpty’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    76 | import Data.List.NonEmpty as Exports (NonEmpty(..))
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:78:1: error:
        Could not find module ‘Data.Maybe’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    78 | import Data.Maybe as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:80:1: error:
        Could not find module ‘Data.Monoid’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    80 | import Data.Monoid as Exports hiding ((<>), First(..), Last(..))
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:84:1: error:
        Could not find module ‘Data.Ord’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    84 | import Data.Ord as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:86:1: error:
        Could not find module ‘Data.Proxy’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    86 | import Data.Proxy as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:88:1: error:
        Could not find module ‘Data.Ratio’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    88 | import Data.Ratio as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:90:1: error:
        Could not find module ‘Data.Semigroup’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    90 | import Data.Semigroup as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:92:1: error:
        Could not find module ‘Data.STRef’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    92 | import Data.STRef as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:93:1: error:
        Could not find module ‘Data.String’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    93 | import Data.String as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:94:1: error:
        Could not find module ‘Data.Traversable’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    94 | import Data.Traversable as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:95:1: error:
        Could not find module ‘Data.Tuple’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    95 | import Data.Tuple as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:96:1: error:
        Could not find module ‘Data.Unique’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    96 | import Data.Unique as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:97:1: error:
        Could not find module ‘Data.Version’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    97 | import Data.Version as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:99:1: error:
        Could not find module ‘Data.Void’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    99 | import Data.Void as Exports
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:101:1: error:
        Could not find module ‘Data.Word’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    101 | import Data.Word as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:102:1: error:
        Could not find module ‘Debug.Trace’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    102 | import Debug.Trace as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:103:1: error:
        Could not find module ‘Foreign.Storable’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    103 | import Foreign.Storable as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:104:1: error:
        Could not find module ‘Foreign.Ptr’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    104 | import Foreign.Ptr as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:105:1: error:
        Could not find module ‘Foreign.ForeignPtr’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    105 | import Foreign.ForeignPtr as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:106:1: error:
        Could not find module ‘Foreign.StablePtr’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    106 | import Foreign.StablePtr as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:107:1: error:
        Could not find module ‘GHC.Conc’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    107 | import GHC.Conc as Exports hiding (withMVar, threadWaitWriteSTM, threadWaitWrite, threadWaitReadSTM, threadWaitRead)
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:108:1: error:
        Could not find module ‘GHC.Exts’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    108 | import GHC.Exts as Exports (lazy, inline, sortWith, groupWith)
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:109:1: error:
        Could not find module ‘GHC.Generics’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    109 | import GHC.Generics as Exports (Generic)
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:110:1: error:
        Could not find module ‘GHC.IO.Exception’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    110 | import GHC.IO.Exception as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:111:1: error:
        Could not find module ‘Numeric’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    111 | import Numeric as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:113:1: error:
        Could not find module ‘Numeric.Natural’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    113 | import Numeric.Natural as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:115:1: error:
        Could not find module ‘Prelude’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    115 | import Prelude as Exports hiding (concat, foldr, mapM_, sequence_, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, mapM, sequence, id, (.))
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:116:1: error:
        Could not find module ‘System.Environment’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    116 | import System.Environment as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:117:1: error:
        Could not find module ‘System.Exit’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    117 | import System.Exit as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:118:1: error:
        Could not find module ‘System.IO’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    118 | import System.IO as Exports (Handle, hClose)
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:119:1: error:
        Could not find module ‘System.IO.Error’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    119 | import System.IO.Error as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:120:1: error:
        Could not find module ‘System.IO.Unsafe’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    120 | import System.IO.Unsafe as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:121:1: error:
        Could not find module ‘System.Mem’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    121 | import System.Mem as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:122:1: error:
        Could not find module ‘System.Mem.StableName’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    122 | import System.Mem.StableName as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:123:1: error:
        Could not find module ‘System.Timeout’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    123 | import System.Timeout as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:124:1: error:
        Could not find module ‘Text.ParserCombinators.ReadP’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    124 | import Text.ParserCombinators.ReadP as Exports (ReadP, ReadS, readP_to_S, readS_to_P)
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:125:1: error:
        Could not find module ‘Text.ParserCombinators.ReadPrec’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    125 | import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readPrec_to_P, readP_to_Prec, readPrec_to_S, readS_to_Prec)
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:126:1: error:
        Could not find module ‘Text.Printf’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    126 | import Text.Printf as Exports (printf, hPrintf)
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:127:1: error:
        Could not find module ‘Text.Read’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    127 | import Text.Read as Exports (Read(..), readMaybe, readEither)
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    library/BasePrelude.hs:128:1: error:
        Could not find module ‘Unsafe.Coerce’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
        |
    128 | import Unsafe.Coerce as Exports
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Failed to build basement-0.0.10.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/basement-0.0.10-a2ef69aede0fd03d7af7e70fa160a6aed5a83d5ff111e7fb6efefb5d71e68185.log
    ):
    Configuring library for basement-0.0.10..
    Preprocessing library for basement-0.0.10..
    Building library for basement-0.0.10..
    [ 1 of 84] Compiling Basement.Compat.Bifunctor ( Basement/Compat/Bifunctor.hs, dist/build/Basement/Compat/Bifunctor.o )
    
    Basement/Compat/Bifunctor.hs:32:1: error:
        Could not find module ‘Data.Bifunctor’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    32 | import Data.Bifunctor (Bifunctor(..))
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Failed to build blaze-builder-0.4.1.0. The failure occurred during the
    configure step.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/blaze-builder-0.4.1.0-4dbfabcf76a2a7a7200fc6591800886d897c788a0f9fe8d8539734f6d6d2f23f.log
    ):
    Configuring library for blaze-builder-0.4.1.0..
    cabal: The program 'ghc-pkg' is required but the version of /usr/bin/ghc-pkg
    could not be determined.
    
    
    Failed to build byteable-0.1.1.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/byteable-0.1.1-8ec6e0033127a0ea6dc9e714c8bf3d4435336f971b6b2c700b17f33ab17ec8f2.log
    ):
    Configuring library for byteable-0.1.1..
    Preprocessing library for byteable-0.1.1..
    Building library for byteable-0.1.1..
    [1 of 1] Compiling Data.Byteable    ( Data/Byteable.hs, dist/build/Data/Byteable.o )
    
    Data/Byteable.hs:8:8: error:
        Could not find module ‘Prelude’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
      |
    8 | module Data.Byteable
      |        ^^^^^^^^^^^^^
    
    Data/Byteable.hs:13:1: error:
        Could not find module ‘Foreign.Ptr’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    13 | import Foreign.Ptr (Ptr, plusPtr)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Data/Byteable.hs:14:1: error:
        Could not find module ‘Foreign.ForeignPtr’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    14 | import Foreign.ForeignPtr (withForeignPtr)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Data/Byteable.hs:15:1: error:
        Could not find module ‘Data.ByteString’
        There are files missing in the ‘bytestring-0.10.8.2’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    15 | import Data.ByteString (ByteString)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Data/Byteable.hs:16:1: error:
        Could not find module ‘Data.List’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    16 | import Data.List (foldl')
       | ^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Data/Byteable.hs:17:1: error:
        Could not find module ‘Data.Word’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    17 | import Data.Word (Word8)
       | ^^^^^^^^^^^^^^^^^^^^^^^^
    
    Data/Byteable.hs:18:1: error:
        Could not find module ‘Data.ByteString’
        There are files missing in the ‘bytestring-0.10.8.2’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    18 | import qualified Data.ByteString as B (length, zipWith)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Data/Byteable.hs:19:1: error:
        Could not find module ‘Data.ByteString.Internal’
        There are files missing in the ‘bytestring-0.10.8.2’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
       |
    19 | import qualified Data.ByteString.Internal as B (toForeignPtr)
       | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Failed to build cabal-doctest-1.0.6. The failure occurred during the configure
    step.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/cabal-doctest-1.0.6-121c2bf97fde51bd6f7459914f456396cb0fca88e13aec8a6f6bd78b6e142dec.log
    ):
    Configuring library for cabal-doctest-1.0.6..
    cabal: '/usr/bin/ghc' exited with an error:
    ghc: internal error: timerfd_create
    (GHC version 8.6.5 for x86_64_unknown_linux)
    Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
    
    
    Failed to build call-stack-0.1.0.
    Build log (
    /home/beenotung/.cabal/logs/ghc-8.6.5/call-stack-0.1.0-a5f47223f72d08dfa234c53eb19d2e4710fc8b4466db05cbe0b46f991276cf69.log
    ):
    Configuring library for call-stack-0.1.0..
    Preprocessing library for call-stack-0.1.0..
    Building library for call-stack-0.1.0..
    [1 of 3] Compiling Data.SrcLoc      ( src/Data/SrcLoc.hs, dist/build/Data/SrcLoc.o )
    
    src/Data/SrcLoc.hs:2:8: error:
        Could not find module ‘Prelude’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
      |
    2 | module Data.SrcLoc (SrcLoc(..)) where
      |        ^^^^^^^^^^^
    
    src/Data/SrcLoc.hs:5:1: error:
        Could not find module ‘GHC.Stack’
        There are files missing in the ‘base-4.12.0.0’ package,
        try running 'ghc-pkg check'.
        Use -v to see a list of the files searched for.
      |
    5 | import           GHC.Stack (SrcLoc(..))
      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    cabal: Failed to build StateVar-1.2 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    Failed to build base-compat-0.10.5 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    Failed to build base-orphans-0.8.1 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    Failed to build base-prelude-1.3 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    Failed to build basement-0.0.10 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    Failed to build blaze-builder-0.4.1.0 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    Failed to build byteable-0.1.1 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    Failed to build cabal-doctest-1.0.6 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    Failed to build call-stack-0.1.0 (which is required by exe:semantic from
    semantic-0.6.0). See the build log above for details.
    
    could not reproduce build 
    opened by beenotung 10
  • Couldn't match expected type ‘GHC.Prim.Proxy# a0’ with actual type ‘Proxy (Enumerated Language)’ while 'cabal build'

    Couldn't match expected type ‘GHC.Prim.Proxy# a0’ with actual type ‘Proxy (Enumerated Language)’ while 'cabal build'

    My Env: ubuntu 18.04 cabal 2.2 ghc: 8.6.4 without sandbox

    Preprocessing library for semantic-0.6.0.0.. Building library for semantic-0.6.0.0.. [ 71 of 180] Compiling Data.Language ( src/Data/Language.hs, dist/build/Data/Language.o )

    src/Data/Language.hs:116:26: error: • Couldn't match expected type ‘GHC.Prim.Proxy# a0’ with actual type ‘Proxy (Enumerated Language)’ • In the first argument of ‘primType’, namely ‘(Proxy @(Enumerated Language))’ In the expression: primType (Proxy @(Enumerated Language)) In an equation for ‘primType’: primType _ = primType (Proxy @(Enumerated Language)) | 116 | primType _ = primType (Proxy @(Enumerated Language)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [153 of 180] Compiling Semantic.Api.V1.CodeAnalysisPB ( src/Semantic/Api/V1/CodeAnalysisPB.hs, dist/build/Semantic/Api/V1/CodeAnalysisPB.o )

    src/Semantic/Api/V1/CodeAnalysisPB.hs:1348:33: error: Not in scope: type constructor or class ‘Proto3.PrimitiveEnum’ Perhaps you meant ‘Proto3.Primitive’ (imported from Proto3.Suite) Module ‘Proto3.Suite’ does not export ‘PrimitiveEnum’. | 1348 | deriving Proto3.Primitive via Proto3.PrimitiveEnum ChangeType | ^^^^^^^^^^^^^^^^^^^^

    bug build 
    opened by Yuki-Minakami 9
  • Document the process for increasing language support

    Document the process for increasing language support

    We’re getting interest in adding support for languages, so we should document the overall process.

    Given that we’re migrating away from using assignment &c., I think we should explicitly leave that out (tho prolly we should note that we don’t support diffing for the new-style grammar-derived ASTs just yet).

    I think that makes the steps something like:

    1. Make a tree-sitter parser (link to tree-sitter docs)
    2. Add the parser to haskell-tree-sitter (link to an example PR?)
    3. Add the parser to semantic
    4. (Potentially) implement compilation to Core & build/generate a prelude

    We should also be careful to document what you get with each step. Like, the first one gives you Atom support, the second & third give you semantic support (modulo any generic functionality we haven’t implemented yet), and the fourth gives you full analysis support.

    documentation language-support 
    opened by robrix 9
  • Semantic rust

    Semantic rust

    This PR aims to solve #130

    Temporary Installation Step

    semantic-rust depends on package tree-sitter-rust, which isn't available at https://hackage.haskell.org/ yet.

    To build the content of this PR you've to execute following steps, because source-repository-package entry for haskell-tree-sitter (see a4410b68b8f5b2b6d5530a85ba0fbe3bd6be18f4) doesn't solve .gitsubmodules dependency.

    • cabal v2-update (or ./script/bootstrap)
    • cd /tmp
    • git clone --recurse-submodules [email protected]:tree-sitter/haskell-tree-sitter.git
    • cd semantic
    • find dist-newstyle/ -maxdepth 3 -type d -name "tree-sitter-rust" -exec cp -a ../haskell-tree-sitter/tree-sitter-rust/vendor {} \;
    • cabal v2-buiild
    • cd semantic-rust
    • cabal v2-test (to get testing passed two corpus files were excluded e899938e5ac0aad9edc5f451937a63143ad454a2)
    opened by p-alik 8
  • Support json format for AST output

    Support json format for AST output

    Hello. Not long ago I was able to run cabal new-run semantic -- parse --json ../redux | tail -n +2 > ~/Desktop/p_redux.json

    which parsed ../redux directory recursively, and stored json formatted output in ~/Desktop/p_redux.json.

    As far as I see now, recursive directory parsing is disabled, but that's a separate matter (which can be solved with find, for instance).

    What's more pressing is the seeming lack of ability to output parsed AST in json format. According to the README file it is still possible:

    Renders output in one of many supported formats.

    Would you please advise how one can do so? I tried --format json, but it didn't work. Thank you in advance!

    duplicate 
    opened by ch3rn0v 7
  • Cache dependencies irrespective of test failures.

    Cache dependencies irrespective of test failures.

    This PR should allow us to cache updates to dependencies even in the presence of test failures, reducing iteration time.

    🎩 @joshmgross for the suggestion.

    opened by robrix 7
  • AST datatypes should live in semantic

    AST datatypes should live in semantic

    It’s agonizing trying to work on anything in semantic that involves touching haskell-tree-sitter, not least because of the hackage releases eventually involved for each of the tree-sitter* packages.

    Further to this, there’s the cabal bug with internal libraries that keeps breaking our local builds every so often; the general painfulness of submodules; we’re really not ready for a hackage release yet; and the weird situation where semantic-source is depended upon by tree-sitter so it can’t be listed in cabal.project and that makes changing it harder.

    All of this is only going to get worse as we support more languages, too.

    Given all of that, I’m of the opinion that the AST datatypes should live in one or more semantic packages. This would mean that:

    • the tree-sitter-* packages would basically just build the parsers & vend the tree_sitter_foo symbol;
    • the semantic-* language packages will contain the ASTs; and
    • we would move codegen and unmarshalling into a semantic package, probably semantic-ast.

    Some knock-on effects:

    • the tree-sitter-* packages would really only change when we wanted to bump to the latest versions of the parsers; hackage releases aren’t a huge deal in this case
    • changing the AST types, instances, etc. would happen entirely in semantic
    • we could iterate more easily on e.g. performance of stuff like unmarshalling (which we were doing a lot of recently)
    • there’d be zero internal libraries to worry about, solving that pain once and for all
    • semantic-source could be part of the cabal.project again instead of living in a weird little universe all by itself and not being very easy to work on
    • I could add Traversable1 to semantic-ast and derive instances of it for our ASTs without having to release semantic-ast on hackage (which it is much too early for)
    bug 
    opened by robrix 7
  • Don't depend on local semantic-source package

    Don't depend on local semantic-source package

    Semantic is already depending on an external semantic-source package from hackage. Also including it as a local package dependency can sometimes create non-deterministic build failures (e.g. cabal new-build exe:semantic). To help prevent this potential friction for users, we should depend on the external package only.

    opened by rewinfrey 7
  • Could not resolve `tree-sitter-typescript`

    Could not resolve `tree-sitter-typescript`

    Just wanted to start playing around with the project and can't get it to build. Installed ghc and cabal with ghcup, so I should have the most recent version. Ran the commands in the dev docs and got a dependency issue. I'm running on a Mac and ghci starts up ok. I haven't worked with cabal before so maybe theres something missing there? I've tried a couple things and this issue keeps cropping up. I saw two other similar issues, but didn't find a resolution there.

    git clone [email protected]:github/semantic.git
    cd semantic
    script/bootstrap
    cabal new-build
    
    $ cabal new-build
    HEAD is now at 83f3352 Merge pull request #32 from joshvera/bump-version-19-03-2019
    HEAD is now at 84664e2 Merge pull request #7 from joshvera/reenable-tests
    Resolving dependencies...
    cabal: Could not resolve dependencies:
    [__0] trying: semantic-0.6.0.0 (user goal)
    [__1] unknown package: tree-sitter-typescript (dependency of semantic)
    [__1] fail (backjumping, conflict set: semantic, tree-sitter-typescript)
    After searching the rest of the dependency tree exhaustively, these were the
    goals I've had most trouble fulfilling: semantic, tree-sitter-typescript
    
    $ uname -v
    Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64
    $ ghci --version
    The Glorious Glasgow Haskell Compilation System, version 8.6.5
    $ cabal --version
    cabal-install version 2.4.1.0
    compiled using version 2.4.1.0 of the Cabal library 
    
    could not reproduce 
    opened by gregberns 7
  • Docker build failed

    Docker build failed

    src/Language/JSON/AST.hs:75:7: error: parse error on input ‘forall’ | 75 | ( forall a_1. | ^^^^^^ [1 of 4] Compiling Language.PHP.AST ( src/Language/PHP/AST.hs, /build/dist-newstyle/build/x86_64-linux/ghc-8.8.1/semantic-php-0.0.0.0/build/Language/PHP/AST.o )

    src/Language/PHP/AST.hs:352:7: error: parse error on input ‘forall’ | 352 | ( forall a_1. | ^^^^^^ [1 of 4] Compiling Language.Ruby.AST ( src/Language/Ruby/AST.hs, /build/dist-newstyle/build/x86_64-linux/ghc-8.8.1/semantic-ruby-0.0.0.0/build/Language/Ruby/AST.o ) [1 of 4] Compiling Language.TypeScript.AST ( src/Language/TypeScript/AST.hs, /build/dist-newstyle/build/x86_64-linux/ghc-8.8.1/semantic-typescript-0.0.0.0/build/Language/TypeScript/AST.o )

    src/Language/Ruby/AST.hs:329:7: error: parse error on input ‘forall’ | 329 | ( forall a_1. | ^^^^^^

    src/Language/TypeScript/AST.hs:358:7: error: parse error on input ‘forall’ | 358 | ( forall a_1. | ^^^^^^ [1 of 4] Compiling Language.TSX.AST ( src/Language/TSX/AST.hs, /build/dist-newstyle/build/x86_64-linux/ghc-8.8.1/semantic-tsx-0.0.0.0/build/Language/TSX/AST.o ) Configuring library for semantic-java-0.0.0.0..

    src/Language/TSX/AST.hs:369:7: error: parse error on input ‘forall’ | 369 | ( forall a_1. | ^^^^^^ Preprocessing library for semantic-java-0.0.0.0.. Building library for semantic-java-0.0.0.0.. [1 of 4] Compiling Language.Java.AST ( src/Language/Java/AST.hs, /build/dist-newstyle/build/x86_64-linux/ghc-8.8.1/semantic-java-0.0.0.0/build/Language/Java/AST.o )

    src/Language/Java/AST.hs:326:7: error: parse error on input ‘forall’ | 326 | ( forall a_1. | ^^^^^^ [21 of 21] Compiling Analysis.Syntax ( src/Analysis/Syntax.hs, /build/dist-newstyle/build/x86_64-linux/ghc-8.8.1/semantic-analysis-0.0.0.0/build/Analysis/Syntax.o ) cabal: Failed to build semantic-java-0.0.0.0 (which is required by exe:semantic from semantic-0.11.0.1). Failed to build semantic-json-0.0.0.0 (which is required by exe:semantic from semantic-0.11.0.1). Failed to build semantic-php-0.0.0.0 (which is required by exe:semantic from semantic-0.11.0.1). Failed to build semantic-ruby-0.0.0.0 (which is required by exe:semantic from semantic-0.11.0.1). Failed to build semantic-tsx-0.0.0.0 (which is required by exe:semantic from semantic-0.11.0.1). Failed to build semantic-typescript-0.0.0.0 (which is required by exe:semantic from semantic-0.11.0.1).

    The command '/bin/sh -c cabal v2-update && cabal v2-configure --flags="release" && cabal v2-build semantic:exe:semantic' returned a non-zero code: 1

    opened by frfranck 0
  • Support `record` in Java?

    Support `record` in Java?

    They are similar to the records in Haskell. Doc: https://docs.oracle.com/en/java/javase/14/language/records.html

    Currently, GitHub does not understand Java records: image

    It does not seem to parse these methods successfully.

    opened by ice1000 1
  • Getting the line number of the end of a function definition

    Getting the line number of the end of a function definition

    Hi there,

    I would like to get the line number of the end of a function definition. Is there a way to do this?

    To give an example, suppose the source code is:

    def Foo(x): # line 1
      if x == 42:
        return True
      else:
        return False # line 5
    

    The parsed output would return where the function definition completes, i.e. line 5.

    Currently, span.end seems to point to where the symbol name definition ends but not where the whole function ends:

    {
      "symbol": "Foo",
      "kind": "Function",
      "line": "def Foo(x):",
      "span": {
        "start": {
          "line": 1,
          "column": 5
        },
        "end": {
          "line": 1,
          "column": 8
        }
      },
      "nodeType": "DEFINITION"
    },
    

    Thank you.

    opened by hendychua 0
  • C# support

    C# support

    C# has a tree-sitter and is included in Haskell binding of tree sitter. Our project requires semantic support for C#. I'll be glad contributing the C# support to the project. Unfortunately I could not get the full picture from the Semantic documentation of how to generate a new language support. How is it possible to advance with the issue? There is a related closed issue https://github.com/github/semantic/issues/156

    opened by anatolyaliev 0
  • Build dependencies in a recurring Action

    Build dependencies in a recurring Action

    Right now we have an unfortunate problem: we cabal update in CI, then build, often leading to many dependencies being rebuilt. Then we build the branch, but the build or its tests fail, and therefore we don't update the cache with the new dependencies. The next rebuild therefore has to rebuild all the dependencies again, and so on.

    @dcreager suggested a lovely idea: cabal update and rebuild the deps in a recurring (perhaps daily, perhaps weekly) Action which then updates our cache. Then the regular CI Action doesn't cabal update or build dependencies; it just fetches the cache and builds the repo & runs tests. CI is then orthogonal to dependency changes and a good time is had by all.

    I really adore this idea, the only bit I'm unsure how to do is updating the right cache using cabal-cache; maybe we shouldn't use that with this approach and should instead do what I do in e.g. fresnel's CI Action.

    build 
    opened by robrix 0
  • Re-enable bazel CI action

    Re-enable bazel CI action

    Bazel CI is currently stuck on 8.10 and is in particular using an old hedgehog which our tests don't support due to deprecations. We disabled it in #679, but would like to re-enable it.

    • [ ] Update for ghc 9.2.1
    • [ ] Re-enable the CI action
    tests build bazel 
    opened by robrix 0
Releases(sha_c1486db42dcbcc0a7748fc759017ab8d30d0f2d1)
Owner
GitHub
How people build software.
GitHub
pytorch, hand(object) detect ,yolo v5,手检测

YOLO V5 物体检测,包括手部检测。 项目介绍 手部检测 手部检测示例如下 : 视频示例: 项目配置 作者开发环境: Python 3.7 PyTorch = 1.5.1 数据集 手部检测数据集 该项目数据集采用 TV-Hand 和 COCO-Hand (COCO-Hand-Big 部分) 进

Eric.Lee 11 Dec 20, 2022
How to Learn a Domain Adaptive Event Simulator? ACM MM, 2021

LETGAN How to Learn a Domain Adaptive Event Simulator? ACM MM 2021 Running Environment: pytorch=1.4, 1 NVIDIA-1080TI. More details can be found in pap

CVTEAM 4 Sep 20, 2022
Physics-Informed Neural Networks (PINN) and Deep BSDE Solvers of Differential Equations for Scientific Machine Learning (SciML) accelerated simulation

NeuralPDE NeuralPDE.jl is a solver package which consists of neural network solvers for partial differential equations using scientific machine learni

SciML Open Source Scientific Machine Learning 680 Jan 02, 2023
This is a repository for a semantic segmentation inference API using the OpenVINO toolkit

BMW-IntelOpenVINO-Segmentation-Inference-API This is a repository for a semantic segmentation inference API using the OpenVINO toolkit. It's supported

BMW TechOffice MUNICH 34 Nov 24, 2022
Pytorch implementation of "Forward Thinking: Building and Training Neural Networks One Layer at a Time"

forward-thinking-pytorch Pytorch implementation of Forward Thinking: Building and Training Neural Networks One Layer at a Time Requirements Python 2.7

Kim Heecheol 65 Oct 06, 2022
StrongSORT: Make DeepSORT Great Again

StrongSORT StrongSORT: Make DeepSORT Great Again StrongSORT: Make DeepSORT Great Again Yunhao Du, Yang Song, Bo Yang, Yanyun Zhao arxiv 2202.13514 Abs

369 Jan 04, 2023
This is the official repository of Music Playlist Title Generation: A Machine-Translation Approach.

PlyTitle_Generation This is the official repository of Music Playlist Title Generation: A Machine-Translation Approach. The paper has been accepted by

SeungHeonDoh 6 Jan 03, 2022
Extreme Rotation Estimation using Dense Correlation Volumes

Extreme Rotation Estimation using Dense Correlation Volumes This repository contains a PyTorch implementation of the paper: Extreme Rotation Estimatio

Ruojin Cai 29 Nov 18, 2022
Multi-layer convolutional LSTM with Pytorch

Convolution_LSTM_pytorch Thanks for your attention. I haven't got time to maintain this repo for a long time. I recommend this repo which provides an

Zijie Zhuang 733 Dec 30, 2022
The PyTorch improved version of TPAMI 2017 paper: Face Alignment in Full Pose Range: A 3D Total Solution.

Face Alignment in Full Pose Range: A 3D Total Solution By Jianzhu Guo. [Updates] 2020.8.30: The pre-trained model and code of ECCV-20 are made public

Jianzhu Guo 3.4k Jan 02, 2023
codes for IKM (arXiv2021, Submitted to IEEE Trans)

Image-specific Convolutional Kernel Modulation for Single Image Super-resolution This repository is for IKM introduced in the following paper Yuanfei

Yuanfei Huang 9 Dec 29, 2022
ECAENet (TensorFlow and Keras)

ECAENet: EfficientNet with Efficient Channel Attention for Plant Species Recognition (SCI:Q3) (Journal of Intelligent & Fuzzy Systems)

4 Dec 22, 2022
Codes for [NeurIPS'21] You are caught stealing my winning lottery ticket! Making a lottery ticket claim its ownership.

You are caught stealing my winning lottery ticket! Making a lottery ticket claim its ownership Codes for [NeurIPS'21] You are caught stealing my winni

VITA 8 Nov 01, 2022
PyTorch implementation of the WarpedGANSpace: Finding non-linear RBF paths in GAN latent space (ICCV 2021)

Authors official PyTorch implementation of the "WarpedGANSpace: Finding non-linear RBF paths in GAN latent space" [ICCV 2021].

Christos Tzelepis 100 Dec 06, 2022
MultiLexNorm 2021 competition system from ÚFAL

ÚFAL at MultiLexNorm 2021: Improving Multilingual Lexical Normalization by Fine-tuning ByT5 David Samuel & Milan Straka Charles University Faculty of

ÚFAL 13 Jun 28, 2022
Efficient Conformer: Progressive Downsampling and Grouped Attention for Automatic Speech Recognition

Efficient Conformer: Progressive Downsampling and Grouped Attention for Automatic Speech Recognition Official implementation of the Efficient Conforme

Maxime Burchi 145 Dec 30, 2022
The source code for 'Noisy-Labeled NER with Confidence Estimation' accepted by NAACL 2021

Kun Liu*, Yao Fu*, Chuanqi Tan, Mosha Chen, Ningyu Zhang, Songfang Huang, Sheng Gao. Noisy-Labeled NER with Confidence Estimation. NAACL 2021. [arxiv]

30 Nov 12, 2022
AttentionGAN for Unpaired Image-to-Image Translation & Multi-Domain Image-to-Image Translation

AttentionGAN-v2 for Unpaired Image-to-Image Translation AttentionGAN-v2 Framework The proposed generator learns both foreground and background attenti

Hao Tang 530 Dec 27, 2022
《Single Image Reflection Removal Beyond Linearity》(CVPR 2019)

Single-Image-Reflection-Removal-Beyond-Linearity Paper Single Image Reflection Removal Beyond Linearity. Qiang Wen, Yinjie Tan, Jing Qin, Wenxi Liu, G

Qiang Wen 51 Jun 24, 2022
Mixed Transformer UNet for Medical Image Segmentation

MT-UNet Update 2022/01/05 By another round of training based on previous weights, our model also achieved a better performance on ACDC (91.61% DSC). W

dotman 92 Dec 25, 2022