Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's really interesting. Can I ask what you use it for and if you've come across any limitations or problems using Lisp?


For building optimizing compilers for quantum computers.

The biggest hurdle has been difficulties with deployment. Open-source Lisp implementations mostly[1] only let you build an executable, and not things like a C ABI-compatible shared library. Commercial Lisp implementations are a lot better in this regard.

Even if your OK with building an executable, there are limited options in terms of "enterprise integration", especially in the arena of databases and RPC. Google only very recently released support for gRPC [2], for example, and it's not a first-class citizen in Google's gRPC offering. Most hobbyist Lisp hackers don't exactly care to build (and more importantly maintain) a bunch of open source stuff for enterprise use.

[1] There is a Lisp implementation called "ECL" that compiles Lisp to C, but it's lacking in many other dimensions.

[2] https://github.com/qitab/grpc


Cool! I used CL for the same purposes in my PhD almost a decade ago. Interesting to see that others independently have been gravitating towards CL.

I had a top-level pattern language with a dataflow-like visual representation, using the LispWorks UI lib to make the editor. That pattern language compiled down to a Measurement Calculus representation (one-way QC, so not the usual circuit model) in s-expr form, which I could both execute with my QVM and do optimizing transformations on. I had a CL QVM was initially CL, but it was quickly replaced with a C + OpenMP version using the same s-expr input.


Parallelization and SIMD are pretty easy for numerical code in CL now; I don't think this was the case 10 years ago. LPARALLEL is a nice small library for core-parallelism, and CL-MPI is good for MPI/cluster parallelism. This QVM [1], a pure/density-state simulator, can use either.

[1] MPI version: https://github.com/quil-lang/qvm/tree/master/dqvm




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: