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
This is the code of "Multi-view Contrastive Graph Clustering" in NeurlPS 2021.

MCGC Description This is the code of "Multi-view Contrastive Graph Clustering" in NeurlPS 2021. Datasets Results ACM DBLP IMDB Amazon photos Amazon co

31 Nov 14, 2022
A python3 tool to take a 360 degree survey of the RF spectrum (hamlib + rotctld + RTL-SDR/HackRF)

RF Light House (rflh) A python script to use a rotor and a SDR device (RTL-SDR or HackRF One) to measure the RF level around and get a data set and be

Pavel Milanes (CO7WT) 11 Dec 13, 2022
Implementation of Neural Style Transfer in Pytorch

PytorchNeuralStyleTransfer Code to run Neural Style Transfer from our paper Image Style Transfer Using Convolutional Neural Networks. Also includes co

Leon Gatys 396 Dec 01, 2022
This code is the implementation of the paper "Coherence-Based Distributed Document Representation Learning for Scientific Documents".

Introduction This code is the implementation of the paper "Coherence-Based Distributed Document Representation Learning for Scientific Documents". If

tsc 0 Jan 11, 2022
This is the code for Deformable Neural Radiance Fields, a.k.a. Nerfies.

Deformable Neural Radiance Fields This is the code for Deformable Neural Radiance Fields, a.k.a. Nerfies. Project Page Paper Video This codebase conta

Google 1k Jan 09, 2023
Experiments for Operating Systems Lab (ETCS-352)

Operating Systems Lab (ETCS-352) Experiments for Operating Systems Lab (ETCS-352) performed by me in 2021 at uni. All codes are written by me except t

Deekshant Wadhwa 0 Sep 06, 2022
Estimation of human density in a closed space using deep learning.

Siemens HOLLZOF challenge - Human Density Estimation Add project description here. Installing Dependencies: Install Python3 either system-wide, user-w

3 Aug 08, 2021
The Most Efficient Temporal Difference Learning Framework for 2048

moporgic/TDL2048+ TDL2048+ is a highly optimized temporal difference (TD) learning framework for 2048. Features Many common methods related to 2048 ar

Hung Guei 5 Nov 23, 2022
Artificial intelligence technology inferring issues and logically supporting facts from raw text

개요 비정형 텍스트를 학습하여 쟁점별 사실과 논리적 근거 추론이 가능한 인공지능 원천기술 Artificial intelligence techno

6 Dec 29, 2021
A simple, clean TensorFlow implementation of Generative Adversarial Networks with a focus on modeling illustrations.

IllustrationGAN A simple, clean TensorFlow implementation of Generative Adversarial Networks with a focus on modeling illustrations. Generated Images

268 Nov 27, 2022
Neural networks applied in recognizing guitar chords using python, AutoML.NET with C# and .NET Core

Chord Recognition Demo application The demo application is written in C# with .NETCore. As of July 9, 2020, the only version available is for windows

Andres Mauricio Rondon Patiño 24 Oct 22, 2022
Algorithmic trading using machine learning.

Algorithmic Trading This machine learning algorithm was built using Python 3 and scikit-learn with a Decision Tree Classifier. The program gathers sto

Sourav Biswas 101 Nov 10, 2022
Unofficial Implementation of RobustSTL: A Robust Seasonal-Trend Decomposition Algorithm for Long Time Series (AAAI 2019)

RobustSTL: A Robust Seasonal-Trend Decomposition Algorithm for Long Time Series (AAAI 2019) This repository contains python (3.5.2) implementation of

Doyup Lee 222 Dec 21, 2022
Combinatorially Hard Games where the levels are procedurally generated

puzzlegen Implementation of two procedurally simulated environments with gym interfaces. IceSlider: the agent needs to reach and stop on the pink squa

Autonomous Learning Group 3 Jun 26, 2022
FaceQgen: Semi-Supervised Deep Learning for Face Image Quality Assessment

FaceQgen FaceQgen: Semi-Supervised Deep Learning for Face Image Quality Assessment This repository is based on the paper: "FaceQgen: Semi-Supervised D

Javier Hernandez-Ortega 3 Aug 04, 2022
RepVGG: Making VGG-style ConvNets Great Again

RepVGG: Making VGG-style ConvNets Great Again (PyTorch) This is a super simple ConvNet architecture that achieves over 80% top-1 accuracy on ImageNet

2.8k Jan 04, 2023
MPI-IS Mesh Processing Library

Perceiving Systems Mesh Package This package contains core functions for manipulating meshes and visualizing them. It requires Python 3.5+ and is supp

Max Planck Institute for Intelligent Systems 494 Jan 06, 2023
This repository contains notebook implementations of the following Neural Process variants: Conditional Neural Processes (CNPs), Neural Processes (NPs), Attentive Neural Processes (ANPs).

The Neural Process Family This repository contains notebook implementations of the following Neural Process variants: Conditional Neural Processes (CN

DeepMind 892 Dec 28, 2022
This repo is a PyTorch implementation for Paper "Unsupervised Learning for Cuboid Shape Abstraction via Joint Segmentation from Point Clouds"

Unsupervised Learning for Cuboid Shape Abstraction via Joint Segmentation from Point Clouds This repository is a PyTorch implementation for paper: Uns

Kaizhi Yang 42 Dec 09, 2022
Python TFLite scripts for detecting objects of any class in an image without knowing their label.

Python TFLite scripts for detecting objects of any class in an image without knowing their label.

Ibai Gorordo 42 Oct 07, 2022