System for collecting, deriving and working with facts about source code. (by facebookincubator)

Glean Alternatives

Similar projects and alternatives to Glean

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better Glean alternative or higher similarity.

Suggest an alternative to Glean

Reviews and mentions

Posts with mentions or reviews of Glean. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-04.
  • Facebook Is Down | 2021-10-04
  • Is there a tool that would allow me to query (structured search) a codebase? | 2021-09-11
    Glean was recently open sourced, it might fit your needs -
  • Facebook open sources Glean, its scalable code search and query engine
    Existing schemas are here:
  • Glean – System for collecting, deriving and querying facts about source code | 2021-08-31
  • Facebook open sources Glean: a scalable code search and query engine | 2021-08-31
    Cool! I would love to play around with this.

    How do I write a schema and indexer for my favorite programming language that isn't currently (and won't be) supported with official releases?

    For Schemas, [1] says to modify (or base new ones off) these:

    For Indexers, it's a little less clear but it looks like I need to write my own type checker?

    [1] | 2021-08-31
    Kythe has one schema, whereas with Glean each language has its own schema with arbitrary amounts of language-specific detail. You can get a language-agnostic view by defining an abstraction layer as a schema. Our current (work in progress) language-agnostic layer is called "codemarkup"

    For wiring up the indexer, there are various methods, it tends to depend very much on the language and the build system. For Flow for example, Glean output is just built into the typechecker, you just run it with some flags to spit out the Glean data. For C++, you need to get the compiler flags from the build system to pass to the Clang frontend. For Java the indexer is a compiler plugin; for Python it's built on libCST. Some indexers send their data directly to a Glean server, others generate files of JSON that get sent using a separate command-line tool.

    References use different methods depending on the language. For Flow for example there is a fact for an import that matches up with a fact for the export in the other file. For C++ there are facts that connect declarations with definitions, and references with declarations. | 2021-08-31
    There will be more indexers: we have Python, C++/Objective C, Rust, Java and Haskell. It's just a case of getting them ready to open source. You can see the schemas for most of these already in the repo:
  • Glean: A system for collecting, deriving and querying facts about source code | 2021-08-31
  • Glean -System for collecting, deriving and querying facts about source code | 2021-08-27
    Ah, I was going off the documentation but I see there is a Haskell schema here. Thanks for the correction! | 2021-08-27
    And here it looks like they're programmatically generating a Haskell source file, that's really interesting. | 2021-08-27
    From the README, Haskell doesn't seem to be currently supported even in the not-yet-open-sourced codebase. Truly, the cobbler's children have no shoes.


Basic Glean repo stats
7 days ago

facebookincubator/Glean is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
Find remote jobs at our new job board There are 34 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.