Live data from Hacker News

Kythe: A pluggable ecosystem for building tools that work with code

kythe.io

1–10 of 22 posts

Re: Kythe: A pluggable ecosystem for building tools that work with code

#2
What does this do? I've browsed through the site for a few minutes, and still have no idea what kind of tools you could build with this that you couldn't build before.

Is this for cross-language doc generation? Refactoring tools? Something else?

Are there any concrete examples of a tool built on top of this that would otherwise be impossible / very difficult?

Re: Kythe: A pluggable ecosystem for building tools that work with code

#4
This sounds like the Grok project that Steve Yegge described in his post about software conservatives and liberals (https://plus.google.com/110981030061712822816/posts/KaSKeg4v...). Anybody know if it's the same project?

I think an interesting possible application of this tool would be source-to-source compilation between languages. For example, once Objective-C support is added, could Kythe be the basis for something like j2objc?

Re: Kythe: A pluggable ecosystem for building tools that work with code

#5
post #3

This seems a much clearer overview: http://www.kythe.io/docs/kythe-overview.html

The http://www.kythe.io/ landing page seems to have the one-sentence summary:

"Kythe

A pluggable, (mostly) language-agnostic ecosystem for building tools that work with code."

For me, this is the best of all the listed "overviews", albeit still not fully clear.

Re: Kythe: A pluggable ecosystem for building tools that work with code

#6
post #2

What does this do? I've browsed through the site for a few minutes, and still have no idea what kind of tools you could build with this that you couldn't build before. Is this for cross-language doc generation? Refactoring tools? Something else? Are there any concrete examples of a tool built on top of this that would otherwise be impossible / very difficult?

You can build the same tools as before -- the purpose of Kythe isn't to fundamentally change the kinds of tools you can make, it's intended to make it easier to glue those tools together.

Google uses this approach internally to generate cross-references for a huge, heterogeneous multi-language codebase. Linking across generated code, connecting documentation to its references, and exposing all those features in editors, code browsers, code-review tools, and so forth, are all a lot easier when that information has a common representation.

And of course, those problems exist even in much smaller codebases. Kythe isn't really a "product", but rather an interlanguage for tools that manipulate source code.

Re: Kythe: A pluggable ecosystem for building tools that work with code

#8

This sounds like the Grok project that Steve Yegge described in his post about software conservatives and liberals ( https://plus.google.com/110981030061712822816/posts/KaSKeg4v... ). Anybody know if it's the same project? I think an interesting possible application of this tool would be source-to-source compilation between languages. For example, once Objective-C support is added, could Kythe be the basis for someth…

Kythe is indeed based on the Grok project that Steve described in https://www.youtube.com/watch?v=KTJs-0EInW8

Re: Kythe: A pluggable ecosystem for building tools that work with code

#9
post #7

It's not very clear at all what the vision is and how this is supposed to be used. I can make guesses, but some clarity would be great if any of the Google people involved are in this thread.

My bad. Didn't notice the overview: http://www.kythe.io/docs/kythe-overview.html

Re: Kythe: A pluggable ecosystem for building tools that work with code

#10
post #2

What does this do? I've browsed through the site for a few minutes, and still have no idea what kind of tools you could build with this that you couldn't build before. Is this for cross-language doc generation? Refactoring tools? Something else? Are there any concrete examples of a tool built on top of this that would otherwise be impossible / very difficult?

You can build the same tools as before -- the purpose of Kythe isn't to fundamentally change the kinds of tools you can make, it's intended to make it easier to glue those tools together. Google uses this approach internally to generate cross-references for a huge, heterogeneous multi-language codebase. Linking across generated code, connecting documentation to its references, and exposing all those features in edito…

Kythe isn't really a "product", but rather an interlanguage for tools that manipulate source code.

That's a concise explanation. Thanks.

Of course, the bottleneck is always in achieving widespread integration with existing tooling. Your overview lists requirements for compiler and build system instrumentation alike, as well as tools that then consume and filter the graph data. It'll be interesting to see if Kythe gains the needed mindshare for this.

Post reply on HN