118 karma · joined March 12, 2020
On Haskell, yes, you can just work off a thread and write shared buffers. But you are better off using STM or Async (these are a bit like futures), which compose, and you can write pipelines out of them.
As for UI, treetide/underhood I mention elsewhere is the only open option now.
But Kythe comes with command line utils and an API you can query directly as well.
What is missing from the open source is a production-ready parallel serving table builder. There is one in golang which uses Apache Beam, but last time I checked the go workers are not well supported on the Flink runner. It didn't even work properly on the GCP runner. Hope this would change.
If you already know how to index, this is a completely open source alternative, likely with less bells and whistles.
I worked at Google and miss Code search. But I have lots of ideas as well how one can go beyond the status quo for code reading and debugging. Join if interested.