Comment by brundolf

6 years ago

Current Cycorp employee here.

1) One-off contracts, sometimes with ongoing licenses, from various large organizations who have use cases for inference. We did a lot of government contracting for a while; now we mostly stay in the private sector.

2) An in-house dialect of Common Lisp that compiles to Java (it predates Clojure). Deployment is still fairly ad-hoc, but we build Containers.

> Common Lisp that compiles to Java

To Java bytecode or to Java code?

  • Java _code_. It's madness, though I'm assured it made sense at the time.

    • It makes more sense than generating bytecode since your “compiler” doesn’t need to comply to runtime changes other than high level API compatibility and you can leverage the performance improvements of which ever Java compiler is used to produce the final bytecode.

    • Java code is almost the same as bytecode, and is easier to debug.

      That's a benefit of having a VM with JIT.

  • Java code, and then bytecode of course. Gives us meaningful stack traces, among other things.