Live data from Hacker News

Srclib: A polyglot code analysis library

srclib.org

11–20 of 34 posts

Re: Srclib: A polyglot code analysis library

#11
Wow, this looks like an awesome project. As a pretty fanatic Emacs user who doesn't much like IDEs, I've always wanted a nice editor-agnostic IDE ecosystem that I could just plug into Emacs. I've seen language-specific things, which are great but naturally linked to their language, and Emacs-specific monstrosities like CEDET, but never anything trying to be truly universal.

Very promising.

For some reason though, I can't help but mentally parse "Srclib" as "Scribd" :/.

Re: Srclib: A polyglot code analysis library

#12

IIRC IntelliJ does some things like this: 1. It's a polyglot IDE and open-source. 2. Specialized tools for exporting to multiple languages/DSLs.

I wasn't able to find the source code for some of IntelliJ's dynamic language support, like Python and Ruby. If it is indeed open source, I would love to check it out.

IntelliJ is awesome. We're just trying to make something that isn't coupled to a specific editor and is super non-monolithic. Our goal is for you to be able to run a single command ("src") in a directory, or have your editor plugin (or other kind of tool) invoke something like "src api describe --file FILE --start-byte N", to tap into a fully analyzed database of the source code in a package.

Re: Srclib: A polyglot code analysis library

#13
post #7

Earlier quoted context omitted.

For a tool which is all about being language agnostic, I'm curious why you went with Go struct definitions to define the formats instead of something like JSON Schema[0]. [0] http://json-schema.org/

Simplicity and lack of time. :) We'd love to move to something more language-agnostic for the schema definitions. If you're interested, we'd definitely accept a patch.

Fair reasons :) I'm tied up for the next couple weeks, but I'll keep that in mind for September!

Re: Srclib: A polyglot code analysis library

#14
post #2

Thanks for posting this! I'm one of the original creators. It's still alpha, so there will be bugs. But it can do some pretty cool and useful stuff already in your editor (and it powers https://sourcegraph.com/ ). Anyone have feedback about how we're explaining the problem and solution, and the first-run experience of using the editor plugins and the "src" tool? We would LOVE to hear it so we can fix/improve it.

Awesome project! Any timeline on vim support?

Re: Srclib: A polyglot code analysis library

#16
post #2

Thanks for posting this! I'm one of the original creators. It's still alpha, so there will be bugs. But it can do some pretty cool and useful stuff already in your editor (and it powers https://sourcegraph.com/ ). Anyone have feedback about how we're explaining the problem and solution, and the first-run experience of using the editor plugins and the "src" tool? We would LOVE to hear it so we can fix/improve it.

Awesome project! Any timeline on vim support?

None of the original contributors use vim, so we wouldn't make a very good plugin for it. We'll help anyone who wants to make one, feature them on srclib.org (obviously), etc. Do you know anybody who'd be interested in making a vim plugin? A good place to start looking to see what's involved is in the code for emacs-sourcegraph-mode, sourcegraph-sublime, and sourcegraph-atom.

Re: Srclib: A polyglot code analysis library

#17
post #15

related work: https://github.com/facebook/pfff which focused on languages srclib didn't. Also a polyglot source analysis library.

Yeah, pfff seems very cool. It seems that pfff has written parsers and type inferencers for a variety of languages in OCaml. That is an impressive achievement.

For srclib, we are way lazier. We try to use existing libraries (written in the languages they target) for parsing, type checking/inference, dependency resolution, etc. We hope that makes it easier for JavaScript hackers to hack on srclib's JavaScript support, Python hackers to work on srclib's Python support, etc.

Re: Srclib: A polyglot code analysis library

#18
Based on reading some of the docs (can't check out the source on this phone), looks like this has great potential; for a long time I've wanted something better than cscope, and not limited to a single language, to use with vim.

My main concern is that any system based on scanning entire source files offline is unlikely to have the same interactivity as IDEs. That is, if I type a line of C++, I don't want clang to have to churn through the whole file and any header files before the navigation updates...

Re: Srclib: A polyglot code analysis library

#19
post #18

Based on reading some of the docs (can't check out the source on this phone), looks like this has great potential; for a long time I've wanted something better than cscope, and not limited to a single language, to use with vim. My main concern is that any system based on scanning entire source files offline is unlikely to have the same interactivity as IDEs. That is, if I type a line of C++, I don't want clang to hav…

Yeah, truly interactive editing and incremental updates are something that srclib doesn't handle right now. We have some plans/prototypes around using presentation compilers, lenient parsers, and a persistent "src" process to provide the same kind of interactive editing support that IDEs have, but there's nothing in srclib or any of the language analysis toolchains yet. We are /pretty/ sure it'll be possible to get the kind of responsiveness you'd want.

If you have time to take a look at how we've implemented the existing toolchains and architecture, it'd be awesome if you wrote down any suggestions you have for how we could implement interactive code assist.

Re: Srclib: A polyglot code analysis library

#20
post #18

Based on reading some of the docs (can't check out the source on this phone), looks like this has great potential; for a long time I've wanted something better than cscope, and not limited to a single language, to use with vim. My main concern is that any system based on scanning entire source files offline is unlikely to have the same interactivity as IDEs. That is, if I type a line of C++, I don't want clang to hav…

[deleted]
Post reply on HN